From 76ea57688e06a9f328bdd93619e532493195964f Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Wed, 13 Dec 2017 00:28:48 -0500 Subject: Add table of contents (might remove if it's too cumbersome to maintain) --- docs/bugs_and_glitches.md | 37 +++++++++++++++++++++++++++++++++++++ engine/trainer_card.asm | 2 +- 2 files changed, 38 insertions(+), 1 deletion(-) diff --git a/docs/bugs_and_glitches.md b/docs/bugs_and_glitches.md index 287b0324c..3e77d5093 100644 --- a/docs/bugs_and_glitches.md +++ b/docs/bugs_and_glitches.md @@ -1,6 +1,43 @@ # Bugs and Glitches +## Contents + +- [Thick Club and Light Ball can decrease damage done with boosted (Special) Attack](#thick-club-and-light-ball-can-decrease-damage-done-with-boosted-special-attack) +- [Metal Powder can increase damage taken with boosted (Special) Defense](#metal-powder-can-increase-damage-taken-with-boosted-special-defense) +- [Belly Drum sharply boosts Attack even with under 50% HP](#belly-drum-sharply-boosts-attack-even-with-under-50-hp) +- [HP bar animation is slow for high HP](#hp-bar-animation-is-slow-for-high-hp) +- [HP bar animation off-by-one error for low HP](#hp-bar-animation-off-by-one-error-for-low-hp) +- [Experience underflow for level 1 Pokémon with Medium-Slow growth rate](#experience-underflow-for-level-1-pokémon-with-medium-slow-growth-rate) +- [Five-digit experience gain is printed incorrectly](#five-digit-experience-gain-is-printed-incorrectly) +- [NPC use of Full Heal or Full Restore does not cure Nightmare status](#npc-use-of-full-heal-or-full-restore-does-not-cure-nightmare-status) +- ["Smart" AI encourages Mean Look if its own Pokémon is badly poisoned](#smart-ai-encourages-mean-look-if-its-own-pokémon-is-badly-poisoned) +- [A Disabled, PP Up–enhanced move may not trigger automatic Struggling](#a-disabled-pp-upenhanced-move-may-not-trigger-automatic-struggling) +- [Counter and Mirror Coat still work if the opponent uses an item](#counter-and-mirror-coat-still-work-if-the-opponent-uses-an-item) +- [Present damage is incorrect in link battles](#present-damage-is-incorrect-in-link-battles) +- [BRN/PSN/PAR do not affect catch rate](#brnpsnpar-do-not-affect-catch-rate) +- [Moon Ball does not boost catch rate](#moon-ball-does-not-boost-catch-rate) +- [Love Ball boosts catch rate for the wrong gender](#love-ball-boosts-catch-rate-for-the-wrong-gender) +- [Fast Ball only boosts catch rate for three Pokémon](#fast-ball-only-boosts-catch-rate-for-three-pokémon) +- [Friend Ball catches sent to the PC overwrite the wrong Pokémon's happiness](#friend-ball-catches-sent-to-the-pc-overwrite-the-wrong-pokémons-happiness) +- [Dragon Scale, not Dragon Fang, boosts Dragon-type moves](#dragon-scale-not-dragon-fang-boosts-dragon-type-moves) +- [Daisy's massages don't always increase happiness](#daisys-massages-dont-always-increase-happiness) +- [Magikarp in Lake of Rage are shorter, not longer](#magikarp-in-lake-of-rage-are-shorter-not-longer) +- [Battle transitions fail to account for the enemy's level](#battle-transitions-fail-to-account-for-the-enemys-level) +- [No bump noise if standing on tile `$3E`](#no-bump-noise-if-standing-on-tile-3e) +- [`LoadMetatiles` wrap around past 128 blocks](#loadmetatiles-wrap-around-past-128-blocks) +- [Surfing directly across a map connection does not load the new map](#surfing-directly-across-a-map-connection-does-not-load-the-new-map) +- [`CheckOwnMon` only checks the first five letters of OT names](#checkownmon-only-checks-the-first-five-letters-of-ot-names) +- [`HELD_CATCH_CHANCE` has no effect](#held_catch_chance-has-no-effect) +- [`ScriptCall` can overflow `wScriptStack` and crash](#scriptcall-can-overflow-wscriptstack-and-crash) +- [`LoadSpriteGFX` does not limit the capacity of `UsedSprites`](#loadspritegfx-does-not-limit-the-capacity-of-usedsprites) +- [`ChooseWildEncounter` doesn't really validate the wild Pokémon species](#choosewildencounter-doesnt-really-validate-the-wild-pokémon-species) +- [`TryObjectEvent` arbitrary code execution](#tryobjectevent-arbitrary-code-execution) +- [`Special_CheckBugContestContestantFlag` can read beyond its data table](#special_checkbugcontestcontestantflag-can-read-beyond-its-data-table) +- [`ClearWRAM` only clears WRAM bank 1](#clearwram-only-clears-wram-bank-1) +- [`GetForestTreeFrame` works, but it's still bad](#getforesttreeframe-works-but-its-still-bad) + + ## Thick Club and Light Ball can decrease damage done with boosted (Special) Attack ([Video](https://www.youtube.com/watch?v=rGqu3d3pdok&t=450)) diff --git a/engine/trainer_card.asm b/engine/trainer_card.asm index fdf17acc9..6ed9f6ea6 100755 --- a/engine/trainer_card.asm +++ b/engine/trainer_card.asm @@ -448,7 +448,7 @@ TrainerCard_Page1_PrintGameTime: ; 25415 (9:5415) ret nz hlcoord 15, 12 ld a, [hl] - xor $7f ^ $2e ; $7F (space) <--> $2E (colon) + xor " " ^ $2e ; alternate between space and small colon ($2e) tiles ld [hl], a ret -- cgit v1.2.3 From feef75c5df98eb79f7ca26fca66d577932fd4a34 Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Wed, 13 Dec 2017 16:46:31 -0500 Subject: Document more bugs and glitches Add a toc.py script to auto-generate tables of contents in Markdown files --- docs/bugs_and_glitches.md | 110 +++++++++++++++++++++++++++++++++++++++++++++- tools/toc.py | 98 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 206 insertions(+), 2 deletions(-) create mode 100644 tools/toc.py diff --git a/docs/bugs_and_glitches.md b/docs/bugs_and_glitches.md index 3e77d5093..c682244e3 100644 --- a/docs/bugs_and_glitches.md +++ b/docs/bugs_and_glitches.md @@ -14,6 +14,7 @@ - ["Smart" AI encourages Mean Look if its own Pokémon is badly poisoned](#smart-ai-encourages-mean-look-if-its-own-pokémon-is-badly-poisoned) - [A Disabled, PP Up–enhanced move may not trigger automatic Struggling](#a-disabled-pp-upenhanced-move-may-not-trigger-automatic-struggling) - [Counter and Mirror Coat still work if the opponent uses an item](#counter-and-mirror-coat-still-work-if-the-opponent-uses-an-item) +- [A Pokémon that fainted from Pursuit will have its old status condition when revived](#a-pokémon-that-fainted-from-pursuit-will-have-its-old-status-condition-when-revived) - [Present damage is incorrect in link battles](#present-damage-is-incorrect-in-link-battles) - [BRN/PSN/PAR do not affect catch rate](#brnpsnpar-do-not-affect-catch-rate) - [Moon Ball does not boost catch rate](#moon-ball-does-not-boost-catch-rate) @@ -25,10 +26,15 @@ - [Magikarp in Lake of Rage are shorter, not longer](#magikarp-in-lake-of-rage-are-shorter-not-longer) - [Battle transitions fail to account for the enemy's level](#battle-transitions-fail-to-account-for-the-enemys-level) - [No bump noise if standing on tile `$3E`](#no-bump-noise-if-standing-on-tile-3e) -- [`LoadMetatiles` wrap around past 128 blocks](#loadmetatiles-wrap-around-past-128-blocks) +- [Playing Entei's Pokédex cry can distort Raikou's and Suicune's](#playing-enteis-pokédex-cry-can-distort-raikous-and-suicunes) +- [Lock-On and Mind Reader don't always bypass Fly and Dig](#lock-on-and-mind-reader-dont-always-bypass-fly-and-dig) +- [`LoadMetatiles` wraps around past 128 blocks](#loadmetatiles-wraps-around-past-128-blocks) - [Surfing directly across a map connection does not load the new map](#surfing-directly-across-a-map-connection-does-not-load-the-new-map) - [`CheckOwnMon` only checks the first five letters of OT names](#checkownmon-only-checks-the-first-five-letters-of-ot-names) +- [Catching a Transformed Pokémon always catches a Ditto](#catching-a-transformed-pokémon-always-catches-a-ditto) +- [Using a Park Ball in normal battles has a corrupt animation](#using-a-park-ball-in-normal-battles-has-a-corrupt-animation) - [`HELD_CATCH_CHANCE` has no effect](#held_catch_chance-has-no-effect) +- [Only the first three `EvosAttacks` evolution entries can have Stone compatibility reported correctly](#only-the-first-three-evosattacks-evolution-entries-can-have-stone-compatibility-reported-correctly) - [`ScriptCall` can overflow `wScriptStack` and crash](#scriptcall-can-overflow-wscriptstack-and-crash) - [`LoadSpriteGFX` does not limit the capacity of `UsedSprites`](#loadspritegfx-does-not-limit-the-capacity-of-usedsprites) - [`ChooseWildEncounter` doesn't really validate the wild Pokémon species](#choosewildencounter-doesnt-really-validate-the-wild-pokémon-species) @@ -371,6 +377,13 @@ This is a bug with `CheckPlayerHasUsableMoves` in [battle/core.asm](battle/core. *To do:* Identify specific code causing this bug and fix it. +## A Pokémon that fainted from Pursuit will have its old status condition when revived + +([Video](https://www.youtube.com/watch?v=tiRvw-Nb2ME)) + +*To do:* Identify specific code causing this bug and fix it. + + ## Present damage is incorrect in link battles ([Video](https://www.youtube.com/watch?v=XJaQoKtrEuw)) @@ -720,7 +733,43 @@ This is a bug with `DoPlayerMovement.CheckWarp` in [engine/player_movement.asm]( ``` -## `LoadMetatiles` wrap around past 128 blocks +## Playing Entei's Pokédex cry can distort Raikou's and Suicune's + +([Video](https://www.youtube.com/watch?v=z305e4sIO24)) + +The exact cause is unknown, but a workaround exists for `DexEntryScreen_MenuActionJumptable.Cry` in [engine/pokedex.asm](engine/pokedex.asm): + +```asm +.Cry: ; 40340 + call Pokedex_GetSelectedMon + ld a, [wd265] + call GetCryIndex + ld e, c + ld d, b + call PlayCryHeader + ret +``` + +**Workaround:** + +```asm +.Cry: ; 40340 + ld a, [CurPartySpecies] + call PlayCry + ret +``` + + +## Lock-On and Mind Reader don't always bypass Fly and Dig + +This bug affects Attract, Curse, Foresight, Mean Look, Mimic, Nightmare, Spider Web, Transform, and stat-lowering effects of moves like String Shot or Bubble during the semi-invulnerable turn of Fly or Dig. + +*To do:* Identify specific code causing this bug and fix it. + + +## `LoadMetatiles` wraps around past 128 blocks + +This bug prevents you from using blocksets with more than 128 blocks. [home/map.asm](home/map.asm): @@ -793,6 +842,40 @@ endr **Fix:** Change `rept NAME_LENGTH_JAPANESE +- 2` to `rept PLAYER_NAME_LENGTH +- 2`. +## Catching a Transformed Pokémon always catches a Ditto + +This bug can affect Mew or Pokémon other than Ditto that used Transform via Mirror Move or Sketch. + +*To do:* Identify specific code causing this bug and fix it. + + +## Using a Park Ball in normal battles has a corrupt animation + +([Video](https://www.youtube.com/watch?v=v1ErZdLCIyU)) + +This is a bug with `ParkBall` in [items/item_effects.asm](items/item_effects.asm): + +```asm +.room_in_party + xor a + ld [wWildMon], a + ld a, [CurItem] + cp PARK_BALL + call nz, ReturnToBattle_UseBall +``` + +**Fix:** + +```asm +.room_in_party + xor a + ld [wWildMon], a + ld a, [BattleType] + cp BATTLETYPE_CONTEST + call nz, ReturnToBattle_UseBall +``` + + ## `HELD_CATCH_CHANCE` has no effect This is a bug with `PokeBall` in [items/item_effects.asm](items/item_effects.asm): @@ -817,6 +900,29 @@ This is a bug with `PokeBall` in [items/item_effects.asm](items/item_effects.asm **Fix:** Uncomment `ld b, a`. +## Only the first three `EvosAttacks` evolution entries can have Stone compatibility reported correctly + +This is a bug with `PlacePartyMonEvoStoneCompatibility.DetermineCompatibility` in [engine/party_menu.asm](engine/party_menu.asm): + +```asm +.DetermineCompatibility: ; 50268 + ld de, StringBuffer1 + ld a, BANK(EvosAttacksPointers) + ld bc, 2 + call FarCopyBytes + ld hl, StringBuffer1 + ld a, [hli] + ld h, [hl] + ld l, a + ld de, StringBuffer1 + ld a, BANK(EvosAttacks) + ld bc, $a + call FarCopyBytes +``` + +**Fix:** Change `ld bc, $a` to `ld bc, $10` to support up to five Stone entries. + + ## `ScriptCall` can overflow `wScriptStack` and crash [engine/scripting.asm](engine/scripting.asm): diff --git a/tools/toc.py b/tools/toc.py new file mode 100644 index 000000000..1d7a58cec --- /dev/null +++ b/tools/toc.py @@ -0,0 +1,98 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- + +""" +Usage: python3 toc.py [-n] files.md... +Replace a "## TOC" heading in a Markdown file with a table of contents, +generated from the other headings in the file. Supports multiple files. +Use "-n" for numbered list items. +Headings must start with "##" signs to be detected. +""" + +import sys +import re +from collections import namedtuple + +toc_name = 'Contents' +valid_toc_headings = {'## TOC', '##TOC'} + +TocItem = namedtuple('TocItem', ['name', 'anchor', 'level']) +punctuation_regexp = re.compile(r'[^\w\- ]+') + +def name_to_anchor(name): + # GitHub's algorithm for generating anchors from headings + # https://github.com/jch/html-pipeline/blob/master/lib/html/pipeline/toc_filter.rb + anchor = name.strip().lower() # lowercase + anchor = re.sub(punctuation_regexp, '', anchor) # remove punctuation + anchor = anchor.replace(' ', '-') # replace spaces with dash + return anchor + +def get_toc_index(lines): + toc_index = None + for i, line in enumerate(lines): + if line.rstrip() in valid_toc_headings: + toc_index = i + break + return toc_index + +def get_toc_items(lines, toc_index): + for i, line in enumerate(lines): + if i <= toc_index: + continue + if line.startswith('##'): + name = line.lstrip('#') + level = len(line) - len(name) - len('##') + name = name.strip() + anchor = name_to_anchor(name) + yield TocItem(name, anchor, level) + +def toc_string(toc_items, numeric): + lines = ['## %s' % toc_name, ''] + for name, anchor, level in toc_items: + padding = ' ' * level + line = '%s- [%s](#%s)' % (padding, name, anchor) + lines.append(line) + return '\n'.join(lines) + '\n' + +def add_toc(filename, numeric): + with open(filename, 'r', encoding='utf-8') as f: + lines = f.readlines() + toc_index = get_toc_index(lines) + if toc_index is None: + return None # no TOC heading + toc_items = list(get_toc_items(lines, toc_index)) + if not toc_items: + return False # no content headings + with open(filename, 'w', encoding='utf-8') as f: + for i, line in enumerate(lines): + if i == toc_index: + f.write(toc_string(toc_items, numeric)) + else: + f.write(line) + return True # OK + +def main(): + if len(sys.argv) < 2: + print('*** ERROR: Not enough arguments') + print(__doc__) + exit(1) + del sys.argv[0] + numeric = False + if sys.argv[0] == '-n': + numeric = True + del sys.argv[0] + if not sys.argv: + print('*** ERROR: No filenames specified') + exit(1) + for filename in sys.argv: + print(filename) + result = add_toc(filename, numeric) + if result is None: + print('*** WARNING: No "## TOC" heading found') + elif result is False: + print('*** WARNING: No content headings found') + else: + print('OK') + +if __name__ == '__main__': + main() -- cgit v1.2.3 From 00f28bb8f4ff81b51aaf7eab7ae413218bda7843 Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Wed, 13 Dec 2017 16:52:13 -0500 Subject: Consistent **Fix:** notation --- docs/bugs_and_glitches.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/bugs_and_glitches.md b/docs/bugs_and_glitches.md index c682244e3..4ee231d35 100644 --- a/docs/bugs_and_glitches.md +++ b/docs/bugs_and_glitches.md @@ -993,7 +993,7 @@ LoadSpriteGFX: ; 14306 ; 1431e ``` -`GetSprite` modifies `b`. Surround it with `push bc`/`pop bc` to fix. +**Fix:** Surround `call GetSprite` with `push bc`/`pop bc`. ## `ChooseWildEncounter` doesn't really validate the wild Pokémon species -- cgit v1.2.3 From 3e5b6322e1167758fedaec5b3930eadaeaa8ec33 Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Wed, 13 Dec 2017 16:57:29 -0500 Subject: Don't bother supporting numbered lists --- tools/toc.py | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/tools/toc.py b/tools/toc.py index 1d7a58cec..9bdc8cca6 100644 --- a/tools/toc.py +++ b/tools/toc.py @@ -5,7 +5,6 @@ Usage: python3 toc.py [-n] files.md... Replace a "## TOC" heading in a Markdown file with a table of contents, generated from the other headings in the file. Supports multiple files. -Use "-n" for numbered list items. Headings must start with "##" signs to be detected. """ @@ -46,7 +45,7 @@ def get_toc_items(lines, toc_index): anchor = name_to_anchor(name) yield TocItem(name, anchor, level) -def toc_string(toc_items, numeric): +def toc_string(toc_items): lines = ['## %s' % toc_name, ''] for name, anchor, level in toc_items: padding = ' ' * level @@ -54,7 +53,7 @@ def toc_string(toc_items, numeric): lines.append(line) return '\n'.join(lines) + '\n' -def add_toc(filename, numeric): +def add_toc(filename): with open(filename, 'r', encoding='utf-8') as f: lines = f.readlines() toc_index = get_toc_index(lines) @@ -66,27 +65,19 @@ def add_toc(filename, numeric): with open(filename, 'w', encoding='utf-8') as f: for i, line in enumerate(lines): if i == toc_index: - f.write(toc_string(toc_items, numeric)) + f.write(toc_string(toc_items)) else: f.write(line) return True # OK def main(): if len(sys.argv) < 2: - print('*** ERROR: Not enough arguments') - print(__doc__) - exit(1) - del sys.argv[0] - numeric = False - if sys.argv[0] == '-n': - numeric = True - del sys.argv[0] - if not sys.argv: print('*** ERROR: No filenames specified') + print(__doc__) exit(1) - for filename in sys.argv: + for filename in sys.argv[1:]: print(filename) - result = add_toc(filename, numeric) + result = add_toc(filename) if result is None: print('*** WARNING: No "## TOC" heading found') elif result is False: -- cgit v1.2.3 From 0e7a101e41bceb9f57eed614d56634403109aa4b Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Wed, 13 Dec 2017 17:59:14 -0500 Subject: Use constants for gender ratios --- constants/pokemon_data_constants.asm | 9 +++++++++ data/base_stats/abra.asm | 2 +- data/base_stats/aerodactyl.asm | 2 +- data/base_stats/aipom.asm | 2 +- data/base_stats/alakazam.asm | 2 +- data/base_stats/ampharos.asm | 2 +- data/base_stats/arbok.asm | 2 +- data/base_stats/arcanine.asm | 2 +- data/base_stats/ariados.asm | 2 +- data/base_stats/articuno.asm | 2 +- data/base_stats/azumarill.asm | 2 +- data/base_stats/bayleef.asm | 2 +- data/base_stats/beedrill.asm | 2 +- data/base_stats/bellossom.asm | 2 +- data/base_stats/bellsprout.asm | 2 +- data/base_stats/blastoise.asm | 2 +- data/base_stats/blissey.asm | 2 +- data/base_stats/bulbasaur.asm | 2 +- data/base_stats/butterfree.asm | 2 +- data/base_stats/caterpie.asm | 2 +- data/base_stats/celebi.asm | 2 +- data/base_stats/chansey.asm | 2 +- data/base_stats/charizard.asm | 2 +- data/base_stats/charmander.asm | 2 +- data/base_stats/charmeleon.asm | 2 +- data/base_stats/chikorita.asm | 2 +- data/base_stats/chinchou.asm | 2 +- data/base_stats/clefable.asm | 2 +- data/base_stats/clefairy.asm | 2 +- data/base_stats/cleffa.asm | 2 +- data/base_stats/cloyster.asm | 2 +- data/base_stats/corsola.asm | 2 +- data/base_stats/crobat.asm | 2 +- data/base_stats/croconaw.asm | 2 +- data/base_stats/cubone.asm | 2 +- data/base_stats/cyndaquil.asm | 2 +- data/base_stats/delibird.asm | 2 +- data/base_stats/dewgong.asm | 2 +- data/base_stats/diglett.asm | 2 +- data/base_stats/ditto.asm | 2 +- data/base_stats/dodrio.asm | 2 +- data/base_stats/doduo.asm | 2 +- data/base_stats/donphan.asm | 2 +- data/base_stats/dragonair.asm | 2 +- data/base_stats/dragonite.asm | 2 +- data/base_stats/dratini.asm | 2 +- data/base_stats/drowzee.asm | 2 +- data/base_stats/dugtrio.asm | 2 +- data/base_stats/dunsparce.asm | 2 +- data/base_stats/eevee.asm | 2 +- data/base_stats/ekans.asm | 2 +- data/base_stats/electabuzz.asm | 2 +- data/base_stats/electrode.asm | 2 +- data/base_stats/elekid.asm | 2 +- data/base_stats/entei.asm | 2 +- data/base_stats/espeon.asm | 2 +- data/base_stats/exeggcute.asm | 2 +- data/base_stats/exeggutor.asm | 2 +- data/base_stats/farfetch_d.asm | 2 +- data/base_stats/fearow.asm | 2 +- data/base_stats/feraligatr.asm | 2 +- data/base_stats/flaaffy.asm | 2 +- data/base_stats/flareon.asm | 2 +- data/base_stats/forretress.asm | 2 +- data/base_stats/furret.asm | 2 +- data/base_stats/gastly.asm | 2 +- data/base_stats/gengar.asm | 2 +- data/base_stats/geodude.asm | 2 +- data/base_stats/girafarig.asm | 2 +- data/base_stats/gligar.asm | 2 +- data/base_stats/gloom.asm | 2 +- data/base_stats/golbat.asm | 2 +- data/base_stats/goldeen.asm | 2 +- data/base_stats/golduck.asm | 2 +- data/base_stats/golem.asm | 2 +- data/base_stats/granbull.asm | 2 +- data/base_stats/graveler.asm | 2 +- data/base_stats/grimer.asm | 2 +- data/base_stats/growlithe.asm | 2 +- data/base_stats/gyarados.asm | 2 +- data/base_stats/haunter.asm | 2 +- data/base_stats/heracross.asm | 2 +- data/base_stats/hitmonchan.asm | 2 +- data/base_stats/hitmonlee.asm | 2 +- data/base_stats/hitmontop.asm | 2 +- data/base_stats/ho_oh.asm | 2 +- data/base_stats/hoothoot.asm | 2 +- data/base_stats/hoppip.asm | 2 +- data/base_stats/horsea.asm | 2 +- data/base_stats/houndoom.asm | 2 +- data/base_stats/houndour.asm | 2 +- data/base_stats/hypno.asm | 2 +- data/base_stats/igglybuff.asm | 2 +- data/base_stats/ivysaur.asm | 2 +- data/base_stats/jigglypuff.asm | 2 +- data/base_stats/jolteon.asm | 2 +- data/base_stats/jumpluff.asm | 2 +- data/base_stats/jynx.asm | 2 +- data/base_stats/kabuto.asm | 2 +- data/base_stats/kabutops.asm | 2 +- data/base_stats/kadabra.asm | 2 +- data/base_stats/kakuna.asm | 2 +- data/base_stats/kangaskhan.asm | 2 +- data/base_stats/kingdra.asm | 2 +- data/base_stats/kingler.asm | 2 +- data/base_stats/koffing.asm | 2 +- data/base_stats/krabby.asm | 2 +- data/base_stats/lanturn.asm | 2 +- data/base_stats/lapras.asm | 2 +- data/base_stats/larvitar.asm | 2 +- data/base_stats/ledian.asm | 2 +- data/base_stats/ledyba.asm | 2 +- data/base_stats/lickitung.asm | 2 +- data/base_stats/lugia.asm | 2 +- data/base_stats/machamp.asm | 2 +- data/base_stats/machoke.asm | 2 +- data/base_stats/machop.asm | 2 +- data/base_stats/magby.asm | 2 +- data/base_stats/magcargo.asm | 2 +- data/base_stats/magikarp.asm | 2 +- data/base_stats/magmar.asm | 2 +- data/base_stats/magnemite.asm | 2 +- data/base_stats/magneton.asm | 2 +- data/base_stats/mankey.asm | 2 +- data/base_stats/mantine.asm | 2 +- data/base_stats/mareep.asm | 2 +- data/base_stats/marill.asm | 2 +- data/base_stats/marowak.asm | 2 +- data/base_stats/meganium.asm | 2 +- data/base_stats/meowth.asm | 2 +- data/base_stats/metapod.asm | 2 +- data/base_stats/mew.asm | 2 +- data/base_stats/mewtwo.asm | 2 +- data/base_stats/miltank.asm | 2 +- data/base_stats/misdreavus.asm | 2 +- data/base_stats/moltres.asm | 2 +- data/base_stats/mr__mime.asm | 2 +- data/base_stats/muk.asm | 2 +- data/base_stats/murkrow.asm | 2 +- data/base_stats/natu.asm | 2 +- data/base_stats/nidoking.asm | 2 +- data/base_stats/nidoqueen.asm | 2 +- data/base_stats/nidoran_f.asm | 2 +- data/base_stats/nidoran_m.asm | 2 +- data/base_stats/nidorina.asm | 2 +- data/base_stats/nidorino.asm | 2 +- data/base_stats/ninetales.asm | 2 +- data/base_stats/noctowl.asm | 2 +- data/base_stats/octillery.asm | 2 +- data/base_stats/oddish.asm | 2 +- data/base_stats/omanyte.asm | 2 +- data/base_stats/omastar.asm | 2 +- data/base_stats/onix.asm | 2 +- data/base_stats/paras.asm | 2 +- data/base_stats/parasect.asm | 2 +- data/base_stats/persian.asm | 2 +- data/base_stats/phanpy.asm | 2 +- data/base_stats/pichu.asm | 2 +- data/base_stats/pidgeot.asm | 2 +- data/base_stats/pidgeotto.asm | 2 +- data/base_stats/pidgey.asm | 2 +- data/base_stats/pikachu.asm | 2 +- data/base_stats/piloswine.asm | 2 +- data/base_stats/pineco.asm | 2 +- data/base_stats/pinsir.asm | 2 +- data/base_stats/politoed.asm | 2 +- data/base_stats/poliwag.asm | 2 +- data/base_stats/poliwhirl.asm | 2 +- data/base_stats/poliwrath.asm | 2 +- data/base_stats/ponyta.asm | 2 +- data/base_stats/porygon.asm | 2 +- data/base_stats/porygon2.asm | 2 +- data/base_stats/primeape.asm | 2 +- data/base_stats/psyduck.asm | 2 +- data/base_stats/pupitar.asm | 2 +- data/base_stats/quagsire.asm | 2 +- data/base_stats/quilava.asm | 2 +- data/base_stats/qwilfish.asm | 2 +- data/base_stats/raichu.asm | 2 +- data/base_stats/raikou.asm | 2 +- data/base_stats/rapidash.asm | 2 +- data/base_stats/raticate.asm | 2 +- data/base_stats/rattata.asm | 2 +- data/base_stats/remoraid.asm | 2 +- data/base_stats/rhydon.asm | 2 +- data/base_stats/rhyhorn.asm | 2 +- data/base_stats/sandshrew.asm | 2 +- data/base_stats/sandslash.asm | 2 +- data/base_stats/scizor.asm | 2 +- data/base_stats/scyther.asm | 2 +- data/base_stats/seadra.asm | 2 +- data/base_stats/seaking.asm | 2 +- data/base_stats/seel.asm | 2 +- data/base_stats/sentret.asm | 2 +- data/base_stats/shellder.asm | 2 +- data/base_stats/shuckle.asm | 2 +- data/base_stats/skarmory.asm | 2 +- data/base_stats/skiploom.asm | 2 +- data/base_stats/slowbro.asm | 2 +- data/base_stats/slowking.asm | 2 +- data/base_stats/slowpoke.asm | 2 +- data/base_stats/slugma.asm | 2 +- data/base_stats/smeargle.asm | 2 +- data/base_stats/smoochum.asm | 2 +- data/base_stats/sneasel.asm | 2 +- data/base_stats/snorlax.asm | 2 +- data/base_stats/snubbull.asm | 2 +- data/base_stats/spearow.asm | 2 +- data/base_stats/spinarak.asm | 2 +- data/base_stats/squirtle.asm | 2 +- data/base_stats/stantler.asm | 2 +- data/base_stats/starmie.asm | 2 +- data/base_stats/staryu.asm | 2 +- data/base_stats/steelix.asm | 2 +- data/base_stats/sudowoodo.asm | 2 +- data/base_stats/suicune.asm | 2 +- data/base_stats/sunflora.asm | 2 +- data/base_stats/sunkern.asm | 2 +- data/base_stats/swinub.asm | 2 +- data/base_stats/tangela.asm | 2 +- data/base_stats/tauros.asm | 2 +- data/base_stats/teddiursa.asm | 2 +- data/base_stats/tentacool.asm | 2 +- data/base_stats/tentacruel.asm | 2 +- data/base_stats/togepi.asm | 2 +- data/base_stats/togetic.asm | 2 +- data/base_stats/totodile.asm | 2 +- data/base_stats/typhlosion.asm | 2 +- data/base_stats/tyranitar.asm | 2 +- data/base_stats/tyrogue.asm | 2 +- data/base_stats/umbreon.asm | 2 +- data/base_stats/unown.asm | 2 +- data/base_stats/ursaring.asm | 2 +- data/base_stats/vaporeon.asm | 2 +- data/base_stats/venomoth.asm | 2 +- data/base_stats/venonat.asm | 2 +- data/base_stats/venusaur.asm | 2 +- data/base_stats/victreebel.asm | 2 +- data/base_stats/vileplume.asm | 2 +- data/base_stats/voltorb.asm | 2 +- data/base_stats/vulpix.asm | 2 +- data/base_stats/wartortle.asm | 2 +- data/base_stats/weedle.asm | 2 +- data/base_stats/weepinbell.asm | 2 +- data/base_stats/weezing.asm | 2 +- data/base_stats/wigglytuff.asm | 2 +- data/base_stats/wobbuffet.asm | 2 +- data/base_stats/wooper.asm | 2 +- data/base_stats/xatu.asm | 2 +- data/base_stats/yanma.asm | 2 +- data/base_stats/zapdos.asm | 2 +- data/base_stats/zubat.asm | 2 +- main.asm | 6 +++--- 253 files changed, 263 insertions(+), 254 deletions(-) diff --git a/constants/pokemon_data_constants.asm b/constants/pokemon_data_constants.asm index 3c6b77206..13387fb21 100644 --- a/constants/pokemon_data_constants.asm +++ b/constants/pokemon_data_constants.asm @@ -25,6 +25,15 @@ BASE_EGG_GROUPS EQUS "(BaseEggGroups - CurBaseData)" BASE_TMHM EQUS "(BaseTMHM - CurBaseData)" BASE_DATA_SIZE EQUS "(CurBaseDataEnd - CurBaseData)" +; gender ratio constants +GENDER_F0 EQU 0 percent +GENDER_F12_5 EQU 31 ; 12.5 percent +GENDER_F25 EQU 25 percent +GENDER_F50 EQU 50 percent +GENDER_F75 EQU 75 percent +GENDER_F100 EQU 254 ; 100 percent +GENDERLESS EQU 255 + ; BaseGrowthRate values ; GrowthRates indexes (see main.asm) const_def diff --git a/data/base_stats/abra.asm b/data/base_stats/abra.asm index f3a39edbb..a2520320a 100644 --- a/data/base_stats/abra.asm +++ b/data/base_stats/abra.asm @@ -8,7 +8,7 @@ db 73 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 63 ; gender + db GENDER_F25 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/aerodactyl.asm b/data/base_stats/aerodactyl.asm index 56530206c..897311399 100644 --- a/data/base_stats/aerodactyl.asm +++ b/data/base_stats/aerodactyl.asm @@ -8,7 +8,7 @@ db 202 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 31 ; gender + db GENDER_F12_5 ; gender db 100 ; unknown db 35 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/aipom.asm b/data/base_stats/aipom.asm index aa9ca45a1..839bff358 100644 --- a/data/base_stats/aipom.asm +++ b/data/base_stats/aipom.asm @@ -8,7 +8,7 @@ db 94 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/alakazam.asm b/data/base_stats/alakazam.asm index 79e2e99ee..d0647e268 100644 --- a/data/base_stats/alakazam.asm +++ b/data/base_stats/alakazam.asm @@ -8,7 +8,7 @@ db 186 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 63 ; gender + db GENDER_F25 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/ampharos.asm b/data/base_stats/ampharos.asm index a0a2c48f7..ec361a08d 100644 --- a/data/base_stats/ampharos.asm +++ b/data/base_stats/ampharos.asm @@ -8,7 +8,7 @@ db 194 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/arbok.asm b/data/base_stats/arbok.asm index 48129fc36..ed84e5dc8 100644 --- a/data/base_stats/arbok.asm +++ b/data/base_stats/arbok.asm @@ -8,7 +8,7 @@ db 147 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/arcanine.asm b/data/base_stats/arcanine.asm index 81452dd19..d543bb8da 100644 --- a/data/base_stats/arcanine.asm +++ b/data/base_stats/arcanine.asm @@ -8,7 +8,7 @@ db 213 ; base exp db BURNT_BERRY ; item 1 db BURNT_BERRY ; item 2 - db 63 ; gender + db GENDER_F25 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/ariados.asm b/data/base_stats/ariados.asm index 244c70d86..8a436f624 100644 --- a/data/base_stats/ariados.asm +++ b/data/base_stats/ariados.asm @@ -8,7 +8,7 @@ db 134 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 15 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/articuno.asm b/data/base_stats/articuno.asm index 320e210c6..ddf85599b 100644 --- a/data/base_stats/articuno.asm +++ b/data/base_stats/articuno.asm @@ -8,7 +8,7 @@ db 215 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 255 ; gender + db GENDERLESS ; gender db 100 ; unknown db 80 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/azumarill.asm b/data/base_stats/azumarill.asm index c18e517c4..c4286ad5d 100644 --- a/data/base_stats/azumarill.asm +++ b/data/base_stats/azumarill.asm @@ -8,7 +8,7 @@ db 153 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/bayleef.asm b/data/base_stats/bayleef.asm index bb439ccd3..82caf4ae7 100644 --- a/data/base_stats/bayleef.asm +++ b/data/base_stats/bayleef.asm @@ -8,7 +8,7 @@ db 141 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 31 ; gender + db GENDER_F12_5 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/beedrill.asm b/data/base_stats/beedrill.asm index 465b076de..c76accff8 100644 --- a/data/base_stats/beedrill.asm +++ b/data/base_stats/beedrill.asm @@ -8,7 +8,7 @@ db 159 ; base exp db NO_ITEM ; item 1 db POISON_BARB ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 15 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/bellossom.asm b/data/base_stats/bellossom.asm index 6489fe50c..9131b2b38 100644 --- a/data/base_stats/bellossom.asm +++ b/data/base_stats/bellossom.asm @@ -8,7 +8,7 @@ db 184 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/bellsprout.asm b/data/base_stats/bellsprout.asm index d8e3160e6..94a8ded6b 100644 --- a/data/base_stats/bellsprout.asm +++ b/data/base_stats/bellsprout.asm @@ -8,7 +8,7 @@ db 84 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/blastoise.asm b/data/base_stats/blastoise.asm index 1a2df93b3..7bb267d72 100644 --- a/data/base_stats/blastoise.asm +++ b/data/base_stats/blastoise.asm @@ -8,7 +8,7 @@ db 210 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 31 ; gender + db GENDER_F12_5 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/blissey.asm b/data/base_stats/blissey.asm index d9c870da4..dc1c9a02b 100644 --- a/data/base_stats/blissey.asm +++ b/data/base_stats/blissey.asm @@ -8,7 +8,7 @@ db 255 ; base exp db NO_ITEM ; item 1 db LUCKY_EGG ; item 2 - db 254 ; gender + db GENDER_F100 ; gender db 100 ; unknown db 40 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/bulbasaur.asm b/data/base_stats/bulbasaur.asm index eb4bec3f6..bc843bcd3 100644 --- a/data/base_stats/bulbasaur.asm +++ b/data/base_stats/bulbasaur.asm @@ -8,7 +8,7 @@ db 64 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 31 ; gender + db GENDER_F12_5 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/butterfree.asm b/data/base_stats/butterfree.asm index ca1609d1e..24b142e60 100644 --- a/data/base_stats/butterfree.asm +++ b/data/base_stats/butterfree.asm @@ -8,7 +8,7 @@ db 160 ; base exp db NO_ITEM ; item 1 db SILVERPOWDER ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 15 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/caterpie.asm b/data/base_stats/caterpie.asm index 47e0b5210..cdac5bf26 100644 --- a/data/base_stats/caterpie.asm +++ b/data/base_stats/caterpie.asm @@ -8,7 +8,7 @@ db 53 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 15 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/celebi.asm b/data/base_stats/celebi.asm index 2a09691bd..c955ae2a1 100644 --- a/data/base_stats/celebi.asm +++ b/data/base_stats/celebi.asm @@ -8,7 +8,7 @@ db 64 ; base exp db NO_ITEM ; item 1 db MIRACLEBERRY ; item 2 - db 255 ; gender + db GENDERLESS ; gender db 100 ; unknown db 120 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/chansey.asm b/data/base_stats/chansey.asm index 2ba6091f9..1ae3af6fe 100644 --- a/data/base_stats/chansey.asm +++ b/data/base_stats/chansey.asm @@ -8,7 +8,7 @@ db 255 ; base exp db NO_ITEM ; item 1 db LUCKY_EGG ; item 2 - db 254 ; gender + db GENDER_F100 ; gender db 100 ; unknown db 40 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/charizard.asm b/data/base_stats/charizard.asm index d8b1ee769..8d32f3f91 100644 --- a/data/base_stats/charizard.asm +++ b/data/base_stats/charizard.asm @@ -8,7 +8,7 @@ db 209 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 31 ; gender + db GENDER_F12_5 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/charmander.asm b/data/base_stats/charmander.asm index ba6822529..98383865c 100644 --- a/data/base_stats/charmander.asm +++ b/data/base_stats/charmander.asm @@ -8,7 +8,7 @@ db 65 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 31 ; gender + db GENDER_F12_5 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/charmeleon.asm b/data/base_stats/charmeleon.asm index 0be9be06f..9f7f32b51 100644 --- a/data/base_stats/charmeleon.asm +++ b/data/base_stats/charmeleon.asm @@ -8,7 +8,7 @@ db 142 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 31 ; gender + db GENDER_F12_5 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/chikorita.asm b/data/base_stats/chikorita.asm index 74f77ae8f..fdf120402 100644 --- a/data/base_stats/chikorita.asm +++ b/data/base_stats/chikorita.asm @@ -8,7 +8,7 @@ db 64 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 31 ; gender + db GENDER_F12_5 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/chinchou.asm b/data/base_stats/chinchou.asm index 13fb43872..caa5d06e1 100644 --- a/data/base_stats/chinchou.asm +++ b/data/base_stats/chinchou.asm @@ -8,7 +8,7 @@ db 90 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/clefable.asm b/data/base_stats/clefable.asm index ffa07d9dc..e5978e387 100644 --- a/data/base_stats/clefable.asm +++ b/data/base_stats/clefable.asm @@ -8,7 +8,7 @@ db 129 ; base exp db MYSTERYBERRY ; item 1 db MOON_STONE ; item 2 - db 191 ; gender + db GENDER_F75 ; gender db 100 ; unknown db 10 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/clefairy.asm b/data/base_stats/clefairy.asm index ee1f38d04..54089b5cc 100644 --- a/data/base_stats/clefairy.asm +++ b/data/base_stats/clefairy.asm @@ -8,7 +8,7 @@ db 68 ; base exp db MYSTERYBERRY ; item 1 db MOON_STONE ; item 2 - db 191 ; gender + db GENDER_F75 ; gender db 100 ; unknown db 10 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/cleffa.asm b/data/base_stats/cleffa.asm index 3afb4c6c6..98e77e968 100644 --- a/data/base_stats/cleffa.asm +++ b/data/base_stats/cleffa.asm @@ -8,7 +8,7 @@ db 37 ; base exp db MYSTERYBERRY ; item 1 db MOON_STONE ; item 2 - db 191 ; gender + db GENDER_F75 ; gender db 100 ; unknown db 10 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/cloyster.asm b/data/base_stats/cloyster.asm index f7de0467d..4119dbec2 100644 --- a/data/base_stats/cloyster.asm +++ b/data/base_stats/cloyster.asm @@ -8,7 +8,7 @@ db 203 ; base exp db PEARL ; item 1 db BIG_PEARL ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/corsola.asm b/data/base_stats/corsola.asm index 5a3adde57..dddf30644 100644 --- a/data/base_stats/corsola.asm +++ b/data/base_stats/corsola.asm @@ -8,7 +8,7 @@ db 113 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 191 ; gender + db GENDER_F75 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/crobat.asm b/data/base_stats/crobat.asm index 923ca38a9..71c012079 100644 --- a/data/base_stats/crobat.asm +++ b/data/base_stats/crobat.asm @@ -8,7 +8,7 @@ db 204 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 15 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/croconaw.asm b/data/base_stats/croconaw.asm index 66fb9f10c..8dbd57632 100644 --- a/data/base_stats/croconaw.asm +++ b/data/base_stats/croconaw.asm @@ -8,7 +8,7 @@ db 143 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 31 ; gender + db GENDER_F12_5 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/cubone.asm b/data/base_stats/cubone.asm index 7c8d32d82..dc15c8773 100644 --- a/data/base_stats/cubone.asm +++ b/data/base_stats/cubone.asm @@ -8,7 +8,7 @@ db 87 ; base exp db NO_ITEM ; item 1 db THICK_CLUB ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/cyndaquil.asm b/data/base_stats/cyndaquil.asm index b1f294907..137e8c78d 100644 --- a/data/base_stats/cyndaquil.asm +++ b/data/base_stats/cyndaquil.asm @@ -8,7 +8,7 @@ db 65 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 31 ; gender + db GENDER_F12_5 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/delibird.asm b/data/base_stats/delibird.asm index 139bfb66b..8ddb23e7c 100644 --- a/data/base_stats/delibird.asm +++ b/data/base_stats/delibird.asm @@ -8,7 +8,7 @@ db 183 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/dewgong.asm b/data/base_stats/dewgong.asm index e73de86b3..951a1e87e 100644 --- a/data/base_stats/dewgong.asm +++ b/data/base_stats/dewgong.asm @@ -8,7 +8,7 @@ db 176 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/diglett.asm b/data/base_stats/diglett.asm index 9e9005114..b93947622 100644 --- a/data/base_stats/diglett.asm +++ b/data/base_stats/diglett.asm @@ -8,7 +8,7 @@ db 81 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/ditto.asm b/data/base_stats/ditto.asm index 6cbbe60ca..b88780bed 100644 --- a/data/base_stats/ditto.asm +++ b/data/base_stats/ditto.asm @@ -8,7 +8,7 @@ db 61 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 255 ; gender + db GENDERLESS ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/dodrio.asm b/data/base_stats/dodrio.asm index dd96b10aa..6f8463663 100644 --- a/data/base_stats/dodrio.asm +++ b/data/base_stats/dodrio.asm @@ -8,7 +8,7 @@ db 158 ; base exp db NO_ITEM ; item 1 db SHARP_BEAK ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/doduo.asm b/data/base_stats/doduo.asm index 02c1e792a..1ef229455 100644 --- a/data/base_stats/doduo.asm +++ b/data/base_stats/doduo.asm @@ -8,7 +8,7 @@ db 96 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/donphan.asm b/data/base_stats/donphan.asm index 6e66787e1..ee0418de0 100644 --- a/data/base_stats/donphan.asm +++ b/data/base_stats/donphan.asm @@ -8,7 +8,7 @@ db 189 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/dragonair.asm b/data/base_stats/dragonair.asm index 621b50d51..e0ca4b8e9 100644 --- a/data/base_stats/dragonair.asm +++ b/data/base_stats/dragonair.asm @@ -8,7 +8,7 @@ db 144 ; base exp db NO_ITEM ; item 1 db DRAGON_SCALE ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 40 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/dragonite.asm b/data/base_stats/dragonite.asm index 83bbbb3eb..8ca777e96 100644 --- a/data/base_stats/dragonite.asm +++ b/data/base_stats/dragonite.asm @@ -8,7 +8,7 @@ db 218 ; base exp db NO_ITEM ; item 1 db DRAGON_SCALE ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 40 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/dratini.asm b/data/base_stats/dratini.asm index f9cf27faf..c1c173c86 100644 --- a/data/base_stats/dratini.asm +++ b/data/base_stats/dratini.asm @@ -8,7 +8,7 @@ db 67 ; base exp db NO_ITEM ; item 1 db DRAGON_SCALE ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 40 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/drowzee.asm b/data/base_stats/drowzee.asm index 04d7780bb..5aa756351 100644 --- a/data/base_stats/drowzee.asm +++ b/data/base_stats/drowzee.asm @@ -8,7 +8,7 @@ db 102 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/dugtrio.asm b/data/base_stats/dugtrio.asm index 402cc6c03..e245f8320 100644 --- a/data/base_stats/dugtrio.asm +++ b/data/base_stats/dugtrio.asm @@ -8,7 +8,7 @@ db 153 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/dunsparce.asm b/data/base_stats/dunsparce.asm index e3ed6a9df..5cbdb5807 100644 --- a/data/base_stats/dunsparce.asm +++ b/data/base_stats/dunsparce.asm @@ -8,7 +8,7 @@ db 75 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/eevee.asm b/data/base_stats/eevee.asm index 44584c15d..79bbafbcf 100644 --- a/data/base_stats/eevee.asm +++ b/data/base_stats/eevee.asm @@ -8,7 +8,7 @@ db 92 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 31 ; gender + db GENDER_F12_5 ; gender db 100 ; unknown db 35 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/ekans.asm b/data/base_stats/ekans.asm index 0876d169a..0aa84fde2 100644 --- a/data/base_stats/ekans.asm +++ b/data/base_stats/ekans.asm @@ -8,7 +8,7 @@ db 62 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/electabuzz.asm b/data/base_stats/electabuzz.asm index 7b690eae2..29cdf9018 100644 --- a/data/base_stats/electabuzz.asm +++ b/data/base_stats/electabuzz.asm @@ -8,7 +8,7 @@ db 156 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 63 ; gender + db GENDER_F25 ; gender db 100 ; unknown db 25 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/electrode.asm b/data/base_stats/electrode.asm index 3c2895384..44d92de66 100644 --- a/data/base_stats/electrode.asm +++ b/data/base_stats/electrode.asm @@ -8,7 +8,7 @@ db 150 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 255 ; gender + db GENDERLESS ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/elekid.asm b/data/base_stats/elekid.asm index 9fae865c6..a1f871586 100644 --- a/data/base_stats/elekid.asm +++ b/data/base_stats/elekid.asm @@ -8,7 +8,7 @@ db 106 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 63 ; gender + db GENDER_F25 ; gender db 100 ; unknown db 25 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/entei.asm b/data/base_stats/entei.asm index c05954720..63f5f0af6 100644 --- a/data/base_stats/entei.asm +++ b/data/base_stats/entei.asm @@ -8,7 +8,7 @@ db 217 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 255 ; gender + db GENDERLESS ; gender db 100 ; unknown db 80 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/espeon.asm b/data/base_stats/espeon.asm index deebb0902..5748ded74 100644 --- a/data/base_stats/espeon.asm +++ b/data/base_stats/espeon.asm @@ -8,7 +8,7 @@ db 197 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 31 ; gender + db GENDER_F12_5 ; gender db 100 ; unknown db 35 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/exeggcute.asm b/data/base_stats/exeggcute.asm index 95daf462b..3cd83b6c9 100644 --- a/data/base_stats/exeggcute.asm +++ b/data/base_stats/exeggcute.asm @@ -8,7 +8,7 @@ db 98 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/exeggutor.asm b/data/base_stats/exeggutor.asm index d7561e6eb..d5c466f21 100644 --- a/data/base_stats/exeggutor.asm +++ b/data/base_stats/exeggutor.asm @@ -8,7 +8,7 @@ db 212 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/farfetch_d.asm b/data/base_stats/farfetch_d.asm index 2ab5fb9e8..8da2b08a4 100644 --- a/data/base_stats/farfetch_d.asm +++ b/data/base_stats/farfetch_d.asm @@ -8,7 +8,7 @@ db 94 ; base exp db NO_ITEM ; item 1 db STICK ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/fearow.asm b/data/base_stats/fearow.asm index 6cb670332..2ce86b1bf 100644 --- a/data/base_stats/fearow.asm +++ b/data/base_stats/fearow.asm @@ -8,7 +8,7 @@ db 162 ; base exp db NO_ITEM ; item 1 db SHARP_BEAK ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 15 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/feraligatr.asm b/data/base_stats/feraligatr.asm index 758fdb1da..c59ca6ffb 100644 --- a/data/base_stats/feraligatr.asm +++ b/data/base_stats/feraligatr.asm @@ -8,7 +8,7 @@ db 210 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 31 ; gender + db GENDER_F12_5 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/flaaffy.asm b/data/base_stats/flaaffy.asm index 936ee3b1d..2cf5e15bc 100644 --- a/data/base_stats/flaaffy.asm +++ b/data/base_stats/flaaffy.asm @@ -8,7 +8,7 @@ db 117 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/flareon.asm b/data/base_stats/flareon.asm index 345b9a385..00faecec6 100644 --- a/data/base_stats/flareon.asm +++ b/data/base_stats/flareon.asm @@ -8,7 +8,7 @@ db 198 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 31 ; gender + db GENDER_F12_5 ; gender db 100 ; unknown db 35 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/forretress.asm b/data/base_stats/forretress.asm index ab36e1827..08fec2745 100644 --- a/data/base_stats/forretress.asm +++ b/data/base_stats/forretress.asm @@ -8,7 +8,7 @@ db 118 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/furret.asm b/data/base_stats/furret.asm index 75180036c..3e3b7a656 100644 --- a/data/base_stats/furret.asm +++ b/data/base_stats/furret.asm @@ -8,7 +8,7 @@ db 116 ; base exp db BERRY ; item 1 db GOLD_BERRY ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 15 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/gastly.asm b/data/base_stats/gastly.asm index dcec2fdca..cda05fe05 100644 --- a/data/base_stats/gastly.asm +++ b/data/base_stats/gastly.asm @@ -8,7 +8,7 @@ db 95 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/gengar.asm b/data/base_stats/gengar.asm index 5fe8894ef..9b9cc3310 100644 --- a/data/base_stats/gengar.asm +++ b/data/base_stats/gengar.asm @@ -8,7 +8,7 @@ db 190 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/geodude.asm b/data/base_stats/geodude.asm index 2b472bafc..86b627107 100644 --- a/data/base_stats/geodude.asm +++ b/data/base_stats/geodude.asm @@ -8,7 +8,7 @@ db 86 ; base exp db NO_ITEM ; item 1 db EVERSTONE ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 15 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/girafarig.asm b/data/base_stats/girafarig.asm index 3180513f7..7391367cf 100644 --- a/data/base_stats/girafarig.asm +++ b/data/base_stats/girafarig.asm @@ -8,7 +8,7 @@ db 149 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/gligar.asm b/data/base_stats/gligar.asm index 3197e0203..5bb7fdca8 100644 --- a/data/base_stats/gligar.asm +++ b/data/base_stats/gligar.asm @@ -8,7 +8,7 @@ db 108 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/gloom.asm b/data/base_stats/gloom.asm index d67f73d54..33cea01f2 100644 --- a/data/base_stats/gloom.asm +++ b/data/base_stats/gloom.asm @@ -8,7 +8,7 @@ db 132 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/golbat.asm b/data/base_stats/golbat.asm index be69af4cf..06769b880 100644 --- a/data/base_stats/golbat.asm +++ b/data/base_stats/golbat.asm @@ -8,7 +8,7 @@ db 171 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 15 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/goldeen.asm b/data/base_stats/goldeen.asm index 3769ce1b6..314852a3e 100644 --- a/data/base_stats/goldeen.asm +++ b/data/base_stats/goldeen.asm @@ -8,7 +8,7 @@ db 111 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/golduck.asm b/data/base_stats/golduck.asm index b32d538b5..9c4dbb5f5 100644 --- a/data/base_stats/golduck.asm +++ b/data/base_stats/golduck.asm @@ -8,7 +8,7 @@ db 174 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/golem.asm b/data/base_stats/golem.asm index b8fb85054..9a9f04451 100644 --- a/data/base_stats/golem.asm +++ b/data/base_stats/golem.asm @@ -8,7 +8,7 @@ db 177 ; base exp db NO_ITEM ; item 1 db EVERSTONE ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 15 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/granbull.asm b/data/base_stats/granbull.asm index c2dcda517..088e17dd8 100644 --- a/data/base_stats/granbull.asm +++ b/data/base_stats/granbull.asm @@ -8,7 +8,7 @@ db 178 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 191 ; gender + db GENDER_F75 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/graveler.asm b/data/base_stats/graveler.asm index 17e4e8905..dfbeb770c 100644 --- a/data/base_stats/graveler.asm +++ b/data/base_stats/graveler.asm @@ -8,7 +8,7 @@ db 134 ; base exp db NO_ITEM ; item 1 db EVERSTONE ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 15 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/grimer.asm b/data/base_stats/grimer.asm index 7fb64eb07..86dacd1e6 100644 --- a/data/base_stats/grimer.asm +++ b/data/base_stats/grimer.asm @@ -8,7 +8,7 @@ db 90 ; base exp db NO_ITEM ; item 1 db NUGGET ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/growlithe.asm b/data/base_stats/growlithe.asm index a5e8676f6..ef5cc53b3 100644 --- a/data/base_stats/growlithe.asm +++ b/data/base_stats/growlithe.asm @@ -8,7 +8,7 @@ db 91 ; base exp db BURNT_BERRY ; item 1 db BURNT_BERRY ; item 2 - db 63 ; gender + db GENDER_F25 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/gyarados.asm b/data/base_stats/gyarados.asm index 9b57391c5..1bdceff88 100644 --- a/data/base_stats/gyarados.asm +++ b/data/base_stats/gyarados.asm @@ -8,7 +8,7 @@ db 214 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 5 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/haunter.asm b/data/base_stats/haunter.asm index 76f18a739..0db7406c1 100644 --- a/data/base_stats/haunter.asm +++ b/data/base_stats/haunter.asm @@ -8,7 +8,7 @@ db 126 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/heracross.asm b/data/base_stats/heracross.asm index 5d625bf58..1f81d9c7b 100644 --- a/data/base_stats/heracross.asm +++ b/data/base_stats/heracross.asm @@ -8,7 +8,7 @@ db 200 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 25 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/hitmonchan.asm b/data/base_stats/hitmonchan.asm index dbad48c61..3eeb23dd4 100644 --- a/data/base_stats/hitmonchan.asm +++ b/data/base_stats/hitmonchan.asm @@ -8,7 +8,7 @@ db 140 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 0 ; gender + db GENDER_F0 ; gender db 100 ; unknown db 25 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/hitmonlee.asm b/data/base_stats/hitmonlee.asm index 2a7c5a553..a31352209 100644 --- a/data/base_stats/hitmonlee.asm +++ b/data/base_stats/hitmonlee.asm @@ -8,7 +8,7 @@ db 139 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 0 ; gender + db GENDER_F0 ; gender db 100 ; unknown db 25 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/hitmontop.asm b/data/base_stats/hitmontop.asm index b4e33a3ee..532b8a6d8 100644 --- a/data/base_stats/hitmontop.asm +++ b/data/base_stats/hitmontop.asm @@ -8,7 +8,7 @@ db 138 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 0 ; gender + db GENDER_F0 ; gender db 100 ; unknown db 25 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/ho_oh.asm b/data/base_stats/ho_oh.asm index 5e58d46ae..311bbf6cf 100644 --- a/data/base_stats/ho_oh.asm +++ b/data/base_stats/ho_oh.asm @@ -8,7 +8,7 @@ db 220 ; base exp db SACRED_ASH ; item 1 db SACRED_ASH ; item 2 - db 255 ; gender + db GENDERLESS ; gender db 100 ; unknown db 120 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/hoothoot.asm b/data/base_stats/hoothoot.asm index 1af3a01db..0442fe414 100644 --- a/data/base_stats/hoothoot.asm +++ b/data/base_stats/hoothoot.asm @@ -8,7 +8,7 @@ db 58 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 15 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/hoppip.asm b/data/base_stats/hoppip.asm index ad2bb7a02..b1918d699 100644 --- a/data/base_stats/hoppip.asm +++ b/data/base_stats/hoppip.asm @@ -8,7 +8,7 @@ db 74 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/horsea.asm b/data/base_stats/horsea.asm index 5a4e06b84..3296f52af 100644 --- a/data/base_stats/horsea.asm +++ b/data/base_stats/horsea.asm @@ -8,7 +8,7 @@ db 83 ; base exp db NO_ITEM ; item 1 db DRAGON_SCALE ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/houndoom.asm b/data/base_stats/houndoom.asm index 82271238c..234832675 100644 --- a/data/base_stats/houndoom.asm +++ b/data/base_stats/houndoom.asm @@ -8,7 +8,7 @@ db 204 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/houndour.asm b/data/base_stats/houndour.asm index 6f97bd086..f743cd81e 100644 --- a/data/base_stats/houndour.asm +++ b/data/base_stats/houndour.asm @@ -8,7 +8,7 @@ db 114 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/hypno.asm b/data/base_stats/hypno.asm index 1bf322d95..6c132b6bf 100644 --- a/data/base_stats/hypno.asm +++ b/data/base_stats/hypno.asm @@ -8,7 +8,7 @@ db 165 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/igglybuff.asm b/data/base_stats/igglybuff.asm index 1951f5aa0..fbf32ecca 100644 --- a/data/base_stats/igglybuff.asm +++ b/data/base_stats/igglybuff.asm @@ -8,7 +8,7 @@ db 39 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 191 ; gender + db GENDER_F75 ; gender db 100 ; unknown db 10 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/ivysaur.asm b/data/base_stats/ivysaur.asm index 032c2408c..7d98b4b6d 100644 --- a/data/base_stats/ivysaur.asm +++ b/data/base_stats/ivysaur.asm @@ -8,7 +8,7 @@ db 141 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 31 ; gender + db GENDER_F12_5 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/jigglypuff.asm b/data/base_stats/jigglypuff.asm index 66ab23227..0f4ea788e 100644 --- a/data/base_stats/jigglypuff.asm +++ b/data/base_stats/jigglypuff.asm @@ -8,7 +8,7 @@ db 76 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 191 ; gender + db GENDER_F75 ; gender db 100 ; unknown db 10 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/jolteon.asm b/data/base_stats/jolteon.asm index 3f956946a..665a40d1d 100644 --- a/data/base_stats/jolteon.asm +++ b/data/base_stats/jolteon.asm @@ -8,7 +8,7 @@ db 197 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 31 ; gender + db GENDER_F12_5 ; gender db 100 ; unknown db 35 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/jumpluff.asm b/data/base_stats/jumpluff.asm index 7a857dec4..623fbe82d 100644 --- a/data/base_stats/jumpluff.asm +++ b/data/base_stats/jumpluff.asm @@ -8,7 +8,7 @@ db 176 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/jynx.asm b/data/base_stats/jynx.asm index 054dca9ae..c47a4315d 100644 --- a/data/base_stats/jynx.asm +++ b/data/base_stats/jynx.asm @@ -8,7 +8,7 @@ db 137 ; base exp db ICE_BERRY ; item 1 db ICE_BERRY ; item 2 - db 254 ; gender + db GENDER_F100 ; gender db 100 ; unknown db 25 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/kabuto.asm b/data/base_stats/kabuto.asm index 024f2791d..9a38cbcba 100644 --- a/data/base_stats/kabuto.asm +++ b/data/base_stats/kabuto.asm @@ -8,7 +8,7 @@ db 119 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 31 ; gender + db GENDER_F12_5 ; gender db 100 ; unknown db 30 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/kabutops.asm b/data/base_stats/kabutops.asm index 3c5076954..b8de99fa1 100644 --- a/data/base_stats/kabutops.asm +++ b/data/base_stats/kabutops.asm @@ -8,7 +8,7 @@ db 201 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 31 ; gender + db GENDER_F12_5 ; gender db 100 ; unknown db 30 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/kadabra.asm b/data/base_stats/kadabra.asm index bf5f33638..6a4e56f13 100644 --- a/data/base_stats/kadabra.asm +++ b/data/base_stats/kadabra.asm @@ -8,7 +8,7 @@ db 145 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 63 ; gender + db GENDER_F25 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/kakuna.asm b/data/base_stats/kakuna.asm index 827e17262..83241fbcd 100644 --- a/data/base_stats/kakuna.asm +++ b/data/base_stats/kakuna.asm @@ -8,7 +8,7 @@ db 71 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 15 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/kangaskhan.asm b/data/base_stats/kangaskhan.asm index ca6094ad7..21af227f0 100644 --- a/data/base_stats/kangaskhan.asm +++ b/data/base_stats/kangaskhan.asm @@ -8,7 +8,7 @@ db 175 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 254 ; gender + db GENDER_F100 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/kingdra.asm b/data/base_stats/kingdra.asm index ac4dfd659..e62d0f23e 100644 --- a/data/base_stats/kingdra.asm +++ b/data/base_stats/kingdra.asm @@ -8,7 +8,7 @@ db 207 ; base exp db NO_ITEM ; item 1 db DRAGON_SCALE ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/kingler.asm b/data/base_stats/kingler.asm index 65c3344ac..01ac23a99 100644 --- a/data/base_stats/kingler.asm +++ b/data/base_stats/kingler.asm @@ -8,7 +8,7 @@ db 206 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/koffing.asm b/data/base_stats/koffing.asm index b46e8241e..70e8bd114 100644 --- a/data/base_stats/koffing.asm +++ b/data/base_stats/koffing.asm @@ -8,7 +8,7 @@ db 114 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/krabby.asm b/data/base_stats/krabby.asm index 517d3bd07..60ce4c7f4 100644 --- a/data/base_stats/krabby.asm +++ b/data/base_stats/krabby.asm @@ -8,7 +8,7 @@ db 115 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/lanturn.asm b/data/base_stats/lanturn.asm index f4dd4cd3a..f5b747fad 100644 --- a/data/base_stats/lanturn.asm +++ b/data/base_stats/lanturn.asm @@ -8,7 +8,7 @@ db 156 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/lapras.asm b/data/base_stats/lapras.asm index e57154bc6..9477b6791 100644 --- a/data/base_stats/lapras.asm +++ b/data/base_stats/lapras.asm @@ -8,7 +8,7 @@ db 219 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 40 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/larvitar.asm b/data/base_stats/larvitar.asm index 03a9be50f..7de66ca7f 100644 --- a/data/base_stats/larvitar.asm +++ b/data/base_stats/larvitar.asm @@ -8,7 +8,7 @@ db 67 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 40 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/ledian.asm b/data/base_stats/ledian.asm index a1ca61629..84a06c092 100644 --- a/data/base_stats/ledian.asm +++ b/data/base_stats/ledian.asm @@ -8,7 +8,7 @@ db 134 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 15 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/ledyba.asm b/data/base_stats/ledyba.asm index a01e329b1..68a20d1ea 100644 --- a/data/base_stats/ledyba.asm +++ b/data/base_stats/ledyba.asm @@ -8,7 +8,7 @@ db 54 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 15 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/lickitung.asm b/data/base_stats/lickitung.asm index 8b915bc59..0f8f351da 100644 --- a/data/base_stats/lickitung.asm +++ b/data/base_stats/lickitung.asm @@ -8,7 +8,7 @@ db 127 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/lugia.asm b/data/base_stats/lugia.asm index 26f337e2a..3a4109ab9 100644 --- a/data/base_stats/lugia.asm +++ b/data/base_stats/lugia.asm @@ -8,7 +8,7 @@ db 220 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 255 ; gender + db GENDERLESS ; gender db 100 ; unknown db 120 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/machamp.asm b/data/base_stats/machamp.asm index 056ce3945..bb716cf25 100644 --- a/data/base_stats/machamp.asm +++ b/data/base_stats/machamp.asm @@ -8,7 +8,7 @@ db 193 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 63 ; gender + db GENDER_F25 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/machoke.asm b/data/base_stats/machoke.asm index 3fdec0eb2..79caf8c70 100644 --- a/data/base_stats/machoke.asm +++ b/data/base_stats/machoke.asm @@ -8,7 +8,7 @@ db 146 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 63 ; gender + db GENDER_F25 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/machop.asm b/data/base_stats/machop.asm index bdde42528..6b0cbaab7 100644 --- a/data/base_stats/machop.asm +++ b/data/base_stats/machop.asm @@ -8,7 +8,7 @@ db 88 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 63 ; gender + db GENDER_F25 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/magby.asm b/data/base_stats/magby.asm index 876bceb3f..478dfb8b8 100644 --- a/data/base_stats/magby.asm +++ b/data/base_stats/magby.asm @@ -8,7 +8,7 @@ db 117 ; base exp db BURNT_BERRY ; item 1 db BURNT_BERRY ; item 2 - db 63 ; gender + db GENDER_F25 ; gender db 100 ; unknown db 25 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/magcargo.asm b/data/base_stats/magcargo.asm index bdbd0ca97..45493135b 100644 --- a/data/base_stats/magcargo.asm +++ b/data/base_stats/magcargo.asm @@ -8,7 +8,7 @@ db 154 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/magikarp.asm b/data/base_stats/magikarp.asm index 5d489fbff..2519b475b 100644 --- a/data/base_stats/magikarp.asm +++ b/data/base_stats/magikarp.asm @@ -8,7 +8,7 @@ db 20 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 5 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/magmar.asm b/data/base_stats/magmar.asm index 3c27ad670..ea14c66cd 100644 --- a/data/base_stats/magmar.asm +++ b/data/base_stats/magmar.asm @@ -8,7 +8,7 @@ db 167 ; base exp db BURNT_BERRY ; item 1 db BURNT_BERRY ; item 2 - db 63 ; gender + db GENDER_F25 ; gender db 100 ; unknown db 25 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/magnemite.asm b/data/base_stats/magnemite.asm index 78a3ddea6..19a85a9a1 100644 --- a/data/base_stats/magnemite.asm +++ b/data/base_stats/magnemite.asm @@ -8,7 +8,7 @@ db 89 ; base exp db NO_ITEM ; item 1 db METAL_COAT ; item 2 - db 255 ; gender + db GENDERLESS ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/magneton.asm b/data/base_stats/magneton.asm index 8b9158bba..5fdbe68f4 100644 --- a/data/base_stats/magneton.asm +++ b/data/base_stats/magneton.asm @@ -8,7 +8,7 @@ db 161 ; base exp db NO_ITEM ; item 1 db METAL_COAT ; item 2 - db 255 ; gender + db GENDERLESS ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/mankey.asm b/data/base_stats/mankey.asm index 7ee15d3f7..77cc260d4 100644 --- a/data/base_stats/mankey.asm +++ b/data/base_stats/mankey.asm @@ -8,7 +8,7 @@ db 74 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/mantine.asm b/data/base_stats/mantine.asm index e8730d787..bfe113428 100644 --- a/data/base_stats/mantine.asm +++ b/data/base_stats/mantine.asm @@ -8,7 +8,7 @@ db 168 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 25 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/mareep.asm b/data/base_stats/mareep.asm index 366863245..cc190b664 100644 --- a/data/base_stats/mareep.asm +++ b/data/base_stats/mareep.asm @@ -8,7 +8,7 @@ db 59 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/marill.asm b/data/base_stats/marill.asm index 7d9f4ce8a..73708d1df 100644 --- a/data/base_stats/marill.asm +++ b/data/base_stats/marill.asm @@ -8,7 +8,7 @@ db 58 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/marowak.asm b/data/base_stats/marowak.asm index 76b7e4870..3e04b9697 100644 --- a/data/base_stats/marowak.asm +++ b/data/base_stats/marowak.asm @@ -8,7 +8,7 @@ db 124 ; base exp db NO_ITEM ; item 1 db THICK_CLUB ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/meganium.asm b/data/base_stats/meganium.asm index 57f228c28..cf1125003 100644 --- a/data/base_stats/meganium.asm +++ b/data/base_stats/meganium.asm @@ -8,7 +8,7 @@ db 208 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 31 ; gender + db GENDER_F12_5 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/meowth.asm b/data/base_stats/meowth.asm index f795aa4c2..f177f0efd 100644 --- a/data/base_stats/meowth.asm +++ b/data/base_stats/meowth.asm @@ -8,7 +8,7 @@ db 69 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/metapod.asm b/data/base_stats/metapod.asm index deb7bc8e7..e26e31fc5 100644 --- a/data/base_stats/metapod.asm +++ b/data/base_stats/metapod.asm @@ -8,7 +8,7 @@ db 72 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 15 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/mew.asm b/data/base_stats/mew.asm index 7544467c7..e2bac0040 100644 --- a/data/base_stats/mew.asm +++ b/data/base_stats/mew.asm @@ -8,7 +8,7 @@ db 64 ; base exp db NO_ITEM ; item 1 db MIRACLEBERRY ; item 2 - db 255 ; gender + db GENDERLESS ; gender db 100 ; unknown db 120 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/mewtwo.asm b/data/base_stats/mewtwo.asm index 61e01c32c..28da9f404 100644 --- a/data/base_stats/mewtwo.asm +++ b/data/base_stats/mewtwo.asm @@ -8,7 +8,7 @@ db 220 ; base exp db NO_ITEM ; item 1 db BERSERK_GENE ; item 2 - db 255 ; gender + db GENDERLESS ; gender db 100 ; unknown db 120 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/miltank.asm b/data/base_stats/miltank.asm index 7083c15c7..63ed422bc 100644 --- a/data/base_stats/miltank.asm +++ b/data/base_stats/miltank.asm @@ -8,7 +8,7 @@ db 200 ; base exp db MOOMOO_MILK ; item 1 db MOOMOO_MILK ; item 2 - db 254 ; gender + db GENDER_F100 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/misdreavus.asm b/data/base_stats/misdreavus.asm index 5811aa665..dc730ad9a 100644 --- a/data/base_stats/misdreavus.asm +++ b/data/base_stats/misdreavus.asm @@ -8,7 +8,7 @@ db 147 ; base exp db NO_ITEM ; item 1 db SPELL_TAG ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 25 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/moltres.asm b/data/base_stats/moltres.asm index 13eb7e7af..bf70c2821 100644 --- a/data/base_stats/moltres.asm +++ b/data/base_stats/moltres.asm @@ -8,7 +8,7 @@ db 217 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 255 ; gender + db GENDERLESS ; gender db 100 ; unknown db 80 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/mr__mime.asm b/data/base_stats/mr__mime.asm index 3a271baf4..d7042d55a 100644 --- a/data/base_stats/mr__mime.asm +++ b/data/base_stats/mr__mime.asm @@ -8,7 +8,7 @@ db 136 ; base exp db NO_ITEM ; item 1 db MYSTERYBERRY ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 25 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/muk.asm b/data/base_stats/muk.asm index 7669e59b0..30c6414fd 100644 --- a/data/base_stats/muk.asm +++ b/data/base_stats/muk.asm @@ -8,7 +8,7 @@ db 157 ; base exp db NO_ITEM ; item 1 db NUGGET ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/murkrow.asm b/data/base_stats/murkrow.asm index 08a1d7143..7f459e8aa 100644 --- a/data/base_stats/murkrow.asm +++ b/data/base_stats/murkrow.asm @@ -8,7 +8,7 @@ db 107 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/natu.asm b/data/base_stats/natu.asm index 2f65b73ba..9d00ce7eb 100644 --- a/data/base_stats/natu.asm +++ b/data/base_stats/natu.asm @@ -8,7 +8,7 @@ db 73 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/nidoking.asm b/data/base_stats/nidoking.asm index a5d6abef0..316f71e87 100644 --- a/data/base_stats/nidoking.asm +++ b/data/base_stats/nidoking.asm @@ -8,7 +8,7 @@ db 195 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 0 ; gender + db GENDER_F0 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/nidoqueen.asm b/data/base_stats/nidoqueen.asm index cf888b7eb..e9d2ae611 100644 --- a/data/base_stats/nidoqueen.asm +++ b/data/base_stats/nidoqueen.asm @@ -8,7 +8,7 @@ db 194 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 254 ; gender + db GENDER_F100 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/nidoran_f.asm b/data/base_stats/nidoran_f.asm index e80b622c9..1cd53b17a 100644 --- a/data/base_stats/nidoran_f.asm +++ b/data/base_stats/nidoran_f.asm @@ -8,7 +8,7 @@ db 59 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 254 ; gender + db GENDER_F100 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/nidoran_m.asm b/data/base_stats/nidoran_m.asm index 1029a2511..cf0c1e1b2 100644 --- a/data/base_stats/nidoran_m.asm +++ b/data/base_stats/nidoran_m.asm @@ -8,7 +8,7 @@ db 60 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 0 ; gender + db GENDER_F0 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/nidorina.asm b/data/base_stats/nidorina.asm index 3ca843e85..42b3aebf8 100644 --- a/data/base_stats/nidorina.asm +++ b/data/base_stats/nidorina.asm @@ -8,7 +8,7 @@ db 117 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 254 ; gender + db GENDER_F100 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/nidorino.asm b/data/base_stats/nidorino.asm index c853ef943..f31e8df3d 100644 --- a/data/base_stats/nidorino.asm +++ b/data/base_stats/nidorino.asm @@ -8,7 +8,7 @@ db 118 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 0 ; gender + db GENDER_F0 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/ninetales.asm b/data/base_stats/ninetales.asm index c651f8c57..5fd84b886 100644 --- a/data/base_stats/ninetales.asm +++ b/data/base_stats/ninetales.asm @@ -8,7 +8,7 @@ db 178 ; base exp db BURNT_BERRY ; item 1 db BURNT_BERRY ; item 2 - db 191 ; gender + db GENDER_F75 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/noctowl.asm b/data/base_stats/noctowl.asm index 7c97fd769..e2c8565bd 100644 --- a/data/base_stats/noctowl.asm +++ b/data/base_stats/noctowl.asm @@ -8,7 +8,7 @@ db 162 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 15 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/octillery.asm b/data/base_stats/octillery.asm index 1d64afa82..80b5ad97a 100644 --- a/data/base_stats/octillery.asm +++ b/data/base_stats/octillery.asm @@ -8,7 +8,7 @@ db 164 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/oddish.asm b/data/base_stats/oddish.asm index dc91485b6..df75f6485 100644 --- a/data/base_stats/oddish.asm +++ b/data/base_stats/oddish.asm @@ -8,7 +8,7 @@ db 78 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/omanyte.asm b/data/base_stats/omanyte.asm index 0e511f244..6278f4e3c 100644 --- a/data/base_stats/omanyte.asm +++ b/data/base_stats/omanyte.asm @@ -8,7 +8,7 @@ db 120 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 31 ; gender + db GENDER_F12_5 ; gender db 100 ; unknown db 30 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/omastar.asm b/data/base_stats/omastar.asm index 7e35a8987..d3f3b15e1 100644 --- a/data/base_stats/omastar.asm +++ b/data/base_stats/omastar.asm @@ -8,7 +8,7 @@ db 199 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 31 ; gender + db GENDER_F12_5 ; gender db 100 ; unknown db 30 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/onix.asm b/data/base_stats/onix.asm index f67c1eb86..2fc5bd175 100644 --- a/data/base_stats/onix.asm +++ b/data/base_stats/onix.asm @@ -8,7 +8,7 @@ db 108 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 25 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/paras.asm b/data/base_stats/paras.asm index 4994aa8dd..d86a51765 100644 --- a/data/base_stats/paras.asm +++ b/data/base_stats/paras.asm @@ -8,7 +8,7 @@ db 70 ; base exp db TINYMUSHROOM ; item 1 db BIG_MUSHROOM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/parasect.asm b/data/base_stats/parasect.asm index 310eba07f..5c4320fd3 100644 --- a/data/base_stats/parasect.asm +++ b/data/base_stats/parasect.asm @@ -8,7 +8,7 @@ db 128 ; base exp db TINYMUSHROOM ; item 1 db BIG_MUSHROOM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/persian.asm b/data/base_stats/persian.asm index f76ecaaae..fd2677e16 100644 --- a/data/base_stats/persian.asm +++ b/data/base_stats/persian.asm @@ -8,7 +8,7 @@ db 148 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/phanpy.asm b/data/base_stats/phanpy.asm index 08ff39595..93a26d43c 100644 --- a/data/base_stats/phanpy.asm +++ b/data/base_stats/phanpy.asm @@ -8,7 +8,7 @@ db 124 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/pichu.asm b/data/base_stats/pichu.asm index dbadc22d3..da497bdf8 100644 --- a/data/base_stats/pichu.asm +++ b/data/base_stats/pichu.asm @@ -8,7 +8,7 @@ db 42 ; base exp db NO_ITEM ; item 1 db BERRY ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 10 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/pidgeot.asm b/data/base_stats/pidgeot.asm index 1024b6624..35222d2be 100644 --- a/data/base_stats/pidgeot.asm +++ b/data/base_stats/pidgeot.asm @@ -8,7 +8,7 @@ db 172 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 15 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/pidgeotto.asm b/data/base_stats/pidgeotto.asm index 8e9d434a3..13b2d8e0c 100644 --- a/data/base_stats/pidgeotto.asm +++ b/data/base_stats/pidgeotto.asm @@ -8,7 +8,7 @@ db 113 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 15 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/pidgey.asm b/data/base_stats/pidgey.asm index d5f8fa630..0290f1717 100644 --- a/data/base_stats/pidgey.asm +++ b/data/base_stats/pidgey.asm @@ -8,7 +8,7 @@ db 55 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 15 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/pikachu.asm b/data/base_stats/pikachu.asm index 5875b1ea7..cd998aead 100644 --- a/data/base_stats/pikachu.asm +++ b/data/base_stats/pikachu.asm @@ -8,7 +8,7 @@ db 82 ; base exp db NO_ITEM ; item 1 db BERRY ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 10 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/piloswine.asm b/data/base_stats/piloswine.asm index 3da32746b..dd8bf950b 100644 --- a/data/base_stats/piloswine.asm +++ b/data/base_stats/piloswine.asm @@ -8,7 +8,7 @@ db 160 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/pineco.asm b/data/base_stats/pineco.asm index 43289701c..2c27a9913 100644 --- a/data/base_stats/pineco.asm +++ b/data/base_stats/pineco.asm @@ -8,7 +8,7 @@ db 60 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/pinsir.asm b/data/base_stats/pinsir.asm index cd07cde27..697bba44c 100644 --- a/data/base_stats/pinsir.asm +++ b/data/base_stats/pinsir.asm @@ -8,7 +8,7 @@ db 200 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 25 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/politoed.asm b/data/base_stats/politoed.asm index 8b510fc8f..dd11f5080 100644 --- a/data/base_stats/politoed.asm +++ b/data/base_stats/politoed.asm @@ -8,7 +8,7 @@ db 185 ; base exp db NO_ITEM ; item 1 db KINGS_ROCK ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/poliwag.asm b/data/base_stats/poliwag.asm index abcab97e2..fb362450c 100644 --- a/data/base_stats/poliwag.asm +++ b/data/base_stats/poliwag.asm @@ -8,7 +8,7 @@ db 77 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/poliwhirl.asm b/data/base_stats/poliwhirl.asm index c2aac43f7..d0d461164 100644 --- a/data/base_stats/poliwhirl.asm +++ b/data/base_stats/poliwhirl.asm @@ -8,7 +8,7 @@ db 131 ; base exp db NO_ITEM ; item 1 db KINGS_ROCK ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/poliwrath.asm b/data/base_stats/poliwrath.asm index 1e3130078..5745daee7 100644 --- a/data/base_stats/poliwrath.asm +++ b/data/base_stats/poliwrath.asm @@ -8,7 +8,7 @@ db 185 ; base exp db NO_ITEM ; item 1 db KINGS_ROCK ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/ponyta.asm b/data/base_stats/ponyta.asm index 2366b1b12..5c1f77c98 100644 --- a/data/base_stats/ponyta.asm +++ b/data/base_stats/ponyta.asm @@ -8,7 +8,7 @@ db 152 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/porygon.asm b/data/base_stats/porygon.asm index 340c79af1..b0c99914b 100644 --- a/data/base_stats/porygon.asm +++ b/data/base_stats/porygon.asm @@ -8,7 +8,7 @@ db 130 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 255 ; gender + db GENDERLESS ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/porygon2.asm b/data/base_stats/porygon2.asm index 6c5a518a7..9e049a156 100644 --- a/data/base_stats/porygon2.asm +++ b/data/base_stats/porygon2.asm @@ -8,7 +8,7 @@ db 180 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 255 ; gender + db GENDERLESS ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/primeape.asm b/data/base_stats/primeape.asm index 4abd0b68f..249f9bee4 100644 --- a/data/base_stats/primeape.asm +++ b/data/base_stats/primeape.asm @@ -8,7 +8,7 @@ db 149 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/psyduck.asm b/data/base_stats/psyduck.asm index bbd0e64e3..261fdde99 100644 --- a/data/base_stats/psyduck.asm +++ b/data/base_stats/psyduck.asm @@ -8,7 +8,7 @@ db 80 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/pupitar.asm b/data/base_stats/pupitar.asm index 643b88e34..63c0a41a7 100644 --- a/data/base_stats/pupitar.asm +++ b/data/base_stats/pupitar.asm @@ -8,7 +8,7 @@ db 144 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 40 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/quagsire.asm b/data/base_stats/quagsire.asm index 3e65ce4a1..0f49866e7 100644 --- a/data/base_stats/quagsire.asm +++ b/data/base_stats/quagsire.asm @@ -8,7 +8,7 @@ db 137 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/quilava.asm b/data/base_stats/quilava.asm index f1d9a8b3c..efadeda06 100644 --- a/data/base_stats/quilava.asm +++ b/data/base_stats/quilava.asm @@ -8,7 +8,7 @@ db 142 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 31 ; gender + db GENDER_F12_5 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/qwilfish.asm b/data/base_stats/qwilfish.asm index 5308e60ef..70648e5fd 100644 --- a/data/base_stats/qwilfish.asm +++ b/data/base_stats/qwilfish.asm @@ -8,7 +8,7 @@ db 100 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/raichu.asm b/data/base_stats/raichu.asm index aefc56713..cdc5193cd 100644 --- a/data/base_stats/raichu.asm +++ b/data/base_stats/raichu.asm @@ -8,7 +8,7 @@ db 122 ; base exp db NO_ITEM ; item 1 db BERRY ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 10 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/raikou.asm b/data/base_stats/raikou.asm index 26966258d..a68f16181 100644 --- a/data/base_stats/raikou.asm +++ b/data/base_stats/raikou.asm @@ -8,7 +8,7 @@ db 216 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 255 ; gender + db GENDERLESS ; gender db 100 ; unknown db 80 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/rapidash.asm b/data/base_stats/rapidash.asm index a55f7cd36..0167e7439 100644 --- a/data/base_stats/rapidash.asm +++ b/data/base_stats/rapidash.asm @@ -8,7 +8,7 @@ db 192 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/raticate.asm b/data/base_stats/raticate.asm index 6248cf4ca..1cfc65906 100644 --- a/data/base_stats/raticate.asm +++ b/data/base_stats/raticate.asm @@ -8,7 +8,7 @@ db 116 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 15 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/rattata.asm b/data/base_stats/rattata.asm index 0fb688d58..13c21e889 100644 --- a/data/base_stats/rattata.asm +++ b/data/base_stats/rattata.asm @@ -8,7 +8,7 @@ db 57 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 15 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/remoraid.asm b/data/base_stats/remoraid.asm index 4af024564..10ae15479 100644 --- a/data/base_stats/remoraid.asm +++ b/data/base_stats/remoraid.asm @@ -8,7 +8,7 @@ db 78 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/rhydon.asm b/data/base_stats/rhydon.asm index 8890718a5..cdcfb4cad 100644 --- a/data/base_stats/rhydon.asm +++ b/data/base_stats/rhydon.asm @@ -8,7 +8,7 @@ db 204 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/rhyhorn.asm b/data/base_stats/rhyhorn.asm index 33cff8b54..67d438751 100644 --- a/data/base_stats/rhyhorn.asm +++ b/data/base_stats/rhyhorn.asm @@ -8,7 +8,7 @@ db 135 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/sandshrew.asm b/data/base_stats/sandshrew.asm index f2148f9fa..cc0a4c492 100644 --- a/data/base_stats/sandshrew.asm +++ b/data/base_stats/sandshrew.asm @@ -8,7 +8,7 @@ db 93 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/sandslash.asm b/data/base_stats/sandslash.asm index ae4c38df0..75f66b363 100644 --- a/data/base_stats/sandslash.asm +++ b/data/base_stats/sandslash.asm @@ -8,7 +8,7 @@ db 163 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/scizor.asm b/data/base_stats/scizor.asm index c05fa7aca..127110c7a 100644 --- a/data/base_stats/scizor.asm +++ b/data/base_stats/scizor.asm @@ -8,7 +8,7 @@ db 200 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 25 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/scyther.asm b/data/base_stats/scyther.asm index e01386c6e..4c4779f0f 100644 --- a/data/base_stats/scyther.asm +++ b/data/base_stats/scyther.asm @@ -8,7 +8,7 @@ db 187 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 25 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/seadra.asm b/data/base_stats/seadra.asm index b242641c3..b4dc47c20 100644 --- a/data/base_stats/seadra.asm +++ b/data/base_stats/seadra.asm @@ -8,7 +8,7 @@ db 155 ; base exp db NO_ITEM ; item 1 db DRAGON_SCALE ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/seaking.asm b/data/base_stats/seaking.asm index 381c61298..4d6d2f91e 100644 --- a/data/base_stats/seaking.asm +++ b/data/base_stats/seaking.asm @@ -8,7 +8,7 @@ db 170 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/seel.asm b/data/base_stats/seel.asm index 2589fc272..39b44fad8 100644 --- a/data/base_stats/seel.asm +++ b/data/base_stats/seel.asm @@ -8,7 +8,7 @@ db 100 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/sentret.asm b/data/base_stats/sentret.asm index 25c7b779c..12e120087 100644 --- a/data/base_stats/sentret.asm +++ b/data/base_stats/sentret.asm @@ -8,7 +8,7 @@ db 57 ; base exp db NO_ITEM ; item 1 db BERRY ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 15 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/shellder.asm b/data/base_stats/shellder.asm index 7d7f801d7..fb60ff262 100644 --- a/data/base_stats/shellder.asm +++ b/data/base_stats/shellder.asm @@ -8,7 +8,7 @@ db 97 ; base exp db PEARL ; item 1 db BIG_PEARL ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/shuckle.asm b/data/base_stats/shuckle.asm index 9f2cee33b..7cd31ad79 100644 --- a/data/base_stats/shuckle.asm +++ b/data/base_stats/shuckle.asm @@ -8,7 +8,7 @@ db 80 ; base exp db BERRY ; item 1 db BERRY ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/skarmory.asm b/data/base_stats/skarmory.asm index 106cee7f3..cf271b39f 100644 --- a/data/base_stats/skarmory.asm +++ b/data/base_stats/skarmory.asm @@ -8,7 +8,7 @@ db 168 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 25 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/skiploom.asm b/data/base_stats/skiploom.asm index 2920f19f0..46bbc8a8c 100644 --- a/data/base_stats/skiploom.asm +++ b/data/base_stats/skiploom.asm @@ -8,7 +8,7 @@ db 136 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/slowbro.asm b/data/base_stats/slowbro.asm index 7c6520d8a..12e172238 100644 --- a/data/base_stats/slowbro.asm +++ b/data/base_stats/slowbro.asm @@ -8,7 +8,7 @@ db 164 ; base exp db NO_ITEM ; item 1 db KINGS_ROCK ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/slowking.asm b/data/base_stats/slowking.asm index 4974b23c5..7307ca826 100644 --- a/data/base_stats/slowking.asm +++ b/data/base_stats/slowking.asm @@ -8,7 +8,7 @@ db 164 ; base exp db NO_ITEM ; item 1 db KINGS_ROCK ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/slowpoke.asm b/data/base_stats/slowpoke.asm index 4ad676ab0..36bf88af2 100644 --- a/data/base_stats/slowpoke.asm +++ b/data/base_stats/slowpoke.asm @@ -8,7 +8,7 @@ db 99 ; base exp db NO_ITEM ; item 1 db KINGS_ROCK ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/slugma.asm b/data/base_stats/slugma.asm index 52da7221f..a760dd40e 100644 --- a/data/base_stats/slugma.asm +++ b/data/base_stats/slugma.asm @@ -8,7 +8,7 @@ db 78 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/smeargle.asm b/data/base_stats/smeargle.asm index e3011c8d2..d80443acf 100644 --- a/data/base_stats/smeargle.asm +++ b/data/base_stats/smeargle.asm @@ -8,7 +8,7 @@ db 106 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/smoochum.asm b/data/base_stats/smoochum.asm index 985a52a19..69d74d5e8 100644 --- a/data/base_stats/smoochum.asm +++ b/data/base_stats/smoochum.asm @@ -8,7 +8,7 @@ db 87 ; base exp db ICE_BERRY ; item 1 db ICE_BERRY ; item 2 - db 254 ; gender + db GENDER_F100 ; gender db 100 ; unknown db 25 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/sneasel.asm b/data/base_stats/sneasel.asm index eb62897eb..3abea4b7a 100644 --- a/data/base_stats/sneasel.asm +++ b/data/base_stats/sneasel.asm @@ -8,7 +8,7 @@ db 132 ; base exp db NO_ITEM ; item 1 db QUICK_CLAW ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/snorlax.asm b/data/base_stats/snorlax.asm index e04cd1442..0efe599c5 100644 --- a/data/base_stats/snorlax.asm +++ b/data/base_stats/snorlax.asm @@ -8,7 +8,7 @@ db 154 ; base exp db LEFTOVERS ; item 1 db LEFTOVERS ; item 2 - db 31 ; gender + db GENDER_F12_5 ; gender db 100 ; unknown db 40 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/snubbull.asm b/data/base_stats/snubbull.asm index 3ac629f26..00d94a3cb 100644 --- a/data/base_stats/snubbull.asm +++ b/data/base_stats/snubbull.asm @@ -8,7 +8,7 @@ db 63 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 191 ; gender + db GENDER_F75 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/spearow.asm b/data/base_stats/spearow.asm index 4321aa799..b94e3559c 100644 --- a/data/base_stats/spearow.asm +++ b/data/base_stats/spearow.asm @@ -8,7 +8,7 @@ db 58 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 15 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/spinarak.asm b/data/base_stats/spinarak.asm index 7f00a4677..d9ca7679f 100644 --- a/data/base_stats/spinarak.asm +++ b/data/base_stats/spinarak.asm @@ -8,7 +8,7 @@ db 54 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 15 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/squirtle.asm b/data/base_stats/squirtle.asm index 06484e52c..1d9faa25d 100644 --- a/data/base_stats/squirtle.asm +++ b/data/base_stats/squirtle.asm @@ -8,7 +8,7 @@ db 66 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 31 ; gender + db GENDER_F12_5 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/stantler.asm b/data/base_stats/stantler.asm index 911e1904f..1978739e7 100644 --- a/data/base_stats/stantler.asm +++ b/data/base_stats/stantler.asm @@ -8,7 +8,7 @@ db 165 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/starmie.asm b/data/base_stats/starmie.asm index dbc2122bb..aa60f18d2 100644 --- a/data/base_stats/starmie.asm +++ b/data/base_stats/starmie.asm @@ -8,7 +8,7 @@ db 207 ; base exp db STARDUST ; item 1 db STAR_PIECE ; item 2 - db 255 ; gender + db GENDERLESS ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/staryu.asm b/data/base_stats/staryu.asm index 6d0d90eb3..d0520c3cc 100644 --- a/data/base_stats/staryu.asm +++ b/data/base_stats/staryu.asm @@ -8,7 +8,7 @@ db 106 ; base exp db STARDUST ; item 1 db STAR_PIECE ; item 2 - db 255 ; gender + db GENDERLESS ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/steelix.asm b/data/base_stats/steelix.asm index f740d0c02..df5d8940c 100644 --- a/data/base_stats/steelix.asm +++ b/data/base_stats/steelix.asm @@ -8,7 +8,7 @@ db 196 ; base exp db NO_ITEM ; item 1 db METAL_COAT ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 25 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/sudowoodo.asm b/data/base_stats/sudowoodo.asm index 6ddc4cd57..1c6c33984 100644 --- a/data/base_stats/sudowoodo.asm +++ b/data/base_stats/sudowoodo.asm @@ -8,7 +8,7 @@ db 135 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/suicune.asm b/data/base_stats/suicune.asm index 6262bd513..04ece5516 100644 --- a/data/base_stats/suicune.asm +++ b/data/base_stats/suicune.asm @@ -8,7 +8,7 @@ db 215 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 255 ; gender + db GENDERLESS ; gender db 100 ; unknown db 80 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/sunflora.asm b/data/base_stats/sunflora.asm index d8f01ebad..97974939c 100644 --- a/data/base_stats/sunflora.asm +++ b/data/base_stats/sunflora.asm @@ -8,7 +8,7 @@ db 146 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/sunkern.asm b/data/base_stats/sunkern.asm index 2cab9d9a1..054625425 100644 --- a/data/base_stats/sunkern.asm +++ b/data/base_stats/sunkern.asm @@ -8,7 +8,7 @@ db 52 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/swinub.asm b/data/base_stats/swinub.asm index 70b389b30..37f1dd67d 100644 --- a/data/base_stats/swinub.asm +++ b/data/base_stats/swinub.asm @@ -8,7 +8,7 @@ db 78 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/tangela.asm b/data/base_stats/tangela.asm index d379fdb92..9bb27ffca 100644 --- a/data/base_stats/tangela.asm +++ b/data/base_stats/tangela.asm @@ -8,7 +8,7 @@ db 166 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/tauros.asm b/data/base_stats/tauros.asm index 365de3f8d..553458e83 100644 --- a/data/base_stats/tauros.asm +++ b/data/base_stats/tauros.asm @@ -8,7 +8,7 @@ db 211 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 0 ; gender + db GENDER_F0 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/teddiursa.asm b/data/base_stats/teddiursa.asm index 0269d4c68..d636aed87 100644 --- a/data/base_stats/teddiursa.asm +++ b/data/base_stats/teddiursa.asm @@ -8,7 +8,7 @@ db 124 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/tentacool.asm b/data/base_stats/tentacool.asm index e225309e5..b13879b47 100644 --- a/data/base_stats/tentacool.asm +++ b/data/base_stats/tentacool.asm @@ -8,7 +8,7 @@ db 105 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/tentacruel.asm b/data/base_stats/tentacruel.asm index 22b2a3808..a678d13a8 100644 --- a/data/base_stats/tentacruel.asm +++ b/data/base_stats/tentacruel.asm @@ -8,7 +8,7 @@ db 205 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/togepi.asm b/data/base_stats/togepi.asm index 1bf6cc339..51249de6d 100644 --- a/data/base_stats/togepi.asm +++ b/data/base_stats/togepi.asm @@ -8,7 +8,7 @@ db 74 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 31 ; gender + db GENDER_F12_5 ; gender db 100 ; unknown db 10 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/togetic.asm b/data/base_stats/togetic.asm index f8330c50f..4fc94103d 100644 --- a/data/base_stats/togetic.asm +++ b/data/base_stats/togetic.asm @@ -8,7 +8,7 @@ db 114 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 31 ; gender + db GENDER_F12_5 ; gender db 100 ; unknown db 10 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/totodile.asm b/data/base_stats/totodile.asm index 3d57dbc89..1753d5af0 100644 --- a/data/base_stats/totodile.asm +++ b/data/base_stats/totodile.asm @@ -8,7 +8,7 @@ db 66 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 31 ; gender + db GENDER_F12_5 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/typhlosion.asm b/data/base_stats/typhlosion.asm index a73529cef..698a4e0a0 100644 --- a/data/base_stats/typhlosion.asm +++ b/data/base_stats/typhlosion.asm @@ -8,7 +8,7 @@ db 209 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 31 ; gender + db GENDER_F12_5 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/tyranitar.asm b/data/base_stats/tyranitar.asm index c116bdde3..b695007f1 100644 --- a/data/base_stats/tyranitar.asm +++ b/data/base_stats/tyranitar.asm @@ -8,7 +8,7 @@ db 218 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 40 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/tyrogue.asm b/data/base_stats/tyrogue.asm index 87d44a3c5..4e5e7ee43 100644 --- a/data/base_stats/tyrogue.asm +++ b/data/base_stats/tyrogue.asm @@ -8,7 +8,7 @@ db 91 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 0 ; gender + db GENDER_F0 ; gender db 100 ; unknown db 25 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/umbreon.asm b/data/base_stats/umbreon.asm index 1274f6afa..dbda2b3b6 100644 --- a/data/base_stats/umbreon.asm +++ b/data/base_stats/umbreon.asm @@ -8,7 +8,7 @@ db 197 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 31 ; gender + db GENDER_F12_5 ; gender db 100 ; unknown db 35 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/unown.asm b/data/base_stats/unown.asm index d447757eb..0b13f3eca 100644 --- a/data/base_stats/unown.asm +++ b/data/base_stats/unown.asm @@ -8,7 +8,7 @@ db 61 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 255 ; gender + db GENDERLESS ; gender db 100 ; unknown db 40 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/ursaring.asm b/data/base_stats/ursaring.asm index ba87a54ff..7aa8a4265 100644 --- a/data/base_stats/ursaring.asm +++ b/data/base_stats/ursaring.asm @@ -8,7 +8,7 @@ db 189 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/vaporeon.asm b/data/base_stats/vaporeon.asm index 7d024d5fd..0e55a1946 100644 --- a/data/base_stats/vaporeon.asm +++ b/data/base_stats/vaporeon.asm @@ -8,7 +8,7 @@ db 196 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 31 ; gender + db GENDER_F12_5 ; gender db 100 ; unknown db 35 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/venomoth.asm b/data/base_stats/venomoth.asm index c2ac64222..4e813b3aa 100644 --- a/data/base_stats/venomoth.asm +++ b/data/base_stats/venomoth.asm @@ -8,7 +8,7 @@ db 138 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/venonat.asm b/data/base_stats/venonat.asm index ef662fb91..5db99f8a1 100644 --- a/data/base_stats/venonat.asm +++ b/data/base_stats/venonat.asm @@ -8,7 +8,7 @@ db 75 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/venusaur.asm b/data/base_stats/venusaur.asm index 728508bee..f5d6a3a33 100644 --- a/data/base_stats/venusaur.asm +++ b/data/base_stats/venusaur.asm @@ -8,7 +8,7 @@ db 208 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 31 ; gender + db GENDER_F12_5 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/victreebel.asm b/data/base_stats/victreebel.asm index fd33d5c1c..0efade3ad 100644 --- a/data/base_stats/victreebel.asm +++ b/data/base_stats/victreebel.asm @@ -8,7 +8,7 @@ db 191 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/vileplume.asm b/data/base_stats/vileplume.asm index f6f4b370e..12170e167 100644 --- a/data/base_stats/vileplume.asm +++ b/data/base_stats/vileplume.asm @@ -8,7 +8,7 @@ db 184 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/voltorb.asm b/data/base_stats/voltorb.asm index 5daf64af9..7c2255729 100644 --- a/data/base_stats/voltorb.asm +++ b/data/base_stats/voltorb.asm @@ -8,7 +8,7 @@ db 103 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 255 ; gender + db GENDERLESS ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/vulpix.asm b/data/base_stats/vulpix.asm index 0212212ff..9cea11f93 100644 --- a/data/base_stats/vulpix.asm +++ b/data/base_stats/vulpix.asm @@ -8,7 +8,7 @@ db 63 ; base exp db BURNT_BERRY ; item 1 db BURNT_BERRY ; item 2 - db 191 ; gender + db GENDER_F75 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/wartortle.asm b/data/base_stats/wartortle.asm index 751d881ef..437342a8b 100644 --- a/data/base_stats/wartortle.asm +++ b/data/base_stats/wartortle.asm @@ -8,7 +8,7 @@ db 143 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 31 ; gender + db GENDER_F12_5 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/weedle.asm b/data/base_stats/weedle.asm index acc241e74..b47a720ec 100644 --- a/data/base_stats/weedle.asm +++ b/data/base_stats/weedle.asm @@ -8,7 +8,7 @@ db 52 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 15 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/weepinbell.asm b/data/base_stats/weepinbell.asm index b87ba6326..4a70c5bb2 100644 --- a/data/base_stats/weepinbell.asm +++ b/data/base_stats/weepinbell.asm @@ -8,7 +8,7 @@ db 151 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/weezing.asm b/data/base_stats/weezing.asm index 96a645828..49161c69b 100644 --- a/data/base_stats/weezing.asm +++ b/data/base_stats/weezing.asm @@ -8,7 +8,7 @@ db 173 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/wigglytuff.asm b/data/base_stats/wigglytuff.asm index 82321d595..ff1910c0e 100644 --- a/data/base_stats/wigglytuff.asm +++ b/data/base_stats/wigglytuff.asm @@ -8,7 +8,7 @@ db 109 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 191 ; gender + db GENDER_F75 ; gender db 100 ; unknown db 10 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/wobbuffet.asm b/data/base_stats/wobbuffet.asm index 4b865b33c..c476dd828 100644 --- a/data/base_stats/wobbuffet.asm +++ b/data/base_stats/wobbuffet.asm @@ -8,7 +8,7 @@ db 177 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/wooper.asm b/data/base_stats/wooper.asm index 0f0d53630..6e621fe4b 100644 --- a/data/base_stats/wooper.asm +++ b/data/base_stats/wooper.asm @@ -8,7 +8,7 @@ db 52 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/xatu.asm b/data/base_stats/xatu.asm index ba0e964af..77388858e 100644 --- a/data/base_stats/xatu.asm +++ b/data/base_stats/xatu.asm @@ -8,7 +8,7 @@ db 171 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/yanma.asm b/data/base_stats/yanma.asm index 96cf497be..98449c720 100644 --- a/data/base_stats/yanma.asm +++ b/data/base_stats/yanma.asm @@ -8,7 +8,7 @@ db 147 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 20 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/zapdos.asm b/data/base_stats/zapdos.asm index eece9b897..44c1a8e82 100644 --- a/data/base_stats/zapdos.asm +++ b/data/base_stats/zapdos.asm @@ -8,7 +8,7 @@ db 216 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 255 ; gender + db GENDERLESS ; gender db 100 ; unknown db 80 ; step cycles to hatch db 5 ; unknown diff --git a/data/base_stats/zubat.asm b/data/base_stats/zubat.asm index ac5f450d1..e8fd33ea2 100644 --- a/data/base_stats/zubat.asm +++ b/data/base_stats/zubat.asm @@ -8,7 +8,7 @@ db 54 ; base exp db NO_ITEM ; item 1 db NO_ITEM ; item 2 - db 127 ; gender + db GENDER_F50 ; gender db 100 ; unknown db 15 ; step cycles to hatch db 5 ; unknown diff --git a/main.asm b/main.asm index 6da4dabc2..876a06ef1 100644 --- a/main.asm +++ b/main.asm @@ -3640,13 +3640,13 @@ GetGender: ; 50bdd ; The higher the ratio, the more likely the monster is to be female. - cp $ff + cp GENDERLESS jr z, .Genderless - and a + and a ; GENDER_F0? jr z, .Male - cp $fe + cp GENDER_F100 jr z, .Female ; Values below the ratio are male, and vice versa. -- cgit v1.2.3 From 8745915dbd38e9647e0b27d20cb73da0fdde353f Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Wed, 13 Dec 2017 18:07:00 -0500 Subject: Rename the Onix trade house to match the rest --- constants/map_dimension_constants.asm | 2 +- maps.asm | 2 +- maps/VioletCity.asm | 2 +- maps/VioletKylesHouse.asm | 53 +++++++++++++++++++++++++++++++++++ maps/VioletOnixTradeHouse.asm | 53 ----------------------------------- maps/blockdata.asm | 2 +- maps/map_headers.asm | 2 +- maps/second_map_headers.asm | 2 +- 8 files changed, 59 insertions(+), 59 deletions(-) create mode 100644 maps/VioletKylesHouse.asm delete mode 100644 maps/VioletOnixTradeHouse.asm diff --git a/constants/map_dimension_constants.asm b/constants/map_dimension_constants.asm index d7fead006..df93fb796 100644 --- a/constants/map_dimension_constants.asm +++ b/constants/map_dimension_constants.asm @@ -214,7 +214,7 @@ mapgroup EARLS_POKEMON_ACADEMY, 8, 4 ; 8 mapgroup VIOLET_NICKNAME_SPEECH_HOUSE, 4, 4 ; 9 mapgroup VIOLET_POKECENTER_1F, 4, 5 ; 10 - mapgroup VIOLET_ONIX_TRADE_HOUSE, 4, 4 ; 11 + mapgroup VIOLET_KYLES_HOUSE, 4, 4 ; 11 mapgroup ROUTE_32_RUINS_OF_ALPH_GATE, 4, 5 ; 12 mapgroup ROUTE_32_POKECENTER_1F, 4, 5 ; 13 mapgroup ROUTE_35_GOLDENROD_GATE, 4, 5 ; 14 diff --git a/maps.asm b/maps.asm index 80ded93fc..35ca4a835 100644 --- a/maps.asm +++ b/maps.asm @@ -89,7 +89,7 @@ INCLUDE "maps/VioletGym.asm" INCLUDE "maps/EarlsPokemonAcademy.asm" INCLUDE "maps/VioletNicknameSpeechHouse.asm" INCLUDE "maps/VioletPokecenter1F.asm" -INCLUDE "maps/VioletOnixTradeHouse.asm" +INCLUDE "maps/VioletKylesHouse.asm" INCLUDE "maps/Route32RuinsOfAlphGate.asm" INCLUDE "maps/Route32Pokecenter1F.asm" INCLUDE "maps/Route35GoldenrodGate.asm" diff --git a/maps/VioletCity.asm b/maps/VioletCity.asm index 2d503853b..93a71312a 100644 --- a/maps/VioletCity.asm +++ b/maps/VioletCity.asm @@ -289,7 +289,7 @@ VioletCity_MapEventHeader: warp_def $11, $1e, 1, EARLS_POKEMON_ACADEMY warp_def $f, $3, 1, VIOLET_NICKNAME_SPEECH_HOUSE warp_def $19, $1f, 1, VIOLET_POKECENTER_1F - warp_def $1d, $15, 1, VIOLET_ONIX_TRADE_HOUSE + warp_def $1d, $15, 1, VIOLET_KYLES_HOUSE warp_def $5, $17, 1, SPROUT_TOWER_1F warp_def $18, $27, 1, ROUTE_31_VIOLET_GATE warp_def $19, $27, 2, ROUTE_31_VIOLET_GATE diff --git a/maps/VioletKylesHouse.asm b/maps/VioletKylesHouse.asm new file mode 100644 index 000000000..041bfd9d7 --- /dev/null +++ b/maps/VioletKylesHouse.asm @@ -0,0 +1,53 @@ +const_value set 2 + const VIOLETKYLESHOUSE_POKEFAN_M + const VIOLETKYLESHOUSE_KYLE + +VioletKylesHouse_MapScriptHeader: +.MapTriggers: + db 0 + +.MapCallbacks: + db 0 + +PokefanMScript_0x6998d: + jumptextfaceplayer UnknownText_0x69997 + +Kyle: + faceplayer + opentext + trade NPCTRADE_KYLE + waitbutton + closetext + end + +UnknownText_0x69997: + text "A #MON you get" + line "in a trade grows" + cont "quickly." + + para "But if you don't" + line "have the right GYM" + + para "BADGE, they may" + line "disobey you." + done + +VioletKylesHouse_MapEventHeader: + ; filler + db 0, 0 + +.Warps: + db 2 + warp_def $7, $3, 6, VIOLET_CITY + warp_def $7, $4, 6, VIOLET_CITY + +.XYTriggers: + db 0 + +.Signposts: + db 0 + +.PersonEvents: + db 2 + person_event SPRITE_POKEFAN_M, 3, 2, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, PokefanMScript_0x6998d, -1 + person_event SPRITE_YOUNGSTER, 5, 6, SPRITEMOVEDATA_WALK_UP_DOWN, 2, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, Kyle, -1 diff --git a/maps/VioletOnixTradeHouse.asm b/maps/VioletOnixTradeHouse.asm deleted file mode 100644 index feb5b10af..000000000 --- a/maps/VioletOnixTradeHouse.asm +++ /dev/null @@ -1,53 +0,0 @@ -const_value set 2 - const VIOLETONIXTRADEHOUSE_POKEFAN_M - const VIOLETONIXTRADEHOUSE_KYLE - -VioletOnixTradeHouse_MapScriptHeader: -.MapTriggers: - db 0 - -.MapCallbacks: - db 0 - -PokefanMScript_0x6998d: - jumptextfaceplayer UnknownText_0x69997 - -Kyle: - faceplayer - opentext - trade NPCTRADE_KYLE - waitbutton - closetext - end - -UnknownText_0x69997: - text "A #MON you get" - line "in a trade grows" - cont "quickly." - - para "But if you don't" - line "have the right GYM" - - para "BADGE, they may" - line "disobey you." - done - -VioletOnixTradeHouse_MapEventHeader: - ; filler - db 0, 0 - -.Warps: - db 2 - warp_def $7, $3, 6, VIOLET_CITY - warp_def $7, $4, 6, VIOLET_CITY - -.XYTriggers: - db 0 - -.Signposts: - db 0 - -.PersonEvents: - db 2 - person_event SPRITE_POKEFAN_M, 3, 2, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, PokefanMScript_0x6998d, -1 - person_event SPRITE_YOUNGSTER, 5, 6, SPRITEMOVEDATA_WALK_UP_DOWN, 2, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, Kyle, -1 diff --git a/maps/blockdata.asm b/maps/blockdata.asm index e6c3e7ae9..c14b30743 100644 --- a/maps/blockdata.asm +++ b/maps/blockdata.asm @@ -443,7 +443,7 @@ TimeCapsule_BlockData: EcruteakLugiaSpeechHouse_BlockData: EcruteakItemfinderHouse_BlockData: VioletNicknameSpeechHouse_BlockData: -VioletOnixTradeHouse_BlockData: +VioletKylesHouse_BlockData: INCBIN "maps/House2.blk" BetaCave_BlockData: diff --git a/maps/map_headers.asm b/maps/map_headers.asm index 378356624..5145fdda1 100644 --- a/maps/map_headers.asm +++ b/maps/map_headers.asm @@ -235,7 +235,7 @@ MapGroup_Violet: map_header EarlsPokemonAcademy, TILESET_LAB, INDOOR, VIOLET_CITY, MUSIC_VIOLET_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE map_header VioletNicknameSpeechHouse, TILESET_KURTS_HOUSE, INDOOR, VIOLET_CITY, MUSIC_VIOLET_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE map_header VioletPokecenter1F, TILESET_POKECENTER, INDOOR, VIOLET_CITY, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, FISHGROUP_SHORE - map_header VioletOnixTradeHouse, TILESET_KURTS_HOUSE, INDOOR, VIOLET_CITY, MUSIC_VIOLET_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE + map_header VioletKylesHouse, TILESET_KURTS_HOUSE, INDOOR, VIOLET_CITY, MUSIC_VIOLET_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE map_header Route32RuinsOfAlphGate, TILESET_GATE, GATE, ROUTE_32, MUSIC_ROUTE_30, 0, PALETTE_DAY, FISHGROUP_SHORE map_header Route32Pokecenter1F, TILESET_POKECENTER, INDOOR, ROUTE_32, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, FISHGROUP_SHORE map_header Route35GoldenrodGate, TILESET_GATE, GATE, ROUTE_35, MUSIC_ROUTE_36, 0, PALETTE_DAY, FISHGROUP_SHORE diff --git a/maps/second_map_headers.asm b/maps/second_map_headers.asm index b58895f4b..ab35a7f76 100644 --- a/maps/second_map_headers.asm +++ b/maps/second_map_headers.asm @@ -427,7 +427,7 @@ map_header_2 EarlsPokemonAcademy, EARLS_POKEMON_ACADEMY, $0, 0 map_header_2 VioletNicknameSpeechHouse, VIOLET_NICKNAME_SPEECH_HOUSE, $0, 0 map_header_2 VioletPokecenter1F, VIOLET_POKECENTER_1F, $0, 0 - map_header_2 VioletOnixTradeHouse, VIOLET_ONIX_TRADE_HOUSE, $0, 0 + map_header_2 VioletKylesHouse, VIOLET_KYLES_HOUSE, $0, 0 map_header_2 Route32RuinsOfAlphGate, ROUTE_32_RUINS_OF_ALPH_GATE, $0, 0 map_header_2 Route32Pokecenter1F, ROUTE_32_POKECENTER_1F, $0, 0 map_header_2 Route35GoldenrodGate, ROUTE_35_GOLDENROD_GATE, $0, 0 -- cgit v1.2.3 From e48a401290e794854880f06fc230a369f37e6b9b Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Thu, 14 Dec 2017 00:36:24 -0500 Subject: Reorganize macros --- battle/moves/moves.asm | 3 +- battle/objects/data.asm | 762 ++++++----------------- battle/objects/gfx_headers.asm | 5 +- constants/effect_command_constants.asm | 3 +- constants/map_dimension_constants.asm | 15 + constants/trainer_constants.asm | 5 + data/hm_moves.asm | 12 - data/unown_words.asm | 67 ++ engine/battle_start.asm | 36 +- engine/card_flip.asm | 1 - engine/pokegear.asm | 2 +- engine/prof_oaks_pc.asm | 44 +- engine/radio.asm | 1 - engine/timeofdaypals.asm | 20 +- engine/unown_puzzle.asm | 3 +- engine/unowndex.asm | 69 +-- event/unown.asm | 2 - gfx/pics/animation.asm | 26 +- gfx/pics/pic_pointers.asm | 1002 +++++++++++++++--------------- gfx/pics/unown_pic_pointers.asm | 104 ++-- gfx/trainer_pic_pointers.asm | 134 ++-- home.asm | 7 +- home/hm_moves.asm | 17 + home/text.asm | 7 +- home/time.asm | 3 - macros.asm | 323 +--------- macros/basestats.asm | 2 + macros/code.asm | 55 ++ macros/color.asm | 15 + macros/coords.asm | 51 ++ macros/data.asm | 121 ++++ macros/event.asm | 1069 -------------------------------- macros/map.asm | 211 ------- macros/mobile.asm | 2 - macros/move_anim.asm | 294 --------- macros/movement.asm | 247 -------- macros/pic.asm | 4 - macros/rst.asm | 12 + macros/scripts/audio.asm | 265 ++++++++ macros/scripts/event.asm | 1069 ++++++++++++++++++++++++++++++++ macros/scripts/gfx_anim.asm | 46 ++ macros/scripts/maps.asm | 104 ++++ macros/scripts/move_anim.asm | 294 +++++++++ macros/scripts/movement.asm | 247 ++++++++ macros/scripts/text.asm | 133 ++++ macros/scripts/trade_anim.asm | 255 ++++++++ macros/sound.asm | 265 -------- macros/text.asm | 133 ---- macros/tilesets.asm | 2 + macros/trade_anim.asm | 255 -------- macros/trainer.asm | 11 - macros/wram.asm | 267 ++++---- maps/map_headers.asm | 18 +- maps/second_map_headers.asm | 87 +++ sram.asm | 8 +- 55 files changed, 3911 insertions(+), 4304 deletions(-) delete mode 100644 data/hm_moves.asm create mode 100644 data/unown_words.asm create mode 100644 home/hm_moves.asm create mode 100644 macros/code.asm create mode 100644 macros/color.asm create mode 100644 macros/coords.asm create mode 100644 macros/data.asm delete mode 100644 macros/event.asm delete mode 100644 macros/map.asm delete mode 100644 macros/mobile.asm delete mode 100644 macros/move_anim.asm delete mode 100644 macros/movement.asm delete mode 100644 macros/pic.asm create mode 100644 macros/scripts/audio.asm create mode 100644 macros/scripts/event.asm create mode 100644 macros/scripts/gfx_anim.asm create mode 100644 macros/scripts/maps.asm create mode 100644 macros/scripts/move_anim.asm create mode 100644 macros/scripts/movement.asm create mode 100644 macros/scripts/text.asm create mode 100644 macros/scripts/trade_anim.asm delete mode 100644 macros/sound.asm delete mode 100644 macros/text.asm delete mode 100755 macros/trade_anim.asm delete mode 100644 macros/trainer.asm diff --git a/battle/moves/moves.asm b/battle/moves/moves.asm index 43ba6f10d..b576fbaff 100644 --- a/battle/moves/moves.asm +++ b/battle/moves/moves.asm @@ -1,4 +1,3 @@ -Moves: ; 41afb ; Characteristics of each move. move: MACRO @@ -11,6 +10,8 @@ move: MACRO db \7 percent ; effect chance ENDM +Moves: ; 41afb +; entries correspond to constants/move_constants.asm move POUND, EFFECT_NORMAL_HIT, 40, NORMAL, 100, 35, 0 move KARATE_CHOP, EFFECT_NORMAL_HIT, 50, FIGHTING, 100, 25, 0 move DOUBLESLAP, EFFECT_MULTI_HIT, 15, NORMAL, 85, 10, 0 diff --git a/battle/objects/data.asm b/battle/objects/data.asm index fca986f68..8117d8495 100755 --- a/battle/objects/data.asm +++ b/battle/objects/data.asm @@ -1,4 +1,6 @@ -BattleAnimObjects: ; ccb56 +ABSOLUTE_X EQU $00 +RELATIVE_X EQU $01 + battleanimobj: MACRO db \1 ; flags ; bit 7: priority @@ -14,572 +16,194 @@ battleanimobj: MACRO db \6 ; tile offset endm -ABSOLUTE_X EQU $00 -RELATIVE_X EQU $01 - - -; ANIM_OBJ_00 - battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_00, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 - -; ANIM_OBJ_01 - battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_01, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 - -; ANIM_OBJ_02 - battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_02, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 - -; ANIM_OBJ_03 - battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_00, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 - -; ANIM_OBJ_04 - battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_01, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 - -; ANIM_OBJ_05 - battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_02, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 - -; ANIM_OBJ_06 - battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_03, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 - -; ANIM_OBJ_07 - battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_04, BATTLEANIMFUNC_1B, PAL_BATTLE_OB_GRAY, $01 - -; ANIM_OBJ_08 - battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_05, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 - -; ANIM_OBJ_09 - battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_06, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 - -; ANIM_OBJ_0A - battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_07, BATTLEANIMFUNC_09, PAL_BATTLE_OB_GRAY, $01 - -; ANIM_OBJ_0B - battleanimobj RELATIVE_X, $aa, BATTLEANIMFRAMESET_10, BATTLEANIMFUNC_10, PAL_BATTLE_OB_RED, $03 - -; ANIM_OBJ_0C - battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_0E, BATTLEANIMFUNC_04, PAL_BATTLE_OB_RED, $03 - -; ANIM_OBJ_0D - battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_0F, BATTLEANIMFUNC_03, PAL_BATTLE_OB_RED, $03 - -; ANIM_OBJ_0E - battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_10, BATTLEANIMFUNC_08, PAL_BATTLE_OB_RED, $03 - -; ANIM_OBJ_0F - battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_0F, BATTLEANIMFUNC_0A, PAL_BATTLE_OB_RED, $03 - -; ANIM_OBJ_BURNED - battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_11, BATTLEANIMFUNC_03, PAL_BATTLE_OB_RED, $03 - -; ANIM_OBJ_BLIZZARD - battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_12, BATTLEANIMFUNC_08, PAL_BATTLE_OB_BLUE, $0a - -; ANIM_OBJ_12 - battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_13, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BLUE, $0a - -; ANIM_OBJ_ICE_BEAM - battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_14, BATTLEANIMFUNC_01, PAL_BATTLE_OB_BLUE, $0a - -; ANIM_OBJ_RAZOR_LEAF - battleanimobj RELATIVE_X | X_FLIP, $78, BATTLEANIMFRAMESET_16, BATTLEANIMFUNC_RAZOR_LEAF, PAL_BATTLE_OB_GREEN, $06 - -; ANIM_OBJ_POKE_BALL - battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_09, BATTLEANIMFUNC_12, PAL_BATTLE_OB_RED, $0b - -; ANIM_OBJ_POKE_BALL_BLOCKED - battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_09, BATTLEANIMFUNC_13, PAL_BATTLE_OB_RED, $0b - -; ANIM_OBJ_17 - battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_18, BATTLEANIMFUNC_00, PAL_BATTLE_OB_RED, $08 - -; ANIM_OBJ_18 - battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_18, BATTLEANIMFUNC_00, PAL_BATTLE_OB_RED, $08 - -; ANIM_OBJ_19 - battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_1D, BATTLEANIMFUNC_06, PAL_BATTLE_OB_GRAY, $0c - -; ANIM_OBJ_1A - battleanimobj RELATIVE_X, $b4, BATTLEANIMFRAMESET_1F, BATTLEANIMFUNC_38, PAL_BATTLE_OB_GRAY, $0c - -; ANIM_OBJ_1B - battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_08, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $07 - -; ANIM_OBJ_BALL_POOF - battleanimobj RELATIVE_X, $a0, BATTLEANIMFRAMESET_08, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $07 - -; ANIM_OBJ_1D - battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_19, BATTLEANIMFUNC_07, PAL_BATTLE_OB_BROWN, $09 - -; ANIM_OBJ_1E - battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_1A, BATTLEANIMFUNC_07, PAL_BATTLE_OB_BROWN, $09 - -; ANIM_OBJ_1F - battleanimobj RELATIVE_X, $b0, BATTLEANIMFRAMESET_1B, BATTLEANIMFUNC_36, PAL_BATTLE_OB_BROWN, $09 - -; ANIM_OBJ_20 - battleanimobj RELATIVE_X, $b0, BATTLEANIMFRAMESET_84, BATTLEANIMFUNC_36, PAL_BATTLE_OB_BLUE, $21 - -; ANIM_OBJ_BUBBLE - battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_21, BATTLEANIMFUNC_0C, PAL_BATTLE_OB_BLUE, $0d - -; ANIM_OBJ_22 - battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_23, BATTLEANIMFUNC_0D, PAL_BATTLE_OB_BLUE, $0d - -; ANIM_OBJ_23 - battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_0E, PAL_BATTLE_OB_GRAY, $0e - -; ANIM_OBJ_24 - battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $80, BATTLEANIMFRAMESET_27, BATTLEANIMFUNC_0F, PAL_BATTLE_OB_BLUE, $04 - -; ANIM_OBJ_25 - battleanimobj RELATIVE_X, $b4, BATTLEANIMFRAMESET_2A, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BLUE, $04 - -; ANIM_OBJ_26 - battleanimobj RELATIVE_X, $40, BATTLEANIMFRAMESET_2B, BATTLEANIMFUNC_11, PAL_BATTLE_OB_GREEN, $0f - -; ANIM_OBJ_27 - battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $98, BATTLEANIMFRAMESET_2C, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $10 - -; ANIM_OBJ_28 - battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $98, BATTLEANIMFRAMESET_2D, BATTLEANIMFUNC_09, PAL_BATTLE_OB_YELLOW, $10 - -; ANIM_OBJ_ICE_BUILDUP - battleanimobj RELATIVE_X, $b8, BATTLEANIMFRAMESET_2E, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BLUE, $0a - -; ANIM_OBJ_FROZEN - battleanimobj RELATIVE_X, $b8, BATTLEANIMFRAMESET_2F, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BLUE, $0a - -; ANIM_OBJ_MASTER_BALL_SPARKLE - battleanimobj RELATIVE_X, $b8, BATTLEANIMFRAMESET_30, BATTLEANIMFUNC_14, PAL_BATTLE_OB_BROWN, $11 - -; ANIM_OBJ_2C - battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_21, BATTLEANIMFUNC_14, PAL_BATTLE_OB_YELLOW, $0d - -; ANIM_OBJ_2D - battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_31, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $05 - -; ANIM_OBJ_2E - battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_32, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $05 - -; ANIM_OBJ_2F - battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_33, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $05 - -; ANIM_OBJ_30 - battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_34, BATTLEANIMFUNC_15, PAL_BATTLE_OB_YELLOW, $05 - -; ANIM_OBJ_31 - battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_36, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $05 - -; ANIM_OBJ_LIGHTNING_BOLT - battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_37, BATTLEANIMFUNC_03, PAL_BATTLE_OB_GRAY, $08 - -; ANIM_OBJ_33 - battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_38, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $05 - -; ANIM_OBJ_34 - battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_39, BATTLEANIMFUNC_03, PAL_BATTLE_OB_GRAY, $08 - -; ANIM_OBJ_35 - battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_3A, BATTLEANIMFUNC_16, PAL_BATTLE_OB_GRAY, $02 - -; ANIM_OBJ_36 - battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_3C, BATTLEANIMFUNC_17, PAL_BATTLE_OB_GRAY, $02 - -; ANIM_OBJ_37 - battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_3E, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $02 - -; ANIM_OBJ_38 - battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_3F, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $02 - -; ANIM_OBJ_39 - battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_40, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $02 - -; ANIM_OBJ_3A - battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_41, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $02 - -; ANIM_OBJ_3B - battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_42, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $02 - -; ANIM_OBJ_3C - battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_43, BATTLEANIMFUNC_18, PAL_BATTLE_OB_GREEN, $12 - -; ANIM_OBJ_3D - battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_44, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GREEN, $12 - -; ANIM_OBJ_GUST - battleanimobj RELATIVE_X | X_FLIP, $b8, BATTLEANIMFRAMESET_45, BATTLEANIMFUNC_19, PAL_BATTLE_OB_GRAY, $13 - -; ANIM_OBJ_3F - battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_46, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $14 - -; ANIM_OBJ_40 - battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_47, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $14 - -; ANIM_OBJ_41 - battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_48, BATTLEANIMFUNC_1A, PAL_BATTLE_OB_GRAY, $14 - -; ANIM_OBJ_42 - battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_49, BATTLEANIMFUNC_1A, PAL_BATTLE_OB_GRAY, $14 - -; ANIM_OBJ_43 - battleanimobj RELATIVE_X | X_FLIP, $98, BATTLEANIMFRAMESET_4A, BATTLEANIMFUNC_01, PAL_BATTLE_OB_GRAY, $14 - -; ANIM_OBJ_44 - battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_4B, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $11 - -; ANIM_OBJ_ABSORB - battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_4C, BATTLEANIMFUNC_1C, PAL_BATTLE_OB_GREEN, $12 - -; ANIM_OBJ_46 - battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_4D, BATTLEANIMFUNC_1D, PAL_BATTLE_OB_GRAY, $15 - -; ANIM_OBJ_47 - battleanimobj RELATIVE_X, $b0, BATTLEANIMFRAMESET_51, BATTLEANIMFUNC_1E, PAL_BATTLE_OB_YELLOW, $11 - -; ANIM_OBJ_48 - battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_52, BATTLEANIMFUNC_1F, PAL_BATTLE_OB_GREEN, $16 - -; ANIM_OBJ_49 - battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_54, BATTLEANIMFUNC_1F, PAL_BATTLE_OB_GREEN, $16 - -; ANIM_OBJ_LEECH_SEED - battleanimobj RELATIVE_X | X_FLIP, $68, BATTLEANIMFRAMESET_56, BATTLEANIMFUNC_LEECH_SEED, PAL_BATTLE_OB_GREEN, $06 - -; ANIM_OBJ_4B - battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_59, BATTLEANIMFUNC_21, PAL_BATTLE_OB_GRAY, $0e - -; ANIM_OBJ_4C - battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_5C, BATTLEANIMFUNC_02, PAL_BATTLE_OB_GRAY, $17 - -; ANIM_OBJ_4D - battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_5D, BATTLEANIMFUNC_22, PAL_BATTLE_OB_YELLOW, $11 - -; ANIM_OBJ_4E - battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $88, BATTLEANIMFRAMESET_5F, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $10 - -; ANIM_OBJ_4F - battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $88, BATTLEANIMFRAMESET_2D, BATTLEANIMFUNC_09, PAL_BATTLE_OB_YELLOW, $10 - -; ANIM_OBJ_50 - battleanimobj RELATIVE_X | X_FLIP, $88, BATTLEANIMFRAMESET_60, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $18 - -; ANIM_OBJ_51 - battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_60, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $18 - -; ANIM_OBJ_CHICK - battleanimobj RELATIVE_X | X_FLIP, $50, BATTLEANIMFRAMESET_61, BATTLEANIMFUNC_23, PAL_BATTLE_OB_YELLOW, $19 - -; ANIM_OBJ_53 - battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_63, BATTLEANIMFUNC_24, PAL_BATTLE_OB_GRAY, $19 - -; ANIM_OBJ_54 - battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_66, BATTLEANIMFUNC_25, PAL_BATTLE_OB_GRAY, $19 - -; ANIM_OBJ_SKULL - battleanimobj RELATIVE_X, $50, BATTLEANIMFRAMESET_1C, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $0c - -; ANIM_OBJ_56 - battleanimobj RELATIVE_X | X_FLIP, $a8, BATTLEANIMFRAMESET_67, BATTLEANIMFUNC_26, PAL_BATTLE_OB_BROWN, $1a - -; ANIM_OBJ_57 - battleanimobj RELATIVE_X | X_FLIP, $a8, BATTLEANIMFRAMESET_68, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BROWN, $1a - -; ANIM_OBJ_58 - battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_69, BATTLEANIMFUNC_01, PAL_BATTLE_OB_GRAY, $1a - -; ANIM_OBJ_PARALYZED - battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_6D, BATTLEANIMFUNC_28, PAL_BATTLE_OB_YELLOW, $19 - -; ANIM_OBJ_5A - battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_6A, BATTLEANIMFUNC_27, PAL_BATTLE_OB_GRAY, $1b - -; ANIM_OBJ_HAZE - battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_SPRIAL_DESCENT, PAL_BATTLE_OB_GRAY, $1c - -; ANIM_OBJ_MIST - battleanimobj RELATIVE_X | X_FLIP, $48, BATTLEANIMFRAMESET_70, BATTLEANIMFUNC_SPRIAL_DESCENT, PAL_BATTLE_OB_GRAY, $1c - -; ANIM_OBJ_SMOG - battleanimobj RELATIVE_X | X_FLIP, $48, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_SPRIAL_DESCENT, PAL_BATTLE_OB_GRAY, $1c - -; ANIM_OBJ_POISON_GAS - battleanimobj RELATIVE_X | X_FLIP, $78, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_POISON_GAS, PAL_BATTLE_OB_GRAY, $1c - -; ANIM_OBJ_HORN - battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $90, BATTLEANIMFRAMESET_71, BATTLEANIMFUNC_HORN, PAL_BATTLE_OB_GRAY, $1d - -; ANIM_OBJ_60 - battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $90, BATTLEANIMFRAMESET_72, BATTLEANIMFUNC_2C, PAL_BATTLE_OB_GRAY, $1d - -; ANIM_OBJ_61 - battleanimobj RELATIVE_X, $48, BATTLEANIMFRAMESET_73, BATTLEANIMFUNC_2D, PAL_BATTLE_OB_RED, $1e - -; ANIM_OBJ_62 - battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_06, PAL_BATTLE_OB_GRAY, $15 - -; ANIM_OBJ_63 - battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_75, BATTLEANIMFUNC_2E, PAL_BATTLE_OB_BROWN, $19 - -; ANIM_OBJ_64 - battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_4A, BATTLEANIMFUNC_02, PAL_BATTLE_OB_GRAY, $14 - -; ANIM_OBJ_65 - battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_30, BATTLEANIMFUNC_2F, PAL_BATTLE_OB_GRAY, $11 - -; ANIM_OBJ_66 - battleanimobj RELATIVE_X, $78, BATTLEANIMFRAMESET_76, BATTLEANIMFUNC_POISON_GAS, PAL_BATTLE_OB_RED, $23 - -; ANIM_OBJ_67 - battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_77, BATTLEANIMFUNC_30, PAL_BATTLE_OB_GRAY, $1f - -; ANIM_OBJ_68 - battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_77, BATTLEANIMFUNC_02, PAL_BATTLE_OB_GRAY, $1f - -; ANIM_OBJ_69 - battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_77, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $1f - -; ANIM_OBJ_6A - battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_78, BATTLEANIMFUNC_08, PAL_BATTLE_OB_YELLOW, $23 - -; ANIM_OBJ_6B - battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_79, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $1f - -; ANIM_OBJ_6C - battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_7A, BATTLEANIMFUNC_31, PAL_BATTLE_OB_YELLOW, $11 - -; ANIM_OBJ_6D - battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_7A, BATTLEANIMFUNC_31, PAL_BATTLE_OB_YELLOW, $11 - -; ANIM_OBJ_SKY_ATTACK_FEAROW - battleanimobj RELATIVE_X | X_FLIP, $88, BATTLEANIMFRAMESET_7B, BATTLEANIMFUNC_32, PAL_BATTLE_OB_GRAY, $20 - -; ANIM_OBJ_LICK - battleanimobj RELATIVE_X | X_FLIP, $98, BATTLEANIMFRAMESET_7C, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $04 - -; ANIM_OBJ_WITHDRAW - battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_7D, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $18 - -; ANIM_OBJ_71 - battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_21, BATTLEANIMFUNC_2F, PAL_BATTLE_OB_BLUE, $0d - -; ANIM_OBJ_72 - battleanimobj RELATIVE_X, $b0, BATTLEANIMFRAMESET_7E, BATTLEANIMFUNC_33, PAL_BATTLE_OB_YELLOW, $12 - -; ANIM_OBJ_73 - battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_7F, BATTLEANIMFUNC_2F, PAL_BATTLE_OB_GRAY, $08 - -; ANIM_OBJ_74 - battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_34, PAL_BATTLE_OB_GRAY, $1c - -; ANIM_OBJ_75 - battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_35, PAL_BATTLE_OB_GRAY, $15 - -; ANIM_OBJ_76 - battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_80, BATTLEANIMFUNC_33, PAL_BATTLE_OB_GRAY, $14 - -; ANIM_OBJ_77 - battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_81, BATTLEANIMFUNC_37, PAL_BATTLE_OB_GRAY, $11 - -; ANIM_OBJ_78 - battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_85, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $22 - -; ANIM_OBJ_79 - battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_86, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $22 - -; ANIM_OBJ_7A - battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_87, BATTLEANIMFUNC_39, PAL_BATTLE_OB_GRAY, $1f - -; ANIM_OBJ_7B - battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_30, BATTLEANIMFUNC_3A, PAL_BATTLE_OB_YELLOW, $11 - -; ANIM_OBJ_7C - battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_34, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $05 - -; ANIM_OBJ_7D - battleanimobj RELATIVE_X | X_FLIP | BEHIND_BG, $88, BATTLEANIMFRAMESET_88, BATTLEANIMFUNC_3B, PAL_BATTLE_OB_BLUE, $13 - -; ANIM_OBJ_HEART - battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_76, BATTLEANIMFUNC_25, PAL_BATTLE_OB_RED, $23 - -; ANIM_OBJ_7F - battleanimobj RELATIVE_X, $98, BATTLEANIMFRAMESET_10, BATTLEANIMFUNC_34, PAL_BATTLE_OB_RED, $03 - -; ANIM_OBJ_80 - battleanimobj RELATIVE_X, $a8, BATTLEANIMFRAMESET_0F, BATTLEANIMFUNC_3C, PAL_BATTLE_OB_RED, $03 - -; ANIM_OBJ_COTTON_SPORE - battleanimobj RELATIVE_X | X_FLIP, $68, BATTLEANIMFRAMESET_89, BATTLEANIMFUNC_SPRIAL_DESCENT, PAL_BATTLE_OB_GRAY, $1f - -; ANIM_OBJ_82 - battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_8A, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $1f - -; ANIM_OBJ_83 - battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_8C, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $1f - -; ANIM_OBJ_84 - battleanimobj RELATIVE_X | X_FLIP, $50, BATTLEANIMFRAMESET_8D, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $1f - -; ANIM_OBJ_85 - battleanimobj RELATIVE_X, $40, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_40, PAL_BATTLE_OB_GRAY, $0e - -; ANIM_OBJ_86 - battleanimobj RELATIVE_X | X_FLIP, $a8, BATTLEANIMFRAMESET_8E, BATTLEANIMFUNC_41, PAL_BATTLE_OB_RED, $1f - -; ANIM_OBJ_87 - battleanimobj RELATIVE_X | X_FLIP, $88, BATTLEANIMFRAMESET_8F, BATTLEANIMFUNC_3E, PAL_BATTLE_OB_GRAY, $1f - -; ANIM_OBJ_88 - battleanimobj RELATIVE_X | X_FLIP, $88, BATTLEANIMFRAMESET_93, BATTLEANIMFUNC_3E, PAL_BATTLE_OB_GRAY, $1f - -; ANIM_OBJ_89 - battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_97, BATTLEANIMFUNC_3D, PAL_BATTLE_OB_GRAY, $1f - -; ANIM_OBJ_8A - battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_78, BATTLEANIMFUNC_3D, PAL_BATTLE_OB_YELLOW, $23 - -; ANIM_OBJ_8B - battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_99, BATTLEANIMFUNC_2E, PAL_BATTLE_OB_GRAY, $19 - -; ANIM_OBJ_8C - battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_02, PAL_BATTLE_OB_GRAY, $15 - -; ANIM_OBJ_8D - battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_99, BATTLEANIMFUNC_35, PAL_BATTLE_OB_RED, $19 - -; ANIM_OBJ_SPIKES - battleanimobj RELATIVE_X | X_FLIP, $70, BATTLEANIMFRAMESET_8B, BATTLEANIMFUNC_3F, PAL_BATTLE_OB_GRAY, $1f - -; ANIM_OBJ_8F - battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_15, BATTLEANIMFUNC_08, PAL_BATTLE_OB_GRAY, $0a - -; ANIM_OBJ_90 - battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_11, BATTLEANIMFUNC_02, PAL_BATTLE_OB_RED, $03 - -; ANIM_OBJ_91 - battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_7F, BATTLEANIMFUNC_42, PAL_BATTLE_OB_GRAY, $08 - -; ANIM_OBJ_92 - battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_9A, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $1b - -; ANIM_OBJ_93 - battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_9B, BATTLEANIMFUNC_35, PAL_BATTLE_OB_RED, $23 - -; ANIM_OBJ_94 - battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_9C, BATTLEANIMFUNC_23, PAL_BATTLE_OB_GRAY, $25 - -; ANIM_OBJ_95 - battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_9D, BATTLEANIMFUNC_25, PAL_BATTLE_OB_GRAY, $25 - -; ANIM_OBJ_96 - battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_9C, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $25 - -; ANIM_OBJ_97 - battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_9E, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BLUE, $25 - -; ANIM_OBJ_98 - battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $80, BATTLEANIMFRAMESET_9F, BATTLEANIMFUNC_3A, PAL_BATTLE_OB_GREEN, $23 - -; ANIM_OBJ_99 - battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_A0, BATTLEANIMFUNC_16, PAL_BATTLE_OB_GRAY, $23 - -; ANIM_OBJ_9A - battleanimobj RELATIVE_X | X_FLIP, $70, BATTLEANIMFRAMESET_78, BATTLEANIMFUNC_43, PAL_BATTLE_OB_YELLOW, $23 - -; ANIM_OBJ_9B - battleanimobj RELATIVE_X | X_FLIP, $c0, BATTLEANIMFRAMESET_A2, BATTLEANIMFUNC_01, PAL_BATTLE_OB_GRAY, $25 - -; ANIM_OBJ_9C - battleanimobj RELATIVE_X | X_FLIP, $40, BATTLEANIMFRAMESET_A3, BATTLEANIMFUNC_44, PAL_BATTLE_OB_YELLOW, $24 - -; ANIM_OBJ_9D - battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_A4, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $24 - -; ANIM_OBJ_9E - battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_A5, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $24 - -; ANIM_OBJ_9F - battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_43, BATTLEANIMFUNC_45, PAL_BATTLE_OB_RED, $12 - -; ANIM_OBJ_A0 - battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_A6, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $02 - -; ANIM_OBJ_A1 - battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_A7, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $02 - -; ANIM_OBJ_A2 - battleanimobj RELATIVE_X | X_FLIP, $00, BATTLEANIMFRAMESET_B4, BATTLEANIMFUNC_4A, PAL_BATTLE_OB_BROWN, $0f - -; ANIM_OBJ_A3 - battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_A8, BATTLEANIMFUNC_02, PAL_BATTLE_OB_YELLOW, $05 - -; ANIM_OBJ_A4 - battleanimobj RELATIVE_X | X_FLIP, $40, BATTLEANIMFRAMESET_9C, BATTLEANIMFUNC_11, PAL_BATTLE_OB_GRAY, $25 - -; ANIM_OBJ_A5 - battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $90, BATTLEANIMFRAMESET_A9, BATTLEANIMFUNC_46, PAL_BATTLE_OB_GRAY, $23 - -; ANIM_OBJ_PERISH_SONG - battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_47, PAL_BATTLE_OB_GRAY, $0e - -; ANIM_OBJ_A7 - battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_AA, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $24 - -; ANIM_OBJ_A8 - battleanimobj RELATIVE_X | X_FLIP, $b8, BATTLEANIMFRAMESET_AB, BATTLEANIMFUNC_48, PAL_BATTLE_OB_GRAY, $13 - -; ANIM_OBJ_A9 - battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_AC, BATTLEANIMFUNC_44, PAL_BATTLE_OB_GRAY, $13 - -; ANIM_OBJ_AA - battleanimobj RELATIVE_X, $a8, BATTLEANIMFRAMESET_05, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 - -; ANIM_OBJ_AB - battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_43, PAL_BATTLE_OB_GRAY, $0e - -; ANIM_OBJ_AC - battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_AD, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BLUE, $17 - -; ANIM_OBJ_AD - battleanimobj RELATIVE_X, $a8, BATTLEANIMFRAMESET_AE, BATTLEANIMFUNC_49, PAL_BATTLE_OB_GRAY, $01 - -; ANIM_OBJ_AE - battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_AF, BATTLEANIMFUNC_01, PAL_BATTLE_OB_YELLOW, $11 - -; ANIM_OBJ_AF - battleanimobj RELATIVE_X | X_FLIP, $00, BATTLEANIMFRAMESET_B0, BATTLEANIMFUNC_4A, PAL_BATTLE_OB_GRAY, $04 - -; ANIM_OBJ_B0 - battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_70, BATTLEANIMFUNC_4B, PAL_BATTLE_OB_RED, $1c - -; ANIM_OBJ_B1 - battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_B1, BATTLEANIMFUNC_4C, PAL_BATTLE_OB_GRAY, $19 - -; ANIM_OBJ_B2 - battleanimobj RELATIVE_X, $b8, BATTLEANIMFRAMESET_19, BATTLEANIMFUNC_4D, PAL_BATTLE_OB_BROWN, $09 - -; ANIM_OBJ_B3 - battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $98, BATTLEANIMFRAMESET_B3, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $27 - -; ANIM_OBJ_B4 - battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $98, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_04, PAL_BATTLE_OB_BLUE, $15 - -; ANIM_OBJ_B5 - battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_19, BATTLEANIMFUNC_4E, PAL_BATTLE_OB_BROWN, $09 - -; ANIM_OBJ_FLOWER - battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_73, BATTLEANIMFUNC_08, PAL_BATTLE_OB_RED, $1e - -; ANIM_OBJ_COTTON - battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_89, BATTLEANIMFUNC_4F, PAL_BATTLE_OB_RED, $1f - -; ANIM_OBJ_PLAYERFEETFOLLOW - battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B5, BATTLEANIMFUNC_00, PAL_BATTLE_OB_ENEMY, $28 - -; ANIM_OBJ_ENEMYFEETFOLLOW - battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B6, BATTLEANIMFUNC_00, PAL_BATTLE_OB_PLAYER, $29 - -; ANIM_OBJ_BA - battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B7, BATTLEANIMFUNC_00, PAL_BATTLE_OB_ENEMY, $28 - -; ANIM_OBJ_BB - battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B8, BATTLEANIMFUNC_00, PAL_BATTLE_OB_PLAYER, $29 - +BattleAnimObjects: ; ccb56 +; entries correspond to ANIM_OBJ_* constants + battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_00, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_00 + battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_01, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_01 + battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_02, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_02 + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_00, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_03 + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_01, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_04 + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_02, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_05 + battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_03, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_06 + battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_04, BATTLEANIMFUNC_1B, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_07 + battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_05, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_08 + battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_06, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_09 + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_07, BATTLEANIMFUNC_09, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_0A + battleanimobj RELATIVE_X, $aa, BATTLEANIMFRAMESET_10, BATTLEANIMFUNC_10, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_0B + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_0E, BATTLEANIMFUNC_04, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_0C + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_0F, BATTLEANIMFUNC_03, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_0D + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_10, BATTLEANIMFUNC_08, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_0E + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_0F, BATTLEANIMFUNC_0A, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_0F + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_11, BATTLEANIMFUNC_03, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_BURNED + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_12, BATTLEANIMFUNC_08, PAL_BATTLE_OB_BLUE, $0a ; ANIM_OBJ_BLIZZARD + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_13, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BLUE, $0a ; ANIM_OBJ_12 + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_14, BATTLEANIMFUNC_01, PAL_BATTLE_OB_BLUE, $0a ; ANIM_OBJ_ICE_BEAM + battleanimobj RELATIVE_X | X_FLIP, $78, BATTLEANIMFRAMESET_16, BATTLEANIMFUNC_RAZOR_LEAF, PAL_BATTLE_OB_GREEN, $06 ; ANIM_OBJ_RAZOR_LEAF + battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_09, BATTLEANIMFUNC_12, PAL_BATTLE_OB_RED, $0b ; ANIM_OBJ_POKE_BALL + battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_09, BATTLEANIMFUNC_13, PAL_BATTLE_OB_RED, $0b ; ANIM_OBJ_POKE_BALL_BLOCKED + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_18, BATTLEANIMFUNC_00, PAL_BATTLE_OB_RED, $08 ; ANIM_OBJ_17 + battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_18, BATTLEANIMFUNC_00, PAL_BATTLE_OB_RED, $08 ; ANIM_OBJ_18 + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_1D, BATTLEANIMFUNC_06, PAL_BATTLE_OB_GRAY, $0c ; ANIM_OBJ_19 + battleanimobj RELATIVE_X, $b4, BATTLEANIMFRAMESET_1F, BATTLEANIMFUNC_38, PAL_BATTLE_OB_GRAY, $0c ; ANIM_OBJ_1A + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_08, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $07 ; ANIM_OBJ_1B + battleanimobj RELATIVE_X, $a0, BATTLEANIMFRAMESET_08, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $07 ; ANIM_OBJ_BALL_POOF + battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_19, BATTLEANIMFUNC_07, PAL_BATTLE_OB_BROWN, $09 ; ANIM_OBJ_1D + battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_1A, BATTLEANIMFUNC_07, PAL_BATTLE_OB_BROWN, $09 ; ANIM_OBJ_1E + battleanimobj RELATIVE_X, $b0, BATTLEANIMFRAMESET_1B, BATTLEANIMFUNC_36, PAL_BATTLE_OB_BROWN, $09 ; ANIM_OBJ_1F + battleanimobj RELATIVE_X, $b0, BATTLEANIMFRAMESET_84, BATTLEANIMFUNC_36, PAL_BATTLE_OB_BLUE, $21 ; ANIM_OBJ_20 + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_21, BATTLEANIMFUNC_0C, PAL_BATTLE_OB_BLUE, $0d ; ANIM_OBJ_BUBBLE + battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_23, BATTLEANIMFUNC_0D, PAL_BATTLE_OB_BLUE, $0d ; ANIM_OBJ_22 + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_0E, PAL_BATTLE_OB_GRAY, $0e ; ANIM_OBJ_23 + battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $80, BATTLEANIMFRAMESET_27, BATTLEANIMFUNC_0F, PAL_BATTLE_OB_BLUE, $04 ; ANIM_OBJ_24 + battleanimobj RELATIVE_X, $b4, BATTLEANIMFRAMESET_2A, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BLUE, $04 ; ANIM_OBJ_25 + battleanimobj RELATIVE_X, $40, BATTLEANIMFRAMESET_2B, BATTLEANIMFUNC_11, PAL_BATTLE_OB_GREEN, $0f ; ANIM_OBJ_26 + battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $98, BATTLEANIMFRAMESET_2C, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $10 ; ANIM_OBJ_27 + battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $98, BATTLEANIMFRAMESET_2D, BATTLEANIMFUNC_09, PAL_BATTLE_OB_YELLOW, $10 ; ANIM_OBJ_28 + battleanimobj RELATIVE_X, $b8, BATTLEANIMFRAMESET_2E, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BLUE, $0a ; ANIM_OBJ_ICE_BUILDUP + battleanimobj RELATIVE_X, $b8, BATTLEANIMFRAMESET_2F, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BLUE, $0a ; ANIM_OBJ_FROZEN + battleanimobj RELATIVE_X, $b8, BATTLEANIMFRAMESET_30, BATTLEANIMFUNC_14, PAL_BATTLE_OB_BROWN, $11 ; ANIM_OBJ_MASTER_BALL_SPARKLE + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_21, BATTLEANIMFUNC_14, PAL_BATTLE_OB_YELLOW, $0d ; ANIM_OBJ_2C + battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_31, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_2D + battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_32, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_2E + battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_33, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_2F + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_34, BATTLEANIMFUNC_15, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_30 + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_36, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_31 + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_37, BATTLEANIMFUNC_03, PAL_BATTLE_OB_GRAY, $08 ; ANIM_OBJ_LIGHTNING_BOLT + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_38, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_33 + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_39, BATTLEANIMFUNC_03, PAL_BATTLE_OB_GRAY, $08 ; ANIM_OBJ_34 + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_3A, BATTLEANIMFUNC_16, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_35 + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_3C, BATTLEANIMFUNC_17, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_36 + battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_3E, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_37 + battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_3F, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_38 + battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_40, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_39 + battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_41, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_3A + battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_42, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_3B + battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_43, BATTLEANIMFUNC_18, PAL_BATTLE_OB_GREEN, $12 ; ANIM_OBJ_3C + battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_44, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GREEN, $12 ; ANIM_OBJ_3D + battleanimobj RELATIVE_X | X_FLIP, $b8, BATTLEANIMFRAMESET_45, BATTLEANIMFUNC_19, PAL_BATTLE_OB_GRAY, $13 ; ANIM_OBJ_GUST + battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_46, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $14 ; ANIM_OBJ_3F + battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_47, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $14 ; ANIM_OBJ_40 + battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_48, BATTLEANIMFUNC_1A, PAL_BATTLE_OB_GRAY, $14 ; ANIM_OBJ_41 + battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_49, BATTLEANIMFUNC_1A, PAL_BATTLE_OB_GRAY, $14 ; ANIM_OBJ_42 + battleanimobj RELATIVE_X | X_FLIP, $98, BATTLEANIMFRAMESET_4A, BATTLEANIMFUNC_01, PAL_BATTLE_OB_GRAY, $14 ; ANIM_OBJ_43 + battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_4B, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $11 ; ANIM_OBJ_44 + battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_4C, BATTLEANIMFUNC_1C, PAL_BATTLE_OB_GREEN, $12 ; ANIM_OBJ_ABSORB + battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_4D, BATTLEANIMFUNC_1D, PAL_BATTLE_OB_GRAY, $15 ; ANIM_OBJ_46 + battleanimobj RELATIVE_X, $b0, BATTLEANIMFRAMESET_51, BATTLEANIMFUNC_1E, PAL_BATTLE_OB_YELLOW, $11 ; ANIM_OBJ_47 + battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_52, BATTLEANIMFUNC_1F, PAL_BATTLE_OB_GREEN, $16 ; ANIM_OBJ_48 + battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_54, BATTLEANIMFUNC_1F, PAL_BATTLE_OB_GREEN, $16 ; ANIM_OBJ_49 + battleanimobj RELATIVE_X | X_FLIP, $68, BATTLEANIMFRAMESET_56, BATTLEANIMFUNC_LEECH_SEED, PAL_BATTLE_OB_GREEN, $06 ; ANIM_OBJ_LEECH_SEED + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_59, BATTLEANIMFUNC_21, PAL_BATTLE_OB_GRAY, $0e ; ANIM_OBJ_4B + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_5C, BATTLEANIMFUNC_02, PAL_BATTLE_OB_GRAY, $17 ; ANIM_OBJ_4C + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_5D, BATTLEANIMFUNC_22, PAL_BATTLE_OB_YELLOW, $11 ; ANIM_OBJ_4D + battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $88, BATTLEANIMFRAMESET_5F, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $10 ; ANIM_OBJ_4E + battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $88, BATTLEANIMFRAMESET_2D, BATTLEANIMFUNC_09, PAL_BATTLE_OB_YELLOW, $10 ; ANIM_OBJ_4F + battleanimobj RELATIVE_X | X_FLIP, $88, BATTLEANIMFRAMESET_60, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $18 ; ANIM_OBJ_50 + battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_60, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $18 ; ANIM_OBJ_51 + battleanimobj RELATIVE_X | X_FLIP, $50, BATTLEANIMFRAMESET_61, BATTLEANIMFUNC_23, PAL_BATTLE_OB_YELLOW, $19 ; ANIM_OBJ_CHICK + battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_63, BATTLEANIMFUNC_24, PAL_BATTLE_OB_GRAY, $19 ; ANIM_OBJ_53 + battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_66, BATTLEANIMFUNC_25, PAL_BATTLE_OB_GRAY, $19 ; ANIM_OBJ_54 + battleanimobj RELATIVE_X, $50, BATTLEANIMFRAMESET_1C, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $0c ; ANIM_OBJ_SKULL + battleanimobj RELATIVE_X | X_FLIP, $a8, BATTLEANIMFRAMESET_67, BATTLEANIMFUNC_26, PAL_BATTLE_OB_BROWN, $1a ; ANIM_OBJ_56 + battleanimobj RELATIVE_X | X_FLIP, $a8, BATTLEANIMFRAMESET_68, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BROWN, $1a ; ANIM_OBJ_57 + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_69, BATTLEANIMFUNC_01, PAL_BATTLE_OB_GRAY, $1a ; ANIM_OBJ_58 + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_6D, BATTLEANIMFUNC_28, PAL_BATTLE_OB_YELLOW, $19 ; ANIM_OBJ_PARALYZED + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_6A, BATTLEANIMFUNC_27, PAL_BATTLE_OB_GRAY, $1b ; ANIM_OBJ_5A + battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_SPRIAL_DESCENT, PAL_BATTLE_OB_GRAY, $1c ; ANIM_OBJ_HAZE + battleanimobj RELATIVE_X | X_FLIP, $48, BATTLEANIMFRAMESET_70, BATTLEANIMFUNC_SPRIAL_DESCENT, PAL_BATTLE_OB_GRAY, $1c ; ANIM_OBJ_MIST + battleanimobj RELATIVE_X | X_FLIP, $48, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_SPRIAL_DESCENT, PAL_BATTLE_OB_GRAY, $1c ; ANIM_OBJ_SMOG + battleanimobj RELATIVE_X | X_FLIP, $78, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_POISON_GAS, PAL_BATTLE_OB_GRAY, $1c ; ANIM_OBJ_POISON_GAS + battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $90, BATTLEANIMFRAMESET_71, BATTLEANIMFUNC_HORN, PAL_BATTLE_OB_GRAY, $1d ; ANIM_OBJ_HORN + battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $90, BATTLEANIMFRAMESET_72, BATTLEANIMFUNC_2C, PAL_BATTLE_OB_GRAY, $1d ; ANIM_OBJ_60 + battleanimobj RELATIVE_X, $48, BATTLEANIMFRAMESET_73, BATTLEANIMFUNC_2D, PAL_BATTLE_OB_RED, $1e ; ANIM_OBJ_61 + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_06, PAL_BATTLE_OB_GRAY, $15 ; ANIM_OBJ_62 + battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_75, BATTLEANIMFUNC_2E, PAL_BATTLE_OB_BROWN, $19 ; ANIM_OBJ_63 + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_4A, BATTLEANIMFUNC_02, PAL_BATTLE_OB_GRAY, $14 ; ANIM_OBJ_64 + battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_30, BATTLEANIMFUNC_2F, PAL_BATTLE_OB_GRAY, $11 ; ANIM_OBJ_65 + battleanimobj RELATIVE_X, $78, BATTLEANIMFRAMESET_76, BATTLEANIMFUNC_POISON_GAS, PAL_BATTLE_OB_RED, $23 ; ANIM_OBJ_66 + battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_77, BATTLEANIMFUNC_30, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_67 + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_77, BATTLEANIMFUNC_02, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_68 + battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_77, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_69 + battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_78, BATTLEANIMFUNC_08, PAL_BATTLE_OB_YELLOW, $23 ; ANIM_OBJ_6A + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_79, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_6B + battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_7A, BATTLEANIMFUNC_31, PAL_BATTLE_OB_YELLOW, $11 ; ANIM_OBJ_6C + battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_7A, BATTLEANIMFUNC_31, PAL_BATTLE_OB_YELLOW, $11 ; ANIM_OBJ_6D + battleanimobj RELATIVE_X | X_FLIP, $88, BATTLEANIMFRAMESET_7B, BATTLEANIMFUNC_32, PAL_BATTLE_OB_GRAY, $20 ; ANIM_OBJ_SKY_ATTACK_FEAROW + battleanimobj RELATIVE_X | X_FLIP, $98, BATTLEANIMFRAMESET_7C, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $04 ; ANIM_OBJ_LICK + battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_7D, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $18 ; ANIM_OBJ_WITHDRAW + battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_21, BATTLEANIMFUNC_2F, PAL_BATTLE_OB_BLUE, $0d ; ANIM_OBJ_71 + battleanimobj RELATIVE_X, $b0, BATTLEANIMFRAMESET_7E, BATTLEANIMFUNC_33, PAL_BATTLE_OB_YELLOW, $12 ; ANIM_OBJ_72 + battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_7F, BATTLEANIMFUNC_2F, PAL_BATTLE_OB_GRAY, $08 ; ANIM_OBJ_73 + battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_34, PAL_BATTLE_OB_GRAY, $1c ; ANIM_OBJ_74 + battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_35, PAL_BATTLE_OB_GRAY, $15 ; ANIM_OBJ_75 + battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_80, BATTLEANIMFUNC_33, PAL_BATTLE_OB_GRAY, $14 ; ANIM_OBJ_76 + battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_81, BATTLEANIMFUNC_37, PAL_BATTLE_OB_GRAY, $11 ; ANIM_OBJ_77 + battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_85, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $22 ; ANIM_OBJ_78 + battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_86, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $22 ; ANIM_OBJ_79 + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_87, BATTLEANIMFUNC_39, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_7A + battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_30, BATTLEANIMFUNC_3A, PAL_BATTLE_OB_YELLOW, $11 ; ANIM_OBJ_7B + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_34, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_7C + battleanimobj RELATIVE_X | X_FLIP | BEHIND_BG, $88, BATTLEANIMFRAMESET_88, BATTLEANIMFUNC_3B, PAL_BATTLE_OB_BLUE, $13 ; ANIM_OBJ_7D + battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_76, BATTLEANIMFUNC_25, PAL_BATTLE_OB_RED, $23 ; ANIM_OBJ_HEART + battleanimobj RELATIVE_X, $98, BATTLEANIMFRAMESET_10, BATTLEANIMFUNC_34, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_7F + battleanimobj RELATIVE_X, $a8, BATTLEANIMFRAMESET_0F, BATTLEANIMFUNC_3C, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_80 + battleanimobj RELATIVE_X | X_FLIP, $68, BATTLEANIMFRAMESET_89, BATTLEANIMFUNC_SPRIAL_DESCENT, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_COTTON_SPORE + battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_8A, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_82 + battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_8C, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_83 + battleanimobj RELATIVE_X | X_FLIP, $50, BATTLEANIMFRAMESET_8D, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $1f ; ANIM_OBJ_84 + battleanimobj RELATIVE_X, $40, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_40, PAL_BATTLE_OB_GRAY, $0e ; ANIM_OBJ_85 + battleanimobj RELATIVE_X | X_FLIP, $a8, BATTLEANIMFRAMESET_8E, BATTLEANIMFUNC_41, PAL_BATTLE_OB_RED, $1f ; ANIM_OBJ_86 + battleanimobj RELATIVE_X | X_FLIP, $88, BATTLEANIMFRAMESET_8F, BATTLEANIMFUNC_3E, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_87 + battleanimobj RELATIVE_X | X_FLIP, $88, BATTLEANIMFRAMESET_93, BATTLEANIMFUNC_3E, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_88 + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_97, BATTLEANIMFUNC_3D, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_89 + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_78, BATTLEANIMFUNC_3D, PAL_BATTLE_OB_YELLOW, $23 ; ANIM_OBJ_8A + battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_99, BATTLEANIMFUNC_2E, PAL_BATTLE_OB_GRAY, $19 ; ANIM_OBJ_8B + battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_02, PAL_BATTLE_OB_GRAY, $15 ; ANIM_OBJ_8C + battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_99, BATTLEANIMFUNC_35, PAL_BATTLE_OB_RED, $19 ; ANIM_OBJ_8D + battleanimobj RELATIVE_X | X_FLIP, $70, BATTLEANIMFRAMESET_8B, BATTLEANIMFUNC_3F, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_SPIKES + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_15, BATTLEANIMFUNC_08, PAL_BATTLE_OB_GRAY, $0a ; ANIM_OBJ_8F + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_11, BATTLEANIMFUNC_02, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_90 + battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_7F, BATTLEANIMFUNC_42, PAL_BATTLE_OB_GRAY, $08 ; ANIM_OBJ_91 + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_9A, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $1b ; ANIM_OBJ_92 + battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_9B, BATTLEANIMFUNC_35, PAL_BATTLE_OB_RED, $23 ; ANIM_OBJ_93 + battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_9C, BATTLEANIMFUNC_23, PAL_BATTLE_OB_GRAY, $25 ; ANIM_OBJ_94 + battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_9D, BATTLEANIMFUNC_25, PAL_BATTLE_OB_GRAY, $25 ; ANIM_OBJ_95 + battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_9C, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $25 ; ANIM_OBJ_96 + battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_9E, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BLUE, $25 ; ANIM_OBJ_97 + battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $80, BATTLEANIMFRAMESET_9F, BATTLEANIMFUNC_3A, PAL_BATTLE_OB_GREEN, $23 ; ANIM_OBJ_98 + battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_A0, BATTLEANIMFUNC_16, PAL_BATTLE_OB_GRAY, $23 ; ANIM_OBJ_99 + battleanimobj RELATIVE_X | X_FLIP, $70, BATTLEANIMFRAMESET_78, BATTLEANIMFUNC_43, PAL_BATTLE_OB_YELLOW, $23 ; ANIM_OBJ_9A + battleanimobj RELATIVE_X | X_FLIP, $c0, BATTLEANIMFRAMESET_A2, BATTLEANIMFUNC_01, PAL_BATTLE_OB_GRAY, $25 ; ANIM_OBJ_9B + battleanimobj RELATIVE_X | X_FLIP, $40, BATTLEANIMFRAMESET_A3, BATTLEANIMFUNC_44, PAL_BATTLE_OB_YELLOW, $24 ; ANIM_OBJ_9C + battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_A4, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $24 ; ANIM_OBJ_9D + battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_A5, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $24 ; ANIM_OBJ_9E + battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_43, BATTLEANIMFUNC_45, PAL_BATTLE_OB_RED, $12 ; ANIM_OBJ_9F + battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_A6, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_A0 + battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_A7, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_A1 + battleanimobj RELATIVE_X | X_FLIP, $00, BATTLEANIMFRAMESET_B4, BATTLEANIMFUNC_4A, PAL_BATTLE_OB_BROWN, $0f ; ANIM_OBJ_A2 + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_A8, BATTLEANIMFUNC_02, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_A3 + battleanimobj RELATIVE_X | X_FLIP, $40, BATTLEANIMFRAMESET_9C, BATTLEANIMFUNC_11, PAL_BATTLE_OB_GRAY, $25 ; ANIM_OBJ_A4 + battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $90, BATTLEANIMFRAMESET_A9, BATTLEANIMFUNC_46, PAL_BATTLE_OB_GRAY, $23 ; ANIM_OBJ_A5 + battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_47, PAL_BATTLE_OB_GRAY, $0e ; ANIM_OBJ_PERISH_SONG + battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_AA, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $24 ; ANIM_OBJ_A7 + battleanimobj RELATIVE_X | X_FLIP, $b8, BATTLEANIMFRAMESET_AB, BATTLEANIMFUNC_48, PAL_BATTLE_OB_GRAY, $13 ; ANIM_OBJ_A8 + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_AC, BATTLEANIMFUNC_44, PAL_BATTLE_OB_GRAY, $13 ; ANIM_OBJ_A9 + battleanimobj RELATIVE_X, $a8, BATTLEANIMFRAMESET_05, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_AA + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_43, PAL_BATTLE_OB_GRAY, $0e ; ANIM_OBJ_AB + battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_AD, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BLUE, $17 ; ANIM_OBJ_AC + battleanimobj RELATIVE_X, $a8, BATTLEANIMFRAMESET_AE, BATTLEANIMFUNC_49, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_AD + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_AF, BATTLEANIMFUNC_01, PAL_BATTLE_OB_YELLOW, $11 ; ANIM_OBJ_AE + battleanimobj RELATIVE_X | X_FLIP, $00, BATTLEANIMFRAMESET_B0, BATTLEANIMFUNC_4A, PAL_BATTLE_OB_GRAY, $04 ; ANIM_OBJ_AF + battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_70, BATTLEANIMFUNC_4B, PAL_BATTLE_OB_RED, $1c ; ANIM_OBJ_B0 + battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_B1, BATTLEANIMFUNC_4C, PAL_BATTLE_OB_GRAY, $19 ; ANIM_OBJ_B1 + battleanimobj RELATIVE_X, $b8, BATTLEANIMFRAMESET_19, BATTLEANIMFUNC_4D, PAL_BATTLE_OB_BROWN, $09 ; ANIM_OBJ_B2 + battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $98, BATTLEANIMFRAMESET_B3, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $27 ; ANIM_OBJ_B3 + battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $98, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_04, PAL_BATTLE_OB_BLUE, $15 ; ANIM_OBJ_B4 + battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_19, BATTLEANIMFUNC_4E, PAL_BATTLE_OB_BROWN, $09 ; ANIM_OBJ_B5 + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_73, BATTLEANIMFUNC_08, PAL_BATTLE_OB_RED, $1e ; ANIM_OBJ_FLOWER + battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_89, BATTLEANIMFUNC_4F, PAL_BATTLE_OB_RED, $1f ; ANIM_OBJ_COTTON + battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B5, BATTLEANIMFUNC_00, PAL_BATTLE_OB_ENEMY, $28 ; ANIM_OBJ_PLAYERFEETFOLLOW + battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B6, BATTLEANIMFUNC_00, PAL_BATTLE_OB_PLAYER, $29 ; ANIM_OBJ_ENEMYFEETFOLLOW + battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B7, BATTLEANIMFUNC_00, PAL_BATTLE_OB_ENEMY, $28 ; ANIM_OBJ_BA + battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B8, BATTLEANIMFUNC_00, PAL_BATTLE_OB_PLAYER, $29 ; ANIM_OBJ_BB ; ccfbe diff --git a/battle/objects/gfx_headers.asm b/battle/objects/gfx_headers.asm index 60164918b..901144ec7 100755 --- a/battle/objects/gfx_headers.asm +++ b/battle/objects/gfx_headers.asm @@ -1,12 +1,11 @@ - -AnimObjGFX: ; cfcf6 - object_gfx: MACRO ; # tiles, label db \1 dba \2 ENDM +AnimObjGFX: ; cfcf6 +; entries correspond to ANIM_GFX_* constants object_gfx 0, AnimObj00GFX object_gfx 21, AnimObjHitGFX object_gfx 6, AnimObjCutGFX diff --git a/constants/effect_command_constants.asm b/constants/effect_command_constants.asm index 0d86e66a1..bc752262f 100644 --- a/constants/effect_command_constants.asm +++ b/constants/effect_command_constants.asm @@ -1,10 +1,9 @@ -; BattleCommandPointers indexes (see battle/effect_commands.asm) - command: macro enum \1_command \1 equs "db \1_command" endm +; BattleCommandPointers indexes (see battle/effect_commands.asm) enum_start 1 command checkturn ; 01 command checkobedience ; 02 diff --git a/constants/map_dimension_constants.asm b/constants/map_dimension_constants.asm index df93fb796..7f668ba1c 100644 --- a/constants/map_dimension_constants.asm +++ b/constants/map_dimension_constants.asm @@ -1,3 +1,18 @@ +newgroup: macro +const_value = const_value + 1 + enum_start 1 +endm + +mapgroup: macro +;\1: map id +;\2: height: in blocks +;\3: width: in blocks +GROUP_\1 EQU const_value + enum MAP_\1 +\1_HEIGHT EQU \2 +\1_WIDTH EQU \3 +endm + ; map group ids ; `newgroup` indexes are for: ; - MapGroupPointers (see maps/map_headers.asm) diff --git a/constants/trainer_constants.asm b/constants/trainer_constants.asm index 49a0df454..f2b6a3ec8 100644 --- a/constants/trainer_constants.asm +++ b/constants/trainer_constants.asm @@ -1,3 +1,8 @@ +trainerclass: MACRO + enum \1 +const_value = 1 +ENDM + ; trainer class ids ; `trainerclass` indexes are for: ; - TrainerClassAttributes (see trainers/attributes.asm) diff --git a/data/hm_moves.asm b/data/hm_moves.asm deleted file mode 100644 index ac9f1f542..000000000 --- a/data/hm_moves.asm +++ /dev/null @@ -1,12 +0,0 @@ -; HM moves can't be forgotten - -HMMoves: ; 34f0 - db CUT - db FLY - db SURF - db STRENGTH - db FLASH - db WATERFALL - db WHIRLPOOL - db -1 ; end -; 34f8 diff --git a/data/unown_words.asm b/data/unown_words.asm new file mode 100644 index 000000000..a36dea6d1 --- /dev/null +++ b/data/unown_words.asm @@ -0,0 +1,67 @@ +unownword: macro +x = 1 + rept STRLEN(\1) + db STRSUB(\1, x, 1) - $40 +x = x + 1 + endr + db -1 +endm + +UnownWords: ; fba5a +; entries correspond to Unown forms + dw UnownWord1 + dw UnownWord1 + dw UnownWord2 + dw UnownWord3 + dw UnownWord4 + dw UnownWord5 + dw UnownWord6 + dw UnownWord7 + dw UnownWord8 + dw UnownWord9 + dw UnownWord10 + dw UnownWord11 + dw UnownWord12 + dw UnownWord13 + dw UnownWord14 + dw UnownWord15 + dw UnownWord16 + dw UnownWord17 + dw UnownWord18 + dw UnownWord19 + dw UnownWord20 + dw UnownWord21 + dw UnownWord22 + dw UnownWord23 + dw UnownWord24 + dw UnownWord25 + dw UnownWord26 +; fba90 + +UnownWord1: unownword "ANGRY" +UnownWord2: unownword "BEAR" +UnownWord3: unownword "CHASE" +UnownWord4: unownword "DIRECT" +UnownWord5: unownword "ENGAGE" +UnownWord6: unownword "FIND" +UnownWord7: unownword "GIVE" +UnownWord8: unownword "HELP" +UnownWord9: unownword "INCREASE" +UnownWord10: unownword "JOIN" +UnownWord11: unownword "KEEP" +UnownWord12: unownword "LAUGH" +UnownWord13: unownword "MAKE" +UnownWord14: unownword "NUZZLE" +UnownWord15: unownword "OBSERVE" +UnownWord16: unownword "PERFORM" +UnownWord17: unownword "QUICKEN" +UnownWord18: unownword "REASSURE" +UnownWord19: unownword "SEARCH" +UnownWord20: unownword "TELL" +UnownWord21: unownword "UNDO" +UnownWord22: unownword "VANISH" +UnownWord23: unownword "WANT" +UnownWord24: unownword "XXXXX" +UnownWord25: unownword "YIELD" +UnownWord26: unownword "ZOOM" +; fbb32 diff --git a/engine/battle_start.asm b/engine/battle_start.asm index 7a16c3b82..9546980c2 100644 --- a/engine/battle_start.asm +++ b/engine/battle_start.asm @@ -363,19 +363,6 @@ StartTrainerBattle_SetUpForSpinOutro: ; 8c43d (23:443d) ld [wcf64], a ret -spintable_entry: MACRO - db \1 - dw .wedge\2 - dwcoord \3, \4 -ENDM - -; quadrants - const_def - const UPPER_LEFT - const UPPER_RIGHT - const LOWER_LEFT - const LOWER_RIGHT - StartTrainerBattle_SpinToBlack: ; 8c44f (23:444f) xor a ld [hBGMapMode], a @@ -412,7 +399,19 @@ endr ret ; 8c490 (23:4490) +; quadrants + const_def + const UPPER_LEFT + const UPPER_RIGHT + const LOWER_LEFT + const LOWER_RIGHT + .spintable ; 8c490 +spintable_entry: MACRO + db \1 + dw .wedge\2 + dwcoord \3, \4 +ENDM spintable_entry UPPER_LEFT, 1, 1, 6 spintable_entry UPPER_LEFT, 2, 0, 3 spintable_entry UPPER_LEFT, 3, 1, 0 @@ -797,12 +796,6 @@ StartTrainerBattle_DrawSineWave: ; 8c6f7 (23:46f7) sine_wave $100 ; 8c768 -zoombox: macro -; width, height, start y, start x - db \1, \2 - dwcoord \3, \4 -endm - StartTrainerBattle_ZoomToBlack: ; 8c768 (23:4768) callba Function5602 ld de, .boxes @@ -835,6 +828,11 @@ StartTrainerBattle_ZoomToBlack: ; 8c768 (23:4768) ; 8c792 (23:4792) .boxes ; 8c792 +zoombox: macro +; width, height, start y, start x + db \1, \2 + dwcoord \3, \4 +endm zoombox 4, 2, 8, 8 zoombox 6, 4, 7, 7 zoombox 8, 6, 6, 6 diff --git a/engine/card_flip.asm b/engine/card_flip.asm index 063d5324f..ccb72c6ac 100755 --- a/engine/card_flip.asm +++ b/engine/card_flip.asm @@ -1415,7 +1415,6 @@ else endc endm - cardflip_cursor 11, 2, .Impossible cardflip_cursor 12, 2, .Impossible cardflip_cursor 13, 2, .PokeGroupPair diff --git a/engine/pokegear.asm b/engine/pokegear.asm index 561ece400..4e38cf917 100755 --- a/engine/pokegear.asm +++ b/engine/pokegear.asm @@ -2340,11 +2340,11 @@ HasVisitedSpawn: ; 91c50 Flypoints: ; 91c5e ; landmark, spawn point - const_def flypoint: MACRO const FLY_\1 db \2, SPAWN_\1 ENDM + const_def ; Johto flypoint NEW_BARK, NEW_BARK_TOWN flypoint CHERRYGROVE, CHERRYGROVE_CITY diff --git a/engine/prof_oaks_pc.asm b/engine/prof_oaks_pc.asm index 05ff2b691..69949940b 100755 --- a/engine/prof_oaks_pc.asm +++ b/engine/prof_oaks_pc.asm @@ -1,4 +1,3 @@ - ProfOaksPC: ; 0x265d3 ld hl, OakPCText1 call MenuTextBox @@ -100,31 +99,26 @@ endr ret OakRatings: ; 0x2667f -oakrating: MACRO - db \1 - dw \2, \3 -endm - ; if you caught at most this many, play this sound, load this text - oakrating 9, SFX_DEX_FANFARE_LESS_THAN_20, OakRating01 - oakrating 19, SFX_DEX_FANFARE_LESS_THAN_20, OakRating02 - oakrating 34, SFX_DEX_FANFARE_20_49, OakRating03 - oakrating 49, SFX_DEX_FANFARE_20_49, OakRating04 - oakrating 64, SFX_DEX_FANFARE_50_79, OakRating05 - oakrating 79, SFX_DEX_FANFARE_50_79, OakRating06 - oakrating 94, SFX_DEX_FANFARE_80_109, OakRating07 - oakrating 109, SFX_DEX_FANFARE_80_109, OakRating08 - oakrating 124, SFX_CAUGHT_MON, OakRating09 - oakrating 139, SFX_CAUGHT_MON, OakRating10 - oakrating 154, SFX_DEX_FANFARE_140_169, OakRating11 - oakrating 169, SFX_DEX_FANFARE_140_169, OakRating12 - oakrating 184, SFX_DEX_FANFARE_170_199, OakRating13 - oakrating 199, SFX_DEX_FANFARE_170_199, OakRating14 - oakrating 214, SFX_DEX_FANFARE_200_229, OakRating15 - oakrating 229, SFX_DEX_FANFARE_200_229, OakRating16 - oakrating 239, SFX_DEX_FANFARE_230_PLUS, OakRating17 - oakrating 248, SFX_DEX_FANFARE_230_PLUS, OakRating18 - oakrating 255, SFX_DEX_FANFARE_230_PLUS, OakRating19 + dbww 9, SFX_DEX_FANFARE_LESS_THAN_20, OakRating01 + dbww 19, SFX_DEX_FANFARE_LESS_THAN_20, OakRating02 + dbww 34, SFX_DEX_FANFARE_20_49, OakRating03 + dbww 49, SFX_DEX_FANFARE_20_49, OakRating04 + dbww 64, SFX_DEX_FANFARE_50_79, OakRating05 + dbww 79, SFX_DEX_FANFARE_50_79, OakRating06 + dbww 94, SFX_DEX_FANFARE_80_109, OakRating07 + dbww 109, SFX_DEX_FANFARE_80_109, OakRating08 + dbww 124, SFX_CAUGHT_MON, OakRating09 + dbww 139, SFX_CAUGHT_MON, OakRating10 + dbww 154, SFX_DEX_FANFARE_140_169, OakRating11 + dbww 169, SFX_DEX_FANFARE_140_169, OakRating12 + dbww 184, SFX_DEX_FANFARE_170_199, OakRating13 + dbww 199, SFX_DEX_FANFARE_170_199, OakRating14 + dbww 214, SFX_DEX_FANFARE_200_229, OakRating15 + dbww 229, SFX_DEX_FANFARE_200_229, OakRating16 + dbww 239, SFX_DEX_FANFARE_230_PLUS, OakRating17 + dbww 248, SFX_DEX_FANFARE_230_PLUS, OakRating18 + dbww 255, SFX_DEX_FANFARE_230_PLUS, OakRating19 OakPCText1: ; 0x266de text_jump _OakPCText1 diff --git a/engine/radio.asm b/engine/radio.asm index feded7616..58e953e55 100644 --- a/engine/radio.asm +++ b/engine/radio.asm @@ -1578,7 +1578,6 @@ BuenasPassword4: .greater_than_11 call Random maskbits NUM_PASSWORD_CATEGORIES - and x cp NUM_PASSWORD_CATEGORIES jr nc, .greater_than_11 ; Store it in the high nybble of e. diff --git a/engine/timeofdaypals.asm b/engine/timeofdaypals.asm index 263a83fc1..90ff9141c 100644 --- a/engine/timeofdaypals.asm +++ b/engine/timeofdaypals.asm @@ -196,10 +196,6 @@ endr ret ; 8c0e5 -brightlevel: MACRO - db (\1 << 6) | (\2 << 4) | (\3 << 2) | \4 -ENDM - ReplaceTimeOfDayPals: ; 8c0e5 ld hl, .BrightnessLevels ld a, [wMapTimeOfDay] @@ -230,14 +226,14 @@ ReplaceTimeOfDayPals: ; 8c0e5 ; 8c10f (23:410f) .BrightnessLevels: ; 8c10f - brightlevel 3, 2, 1, 0 - brightlevel 1, 1, 1, 1 - brightlevel 2, 2, 2, 2 - brightlevel 0, 0, 0, 0 - brightlevel 3, 3, 3, 3 - brightlevel 3, 2, 1, 0 - brightlevel 3, 2, 1, 0 - brightlevel 3, 2, 1, 0 + dc 3, 2, 1, 0 + dc 1, 1, 1, 1 + dc 2, 2, 2, 2 + dc 0, 0, 0, 0 + dc 3, 3, 3, 3 + dc 3, 2, 1, 0 + dc 3, 2, 1, 0 + dc 3, 2, 1, 0 ; 8c117 GetTimePalette: ; 8c117 diff --git a/engine/unown_puzzle.asm b/engine/unown_puzzle.asm index a1fed2520..9f20ccb3e 100755 --- a/engine/unown_puzzle.asm +++ b/engine/unown_puzzle.asm @@ -1,7 +1,8 @@ -puzcoord EQUS "* 6 +" PUZZLE_BORDER EQU $ee PUZZLE_VOID EQU $ef +puzcoord EQUS "* 6 +" + UnownPuzzle: ; e1190 ld a, [hInMenu] push af diff --git a/engine/unowndex.asm b/engine/unowndex.asm index 007dd9790..6d14f8b3c 100755 --- a/engine/unowndex.asm +++ b/engine/unowndex.asm @@ -19,7 +19,6 @@ UpdateUnownDex: ; fba18 ret ; fba2e - PrintUnownWord: ; fba2e (3e:7a2e) hlcoord 4, 15 ld bc, 12 @@ -49,70 +48,4 @@ PrintUnownWord: ; fba2e (3e:7a2e) jr .loop ; fba5a (3e:7a5a) -UnownWords: ; fba5a - dw UnownWord1 - dw UnownWord1 - dw UnownWord2 - dw UnownWord3 - dw UnownWord4 - dw UnownWord5 - dw UnownWord6 - dw UnownWord7 - dw UnownWord8 - dw UnownWord9 - dw UnownWord10 - dw UnownWord11 - dw UnownWord12 - dw UnownWord13 - dw UnownWord14 - dw UnownWord15 - dw UnownWord16 - dw UnownWord17 - dw UnownWord18 - dw UnownWord19 - dw UnownWord20 - dw UnownWord21 - dw UnownWord22 - dw UnownWord23 - dw UnownWord24 - dw UnownWord25 - dw UnownWord26 -; fba90 - -unownword: macro -x = 1 - rept STRLEN(\1) - db STRSUB(\1, x, 1) - $40 -x = x + 1 - endr - db -1 -endm - - -UnownWord1: unownword "ANGRY" -UnownWord2: unownword "BEAR" -UnownWord3: unownword "CHASE" -UnownWord4: unownword "DIRECT" -UnownWord5: unownword "ENGAGE" -UnownWord6: unownword "FIND" -UnownWord7: unownword "GIVE" -UnownWord8: unownword "HELP" -UnownWord9: unownword "INCREASE" -UnownWord10: unownword "JOIN" -UnownWord11: unownword "KEEP" -UnownWord12: unownword "LAUGH" -UnownWord13: unownword "MAKE" -UnownWord14: unownword "NUZZLE" -UnownWord15: unownword "OBSERVE" -UnownWord16: unownword "PERFORM" -UnownWord17: unownword "QUICKEN" -UnownWord18: unownword "REASSURE" -UnownWord19: unownword "SEARCH" -UnownWord20: unownword "TELL" -UnownWord21: unownword "UNDO" -UnownWord22: unownword "VANISH" -UnownWord23: unownword "WANT" -UnownWord24: unownword "XXXXX" -UnownWord25: unownword "YIELD" -UnownWord26: unownword "ZOOM" -; fbb32 +INCLUDE "data/unown_words.asm" diff --git a/event/unown.asm b/event/unown.asm index efd4c74f5..1be858bd6 100644 --- a/event/unown.asm +++ b/event/unown.asm @@ -1,5 +1,3 @@ - - SpecialHoOhChamber: ; 0x8addb ld hl, PartySpecies ld a, [hl] diff --git a/gfx/pics/animation.asm b/gfx/pics/animation.asm index aa32fbe94..2f348fbfb 100644 --- a/gfx/pics/animation.asm +++ b/gfx/pics/animation.asm @@ -1,6 +1,5 @@ ; Pic animation arrangement. - AnimateMon_Slow_Normal: ; d0000 hlcoord 12, 0 ld a, [wBattleMode] @@ -53,23 +52,18 @@ AnimateMon_Unused: ; d003a ret ; d0042 - -POKEANIM: MACRO +pokeanim: MACRO rept _NARG - ; Workaround for a bug where macro args can't come after the start of a symbol if !def(\1_POKEANIM) \1_POKEANIM equs "PokeAnim_\1_" endc - db (\1_POKEANIM - PokeAnim_SetupCommands) / 2 shift endr - db (PokeAnim_Finish_ - PokeAnim_SetupCommands) / 2 ENDM - PokeAnims: ; d0042 dw .Slow dw .Normal @@ -81,15 +75,15 @@ PokeAnims: ; d0042 dw .Egg1 dw .Egg2 -.Slow: POKEANIM StereoCry, Setup2, Play -.Normal: POKEANIM StereoCry, Setup, Play -.Menu: POKEANIM CryNoWait, Setup, Play, SetWait, Wait, Extra, Play -.Trade: POKEANIM Extra, Play2, Extra, Play, SetWait, Wait, Cry, Setup, Play -.Evolve: POKEANIM Extra, Play, SetWait, Wait, CryNoWait, Setup, Play -.Hatch: POKEANIM Extra, Play, CryNoWait, Setup, Play, SetWait, Wait, Extra, Play -.Unused: POKEANIM CryNoWait, Setup, Play, SetWait, Wait, Extra, Play -.Egg1: POKEANIM Setup, Play -.Egg2: POKEANIM Extra, Play +.Slow: pokeanim StereoCry, Setup2, Play +.Normal: pokeanim StereoCry, Setup, Play +.Menu: pokeanim CryNoWait, Setup, Play, SetWait, Wait, Extra, Play +.Trade: pokeanim Extra, Play2, Extra, Play, SetWait, Wait, Cry, Setup, Play +.Evolve: pokeanim Extra, Play, SetWait, Wait, CryNoWait, Setup, Play +.Hatch: pokeanim Extra, Play, CryNoWait, Setup, Play, SetWait, Wait, Extra, Play +.Unused: pokeanim CryNoWait, Setup, Play, SetWait, Wait, Extra, Play +.Egg1: pokeanim Setup, Play +.Egg2: pokeanim Extra, Play AnimateFrontpic: ; d008e diff --git a/gfx/pics/pic_pointers.asm b/gfx/pics/pic_pointers.asm index 2a6a2699a..58631e09a 100644 --- a/gfx/pics/pic_pointers.asm +++ b/gfx/pics/pic_pointers.asm @@ -1,511 +1,511 @@ PicPointers:: ; entries correspond to constants/pokemon_constants.asm, two apiece - add_pic BulbasaurFrontpic - add_pic BulbasaurBackpic - add_pic IvysaurFrontpic - add_pic IvysaurBackpic - add_pic VenusaurFrontpic - add_pic VenusaurBackpic - add_pic CharmanderFrontpic - add_pic CharmanderBackpic - add_pic CharmeleonFrontpic - add_pic CharmeleonBackpic - add_pic CharizardFrontpic - add_pic CharizardBackpic - add_pic SquirtleFrontpic - add_pic SquirtleBackpic - add_pic WartortleFrontpic - add_pic WartortleBackpic - add_pic BlastoiseFrontpic - add_pic BlastoiseBackpic - add_pic CaterpieFrontpic - add_pic CaterpieBackpic - add_pic MetapodFrontpic - add_pic MetapodBackpic - add_pic ButterfreeFrontpic - add_pic ButterfreeBackpic - add_pic WeedleFrontpic - add_pic WeedleBackpic - add_pic KakunaFrontpic - add_pic KakunaBackpic - add_pic BeedrillFrontpic - add_pic BeedrillBackpic - add_pic PidgeyFrontpic - add_pic PidgeyBackpic - add_pic PidgeottoFrontpic - add_pic PidgeottoBackpic - add_pic PidgeotFrontpic - add_pic PidgeotBackpic - add_pic RattataFrontpic - add_pic RattataBackpic - add_pic RaticateFrontpic - add_pic RaticateBackpic - add_pic SpearowFrontpic - add_pic SpearowBackpic - add_pic FearowFrontpic - add_pic FearowBackpic - add_pic EkansFrontpic - add_pic EkansBackpic - add_pic ArbokFrontpic - add_pic ArbokBackpic - add_pic PikachuFrontpic - add_pic PikachuBackpic - add_pic RaichuFrontpic - add_pic RaichuBackpic - add_pic SandshrewFrontpic - add_pic SandshrewBackpic - add_pic SandslashFrontpic - add_pic SandslashBackpic - add_pic NidoranFFrontpic - add_pic NidoranFBackpic - add_pic NidorinaFrontpic - add_pic NidorinaBackpic - add_pic NidoqueenFrontpic - add_pic NidoqueenBackpic - add_pic NidoranMFrontpic - add_pic NidoranMBackpic - add_pic NidorinoFrontpic - add_pic NidorinoBackpic - add_pic NidokingFrontpic - add_pic NidokingBackpic - add_pic ClefairyFrontpic - add_pic ClefairyBackpic - add_pic ClefableFrontpic - add_pic ClefableBackpic - add_pic VulpixFrontpic - add_pic VulpixBackpic - add_pic NinetalesFrontpic - add_pic NinetalesBackpic - add_pic JigglypuffFrontpic - add_pic JigglypuffBackpic - add_pic WigglytuffFrontpic - add_pic WigglytuffBackpic - add_pic ZubatFrontpic - add_pic ZubatBackpic - add_pic GolbatFrontpic - add_pic GolbatBackpic - add_pic OddishFrontpic - add_pic OddishBackpic - add_pic GloomFrontpic - add_pic GloomBackpic - add_pic VileplumeFrontpic - add_pic VileplumeBackpic - add_pic ParasFrontpic - add_pic ParasBackpic - add_pic ParasectFrontpic - add_pic ParasectBackpic - add_pic VenonatFrontpic - add_pic VenonatBackpic - add_pic VenomothFrontpic - add_pic VenomothBackpic - add_pic DiglettFrontpic - add_pic DiglettBackpic - add_pic DugtrioFrontpic - add_pic DugtrioBackpic - add_pic MeowthFrontpic - add_pic MeowthBackpic - add_pic PersianFrontpic - add_pic PersianBackpic - add_pic PsyduckFrontpic - add_pic PsyduckBackpic - add_pic GolduckFrontpic - add_pic GolduckBackpic - add_pic MankeyFrontpic - add_pic MankeyBackpic - add_pic PrimeapeFrontpic - add_pic PrimeapeBackpic - add_pic GrowlitheFrontpic - add_pic GrowlitheBackpic - add_pic ArcanineFrontpic - add_pic ArcanineBackpic - add_pic PoliwagFrontpic - add_pic PoliwagBackpic - add_pic PoliwhirlFrontpic - add_pic PoliwhirlBackpic - add_pic PoliwrathFrontpic - add_pic PoliwrathBackpic - add_pic AbraFrontpic - add_pic AbraBackpic - add_pic KadabraFrontpic - add_pic KadabraBackpic - add_pic AlakazamFrontpic - add_pic AlakazamBackpic - add_pic MachopFrontpic - add_pic MachopBackpic - add_pic MachokeFrontpic - add_pic MachokeBackpic - add_pic MachampFrontpic - add_pic MachampBackpic - add_pic BellsproutFrontpic - add_pic BellsproutBackpic - add_pic WeepinbellFrontpic - add_pic WeepinbellBackpic - add_pic VictreebelFrontpic - add_pic VictreebelBackpic - add_pic TentacoolFrontpic - add_pic TentacoolBackpic - add_pic TentacruelFrontpic - add_pic TentacruelBackpic - add_pic GeodudeFrontpic - add_pic GeodudeBackpic - add_pic GravelerFrontpic - add_pic GravelerBackpic - add_pic GolemFrontpic - add_pic GolemBackpic - add_pic PonytaFrontpic - add_pic PonytaBackpic - add_pic RapidashFrontpic - add_pic RapidashBackpic - add_pic SlowpokeFrontpic - add_pic SlowpokeBackpic - add_pic SlowbroFrontpic - add_pic SlowbroBackpic - add_pic MagnemiteFrontpic - add_pic MagnemiteBackpic - add_pic MagnetonFrontpic - add_pic MagnetonBackpic - add_pic FarfetchDFrontpic - add_pic FarfetchDBackpic - add_pic DoduoFrontpic - add_pic DoduoBackpic - add_pic DodrioFrontpic - add_pic DodrioBackpic - add_pic SeelFrontpic - add_pic SeelBackpic - add_pic DewgongFrontpic - add_pic DewgongBackpic - add_pic GrimerFrontpic - add_pic GrimerBackpic - add_pic MukFrontpic - add_pic MukBackpic - add_pic ShellderFrontpic - add_pic ShellderBackpic - add_pic CloysterFrontpic - add_pic CloysterBackpic - add_pic GastlyFrontpic - add_pic GastlyBackpic - add_pic HaunterFrontpic - add_pic HaunterBackpic - add_pic GengarFrontpic - add_pic GengarBackpic - add_pic OnixFrontpic - add_pic OnixBackpic - add_pic DrowzeeFrontpic - add_pic DrowzeeBackpic - add_pic HypnoFrontpic - add_pic HypnoBackpic - add_pic KrabbyFrontpic - add_pic KrabbyBackpic - add_pic KinglerFrontpic - add_pic KinglerBackpic - add_pic VoltorbFrontpic - add_pic VoltorbBackpic - add_pic ElectrodeFrontpic - add_pic ElectrodeBackpic - add_pic ExeggcuteFrontpic - add_pic ExeggcuteBackpic - add_pic ExeggutorFrontpic - add_pic ExeggutorBackpic - add_pic CuboneFrontpic - add_pic CuboneBackpic - add_pic MarowakFrontpic - add_pic MarowakBackpic - add_pic HitmonleeFrontpic - add_pic HitmonleeBackpic - add_pic HitmonchanFrontpic - add_pic HitmonchanBackpic - add_pic LickitungFrontpic - add_pic LickitungBackpic - add_pic KoffingFrontpic - add_pic KoffingBackpic - add_pic WeezingFrontpic - add_pic WeezingBackpic - add_pic RhyhornFrontpic - add_pic RhyhornBackpic - add_pic RhydonFrontpic - add_pic RhydonBackpic - add_pic ChanseyFrontpic - add_pic ChanseyBackpic - add_pic TangelaFrontpic - add_pic TangelaBackpic - add_pic KangaskhanFrontpic - add_pic KangaskhanBackpic - add_pic HorseaFrontpic - add_pic HorseaBackpic - add_pic SeadraFrontpic - add_pic SeadraBackpic - add_pic GoldeenFrontpic - add_pic GoldeenBackpic - add_pic SeakingFrontpic - add_pic SeakingBackpic - add_pic StaryuFrontpic - add_pic StaryuBackpic - add_pic StarmieFrontpic - add_pic StarmieBackpic - add_pic MrMimeFrontpic - add_pic MrMimeBackpic - add_pic ScytherFrontpic - add_pic ScytherBackpic - add_pic JynxFrontpic - add_pic JynxBackpic - add_pic ElectabuzzFrontpic - add_pic ElectabuzzBackpic - add_pic MagmarFrontpic - add_pic MagmarBackpic - add_pic PinsirFrontpic - add_pic PinsirBackpic - add_pic TaurosFrontpic - add_pic TaurosBackpic - add_pic MagikarpFrontpic - add_pic MagikarpBackpic - add_pic GyaradosFrontpic - add_pic GyaradosBackpic - add_pic LaprasFrontpic - add_pic LaprasBackpic - add_pic DittoFrontpic - add_pic DittoBackpic - add_pic EeveeFrontpic - add_pic EeveeBackpic - add_pic VaporeonFrontpic - add_pic VaporeonBackpic - add_pic JolteonFrontpic - add_pic JolteonBackpic - add_pic FlareonFrontpic - add_pic FlareonBackpic - add_pic PorygonFrontpic - add_pic PorygonBackpic - add_pic OmanyteFrontpic - add_pic OmanyteBackpic - add_pic OmastarFrontpic - add_pic OmastarBackpic - add_pic KabutoFrontpic - add_pic KabutoBackpic - add_pic KabutopsFrontpic - add_pic KabutopsBackpic - add_pic AerodactylFrontpic - add_pic AerodactylBackpic - add_pic SnorlaxFrontpic - add_pic SnorlaxBackpic - add_pic ArticunoFrontpic - add_pic ArticunoBackpic - add_pic ZapdosFrontpic - add_pic ZapdosBackpic - add_pic MoltresFrontpic - add_pic MoltresBackpic - add_pic DratiniFrontpic - add_pic DratiniBackpic - add_pic DragonairFrontpic - add_pic DragonairBackpic - add_pic DragoniteFrontpic - add_pic DragoniteBackpic - add_pic MewtwoFrontpic - add_pic MewtwoBackpic - add_pic MewFrontpic - add_pic MewBackpic - add_pic ChikoritaFrontpic - add_pic ChikoritaBackpic - add_pic BayleefFrontpic - add_pic BayleefBackpic - add_pic MeganiumFrontpic - add_pic MeganiumBackpic - add_pic CyndaquilFrontpic - add_pic CyndaquilBackpic - add_pic QuilavaFrontpic - add_pic QuilavaBackpic - add_pic TyphlosionFrontpic - add_pic TyphlosionBackpic - add_pic TotodileFrontpic - add_pic TotodileBackpic - add_pic CroconawFrontpic - add_pic CroconawBackpic - add_pic FeraligatrFrontpic - add_pic FeraligatrBackpic - add_pic SentretFrontpic - add_pic SentretBackpic - add_pic FurretFrontpic - add_pic FurretBackpic - add_pic HoothootFrontpic - add_pic HoothootBackpic - add_pic NoctowlFrontpic - add_pic NoctowlBackpic - add_pic LedybaFrontpic - add_pic LedybaBackpic - add_pic LedianFrontpic - add_pic LedianBackpic - add_pic SpinarakFrontpic - add_pic SpinarakBackpic - add_pic AriadosFrontpic - add_pic AriadosBackpic - add_pic CrobatFrontpic - add_pic CrobatBackpic - add_pic ChinchouFrontpic - add_pic ChinchouBackpic - add_pic LanturnFrontpic - add_pic LanturnBackpic - add_pic PichuFrontpic - add_pic PichuBackpic - add_pic CleffaFrontpic - add_pic CleffaBackpic - add_pic IgglybuffFrontpic - add_pic IgglybuffBackpic - add_pic TogepiFrontpic - add_pic TogepiBackpic - add_pic TogeticFrontpic - add_pic TogeticBackpic - add_pic NatuFrontpic - add_pic NatuBackpic - add_pic XatuFrontpic - add_pic XatuBackpic - add_pic MareepFrontpic - add_pic MareepBackpic - add_pic FlaaffyFrontpic - add_pic FlaaffyBackpic - add_pic AmpharosFrontpic - add_pic AmpharosBackpic - add_pic BellossomFrontpic - add_pic BellossomBackpic - add_pic MarillFrontpic - add_pic MarillBackpic - add_pic AzumarillFrontpic - add_pic AzumarillBackpic - add_pic SudowoodoFrontpic - add_pic SudowoodoBackpic - add_pic PolitoedFrontpic - add_pic PolitoedBackpic - add_pic HoppipFrontpic - add_pic HoppipBackpic - add_pic SkiploomFrontpic - add_pic SkiploomBackpic - add_pic JumpluffFrontpic - add_pic JumpluffBackpic - add_pic AipomFrontpic - add_pic AipomBackpic - add_pic SunkernFrontpic - add_pic SunkernBackpic - add_pic SunfloraFrontpic - add_pic SunfloraBackpic - add_pic YanmaFrontpic - add_pic YanmaBackpic - add_pic WooperFrontpic - add_pic WooperBackpic - add_pic QuagsireFrontpic - add_pic QuagsireBackpic - add_pic EspeonFrontpic - add_pic EspeonBackpic - add_pic UmbreonFrontpic - add_pic UmbreonBackpic - add_pic MurkrowFrontpic - add_pic MurkrowBackpic - add_pic SlowkingFrontpic - add_pic SlowkingBackpic - add_pic MisdreavusFrontpic - add_pic MisdreavusBackpic + dba_pic BulbasaurFrontpic + dba_pic BulbasaurBackpic + dba_pic IvysaurFrontpic + dba_pic IvysaurBackpic + dba_pic VenusaurFrontpic + dba_pic VenusaurBackpic + dba_pic CharmanderFrontpic + dba_pic CharmanderBackpic + dba_pic CharmeleonFrontpic + dba_pic CharmeleonBackpic + dba_pic CharizardFrontpic + dba_pic CharizardBackpic + dba_pic SquirtleFrontpic + dba_pic SquirtleBackpic + dba_pic WartortleFrontpic + dba_pic WartortleBackpic + dba_pic BlastoiseFrontpic + dba_pic BlastoiseBackpic + dba_pic CaterpieFrontpic + dba_pic CaterpieBackpic + dba_pic MetapodFrontpic + dba_pic MetapodBackpic + dba_pic ButterfreeFrontpic + dba_pic ButterfreeBackpic + dba_pic WeedleFrontpic + dba_pic WeedleBackpic + dba_pic KakunaFrontpic + dba_pic KakunaBackpic + dba_pic BeedrillFrontpic + dba_pic BeedrillBackpic + dba_pic PidgeyFrontpic + dba_pic PidgeyBackpic + dba_pic PidgeottoFrontpic + dba_pic PidgeottoBackpic + dba_pic PidgeotFrontpic + dba_pic PidgeotBackpic + dba_pic RattataFrontpic + dba_pic RattataBackpic + dba_pic RaticateFrontpic + dba_pic RaticateBackpic + dba_pic SpearowFrontpic + dba_pic SpearowBackpic + dba_pic FearowFrontpic + dba_pic FearowBackpic + dba_pic EkansFrontpic + dba_pic EkansBackpic + dba_pic ArbokFrontpic + dba_pic ArbokBackpic + dba_pic PikachuFrontpic + dba_pic PikachuBackpic + dba_pic RaichuFrontpic + dba_pic RaichuBackpic + dba_pic SandshrewFrontpic + dba_pic SandshrewBackpic + dba_pic SandslashFrontpic + dba_pic SandslashBackpic + dba_pic NidoranFFrontpic + dba_pic NidoranFBackpic + dba_pic NidorinaFrontpic + dba_pic NidorinaBackpic + dba_pic NidoqueenFrontpic + dba_pic NidoqueenBackpic + dba_pic NidoranMFrontpic + dba_pic NidoranMBackpic + dba_pic NidorinoFrontpic + dba_pic NidorinoBackpic + dba_pic NidokingFrontpic + dba_pic NidokingBackpic + dba_pic ClefairyFrontpic + dba_pic ClefairyBackpic + dba_pic ClefableFrontpic + dba_pic ClefableBackpic + dba_pic VulpixFrontpic + dba_pic VulpixBackpic + dba_pic NinetalesFrontpic + dba_pic NinetalesBackpic + dba_pic JigglypuffFrontpic + dba_pic JigglypuffBackpic + dba_pic WigglytuffFrontpic + dba_pic WigglytuffBackpic + dba_pic ZubatFrontpic + dba_pic ZubatBackpic + dba_pic GolbatFrontpic + dba_pic GolbatBackpic + dba_pic OddishFrontpic + dba_pic OddishBackpic + dba_pic GloomFrontpic + dba_pic GloomBackpic + dba_pic VileplumeFrontpic + dba_pic VileplumeBackpic + dba_pic ParasFrontpic + dba_pic ParasBackpic + dba_pic ParasectFrontpic + dba_pic ParasectBackpic + dba_pic VenonatFrontpic + dba_pic VenonatBackpic + dba_pic VenomothFrontpic + dba_pic VenomothBackpic + dba_pic DiglettFrontpic + dba_pic DiglettBackpic + dba_pic DugtrioFrontpic + dba_pic DugtrioBackpic + dba_pic MeowthFrontpic + dba_pic MeowthBackpic + dba_pic PersianFrontpic + dba_pic PersianBackpic + dba_pic PsyduckFrontpic + dba_pic PsyduckBackpic + dba_pic GolduckFrontpic + dba_pic GolduckBackpic + dba_pic MankeyFrontpic + dba_pic MankeyBackpic + dba_pic PrimeapeFrontpic + dba_pic PrimeapeBackpic + dba_pic GrowlitheFrontpic + dba_pic GrowlitheBackpic + dba_pic ArcanineFrontpic + dba_pic ArcanineBackpic + dba_pic PoliwagFrontpic + dba_pic PoliwagBackpic + dba_pic PoliwhirlFrontpic + dba_pic PoliwhirlBackpic + dba_pic PoliwrathFrontpic + dba_pic PoliwrathBackpic + dba_pic AbraFrontpic + dba_pic AbraBackpic + dba_pic KadabraFrontpic + dba_pic KadabraBackpic + dba_pic AlakazamFrontpic + dba_pic AlakazamBackpic + dba_pic MachopFrontpic + dba_pic MachopBackpic + dba_pic MachokeFrontpic + dba_pic MachokeBackpic + dba_pic MachampFrontpic + dba_pic MachampBackpic + dba_pic BellsproutFrontpic + dba_pic BellsproutBackpic + dba_pic WeepinbellFrontpic + dba_pic WeepinbellBackpic + dba_pic VictreebelFrontpic + dba_pic VictreebelBackpic + dba_pic TentacoolFrontpic + dba_pic TentacoolBackpic + dba_pic TentacruelFrontpic + dba_pic TentacruelBackpic + dba_pic GeodudeFrontpic + dba_pic GeodudeBackpic + dba_pic GravelerFrontpic + dba_pic GravelerBackpic + dba_pic GolemFrontpic + dba_pic GolemBackpic + dba_pic PonytaFrontpic + dba_pic PonytaBackpic + dba_pic RapidashFrontpic + dba_pic RapidashBackpic + dba_pic SlowpokeFrontpic + dba_pic SlowpokeBackpic + dba_pic SlowbroFrontpic + dba_pic SlowbroBackpic + dba_pic MagnemiteFrontpic + dba_pic MagnemiteBackpic + dba_pic MagnetonFrontpic + dba_pic MagnetonBackpic + dba_pic FarfetchDFrontpic + dba_pic FarfetchDBackpic + dba_pic DoduoFrontpic + dba_pic DoduoBackpic + dba_pic DodrioFrontpic + dba_pic DodrioBackpic + dba_pic SeelFrontpic + dba_pic SeelBackpic + dba_pic DewgongFrontpic + dba_pic DewgongBackpic + dba_pic GrimerFrontpic + dba_pic GrimerBackpic + dba_pic MukFrontpic + dba_pic MukBackpic + dba_pic ShellderFrontpic + dba_pic ShellderBackpic + dba_pic CloysterFrontpic + dba_pic CloysterBackpic + dba_pic GastlyFrontpic + dba_pic GastlyBackpic + dba_pic HaunterFrontpic + dba_pic HaunterBackpic + dba_pic GengarFrontpic + dba_pic GengarBackpic + dba_pic OnixFrontpic + dba_pic OnixBackpic + dba_pic DrowzeeFrontpic + dba_pic DrowzeeBackpic + dba_pic HypnoFrontpic + dba_pic HypnoBackpic + dba_pic KrabbyFrontpic + dba_pic KrabbyBackpic + dba_pic KinglerFrontpic + dba_pic KinglerBackpic + dba_pic VoltorbFrontpic + dba_pic VoltorbBackpic + dba_pic ElectrodeFrontpic + dba_pic ElectrodeBackpic + dba_pic ExeggcuteFrontpic + dba_pic ExeggcuteBackpic + dba_pic ExeggutorFrontpic + dba_pic ExeggutorBackpic + dba_pic CuboneFrontpic + dba_pic CuboneBackpic + dba_pic MarowakFrontpic + dba_pic MarowakBackpic + dba_pic HitmonleeFrontpic + dba_pic HitmonleeBackpic + dba_pic HitmonchanFrontpic + dba_pic HitmonchanBackpic + dba_pic LickitungFrontpic + dba_pic LickitungBackpic + dba_pic KoffingFrontpic + dba_pic KoffingBackpic + dba_pic WeezingFrontpic + dba_pic WeezingBackpic + dba_pic RhyhornFrontpic + dba_pic RhyhornBackpic + dba_pic RhydonFrontpic + dba_pic RhydonBackpic + dba_pic ChanseyFrontpic + dba_pic ChanseyBackpic + dba_pic TangelaFrontpic + dba_pic TangelaBackpic + dba_pic KangaskhanFrontpic + dba_pic KangaskhanBackpic + dba_pic HorseaFrontpic + dba_pic HorseaBackpic + dba_pic SeadraFrontpic + dba_pic SeadraBackpic + dba_pic GoldeenFrontpic + dba_pic GoldeenBackpic + dba_pic SeakingFrontpic + dba_pic SeakingBackpic + dba_pic StaryuFrontpic + dba_pic StaryuBackpic + dba_pic StarmieFrontpic + dba_pic StarmieBackpic + dba_pic MrMimeFrontpic + dba_pic MrMimeBackpic + dba_pic ScytherFrontpic + dba_pic ScytherBackpic + dba_pic JynxFrontpic + dba_pic JynxBackpic + dba_pic ElectabuzzFrontpic + dba_pic ElectabuzzBackpic + dba_pic MagmarFrontpic + dba_pic MagmarBackpic + dba_pic PinsirFrontpic + dba_pic PinsirBackpic + dba_pic TaurosFrontpic + dba_pic TaurosBackpic + dba_pic MagikarpFrontpic + dba_pic MagikarpBackpic + dba_pic GyaradosFrontpic + dba_pic GyaradosBackpic + dba_pic LaprasFrontpic + dba_pic LaprasBackpic + dba_pic DittoFrontpic + dba_pic DittoBackpic + dba_pic EeveeFrontpic + dba_pic EeveeBackpic + dba_pic VaporeonFrontpic + dba_pic VaporeonBackpic + dba_pic JolteonFrontpic + dba_pic JolteonBackpic + dba_pic FlareonFrontpic + dba_pic FlareonBackpic + dba_pic PorygonFrontpic + dba_pic PorygonBackpic + dba_pic OmanyteFrontpic + dba_pic OmanyteBackpic + dba_pic OmastarFrontpic + dba_pic OmastarBackpic + dba_pic KabutoFrontpic + dba_pic KabutoBackpic + dba_pic KabutopsFrontpic + dba_pic KabutopsBackpic + dba_pic AerodactylFrontpic + dba_pic AerodactylBackpic + dba_pic SnorlaxFrontpic + dba_pic SnorlaxBackpic + dba_pic ArticunoFrontpic + dba_pic ArticunoBackpic + dba_pic ZapdosFrontpic + dba_pic ZapdosBackpic + dba_pic MoltresFrontpic + dba_pic MoltresBackpic + dba_pic DratiniFrontpic + dba_pic DratiniBackpic + dba_pic DragonairFrontpic + dba_pic DragonairBackpic + dba_pic DragoniteFrontpic + dba_pic DragoniteBackpic + dba_pic MewtwoFrontpic + dba_pic MewtwoBackpic + dba_pic MewFrontpic + dba_pic MewBackpic + dba_pic ChikoritaFrontpic + dba_pic ChikoritaBackpic + dba_pic BayleefFrontpic + dba_pic BayleefBackpic + dba_pic MeganiumFrontpic + dba_pic MeganiumBackpic + dba_pic CyndaquilFrontpic + dba_pic CyndaquilBackpic + dba_pic QuilavaFrontpic + dba_pic QuilavaBackpic + dba_pic TyphlosionFrontpic + dba_pic TyphlosionBackpic + dba_pic TotodileFrontpic + dba_pic TotodileBackpic + dba_pic CroconawFrontpic + dba_pic CroconawBackpic + dba_pic FeraligatrFrontpic + dba_pic FeraligatrBackpic + dba_pic SentretFrontpic + dba_pic SentretBackpic + dba_pic FurretFrontpic + dba_pic FurretBackpic + dba_pic HoothootFrontpic + dba_pic HoothootBackpic + dba_pic NoctowlFrontpic + dba_pic NoctowlBackpic + dba_pic LedybaFrontpic + dba_pic LedybaBackpic + dba_pic LedianFrontpic + dba_pic LedianBackpic + dba_pic SpinarakFrontpic + dba_pic SpinarakBackpic + dba_pic AriadosFrontpic + dba_pic AriadosBackpic + dba_pic CrobatFrontpic + dba_pic CrobatBackpic + dba_pic ChinchouFrontpic + dba_pic ChinchouBackpic + dba_pic LanturnFrontpic + dba_pic LanturnBackpic + dba_pic PichuFrontpic + dba_pic PichuBackpic + dba_pic CleffaFrontpic + dba_pic CleffaBackpic + dba_pic IgglybuffFrontpic + dba_pic IgglybuffBackpic + dba_pic TogepiFrontpic + dba_pic TogepiBackpic + dba_pic TogeticFrontpic + dba_pic TogeticBackpic + dba_pic NatuFrontpic + dba_pic NatuBackpic + dba_pic XatuFrontpic + dba_pic XatuBackpic + dba_pic MareepFrontpic + dba_pic MareepBackpic + dba_pic FlaaffyFrontpic + dba_pic FlaaffyBackpic + dba_pic AmpharosFrontpic + dba_pic AmpharosBackpic + dba_pic BellossomFrontpic + dba_pic BellossomBackpic + dba_pic MarillFrontpic + dba_pic MarillBackpic + dba_pic AzumarillFrontpic + dba_pic AzumarillBackpic + dba_pic SudowoodoFrontpic + dba_pic SudowoodoBackpic + dba_pic PolitoedFrontpic + dba_pic PolitoedBackpic + dba_pic HoppipFrontpic + dba_pic HoppipBackpic + dba_pic SkiploomFrontpic + dba_pic SkiploomBackpic + dba_pic JumpluffFrontpic + dba_pic JumpluffBackpic + dba_pic AipomFrontpic + dba_pic AipomBackpic + dba_pic SunkernFrontpic + dba_pic SunkernBackpic + dba_pic SunfloraFrontpic + dba_pic SunfloraBackpic + dba_pic YanmaFrontpic + dba_pic YanmaBackpic + dba_pic WooperFrontpic + dba_pic WooperBackpic + dba_pic QuagsireFrontpic + dba_pic QuagsireBackpic + dba_pic EspeonFrontpic + dba_pic EspeonBackpic + dba_pic UmbreonFrontpic + dba_pic UmbreonBackpic + dba_pic MurkrowFrontpic + dba_pic MurkrowBackpic + dba_pic SlowkingFrontpic + dba_pic SlowkingBackpic + dba_pic MisdreavusFrontpic + dba_pic MisdreavusBackpic ; Unown pics have their own table. See UnownPicPointers dbw -1, -1 dbw -1, -1 - add_pic WobbuffetFrontpic - add_pic WobbuffetBackpic - add_pic GirafarigFrontpic - add_pic GirafarigBackpic - add_pic PinecoFrontpic - add_pic PinecoBackpic - add_pic ForretressFrontpic - add_pic ForretressBackpic - add_pic DunsparceFrontpic - add_pic DunsparceBackpic - add_pic GligarFrontpic - add_pic GligarBackpic - add_pic SteelixFrontpic - add_pic SteelixBackpic - add_pic SnubbullFrontpic - add_pic SnubbullBackpic - add_pic GranbullFrontpic - add_pic GranbullBackpic - add_pic QwilfishFrontpic - add_pic QwilfishBackpic - add_pic ScizorFrontpic - add_pic ScizorBackpic - add_pic ShuckleFrontpic - add_pic ShuckleBackpic - add_pic HeracrossFrontpic - add_pic HeracrossBackpic - add_pic SneaselFrontpic - add_pic SneaselBackpic - add_pic TeddiursaFrontpic - add_pic TeddiursaBackpic - add_pic UrsaringFrontpic - add_pic UrsaringBackpic - add_pic SlugmaFrontpic - add_pic SlugmaBackpic - add_pic MagcargoFrontpic - add_pic MagcargoBackpic - add_pic SwinubFrontpic - add_pic SwinubBackpic - add_pic PiloswineFrontpic - add_pic PiloswineBackpic - add_pic CorsolaFrontpic - add_pic CorsolaBackpic - add_pic RemoraidFrontpic - add_pic RemoraidBackpic - add_pic OctilleryFrontpic - add_pic OctilleryBackpic - add_pic DelibirdFrontpic - add_pic DelibirdBackpic - add_pic MantineFrontpic - add_pic MantineBackpic - add_pic SkarmoryFrontpic - add_pic SkarmoryBackpic - add_pic HoundourFrontpic - add_pic HoundourBackpic - add_pic HoundoomFrontpic - add_pic HoundoomBackpic - add_pic KingdraFrontpic - add_pic KingdraBackpic - add_pic PhanpyFrontpic - add_pic PhanpyBackpic - add_pic DonphanFrontpic - add_pic DonphanBackpic - add_pic Porygon2Frontpic - add_pic Porygon2Backpic - add_pic StantlerFrontpic - add_pic StantlerBackpic - add_pic SmeargleFrontpic - add_pic SmeargleBackpic - add_pic TyrogueFrontpic - add_pic TyrogueBackpic - add_pic HitmontopFrontpic - add_pic HitmontopBackpic - add_pic SmoochumFrontpic - add_pic SmoochumBackpic - add_pic ElekidFrontpic - add_pic ElekidBackpic - add_pic MagbyFrontpic - add_pic MagbyBackpic - add_pic MiltankFrontpic - add_pic MiltankBackpic - add_pic BlisseyFrontpic - add_pic BlisseyBackpic - add_pic RaikouFrontpic - add_pic RaikouBackpic - add_pic EnteiFrontpic - add_pic EnteiBackpic - add_pic SuicuneFrontpic - add_pic SuicuneBackpic - add_pic LarvitarFrontpic - add_pic LarvitarBackpic - add_pic PupitarFrontpic - add_pic PupitarBackpic - add_pic TyranitarFrontpic - add_pic TyranitarBackpic - add_pic LugiaFrontpic - add_pic LugiaBackpic - add_pic HoOhFrontpic - add_pic HoOhBackpic - add_pic CelebiFrontpic - add_pic CelebiBackpic + dba_pic WobbuffetFrontpic + dba_pic WobbuffetBackpic + dba_pic GirafarigFrontpic + dba_pic GirafarigBackpic + dba_pic PinecoFrontpic + dba_pic PinecoBackpic + dba_pic ForretressFrontpic + dba_pic ForretressBackpic + dba_pic DunsparceFrontpic + dba_pic DunsparceBackpic + dba_pic GligarFrontpic + dba_pic GligarBackpic + dba_pic SteelixFrontpic + dba_pic SteelixBackpic + dba_pic SnubbullFrontpic + dba_pic SnubbullBackpic + dba_pic GranbullFrontpic + dba_pic GranbullBackpic + dba_pic QwilfishFrontpic + dba_pic QwilfishBackpic + dba_pic ScizorFrontpic + dba_pic ScizorBackpic + dba_pic ShuckleFrontpic + dba_pic ShuckleBackpic + dba_pic HeracrossFrontpic + dba_pic HeracrossBackpic + dba_pic SneaselFrontpic + dba_pic SneaselBackpic + dba_pic TeddiursaFrontpic + dba_pic TeddiursaBackpic + dba_pic UrsaringFrontpic + dba_pic UrsaringBackpic + dba_pic SlugmaFrontpic + dba_pic SlugmaBackpic + dba_pic MagcargoFrontpic + dba_pic MagcargoBackpic + dba_pic SwinubFrontpic + dba_pic SwinubBackpic + dba_pic PiloswineFrontpic + dba_pic PiloswineBackpic + dba_pic CorsolaFrontpic + dba_pic CorsolaBackpic + dba_pic RemoraidFrontpic + dba_pic RemoraidBackpic + dba_pic OctilleryFrontpic + dba_pic OctilleryBackpic + dba_pic DelibirdFrontpic + dba_pic DelibirdBackpic + dba_pic MantineFrontpic + dba_pic MantineBackpic + dba_pic SkarmoryFrontpic + dba_pic SkarmoryBackpic + dba_pic HoundourFrontpic + dba_pic HoundourBackpic + dba_pic HoundoomFrontpic + dba_pic HoundoomBackpic + dba_pic KingdraFrontpic + dba_pic KingdraBackpic + dba_pic PhanpyFrontpic + dba_pic PhanpyBackpic + dba_pic DonphanFrontpic + dba_pic DonphanBackpic + dba_pic Porygon2Frontpic + dba_pic Porygon2Backpic + dba_pic StantlerFrontpic + dba_pic StantlerBackpic + dba_pic SmeargleFrontpic + dba_pic SmeargleBackpic + dba_pic TyrogueFrontpic + dba_pic TyrogueBackpic + dba_pic HitmontopFrontpic + dba_pic HitmontopBackpic + dba_pic SmoochumFrontpic + dba_pic SmoochumBackpic + dba_pic ElekidFrontpic + dba_pic ElekidBackpic + dba_pic MagbyFrontpic + dba_pic MagbyBackpic + dba_pic MiltankFrontpic + dba_pic MiltankBackpic + dba_pic BlisseyFrontpic + dba_pic BlisseyBackpic + dba_pic RaikouFrontpic + dba_pic RaikouBackpic + dba_pic EnteiFrontpic + dba_pic EnteiBackpic + dba_pic SuicuneFrontpic + dba_pic SuicuneBackpic + dba_pic LarvitarFrontpic + dba_pic LarvitarBackpic + dba_pic PupitarFrontpic + dba_pic PupitarBackpic + dba_pic TyranitarFrontpic + dba_pic TyranitarBackpic + dba_pic LugiaFrontpic + dba_pic LugiaBackpic + dba_pic HoOhFrontpic + dba_pic HoOhBackpic + dba_pic CelebiFrontpic + dba_pic CelebiBackpic dbw -1, -1 ; unused dbw -1, -1 ; unused - add_pic EggPic + dba_pic EggPic dbw -1, -1 ; unused diff --git a/gfx/pics/unown_pic_pointers.asm b/gfx/pics/unown_pic_pointers.asm index c5072c903..1ae0da6b6 100644 --- a/gfx/pics/unown_pic_pointers.asm +++ b/gfx/pics/unown_pic_pointers.asm @@ -1,54 +1,54 @@ UnownPicPointers:: ; entries correspond to Unown letters, two apiece - add_pic UnownAFrontpic - add_pic UnownABackpic - add_pic UnownBFrontpic - add_pic UnownBBackpic - add_pic UnownCFrontpic - add_pic UnownCBackpic - add_pic UnownDFrontpic - add_pic UnownDBackpic - add_pic UnownEFrontpic - add_pic UnownEBackpic - add_pic UnownFFrontpic - add_pic UnownFBackpic - add_pic UnownGFrontpic - add_pic UnownGBackpic - add_pic UnownHFrontpic - add_pic UnownHBackpic - add_pic UnownIFrontpic - add_pic UnownIBackpic - add_pic UnownJFrontpic - add_pic UnownJBackpic - add_pic UnownKFrontpic - add_pic UnownKBackpic - add_pic UnownLFrontpic - add_pic UnownLBackpic - add_pic UnownMFrontpic - add_pic UnownMBackpic - add_pic UnownNFrontpic - add_pic UnownNBackpic - add_pic UnownOFrontpic - add_pic UnownOBackpic - add_pic UnownPFrontpic - add_pic UnownPBackpic - add_pic UnownQFrontpic - add_pic UnownQBackpic - add_pic UnownRFrontpic - add_pic UnownRBackpic - add_pic UnownSFrontpic - add_pic UnownSBackpic - add_pic UnownTFrontpic - add_pic UnownTBackpic - add_pic UnownUFrontpic - add_pic UnownUBackpic - add_pic UnownVFrontpic - add_pic UnownVBackpic - add_pic UnownWFrontpic - add_pic UnownWBackpic - add_pic UnownXFrontpic - add_pic UnownXBackpic - add_pic UnownYFrontpic - add_pic UnownYBackpic - add_pic UnownZFrontpic - add_pic UnownZBackpic + dba_pic UnownAFrontpic + dba_pic UnownABackpic + dba_pic UnownBFrontpic + dba_pic UnownBBackpic + dba_pic UnownCFrontpic + dba_pic UnownCBackpic + dba_pic UnownDFrontpic + dba_pic UnownDBackpic + dba_pic UnownEFrontpic + dba_pic UnownEBackpic + dba_pic UnownFFrontpic + dba_pic UnownFBackpic + dba_pic UnownGFrontpic + dba_pic UnownGBackpic + dba_pic UnownHFrontpic + dba_pic UnownHBackpic + dba_pic UnownIFrontpic + dba_pic UnownIBackpic + dba_pic UnownJFrontpic + dba_pic UnownJBackpic + dba_pic UnownKFrontpic + dba_pic UnownKBackpic + dba_pic UnownLFrontpic + dba_pic UnownLBackpic + dba_pic UnownMFrontpic + dba_pic UnownMBackpic + dba_pic UnownNFrontpic + dba_pic UnownNBackpic + dba_pic UnownOFrontpic + dba_pic UnownOBackpic + dba_pic UnownPFrontpic + dba_pic UnownPBackpic + dba_pic UnownQFrontpic + dba_pic UnownQBackpic + dba_pic UnownRFrontpic + dba_pic UnownRBackpic + dba_pic UnownSFrontpic + dba_pic UnownSBackpic + dba_pic UnownTFrontpic + dba_pic UnownTBackpic + dba_pic UnownUFrontpic + dba_pic UnownUBackpic + dba_pic UnownVFrontpic + dba_pic UnownVBackpic + dba_pic UnownWFrontpic + dba_pic UnownWBackpic + dba_pic UnownXFrontpic + dba_pic UnownXBackpic + dba_pic UnownYFrontpic + dba_pic UnownYBackpic + dba_pic UnownZFrontpic + dba_pic UnownZBackpic diff --git a/gfx/trainer_pic_pointers.asm b/gfx/trainer_pic_pointers.asm index fb1fe0755..201b44200 100644 --- a/gfx/trainer_pic_pointers.asm +++ b/gfx/trainer_pic_pointers.asm @@ -1,69 +1,69 @@ TrainerPicPointers:: ; entries correspond to trainer classes (see constants/trainer_constants.asm) - add_pic FalknerPic - add_pic WhitneyPic - add_pic BugsyPic - add_pic MortyPic - add_pic PrycePic - add_pic JasminePic - add_pic ChuckPic - add_pic ClairPic - add_pic Rival1Pic - add_pic PokemonProfPic - add_pic WillPic - add_pic CalPic - add_pic BrunoPic - add_pic KarenPic - add_pic KogaPic - add_pic ChampionPic - add_pic BrockPic - add_pic MistyPic - add_pic LtSurgePic - add_pic ScientistPic - add_pic ErikaPic - add_pic YoungsterPic - add_pic SchoolboyPic - add_pic BirdKeeperPic - add_pic LassPic - add_pic JaninePic - add_pic CooltrainermPic - add_pic CooltrainerfPic - add_pic BeautyPic - add_pic PokemaniacPic - add_pic GruntmPic - add_pic GentlemanPic - add_pic SkierPic - add_pic TeacherPic - add_pic SabrinaPic - add_pic BugCatcherPic - add_pic FisherPic - add_pic SwimmermPic - add_pic SwimmerfPic - add_pic SailorPic - add_pic SuperNerdPic - add_pic Rival2Pic - add_pic GuitaristPic - add_pic HikerPic - add_pic BikerPic - add_pic BlainePic - add_pic BurglarPic - add_pic FirebreatherPic - add_pic JugglerPic - add_pic BlackbeltTPic - add_pic ExecutivemPic - add_pic PsychicTPic - add_pic PicnickerPic - add_pic CamperPic - add_pic ExecutivefPic - add_pic SagePic - add_pic MediumPic - add_pic BoarderPic - add_pic PokefanmPic - add_pic KimonoGirlPic - add_pic TwinsPic - add_pic PokefanfPic - add_pic RedPic - add_pic BluePic - add_pic OfficerPic - add_pic GruntfPic - add_pic MysticalmanPic + dba_pic FalknerPic + dba_pic WhitneyPic + dba_pic BugsyPic + dba_pic MortyPic + dba_pic PrycePic + dba_pic JasminePic + dba_pic ChuckPic + dba_pic ClairPic + dba_pic Rival1Pic + dba_pic PokemonProfPic + dba_pic WillPic + dba_pic CalPic + dba_pic BrunoPic + dba_pic KarenPic + dba_pic KogaPic + dba_pic ChampionPic + dba_pic BrockPic + dba_pic MistyPic + dba_pic LtSurgePic + dba_pic ScientistPic + dba_pic ErikaPic + dba_pic YoungsterPic + dba_pic SchoolboyPic + dba_pic BirdKeeperPic + dba_pic LassPic + dba_pic JaninePic + dba_pic CooltrainermPic + dba_pic CooltrainerfPic + dba_pic BeautyPic + dba_pic PokemaniacPic + dba_pic GruntmPic + dba_pic GentlemanPic + dba_pic SkierPic + dba_pic TeacherPic + dba_pic SabrinaPic + dba_pic BugCatcherPic + dba_pic FisherPic + dba_pic SwimmermPic + dba_pic SwimmerfPic + dba_pic SailorPic + dba_pic SuperNerdPic + dba_pic Rival2Pic + dba_pic GuitaristPic + dba_pic HikerPic + dba_pic BikerPic + dba_pic BlainePic + dba_pic BurglarPic + dba_pic FirebreatherPic + dba_pic JugglerPic + dba_pic BlackbeltTPic + dba_pic ExecutivemPic + dba_pic PsychicTPic + dba_pic PicnickerPic + dba_pic CamperPic + dba_pic ExecutivefPic + dba_pic SagePic + dba_pic MediumPic + dba_pic BoarderPic + dba_pic PokefanmPic + dba_pic KimonoGirlPic + dba_pic TwinsPic + dba_pic PokefanfPic + dba_pic RedPic + dba_pic BluePic + dba_pic OfficerPic + dba_pic GruntfPic + dba_pic MysticalmanPic diff --git a/home.asm b/home.asm index 670f63f95..68d0fe70f 100644 --- a/home.asm +++ b/home.asm @@ -1035,13 +1035,8 @@ IsHM:: ; 34df ret ; 34e7 -IsHMMove:: ; 34e7 - ld hl, HMMoves - ld de, 1 - jp IsInArray - -INCLUDE "data/hm_moves.asm" +INCLUDE "home/hm_moves.asm" GetMoveName:: ; 34f8 diff --git a/home/hm_moves.asm b/home/hm_moves.asm new file mode 100644 index 000000000..082005186 --- /dev/null +++ b/home/hm_moves.asm @@ -0,0 +1,17 @@ +; HM moves can't be forgotten + +IsHMMove:: ; 34e7 + ld hl, .HMMoves + ld de, 1 + jp IsInArray + +.HMMoves: ; 34f0 + db CUT + db FLY + db SURF + db STRENGTH + db FLASH + db WATERFALL + db WHIRLPOOL + db -1 ; end +; 34f8 diff --git a/home/text.asm b/home/text.asm index a70424048..c78a9c0be 100644 --- a/home/text.asm +++ b/home/text.asm @@ -8,9 +8,6 @@ TEXTBOX_INNERX EQU TEXTBOX_X + 1 TEXTBOX_Y EQU SCREEN_HEIGHT - TEXTBOX_HEIGHT TEXTBOX_INNERY EQU TEXTBOX_Y + 2 -TEXTBOX_PAL EQU 7 - - ClearBox:: ; fb6 ; Fill a c*b box at hl with blank tiles. @@ -51,7 +48,7 @@ ClearTileMap:: ; fc8 ClearScreen:: ; fdb - ld a, TEXTBOX_PAL + ld a, PAL_BG_TEXT hlcoord 0, 0, AttrMap ld bc, SCREEN_WIDTH * SCREEN_HEIGHT call ByteFill @@ -133,7 +130,7 @@ TextBoxPalette:: ; 1024 inc b inc c inc c - ld a, TEXTBOX_PAL + ld a, PAL_BG_TEXT .col push bc push hl diff --git a/home/time.asm b/home/time.asm index 338168752..abdd34fe2 100644 --- a/home/time.asm +++ b/home/time.asm @@ -49,19 +49,16 @@ GetClock:: ; 5b7 ld [hl], RTC_S ld a, [de] maskbits 60 - and x ld [hRTCSeconds], a ld [hl], RTC_M ld a, [de] maskbits 60 - and x ld [hRTCMinutes], a ld [hl], RTC_H ld a, [de] maskbits 24 - and x ld [hRTCHours], a ld [hl], RTC_DL diff --git a/macros.asm b/macros.asm index 9b7bdf78c..7bd0d6c4d 100644 --- a/macros.asm +++ b/macros.asm @@ -1,320 +1,25 @@ INCLUDE "macros/enum.asm" -INCLUDE "macros/basestats.asm" -INCLUDE "macros/event.asm" -INCLUDE "macros/sound.asm" -INCLUDE "macros/text.asm" INCLUDE "macros/charmap.asm" -INCLUDE "macros/move_anim.asm" -INCLUDE "macros/movement.asm" -INCLUDE "macros/map.asm" -INCLUDE "macros/pic.asm" INCLUDE "macros/predef.asm" INCLUDE "macros/rst.asm" -INCLUDE "macros/mobile.asm" -INCLUDE "macros/trainer.asm" -INCLUDE "macros/trade_anim.asm" +INCLUDE "macros/data.asm" +INCLUDE "macros/code.asm" +INCLUDE "macros/coords.asm" +INCLUDE "macros/color.asm" +INCLUDE "macros/basestats.asm" INCLUDE "macros/tilesets.asm" -RGB: MACRO -rept _NARG / 3 - dw ((\3) << 10) + ((\2) << 5) + (\1) - shift - shift - shift -endr - ENDM +INCLUDE "macros/scripts/audio.asm" +INCLUDE "macros/scripts/maps.asm" +INCLUDE "macros/scripts/event.asm" +INCLUDE "macros/scripts/text.asm" +INCLUDE "macros/scripts/movement.asm" +INCLUDE "macros/scripts/move_anim.asm" +INCLUDE "macros/scripts/trade_anim.asm" +INCLUDE "macros/scripts/gfx_anim.asm" percent EQUS "* $ff / 100" - -dwb: MACRO - dw \1 - db \2 - ENDM - -dbw: MACRO - db \1 - dw \2 - ENDM - -dbbw: MACRO - db \1, \2 - dw \3 - ENDM - -dbww: MACRO - db \1 - dw \2, \3 - ENDM - -dbwww: MACRO - db \1 - dw \2, \3, \4 - ENDM - -dn: MACRO - rept _NARG / 2 - db (\1) << 4 + (\2) - shift - shift - endr - ENDM - -dx: MACRO -x = 8 * ((\1) - 1) - rept \1 - db ((\2) >> x) & $ff -x = x + -8 - endr - ENDM - -dt: MACRO ; three-byte (big-endian) - dx 3, \1 - ENDM - -dd: MACRO ; four-byte (big-endian) - dx 4, \1 - ENDM - -bigdw: MACRO ; big-endian word - dx 2, \1 - ENDM - -dba: MACRO ; dbw bank, address - rept _NARG - dbw BANK(\1), \1 - shift - endr - ENDM - -dab: MACRO ; dwb address, bank - rept _NARG - dwb \1, BANK(\1) - shift - endr - ENDM - -lb: MACRO ; r, hi, lo - ld \1, (\2 & $ff) << 8 + (\3 & $ff) - ENDM - -ln: MACRO ; r, hi, lo - ld \1, (\2 & $f) << 4 + (\3 & $f) - ENDM - -bccoord equs "coord bc," -decoord equs "coord de," -hlcoord equs "coord hl," - -coord: MACRO -; register, x, y[, origin] - if _NARG < 4 - ld \1, TileMap + SCREEN_WIDTH * (\3) + (\2) - else - ld \1, \4 + SCREEN_WIDTH * (\3) + (\2) - endc - ENDM - -dwcoord: MACRO - rept _NARG / 2 - dw TileMap + SCREEN_WIDTH * (\2) + (\1) - shift - shift - endr - ENDM - -ldcoord_a: MACRO - if _NARG < 3 - ld [TileMap + SCREEN_WIDTH * (\2) + (\1)], a - else - ld [\3 + SCREEN_WIDTH * (\2) + (\1)], a - endc - ENDM - -lda_coord: MACRO - if _NARG < 3 - ld a, [TileMap + SCREEN_WIDTH * (\2) + (\1)] - else - ld a, [\3 + SCREEN_WIDTH * (\2) + (\1)] - endc - ENDM - -; pic animations -frame: MACRO - db \1 -x = \2 -IF _NARG > 2 -rept _NARG +- 2 -x = x | (1 << (\3 + 1)) - shift -endr -endc - db x - ENDM -setrepeat: MACRO - db $fe - db \1 - ENDM -dorepeat: MACRO - db $fd - db \1 - ENDM -endanim: MACRO - db $ff - ENDM - - -delanim: MACRO - db $fc - ENDM -dorestart: MACRO - db $fe - ENDM - -sine_wave: MACRO -; \1: amplitude - -x = 0 - rept $20 - ; Round up. - dw (sin(x) + (sin(x) & $ff)) >> 8 -x = x + (\1) * $40000 - endr -ENDM - - -bcd: MACRO - rept _NARG - dn ((\1) % 100) / 10, (\1) % 10 - shift - endr -ENDM - tiles EQUS "* $10" -tile EQUS "+ $10 *" - -partymon: MACRO - db \1 - db \2 - db \3, \4, \5, \6 - dw \7 - dt \8 -rept 8 - shift -endr -rept 5 - bigdw \1 - shift -endr - db \1, \2 - db \3, \4, \5, \6 -rept 6 - shift -endr - db \1 - db \2, \3, \4 - db \5 - db \6, \7 -rept 7 - shift -endr -rept 7 - bigdw \1 - shift -endr - db \1 -ENDM - -palettes EQUS "* 8" -palette EQUS "+ 8 *" - -ldpixel: MACRO -if _NARG >= 5 - lb \1, \2 * 8 + \4, \3 * 8 + \5 -else - lb \1, \2 * 8, \3 * 8 -endc -endm - -depixel EQUS "ldpixel de," -bcpixel EQUS "ldpixel bc," - -dbpixel: MACRO -if _NARG >= 4 - db \1 * 8 + \3, \2 * 8 + \4 -else - db \1 * 8, \2 * 8 -endc -endm - -bgcoord: MACRO -IF _NARG >= 4 - ld \1, \3 * $20 + \2 + \4 -ELSE - ld \1, \3 * $20 + \2 + VBGMap0 -ENDC -ENDM - -hlbgcoord EQUS "bgcoord hl," -debgcoord EQUS "bgcoord de," -bcbgcoord EQUS "bgcoord bc," -bgrows EQUS "* $20" - -palred EQUS "$0001 *" -palgreen EQUS "$0020 *" -palblue EQUS "$0400 *" - -dsprite: MACRO -; conditional segment is there because not every instance of -; this macro is directly OAM -if _NARG >= 7 ; y tile, y pxl, x tile, x pxl, vtile offset, flags, palette - db (\1 * 8) % $100 + \2, (\3 * 8) % $100 + \4, \5, (\6 << 3) + (\7 & 7) -else - db (\1 * 8) % $100 + \2, (\3 * 8) % $100 + \4, \5, \6 -endc -endm - -jumptable: MACRO - ld a, [\2] - ld e, a - ld d, 0 - ld hl, \1 - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp hl -endm - -maskbits: macro -; returns to x -; usage in rejection sampling -; .loop -; call Random -; maskbits 30 -; and x -; cp 30 -; jr nc, .loop - -x = 1 -rept 8 -IF \1 > x -x = (x + 1) * 2 +- 1 -ENDC -endr -endm - -homecall: MACRO - ld a, [hROMBank] - push af - ld a, BANK(\1) - rst Bankswitch - - call \1 - - pop af - rst Bankswitch -ENDM - +tile EQUS "+ $10 *" diff --git a/macros/basestats.asm b/macros/basestats.asm index f3e98b64a..1aa4f39c6 100644 --- a/macros/basestats.asm +++ b/macros/basestats.asm @@ -1,3 +1,5 @@ +; Used in data/base_stats/*.asm + define: macro if !def(\1) \1 equs \2 diff --git a/macros/code.asm b/macros/code.asm new file mode 100644 index 000000000..5e247e9a3 --- /dev/null +++ b/macros/code.asm @@ -0,0 +1,55 @@ +; Syntactic sugar macros + +lb: MACRO ; r, hi, lo + ld \1, (\2 & $ff) << 8 + (\3 & $ff) + ENDM + +ln: MACRO ; r, hi, lo + ld \1, (\2 & $f) << 4 + (\3 & $f) + ENDM + +ldpixel: MACRO +if _NARG >= 5 + lb \1, \2 * 8 + \4, \3 * 8 + \5 +else + lb \1, \2 * 8, \3 * 8 +endc +endm + +depixel EQUS "ldpixel de," +bcpixel EQUS "ldpixel bc," + + +; Design patterns + +jumptable: MACRO + ld a, [\2] + ld e, a + ld d, 0 + ld hl, \1 + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp hl +endm + +; Many mobile functions were dummied out in localization. +mobile EQUS "ret" + +maskbits: macro +; example usage in rejection sampling: +; .loop +; call Random +; maskbits 30 +; cp 30 +; jr nc, .loop +x = 1 +rept 8 +IF \1 > x +x = (x + 1) * 2 +- 1 +ENDC +endr + and x +endm diff --git a/macros/color.asm b/macros/color.asm new file mode 100644 index 000000000..35d69fe6f --- /dev/null +++ b/macros/color.asm @@ -0,0 +1,15 @@ +RGB: MACRO +rept _NARG / 3 + dw ((\3) << 10) + ((\2) << 5) + (\1) + shift + shift + shift +endr +ENDM + +palettes EQUS "* 8" +palette EQUS "+ 8 *" + +palred EQUS "$0001 *" +palgreen EQUS "$0020 *" +palblue EQUS "$0400 *" diff --git a/macros/coords.asm b/macros/coords.asm new file mode 100644 index 000000000..2a672c3d0 --- /dev/null +++ b/macros/coords.asm @@ -0,0 +1,51 @@ +bccoord equs "coord bc," +decoord equs "coord de," +hlcoord equs "coord hl," + +coord: MACRO +; register, x, y[, origin] + if _NARG < 4 + ld \1, TileMap + SCREEN_WIDTH * (\3) + (\2) + else + ld \1, \4 + SCREEN_WIDTH * (\3) + (\2) + endc + ENDM + +dwcoord: MACRO + rept _NARG / 2 + dw TileMap + SCREEN_WIDTH * (\2) + (\1) + shift + shift + endr + ENDM + +ldcoord_a: MACRO + if _NARG < 3 + ld [TileMap + SCREEN_WIDTH * (\2) + (\1)], a + else + ld [\3 + SCREEN_WIDTH * (\2) + (\1)], a + endc + ENDM + +lda_coord: MACRO + if _NARG < 3 + ld a, [TileMap + SCREEN_WIDTH * (\2) + (\1)] + else + ld a, [\3 + SCREEN_WIDTH * (\2) + (\1)] + endc + ENDM + + +bgrows EQUS "* $20" ; SCREEN_WIDTH + +hlbgcoord EQUS "bgcoord hl," +debgcoord EQUS "bgcoord de," +bcbgcoord EQUS "bgcoord bc," + +bgcoord: MACRO +IF _NARG >= 4 + ld \1, \3 bgrows + \2 + \4 +ELSE + ld \1, \3 bgrows + \2 + VBGMap0 +ENDC +ENDM diff --git a/macros/data.asm b/macros/data.asm new file mode 100644 index 000000000..cf4af0338 --- /dev/null +++ b/macros/data.asm @@ -0,0 +1,121 @@ +; Constant data (db, dw, dl) macros + +dwb: MACRO + dw \1 + db \2 + ENDM + +dbw: MACRO + db \1 + dw \2 + ENDM + +dbbw: MACRO + db \1, \2 + dw \3 + ENDM + +dbww: MACRO + db \1 + dw \2, \3 + ENDM + +dbwww: MACRO + db \1 + dw \2, \3, \4 + ENDM + +dn: MACRO ; nybbles + rept _NARG / 2 + db ((\1) << 4) | (\2) + shift + shift + endr + ENDM + +dc: MACRO ; "crumbs" + rept _NARG / 4 + db ((\1) << 6) | ((\2) << 4) | ((\3) << 2) | (\4) + shift + shift + shift + shift + endr + ENDM + +dx: MACRO +x = 8 * ((\1) - 1) + rept \1 + db ((\2) >> x) & $ff +x = x + -8 + endr + ENDM + +dt: MACRO ; three-byte (big-endian) + dx 3, \1 + ENDM + +dd: MACRO ; four-byte (big-endian) + dx 4, \1 + ENDM + +bigdw: MACRO ; big-endian word + dx 2, \1 + ENDM + +dba: MACRO ; dbw bank, address + rept _NARG + dbw BANK(\1), \1 + shift + endr + ENDM + +dab: MACRO ; dwb address, bank + rept _NARG + dwb \1, BANK(\1) + shift + endr + ENDM + +dba_pic: MACRO ; dbw bank, address + db BANK(\1) - PICS_FIX + dw \1 +ENDM + + +dbpixel: MACRO +if _NARG >= 4 + db \1 * 8 + \3, \2 * 8 + \4 +else + db \1 * 8, \2 * 8 +endc +endm + +dsprite: MACRO +; conditional segment is there because not every instance of +; this macro is directly OAM +if _NARG >= 7 ; y tile, y pxl, x tile, x pxl, vtile offset, flags, palette + db (\1 * 8) % $100 + \2, (\3 * 8) % $100 + \4, \5, (\6 << 3) + (\7 & 7) +else + db (\1 * 8) % $100 + \2, (\3 * 8) % $100 + \4, \5, \6 +endc +endm + + +sine_wave: MACRO +; \1: amplitude +x = 0 + rept $20 + ; Round up. + dw (sin(x) + (sin(x) & $ff)) >> 8 +x = x + (\1) * $40000 + endr +ENDM + + +bcd: MACRO + rept _NARG + dn ((\1) % 100) / 10, (\1) % 10 + shift + endr +ENDM diff --git a/macros/event.asm b/macros/event.asm deleted file mode 100644 index b00b6a6da..000000000 --- a/macros/event.asm +++ /dev/null @@ -1,1069 +0,0 @@ -; ScriptCommandTable indexes (see engine/scripting.asm) - enum_start - - enum scall_command -scall: macro - db scall_command - dw \1 ; pointer - endm - - enum farscall_command -farscall: macro - db farscall_command - dba \1 - endm - - enum ptcall_command -ptcall: macro - db ptcall_command - dw \1 ; pointer - endm - - enum jump_command -jump: macro - db jump_command - dw \1 ; pointer - endm - - enum farjump_command -farjump: macro - db farjump_command - dba \1 - endm - - enum ptjump_command -ptjump: macro - db ptjump_command - dw \1 ; pointer - endm - - enum if_equal_command -if_equal: macro - db if_equal_command - db \1 ; byte - dw \2 ; pointer - endm - - enum if_not_equal_command -if_not_equal: macro - db if_not_equal_command - db \1 ; byte - dw \2 ; pointer - endm - - enum iffalse_command -iffalse: macro - db iffalse_command - dw \1 ; pointer - endm - - enum iftrue_command -iftrue: macro - db iftrue_command - dw \1 ; pointer - endm - - enum if_greater_than_command -if_greater_than: macro - db if_greater_than_command - db \1 ; byte - dw \2 ; pointer - endm - - enum if_less_than_command -if_less_than: macro - db if_less_than_command - db \1 ; byte - dw \2 ; pointer - endm - - enum jumpstd_command -jumpstd: macro - db jumpstd_command - dw \1 ; predefined_script - endm - - enum callstd_command -callstd: macro - db callstd_command - dw \1 ; predefined_script - endm - - enum callasm_command -callasm: macro - db callasm_command - dba \1 - endm - - enum special_command -special: macro - db special_command - dw (\1Special - SpecialsPointers) / 3 - endm - -add_special: MACRO -\1Special:: - dba \1 -ENDM - - enum ptcallasm_command -ptcallasm: macro - db ptcallasm_command - dw \1 ; asm - endm - - enum checkmaptriggers_command -checkmaptriggers: macro - db checkmaptriggers_command - map \1 ; map - endm - - enum domaptrigger_command -domaptrigger: macro - db domaptrigger_command - map \1 ; map - db \2 ; trigger_id - endm - - enum checktriggers_command -checktriggers: macro - db checktriggers_command - endm - - enum dotrigger_command -dotrigger: macro - db dotrigger_command - db \1 ; trigger_id - endm - - enum writebyte_command -writebyte: macro - db writebyte_command - db \1 ; value - endm - - enum addvar_command -addvar: macro - db addvar_command - db \1 ; value - endm - - enum random_command -random: macro - db random_command - db \1 ; input - endm - - enum checkver_command -checkver: macro - db checkver_command - endm - - enum copybytetovar_command -copybytetovar: macro - db copybytetovar_command - dw \1 ; address - endm - - enum copyvartobyte_command -copyvartobyte: macro - db copyvartobyte_command - dw \1 ; address - endm - - enum loadvar_command -loadvar: macro - db loadvar_command - dw \1 ; address - db \2 ; value - endm - - enum checkcode_command -checkcode: macro - db checkcode_command - db \1 ; variable_id - endm - - enum writevarcode_command -writevarcode: macro - db writevarcode_command - db \1 ; variable_id - endm - - enum writecode_command -writecode: macro - db writecode_command - db \1 ; variable_id - db \2 ; value - endm - - enum giveitem_command -giveitem: macro - db giveitem_command - db \1 ; item -if _NARG == 2 - db \2 ; quantity -else - db 1 -endc - endm - - enum takeitem_command -takeitem: macro - db takeitem_command - db \1 ; item -if _NARG == 2 - db \2 ; quantity -else - db 1 -endc - endm - - enum checkitem_command -checkitem: macro - db checkitem_command - db \1 ; item - endm - - enum givemoney_command -givemoney: macro - db givemoney_command - db \1 ; account - dt \2 ; money - endm - - enum takemoney_command -takemoney: macro - db takemoney_command - db \1 ; account - dt \2 ; money - endm - - enum checkmoney_command -checkmoney: macro - db checkmoney_command - db \1 ; account - dt \2 ; money - endm - - enum givecoins_command -givecoins: macro - db givecoins_command - dw \1 ; coins - endm - - enum takecoins_command -takecoins: macro - db takecoins_command - dw \1 ; coins - endm - - enum checkcoins_command -checkcoins: macro - db checkcoins_command - dw \1 ; coins - endm - - enum addcellnum_command -addcellnum: macro - db addcellnum_command - db \1 ; person - endm - - enum delcellnum_command -delcellnum: macro - db delcellnum_command - db \1 ; person - endm - - enum checkcellnum_command -checkcellnum: macro - db checkcellnum_command - db \1 ; person - endm - - enum checktime_command -checktime: macro - db checktime_command - db \1 ; time - endm - -checkmorn EQUS "checktime MORN" -checkday EQUS "checktime DAY" -checknite EQUS "checktime NITE" - - enum checkpoke_command -checkpoke: macro - db checkpoke_command - db \1 ; pkmn - endm - - enum givepoke_command -givepoke: macro - db givepoke_command - db \1 ; pokemon - db \2 ; level - if _NARG >= 3 - db \3 ; item - if _NARG >= 4 - db \4 ; trainer - if \4 - dw \5 ; trainer_name_pointer - dw \6 ; pkmn_nickname - endc - else - db 0 - endc - else - db 0, 0 - endc - endm - - enum giveegg_command -giveegg: macro - db giveegg_command - db \1 ; pkmn - db \2 ; level - endm - - enum givepokeitem_command -givepokeitem: macro - db givepokeitem_command - dw \1 ; pointer - endm - - enum checkpokeitem_command -checkpokeitem: macro - db checkpokeitem_command - dw \1 ; pointer - endm - - enum checkevent_command -checkevent: macro - db checkevent_command - dw \1 ; event_flag - endm - - enum clearevent_command -clearevent: macro - db clearevent_command - dw \1 ; event_flag - endm - - enum setevent_command -setevent: macro - db setevent_command - dw \1 ; event_flag - endm - - enum checkflag_command -checkflag: macro - db checkflag_command - dw \1 ; engine_flag - endm - - enum clearflag_command -clearflag: macro - db clearflag_command - dw \1 ; engine_flag - endm - - enum setflag_command -setflag: macro - db setflag_command - dw \1 ; engine_flag - endm - - enum wildon_command -wildon: macro - db wildon_command - endm - - enum wildoff_command -wildoff: macro - db wildoff_command - endm - - enum xycompare_command -xycompare: macro - db xycompare_command - dw \1 ; pointer - endm - - enum warpmod_command -warpmod: macro - db warpmod_command - db \1 ; warp_id - map \2 ; map - endm - - enum blackoutmod_command -blackoutmod: macro - db blackoutmod_command - map \1 ; map - endm - - enum warp_command -warp: macro - db warp_command - map \1 ; map - db \2 ; x - db \3 ; y - endm - - enum readmoney_command -readmoney: macro - db readmoney_command - db \1 ; account - db \2 ; memory - endm - - enum readcoins_command -readcoins: macro - db readcoins_command - db \1 ; memory - endm - - enum RAM2MEM_command -RAM2MEM: macro - db RAM2MEM_command - db \1 ; memory - endm - - enum pokenamemem_command -pokenamemem: macro - db pokenamemem_command - db \1 ; pokemon - db \2 ; memory - endm - - enum itemtotext_command -itemtotext: macro - db itemtotext_command - db \1 ; item - db \2 ; memory - endm - - enum mapnametotext_command -mapnametotext: macro - db mapnametotext_command - db \1 ; memory - endm - - enum trainertotext_command -trainertotext: macro - db trainertotext_command - db \1 ; trainer_id - db \2 ; trainer_group - db \3 ; memory - endm - - enum stringtotext_command -stringtotext: macro - db stringtotext_command - dw \1 ; text_pointer - db \2 ; memory - endm - - enum itemnotify_command -itemnotify: macro - db itemnotify_command - endm - - enum pocketisfull_command -pocketisfull: macro - db pocketisfull_command - endm - - enum opentext_command -opentext: macro - db opentext_command - endm - - enum refreshscreen_command -refreshscreen: macro - db refreshscreen_command - db \1 ; dummy - endm - - enum closetext_command -closetext: macro - db closetext_command - endm - - enum loadbytec2cf_command -loadbytec2cf: macro - db loadbytec2cf_command - db \1 ; byte - endm - - enum farwritetext_command -farwritetext: macro - db farwritetext_command - dba \1 - endm - - enum writetext_command -writetext: macro - db writetext_command - dw \1 ; text_pointer - endm - - enum repeattext_command -repeattext: macro - db repeattext_command - db \1 ; byte - db \2 ; byte - endm - - enum yesorno_command -yesorno: macro - db yesorno_command - endm - - enum loadmenudata_command -loadmenudata: macro - db loadmenudata_command - dw \1 ; data - endm - - enum closewindow_command -closewindow: macro - db closewindow_command - endm - - enum jumptextfaceplayer_command -jumptextfaceplayer: macro - db jumptextfaceplayer_command - dw \1 ; text_pointer - endm - -; IF _CRYSTAL - enum farjumptext_command -farjumptext: macro - db farjumptext_command - dba \1 - endm -; ENDC - - enum jumptext_command -jumptext: macro - db jumptext_command - dw \1 ; text_pointer - endm - - enum waitbutton_command -waitbutton: macro - db waitbutton_command - endm - - enum buttonsound_command -buttonsound: macro - db buttonsound_command - endm - - enum pokepic_command -pokepic: macro - db pokepic_command - db \1 ; pokemon - endm - - enum closepokepic_command -closepokepic: macro - db closepokepic_command - endm - - enum _2dmenu_command -_2dmenu: macro - db _2dmenu_command - endm - - enum verticalmenu_command -verticalmenu: macro - db verticalmenu_command - endm - - enum loadpikachudata_command -loadpikachudata: macro - db loadpikachudata_command - endm - - enum randomwildmon_command -randomwildmon: macro - db randomwildmon_command - endm - - enum loadmemtrainer_command -loadmemtrainer: macro - db loadmemtrainer_command - endm - - enum loadwildmon_command -loadwildmon: macro - db loadwildmon_command - db \1 ; pokemon - db \2 ; level - endm - - enum loadtrainer_command -loadtrainer: macro - db loadtrainer_command - db \1 ; trainer_group - db \2 ; trainer_id - endm - - enum startbattle_command -startbattle: macro - db startbattle_command - endm - - enum reloadmapafterbattle_command -reloadmapafterbattle: macro - db reloadmapafterbattle_command - endm - - enum catchtutorial_command -catchtutorial: macro - db catchtutorial_command - db \1 ; byte - endm - - enum trainertext_command -trainertext: macro - db trainertext_command - db \1 ; which_text - endm - - enum trainerflagaction_command -trainerflagaction: macro - db trainerflagaction_command - db \1 ; action - endm - - enum winlosstext_command -winlosstext: macro - db winlosstext_command - dw \1 ; win_text_pointer - dw \2 ; loss_text_pointer - endm - - enum scripttalkafter_command -scripttalkafter: macro - db scripttalkafter_command - endm - - enum end_if_just_battled_command -end_if_just_battled: macro - db end_if_just_battled_command - endm - - enum check_just_battled_command -check_just_battled: macro - db check_just_battled_command - endm - - enum setlasttalked_command -setlasttalked: macro - db setlasttalked_command - db \1 ; person - endm - - enum applymovement_command -applymovement: macro - db applymovement_command - db \1 ; person - dw \2 ; data - endm - - enum applymovement2_command -applymovement2: macro - db applymovement2_command - dw \1 ; data - endm - - enum faceplayer_command -faceplayer: macro - db faceplayer_command - endm - - enum faceperson_command -faceperson: macro - db faceperson_command - db \1 ; person1 - db \2 ; person2 - endm - - enum variablesprite_command -variablesprite: macro - db variablesprite_command - db \1 - SPRITE_VARS ; byte - db \2 ; sprite - endm - - enum disappear_command -disappear: macro - db disappear_command - db \1 ; person - endm - - enum appear_command -appear: macro - db appear_command - db \1 ; person - endm - - enum follow_command -follow: macro - db follow_command - db \1 ; person2 - db \2 ; person1 - endm - - enum stopfollow_command -stopfollow: macro - db stopfollow_command - endm - - enum moveperson_command -moveperson: macro - db moveperson_command - db \1 ; person - db \2 ; x - db \3 ; y - endm - - enum writepersonxy_command -writepersonxy: macro - db writepersonxy_command - db \1 ; person - endm - - enum loademote_command -loademote: macro - db loademote_command - db \1 ; bubble - endm - - enum showemote_command -showemote: macro - db showemote_command - db \1 ; bubble - db \2 ; person - db \3 ; time - endm - - enum spriteface_command -spriteface: macro - db spriteface_command - db \1 ; person - db \2 ; facing - endm - - enum follownotexact_command -follownotexact: macro - db follownotexact_command - db \1 ; person2 - db \2 ; person1 - endm - - enum earthquake_command -earthquake: macro - db earthquake_command - db \1 ; param - endm - - enum changemap_command -changemap: macro - db changemap_command - db \1 ; map_bank - dw \2 ; map_data_pointer - endm - - enum changeblock_command -changeblock: macro - db changeblock_command - db \1 ; x - db \2 ; y - db \3 ; block - endm - - enum reloadmap_command -reloadmap: macro - db reloadmap_command - endm - - enum reloadmappart_command -reloadmappart: macro - db reloadmappart_command - endm - - enum writecmdqueue_command -writecmdqueue: macro - db writecmdqueue_command - dw \1 ; queue_pointer - endm - - enum delcmdqueue_command -delcmdqueue: macro - db delcmdqueue_command - db \1 ; byte - endm - - enum playmusic_command -playmusic: macro - db playmusic_command - dw \1 ; music_pointer - endm - - enum encountermusic_command -encountermusic: macro - db encountermusic_command - endm - - enum musicfadeout_command -musicfadeout: macro - db musicfadeout_command - dw \1 ; music - db \2 ; fadetime - endm - - enum playmapmusic_command -playmapmusic: macro - db playmapmusic_command - endm - - enum dontrestartmapmusic_command -dontrestartmapmusic: macro - db dontrestartmapmusic_command - endm - - enum cry_command -cry: macro - db cry_command - dw \1 ; cry_id - endm - - enum playsound_command -playsound: macro - db playsound_command - dw \1 ; sound_pointer - endm - - enum waitsfx_command -waitsfx: macro - db waitsfx_command - endm - - enum warpsound_command -warpsound: macro - db warpsound_command - endm - - enum specialsound_command -specialsound: macro - db specialsound_command - endm - - enum passtoengine_command -passtoengine: macro - db passtoengine_command - db \1 ; data_pointer - endm - - enum newloadmap_command -newloadmap: macro - db newloadmap_command - db \1 ; which_method - endm - - enum pause_command -pause: macro - db pause_command - db \1 ; length - endm - - enum deactivatefacing_command -deactivatefacing: macro - db deactivatefacing_command - db \1 ; time - endm - - enum priorityjump_command -priorityjump: macro - db priorityjump_command - dw \1 ; pointer - endm - - enum warpcheck_command -warpcheck: macro - db warpcheck_command - endm - - enum ptpriorityjump_command -ptpriorityjump: macro - db ptpriorityjump_command - dw \1 ; pointer - endm - - enum return_command -return: macro - db return_command - endm - - enum end_command -end: macro - db end_command - endm - - enum reloadandreturn_command -reloadandreturn: macro - db reloadandreturn_command - db \1 ; which_method - endm - - enum end_all_command -end_all: macro - db end_all_command - endm - - enum pokemart_command -pokemart: macro - db pokemart_command - db \1 ; dialog_id - dw \2 ; mart_id - endm - - enum elevator_command -elevator: macro - db elevator_command - dw \1 ; floor_list_pointer - endm - - enum trade_command -trade: macro - db trade_command - db \1 ; trade_id - endm - - enum askforphonenumber_command -askforphonenumber: macro - db askforphonenumber_command - db \1 ; number - endm - - enum phonecall_command -phonecall: macro - db phonecall_command - dw \1 ; caller_name - endm - - enum hangup_command -hangup: macro - db hangup_command - endm - - enum describedecoration_command -describedecoration: macro - db describedecoration_command - db \1 ; byte - endm - - enum fruittree_command -fruittree: macro - db fruittree_command - db \1 ; tree_id - endm - - enum specialphonecall_command -specialphonecall: macro - db specialphonecall_command - dw \1 ; call_id - endm - - enum checkphonecall_command -checkphonecall: macro - db checkphonecall_command - endm - - enum verbosegiveitem_command -verbosegiveitem: macro - db verbosegiveitem_command - db \1 ; item -if _NARG == 2 - db \2 ; quantity -else - db 1 -endc - endm - - enum verbosegiveitem2_command -verbosegiveitem2: macro - db verbosegiveitem2_command - db \1 ; item - db \2 ; var - endm - - enum swarm_command -swarm: macro - db swarm_command - db \1 ; flag - map \2 ; map - endm - - enum halloffame_command -halloffame: macro - db halloffame_command - endm - - enum credits_command -credits: macro - db credits_command - endm - - enum warpfacing_command -warpfacing: macro - db warpfacing_command - db \1 ; facing - map \2 ; map - db \3 ; x - db \4 ; y - endm - - enum battletowertext_command -battletowertext: macro - db battletowertext_command - db \1 ; memory - endm - - enum landmarktotext_command -landmarktotext: macro - db landmarktotext_command - db \1 ; id - db \2 ; memory - endm - - enum trainerclassname_command -trainerclassname: macro - db trainerclassname_command - db \1 ; id - db \2 ; memory - endm - - enum name_command -name: macro - db name_command - db \1 ; type - db \2 ; id - db \3 ; memory - endm - - enum wait_command -wait: macro - db wait_command - db \1 ; duration - endm - - enum check_save_command -check_save: macro - db check_save_command - endm diff --git a/macros/map.asm b/macros/map.asm deleted file mode 100644 index f153806da..000000000 --- a/macros/map.asm +++ /dev/null @@ -1,211 +0,0 @@ -map: macro -;\1: map id - db GROUP_\1, MAP_\1 -endm - -maptrigger: macro -;\1: script pointer - dw \1, 0 -endm - -warp_def: macro -;\1: y: top to bottom, starts at 0 -;\2: x: left to right, starts at 0 -;\3: warp destination: starts at 1 -;\4: map id: from constants/map_constants.asm - db \1, \2, \3 - map \4 -endm - -xy_trigger: macro -;\1: number: controlled by dotrigger/domaptrigger -;\2: y: top to bottom, starts at 0 -;\3: x: left to right, starts at 0 -;\4: script pointer - db \1, \2, \3, $0 - dw \4 - db $0, $0 -endm - -signpost: macro -;\1: y: top to bottom, starts at 0 -;\2: x: left to right, starts at 0 -;\3: function: a SIGNPOST_* constant -;\4: script pointer - db \1, \2, \3 - dw \4 -endm - -person_event: macro -;\1: sprite: a SPRITE_* constant -;\2: y: top to bottom, starts at 0 -;\3: x: left to right, starts at 0 -;\4: movement function: a SPRITEMOVEDATA_* constant -;\5, \6: movement radius: y, x -;\7: clock hour: ??? -;\8: clock daytime: sum of MORN, DAY, and/or NITE, or 0 for always -;\9: color: a PAL_NPC_* constant, or 0 for sprite default -;\10: function: a PERSONTYPE_* constant -;\11: sight range: applies to PERSONTYPE_TRAINER -;\12: script pointer -;\13: event flag: an EVENT_* constant, or 0 for always - db \1, \2 + 4, \3 + 4, \4 - dn \5, \6 - db \7, \8 - shift - dn \8, \9 - shift - db \9 - shift - dw \9 - shift - dw \9 -endm - - -newgroup: macro -const_value = const_value + 1 - enum_start 1 -endm - -mapgroup: macro -;\1: map id -;\2: height: in blocks -;\3: width: in blocks -GROUP_\1 EQU const_value - enum MAP_\1 -\1_HEIGHT EQU \2 -\1_WIDTH EQU \3 -endm - - -map_header: macro -;\1: map label -;\2: tileset: a TILESET_* constant -;\3: permission: TOWN, ROUTE, INDOOR, CAVE, PERM_5, GATE, or DUNGEON -;\4: location: from constants/landmark_constants.asm -;\5: music: a MUSIC_* constant -;\6: phone service flag: 1 to prevent phone calls -;\7: time of day: a PALETTE_* constant -;\8: fishing group: a FISHGROUP_* constant -\1_MapHeader: - db BANK(\1_SecondMapHeader), \2, \3 - dw \1_SecondMapHeader - db \4, \5 - dn \6, \7 - db \8 -endm - - -map_header_2: macro -;\1: map label -;\2: map id -;\3: border block -;\4: connections: sum of NORTH, SOUTH, WEST, and/or EAST, or 0 for none -\1_SecondMapHeader:: - db \3 - db \2_HEIGHT, \2_WIDTH - db BANK(\1_BlockData) - dw \1_BlockData - db BANK(\1_MapScriptHeader) - dw \1_MapScriptHeader - dw \1_MapEventHeader - db \4 -endm - -connection: macro -if "\1" == "north" -;\2: map id -;\3: map label (eventually will be rolled into map id) -;\4: x -;\5: offset? -;\6: strip length -;\7: this map id - map \2 - dw \3_BlockData + \2_WIDTH * (\2_HEIGHT - 3) + \5 - dw OverworldMap + \4 + 3 - db \6 - db \2_WIDTH - db \2_HEIGHT * 2 - 1 - db (\4 - \5) * -2 - dw OverworldMap + \2_HEIGHT * (\2_WIDTH + 6) + 1 -endc - -if "\1" == "south" -;\2: map id -;\3: map label (eventually will be rolled into map id) -;\4: x -;\5: offset? -;\6: strip length -;\7: this map id - map \2 - dw \3_BlockData + \5 - dw OverworldMap + (\7_HEIGHT + 3) * (\7_WIDTH + 6) + \4 + 3 - db \6 - db \2_WIDTH - db 0 - db (\4 - \5) * -2 - dw OverworldMap + \2_WIDTH + 7 -endc - -if "\1" == "west" -;\2: map id -;\3: map label (eventually will be rolled into map id) -;\4: y -;\5: offset? -;\6: strip length -;\7: this map id - map \2 - dw \3_BlockData + (\2_WIDTH * \5) + \2_WIDTH - 3 - dw OverworldMap + (\7_WIDTH + 6) * (\4 + 3) - db \6 - db \2_WIDTH - db (\4 - \5) * -2 - db \2_WIDTH * 2 - 1 - dw OverworldMap + \2_WIDTH * 2 + 6 -endc - -if "\1" == "east" -;\2: map id -;\3: map label (eventually will be rolled into map id) -;\4: y -;\5: offset? -;\6: strip length -;\7: this map id - map \2 - dw \3_BlockData + (\2_WIDTH * \5) - dw OverworldMap + (\7_WIDTH + 6) * (\4 + 3 + 1) - 3 - db \6 - db \2_WIDTH - db (\4 - \5) * -2 - db 0 - dw OverworldMap + \2_WIDTH + 7 -endc -endm - - -itemball: macro -;\1: item: from constants/item_constants.asm -;\2: quantity: default 1 -if _NARG == 2 - db \1, \2 -else - db \1, 1 -endc -endm - -elevfloor: macro -;\1: floor: a FLOOR_* constant -;\2: warp destination: starts at 1 -;\3: map id - db \1, \2 - map \3 -ENDM - -stonetable: macro -;\1: warp id -;\2: person_event id -;\3: script pointer - db \1, \2 - dw \3 -endm diff --git a/macros/mobile.asm b/macros/mobile.asm deleted file mode 100644 index 06b40d694..000000000 --- a/macros/mobile.asm +++ /dev/null @@ -1,2 +0,0 @@ -; Many mobile functions were dummied out in localization. -mobile EQUS "ret" diff --git a/macros/move_anim.asm b/macros/move_anim.asm deleted file mode 100644 index 9859fbd50..000000000 --- a/macros/move_anim.asm +++ /dev/null @@ -1,294 +0,0 @@ -anim_wait: macro -if \1 >= $d0 - flip out -endc - db \1 - endm - -; BattleAnimCommands indexes (see battle/anim_commands.asm) - enum_start $d0 - - enum anim_obj_command ; d0 -anim_obj: macro - db anim_obj_command - db \1 ; obj - db (\2 << 3) + \3 ; x - db (\4 << 3) + \5 ; y - db \6 ; param - endm - - enum anim_1gfx_command ; d1 -anim_1gfx: macro - db anim_1gfx_command - db \1 ; gfx1 - endm - - enum anim_2gfx_command ; d2 -anim_2gfx: macro - db anim_2gfx_command - db \1 ; gfx1 - db \2 ; gfx2 - endm - - enum anim_3gfx_command ; d3 -anim_3gfx: macro - db anim_3gfx_command - db \1 ; gfx1 - db \2 ; gfx2 - db \3 ; gfx3 - endm - - enum anim_4gfx_command ; d4 -anim_4gfx: macro - db anim_4gfx_command - db \1 ; gfx1 - db \2 ; gfx2 - db \3 ; gfx3 - db \4 ; gfx4 - endm - - enum anim_5gfx_command ; d5 -anim_5gfx: macro - db anim_5gfx_command - db \1 ; gfx1 - db \2 ; gfx2 - db \3 ; gfx3 - db \4 ; gfx4 - db \5 ; gfx5 - endm - - enum anim_incobj_command ; d6 -anim_incobj: macro - db anim_incobj_command - db \1 ; id - endm - - enum anim_setobj_command ; d7 -anim_setobj: macro - db anim_setobj_command - db \1 ; id - db \2 ; obj - endm - - enum anim_incbgeffect_command ; d8 -anim_incbgeffect: macro - db anim_incbgeffect_command - db \1 ; effect - endm - - enum anim_enemyfeetobj_command ; d9 -anim_enemyfeetobj: macro - db anim_enemyfeetobj_command - endm - - enum anim_playerheadobj_command ; da -anim_playerheadobj: macro - db anim_playerheadobj_command - endm - - enum anim_checkpokeball_command ; db -anim_checkpokeball: macro - db anim_checkpokeball_command - endm - - enum anim_transform_command ; dc -anim_transform: macro - db anim_transform_command - endm - - enum anim_raisesub_command ; dd -anim_raisesub: macro - db anim_raisesub_command - endm - - enum anim_dropsub_command ; de -anim_dropsub: macro - db anim_dropsub_command - endm - - enum anim_resetobp0_command ; df -anim_resetobp0: macro - db anim_resetobp0_command - endm - - enum anim_sound_command ; e0 -anim_sound: macro - db anim_sound_command - db (\1 << 2) | \2 ; duration, tracks - db \3 ; id - endm - - enum anim_cry_command ; e1 -anim_cry: macro - db anim_cry_command - db \1 ; pitch - endm - - enum anim_minimizeopp_command ; e2 -anim_minimizeopp: macro - db anim_minimizeopp_command - endm - - enum anim_oamon_command ; e3 -anim_oamon: macro - db anim_oamon_command - endm - - enum anim_oamoff_command ; e4 -anim_oamoff: macro - db anim_oamoff_command - endm - - enum anim_clearobjs_command ; e5 -anim_clearobjs: macro - db anim_clearobjs_command - endm - - enum anim_beatup_command ; e6 -anim_beatup: macro - db anim_beatup_command - endm - - enum anim_0xe7_command ; e7 -anim_0xe7: macro - db anim_0xe7_command - endm - - enum anim_updateactorpic_command ; e8 -anim_updateactorpic: macro - db anim_updateactorpic_command - endm - - enum anim_minimize_command ; e9 -anim_minimize: macro - db anim_minimize_command - endm - - enum anim_0xea_command ; ea -anim_0xea: macro - db anim_0xea_command - endm - - enum anim_0xeb_command ; eb -anim_0xeb: macro - db anim_0xeb_command - endm - - enum anim_0xec_command ; ec -anim_0xec: macro - db anim_0xec_command - endm - - enum anim_0xed_command ; ed -anim_0xed: macro - db anim_0xed_command - endm - - enum anim_if_param_and_command ; ee -anim_if_param_and: macro - db anim_if_param_and_command - db \1 ; value - dw \2 ; address - endm - - enum anim_jumpuntil_command ; ef -anim_jumpuntil: macro - db anim_jumpuntil_command - dw \1 ; address - endm - - enum anim_bgeffect_command ; f0 -anim_bgeffect: macro - db anim_bgeffect_command - db \1 ; effect - db \2 ; unknown - db \3 ; unknown - db \4 ; unknown - endm - - enum anim_bgp_command ; f1 -anim_bgp: macro - db anim_bgp_command - db \1 ; colors - endm - - enum anim_obp0_command ; f2 -anim_obp0: macro - db anim_obp0_command - db \1 ; colors - endm - - enum anim_obp1_command ; f3 -anim_obp1: macro - db anim_obp1_command - db \1 ; colors - endm - - enum anim_clearsprites_command ; f4 -anim_clearsprites: macro - db anim_clearsprites_command - endm - - enum anim_0xf5_command ; f5 -anim_0xf5: macro - db anim_0xf5_command - endm - - enum anim_0xf6_command ; f6 -anim_0xf6: macro - db anim_0xf6_command - endm - - enum anim_0xf7_command ; f7 -anim_0xf7: macro - db anim_0xf7_command - endm - - enum anim_if_param_equal_command ; f8 -anim_if_param_equal: macro - db anim_if_param_equal_command - db \1 ; value - dw \2 ; address - endm - - enum anim_setvar_command ; f9 -anim_setvar: macro - db anim_setvar_command - db \1 ; value - endm - - enum anim_incvar_command ; fa -anim_incvar: macro - db anim_incvar_command - endm - - enum anim_if_var_equal_command ; fb -anim_if_var_equal: macro - db anim_if_var_equal_command - db \1 ; value - dw \2 ; address - endm - - enum anim_jump_command ; fc -anim_jump: macro - db anim_jump_command - dw \1 ; address - endm - - enum anim_loop_command ; fd -anim_loop: macro - db anim_loop_command - db \1 ; count - dw \2 ; address - endm - - enum anim_call_command ; fe -anim_call: macro - db anim_call_command - dw \1 ; address - endm - - enum anim_ret_command ; ff -anim_ret: macro - db anim_ret_command - endm diff --git a/macros/movement.asm b/macros/movement.asm deleted file mode 100644 index a2acf1356..000000000 --- a/macros/movement.asm +++ /dev/null @@ -1,247 +0,0 @@ -; MovementPointers indexes (see engine/movement.asm) - enum_start - -; Directional movements - - enum movement_turn_head -turn_head: macro - db movement_turn_head | \1 ; $00 - endm - -__enum__ = __enum__ + 3 - - enum movement_turn_step -turn_step: macro - db movement_turn_step | \1 ; $04 - endm - -__enum__ = __enum__ + 3 - - enum movement_slow_step -slow_step: macro - db movement_slow_step | \1; $08 - endm - -__enum__ = __enum__ + 3 - - enum movement_step -step: macro - db movement_step | \1 ; $0c - endm - -__enum__ = __enum__ + 3 - - enum movement_big_step -big_step: macro - db movement_big_step | \1 ; $10 - endm - -__enum__ = __enum__ + 3 - - enum movement_slow_slide_step -slow_slide_step: macro - db movement_slow_slide_step | \1 ; $14 - endm - -__enum__ = __enum__ + 3 - - enum movement_slide_step -slide_step: macro - db movement_slide_step | \1 ; $18 - endm - -__enum__ = __enum__ + 3 - - enum movement_fast_slide_step -fast_slide_step: macro - db movement_fast_slide_step | \1 ; $1c - endm - -__enum__ = __enum__ + 3 - - enum movement_turn_away -turn_away: macro - db movement_turn_away | \1 ; $20 - endm - -__enum__ = __enum__ + 3 - - enum movement_turn_in -turn_in: macro - db movement_turn_in | \1 ; $24 - endm - -__enum__ = __enum__ + 3 - - enum movement_turn_waterfall -turn_waterfall: macro - db movement_turn_waterfall | \1 ; $28 - endm - -__enum__ = __enum__ + 3 - - enum movement_slow_jump_step -slow_jump_step: macro - db movement_slow_jump_step | \1 ; $2c - endm - -__enum__ = __enum__ + 3 - - enum movement_jump_step -jump_step: macro - db movement_jump_step | \1 ; $30 - endm - -__enum__ = __enum__ + 3 - - enum movement_fast_jump_step -fast_jump_step: macro - db movement_fast_jump_step | \1 ; $34 - endm - -__enum__ = __enum__ + 3 - -; Control - enum movement_remove_sliding -remove_sliding: macro - db movement_remove_sliding ; $38 - endm - - enum movement_set_sliding -set_sliding: macro - db movement_set_sliding ; $39 - endm - - enum movement_remove_fixed_facing -remove_fixed_facing: macro - db movement_remove_fixed_facing ; $3a - endm - - enum movement_fix_facing -fix_facing: macro - db movement_fix_facing ; $3b - endm - - enum movement_show_person -show_person: macro - db movement_show_person ; $3c - endm - - enum movement_hide_person -hide_person: macro - db movement_hide_person ; $3d - endm - -; Sleep - - enum movement_step_sleep -step_sleep: macro -if \1 <= 8 - db movement_step_sleep + \1 - 1 -else - db movement_step_sleep + 8, \1 -endc -endm - -__enum__ = __enum__ + 8 - - enum movement_step_end -step_end: macro - db movement_step_end ; $47 - endm - -; Whatever Movement_48 is, it takes a one-byte parameter - enum movement_step_48 -step_48: macro - db movement_step_48 - db \1 - endm - - enum movement_remove_person -remove_person: macro - db movement_remove_person ; $49 - endm - - enum movement_step_loop -step_loop: macro - db movement_step_loop ; $4a - endm - - enum movement_step_4b -step_4b: macro - db movement_step_4b ; $4b - endm - - enum movement_teleport_from -teleport_from: macro - db movement_teleport_from ; $4c - endm - - enum movement_teleport_to -teleport_to: macro - db movement_teleport_to ; $4d - endm - - enum movement_skyfall -skyfall: macro - db movement_skyfall ; $4e - endm - - enum movement_step_dig -step_dig: macro - db movement_step_dig ; $4f - db \1 - endm - - enum movement_step_bump -step_bump: macro - db movement_step_bump ; $50 - endm - - enum movement_fish_got_bite -fish_got_bite: macro - db movement_fish_got_bite ; $51 - endm - - enum movement_fish_cast_rod -fish_cast_rod: macro - db movement_fish_cast_rod ; $52 - endm - - enum movement_hide_emote -hide_emote: macro - db movement_hide_emote ; $53 - endm - - enum movement_show_emote -show_emote: macro - db movement_show_emote ; $54 - endm - - enum movement_step_shake -step_shake: macro - db movement_step_shake ; $55 - db \1 ; displacement - endm - - enum movement_tree_shake -tree_shake: macro - db movement_tree_shake - endm - - enum movement_rock_smash -rock_smash: macro - db movement_rock_smash ; $57 - db \1 - endm - - enum movement_return_dig -return_dig: macro - db movement_return_dig ; $58 - db \1 - endm - - enum movement_skyfall_top -skyfall_top: macro - db movement_skyfall_top ; $59 - endm diff --git a/macros/pic.asm b/macros/pic.asm deleted file mode 100644 index f06c6cd4f..000000000 --- a/macros/pic.asm +++ /dev/null @@ -1,4 +0,0 @@ -add_pic: MACRO - db BANK(\1) - PICS_FIX - dw \1 -ENDM diff --git a/macros/rst.asm b/macros/rst.asm index 50259c968..fe7e42723 100644 --- a/macros/rst.asm +++ b/macros/rst.asm @@ -15,3 +15,15 @@ callab: MACRO ; address, bank ld a, BANK(\1) rst FarCall ENDM + +homecall: MACRO + ld a, [hROMBank] + push af + ld a, BANK(\1) + rst Bankswitch + + call \1 + + pop af + rst Bankswitch +ENDM diff --git a/macros/scripts/audio.asm b/macros/scripts/audio.asm new file mode 100644 index 000000000..bac979a5f --- /dev/null +++ b/macros/scripts/audio.asm @@ -0,0 +1,265 @@ +note: MACRO + dn (\1), (\2) - 1 + ENDM + +sound: macro + note \1, \2 + db \3 ; intensity + dw \4 ; frequency + endm + +noise: macro + note \1, \2 ; duration + db \3 ; intensity + db \4 ; frequency + endm + +musicheader: macro + ; number of tracks, track idx, address + dbw ((\1 - 1) << 6) + (\2 - 1), \3 + endm + +cry_header: macro + dw \1, \2, \3 + endm + +; MusicCommands indexes (see audio/engine.asm) + enum_start $d8 + + enum notetype_cmd +octave: macro + db notetype_cmd - (\1) + endm + +notetype: macro + db notetype_cmd + db \1 ; note_length + if _NARG >= 2 + db \2 ; intensity + endc + endm + + enum pitchoffset_cmd +pitchoffset: macro + db pitchoffset_cmd + dn \1, \2 - 1 ; octave, key + endm + + enum tempo_cmd +tempo: macro + db tempo_cmd + bigdw \1 ; tempo + endm + + enum dutycycle_cmd +dutycycle: macro + db dutycycle_cmd + db \1 ; duty_cycle + endm + + enum intensity_cmd +intensity: macro + db intensity_cmd + db \1 ; intensity + endm + + enum soundinput_cmd +soundinput: macro + db soundinput_cmd + db \1 ; input + endm + + enum sound_duty_cmd +sound_duty: macro + db sound_duty_cmd + db \1 | (\2 << 2) | (\3 << 4) | (\4 << 6) ; duty sequence + endm + + enum togglesfx_cmd +togglesfx: macro + db togglesfx_cmd + endm + + enum slidepitchto_cmd +slidepitchto: macro + db slidepitchto_cmd + db \1 - 1 ; duration + dn \2, \3 ; octave, pitch + endm + + enum vibrato_cmd +vibrato: macro + db vibrato_cmd + db \1 ; delay + db \2 ; extent + endm + + enum unknownmusic0xe2_cmd +unknownmusic0xe2: macro + db unknownmusic0xe2_cmd + db \1 ; unknown + endm + + enum togglenoise_cmd +togglenoise: macro + db togglenoise_cmd + db \1 ; id + endm + + enum panning_cmd +panning: macro + db panning_cmd + db \1 ; tracks + endm + + enum volume_cmd +volume: macro + db volume_cmd + db \1 ; volume + endm + + enum tone_cmd +tone: macro + db tone_cmd + bigdw \1 ; tone + endm + + enum unknownmusic0xe7_cmd +unknownmusic0xe7: macro + db unknownmusic0xe7_cmd + db \1 ; unknown + endm + + enum unknownmusic0xe8_cmd +unknownmusic0xe8: macro + db unknownmusic0xe8_cmd + db \1 ; unknown + endm + + enum tempo_relative_cmd +tempo_relative: macro + db tempo_relative_cmd + bigdw \1 ; value + endm + + enum restartchannel_cmd +restartchannel: macro + db restartchannel_cmd + dw \1 ; address + endm + + enum newsong_cmd +newsong: macro + db newsong_cmd + bigdw \1 ; id + endm + + enum sfxpriorityon_cmd +sfxpriorityon: macro + db sfxpriorityon_cmd + endm + + enum sfxpriorityoff_cmd +sfxpriorityoff: macro + db sfxpriorityoff_cmd + endm + + enum unknownmusic0xee_cmd +unknownmusic0xee: macro + db unknownmusic0xee_cmd + dw \1 ; address + endm + + enum stereopanning_cmd +stereopanning: macro + db stereopanning_cmd + db \1 ; tracks + endm + + enum sfxtogglenoise_cmd +sfxtogglenoise: macro + db sfxtogglenoise_cmd + db \1 ; id + endm + + enum music0xf1_cmd +music0xf1: macro + db music0xf1_cmd + endm + + enum music0xf2_cmd +music0xf2: macro + db music0xf2_cmd + endm + + enum music0xf3_cmd +music0xf3: macro + db music0xf3_cmd + endm + + enum music0xf4_cmd +music0xf4: macro + db music0xf4_cmd + endm + + enum music0xf5_cmd +music0xf5: macro + db music0xf5_cmd + endm + + enum music0xf6_cmd +music0xf6: macro + db music0xf6_cmd + endm + + enum music0xf7_cmd +music0xf7: macro + db music0xf7_cmd + endm + + enum music0xf8_cmd +music0xf8: macro + db music0xf8_cmd + endm + + enum unknownmusic0xf9_cmd +unknownmusic0xf9: macro + db unknownmusic0xf9_cmd + endm + + enum setcondition_cmd +setcondition: macro + db setcondition_cmd + db \1 ; condition + endm + + enum jumpif_cmd +jumpif: macro + db jumpif_cmd + db \1 ; condition + dw \2 ; address + endm + + enum jumpchannel_cmd +jumpchannel: macro + db jumpchannel_cmd + dw \1 ; address + endm + + enum loopchannel_cmd +loopchannel: macro + db loopchannel_cmd + db \1 ; count + dw \2 ; address + endm + + enum callchannel_cmd +callchannel: macro + db callchannel_cmd + dw \1 ; address + endm + + enum endchannel_cmd +endchannel: macro + db endchannel_cmd + endm diff --git a/macros/scripts/event.asm b/macros/scripts/event.asm new file mode 100644 index 000000000..b00b6a6da --- /dev/null +++ b/macros/scripts/event.asm @@ -0,0 +1,1069 @@ +; ScriptCommandTable indexes (see engine/scripting.asm) + enum_start + + enum scall_command +scall: macro + db scall_command + dw \1 ; pointer + endm + + enum farscall_command +farscall: macro + db farscall_command + dba \1 + endm + + enum ptcall_command +ptcall: macro + db ptcall_command + dw \1 ; pointer + endm + + enum jump_command +jump: macro + db jump_command + dw \1 ; pointer + endm + + enum farjump_command +farjump: macro + db farjump_command + dba \1 + endm + + enum ptjump_command +ptjump: macro + db ptjump_command + dw \1 ; pointer + endm + + enum if_equal_command +if_equal: macro + db if_equal_command + db \1 ; byte + dw \2 ; pointer + endm + + enum if_not_equal_command +if_not_equal: macro + db if_not_equal_command + db \1 ; byte + dw \2 ; pointer + endm + + enum iffalse_command +iffalse: macro + db iffalse_command + dw \1 ; pointer + endm + + enum iftrue_command +iftrue: macro + db iftrue_command + dw \1 ; pointer + endm + + enum if_greater_than_command +if_greater_than: macro + db if_greater_than_command + db \1 ; byte + dw \2 ; pointer + endm + + enum if_less_than_command +if_less_than: macro + db if_less_than_command + db \1 ; byte + dw \2 ; pointer + endm + + enum jumpstd_command +jumpstd: macro + db jumpstd_command + dw \1 ; predefined_script + endm + + enum callstd_command +callstd: macro + db callstd_command + dw \1 ; predefined_script + endm + + enum callasm_command +callasm: macro + db callasm_command + dba \1 + endm + + enum special_command +special: macro + db special_command + dw (\1Special - SpecialsPointers) / 3 + endm + +add_special: MACRO +\1Special:: + dba \1 +ENDM + + enum ptcallasm_command +ptcallasm: macro + db ptcallasm_command + dw \1 ; asm + endm + + enum checkmaptriggers_command +checkmaptriggers: macro + db checkmaptriggers_command + map \1 ; map + endm + + enum domaptrigger_command +domaptrigger: macro + db domaptrigger_command + map \1 ; map + db \2 ; trigger_id + endm + + enum checktriggers_command +checktriggers: macro + db checktriggers_command + endm + + enum dotrigger_command +dotrigger: macro + db dotrigger_command + db \1 ; trigger_id + endm + + enum writebyte_command +writebyte: macro + db writebyte_command + db \1 ; value + endm + + enum addvar_command +addvar: macro + db addvar_command + db \1 ; value + endm + + enum random_command +random: macro + db random_command + db \1 ; input + endm + + enum checkver_command +checkver: macro + db checkver_command + endm + + enum copybytetovar_command +copybytetovar: macro + db copybytetovar_command + dw \1 ; address + endm + + enum copyvartobyte_command +copyvartobyte: macro + db copyvartobyte_command + dw \1 ; address + endm + + enum loadvar_command +loadvar: macro + db loadvar_command + dw \1 ; address + db \2 ; value + endm + + enum checkcode_command +checkcode: macro + db checkcode_command + db \1 ; variable_id + endm + + enum writevarcode_command +writevarcode: macro + db writevarcode_command + db \1 ; variable_id + endm + + enum writecode_command +writecode: macro + db writecode_command + db \1 ; variable_id + db \2 ; value + endm + + enum giveitem_command +giveitem: macro + db giveitem_command + db \1 ; item +if _NARG == 2 + db \2 ; quantity +else + db 1 +endc + endm + + enum takeitem_command +takeitem: macro + db takeitem_command + db \1 ; item +if _NARG == 2 + db \2 ; quantity +else + db 1 +endc + endm + + enum checkitem_command +checkitem: macro + db checkitem_command + db \1 ; item + endm + + enum givemoney_command +givemoney: macro + db givemoney_command + db \1 ; account + dt \2 ; money + endm + + enum takemoney_command +takemoney: macro + db takemoney_command + db \1 ; account + dt \2 ; money + endm + + enum checkmoney_command +checkmoney: macro + db checkmoney_command + db \1 ; account + dt \2 ; money + endm + + enum givecoins_command +givecoins: macro + db givecoins_command + dw \1 ; coins + endm + + enum takecoins_command +takecoins: macro + db takecoins_command + dw \1 ; coins + endm + + enum checkcoins_command +checkcoins: macro + db checkcoins_command + dw \1 ; coins + endm + + enum addcellnum_command +addcellnum: macro + db addcellnum_command + db \1 ; person + endm + + enum delcellnum_command +delcellnum: macro + db delcellnum_command + db \1 ; person + endm + + enum checkcellnum_command +checkcellnum: macro + db checkcellnum_command + db \1 ; person + endm + + enum checktime_command +checktime: macro + db checktime_command + db \1 ; time + endm + +checkmorn EQUS "checktime MORN" +checkday EQUS "checktime DAY" +checknite EQUS "checktime NITE" + + enum checkpoke_command +checkpoke: macro + db checkpoke_command + db \1 ; pkmn + endm + + enum givepoke_command +givepoke: macro + db givepoke_command + db \1 ; pokemon + db \2 ; level + if _NARG >= 3 + db \3 ; item + if _NARG >= 4 + db \4 ; trainer + if \4 + dw \5 ; trainer_name_pointer + dw \6 ; pkmn_nickname + endc + else + db 0 + endc + else + db 0, 0 + endc + endm + + enum giveegg_command +giveegg: macro + db giveegg_command + db \1 ; pkmn + db \2 ; level + endm + + enum givepokeitem_command +givepokeitem: macro + db givepokeitem_command + dw \1 ; pointer + endm + + enum checkpokeitem_command +checkpokeitem: macro + db checkpokeitem_command + dw \1 ; pointer + endm + + enum checkevent_command +checkevent: macro + db checkevent_command + dw \1 ; event_flag + endm + + enum clearevent_command +clearevent: macro + db clearevent_command + dw \1 ; event_flag + endm + + enum setevent_command +setevent: macro + db setevent_command + dw \1 ; event_flag + endm + + enum checkflag_command +checkflag: macro + db checkflag_command + dw \1 ; engine_flag + endm + + enum clearflag_command +clearflag: macro + db clearflag_command + dw \1 ; engine_flag + endm + + enum setflag_command +setflag: macro + db setflag_command + dw \1 ; engine_flag + endm + + enum wildon_command +wildon: macro + db wildon_command + endm + + enum wildoff_command +wildoff: macro + db wildoff_command + endm + + enum xycompare_command +xycompare: macro + db xycompare_command + dw \1 ; pointer + endm + + enum warpmod_command +warpmod: macro + db warpmod_command + db \1 ; warp_id + map \2 ; map + endm + + enum blackoutmod_command +blackoutmod: macro + db blackoutmod_command + map \1 ; map + endm + + enum warp_command +warp: macro + db warp_command + map \1 ; map + db \2 ; x + db \3 ; y + endm + + enum readmoney_command +readmoney: macro + db readmoney_command + db \1 ; account + db \2 ; memory + endm + + enum readcoins_command +readcoins: macro + db readcoins_command + db \1 ; memory + endm + + enum RAM2MEM_command +RAM2MEM: macro + db RAM2MEM_command + db \1 ; memory + endm + + enum pokenamemem_command +pokenamemem: macro + db pokenamemem_command + db \1 ; pokemon + db \2 ; memory + endm + + enum itemtotext_command +itemtotext: macro + db itemtotext_command + db \1 ; item + db \2 ; memory + endm + + enum mapnametotext_command +mapnametotext: macro + db mapnametotext_command + db \1 ; memory + endm + + enum trainertotext_command +trainertotext: macro + db trainertotext_command + db \1 ; trainer_id + db \2 ; trainer_group + db \3 ; memory + endm + + enum stringtotext_command +stringtotext: macro + db stringtotext_command + dw \1 ; text_pointer + db \2 ; memory + endm + + enum itemnotify_command +itemnotify: macro + db itemnotify_command + endm + + enum pocketisfull_command +pocketisfull: macro + db pocketisfull_command + endm + + enum opentext_command +opentext: macro + db opentext_command + endm + + enum refreshscreen_command +refreshscreen: macro + db refreshscreen_command + db \1 ; dummy + endm + + enum closetext_command +closetext: macro + db closetext_command + endm + + enum loadbytec2cf_command +loadbytec2cf: macro + db loadbytec2cf_command + db \1 ; byte + endm + + enum farwritetext_command +farwritetext: macro + db farwritetext_command + dba \1 + endm + + enum writetext_command +writetext: macro + db writetext_command + dw \1 ; text_pointer + endm + + enum repeattext_command +repeattext: macro + db repeattext_command + db \1 ; byte + db \2 ; byte + endm + + enum yesorno_command +yesorno: macro + db yesorno_command + endm + + enum loadmenudata_command +loadmenudata: macro + db loadmenudata_command + dw \1 ; data + endm + + enum closewindow_command +closewindow: macro + db closewindow_command + endm + + enum jumptextfaceplayer_command +jumptextfaceplayer: macro + db jumptextfaceplayer_command + dw \1 ; text_pointer + endm + +; IF _CRYSTAL + enum farjumptext_command +farjumptext: macro + db farjumptext_command + dba \1 + endm +; ENDC + + enum jumptext_command +jumptext: macro + db jumptext_command + dw \1 ; text_pointer + endm + + enum waitbutton_command +waitbutton: macro + db waitbutton_command + endm + + enum buttonsound_command +buttonsound: macro + db buttonsound_command + endm + + enum pokepic_command +pokepic: macro + db pokepic_command + db \1 ; pokemon + endm + + enum closepokepic_command +closepokepic: macro + db closepokepic_command + endm + + enum _2dmenu_command +_2dmenu: macro + db _2dmenu_command + endm + + enum verticalmenu_command +verticalmenu: macro + db verticalmenu_command + endm + + enum loadpikachudata_command +loadpikachudata: macro + db loadpikachudata_command + endm + + enum randomwildmon_command +randomwildmon: macro + db randomwildmon_command + endm + + enum loadmemtrainer_command +loadmemtrainer: macro + db loadmemtrainer_command + endm + + enum loadwildmon_command +loadwildmon: macro + db loadwildmon_command + db \1 ; pokemon + db \2 ; level + endm + + enum loadtrainer_command +loadtrainer: macro + db loadtrainer_command + db \1 ; trainer_group + db \2 ; trainer_id + endm + + enum startbattle_command +startbattle: macro + db startbattle_command + endm + + enum reloadmapafterbattle_command +reloadmapafterbattle: macro + db reloadmapafterbattle_command + endm + + enum catchtutorial_command +catchtutorial: macro + db catchtutorial_command + db \1 ; byte + endm + + enum trainertext_command +trainertext: macro + db trainertext_command + db \1 ; which_text + endm + + enum trainerflagaction_command +trainerflagaction: macro + db trainerflagaction_command + db \1 ; action + endm + + enum winlosstext_command +winlosstext: macro + db winlosstext_command + dw \1 ; win_text_pointer + dw \2 ; loss_text_pointer + endm + + enum scripttalkafter_command +scripttalkafter: macro + db scripttalkafter_command + endm + + enum end_if_just_battled_command +end_if_just_battled: macro + db end_if_just_battled_command + endm + + enum check_just_battled_command +check_just_battled: macro + db check_just_battled_command + endm + + enum setlasttalked_command +setlasttalked: macro + db setlasttalked_command + db \1 ; person + endm + + enum applymovement_command +applymovement: macro + db applymovement_command + db \1 ; person + dw \2 ; data + endm + + enum applymovement2_command +applymovement2: macro + db applymovement2_command + dw \1 ; data + endm + + enum faceplayer_command +faceplayer: macro + db faceplayer_command + endm + + enum faceperson_command +faceperson: macro + db faceperson_command + db \1 ; person1 + db \2 ; person2 + endm + + enum variablesprite_command +variablesprite: macro + db variablesprite_command + db \1 - SPRITE_VARS ; byte + db \2 ; sprite + endm + + enum disappear_command +disappear: macro + db disappear_command + db \1 ; person + endm + + enum appear_command +appear: macro + db appear_command + db \1 ; person + endm + + enum follow_command +follow: macro + db follow_command + db \1 ; person2 + db \2 ; person1 + endm + + enum stopfollow_command +stopfollow: macro + db stopfollow_command + endm + + enum moveperson_command +moveperson: macro + db moveperson_command + db \1 ; person + db \2 ; x + db \3 ; y + endm + + enum writepersonxy_command +writepersonxy: macro + db writepersonxy_command + db \1 ; person + endm + + enum loademote_command +loademote: macro + db loademote_command + db \1 ; bubble + endm + + enum showemote_command +showemote: macro + db showemote_command + db \1 ; bubble + db \2 ; person + db \3 ; time + endm + + enum spriteface_command +spriteface: macro + db spriteface_command + db \1 ; person + db \2 ; facing + endm + + enum follownotexact_command +follownotexact: macro + db follownotexact_command + db \1 ; person2 + db \2 ; person1 + endm + + enum earthquake_command +earthquake: macro + db earthquake_command + db \1 ; param + endm + + enum changemap_command +changemap: macro + db changemap_command + db \1 ; map_bank + dw \2 ; map_data_pointer + endm + + enum changeblock_command +changeblock: macro + db changeblock_command + db \1 ; x + db \2 ; y + db \3 ; block + endm + + enum reloadmap_command +reloadmap: macro + db reloadmap_command + endm + + enum reloadmappart_command +reloadmappart: macro + db reloadmappart_command + endm + + enum writecmdqueue_command +writecmdqueue: macro + db writecmdqueue_command + dw \1 ; queue_pointer + endm + + enum delcmdqueue_command +delcmdqueue: macro + db delcmdqueue_command + db \1 ; byte + endm + + enum playmusic_command +playmusic: macro + db playmusic_command + dw \1 ; music_pointer + endm + + enum encountermusic_command +encountermusic: macro + db encountermusic_command + endm + + enum musicfadeout_command +musicfadeout: macro + db musicfadeout_command + dw \1 ; music + db \2 ; fadetime + endm + + enum playmapmusic_command +playmapmusic: macro + db playmapmusic_command + endm + + enum dontrestartmapmusic_command +dontrestartmapmusic: macro + db dontrestartmapmusic_command + endm + + enum cry_command +cry: macro + db cry_command + dw \1 ; cry_id + endm + + enum playsound_command +playsound: macro + db playsound_command + dw \1 ; sound_pointer + endm + + enum waitsfx_command +waitsfx: macro + db waitsfx_command + endm + + enum warpsound_command +warpsound: macro + db warpsound_command + endm + + enum specialsound_command +specialsound: macro + db specialsound_command + endm + + enum passtoengine_command +passtoengine: macro + db passtoengine_command + db \1 ; data_pointer + endm + + enum newloadmap_command +newloadmap: macro + db newloadmap_command + db \1 ; which_method + endm + + enum pause_command +pause: macro + db pause_command + db \1 ; length + endm + + enum deactivatefacing_command +deactivatefacing: macro + db deactivatefacing_command + db \1 ; time + endm + + enum priorityjump_command +priorityjump: macro + db priorityjump_command + dw \1 ; pointer + endm + + enum warpcheck_command +warpcheck: macro + db warpcheck_command + endm + + enum ptpriorityjump_command +ptpriorityjump: macro + db ptpriorityjump_command + dw \1 ; pointer + endm + + enum return_command +return: macro + db return_command + endm + + enum end_command +end: macro + db end_command + endm + + enum reloadandreturn_command +reloadandreturn: macro + db reloadandreturn_command + db \1 ; which_method + endm + + enum end_all_command +end_all: macro + db end_all_command + endm + + enum pokemart_command +pokemart: macro + db pokemart_command + db \1 ; dialog_id + dw \2 ; mart_id + endm + + enum elevator_command +elevator: macro + db elevator_command + dw \1 ; floor_list_pointer + endm + + enum trade_command +trade: macro + db trade_command + db \1 ; trade_id + endm + + enum askforphonenumber_command +askforphonenumber: macro + db askforphonenumber_command + db \1 ; number + endm + + enum phonecall_command +phonecall: macro + db phonecall_command + dw \1 ; caller_name + endm + + enum hangup_command +hangup: macro + db hangup_command + endm + + enum describedecoration_command +describedecoration: macro + db describedecoration_command + db \1 ; byte + endm + + enum fruittree_command +fruittree: macro + db fruittree_command + db \1 ; tree_id + endm + + enum specialphonecall_command +specialphonecall: macro + db specialphonecall_command + dw \1 ; call_id + endm + + enum checkphonecall_command +checkphonecall: macro + db checkphonecall_command + endm + + enum verbosegiveitem_command +verbosegiveitem: macro + db verbosegiveitem_command + db \1 ; item +if _NARG == 2 + db \2 ; quantity +else + db 1 +endc + endm + + enum verbosegiveitem2_command +verbosegiveitem2: macro + db verbosegiveitem2_command + db \1 ; item + db \2 ; var + endm + + enum swarm_command +swarm: macro + db swarm_command + db \1 ; flag + map \2 ; map + endm + + enum halloffame_command +halloffame: macro + db halloffame_command + endm + + enum credits_command +credits: macro + db credits_command + endm + + enum warpfacing_command +warpfacing: macro + db warpfacing_command + db \1 ; facing + map \2 ; map + db \3 ; x + db \4 ; y + endm + + enum battletowertext_command +battletowertext: macro + db battletowertext_command + db \1 ; memory + endm + + enum landmarktotext_command +landmarktotext: macro + db landmarktotext_command + db \1 ; id + db \2 ; memory + endm + + enum trainerclassname_command +trainerclassname: macro + db trainerclassname_command + db \1 ; id + db \2 ; memory + endm + + enum name_command +name: macro + db name_command + db \1 ; type + db \2 ; id + db \3 ; memory + endm + + enum wait_command +wait: macro + db wait_command + db \1 ; duration + endm + + enum check_save_command +check_save: macro + db check_save_command + endm diff --git a/macros/scripts/gfx_anim.asm b/macros/scripts/gfx_anim.asm new file mode 100644 index 000000000..e0a56cc23 --- /dev/null +++ b/macros/scripts/gfx_anim.asm @@ -0,0 +1,46 @@ +; pic+sprite animations + +frame: macro + db \1 +x = \2 +if _NARG > 2 +rept _NARG +- 2 +x = x | (1 << (\3 + 1)) + shift +endr +endc + db x + endm + + enum_start $fc + +; used for sprites + enum delanim_command ; fc +delanim: macro + db delanim_command + endm + + enum dorepeat_command ; fd +dorepeat: macro + db dorepeat_command + db \1 ; # + endm + + enum setrepeat_command ; fe +setrepeat: macro + db setrepeat_command + db \1 ; # + endm + + enum endanim_command ; ff +endanim: macro + db endanim_command + endm + +__enum__ = $fe + +; used for sprites + enum dorestart_command ; fe +dorestart: macro + db dorestart_command + endm diff --git a/macros/scripts/maps.asm b/macros/scripts/maps.asm new file mode 100644 index 000000000..010506544 --- /dev/null +++ b/macros/scripts/maps.asm @@ -0,0 +1,104 @@ +map: macro +;\1: map id + db GROUP_\1, MAP_\1 +endm + + +maptrigger: macro +;\1: script pointer + dw \1, 0 +endm + +warp_def: macro +;\1: y: top to bottom, starts at 0 +;\2: x: left to right, starts at 0 +;\3: warp destination: starts at 1 +;\4: map id: from constants/map_constants.asm + db \1, \2, \3 + map \4 +endm + +xy_trigger: macro +;\1: number: controlled by dotrigger/domaptrigger +;\2: y: top to bottom, starts at 0 +;\3: x: left to right, starts at 0 +;\4: script pointer + db \1, \2, \3, $0 + dw \4 + db $0, $0 +endm + +signpost: macro +;\1: y: top to bottom, starts at 0 +;\2: x: left to right, starts at 0 +;\3: function: a SIGNPOST_* constant +;\4: script pointer + db \1, \2, \3 + dw \4 +endm + +person_event: macro +;\1: sprite: a SPRITE_* constant +;\2: y: top to bottom, starts at 0 +;\3: x: left to right, starts at 0 +;\4: movement function: a SPRITEMOVEDATA_* constant +;\5, \6: movement radius: y, x +;\7: clock hour: ??? +;\8: clock daytime: sum of MORN, DAY, and/or NITE, or 0 for always +;\9: color: a PAL_NPC_* constant, or 0 for sprite default +;\10: function: a PERSONTYPE_* constant +;\11: sight range: applies to PERSONTYPE_TRAINER +;\12: script pointer +;\13: event flag: an EVENT_* constant, or 0 for always + db \1, \2 + 4, \3 + 4, \4 + dn \5, \6 + db \7, \8 + shift + dn \8, \9 + shift + db \9 + shift + dw \9 + shift + dw \9 +endm + + +trainer: macro +;\1: flag: an EVENT_BEAT_* constant +;\2: trainer group +;\3: trainer id +;\4: seen text +;\5: win text +;\6: loss text +;\7: after-battle text + dw \1 + db \2, \3 + dw \4, \5, \6, \7 +endm + +itemball: macro +;\1: item: from constants/item_constants.asm +;\2: quantity: default 1 +if _NARG == 2 + db \1, \2 +else + db \1, 1 +endc +endm + +elevfloor: macro +;\1: floor: a FLOOR_* constant +;\2: warp destination: starts at 1 +;\3: map id + db \1, \2 + map \3 +ENDM + +stonetable: macro +;\1: warp id +;\2: person_event id +;\3: script pointer + db \1, \2 + dw \3 +endm diff --git a/macros/scripts/move_anim.asm b/macros/scripts/move_anim.asm new file mode 100644 index 000000000..9859fbd50 --- /dev/null +++ b/macros/scripts/move_anim.asm @@ -0,0 +1,294 @@ +anim_wait: macro +if \1 >= $d0 + flip out +endc + db \1 + endm + +; BattleAnimCommands indexes (see battle/anim_commands.asm) + enum_start $d0 + + enum anim_obj_command ; d0 +anim_obj: macro + db anim_obj_command + db \1 ; obj + db (\2 << 3) + \3 ; x + db (\4 << 3) + \5 ; y + db \6 ; param + endm + + enum anim_1gfx_command ; d1 +anim_1gfx: macro + db anim_1gfx_command + db \1 ; gfx1 + endm + + enum anim_2gfx_command ; d2 +anim_2gfx: macro + db anim_2gfx_command + db \1 ; gfx1 + db \2 ; gfx2 + endm + + enum anim_3gfx_command ; d3 +anim_3gfx: macro + db anim_3gfx_command + db \1 ; gfx1 + db \2 ; gfx2 + db \3 ; gfx3 + endm + + enum anim_4gfx_command ; d4 +anim_4gfx: macro + db anim_4gfx_command + db \1 ; gfx1 + db \2 ; gfx2 + db \3 ; gfx3 + db \4 ; gfx4 + endm + + enum anim_5gfx_command ; d5 +anim_5gfx: macro + db anim_5gfx_command + db \1 ; gfx1 + db \2 ; gfx2 + db \3 ; gfx3 + db \4 ; gfx4 + db \5 ; gfx5 + endm + + enum anim_incobj_command ; d6 +anim_incobj: macro + db anim_incobj_command + db \1 ; id + endm + + enum anim_setobj_command ; d7 +anim_setobj: macro + db anim_setobj_command + db \1 ; id + db \2 ; obj + endm + + enum anim_incbgeffect_command ; d8 +anim_incbgeffect: macro + db anim_incbgeffect_command + db \1 ; effect + endm + + enum anim_enemyfeetobj_command ; d9 +anim_enemyfeetobj: macro + db anim_enemyfeetobj_command + endm + + enum anim_playerheadobj_command ; da +anim_playerheadobj: macro + db anim_playerheadobj_command + endm + + enum anim_checkpokeball_command ; db +anim_checkpokeball: macro + db anim_checkpokeball_command + endm + + enum anim_transform_command ; dc +anim_transform: macro + db anim_transform_command + endm + + enum anim_raisesub_command ; dd +anim_raisesub: macro + db anim_raisesub_command + endm + + enum anim_dropsub_command ; de +anim_dropsub: macro + db anim_dropsub_command + endm + + enum anim_resetobp0_command ; df +anim_resetobp0: macro + db anim_resetobp0_command + endm + + enum anim_sound_command ; e0 +anim_sound: macro + db anim_sound_command + db (\1 << 2) | \2 ; duration, tracks + db \3 ; id + endm + + enum anim_cry_command ; e1 +anim_cry: macro + db anim_cry_command + db \1 ; pitch + endm + + enum anim_minimizeopp_command ; e2 +anim_minimizeopp: macro + db anim_minimizeopp_command + endm + + enum anim_oamon_command ; e3 +anim_oamon: macro + db anim_oamon_command + endm + + enum anim_oamoff_command ; e4 +anim_oamoff: macro + db anim_oamoff_command + endm + + enum anim_clearobjs_command ; e5 +anim_clearobjs: macro + db anim_clearobjs_command + endm + + enum anim_beatup_command ; e6 +anim_beatup: macro + db anim_beatup_command + endm + + enum anim_0xe7_command ; e7 +anim_0xe7: macro + db anim_0xe7_command + endm + + enum anim_updateactorpic_command ; e8 +anim_updateactorpic: macro + db anim_updateactorpic_command + endm + + enum anim_minimize_command ; e9 +anim_minimize: macro + db anim_minimize_command + endm + + enum anim_0xea_command ; ea +anim_0xea: macro + db anim_0xea_command + endm + + enum anim_0xeb_command ; eb +anim_0xeb: macro + db anim_0xeb_command + endm + + enum anim_0xec_command ; ec +anim_0xec: macro + db anim_0xec_command + endm + + enum anim_0xed_command ; ed +anim_0xed: macro + db anim_0xed_command + endm + + enum anim_if_param_and_command ; ee +anim_if_param_and: macro + db anim_if_param_and_command + db \1 ; value + dw \2 ; address + endm + + enum anim_jumpuntil_command ; ef +anim_jumpuntil: macro + db anim_jumpuntil_command + dw \1 ; address + endm + + enum anim_bgeffect_command ; f0 +anim_bgeffect: macro + db anim_bgeffect_command + db \1 ; effect + db \2 ; unknown + db \3 ; unknown + db \4 ; unknown + endm + + enum anim_bgp_command ; f1 +anim_bgp: macro + db anim_bgp_command + db \1 ; colors + endm + + enum anim_obp0_command ; f2 +anim_obp0: macro + db anim_obp0_command + db \1 ; colors + endm + + enum anim_obp1_command ; f3 +anim_obp1: macro + db anim_obp1_command + db \1 ; colors + endm + + enum anim_clearsprites_command ; f4 +anim_clearsprites: macro + db anim_clearsprites_command + endm + + enum anim_0xf5_command ; f5 +anim_0xf5: macro + db anim_0xf5_command + endm + + enum anim_0xf6_command ; f6 +anim_0xf6: macro + db anim_0xf6_command + endm + + enum anim_0xf7_command ; f7 +anim_0xf7: macro + db anim_0xf7_command + endm + + enum anim_if_param_equal_command ; f8 +anim_if_param_equal: macro + db anim_if_param_equal_command + db \1 ; value + dw \2 ; address + endm + + enum anim_setvar_command ; f9 +anim_setvar: macro + db anim_setvar_command + db \1 ; value + endm + + enum anim_incvar_command ; fa +anim_incvar: macro + db anim_incvar_command + endm + + enum anim_if_var_equal_command ; fb +anim_if_var_equal: macro + db anim_if_var_equal_command + db \1 ; value + dw \2 ; address + endm + + enum anim_jump_command ; fc +anim_jump: macro + db anim_jump_command + dw \1 ; address + endm + + enum anim_loop_command ; fd +anim_loop: macro + db anim_loop_command + db \1 ; count + dw \2 ; address + endm + + enum anim_call_command ; fe +anim_call: macro + db anim_call_command + dw \1 ; address + endm + + enum anim_ret_command ; ff +anim_ret: macro + db anim_ret_command + endm diff --git a/macros/scripts/movement.asm b/macros/scripts/movement.asm new file mode 100644 index 000000000..a2acf1356 --- /dev/null +++ b/macros/scripts/movement.asm @@ -0,0 +1,247 @@ +; MovementPointers indexes (see engine/movement.asm) + enum_start + +; Directional movements + + enum movement_turn_head +turn_head: macro + db movement_turn_head | \1 ; $00 + endm + +__enum__ = __enum__ + 3 + + enum movement_turn_step +turn_step: macro + db movement_turn_step | \1 ; $04 + endm + +__enum__ = __enum__ + 3 + + enum movement_slow_step +slow_step: macro + db movement_slow_step | \1; $08 + endm + +__enum__ = __enum__ + 3 + + enum movement_step +step: macro + db movement_step | \1 ; $0c + endm + +__enum__ = __enum__ + 3 + + enum movement_big_step +big_step: macro + db movement_big_step | \1 ; $10 + endm + +__enum__ = __enum__ + 3 + + enum movement_slow_slide_step +slow_slide_step: macro + db movement_slow_slide_step | \1 ; $14 + endm + +__enum__ = __enum__ + 3 + + enum movement_slide_step +slide_step: macro + db movement_slide_step | \1 ; $18 + endm + +__enum__ = __enum__ + 3 + + enum movement_fast_slide_step +fast_slide_step: macro + db movement_fast_slide_step | \1 ; $1c + endm + +__enum__ = __enum__ + 3 + + enum movement_turn_away +turn_away: macro + db movement_turn_away | \1 ; $20 + endm + +__enum__ = __enum__ + 3 + + enum movement_turn_in +turn_in: macro + db movement_turn_in | \1 ; $24 + endm + +__enum__ = __enum__ + 3 + + enum movement_turn_waterfall +turn_waterfall: macro + db movement_turn_waterfall | \1 ; $28 + endm + +__enum__ = __enum__ + 3 + + enum movement_slow_jump_step +slow_jump_step: macro + db movement_slow_jump_step | \1 ; $2c + endm + +__enum__ = __enum__ + 3 + + enum movement_jump_step +jump_step: macro + db movement_jump_step | \1 ; $30 + endm + +__enum__ = __enum__ + 3 + + enum movement_fast_jump_step +fast_jump_step: macro + db movement_fast_jump_step | \1 ; $34 + endm + +__enum__ = __enum__ + 3 + +; Control + enum movement_remove_sliding +remove_sliding: macro + db movement_remove_sliding ; $38 + endm + + enum movement_set_sliding +set_sliding: macro + db movement_set_sliding ; $39 + endm + + enum movement_remove_fixed_facing +remove_fixed_facing: macro + db movement_remove_fixed_facing ; $3a + endm + + enum movement_fix_facing +fix_facing: macro + db movement_fix_facing ; $3b + endm + + enum movement_show_person +show_person: macro + db movement_show_person ; $3c + endm + + enum movement_hide_person +hide_person: macro + db movement_hide_person ; $3d + endm + +; Sleep + + enum movement_step_sleep +step_sleep: macro +if \1 <= 8 + db movement_step_sleep + \1 - 1 +else + db movement_step_sleep + 8, \1 +endc +endm + +__enum__ = __enum__ + 8 + + enum movement_step_end +step_end: macro + db movement_step_end ; $47 + endm + +; Whatever Movement_48 is, it takes a one-byte parameter + enum movement_step_48 +step_48: macro + db movement_step_48 + db \1 + endm + + enum movement_remove_person +remove_person: macro + db movement_remove_person ; $49 + endm + + enum movement_step_loop +step_loop: macro + db movement_step_loop ; $4a + endm + + enum movement_step_4b +step_4b: macro + db movement_step_4b ; $4b + endm + + enum movement_teleport_from +teleport_from: macro + db movement_teleport_from ; $4c + endm + + enum movement_teleport_to +teleport_to: macro + db movement_teleport_to ; $4d + endm + + enum movement_skyfall +skyfall: macro + db movement_skyfall ; $4e + endm + + enum movement_step_dig +step_dig: macro + db movement_step_dig ; $4f + db \1 + endm + + enum movement_step_bump +step_bump: macro + db movement_step_bump ; $50 + endm + + enum movement_fish_got_bite +fish_got_bite: macro + db movement_fish_got_bite ; $51 + endm + + enum movement_fish_cast_rod +fish_cast_rod: macro + db movement_fish_cast_rod ; $52 + endm + + enum movement_hide_emote +hide_emote: macro + db movement_hide_emote ; $53 + endm + + enum movement_show_emote +show_emote: macro + db movement_show_emote ; $54 + endm + + enum movement_step_shake +step_shake: macro + db movement_step_shake ; $55 + db \1 ; displacement + endm + + enum movement_tree_shake +tree_shake: macro + db movement_tree_shake + endm + + enum movement_rock_smash +rock_smash: macro + db movement_rock_smash ; $57 + db \1 + endm + + enum movement_return_dig +return_dig: macro + db movement_return_dig ; $58 + db \1 + endm + + enum movement_skyfall_top +skyfall_top: macro + db movement_skyfall_top ; $59 + endm diff --git a/macros/scripts/text.asm b/macros/scripts/text.asm new file mode 100644 index 000000000..e29f8a511 --- /dev/null +++ b/macros/scripts/text.asm @@ -0,0 +1,133 @@ +text EQUS "db $00," ; Start writing text. +next EQUS "db $4e," ; Move a line down. +line EQUS "db $4f," ; Start writing at the bottom line. +page EQUS "db $50," ; Start a new Pokédex page. +para EQUS "db $51," ; Start a new paragraph. +cont EQUS "db $55," ; Scroll to the next line. +done EQUS "db $57" ; End a text box. +prompt EQUS "db $58" ; Prompt the player to end a text box (initiating some other event). + +; TextCommands indexes (see home/text.asm) + enum_start $01 + + enum TX_RAM +text_from_ram: MACRO + db TX_RAM + dw \1 + ENDM + + enum TX_BCD +text_bcd: macro + db TX_BCD + dw \1 + db \2 + ENDM + + enum TX_MOVE +text_move: macro + db TX_MOVE + dw \1 + ENDM + + enum TX_BOX +text_box: macro + db TX_BOX + dw \1 + db \2, \3 + ENDM + + enum TX_LOW +text_low: macro + db TX_LOW + endm + + enum WAIT_BUTTON +text_waitbutton: macro + db WAIT_BUTTON + endm + + enum TX_SCROLL +text_scroll: macro + db TX_SCROLL + endm + + enum START_ASM +start_asm: macro + db START_ASM + endm + + enum TX_NUM +deciram: macro + db TX_NUM + dw \1 ; address + dn \2, \3 ; bytes, digits + endm + + enum TX_EXIT +interpret_data: macro + db TX_EXIT + endm + + enum TX_SOUND_0B +sound_dex_fanfare_50_79: macro + db TX_SOUND_0B + endm + + enum TX_DOTS +limited_interpret_data: macro + db TX_DOTS + db \1 + endm + + enum TX_LINK_WAIT_BUTTON +link_wait_button: macro + db TX_LINK_WAIT_BUTTON + endm + + enum TX_SOUND_0E +sound_dex_fanfare_20_49: macro + db TX_SOUND_0E + endm + + enum TX_SOUND_0F +sound_item: macro + db TX_SOUND_0F + endm + + enum TX_SOUND_10 +sound_caught_mon: macro + db TX_SOUND_10 + endm + + enum TX_SOUND_11 +sound_dex_fanfare_80_109: macro + db TX_SOUND_11 + endm + + enum TX_SOUND_12 +sound_fanfare: macro + db TX_SOUND_12 + endm + + enum TX_SOUND_13 +sound_slot_machine_start: macro + db TX_SOUND_13 + endm + + enum TX_STRINGBUFFER +text_buffer: macro + db TX_STRINGBUFFER + db \1 + endm + + enum TX_DAY +current_day: macro + db TX_DAY + endm + + enum TX_FAR +text_jump: MACRO + db TX_FAR + dw \1 + db BANK(\1) + ENDM diff --git a/macros/scripts/trade_anim.asm b/macros/scripts/trade_anim.asm new file mode 100644 index 000000000..c38dc75d6 --- /dev/null +++ b/macros/scripts/trade_anim.asm @@ -0,0 +1,255 @@ +; DoTradeAnimation.JumpTable indexes (see engine/trade/animation.asm) + enum_start + + enum tradeanim_next_command +tradeanim_next: macro + db tradeanim_next_command ; 00 +endm + + enum tradeanim_show_givemon_data_command +tradeanim_show_givemon_data: macro + db tradeanim_show_givemon_data_command ; 01 +endm + + enum tradeanim_show_getmon_data_command +tradeanim_show_getmon_data: macro + db tradeanim_show_getmon_data_command ; 02 +endm + + enum tradeanim_enter_link_tube_command +tradeanim_enter_link_tube: macro + db tradeanim_enter_link_tube_command ; 03 +endm + +__enum__ set $5 + + enum tradeanim_exit_link_tube_command +tradeanim_exit_link_tube: macro + db tradeanim_exit_link_tube_command ; 05 +endm + + enum tradeanim_tube_to_ot_command +tradeanim_tube_to_ot: macro + db tradeanim_tube_to_ot_command ; 06 +endm + +__enum__ set $e + + enum tradeanim_tube_to_player_command +tradeanim_tube_to_player: macro + db tradeanim_tube_to_player_command ; 0e +endm + +__enum__ set $16 + + enum tradeanim_sent_to_ot_text_command +tradeanim_sent_to_ot_text: macro + db tradeanim_sent_to_ot_text_command ; 16 +endm + + enum tradeanim_ot_bids_farewell_command +tradeanim_ot_bids_farewell: macro + db tradeanim_ot_bids_farewell_command ; 17 +endm + + enum tradeanim_take_care_of_text_command +tradeanim_take_care_of_text: macro + db tradeanim_take_care_of_text_command ; 18 +endm + + enum tradeanim_ot_sends_text_1_command +tradeanim_ot_sends_text_1: macro + db tradeanim_ot_sends_text_1_command ; 19 +endm + + enum tradeanim_ot_sends_text_2_command +tradeanim_ot_sends_text_2: macro + db tradeanim_ot_sends_text_2_command ; 1a +endm + + enum tradeanim_setup_givemon_scroll_command +tradeanim_setup_givemon_scroll: macro + db tradeanim_setup_givemon_scroll_command ; 1b +endm + + enum tradeanim_do_givemon_scroll_command +tradeanim_do_givemon_scroll: macro + db tradeanim_do_givemon_scroll_command ; 1c +endm + + enum tradeanim_frontpic_scroll_command +tradeanim_frontpic_scroll: macro + db tradeanim_frontpic_scroll_command ; 1d +endm + + enum tradeanim_textbox_scroll_command +tradeanim_textbox_scroll: macro + db tradeanim_textbox_scroll_command ; 1e +endm + + enum tradeanim_scroll_out_right_command +tradeanim_scroll_out_right: macro + db tradeanim_scroll_out_right_command ; 1f +endm + +__enum__ set $21 + + enum tradeanim_wait_80_command +tradeanim_wait_80: macro + db tradeanim_wait_80_command ; 21 +endm + + enum tradeanim_wait_40_command +tradeanim_wait_40: macro + db tradeanim_wait_40_command ; 22 +endm + + enum tradeanim_rocking_ball_command +tradeanim_rocking_ball: macro + db tradeanim_rocking_ball_command ; 23 +endm + + enum tradeanim_drop_ball_command +tradeanim_drop_ball: macro + db tradeanim_drop_ball_command ; 24 +endm + + enum tradeanim_wait_anim_command +tradeanim_wait_anim: macro + db tradeanim_wait_anim_command ; 25 +endm + +__enum__ set $27 + + enum tradeanim_poof_command +tradeanim_poof: macro + db tradeanim_poof_command ; 27 +endm + + enum tradeanim_bulge_through_tube_command +tradeanim_bulge_through_tube: macro + db tradeanim_bulge_through_tube_command ; 28 +endm + + enum tradeanim_give_trademon_sfx_command +tradeanim_give_trademon_sfx: macro + db tradeanim_give_trademon_sfx_command ; 29 +endm + + enum tradeanim_get_trademon_sfx_command +tradeanim_get_trademon_sfx: macro + db tradeanim_get_trademon_sfx_command ; 2a +endm + + enum tradeanim_end_command +tradeanim_end: macro + db tradeanim_end_command ; 2b +endm + + enum tradeanim_animate_frontpic_command +tradeanim_animate_frontpic: macro + db tradeanim_animate_frontpic_command ; 2c +endm + + enum tradeanim_wait_96_command +tradeanim_wait_96: macro + db tradeanim_wait_96_command ; 2d +endm + + enum tradeanim_wait_80_if_ot_egg_command +tradeanim_wait_80_if_ot_egg: macro + db tradeanim_wait_80_if_ot_egg_command ; 2e +endm + + enum tradeanim_wait_180_if_ot_egg_command +tradeanim_wait_180_if_ot_egg: macro + db tradeanim_wait_180_if_ot_egg_command ; 2f +endm + + +; Mobile + enum_start 1 + + enum mobiletradeanim_showgivemon_command +mobiletradeanim_showgivemon: macro + db mobiletradeanim_showgivemon_command ; 01 +endm + + enum mobiletradeanim_02_command +mobiletradeanim_02: macro + db mobiletradeanim_02_command ; 02 +endm + + enum mobiletradeanim_sendmon_command +mobiletradeanim_sendmon: macro + db mobiletradeanim_sendmon_command ; 03 +endm + +__enum__ set $05 + + enum mobiletradeanim_05_command +mobiletradeanim_05: macro + db mobiletradeanim_05_command ; 05 +endm + + enum mobiletradeanim_06_command +mobiletradeanim_06: macro + db mobiletradeanim_06_command ; 06 +endm + + enum mobiletradeanim_07_command +mobiletradeanim_07: macro + db mobiletradeanim_07_command ; 07 +endm + + enum mobiletradeanim_receivemon_command +mobiletradeanim_receivemon: macro + db mobiletradeanim_receivemon_command ; 08 +endm + +__enum__ set $0b + + enum mobiletradeanim_showgetmon_command +mobiletradeanim_showgetmon: macro + db mobiletradeanim_showgetmon_command ; 0b +endm + + enum mobiletradeanim_end_command +mobiletradeanim_end: macro + db mobiletradeanim_end_command ; 0c +endm + + enum mobiletradeanim_showgtsgivemon_command +mobiletradeanim_showgtsgivemon: macro + db mobiletradeanim_showgtsgivemon_command ; 0d +endm + + enum mobiletradeanim_showgtsgetmon_command +mobiletradeanim_showgtsgetmon: macro + db mobiletradeanim_showgtsgetmon_command ; 0e +endm + + enum mobiletradeanim_0f_command +mobiletradeanim_0f: macro + db mobiletradeanim_0f_command ; 0f +endm + + enum mobiletradeanim_10_command +mobiletradeanim_10: macro + db mobiletradeanim_10_command ; 10 +endm + + enum mobiletradeanim_11_command +mobiletradeanim_11: macro + db mobiletradeanim_11_command ; 11 +endm + + enum mobiletradeanim_12_command +mobiletradeanim_12: macro + db mobiletradeanim_12_command ; 12 +endm + + enum mobiletradeanim_showoddegg_command +mobiletradeanim_showoddegg: macro + db mobiletradeanim_showoddegg_command ; 13 +endm diff --git a/macros/sound.asm b/macros/sound.asm deleted file mode 100644 index bac979a5f..000000000 --- a/macros/sound.asm +++ /dev/null @@ -1,265 +0,0 @@ -note: MACRO - dn (\1), (\2) - 1 - ENDM - -sound: macro - note \1, \2 - db \3 ; intensity - dw \4 ; frequency - endm - -noise: macro - note \1, \2 ; duration - db \3 ; intensity - db \4 ; frequency - endm - -musicheader: macro - ; number of tracks, track idx, address - dbw ((\1 - 1) << 6) + (\2 - 1), \3 - endm - -cry_header: macro - dw \1, \2, \3 - endm - -; MusicCommands indexes (see audio/engine.asm) - enum_start $d8 - - enum notetype_cmd -octave: macro - db notetype_cmd - (\1) - endm - -notetype: macro - db notetype_cmd - db \1 ; note_length - if _NARG >= 2 - db \2 ; intensity - endc - endm - - enum pitchoffset_cmd -pitchoffset: macro - db pitchoffset_cmd - dn \1, \2 - 1 ; octave, key - endm - - enum tempo_cmd -tempo: macro - db tempo_cmd - bigdw \1 ; tempo - endm - - enum dutycycle_cmd -dutycycle: macro - db dutycycle_cmd - db \1 ; duty_cycle - endm - - enum intensity_cmd -intensity: macro - db intensity_cmd - db \1 ; intensity - endm - - enum soundinput_cmd -soundinput: macro - db soundinput_cmd - db \1 ; input - endm - - enum sound_duty_cmd -sound_duty: macro - db sound_duty_cmd - db \1 | (\2 << 2) | (\3 << 4) | (\4 << 6) ; duty sequence - endm - - enum togglesfx_cmd -togglesfx: macro - db togglesfx_cmd - endm - - enum slidepitchto_cmd -slidepitchto: macro - db slidepitchto_cmd - db \1 - 1 ; duration - dn \2, \3 ; octave, pitch - endm - - enum vibrato_cmd -vibrato: macro - db vibrato_cmd - db \1 ; delay - db \2 ; extent - endm - - enum unknownmusic0xe2_cmd -unknownmusic0xe2: macro - db unknownmusic0xe2_cmd - db \1 ; unknown - endm - - enum togglenoise_cmd -togglenoise: macro - db togglenoise_cmd - db \1 ; id - endm - - enum panning_cmd -panning: macro - db panning_cmd - db \1 ; tracks - endm - - enum volume_cmd -volume: macro - db volume_cmd - db \1 ; volume - endm - - enum tone_cmd -tone: macro - db tone_cmd - bigdw \1 ; tone - endm - - enum unknownmusic0xe7_cmd -unknownmusic0xe7: macro - db unknownmusic0xe7_cmd - db \1 ; unknown - endm - - enum unknownmusic0xe8_cmd -unknownmusic0xe8: macro - db unknownmusic0xe8_cmd - db \1 ; unknown - endm - - enum tempo_relative_cmd -tempo_relative: macro - db tempo_relative_cmd - bigdw \1 ; value - endm - - enum restartchannel_cmd -restartchannel: macro - db restartchannel_cmd - dw \1 ; address - endm - - enum newsong_cmd -newsong: macro - db newsong_cmd - bigdw \1 ; id - endm - - enum sfxpriorityon_cmd -sfxpriorityon: macro - db sfxpriorityon_cmd - endm - - enum sfxpriorityoff_cmd -sfxpriorityoff: macro - db sfxpriorityoff_cmd - endm - - enum unknownmusic0xee_cmd -unknownmusic0xee: macro - db unknownmusic0xee_cmd - dw \1 ; address - endm - - enum stereopanning_cmd -stereopanning: macro - db stereopanning_cmd - db \1 ; tracks - endm - - enum sfxtogglenoise_cmd -sfxtogglenoise: macro - db sfxtogglenoise_cmd - db \1 ; id - endm - - enum music0xf1_cmd -music0xf1: macro - db music0xf1_cmd - endm - - enum music0xf2_cmd -music0xf2: macro - db music0xf2_cmd - endm - - enum music0xf3_cmd -music0xf3: macro - db music0xf3_cmd - endm - - enum music0xf4_cmd -music0xf4: macro - db music0xf4_cmd - endm - - enum music0xf5_cmd -music0xf5: macro - db music0xf5_cmd - endm - - enum music0xf6_cmd -music0xf6: macro - db music0xf6_cmd - endm - - enum music0xf7_cmd -music0xf7: macro - db music0xf7_cmd - endm - - enum music0xf8_cmd -music0xf8: macro - db music0xf8_cmd - endm - - enum unknownmusic0xf9_cmd -unknownmusic0xf9: macro - db unknownmusic0xf9_cmd - endm - - enum setcondition_cmd -setcondition: macro - db setcondition_cmd - db \1 ; condition - endm - - enum jumpif_cmd -jumpif: macro - db jumpif_cmd - db \1 ; condition - dw \2 ; address - endm - - enum jumpchannel_cmd -jumpchannel: macro - db jumpchannel_cmd - dw \1 ; address - endm - - enum loopchannel_cmd -loopchannel: macro - db loopchannel_cmd - db \1 ; count - dw \2 ; address - endm - - enum callchannel_cmd -callchannel: macro - db callchannel_cmd - dw \1 ; address - endm - - enum endchannel_cmd -endchannel: macro - db endchannel_cmd - endm diff --git a/macros/text.asm b/macros/text.asm deleted file mode 100644 index e29f8a511..000000000 --- a/macros/text.asm +++ /dev/null @@ -1,133 +0,0 @@ -text EQUS "db $00," ; Start writing text. -next EQUS "db $4e," ; Move a line down. -line EQUS "db $4f," ; Start writing at the bottom line. -page EQUS "db $50," ; Start a new Pokédex page. -para EQUS "db $51," ; Start a new paragraph. -cont EQUS "db $55," ; Scroll to the next line. -done EQUS "db $57" ; End a text box. -prompt EQUS "db $58" ; Prompt the player to end a text box (initiating some other event). - -; TextCommands indexes (see home/text.asm) - enum_start $01 - - enum TX_RAM -text_from_ram: MACRO - db TX_RAM - dw \1 - ENDM - - enum TX_BCD -text_bcd: macro - db TX_BCD - dw \1 - db \2 - ENDM - - enum TX_MOVE -text_move: macro - db TX_MOVE - dw \1 - ENDM - - enum TX_BOX -text_box: macro - db TX_BOX - dw \1 - db \2, \3 - ENDM - - enum TX_LOW -text_low: macro - db TX_LOW - endm - - enum WAIT_BUTTON -text_waitbutton: macro - db WAIT_BUTTON - endm - - enum TX_SCROLL -text_scroll: macro - db TX_SCROLL - endm - - enum START_ASM -start_asm: macro - db START_ASM - endm - - enum TX_NUM -deciram: macro - db TX_NUM - dw \1 ; address - dn \2, \3 ; bytes, digits - endm - - enum TX_EXIT -interpret_data: macro - db TX_EXIT - endm - - enum TX_SOUND_0B -sound_dex_fanfare_50_79: macro - db TX_SOUND_0B - endm - - enum TX_DOTS -limited_interpret_data: macro - db TX_DOTS - db \1 - endm - - enum TX_LINK_WAIT_BUTTON -link_wait_button: macro - db TX_LINK_WAIT_BUTTON - endm - - enum TX_SOUND_0E -sound_dex_fanfare_20_49: macro - db TX_SOUND_0E - endm - - enum TX_SOUND_0F -sound_item: macro - db TX_SOUND_0F - endm - - enum TX_SOUND_10 -sound_caught_mon: macro - db TX_SOUND_10 - endm - - enum TX_SOUND_11 -sound_dex_fanfare_80_109: macro - db TX_SOUND_11 - endm - - enum TX_SOUND_12 -sound_fanfare: macro - db TX_SOUND_12 - endm - - enum TX_SOUND_13 -sound_slot_machine_start: macro - db TX_SOUND_13 - endm - - enum TX_STRINGBUFFER -text_buffer: macro - db TX_STRINGBUFFER - db \1 - endm - - enum TX_DAY -current_day: macro - db TX_DAY - endm - - enum TX_FAR -text_jump: MACRO - db TX_FAR - dw \1 - db BANK(\1) - ENDM diff --git a/macros/tilesets.asm b/macros/tilesets.asm index 6a233254e..aeb1d8174 100755 --- a/macros/tilesets.asm +++ b/macros/tilesets.asm @@ -1,3 +1,5 @@ +; Used in tilesets/*.asm + tilepal: MACRO ; vram bank, pals x = \1 << OAM_TILE_BANK diff --git a/macros/trade_anim.asm b/macros/trade_anim.asm deleted file mode 100755 index c38dc75d6..000000000 --- a/macros/trade_anim.asm +++ /dev/null @@ -1,255 +0,0 @@ -; DoTradeAnimation.JumpTable indexes (see engine/trade/animation.asm) - enum_start - - enum tradeanim_next_command -tradeanim_next: macro - db tradeanim_next_command ; 00 -endm - - enum tradeanim_show_givemon_data_command -tradeanim_show_givemon_data: macro - db tradeanim_show_givemon_data_command ; 01 -endm - - enum tradeanim_show_getmon_data_command -tradeanim_show_getmon_data: macro - db tradeanim_show_getmon_data_command ; 02 -endm - - enum tradeanim_enter_link_tube_command -tradeanim_enter_link_tube: macro - db tradeanim_enter_link_tube_command ; 03 -endm - -__enum__ set $5 - - enum tradeanim_exit_link_tube_command -tradeanim_exit_link_tube: macro - db tradeanim_exit_link_tube_command ; 05 -endm - - enum tradeanim_tube_to_ot_command -tradeanim_tube_to_ot: macro - db tradeanim_tube_to_ot_command ; 06 -endm - -__enum__ set $e - - enum tradeanim_tube_to_player_command -tradeanim_tube_to_player: macro - db tradeanim_tube_to_player_command ; 0e -endm - -__enum__ set $16 - - enum tradeanim_sent_to_ot_text_command -tradeanim_sent_to_ot_text: macro - db tradeanim_sent_to_ot_text_command ; 16 -endm - - enum tradeanim_ot_bids_farewell_command -tradeanim_ot_bids_farewell: macro - db tradeanim_ot_bids_farewell_command ; 17 -endm - - enum tradeanim_take_care_of_text_command -tradeanim_take_care_of_text: macro - db tradeanim_take_care_of_text_command ; 18 -endm - - enum tradeanim_ot_sends_text_1_command -tradeanim_ot_sends_text_1: macro - db tradeanim_ot_sends_text_1_command ; 19 -endm - - enum tradeanim_ot_sends_text_2_command -tradeanim_ot_sends_text_2: macro - db tradeanim_ot_sends_text_2_command ; 1a -endm - - enum tradeanim_setup_givemon_scroll_command -tradeanim_setup_givemon_scroll: macro - db tradeanim_setup_givemon_scroll_command ; 1b -endm - - enum tradeanim_do_givemon_scroll_command -tradeanim_do_givemon_scroll: macro - db tradeanim_do_givemon_scroll_command ; 1c -endm - - enum tradeanim_frontpic_scroll_command -tradeanim_frontpic_scroll: macro - db tradeanim_frontpic_scroll_command ; 1d -endm - - enum tradeanim_textbox_scroll_command -tradeanim_textbox_scroll: macro - db tradeanim_textbox_scroll_command ; 1e -endm - - enum tradeanim_scroll_out_right_command -tradeanim_scroll_out_right: macro - db tradeanim_scroll_out_right_command ; 1f -endm - -__enum__ set $21 - - enum tradeanim_wait_80_command -tradeanim_wait_80: macro - db tradeanim_wait_80_command ; 21 -endm - - enum tradeanim_wait_40_command -tradeanim_wait_40: macro - db tradeanim_wait_40_command ; 22 -endm - - enum tradeanim_rocking_ball_command -tradeanim_rocking_ball: macro - db tradeanim_rocking_ball_command ; 23 -endm - - enum tradeanim_drop_ball_command -tradeanim_drop_ball: macro - db tradeanim_drop_ball_command ; 24 -endm - - enum tradeanim_wait_anim_command -tradeanim_wait_anim: macro - db tradeanim_wait_anim_command ; 25 -endm - -__enum__ set $27 - - enum tradeanim_poof_command -tradeanim_poof: macro - db tradeanim_poof_command ; 27 -endm - - enum tradeanim_bulge_through_tube_command -tradeanim_bulge_through_tube: macro - db tradeanim_bulge_through_tube_command ; 28 -endm - - enum tradeanim_give_trademon_sfx_command -tradeanim_give_trademon_sfx: macro - db tradeanim_give_trademon_sfx_command ; 29 -endm - - enum tradeanim_get_trademon_sfx_command -tradeanim_get_trademon_sfx: macro - db tradeanim_get_trademon_sfx_command ; 2a -endm - - enum tradeanim_end_command -tradeanim_end: macro - db tradeanim_end_command ; 2b -endm - - enum tradeanim_animate_frontpic_command -tradeanim_animate_frontpic: macro - db tradeanim_animate_frontpic_command ; 2c -endm - - enum tradeanim_wait_96_command -tradeanim_wait_96: macro - db tradeanim_wait_96_command ; 2d -endm - - enum tradeanim_wait_80_if_ot_egg_command -tradeanim_wait_80_if_ot_egg: macro - db tradeanim_wait_80_if_ot_egg_command ; 2e -endm - - enum tradeanim_wait_180_if_ot_egg_command -tradeanim_wait_180_if_ot_egg: macro - db tradeanim_wait_180_if_ot_egg_command ; 2f -endm - - -; Mobile - enum_start 1 - - enum mobiletradeanim_showgivemon_command -mobiletradeanim_showgivemon: macro - db mobiletradeanim_showgivemon_command ; 01 -endm - - enum mobiletradeanim_02_command -mobiletradeanim_02: macro - db mobiletradeanim_02_command ; 02 -endm - - enum mobiletradeanim_sendmon_command -mobiletradeanim_sendmon: macro - db mobiletradeanim_sendmon_command ; 03 -endm - -__enum__ set $05 - - enum mobiletradeanim_05_command -mobiletradeanim_05: macro - db mobiletradeanim_05_command ; 05 -endm - - enum mobiletradeanim_06_command -mobiletradeanim_06: macro - db mobiletradeanim_06_command ; 06 -endm - - enum mobiletradeanim_07_command -mobiletradeanim_07: macro - db mobiletradeanim_07_command ; 07 -endm - - enum mobiletradeanim_receivemon_command -mobiletradeanim_receivemon: macro - db mobiletradeanim_receivemon_command ; 08 -endm - -__enum__ set $0b - - enum mobiletradeanim_showgetmon_command -mobiletradeanim_showgetmon: macro - db mobiletradeanim_showgetmon_command ; 0b -endm - - enum mobiletradeanim_end_command -mobiletradeanim_end: macro - db mobiletradeanim_end_command ; 0c -endm - - enum mobiletradeanim_showgtsgivemon_command -mobiletradeanim_showgtsgivemon: macro - db mobiletradeanim_showgtsgivemon_command ; 0d -endm - - enum mobiletradeanim_showgtsgetmon_command -mobiletradeanim_showgtsgetmon: macro - db mobiletradeanim_showgtsgetmon_command ; 0e -endm - - enum mobiletradeanim_0f_command -mobiletradeanim_0f: macro - db mobiletradeanim_0f_command ; 0f -endm - - enum mobiletradeanim_10_command -mobiletradeanim_10: macro - db mobiletradeanim_10_command ; 10 -endm - - enum mobiletradeanim_11_command -mobiletradeanim_11: macro - db mobiletradeanim_11_command ; 11 -endm - - enum mobiletradeanim_12_command -mobiletradeanim_12: macro - db mobiletradeanim_12_command ; 12 -endm - - enum mobiletradeanim_showoddegg_command -mobiletradeanim_showoddegg: macro - db mobiletradeanim_showoddegg_command ; 13 -endm diff --git a/macros/trainer.asm b/macros/trainer.asm deleted file mode 100644 index 2e6c61884..000000000 --- a/macros/trainer.asm +++ /dev/null @@ -1,11 +0,0 @@ -trainerclass: MACRO - enum \1 -const_value = 1 -ENDM - -trainer: MACRO - ; flag, group, id, seen text, win text, lost text, talk-again text - dw \1 - db \2, \3 - dw \4, \5, \6, \7 -ENDM diff --git a/macros/wram.asm b/macros/wram.asm index ce53dc5c7..c70da2a74 100755 --- a/macros/wram.asm +++ b/macros/wram.asm @@ -1,3 +1,4 @@ +; Used in wram.asm flag_array: MACRO ds ((\1) + 7) / 8 @@ -15,7 +16,7 @@ box_struct: MACRO \1DefExp:: dw \1SpdExp:: dw \1SpcExp:: dw -\1DVs:: ds 2 +\1DVs:: dw \1PP:: ds NUM_MOVES \1Happiness:: db \1PokerusStatus:: db @@ -60,7 +61,7 @@ red_box_struct: MACRO \1DefenseExp:: dw \1SpeedExp:: dw \1SpecialExp:: dw -\1DVs:: ds 2 +\1DVs:: dw \1PP:: ds NUM_MOVES ENDM @@ -81,7 +82,7 @@ battle_struct: MACRO \1Item:: db \1Moves:: ds NUM_MOVES \1MovesEnd:: -\1DVs:: ds 2 +\1DVs:: dw \1PP:: ds NUM_MOVES \1Happiness:: db \1Level:: db @@ -103,7 +104,7 @@ ENDM box: MACRO \1:: -\1Count:: ds 1 +\1Count:: db \1Species:: ds MONS_PER_BOX + 1 \1Mons:: \1Mon1:: box_struct \1Mon1 @@ -134,14 +135,14 @@ channel_struct: MACRO \1FrequencyHi:: db \1Pitch:: db ; 0:rest 1-c:note \1Octave:: db ; 7-0 (0 is highest) -\1PitchOffset:: db ; raises existing octaves (to repeat phrases) +\1PitchOffset:: db ; raises existing octaves (to repeat phrases) \1NoteDuration:: db ; frames remaining for the current note \1Field0x16:: ds 1 ; c117 ds 1 ; c118 \1LoopCount:: db \1Tempo:: dw \1Tracks:: db ; hi:left lo:right -\1SFXDutyLoop:: ds 1 ; c11d +\1SFXDutyLoop:: db ; c11d \1VibratoDelayCount:: db ; initialized by \1VibratoDelay \1VibratoDelay:: db ; number of frames a note plays until vibrato starts \1VibratoExtent:: db @@ -149,7 +150,7 @@ channel_struct: MACRO \1PitchWheelTarget:: dw ; frequency endpoint for pitch wheel \1PitchWheelAmount:: db ; c124 \1PitchWheelAmountFraction:: db ; c125 -\1Field0x25:: ds 1 ; c126 +\1Field0x25:: db ; c126 ds 1 ; c127 \1CryPitch:: dw \1Field0x29:: ds 1 @@ -179,22 +180,13 @@ battle_tower_struct: MACRO endm mailmsg: MACRO -\1Message:: ds MAIL_MSG_LENGTH +\1Message:: ds MAIL_MSG_LENGTH \1MessageEnd:: ds 1 -\1Author:: ds PLAYER_NAME_LENGTH +\1Author:: ds PLAYER_NAME_LENGTH \1AuthorNationality:: ds 2 -\1AuthorID:: ds 2 -\1Species:: ds 1 -\1Type:: ds 1 -\1End:: -endm - -hof_mon: MACRO -\1Species:: ds 1 -\1ID:: ds 2 -\1DVs:: ds 2 -\1Level:: ds 1 -\1Nickname:: ds PKMN_NAME_LENGTH +- 1 +\1AuthorID:: dw +\1Species:: db +\1Type:: db \1End:: endm @@ -203,19 +195,28 @@ roam_struct: MACRO \1Level:: db \1MapGroup:: db \1MapNumber:: db -\1HP:: ds 1 -\1DVs:: ds 2 +\1HP:: db +\1DVs:: dw ENDM bugcontestwinner: macro -\1PersonID:: ds 1 -\1Mon:: ds 1 -\1Score:: ds 2 +\1PersonID:: db +\1Mon:: db +\1Score:: dw +endm + +hof_mon: MACRO +\1Species:: db +\1ID:: dw +\1DVs:: dw +\1Level:: db +\1Nickname:: ds PKMN_NAME_LENGTH +- 1 +\1End:: endm hall_of_fame: MACRO \1:: -\1WinCount:: ds 1 +\1WinCount:: db \1Mon1:: hof_mon \1Mon1 \1Mon2:: hof_mon \1Mon2 \1Mon3:: hof_mon \1Mon3 @@ -225,26 +226,34 @@ hall_of_fame: MACRO \1End:: ds 1 ENDM +link_battle_record: MACRO +\1Name:: ds NAME_LENGTH +- 1 +\1ID:: dw +\1Wins:: dw +\1Losses:: dw +\1Draws:: dw +ENDM + trademon: MACRO -\1Species:: ds 1 ; wc6d0 | wc702 +\1Species:: db ; wc6d0 | wc702 \1SpeciesName:: ds PKMN_NAME_LENGTH ; wc6d1 | wc703 -\1Nickname:: ds PKMN_NAME_LENGTH ; wc6dc | wc70e -\1SenderName:: ds NAME_LENGTH ; wc6e7 | wc719 -\1OTName:: ds NAME_LENGTH ; wc6f2 | wc724 -\1DVs:: ds 2 ; wc6fd | wc72f -\1ID:: ds 2 ; wc6ff | wc731 -\1CaughtData:: ds 1 ; wc701 | wc733 +\1Nickname:: ds PKMN_NAME_LENGTH ; wc6dc | wc70e +\1SenderName:: ds NAME_LENGTH ; wc6e7 | wc719 +\1OTName:: ds NAME_LENGTH ; wc6f2 | wc724 +\1DVs:: dw ; wc6fd | wc72f +\1ID:: dw ; wc6ff | wc731 +\1CaughtData:: db ; wc701 | wc733 \1End:: ENDM move_struct: MACRO -\1Animation:: ds 1 -\1Effect:: ds 1 -\1Power:: ds 1 -\1Type:: ds 1 -\1Accuracy:: ds 1 -\1PP:: ds 1 -\1EffectChance:: ds 1 +\1Animation:: db +\1Effect:: db +\1Power:: db +\1Type:: db +\1Accuracy:: db +\1PP:: db +\1EffectChance:: db endm slot_reel: MACRO @@ -266,109 +275,109 @@ endm object_struct: MACRO \1Struct:: -\1Sprite:: ds 1 -\1MapObjectIndex:: ds 1 -\1SpriteTile:: ds 1 -\1MovementType:: ds 1 -\1Flags:: ds 2 -\1Palette:: ds 1 -\1Walking:: ds 1 -\1Direction:: ds 1 -\1StepType:: ds 1 -\1StepDuration:: ds 1 -\1Action:: ds 1 -\1ObjectStepFrame:: ds 1 -\1Facing:: ds 1 -\1StandingTile:: ds 1 ; collision -\1LastTile:: ds 1 ; collision -\1StandingMapX:: ds 1 -\1StandingMapY:: ds 1 -\1LastMapX:: ds 1 -\1LastMapY:: ds 1 -\1ObjectInitX:: ds 1 -\1ObjectInitY:: ds 1 -\1Radius:: ds 1 -\1SpriteX:: ds 1 -\1SpriteY:: ds 1 -\1SpriteXOffset:: ds 1 -\1SpriteYOffset:: ds 1 -\1MovementByteIndex:: ds 1 -\1Object28:: ds 1 -\1Object29:: ds 1 -\1Object30:: ds 1 -\1Object31:: ds 1 -\1Range:: ds 1 +\1Sprite:: db +\1MapObjectIndex:: db +\1SpriteTile:: db +\1MovementType:: db +\1Flags:: dw +\1Palette:: db +\1Walking:: db +\1Direction:: db +\1StepType:: db +\1StepDuration:: db +\1Action:: db +\1ObjectStepFrame:: db +\1Facing:: db +\1StandingTile:: db ; collision +\1LastTile:: db ; collision +\1StandingMapX:: db +\1StandingMapY:: db +\1LastMapX:: db +\1LastMapY:: db +\1ObjectInitX:: db +\1ObjectInitY:: db +\1Radius:: db +\1SpriteX:: db +\1SpriteY:: db +\1SpriteXOffset:: db +\1SpriteYOffset:: db +\1MovementByteIndex:: db +\1Object28:: ds 1 +\1Object29:: ds 1 +\1Object30:: ds 1 +\1Object31:: ds 1 +\1Range:: db ds 7 \1StructEnd:: ENDM map_object: MACRO \1Object:: -\1ObjectStructID:: ds 1 -\1ObjectSprite:: ds 1 -\1ObjectYCoord:: ds 1 -\1ObjectXCoord:: ds 1 -\1ObjectMovement:: ds 1 -\1ObjectRadius:: ds 1 -\1ObjectHour:: ds 1 -\1ObjectTimeOfDay:: ds 1 -\1ObjectColor:: ds 1 -\1ObjectRange:: ds 1 -\1ObjectScript:: ds 2 -\1ObjectEventFlag:: ds 2 +\1ObjectStructID:: db +\1ObjectSprite:: db +\1ObjectYCoord:: db +\1ObjectXCoord:: db +\1ObjectMovement:: db +\1ObjectRadius:: db +\1ObjectHour:: db +\1ObjectTimeOfDay:: db +\1ObjectColor:: db +\1ObjectRange:: db +\1ObjectScript:: dw +\1ObjectEventFlag:: dw ds 2 endm sprite_anim_struct: MACRO -\1Index:: ds 1 ; 0 -\1FramesetID:: ds 1 ; 1 -\1AnimSeqID:: ds 1 ; 2 -\1TileID:: ds 1 ; 3 -\1XCoord:: ds 1 ; 4 -\1YCoord:: ds 1 ; 5 -\1XOffset:: ds 1 ; 6 -\1YOffset:: ds 1 ; 7 -\1Duration:: ds 1 ; 8 -\1DurationOffset:: ds 1 ; 9 -\1FrameIndex:: ds 1 ; a -\1Sprite0b:: ds 1 -\1Sprite0c:: ds 1 -\1Sprite0d:: ds 1 -\1Sprite0e:: ds 1 -\1Sprite0f:: ds 1 +\1Index:: db +\1FramesetID:: db +\1AnimSeqID:: db +\1TileID:: db +\1XCoord:: db +\1YCoord:: db +\1XOffset:: db +\1YOffset:: db +\1Duration:: db +\1DurationOffset:: db +\1FrameIndex:: db +\1Sprite0b:: ds 1 +\1Sprite0c:: ds 1 +\1Sprite0d:: ds 1 +\1Sprite0e:: ds 1 +\1Sprite0f:: ds 1 ENDM battle_anim_struct: MACRO ; Placeholder until we can figure out what it all means -\1_Index:: ds 1 -\1_Anim01:: ds 1 -\1_Anim02:: ds 1 -\1_FramesetIndex:: ds 1 -\1_FunctionIndex:: ds 1 -\1_Anim05:: ds 1 -\1_TileID:: ds 1 -\1_XCoord:: ds 1 -\1_YCoord:: ds 1 -\1_XOffset:: ds 1 -\1_YOffset:: ds 1 -\1_Anim0b:: ds 1 -\1_Anim0c:: ds 1 -\1_Anim0d:: ds 1 -\1_AnonJumptableIndex:: ds 1 -\1_Anim0f:: ds 1 -\1_Anim10:: ds 1 -\1_Anim11:: ds 1 -\1_Anim12:: ds 1 -\1_Anim13:: ds 1 -\1_Anim14:: ds 1 -\1_Anim15:: ds 1 -\1_Anim16:: ds 1 -\1_Anim17:: ds 1 +\1_Index:: db +\1_Anim01:: ds 1 +\1_Anim02:: ds 1 +\1_FramesetIndex:: db +\1_FunctionIndex:: db +\1_Anim05:: ds 1 +\1_TileID:: db +\1_XCoord:: db +\1_YCoord:: db +\1_XOffset:: db +\1_YOffset:: db +\1_Anim0b:: ds 1 +\1_Anim0c:: ds 1 +\1_Anim0d:: ds 1 +\1_AnonJumptableIndex:: db +\1_Anim0f:: ds 1 +\1_Anim10:: ds 1 +\1_Anim11:: ds 1 +\1_Anim12:: ds 1 +\1_Anim13:: ds 1 +\1_Anim14:: ds 1 +\1_Anim15:: ds 1 +\1_Anim16:: ds 1 +\1_Anim17:: ds 1 endm battle_bg_effect: MACRO -\1_Function:: ds 1 -\1_01:: ds 1 -\1_02:: ds 1 -\1_03:: ds 1 +\1_Function:: db +\1_01:: ds 1 +\1_02:: ds 1 +\1_03:: ds 1 endm diff --git a/maps/map_headers.asm b/maps/map_headers.asm index 5145fdda1..3b2607e31 100644 --- a/maps/map_headers.asm +++ b/maps/map_headers.asm @@ -1,3 +1,20 @@ +map_header: macro +;\1: map label +;\2: tileset: a TILESET_* constant +;\3: permission: TOWN, ROUTE, INDOOR, CAVE, PERM_5, GATE, or DUNGEON +;\4: location: from constants/landmark_constants.asm +;\5: music: a MUSIC_* constant +;\6: phone service flag: 1 to prevent phone calls +;\7: time of day: a PALETTE_* constant +;\8: fishing group: a FISHGROUP_* constant +\1_MapHeader: + db BANK(\1_SecondMapHeader), \2, \3 + dw \1_SecondMapHeader + db \4, \5 + dn \6, \7 + db \8 +endm + MapGroupPointers:: ; pointers to the first map header of each map group dw MapGroup_Olivine ; 1 @@ -27,7 +44,6 @@ MapGroupPointers:: dw MapGroup_Saffron ; 25 dw MapGroup_Cherrygrove ; 26 - MapGroup_Olivine: map_header OlivinePokecenter1F, TILESET_POKECENTER, INDOOR, OLIVINE_CITY, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, FISHGROUP_SHORE map_header OlivineGym, TILESET_OLIVINE_GYM, INDOOR, OLIVINE_CITY, MUSIC_GYM, 1, PALETTE_DAY, FISHGROUP_SHORE diff --git a/maps/second_map_headers.asm b/maps/second_map_headers.asm index ab35a7f76..f4162226f 100644 --- a/maps/second_map_headers.asm +++ b/maps/second_map_headers.asm @@ -1,3 +1,90 @@ +map_header_2: macro +;\1: map label +;\2: map id +;\3: border block +;\4: connections: sum of NORTH, SOUTH, WEST, and/or EAST, or 0 for none +\1_SecondMapHeader:: + db \3 + db \2_HEIGHT, \2_WIDTH + db BANK(\1_BlockData) + dw \1_BlockData + db BANK(\1_MapScriptHeader) + dw \1_MapScriptHeader + dw \1_MapEventHeader + db \4 +endm + +connection: macro +if "\1" == "north" +;\2: map id +;\3: map label (eventually will be rolled into map id) +;\4: x +;\5: offset? +;\6: strip length +;\7: this map id + map \2 + dw \3_BlockData + \2_WIDTH * (\2_HEIGHT - 3) + \5 + dw OverworldMap + \4 + 3 + db \6 + db \2_WIDTH + db \2_HEIGHT * 2 - 1 + db (\4 - \5) * -2 + dw OverworldMap + \2_HEIGHT * (\2_WIDTH + 6) + 1 +endc + +if "\1" == "south" +;\2: map id +;\3: map label (eventually will be rolled into map id) +;\4: x +;\5: offset? +;\6: strip length +;\7: this map id + map \2 + dw \3_BlockData + \5 + dw OverworldMap + (\7_HEIGHT + 3) * (\7_WIDTH + 6) + \4 + 3 + db \6 + db \2_WIDTH + db 0 + db (\4 - \5) * -2 + dw OverworldMap + \2_WIDTH + 7 +endc + +if "\1" == "west" +;\2: map id +;\3: map label (eventually will be rolled into map id) +;\4: y +;\5: offset? +;\6: strip length +;\7: this map id + map \2 + dw \3_BlockData + (\2_WIDTH * \5) + \2_WIDTH - 3 + dw OverworldMap + (\7_WIDTH + 6) * (\4 + 3) + db \6 + db \2_WIDTH + db (\4 - \5) * -2 + db \2_WIDTH * 2 - 1 + dw OverworldMap + \2_WIDTH * 2 + 6 +endc + +if "\1" == "east" +;\2: map id +;\3: map label (eventually will be rolled into map id) +;\4: y +;\5: offset? +;\6: strip length +;\7: this map id + map \2 + dw \3_BlockData + (\2_WIDTH * \5) + dw OverworldMap + (\7_WIDTH + 6) * (\4 + 3 + 1) - 3 + db \6 + db \2_WIDTH + db (\4 - \5) * -2 + db 0 + dw OverworldMap + \2_WIDTH + 7 +endc +endm + + map_header_2 NewBarkTown, NEW_BARK_TOWN, $5, WEST | EAST connection west, ROUTE_29, Route29, 0, 0, 9, NEW_BARK_TOWN connection east, ROUTE_27, Route27, 0, 0, 9, NEW_BARK_TOWN diff --git a/sram.asm b/sram.asm index 22b377b3c..5853cd61c 100644 --- a/sram.asm +++ b/sram.asm @@ -130,13 +130,7 @@ sLinkBattleStats:: ; b260 sLinkBattleWins:: ds 2 sLinkBattleLosses:: ds 2 ; b262 sLinkBattleDraws:: ds 2 ; b264 -link_battle_record: MACRO -\1Name:: ds NAME_LENGTH +- 1 -\1ID:: ds 2 -\1Wins:: ds 2 -\1Losses:: ds 2 -\1Draws:: ds 2 -endm + sLinkBattleRecord:: sLinkBattleRecord1:: link_battle_record sLinkBattleRecord1 sLinkBattleRecord2:: link_battle_record sLinkBattleRecord2 -- cgit v1.2.3 From 2ff7f50584e31c097ca4aa509d9dfe9d9c252465 Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Thu, 14 Dec 2017 00:38:08 -0500 Subject: Clarify which gfx anim commands are for oam --- macros/scripts/gfx_anim.asm | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/macros/scripts/gfx_anim.asm b/macros/scripts/gfx_anim.asm index e0a56cc23..cb85aba09 100644 --- a/macros/scripts/gfx_anim.asm +++ b/macros/scripts/gfx_anim.asm @@ -1,4 +1,4 @@ -; pic+sprite animations +; pic + oam animations frame: macro db \1 @@ -14,9 +14,8 @@ endc enum_start $fc -; used for sprites enum delanim_command ; fc -delanim: macro +delanim: macro ; used for oam db delanim_command endm @@ -39,8 +38,7 @@ endanim: macro __enum__ = $fe -; used for sprites enum dorestart_command ; fe -dorestart: macro +dorestart: macro ; used for oam db dorestart_command endm -- cgit v1.2.3 From 7350c3708fc2463e1eb6024c03de5c85b50aa38f Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Thu, 14 Dec 2017 12:19:26 -0500 Subject: Replace two numbers with constants (found by pfero) --- battle/core.asm | 2 +- battle/effect_commands.asm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/battle/core.asm b/battle/core.asm index bc8a37725..9dd3ffd84 100644 --- a/battle/core.asm +++ b/battle/core.asm @@ -4454,7 +4454,7 @@ HandleHealingItems: ; 3dcf9 HandleHPHealingItem: ; 3dd2f callab GetOpponentItem ld a, b - cp $1 + cp HELD_BERRY ret nz ld de, EnemyMonHP + 1 ld hl, EnemyMonMaxHP diff --git a/battle/effect_commands.asm b/battle/effect_commands.asm index bcebbb6ca..e261cbe81 100644 --- a/battle/effect_commands.asm +++ b/battle/effect_commands.asm @@ -9806,7 +9806,7 @@ GetItemHeldEffect: ; 37dd0 ret z push hl - ld hl, ItemAttributes + 2 + ld hl, ItemAttributes + ITEMATTR_EFFECT dec a ld c, a ld b, 0 -- cgit v1.2.3 From b17db9b8b5939d41dbe7d35d2f5c54cf82e0c59d Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Thu, 14 Dec 2017 14:18:33 -0500 Subject: =?UTF-8?q?Friend=20Ball=20happiness=20for=20boxed=20Pok=C3=A9mon?= =?UTF-8?q?=20is=20not=20a=20bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/bugs_and_glitches.md | 18 ------------------ items/item_effects.asm | 2 +- 2 files changed, 1 insertion(+), 19 deletions(-) diff --git a/docs/bugs_and_glitches.md b/docs/bugs_and_glitches.md index 4ee231d35..8e822a54f 100644 --- a/docs/bugs_and_glitches.md +++ b/docs/bugs_and_glitches.md @@ -20,7 +20,6 @@ - [Moon Ball does not boost catch rate](#moon-ball-does-not-boost-catch-rate) - [Love Ball boosts catch rate for the wrong gender](#love-ball-boosts-catch-rate-for-the-wrong-gender) - [Fast Ball only boosts catch rate for three Pokémon](#fast-ball-only-boosts-catch-rate-for-three-pokémon) -- [Friend Ball catches sent to the PC overwrite the wrong Pokémon's happiness](#friend-ball-catches-sent-to-the-pc-overwrite-the-wrong-pokémons-happiness) - [Dragon Scale, not Dragon Fang, boosts Dragon-type moves](#dragon-scale-not-dragon-fang-boosts-dragon-type-moves) - [Daisy's massages don't always increase happiness](#daisys-massages-dont-always-increase-happiness) - [Magikarp in Lake of Rage are shorter, not longer](#magikarp-in-lake-of-rage-are-shorter-not-longer) @@ -533,23 +532,6 @@ FastBallMultiplier: **Fix:** Change `jr nz, .next` to `jr nz, .loop`. -## Friend Ball catches sent to the PC overwrite the wrong Pokémon's happiness - -This is a bug with `PokeBall` in [items/item_effects.asm](items/item_effects.asm): - -```asm - ld a, [CurItem] - cp FRIEND_BALL - jr nz, .SkipBoxMonFriendBall - ; Bug: overwrites the happiness of the first mon in the box! - ld a, FRIEND_BALL_HAPPINESS - ld [sBoxMon1Happiness], a -.SkipBoxMonFriendBall: -``` - -`sBoxMon1Happiness` is written *before* the Friend Ball Pokémon is deposited. - - ## Dragon Scale, not Dragon Fang, boosts Dragon-type moves This is a bug with `ItemAttributes` in [items/item_attributes.asm](items/item_attributes.asm): diff --git a/items/item_effects.asm b/items/item_effects.asm index 562bf873c..25da8059c 100644 --- a/items/item_effects.asm +++ b/items/item_effects.asm @@ -634,7 +634,7 @@ ParkBall: ; e8a2 ld a, [CurItem] cp FRIEND_BALL jr nz, .SkipBoxMonFriendBall - ; Bug: overwrites the happiness of the first mon in the box! + ; The captured mon is now first in the box ld a, FRIEND_BALL_HAPPINESS ld [sBoxMon1Happiness], a .SkipBoxMonFriendBall: -- cgit v1.2.3 From c5d482df208bab0fe340de175b21137f56008287 Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Thu, 14 Dec 2017 16:28:16 -0500 Subject: Document two more bugs found by Crystal_ --- battle/effect_commands.asm | 2 + battle/moves/move_effects.asm | 2 +- docs/bugs_and_glitches.md | 339 +++++++++++++++++++++++++----------------- 3 files changed, 209 insertions(+), 134 deletions(-) diff --git a/battle/effect_commands.asm b/battle/effect_commands.asm index e261cbe81..b49cb2e3d 100644 --- a/battle/effect_commands.asm +++ b/battle/effect_commands.asm @@ -3191,6 +3191,8 @@ BattleCommand_BeatUp: ; 35461 ld a, [wd002] ld c, a ld a, [CurBattleMon] + ; BUG: this can desynchronize link battles + ; Change "cp [hl]" to "cp c" to fix cp [hl] ld hl, BattleMonStatus jr z, .active_mon diff --git a/battle/moves/move_effects.asm b/battle/moves/move_effects.asm index 73bc3cbec..c34e5ed23 100644 --- a/battle/moves/move_effects.asm +++ b/battle/moves/move_effects.asm @@ -571,7 +571,7 @@ DefenseDownHit: supereffectivetext checkdestinybond buildopponentrage - effectchance + effectchance ; bug: duplicate effectchance shouldn't be here defensedown statdownmessage endmove diff --git a/docs/bugs_and_glitches.md b/docs/bugs_and_glitches.md index 8e822a54f..0b40617aa 100644 --- a/docs/bugs_and_glitches.md +++ b/docs/bugs_and_glitches.md @@ -6,16 +6,18 @@ - [Thick Club and Light Ball can decrease damage done with boosted (Special) Attack](#thick-club-and-light-ball-can-decrease-damage-done-with-boosted-special-attack) - [Metal Powder can increase damage taken with boosted (Special) Defense](#metal-powder-can-increase-damage-taken-with-boosted-special-defense) - [Belly Drum sharply boosts Attack even with under 50% HP](#belly-drum-sharply-boosts-attack-even-with-under-50-hp) +- [Moves that lower Defense can do so after breaking a Substitute](#moves-that-lower-defense-can-do-so-after-breaking-a-substitute) +- [Counter and Mirror Coat still work if the opponent uses an item](#counter-and-mirror-coat-still-work-if-the-opponent-uses-an-item) +- [A Disabled but PP Up–enhanced move may not trigger Struggle](#a-disabled-but-pp-upenhanced-move-may-not-trigger-struggle) +- [A Pokémon that fainted from Pursuit will have its old status condition when revived](#a-pokémon-that-fainted-from-pursuit-will-have-its-old-status-condition-when-revived) +- [Beat Up can desynchronize link battles](#beat-up-can-desynchronize-link-battles) +- [Present damage is incorrect in link battles](#present-damage-is-incorrect-in-link-battles) +- ["Smart" AI encourages Mean Look if its own Pokémon is badly poisoned](#smart-ai-encourages-mean-look-if-its-own-pokémon-is-badly-poisoned) +- [NPC use of Full Heal or Full Restore does not cure Nightmare status](#npc-use-of-full-heal-or-full-restore-does-not-cure-nightmare-status) - [HP bar animation is slow for high HP](#hp-bar-animation-is-slow-for-high-hp) - [HP bar animation off-by-one error for low HP](#hp-bar-animation-off-by-one-error-for-low-hp) - [Experience underflow for level 1 Pokémon with Medium-Slow growth rate](#experience-underflow-for-level-1-pokémon-with-medium-slow-growth-rate) - [Five-digit experience gain is printed incorrectly](#five-digit-experience-gain-is-printed-incorrectly) -- [NPC use of Full Heal or Full Restore does not cure Nightmare status](#npc-use-of-full-heal-or-full-restore-does-not-cure-nightmare-status) -- ["Smart" AI encourages Mean Look if its own Pokémon is badly poisoned](#smart-ai-encourages-mean-look-if-its-own-pokémon-is-badly-poisoned) -- [A Disabled, PP Up–enhanced move may not trigger automatic Struggling](#a-disabled-pp-upenhanced-move-may-not-trigger-automatic-struggling) -- [Counter and Mirror Coat still work if the opponent uses an item](#counter-and-mirror-coat-still-work-if-the-opponent-uses-an-item) -- [A Pokémon that fainted from Pursuit will have its old status condition when revived](#a-pokémon-that-fainted-from-pursuit-will-have-its-old-status-condition-when-revived) -- [Present damage is incorrect in link battles](#present-damage-is-incorrect-in-link-battles) - [BRN/PSN/PAR do not affect catch rate](#brnpsnpar-do-not-affect-catch-rate) - [Moon Ball does not boost catch rate](#moon-ball-does-not-boost-catch-rate) - [Love Ball boosts catch rate for the wrong gender](#love-ball-boosts-catch-rate-for-the-wrong-gender) @@ -171,6 +173,204 @@ BattleCommand_BellyDrum: ; 37c1a ``` +## Moves that lower Defense can do so after breaking a Substitute + +([Video](https://www.youtube.com/watch?v=OGwKPRJLaaI)) + +This bug affects Acid, Iron Tail, and Rock Smash. + +This is a bug with `DefenseDownHit` in [battle/moves/move_effects.asm](battle/moves/move_effects.asm): + +```asm +DefenseDownHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + effectchance ; bug: duplicate effectchance shouldn't be here + defensedown + statdownmessage + endmove +``` + +**Fix:** Delete the second `effectchance`. + + +## Counter and Mirror Coat still work if the opponent uses an item + +([Video](https://www.youtube.com/watch?v=uRYyzKRatFk)) + +*To do:* Identify specific code causing this bug and fix it. + + +## A Disabled but PP Up–enhanced move may not trigger Struggle + +([Video](https://www.youtube.com/watch?v=1v9x4SgMggs)) + +This is a bug with `CheckPlayerHasUsableMoves` in [battle/core.asm](battle/core.asm): + +```asm +.done + ; Bug: this will result in a move with PP Up confusing the game. + ; Replace with "and $3f" to fix. + and a + ret nz + +.force_struggle + ld hl, BattleText_PkmnHasNoMovesLeft + call StdBattleTextBox + ld c, 60 + call DelayFrames + xor a + ret +``` + +**Fix:** Change `and a` to `and $3f`. + + +## A Pokémon that fainted from Pursuit will have its old status condition when revived + +([Video](https://www.youtube.com/watch?v=tiRvw-Nb2ME)) + +*To do:* Identify specific code causing this bug and fix it. + + +## Beat Up can desynchronize link battles + +([Video](https://www.youtube.com/watch?v=202-iAsrIa8)) + +This is a bug with `BattleCommand_BeatUp` in [battle/effect_commands.asm](battle/effect_commands.asm): + +```asm +.got_mon + ld a, [wd002] + ld hl, PartyMonNicknames + call GetNick + ld a, MON_HP + call GetBeatupMonLocation + ld a, [hli] + or [hl] + jp z, .beatup_fail ; fainted + ld a, [wd002] + ld c, a + ld a, [CurBattleMon] + ; BUG: this can desynchronize link battles + ; Change "cp [hl]" to "cp c" to fix + cp [hl] + ld hl, BattleMonStatus + jr z, .active_mon + ld a, MON_STATUS + call GetBeatupMonLocation +.active_mon + ld a, [hl] + and a + jp nz, .beatup_fail +``` + +**Fix:** Change `cp [hl]` to `cp c`. + + +## Present damage is incorrect in link battles + +([Video](https://www.youtube.com/watch?v=XJaQoKtrEuw)) + +This bug existed for all battles in Gold and Silver, and was only fixed for single-player battles in Crystal to preserve link compatibility. + +This is a bug with `BattleCommand_Present` in [battle/effects/present.asm](battle/effects/present.asm): + +```asm +BattleCommand_Present: ; 37874 +; present + + ld a, [wLinkMode] + cp LINK_COLOSSEUM + jr z, .colosseum_skippush + push bc + push de +.colosseum_skippush + + call BattleCommand_Stab + + ld a, [wLinkMode] + cp LINK_COLOSSEUM + jr z, .colosseum_skippop + pop de + pop bc +.colosseum_skippop +``` + +**Fix:** + +```asm +BattleCommand_Present: ; 37874 +; present + + push bc + push de + call BattleCommand_Stab + pop de + pop bc +``` + + +## "Smart" AI encourages Mean Look if its own Pokémon is badly poisoned + +([Video](https://www.youtube.com/watch?v=cygMO-zHTls)) + +This is a bug with `AI_Smart_MeanLook` in [battle/ai/scoring.asm](battle/ai/scoring.asm): + +```asm +; 80% chance to greatly encourage this move if the enemy is badly poisoned (buggy). +; Should check PlayerSubStatus5 instead. + ld a, [EnemySubStatus5] + bit SUBSTATUS_TOXIC, a + jr nz, .asm_38e26 +``` + +**Fix:** Change `EnemySubStatus5` to `PlayerSubStatus5`. + + +## NPC use of Full Heal or Full Restore does not cure Nightmare status + +([Video](https://www.youtube.com/watch?v=rGqu3d3pdok&t=322)) + +This is a bug with `AI_HealStatus` in [battle/ai/items.asm](battle/ai/items.asm): + +```asm +AI_HealStatus: ; 384e0 + ld a, [CurOTMon] + ld hl, OTPartyMon1Status + ld bc, PARTYMON_STRUCT_LENGTH + call AddNTimes + xor a + ld [hl], a + ld [EnemyMonStatus], a + ; Bug: this should reset SUBSTATUS_NIGHTMARE too + ; Uncomment the lines below to fix + ; ld hl, EnemySubStatus1 + ; res SUBSTATUS_NIGHTMARE, [hl] + ld hl, EnemySubStatus5 + res SUBSTATUS_TOXIC, [hl] + ret +; 384f7 +``` + +**Fix:** Uncomment `ld hl, EnemySubStatus1` and `res SUBSTATUS_NIGHTMARE, [hl]`. + + ## HP bar animation is slow for high HP ([Video](https://www.youtube.com/watch?v=SE-BfsFgZVM)) @@ -299,133 +499,6 @@ Text_StringBuffer2ExpPoints:: **Fix:** Change both `deciram StringBuffer2, 2, 4` to `deciram StringBuffer2, 2, 5`. -## NPC use of Full Heal or Full Restore does not cure Nightmare status - -([Video](https://www.youtube.com/watch?v=rGqu3d3pdok&t=322)) - -This is a bug with `AI_HealStatus` in [battle/ai/items.asm](battle/ai/items.asm): - -```asm -AI_HealStatus: ; 384e0 - ld a, [CurOTMon] - ld hl, OTPartyMon1Status - ld bc, PARTYMON_STRUCT_LENGTH - call AddNTimes - xor a - ld [hl], a - ld [EnemyMonStatus], a - ; Bug: this should reset SUBSTATUS_NIGHTMARE too - ; Uncomment the lines below to fix - ; ld hl, EnemySubStatus1 - ; res SUBSTATUS_NIGHTMARE, [hl] - ld hl, EnemySubStatus5 - res SUBSTATUS_TOXIC, [hl] - ret -; 384f7 -``` - -**Fix:** Uncomment `ld hl, EnemySubStatus1` and `res SUBSTATUS_NIGHTMARE, [hl]`. - - -## "Smart" AI encourages Mean Look if its own Pokémon is badly poisoned - -([Video](https://www.youtube.com/watch?v=cygMO-zHTls)) - -This is a bug with `AI_Smart_MeanLook` in [battle/ai/scoring.asm](battle/ai/scoring.asm): - -```asm -; 80% chance to greatly encourage this move if the enemy is badly poisoned (buggy). -; Should check PlayerSubStatus5 instead. - ld a, [EnemySubStatus5] - bit SUBSTATUS_TOXIC, a - jr nz, .asm_38e26 -``` - -**Fix:** Change `EnemySubStatus5` to `PlayerSubStatus5`. - - -## A Disabled, PP Up–enhanced move may not trigger automatic Struggling - -([Video](https://www.youtube.com/watch?v=1v9x4SgMggs)) - -This is a bug with `CheckPlayerHasUsableMoves` in [battle/core.asm](battle/core.asm): - -```asm -.done - ; Bug: this will result in a move with PP Up confusing the game. - ; Replace with "and $3f" to fix. - and a - ret nz - -.force_struggle - ld hl, BattleText_PkmnHasNoMovesLeft - call StdBattleTextBox - ld c, 60 - call DelayFrames - xor a - ret -``` - -**Fix:** Change `and a` to `and $3f`. - - -## Counter and Mirror Coat still work if the opponent uses an item - -([Video](https://www.youtube.com/watch?v=uRYyzKRatFk)) - -*To do:* Identify specific code causing this bug and fix it. - - -## A Pokémon that fainted from Pursuit will have its old status condition when revived - -([Video](https://www.youtube.com/watch?v=tiRvw-Nb2ME)) - -*To do:* Identify specific code causing this bug and fix it. - - -## Present damage is incorrect in link battles - -([Video](https://www.youtube.com/watch?v=XJaQoKtrEuw)) - -This bug existed for all battles in Gold and Silver, and was only fixed for single-player battles in Crystal to preserve link compatibility. - -This is a bug with `BattleCommand_Present` in [battle/effects/present.asm](battle/effects/present.asm): - -```asm -BattleCommand_Present: ; 37874 -; present - - ld a, [wLinkMode] - cp LINK_COLOSSEUM - jr z, .colosseum_skippush - push bc - push de -.colosseum_skippush - - call BattleCommand_Stab - - ld a, [wLinkMode] - cp LINK_COLOSSEUM - jr z, .colosseum_skippop - pop de - pop bc -.colosseum_skippop -``` - -**Fix:** - -```asm -BattleCommand_Present: ; 37874 -; present - - push bc - push de - call BattleCommand_Stab - pop de - pop bc -``` - - ## BRN/PSN/PAR do not affect catch rate This is a bug with `PokeBall` in [items/item_effects.asm](items/item_effects.asm): -- cgit v1.2.3 From 68785d999668f9a6777c58c67712987392a8d675 Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Thu, 14 Dec 2017 19:04:44 -0500 Subject: Use absolute links within repository --- docs/bugs_and_glitches.md | 70 +++++++++++++++++++++++----------------------- docs/event_commands.md | 3 ++ docs/move_anim_commands.md | 3 ++ docs/movement_commands.md | 3 ++ docs/music_commands.md | 3 ++ docs/pic_animations.md | 3 ++ docs/text_commands.md | 32 +++++++++++++++++++++ 7 files changed, 82 insertions(+), 35 deletions(-) diff --git a/docs/bugs_and_glitches.md b/docs/bugs_and_glitches.md index 0b40617aa..961e0d9ff 100644 --- a/docs/bugs_and_glitches.md +++ b/docs/bugs_and_glitches.md @@ -49,7 +49,7 @@ ([Video](https://www.youtube.com/watch?v=rGqu3d3pdok&t=450)) -This is a bug with `SpeciesItemBoost` in [battle/effect_commands.asm](battle/effect_commands.asm): +This is a bug with `SpeciesItemBoost` in [battle/effect_commands.asm](/battle/effect_commands.asm): ```asm ; Double the stat @@ -83,7 +83,7 @@ This is a bug with `SpeciesItemBoost` in [battle/effect_commands.asm](battle/eff ([Video](https://www.youtube.com/watch?v=rGqu3d3pdok&t=450)) -This is a bug with `DittoMetalPowder` in [battle/effect_commands.asm](battle/effect_commands.asm): +This is a bug with `DittoMetalPowder` in [battle/effect_commands.asm](/battle/effect_commands.asm): ```asm ld a, c @@ -139,7 +139,7 @@ This is a bug with `DittoMetalPowder` in [battle/effect_commands.asm](battle/eff ([Video](https://www.youtube.com/watch?v=zuCLMikWo4Y)) -This is a bug with `BattleCommand_BellyDrum` in [battle/effect_commands.asm](battle/effect_commands.asm): +This is a bug with `BattleCommand_BellyDrum` in [battle/effect_commands.asm](/battle/effect_commands.asm): ```asm BattleCommand_BellyDrum: ; 37c1a @@ -179,7 +179,7 @@ BattleCommand_BellyDrum: ; 37c1a This bug affects Acid, Iron Tail, and Rock Smash. -This is a bug with `DefenseDownHit` in [battle/moves/move_effects.asm](battle/moves/move_effects.asm): +This is a bug with `DefenseDownHit` in [battle/moves/move_effects.asm](/battle/moves/move_effects.asm): ```asm DefenseDownHit: @@ -220,7 +220,7 @@ DefenseDownHit: ([Video](https://www.youtube.com/watch?v=1v9x4SgMggs)) -This is a bug with `CheckPlayerHasUsableMoves` in [battle/core.asm](battle/core.asm): +This is a bug with `CheckPlayerHasUsableMoves` in [battle/core.asm](/battle/core.asm): ```asm .done @@ -252,7 +252,7 @@ This is a bug with `CheckPlayerHasUsableMoves` in [battle/core.asm](battle/core. ([Video](https://www.youtube.com/watch?v=202-iAsrIa8)) -This is a bug with `BattleCommand_BeatUp` in [battle/effect_commands.asm](battle/effect_commands.asm): +This is a bug with `BattleCommand_BeatUp` in [battle/effect_commands.asm](/battle/effect_commands.asm): ```asm .got_mon @@ -289,7 +289,7 @@ This is a bug with `BattleCommand_BeatUp` in [battle/effect_commands.asm](battle This bug existed for all battles in Gold and Silver, and was only fixed for single-player battles in Crystal to preserve link compatibility. -This is a bug with `BattleCommand_Present` in [battle/effects/present.asm](battle/effects/present.asm): +This is a bug with `BattleCommand_Present` in [battle/effects/present.asm](/battle/effects/present.asm): ```asm BattleCommand_Present: ; 37874 @@ -330,7 +330,7 @@ BattleCommand_Present: ; 37874 ([Video](https://www.youtube.com/watch?v=cygMO-zHTls)) -This is a bug with `AI_Smart_MeanLook` in [battle/ai/scoring.asm](battle/ai/scoring.asm): +This is a bug with `AI_Smart_MeanLook` in [battle/ai/scoring.asm](/battle/ai/scoring.asm): ```asm ; 80% chance to greatly encourage this move if the enemy is badly poisoned (buggy). @@ -347,7 +347,7 @@ This is a bug with `AI_Smart_MeanLook` in [battle/ai/scoring.asm](battle/ai/scor ([Video](https://www.youtube.com/watch?v=rGqu3d3pdok&t=322)) -This is a bug with `AI_HealStatus` in [battle/ai/items.asm](battle/ai/items.asm): +This is a bug with `AI_HealStatus` in [battle/ai/items.asm](/battle/ai/items.asm): ```asm AI_HealStatus: ; 384e0 @@ -375,7 +375,7 @@ AI_HealStatus: ; 384e0 ([Video](https://www.youtube.com/watch?v=SE-BfsFgZVM)) -This is a bug with `LongAnim_UpdateVariables` in [engine/anim_hp_bar.asm](engine/anim_hp_bar.asm): +This is a bug with `LongAnim_UpdateVariables` in [engine/anim_hp_bar.asm](/engine/anim_hp_bar.asm): ```asm ; This routine is buggy. The result from ComputeHPBarPixels is stored @@ -403,7 +403,7 @@ This is a bug with `LongAnim_UpdateVariables` in [engine/anim_hp_bar.asm](engine ([Video](https://www.youtube.com/watch?v=9KyNVIZxJvI)) -This is a bug with `ShortHPBar_CalcPixelFrame` in [engine/anim_hp_bar.asm](engine/anim_hp_bar.asm): +This is a bug with `ShortHPBar_CalcPixelFrame` in [engine/anim_hp_bar.asm](/engine/anim_hp_bar.asm): ```asm ld b, 0 @@ -431,7 +431,7 @@ This is a bug with `ShortHPBar_CalcPixelFrame` in [engine/anim_hp_bar.asm](engin This can bring Pokémon straight from level 1 to 100 by gaining just a few experience points. -This is a bug with `CalcExpAtLevel` in [main.asm](main.asm): +This is a bug with `CalcExpAtLevel` in [main.asm](/main.asm): ```asm CalcExpAtLevel: ; 50e47 @@ -477,7 +477,7 @@ CalcExpAtLevel: ; 50e47 ([Video](https://www.youtube.com/watch?v=o54VjpAEoO8)) -This is a bug with `Text_ABoostedStringBuffer2ExpPoints` and `Text_StringBuffer2ExpPoints` in [text/common_2.asm](text/common_2.asm): +This is a bug with `Text_ABoostedStringBuffer2ExpPoints` and `Text_StringBuffer2ExpPoints` in [text/common_2.asm](/text/common_2.asm): ```asm Text_ABoostedStringBuffer2ExpPoints:: @@ -501,7 +501,7 @@ Text_StringBuffer2ExpPoints:: ## BRN/PSN/PAR do not affect catch rate -This is a bug with `PokeBall` in [items/item_effects.asm](items/item_effects.asm): +This is a bug with `PokeBall` in [items/item_effects.asm](/items/item_effects.asm): ```asm .statuscheck @@ -533,7 +533,7 @@ This is a bug with `PokeBall` in [items/item_effects.asm](items/item_effects.asm ## Moon Ball does not boost catch rate -This is a bug with `MoonBallMultiplier` in [items/item_effects.asm](items/item_effects.asm): +This is a bug with `MoonBallMultiplier` in [items/item_effects.asm](/items/item_effects.asm): ```asm MoonBallMultiplier: @@ -559,7 +559,7 @@ MoonBallMultiplier: ## Love Ball boosts catch rate for the wrong gender -This is a bug with `LoveBallMultiplier` in [items/item_effects.asm](items/item_effects.asm): +This is a bug with `LoveBallMultiplier` in [items/item_effects.asm](/items/item_effects.asm): ```asm LoveBallMultiplier: @@ -581,7 +581,7 @@ LoveBallMultiplier: ## Fast Ball only boosts catch rate for three Pokémon -This is a bug with `FastBallMultiplier` in [items/item_effects.asm](items/item_effects.asm): +This is a bug with `FastBallMultiplier` in [items/item_effects.asm](/items/item_effects.asm): ```asm FastBallMultiplier: @@ -607,7 +607,7 @@ FastBallMultiplier: ## Dragon Scale, not Dragon Fang, boosts Dragon-type moves -This is a bug with `ItemAttributes` in [items/item_attributes.asm](items/item_attributes.asm): +This is a bug with `ItemAttributes` in [items/item_attributes.asm](/items/item_attributes.asm): ```asm ; DRAGON FANG @@ -624,7 +624,7 @@ This is a bug with `ItemAttributes` in [items/item_attributes.asm](items/item_at ## Daisy's massages don't always increase happiness -This is a bug with `MassageOrHaircut` in [event/special.asm](event/special.asm): +This is a bug with `MassageOrHaircut` in [event/special.asm](/event/special.asm): ```asm ; Bug: Subtracting $ff from $ff fails to set c. @@ -673,7 +673,7 @@ Data_DaisyMassage: ; 746b ## Magikarp in Lake of Rage are shorter, not longer -This is a bug with `LoadEnemyMon.CheckMagikarpArea` in [battle/core.asm](battle/core.asm): +This is a bug with `LoadEnemyMon.CheckMagikarpArea` in [battle/core.asm](/battle/core.asm): ```asm .CheckMagikarpArea: @@ -701,7 +701,7 @@ This is a bug with `LoadEnemyMon.CheckMagikarpArea` in [battle/core.asm](battle/ ([Video](https://www.youtube.com/watch?v=eij_1060SMc)) -This is a bug with `StartTrainerBattle_DetermineWhichAnimation` in [engine/battle_start.asm](engine/battle_start.asm): +This is a bug with `StartTrainerBattle_DetermineWhichAnimation` in [engine/battle_start.asm](/engine/battle_start.asm): ```asm StartTrainerBattle_DetermineWhichAnimation: ; 8c365 (23:4365) @@ -744,7 +744,7 @@ StartTrainerBattle_DetermineWhichAnimation: ; 8c365 (23:4365) ## No bump noise if standing on tile `$3E` -This is a bug with `DoPlayerMovement.CheckWarp` in [engine/player_movement.asm](engine/player_movement.asm): +This is a bug with `DoPlayerMovement.CheckWarp` in [engine/player_movement.asm](/engine/player_movement.asm): ```asm ; Bug: Since no case is made for STANDING here, it will check @@ -792,7 +792,7 @@ This is a bug with `DoPlayerMovement.CheckWarp` in [engine/player_movement.asm]( ([Video](https://www.youtube.com/watch?v=z305e4sIO24)) -The exact cause is unknown, but a workaround exists for `DexEntryScreen_MenuActionJumptable.Cry` in [engine/pokedex.asm](engine/pokedex.asm): +The exact cause is unknown, but a workaround exists for `DexEntryScreen_MenuActionJumptable.Cry` in [engine/pokedex.asm](/engine/pokedex.asm): ```asm .Cry: ; 40340 @@ -826,7 +826,7 @@ This bug affects Attract, Curse, Foresight, Mean Look, Mimic, Nightmare, Spider This bug prevents you from using blocksets with more than 128 blocks. -[home/map.asm](home/map.asm): +[home/map.asm](/home/map.asm): ```asm ; Set hl to the address of the current metatile data ([TilesetBlocksAddress] + (a) tiles). @@ -863,7 +863,7 @@ This bug prevents you from using blocksets with more than 128 blocks. This bug can allow you to talk to Eusine in Celadon City and encounter Ho-Oh with only traded legendary beasts. -[engine/search.asm](engine/search.asm): +[engine/search.asm](/engine/search.asm): ```asm ; check OT @@ -908,7 +908,7 @@ This bug can affect Mew or Pokémon other than Ditto that used Transform via Mir ([Video](https://www.youtube.com/watch?v=v1ErZdLCIyU)) -This is a bug with `ParkBall` in [items/item_effects.asm](items/item_effects.asm): +This is a bug with `ParkBall` in [items/item_effects.asm](/items/item_effects.asm): ```asm .room_in_party @@ -933,7 +933,7 @@ This is a bug with `ParkBall` in [items/item_effects.asm](items/item_effects.asm ## `HELD_CATCH_CHANCE` has no effect -This is a bug with `PokeBall` in [items/item_effects.asm](items/item_effects.asm): +This is a bug with `PokeBall` in [items/item_effects.asm](/items/item_effects.asm): ```asm ; BUG: callba overwrites a, @@ -957,7 +957,7 @@ This is a bug with `PokeBall` in [items/item_effects.asm](items/item_effects.asm ## Only the first three `EvosAttacks` evolution entries can have Stone compatibility reported correctly -This is a bug with `PlacePartyMonEvoStoneCompatibility.DetermineCompatibility` in [engine/party_menu.asm](engine/party_menu.asm): +This is a bug with `PlacePartyMonEvoStoneCompatibility.DetermineCompatibility` in [engine/party_menu.asm](/engine/party_menu.asm): ```asm .DetermineCompatibility: ; 50268 @@ -980,7 +980,7 @@ This is a bug with `PlacePartyMonEvoStoneCompatibility.DetermineCompatibility` i ## `ScriptCall` can overflow `wScriptStack` and crash -[engine/scripting.asm](engine/scripting.asm): +[engine/scripting.asm](/engine/scripting.asm): ```asm ScriptCall: @@ -1018,7 +1018,7 @@ ScriptCall: ## `LoadSpriteGFX` does not limit the capacity of `UsedSprites` -[engine/overworld.asm](engine/overworld.asm): +[engine/overworld.asm](/engine/overworld.asm): ```asm LoadSpriteGFX: ; 14306 @@ -1053,7 +1053,7 @@ LoadSpriteGFX: ; 14306 ## `ChooseWildEncounter` doesn't really validate the wild Pokémon species -[engine/wildmons.asm](engine/wildmons.asm): +[engine/wildmons.asm](/engine/wildmons.asm): ```asm ChooseWildEncounter: ; 2a14f @@ -1092,7 +1092,7 @@ ValidateTempWildMonSpecies: ; 2a4a0 ## `TryObjectEvent` arbitrary code execution -[engine/events.asm](engine/events.asm): +[engine/events.asm](/engine/events.asm): ```asm ; Bug: If IsInArray returns nc, data at bc will be executed as code. @@ -1120,7 +1120,7 @@ ValidateTempWildMonSpecies: ; 2a4a0 ## `Special_CheckBugContestContestantFlag` can read beyond its data table -[event/bug_contest_2.asm](event/bug_contest_2.asm): +[event/bug_contest_2.asm](/event/bug_contest_2.asm): ```asm Special_CheckBugContestContestantFlag: ; 139ed @@ -1158,7 +1158,7 @@ BugCatchingContestantEventFlagTable: ; 139fe ## `ClearWRAM` only clears WRAM bank 1 -[home/init.asm](home/init.asm): +[home/init.asm](/home/init.asm): ```asm ClearWRAM:: ; 25a @@ -1186,7 +1186,7 @@ ClearWRAM:: ; 25a ## `GetForestTreeFrame` works, but it's still bad -[tilesets/animations.asm](tilesets/animations.asm): +[tilesets/animations.asm](/tilesets/animations.asm): ```asm GetForestTreeFrame: ; fc54c diff --git a/docs/event_commands.md b/docs/event_commands.md index 662159481..b9bc4a925 100644 --- a/docs/event_commands.md +++ b/docs/event_commands.md @@ -1,5 +1,8 @@ # Event Commands +Defined in [macros/scripts/event.asm](/macros/scripts/event.asm) and [engine/scripting.asm:ScriptCommandTable](/engine/scripting.asm). + + ## `$00`: `scall` *script* ## `$01`: `farscall` *script* diff --git a/docs/move_anim_commands.md b/docs/move_anim_commands.md index 5669187f7..9772550c3 100644 --- a/docs/move_anim_commands.md +++ b/docs/move_anim_commands.md @@ -1,5 +1,8 @@ # Move Animation Commands +Defined in [macros/scripts/move_anim.asm](/macros/scripts/move_anim.asm) and [battle/anims.asm:BattleAnimations](/battle/anims.asm). + + ## `$00`−`$EF`: `anim_wait` *length* ## `$D0`: `anim_obj` *object*, *x*, *y*, *param* diff --git a/docs/movement_commands.md b/docs/movement_commands.md index 702bd1f6c..db86fd2f9 100644 --- a/docs/movement_commands.md +++ b/docs/movement_commands.md @@ -1,5 +1,8 @@ # Movement Commands +Defined in [macros/scripts/movement.asm](/macros/scripts/movement.asm) and [engine/movement.asm:MovementPointers](/engine/movement.asm). + + ## `$00`−`$03`: `turn_head` *direction* ## `$04`−`$07`: `turn_step` *direction* diff --git a/docs/music_commands.md b/docs/music_commands.md index 564ac010a..bf6359068 100644 --- a/docs/music_commands.md +++ b/docs/music_commands.md @@ -1,5 +1,8 @@ # Music Commands +Defined in [macros/scripts/audio.asm](/macros/scripts/audio.asm) and [audio/engine.asm:MusicCommands](/audio/engine.asm). + + ## `musicheader` *n*, *index*, *address* ## `cry_header` *n*, *index*, *address* diff --git a/docs/pic_animations.md b/docs/pic_animations.md index a87932819..57c7f151a 100644 --- a/docs/pic_animations.md +++ b/docs/pic_animations.md @@ -1,5 +1,8 @@ # Pic Animations +Defined in [macros/scripts/gfx_anim.asm](/macros/scripts/gfx_anim.asm) and [battle/anim_commands.asm:BattleAnimCommands](/battle/anim_commands.asm). + + Pic animations are assembled in 3 parts: - Top-level animations: diff --git a/docs/text_commands.md b/docs/text_commands.md index 865ea69b5..cf3a53327 100644 --- a/docs/text_commands.md +++ b/docs/text_commands.md @@ -1,116 +1,146 @@ # Text Commands +Defined in [macros/scripts/text.asm](/macros/scripts/text.asm) and [home/text.asm:TextCommands](/home/text.asm). + + ## `$00`: `text` *text* Start writing text until `"@"`. + ## `$4E`: `next` *text* Move a line down. + ## `$4F`: `line` *text* Start writing at the bottom line. + ## `$50`: `page` *text* Start a new Pokédex page. + ## `$51`: `para` *text* Start a new paragraph. + ## `$55`: `cont` *text* Scroll to the next line. + ## `$57`: `done` End a text box. + ## `$58`: `prompt` Prompt the player to end a text box (initiating some other event). + ## `$01`: `text_from_ram` *address* Write text from a RAM address. + ## `$02`: `text_bcd` *address*, *flags* Write [BCD](bcd) from an address, typically RAM. [bcd]: https://en.wikipedia.org/wiki/Binary-coded_decimal + ## `$03`: `text_move` *address* Move to a new tile. + ## `$04`: `text_box` *address*, *height*, *width* Draw a box. + ## `$05`: `text_low` Write text at (1, 16). + ## `$06`: `text_waitbutton` Wait for button press; show arrow. + ## `$07`: `text_scroll` Pushes text up two lines and sets the `bc` cursor to the border tile below the first character column of the text box. + ## `$08`: `start_asm` Start interpreting assembly code. + ## `$09`: `deciram` *address*, *bytes*, *digits* Read *bytes* bytes from *address* and print them as a *digits*-digit number. + ## `$0A`: `interpret_data` Exit. + ## `$0B`: `sound_dex_fanfare_50_79` Play `SFX_DEX_FANFARE_50_79`. + ## `$0C`: `limited_interpret_data` *number* Print *number* `"…"`s. + ## `$0D`: `link_wait_button` Wait for button press; show arrow. + ## `$0E`: `sound_dex_fanfare_20_49` Play `SFX_DEX_FANFARE_20_49`. + ## `$0F`: `sound_item` Play `SFX_ITEM`. + ## `$10`: `sound_caught_mon` Play `SFX_CAUGHT_MON`. + ## `$11`: `sound_dex_fanfare_80_109` Play `SFX_DEX_FANFARE_80_109`. + ## `$12`: `sound_fanfare` Play `SFX_FANFARE`. + ## `$13`: `sound_slot_machine_start` Play `SFX_SLOT_MACHINE_START`. + ## `$14`: `text_buffer` *id* Write text from one of the following addresses (listed in `StringBufferPointers`): @@ -123,10 +153,12 @@ Write text from one of the following addresses (listed in `StringBufferPointers` 5. `EnemyMonNick` 6. `BattleMonNick` + ## `$15`: `current_day` Print the weekday. + ## `$16`: `text_jump` *address* Write text from a different bank. -- cgit v1.2.3 From 232feca298695c950ade1fc753ee7639522696ce Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Thu, 14 Dec 2017 19:07:06 -0500 Subject: Consistent "(with ) in " phrasing --- docs/bugs_and_glitches.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/bugs_and_glitches.md b/docs/bugs_and_glitches.md index 961e0d9ff..9ed7a9ee8 100644 --- a/docs/bugs_and_glitches.md +++ b/docs/bugs_and_glitches.md @@ -826,7 +826,7 @@ This bug affects Attract, Curse, Foresight, Mean Look, Mimic, Nightmare, Spider This bug prevents you from using blocksets with more than 128 blocks. -[home/map.asm](/home/map.asm): +In [home/map.asm](/home/map.asm): ```asm ; Set hl to the address of the current metatile data ([TilesetBlocksAddress] + (a) tiles). @@ -863,7 +863,7 @@ This bug prevents you from using blocksets with more than 128 blocks. This bug can allow you to talk to Eusine in Celadon City and encounter Ho-Oh with only traded legendary beasts. -[engine/search.asm](/engine/search.asm): +In [engine/search.asm](/engine/search.asm): ```asm ; check OT @@ -980,7 +980,7 @@ This is a bug with `PlacePartyMonEvoStoneCompatibility.DetermineCompatibility` i ## `ScriptCall` can overflow `wScriptStack` and crash -[engine/scripting.asm](/engine/scripting.asm): +In [engine/scripting.asm](/engine/scripting.asm): ```asm ScriptCall: @@ -1018,7 +1018,7 @@ ScriptCall: ## `LoadSpriteGFX` does not limit the capacity of `UsedSprites` -[engine/overworld.asm](/engine/overworld.asm): +In [engine/overworld.asm](/engine/overworld.asm): ```asm LoadSpriteGFX: ; 14306 @@ -1053,7 +1053,7 @@ LoadSpriteGFX: ; 14306 ## `ChooseWildEncounter` doesn't really validate the wild Pokémon species -[engine/wildmons.asm](/engine/wildmons.asm): +In [engine/wildmons.asm](/engine/wildmons.asm): ```asm ChooseWildEncounter: ; 2a14f @@ -1092,7 +1092,7 @@ ValidateTempWildMonSpecies: ; 2a4a0 ## `TryObjectEvent` arbitrary code execution -[engine/events.asm](/engine/events.asm): +In [engine/events.asm](/engine/events.asm): ```asm ; Bug: If IsInArray returns nc, data at bc will be executed as code. @@ -1120,7 +1120,7 @@ ValidateTempWildMonSpecies: ; 2a4a0 ## `Special_CheckBugContestContestantFlag` can read beyond its data table -[event/bug_contest_2.asm](/event/bug_contest_2.asm): +In [event/bug_contest_2.asm](/event/bug_contest_2.asm): ```asm Special_CheckBugContestContestantFlag: ; 139ed @@ -1158,7 +1158,7 @@ BugCatchingContestantEventFlagTable: ; 139fe ## `ClearWRAM` only clears WRAM bank 1 -[home/init.asm](/home/init.asm): +In [home/init.asm](/home/init.asm): ```asm ClearWRAM:: ; 25a @@ -1186,7 +1186,7 @@ ClearWRAM:: ; 25a ## `GetForestTreeFrame` works, but it's still bad -[tilesets/animations.asm](/tilesets/animations.asm): +In [tilesets/animations.asm](/tilesets/animations.asm): ```asm GetForestTreeFrame: ; fc54c -- cgit v1.2.3 From 9ba224e2e68d066d0a82369a403da28d84656787 Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Thu, 14 Dec 2017 21:45:35 -0500 Subject: Document two more bugs --- docs/bugs_and_glitches.md | 69 +++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 61 insertions(+), 8 deletions(-) diff --git a/docs/bugs_and_glitches.md b/docs/bugs_and_glitches.md index 9ed7a9ee8..b70f7fcbd 100644 --- a/docs/bugs_and_glitches.md +++ b/docs/bugs_and_glitches.md @@ -10,9 +10,11 @@ - [Counter and Mirror Coat still work if the opponent uses an item](#counter-and-mirror-coat-still-work-if-the-opponent-uses-an-item) - [A Disabled but PP Up–enhanced move may not trigger Struggle](#a-disabled-but-pp-upenhanced-move-may-not-trigger-struggle) - [A Pokémon that fainted from Pursuit will have its old status condition when revived](#a-pokémon-that-fainted-from-pursuit-will-have-its-old-status-condition-when-revived) +- [Lock-On and Mind Reader don't always bypass Fly and Dig](#lock-on-and-mind-reader-dont-always-bypass-fly-and-dig) - [Beat Up can desynchronize link battles](#beat-up-can-desynchronize-link-battles) - [Present damage is incorrect in link battles](#present-damage-is-incorrect-in-link-battles) - ["Smart" AI encourages Mean Look if its own Pokémon is badly poisoned](#smart-ai-encourages-mean-look-if-its-own-pokémon-is-badly-poisoned) +- [AI makes a false assumption about `CheckTypeMatchup`](#ai-makes-a-false-assumption-about-checktypematchup) - [NPC use of Full Heal or Full Restore does not cure Nightmare status](#npc-use-of-full-heal-or-full-restore-does-not-cure-nightmare-status) - [HP bar animation is slow for high HP](#hp-bar-animation-is-slow-for-high-hp) - [HP bar animation off-by-one error for low HP](#hp-bar-animation-off-by-one-error-for-low-hp) @@ -26,9 +28,9 @@ - [Daisy's massages don't always increase happiness](#daisys-massages-dont-always-increase-happiness) - [Magikarp in Lake of Rage are shorter, not longer](#magikarp-in-lake-of-rage-are-shorter-not-longer) - [Battle transitions fail to account for the enemy's level](#battle-transitions-fail-to-account-for-the-enemys-level) +- [Slot machine payout sound effects cut each other off](#slot-machine-payout-sound-effects-cut-each-other-off) - [No bump noise if standing on tile `$3E`](#no-bump-noise-if-standing-on-tile-3e) - [Playing Entei's Pokédex cry can distort Raikou's and Suicune's](#playing-enteis-pokédex-cry-can-distort-raikous-and-suicunes) -- [Lock-On and Mind Reader don't always bypass Fly and Dig](#lock-on-and-mind-reader-dont-always-bypass-fly-and-dig) - [`LoadMetatiles` wraps around past 128 blocks](#loadmetatiles-wraps-around-past-128-blocks) - [Surfing directly across a map connection does not load the new map](#surfing-directly-across-a-map-connection-does-not-load-the-new-map) - [`CheckOwnMon` only checks the first five letters of OT names](#checkownmon-only-checks-the-first-five-letters-of-ot-names) @@ -248,6 +250,13 @@ This is a bug with `CheckPlayerHasUsableMoves` in [battle/core.asm](/battle/core *To do:* Identify specific code causing this bug and fix it. +## Lock-On and Mind Reader don't always bypass Fly and Dig + +This bug affects Attract, Curse, Foresight, Mean Look, Mimic, Nightmare, Spider Web, Transform, and stat-lowering effects of moves like String Shot or Bubble during the semi-invulnerable turn of Fly or Dig. + +*To do:* Identify specific code causing this bug and fix it. + + ## Beat Up can desynchronize link battles ([Video](https://www.youtube.com/watch?v=202-iAsrIa8)) @@ -343,6 +352,35 @@ This is a bug with `AI_Smart_MeanLook` in [battle/ai/scoring.asm](/battle/ai/sco **Fix:** Change `EnemySubStatus5` to `PlayerSubStatus5`. +## AI makes a false assumption about `CheckTypeMatchup` + +In [battle/effect_commands.asm](/battle/effect_commands.asm): + +```asm +BattleCheckTypeMatchup: ; 347c8 + ld hl, EnemyMonType1 + ld a, [hBattleTurn] + and a + jr z, CheckTypeMatchup + ld hl, BattleMonType1 +CheckTypeMatchup: ; 347d3 +; There is an incorrect assumption about this function made in the AI related code: when +; the AI calls CheckTypeMatchup (not BattleCheckTypeMatchup), it assumes that placing the +; offensive type in a will make this function do the right thing. Since a is overwritten, +; this assumption is incorrect. A simple fix would be to load the move type for the +; current move into a in BattleCheckTypeMatchup, before falling through, which is +; consistent with how the rest of the code assumes this code works like. + push hl + push de + push bc + ld a, BATTLE_VARS_MOVE_TYPE + call GetBattleVar + ld d, a +``` + +*To do:* Fix this bug. + + ## NPC use of Full Heal or Full Restore does not cure Nightmare status ([Video](https://www.youtube.com/watch?v=rGqu3d3pdok&t=322)) @@ -742,6 +780,28 @@ StartTrainerBattle_DetermineWhichAnimation: ; 8c365 (23:4365) *To do:* Fix this bug. +## Slot machine payout sound effects cut each other off + +([Video](https://www.youtube.com/watch?v=ojq3xqfRF6I)) + +This is a bug with `Slots_PayoutAnim` in [engine/slot_machine.asm](/engine/slot_machine.asm): + +```asm +.okay + ld [hl], e + dec hl + ld [hl], d + ld a, [wcf64] + and $7 + ret z ; ret nz would be more appropriate + ld de, SFX_GET_COIN_FROM_SLOTS + call PlaySFX + ret +``` + +**Fix:** Change `ret z` to `ret nz`. + + ## No bump noise if standing on tile `$3E` This is a bug with `DoPlayerMovement.CheckWarp` in [engine/player_movement.asm](/engine/player_movement.asm): @@ -815,13 +875,6 @@ The exact cause is unknown, but a workaround exists for `DexEntryScreen_MenuActi ``` -## Lock-On and Mind Reader don't always bypass Fly and Dig - -This bug affects Attract, Curse, Foresight, Mean Look, Mimic, Nightmare, Spider Web, Transform, and stat-lowering effects of moves like String Shot or Bubble during the semi-invulnerable turn of Fly or Dig. - -*To do:* Identify specific code causing this bug and fix it. - - ## `LoadMetatiles` wraps around past 128 blocks This bug prevents you from using blocksets with more than 128 blocks. -- cgit v1.2.3 From 6ab1d028bbb94ba35c16d715341444453e895716 Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Thu, 14 Dec 2017 23:00:54 -0500 Subject: Split items/ and trainers/ into their data/ and engine/ components Move some data into a pokemon/ subdirectory --- FAQ.md | 16 + Makefile | 6 +- audio.asm | 4 +- audio/cry_headers.asm | 258 - constants/item_constants.asm | 12 +- constants/landmark_constants.asm | 2 +- constants/map_constants.asm | 2 +- constants/map_dimension_constants.asm | 4 +- constants/pokemon_constants.asm | 20 +- constants/pokemon_data_constants.asm | 4 +- constants/trainer_constants.asm | 14 +- data/base_stats.asm | 252 - data/base_stats/abra.asm | 22 - data/base_stats/aerodactyl.asm | 22 - data/base_stats/aipom.asm | 22 - data/base_stats/alakazam.asm | 22 - data/base_stats/ampharos.asm | 22 - data/base_stats/arbok.asm | 22 - data/base_stats/arcanine.asm | 22 - data/base_stats/ariados.asm | 22 - data/base_stats/articuno.asm | 22 - data/base_stats/azumarill.asm | 22 - data/base_stats/bayleef.asm | 22 - data/base_stats/beedrill.asm | 22 - data/base_stats/bellossom.asm | 22 - data/base_stats/bellsprout.asm | 22 - data/base_stats/blastoise.asm | 22 - data/base_stats/blissey.asm | 22 - data/base_stats/bulbasaur.asm | 22 - data/base_stats/butterfree.asm | 22 - data/base_stats/caterpie.asm | 22 - data/base_stats/celebi.asm | 22 - data/base_stats/chansey.asm | 22 - data/base_stats/charizard.asm | 22 - data/base_stats/charmander.asm | 22 - data/base_stats/charmeleon.asm | 22 - data/base_stats/chikorita.asm | 22 - data/base_stats/chinchou.asm | 22 - data/base_stats/clefable.asm | 22 - data/base_stats/clefairy.asm | 22 - data/base_stats/cleffa.asm | 22 - data/base_stats/cloyster.asm | 22 - data/base_stats/corsola.asm | 22 - data/base_stats/crobat.asm | 22 - data/base_stats/croconaw.asm | 22 - data/base_stats/cubone.asm | 22 - data/base_stats/cyndaquil.asm | 22 - data/base_stats/delibird.asm | 22 - data/base_stats/dewgong.asm | 22 - data/base_stats/diglett.asm | 22 - data/base_stats/ditto.asm | 22 - data/base_stats/dodrio.asm | 22 - data/base_stats/doduo.asm | 22 - data/base_stats/donphan.asm | 22 - data/base_stats/dragonair.asm | 22 - data/base_stats/dragonite.asm | 22 - data/base_stats/dratini.asm | 22 - data/base_stats/drowzee.asm | 22 - data/base_stats/dugtrio.asm | 22 - data/base_stats/dunsparce.asm | 22 - data/base_stats/eevee.asm | 22 - data/base_stats/ekans.asm | 22 - data/base_stats/electabuzz.asm | 22 - data/base_stats/electrode.asm | 22 - data/base_stats/elekid.asm | 22 - data/base_stats/entei.asm | 22 - data/base_stats/espeon.asm | 22 - data/base_stats/exeggcute.asm | 22 - data/base_stats/exeggutor.asm | 22 - data/base_stats/farfetch_d.asm | 22 - data/base_stats/fearow.asm | 22 - data/base_stats/feraligatr.asm | 22 - data/base_stats/flaaffy.asm | 22 - data/base_stats/flareon.asm | 22 - data/base_stats/forretress.asm | 22 - data/base_stats/furret.asm | 22 - data/base_stats/gastly.asm | 22 - data/base_stats/gengar.asm | 22 - data/base_stats/geodude.asm | 22 - data/base_stats/girafarig.asm | 22 - data/base_stats/gligar.asm | 22 - data/base_stats/gloom.asm | 22 - data/base_stats/golbat.asm | 22 - data/base_stats/goldeen.asm | 22 - data/base_stats/golduck.asm | 22 - data/base_stats/golem.asm | 22 - data/base_stats/granbull.asm | 22 - data/base_stats/graveler.asm | 22 - data/base_stats/grimer.asm | 22 - data/base_stats/growlithe.asm | 22 - data/base_stats/gyarados.asm | 22 - data/base_stats/haunter.asm | 22 - data/base_stats/heracross.asm | 22 - data/base_stats/hitmonchan.asm | 22 - data/base_stats/hitmonlee.asm | 22 - data/base_stats/hitmontop.asm | 22 - data/base_stats/ho_oh.asm | 22 - data/base_stats/hoothoot.asm | 22 - data/base_stats/hoppip.asm | 22 - data/base_stats/horsea.asm | 22 - data/base_stats/houndoom.asm | 22 - data/base_stats/houndour.asm | 22 - data/base_stats/hypno.asm | 22 - data/base_stats/igglybuff.asm | 22 - data/base_stats/ivysaur.asm | 22 - data/base_stats/jigglypuff.asm | 22 - data/base_stats/jolteon.asm | 22 - data/base_stats/jumpluff.asm | 22 - data/base_stats/jynx.asm | 22 - data/base_stats/kabuto.asm | 22 - data/base_stats/kabutops.asm | 22 - data/base_stats/kadabra.asm | 22 - data/base_stats/kakuna.asm | 22 - data/base_stats/kangaskhan.asm | 22 - data/base_stats/kingdra.asm | 22 - data/base_stats/kingler.asm | 22 - data/base_stats/koffing.asm | 22 - data/base_stats/krabby.asm | 22 - data/base_stats/lanturn.asm | 22 - data/base_stats/lapras.asm | 22 - data/base_stats/larvitar.asm | 22 - data/base_stats/ledian.asm | 22 - data/base_stats/ledyba.asm | 22 - data/base_stats/lickitung.asm | 22 - data/base_stats/lugia.asm | 22 - data/base_stats/machamp.asm | 22 - data/base_stats/machoke.asm | 22 - data/base_stats/machop.asm | 22 - data/base_stats/magby.asm | 22 - data/base_stats/magcargo.asm | 22 - data/base_stats/magikarp.asm | 22 - data/base_stats/magmar.asm | 22 - data/base_stats/magnemite.asm | 22 - data/base_stats/magneton.asm | 22 - data/base_stats/mankey.asm | 22 - data/base_stats/mantine.asm | 22 - data/base_stats/mareep.asm | 22 - data/base_stats/marill.asm | 22 - data/base_stats/marowak.asm | 22 - data/base_stats/meganium.asm | 22 - data/base_stats/meowth.asm | 22 - data/base_stats/metapod.asm | 22 - data/base_stats/mew.asm | 22 - data/base_stats/mewtwo.asm | 22 - data/base_stats/miltank.asm | 22 - data/base_stats/misdreavus.asm | 22 - data/base_stats/moltres.asm | 22 - data/base_stats/mr__mime.asm | 22 - data/base_stats/muk.asm | 22 - data/base_stats/murkrow.asm | 22 - data/base_stats/natu.asm | 22 - data/base_stats/nidoking.asm | 22 - data/base_stats/nidoqueen.asm | 22 - data/base_stats/nidoran_f.asm | 22 - data/base_stats/nidoran_m.asm | 22 - data/base_stats/nidorina.asm | 22 - data/base_stats/nidorino.asm | 22 - data/base_stats/ninetales.asm | 22 - data/base_stats/noctowl.asm | 22 - data/base_stats/octillery.asm | 22 - data/base_stats/oddish.asm | 22 - data/base_stats/omanyte.asm | 22 - data/base_stats/omastar.asm | 22 - data/base_stats/onix.asm | 22 - data/base_stats/paras.asm | 22 - data/base_stats/parasect.asm | 22 - data/base_stats/persian.asm | 22 - data/base_stats/phanpy.asm | 22 - data/base_stats/pichu.asm | 22 - data/base_stats/pidgeot.asm | 22 - data/base_stats/pidgeotto.asm | 22 - data/base_stats/pidgey.asm | 22 - data/base_stats/pikachu.asm | 22 - data/base_stats/piloswine.asm | 22 - data/base_stats/pineco.asm | 22 - data/base_stats/pinsir.asm | 22 - data/base_stats/politoed.asm | 22 - data/base_stats/poliwag.asm | 22 - data/base_stats/poliwhirl.asm | 22 - data/base_stats/poliwrath.asm | 22 - data/base_stats/ponyta.asm | 22 - data/base_stats/porygon.asm | 22 - data/base_stats/porygon2.asm | 22 - data/base_stats/primeape.asm | 22 - data/base_stats/psyduck.asm | 22 - data/base_stats/pupitar.asm | 22 - data/base_stats/quagsire.asm | 22 - data/base_stats/quilava.asm | 22 - data/base_stats/qwilfish.asm | 22 - data/base_stats/raichu.asm | 22 - data/base_stats/raikou.asm | 22 - data/base_stats/rapidash.asm | 22 - data/base_stats/raticate.asm | 22 - data/base_stats/rattata.asm | 22 - data/base_stats/remoraid.asm | 22 - data/base_stats/rhydon.asm | 22 - data/base_stats/rhyhorn.asm | 22 - data/base_stats/sandshrew.asm | 22 - data/base_stats/sandslash.asm | 22 - data/base_stats/scizor.asm | 22 - data/base_stats/scyther.asm | 22 - data/base_stats/seadra.asm | 22 - data/base_stats/seaking.asm | 22 - data/base_stats/seel.asm | 22 - data/base_stats/sentret.asm | 22 - data/base_stats/shellder.asm | 22 - data/base_stats/shuckle.asm | 22 - data/base_stats/skarmory.asm | 22 - data/base_stats/skiploom.asm | 22 - data/base_stats/slowbro.asm | 22 - data/base_stats/slowking.asm | 22 - data/base_stats/slowpoke.asm | 22 - data/base_stats/slugma.asm | 22 - data/base_stats/smeargle.asm | 22 - data/base_stats/smoochum.asm | 22 - data/base_stats/sneasel.asm | 22 - data/base_stats/snorlax.asm | 22 - data/base_stats/snubbull.asm | 22 - data/base_stats/spearow.asm | 22 - data/base_stats/spinarak.asm | 22 - data/base_stats/squirtle.asm | 22 - data/base_stats/stantler.asm | 22 - data/base_stats/starmie.asm | 22 - data/base_stats/staryu.asm | 22 - data/base_stats/steelix.asm | 22 - data/base_stats/sudowoodo.asm | 22 - data/base_stats/suicune.asm | 22 - data/base_stats/sunflora.asm | 22 - data/base_stats/sunkern.asm | 22 - data/base_stats/swinub.asm | 22 - data/base_stats/tangela.asm | 22 - data/base_stats/tauros.asm | 22 - data/base_stats/teddiursa.asm | 22 - data/base_stats/tentacool.asm | 22 - data/base_stats/tentacruel.asm | 22 - data/base_stats/togepi.asm | 22 - data/base_stats/togetic.asm | 22 - data/base_stats/totodile.asm | 22 - data/base_stats/typhlosion.asm | 22 - data/base_stats/tyranitar.asm | 22 - data/base_stats/tyrogue.asm | 22 - data/base_stats/umbreon.asm | 22 - data/base_stats/unown.asm | 22 - data/base_stats/ursaring.asm | 22 - data/base_stats/vaporeon.asm | 22 - data/base_stats/venomoth.asm | 22 - data/base_stats/venonat.asm | 22 - data/base_stats/venusaur.asm | 22 - data/base_stats/victreebel.asm | 22 - data/base_stats/vileplume.asm | 22 - data/base_stats/voltorb.asm | 22 - data/base_stats/vulpix.asm | 22 - data/base_stats/wartortle.asm | 22 - data/base_stats/weedle.asm | 22 - data/base_stats/weepinbell.asm | 22 - data/base_stats/weezing.asm | 22 - data/base_stats/wigglytuff.asm | 22 - data/base_stats/wobbuffet.asm | 22 - data/base_stats/wooper.asm | 22 - data/base_stats/xatu.asm | 22 - data/base_stats/yanma.asm | 22 - data/base_stats/zapdos.asm | 22 - data/base_stats/zubat.asm | 22 - data/egg_move_pointers.asm | 257 - data/egg_moves.asm | 870 --- data/evos_attacks.asm | 3398 ------------ data/evos_attacks_pointers.asm | 255 - data/items/item_attributes.asm | 521 ++ data/items/item_descriptions.asm | 1042 ++++ data/items/item_names.asm | 257 + data/items/marts.asm | 442 ++ data/landmarks.asm | 208 - data/map_triggers.asm | 89 - data/mapgroup_roofs.asm | 31 - data/maps/landmarks.asm | 208 + data/maps/map_triggers.asm | 89 + data/maps/mapgroup_roofs.asm | 31 + data/maps/outdoor_sprites.asm | 696 +++ data/maps/spawn_points.asm | 41 + data/mon_menu_icons.asm | 255 - data/outdoor_sprites.asm | 696 --- data/pokedex/entries.asm | 272 - data/pokedex/entries/abra.asm | 10 - data/pokedex/entries/aerodactyl.asm | 10 - data/pokedex/entries/aipom.asm | 10 - data/pokedex/entries/alakazam.asm | 10 - data/pokedex/entries/ampharos.asm | 10 - data/pokedex/entries/arbok.asm | 10 - data/pokedex/entries/arcanine.asm | 10 - data/pokedex/entries/ariados.asm | 10 - data/pokedex/entries/articuno.asm | 10 - data/pokedex/entries/azumarill.asm | 10 - data/pokedex/entries/bayleef.asm | 10 - data/pokedex/entries/beedrill.asm | 10 - data/pokedex/entries/bellossom.asm | 10 - data/pokedex/entries/bellsprout.asm | 10 - data/pokedex/entries/blastoise.asm | 10 - data/pokedex/entries/blissey.asm | 10 - data/pokedex/entries/bulbasaur.asm | 10 - data/pokedex/entries/butterfree.asm | 10 - data/pokedex/entries/caterpie.asm | 10 - data/pokedex/entries/celebi.asm | 10 - data/pokedex/entries/chansey.asm | 10 - data/pokedex/entries/charizard.asm | 10 - data/pokedex/entries/charmander.asm | 10 - data/pokedex/entries/charmeleon.asm | 10 - data/pokedex/entries/chikorita.asm | 10 - data/pokedex/entries/chinchou.asm | 10 - data/pokedex/entries/clefable.asm | 10 - data/pokedex/entries/clefairy.asm | 10 - data/pokedex/entries/cleffa.asm | 10 - data/pokedex/entries/cloyster.asm | 10 - data/pokedex/entries/corsola.asm | 10 - data/pokedex/entries/crobat.asm | 10 - data/pokedex/entries/croconaw.asm | 10 - data/pokedex/entries/cubone.asm | 10 - data/pokedex/entries/cyndaquil.asm | 10 - data/pokedex/entries/delibird.asm | 10 - data/pokedex/entries/dewgong.asm | 10 - data/pokedex/entries/diglett.asm | 10 - data/pokedex/entries/ditto.asm | 10 - data/pokedex/entries/dodrio.asm | 10 - data/pokedex/entries/doduo.asm | 10 - data/pokedex/entries/donphan.asm | 10 - data/pokedex/entries/dragonair.asm | 10 - data/pokedex/entries/dragonite.asm | 10 - data/pokedex/entries/dratini.asm | 10 - data/pokedex/entries/drowzee.asm | 10 - data/pokedex/entries/dugtrio.asm | 10 - data/pokedex/entries/dunsparce.asm | 10 - data/pokedex/entries/eevee.asm | 10 - data/pokedex/entries/ekans.asm | 10 - data/pokedex/entries/electabuzz.asm | 10 - data/pokedex/entries/electrode.asm | 10 - data/pokedex/entries/elekid.asm | 10 - data/pokedex/entries/entei.asm | 10 - data/pokedex/entries/espeon.asm | 10 - data/pokedex/entries/exeggcute.asm | 10 - data/pokedex/entries/exeggutor.asm | 10 - data/pokedex/entries/farfetch_d.asm | 10 - data/pokedex/entries/fearow.asm | 10 - data/pokedex/entries/feraligatr.asm | 10 - data/pokedex/entries/flaaffy.asm | 10 - data/pokedex/entries/flareon.asm | 10 - data/pokedex/entries/forretress.asm | 10 - data/pokedex/entries/furret.asm | 10 - data/pokedex/entries/gastly.asm | 10 - data/pokedex/entries/gengar.asm | 10 - data/pokedex/entries/geodude.asm | 10 - data/pokedex/entries/girafarig.asm | 10 - data/pokedex/entries/gligar.asm | 10 - data/pokedex/entries/gloom.asm | 10 - data/pokedex/entries/golbat.asm | 10 - data/pokedex/entries/goldeen.asm | 10 - data/pokedex/entries/golduck.asm | 10 - data/pokedex/entries/golem.asm | 10 - data/pokedex/entries/granbull.asm | 10 - data/pokedex/entries/graveler.asm | 10 - data/pokedex/entries/grimer.asm | 10 - data/pokedex/entries/growlithe.asm | 10 - data/pokedex/entries/gyarados.asm | 10 - data/pokedex/entries/haunter.asm | 10 - data/pokedex/entries/heracross.asm | 10 - data/pokedex/entries/hitmonchan.asm | 10 - data/pokedex/entries/hitmonlee.asm | 10 - data/pokedex/entries/hitmontop.asm | 10 - data/pokedex/entries/ho_oh.asm | 10 - data/pokedex/entries/hoothoot.asm | 10 - data/pokedex/entries/hoppip.asm | 10 - data/pokedex/entries/horsea.asm | 10 - data/pokedex/entries/houndoom.asm | 10 - data/pokedex/entries/houndour.asm | 10 - data/pokedex/entries/hypno.asm | 10 - data/pokedex/entries/igglybuff.asm | 10 - data/pokedex/entries/ivysaur.asm | 10 - data/pokedex/entries/jigglypuff.asm | 10 - data/pokedex/entries/jolteon.asm | 10 - data/pokedex/entries/jumpluff.asm | 10 - data/pokedex/entries/jynx.asm | 10 - data/pokedex/entries/kabuto.asm | 10 - data/pokedex/entries/kabutops.asm | 10 - data/pokedex/entries/kadabra.asm | 10 - data/pokedex/entries/kakuna.asm | 10 - data/pokedex/entries/kangaskhan.asm | 10 - data/pokedex/entries/kingdra.asm | 10 - data/pokedex/entries/kingler.asm | 10 - data/pokedex/entries/koffing.asm | 10 - data/pokedex/entries/krabby.asm | 10 - data/pokedex/entries/lanturn.asm | 10 - data/pokedex/entries/lapras.asm | 10 - data/pokedex/entries/larvitar.asm | 10 - data/pokedex/entries/ledian.asm | 10 - data/pokedex/entries/ledyba.asm | 10 - data/pokedex/entries/lickitung.asm | 10 - data/pokedex/entries/lugia.asm | 10 - data/pokedex/entries/machamp.asm | 10 - data/pokedex/entries/machoke.asm | 10 - data/pokedex/entries/machop.asm | 10 - data/pokedex/entries/magby.asm | 10 - data/pokedex/entries/magcargo.asm | 10 - data/pokedex/entries/magikarp.asm | 10 - data/pokedex/entries/magmar.asm | 10 - data/pokedex/entries/magnemite.asm | 10 - data/pokedex/entries/magneton.asm | 10 - data/pokedex/entries/mankey.asm | 10 - data/pokedex/entries/mantine.asm | 10 - data/pokedex/entries/mareep.asm | 10 - data/pokedex/entries/marill.asm | 10 - data/pokedex/entries/marowak.asm | 10 - data/pokedex/entries/meganium.asm | 10 - data/pokedex/entries/meowth.asm | 10 - data/pokedex/entries/metapod.asm | 10 - data/pokedex/entries/mew.asm | 10 - data/pokedex/entries/mewtwo.asm | 10 - data/pokedex/entries/miltank.asm | 10 - data/pokedex/entries/misdreavus.asm | 10 - data/pokedex/entries/moltres.asm | 10 - data/pokedex/entries/mr__mime.asm | 10 - data/pokedex/entries/muk.asm | 10 - data/pokedex/entries/murkrow.asm | 10 - data/pokedex/entries/natu.asm | 10 - data/pokedex/entries/nidoking.asm | 10 - data/pokedex/entries/nidoqueen.asm | 10 - data/pokedex/entries/nidoran_f.asm | 10 - data/pokedex/entries/nidoran_m.asm | 10 - data/pokedex/entries/nidorina.asm | 10 - data/pokedex/entries/nidorino.asm | 10 - data/pokedex/entries/ninetales.asm | 10 - data/pokedex/entries/noctowl.asm | 10 - data/pokedex/entries/octillery.asm | 10 - data/pokedex/entries/oddish.asm | 10 - data/pokedex/entries/omanyte.asm | 10 - data/pokedex/entries/omastar.asm | 10 - data/pokedex/entries/onix.asm | 10 - data/pokedex/entries/paras.asm | 10 - data/pokedex/entries/parasect.asm | 10 - data/pokedex/entries/persian.asm | 10 - data/pokedex/entries/phanpy.asm | 10 - data/pokedex/entries/pichu.asm | 10 - data/pokedex/entries/pidgeot.asm | 10 - data/pokedex/entries/pidgeotto.asm | 10 - data/pokedex/entries/pidgey.asm | 10 - data/pokedex/entries/pikachu.asm | 10 - data/pokedex/entries/piloswine.asm | 10 - data/pokedex/entries/pineco.asm | 10 - data/pokedex/entries/pinsir.asm | 10 - data/pokedex/entries/politoed.asm | 10 - data/pokedex/entries/poliwag.asm | 10 - data/pokedex/entries/poliwhirl.asm | 10 - data/pokedex/entries/poliwrath.asm | 10 - data/pokedex/entries/ponyta.asm | 10 - data/pokedex/entries/porygon.asm | 10 - data/pokedex/entries/porygon2.asm | 10 - data/pokedex/entries/primeape.asm | 10 - data/pokedex/entries/psyduck.asm | 10 - data/pokedex/entries/pupitar.asm | 10 - data/pokedex/entries/quagsire.asm | 10 - data/pokedex/entries/quilava.asm | 10 - data/pokedex/entries/qwilfish.asm | 10 - data/pokedex/entries/raichu.asm | 10 - data/pokedex/entries/raikou.asm | 10 - data/pokedex/entries/rapidash.asm | 10 - data/pokedex/entries/raticate.asm | 10 - data/pokedex/entries/rattata.asm | 10 - data/pokedex/entries/remoraid.asm | 10 - data/pokedex/entries/rhydon.asm | 10 - data/pokedex/entries/rhyhorn.asm | 10 - data/pokedex/entries/sandshrew.asm | 10 - data/pokedex/entries/sandslash.asm | 10 - data/pokedex/entries/scizor.asm | 10 - data/pokedex/entries/scyther.asm | 10 - data/pokedex/entries/seadra.asm | 10 - data/pokedex/entries/seaking.asm | 10 - data/pokedex/entries/seel.asm | 10 - data/pokedex/entries/sentret.asm | 10 - data/pokedex/entries/shellder.asm | 10 - data/pokedex/entries/shuckle.asm | 10 - data/pokedex/entries/skarmory.asm | 10 - data/pokedex/entries/skiploom.asm | 10 - data/pokedex/entries/slowbro.asm | 10 - data/pokedex/entries/slowking.asm | 10 - data/pokedex/entries/slowpoke.asm | 10 - data/pokedex/entries/slugma.asm | 10 - data/pokedex/entries/smeargle.asm | 10 - data/pokedex/entries/smoochum.asm | 10 - data/pokedex/entries/sneasel.asm | 10 - data/pokedex/entries/snorlax.asm | 10 - data/pokedex/entries/snubbull.asm | 10 - data/pokedex/entries/spearow.asm | 10 - data/pokedex/entries/spinarak.asm | 10 - data/pokedex/entries/squirtle.asm | 10 - data/pokedex/entries/stantler.asm | 10 - data/pokedex/entries/starmie.asm | 10 - data/pokedex/entries/staryu.asm | 10 - data/pokedex/entries/steelix.asm | 10 - data/pokedex/entries/sudowoodo.asm | 10 - data/pokedex/entries/suicune.asm | 10 - data/pokedex/entries/sunflora.asm | 10 - data/pokedex/entries/sunkern.asm | 10 - data/pokedex/entries/swinub.asm | 10 - data/pokedex/entries/tangela.asm | 10 - data/pokedex/entries/tauros.asm | 10 - data/pokedex/entries/teddiursa.asm | 10 - data/pokedex/entries/tentacool.asm | 10 - data/pokedex/entries/tentacruel.asm | 10 - data/pokedex/entries/togepi.asm | 10 - data/pokedex/entries/togetic.asm | 10 - data/pokedex/entries/totodile.asm | 10 - data/pokedex/entries/typhlosion.asm | 10 - data/pokedex/entries/tyranitar.asm | 10 - data/pokedex/entries/tyrogue.asm | 10 - data/pokedex/entries/umbreon.asm | 10 - data/pokedex/entries/unown.asm | 10 - data/pokedex/entries/ursaring.asm | 10 - data/pokedex/entries/vaporeon.asm | 10 - data/pokedex/entries/venomoth.asm | 10 - data/pokedex/entries/venonat.asm | 10 - data/pokedex/entries/venusaur.asm | 10 - data/pokedex/entries/victreebel.asm | 10 - data/pokedex/entries/vileplume.asm | 10 - data/pokedex/entries/voltorb.asm | 10 - data/pokedex/entries/vulpix.asm | 10 - data/pokedex/entries/wartortle.asm | 10 - data/pokedex/entries/weedle.asm | 10 - data/pokedex/entries/weepinbell.asm | 10 - data/pokedex/entries/weezing.asm | 10 - data/pokedex/entries/wigglytuff.asm | 10 - data/pokedex/entries/wobbuffet.asm | 10 - data/pokedex/entries/wooper.asm | 10 - data/pokedex/entries/xatu.asm | 10 - data/pokedex/entries/yanma.asm | 10 - data/pokedex/entries/zapdos.asm | 10 - data/pokedex/entries/zubat.asm | 10 - data/pokedex/entry_pointers.asm | 254 - data/pokedex/order_alpha.asm | 255 - data/pokedex/order_new.asm | 255 - data/pokemon/base_stats.asm | 252 + data/pokemon/base_stats/abra.asm | 22 + data/pokemon/base_stats/aerodactyl.asm | 22 + data/pokemon/base_stats/aipom.asm | 22 + data/pokemon/base_stats/alakazam.asm | 22 + data/pokemon/base_stats/ampharos.asm | 22 + data/pokemon/base_stats/arbok.asm | 22 + data/pokemon/base_stats/arcanine.asm | 22 + data/pokemon/base_stats/ariados.asm | 22 + data/pokemon/base_stats/articuno.asm | 22 + data/pokemon/base_stats/azumarill.asm | 22 + data/pokemon/base_stats/bayleef.asm | 22 + data/pokemon/base_stats/beedrill.asm | 22 + data/pokemon/base_stats/bellossom.asm | 22 + data/pokemon/base_stats/bellsprout.asm | 22 + data/pokemon/base_stats/blastoise.asm | 22 + data/pokemon/base_stats/blissey.asm | 22 + data/pokemon/base_stats/bulbasaur.asm | 22 + data/pokemon/base_stats/butterfree.asm | 22 + data/pokemon/base_stats/caterpie.asm | 22 + data/pokemon/base_stats/celebi.asm | 22 + data/pokemon/base_stats/chansey.asm | 22 + data/pokemon/base_stats/charizard.asm | 22 + data/pokemon/base_stats/charmander.asm | 22 + data/pokemon/base_stats/charmeleon.asm | 22 + data/pokemon/base_stats/chikorita.asm | 22 + data/pokemon/base_stats/chinchou.asm | 22 + data/pokemon/base_stats/clefable.asm | 22 + data/pokemon/base_stats/clefairy.asm | 22 + data/pokemon/base_stats/cleffa.asm | 22 + data/pokemon/base_stats/cloyster.asm | 22 + data/pokemon/base_stats/corsola.asm | 22 + data/pokemon/base_stats/crobat.asm | 22 + data/pokemon/base_stats/croconaw.asm | 22 + data/pokemon/base_stats/cubone.asm | 22 + data/pokemon/base_stats/cyndaquil.asm | 22 + data/pokemon/base_stats/delibird.asm | 22 + data/pokemon/base_stats/dewgong.asm | 22 + data/pokemon/base_stats/diglett.asm | 22 + data/pokemon/base_stats/ditto.asm | 22 + data/pokemon/base_stats/dodrio.asm | 22 + data/pokemon/base_stats/doduo.asm | 22 + data/pokemon/base_stats/donphan.asm | 22 + data/pokemon/base_stats/dragonair.asm | 22 + data/pokemon/base_stats/dragonite.asm | 22 + data/pokemon/base_stats/dratini.asm | 22 + data/pokemon/base_stats/drowzee.asm | 22 + data/pokemon/base_stats/dugtrio.asm | 22 + data/pokemon/base_stats/dunsparce.asm | 22 + data/pokemon/base_stats/eevee.asm | 22 + data/pokemon/base_stats/ekans.asm | 22 + data/pokemon/base_stats/electabuzz.asm | 22 + data/pokemon/base_stats/electrode.asm | 22 + data/pokemon/base_stats/elekid.asm | 22 + data/pokemon/base_stats/entei.asm | 22 + data/pokemon/base_stats/espeon.asm | 22 + data/pokemon/base_stats/exeggcute.asm | 22 + data/pokemon/base_stats/exeggutor.asm | 22 + data/pokemon/base_stats/farfetch_d.asm | 22 + data/pokemon/base_stats/fearow.asm | 22 + data/pokemon/base_stats/feraligatr.asm | 22 + data/pokemon/base_stats/flaaffy.asm | 22 + data/pokemon/base_stats/flareon.asm | 22 + data/pokemon/base_stats/forretress.asm | 22 + data/pokemon/base_stats/furret.asm | 22 + data/pokemon/base_stats/gastly.asm | 22 + data/pokemon/base_stats/gengar.asm | 22 + data/pokemon/base_stats/geodude.asm | 22 + data/pokemon/base_stats/girafarig.asm | 22 + data/pokemon/base_stats/gligar.asm | 22 + data/pokemon/base_stats/gloom.asm | 22 + data/pokemon/base_stats/golbat.asm | 22 + data/pokemon/base_stats/goldeen.asm | 22 + data/pokemon/base_stats/golduck.asm | 22 + data/pokemon/base_stats/golem.asm | 22 + data/pokemon/base_stats/granbull.asm | 22 + data/pokemon/base_stats/graveler.asm | 22 + data/pokemon/base_stats/grimer.asm | 22 + data/pokemon/base_stats/growlithe.asm | 22 + data/pokemon/base_stats/gyarados.asm | 22 + data/pokemon/base_stats/haunter.asm | 22 + data/pokemon/base_stats/heracross.asm | 22 + data/pokemon/base_stats/hitmonchan.asm | 22 + data/pokemon/base_stats/hitmonlee.asm | 22 + data/pokemon/base_stats/hitmontop.asm | 22 + data/pokemon/base_stats/ho_oh.asm | 22 + data/pokemon/base_stats/hoothoot.asm | 22 + data/pokemon/base_stats/hoppip.asm | 22 + data/pokemon/base_stats/horsea.asm | 22 + data/pokemon/base_stats/houndoom.asm | 22 + data/pokemon/base_stats/houndour.asm | 22 + data/pokemon/base_stats/hypno.asm | 22 + data/pokemon/base_stats/igglybuff.asm | 22 + data/pokemon/base_stats/ivysaur.asm | 22 + data/pokemon/base_stats/jigglypuff.asm | 22 + data/pokemon/base_stats/jolteon.asm | 22 + data/pokemon/base_stats/jumpluff.asm | 22 + data/pokemon/base_stats/jynx.asm | 22 + data/pokemon/base_stats/kabuto.asm | 22 + data/pokemon/base_stats/kabutops.asm | 22 + data/pokemon/base_stats/kadabra.asm | 22 + data/pokemon/base_stats/kakuna.asm | 22 + data/pokemon/base_stats/kangaskhan.asm | 22 + data/pokemon/base_stats/kingdra.asm | 22 + data/pokemon/base_stats/kingler.asm | 22 + data/pokemon/base_stats/koffing.asm | 22 + data/pokemon/base_stats/krabby.asm | 22 + data/pokemon/base_stats/lanturn.asm | 22 + data/pokemon/base_stats/lapras.asm | 22 + data/pokemon/base_stats/larvitar.asm | 22 + data/pokemon/base_stats/ledian.asm | 22 + data/pokemon/base_stats/ledyba.asm | 22 + data/pokemon/base_stats/lickitung.asm | 22 + data/pokemon/base_stats/lugia.asm | 22 + data/pokemon/base_stats/machamp.asm | 22 + data/pokemon/base_stats/machoke.asm | 22 + data/pokemon/base_stats/machop.asm | 22 + data/pokemon/base_stats/magby.asm | 22 + data/pokemon/base_stats/magcargo.asm | 22 + data/pokemon/base_stats/magikarp.asm | 22 + data/pokemon/base_stats/magmar.asm | 22 + data/pokemon/base_stats/magnemite.asm | 22 + data/pokemon/base_stats/magneton.asm | 22 + data/pokemon/base_stats/mankey.asm | 22 + data/pokemon/base_stats/mantine.asm | 22 + data/pokemon/base_stats/mareep.asm | 22 + data/pokemon/base_stats/marill.asm | 22 + data/pokemon/base_stats/marowak.asm | 22 + data/pokemon/base_stats/meganium.asm | 22 + data/pokemon/base_stats/meowth.asm | 22 + data/pokemon/base_stats/metapod.asm | 22 + data/pokemon/base_stats/mew.asm | 22 + data/pokemon/base_stats/mewtwo.asm | 22 + data/pokemon/base_stats/miltank.asm | 22 + data/pokemon/base_stats/misdreavus.asm | 22 + data/pokemon/base_stats/moltres.asm | 22 + data/pokemon/base_stats/mr__mime.asm | 22 + data/pokemon/base_stats/muk.asm | 22 + data/pokemon/base_stats/murkrow.asm | 22 + data/pokemon/base_stats/natu.asm | 22 + data/pokemon/base_stats/nidoking.asm | 22 + data/pokemon/base_stats/nidoqueen.asm | 22 + data/pokemon/base_stats/nidoran_f.asm | 22 + data/pokemon/base_stats/nidoran_m.asm | 22 + data/pokemon/base_stats/nidorina.asm | 22 + data/pokemon/base_stats/nidorino.asm | 22 + data/pokemon/base_stats/ninetales.asm | 22 + data/pokemon/base_stats/noctowl.asm | 22 + data/pokemon/base_stats/octillery.asm | 22 + data/pokemon/base_stats/oddish.asm | 22 + data/pokemon/base_stats/omanyte.asm | 22 + data/pokemon/base_stats/omastar.asm | 22 + data/pokemon/base_stats/onix.asm | 22 + data/pokemon/base_stats/paras.asm | 22 + data/pokemon/base_stats/parasect.asm | 22 + data/pokemon/base_stats/persian.asm | 22 + data/pokemon/base_stats/phanpy.asm | 22 + data/pokemon/base_stats/pichu.asm | 22 + data/pokemon/base_stats/pidgeot.asm | 22 + data/pokemon/base_stats/pidgeotto.asm | 22 + data/pokemon/base_stats/pidgey.asm | 22 + data/pokemon/base_stats/pikachu.asm | 22 + data/pokemon/base_stats/piloswine.asm | 22 + data/pokemon/base_stats/pineco.asm | 22 + data/pokemon/base_stats/pinsir.asm | 22 + data/pokemon/base_stats/politoed.asm | 22 + data/pokemon/base_stats/poliwag.asm | 22 + data/pokemon/base_stats/poliwhirl.asm | 22 + data/pokemon/base_stats/poliwrath.asm | 22 + data/pokemon/base_stats/ponyta.asm | 22 + data/pokemon/base_stats/porygon.asm | 22 + data/pokemon/base_stats/porygon2.asm | 22 + data/pokemon/base_stats/primeape.asm | 22 + data/pokemon/base_stats/psyduck.asm | 22 + data/pokemon/base_stats/pupitar.asm | 22 + data/pokemon/base_stats/quagsire.asm | 22 + data/pokemon/base_stats/quilava.asm | 22 + data/pokemon/base_stats/qwilfish.asm | 22 + data/pokemon/base_stats/raichu.asm | 22 + data/pokemon/base_stats/raikou.asm | 22 + data/pokemon/base_stats/rapidash.asm | 22 + data/pokemon/base_stats/raticate.asm | 22 + data/pokemon/base_stats/rattata.asm | 22 + data/pokemon/base_stats/remoraid.asm | 22 + data/pokemon/base_stats/rhydon.asm | 22 + data/pokemon/base_stats/rhyhorn.asm | 22 + data/pokemon/base_stats/sandshrew.asm | 22 + data/pokemon/base_stats/sandslash.asm | 22 + data/pokemon/base_stats/scizor.asm | 22 + data/pokemon/base_stats/scyther.asm | 22 + data/pokemon/base_stats/seadra.asm | 22 + data/pokemon/base_stats/seaking.asm | 22 + data/pokemon/base_stats/seel.asm | 22 + data/pokemon/base_stats/sentret.asm | 22 + data/pokemon/base_stats/shellder.asm | 22 + data/pokemon/base_stats/shuckle.asm | 22 + data/pokemon/base_stats/skarmory.asm | 22 + data/pokemon/base_stats/skiploom.asm | 22 + data/pokemon/base_stats/slowbro.asm | 22 + data/pokemon/base_stats/slowking.asm | 22 + data/pokemon/base_stats/slowpoke.asm | 22 + data/pokemon/base_stats/slugma.asm | 22 + data/pokemon/base_stats/smeargle.asm | 22 + data/pokemon/base_stats/smoochum.asm | 22 + data/pokemon/base_stats/sneasel.asm | 22 + data/pokemon/base_stats/snorlax.asm | 22 + data/pokemon/base_stats/snubbull.asm | 22 + data/pokemon/base_stats/spearow.asm | 22 + data/pokemon/base_stats/spinarak.asm | 22 + data/pokemon/base_stats/squirtle.asm | 22 + data/pokemon/base_stats/stantler.asm | 22 + data/pokemon/base_stats/starmie.asm | 22 + data/pokemon/base_stats/staryu.asm | 22 + data/pokemon/base_stats/steelix.asm | 22 + data/pokemon/base_stats/sudowoodo.asm | 22 + data/pokemon/base_stats/suicune.asm | 22 + data/pokemon/base_stats/sunflora.asm | 22 + data/pokemon/base_stats/sunkern.asm | 22 + data/pokemon/base_stats/swinub.asm | 22 + data/pokemon/base_stats/tangela.asm | 22 + data/pokemon/base_stats/tauros.asm | 22 + data/pokemon/base_stats/teddiursa.asm | 22 + data/pokemon/base_stats/tentacool.asm | 22 + data/pokemon/base_stats/tentacruel.asm | 22 + data/pokemon/base_stats/togepi.asm | 22 + data/pokemon/base_stats/togetic.asm | 22 + data/pokemon/base_stats/totodile.asm | 22 + data/pokemon/base_stats/typhlosion.asm | 22 + data/pokemon/base_stats/tyranitar.asm | 22 + data/pokemon/base_stats/tyrogue.asm | 22 + data/pokemon/base_stats/umbreon.asm | 22 + data/pokemon/base_stats/unown.asm | 22 + data/pokemon/base_stats/ursaring.asm | 22 + data/pokemon/base_stats/vaporeon.asm | 22 + data/pokemon/base_stats/venomoth.asm | 22 + data/pokemon/base_stats/venonat.asm | 22 + data/pokemon/base_stats/venusaur.asm | 22 + data/pokemon/base_stats/victreebel.asm | 22 + data/pokemon/base_stats/vileplume.asm | 22 + data/pokemon/base_stats/voltorb.asm | 22 + data/pokemon/base_stats/vulpix.asm | 22 + data/pokemon/base_stats/wartortle.asm | 22 + data/pokemon/base_stats/weedle.asm | 22 + data/pokemon/base_stats/weepinbell.asm | 22 + data/pokemon/base_stats/weezing.asm | 22 + data/pokemon/base_stats/wigglytuff.asm | 22 + data/pokemon/base_stats/wobbuffet.asm | 22 + data/pokemon/base_stats/wooper.asm | 22 + data/pokemon/base_stats/xatu.asm | 22 + data/pokemon/base_stats/yanma.asm | 22 + data/pokemon/base_stats/zapdos.asm | 22 + data/pokemon/base_stats/zubat.asm | 22 + data/pokemon/cry_headers.asm | 259 + data/pokemon/dex_entries.asm | 272 + data/pokemon/dex_entries/abra.asm | 10 + data/pokemon/dex_entries/aerodactyl.asm | 10 + data/pokemon/dex_entries/aipom.asm | 10 + data/pokemon/dex_entries/alakazam.asm | 10 + data/pokemon/dex_entries/ampharos.asm | 10 + data/pokemon/dex_entries/arbok.asm | 10 + data/pokemon/dex_entries/arcanine.asm | 10 + data/pokemon/dex_entries/ariados.asm | 10 + data/pokemon/dex_entries/articuno.asm | 10 + data/pokemon/dex_entries/azumarill.asm | 10 + data/pokemon/dex_entries/bayleef.asm | 10 + data/pokemon/dex_entries/beedrill.asm | 10 + data/pokemon/dex_entries/bellossom.asm | 10 + data/pokemon/dex_entries/bellsprout.asm | 10 + data/pokemon/dex_entries/blastoise.asm | 10 + data/pokemon/dex_entries/blissey.asm | 10 + data/pokemon/dex_entries/bulbasaur.asm | 10 + data/pokemon/dex_entries/butterfree.asm | 10 + data/pokemon/dex_entries/caterpie.asm | 10 + data/pokemon/dex_entries/celebi.asm | 10 + data/pokemon/dex_entries/chansey.asm | 10 + data/pokemon/dex_entries/charizard.asm | 10 + data/pokemon/dex_entries/charmander.asm | 10 + data/pokemon/dex_entries/charmeleon.asm | 10 + data/pokemon/dex_entries/chikorita.asm | 10 + data/pokemon/dex_entries/chinchou.asm | 10 + data/pokemon/dex_entries/clefable.asm | 10 + data/pokemon/dex_entries/clefairy.asm | 10 + data/pokemon/dex_entries/cleffa.asm | 10 + data/pokemon/dex_entries/cloyster.asm | 10 + data/pokemon/dex_entries/corsola.asm | 10 + data/pokemon/dex_entries/crobat.asm | 10 + data/pokemon/dex_entries/croconaw.asm | 10 + data/pokemon/dex_entries/cubone.asm | 10 + data/pokemon/dex_entries/cyndaquil.asm | 10 + data/pokemon/dex_entries/delibird.asm | 10 + data/pokemon/dex_entries/dewgong.asm | 10 + data/pokemon/dex_entries/diglett.asm | 10 + data/pokemon/dex_entries/ditto.asm | 10 + data/pokemon/dex_entries/dodrio.asm | 10 + data/pokemon/dex_entries/doduo.asm | 10 + data/pokemon/dex_entries/donphan.asm | 10 + data/pokemon/dex_entries/dragonair.asm | 10 + data/pokemon/dex_entries/dragonite.asm | 10 + data/pokemon/dex_entries/dratini.asm | 10 + data/pokemon/dex_entries/drowzee.asm | 10 + data/pokemon/dex_entries/dugtrio.asm | 10 + data/pokemon/dex_entries/dunsparce.asm | 10 + data/pokemon/dex_entries/eevee.asm | 10 + data/pokemon/dex_entries/ekans.asm | 10 + data/pokemon/dex_entries/electabuzz.asm | 10 + data/pokemon/dex_entries/electrode.asm | 10 + data/pokemon/dex_entries/elekid.asm | 10 + data/pokemon/dex_entries/entei.asm | 10 + data/pokemon/dex_entries/espeon.asm | 10 + data/pokemon/dex_entries/exeggcute.asm | 10 + data/pokemon/dex_entries/exeggutor.asm | 10 + data/pokemon/dex_entries/farfetch_d.asm | 10 + data/pokemon/dex_entries/fearow.asm | 10 + data/pokemon/dex_entries/feraligatr.asm | 10 + data/pokemon/dex_entries/flaaffy.asm | 10 + data/pokemon/dex_entries/flareon.asm | 10 + data/pokemon/dex_entries/forretress.asm | 10 + data/pokemon/dex_entries/furret.asm | 10 + data/pokemon/dex_entries/gastly.asm | 10 + data/pokemon/dex_entries/gengar.asm | 10 + data/pokemon/dex_entries/geodude.asm | 10 + data/pokemon/dex_entries/girafarig.asm | 10 + data/pokemon/dex_entries/gligar.asm | 10 + data/pokemon/dex_entries/gloom.asm | 10 + data/pokemon/dex_entries/golbat.asm | 10 + data/pokemon/dex_entries/goldeen.asm | 10 + data/pokemon/dex_entries/golduck.asm | 10 + data/pokemon/dex_entries/golem.asm | 10 + data/pokemon/dex_entries/granbull.asm | 10 + data/pokemon/dex_entries/graveler.asm | 10 + data/pokemon/dex_entries/grimer.asm | 10 + data/pokemon/dex_entries/growlithe.asm | 10 + data/pokemon/dex_entries/gyarados.asm | 10 + data/pokemon/dex_entries/haunter.asm | 10 + data/pokemon/dex_entries/heracross.asm | 10 + data/pokemon/dex_entries/hitmonchan.asm | 10 + data/pokemon/dex_entries/hitmonlee.asm | 10 + data/pokemon/dex_entries/hitmontop.asm | 10 + data/pokemon/dex_entries/ho_oh.asm | 10 + data/pokemon/dex_entries/hoothoot.asm | 10 + data/pokemon/dex_entries/hoppip.asm | 10 + data/pokemon/dex_entries/horsea.asm | 10 + data/pokemon/dex_entries/houndoom.asm | 10 + data/pokemon/dex_entries/houndour.asm | 10 + data/pokemon/dex_entries/hypno.asm | 10 + data/pokemon/dex_entries/igglybuff.asm | 10 + data/pokemon/dex_entries/ivysaur.asm | 10 + data/pokemon/dex_entries/jigglypuff.asm | 10 + data/pokemon/dex_entries/jolteon.asm | 10 + data/pokemon/dex_entries/jumpluff.asm | 10 + data/pokemon/dex_entries/jynx.asm | 10 + data/pokemon/dex_entries/kabuto.asm | 10 + data/pokemon/dex_entries/kabutops.asm | 10 + data/pokemon/dex_entries/kadabra.asm | 10 + data/pokemon/dex_entries/kakuna.asm | 10 + data/pokemon/dex_entries/kangaskhan.asm | 10 + data/pokemon/dex_entries/kingdra.asm | 10 + data/pokemon/dex_entries/kingler.asm | 10 + data/pokemon/dex_entries/koffing.asm | 10 + data/pokemon/dex_entries/krabby.asm | 10 + data/pokemon/dex_entries/lanturn.asm | 10 + data/pokemon/dex_entries/lapras.asm | 10 + data/pokemon/dex_entries/larvitar.asm | 10 + data/pokemon/dex_entries/ledian.asm | 10 + data/pokemon/dex_entries/ledyba.asm | 10 + data/pokemon/dex_entries/lickitung.asm | 10 + data/pokemon/dex_entries/lugia.asm | 10 + data/pokemon/dex_entries/machamp.asm | 10 + data/pokemon/dex_entries/machoke.asm | 10 + data/pokemon/dex_entries/machop.asm | 10 + data/pokemon/dex_entries/magby.asm | 10 + data/pokemon/dex_entries/magcargo.asm | 10 + data/pokemon/dex_entries/magikarp.asm | 10 + data/pokemon/dex_entries/magmar.asm | 10 + data/pokemon/dex_entries/magnemite.asm | 10 + data/pokemon/dex_entries/magneton.asm | 10 + data/pokemon/dex_entries/mankey.asm | 10 + data/pokemon/dex_entries/mantine.asm | 10 + data/pokemon/dex_entries/mareep.asm | 10 + data/pokemon/dex_entries/marill.asm | 10 + data/pokemon/dex_entries/marowak.asm | 10 + data/pokemon/dex_entries/meganium.asm | 10 + data/pokemon/dex_entries/meowth.asm | 10 + data/pokemon/dex_entries/metapod.asm | 10 + data/pokemon/dex_entries/mew.asm | 10 + data/pokemon/dex_entries/mewtwo.asm | 10 + data/pokemon/dex_entries/miltank.asm | 10 + data/pokemon/dex_entries/misdreavus.asm | 10 + data/pokemon/dex_entries/moltres.asm | 10 + data/pokemon/dex_entries/mr__mime.asm | 10 + data/pokemon/dex_entries/muk.asm | 10 + data/pokemon/dex_entries/murkrow.asm | 10 + data/pokemon/dex_entries/natu.asm | 10 + data/pokemon/dex_entries/nidoking.asm | 10 + data/pokemon/dex_entries/nidoqueen.asm | 10 + data/pokemon/dex_entries/nidoran_f.asm | 10 + data/pokemon/dex_entries/nidoran_m.asm | 10 + data/pokemon/dex_entries/nidorina.asm | 10 + data/pokemon/dex_entries/nidorino.asm | 10 + data/pokemon/dex_entries/ninetales.asm | 10 + data/pokemon/dex_entries/noctowl.asm | 10 + data/pokemon/dex_entries/octillery.asm | 10 + data/pokemon/dex_entries/oddish.asm | 10 + data/pokemon/dex_entries/omanyte.asm | 10 + data/pokemon/dex_entries/omastar.asm | 10 + data/pokemon/dex_entries/onix.asm | 10 + data/pokemon/dex_entries/paras.asm | 10 + data/pokemon/dex_entries/parasect.asm | 10 + data/pokemon/dex_entries/persian.asm | 10 + data/pokemon/dex_entries/phanpy.asm | 10 + data/pokemon/dex_entries/pichu.asm | 10 + data/pokemon/dex_entries/pidgeot.asm | 10 + data/pokemon/dex_entries/pidgeotto.asm | 10 + data/pokemon/dex_entries/pidgey.asm | 10 + data/pokemon/dex_entries/pikachu.asm | 10 + data/pokemon/dex_entries/piloswine.asm | 10 + data/pokemon/dex_entries/pineco.asm | 10 + data/pokemon/dex_entries/pinsir.asm | 10 + data/pokemon/dex_entries/politoed.asm | 10 + data/pokemon/dex_entries/poliwag.asm | 10 + data/pokemon/dex_entries/poliwhirl.asm | 10 + data/pokemon/dex_entries/poliwrath.asm | 10 + data/pokemon/dex_entries/ponyta.asm | 10 + data/pokemon/dex_entries/porygon.asm | 10 + data/pokemon/dex_entries/porygon2.asm | 10 + data/pokemon/dex_entries/primeape.asm | 10 + data/pokemon/dex_entries/psyduck.asm | 10 + data/pokemon/dex_entries/pupitar.asm | 10 + data/pokemon/dex_entries/quagsire.asm | 10 + data/pokemon/dex_entries/quilava.asm | 10 + data/pokemon/dex_entries/qwilfish.asm | 10 + data/pokemon/dex_entries/raichu.asm | 10 + data/pokemon/dex_entries/raikou.asm | 10 + data/pokemon/dex_entries/rapidash.asm | 10 + data/pokemon/dex_entries/raticate.asm | 10 + data/pokemon/dex_entries/rattata.asm | 10 + data/pokemon/dex_entries/remoraid.asm | 10 + data/pokemon/dex_entries/rhydon.asm | 10 + data/pokemon/dex_entries/rhyhorn.asm | 10 + data/pokemon/dex_entries/sandshrew.asm | 10 + data/pokemon/dex_entries/sandslash.asm | 10 + data/pokemon/dex_entries/scizor.asm | 10 + data/pokemon/dex_entries/scyther.asm | 10 + data/pokemon/dex_entries/seadra.asm | 10 + data/pokemon/dex_entries/seaking.asm | 10 + data/pokemon/dex_entries/seel.asm | 10 + data/pokemon/dex_entries/sentret.asm | 10 + data/pokemon/dex_entries/shellder.asm | 10 + data/pokemon/dex_entries/shuckle.asm | 10 + data/pokemon/dex_entries/skarmory.asm | 10 + data/pokemon/dex_entries/skiploom.asm | 10 + data/pokemon/dex_entries/slowbro.asm | 10 + data/pokemon/dex_entries/slowking.asm | 10 + data/pokemon/dex_entries/slowpoke.asm | 10 + data/pokemon/dex_entries/slugma.asm | 10 + data/pokemon/dex_entries/smeargle.asm | 10 + data/pokemon/dex_entries/smoochum.asm | 10 + data/pokemon/dex_entries/sneasel.asm | 10 + data/pokemon/dex_entries/snorlax.asm | 10 + data/pokemon/dex_entries/snubbull.asm | 10 + data/pokemon/dex_entries/spearow.asm | 10 + data/pokemon/dex_entries/spinarak.asm | 10 + data/pokemon/dex_entries/squirtle.asm | 10 + data/pokemon/dex_entries/stantler.asm | 10 + data/pokemon/dex_entries/starmie.asm | 10 + data/pokemon/dex_entries/staryu.asm | 10 + data/pokemon/dex_entries/steelix.asm | 10 + data/pokemon/dex_entries/sudowoodo.asm | 10 + data/pokemon/dex_entries/suicune.asm | 10 + data/pokemon/dex_entries/sunflora.asm | 10 + data/pokemon/dex_entries/sunkern.asm | 10 + data/pokemon/dex_entries/swinub.asm | 10 + data/pokemon/dex_entries/tangela.asm | 10 + data/pokemon/dex_entries/tauros.asm | 10 + data/pokemon/dex_entries/teddiursa.asm | 10 + data/pokemon/dex_entries/tentacool.asm | 10 + data/pokemon/dex_entries/tentacruel.asm | 10 + data/pokemon/dex_entries/togepi.asm | 10 + data/pokemon/dex_entries/togetic.asm | 10 + data/pokemon/dex_entries/totodile.asm | 10 + data/pokemon/dex_entries/typhlosion.asm | 10 + data/pokemon/dex_entries/tyranitar.asm | 10 + data/pokemon/dex_entries/tyrogue.asm | 10 + data/pokemon/dex_entries/umbreon.asm | 10 + data/pokemon/dex_entries/unown.asm | 10 + data/pokemon/dex_entries/ursaring.asm | 10 + data/pokemon/dex_entries/vaporeon.asm | 10 + data/pokemon/dex_entries/venomoth.asm | 10 + data/pokemon/dex_entries/venonat.asm | 10 + data/pokemon/dex_entries/venusaur.asm | 10 + data/pokemon/dex_entries/victreebel.asm | 10 + data/pokemon/dex_entries/vileplume.asm | 10 + data/pokemon/dex_entries/voltorb.asm | 10 + data/pokemon/dex_entries/vulpix.asm | 10 + data/pokemon/dex_entries/wartortle.asm | 10 + data/pokemon/dex_entries/weedle.asm | 10 + data/pokemon/dex_entries/weepinbell.asm | 10 + data/pokemon/dex_entries/weezing.asm | 10 + data/pokemon/dex_entries/wigglytuff.asm | 10 + data/pokemon/dex_entries/wobbuffet.asm | 10 + data/pokemon/dex_entries/wooper.asm | 10 + data/pokemon/dex_entries/xatu.asm | 10 + data/pokemon/dex_entries/yanma.asm | 10 + data/pokemon/dex_entries/zapdos.asm | 10 + data/pokemon/dex_entries/zubat.asm | 10 + data/pokemon/dex_entry_pointers.asm | 254 + data/pokemon/dex_order_alpha.asm | 255 + data/pokemon/dex_order_new.asm | 255 + data/pokemon/egg_move_pointers.asm | 257 + data/pokemon/egg_moves.asm | 870 +++ data/pokemon/evos_attacks.asm | 3398 ++++++++++++ data/pokemon/evos_attacks_pointers.asm | 255 + data/pokemon/menu_icons.asm | 255 + data/pokemon/pokemon_names.asm | 257 + data/pokemon_names.asm | 257 - data/spawn_points.asm | 41 - data/trainers/encounter_music.asm | 75 + data/trainers/gendered_trainers.asm | 40 + data/trainers/parties.asm | 8829 +++++++++++++++++++++++++++++++ data/trainers/party_pointers.asm | 70 + data/trainers/trainer_attributes.asm | 406 ++ data/trainers/trainer_dvs.asm | 93 + engine/item_effects.asm | 3313 ++++++++++++ engine/landmarks.asm | 2 +- engine/mon_icons.asm | 2 +- engine/overworld.asm | 2 +- engine/pokeball_wobble.asm | 88 + engine/pokedex.asm | 4 +- engine/read_trainer_attributes.asm | 64 + engine/read_trainer_party.asm | 398 ++ engine/spawn_points.asm | 2 +- items/item_attributes.asm | 521 -- items/item_descriptions.asm | 1042 ---- items/item_effects.asm | 3313 ------------ items/item_names.asm | 257 - items/marts.asm | 442 -- items/pokeball_wobble.asm | 88 - macros.asm | 2 +- macros/base_stats.asm | 67 + macros/basestats.asm | 67 - main.asm | 32 +- tilesets/roofs.asm | 2 +- trainers/attributes.asm | 406 -- trainers/dvs.asm | 93 - trainers/encounter_music.asm | 75 - trainers/gendered_trainers.asm | 40 - trainers/read_attributes.asm | 64 - trainers/read_party.asm | 398 -- trainers/trainer_pointers.asm | 70 - trainers/trainers.asm | 8829 ------------------------------- wram.asm | 2 +- 1087 files changed, 31716 insertions(+), 31699 deletions(-) delete mode 100644 audio/cry_headers.asm delete mode 100644 data/base_stats.asm delete mode 100644 data/base_stats/abra.asm delete mode 100644 data/base_stats/aerodactyl.asm delete mode 100644 data/base_stats/aipom.asm delete mode 100644 data/base_stats/alakazam.asm delete mode 100644 data/base_stats/ampharos.asm delete mode 100644 data/base_stats/arbok.asm delete mode 100644 data/base_stats/arcanine.asm delete mode 100644 data/base_stats/ariados.asm delete mode 100644 data/base_stats/articuno.asm delete mode 100644 data/base_stats/azumarill.asm delete mode 100644 data/base_stats/bayleef.asm delete mode 100644 data/base_stats/beedrill.asm delete mode 100644 data/base_stats/bellossom.asm delete mode 100644 data/base_stats/bellsprout.asm delete mode 100644 data/base_stats/blastoise.asm delete mode 100644 data/base_stats/blissey.asm delete mode 100644 data/base_stats/bulbasaur.asm delete mode 100644 data/base_stats/butterfree.asm delete mode 100644 data/base_stats/caterpie.asm delete mode 100644 data/base_stats/celebi.asm delete mode 100644 data/base_stats/chansey.asm delete mode 100644 data/base_stats/charizard.asm delete mode 100644 data/base_stats/charmander.asm delete mode 100644 data/base_stats/charmeleon.asm delete mode 100644 data/base_stats/chikorita.asm delete mode 100644 data/base_stats/chinchou.asm delete mode 100644 data/base_stats/clefable.asm delete mode 100644 data/base_stats/clefairy.asm delete mode 100644 data/base_stats/cleffa.asm delete mode 100644 data/base_stats/cloyster.asm delete mode 100644 data/base_stats/corsola.asm delete mode 100644 data/base_stats/crobat.asm delete mode 100644 data/base_stats/croconaw.asm delete mode 100644 data/base_stats/cubone.asm delete mode 100644 data/base_stats/cyndaquil.asm delete mode 100644 data/base_stats/delibird.asm delete mode 100644 data/base_stats/dewgong.asm delete mode 100644 data/base_stats/diglett.asm delete mode 100644 data/base_stats/ditto.asm delete mode 100644 data/base_stats/dodrio.asm delete mode 100644 data/base_stats/doduo.asm delete mode 100644 data/base_stats/donphan.asm delete mode 100644 data/base_stats/dragonair.asm delete mode 100644 data/base_stats/dragonite.asm delete mode 100644 data/base_stats/dratini.asm delete mode 100644 data/base_stats/drowzee.asm delete mode 100644 data/base_stats/dugtrio.asm delete mode 100644 data/base_stats/dunsparce.asm delete mode 100644 data/base_stats/eevee.asm delete mode 100644 data/base_stats/ekans.asm delete mode 100644 data/base_stats/electabuzz.asm delete mode 100644 data/base_stats/electrode.asm delete mode 100644 data/base_stats/elekid.asm delete mode 100644 data/base_stats/entei.asm delete mode 100644 data/base_stats/espeon.asm delete mode 100644 data/base_stats/exeggcute.asm delete mode 100644 data/base_stats/exeggutor.asm delete mode 100644 data/base_stats/farfetch_d.asm delete mode 100644 data/base_stats/fearow.asm delete mode 100644 data/base_stats/feraligatr.asm delete mode 100644 data/base_stats/flaaffy.asm delete mode 100644 data/base_stats/flareon.asm delete mode 100644 data/base_stats/forretress.asm delete mode 100644 data/base_stats/furret.asm delete mode 100644 data/base_stats/gastly.asm delete mode 100644 data/base_stats/gengar.asm delete mode 100644 data/base_stats/geodude.asm delete mode 100644 data/base_stats/girafarig.asm delete mode 100644 data/base_stats/gligar.asm delete mode 100644 data/base_stats/gloom.asm delete mode 100644 data/base_stats/golbat.asm delete mode 100644 data/base_stats/goldeen.asm delete mode 100644 data/base_stats/golduck.asm delete mode 100644 data/base_stats/golem.asm delete mode 100644 data/base_stats/granbull.asm delete mode 100644 data/base_stats/graveler.asm delete mode 100644 data/base_stats/grimer.asm delete mode 100644 data/base_stats/growlithe.asm delete mode 100644 data/base_stats/gyarados.asm delete mode 100644 data/base_stats/haunter.asm delete mode 100644 data/base_stats/heracross.asm delete mode 100644 data/base_stats/hitmonchan.asm delete mode 100644 data/base_stats/hitmonlee.asm delete mode 100644 data/base_stats/hitmontop.asm delete mode 100644 data/base_stats/ho_oh.asm delete mode 100644 data/base_stats/hoothoot.asm delete mode 100644 data/base_stats/hoppip.asm delete mode 100644 data/base_stats/horsea.asm delete mode 100644 data/base_stats/houndoom.asm delete mode 100644 data/base_stats/houndour.asm delete mode 100644 data/base_stats/hypno.asm delete mode 100644 data/base_stats/igglybuff.asm delete mode 100644 data/base_stats/ivysaur.asm delete mode 100644 data/base_stats/jigglypuff.asm delete mode 100644 data/base_stats/jolteon.asm delete mode 100644 data/base_stats/jumpluff.asm delete mode 100644 data/base_stats/jynx.asm delete mode 100644 data/base_stats/kabuto.asm delete mode 100644 data/base_stats/kabutops.asm delete mode 100644 data/base_stats/kadabra.asm delete mode 100644 data/base_stats/kakuna.asm delete mode 100644 data/base_stats/kangaskhan.asm delete mode 100644 data/base_stats/kingdra.asm delete mode 100644 data/base_stats/kingler.asm delete mode 100644 data/base_stats/koffing.asm delete mode 100644 data/base_stats/krabby.asm delete mode 100644 data/base_stats/lanturn.asm delete mode 100644 data/base_stats/lapras.asm delete mode 100644 data/base_stats/larvitar.asm delete mode 100644 data/base_stats/ledian.asm delete mode 100644 data/base_stats/ledyba.asm delete mode 100644 data/base_stats/lickitung.asm delete mode 100644 data/base_stats/lugia.asm delete mode 100644 data/base_stats/machamp.asm delete mode 100644 data/base_stats/machoke.asm delete mode 100644 data/base_stats/machop.asm delete mode 100644 data/base_stats/magby.asm delete mode 100644 data/base_stats/magcargo.asm delete mode 100644 data/base_stats/magikarp.asm delete mode 100644 data/base_stats/magmar.asm delete mode 100644 data/base_stats/magnemite.asm delete mode 100644 data/base_stats/magneton.asm delete mode 100644 data/base_stats/mankey.asm delete mode 100644 data/base_stats/mantine.asm delete mode 100644 data/base_stats/mareep.asm delete mode 100644 data/base_stats/marill.asm delete mode 100644 data/base_stats/marowak.asm delete mode 100644 data/base_stats/meganium.asm delete mode 100644 data/base_stats/meowth.asm delete mode 100644 data/base_stats/metapod.asm delete mode 100644 data/base_stats/mew.asm delete mode 100644 data/base_stats/mewtwo.asm delete mode 100644 data/base_stats/miltank.asm delete mode 100644 data/base_stats/misdreavus.asm delete mode 100644 data/base_stats/moltres.asm delete mode 100644 data/base_stats/mr__mime.asm delete mode 100644 data/base_stats/muk.asm delete mode 100644 data/base_stats/murkrow.asm delete mode 100644 data/base_stats/natu.asm delete mode 100644 data/base_stats/nidoking.asm delete mode 100644 data/base_stats/nidoqueen.asm delete mode 100644 data/base_stats/nidoran_f.asm delete mode 100644 data/base_stats/nidoran_m.asm delete mode 100644 data/base_stats/nidorina.asm delete mode 100644 data/base_stats/nidorino.asm delete mode 100644 data/base_stats/ninetales.asm delete mode 100644 data/base_stats/noctowl.asm delete mode 100644 data/base_stats/octillery.asm delete mode 100644 data/base_stats/oddish.asm delete mode 100644 data/base_stats/omanyte.asm delete mode 100644 data/base_stats/omastar.asm delete mode 100644 data/base_stats/onix.asm delete mode 100644 data/base_stats/paras.asm delete mode 100644 data/base_stats/parasect.asm delete mode 100644 data/base_stats/persian.asm delete mode 100644 data/base_stats/phanpy.asm delete mode 100644 data/base_stats/pichu.asm delete mode 100644 data/base_stats/pidgeot.asm delete mode 100644 data/base_stats/pidgeotto.asm delete mode 100644 data/base_stats/pidgey.asm delete mode 100644 data/base_stats/pikachu.asm delete mode 100644 data/base_stats/piloswine.asm delete mode 100644 data/base_stats/pineco.asm delete mode 100644 data/base_stats/pinsir.asm delete mode 100644 data/base_stats/politoed.asm delete mode 100644 data/base_stats/poliwag.asm delete mode 100644 data/base_stats/poliwhirl.asm delete mode 100644 data/base_stats/poliwrath.asm delete mode 100644 data/base_stats/ponyta.asm delete mode 100644 data/base_stats/porygon.asm delete mode 100644 data/base_stats/porygon2.asm delete mode 100644 data/base_stats/primeape.asm delete mode 100644 data/base_stats/psyduck.asm delete mode 100644 data/base_stats/pupitar.asm delete mode 100644 data/base_stats/quagsire.asm delete mode 100644 data/base_stats/quilava.asm delete mode 100644 data/base_stats/qwilfish.asm delete mode 100644 data/base_stats/raichu.asm delete mode 100644 data/base_stats/raikou.asm delete mode 100644 data/base_stats/rapidash.asm delete mode 100644 data/base_stats/raticate.asm delete mode 100644 data/base_stats/rattata.asm delete mode 100644 data/base_stats/remoraid.asm delete mode 100644 data/base_stats/rhydon.asm delete mode 100644 data/base_stats/rhyhorn.asm delete mode 100644 data/base_stats/sandshrew.asm delete mode 100644 data/base_stats/sandslash.asm delete mode 100644 data/base_stats/scizor.asm delete mode 100644 data/base_stats/scyther.asm delete mode 100644 data/base_stats/seadra.asm delete mode 100644 data/base_stats/seaking.asm delete mode 100644 data/base_stats/seel.asm delete mode 100644 data/base_stats/sentret.asm delete mode 100644 data/base_stats/shellder.asm delete mode 100644 data/base_stats/shuckle.asm delete mode 100644 data/base_stats/skarmory.asm delete mode 100644 data/base_stats/skiploom.asm delete mode 100644 data/base_stats/slowbro.asm delete mode 100644 data/base_stats/slowking.asm delete mode 100644 data/base_stats/slowpoke.asm delete mode 100644 data/base_stats/slugma.asm delete mode 100644 data/base_stats/smeargle.asm delete mode 100644 data/base_stats/smoochum.asm delete mode 100644 data/base_stats/sneasel.asm delete mode 100644 data/base_stats/snorlax.asm delete mode 100644 data/base_stats/snubbull.asm delete mode 100644 data/base_stats/spearow.asm delete mode 100644 data/base_stats/spinarak.asm delete mode 100644 data/base_stats/squirtle.asm delete mode 100644 data/base_stats/stantler.asm delete mode 100644 data/base_stats/starmie.asm delete mode 100644 data/base_stats/staryu.asm delete mode 100644 data/base_stats/steelix.asm delete mode 100644 data/base_stats/sudowoodo.asm delete mode 100644 data/base_stats/suicune.asm delete mode 100644 data/base_stats/sunflora.asm delete mode 100644 data/base_stats/sunkern.asm delete mode 100644 data/base_stats/swinub.asm delete mode 100644 data/base_stats/tangela.asm delete mode 100644 data/base_stats/tauros.asm delete mode 100644 data/base_stats/teddiursa.asm delete mode 100644 data/base_stats/tentacool.asm delete mode 100644 data/base_stats/tentacruel.asm delete mode 100644 data/base_stats/togepi.asm delete mode 100644 data/base_stats/togetic.asm delete mode 100644 data/base_stats/totodile.asm delete mode 100644 data/base_stats/typhlosion.asm delete mode 100644 data/base_stats/tyranitar.asm delete mode 100644 data/base_stats/tyrogue.asm delete mode 100644 data/base_stats/umbreon.asm delete mode 100644 data/base_stats/unown.asm delete mode 100644 data/base_stats/ursaring.asm delete mode 100644 data/base_stats/vaporeon.asm delete mode 100644 data/base_stats/venomoth.asm delete mode 100644 data/base_stats/venonat.asm delete mode 100644 data/base_stats/venusaur.asm delete mode 100644 data/base_stats/victreebel.asm delete mode 100644 data/base_stats/vileplume.asm delete mode 100644 data/base_stats/voltorb.asm delete mode 100644 data/base_stats/vulpix.asm delete mode 100644 data/base_stats/wartortle.asm delete mode 100644 data/base_stats/weedle.asm delete mode 100644 data/base_stats/weepinbell.asm delete mode 100644 data/base_stats/weezing.asm delete mode 100644 data/base_stats/wigglytuff.asm delete mode 100644 data/base_stats/wobbuffet.asm delete mode 100644 data/base_stats/wooper.asm delete mode 100644 data/base_stats/xatu.asm delete mode 100644 data/base_stats/yanma.asm delete mode 100644 data/base_stats/zapdos.asm delete mode 100644 data/base_stats/zubat.asm delete mode 100644 data/egg_move_pointers.asm delete mode 100644 data/egg_moves.asm delete mode 100644 data/evos_attacks.asm delete mode 100644 data/evos_attacks_pointers.asm create mode 100644 data/items/item_attributes.asm create mode 100644 data/items/item_descriptions.asm create mode 100644 data/items/item_names.asm create mode 100644 data/items/marts.asm delete mode 100644 data/landmarks.asm delete mode 100644 data/map_triggers.asm delete mode 100644 data/mapgroup_roofs.asm create mode 100644 data/maps/landmarks.asm create mode 100644 data/maps/map_triggers.asm create mode 100644 data/maps/mapgroup_roofs.asm create mode 100644 data/maps/outdoor_sprites.asm create mode 100644 data/maps/spawn_points.asm delete mode 100644 data/mon_menu_icons.asm delete mode 100644 data/outdoor_sprites.asm delete mode 100644 data/pokedex/entries.asm delete mode 100644 data/pokedex/entries/abra.asm delete mode 100644 data/pokedex/entries/aerodactyl.asm delete mode 100644 data/pokedex/entries/aipom.asm delete mode 100644 data/pokedex/entries/alakazam.asm delete mode 100644 data/pokedex/entries/ampharos.asm delete mode 100644 data/pokedex/entries/arbok.asm delete mode 100644 data/pokedex/entries/arcanine.asm delete mode 100644 data/pokedex/entries/ariados.asm delete mode 100644 data/pokedex/entries/articuno.asm delete mode 100644 data/pokedex/entries/azumarill.asm delete mode 100644 data/pokedex/entries/bayleef.asm delete mode 100644 data/pokedex/entries/beedrill.asm delete mode 100644 data/pokedex/entries/bellossom.asm delete mode 100644 data/pokedex/entries/bellsprout.asm delete mode 100644 data/pokedex/entries/blastoise.asm delete mode 100644 data/pokedex/entries/blissey.asm delete mode 100644 data/pokedex/entries/bulbasaur.asm delete mode 100644 data/pokedex/entries/butterfree.asm delete mode 100644 data/pokedex/entries/caterpie.asm delete mode 100644 data/pokedex/entries/celebi.asm delete mode 100644 data/pokedex/entries/chansey.asm delete mode 100644 data/pokedex/entries/charizard.asm delete mode 100644 data/pokedex/entries/charmander.asm delete mode 100644 data/pokedex/entries/charmeleon.asm delete mode 100644 data/pokedex/entries/chikorita.asm delete mode 100644 data/pokedex/entries/chinchou.asm delete mode 100644 data/pokedex/entries/clefable.asm delete mode 100644 data/pokedex/entries/clefairy.asm delete mode 100644 data/pokedex/entries/cleffa.asm delete mode 100644 data/pokedex/entries/cloyster.asm delete mode 100644 data/pokedex/entries/corsola.asm delete mode 100644 data/pokedex/entries/crobat.asm delete mode 100644 data/pokedex/entries/croconaw.asm delete mode 100644 data/pokedex/entries/cubone.asm delete mode 100644 data/pokedex/entries/cyndaquil.asm delete mode 100644 data/pokedex/entries/delibird.asm delete mode 100644 data/pokedex/entries/dewgong.asm delete mode 100644 data/pokedex/entries/diglett.asm delete mode 100644 data/pokedex/entries/ditto.asm delete mode 100644 data/pokedex/entries/dodrio.asm delete mode 100644 data/pokedex/entries/doduo.asm delete mode 100644 data/pokedex/entries/donphan.asm delete mode 100644 data/pokedex/entries/dragonair.asm delete mode 100644 data/pokedex/entries/dragonite.asm delete mode 100644 data/pokedex/entries/dratini.asm delete mode 100644 data/pokedex/entries/drowzee.asm delete mode 100644 data/pokedex/entries/dugtrio.asm delete mode 100644 data/pokedex/entries/dunsparce.asm delete mode 100644 data/pokedex/entries/eevee.asm delete mode 100644 data/pokedex/entries/ekans.asm delete mode 100644 data/pokedex/entries/electabuzz.asm delete mode 100644 data/pokedex/entries/electrode.asm delete mode 100644 data/pokedex/entries/elekid.asm delete mode 100644 data/pokedex/entries/entei.asm delete mode 100644 data/pokedex/entries/espeon.asm delete mode 100644 data/pokedex/entries/exeggcute.asm delete mode 100644 data/pokedex/entries/exeggutor.asm delete mode 100644 data/pokedex/entries/farfetch_d.asm delete mode 100644 data/pokedex/entries/fearow.asm delete mode 100644 data/pokedex/entries/feraligatr.asm delete mode 100644 data/pokedex/entries/flaaffy.asm delete mode 100644 data/pokedex/entries/flareon.asm delete mode 100644 data/pokedex/entries/forretress.asm delete mode 100644 data/pokedex/entries/furret.asm delete mode 100644 data/pokedex/entries/gastly.asm delete mode 100644 data/pokedex/entries/gengar.asm delete mode 100644 data/pokedex/entries/geodude.asm delete mode 100644 data/pokedex/entries/girafarig.asm delete mode 100644 data/pokedex/entries/gligar.asm delete mode 100644 data/pokedex/entries/gloom.asm delete mode 100644 data/pokedex/entries/golbat.asm delete mode 100644 data/pokedex/entries/goldeen.asm delete mode 100644 data/pokedex/entries/golduck.asm delete mode 100644 data/pokedex/entries/golem.asm delete mode 100644 data/pokedex/entries/granbull.asm delete mode 100644 data/pokedex/entries/graveler.asm delete mode 100644 data/pokedex/entries/grimer.asm delete mode 100644 data/pokedex/entries/growlithe.asm delete mode 100644 data/pokedex/entries/gyarados.asm delete mode 100644 data/pokedex/entries/haunter.asm delete mode 100644 data/pokedex/entries/heracross.asm delete mode 100644 data/pokedex/entries/hitmonchan.asm delete mode 100644 data/pokedex/entries/hitmonlee.asm delete mode 100644 data/pokedex/entries/hitmontop.asm delete mode 100644 data/pokedex/entries/ho_oh.asm delete mode 100644 data/pokedex/entries/hoothoot.asm delete mode 100644 data/pokedex/entries/hoppip.asm delete mode 100644 data/pokedex/entries/horsea.asm delete mode 100644 data/pokedex/entries/houndoom.asm delete mode 100644 data/pokedex/entries/houndour.asm delete mode 100644 data/pokedex/entries/hypno.asm delete mode 100644 data/pokedex/entries/igglybuff.asm delete mode 100644 data/pokedex/entries/ivysaur.asm delete mode 100644 data/pokedex/entries/jigglypuff.asm delete mode 100644 data/pokedex/entries/jolteon.asm delete mode 100644 data/pokedex/entries/jumpluff.asm delete mode 100644 data/pokedex/entries/jynx.asm delete mode 100644 data/pokedex/entries/kabuto.asm delete mode 100644 data/pokedex/entries/kabutops.asm delete mode 100644 data/pokedex/entries/kadabra.asm delete mode 100644 data/pokedex/entries/kakuna.asm delete mode 100644 data/pokedex/entries/kangaskhan.asm delete mode 100644 data/pokedex/entries/kingdra.asm delete mode 100644 data/pokedex/entries/kingler.asm delete mode 100644 data/pokedex/entries/koffing.asm delete mode 100644 data/pokedex/entries/krabby.asm delete mode 100644 data/pokedex/entries/lanturn.asm delete mode 100644 data/pokedex/entries/lapras.asm delete mode 100644 data/pokedex/entries/larvitar.asm delete mode 100644 data/pokedex/entries/ledian.asm delete mode 100644 data/pokedex/entries/ledyba.asm delete mode 100644 data/pokedex/entries/lickitung.asm delete mode 100644 data/pokedex/entries/lugia.asm delete mode 100644 data/pokedex/entries/machamp.asm delete mode 100644 data/pokedex/entries/machoke.asm delete mode 100644 data/pokedex/entries/machop.asm delete mode 100644 data/pokedex/entries/magby.asm delete mode 100644 data/pokedex/entries/magcargo.asm delete mode 100644 data/pokedex/entries/magikarp.asm delete mode 100644 data/pokedex/entries/magmar.asm delete mode 100644 data/pokedex/entries/magnemite.asm delete mode 100644 data/pokedex/entries/magneton.asm delete mode 100644 data/pokedex/entries/mankey.asm delete mode 100644 data/pokedex/entries/mantine.asm delete mode 100644 data/pokedex/entries/mareep.asm delete mode 100644 data/pokedex/entries/marill.asm delete mode 100644 data/pokedex/entries/marowak.asm delete mode 100644 data/pokedex/entries/meganium.asm delete mode 100644 data/pokedex/entries/meowth.asm delete mode 100644 data/pokedex/entries/metapod.asm delete mode 100644 data/pokedex/entries/mew.asm delete mode 100644 data/pokedex/entries/mewtwo.asm delete mode 100644 data/pokedex/entries/miltank.asm delete mode 100644 data/pokedex/entries/misdreavus.asm delete mode 100644 data/pokedex/entries/moltres.asm delete mode 100644 data/pokedex/entries/mr__mime.asm delete mode 100644 data/pokedex/entries/muk.asm delete mode 100644 data/pokedex/entries/murkrow.asm delete mode 100644 data/pokedex/entries/natu.asm delete mode 100644 data/pokedex/entries/nidoking.asm delete mode 100644 data/pokedex/entries/nidoqueen.asm delete mode 100644 data/pokedex/entries/nidoran_f.asm delete mode 100644 data/pokedex/entries/nidoran_m.asm delete mode 100644 data/pokedex/entries/nidorina.asm delete mode 100644 data/pokedex/entries/nidorino.asm delete mode 100644 data/pokedex/entries/ninetales.asm delete mode 100644 data/pokedex/entries/noctowl.asm delete mode 100644 data/pokedex/entries/octillery.asm delete mode 100644 data/pokedex/entries/oddish.asm delete mode 100644 data/pokedex/entries/omanyte.asm delete mode 100644 data/pokedex/entries/omastar.asm delete mode 100644 data/pokedex/entries/onix.asm delete mode 100644 data/pokedex/entries/paras.asm delete mode 100644 data/pokedex/entries/parasect.asm delete mode 100644 data/pokedex/entries/persian.asm delete mode 100644 data/pokedex/entries/phanpy.asm delete mode 100644 data/pokedex/entries/pichu.asm delete mode 100644 data/pokedex/entries/pidgeot.asm delete mode 100644 data/pokedex/entries/pidgeotto.asm delete mode 100644 data/pokedex/entries/pidgey.asm delete mode 100644 data/pokedex/entries/pikachu.asm delete mode 100644 data/pokedex/entries/piloswine.asm delete mode 100644 data/pokedex/entries/pineco.asm delete mode 100644 data/pokedex/entries/pinsir.asm delete mode 100644 data/pokedex/entries/politoed.asm delete mode 100644 data/pokedex/entries/poliwag.asm delete mode 100644 data/pokedex/entries/poliwhirl.asm delete mode 100644 data/pokedex/entries/poliwrath.asm delete mode 100644 data/pokedex/entries/ponyta.asm delete mode 100644 data/pokedex/entries/porygon.asm delete mode 100644 data/pokedex/entries/porygon2.asm delete mode 100644 data/pokedex/entries/primeape.asm delete mode 100644 data/pokedex/entries/psyduck.asm delete mode 100644 data/pokedex/entries/pupitar.asm delete mode 100644 data/pokedex/entries/quagsire.asm delete mode 100644 data/pokedex/entries/quilava.asm delete mode 100644 data/pokedex/entries/qwilfish.asm delete mode 100644 data/pokedex/entries/raichu.asm delete mode 100644 data/pokedex/entries/raikou.asm delete mode 100644 data/pokedex/entries/rapidash.asm delete mode 100644 data/pokedex/entries/raticate.asm delete mode 100644 data/pokedex/entries/rattata.asm delete mode 100644 data/pokedex/entries/remoraid.asm delete mode 100644 data/pokedex/entries/rhydon.asm delete mode 100644 data/pokedex/entries/rhyhorn.asm delete mode 100644 data/pokedex/entries/sandshrew.asm delete mode 100644 data/pokedex/entries/sandslash.asm delete mode 100644 data/pokedex/entries/scizor.asm delete mode 100644 data/pokedex/entries/scyther.asm delete mode 100644 data/pokedex/entries/seadra.asm delete mode 100644 data/pokedex/entries/seaking.asm delete mode 100644 data/pokedex/entries/seel.asm delete mode 100644 data/pokedex/entries/sentret.asm delete mode 100644 data/pokedex/entries/shellder.asm delete mode 100644 data/pokedex/entries/shuckle.asm delete mode 100644 data/pokedex/entries/skarmory.asm delete mode 100644 data/pokedex/entries/skiploom.asm delete mode 100644 data/pokedex/entries/slowbro.asm delete mode 100644 data/pokedex/entries/slowking.asm delete mode 100644 data/pokedex/entries/slowpoke.asm delete mode 100644 data/pokedex/entries/slugma.asm delete mode 100644 data/pokedex/entries/smeargle.asm delete mode 100644 data/pokedex/entries/smoochum.asm delete mode 100644 data/pokedex/entries/sneasel.asm delete mode 100644 data/pokedex/entries/snorlax.asm delete mode 100644 data/pokedex/entries/snubbull.asm delete mode 100644 data/pokedex/entries/spearow.asm delete mode 100644 data/pokedex/entries/spinarak.asm delete mode 100644 data/pokedex/entries/squirtle.asm delete mode 100644 data/pokedex/entries/stantler.asm delete mode 100644 data/pokedex/entries/starmie.asm delete mode 100644 data/pokedex/entries/staryu.asm delete mode 100644 data/pokedex/entries/steelix.asm delete mode 100644 data/pokedex/entries/sudowoodo.asm delete mode 100644 data/pokedex/entries/suicune.asm delete mode 100644 data/pokedex/entries/sunflora.asm delete mode 100644 data/pokedex/entries/sunkern.asm delete mode 100644 data/pokedex/entries/swinub.asm delete mode 100644 data/pokedex/entries/tangela.asm delete mode 100644 data/pokedex/entries/tauros.asm delete mode 100644 data/pokedex/entries/teddiursa.asm delete mode 100644 data/pokedex/entries/tentacool.asm delete mode 100644 data/pokedex/entries/tentacruel.asm delete mode 100644 data/pokedex/entries/togepi.asm delete mode 100644 data/pokedex/entries/togetic.asm delete mode 100644 data/pokedex/entries/totodile.asm delete mode 100644 data/pokedex/entries/typhlosion.asm delete mode 100644 data/pokedex/entries/tyranitar.asm delete mode 100644 data/pokedex/entries/tyrogue.asm delete mode 100644 data/pokedex/entries/umbreon.asm delete mode 100644 data/pokedex/entries/unown.asm delete mode 100644 data/pokedex/entries/ursaring.asm delete mode 100644 data/pokedex/entries/vaporeon.asm delete mode 100644 data/pokedex/entries/venomoth.asm delete mode 100644 data/pokedex/entries/venonat.asm delete mode 100644 data/pokedex/entries/venusaur.asm delete mode 100644 data/pokedex/entries/victreebel.asm delete mode 100644 data/pokedex/entries/vileplume.asm delete mode 100644 data/pokedex/entries/voltorb.asm delete mode 100644 data/pokedex/entries/vulpix.asm delete mode 100644 data/pokedex/entries/wartortle.asm delete mode 100644 data/pokedex/entries/weedle.asm delete mode 100644 data/pokedex/entries/weepinbell.asm delete mode 100644 data/pokedex/entries/weezing.asm delete mode 100644 data/pokedex/entries/wigglytuff.asm delete mode 100644 data/pokedex/entries/wobbuffet.asm delete mode 100644 data/pokedex/entries/wooper.asm delete mode 100644 data/pokedex/entries/xatu.asm delete mode 100644 data/pokedex/entries/yanma.asm delete mode 100644 data/pokedex/entries/zapdos.asm delete mode 100644 data/pokedex/entries/zubat.asm delete mode 100644 data/pokedex/entry_pointers.asm delete mode 100644 data/pokedex/order_alpha.asm delete mode 100644 data/pokedex/order_new.asm create mode 100644 data/pokemon/base_stats.asm create mode 100644 data/pokemon/base_stats/abra.asm create mode 100644 data/pokemon/base_stats/aerodactyl.asm create mode 100644 data/pokemon/base_stats/aipom.asm create mode 100644 data/pokemon/base_stats/alakazam.asm create mode 100644 data/pokemon/base_stats/ampharos.asm create mode 100644 data/pokemon/base_stats/arbok.asm create mode 100644 data/pokemon/base_stats/arcanine.asm create mode 100644 data/pokemon/base_stats/ariados.asm create mode 100644 data/pokemon/base_stats/articuno.asm create mode 100644 data/pokemon/base_stats/azumarill.asm create mode 100644 data/pokemon/base_stats/bayleef.asm create mode 100644 data/pokemon/base_stats/beedrill.asm create mode 100644 data/pokemon/base_stats/bellossom.asm create mode 100644 data/pokemon/base_stats/bellsprout.asm create mode 100644 data/pokemon/base_stats/blastoise.asm create mode 100644 data/pokemon/base_stats/blissey.asm create mode 100644 data/pokemon/base_stats/bulbasaur.asm create mode 100644 data/pokemon/base_stats/butterfree.asm create mode 100644 data/pokemon/base_stats/caterpie.asm create mode 100644 data/pokemon/base_stats/celebi.asm create mode 100644 data/pokemon/base_stats/chansey.asm create mode 100644 data/pokemon/base_stats/charizard.asm create mode 100644 data/pokemon/base_stats/charmander.asm create mode 100644 data/pokemon/base_stats/charmeleon.asm create mode 100644 data/pokemon/base_stats/chikorita.asm create mode 100644 data/pokemon/base_stats/chinchou.asm create mode 100644 data/pokemon/base_stats/clefable.asm create mode 100644 data/pokemon/base_stats/clefairy.asm create mode 100644 data/pokemon/base_stats/cleffa.asm create mode 100644 data/pokemon/base_stats/cloyster.asm create mode 100644 data/pokemon/base_stats/corsola.asm create mode 100644 data/pokemon/base_stats/crobat.asm create mode 100644 data/pokemon/base_stats/croconaw.asm create mode 100644 data/pokemon/base_stats/cubone.asm create mode 100644 data/pokemon/base_stats/cyndaquil.asm create mode 100644 data/pokemon/base_stats/delibird.asm create mode 100644 data/pokemon/base_stats/dewgong.asm create mode 100644 data/pokemon/base_stats/diglett.asm create mode 100644 data/pokemon/base_stats/ditto.asm create mode 100644 data/pokemon/base_stats/dodrio.asm create mode 100644 data/pokemon/base_stats/doduo.asm create mode 100644 data/pokemon/base_stats/donphan.asm create mode 100644 data/pokemon/base_stats/dragonair.asm create mode 100644 data/pokemon/base_stats/dragonite.asm create mode 100644 data/pokemon/base_stats/dratini.asm create mode 100644 data/pokemon/base_stats/drowzee.asm create mode 100644 data/pokemon/base_stats/dugtrio.asm create mode 100644 data/pokemon/base_stats/dunsparce.asm create mode 100644 data/pokemon/base_stats/eevee.asm create mode 100644 data/pokemon/base_stats/ekans.asm create mode 100644 data/pokemon/base_stats/electabuzz.asm create mode 100644 data/pokemon/base_stats/electrode.asm create mode 100644 data/pokemon/base_stats/elekid.asm create mode 100644 data/pokemon/base_stats/entei.asm create mode 100644 data/pokemon/base_stats/espeon.asm create mode 100644 data/pokemon/base_stats/exeggcute.asm create mode 100644 data/pokemon/base_stats/exeggutor.asm create mode 100644 data/pokemon/base_stats/farfetch_d.asm create mode 100644 data/pokemon/base_stats/fearow.asm create mode 100644 data/pokemon/base_stats/feraligatr.asm create mode 100644 data/pokemon/base_stats/flaaffy.asm create mode 100644 data/pokemon/base_stats/flareon.asm create mode 100644 data/pokemon/base_stats/forretress.asm create mode 100644 data/pokemon/base_stats/furret.asm create mode 100644 data/pokemon/base_stats/gastly.asm create mode 100644 data/pokemon/base_stats/gengar.asm create mode 100644 data/pokemon/base_stats/geodude.asm create mode 100644 data/pokemon/base_stats/girafarig.asm create mode 100644 data/pokemon/base_stats/gligar.asm create mode 100644 data/pokemon/base_stats/gloom.asm create mode 100644 data/pokemon/base_stats/golbat.asm create mode 100644 data/pokemon/base_stats/goldeen.asm create mode 100644 data/pokemon/base_stats/golduck.asm create mode 100644 data/pokemon/base_stats/golem.asm create mode 100644 data/pokemon/base_stats/granbull.asm create mode 100644 data/pokemon/base_stats/graveler.asm create mode 100644 data/pokemon/base_stats/grimer.asm create mode 100644 data/pokemon/base_stats/growlithe.asm create mode 100644 data/pokemon/base_stats/gyarados.asm create mode 100644 data/pokemon/base_stats/haunter.asm create mode 100644 data/pokemon/base_stats/heracross.asm create mode 100644 data/pokemon/base_stats/hitmonchan.asm create mode 100644 data/pokemon/base_stats/hitmonlee.asm create mode 100644 data/pokemon/base_stats/hitmontop.asm create mode 100644 data/pokemon/base_stats/ho_oh.asm create mode 100644 data/pokemon/base_stats/hoothoot.asm create mode 100644 data/pokemon/base_stats/hoppip.asm create mode 100644 data/pokemon/base_stats/horsea.asm create mode 100644 data/pokemon/base_stats/houndoom.asm create mode 100644 data/pokemon/base_stats/houndour.asm create mode 100644 data/pokemon/base_stats/hypno.asm create mode 100644 data/pokemon/base_stats/igglybuff.asm create mode 100644 data/pokemon/base_stats/ivysaur.asm create mode 100644 data/pokemon/base_stats/jigglypuff.asm create mode 100644 data/pokemon/base_stats/jolteon.asm create mode 100644 data/pokemon/base_stats/jumpluff.asm create mode 100644 data/pokemon/base_stats/jynx.asm create mode 100644 data/pokemon/base_stats/kabuto.asm create mode 100644 data/pokemon/base_stats/kabutops.asm create mode 100644 data/pokemon/base_stats/kadabra.asm create mode 100644 data/pokemon/base_stats/kakuna.asm create mode 100644 data/pokemon/base_stats/kangaskhan.asm create mode 100644 data/pokemon/base_stats/kingdra.asm create mode 100644 data/pokemon/base_stats/kingler.asm create mode 100644 data/pokemon/base_stats/koffing.asm create mode 100644 data/pokemon/base_stats/krabby.asm create mode 100644 data/pokemon/base_stats/lanturn.asm create mode 100644 data/pokemon/base_stats/lapras.asm create mode 100644 data/pokemon/base_stats/larvitar.asm create mode 100644 data/pokemon/base_stats/ledian.asm create mode 100644 data/pokemon/base_stats/ledyba.asm create mode 100644 data/pokemon/base_stats/lickitung.asm create mode 100644 data/pokemon/base_stats/lugia.asm create mode 100644 data/pokemon/base_stats/machamp.asm create mode 100644 data/pokemon/base_stats/machoke.asm create mode 100644 data/pokemon/base_stats/machop.asm create mode 100644 data/pokemon/base_stats/magby.asm create mode 100644 data/pokemon/base_stats/magcargo.asm create mode 100644 data/pokemon/base_stats/magikarp.asm create mode 100644 data/pokemon/base_stats/magmar.asm create mode 100644 data/pokemon/base_stats/magnemite.asm create mode 100644 data/pokemon/base_stats/magneton.asm create mode 100644 data/pokemon/base_stats/mankey.asm create mode 100644 data/pokemon/base_stats/mantine.asm create mode 100644 data/pokemon/base_stats/mareep.asm create mode 100644 data/pokemon/base_stats/marill.asm create mode 100644 data/pokemon/base_stats/marowak.asm create mode 100644 data/pokemon/base_stats/meganium.asm create mode 100644 data/pokemon/base_stats/meowth.asm create mode 100644 data/pokemon/base_stats/metapod.asm create mode 100644 data/pokemon/base_stats/mew.asm create mode 100644 data/pokemon/base_stats/mewtwo.asm create mode 100644 data/pokemon/base_stats/miltank.asm create mode 100644 data/pokemon/base_stats/misdreavus.asm create mode 100644 data/pokemon/base_stats/moltres.asm create mode 100644 data/pokemon/base_stats/mr__mime.asm create mode 100644 data/pokemon/base_stats/muk.asm create mode 100644 data/pokemon/base_stats/murkrow.asm create mode 100644 data/pokemon/base_stats/natu.asm create mode 100644 data/pokemon/base_stats/nidoking.asm create mode 100644 data/pokemon/base_stats/nidoqueen.asm create mode 100644 data/pokemon/base_stats/nidoran_f.asm create mode 100644 data/pokemon/base_stats/nidoran_m.asm create mode 100644 data/pokemon/base_stats/nidorina.asm create mode 100644 data/pokemon/base_stats/nidorino.asm create mode 100644 data/pokemon/base_stats/ninetales.asm create mode 100644 data/pokemon/base_stats/noctowl.asm create mode 100644 data/pokemon/base_stats/octillery.asm create mode 100644 data/pokemon/base_stats/oddish.asm create mode 100644 data/pokemon/base_stats/omanyte.asm create mode 100644 data/pokemon/base_stats/omastar.asm create mode 100644 data/pokemon/base_stats/onix.asm create mode 100644 data/pokemon/base_stats/paras.asm create mode 100644 data/pokemon/base_stats/parasect.asm create mode 100644 data/pokemon/base_stats/persian.asm create mode 100644 data/pokemon/base_stats/phanpy.asm create mode 100644 data/pokemon/base_stats/pichu.asm create mode 100644 data/pokemon/base_stats/pidgeot.asm create mode 100644 data/pokemon/base_stats/pidgeotto.asm create mode 100644 data/pokemon/base_stats/pidgey.asm create mode 100644 data/pokemon/base_stats/pikachu.asm create mode 100644 data/pokemon/base_stats/piloswine.asm create mode 100644 data/pokemon/base_stats/pineco.asm create mode 100644 data/pokemon/base_stats/pinsir.asm create mode 100644 data/pokemon/base_stats/politoed.asm create mode 100644 data/pokemon/base_stats/poliwag.asm create mode 100644 data/pokemon/base_stats/poliwhirl.asm create mode 100644 data/pokemon/base_stats/poliwrath.asm create mode 100644 data/pokemon/base_stats/ponyta.asm create mode 100644 data/pokemon/base_stats/porygon.asm create mode 100644 data/pokemon/base_stats/porygon2.asm create mode 100644 data/pokemon/base_stats/primeape.asm create mode 100644 data/pokemon/base_stats/psyduck.asm create mode 100644 data/pokemon/base_stats/pupitar.asm create mode 100644 data/pokemon/base_stats/quagsire.asm create mode 100644 data/pokemon/base_stats/quilava.asm create mode 100644 data/pokemon/base_stats/qwilfish.asm create mode 100644 data/pokemon/base_stats/raichu.asm create mode 100644 data/pokemon/base_stats/raikou.asm create mode 100644 data/pokemon/base_stats/rapidash.asm create mode 100644 data/pokemon/base_stats/raticate.asm create mode 100644 data/pokemon/base_stats/rattata.asm create mode 100644 data/pokemon/base_stats/remoraid.asm create mode 100644 data/pokemon/base_stats/rhydon.asm create mode 100644 data/pokemon/base_stats/rhyhorn.asm create mode 100644 data/pokemon/base_stats/sandshrew.asm create mode 100644 data/pokemon/base_stats/sandslash.asm create mode 100644 data/pokemon/base_stats/scizor.asm create mode 100644 data/pokemon/base_stats/scyther.asm create mode 100644 data/pokemon/base_stats/seadra.asm create mode 100644 data/pokemon/base_stats/seaking.asm create mode 100644 data/pokemon/base_stats/seel.asm create mode 100644 data/pokemon/base_stats/sentret.asm create mode 100644 data/pokemon/base_stats/shellder.asm create mode 100644 data/pokemon/base_stats/shuckle.asm create mode 100644 data/pokemon/base_stats/skarmory.asm create mode 100644 data/pokemon/base_stats/skiploom.asm create mode 100644 data/pokemon/base_stats/slowbro.asm create mode 100644 data/pokemon/base_stats/slowking.asm create mode 100644 data/pokemon/base_stats/slowpoke.asm create mode 100644 data/pokemon/base_stats/slugma.asm create mode 100644 data/pokemon/base_stats/smeargle.asm create mode 100644 data/pokemon/base_stats/smoochum.asm create mode 100644 data/pokemon/base_stats/sneasel.asm create mode 100644 data/pokemon/base_stats/snorlax.asm create mode 100644 data/pokemon/base_stats/snubbull.asm create mode 100644 data/pokemon/base_stats/spearow.asm create mode 100644 data/pokemon/base_stats/spinarak.asm create mode 100644 data/pokemon/base_stats/squirtle.asm create mode 100644 data/pokemon/base_stats/stantler.asm create mode 100644 data/pokemon/base_stats/starmie.asm create mode 100644 data/pokemon/base_stats/staryu.asm create mode 100644 data/pokemon/base_stats/steelix.asm create mode 100644 data/pokemon/base_stats/sudowoodo.asm create mode 100644 data/pokemon/base_stats/suicune.asm create mode 100644 data/pokemon/base_stats/sunflora.asm create mode 100644 data/pokemon/base_stats/sunkern.asm create mode 100644 data/pokemon/base_stats/swinub.asm create mode 100644 data/pokemon/base_stats/tangela.asm create mode 100644 data/pokemon/base_stats/tauros.asm create mode 100644 data/pokemon/base_stats/teddiursa.asm create mode 100644 data/pokemon/base_stats/tentacool.asm create mode 100644 data/pokemon/base_stats/tentacruel.asm create mode 100644 data/pokemon/base_stats/togepi.asm create mode 100644 data/pokemon/base_stats/togetic.asm create mode 100644 data/pokemon/base_stats/totodile.asm create mode 100644 data/pokemon/base_stats/typhlosion.asm create mode 100644 data/pokemon/base_stats/tyranitar.asm create mode 100644 data/pokemon/base_stats/tyrogue.asm create mode 100644 data/pokemon/base_stats/umbreon.asm create mode 100644 data/pokemon/base_stats/unown.asm create mode 100644 data/pokemon/base_stats/ursaring.asm create mode 100644 data/pokemon/base_stats/vaporeon.asm create mode 100644 data/pokemon/base_stats/venomoth.asm create mode 100644 data/pokemon/base_stats/venonat.asm create mode 100644 data/pokemon/base_stats/venusaur.asm create mode 100644 data/pokemon/base_stats/victreebel.asm create mode 100644 data/pokemon/base_stats/vileplume.asm create mode 100644 data/pokemon/base_stats/voltorb.asm create mode 100644 data/pokemon/base_stats/vulpix.asm create mode 100644 data/pokemon/base_stats/wartortle.asm create mode 100644 data/pokemon/base_stats/weedle.asm create mode 100644 data/pokemon/base_stats/weepinbell.asm create mode 100644 data/pokemon/base_stats/weezing.asm create mode 100644 data/pokemon/base_stats/wigglytuff.asm create mode 100644 data/pokemon/base_stats/wobbuffet.asm create mode 100644 data/pokemon/base_stats/wooper.asm create mode 100644 data/pokemon/base_stats/xatu.asm create mode 100644 data/pokemon/base_stats/yanma.asm create mode 100644 data/pokemon/base_stats/zapdos.asm create mode 100644 data/pokemon/base_stats/zubat.asm create mode 100644 data/pokemon/cry_headers.asm create mode 100644 data/pokemon/dex_entries.asm create mode 100644 data/pokemon/dex_entries/abra.asm create mode 100644 data/pokemon/dex_entries/aerodactyl.asm create mode 100644 data/pokemon/dex_entries/aipom.asm create mode 100644 data/pokemon/dex_entries/alakazam.asm create mode 100644 data/pokemon/dex_entries/ampharos.asm create mode 100644 data/pokemon/dex_entries/arbok.asm create mode 100644 data/pokemon/dex_entries/arcanine.asm create mode 100644 data/pokemon/dex_entries/ariados.asm create mode 100644 data/pokemon/dex_entries/articuno.asm create mode 100644 data/pokemon/dex_entries/azumarill.asm create mode 100644 data/pokemon/dex_entries/bayleef.asm create mode 100644 data/pokemon/dex_entries/beedrill.asm create mode 100644 data/pokemon/dex_entries/bellossom.asm create mode 100644 data/pokemon/dex_entries/bellsprout.asm create mode 100644 data/pokemon/dex_entries/blastoise.asm create mode 100644 data/pokemon/dex_entries/blissey.asm create mode 100644 data/pokemon/dex_entries/bulbasaur.asm create mode 100644 data/pokemon/dex_entries/butterfree.asm create mode 100644 data/pokemon/dex_entries/caterpie.asm create mode 100644 data/pokemon/dex_entries/celebi.asm create mode 100644 data/pokemon/dex_entries/chansey.asm create mode 100644 data/pokemon/dex_entries/charizard.asm create mode 100644 data/pokemon/dex_entries/charmander.asm create mode 100644 data/pokemon/dex_entries/charmeleon.asm create mode 100644 data/pokemon/dex_entries/chikorita.asm create mode 100644 data/pokemon/dex_entries/chinchou.asm create mode 100644 data/pokemon/dex_entries/clefable.asm create mode 100644 data/pokemon/dex_entries/clefairy.asm create mode 100644 data/pokemon/dex_entries/cleffa.asm create mode 100644 data/pokemon/dex_entries/cloyster.asm create mode 100644 data/pokemon/dex_entries/corsola.asm create mode 100644 data/pokemon/dex_entries/crobat.asm create mode 100644 data/pokemon/dex_entries/croconaw.asm create mode 100644 data/pokemon/dex_entries/cubone.asm create mode 100644 data/pokemon/dex_entries/cyndaquil.asm create mode 100644 data/pokemon/dex_entries/delibird.asm create mode 100644 data/pokemon/dex_entries/dewgong.asm create mode 100644 data/pokemon/dex_entries/diglett.asm create mode 100644 data/pokemon/dex_entries/ditto.asm create mode 100644 data/pokemon/dex_entries/dodrio.asm create mode 100644 data/pokemon/dex_entries/doduo.asm create mode 100644 data/pokemon/dex_entries/donphan.asm create mode 100644 data/pokemon/dex_entries/dragonair.asm create mode 100644 data/pokemon/dex_entries/dragonite.asm create mode 100644 data/pokemon/dex_entries/dratini.asm create mode 100644 data/pokemon/dex_entries/drowzee.asm create mode 100644 data/pokemon/dex_entries/dugtrio.asm create mode 100644 data/pokemon/dex_entries/dunsparce.asm create mode 100644 data/pokemon/dex_entries/eevee.asm create mode 100644 data/pokemon/dex_entries/ekans.asm create mode 100644 data/pokemon/dex_entries/electabuzz.asm create mode 100644 data/pokemon/dex_entries/electrode.asm create mode 100644 data/pokemon/dex_entries/elekid.asm create mode 100644 data/pokemon/dex_entries/entei.asm create mode 100644 data/pokemon/dex_entries/espeon.asm create mode 100644 data/pokemon/dex_entries/exeggcute.asm create mode 100644 data/pokemon/dex_entries/exeggutor.asm create mode 100644 data/pokemon/dex_entries/farfetch_d.asm create mode 100644 data/pokemon/dex_entries/fearow.asm create mode 100644 data/pokemon/dex_entries/feraligatr.asm create mode 100644 data/pokemon/dex_entries/flaaffy.asm create mode 100644 data/pokemon/dex_entries/flareon.asm create mode 100644 data/pokemon/dex_entries/forretress.asm create mode 100644 data/pokemon/dex_entries/furret.asm create mode 100644 data/pokemon/dex_entries/gastly.asm create mode 100644 data/pokemon/dex_entries/gengar.asm create mode 100644 data/pokemon/dex_entries/geodude.asm create mode 100644 data/pokemon/dex_entries/girafarig.asm create mode 100644 data/pokemon/dex_entries/gligar.asm create mode 100644 data/pokemon/dex_entries/gloom.asm create mode 100644 data/pokemon/dex_entries/golbat.asm create mode 100644 data/pokemon/dex_entries/goldeen.asm create mode 100644 data/pokemon/dex_entries/golduck.asm create mode 100644 data/pokemon/dex_entries/golem.asm create mode 100644 data/pokemon/dex_entries/granbull.asm create mode 100644 data/pokemon/dex_entries/graveler.asm create mode 100644 data/pokemon/dex_entries/grimer.asm create mode 100644 data/pokemon/dex_entries/growlithe.asm create mode 100644 data/pokemon/dex_entries/gyarados.asm create mode 100644 data/pokemon/dex_entries/haunter.asm create mode 100644 data/pokemon/dex_entries/heracross.asm create mode 100644 data/pokemon/dex_entries/hitmonchan.asm create mode 100644 data/pokemon/dex_entries/hitmonlee.asm create mode 100644 data/pokemon/dex_entries/hitmontop.asm create mode 100644 data/pokemon/dex_entries/ho_oh.asm create mode 100644 data/pokemon/dex_entries/hoothoot.asm create mode 100644 data/pokemon/dex_entries/hoppip.asm create mode 100644 data/pokemon/dex_entries/horsea.asm create mode 100644 data/pokemon/dex_entries/houndoom.asm create mode 100644 data/pokemon/dex_entries/houndour.asm create mode 100644 data/pokemon/dex_entries/hypno.asm create mode 100644 data/pokemon/dex_entries/igglybuff.asm create mode 100644 data/pokemon/dex_entries/ivysaur.asm create mode 100644 data/pokemon/dex_entries/jigglypuff.asm create mode 100644 data/pokemon/dex_entries/jolteon.asm create mode 100644 data/pokemon/dex_entries/jumpluff.asm create mode 100644 data/pokemon/dex_entries/jynx.asm create mode 100644 data/pokemon/dex_entries/kabuto.asm create mode 100644 data/pokemon/dex_entries/kabutops.asm create mode 100644 data/pokemon/dex_entries/kadabra.asm create mode 100644 data/pokemon/dex_entries/kakuna.asm create mode 100644 data/pokemon/dex_entries/kangaskhan.asm create mode 100644 data/pokemon/dex_entries/kingdra.asm create mode 100644 data/pokemon/dex_entries/kingler.asm create mode 100644 data/pokemon/dex_entries/koffing.asm create mode 100644 data/pokemon/dex_entries/krabby.asm create mode 100644 data/pokemon/dex_entries/lanturn.asm create mode 100644 data/pokemon/dex_entries/lapras.asm create mode 100644 data/pokemon/dex_entries/larvitar.asm create mode 100644 data/pokemon/dex_entries/ledian.asm create mode 100644 data/pokemon/dex_entries/ledyba.asm create mode 100644 data/pokemon/dex_entries/lickitung.asm create mode 100644 data/pokemon/dex_entries/lugia.asm create mode 100644 data/pokemon/dex_entries/machamp.asm create mode 100644 data/pokemon/dex_entries/machoke.asm create mode 100644 data/pokemon/dex_entries/machop.asm create mode 100644 data/pokemon/dex_entries/magby.asm create mode 100644 data/pokemon/dex_entries/magcargo.asm create mode 100644 data/pokemon/dex_entries/magikarp.asm create mode 100644 data/pokemon/dex_entries/magmar.asm create mode 100644 data/pokemon/dex_entries/magnemite.asm create mode 100644 data/pokemon/dex_entries/magneton.asm create mode 100644 data/pokemon/dex_entries/mankey.asm create mode 100644 data/pokemon/dex_entries/mantine.asm create mode 100644 data/pokemon/dex_entries/mareep.asm create mode 100644 data/pokemon/dex_entries/marill.asm create mode 100644 data/pokemon/dex_entries/marowak.asm create mode 100644 data/pokemon/dex_entries/meganium.asm create mode 100644 data/pokemon/dex_entries/meowth.asm create mode 100644 data/pokemon/dex_entries/metapod.asm create mode 100644 data/pokemon/dex_entries/mew.asm create mode 100644 data/pokemon/dex_entries/mewtwo.asm create mode 100644 data/pokemon/dex_entries/miltank.asm create mode 100644 data/pokemon/dex_entries/misdreavus.asm create mode 100644 data/pokemon/dex_entries/moltres.asm create mode 100644 data/pokemon/dex_entries/mr__mime.asm create mode 100644 data/pokemon/dex_entries/muk.asm create mode 100644 data/pokemon/dex_entries/murkrow.asm create mode 100644 data/pokemon/dex_entries/natu.asm create mode 100644 data/pokemon/dex_entries/nidoking.asm create mode 100644 data/pokemon/dex_entries/nidoqueen.asm create mode 100644 data/pokemon/dex_entries/nidoran_f.asm create mode 100644 data/pokemon/dex_entries/nidoran_m.asm create mode 100644 data/pokemon/dex_entries/nidorina.asm create mode 100644 data/pokemon/dex_entries/nidorino.asm create mode 100644 data/pokemon/dex_entries/ninetales.asm create mode 100644 data/pokemon/dex_entries/noctowl.asm create mode 100644 data/pokemon/dex_entries/octillery.asm create mode 100644 data/pokemon/dex_entries/oddish.asm create mode 100644 data/pokemon/dex_entries/omanyte.asm create mode 100644 data/pokemon/dex_entries/omastar.asm create mode 100644 data/pokemon/dex_entries/onix.asm create mode 100644 data/pokemon/dex_entries/paras.asm create mode 100644 data/pokemon/dex_entries/parasect.asm create mode 100644 data/pokemon/dex_entries/persian.asm create mode 100644 data/pokemon/dex_entries/phanpy.asm create mode 100644 data/pokemon/dex_entries/pichu.asm create mode 100644 data/pokemon/dex_entries/pidgeot.asm create mode 100644 data/pokemon/dex_entries/pidgeotto.asm create mode 100644 data/pokemon/dex_entries/pidgey.asm create mode 100644 data/pokemon/dex_entries/pikachu.asm create mode 100644 data/pokemon/dex_entries/piloswine.asm create mode 100644 data/pokemon/dex_entries/pineco.asm create mode 100644 data/pokemon/dex_entries/pinsir.asm create mode 100644 data/pokemon/dex_entries/politoed.asm create mode 100644 data/pokemon/dex_entries/poliwag.asm create mode 100644 data/pokemon/dex_entries/poliwhirl.asm create mode 100644 data/pokemon/dex_entries/poliwrath.asm create mode 100644 data/pokemon/dex_entries/ponyta.asm create mode 100644 data/pokemon/dex_entries/porygon.asm create mode 100644 data/pokemon/dex_entries/porygon2.asm create mode 100644 data/pokemon/dex_entries/primeape.asm create mode 100644 data/pokemon/dex_entries/psyduck.asm create mode 100644 data/pokemon/dex_entries/pupitar.asm create mode 100644 data/pokemon/dex_entries/quagsire.asm create mode 100644 data/pokemon/dex_entries/quilava.asm create mode 100644 data/pokemon/dex_entries/qwilfish.asm create mode 100644 data/pokemon/dex_entries/raichu.asm create mode 100644 data/pokemon/dex_entries/raikou.asm create mode 100644 data/pokemon/dex_entries/rapidash.asm create mode 100644 data/pokemon/dex_entries/raticate.asm create mode 100644 data/pokemon/dex_entries/rattata.asm create mode 100644 data/pokemon/dex_entries/remoraid.asm create mode 100644 data/pokemon/dex_entries/rhydon.asm create mode 100644 data/pokemon/dex_entries/rhyhorn.asm create mode 100644 data/pokemon/dex_entries/sandshrew.asm create mode 100644 data/pokemon/dex_entries/sandslash.asm create mode 100644 data/pokemon/dex_entries/scizor.asm create mode 100644 data/pokemon/dex_entries/scyther.asm create mode 100644 data/pokemon/dex_entries/seadra.asm create mode 100644 data/pokemon/dex_entries/seaking.asm create mode 100644 data/pokemon/dex_entries/seel.asm create mode 100644 data/pokemon/dex_entries/sentret.asm create mode 100644 data/pokemon/dex_entries/shellder.asm create mode 100644 data/pokemon/dex_entries/shuckle.asm create mode 100644 data/pokemon/dex_entries/skarmory.asm create mode 100644 data/pokemon/dex_entries/skiploom.asm create mode 100644 data/pokemon/dex_entries/slowbro.asm create mode 100644 data/pokemon/dex_entries/slowking.asm create mode 100644 data/pokemon/dex_entries/slowpoke.asm create mode 100644 data/pokemon/dex_entries/slugma.asm create mode 100644 data/pokemon/dex_entries/smeargle.asm create mode 100644 data/pokemon/dex_entries/smoochum.asm create mode 100644 data/pokemon/dex_entries/sneasel.asm create mode 100644 data/pokemon/dex_entries/snorlax.asm create mode 100644 data/pokemon/dex_entries/snubbull.asm create mode 100644 data/pokemon/dex_entries/spearow.asm create mode 100644 data/pokemon/dex_entries/spinarak.asm create mode 100644 data/pokemon/dex_entries/squirtle.asm create mode 100644 data/pokemon/dex_entries/stantler.asm create mode 100644 data/pokemon/dex_entries/starmie.asm create mode 100644 data/pokemon/dex_entries/staryu.asm create mode 100644 data/pokemon/dex_entries/steelix.asm create mode 100644 data/pokemon/dex_entries/sudowoodo.asm create mode 100644 data/pokemon/dex_entries/suicune.asm create mode 100644 data/pokemon/dex_entries/sunflora.asm create mode 100644 data/pokemon/dex_entries/sunkern.asm create mode 100644 data/pokemon/dex_entries/swinub.asm create mode 100644 data/pokemon/dex_entries/tangela.asm create mode 100644 data/pokemon/dex_entries/tauros.asm create mode 100644 data/pokemon/dex_entries/teddiursa.asm create mode 100644 data/pokemon/dex_entries/tentacool.asm create mode 100644 data/pokemon/dex_entries/tentacruel.asm create mode 100644 data/pokemon/dex_entries/togepi.asm create mode 100644 data/pokemon/dex_entries/togetic.asm create mode 100644 data/pokemon/dex_entries/totodile.asm create mode 100644 data/pokemon/dex_entries/typhlosion.asm create mode 100644 data/pokemon/dex_entries/tyranitar.asm create mode 100644 data/pokemon/dex_entries/tyrogue.asm create mode 100644 data/pokemon/dex_entries/umbreon.asm create mode 100644 data/pokemon/dex_entries/unown.asm create mode 100644 data/pokemon/dex_entries/ursaring.asm create mode 100644 data/pokemon/dex_entries/vaporeon.asm create mode 100644 data/pokemon/dex_entries/venomoth.asm create mode 100644 data/pokemon/dex_entries/venonat.asm create mode 100644 data/pokemon/dex_entries/venusaur.asm create mode 100644 data/pokemon/dex_entries/victreebel.asm create mode 100644 data/pokemon/dex_entries/vileplume.asm create mode 100644 data/pokemon/dex_entries/voltorb.asm create mode 100644 data/pokemon/dex_entries/vulpix.asm create mode 100644 data/pokemon/dex_entries/wartortle.asm create mode 100644 data/pokemon/dex_entries/weedle.asm create mode 100644 data/pokemon/dex_entries/weepinbell.asm create mode 100644 data/pokemon/dex_entries/weezing.asm create mode 100644 data/pokemon/dex_entries/wigglytuff.asm create mode 100644 data/pokemon/dex_entries/wobbuffet.asm create mode 100644 data/pokemon/dex_entries/wooper.asm create mode 100644 data/pokemon/dex_entries/xatu.asm create mode 100644 data/pokemon/dex_entries/yanma.asm create mode 100644 data/pokemon/dex_entries/zapdos.asm create mode 100644 data/pokemon/dex_entries/zubat.asm create mode 100644 data/pokemon/dex_entry_pointers.asm create mode 100644 data/pokemon/dex_order_alpha.asm create mode 100644 data/pokemon/dex_order_new.asm create mode 100644 data/pokemon/egg_move_pointers.asm create mode 100644 data/pokemon/egg_moves.asm create mode 100644 data/pokemon/evos_attacks.asm create mode 100644 data/pokemon/evos_attacks_pointers.asm create mode 100644 data/pokemon/menu_icons.asm create mode 100644 data/pokemon/pokemon_names.asm delete mode 100644 data/pokemon_names.asm delete mode 100644 data/spawn_points.asm create mode 100644 data/trainers/encounter_music.asm create mode 100644 data/trainers/gendered_trainers.asm create mode 100644 data/trainers/parties.asm create mode 100644 data/trainers/party_pointers.asm create mode 100644 data/trainers/trainer_attributes.asm create mode 100644 data/trainers/trainer_dvs.asm create mode 100644 engine/item_effects.asm create mode 100755 engine/pokeball_wobble.asm create mode 100644 engine/read_trainer_attributes.asm create mode 100755 engine/read_trainer_party.asm delete mode 100644 items/item_attributes.asm delete mode 100644 items/item_descriptions.asm delete mode 100644 items/item_effects.asm delete mode 100644 items/item_names.asm delete mode 100644 items/marts.asm delete mode 100755 items/pokeball_wobble.asm create mode 100644 macros/base_stats.asm delete mode 100644 macros/basestats.asm delete mode 100644 trainers/attributes.asm delete mode 100644 trainers/dvs.asm delete mode 100644 trainers/encounter_music.asm delete mode 100644 trainers/gendered_trainers.asm delete mode 100644 trainers/read_attributes.asm delete mode 100755 trainers/read_party.asm delete mode 100644 trainers/trainer_pointers.asm delete mode 100644 trainers/trainers.asm diff --git a/FAQ.md b/FAQ.md index a02f22629..1cf0ea139 100644 --- a/FAQ.md +++ b/FAQ.md @@ -1,27 +1,43 @@ # FAQ + +## Questions + +- [What is pokecrystal11.gbc?](#what-is-pokecrystal11gbc) +- [Can't build ROM; "ERROR: `UNION` already defined"](#cant-build-rom-error-union-already-defined) +- [Can't build ROM; "Segmentation fault" from `rgbgfx`](#cant-build-rom-segmentation-fault-from-rgbgfx) +- [Can't build ROM; "Section is too big" or "Unable to place section in bank"](#cant-build-rom-section-is-too-big-or-unable-to-place-section-in-bank) +- [How do I edit maps?](#how-do-i-edit-maps) +- [I need more help!](#i-need-more-help) + + ## What is pokecrystal11.gbc? Version 1.1 of Pokémon Crystal, which fixed some issues with the initial international release. `make crystal11` defines `CRYSTAL11` so the assembly builds the changed version. + ## Can't build ROM; "ERROR: `UNION` already defined" Download [**rgbds 0.3.3**](rgbds). Earlier versions will not work. + ## Can't build ROM; "Segmentation fault" from `rgbgfx` If you are using 64-bit Windows, download [**64-bit Cygwin**](cygwin) and [**64-bit rgbds**](rgbds). + ## Can't build ROM; "Section is too big" or "Unable to place section in bank" If you have not changed any of the asm, make sure you have the latest version of pokecrystal and the correct version of rgbds (see [INSTALL.md](INSTALL.md)). If you added or changed any code, it has to fit in the **memory banks**. The 2MB ROM is divided into 128 banks of 4KB each, numbered $00 to $7F. The linkerscript **pokecrystal.link** lists which **`SECTION`**s go in which banks. Try moving some code into a new section. + ## How do I edit maps? For `asm` scripts, read [docs/map_scripts.md](docs/map_scripts.md). For `blk` layouts, try [crowdmap](crowdmap) or [Polished Map](polished-map). + ## I need more help! Try asking on IRC or Discord (see [README.md](README.md)). diff --git a/Makefile b/Makefile index d3158c341..8d4aa7900 100644 --- a/Makefile +++ b/Makefile @@ -25,9 +25,9 @@ audio.o \ maps.o \ engine/events.o \ engine/credits.o \ -data/egg_moves.o \ -data/evos_attacks.o \ -data/pokedex/entries.o \ +data/pokemon/egg_moves.o \ +data/pokemon/evos_attacks.o \ +data/pokemon/dex_entries.o \ misc/crystal_misc.o \ text/common_text.o \ gfx/pics.o diff --git a/audio.asm b/audio.asm index 452fed76d..c358e4d9b 100644 --- a/audio.asm +++ b/audio.asm @@ -4,7 +4,7 @@ INCLUDE "includes.asm" SECTION "Audio", ROMX INCLUDE "audio/engine.asm" -INCLUDE "trainers/encounter_music.asm" +INCLUDE "data/trainers/encounter_music.asm" INCLUDE "audio/music_pointers.asm" INCLUDE "audio/music/nothing.asm" INCLUDE "audio/cry_pointers.asm" @@ -157,6 +157,6 @@ INCLUDE "audio/sfx_crystal.asm" SECTION "Cries", ROMX -CryHeaders:: INCLUDE "audio/cry_headers.asm" +INCLUDE "data/pokemon/cry_headers.asm" INCLUDE "audio/cries.asm" diff --git a/audio/cry_headers.asm b/audio/cry_headers.asm deleted file mode 100644 index 863539dc9..000000000 --- a/audio/cry_headers.asm +++ /dev/null @@ -1,258 +0,0 @@ -; f2787 -; index, pitch, length -BulbasaurCryHeader: cry_header CRY_BULBASAUR, $080, $081 -IvysaurCryHeader: cry_header CRY_BULBASAUR, $020, $100 -VenusaurCryHeader: cry_header CRY_BULBASAUR, $000, $140 -CharmanderCryHeader: cry_header CRY_CHARMANDER, $060, $0c0 -CharmeleonCryHeader: cry_header CRY_CHARMANDER, $020, $0c0 -CharizardCryHeader: cry_header CRY_CHARMANDER, $000, $100 -SquirtleCryHeader: cry_header CRY_SQUIRTLE, $060, $0c0 -WartortleCryHeader: cry_header CRY_SQUIRTLE, $020, $0c0 -BlastoiseCryHeader: cry_header CRY_BLASTOISE, $000, $100 -CaterpieCryHeader: cry_header CRY_CATERPIE, $080, $0a0 -MetapodCryHeader: cry_header CRY_METAPOD, $0cc, $081 -ButterfreeCryHeader: cry_header CRY_CATERPIE, $077, $0c0 -WeedleCryHeader: cry_header CRY_WEEDLE, $0ee, $081 -KakunaCryHeader: cry_header CRY_BLASTOISE, $0ff, $081 -BeedrillCryHeader: cry_header CRY_BLASTOISE, $060, $100 -PidgeyCryHeader: cry_header CRY_PIDGEY, $0df, $084 -PidgeottoCryHeader: cry_header CRY_PIDGEOTTO, $028, $140 -PidgeotCryHeader: cry_header CRY_PIDGEOTTO, $011, $17f -RattataCryHeader: cry_header CRY_RATTATA, $000, $100 -RaticateCryHeader: cry_header CRY_RATTATA, $020, $17f -SpearowCryHeader: cry_header CRY_SPEAROW, $000, $100 -FearowCryHeader: cry_header CRY_FEAROW, $040, $120 -EkansCryHeader: cry_header CRY_EKANS, $012, $0c0 -ArbokCryHeader: cry_header CRY_EKANS, $0e0, $090 -PikachuCryHeader: cry_header CRY_BULBASAUR, $0ee, $081 -RaichuCryHeader: cry_header CRY_RAICHU, $0ee, $088 -SandshrewCryHeader: cry_header CRY_NIDORAN_M, $020, $0c0 -SandslashCryHeader: cry_header CRY_NIDORAN_M, $0ff, $17f -NidoranFCryHeader: cry_header CRY_NIDORAN_F, $000, $100 -NidorinaCryHeader: cry_header CRY_NIDORAN_F, $02c, $160 -NidoqueenCryHeader: cry_header CRY_NIDOQUEEN, $000, $100 -NidoranMCryHeader: cry_header CRY_NIDORAN_M, $000, $100 -NidorinoCryHeader: cry_header CRY_NIDORAN_M, $02c, $140 -NidokingCryHeader: cry_header CRY_RAICHU, $000, $100 -ClefairyCryHeader: cry_header CRY_CLEFAIRY, $0cc, $081 -ClefableCryHeader: cry_header CRY_CLEFAIRY, $0aa, $0a0 -VulpixCryHeader: cry_header CRY_VULPIX, $04f, $090 -NinetalesCryHeader: cry_header CRY_VULPIX, $088, $0e0 -JigglypuffCryHeader: cry_header CRY_PIDGEY, $0ff, $0b5 -WigglytuffCryHeader: cry_header CRY_PIDGEY, $068, $0e0 -ZubatCryHeader: cry_header CRY_SQUIRTLE, $0e0, $100 -GolbatCryHeader: cry_header CRY_SQUIRTLE, $0fa, $100 -OddishCryHeader: cry_header CRY_ODDISH, $0dd, $081 -GloomCryHeader: cry_header CRY_ODDISH, $0aa, $0c0 -VileplumeCryHeader: cry_header CRY_VILEPLUME, $022, $17f -ParasCryHeader: cry_header CRY_PARAS, $020, $160 -ParasectCryHeader: cry_header CRY_PARAS, $042, $17f -VenonatCryHeader: cry_header CRY_VENONAT, $044, $0c0 -VenomothCryHeader: cry_header CRY_VENONAT, $029, $100 -DiglettCryHeader: cry_header CRY_DIGLETT, $0aa, $081 -DugtrioCryHeader: cry_header CRY_DIGLETT, $02a, $090 -MeowthCryHeader: cry_header CRY_CLEFAIRY, $077, $090 -PersianCryHeader: cry_header CRY_CLEFAIRY, $099, $17f -PsyduckCryHeader: cry_header CRY_PSYDUCK, $020, $0e0 -GolduckCryHeader: cry_header CRY_PSYDUCK, $0ff, $0c0 -MankeyCryHeader: cry_header CRY_NIDOQUEEN, $0dd, $0e0 -PrimeapeCryHeader: cry_header CRY_NIDOQUEEN, $0af, $0c0 -GrowlitheCryHeader: cry_header CRY_GROWLITHE, $020, $0c0 -ArcanineCryHeader: cry_header CRY_WEEDLE, $000, $100 -PoliwagCryHeader: cry_header CRY_PIDGEY, $0ff, $17f -PoliwhirlCryHeader: cry_header CRY_PIDGEY, $077, $0e0 -PoliwrathCryHeader: cry_header CRY_PIDGEY, $000, $17f -AbraCryHeader: cry_header CRY_METAPOD, $0c0, $081 -KadabraCryHeader: cry_header CRY_METAPOD, $0a8, $140 -AlakazamCryHeader: cry_header CRY_METAPOD, $098, $17f -MachopCryHeader: cry_header CRY_GROWLITHE, $0ee, $081 -MachokeCryHeader: cry_header CRY_GROWLITHE, $048, $0e0 -MachampCryHeader: cry_header CRY_GROWLITHE, $008, $140 -BellsproutCryHeader: cry_header CRY_PSYDUCK, $055, $081 -WeepinbellCryHeader: cry_header CRY_WEEPINBELL, $044, $0a0 -VictreebelCryHeader: cry_header CRY_WEEPINBELL, $066, $14c -TentacoolCryHeader: cry_header CRY_VENONAT, $000, $100 -TentacruelCryHeader: cry_header CRY_VENONAT, $0ee, $17f -GeodudeCryHeader: cry_header CRY_VULPIX, $0f0, $090 -GravelerCryHeader: cry_header CRY_VULPIX, $000, $100 -GolemCryHeader: cry_header CRY_GOLEM, $0e0, $0c0 -PonytaCryHeader: cry_header CRY_WEEPINBELL, $000, $100 -RapidashCryHeader: cry_header CRY_WEEPINBELL, $020, $140 -SlowpokeCryHeader: cry_header CRY_SLOWPOKE, $000, $100 -SlowbroCryHeader: cry_header CRY_GROWLITHE, $000, $100 -MagnemiteCryHeader: cry_header CRY_METAPOD, $080, $0e0 -MagnetonCryHeader: cry_header CRY_METAPOD, $020, $140 -FarfetchDCryHeader: cry_header CRY_SPEAROW, $0dd, $081 -DoduoCryHeader: cry_header CRY_DIGLETT, $0bb, $081 -DodrioCryHeader: cry_header CRY_DIGLETT, $099, $0a0 -SeelCryHeader: cry_header CRY_SEEL, $088, $140 -DewgongCryHeader: cry_header CRY_SEEL, $023, $17f -GrimerCryHeader: cry_header CRY_GRIMER, $000, $100 -MukCryHeader: cry_header CRY_MUK, $0ef, $17f -ShellderCryHeader: cry_header CRY_FEAROW, $000, $100 -CloysterCryHeader: cry_header CRY_FEAROW, $06f, $160 -GastlyCryHeader: cry_header CRY_METAPOD, $000, $100 -HaunterCryHeader: cry_header CRY_METAPOD, $030, $0c0 -GengarCryHeader: cry_header CRY_MUK, $000, $17f -OnixCryHeader: cry_header CRY_EKANS, $0ff, $140 -DrowzeeCryHeader: cry_header CRY_DROWZEE, $088, $0a0 -HypnoCryHeader: cry_header CRY_DROWZEE, $0ee, $0c0 -KrabbyCryHeader: cry_header CRY_KRABBY, $020, $160 -KinglerCryHeader: cry_header CRY_KRABBY, $0ee, $160 -VoltorbCryHeader: cry_header CRY_VOLTORB, $0ed, $100 -ElectrodeCryHeader: cry_header CRY_VOLTORB, $0a8, $110 -ExeggcuteCryHeader: cry_header CRY_DIGLETT, $000, $100 -ExeggutorCryHeader: cry_header CRY_DROWZEE, $000, $100 -CuboneCryHeader: cry_header CRY_CLEFAIRY, $000, $100 -MarowakCryHeader: cry_header CRY_ODDISH, $04f, $0e0 -HitmonleeCryHeader: cry_header CRY_GOLEM, $080, $140 -HitmonchanCryHeader: cry_header CRY_SEEL, $0ee, $140 -LickitungCryHeader: cry_header CRY_SEEL, $000, $100 -KoffingCryHeader: cry_header CRY_GOLEM, $0e6, $15d -WeezingCryHeader: cry_header CRY_GOLEM, $0ff, $17f -RhyhornCryHeader: cry_header CRY_CHARMANDER, $000, $100 -RhydonCryHeader: cry_header CRY_RHYDON, $000, $100 -ChanseyCryHeader: cry_header CRY_PIDGEOTTO, $00a, $140 -TangelaCryHeader: cry_header CRY_GOLEM, $000, $100 -KangaskhanCryHeader: cry_header CRY_KANGASKHAN, $000, $100 -HorseaCryHeader: cry_header CRY_CLEFAIRY, $099, $090 -SeadraCryHeader: cry_header CRY_CLEFAIRY, $03c, $081 -GoldeenCryHeader: cry_header CRY_CATERPIE, $080, $0c0 -SeakingCryHeader: cry_header CRY_CATERPIE, $010, $17f -StaryuCryHeader: cry_header CRY_PARAS, $002, $0a0 -StarmieCryHeader: cry_header CRY_PARAS, $000, $100 -MrMimeCryHeader: cry_header CRY_KRABBY, $008, $0c0 -ScytherCryHeader: cry_header CRY_CATERPIE, $000, $100 -JynxCryHeader: cry_header CRY_DROWZEE, $0ff, $17f -ElectabuzzCryHeader: cry_header CRY_VOLTORB, $08f, $17f -MagmarCryHeader: cry_header CRY_CHARMANDER, $0ff, $0b0 -PinsirCryHeader: cry_header CRY_PIDGEOTTO, $000, $100 -TaurosCryHeader: cry_header CRY_SQUIRTLE, $011, $0c0 -MagikarpCryHeader: cry_header CRY_EKANS, $080, $080 -GyaradosCryHeader: cry_header CRY_EKANS, $000, $100 -LaprasCryHeader: cry_header CRY_LAPRAS, $000, $100 -DittoCryHeader: cry_header CRY_PIDGEY, $0ff, $17f -EeveeCryHeader: cry_header CRY_VENONAT, $088, $0e0 -VaporeonCryHeader: cry_header CRY_VENONAT, $0aa, $17f -JolteonCryHeader: cry_header CRY_VENONAT, $03d, $100 -FlareonCryHeader: cry_header CRY_VENONAT, $010, $0a0 -PorygonCryHeader: cry_header CRY_WEEPINBELL, $0aa, $17f -OmanyteCryHeader: cry_header CRY_GROWLITHE, $0f0, $081 -OmastarCryHeader: cry_header CRY_GROWLITHE, $0ff, $0c0 -KabutoCryHeader: cry_header CRY_CATERPIE, $0bb, $0c0 -KabutopsCryHeader: cry_header CRY_FEAROW, $0ee, $081 -AerodactylCryHeader: cry_header CRY_VILEPLUME, $020, $170 -SnorlaxCryHeader: cry_header CRY_GRIMER, $055, $081 -ArticunoCryHeader: cry_header CRY_RAICHU, $080, $0c0 -ZapdosCryHeader: cry_header CRY_FEAROW, $0ff, $100 -MoltresCryHeader: cry_header CRY_RAICHU, $0f8, $0c0 -DratiniCryHeader: cry_header CRY_BULBASAUR, $060, $0c0 -DragonairCryHeader: cry_header CRY_BULBASAUR, $040, $100 -DragoniteCryHeader: cry_header CRY_BULBASAUR, $03c, $140 -MewtwoCryHeader: cry_header CRY_PARAS, $099, $17f -MewCryHeader: cry_header CRY_PARAS, $0ee, $17f -ChikoritaCryHeader: cry_header CRY_CHIKORITA, -$010, $0b0 -BayleefCryHeader: cry_header CRY_CHIKORITA, -$022, $120 -MeganiumCryHeader: cry_header CRY_CHIKORITA, -$0b7, $200 -CyndaquilCryHeader: cry_header CRY_CYNDAQUIL, $347, $080 -QuilavaCryHeader: cry_header CRY_CYNDAQUIL, $321, $120 -TyphlosionCryHeader: cry_header CRY_TYPHLOSION, $f00, $0d4 -TotodileCryHeader: cry_header CRY_TOTODILE, $46c, $0e8 -CroconawCryHeader: cry_header CRY_TOTODILE, $440, $110 -FeraligatrCryHeader: cry_header CRY_TOTODILE, $3fc, $180 -SentretCryHeader: cry_header CRY_SENTRET, $08a, $0b8 -FurretCryHeader: cry_header CRY_SENTRET, $06b, $102 -HoothootCryHeader: cry_header CRY_HOOTHOOT, $091, $0d8 -NoctowlCryHeader: cry_header CRY_HOOTHOOT, $000, $1a0 -LedybaCryHeader: cry_header CRY_LEDYBA, $000, $0de -LedianCryHeader: cry_header CRY_LEDYBA, -$096, $138 -SpinarakCryHeader: cry_header CRY_SPINARAK, $011, $200 -AriadosCryHeader: cry_header CRY_SPINARAK, -$0ae, $1e2 -CrobatCryHeader: cry_header CRY_SQUIRTLE, -$010, $140 -ChinchouCryHeader: cry_header CRY_CYNDAQUIL, $3c9, $140 -LanturnCryHeader: cry_header CRY_CYNDAQUIL, $2d0, $110 -PichuCryHeader: cry_header CRY_PICHU, $000, $140 -CleffaCryHeader: cry_header CRY_CLEFFA, $061, $091 -IgglybuffCryHeader: cry_header CRY_CHIKORITA, $0e8, $0e8 -TogepiCryHeader: cry_header CRY_TOGEPI, $010, $100 -TogeticCryHeader: cry_header CRY_TOGETIC, $03b, $038 -NatuCryHeader: cry_header CRY_NATU, -$067, $100 -XatuCryHeader: cry_header CRY_NATU, -$0a7, $168 -MareepCryHeader: cry_header CRY_MAREEP, $022, $0d8 -FlaaffyCryHeader: cry_header CRY_MAREEP, -$007, $180 -AmpharosCryHeader: cry_header CRY_AMPHAROS, -$07c, $0e8 -BellossomCryHeader: cry_header CRY_CLEFFA, $084, $150 -MarillCryHeader: cry_header CRY_MARILL, $11b, $120 -AzumarillCryHeader: cry_header CRY_MARILL, $0b6, $180 -SudowoodoCryHeader: cry_header CRY_CLEFFA, $f40, $180 -PolitoedCryHeader: cry_header CRY_CLEFFA, -$2a3, $1c8 -HoppipCryHeader: cry_header CRY_CLEFFA, $03b, $0c8 -SkiploomCryHeader: cry_header CRY_CLEFFA, $027, $138 -JumpluffCryHeader: cry_header CRY_CLEFFA, $000, $180 -AipomCryHeader: cry_header CRY_AIPOM, -$051, $0e8 -SunkernCryHeader: cry_header CRY_MARILL, $12b, $0b8 -SunfloraCryHeader: cry_header CRY_SUNFLORA, -$020, $180 -YanmaCryHeader: cry_header CRY_TOTODILE, $031, $0c8 -WooperCryHeader: cry_header CRY_WOOPER, $093, $0af -QuagsireCryHeader: cry_header CRY_WOOPER, -$0c6, $140 -EspeonCryHeader: cry_header CRY_AIPOM, $0a2, $140 -UmbreonCryHeader: cry_header CRY_VENONAT, -$0e9, $0f0 -MurkrowCryHeader: cry_header CRY_MARILL, -$01f, $180 -SlowkingCryHeader: cry_header CRY_SLOWKING, $104, $200 -MisdreavusCryHeader: cry_header CRY_HOOTHOOT, $130, $0e8 -UnownCryHeader: cry_header CRY_HOOTHOOT, $162, $100 -WobbuffetCryHeader: cry_header CRY_AMPHAROS, $27b, $144 -GirafarigCryHeader: cry_header CRY_GIRAFARIG, $041, $200 -PinecoCryHeader: cry_header CRY_SLOWKING, $080, $100 -ForretressCryHeader: cry_header CRY_SLOWKING, $000, $180 -DunsparceCryHeader: cry_header CRY_DUNSPARCE, $1c4, $100 -GligarCryHeader: cry_header CRY_GLIGAR, -$102, $100 -SteelixCryHeader: cry_header CRY_TYPHLOSION, $0ef, $0f7 -SnubbullCryHeader: cry_header CRY_DUNSPARCE, $112, $0e8 -GranbullCryHeader: cry_header CRY_DUNSPARCE, $000, $180 -QwilfishCryHeader: cry_header CRY_SLOWKING, $160, $0e0 -ScizorCryHeader: cry_header CRY_AMPHAROS, $000, $160 -ShuckleCryHeader: cry_header CRY_DUNSPARCE, $290, $0a8 -HeracrossCryHeader: cry_header CRY_AMPHAROS, $035, $0e0 -SneaselCryHeader: cry_header CRY_WOOPER, $053, $0af -TeddiursaCryHeader: cry_header CRY_TEDDIURSA, $7a2, $06e -UrsaringCryHeader: cry_header CRY_TEDDIURSA, $640, $0d8 -SlugmaCryHeader: cry_header CRY_SLUGMA, -$1d8, $140 -MagcargoCryHeader: cry_header CRY_MAGCARGO, -$20d, $1c0 -SwinubCryHeader: cry_header CRY_CYNDAQUIL, $1fe, $140 -PiloswineCryHeader: cry_header CRY_MAGCARGO, -$109, $100 -CorsolaCryHeader: cry_header CRY_MAGCARGO, $0a1, $0e8 -RemoraidCryHeader: cry_header CRY_SUNFLORA, $00d, $100 -OctilleryCryHeader: cry_header CRY_TOTODILE, $000, $180 -DelibirdCryHeader: cry_header CRY_TEDDIURSA, $002, $06a -MantineCryHeader: cry_header CRY_MANTINE, -$0be, $0f0 -SkarmoryCryHeader: cry_header CRY_AMPHAROS, $8a9, $180 -HoundourCryHeader: cry_header CRY_CYNDAQUIL, $039, $140 -HoundoomCryHeader: cry_header CRY_TOTODILE, -$10a, $100 -KingdraCryHeader: cry_header CRY_SLUGMA, $2fb, $100 -PhanpyCryHeader: cry_header CRY_SENTRET, $048, $230 -DonphanCryHeader: cry_header CRY_DONPHAN, $000, $1a0 -Porygon2CryHeader: cry_header CRY_GIRAFARIG, $073, $240 -StantlerCryHeader: cry_header CRY_AIPOM, -$160, $180 -SmeargleCryHeader: cry_header CRY_PICHU, -$21a, $1f0 -TyrogueCryHeader: cry_header CRY_AIPOM, $02c, $108 -HitmontopCryHeader: cry_header CRY_SLUGMA, $000, $100 -SmoochumCryHeader: cry_header CRY_MARILL, $068, $100 -ElekidCryHeader: cry_header CRY_SUNFLORA, -$2d8, $0b4 -MagbyCryHeader: cry_header CRY_TEDDIURSA, $176, $03a -MiltankCryHeader: cry_header CRY_GLIGAR, -$1cd, $1a0 -BlisseyCryHeader: cry_header CRY_SLOWKING, $293, $140 -RaikouCryHeader: cry_header CRY_RAIKOU, $22e, $120 -EnteiCryHeader: cry_header CRY_ENTEI, $000, $1a0 -SuicuneCryHeader: cry_header CRY_MAGCARGO, $000, $180 -LarvitarCryHeader: cry_header CRY_RAIKOU, $05f, $0d0 -PupitarCryHeader: cry_header CRY_SPINARAK, -$1db, $150 -TyranitarCryHeader: cry_header CRY_RAIKOU, -$100, $180 -LugiaCryHeader: cry_header CRY_TYPHLOSION, $000, $100 -HoOhCryHeader: cry_header CRY_AIPOM, $000, $180 -CelebiCryHeader: cry_header CRY_ENTEI, $14a, $111 -CryHeader252: cry_header CRY_NIDORAN_M, 0, 0 -CryHeader253: cry_header CRY_NIDORAN_M, 0, 0 -CryHeader254: cry_header CRY_NIDORAN_M, 0, 0 -CryHeader255: cry_header CRY_NIDORAN_M, 0, 0 -; f2d81 diff --git a/constants/item_constants.asm b/constants/item_constants.asm index d9cd99a34..f03cf2735 100644 --- a/constants/item_constants.asm +++ b/constants/item_constants.asm @@ -1,9 +1,9 @@ ; item ids ; indexes for: -; - ItemAttributes (see items/item_attributes.asm) -; - ItemDescriptions (see items/item_descriptions.asm) -; - ItemEffects (see items/item_effects.asm) -; - ItemNames (see items/item_names.asm) +; - ItemAttributes (see data/items/item_attributes.asm) +; - ItemDescriptions (see data/items/item_descriptions.asm) +; - ItemEffects (see engine/item_effects.asm) +; - ItemNames (see data/items/item_names.asm) const_def const NO_ITEM ; $00 const MASTER_BALL ; $01 @@ -372,7 +372,7 @@ const_value SET 70 const HELD_78 const HELD_FOCUS_BAND -; item_attribute struct members (see items/item_attributes.asm) +; item_attribute struct members (see data/items/item_attributes.asm) const_def const ITEMATTR_PRICE const ITEMATTR_PRICE_HI @@ -397,7 +397,7 @@ ITEMMENU_CLOSE EQU 6 const MARTTYPE_PHARMACY const MARTTYPE_ROOFTOP -; Marts indexes (see items/marts.asm) +; Marts indexes (see data/items/marts.asm) const_def const MART_CHERRYGROVE const MART_CHERRYGROVE_DEX diff --git a/constants/landmark_constants.asm b/constants/landmark_constants.asm index e53d44d04..0b29b8e03 100644 --- a/constants/landmark_constants.asm +++ b/constants/landmark_constants.asm @@ -1,4 +1,4 @@ -; Landmarks indexes (see data/landmarks.asm) +; Landmarks indexes (see data/maps/landmarks.asm) const_def ; Johto landmarks diff --git a/constants/map_constants.asm b/constants/map_constants.asm index be73faf9e..7d1a00677 100644 --- a/constants/map_constants.asm +++ b/constants/map_constants.asm @@ -127,7 +127,7 @@ SLIDING EQU 3 EMOTE_OBJECT EQU 7 -; SpawnPoints indexes (see data/spawn_points.asm) +; SpawnPoints indexes (see data/maps/spawn_points.asm) const_value = -1 const SPAWN_N_A const SPAWN_HOME diff --git a/constants/map_dimension_constants.asm b/constants/map_dimension_constants.asm index 7f668ba1c..714bbe02b 100644 --- a/constants/map_dimension_constants.asm +++ b/constants/map_dimension_constants.asm @@ -16,8 +16,8 @@ endm ; map group ids ; `newgroup` indexes are for: ; - MapGroupPointers (see maps/map_headers.asm) -; - OutdoorSprites (see data/outdoor_sprites.asm) -; - MapGroupRoofs (see data/mapgroup_roofs.asm) +; - OutdoorSprites (see data/maps/outdoor_sprites.asm) +; - MapGroupRoofs (see data/maps/mapgroup_roofs.asm) ; `mapgroup` indexes are for the sub-tables of MapGroupPointers (see maps/map_headers.asm) const_def diff --git a/constants/pokemon_constants.asm b/constants/pokemon_constants.asm index 14635d729..7af42d3d6 100644 --- a/constants/pokemon_constants.asm +++ b/constants/pokemon_constants.asm @@ -1,21 +1,21 @@ ; pokemon ids ; indexes for: -; - CryHeaders (see audio/cry_headers.asm) -; - BaseData (see data/base_stats.asm) -; - EggMovePointers (see data/egg_move_pointers.asm) -; - EvosAttacksPointers (see data/evos_attacks_pointers.asm) -; - PokemonNames (see data/pokemon_names.asm) -; - PokedexDataPointerTable (see data/pokedex/entry_pointers.asm) +; - CryHeaders (see data/pokemon/cry_headers.asm) +; - BaseData (see data/pokemon/base_stats.asm) +; - EggMovePointers (see data/pokemon/egg_move_pointers.asm) +; - EvosAttacksPointers (see data/pokemon/evos_attacks_pointers.asm) +; - PokemonNames (see data/pokemon/pokemon_names.asm) +; - PokedexDataPointerTable (see data/pokemon/dex_entry_pointers.asm) ; - AnimationPointers (see gfx/pics/anim_pointers.asm) ; - BitmasksPointers (see gfx/pics/bitmask_pointers.asm) ; - AnimationExtraPointers (see gfx/pics/extra_pointers.asm) ; - FramesPointers (see gfx/pics/frame_pointers.asm) ; - PokemonPalettes (see gfx/pics/palette_pointers.asm) ; - PicPointers (see gfx/pics/pic_pointers.asm) -; - AlphabeticalPokedexOrder (see data/pokedex/order_alpha.asm) -; - NewPokedexOrder (see data/pokedex/order_new.asm) -; - MonMenuIcons (see data/mon_menu_icons.asm) -; - Pokered_MonIndices (see engine/time_capsule/conversion.asm) +; - AlphabeticalPokedexOrder (see data/pokemon/dex_order_alpha.asm) +; - NewPokedexOrder (see data/pokemon/dex_order_new.asm) +; - MonMenuIcons (see data/pokemon/menu_icons.asm) +; - Pokered_MonIndices (see data/time_capsule/mon_order.asm) ; - SortedPokemon (see misc/fixed_words.asm) const_value set 1 const BULBASAUR ; 01 diff --git a/constants/pokemon_data_constants.asm b/constants/pokemon_data_constants.asm index 13387fb21..e3af35bbe 100644 --- a/constants/pokemon_data_constants.asm +++ b/constants/pokemon_data_constants.asm @@ -1,4 +1,4 @@ -; base data struct members (see data/base_stats/*.asm) +; base data struct members (see data/pokemon/base_stats/*.asm) BASE_DEX_NO EQUS "(BaseDexNo - CurBaseData)" BASE_STATS EQUS "(BaseStats - CurBaseData)" BASE_HP EQUS "(BaseHP - CurBaseData)" @@ -145,7 +145,7 @@ PARTY_LENGTH EQU 6 const ICON_BIGMON -; evolution types (used in data/evos_attacks.asm) +; evolution types (used in data/pokemon/evos_attacks.asm) const_value SET 1 const EVOLVE_LEVEL const EVOLVE_ITEM diff --git a/constants/trainer_constants.asm b/constants/trainer_constants.asm index f2b6a3ec8..d6e543611 100644 --- a/constants/trainer_constants.asm +++ b/constants/trainer_constants.asm @@ -5,12 +5,12 @@ ENDM ; trainer class ids ; `trainerclass` indexes are for: -; - TrainerClassAttributes (see trainers/attributes.asm) -; - TrainerClassDVs (see trainers/dvs.asm) -; - TrainerEncounterMusic (see trainers/encounter_music.asm) -; - TrainerGroups (see trainers/trainer_pointers.asm) -; - BTTrainerClassGenders (see misc/battle_tower_47.asm) -; trainer constants are Trainers indexes, for the sub-tables of TrainerGroups (see trainers/trainers.asm) +; - TrainerClassAttributes (see data/trainers/trainer_attributes.asm) +; - TrainerClassDVs (see data/trainers/trainer_dvs.asm) +; - TrainerEncounterMusic (see data/trainers/encounter_music.asm) +; - TrainerGroups (see data/trainers/party_pointers.asm) +; - BTTrainerClassGenders (see data/trainers/gendered_trainers.asm) +; trainer constants are Trainers indexes, for the sub-tables of TrainerGroups (see data/trainers/parties.asm) enum_start CHRIS EQU __enum__ trainerclass TRAINER_NONE ; 0 @@ -677,7 +677,7 @@ KRIS EQU __enum__ NUM_TRAINER_CLASSES EQU __enum__ -; TrainerClassAttributes fields (see trainers/attributes.asm) +; TrainerClassAttributes fields (see data/trainers/trainer_attributes.asm) const_def const TRNATTR_ITEM1 const TRNATTR_ITEM2 diff --git a/data/base_stats.asm b/data/base_stats.asm deleted file mode 100644 index 808a996a6..000000000 --- a/data/base_stats.asm +++ /dev/null @@ -1,252 +0,0 @@ -BaseData:: -INCLUDE "data/base_stats/bulbasaur.asm" -INCLUDE "data/base_stats/ivysaur.asm" -INCLUDE "data/base_stats/venusaur.asm" -INCLUDE "data/base_stats/charmander.asm" -INCLUDE "data/base_stats/charmeleon.asm" -INCLUDE "data/base_stats/charizard.asm" -INCLUDE "data/base_stats/squirtle.asm" -INCLUDE "data/base_stats/wartortle.asm" -INCLUDE "data/base_stats/blastoise.asm" -INCLUDE "data/base_stats/caterpie.asm" -INCLUDE "data/base_stats/metapod.asm" -INCLUDE "data/base_stats/butterfree.asm" -INCLUDE "data/base_stats/weedle.asm" -INCLUDE "data/base_stats/kakuna.asm" -INCLUDE "data/base_stats/beedrill.asm" -INCLUDE "data/base_stats/pidgey.asm" -INCLUDE "data/base_stats/pidgeotto.asm" -INCLUDE "data/base_stats/pidgeot.asm" -INCLUDE "data/base_stats/rattata.asm" -INCLUDE "data/base_stats/raticate.asm" -INCLUDE "data/base_stats/spearow.asm" -INCLUDE "data/base_stats/fearow.asm" -INCLUDE "data/base_stats/ekans.asm" -INCLUDE "data/base_stats/arbok.asm" -INCLUDE "data/base_stats/pikachu.asm" -INCLUDE "data/base_stats/raichu.asm" -INCLUDE "data/base_stats/sandshrew.asm" -INCLUDE "data/base_stats/sandslash.asm" -INCLUDE "data/base_stats/nidoran_f.asm" -INCLUDE "data/base_stats/nidorina.asm" -INCLUDE "data/base_stats/nidoqueen.asm" -INCLUDE "data/base_stats/nidoran_m.asm" -INCLUDE "data/base_stats/nidorino.asm" -INCLUDE "data/base_stats/nidoking.asm" -INCLUDE "data/base_stats/clefairy.asm" -INCLUDE "data/base_stats/clefable.asm" -INCLUDE "data/base_stats/vulpix.asm" -INCLUDE "data/base_stats/ninetales.asm" -INCLUDE "data/base_stats/jigglypuff.asm" -INCLUDE "data/base_stats/wigglytuff.asm" -INCLUDE "data/base_stats/zubat.asm" -INCLUDE "data/base_stats/golbat.asm" -INCLUDE "data/base_stats/oddish.asm" -INCLUDE "data/base_stats/gloom.asm" -INCLUDE "data/base_stats/vileplume.asm" -INCLUDE "data/base_stats/paras.asm" -INCLUDE "data/base_stats/parasect.asm" -INCLUDE "data/base_stats/venonat.asm" -INCLUDE "data/base_stats/venomoth.asm" -INCLUDE "data/base_stats/diglett.asm" -INCLUDE "data/base_stats/dugtrio.asm" -INCLUDE "data/base_stats/meowth.asm" -INCLUDE "data/base_stats/persian.asm" -INCLUDE "data/base_stats/psyduck.asm" -INCLUDE "data/base_stats/golduck.asm" -INCLUDE "data/base_stats/mankey.asm" -INCLUDE "data/base_stats/primeape.asm" -INCLUDE "data/base_stats/growlithe.asm" -INCLUDE "data/base_stats/arcanine.asm" -INCLUDE "data/base_stats/poliwag.asm" -INCLUDE "data/base_stats/poliwhirl.asm" -INCLUDE "data/base_stats/poliwrath.asm" -INCLUDE "data/base_stats/abra.asm" -INCLUDE "data/base_stats/kadabra.asm" -INCLUDE "data/base_stats/alakazam.asm" -INCLUDE "data/base_stats/machop.asm" -INCLUDE "data/base_stats/machoke.asm" -INCLUDE "data/base_stats/machamp.asm" -INCLUDE "data/base_stats/bellsprout.asm" -INCLUDE "data/base_stats/weepinbell.asm" -INCLUDE "data/base_stats/victreebel.asm" -INCLUDE "data/base_stats/tentacool.asm" -INCLUDE "data/base_stats/tentacruel.asm" -INCLUDE "data/base_stats/geodude.asm" -INCLUDE "data/base_stats/graveler.asm" -INCLUDE "data/base_stats/golem.asm" -INCLUDE "data/base_stats/ponyta.asm" -INCLUDE "data/base_stats/rapidash.asm" -INCLUDE "data/base_stats/slowpoke.asm" -INCLUDE "data/base_stats/slowbro.asm" -INCLUDE "data/base_stats/magnemite.asm" -INCLUDE "data/base_stats/magneton.asm" -INCLUDE "data/base_stats/farfetch_d.asm" -INCLUDE "data/base_stats/doduo.asm" -INCLUDE "data/base_stats/dodrio.asm" -INCLUDE "data/base_stats/seel.asm" -INCLUDE "data/base_stats/dewgong.asm" -INCLUDE "data/base_stats/grimer.asm" -INCLUDE "data/base_stats/muk.asm" -INCLUDE "data/base_stats/shellder.asm" -INCLUDE "data/base_stats/cloyster.asm" -INCLUDE "data/base_stats/gastly.asm" -INCLUDE "data/base_stats/haunter.asm" -INCLUDE "data/base_stats/gengar.asm" -INCLUDE "data/base_stats/onix.asm" -INCLUDE "data/base_stats/drowzee.asm" -INCLUDE "data/base_stats/hypno.asm" -INCLUDE "data/base_stats/krabby.asm" -INCLUDE "data/base_stats/kingler.asm" -INCLUDE "data/base_stats/voltorb.asm" -INCLUDE "data/base_stats/electrode.asm" -INCLUDE "data/base_stats/exeggcute.asm" -INCLUDE "data/base_stats/exeggutor.asm" -INCLUDE "data/base_stats/cubone.asm" -INCLUDE "data/base_stats/marowak.asm" -INCLUDE "data/base_stats/hitmonlee.asm" -INCLUDE "data/base_stats/hitmonchan.asm" -INCLUDE "data/base_stats/lickitung.asm" -INCLUDE "data/base_stats/koffing.asm" -INCLUDE "data/base_stats/weezing.asm" -INCLUDE "data/base_stats/rhyhorn.asm" -INCLUDE "data/base_stats/rhydon.asm" -INCLUDE "data/base_stats/chansey.asm" -INCLUDE "data/base_stats/tangela.asm" -INCLUDE "data/base_stats/kangaskhan.asm" -INCLUDE "data/base_stats/horsea.asm" -INCLUDE "data/base_stats/seadra.asm" -INCLUDE "data/base_stats/goldeen.asm" -INCLUDE "data/base_stats/seaking.asm" -INCLUDE "data/base_stats/staryu.asm" -INCLUDE "data/base_stats/starmie.asm" -INCLUDE "data/base_stats/mr__mime.asm" -INCLUDE "data/base_stats/scyther.asm" -INCLUDE "data/base_stats/jynx.asm" -INCLUDE "data/base_stats/electabuzz.asm" -INCLUDE "data/base_stats/magmar.asm" -INCLUDE "data/base_stats/pinsir.asm" -INCLUDE "data/base_stats/tauros.asm" -INCLUDE "data/base_stats/magikarp.asm" -INCLUDE "data/base_stats/gyarados.asm" -INCLUDE "data/base_stats/lapras.asm" -INCLUDE "data/base_stats/ditto.asm" -INCLUDE "data/base_stats/eevee.asm" -INCLUDE "data/base_stats/vaporeon.asm" -INCLUDE "data/base_stats/jolteon.asm" -INCLUDE "data/base_stats/flareon.asm" -INCLUDE "data/base_stats/porygon.asm" -INCLUDE "data/base_stats/omanyte.asm" -INCLUDE "data/base_stats/omastar.asm" -INCLUDE "data/base_stats/kabuto.asm" -INCLUDE "data/base_stats/kabutops.asm" -INCLUDE "data/base_stats/aerodactyl.asm" -INCLUDE "data/base_stats/snorlax.asm" -INCLUDE "data/base_stats/articuno.asm" -INCLUDE "data/base_stats/zapdos.asm" -INCLUDE "data/base_stats/moltres.asm" -INCLUDE "data/base_stats/dratini.asm" -INCLUDE "data/base_stats/dragonair.asm" -INCLUDE "data/base_stats/dragonite.asm" -INCLUDE "data/base_stats/mewtwo.asm" -INCLUDE "data/base_stats/mew.asm" -INCLUDE "data/base_stats/chikorita.asm" -INCLUDE "data/base_stats/bayleef.asm" -INCLUDE "data/base_stats/meganium.asm" -INCLUDE "data/base_stats/cyndaquil.asm" -INCLUDE "data/base_stats/quilava.asm" -INCLUDE "data/base_stats/typhlosion.asm" -INCLUDE "data/base_stats/totodile.asm" -INCLUDE "data/base_stats/croconaw.asm" -INCLUDE "data/base_stats/feraligatr.asm" -INCLUDE "data/base_stats/sentret.asm" -INCLUDE "data/base_stats/furret.asm" -INCLUDE "data/base_stats/hoothoot.asm" -INCLUDE "data/base_stats/noctowl.asm" -INCLUDE "data/base_stats/ledyba.asm" -INCLUDE "data/base_stats/ledian.asm" -INCLUDE "data/base_stats/spinarak.asm" -INCLUDE "data/base_stats/ariados.asm" -INCLUDE "data/base_stats/crobat.asm" -INCLUDE "data/base_stats/chinchou.asm" -INCLUDE "data/base_stats/lanturn.asm" -INCLUDE "data/base_stats/pichu.asm" -INCLUDE "data/base_stats/cleffa.asm" -INCLUDE "data/base_stats/igglybuff.asm" -INCLUDE "data/base_stats/togepi.asm" -INCLUDE "data/base_stats/togetic.asm" -INCLUDE "data/base_stats/natu.asm" -INCLUDE "data/base_stats/xatu.asm" -INCLUDE "data/base_stats/mareep.asm" -INCLUDE "data/base_stats/flaaffy.asm" -INCLUDE "data/base_stats/ampharos.asm" -INCLUDE "data/base_stats/bellossom.asm" -INCLUDE "data/base_stats/marill.asm" -INCLUDE "data/base_stats/azumarill.asm" -INCLUDE "data/base_stats/sudowoodo.asm" -INCLUDE "data/base_stats/politoed.asm" -INCLUDE "data/base_stats/hoppip.asm" -INCLUDE "data/base_stats/skiploom.asm" -INCLUDE "data/base_stats/jumpluff.asm" -INCLUDE "data/base_stats/aipom.asm" -INCLUDE "data/base_stats/sunkern.asm" -INCLUDE "data/base_stats/sunflora.asm" -INCLUDE "data/base_stats/yanma.asm" -INCLUDE "data/base_stats/wooper.asm" -INCLUDE "data/base_stats/quagsire.asm" -INCLUDE "data/base_stats/espeon.asm" -INCLUDE "data/base_stats/umbreon.asm" -INCLUDE "data/base_stats/murkrow.asm" -INCLUDE "data/base_stats/slowking.asm" -INCLUDE "data/base_stats/misdreavus.asm" -INCLUDE "data/base_stats/unown.asm" -INCLUDE "data/base_stats/wobbuffet.asm" -INCLUDE "data/base_stats/girafarig.asm" -INCLUDE "data/base_stats/pineco.asm" -INCLUDE "data/base_stats/forretress.asm" -INCLUDE "data/base_stats/dunsparce.asm" -INCLUDE "data/base_stats/gligar.asm" -INCLUDE "data/base_stats/steelix.asm" -INCLUDE "data/base_stats/snubbull.asm" -INCLUDE "data/base_stats/granbull.asm" -INCLUDE "data/base_stats/qwilfish.asm" -INCLUDE "data/base_stats/scizor.asm" -INCLUDE "data/base_stats/shuckle.asm" -INCLUDE "data/base_stats/heracross.asm" -INCLUDE "data/base_stats/sneasel.asm" -INCLUDE "data/base_stats/teddiursa.asm" -INCLUDE "data/base_stats/ursaring.asm" -INCLUDE "data/base_stats/slugma.asm" -INCLUDE "data/base_stats/magcargo.asm" -INCLUDE "data/base_stats/swinub.asm" -INCLUDE "data/base_stats/piloswine.asm" -INCLUDE "data/base_stats/corsola.asm" -INCLUDE "data/base_stats/remoraid.asm" -INCLUDE "data/base_stats/octillery.asm" -INCLUDE "data/base_stats/delibird.asm" -INCLUDE "data/base_stats/mantine.asm" -INCLUDE "data/base_stats/skarmory.asm" -INCLUDE "data/base_stats/houndour.asm" -INCLUDE "data/base_stats/houndoom.asm" -INCLUDE "data/base_stats/kingdra.asm" -INCLUDE "data/base_stats/phanpy.asm" -INCLUDE "data/base_stats/donphan.asm" -INCLUDE "data/base_stats/porygon2.asm" -INCLUDE "data/base_stats/stantler.asm" -INCLUDE "data/base_stats/smeargle.asm" -INCLUDE "data/base_stats/tyrogue.asm" -INCLUDE "data/base_stats/hitmontop.asm" -INCLUDE "data/base_stats/smoochum.asm" -INCLUDE "data/base_stats/elekid.asm" -INCLUDE "data/base_stats/magby.asm" -INCLUDE "data/base_stats/miltank.asm" -INCLUDE "data/base_stats/blissey.asm" -INCLUDE "data/base_stats/raikou.asm" -INCLUDE "data/base_stats/entei.asm" -INCLUDE "data/base_stats/suicune.asm" -INCLUDE "data/base_stats/larvitar.asm" -INCLUDE "data/base_stats/pupitar.asm" -INCLUDE "data/base_stats/tyranitar.asm" -INCLUDE "data/base_stats/lugia.asm" -INCLUDE "data/base_stats/ho_oh.asm" -INCLUDE "data/base_stats/celebi.asm" diff --git a/data/base_stats/abra.asm b/data/base_stats/abra.asm deleted file mode 100644 index a2520320a..000000000 --- a/data/base_stats/abra.asm +++ /dev/null @@ -1,22 +0,0 @@ - db ABRA ; 063 - - db 25, 20, 15, 90, 105, 55 - ; hp atk def spd sat sdf - - db PSYCHIC, PSYCHIC - db 200 ; catch rate - db 73 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F25 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/abra/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_SLOW ; growth rate - dn HUMANSHAPE, HUMANSHAPE ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, PSYCHIC, SHADOW_BALL, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, THUNDERPUNCH, DREAM_EATER, REST, ATTRACT, THIEF, FIRE_PUNCH, NIGHTMARE, FLASH - ; end diff --git a/data/base_stats/aerodactyl.asm b/data/base_stats/aerodactyl.asm deleted file mode 100644 index 897311399..000000000 --- a/data/base_stats/aerodactyl.asm +++ /dev/null @@ -1,22 +0,0 @@ - db AERODACTYL ; 142 - - db 80, 105, 65, 130, 60, 75 - ; hp atk def spd sat sdf - - db ROCK, FLYING - db 45 ; catch rate - db 202 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F12_5 ; gender - db 100 ; unknown - db 35 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/aerodactyl/front.dimensions" - db 0, 0, 0, 0 ; padding - db SLOW ; growth rate - dn AVIAN, AVIAN ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, EARTHQUAKE, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, SWIFT, DETECT, REST, ATTRACT, STEEL_WING, FLY, FLAMETHROWER - ; end diff --git a/data/base_stats/aipom.asm b/data/base_stats/aipom.asm deleted file mode 100644 index 839bff358..000000000 --- a/data/base_stats/aipom.asm +++ /dev/null @@ -1,22 +0,0 @@ - db AIPOM ; 190 - - db 55, 70, 55, 85, 40, 55 - ; hp atk def spd sat sdf - - db NORMAL, NORMAL - db 45 ; catch rate - db 94 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/aipom/front.dimensions" - db 0, 0, 0, 0 ; padding - db FAST ; growth rate - dn FIELD, FIELD ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, THUNDERPUNCH, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, FURY_CUTTER, NIGHTMARE, CUT, STRENGTH, THUNDERBOLT - ; end diff --git a/data/base_stats/alakazam.asm b/data/base_stats/alakazam.asm deleted file mode 100644 index d0647e268..000000000 --- a/data/base_stats/alakazam.asm +++ /dev/null @@ -1,22 +0,0 @@ - db ALAKAZAM ; 065 - - db 55, 50, 45, 120, 135, 85 - ; hp atk def spd sat sdf - - db PSYCHIC, PSYCHIC - db 50 ; catch rate - db 186 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F25 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/alakazam/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_SLOW ; growth rate - dn HUMANSHAPE, HUMANSHAPE ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, DIG, PSYCHIC, SHADOW_BALL, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, THUNDERPUNCH, DREAM_EATER, REST, ATTRACT, THIEF, FIRE_PUNCH, NIGHTMARE, FLASH - ; end diff --git a/data/base_stats/ampharos.asm b/data/base_stats/ampharos.asm deleted file mode 100644 index ec361a08d..000000000 --- a/data/base_stats/ampharos.asm +++ /dev/null @@ -1,22 +0,0 @@ - db AMPHAROS ; 181 - - db 90, 75, 75, 55, 115, 90 - ; hp atk def spd sat sdf - - db ELECTRIC, ELECTRIC - db 45 ; catch rate - db 194 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/ampharos/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_SLOW ; growth rate - dn MONSTER, FIELD ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, THUNDERPUNCH, REST, ATTRACT, FIRE_PUNCH, STRENGTH, FLASH, THUNDERBOLT - ; end diff --git a/data/base_stats/arbok.asm b/data/base_stats/arbok.asm deleted file mode 100644 index ed84e5dc8..000000000 --- a/data/base_stats/arbok.asm +++ /dev/null @@ -1,22 +0,0 @@ - db ARBOK ; 024 - - db 60, 85, 69, 80, 65, 79 - ; hp atk def spd sat sdf - - db POISON, POISON - db 90 ; catch rate - db 147 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/arbok/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn FIELD, REPTILE ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, THIEF, STRENGTH - ; end diff --git a/data/base_stats/arcanine.asm b/data/base_stats/arcanine.asm deleted file mode 100644 index d543bb8da..000000000 --- a/data/base_stats/arcanine.asm +++ /dev/null @@ -1,22 +0,0 @@ - db ARCANINE ; 059 - - db 90, 110, 80, 95, 100, 80 - ; hp atk def spd sat sdf - - db FIRE, FIRE - db 75 ; catch rate - db 213 ; base exp - db BURNT_BERRY ; item 1 - db BURNT_BERRY ; item 2 - db GENDER_F25 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/arcanine/front.dimensions" - db 0, 0, 0, 0 ; padding - db SLOW ; growth rate - dn FIELD, FIELD ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, RETURN, DIG, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, REST, ATTRACT, FLAMETHROWER - ; end diff --git a/data/base_stats/ariados.asm b/data/base_stats/ariados.asm deleted file mode 100644 index 8a436f624..000000000 --- a/data/base_stats/ariados.asm +++ /dev/null @@ -1,22 +0,0 @@ - db ARIADOS ; 168 - - db 70, 90, 70, 40, 60, 60 - ; hp atk def spd sat sdf - - db BUG, POISON - db 90 ; catch rate - db 134 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 15 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/ariados/front.dimensions" - db 0, 0, 0, 0 ; padding - db FAST ; growth rate - dn INSECT, INSECT ; egg groups - - ; tmhm - tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DIG, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, THIEF, FLASH - ; end diff --git a/data/base_stats/articuno.asm b/data/base_stats/articuno.asm deleted file mode 100644 index ddf85599b..000000000 --- a/data/base_stats/articuno.asm +++ /dev/null @@ -1,22 +0,0 @@ - db ARTICUNO ; 144 - - db 90, 85, 100, 85, 95, 125 - ; hp atk def spd sat sdf - - db ICE, FLYING - db 3 ; catch rate - db 215 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDERLESS ; gender - db 100 ; unknown - db 80 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/articuno/front.dimensions" - db 0, 0, 0, 0 ; padding - db SLOW ; growth rate - dn NO_EGGS, NO_EGGS ; egg groups - - ; tmhm - tmhm CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, SWIFT, DETECT, REST, STEEL_WING, FLY, ICE_BEAM - ; end diff --git a/data/base_stats/azumarill.asm b/data/base_stats/azumarill.asm deleted file mode 100644 index c4286ad5d..000000000 --- a/data/base_stats/azumarill.asm +++ /dev/null @@ -1,22 +0,0 @@ - db AZUMARILL ; 184 - - db 100, 50, 80, 50, 50, 80 - ; hp atk def spd sat sdf - - db WATER, WATER - db 75 ; catch rate - db 153 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/azumarill/front.dimensions" - db 0, 0, 0, 0 ; padding - db FAST ; growth rate - dn AMPHIBIAN, FAIRY ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, REST, ATTRACT, SURF, STRENGTH, WHIRLPOOL, WATERFALL, ICE_BEAM - ; end diff --git a/data/base_stats/bayleef.asm b/data/base_stats/bayleef.asm deleted file mode 100644 index 82caf4ae7..000000000 --- a/data/base_stats/bayleef.asm +++ /dev/null @@ -1,22 +0,0 @@ - db BAYLEEF ; 153 - - db 60, 62, 80, 60, 63, 80 - ; hp atk def spd sat sdf - - db GRASS, GRASS - db 45 ; catch rate - db 141 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F12_5 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/bayleef/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_SLOW ; growth rate - dn MONSTER, PLANT ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DETECT, REST, ATTRACT, FURY_CUTTER, CUT, STRENGTH, FLASH - ; end diff --git a/data/base_stats/beedrill.asm b/data/base_stats/beedrill.asm deleted file mode 100644 index c76accff8..000000000 --- a/data/base_stats/beedrill.asm +++ /dev/null @@ -1,22 +0,0 @@ - db BEEDRILL ; 015 - - db 65, 80, 40, 75, 45, 80 - ; hp atk def spd sat sdf - - db BUG, POISON - db 45 ; catch rate - db 159 ; base exp - db NO_ITEM ; item 1 - db POISON_BARB ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 15 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/beedrill/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn INSECT, INSECT ; egg groups - - ; tmhm - tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, SWIFT, REST, ATTRACT, FURY_CUTTER, CUT - ; end diff --git a/data/base_stats/bellossom.asm b/data/base_stats/bellossom.asm deleted file mode 100644 index 9131b2b38..000000000 --- a/data/base_stats/bellossom.asm +++ /dev/null @@ -1,22 +0,0 @@ - db BELLOSSOM ; 182 - - db 75, 80, 85, 50, 90, 100 - ; hp atk def spd sat sdf - - db GRASS, GRASS - db 45 ; catch rate - db 184 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/bellossom/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_SLOW ; growth rate - dn PLANT, PLANT ; egg groups - - ; tmhm - tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, REST, ATTRACT, CUT, FLASH - ; end diff --git a/data/base_stats/bellsprout.asm b/data/base_stats/bellsprout.asm deleted file mode 100644 index 94a8ded6b..000000000 --- a/data/base_stats/bellsprout.asm +++ /dev/null @@ -1,22 +0,0 @@ - db BELLSPROUT ; 069 - - db 50, 75, 35, 40, 70, 30 - ; hp atk def spd sat sdf - - db GRASS, POISON - db 255 ; catch rate - db 84 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/bellsprout/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_SLOW ; growth rate - dn PLANT, PLANT ; egg groups - - ; tmhm - tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, CUT, FLASH - ; end diff --git a/data/base_stats/blastoise.asm b/data/base_stats/blastoise.asm deleted file mode 100644 index 7bb267d72..000000000 --- a/data/base_stats/blastoise.asm +++ /dev/null @@ -1,22 +0,0 @@ - db BLASTOISE ; 009 - - db 79, 83, 100, 78, 85, 105 - ; hp atk def spd sat sdf - - db WATER, WATER - db 45 ; catch rate - db 210 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F12_5 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/blastoise/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_SLOW ; growth rate - dn MONSTER, AMPHIBIAN ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, SURF, STRENGTH, WHIRLPOOL, WATERFALL, ICE_BEAM - ; end diff --git a/data/base_stats/blissey.asm b/data/base_stats/blissey.asm deleted file mode 100644 index dc1c9a02b..000000000 --- a/data/base_stats/blissey.asm +++ /dev/null @@ -1,22 +0,0 @@ - db BLISSEY ; 242 - - db 255, 10, 10, 55, 75, 135 - ; hp atk def spd sat sdf - - db NORMAL, NORMAL - db 30 ; catch rate - db 255 ; base exp - db NO_ITEM ; item 1 - db LUCKY_EGG ; item 2 - db GENDER_F100 ; gender - db 100 ; unknown - db 40 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/blissey/front.dimensions" - db 0, 0, 0, 0 ; padding - db FAST ; growth rate - dn FAIRY, FAIRY ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, DEFENSE_CURL, DREAM_EATER, REST, ATTRACT, STRENGTH, FLASH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM - ; end diff --git a/data/base_stats/bulbasaur.asm b/data/base_stats/bulbasaur.asm deleted file mode 100644 index bc843bcd3..000000000 --- a/data/base_stats/bulbasaur.asm +++ /dev/null @@ -1,22 +0,0 @@ - db BULBASAUR ; 001 - - db 45, 49, 49, 45, 65, 65 - ; hp atk def spd sat sdf - - db GRASS, POISON - db 45 ; catch rate - db 64 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F12_5 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/bulbasaur/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_SLOW ; growth rate - dn MONSTER, PLANT ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, FURY_CUTTER, CUT, FLASH - ; end diff --git a/data/base_stats/butterfree.asm b/data/base_stats/butterfree.asm deleted file mode 100644 index 24b142e60..000000000 --- a/data/base_stats/butterfree.asm +++ /dev/null @@ -1,22 +0,0 @@ - db BUTTERFREE ; 012 - - db 60, 45, 50, 70, 80, 80 - ; hp atk def spd sat sdf - - db BUG, FLYING - db 45 ; catch rate - db 160 ; base exp - db NO_ITEM ; item 1 - db SILVERPOWDER ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 15 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/butterfree/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn INSECT, INSECT ; egg groups - - ; tmhm - tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, NIGHTMARE, FLASH - ; end diff --git a/data/base_stats/caterpie.asm b/data/base_stats/caterpie.asm deleted file mode 100644 index cdac5bf26..000000000 --- a/data/base_stats/caterpie.asm +++ /dev/null @@ -1,22 +0,0 @@ - db CATERPIE ; 010 - - db 45, 30, 35, 45, 20, 20 - ; hp atk def spd sat sdf - - db BUG, BUG - db 255 ; catch rate - db 53 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 15 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/caterpie/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn INSECT, INSECT ; egg groups - - ; tmhm - tmhm - ; end diff --git a/data/base_stats/celebi.asm b/data/base_stats/celebi.asm deleted file mode 100644 index c955ae2a1..000000000 --- a/data/base_stats/celebi.asm +++ /dev/null @@ -1,22 +0,0 @@ - db CELEBI ; 251 - - db 100, 100, 100, 100, 100, 100 - ; hp atk def spd sat sdf - - db PSYCHIC, GRASS - db 45 ; catch rate - db 64 ; base exp - db NO_ITEM ; item 1 - db MIRACLEBERRY ; item 2 - db GENDERLESS ; gender - db 100 ; unknown - db 120 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/celebi/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_SLOW ; growth rate - dn NO_EGGS, NO_EGGS ; egg groups - - ; tmhm - tmhm CURSE, TOXIC, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, SWIFT, DEFENSE_CURL, DREAM_EATER, DETECT, REST, NIGHTMARE, FLASH - ; end diff --git a/data/base_stats/chansey.asm b/data/base_stats/chansey.asm deleted file mode 100644 index 1ae3af6fe..000000000 --- a/data/base_stats/chansey.asm +++ /dev/null @@ -1,22 +0,0 @@ - db CHANSEY ; 113 - - db 250, 05, 05, 50, 35, 105 - ; hp atk def spd sat sdf - - db NORMAL, NORMAL - db 30 ; catch rate - db 255 ; base exp - db NO_ITEM ; item 1 - db LUCKY_EGG ; item 2 - db GENDER_F100 ; gender - db 100 ; unknown - db 40 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/chansey/front.dimensions" - db 0, 0, 0, 0 ; padding - db FAST ; growth rate - dn FAIRY, FAIRY ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, DEFENSE_CURL, DREAM_EATER, REST, ATTRACT, STRENGTH, FLASH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM - ; end diff --git a/data/base_stats/charizard.asm b/data/base_stats/charizard.asm deleted file mode 100644 index 8d32f3f91..000000000 --- a/data/base_stats/charizard.asm +++ /dev/null @@ -1,22 +0,0 @@ - db CHARIZARD ; 006 - - db 78, 84, 78, 100, 109, 85 - ; hp atk def spd sat sdf - - db FIRE, FLYING - db 45 ; catch rate - db 209 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F12_5 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/charizard/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_SLOW ; growth rate - dn MONSTER, REPTILE ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, SWIFT, DEFENSE_CURL, REST, ATTRACT, STEEL_WING, FIRE_PUNCH, FURY_CUTTER, CUT, FLY, STRENGTH, FLAMETHROWER - ; end diff --git a/data/base_stats/charmander.asm b/data/base_stats/charmander.asm deleted file mode 100644 index 98383865c..000000000 --- a/data/base_stats/charmander.asm +++ /dev/null @@ -1,22 +0,0 @@ - db CHARMANDER ; 004 - - db 39, 52, 43, 65, 60, 50 - ; hp atk def spd sat sdf - - db FIRE, FIRE - db 45 ; catch rate - db 65 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F12_5 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/charmander/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_SLOW ; growth rate - dn MONSTER, REPTILE ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DEFENSE_CURL, REST, ATTRACT, FIRE_PUNCH, FURY_CUTTER, CUT, STRENGTH, FLAMETHROWER - ; end diff --git a/data/base_stats/charmeleon.asm b/data/base_stats/charmeleon.asm deleted file mode 100644 index 9f7f32b51..000000000 --- a/data/base_stats/charmeleon.asm +++ /dev/null @@ -1,22 +0,0 @@ - db CHARMELEON ; 005 - - db 58, 64, 58, 80, 80, 65 - ; hp atk def spd sat sdf - - db FIRE, FIRE - db 45 ; catch rate - db 142 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F12_5 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/charmeleon/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_SLOW ; growth rate - dn MONSTER, REPTILE ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DEFENSE_CURL, REST, ATTRACT, FIRE_PUNCH, FURY_CUTTER, CUT, STRENGTH, FLAMETHROWER - ; end diff --git a/data/base_stats/chikorita.asm b/data/base_stats/chikorita.asm deleted file mode 100644 index fdf120402..000000000 --- a/data/base_stats/chikorita.asm +++ /dev/null @@ -1,22 +0,0 @@ - db CHIKORITA ; 152 - - db 45, 49, 65, 45, 49, 65 - ; hp atk def spd sat sdf - - db GRASS, GRASS - db 45 ; catch rate - db 64 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F12_5 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/chikorita/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_SLOW ; growth rate - dn MONSTER, PLANT ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DETECT, REST, ATTRACT, CUT, FLASH - ; end diff --git a/data/base_stats/chinchou.asm b/data/base_stats/chinchou.asm deleted file mode 100644 index caa5d06e1..000000000 --- a/data/base_stats/chinchou.asm +++ /dev/null @@ -1,22 +0,0 @@ - db CHINCHOU ; 170 - - db 75, 38, 38, 67, 56, 56 - ; hp atk def spd sat sdf - - db WATER, ELECTRIC - db 190 ; catch rate - db 90 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/chinchou/front.dimensions" - db 0, 0, 0, 0 ; padding - db SLOW ; growth rate - dn FISH, FISH ; egg groups - - ; tmhm - tmhm CURSE, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, REST, ATTRACT, SURF, FLASH, WHIRLPOOL, WATERFALL, THUNDERBOLT, ICE_BEAM - ; end diff --git a/data/base_stats/clefable.asm b/data/base_stats/clefable.asm deleted file mode 100644 index e5978e387..000000000 --- a/data/base_stats/clefable.asm +++ /dev/null @@ -1,22 +0,0 @@ - db CLEFABLE ; 036 - - db 95, 70, 73, 60, 85, 90 - ; hp atk def spd sat sdf - - db NORMAL, NORMAL - db 25 ; catch rate - db 129 ; base exp - db MYSTERYBERRY ; item 1 - db MOON_STONE ; item 2 - db GENDER_F75 ; gender - db 100 ; unknown - db 10 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/clefable/front.dimensions" - db 0, 0, 0, 0 ; padding - db FAST ; growth rate - dn FAIRY, FAIRY ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, FIRE_BLAST, DEFENSE_CURL, THUNDERPUNCH, DREAM_EATER, DETECT, REST, ATTRACT, FIRE_PUNCH, NIGHTMARE, STRENGTH, FLASH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM - ; end diff --git a/data/base_stats/clefairy.asm b/data/base_stats/clefairy.asm deleted file mode 100644 index 54089b5cc..000000000 --- a/data/base_stats/clefairy.asm +++ /dev/null @@ -1,22 +0,0 @@ - db CLEFAIRY ; 035 - - db 70, 45, 48, 35, 60, 65 - ; hp atk def spd sat sdf - - db NORMAL, NORMAL - db 150 ; catch rate - db 68 ; base exp - db MYSTERYBERRY ; item 1 - db MOON_STONE ; item 2 - db GENDER_F75 ; gender - db 100 ; unknown - db 10 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/clefairy/front.dimensions" - db 0, 0, 0, 0 ; padding - db FAST ; growth rate - dn FAIRY, FAIRY ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, FIRE_BLAST, DEFENSE_CURL, THUNDERPUNCH, DREAM_EATER, DETECT, REST, ATTRACT, FIRE_PUNCH, NIGHTMARE, STRENGTH, FLASH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM - ; end diff --git a/data/base_stats/cleffa.asm b/data/base_stats/cleffa.asm deleted file mode 100644 index 98e77e968..000000000 --- a/data/base_stats/cleffa.asm +++ /dev/null @@ -1,22 +0,0 @@ - db CLEFFA ; 173 - - db 50, 25, 28, 15, 45, 55 - ; hp atk def spd sat sdf - - db NORMAL, NORMAL - db 150 ; catch rate - db 37 ; base exp - db MYSTERYBERRY ; item 1 - db MOON_STONE ; item 2 - db GENDER_F75 ; gender - db 100 ; unknown - db 10 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/cleffa/front.dimensions" - db 0, 0, 0, 0 ; padding - db FAST ; growth rate - dn NO_EGGS, NO_EGGS ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, DEFENSE_CURL, DREAM_EATER, DETECT, REST, ATTRACT, NIGHTMARE, FLASH, FLAMETHROWER - ; end diff --git a/data/base_stats/cloyster.asm b/data/base_stats/cloyster.asm deleted file mode 100644 index 4119dbec2..000000000 --- a/data/base_stats/cloyster.asm +++ /dev/null @@ -1,22 +0,0 @@ - db CLOYSTER ; 091 - - db 50, 95, 180, 70, 85, 45 - ; hp atk def spd sat sdf - - db WATER, ICE - db 60 ; catch rate - db 203 ; base exp - db PEARL ; item 1 - db BIG_PEARL ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/cloyster/front.dimensions" - db 0, 0, 0, 0 ; padding - db SLOW ; growth rate - dn INVERTEBRATE, INVERTEBRATE ; egg groups - - ; tmhm - tmhm CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, SURF, WHIRLPOOL, ICE_BEAM - ; end diff --git a/data/base_stats/corsola.asm b/data/base_stats/corsola.asm deleted file mode 100644 index dddf30644..000000000 --- a/data/base_stats/corsola.asm +++ /dev/null @@ -1,22 +0,0 @@ - db CORSOLA ; 222 - - db 55, 55, 85, 35, 65, 85 - ; hp atk def spd sat sdf - - db WATER, ROCK - db 60 ; catch rate - db 113 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F75 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/corsola/front.dimensions" - db 0, 0, 0, 0 ; padding - db FAST ; growth rate - dn AMPHIBIAN, INVERTEBRATE ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, PSYCHIC, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, DEFENSE_CURL, REST, ATTRACT, SURF, STRENGTH, WHIRLPOOL, ICE_BEAM - ; end diff --git a/data/base_stats/crobat.asm b/data/base_stats/crobat.asm deleted file mode 100644 index 71c012079..000000000 --- a/data/base_stats/crobat.asm +++ /dev/null @@ -1,22 +0,0 @@ - db CROBAT ; 169 - - db 85, 90, 80, 130, 70, 80 - ; hp atk def spd sat sdf - - db POISON, FLYING - db 90 ; catch rate - db 204 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 15 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/crobat/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn AVIAN, AVIAN ; egg groups - - ; tmhm - tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING, FLY - ; end diff --git a/data/base_stats/croconaw.asm b/data/base_stats/croconaw.asm deleted file mode 100644 index 8dbd57632..000000000 --- a/data/base_stats/croconaw.asm +++ /dev/null @@ -1,22 +0,0 @@ - db CROCONAW ; 159 - - db 65, 80, 80, 58, 59, 63 - ; hp atk def spd sat sdf - - db WATER, WATER - db 45 ; catch rate - db 143 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F12_5 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/croconaw/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_SLOW ; growth rate - dn MONSTER, AMPHIBIAN ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, DETECT, REST, ATTRACT, FURY_CUTTER, CUT, SURF, STRENGTH, WHIRLPOOL, ICE_BEAM - ; end diff --git a/data/base_stats/cubone.asm b/data/base_stats/cubone.asm deleted file mode 100644 index dc15c8773..000000000 --- a/data/base_stats/cubone.asm +++ /dev/null @@ -1,22 +0,0 @@ - db CUBONE ; 104 - - db 50, 50, 95, 35, 40, 50 - ; hp atk def spd sat sdf - - db GROUND, GROUND - db 190 ; catch rate - db 87 ; base exp - db NO_ITEM ; item 1 - db THICK_CLUB ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/cubone/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn MONSTER, MONSTER ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, ICY_WIND, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH, FLAMETHROWER, ICE_BEAM - ; end diff --git a/data/base_stats/cyndaquil.asm b/data/base_stats/cyndaquil.asm deleted file mode 100644 index 137e8c78d..000000000 --- a/data/base_stats/cyndaquil.asm +++ /dev/null @@ -1,22 +0,0 @@ - db CYNDAQUIL ; 155 - - db 39, 52, 43, 65, 60, 50 - ; hp atk def spd sat sdf - - db FIRE, FIRE - db 45 ; catch rate - db 65 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F12_5 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/cyndaquil/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_SLOW ; growth rate - dn FIELD, FIELD ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DEFENSE_CURL, DETECT, REST, ATTRACT, CUT, FLAMETHROWER - ; end diff --git a/data/base_stats/delibird.asm b/data/base_stats/delibird.asm deleted file mode 100644 index 8ddb23e7c..000000000 --- a/data/base_stats/delibird.asm +++ /dev/null @@ -1,22 +0,0 @@ - db DELIBIRD ; 225 - - db 45, 55, 45, 75, 65, 45 - ; hp atk def spd sat sdf - - db ICE, FLYING - db 45 ; catch rate - db 183 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/delibird/front.dimensions" - db 0, 0, 0, 0 ; padding - db FAST ; growth rate - dn AMPHIBIAN, FIELD ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, FLY, ICE_BEAM - ; end diff --git a/data/base_stats/dewgong.asm b/data/base_stats/dewgong.asm deleted file mode 100644 index 951a1e87e..000000000 --- a/data/base_stats/dewgong.asm +++ /dev/null @@ -1,22 +0,0 @@ - db DEWGONG ; 087 - - db 90, 70, 80, 70, 70, 95 - ; hp atk def spd sat sdf - - db WATER, ICE - db 75 ; catch rate - db 176 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/dewgong/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn AMPHIBIAN, FIELD ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, REST, ATTRACT, SURF, WHIRLPOOL, WATERFALL, ICE_BEAM - ; end diff --git a/data/base_stats/diglett.asm b/data/base_stats/diglett.asm deleted file mode 100644 index b93947622..000000000 --- a/data/base_stats/diglett.asm +++ /dev/null @@ -1,22 +0,0 @@ - db DIGLETT ; 050 - - db 10, 55, 25, 95, 35, 45 - ; hp atk def spd sat sdf - - db GROUND, GROUND - db 255 ; catch rate - db 81 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/diglett/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn FIELD, FIELD ; egg groups - - ; tmhm - tmhm CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, THIEF, CUT - ; end diff --git a/data/base_stats/ditto.asm b/data/base_stats/ditto.asm deleted file mode 100644 index b88780bed..000000000 --- a/data/base_stats/ditto.asm +++ /dev/null @@ -1,22 +0,0 @@ - db DITTO ; 132 - - db 48, 48, 48, 48, 48, 48 - ; hp atk def spd sat sdf - - db NORMAL, NORMAL - db 35 ; catch rate - db 61 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDERLESS ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/ditto/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn LADIES_MAN, LADIES_MAN ; egg groups - - ; tmhm - tmhm - ; end diff --git a/data/base_stats/dodrio.asm b/data/base_stats/dodrio.asm deleted file mode 100644 index 6f8463663..000000000 --- a/data/base_stats/dodrio.asm +++ /dev/null @@ -1,22 +0,0 @@ - db DODRIO ; 085 - - db 60, 110, 70, 100, 60, 60 - ; hp atk def spd sat sdf - - db NORMAL, FLYING - db 45 ; catch rate - db 158 ; base exp - db NO_ITEM ; item 1 - db SHARP_BEAK ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/dodrio/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn AVIAN, AVIAN ; egg groups - - ; tmhm - tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, THIEF, STEEL_WING, FLY - ; end diff --git a/data/base_stats/doduo.asm b/data/base_stats/doduo.asm deleted file mode 100644 index 1ef229455..000000000 --- a/data/base_stats/doduo.asm +++ /dev/null @@ -1,22 +0,0 @@ - db DODUO ; 084 - - db 35, 85, 45, 75, 35, 35 - ; hp atk def spd sat sdf - - db NORMAL, FLYING - db 190 ; catch rate - db 96 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/doduo/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn AVIAN, AVIAN ; egg groups - - ; tmhm - tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, THIEF, STEEL_WING, FLY - ; end diff --git a/data/base_stats/donphan.asm b/data/base_stats/donphan.asm deleted file mode 100644 index ee0418de0..000000000 --- a/data/base_stats/donphan.asm +++ /dev/null @@ -1,22 +0,0 @@ - db DONPHAN ; 232 - - db 90, 120, 120, 50, 60, 60 - ; hp atk def spd sat sdf - - db GROUND, GROUND - db 60 ; catch rate - db 189 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/donphan/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn FIELD, FIELD ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, DEFENSE_CURL, REST, ATTRACT, STRENGTH - ; end diff --git a/data/base_stats/dragonair.asm b/data/base_stats/dragonair.asm deleted file mode 100644 index e0ca4b8e9..000000000 --- a/data/base_stats/dragonair.asm +++ /dev/null @@ -1,22 +0,0 @@ - db DRAGONAIR ; 148 - - db 61, 84, 65, 70, 70, 70 - ; hp atk def spd sat sdf - - db DRAGON, DRAGON - db 45 ; catch rate - db 144 ; base exp - db NO_ITEM ; item 1 - db DRAGON_SCALE ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 40 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/dragonair/front.dimensions" - db 0, 0, 0, 0 ; padding - db SLOW ; growth rate - dn AMPHIBIAN, REPTILE ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DETECT, REST, ATTRACT, SURF, WATERFALL, FLAMETHROWER, THUNDERBOLT, ICE_BEAM - ; end diff --git a/data/base_stats/dragonite.asm b/data/base_stats/dragonite.asm deleted file mode 100644 index 8ca777e96..000000000 --- a/data/base_stats/dragonite.asm +++ /dev/null @@ -1,22 +0,0 @@ - db DRAGONITE ; 149 - - db 91, 134, 95, 80, 100, 100 - ; hp atk def spd sat sdf - - db DRAGON, FLYING - db 45 ; catch rate - db 218 ; base exp - db NO_ITEM ; item 1 - db DRAGON_SCALE ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 40 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/dragonite/front.dimensions" - db 0, 0, 0, 0 ; padding - db SLOW ; growth rate - dn AMPHIBIAN, REPTILE ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, SWIFT, THUNDERPUNCH, DETECT, REST, ATTRACT, STEEL_WING, FIRE_PUNCH, FURY_CUTTER, FLY, SURF, STRENGTH, WHIRLPOOL, WATERFALL, FLAMETHROWER, THUNDERBOLT, ICE_BEAM - ; end diff --git a/data/base_stats/dratini.asm b/data/base_stats/dratini.asm deleted file mode 100644 index c1c173c86..000000000 --- a/data/base_stats/dratini.asm +++ /dev/null @@ -1,22 +0,0 @@ - db DRATINI ; 147 - - db 41, 64, 45, 50, 50, 50 - ; hp atk def spd sat sdf - - db DRAGON, DRAGON - db 45 ; catch rate - db 67 ; base exp - db NO_ITEM ; item 1 - db DRAGON_SCALE ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 40 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/dratini/front.dimensions" - db 0, 0, 0, 0 ; padding - db SLOW ; growth rate - dn AMPHIBIAN, REPTILE ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DETECT, REST, ATTRACT, SURF, WATERFALL, FLAMETHROWER, THUNDERBOLT, ICE_BEAM - ; end diff --git a/data/base_stats/drowzee.asm b/data/base_stats/drowzee.asm deleted file mode 100644 index 5aa756351..000000000 --- a/data/base_stats/drowzee.asm +++ /dev/null @@ -1,22 +0,0 @@ - db DROWZEE ; 096 - - db 60, 48, 45, 42, 43, 90 - ; hp atk def spd sat sdf - - db PSYCHIC, PSYCHIC - db 190 ; catch rate - db 102 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/drowzee/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn HUMANSHAPE, HUMANSHAPE ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, PSYCHIC, SHADOW_BALL, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, THUNDERPUNCH, DREAM_EATER, REST, ATTRACT, FIRE_PUNCH, NIGHTMARE, FLASH - ; end diff --git a/data/base_stats/dugtrio.asm b/data/base_stats/dugtrio.asm deleted file mode 100644 index e245f8320..000000000 --- a/data/base_stats/dugtrio.asm +++ /dev/null @@ -1,22 +0,0 @@ - db DUGTRIO ; 051 - - db 35, 80, 50, 120, 50, 70 - ; hp atk def spd sat sdf - - db GROUND, GROUND - db 50 ; catch rate - db 153 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/dugtrio/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn FIELD, FIELD ; egg groups - - ; tmhm - tmhm CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, THIEF, CUT - ; end diff --git a/data/base_stats/dunsparce.asm b/data/base_stats/dunsparce.asm deleted file mode 100644 index 5cbdb5807..000000000 --- a/data/base_stats/dunsparce.asm +++ /dev/null @@ -1,22 +0,0 @@ - db DUNSPARCE ; 206 - - db 100, 70, 70, 45, 65, 65 - ; hp atk def spd sat sdf - - db NORMAL, NORMAL - db 190 ; catch rate - db 75 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/dunsparce/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn FIELD, FIELD ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, THUNDER, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, DREAM_EATER, REST, ATTRACT, THIEF, NIGHTMARE, STRENGTH, FLAMETHROWER, THUNDERBOLT - ; end diff --git a/data/base_stats/eevee.asm b/data/base_stats/eevee.asm deleted file mode 100644 index 79bbafbcf..000000000 --- a/data/base_stats/eevee.asm +++ /dev/null @@ -1,22 +0,0 @@ - db EEVEE ; 133 - - db 55, 55, 50, 55, 45, 65 - ; hp atk def spd sat sdf - - db NORMAL, NORMAL - db 45 ; catch rate - db 92 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F12_5 ; gender - db 100 ; unknown - db 35 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/eevee/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn FIELD, FIELD ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT - ; end diff --git a/data/base_stats/ekans.asm b/data/base_stats/ekans.asm deleted file mode 100644 index 0aa84fde2..000000000 --- a/data/base_stats/ekans.asm +++ /dev/null @@ -1,22 +0,0 @@ - db EKANS ; 023 - - db 35, 60, 44, 55, 40, 54 - ; hp atk def spd sat sdf - - db POISON, POISON - db 255 ; catch rate - db 62 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/ekans/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn FIELD, REPTILE ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, THIEF, STRENGTH - ; end diff --git a/data/base_stats/electabuzz.asm b/data/base_stats/electabuzz.asm deleted file mode 100644 index 29cdf9018..000000000 --- a/data/base_stats/electabuzz.asm +++ /dev/null @@ -1,22 +0,0 @@ - db ELECTABUZZ ; 125 - - db 65, 83, 57, 105, 95, 85 - ; hp atk def spd sat sdf - - db ELECTRIC, ELECTRIC - db 45 ; catch rate - db 156 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F25 ; gender - db 100 ; unknown - db 25 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/electabuzz/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn HUMANSHAPE, HUMANSHAPE ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, PSYCHIC, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH, FLASH, THUNDERBOLT - ; end diff --git a/data/base_stats/electrode.asm b/data/base_stats/electrode.asm deleted file mode 100644 index 44d92de66..000000000 --- a/data/base_stats/electrode.asm +++ /dev/null @@ -1,22 +0,0 @@ - db ELECTRODE ; 101 - - db 60, 50, 70, 140, 80, 80 - ; hp atk def spd sat sdf - - db ELECTRIC, ELECTRIC - db 60 ; catch rate - db 150 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDERLESS ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/electrode/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn INANIMATE, INANIMATE ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, FLASH, THUNDERBOLT - ; end diff --git a/data/base_stats/elekid.asm b/data/base_stats/elekid.asm deleted file mode 100644 index a1f871586..000000000 --- a/data/base_stats/elekid.asm +++ /dev/null @@ -1,22 +0,0 @@ - db ELEKID ; 239 - - db 45, 63, 37, 95, 65, 55 - ; hp atk def spd sat sdf - - db ELECTRIC, ELECTRIC - db 45 ; catch rate - db 106 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F25 ; gender - db 100 ; unknown - db 25 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/elekid/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn NO_EGGS, NO_EGGS ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, PSYCHIC, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, FLASH, THUNDERBOLT - ; end diff --git a/data/base_stats/entei.asm b/data/base_stats/entei.asm deleted file mode 100644 index 63f5f0af6..000000000 --- a/data/base_stats/entei.asm +++ /dev/null @@ -1,22 +0,0 @@ - db ENTEI ; 244 - - db 115, 115, 85, 100, 90, 75 - ; hp atk def spd sat sdf - - db FIRE, FIRE - db 3 ; catch rate - db 217 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDERLESS ; gender - db 100 ; unknown - db 80 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/entei/front.dimensions" - db 0, 0, 0, 0 ; padding - db SLOW ; growth rate - dn NO_EGGS, NO_EGGS ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, SWIFT, DETECT, REST, CUT, STRENGTH, FLASH, FLAMETHROWER - ; end diff --git a/data/base_stats/espeon.asm b/data/base_stats/espeon.asm deleted file mode 100644 index 5748ded74..000000000 --- a/data/base_stats/espeon.asm +++ /dev/null @@ -1,22 +0,0 @@ - db ESPEON ; 196 - - db 65, 65, 60, 110, 130, 95 - ; hp atk def spd sat sdf - - db PSYCHIC, PSYCHIC - db 45 ; catch rate - db 197 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F12_5 ; gender - db 100 ; unknown - db 35 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/espeon/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn FIELD, FIELD ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DREAM_EATER, DETECT, REST, ATTRACT, NIGHTMARE, CUT, FLASH - ; end diff --git a/data/base_stats/exeggcute.asm b/data/base_stats/exeggcute.asm deleted file mode 100644 index 3cd83b6c9..000000000 --- a/data/base_stats/exeggcute.asm +++ /dev/null @@ -1,22 +0,0 @@ - db EXEGGCUTE ; 102 - - db 60, 40, 80, 40, 60, 45 - ; hp atk def spd sat sdf - - db GRASS, PSYCHIC - db 90 ; catch rate - db 98 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/exeggcute/front.dimensions" - db 0, 0, 0, 0 ; padding - db SLOW ; growth rate - dn PLANT, PLANT ; egg groups - - ; tmhm - tmhm CURSE, ROLLOUT, TOXIC, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, DREAM_EATER, REST, ATTRACT, THIEF, NIGHTMARE, STRENGTH, FLASH - ; end diff --git a/data/base_stats/exeggutor.asm b/data/base_stats/exeggutor.asm deleted file mode 100644 index d5c466f21..000000000 --- a/data/base_stats/exeggutor.asm +++ /dev/null @@ -1,22 +0,0 @@ - db EXEGGUTOR ; 103 - - db 95, 95, 85, 55, 125, 65 - ; hp atk def spd sat sdf - - db GRASS, PSYCHIC - db 45 ; catch rate - db 212 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/exeggutor/front.dimensions" - db 0, 0, 0, 0 ; padding - db SLOW ; growth rate - dn PLANT, PLANT ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, DREAM_EATER, REST, ATTRACT, THIEF, NIGHTMARE, STRENGTH, FLASH - ; end diff --git a/data/base_stats/farfetch_d.asm b/data/base_stats/farfetch_d.asm deleted file mode 100644 index 8da2b08a4..000000000 --- a/data/base_stats/farfetch_d.asm +++ /dev/null @@ -1,22 +0,0 @@ - db FARFETCH_D ; 083 - - db 52, 65, 55, 60, 58, 62 - ; hp atk def spd sat sdf - - db NORMAL, FLYING - db 45 ; catch rate - db 94 ; base exp - db NO_ITEM ; item 1 - db STICK ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/farfetch_d/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn AVIAN, FIELD ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, TOXIC, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING, CUT, FLY - ; end diff --git a/data/base_stats/fearow.asm b/data/base_stats/fearow.asm deleted file mode 100644 index 2ce86b1bf..000000000 --- a/data/base_stats/fearow.asm +++ /dev/null @@ -1,22 +0,0 @@ - db FEAROW ; 022 - - db 65, 90, 65, 100, 61, 61 - ; hp atk def spd sat sdf - - db NORMAL, FLYING - db 90 ; catch rate - db 162 ; base exp - db NO_ITEM ; item 1 - db SHARP_BEAK ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 15 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/fearow/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn AVIAN, AVIAN ; egg groups - - ; tmhm - tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING, FLY - ; end diff --git a/data/base_stats/feraligatr.asm b/data/base_stats/feraligatr.asm deleted file mode 100644 index c59ca6ffb..000000000 --- a/data/base_stats/feraligatr.asm +++ /dev/null @@ -1,22 +0,0 @@ - db FERALIGATR ; 160 - - db 85, 105, 100, 78, 79, 83 - ; hp atk def spd sat sdf - - db WATER, WATER - db 45 ; catch rate - db 210 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F12_5 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/feraligatr/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_SLOW ; growth rate - dn MONSTER, AMPHIBIAN ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, DETECT, REST, ATTRACT, FURY_CUTTER, CUT, SURF, STRENGTH, WHIRLPOOL, ICE_BEAM - ; end diff --git a/data/base_stats/flaaffy.asm b/data/base_stats/flaaffy.asm deleted file mode 100644 index 2cf5e15bc..000000000 --- a/data/base_stats/flaaffy.asm +++ /dev/null @@ -1,22 +0,0 @@ - db FLAAFFY ; 180 - - db 70, 55, 55, 45, 80, 60 - ; hp atk def spd sat sdf - - db ELECTRIC, ELECTRIC - db 120 ; catch rate - db 117 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/flaaffy/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_SLOW ; growth rate - dn MONSTER, FIELD ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, THUNDERPUNCH, REST, ATTRACT, FIRE_PUNCH, STRENGTH, FLASH, THUNDERBOLT - ; end diff --git a/data/base_stats/flareon.asm b/data/base_stats/flareon.asm deleted file mode 100644 index 00faecec6..000000000 --- a/data/base_stats/flareon.asm +++ /dev/null @@ -1,22 +0,0 @@ - db FLAREON ; 136 - - db 65, 130, 60, 65, 95, 110 - ; hp atk def spd sat sdf - - db FIRE, FIRE - db 45 ; catch rate - db 198 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F12_5 ; gender - db 100 ; unknown - db 35 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/flareon/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn FIELD, FIELD ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, ROAR, TOXIC, ZAP_CANNON, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DETECT, REST, ATTRACT, FLAMETHROWER - ; end diff --git a/data/base_stats/forretress.asm b/data/base_stats/forretress.asm deleted file mode 100644 index 08fec2745..000000000 --- a/data/base_stats/forretress.asm +++ /dev/null @@ -1,22 +0,0 @@ - db FORRETRESS ; 205 - - db 75, 90, 140, 40, 60, 60 - ; hp atk def spd sat sdf - - db BUG, STEEL - db 75 ; catch rate - db 118 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/forretress/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn INSECT, INSECT ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, DEFENSE_CURL, REST, ATTRACT, STRENGTH - ; end diff --git a/data/base_stats/furret.asm b/data/base_stats/furret.asm deleted file mode 100644 index 3e3b7a656..000000000 --- a/data/base_stats/furret.asm +++ /dev/null @@ -1,22 +0,0 @@ - db FURRET ; 162 - - db 85, 76, 64, 90, 45, 55 - ; hp atk def spd sat sdf - - db NORMAL, NORMAL - db 90 ; catch rate - db 116 ; base exp - db BERRY ; item 1 - db GOLD_BERRY ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 15 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/furret/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn FIELD, FIELD ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, FURY_CUTTER, CUT, SURF, STRENGTH - ; end diff --git a/data/base_stats/gastly.asm b/data/base_stats/gastly.asm deleted file mode 100644 index cda05fe05..000000000 --- a/data/base_stats/gastly.asm +++ /dev/null @@ -1,22 +0,0 @@ - db GASTLY ; 092 - - db 30, 35, 30, 80, 100, 35 - ; hp atk def spd sat sdf - - db GHOST, POISON - db 190 ; catch rate - db 95 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/gastly/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_SLOW ; growth rate - dn AMORPHOUS, AMORPHOUS ; egg groups - - ; tmhm - tmhm CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, GIGA_DRAIN, ENDURE, FRUSTRATION, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DREAM_EATER, REST, ATTRACT, THIEF, NIGHTMARE, THUNDERBOLT - ; end diff --git a/data/base_stats/gengar.asm b/data/base_stats/gengar.asm deleted file mode 100644 index 9b9cc3310..000000000 --- a/data/base_stats/gengar.asm +++ /dev/null @@ -1,22 +0,0 @@ - db GENGAR ; 094 - - db 60, 65, 60, 110, 130, 75 - ; hp atk def spd sat sdf - - db GHOST, POISON - db 45 ; catch rate - db 190 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/gengar/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_SLOW ; growth rate - dn AMORPHOUS, AMORPHOUS ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, GIGA_DRAIN, ENDURE, FRUSTRATION, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, THUNDERPUNCH, DREAM_EATER, REST, ATTRACT, THIEF, FIRE_PUNCH, NIGHTMARE, STRENGTH, THUNDERBOLT - ; end diff --git a/data/base_stats/geodude.asm b/data/base_stats/geodude.asm deleted file mode 100644 index 86b627107..000000000 --- a/data/base_stats/geodude.asm +++ /dev/null @@ -1,22 +0,0 @@ - db GEODUDE ; 074 - - db 40, 80, 100, 20, 30, 30 - ; hp atk def spd sat sdf - - db ROCK, GROUND - db 255 ; catch rate - db 86 ; base exp - db NO_ITEM ; item 1 - db EVERSTONE ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 15 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/geodude/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_SLOW ; growth rate - dn INANIMATE, INANIMATE ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, DEFENSE_CURL, REST, ATTRACT, FIRE_PUNCH, STRENGTH, FLAMETHROWER - ; end diff --git a/data/base_stats/girafarig.asm b/data/base_stats/girafarig.asm deleted file mode 100644 index 7391367cf..000000000 --- a/data/base_stats/girafarig.asm +++ /dev/null @@ -1,22 +0,0 @@ - db GIRAFARIG ; 203 - - db 70, 80, 65, 85, 90, 65 - ; hp atk def spd sat sdf - - db NORMAL, PSYCHIC - db 60 ; catch rate - db 149 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/girafarig/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn FIELD, FIELD ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, EARTHQUAKE, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DREAM_EATER, REST, ATTRACT, THIEF, NIGHTMARE, STRENGTH, THUNDERBOLT - ; end diff --git a/data/base_stats/gligar.asm b/data/base_stats/gligar.asm deleted file mode 100644 index 5bb7fdca8..000000000 --- a/data/base_stats/gligar.asm +++ /dev/null @@ -1,22 +0,0 @@ - db GLIGAR ; 207 - - db 65, 75, 105, 85, 35, 65 - ; hp atk def spd sat sdf - - db GROUND, FLYING - db 60 ; catch rate - db 108 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/gligar/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_SLOW ; growth rate - dn INSECT, INSECT ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, SANDSTORM, SWIFT, DETECT, REST, ATTRACT, THIEF, FURY_CUTTER, CUT, STRENGTH - ; end diff --git a/data/base_stats/gloom.asm b/data/base_stats/gloom.asm deleted file mode 100644 index 33cea01f2..000000000 --- a/data/base_stats/gloom.asm +++ /dev/null @@ -1,22 +0,0 @@ - db GLOOM ; 044 - - db 60, 65, 70, 40, 85, 75 - ; hp atk def spd sat sdf - - db GRASS, POISON - db 120 ; catch rate - db 132 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/gloom/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_SLOW ; growth rate - dn PLANT, PLANT ; egg groups - - ; tmhm - tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, CUT, FLASH - ; end diff --git a/data/base_stats/golbat.asm b/data/base_stats/golbat.asm deleted file mode 100644 index 06769b880..000000000 --- a/data/base_stats/golbat.asm +++ /dev/null @@ -1,22 +0,0 @@ - db GOLBAT ; 042 - - db 75, 80, 70, 90, 65, 75 - ; hp atk def spd sat sdf - - db POISON, FLYING - db 90 ; catch rate - db 171 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 15 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/golbat/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn AVIAN, AVIAN ; egg groups - - ; tmhm - tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING - ; end diff --git a/data/base_stats/goldeen.asm b/data/base_stats/goldeen.asm deleted file mode 100644 index 314852a3e..000000000 --- a/data/base_stats/goldeen.asm +++ /dev/null @@ -1,22 +0,0 @@ - db GOLDEEN ; 118 - - db 45, 67, 60, 63, 35, 50 - ; hp atk def spd sat sdf - - db WATER, WATER - db 225 ; catch rate - db 111 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/goldeen/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn FISH, FISH ; egg groups - - ; tmhm - tmhm CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, SURF, WATERFALL, ICE_BEAM - ; end diff --git a/data/base_stats/golduck.asm b/data/base_stats/golduck.asm deleted file mode 100644 index 9c4dbb5f5..000000000 --- a/data/base_stats/golduck.asm +++ /dev/null @@ -1,22 +0,0 @@ - db GOLDUCK ; 055 - - db 80, 82, 78, 85, 95, 80 - ; hp atk def spd sat sdf - - db WATER, WATER - db 75 ; catch rate - db 174 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/golduck/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn AMPHIBIAN, FIELD ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, FURY_CUTTER, SURF, STRENGTH, FLASH, WHIRLPOOL, WATERFALL, ICE_BEAM - ; end diff --git a/data/base_stats/golem.asm b/data/base_stats/golem.asm deleted file mode 100644 index 9a9f04451..000000000 --- a/data/base_stats/golem.asm +++ /dev/null @@ -1,22 +0,0 @@ - db GOLEM ; 076 - - db 80, 110, 130, 45, 55, 65 - ; hp atk def spd sat sdf - - db ROCK, GROUND - db 45 ; catch rate - db 177 ; base exp - db NO_ITEM ; item 1 - db EVERSTONE ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 15 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/golem/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_SLOW ; growth rate - dn INANIMATE, INANIMATE ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, DEFENSE_CURL, REST, ATTRACT, FIRE_PUNCH, FURY_CUTTER, STRENGTH, FLAMETHROWER - ; end diff --git a/data/base_stats/granbull.asm b/data/base_stats/granbull.asm deleted file mode 100644 index 088e17dd8..000000000 --- a/data/base_stats/granbull.asm +++ /dev/null @@ -1,22 +0,0 @@ - db GRANBULL ; 210 - - db 90, 120, 75, 45, 60, 60 - ; hp atk def spd sat sdf - - db NORMAL, NORMAL - db 75 ; catch rate - db 178 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F75 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/granbull/front.dimensions" - db 0, 0, 0, 0 ; padding - db FAST ; growth rate - dn FIELD, FAIRY ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, DEFENSE_CURL, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH, THUNDERBOLT - ; end diff --git a/data/base_stats/graveler.asm b/data/base_stats/graveler.asm deleted file mode 100644 index dfbeb770c..000000000 --- a/data/base_stats/graveler.asm +++ /dev/null @@ -1,22 +0,0 @@ - db GRAVELER ; 075 - - db 55, 95, 115, 35, 45, 45 - ; hp atk def spd sat sdf - - db ROCK, GROUND - db 120 ; catch rate - db 134 ; base exp - db NO_ITEM ; item 1 - db EVERSTONE ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 15 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/graveler/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_SLOW ; growth rate - dn INANIMATE, INANIMATE ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, DEFENSE_CURL, REST, ATTRACT, FIRE_PUNCH, STRENGTH, FLAMETHROWER - ; end diff --git a/data/base_stats/grimer.asm b/data/base_stats/grimer.asm deleted file mode 100644 index 86dacd1e6..000000000 --- a/data/base_stats/grimer.asm +++ /dev/null @@ -1,22 +0,0 @@ - db GRIMER ; 088 - - db 80, 80, 50, 25, 40, 50 - ; hp atk def spd sat sdf - - db POISON, POISON - db 190 ; catch rate - db 90 ; base exp - db NO_ITEM ; item 1 - db NUGGET ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/grimer/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn AMORPHOUS, AMORPHOUS ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, CURSE, TOXIC, ZAP_CANNON, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, FIRE_BLAST, THUNDERPUNCH, REST, ATTRACT, THIEF, FIRE_PUNCH, FLAMETHROWER, THUNDERBOLT - ; end diff --git a/data/base_stats/growlithe.asm b/data/base_stats/growlithe.asm deleted file mode 100644 index ef5cc53b3..000000000 --- a/data/base_stats/growlithe.asm +++ /dev/null @@ -1,22 +0,0 @@ - db GROWLITHE ; 058 - - db 55, 70, 45, 60, 70, 50 - ; hp atk def spd sat sdf - - db FIRE, FIRE - db 190 ; catch rate - db 91 ; base exp - db BURNT_BERRY ; item 1 - db BURNT_BERRY ; item 2 - db GENDER_F25 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/growlithe/front.dimensions" - db 0, 0, 0, 0 ; padding - db SLOW ; growth rate - dn FIELD, FIELD ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, RETURN, DIG, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, REST, ATTRACT, FLAMETHROWER - ; end diff --git a/data/base_stats/gyarados.asm b/data/base_stats/gyarados.asm deleted file mode 100644 index 1bdceff88..000000000 --- a/data/base_stats/gyarados.asm +++ /dev/null @@ -1,22 +0,0 @@ - db GYARADOS ; 130 - - db 95, 125, 79, 81, 60, 100 - ; hp atk def spd sat sdf - - db WATER, FLYING - db 45 ; catch rate - db 214 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 5 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/gyarados/front.dimensions" - db 0, 0, 0, 0 ; padding - db SLOW ; growth rate - dn FISH, REPTILE ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, DRAGONBREATH, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, REST, ATTRACT, SURF, STRENGTH, WHIRLPOOL, WATERFALL, FLAMETHROWER, THUNDERBOLT, ICE_BEAM - ; end diff --git a/data/base_stats/haunter.asm b/data/base_stats/haunter.asm deleted file mode 100644 index 0db7406c1..000000000 --- a/data/base_stats/haunter.asm +++ /dev/null @@ -1,22 +0,0 @@ - db HAUNTER ; 093 - - db 45, 50, 45, 95, 115, 55 - ; hp atk def spd sat sdf - - db GHOST, POISON - db 90 ; catch rate - db 126 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/haunter/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_SLOW ; growth rate - dn AMORPHOUS, AMORPHOUS ; egg groups - - ; tmhm - tmhm CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, GIGA_DRAIN, ENDURE, FRUSTRATION, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DREAM_EATER, REST, ATTRACT, THIEF, NIGHTMARE, THUNDERBOLT - ; end diff --git a/data/base_stats/heracross.asm b/data/base_stats/heracross.asm deleted file mode 100644 index 1f81d9c7b..000000000 --- a/data/base_stats/heracross.asm +++ /dev/null @@ -1,22 +0,0 @@ - db HERACROSS ; 214 - - db 80, 125, 75, 85, 40, 95 - ; hp atk def spd sat sdf - - db BUG, FIGHTING - db 45 ; catch rate - db 200 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 25 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/heracross/front.dimensions" - db 0, 0, 0, 0 ; padding - db SLOW ; growth rate - dn INSECT, INSECT ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DETECT, REST, ATTRACT, THIEF, FURY_CUTTER, CUT, STRENGTH - ; end diff --git a/data/base_stats/hitmonchan.asm b/data/base_stats/hitmonchan.asm deleted file mode 100644 index 3eeb23dd4..000000000 --- a/data/base_stats/hitmonchan.asm +++ /dev/null @@ -1,22 +0,0 @@ - db HITMONCHAN ; 107 - - db 50, 105, 79, 76, 35, 110 - ; hp atk def spd sat sdf - - db FIGHTING, FIGHTING - db 45 ; catch rate - db 140 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F0 ; gender - db 100 ; unknown - db 25 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/hitmonchan/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn HUMANSHAPE, HUMANSHAPE ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH - ; end diff --git a/data/base_stats/hitmonlee.asm b/data/base_stats/hitmonlee.asm deleted file mode 100644 index a31352209..000000000 --- a/data/base_stats/hitmonlee.asm +++ /dev/null @@ -1,22 +0,0 @@ - db HITMONLEE ; 106 - - db 50, 120, 53, 87, 35, 110 - ; hp atk def spd sat sdf - - db FIGHTING, FIGHTING - db 45 ; catch rate - db 139 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F0 ; gender - db 100 ; unknown - db 25 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/hitmonlee/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn HUMANSHAPE, HUMANSHAPE ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STRENGTH - ; end diff --git a/data/base_stats/hitmontop.asm b/data/base_stats/hitmontop.asm deleted file mode 100644 index 532b8a6d8..000000000 --- a/data/base_stats/hitmontop.asm +++ /dev/null @@ -1,22 +0,0 @@ - db HITMONTOP ; 237 - - db 50, 95, 95, 70, 35, 110 - ; hp atk def spd sat sdf - - db FIGHTING, FIGHTING - db 45 ; catch rate - db 138 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F0 ; gender - db 100 ; unknown - db 25 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/hitmontop/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn HUMANSHAPE, HUMANSHAPE ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STRENGTH - ; end diff --git a/data/base_stats/ho_oh.asm b/data/base_stats/ho_oh.asm deleted file mode 100644 index 311bbf6cf..000000000 --- a/data/base_stats/ho_oh.asm +++ /dev/null @@ -1,22 +0,0 @@ - db HO_OH ; 250 - - db 106, 130, 90, 90, 110, 154 - ; hp atk def spd sat sdf - - db FIRE, FLYING - db 3 ; catch rate - db 220 ; base exp - db SACRED_ASH ; item 1 - db SACRED_ASH ; item 2 - db GENDERLESS ; gender - db 100 ; unknown - db 120 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/ho_oh/front.dimensions" - db 0, 0, 0, 0 ; padding - db SLOW ; growth rate - dn NO_EGGS, NO_EGGS ; egg groups - - ; tmhm - tmhm CURSE, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, DRAGONBREATH, THUNDER, EARTHQUAKE, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, SWIFT, DREAM_EATER, DETECT, REST, STEEL_WING, NIGHTMARE, FLY, STRENGTH, FLASH, FLAMETHROWER, THUNDERBOLT - ; end diff --git a/data/base_stats/hoothoot.asm b/data/base_stats/hoothoot.asm deleted file mode 100644 index 0442fe414..000000000 --- a/data/base_stats/hoothoot.asm +++ /dev/null @@ -1,22 +0,0 @@ - db HOOTHOOT ; 163 - - db 60, 30, 30, 50, 36, 56 - ; hp atk def spd sat sdf - - db NORMAL, FLYING - db 255 ; catch rate - db 58 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 15 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/hoothoot/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn AVIAN, AVIAN ; egg groups - - ; tmhm - tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, STEEL_WING, NIGHTMARE, FLY, FLASH - ; end diff --git a/data/base_stats/hoppip.asm b/data/base_stats/hoppip.asm deleted file mode 100644 index b1918d699..000000000 --- a/data/base_stats/hoppip.asm +++ /dev/null @@ -1,22 +0,0 @@ - db HOPPIP ; 187 - - db 35, 35, 40, 50, 35, 55 - ; hp atk def spd sat sdf - - db GRASS, FLYING - db 255 ; catch rate - db 74 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/hoppip/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_SLOW ; growth rate - dn FAIRY, PLANT ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, FLASH - ; end diff --git a/data/base_stats/horsea.asm b/data/base_stats/horsea.asm deleted file mode 100644 index 3296f52af..000000000 --- a/data/base_stats/horsea.asm +++ /dev/null @@ -1,22 +0,0 @@ - db HORSEA ; 116 - - db 30, 40, 70, 60, 70, 25 - ; hp atk def spd sat sdf - - db WATER, WATER - db 225 ; catch rate - db 83 ; base exp - db NO_ITEM ; item 1 - db DRAGON_SCALE ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/horsea/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn AMPHIBIAN, REPTILE ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, DRAGONBREATH, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, SURF, WHIRLPOOL, WATERFALL, ICE_BEAM - ; end diff --git a/data/base_stats/houndoom.asm b/data/base_stats/houndoom.asm deleted file mode 100644 index 234832675..000000000 --- a/data/base_stats/houndoom.asm +++ /dev/null @@ -1,22 +0,0 @@ - db HOUNDOOM ; 229 - - db 75, 90, 50, 95, 110, 80 - ; hp atk def spd sat sdf - - db DARK, FIRE - db 45 ; catch rate - db 204 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/houndoom/front.dimensions" - db 0, 0, 0, 0 ; padding - db SLOW ; growth rate - dn FIELD, FIELD ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, FIRE_BLAST, SWIFT, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, NIGHTMARE, STRENGTH, FLAMETHROWER - ; end diff --git a/data/base_stats/houndour.asm b/data/base_stats/houndour.asm deleted file mode 100644 index f743cd81e..000000000 --- a/data/base_stats/houndour.asm +++ /dev/null @@ -1,22 +0,0 @@ - db HOUNDOUR ; 228 - - db 45, 60, 30, 65, 80, 50 - ; hp atk def spd sat sdf - - db DARK, FIRE - db 120 ; catch rate - db 114 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/houndour/front.dimensions" - db 0, 0, 0, 0 ; padding - db SLOW ; growth rate - dn FIELD, FIELD ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, FIRE_BLAST, SWIFT, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, NIGHTMARE, FLAMETHROWER - ; end diff --git a/data/base_stats/hypno.asm b/data/base_stats/hypno.asm deleted file mode 100644 index 6c132b6bf..000000000 --- a/data/base_stats/hypno.asm +++ /dev/null @@ -1,22 +0,0 @@ - db HYPNO ; 097 - - db 85, 73, 70, 67, 73, 115 - ; hp atk def spd sat sdf - - db PSYCHIC, PSYCHIC - db 75 ; catch rate - db 165 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/hypno/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn HUMANSHAPE, HUMANSHAPE ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, PSYCHIC, SHADOW_BALL, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, THUNDERPUNCH, DREAM_EATER, REST, ATTRACT, FIRE_PUNCH, NIGHTMARE, FLASH - ; end diff --git a/data/base_stats/igglybuff.asm b/data/base_stats/igglybuff.asm deleted file mode 100644 index fbf32ecca..000000000 --- a/data/base_stats/igglybuff.asm +++ /dev/null @@ -1,22 +0,0 @@ - db IGGLYBUFF ; 174 - - db 90, 30, 15, 15, 40, 20 - ; hp atk def spd sat sdf - - db NORMAL, NORMAL - db 170 ; catch rate - db 39 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F75 ; gender - db 100 ; unknown - db 10 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/igglybuff/front.dimensions" - db 0, 0, 0, 0 ; padding - db FAST ; growth rate - dn NO_EGGS, NO_EGGS ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, DEFENSE_CURL, DREAM_EATER, DETECT, REST, ATTRACT, NIGHTMARE, FLASH, FLAMETHROWER - ; end diff --git a/data/base_stats/ivysaur.asm b/data/base_stats/ivysaur.asm deleted file mode 100644 index 7d98b4b6d..000000000 --- a/data/base_stats/ivysaur.asm +++ /dev/null @@ -1,22 +0,0 @@ - db IVYSAUR ; 002 - - db 60, 62, 63, 60, 80, 80 - ; hp atk def spd sat sdf - - db GRASS, POISON - db 45 ; catch rate - db 141 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F12_5 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/ivysaur/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_SLOW ; growth rate - dn MONSTER, PLANT ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, FURY_CUTTER, CUT, FLASH - ; end diff --git a/data/base_stats/jigglypuff.asm b/data/base_stats/jigglypuff.asm deleted file mode 100644 index 0f4ea788e..000000000 --- a/data/base_stats/jigglypuff.asm +++ /dev/null @@ -1,22 +0,0 @@ - db JIGGLYPUFF ; 039 - - db 115, 45, 20, 20, 45, 25 - ; hp atk def spd sat sdf - - db NORMAL, NORMAL - db 170 ; catch rate - db 76 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F75 ; gender - db 100 ; unknown - db 10 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/jigglypuff/front.dimensions" - db 0, 0, 0, 0 ; padding - db FAST ; growth rate - dn FAIRY, FAIRY ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, FIRE_BLAST, DEFENSE_CURL, THUNDERPUNCH, DREAM_EATER, DETECT, REST, ATTRACT, FIRE_PUNCH, NIGHTMARE, STRENGTH, FLASH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM - ; end diff --git a/data/base_stats/jolteon.asm b/data/base_stats/jolteon.asm deleted file mode 100644 index 665a40d1d..000000000 --- a/data/base_stats/jolteon.asm +++ /dev/null @@ -1,22 +0,0 @@ - db JOLTEON ; 135 - - db 65, 65, 60, 130, 110, 95 - ; hp atk def spd sat sdf - - db ELECTRIC, ELECTRIC - db 45 ; catch rate - db 197 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F12_5 ; gender - db 100 ; unknown - db 35 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/jolteon/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn FIELD, FIELD ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, ROAR, TOXIC, ZAP_CANNON, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, FLASH, THUNDERBOLT - ; end diff --git a/data/base_stats/jumpluff.asm b/data/base_stats/jumpluff.asm deleted file mode 100644 index 623fbe82d..000000000 --- a/data/base_stats/jumpluff.asm +++ /dev/null @@ -1,22 +0,0 @@ - db JUMPLUFF ; 189 - - db 75, 55, 70, 110, 55, 85 - ; hp atk def spd sat sdf - - db GRASS, FLYING - db 45 ; catch rate - db 176 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/jumpluff/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_SLOW ; growth rate - dn FAIRY, PLANT ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, FLASH - ; end diff --git a/data/base_stats/jynx.asm b/data/base_stats/jynx.asm deleted file mode 100644 index c47a4315d..000000000 --- a/data/base_stats/jynx.asm +++ /dev/null @@ -1,22 +0,0 @@ - db JYNX ; 124 - - db 65, 50, 35, 95, 115, 95 - ; hp atk def spd sat sdf - - db ICE, PSYCHIC - db 45 ; catch rate - db 137 ; base exp - db ICE_BERRY ; item 1 - db ICE_BERRY ; item 2 - db GENDER_F100 ; gender - db 100 ; unknown - db 25 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/jynx/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn HUMANSHAPE, HUMANSHAPE ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, PSYCH_UP, HIDDEN_POWER, SWEET_SCENT, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, DREAM_EATER, REST, ATTRACT, THIEF, NIGHTMARE, ICE_BEAM - ; end diff --git a/data/base_stats/kabuto.asm b/data/base_stats/kabuto.asm deleted file mode 100644 index 9a38cbcba..000000000 --- a/data/base_stats/kabuto.asm +++ /dev/null @@ -1,22 +0,0 @@ - db KABUTO ; 140 - - db 30, 80, 90, 55, 55, 45 - ; hp atk def spd sat sdf - - db ROCK, WATER - db 45 ; catch rate - db 119 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F12_5 ; gender - db 100 ; unknown - db 30 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/kabuto/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn AMPHIBIAN, INVERTEBRATE ; egg groups - - ; tmhm - tmhm CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, GIGA_DRAIN, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, REST, ATTRACT, THIEF, ICE_BEAM - ; end diff --git a/data/base_stats/kabutops.asm b/data/base_stats/kabutops.asm deleted file mode 100644 index b8de99fa1..000000000 --- a/data/base_stats/kabutops.asm +++ /dev/null @@ -1,22 +0,0 @@ - db KABUTOPS ; 141 - - db 60, 115, 105, 80, 65, 70 - ; hp atk def spd sat sdf - - db ROCK, WATER - db 45 ; catch rate - db 201 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F12_5 ; gender - db 100 ; unknown - db 30 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/kabutops/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn AMPHIBIAN, INVERTEBRATE ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, GIGA_DRAIN, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, REST, ATTRACT, THIEF, FURY_CUTTER, CUT, SURF, WHIRLPOOL, ICE_BEAM - ; end diff --git a/data/base_stats/kadabra.asm b/data/base_stats/kadabra.asm deleted file mode 100644 index 6a4e56f13..000000000 --- a/data/base_stats/kadabra.asm +++ /dev/null @@ -1,22 +0,0 @@ - db KADABRA ; 064 - - db 40, 35, 30, 105, 120, 70 - ; hp atk def spd sat sdf - - db PSYCHIC, PSYCHIC - db 100 ; catch rate - db 145 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F25 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/kadabra/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_SLOW ; growth rate - dn HUMANSHAPE, HUMANSHAPE ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, DIG, PSYCHIC, SHADOW_BALL, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, THUNDERPUNCH, DREAM_EATER, REST, ATTRACT, THIEF, FIRE_PUNCH, NIGHTMARE, FLASH - ; end diff --git a/data/base_stats/kakuna.asm b/data/base_stats/kakuna.asm deleted file mode 100644 index 83241fbcd..000000000 --- a/data/base_stats/kakuna.asm +++ /dev/null @@ -1,22 +0,0 @@ - db KAKUNA ; 014 - - db 45, 25, 50, 35, 25, 25 - ; hp atk def spd sat sdf - - db BUG, POISON - db 120 ; catch rate - db 71 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 15 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/kakuna/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn INSECT, INSECT ; egg groups - - ; tmhm - tmhm - ; end diff --git a/data/base_stats/kangaskhan.asm b/data/base_stats/kangaskhan.asm deleted file mode 100644 index 21af227f0..000000000 --- a/data/base_stats/kangaskhan.asm +++ /dev/null @@ -1,22 +0,0 @@ - db KANGASKHAN ; 115 - - db 105, 95, 80, 90, 40, 80 - ; hp atk def spd sat sdf - - db NORMAL, NORMAL - db 45 ; catch rate - db 175 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F100 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/kangaskhan/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn MONSTER, MONSTER ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, EARTHQUAKE, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, THUNDERPUNCH, REST, ATTRACT, FIRE_PUNCH, FURY_CUTTER, SURF, STRENGTH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM - ; end diff --git a/data/base_stats/kingdra.asm b/data/base_stats/kingdra.asm deleted file mode 100644 index e62d0f23e..000000000 --- a/data/base_stats/kingdra.asm +++ /dev/null @@ -1,22 +0,0 @@ - db KINGDRA ; 230 - - db 75, 95, 95, 85, 95, 95 - ; hp atk def spd sat sdf - - db WATER, DRAGON - db 45 ; catch rate - db 207 ; base exp - db NO_ITEM ; item 1 - db DRAGON_SCALE ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/kingdra/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn AMPHIBIAN, REPTILE ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, DRAGONBREATH, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, SURF, WHIRLPOOL, WATERFALL, ICE_BEAM - ; end diff --git a/data/base_stats/kingler.asm b/data/base_stats/kingler.asm deleted file mode 100644 index 01ac23a99..000000000 --- a/data/base_stats/kingler.asm +++ /dev/null @@ -1,22 +0,0 @@ - db KINGLER ; 099 - - db 55, 130, 115, 75, 50, 50 - ; hp atk def spd sat sdf - - db WATER, WATER - db 60 ; catch rate - db 206 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/kingler/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn INVERTEBRATE, INVERTEBRATE ; egg groups - - ; tmhm - tmhm CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, REST, ATTRACT, THIEF, FURY_CUTTER, CUT, SURF, STRENGTH, WHIRLPOOL, ICE_BEAM - ; end diff --git a/data/base_stats/koffing.asm b/data/base_stats/koffing.asm deleted file mode 100644 index 70e8bd114..000000000 --- a/data/base_stats/koffing.asm +++ /dev/null @@ -1,22 +0,0 @@ - db KOFFING ; 109 - - db 40, 65, 95, 35, 60, 45 - ; hp atk def spd sat sdf - - db POISON, POISON - db 190 ; catch rate - db 114 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/koffing/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn AMORPHOUS, AMORPHOUS ; egg groups - - ; tmhm - tmhm CURSE, ROLLOUT, TOXIC, ZAP_CANNON, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, FIRE_BLAST, REST, ATTRACT, THIEF, FLAMETHROWER, THUNDERBOLT - ; end diff --git a/data/base_stats/krabby.asm b/data/base_stats/krabby.asm deleted file mode 100644 index 60ce4c7f4..000000000 --- a/data/base_stats/krabby.asm +++ /dev/null @@ -1,22 +0,0 @@ - db KRABBY ; 098 - - db 30, 105, 90, 50, 25, 25 - ; hp atk def spd sat sdf - - db WATER, WATER - db 225 ; catch rate - db 115 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/krabby/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn INVERTEBRATE, INVERTEBRATE ; egg groups - - ; tmhm - tmhm CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, REST, ATTRACT, THIEF, FURY_CUTTER, CUT, SURF, STRENGTH, WHIRLPOOL, ICE_BEAM - ; end diff --git a/data/base_stats/lanturn.asm b/data/base_stats/lanturn.asm deleted file mode 100644 index f5b747fad..000000000 --- a/data/base_stats/lanturn.asm +++ /dev/null @@ -1,22 +0,0 @@ - db LANTURN ; 171 - - db 125, 58, 58, 67, 76, 76 - ; hp atk def spd sat sdf - - db WATER, ELECTRIC - db 75 ; catch rate - db 156 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/lanturn/front.dimensions" - db 0, 0, 0, 0 ; padding - db SLOW ; growth rate - dn FISH, FISH ; egg groups - - ; tmhm - tmhm CURSE, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, REST, ATTRACT, SURF, FLASH, WHIRLPOOL, WATERFALL, THUNDERBOLT, ICE_BEAM - ; end diff --git a/data/base_stats/lapras.asm b/data/base_stats/lapras.asm deleted file mode 100644 index 9477b6791..000000000 --- a/data/base_stats/lapras.asm +++ /dev/null @@ -1,22 +0,0 @@ - db LAPRAS ; 131 - - db 130, 85, 80, 60, 85, 95 - ; hp atk def spd sat sdf - - db WATER, ICE - db 45 ; catch rate - db 219 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 40 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/lapras/front.dimensions" - db 0, 0, 0, 0 ; padding - db SLOW ; growth rate - dn MONSTER, AMPHIBIAN ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, THUNDER, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DREAM_EATER, REST, ATTRACT, NIGHTMARE, SURF, STRENGTH, WHIRLPOOL, THUNDERBOLT, ICE_BEAM - ; end diff --git a/data/base_stats/larvitar.asm b/data/base_stats/larvitar.asm deleted file mode 100644 index 7de66ca7f..000000000 --- a/data/base_stats/larvitar.asm +++ /dev/null @@ -1,22 +0,0 @@ - db LARVITAR ; 246 - - db 50, 64, 50, 41, 45, 50 - ; hp atk def spd sat sdf - - db ROCK, GROUND - db 45 ; catch rate - db 67 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 40 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/larvitar/front.dimensions" - db 0, 0, 0, 0 ; padding - db SLOW ; growth rate - dn MONSTER, MONSTER ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, DETECT, REST, ATTRACT - ; end diff --git a/data/base_stats/ledian.asm b/data/base_stats/ledian.asm deleted file mode 100644 index 84a06c092..000000000 --- a/data/base_stats/ledian.asm +++ /dev/null @@ -1,22 +0,0 @@ - db LEDIAN ; 166 - - db 55, 35, 50, 85, 55, 110 - ; hp atk def spd sat sdf - - db BUG, FLYING - db 90 ; catch rate - db 134 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 15 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/ledian/front.dimensions" - db 0, 0, 0, 0 ; padding - db FAST ; growth rate - dn INSECT, INSECT ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DIG, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, THUNDERPUNCH, REST, ATTRACT, THIEF, FLASH - ; end diff --git a/data/base_stats/ledyba.asm b/data/base_stats/ledyba.asm deleted file mode 100644 index 68a20d1ea..000000000 --- a/data/base_stats/ledyba.asm +++ /dev/null @@ -1,22 +0,0 @@ - db LEDYBA ; 165 - - db 40, 20, 30, 55, 40, 80 - ; hp atk def spd sat sdf - - db BUG, FLYING - db 255 ; catch rate - db 54 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 15 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/ledyba/front.dimensions" - db 0, 0, 0, 0 ; padding - db FAST ; growth rate - dn INSECT, INSECT ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DIG, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, THUNDERPUNCH, REST, ATTRACT, THIEF, FLASH - ; end diff --git a/data/base_stats/lickitung.asm b/data/base_stats/lickitung.asm deleted file mode 100644 index 0f8f351da..000000000 --- a/data/base_stats/lickitung.asm +++ /dev/null @@ -1,22 +0,0 @@ - db LICKITUNG ; 108 - - db 90, 55, 75, 30, 60, 75 - ; hp atk def spd sat sdf - - db NORMAL, NORMAL - db 45 ; catch rate - db 127 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/lickitung/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn MONSTER, MONSTER ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, EARTHQUAKE, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, DEFENSE_CURL, THUNDERPUNCH, DREAM_EATER, REST, ATTRACT, THIEF, FIRE_PUNCH, NIGHTMARE, CUT, SURF, STRENGTH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM - ; end diff --git a/data/base_stats/lugia.asm b/data/base_stats/lugia.asm deleted file mode 100644 index 3a4109ab9..000000000 --- a/data/base_stats/lugia.asm +++ /dev/null @@ -1,22 +0,0 @@ - db LUGIA ; 249 - - db 106, 90, 130, 110, 90, 154 - ; hp atk def spd sat sdf - - db PSYCHIC, FLYING - db 3 ; catch rate - db 220 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDERLESS ; gender - db 100 ; unknown - db 120 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/lugia/front.dimensions" - db 0, 0, 0, 0 ; padding - db SLOW ; growth rate - dn NO_EGGS, NO_EGGS ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, GIGA_DRAIN, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, THUNDER, EARTHQUAKE, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, SWIFT, DREAM_EATER, DETECT, REST, STEEL_WING, NIGHTMARE, FLY, SURF, STRENGTH, WHIRLPOOL, WATERFALL, THUNDERBOLT, ICE_BEAM - ; end diff --git a/data/base_stats/machamp.asm b/data/base_stats/machamp.asm deleted file mode 100644 index bb716cf25..000000000 --- a/data/base_stats/machamp.asm +++ /dev/null @@ -1,22 +0,0 @@ - db MACHAMP ; 068 - - db 90, 130, 80, 55, 65, 85 - ; hp atk def spd sat sdf - - db FIGHTING, FIGHTING - db 45 ; catch rate - db 193 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F25 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/machamp/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_SLOW ; growth rate - dn HUMANSHAPE, HUMANSHAPE ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, FIRE_BLAST, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH, FLAMETHROWER - ; end diff --git a/data/base_stats/machoke.asm b/data/base_stats/machoke.asm deleted file mode 100644 index 79caf8c70..000000000 --- a/data/base_stats/machoke.asm +++ /dev/null @@ -1,22 +0,0 @@ - db MACHOKE ; 067 - - db 80, 100, 70, 45, 50, 60 - ; hp atk def spd sat sdf - - db FIGHTING, FIGHTING - db 90 ; catch rate - db 146 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F25 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/machoke/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_SLOW ; growth rate - dn HUMANSHAPE, HUMANSHAPE ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, FIRE_BLAST, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH, FLAMETHROWER - ; end diff --git a/data/base_stats/machop.asm b/data/base_stats/machop.asm deleted file mode 100644 index 6b0cbaab7..000000000 --- a/data/base_stats/machop.asm +++ /dev/null @@ -1,22 +0,0 @@ - db MACHOP ; 066 - - db 70, 80, 50, 35, 35, 35 - ; hp atk def spd sat sdf - - db FIGHTING, FIGHTING - db 180 ; catch rate - db 88 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F25 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/machop/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_SLOW ; growth rate - dn HUMANSHAPE, HUMANSHAPE ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, FIRE_BLAST, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH, FLAMETHROWER - ; end diff --git a/data/base_stats/magby.asm b/data/base_stats/magby.asm deleted file mode 100644 index 478dfb8b8..000000000 --- a/data/base_stats/magby.asm +++ /dev/null @@ -1,22 +0,0 @@ - db MAGBY ; 240 - - db 45, 75, 37, 83, 70, 55 - ; hp atk def spd sat sdf - - db FIRE, FIRE - db 45 ; catch rate - db 117 ; base exp - db BURNT_BERRY ; item 1 - db BURNT_BERRY ; item 2 - db GENDER_F25 ; gender - db 100 ; unknown - db 25 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/magby/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn NO_EGGS, NO_EGGS ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, PSYCHIC, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, FLAMETHROWER - ; end diff --git a/data/base_stats/magcargo.asm b/data/base_stats/magcargo.asm deleted file mode 100644 index 45493135b..000000000 --- a/data/base_stats/magcargo.asm +++ /dev/null @@ -1,22 +0,0 @@ - db MAGCARGO ; 219 - - db 50, 50, 120, 30, 80, 80 - ; hp atk def spd sat sdf - - db FIRE, ROCK - db 75 ; catch rate - db 154 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/magcargo/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn AMORPHOUS, AMORPHOUS ; egg groups - - ; tmhm - tmhm CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, DEFENSE_CURL, REST, ATTRACT, STRENGTH, FLAMETHROWER - ; end diff --git a/data/base_stats/magikarp.asm b/data/base_stats/magikarp.asm deleted file mode 100644 index 2519b475b..000000000 --- a/data/base_stats/magikarp.asm +++ /dev/null @@ -1,22 +0,0 @@ - db MAGIKARP ; 129 - - db 20, 10, 55, 80, 15, 20 - ; hp atk def spd sat sdf - - db WATER, WATER - db 255 ; catch rate - db 20 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 5 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/magikarp/front.dimensions" - db 0, 0, 0, 0 ; padding - db SLOW ; growth rate - dn FISH, REPTILE ; egg groups - - ; tmhm - tmhm - ; end diff --git a/data/base_stats/magmar.asm b/data/base_stats/magmar.asm deleted file mode 100644 index ea14c66cd..000000000 --- a/data/base_stats/magmar.asm +++ /dev/null @@ -1,22 +0,0 @@ - db MAGMAR ; 126 - - db 65, 95, 57, 93, 100, 85 - ; hp atk def spd sat sdf - - db FIRE, FIRE - db 45 ; catch rate - db 167 ; base exp - db BURNT_BERRY ; item 1 - db BURNT_BERRY ; item 2 - db GENDER_F25 ; gender - db 100 ; unknown - db 25 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/magmar/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn HUMANSHAPE, HUMANSHAPE ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, PSYCHIC, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH, FLAMETHROWER - ; end diff --git a/data/base_stats/magnemite.asm b/data/base_stats/magnemite.asm deleted file mode 100644 index 19a85a9a1..000000000 --- a/data/base_stats/magnemite.asm +++ /dev/null @@ -1,22 +0,0 @@ - db MAGNEMITE ; 081 - - db 25, 35, 70, 45, 95, 55 - ; hp atk def spd sat sdf - - db ELECTRIC, STEEL - db 190 ; catch rate - db 89 ; base exp - db NO_ITEM ; item 1 - db METAL_COAT ; item 2 - db GENDERLESS ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/magnemite/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn INANIMATE, INANIMATE ; egg groups - - ; tmhm - tmhm CURSE, ROLLOUT, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, FLASH, THUNDERBOLT - ; end diff --git a/data/base_stats/magneton.asm b/data/base_stats/magneton.asm deleted file mode 100644 index 5fdbe68f4..000000000 --- a/data/base_stats/magneton.asm +++ /dev/null @@ -1,22 +0,0 @@ - db MAGNETON ; 082 - - db 50, 60, 95, 70, 120, 70 - ; hp atk def spd sat sdf - - db ELECTRIC, STEEL - db 60 ; catch rate - db 161 ; base exp - db NO_ITEM ; item 1 - db METAL_COAT ; item 2 - db GENDERLESS ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/magneton/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn INANIMATE, INANIMATE ; egg groups - - ; tmhm - tmhm CURSE, ROLLOUT, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, FLASH, THUNDERBOLT - ; end diff --git a/data/base_stats/mankey.asm b/data/base_stats/mankey.asm deleted file mode 100644 index 77cc260d4..000000000 --- a/data/base_stats/mankey.asm +++ /dev/null @@ -1,22 +0,0 @@ - db MANKEY ; 056 - - db 40, 80, 35, 70, 35, 45 - ; hp atk def spd sat sdf - - db FIGHTING, FIGHTING - db 190 ; catch rate - db 74 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/mankey/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn FIELD, FIELD ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH, THUNDERBOLT - ; end diff --git a/data/base_stats/mantine.asm b/data/base_stats/mantine.asm deleted file mode 100644 index bfe113428..000000000 --- a/data/base_stats/mantine.asm +++ /dev/null @@ -1,22 +0,0 @@ - db MANTINE ; 226 - - db 65, 40, 70, 70, 80, 140 - ; hp atk def spd sat sdf - - db WATER, FLYING - db 25 ; catch rate - db 168 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 25 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/mantine/front.dimensions" - db 0, 0, 0, 0 ; padding - db SLOW ; growth rate - dn AMPHIBIAN, AMPHIBIAN ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, SURF, WHIRLPOOL, WATERFALL, ICE_BEAM - ; end diff --git a/data/base_stats/mareep.asm b/data/base_stats/mareep.asm deleted file mode 100644 index cc190b664..000000000 --- a/data/base_stats/mareep.asm +++ /dev/null @@ -1,22 +0,0 @@ - db MAREEP ; 179 - - db 55, 40, 40, 35, 65, 45 - ; hp atk def spd sat sdf - - db ELECTRIC, ELECTRIC - db 235 ; catch rate - db 59 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/mareep/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_SLOW ; growth rate - dn MONSTER, FIELD ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, REST, ATTRACT, FLASH, THUNDERBOLT - ; end diff --git a/data/base_stats/marill.asm b/data/base_stats/marill.asm deleted file mode 100644 index 73708d1df..000000000 --- a/data/base_stats/marill.asm +++ /dev/null @@ -1,22 +0,0 @@ - db MARILL ; 183 - - db 70, 20, 50, 40, 20, 50 - ; hp atk def spd sat sdf - - db WATER, WATER - db 190 ; catch rate - db 58 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/marill/front.dimensions" - db 0, 0, 0, 0 ; padding - db FAST ; growth rate - dn AMPHIBIAN, FAIRY ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, REST, ATTRACT, SURF, WHIRLPOOL, WATERFALL, ICE_BEAM - ; end diff --git a/data/base_stats/marowak.asm b/data/base_stats/marowak.asm deleted file mode 100644 index 3e04b9697..000000000 --- a/data/base_stats/marowak.asm +++ /dev/null @@ -1,22 +0,0 @@ - db MAROWAK ; 105 - - db 60, 80, 110, 45, 50, 80 - ; hp atk def spd sat sdf - - db GROUND, GROUND - db 75 ; catch rate - db 124 ; base exp - db NO_ITEM ; item 1 - db THICK_CLUB ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/marowak/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn MONSTER, MONSTER ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH, FLAMETHROWER, ICE_BEAM - ; end diff --git a/data/base_stats/meganium.asm b/data/base_stats/meganium.asm deleted file mode 100644 index cf1125003..000000000 --- a/data/base_stats/meganium.asm +++ /dev/null @@ -1,22 +0,0 @@ - db MEGANIUM ; 154 - - db 80, 82, 100, 80, 83, 100 - ; hp atk def spd sat sdf - - db GRASS, GRASS - db 45 ; catch rate - db 208 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F12_5 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/meganium/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_SLOW ; growth rate - dn MONSTER, PLANT ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, EARTHQUAKE, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DETECT, REST, ATTRACT, FURY_CUTTER, CUT, STRENGTH, FLASH - ; end diff --git a/data/base_stats/meowth.asm b/data/base_stats/meowth.asm deleted file mode 100644 index f177f0efd..000000000 --- a/data/base_stats/meowth.asm +++ /dev/null @@ -1,22 +0,0 @@ - db MEOWTH ; 052 - - db 40, 45, 35, 90, 40, 40 - ; hp atk def spd sat sdf - - db NORMAL, NORMAL - db 255 ; catch rate - db 69 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/meowth/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn FIELD, FIELD ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, ICY_WIND, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, NIGHTMARE, THUNDERBOLT - ; end diff --git a/data/base_stats/metapod.asm b/data/base_stats/metapod.asm deleted file mode 100644 index e26e31fc5..000000000 --- a/data/base_stats/metapod.asm +++ /dev/null @@ -1,22 +0,0 @@ - db METAPOD ; 011 - - db 50, 20, 55, 30, 25, 25 - ; hp atk def spd sat sdf - - db BUG, BUG - db 120 ; catch rate - db 72 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 15 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/metapod/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn INSECT, INSECT ; egg groups - - ; tmhm - tmhm - ; end diff --git a/data/base_stats/mew.asm b/data/base_stats/mew.asm deleted file mode 100644 index e2bac0040..000000000 --- a/data/base_stats/mew.asm +++ /dev/null @@ -1,22 +0,0 @@ - db MEW ; 151 - - db 100, 100, 100, 100, 100, 100 - ; hp atk def spd sat sdf - - db PSYCHIC, PSYCHIC - db 45 ; catch rate - db 64 ; base exp - db NO_ITEM ; item 1 - db MIRACLEBERRY ; item 2 - db GENDERLESS ; gender - db 100 ; unknown - db 120 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/mew/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_SLOW ; growth rate - dn NO_EGGS, NO_EGGS ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, DRAGONBREATH, THUNDER, EARTHQUAKE, RETURN, DIG, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, SANDSTORM, FIRE_BLAST, SWIFT, DEFENSE_CURL, THUNDERPUNCH, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, STEEL_WING, FIRE_PUNCH, FURY_CUTTER, NIGHTMARE, CUT, FLY, SURF, STRENGTH, FLASH, WHIRLPOOL, WATERFALL, FLAMETHROWER, THUNDERBOLT, ICE_BEAM - ; end diff --git a/data/base_stats/mewtwo.asm b/data/base_stats/mewtwo.asm deleted file mode 100644 index 28da9f404..000000000 --- a/data/base_stats/mewtwo.asm +++ /dev/null @@ -1,22 +0,0 @@ - db MEWTWO ; 150 - - db 106, 110, 90, 130, 154, 90 - ; hp atk def spd sat sdf - - db PSYCHIC, PSYCHIC - db 3 ; catch rate - db 220 ; base exp - db NO_ITEM ; item 1 - db BERSERK_GENE ; item 2 - db GENDERLESS ; gender - db 100 ; unknown - db 120 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/mewtwo/front.dimensions" - db 0, 0, 0, 0 ; padding - db SLOW ; growth rate - dn NO_EGGS, NO_EGGS ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, THUNDERPUNCH, DREAM_EATER, DETECT, REST, FIRE_PUNCH, NIGHTMARE, STRENGTH, FLASH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM - ; end diff --git a/data/base_stats/miltank.asm b/data/base_stats/miltank.asm deleted file mode 100644 index 63ed422bc..000000000 --- a/data/base_stats/miltank.asm +++ /dev/null @@ -1,22 +0,0 @@ - db MILTANK ; 241 - - db 95, 80, 105, 100, 40, 70 - ; hp atk def spd sat sdf - - db NORMAL, NORMAL - db 45 ; catch rate - db 200 ; base exp - db MOOMOO_MILK ; item 1 - db MOOMOO_MILK ; item 2 - db GENDER_F100 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/miltank/front.dimensions" - db 0, 0, 0, 0 ; padding - db SLOW ; growth rate - dn FIELD, FIELD ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, EARTHQUAKE, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SANDSTORM, DEFENSE_CURL, THUNDERPUNCH, REST, ATTRACT, FIRE_PUNCH, SURF, STRENGTH, THUNDERBOLT, ICE_BEAM - ; end diff --git a/data/base_stats/misdreavus.asm b/data/base_stats/misdreavus.asm deleted file mode 100644 index dc730ad9a..000000000 --- a/data/base_stats/misdreavus.asm +++ /dev/null @@ -1,22 +0,0 @@ - db MISDREAVUS ; 200 - - db 60, 60, 60, 85, 85, 85 - ; hp atk def spd sat sdf - - db GHOST, GHOST - db 45 ; catch rate - db 147 ; base exp - db NO_ITEM ; item 1 - db SPELL_TAG ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 25 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/misdreavus/front.dimensions" - db 0, 0, 0, 0 ; padding - db FAST ; growth rate - dn AMORPHOUS, AMORPHOUS ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, DREAM_EATER, REST, ATTRACT, THIEF, NIGHTMARE, FLASH, THUNDERBOLT - ; end diff --git a/data/base_stats/moltres.asm b/data/base_stats/moltres.asm deleted file mode 100644 index bf70c2821..000000000 --- a/data/base_stats/moltres.asm +++ /dev/null @@ -1,22 +0,0 @@ - db MOLTRES ; 146 - - db 90, 100, 90, 90, 125, 85 - ; hp atk def spd sat sdf - - db FIRE, FLYING - db 3 ; catch rate - db 217 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDERLESS ; gender - db 100 ; unknown - db 80 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/moltres/front.dimensions" - db 0, 0, 0, 0 ; padding - db SLOW ; growth rate - dn NO_EGGS, NO_EGGS ; egg groups - - ; tmhm - tmhm CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, SWIFT, DETECT, REST, STEEL_WING, FLY, FLAMETHROWER - ; end diff --git a/data/base_stats/mr__mime.asm b/data/base_stats/mr__mime.asm deleted file mode 100644 index d7042d55a..000000000 --- a/data/base_stats/mr__mime.asm +++ /dev/null @@ -1,22 +0,0 @@ - db MR__MIME ; 122 - - db 40, 45, 65, 90, 100, 120 - ; hp atk def spd sat sdf - - db PSYCHIC, PSYCHIC - db 45 ; catch rate - db 136 ; base exp - db NO_ITEM ; item 1 - db MYSTERYBERRY ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 25 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/mr__mime/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn HUMANSHAPE, HUMANSHAPE ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, SOLARBEAM, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, THUNDERPUNCH, DREAM_EATER, REST, ATTRACT, THIEF, FIRE_PUNCH, NIGHTMARE, FLASH, THUNDERBOLT - ; end diff --git a/data/base_stats/muk.asm b/data/base_stats/muk.asm deleted file mode 100644 index 30c6414fd..000000000 --- a/data/base_stats/muk.asm +++ /dev/null @@ -1,22 +0,0 @@ - db MUK ; 089 - - db 105, 105, 75, 50, 65, 100 - ; hp atk def spd sat sdf - - db POISON, POISON - db 75 ; catch rate - db 157 ; base exp - db NO_ITEM ; item 1 - db NUGGET ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/muk/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn AMORPHOUS, AMORPHOUS ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, CURSE, TOXIC, ZAP_CANNON, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, FIRE_BLAST, THUNDERPUNCH, REST, ATTRACT, THIEF, FIRE_PUNCH, FLAMETHROWER, THUNDERBOLT - ; end diff --git a/data/base_stats/murkrow.asm b/data/base_stats/murkrow.asm deleted file mode 100644 index 7f459e8aa..000000000 --- a/data/base_stats/murkrow.asm +++ /dev/null @@ -1,22 +0,0 @@ - db MURKROW ; 198 - - db 60, 85, 42, 91, 85, 42 - ; hp atk def spd sat sdf - - db DARK, FLYING - db 30 ; catch rate - db 107 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/murkrow/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_SLOW ; growth rate - dn AVIAN, AVIAN ; egg groups - - ; tmhm - tmhm CURSE, TOXIC, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, ICY_WIND, PROTECT, ENDURE, FRUSTRATION, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, STEEL_WING, NIGHTMARE, FLY - ; end diff --git a/data/base_stats/natu.asm b/data/base_stats/natu.asm deleted file mode 100644 index 9d00ce7eb..000000000 --- a/data/base_stats/natu.asm +++ /dev/null @@ -1,22 +0,0 @@ - db NATU ; 177 - - db 40, 50, 45, 70, 70, 45 - ; hp atk def spd sat sdf - - db PSYCHIC, FLYING - db 190 ; catch rate - db 73 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/natu/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn AVIAN, AVIAN ; egg groups - - ; tmhm - tmhm CURSE, TOXIC, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, NIGHTMARE, FLASH - ; end diff --git a/data/base_stats/nidoking.asm b/data/base_stats/nidoking.asm deleted file mode 100644 index 316f71e87..000000000 --- a/data/base_stats/nidoking.asm +++ /dev/null @@ -1,22 +0,0 @@ - db NIDOKING ; 034 - - db 81, 92, 77, 85, 85, 75 - ; hp atk def spd sat sdf - - db POISON, GROUND - db 45 ; catch rate - db 195 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F0 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/nidoking/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_SLOW ; growth rate - dn MONSTER, FIELD ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, EARTHQUAKE, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, DEFENSE_CURL, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, FURY_CUTTER, SURF, STRENGTH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM - ; end diff --git a/data/base_stats/nidoqueen.asm b/data/base_stats/nidoqueen.asm deleted file mode 100644 index e9d2ae611..000000000 --- a/data/base_stats/nidoqueen.asm +++ /dev/null @@ -1,22 +0,0 @@ - db NIDOQUEEN ; 031 - - db 90, 82, 87, 76, 75, 85 - ; hp atk def spd sat sdf - - db POISON, GROUND - db 45 ; catch rate - db 194 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F100 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/nidoqueen/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_SLOW ; growth rate - dn NO_EGGS, NO_EGGS ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, EARTHQUAKE, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, DEFENSE_CURL, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, FURY_CUTTER, SURF, STRENGTH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM - ; end diff --git a/data/base_stats/nidoran_f.asm b/data/base_stats/nidoran_f.asm deleted file mode 100644 index 1cd53b17a..000000000 --- a/data/base_stats/nidoran_f.asm +++ /dev/null @@ -1,22 +0,0 @@ - db NIDORAN_F ; 029 - - db 55, 47, 52, 41, 40, 40 - ; hp atk def spd sat sdf - - db POISON, POISON - db 235 ; catch rate - db 59 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F100 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/nidoran_f/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_SLOW ; growth rate - dn MONSTER, FIELD ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, DETECT, REST, ATTRACT, THIEF, THUNDERBOLT - ; end diff --git a/data/base_stats/nidoran_m.asm b/data/base_stats/nidoran_m.asm deleted file mode 100644 index cf0c1e1b2..000000000 --- a/data/base_stats/nidoran_m.asm +++ /dev/null @@ -1,22 +0,0 @@ - db NIDORAN_M ; 032 - - db 46, 57, 40, 50, 40, 40 - ; hp atk def spd sat sdf - - db POISON, POISON - db 235 ; catch rate - db 60 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F0 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/nidoran_m/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_SLOW ; growth rate - dn MONSTER, FIELD ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, DETECT, REST, ATTRACT, THIEF, THUNDERBOLT - ; end diff --git a/data/base_stats/nidorina.asm b/data/base_stats/nidorina.asm deleted file mode 100644 index 42b3aebf8..000000000 --- a/data/base_stats/nidorina.asm +++ /dev/null @@ -1,22 +0,0 @@ - db NIDORINA ; 030 - - db 70, 62, 67, 56, 55, 55 - ; hp atk def spd sat sdf - - db POISON, POISON - db 120 ; catch rate - db 117 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F100 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/nidorina/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_SLOW ; growth rate - dn NO_EGGS, NO_EGGS ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, DETECT, REST, ATTRACT, THIEF, STRENGTH, THUNDERBOLT, ICE_BEAM - ; end diff --git a/data/base_stats/nidorino.asm b/data/base_stats/nidorino.asm deleted file mode 100644 index f31e8df3d..000000000 --- a/data/base_stats/nidorino.asm +++ /dev/null @@ -1,22 +0,0 @@ - db NIDORINO ; 033 - - db 61, 72, 57, 65, 55, 55 - ; hp atk def spd sat sdf - - db POISON, POISON - db 120 ; catch rate - db 118 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F0 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/nidorino/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_SLOW ; growth rate - dn MONSTER, FIELD ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, DETECT, REST, ATTRACT, THIEF, STRENGTH, THUNDERBOLT, ICE_BEAM - ; end diff --git a/data/base_stats/ninetales.asm b/data/base_stats/ninetales.asm deleted file mode 100644 index 5fd84b886..000000000 --- a/data/base_stats/ninetales.asm +++ /dev/null @@ -1,22 +0,0 @@ - db NINETALES ; 038 - - db 73, 76, 75, 100, 81, 100 - ; hp atk def spd sat sdf - - db FIRE, FIRE - db 75 ; catch rate - db 178 ; base exp - db BURNT_BERRY ; item 1 - db BURNT_BERRY ; item 2 - db GENDER_F75 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/ninetales/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn FIELD, FIELD ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, ROAR, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, REST, ATTRACT, FLAMETHROWER - ; end diff --git a/data/base_stats/noctowl.asm b/data/base_stats/noctowl.asm deleted file mode 100644 index e2c8565bd..000000000 --- a/data/base_stats/noctowl.asm +++ /dev/null @@ -1,22 +0,0 @@ - db NOCTOWL ; 164 - - db 100, 50, 50, 70, 76, 96 - ; hp atk def spd sat sdf - - db NORMAL, FLYING - db 90 ; catch rate - db 162 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 15 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/noctowl/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn AVIAN, AVIAN ; egg groups - - ; tmhm - tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, STEEL_WING, NIGHTMARE, FLY, FLASH - ; end diff --git a/data/base_stats/octillery.asm b/data/base_stats/octillery.asm deleted file mode 100644 index 80b5ad97a..000000000 --- a/data/base_stats/octillery.asm +++ /dev/null @@ -1,22 +0,0 @@ - db OCTILLERY ; 224 - - db 75, 105, 75, 45, 105, 75 - ; hp atk def spd sat sdf - - db WATER, WATER - db 75 ; catch rate - db 164 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/octillery/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn AMPHIBIAN, FISH ; egg groups - - ; tmhm - tmhm CURSE, TOXIC, HIDDEN_POWER, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, REST, ATTRACT, THIEF, SURF, WHIRLPOOL, FLAMETHROWER, ICE_BEAM - ; end diff --git a/data/base_stats/oddish.asm b/data/base_stats/oddish.asm deleted file mode 100644 index df75f6485..000000000 --- a/data/base_stats/oddish.asm +++ /dev/null @@ -1,22 +0,0 @@ - db ODDISH ; 043 - - db 45, 50, 55, 30, 75, 65 - ; hp atk def spd sat sdf - - db GRASS, POISON - db 255 ; catch rate - db 78 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/oddish/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_SLOW ; growth rate - dn PLANT, PLANT ; egg groups - - ; tmhm - tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, CUT, FLASH - ; end diff --git a/data/base_stats/omanyte.asm b/data/base_stats/omanyte.asm deleted file mode 100644 index 6278f4e3c..000000000 --- a/data/base_stats/omanyte.asm +++ /dev/null @@ -1,22 +0,0 @@ - db OMANYTE ; 138 - - db 35, 40, 100, 35, 90, 55 - ; hp atk def spd sat sdf - - db ROCK, WATER - db 45 ; catch rate - db 120 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F12_5 ; gender - db 100 ; unknown - db 30 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/omanyte/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn AMPHIBIAN, INVERTEBRATE ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, REST, ATTRACT, THIEF, SURF, WHIRLPOOL, ICE_BEAM - ; end diff --git a/data/base_stats/omastar.asm b/data/base_stats/omastar.asm deleted file mode 100644 index d3f3b15e1..000000000 --- a/data/base_stats/omastar.asm +++ /dev/null @@ -1,22 +0,0 @@ - db OMASTAR ; 139 - - db 70, 60, 125, 55, 115, 70 - ; hp atk def spd sat sdf - - db ROCK, WATER - db 45 ; catch rate - db 199 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F12_5 ; gender - db 100 ; unknown - db 30 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/omastar/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn AMPHIBIAN, INVERTEBRATE ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, REST, ATTRACT, THIEF, SURF, WHIRLPOOL, ICE_BEAM - ; end diff --git a/data/base_stats/onix.asm b/data/base_stats/onix.asm deleted file mode 100644 index 2fc5bd175..000000000 --- a/data/base_stats/onix.asm +++ /dev/null @@ -1,22 +0,0 @@ - db ONIX ; 095 - - db 35, 45, 160, 70, 30, 45 - ; hp atk def spd sat sdf - - db ROCK, GROUND - db 45 ; catch rate - db 108 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 25 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/onix/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn INANIMATE, INANIMATE ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, REST, ATTRACT, STRENGTH - ; end diff --git a/data/base_stats/paras.asm b/data/base_stats/paras.asm deleted file mode 100644 index d86a51765..000000000 --- a/data/base_stats/paras.asm +++ /dev/null @@ -1,22 +0,0 @@ - db PARAS ; 046 - - db 35, 70, 55, 25, 45, 55 - ; hp atk def spd sat sdf - - db BUG, GRASS - db 190 ; catch rate - db 70 ; base exp - db TINYMUSHROOM ; item 1 - db BIG_MUSHROOM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/paras/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn INSECT, PLANT ; egg groups - - ; tmhm - tmhm CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DIG, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, THIEF, FURY_CUTTER, CUT, FLASH - ; end diff --git a/data/base_stats/parasect.asm b/data/base_stats/parasect.asm deleted file mode 100644 index 5c4320fd3..000000000 --- a/data/base_stats/parasect.asm +++ /dev/null @@ -1,22 +0,0 @@ - db PARASECT ; 047 - - db 60, 95, 80, 30, 60, 80 - ; hp atk def spd sat sdf - - db BUG, GRASS - db 75 ; catch rate - db 128 ; base exp - db TINYMUSHROOM ; item 1 - db BIG_MUSHROOM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/parasect/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn INSECT, PLANT ; egg groups - - ; tmhm - tmhm CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DIG, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, THIEF, FURY_CUTTER, CUT, FLASH - ; end diff --git a/data/base_stats/persian.asm b/data/base_stats/persian.asm deleted file mode 100644 index fd2677e16..000000000 --- a/data/base_stats/persian.asm +++ /dev/null @@ -1,22 +0,0 @@ - db PERSIAN ; 053 - - db 65, 70, 60, 115, 65, 65 - ; hp atk def spd sat sdf - - db NORMAL, NORMAL - db 90 ; catch rate - db 148 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/persian/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn FIELD, FIELD ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, ROAR, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, ICY_WIND, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, NIGHTMARE, THUNDERBOLT - ; end diff --git a/data/base_stats/phanpy.asm b/data/base_stats/phanpy.asm deleted file mode 100644 index 93a26d43c..000000000 --- a/data/base_stats/phanpy.asm +++ /dev/null @@ -1,22 +0,0 @@ - db PHANPY ; 231 - - db 90, 60, 60, 40, 40, 40 - ; hp atk def spd sat sdf - - db GROUND, GROUND - db 120 ; catch rate - db 124 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/phanpy/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn FIELD, FIELD ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, DEFENSE_CURL, REST, ATTRACT, STRENGTH - ; end diff --git a/data/base_stats/pichu.asm b/data/base_stats/pichu.asm deleted file mode 100644 index da497bdf8..000000000 --- a/data/base_stats/pichu.asm +++ /dev/null @@ -1,22 +0,0 @@ - db PICHU ; 172 - - db 20, 40, 15, 60, 35, 35 - ; hp atk def spd sat sdf - - db ELECTRIC, ELECTRIC - db 190 ; catch rate - db 42 ; base exp - db NO_ITEM ; item 1 - db BERRY ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 10 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/pichu/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn NO_EGGS, NO_EGGS ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, DETECT, REST, ATTRACT, FLASH, THUNDERBOLT - ; end diff --git a/data/base_stats/pidgeot.asm b/data/base_stats/pidgeot.asm deleted file mode 100644 index 35222d2be..000000000 --- a/data/base_stats/pidgeot.asm +++ /dev/null @@ -1,22 +0,0 @@ - db PIDGEOT ; 018 - - db 83, 80, 75, 91, 70, 70 - ; hp atk def spd sat sdf - - db NORMAL, FLYING - db 45 ; catch rate - db 172 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 15 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/pidgeot/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_SLOW ; growth rate - dn AVIAN, AVIAN ; egg groups - - ; tmhm - tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING, FLY - ; end diff --git a/data/base_stats/pidgeotto.asm b/data/base_stats/pidgeotto.asm deleted file mode 100644 index 13b2d8e0c..000000000 --- a/data/base_stats/pidgeotto.asm +++ /dev/null @@ -1,22 +0,0 @@ - db PIDGEOTTO ; 017 - - db 63, 60, 55, 71, 50, 50 - ; hp atk def spd sat sdf - - db NORMAL, FLYING - db 120 ; catch rate - db 113 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 15 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/pidgeotto/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_SLOW ; growth rate - dn AVIAN, AVIAN ; egg groups - - ; tmhm - tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING, FLY - ; end diff --git a/data/base_stats/pidgey.asm b/data/base_stats/pidgey.asm deleted file mode 100644 index 0290f1717..000000000 --- a/data/base_stats/pidgey.asm +++ /dev/null @@ -1,22 +0,0 @@ - db PIDGEY ; 016 - - db 40, 45, 40, 56, 35, 35 - ; hp atk def spd sat sdf - - db NORMAL, FLYING - db 255 ; catch rate - db 55 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 15 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/pidgey/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_SLOW ; growth rate - dn AVIAN, AVIAN ; egg groups - - ; tmhm - tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING, FLY - ; end diff --git a/data/base_stats/pikachu.asm b/data/base_stats/pikachu.asm deleted file mode 100644 index cd998aead..000000000 --- a/data/base_stats/pikachu.asm +++ /dev/null @@ -1,22 +0,0 @@ - db PIKACHU ; 025 - - db 35, 55, 30, 90, 50, 40 - ; hp atk def spd sat sdf - - db ELECTRIC, ELECTRIC - db 190 ; catch rate - db 82 ; base exp - db NO_ITEM ; item 1 - db BERRY ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 10 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/pikachu/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn FIELD, FAIRY ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, THUNDERPUNCH, DETECT, REST, ATTRACT, STRENGTH, FLASH, THUNDERBOLT - ; end diff --git a/data/base_stats/piloswine.asm b/data/base_stats/piloswine.asm deleted file mode 100644 index dd8bf950b..000000000 --- a/data/base_stats/piloswine.asm +++ /dev/null @@ -1,22 +0,0 @@ - db PILOSWINE ; 221 - - db 100, 100, 80, 50, 60, 60 - ; hp atk def spd sat sdf - - db ICE, GROUND - db 75 ; catch rate - db 160 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/piloswine/front.dimensions" - db 0, 0, 0, 0 ; padding - db SLOW ; growth rate - dn FIELD, FIELD ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, DETECT, REST, ATTRACT, STRENGTH, ICE_BEAM - ; end diff --git a/data/base_stats/pineco.asm b/data/base_stats/pineco.asm deleted file mode 100644 index 2c27a9913..000000000 --- a/data/base_stats/pineco.asm +++ /dev/null @@ -1,22 +0,0 @@ - db PINECO ; 204 - - db 50, 65, 90, 15, 35, 35 - ; hp atk def spd sat sdf - - db BUG, BUG - db 190 ; catch rate - db 60 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/pineco/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn INSECT, INSECT ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, STRENGTH - ; end diff --git a/data/base_stats/pinsir.asm b/data/base_stats/pinsir.asm deleted file mode 100644 index 697bba44c..000000000 --- a/data/base_stats/pinsir.asm +++ /dev/null @@ -1,22 +0,0 @@ - db PINSIR ; 127 - - db 65, 125, 100, 85, 55, 70 - ; hp atk def spd sat sdf - - db BUG, BUG - db 45 ; catch rate - db 200 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 25 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/pinsir/front.dimensions" - db 0, 0, 0, 0 ; padding - db SLOW ; growth rate - dn INSECT, INSECT ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, REST, ATTRACT, THIEF, FURY_CUTTER, CUT, STRENGTH - ; end diff --git a/data/base_stats/politoed.asm b/data/base_stats/politoed.asm deleted file mode 100644 index dd11f5080..000000000 --- a/data/base_stats/politoed.asm +++ /dev/null @@ -1,22 +0,0 @@ - db POLITOED ; 186 - - db 90, 75, 75, 70, 90, 100 - ; hp atk def spd sat sdf - - db WATER, WATER - db 45 ; catch rate - db 185 ; base exp - db NO_ITEM ; item 1 - db KINGS_ROCK ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/politoed/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_SLOW ; growth rate - dn AMPHIBIAN, AMPHIBIAN ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, PSYCHIC, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, DEFENSE_CURL, DETECT, REST, ATTRACT, THIEF, SURF, STRENGTH, WHIRLPOOL, WATERFALL, ICE_BEAM - ; end diff --git a/data/base_stats/poliwag.asm b/data/base_stats/poliwag.asm deleted file mode 100644 index fb362450c..000000000 --- a/data/base_stats/poliwag.asm +++ /dev/null @@ -1,22 +0,0 @@ - db POLIWAG ; 060 - - db 40, 50, 40, 90, 40, 40 - ; hp atk def spd sat sdf - - db WATER, WATER - db 255 ; catch rate - db 77 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/poliwag/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_SLOW ; growth rate - dn AMPHIBIAN, AMPHIBIAN ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, THIEF, SURF, WHIRLPOOL, WATERFALL, ICE_BEAM - ; end diff --git a/data/base_stats/poliwhirl.asm b/data/base_stats/poliwhirl.asm deleted file mode 100644 index d0d461164..000000000 --- a/data/base_stats/poliwhirl.asm +++ /dev/null @@ -1,22 +0,0 @@ - db POLIWHIRL ; 061 - - db 65, 65, 65, 90, 50, 50 - ; hp atk def spd sat sdf - - db WATER, WATER - db 120 ; catch rate - db 131 ; base exp - db NO_ITEM ; item 1 - db KINGS_ROCK ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/poliwhirl/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_SLOW ; growth rate - dn AMPHIBIAN, AMPHIBIAN ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, PSYCHIC, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, DEFENSE_CURL, DETECT, REST, ATTRACT, THIEF, SURF, STRENGTH, WHIRLPOOL, WATERFALL, ICE_BEAM - ; end diff --git a/data/base_stats/poliwrath.asm b/data/base_stats/poliwrath.asm deleted file mode 100644 index 5745daee7..000000000 --- a/data/base_stats/poliwrath.asm +++ /dev/null @@ -1,22 +0,0 @@ - db POLIWRATH ; 062 - - db 90, 85, 95, 70, 70, 90 - ; hp atk def spd sat sdf - - db WATER, FIGHTING - db 45 ; catch rate - db 185 ; base exp - db NO_ITEM ; item 1 - db KINGS_ROCK ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/poliwrath/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_SLOW ; growth rate - dn AMPHIBIAN, AMPHIBIAN ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, PSYCHIC, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, DEFENSE_CURL, DETECT, REST, ATTRACT, THIEF, SURF, STRENGTH, WHIRLPOOL, WATERFALL, ICE_BEAM - ; end diff --git a/data/base_stats/ponyta.asm b/data/base_stats/ponyta.asm deleted file mode 100644 index 5c1f77c98..000000000 --- a/data/base_stats/ponyta.asm +++ /dev/null @@ -1,22 +0,0 @@ - db PONYTA ; 077 - - db 50, 85, 55, 90, 65, 65 - ; hp atk def spd sat sdf - - db FIRE, FIRE - db 190 ; catch rate - db 152 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/ponyta/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn FIELD, FIELD ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, REST, ATTRACT, FLAMETHROWER - ; end diff --git a/data/base_stats/porygon.asm b/data/base_stats/porygon.asm deleted file mode 100644 index b0c99914b..000000000 --- a/data/base_stats/porygon.asm +++ /dev/null @@ -1,22 +0,0 @@ - db PORYGON ; 137 - - db 65, 60, 70, 40, 85, 75 - ; hp atk def spd sat sdf - - db NORMAL, NORMAL - db 45 ; catch rate - db 130 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDERLESS ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/porygon/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn INANIMATE, INANIMATE ; egg groups - - ; tmhm - tmhm CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DREAM_EATER, REST, THIEF, NIGHTMARE, FLASH, THUNDERBOLT, ICE_BEAM - ; end diff --git a/data/base_stats/porygon2.asm b/data/base_stats/porygon2.asm deleted file mode 100644 index 9e049a156..000000000 --- a/data/base_stats/porygon2.asm +++ /dev/null @@ -1,22 +0,0 @@ - db PORYGON2 ; 233 - - db 85, 80, 90, 60, 105, 95 - ; hp atk def spd sat sdf - - db NORMAL, NORMAL - db 45 ; catch rate - db 180 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDERLESS ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/porygon2/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn INANIMATE, INANIMATE ; egg groups - - ; tmhm - tmhm CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, DREAM_EATER, REST, THIEF, NIGHTMARE, FLASH, THUNDERBOLT, ICE_BEAM - ; end diff --git a/data/base_stats/primeape.asm b/data/base_stats/primeape.asm deleted file mode 100644 index 249f9bee4..000000000 --- a/data/base_stats/primeape.asm +++ /dev/null @@ -1,22 +0,0 @@ - db PRIMEAPE ; 057 - - db 65, 105, 60, 95, 60, 70 - ; hp atk def spd sat sdf - - db FIGHTING, FIGHTING - db 75 ; catch rate - db 149 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/primeape/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn FIELD, FIELD ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH, THUNDERBOLT - ; end diff --git a/data/base_stats/psyduck.asm b/data/base_stats/psyduck.asm deleted file mode 100644 index 261fdde99..000000000 --- a/data/base_stats/psyduck.asm +++ /dev/null @@ -1,22 +0,0 @@ - db PSYDUCK ; 054 - - db 50, 52, 48, 55, 65, 50 - ; hp atk def spd sat sdf - - db WATER, WATER - db 190 ; catch rate - db 80 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/psyduck/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn AMPHIBIAN, FIELD ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, SURF, STRENGTH, FLASH, WHIRLPOOL, WATERFALL, ICE_BEAM - ; end diff --git a/data/base_stats/pupitar.asm b/data/base_stats/pupitar.asm deleted file mode 100644 index 63c0a41a7..000000000 --- a/data/base_stats/pupitar.asm +++ /dev/null @@ -1,22 +0,0 @@ - db PUPITAR ; 247 - - db 70, 84, 70, 51, 65, 70 - ; hp atk def spd sat sdf - - db ROCK, GROUND - db 45 ; catch rate - db 144 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 40 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/pupitar/front.dimensions" - db 0, 0, 0, 0 ; padding - db SLOW ; growth rate - dn MONSTER, MONSTER ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, DETECT, REST, ATTRACT - ; end diff --git a/data/base_stats/quagsire.asm b/data/base_stats/quagsire.asm deleted file mode 100644 index 0f49866e7..000000000 --- a/data/base_stats/quagsire.asm +++ /dev/null @@ -1,22 +0,0 @@ - db QUAGSIRE ; 195 - - db 95, 85, 85, 35, 65, 65 - ; hp atk def spd sat sdf - - db WATER, GROUND - db 90 ; catch rate - db 137 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/quagsire/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn AMPHIBIAN, FIELD ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, SANDSTORM, DEFENSE_CURL, REST, ATTRACT, SURF, STRENGTH, FLASH, WHIRLPOOL, ICE_BEAM - ; end diff --git a/data/base_stats/quilava.asm b/data/base_stats/quilava.asm deleted file mode 100644 index efadeda06..000000000 --- a/data/base_stats/quilava.asm +++ /dev/null @@ -1,22 +0,0 @@ - db QUILAVA ; 156 - - db 58, 64, 58, 80, 80, 65 - ; hp atk def spd sat sdf - - db FIRE, FIRE - db 45 ; catch rate - db 142 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F12_5 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/quilava/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_SLOW ; growth rate - dn FIELD, FIELD ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DEFENSE_CURL, DETECT, REST, ATTRACT, FURY_CUTTER, CUT, STRENGTH, FLAMETHROWER - ; end diff --git a/data/base_stats/qwilfish.asm b/data/base_stats/qwilfish.asm deleted file mode 100644 index 70648e5fd..000000000 --- a/data/base_stats/qwilfish.asm +++ /dev/null @@ -1,22 +0,0 @@ - db QWILFISH ; 211 - - db 65, 95, 75, 85, 55, 55 - ; hp atk def spd sat sdf - - db WATER, POISON - db 45 ; catch rate - db 100 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/qwilfish/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn FISH, FISH ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, SWIFT, DEFENSE_CURL, REST, ATTRACT, SURF, WHIRLPOOL, WATERFALL, ICE_BEAM - ; end diff --git a/data/base_stats/raichu.asm b/data/base_stats/raichu.asm deleted file mode 100644 index cdc5193cd..000000000 --- a/data/base_stats/raichu.asm +++ /dev/null @@ -1,22 +0,0 @@ - db RAICHU ; 026 - - db 60, 90, 55, 100, 90, 80 - ; hp atk def spd sat sdf - - db ELECTRIC, ELECTRIC - db 75 ; catch rate - db 122 ; base exp - db NO_ITEM ; item 1 - db BERRY ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 10 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/raichu/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn FIELD, FAIRY ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, STRENGTH, FLASH, THUNDERBOLT - ; end diff --git a/data/base_stats/raikou.asm b/data/base_stats/raikou.asm deleted file mode 100644 index a68f16181..000000000 --- a/data/base_stats/raikou.asm +++ /dev/null @@ -1,22 +0,0 @@ - db RAIKOU ; 243 - - db 90, 85, 75, 115, 115, 100 - ; hp atk def spd sat sdf - - db ELECTRIC, ELECTRIC - db 3 ; catch rate - db 216 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDERLESS ; gender - db 100 ; unknown - db 80 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/raikou/front.dimensions" - db 0, 0, 0, 0 ; padding - db SLOW ; growth rate - dn NO_EGGS, NO_EGGS ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, SWIFT, DETECT, REST, CUT, STRENGTH, FLASH, THUNDERBOLT - ; end diff --git a/data/base_stats/rapidash.asm b/data/base_stats/rapidash.asm deleted file mode 100644 index 0167e7439..000000000 --- a/data/base_stats/rapidash.asm +++ /dev/null @@ -1,22 +0,0 @@ - db RAPIDASH ; 078 - - db 65, 100, 70, 105, 80, 80 - ; hp atk def spd sat sdf - - db FIRE, FIRE - db 60 ; catch rate - db 192 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/rapidash/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn FIELD, FIELD ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, REST, ATTRACT, FLAMETHROWER - ; end diff --git a/data/base_stats/raticate.asm b/data/base_stats/raticate.asm deleted file mode 100644 index 1cfc65906..000000000 --- a/data/base_stats/raticate.asm +++ /dev/null @@ -1,22 +0,0 @@ - db RATICATE ; 020 - - db 55, 81, 60, 97, 50, 70 - ; hp atk def spd sat sdf - - db NORMAL, NORMAL - db 90 ; catch rate - db 116 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 15 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/raticate/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn FIELD, FIELD ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, DIG, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, REST, ATTRACT, THIEF, CUT, STRENGTH, THUNDERBOLT, ICE_BEAM - ; end diff --git a/data/base_stats/rattata.asm b/data/base_stats/rattata.asm deleted file mode 100644 index 13c21e889..000000000 --- a/data/base_stats/rattata.asm +++ /dev/null @@ -1,22 +0,0 @@ - db RATTATA ; 019 - - db 30, 56, 35, 72, 25, 35 - ; hp atk def spd sat sdf - - db NORMAL, NORMAL - db 255 ; catch rate - db 57 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 15 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/rattata/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn FIELD, FIELD ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, ICY_WIND, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, DIG, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, REST, ATTRACT, THIEF - ; end diff --git a/data/base_stats/remoraid.asm b/data/base_stats/remoraid.asm deleted file mode 100644 index 10ae15479..000000000 --- a/data/base_stats/remoraid.asm +++ /dev/null @@ -1,22 +0,0 @@ - db REMORAID ; 223 - - db 35, 65, 35, 65, 65, 35 - ; hp atk def spd sat sdf - - db WATER, WATER - db 190 ; catch rate - db 78 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/remoraid/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn AMPHIBIAN, FISH ; egg groups - - ; tmhm - tmhm CURSE, TOXIC, HIDDEN_POWER, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, REST, ATTRACT, THIEF, SURF, WHIRLPOOL, FLAMETHROWER, ICE_BEAM - ; end diff --git a/data/base_stats/rhydon.asm b/data/base_stats/rhydon.asm deleted file mode 100644 index cdcfb4cad..000000000 --- a/data/base_stats/rhydon.asm +++ /dev/null @@ -1,22 +0,0 @@ - db RHYDON ; 112 - - db 105, 130, 120, 40, 45, 45 - ; hp atk def spd sat sdf - - db GROUND, ROCK - db 60 ; catch rate - db 204 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/rhydon/front.dimensions" - db 0, 0, 0, 0 ; padding - db SLOW ; growth rate - dn MONSTER, FIELD ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, THUNDERPUNCH, REST, ATTRACT, FIRE_PUNCH, FURY_CUTTER, SURF, STRENGTH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM - ; end diff --git a/data/base_stats/rhyhorn.asm b/data/base_stats/rhyhorn.asm deleted file mode 100644 index 67d438751..000000000 --- a/data/base_stats/rhyhorn.asm +++ /dev/null @@ -1,22 +0,0 @@ - db RHYHORN ; 111 - - db 80, 85, 95, 25, 30, 30 - ; hp atk def spd sat sdf - - db GROUND, ROCK - db 120 ; catch rate - db 135 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/rhyhorn/front.dimensions" - db 0, 0, 0, 0 ; padding - db SLOW ; growth rate - dn MONSTER, FIELD ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, ICY_WIND, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, REST, ATTRACT, STRENGTH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM - ; end diff --git a/data/base_stats/sandshrew.asm b/data/base_stats/sandshrew.asm deleted file mode 100644 index cc0a4c492..000000000 --- a/data/base_stats/sandshrew.asm +++ /dev/null @@ -1,22 +0,0 @@ - db SANDSHREW ; 027 - - db 50, 75, 85, 40, 20, 30 - ; hp atk def spd sat sdf - - db GROUND, GROUND - db 255 ; catch rate - db 93 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/sandshrew/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn FIELD, FIELD ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, SWIFT, DEFENSE_CURL, DETECT, REST, ATTRACT, THIEF, FURY_CUTTER, CUT, STRENGTH - ; end diff --git a/data/base_stats/sandslash.asm b/data/base_stats/sandslash.asm deleted file mode 100644 index 75f66b363..000000000 --- a/data/base_stats/sandslash.asm +++ /dev/null @@ -1,22 +0,0 @@ - db SANDSLASH ; 028 - - db 75, 100, 110, 65, 45, 55 - ; hp atk def spd sat sdf - - db GROUND, GROUND - db 90 ; catch rate - db 163 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/sandslash/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn FIELD, FIELD ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, SWIFT, DEFENSE_CURL, DETECT, REST, ATTRACT, THIEF, FURY_CUTTER, CUT, STRENGTH - ; end diff --git a/data/base_stats/scizor.asm b/data/base_stats/scizor.asm deleted file mode 100644 index 127110c7a..000000000 --- a/data/base_stats/scizor.asm +++ /dev/null @@ -1,22 +0,0 @@ - db SCIZOR ; 212 - - db 70, 130, 100, 65, 55, 80 - ; hp atk def spd sat sdf - - db BUG, STEEL - db 25 ; catch rate - db 200 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 25 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/scizor/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn INSECT, INSECT ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING, FURY_CUTTER, CUT, STRENGTH - ; end diff --git a/data/base_stats/scyther.asm b/data/base_stats/scyther.asm deleted file mode 100644 index 4c4779f0f..000000000 --- a/data/base_stats/scyther.asm +++ /dev/null @@ -1,22 +0,0 @@ - db SCYTHER ; 123 - - db 70, 110, 80, 105, 55, 80 - ; hp atk def spd sat sdf - - db BUG, FLYING - db 45 ; catch rate - db 187 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 25 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/scyther/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn INSECT, INSECT ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING, FURY_CUTTER, CUT - ; end diff --git a/data/base_stats/seadra.asm b/data/base_stats/seadra.asm deleted file mode 100644 index b4dc47c20..000000000 --- a/data/base_stats/seadra.asm +++ /dev/null @@ -1,22 +0,0 @@ - db SEADRA ; 117 - - db 55, 65, 95, 85, 95, 45 - ; hp atk def spd sat sdf - - db WATER, WATER - db 75 ; catch rate - db 155 ; base exp - db NO_ITEM ; item 1 - db DRAGON_SCALE ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/seadra/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn AMPHIBIAN, REPTILE ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, DRAGONBREATH, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, SURF, WHIRLPOOL, WATERFALL, ICE_BEAM - ; end diff --git a/data/base_stats/seaking.asm b/data/base_stats/seaking.asm deleted file mode 100644 index 4d6d2f91e..000000000 --- a/data/base_stats/seaking.asm +++ /dev/null @@ -1,22 +0,0 @@ - db SEAKING ; 119 - - db 80, 92, 65, 68, 65, 80 - ; hp atk def spd sat sdf - - db WATER, WATER - db 60 ; catch rate - db 170 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/seaking/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn FISH, FISH ; egg groups - - ; tmhm - tmhm CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, SURF, WATERFALL, ICE_BEAM - ; end diff --git a/data/base_stats/seel.asm b/data/base_stats/seel.asm deleted file mode 100644 index 39b44fad8..000000000 --- a/data/base_stats/seel.asm +++ /dev/null @@ -1,22 +0,0 @@ - db SEEL ; 086 - - db 65, 45, 55, 45, 45, 70 - ; hp atk def spd sat sdf - - db WATER, WATER - db 190 ; catch rate - db 100 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/seel/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn AMPHIBIAN, FIELD ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, REST, ATTRACT, SURF, WHIRLPOOL, WATERFALL, ICE_BEAM - ; end diff --git a/data/base_stats/sentret.asm b/data/base_stats/sentret.asm deleted file mode 100644 index 12e120087..000000000 --- a/data/base_stats/sentret.asm +++ /dev/null @@ -1,22 +0,0 @@ - db SENTRET ; 161 - - db 35, 46, 34, 20, 35, 45 - ; hp atk def spd sat sdf - - db NORMAL, NORMAL - db 255 ; catch rate - db 57 ; base exp - db NO_ITEM ; item 1 - db BERRY ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 15 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/sentret/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn FIELD, FIELD ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, FURY_CUTTER, CUT, SURF - ; end diff --git a/data/base_stats/shellder.asm b/data/base_stats/shellder.asm deleted file mode 100644 index fb60ff262..000000000 --- a/data/base_stats/shellder.asm +++ /dev/null @@ -1,22 +0,0 @@ - db SHELLDER ; 090 - - db 30, 65, 100, 40, 45, 25 - ; hp atk def spd sat sdf - - db WATER, WATER - db 190 ; catch rate - db 97 ; base exp - db PEARL ; item 1 - db BIG_PEARL ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/shellder/front.dimensions" - db 0, 0, 0, 0 ; padding - db SLOW ; growth rate - dn INVERTEBRATE, INVERTEBRATE ; egg groups - - ; tmhm - tmhm CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, SURF, WHIRLPOOL, ICE_BEAM - ; end diff --git a/data/base_stats/shuckle.asm b/data/base_stats/shuckle.asm deleted file mode 100644 index 7cd31ad79..000000000 --- a/data/base_stats/shuckle.asm +++ /dev/null @@ -1,22 +0,0 @@ - db SHUCKLE ; 213 - - db 20, 10, 230, 05, 10, 230 - ; hp atk def spd sat sdf - - db BUG, ROCK - db 190 ; catch rate - db 80 ; base exp - db BERRY ; item 1 - db BERRY ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/shuckle/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_SLOW ; growth rate - dn INSECT, INSECT ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, SANDSTORM, DEFENSE_CURL, REST, ATTRACT, STRENGTH, FLASH - ; end diff --git a/data/base_stats/skarmory.asm b/data/base_stats/skarmory.asm deleted file mode 100644 index cf271b39f..000000000 --- a/data/base_stats/skarmory.asm +++ /dev/null @@ -1,22 +0,0 @@ - db SKARMORY ; 227 - - db 65, 80, 140, 70, 40, 70 - ; hp atk def spd sat sdf - - db STEEL, FLYING - db 25 ; catch rate - db 168 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 25 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/skarmory/front.dimensions" - db 0, 0, 0, 0 ; padding - db SLOW ; growth rate - dn AVIAN, AVIAN ; egg groups - - ; tmhm - tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING, CUT, FLY - ; end diff --git a/data/base_stats/skiploom.asm b/data/base_stats/skiploom.asm deleted file mode 100644 index 46bbc8a8c..000000000 --- a/data/base_stats/skiploom.asm +++ /dev/null @@ -1,22 +0,0 @@ - db SKIPLOOM ; 188 - - db 55, 45, 50, 80, 45, 65 - ; hp atk def spd sat sdf - - db GRASS, FLYING - db 120 ; catch rate - db 136 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/skiploom/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_SLOW ; growth rate - dn FAIRY, PLANT ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, FLASH - ; end diff --git a/data/base_stats/slowbro.asm b/data/base_stats/slowbro.asm deleted file mode 100644 index 12e172238..000000000 --- a/data/base_stats/slowbro.asm +++ /dev/null @@ -1,22 +0,0 @@ - db SLOWBRO ; 080 - - db 95, 75, 110, 30, 100, 80 - ; hp atk def spd sat sdf - - db WATER, PSYCHIC - db 75 ; catch rate - db 164 ; base exp - db NO_ITEM ; item 1 - db KINGS_ROCK ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/slowbro/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn MONSTER, AMPHIBIAN ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DREAM_EATER, REST, ATTRACT, FURY_CUTTER, NIGHTMARE, SURF, STRENGTH, FLASH, FLAMETHROWER, ICE_BEAM - ; end diff --git a/data/base_stats/slowking.asm b/data/base_stats/slowking.asm deleted file mode 100644 index 7307ca826..000000000 --- a/data/base_stats/slowking.asm +++ /dev/null @@ -1,22 +0,0 @@ - db SLOWKING ; 199 - - db 95, 75, 80, 30, 100, 110 - ; hp atk def spd sat sdf - - db WATER, PSYCHIC - db 70 ; catch rate - db 164 ; base exp - db NO_ITEM ; item 1 - db KINGS_ROCK ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/slowking/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn MONSTER, AMPHIBIAN ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DREAM_EATER, REST, ATTRACT, FURY_CUTTER, NIGHTMARE, SURF, STRENGTH, FLASH, WHIRLPOOL, FLAMETHROWER, ICE_BEAM - ; end diff --git a/data/base_stats/slowpoke.asm b/data/base_stats/slowpoke.asm deleted file mode 100644 index 36bf88af2..000000000 --- a/data/base_stats/slowpoke.asm +++ /dev/null @@ -1,22 +0,0 @@ - db SLOWPOKE ; 079 - - db 90, 65, 65, 15, 40, 40 - ; hp atk def spd sat sdf - - db WATER, PSYCHIC - db 190 ; catch rate - db 99 ; base exp - db NO_ITEM ; item 1 - db KINGS_ROCK ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/slowpoke/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn MONSTER, AMPHIBIAN ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DREAM_EATER, REST, ATTRACT, NIGHTMARE, SURF, STRENGTH, FLASH, FLAMETHROWER, ICE_BEAM - ; end diff --git a/data/base_stats/slugma.asm b/data/base_stats/slugma.asm deleted file mode 100644 index a760dd40e..000000000 --- a/data/base_stats/slugma.asm +++ /dev/null @@ -1,22 +0,0 @@ - db SLUGMA ; 218 - - db 40, 40, 40, 20, 70, 40 - ; hp atk def spd sat sdf - - db FIRE, FIRE - db 190 ; catch rate - db 78 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/slugma/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn AMORPHOUS, AMORPHOUS ; egg groups - - ; tmhm - tmhm CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, DEFENSE_CURL, REST, ATTRACT, FLAMETHROWER - ; end diff --git a/data/base_stats/smeargle.asm b/data/base_stats/smeargle.asm deleted file mode 100644 index d80443acf..000000000 --- a/data/base_stats/smeargle.asm +++ /dev/null @@ -1,22 +0,0 @@ - db SMEARGLE ; 235 - - db 55, 20, 35, 75, 20, 45 - ; hp atk def spd sat sdf - - db NORMAL, NORMAL - db 45 ; catch rate - db 106 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/smeargle/front.dimensions" - db 0, 0, 0, 0 ; padding - db FAST ; growth rate - dn FIELD, FIELD ; egg groups - - ; tmhm - tmhm - ; end diff --git a/data/base_stats/smoochum.asm b/data/base_stats/smoochum.asm deleted file mode 100644 index 69d74d5e8..000000000 --- a/data/base_stats/smoochum.asm +++ /dev/null @@ -1,22 +0,0 @@ - db SMOOCHUM ; 238 - - db 45, 30, 15, 65, 85, 65 - ; hp atk def spd sat sdf - - db ICE, PSYCHIC - db 45 ; catch rate - db 87 ; base exp - db ICE_BERRY ; item 1 - db ICE_BERRY ; item 2 - db GENDER_F100 ; gender - db 100 ; unknown - db 25 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/smoochum/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn NO_EGGS, NO_EGGS ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, CURSE, TOXIC, PSYCH_UP, HIDDEN_POWER, SWEET_SCENT, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, DREAM_EATER, REST, ATTRACT, THIEF, NIGHTMARE, ICE_BEAM - ; end diff --git a/data/base_stats/sneasel.asm b/data/base_stats/sneasel.asm deleted file mode 100644 index 3abea4b7a..000000000 --- a/data/base_stats/sneasel.asm +++ /dev/null @@ -1,22 +0,0 @@ - db SNEASEL ; 215 - - db 55, 95, 55, 115, 35, 75 - ; hp atk def spd sat sdf - - db DARK, ICE - db 60 ; catch rate - db 132 ; base exp - db NO_ITEM ; item 1 - db QUICK_CLAW ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/sneasel/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_SLOW ; growth rate - dn FIELD, FIELD ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, FURY_CUTTER, NIGHTMARE, CUT, SURF, STRENGTH, ICE_BEAM - ; end diff --git a/data/base_stats/snorlax.asm b/data/base_stats/snorlax.asm deleted file mode 100644 index 0efe599c5..000000000 --- a/data/base_stats/snorlax.asm +++ /dev/null @@ -1,22 +0,0 @@ - db SNORLAX ; 143 - - db 160, 110, 65, 30, 65, 110 - ; hp atk def spd sat sdf - - db NORMAL, NORMAL - db 25 ; catch rate - db 154 ; base exp - db LEFTOVERS ; item 1 - db LEFTOVERS ; item 2 - db GENDER_F12_5 ; gender - db 100 ; unknown - db 40 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/snorlax/front.dimensions" - db 0, 0, 0, 0 ; padding - db SLOW ; growth rate - dn MONSTER, MONSTER ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, THUNDER, EARTHQUAKE, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, DEFENSE_CURL, THUNDERPUNCH, REST, ATTRACT, FIRE_PUNCH, SURF, STRENGTH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM - ; end diff --git a/data/base_stats/snubbull.asm b/data/base_stats/snubbull.asm deleted file mode 100644 index 00d94a3cb..000000000 --- a/data/base_stats/snubbull.asm +++ /dev/null @@ -1,22 +0,0 @@ - db SNUBBULL ; 209 - - db 60, 80, 50, 30, 40, 40 - ; hp atk def spd sat sdf - - db NORMAL, NORMAL - db 190 ; catch rate - db 63 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F75 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/snubbull/front.dimensions" - db 0, 0, 0, 0 ; padding - db FAST ; growth rate - dn FIELD, FAIRY ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, DEFENSE_CURL, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH, THUNDERBOLT - ; end diff --git a/data/base_stats/spearow.asm b/data/base_stats/spearow.asm deleted file mode 100644 index b94e3559c..000000000 --- a/data/base_stats/spearow.asm +++ /dev/null @@ -1,22 +0,0 @@ - db SPEAROW ; 021 - - db 40, 60, 30, 70, 31, 31 - ; hp atk def spd sat sdf - - db NORMAL, FLYING - db 255 ; catch rate - db 58 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 15 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/spearow/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn AVIAN, AVIAN ; egg groups - - ; tmhm - tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING, FLY - ; end diff --git a/data/base_stats/spinarak.asm b/data/base_stats/spinarak.asm deleted file mode 100644 index d9ca7679f..000000000 --- a/data/base_stats/spinarak.asm +++ /dev/null @@ -1,22 +0,0 @@ - db SPINARAK ; 167 - - db 40, 60, 40, 30, 40, 40 - ; hp atk def spd sat sdf - - db BUG, POISON - db 255 ; catch rate - db 54 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 15 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/spinarak/front.dimensions" - db 0, 0, 0, 0 ; padding - db FAST ; growth rate - dn INSECT, INSECT ; egg groups - - ; tmhm - tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DIG, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, THIEF, FLASH - ; end diff --git a/data/base_stats/squirtle.asm b/data/base_stats/squirtle.asm deleted file mode 100644 index 1d9faa25d..000000000 --- a/data/base_stats/squirtle.asm +++ /dev/null @@ -1,22 +0,0 @@ - db SQUIRTLE ; 007 - - db 44, 48, 65, 43, 50, 64 - ; hp atk def spd sat sdf - - db WATER, WATER - db 45 ; catch rate - db 66 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F12_5 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/squirtle/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_SLOW ; growth rate - dn MONSTER, AMPHIBIAN ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, SURF, STRENGTH, WHIRLPOOL, WATERFALL, ICE_BEAM - ; end diff --git a/data/base_stats/stantler.asm b/data/base_stats/stantler.asm deleted file mode 100644 index 1978739e7..000000000 --- a/data/base_stats/stantler.asm +++ /dev/null @@ -1,22 +0,0 @@ - db STANTLER ; 234 - - db 73, 95, 62, 85, 85, 65 - ; hp atk def spd sat sdf - - db NORMAL, NORMAL - db 45 ; catch rate - db 165 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/stantler/front.dimensions" - db 0, 0, 0, 0 ; padding - db SLOW ; growth rate - dn FIELD, FIELD ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, ROAR, TOXIC, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, PSYCHIC, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, NIGHTMARE, FLASH - ; end diff --git a/data/base_stats/starmie.asm b/data/base_stats/starmie.asm deleted file mode 100644 index aa60f18d2..000000000 --- a/data/base_stats/starmie.asm +++ /dev/null @@ -1,22 +0,0 @@ - db STARMIE ; 121 - - db 60, 75, 85, 115, 100, 85 - ; hp atk def spd sat sdf - - db WATER, PSYCHIC - db 60 ; catch rate - db 207 ; base exp - db STARDUST ; item 1 - db STAR_PIECE ; item 2 - db GENDERLESS ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/starmie/front.dimensions" - db 0, 0, 0, 0 ; padding - db SLOW ; growth rate - dn INVERTEBRATE, INVERTEBRATE ; egg groups - - ; tmhm - tmhm CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DREAM_EATER, REST, ATTRACT, NIGHTMARE, SURF, FLASH, WHIRLPOOL, WATERFALL, THUNDERBOLT, ICE_BEAM - ; end diff --git a/data/base_stats/staryu.asm b/data/base_stats/staryu.asm deleted file mode 100644 index d0520c3cc..000000000 --- a/data/base_stats/staryu.asm +++ /dev/null @@ -1,22 +0,0 @@ - db STARYU ; 120 - - db 30, 45, 55, 85, 70, 55 - ; hp atk def spd sat sdf - - db WATER, WATER - db 225 ; catch rate - db 106 ; base exp - db STARDUST ; item 1 - db STAR_PIECE ; item 2 - db GENDERLESS ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/staryu/front.dimensions" - db 0, 0, 0, 0 ; padding - db SLOW ; growth rate - dn INVERTEBRATE, INVERTEBRATE ; egg groups - - ; tmhm - tmhm CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, SURF, FLASH, WHIRLPOOL, WATERFALL, THUNDERBOLT, ICE_BEAM - ; end diff --git a/data/base_stats/steelix.asm b/data/base_stats/steelix.asm deleted file mode 100644 index df5d8940c..000000000 --- a/data/base_stats/steelix.asm +++ /dev/null @@ -1,22 +0,0 @@ - db STEELIX ; 208 - - db 75, 85, 200, 30, 55, 65 - ; hp atk def spd sat sdf - - db STEEL, GROUND - db 25 ; catch rate - db 196 ; base exp - db NO_ITEM ; item 1 - db METAL_COAT ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 25 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/steelix/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn INANIMATE, INANIMATE ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, DEFENSE_CURL, REST, ATTRACT, CUT, STRENGTH - ; end diff --git a/data/base_stats/sudowoodo.asm b/data/base_stats/sudowoodo.asm deleted file mode 100644 index 1c6c33984..000000000 --- a/data/base_stats/sudowoodo.asm +++ /dev/null @@ -1,22 +0,0 @@ - db SUDOWOODO ; 185 - - db 70, 100, 115, 30, 30, 65 - ; hp atk def spd sat sdf - - db ROCK, ROCK - db 65 ; catch rate - db 135 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/sudowoodo/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn INANIMATE, INANIMATE ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SANDSTORM, DEFENSE_CURL, THUNDERPUNCH, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH - ; end diff --git a/data/base_stats/suicune.asm b/data/base_stats/suicune.asm deleted file mode 100644 index 04ece5516..000000000 --- a/data/base_stats/suicune.asm +++ /dev/null @@ -1,22 +0,0 @@ - db SUICUNE ; 245 - - db 100, 75, 115, 85, 90, 115 - ; hp atk def spd sat sdf - - db WATER, WATER - db 3 ; catch rate - db 215 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDERLESS ; gender - db 100 ; unknown - db 80 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/suicune/front.dimensions" - db 0, 0, 0, 0 ; padding - db SLOW ; growth rate - dn NO_EGGS, NO_EGGS ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, SWIFT, DETECT, REST, CUT, SURF, WHIRLPOOL, WATERFALL, ICE_BEAM - ; end diff --git a/data/base_stats/sunflora.asm b/data/base_stats/sunflora.asm deleted file mode 100644 index 97974939c..000000000 --- a/data/base_stats/sunflora.asm +++ /dev/null @@ -1,22 +0,0 @@ - db SUNFLORA ; 192 - - db 75, 75, 55, 30, 105, 85 - ; hp atk def spd sat sdf - - db GRASS, GRASS - db 120 ; catch rate - db 146 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/sunflora/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_SLOW ; growth rate - dn PLANT, PLANT ; egg groups - - ; tmhm - tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, CUT, FLASH - ; end diff --git a/data/base_stats/sunkern.asm b/data/base_stats/sunkern.asm deleted file mode 100644 index 054625425..000000000 --- a/data/base_stats/sunkern.asm +++ /dev/null @@ -1,22 +0,0 @@ - db SUNKERN ; 191 - - db 30, 30, 30, 30, 30, 30 - ; hp atk def spd sat sdf - - db GRASS, GRASS - db 235 ; catch rate - db 52 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/sunkern/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_SLOW ; growth rate - dn PLANT, PLANT ; egg groups - - ; tmhm - tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, CUT, FLASH - ; end diff --git a/data/base_stats/swinub.asm b/data/base_stats/swinub.asm deleted file mode 100644 index 37f1dd67d..000000000 --- a/data/base_stats/swinub.asm +++ /dev/null @@ -1,22 +0,0 @@ - db SWINUB ; 220 - - db 50, 50, 40, 50, 30, 30 - ; hp atk def spd sat sdf - - db ICE, GROUND - db 225 ; catch rate - db 78 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/swinub/front.dimensions" - db 0, 0, 0, 0 ; padding - db SLOW ; growth rate - dn FIELD, FIELD ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, DETECT, REST, ATTRACT, STRENGTH, ICE_BEAM - ; end diff --git a/data/base_stats/tangela.asm b/data/base_stats/tangela.asm deleted file mode 100644 index 9bb27ffca..000000000 --- a/data/base_stats/tangela.asm +++ /dev/null @@ -1,22 +0,0 @@ - db TANGELA ; 114 - - db 65, 55, 115, 60, 100, 40 - ; hp atk def spd sat sdf - - db GRASS, GRASS - db 45 ; catch rate - db 166 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/tangela/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn PLANT, PLANT ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, TOXIC, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, THIEF, CUT, FLASH - ; end diff --git a/data/base_stats/tauros.asm b/data/base_stats/tauros.asm deleted file mode 100644 index 553458e83..000000000 --- a/data/base_stats/tauros.asm +++ /dev/null @@ -1,22 +0,0 @@ - db TAUROS ; 128 - - db 75, 100, 95, 110, 40, 70 - ; hp atk def spd sat sdf - - db NORMAL, NORMAL - db 45 ; catch rate - db 211 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F0 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/tauros/front.dimensions" - db 0, 0, 0, 0 ; padding - db SLOW ; growth rate - dn FIELD, FIELD ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, EARTHQUAKE, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, REST, ATTRACT, SURF, STRENGTH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM - ; end diff --git a/data/base_stats/teddiursa.asm b/data/base_stats/teddiursa.asm deleted file mode 100644 index d636aed87..000000000 --- a/data/base_stats/teddiursa.asm +++ /dev/null @@ -1,22 +0,0 @@ - db TEDDIURSA ; 216 - - db 60, 80, 50, 40, 50, 50 - ; hp atk def spd sat sdf - - db NORMAL, NORMAL - db 120 ; catch rate - db 124 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/teddiursa/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn FIELD, FIELD ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, THUNDERPUNCH, REST, ATTRACT, THIEF, FIRE_PUNCH, FURY_CUTTER, CUT, STRENGTH - ; end diff --git a/data/base_stats/tentacool.asm b/data/base_stats/tentacool.asm deleted file mode 100644 index b13879b47..000000000 --- a/data/base_stats/tentacool.asm +++ /dev/null @@ -1,22 +0,0 @@ - db TENTACOOL ; 072 - - db 40, 40, 35, 70, 50, 100 - ; hp atk def spd sat sdf - - db WATER, POISON - db 190 ; catch rate - db 105 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/tentacool/front.dimensions" - db 0, 0, 0, 0 ; padding - db SLOW ; growth rate - dn INVERTEBRATE, INVERTEBRATE ; egg groups - - ; tmhm - tmhm CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, GIGA_DRAIN, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, CUT, SURF, WHIRLPOOL, ICE_BEAM - ; end diff --git a/data/base_stats/tentacruel.asm b/data/base_stats/tentacruel.asm deleted file mode 100644 index a678d13a8..000000000 --- a/data/base_stats/tentacruel.asm +++ /dev/null @@ -1,22 +0,0 @@ - db TENTACRUEL ; 073 - - db 80, 70, 65, 100, 80, 120 - ; hp atk def spd sat sdf - - db WATER, POISON - db 60 ; catch rate - db 205 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/tentacruel/front.dimensions" - db 0, 0, 0, 0 ; padding - db SLOW ; growth rate - dn INVERTEBRATE, INVERTEBRATE ; egg groups - - ; tmhm - tmhm CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, GIGA_DRAIN, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, CUT, SURF, WHIRLPOOL, ICE_BEAM - ; end diff --git a/data/base_stats/togepi.asm b/data/base_stats/togepi.asm deleted file mode 100644 index 51249de6d..000000000 --- a/data/base_stats/togepi.asm +++ /dev/null @@ -1,22 +0,0 @@ - db TOGEPI ; 175 - - db 35, 20, 65, 20, 40, 65 - ; hp atk def spd sat sdf - - db NORMAL, NORMAL - db 190 ; catch rate - db 74 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F12_5 ; gender - db 100 ; unknown - db 10 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/togepi/front.dimensions" - db 0, 0, 0, 0 ; padding - db FAST ; growth rate - dn NO_EGGS, NO_EGGS ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DEFENSE_CURL, DREAM_EATER, DETECT, REST, ATTRACT, FLASH, FLAMETHROWER - ; end diff --git a/data/base_stats/togetic.asm b/data/base_stats/togetic.asm deleted file mode 100644 index 4fc94103d..000000000 --- a/data/base_stats/togetic.asm +++ /dev/null @@ -1,22 +0,0 @@ - db TOGETIC ; 176 - - db 55, 40, 85, 40, 80, 105 - ; hp atk def spd sat sdf - - db NORMAL, FLYING - db 75 ; catch rate - db 114 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F12_5 ; gender - db 100 ; unknown - db 10 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/togetic/front.dimensions" - db 0, 0, 0, 0 ; padding - db FAST ; growth rate - dn AVIAN, FAIRY ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DEFENSE_CURL, DREAM_EATER, DETECT, REST, ATTRACT, STEEL_WING, FLY, FLASH, FLAMETHROWER - ; end diff --git a/data/base_stats/totodile.asm b/data/base_stats/totodile.asm deleted file mode 100644 index 1753d5af0..000000000 --- a/data/base_stats/totodile.asm +++ /dev/null @@ -1,22 +0,0 @@ - db TOTODILE ; 158 - - db 50, 65, 64, 43, 44, 48 - ; hp atk def spd sat sdf - - db WATER, WATER - db 45 ; catch rate - db 66 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F12_5 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/totodile/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_SLOW ; growth rate - dn MONSTER, AMPHIBIAN ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, DETECT, REST, ATTRACT, CUT, SURF, WHIRLPOOL, ICE_BEAM - ; end diff --git a/data/base_stats/typhlosion.asm b/data/base_stats/typhlosion.asm deleted file mode 100644 index 698a4e0a0..000000000 --- a/data/base_stats/typhlosion.asm +++ /dev/null @@ -1,22 +0,0 @@ - db TYPHLOSION ; 157 - - db 78, 84, 78, 100, 109, 85 - ; hp atk def spd sat sdf - - db FIRE, FIRE - db 45 ; catch rate - db 209 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F12_5 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/typhlosion/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_SLOW ; growth rate - dn FIELD, FIELD ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DEFENSE_CURL, THUNDERPUNCH, DETECT, REST, ATTRACT, FIRE_PUNCH, FURY_CUTTER, CUT, STRENGTH, FLAMETHROWER - ; end diff --git a/data/base_stats/tyranitar.asm b/data/base_stats/tyranitar.asm deleted file mode 100644 index b695007f1..000000000 --- a/data/base_stats/tyranitar.asm +++ /dev/null @@ -1,22 +0,0 @@ - db TYRANITAR ; 248 - - db 100, 134, 110, 61, 95, 100 - ; hp atk def spd sat sdf - - db ROCK, DARK - db 45 ; catch rate - db 218 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 40 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/tyranitar/front.dimensions" - db 0, 0, 0, 0 ; padding - db SLOW ; growth rate - dn MONSTER, MONSTER ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, DETECT, REST, ATTRACT, FIRE_PUNCH, FURY_CUTTER, NIGHTMARE, CUT, SURF, STRENGTH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM - ; end diff --git a/data/base_stats/tyrogue.asm b/data/base_stats/tyrogue.asm deleted file mode 100644 index 4e5e7ee43..000000000 --- a/data/base_stats/tyrogue.asm +++ /dev/null @@ -1,22 +0,0 @@ - db TYROGUE ; 236 - - db 35, 35, 35, 35, 35, 35 - ; hp atk def spd sat sdf - - db FIGHTING, FIGHTING - db 75 ; catch rate - db 91 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F0 ; gender - db 100 ; unknown - db 25 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/tyrogue/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn NO_EGGS, NO_EGGS ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STRENGTH - ; end diff --git a/data/base_stats/umbreon.asm b/data/base_stats/umbreon.asm deleted file mode 100644 index dbda2b3b6..000000000 --- a/data/base_stats/umbreon.asm +++ /dev/null @@ -1,22 +0,0 @@ - db UMBREON ; 197 - - db 95, 65, 110, 65, 60, 130 - ; hp atk def spd sat sdf - - db DARK, DARK - db 45 ; catch rate - db 197 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F12_5 ; gender - db 100 ; unknown - db 35 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/umbreon/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn FIELD, FIELD ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DREAM_EATER, DETECT, REST, ATTRACT, NIGHTMARE, CUT, FLASH - ; end diff --git a/data/base_stats/unown.asm b/data/base_stats/unown.asm deleted file mode 100644 index 0b13f3eca..000000000 --- a/data/base_stats/unown.asm +++ /dev/null @@ -1,22 +0,0 @@ - db UNOWN ; 201 - - db 48, 72, 48, 48, 72, 48 - ; hp atk def spd sat sdf - - db PSYCHIC, PSYCHIC - db 225 ; catch rate - db 61 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDERLESS ; gender - db 100 ; unknown - db 40 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/unown_a/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn NO_EGGS, NO_EGGS ; egg groups - - ; tmhm - tmhm - ; end diff --git a/data/base_stats/ursaring.asm b/data/base_stats/ursaring.asm deleted file mode 100644 index 7aa8a4265..000000000 --- a/data/base_stats/ursaring.asm +++ /dev/null @@ -1,22 +0,0 @@ - db URSARING ; 217 - - db 90, 130, 75, 55, 75, 75 - ; hp atk def spd sat sdf - - db NORMAL, NORMAL - db 60 ; catch rate - db 189 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/ursaring/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn FIELD, FIELD ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, THUNDERPUNCH, REST, ATTRACT, THIEF, FIRE_PUNCH, FURY_CUTTER, CUT, STRENGTH - ; end diff --git a/data/base_stats/vaporeon.asm b/data/base_stats/vaporeon.asm deleted file mode 100644 index 0e55a1946..000000000 --- a/data/base_stats/vaporeon.asm +++ /dev/null @@ -1,22 +0,0 @@ - db VAPOREON ; 134 - - db 130, 65, 60, 65, 110, 95 - ; hp atk def spd sat sdf - - db WATER, WATER - db 45 ; catch rate - db 196 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F12_5 ; gender - db 100 ; unknown - db 35 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/vaporeon/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn FIELD, FIELD ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, ROAR, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, SURF, WHIRLPOOL, WATERFALL, ICE_BEAM - ; end diff --git a/data/base_stats/venomoth.asm b/data/base_stats/venomoth.asm deleted file mode 100644 index 4e813b3aa..000000000 --- a/data/base_stats/venomoth.asm +++ /dev/null @@ -1,22 +0,0 @@ - db VENOMOTH ; 049 - - db 70, 65, 60, 90, 90, 75 - ; hp atk def spd sat sdf - - db BUG, POISON - db 75 ; catch rate - db 138 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/venomoth/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn INSECT, INSECT ; egg groups - - ; tmhm - tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, SWIFT, REST, ATTRACT, THIEF, FLASH - ; end diff --git a/data/base_stats/venonat.asm b/data/base_stats/venonat.asm deleted file mode 100644 index 5db99f8a1..000000000 --- a/data/base_stats/venonat.asm +++ /dev/null @@ -1,22 +0,0 @@ - db VENONAT ; 048 - - db 60, 55, 50, 45, 40, 55 - ; hp atk def spd sat sdf - - db BUG, POISON - db 190 ; catch rate - db 75 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/venonat/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn INSECT, INSECT ; egg groups - - ; tmhm - tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, SWIFT, REST, ATTRACT, THIEF - ; end diff --git a/data/base_stats/venusaur.asm b/data/base_stats/venusaur.asm deleted file mode 100644 index f5d6a3a33..000000000 --- a/data/base_stats/venusaur.asm +++ /dev/null @@ -1,22 +0,0 @@ - db VENUSAUR ; 003 - - db 80, 82, 83, 80, 100, 100 - ; hp atk def spd sat sdf - - db GRASS, POISON - db 45 ; catch rate - db 208 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F12_5 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/venusaur/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_SLOW ; growth rate - dn MONSTER, PLANT ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, ROAR, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, FURY_CUTTER, CUT, FLASH - ; end diff --git a/data/base_stats/victreebel.asm b/data/base_stats/victreebel.asm deleted file mode 100644 index 0efade3ad..000000000 --- a/data/base_stats/victreebel.asm +++ /dev/null @@ -1,22 +0,0 @@ - db VICTREEBEL ; 071 - - db 80, 105, 65, 70, 100, 60 - ; hp atk def spd sat sdf - - db GRASS, POISON - db 45 ; catch rate - db 191 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/victreebel/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_SLOW ; growth rate - dn PLANT, PLANT ; egg groups - - ; tmhm - tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, CUT, FLASH - ; end diff --git a/data/base_stats/vileplume.asm b/data/base_stats/vileplume.asm deleted file mode 100644 index 12170e167..000000000 --- a/data/base_stats/vileplume.asm +++ /dev/null @@ -1,22 +0,0 @@ - db VILEPLUME ; 045 - - db 75, 80, 85, 50, 100, 90 - ; hp atk def spd sat sdf - - db GRASS, POISON - db 45 ; catch rate - db 184 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/vileplume/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_SLOW ; growth rate - dn PLANT, PLANT ; egg groups - - ; tmhm - tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, CUT, FLASH - ; end diff --git a/data/base_stats/voltorb.asm b/data/base_stats/voltorb.asm deleted file mode 100644 index 7c2255729..000000000 --- a/data/base_stats/voltorb.asm +++ /dev/null @@ -1,22 +0,0 @@ - db VOLTORB ; 100 - - db 40, 30, 50, 100, 55, 55 - ; hp atk def spd sat sdf - - db ELECTRIC, ELECTRIC - db 190 ; catch rate - db 103 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDERLESS ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/voltorb/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn INANIMATE, INANIMATE ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, FLASH, THUNDERBOLT - ; end diff --git a/data/base_stats/vulpix.asm b/data/base_stats/vulpix.asm deleted file mode 100644 index 9cea11f93..000000000 --- a/data/base_stats/vulpix.asm +++ /dev/null @@ -1,22 +0,0 @@ - db VULPIX ; 037 - - db 38, 41, 40, 65, 50, 65 - ; hp atk def spd sat sdf - - db FIRE, FIRE - db 190 ; catch rate - db 63 ; base exp - db BURNT_BERRY ; item 1 - db BURNT_BERRY ; item 2 - db GENDER_F75 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/vulpix/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn FIELD, FIELD ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, REST, ATTRACT, FLAMETHROWER - ; end diff --git a/data/base_stats/wartortle.asm b/data/base_stats/wartortle.asm deleted file mode 100644 index 437342a8b..000000000 --- a/data/base_stats/wartortle.asm +++ /dev/null @@ -1,22 +0,0 @@ - db WARTORTLE ; 008 - - db 59, 63, 80, 58, 65, 80 - ; hp atk def spd sat sdf - - db WATER, WATER - db 45 ; catch rate - db 143 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F12_5 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/wartortle/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_SLOW ; growth rate - dn MONSTER, AMPHIBIAN ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, SURF, STRENGTH, WHIRLPOOL, WATERFALL, ICE_BEAM - ; end diff --git a/data/base_stats/weedle.asm b/data/base_stats/weedle.asm deleted file mode 100644 index b47a720ec..000000000 --- a/data/base_stats/weedle.asm +++ /dev/null @@ -1,22 +0,0 @@ - db WEEDLE ; 013 - - db 40, 35, 30, 50, 20, 20 - ; hp atk def spd sat sdf - - db BUG, POISON - db 255 ; catch rate - db 52 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 15 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/weedle/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn INSECT, INSECT ; egg groups - - ; tmhm - tmhm - ; end diff --git a/data/base_stats/weepinbell.asm b/data/base_stats/weepinbell.asm deleted file mode 100644 index 4a70c5bb2..000000000 --- a/data/base_stats/weepinbell.asm +++ /dev/null @@ -1,22 +0,0 @@ - db WEEPINBELL ; 070 - - db 65, 90, 50, 55, 85, 45 - ; hp atk def spd sat sdf - - db GRASS, POISON - db 120 ; catch rate - db 151 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/weepinbell/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_SLOW ; growth rate - dn PLANT, PLANT ; egg groups - - ; tmhm - tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, CUT, FLASH - ; end diff --git a/data/base_stats/weezing.asm b/data/base_stats/weezing.asm deleted file mode 100644 index 49161c69b..000000000 --- a/data/base_stats/weezing.asm +++ /dev/null @@ -1,22 +0,0 @@ - db WEEZING ; 110 - - db 65, 90, 120, 60, 85, 70 - ; hp atk def spd sat sdf - - db POISON, POISON - db 60 ; catch rate - db 173 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/weezing/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn AMORPHOUS, AMORPHOUS ; egg groups - - ; tmhm - tmhm CURSE, ROLLOUT, TOXIC, ZAP_CANNON, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, FIRE_BLAST, REST, ATTRACT, THIEF, FLAMETHROWER, THUNDERBOLT - ; end diff --git a/data/base_stats/wigglytuff.asm b/data/base_stats/wigglytuff.asm deleted file mode 100644 index ff1910c0e..000000000 --- a/data/base_stats/wigglytuff.asm +++ /dev/null @@ -1,22 +0,0 @@ - db WIGGLYTUFF ; 040 - - db 140, 70, 45, 45, 75, 50 - ; hp atk def spd sat sdf - - db NORMAL, NORMAL - db 50 ; catch rate - db 109 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F75 ; gender - db 100 ; unknown - db 10 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/wigglytuff/front.dimensions" - db 0, 0, 0, 0 ; padding - db FAST ; growth rate - dn FAIRY, FAIRY ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, FIRE_BLAST, DEFENSE_CURL, THUNDERPUNCH, DREAM_EATER, DETECT, REST, ATTRACT, FIRE_PUNCH, NIGHTMARE, STRENGTH, FLASH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM - ; end diff --git a/data/base_stats/wobbuffet.asm b/data/base_stats/wobbuffet.asm deleted file mode 100644 index c476dd828..000000000 --- a/data/base_stats/wobbuffet.asm +++ /dev/null @@ -1,22 +0,0 @@ - db WOBBUFFET ; 202 - - db 190, 33, 58, 33, 33, 58 - ; hp atk def spd sat sdf - - db PSYCHIC, PSYCHIC - db 45 ; catch rate - db 177 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/wobbuffet/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn AMORPHOUS, AMORPHOUS ; egg groups - - ; tmhm - tmhm - ; end diff --git a/data/base_stats/wooper.asm b/data/base_stats/wooper.asm deleted file mode 100644 index 6e621fe4b..000000000 --- a/data/base_stats/wooper.asm +++ /dev/null @@ -1,22 +0,0 @@ - db WOOPER ; 194 - - db 55, 45, 45, 15, 25, 25 - ; hp atk def spd sat sdf - - db WATER, GROUND - db 255 ; catch rate - db 52 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/wooper/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn AMPHIBIAN, FIELD ; egg groups - - ; tmhm - tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, SANDSTORM, DEFENSE_CURL, REST, ATTRACT, SURF, FLASH, WHIRLPOOL, ICE_BEAM - ; end diff --git a/data/base_stats/xatu.asm b/data/base_stats/xatu.asm deleted file mode 100644 index 77388858e..000000000 --- a/data/base_stats/xatu.asm +++ /dev/null @@ -1,22 +0,0 @@ - db XATU ; 178 - - db 65, 75, 70, 95, 95, 70 - ; hp atk def spd sat sdf - - db PSYCHIC, FLYING - db 75 ; catch rate - db 171 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/xatu/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn AVIAN, AVIAN ; egg groups - - ; tmhm - tmhm CURSE, TOXIC, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, NIGHTMARE, FLY, FLASH - ; end diff --git a/data/base_stats/yanma.asm b/data/base_stats/yanma.asm deleted file mode 100644 index 98449c720..000000000 --- a/data/base_stats/yanma.asm +++ /dev/null @@ -1,22 +0,0 @@ - db YANMA ; 193 - - db 65, 65, 45, 95, 75, 45 - ; hp atk def spd sat sdf - - db BUG, FLYING - db 75 ; catch rate - db 147 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 20 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/yanma/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn INSECT, INSECT ; egg groups - - ; tmhm - tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, FLASH - ; end diff --git a/data/base_stats/zapdos.asm b/data/base_stats/zapdos.asm deleted file mode 100644 index 44c1a8e82..000000000 --- a/data/base_stats/zapdos.asm +++ /dev/null @@ -1,22 +0,0 @@ - db ZAPDOS ; 145 - - db 90, 90, 85, 100, 125, 90 - ; hp atk def spd sat sdf - - db ELECTRIC, FLYING - db 3 ; catch rate - db 216 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDERLESS ; gender - db 100 ; unknown - db 80 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/zapdos/front.dimensions" - db 0, 0, 0, 0 ; padding - db SLOW ; growth rate - dn NO_EGGS, NO_EGGS ; egg groups - - ; tmhm - tmhm CURSE, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, SWIFT, DETECT, REST, STEEL_WING, FLY, FLASH, THUNDERBOLT - ; end diff --git a/data/base_stats/zubat.asm b/data/base_stats/zubat.asm deleted file mode 100644 index e8fd33ea2..000000000 --- a/data/base_stats/zubat.asm +++ /dev/null @@ -1,22 +0,0 @@ - db ZUBAT ; 041 - - db 40, 45, 35, 55, 30, 40 - ; hp atk def spd sat sdf - - db POISON, FLYING - db 255 ; catch rate - db 54 ; base exp - db NO_ITEM ; item 1 - db NO_ITEM ; item 2 - db GENDER_F50 ; gender - db 100 ; unknown - db 15 ; step cycles to hatch - db 5 ; unknown - INCBIN "gfx/pics/zubat/front.dimensions" - db 0, 0, 0, 0 ; padding - db MEDIUM_FAST ; growth rate - dn AVIAN, AVIAN ; egg groups - - ; tmhm - tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING - ; end diff --git a/data/egg_move_pointers.asm b/data/egg_move_pointers.asm deleted file mode 100644 index caa9ed7c0..000000000 --- a/data/egg_move_pointers.asm +++ /dev/null @@ -1,257 +0,0 @@ -EggMovePointers:: ; 0x23b11 - dw BulbasaurEggMoves - dw NoEggMoves - dw NoEggMoves - dw CharmanderEggMoves - dw NoEggMoves - dw NoEggMoves - dw SquirtleEggMoves - dw NoEggMoves - dw NoEggMoves - dw NoEggMoves - dw NoEggMoves - dw NoEggMoves - dw NoEggMoves - dw NoEggMoves - dw NoEggMoves - dw PidgeyEggMoves - dw NoEggMoves - dw NoEggMoves - dw RattataEggMoves - dw NoEggMoves - dw SpearowEggMoves - dw NoEggMoves - dw EkansEggMoves - dw NoEggMoves - dw NoEggMoves - dw NoEggMoves - dw SandshrewEggMoves - dw NoEggMoves - dw NidoranFEggMoves - dw NoEggMoves - dw NoEggMoves - dw NidoranMEggMoves - dw NoEggMoves - dw NoEggMoves - dw NoEggMoves - dw NoEggMoves - dw VulpixEggMoves - dw NoEggMoves - dw NoEggMoves - dw NoEggMoves - dw ZubatEggMoves - dw NoEggMoves - dw OddishEggMoves - dw NoEggMoves - dw NoEggMoves - dw ParasEggMoves - dw NoEggMoves - dw VenonatEggMoves - dw NoEggMoves - dw DiglettEggMoves - dw NoEggMoves - dw MeowthEggMoves - dw NoEggMoves - dw PsyduckEggMoves - dw NoEggMoves - dw MankeyEggMoves - dw NoEggMoves - dw GrowlitheEggMoves - dw NoEggMoves - dw PoliwagEggMoves - dw NoEggMoves - dw NoEggMoves - dw AbraEggMoves - dw NoEggMoves - dw NoEggMoves - dw MachopEggMoves - dw NoEggMoves - dw NoEggMoves - dw BellsproutEggMoves - dw NoEggMoves - dw NoEggMoves - dw TentacoolEggMoves - dw NoEggMoves - dw GeodudeEggMoves - dw NoEggMoves - dw NoEggMoves - dw PonytaEggMoves - dw NoEggMoves - dw SlowpokeEggMoves - dw NoEggMoves - dw NoEggMoves - dw NoEggMoves - dw FarfetchDEggMoves - dw DoduoEggMoves - dw NoEggMoves - dw SeelEggMoves - dw NoEggMoves - dw GrimerEggMoves - dw NoEggMoves - dw ShellderEggMoves - dw NoEggMoves - dw GastlyEggMoves - dw NoEggMoves - dw NoEggMoves - dw OnixEggMoves - dw DrowzeeEggMoves - dw NoEggMoves - dw KrabbyEggMoves - dw NoEggMoves - dw NoEggMoves - dw NoEggMoves - dw ExeggcuteEggMoves - dw NoEggMoves - dw CuboneEggMoves - dw NoEggMoves - dw NoEggMoves - dw NoEggMoves - dw LickitungEggMoves - dw KoffingEggMoves - dw NoEggMoves - dw RhyhornEggMoves - dw NoEggMoves - dw ChanseyEggMoves - dw TangelaEggMoves - dw KangaskhanEggMoves - dw HorseaEggMoves - dw NoEggMoves - dw GoldeenEggMoves - dw NoEggMoves -if _CRYSTAL - dw NoEggMoves -else - dw StaryuEggMoves -endc - dw NoEggMoves - dw MrMimeEggMoves - dw ScytherEggMoves - dw NoEggMoves - dw NoEggMoves - dw NoEggMoves - dw PinsirEggMoves - dw NoEggMoves - dw NoEggMoves - dw NoEggMoves - dw LaprasEggMoves - dw NoEggMoves - dw EeveeEggMoves - dw NoEggMoves - dw NoEggMoves - dw NoEggMoves - dw NoEggMoves - dw OmanyteEggMoves - dw NoEggMoves - dw KabutoEggMoves - dw NoEggMoves - dw AerodactylEggMoves - dw SnorlaxEggMoves - dw NoEggMoves - dw NoEggMoves - dw NoEggMoves - dw DratiniEggMoves - dw NoEggMoves - dw NoEggMoves - dw NoEggMoves - dw NoEggMoves - dw ChikoritaEggMoves - dw NoEggMoves - dw NoEggMoves - dw CyndaquilEggMoves - dw NoEggMoves - dw NoEggMoves - dw TotodileEggMoves - dw NoEggMoves - dw NoEggMoves - dw SentretEggMoves - dw NoEggMoves - dw HoothootEggMoves - dw NoEggMoves - dw LedybaEggMoves - dw NoEggMoves - dw SpinarakEggMoves - dw NoEggMoves - dw NoEggMoves - dw ChinchouEggMoves - dw NoEggMoves - dw PichuEggMoves - dw CleffaEggMoves - dw IgglybuffEggMoves - dw TogepiEggMoves - dw NoEggMoves - dw NatuEggMoves - dw NoEggMoves - dw MareepEggMoves - dw NoEggMoves - dw NoEggMoves - dw NoEggMoves - dw MarillEggMoves - dw NoEggMoves - dw SudowoodoEggMoves - dw NoEggMoves - dw HoppipEggMoves - dw NoEggMoves - dw NoEggMoves - dw AipomEggMoves - dw NoEggMoves - dw NoEggMoves - dw YanmaEggMoves - dw WooperEggMoves - dw NoEggMoves - dw NoEggMoves - dw NoEggMoves - dw MurkrowEggMoves - dw NoEggMoves - dw MisdreavusEggMoves - dw NoEggMoves - dw NoEggMoves - dw GirafarigEggMoves - dw PinecoEggMoves - dw NoEggMoves - dw DunsparceEggMoves - dw GligarEggMoves - dw NoEggMoves - dw SnubbullEggMoves - dw NoEggMoves - dw QwilfishEggMoves - dw NoEggMoves - dw ShuckleEggMoves - dw HeracrossEggMoves - dw SneaselEggMoves - dw TeddiursaEggMoves - dw NoEggMoves - dw SlugmaEggMoves - dw NoEggMoves - dw SwinubEggMoves - dw NoEggMoves - dw CorsolaEggMoves - dw RemoraidEggMoves - dw NoEggMoves - dw DelibirdEggMoves - dw MantineEggMoves - dw SkarmoryEggMoves - dw HoundourEggMoves - dw NoEggMoves - dw NoEggMoves - dw PhanpyEggMoves - dw NoEggMoves - dw NoEggMoves - dw StantlerEggMoves - dw NoEggMoves - dw TyrogueEggMoves - dw NoEggMoves - dw SmoochumEggMoves - dw ElekidEggMoves - dw MagbyEggMoves - dw MiltankEggMoves - dw NoEggMoves - dw NoEggMoves - dw NoEggMoves - dw NoEggMoves - dw LarvitarEggMoves - dw NoEggMoves - dw NoEggMoves - dw NoEggMoves - dw NoEggMoves - dw NoEggMoves -; 0x23d07 diff --git a/data/egg_moves.asm b/data/egg_moves.asm deleted file mode 100644 index 2fcf47232..000000000 --- a/data/egg_moves.asm +++ /dev/null @@ -1,870 +0,0 @@ -INCLUDE "includes.asm" - - -SECTION "Egg Moves", ROMX - -; All instances of Charm, Steel Wing, Sweet Scent, and Lovely Kiss were -; removed from egg move lists in Crystal, because they are also TMs. - -; Staryu's egg moves were removed in Crystal, because Staryu is genderless -; and can only breed with Ditto. - - -INCLUDE "data/egg_move_pointers.asm" - - -EggMoves:: - -BulbasaurEggMoves: - db LIGHT_SCREEN - db SKULL_BASH - db SAFEGUARD -if !_CRYSTAL - db CHARM -endc - db RAZOR_WIND - db PETAL_DANCE - db $ff - -CharmanderEggMoves: - db BELLY_DRUM - db ANCIENTPOWER - db ROCK_SLIDE - db BITE - db OUTRAGE - db BEAT_UP - db $ff - -SquirtleEggMoves: - db MIRROR_COAT - db HAZE - db MIST - db CONFUSION - db FORESIGHT - db FLAIL - db $ff - -PidgeyEggMoves: - db PURSUIT - db FAINT_ATTACK - db FORESIGHT -if !_CRYSTAL - db STEEL_WING -endc - db $ff - -RattataEggMoves: - db SCREECH - db FLAME_WHEEL - db FURY_SWIPES - db BITE - db COUNTER - db REVERSAL - db $ff - -SpearowEggMoves: - db FAINT_ATTACK - db FALSE_SWIPE - db SCARY_FACE - db QUICK_ATTACK - db TRI_ATTACK - db $ff - -EkansEggMoves: - db PURSUIT - db SLAM - db SPITE - db BEAT_UP -if _CRYSTAL - db CRUNCH -endc - db $ff - -SandshrewEggMoves: - db FLAIL - db SAFEGUARD - db COUNTER - db RAPID_SPIN -if _CRYSTAL - db METAL_CLAW -endc - db $ff - -NidoranFEggMoves: - db SUPERSONIC - db DISABLE - db TAKE_DOWN - db FOCUS_ENERGY - db CHARM - db COUNTER - db BEAT_UP - db $ff - -NidoranMEggMoves: - db SUPERSONIC - db DISABLE - db TAKE_DOWN - db CONFUSION - db AMNESIA - db COUNTER - db BEAT_UP - db $ff - -VulpixEggMoves: - db FAINT_ATTACK - db HYPNOSIS - db FLAIL - db SPITE - db DISABLE - db $ff - -ZubatEggMoves: - db QUICK_ATTACK - db PURSUIT - db FAINT_ATTACK - db GUST - db WHIRLWIND - db $ff - -OddishEggMoves: - db SWORDS_DANCE - db RAZOR_LEAF - db FLAIL - db SYNTHESIS -if !_CRYSTAL - db CHARM -endc - db $ff - -ParasEggMoves: - db FALSE_SWIPE - db SCREECH - db COUNTER - db PSYBEAM - db FLAIL -if !_CRYSTAL - db SWEET_SCENT -endc - db LIGHT_SCREEN - db PURSUIT - db $ff - -VenonatEggMoves: - db BATON_PASS - db SCREECH - db GIGA_DRAIN - db $ff - -DiglettEggMoves: - db FAINT_ATTACK - db SCREECH - db ANCIENTPOWER - db PURSUIT - db BEAT_UP - db $ff - -MeowthEggMoves: - db SPITE - db CHARM - db HYPNOSIS - db AMNESIA - db $ff - -PsyduckEggMoves: - db ICE_BEAM - db HYPNOSIS - db PSYBEAM - db FORESIGHT - db LIGHT_SCREEN - db FUTURE_SIGHT - db PSYCHIC_M -if _CRYSTAL - db CROSS_CHOP -endc - db $ff - -MankeyEggMoves: - db ROCK_SLIDE - db FORESIGHT - db MEDITATE - db COUNTER - db REVERSAL - db BEAT_UP - db $ff - -GrowlitheEggMoves: - db BODY_SLAM - db SAFEGUARD - db CRUNCH - db THRASH - db FIRE_SPIN - db $ff - -PoliwagEggMoves: - db MIST - db SPLASH - db BUBBLEBEAM - db HAZE - db MIND_READER - db $ff - -AbraEggMoves: - db LIGHT_SCREEN - db ENCORE - db BARRIER - db $ff - -MachopEggMoves: - db LIGHT_SCREEN - db MEDITATE - db ROLLING_KICK - db ENCORE - db $ff - -BellsproutEggMoves: - db SWORDS_DANCE - db ENCORE - db REFLECT - db SYNTHESIS - db LEECH_LIFE - db $ff - -TentacoolEggMoves: - db AURORA_BEAM - db MIRROR_COAT - db RAPID_SPIN - db HAZE - db SAFEGUARD - db $ff - -GeodudeEggMoves: - db MEGA_PUNCH - db ROCK_SLIDE - db $ff - -PonytaEggMoves: - db FLAME_WHEEL - db THRASH - db DOUBLE_KICK - db HYPNOSIS - db CHARM - db QUICK_ATTACK - db $ff - -SlowpokeEggMoves: - db SAFEGUARD - db BELLY_DRUM - db FUTURE_SIGHT - db STOMP - db $ff - -FarfetchDEggMoves: -if !_CRYSTAL - db STEEL_WING -endc - db FORESIGHT - db MIRROR_MOVE - db GUST - db QUICK_ATTACK - db FLAIL - db $ff - -DoduoEggMoves: - db QUICK_ATTACK - db SUPERSONIC - db HAZE - db FAINT_ATTACK - db FLAIL - db $ff - -SeelEggMoves: - db LICK - db PERISH_SONG - db DISABLE - db PECK - db SLAM - db ENCORE - db $ff - -GrimerEggMoves: - db HAZE - db MEAN_LOOK - db LICK - db $ff - -ShellderEggMoves: - db BUBBLEBEAM - db TAKE_DOWN - db BARRIER - db RAPID_SPIN - db SCREECH - db $ff - -GastlyEggMoves: - db PSYWAVE - db PERISH_SONG - db HAZE - db $ff - -OnixEggMoves: - db ROCK_SLIDE - db FLAIL - db $ff - -DrowzeeEggMoves: - db LIGHT_SCREEN - db BARRIER - db $ff - -KrabbyEggMoves: - db DIG - db HAZE - db AMNESIA - db FLAIL - db SLAM - db $ff - -ExeggcuteEggMoves: - db SYNTHESIS - db MOONLIGHT - db REFLECT - db MEGA_DRAIN - db ANCIENTPOWER - db $ff - -CuboneEggMoves: - db ROCK_SLIDE - db ANCIENTPOWER - db BELLY_DRUM - db SCREECH - db SKULL_BASH - db PERISH_SONG -if _CRYSTAL - db SWORDS_DANCE -endc - db $ff - -LickitungEggMoves: - db BELLY_DRUM - db MAGNITUDE - db BODY_SLAM - db $ff - -KoffingEggMoves: - db SCREECH - db PSYWAVE - db PSYBEAM - db DESTINY_BOND - db PAIN_SPLIT - db $ff - -RhyhornEggMoves: - db CRUNCH - db REVERSAL - db ROCK_SLIDE - db THRASH - db PURSUIT - db COUNTER - db MAGNITUDE - db $ff - -ChanseyEggMoves: - db PRESENT - db METRONOME - db HEAL_BELL - db $ff - -TangelaEggMoves: - db FLAIL - db CONFUSION - db MEGA_DRAIN - db REFLECT - db AMNESIA - db $ff - -KangaskhanEggMoves: - db STOMP - db FORESIGHT - db FOCUS_ENERGY - db SAFEGUARD - db DISABLE - db $ff - -HorseaEggMoves: - db FLAIL - db AURORA_BEAM - db OCTAZOOKA - db DISABLE - db SPLASH - db DRAGON_RAGE - db $ff - -GoldeenEggMoves: - db PSYBEAM - db HAZE - db HYDRO_PUMP - db $ff - -if !_CRYSTAL -StaryuEggMoves: - db AURORA_BEAM - db BARRIER - db SUPERSONIC - db $ff -endc - -MrMimeEggMoves: - db FUTURE_SIGHT - db HYPNOSIS - db MIMIC - db $ff - -ScytherEggMoves: - db COUNTER - db SAFEGUARD - db BATON_PASS - db RAZOR_WIND - db REVERSAL - db LIGHT_SCREEN - db $ff - -PinsirEggMoves: - db FURY_ATTACK - db FLAIL - db $ff - -LaprasEggMoves: - db AURORA_BEAM - db FORESIGHT - db $ff - -EeveeEggMoves: - db FLAIL - db CHARM - db $ff - -OmanyteEggMoves: - db BUBBLEBEAM - db AURORA_BEAM - db SLAM - db SUPERSONIC - db HAZE - db $ff - -KabutoEggMoves: - db BUBBLEBEAM - db AURORA_BEAM - db RAPID_SPIN - db DIG - db FLAIL - db $ff - -AerodactylEggMoves: - db WHIRLWIND - db PURSUIT - db FORESIGHT -if !_CRYSTAL - db STEEL_WING -endc - db $ff - -SnorlaxEggMoves: - db LICK -if !_CRYSTAL - db CHARM -endc - db $ff - -DratiniEggMoves: - db LIGHT_SCREEN - db MIST - db HAZE - db SUPERSONIC - db $ff - -ChikoritaEggMoves: - db VINE_WHIP - db LEECH_SEED - db COUNTER - db ANCIENTPOWER - db FLAIL - db SWORDS_DANCE - db $ff - -CyndaquilEggMoves: - db FURY_SWIPES - db QUICK_ATTACK - db REVERSAL - db THRASH - db FORESIGHT -if _CRYSTAL - db SUBMISSION -endc - db $ff - -TotodileEggMoves: - db CRUNCH - db THRASH - db HYDRO_PUMP - db ANCIENTPOWER - db RAZOR_WIND - db ROCK_SLIDE - db $ff - -SentretEggMoves: - db DOUBLE_EDGE - db PURSUIT - db SLASH - db FOCUS_ENERGY - db REVERSAL - db $ff - -HoothootEggMoves: - db MIRROR_MOVE - db SUPERSONIC - db FAINT_ATTACK - db WING_ATTACK - db WHIRLWIND -if _CRYSTAL - db SKY_ATTACK -endc - db $ff - -LedybaEggMoves: - db PSYBEAM - db BIDE - db LIGHT_SCREEN - db $ff - -SpinarakEggMoves: - db PSYBEAM - db DISABLE - db SONICBOOM - db BATON_PASS - db PURSUIT - db $ff - -ChinchouEggMoves: - db FLAIL - db SUPERSONIC - db SCREECH - db $ff - -PichuEggMoves: - db REVERSAL - db BIDE - db PRESENT - db ENCORE - db DOUBLESLAP - db $ff - -CleffaEggMoves: - db PRESENT - db METRONOME - db AMNESIA - db BELLY_DRUM - db SPLASH - db MIMIC - db $ff - -IgglybuffEggMoves: - db PERISH_SONG - db PRESENT - db FAINT_ATTACK - db $ff - -TogepiEggMoves: - db PRESENT - db MIRROR_MOVE - db PECK - db FORESIGHT - db FUTURE_SIGHT - db $ff - -NatuEggMoves: - db HAZE - db DRILL_PECK - db QUICK_ATTACK - db FAINT_ATTACK - db STEEL_WING - db $ff - -MareepEggMoves: - db THUNDERBOLT - db TAKE_DOWN - db BODY_SLAM - db SAFEGUARD - db SCREECH - db REFLECT - db $ff - -MarillEggMoves: - db LIGHT_SCREEN - db PRESENT - db AMNESIA - db FUTURE_SIGHT - db BELLY_DRUM - db PERISH_SONG - db SUPERSONIC - db FORESIGHT - db $ff - -SudowoodoEggMoves: - db SELFDESTRUCT - db $ff - -HoppipEggMoves: - db CONFUSION - db GROWL - db ENCORE - db DOUBLE_EDGE - db REFLECT - db AMNESIA - db PAY_DAY - db $ff - -AipomEggMoves: - db COUNTER - db SCREECH - db PURSUIT - db AGILITY - db SPITE - db SLAM - db DOUBLESLAP - db BEAT_UP - db $ff - -YanmaEggMoves: - db WHIRLWIND - db REVERSAL - db LEECH_LIFE - db $ff - -WooperEggMoves: - db BODY_SLAM - db ANCIENTPOWER - db SAFEGUARD - db $ff - -MurkrowEggMoves: - db WHIRLWIND - db DRILL_PECK - db QUICK_ATTACK - db MIRROR_MOVE - db WING_ATTACK -if _CRYSTAL - db SKY_ATTACK -endc - db $ff - -MisdreavusEggMoves: - db SCREECH - db DESTINY_BOND - db $ff - -GirafarigEggMoves: - db TAKE_DOWN - db AMNESIA - db FORESIGHT - db FUTURE_SIGHT - db BEAT_UP - db $ff - -PinecoEggMoves: - db REFLECT - db PIN_MISSILE - db FLAIL - db SWIFT - db $ff - -DunsparceEggMoves: - db BIDE - db ANCIENTPOWER - db ROCK_SLIDE - db BITE - db RAGE - db $ff - -GligarEggMoves: - db METAL_CLAW - db WING_ATTACK - db RAZOR_WIND - db COUNTER - db $ff - -SnubbullEggMoves: - db METRONOME - db FAINT_ATTACK - db REFLECT - db PRESENT - db CRUNCH - db HEAL_BELL - db LICK - db LEER - db $ff - -QwilfishEggMoves: - db FLAIL - db HAZE - db BUBBLEBEAM - db SUPERSONIC - db $ff - -ShuckleEggMoves: - db SWEET_SCENT - db $ff - -HeracrossEggMoves: - db HARDEN - db BIDE - db FLAIL - db $ff - -SneaselEggMoves: - db COUNTER - db SPITE - db FORESIGHT - db REFLECT - db BITE - db $ff - -TeddiursaEggMoves: - db CRUNCH - db TAKE_DOWN - db SEISMIC_TOSS - db FOCUS_ENERGY - db COUNTER -if _CRYSTAL - db METAL_CLAW -endc - db $ff - -SlugmaEggMoves: - db ACID_ARMOR - db $ff - -SwinubEggMoves: - db TAKE_DOWN - db BITE - db BODY_SLAM - db ROCK_SLIDE - db ANCIENTPOWER - db $ff - -CorsolaEggMoves: - db ROCK_SLIDE - db SAFEGUARD - db SCREECH - db MIST - db AMNESIA - db $ff - -RemoraidEggMoves: - db AURORA_BEAM - db OCTAZOOKA - db SUPERSONIC - db HAZE - db SCREECH - db $ff - -DelibirdEggMoves: - db AURORA_BEAM - db QUICK_ATTACK - db FUTURE_SIGHT - db SPLASH - db RAPID_SPIN - db $ff - -MantineEggMoves: - db TWISTER - db HYDRO_PUMP - db HAZE - db SLAM - db $ff - -SkarmoryEggMoves: - db DRILL_PECK - db PURSUIT - db WHIRLWIND -if _CRYSTAL - db SKY_ATTACK -endc - db $ff - -HoundourEggMoves: - db FIRE_SPIN - db RAGE - db PURSUIT - db COUNTER - db SPITE - db REVERSAL - db BEAT_UP - db $ff - -PhanpyEggMoves: - db FOCUS_ENERGY - db BODY_SLAM - db ANCIENTPOWER -if _CRYSTAL - db WATER_GUN -endc - db $ff - -StantlerEggMoves: - db REFLECT - db SPITE - db DISABLE - db LIGHT_SCREEN - db BITE - db $ff - -TyrogueEggMoves: - db RAPID_SPIN - db HI_JUMP_KICK - db MACH_PUNCH - db MIND_READER - db $ff - -SmoochumEggMoves: -if !_CRYSTAL - db LOVELY_KISS -endc - db MEDITATE - db $ff - -ElekidEggMoves: - db KARATE_CHOP - db BARRIER - db ROLLING_KICK - db MEDITATE -if _CRYSTAL - db CROSS_CHOP -endc - db $ff - -MagbyEggMoves: - db KARATE_CHOP - db MEGA_PUNCH - db BARRIER - db SCREECH -if _CRYSTAL - db CROSS_CHOP -endc - db $ff - -MiltankEggMoves: - db PRESENT - db REVERSAL - db SEISMIC_TOSS - db $ff - -LarvitarEggMoves: - db PURSUIT - db STOMP - db OUTRAGE - db FOCUS_ENERGY - db ANCIENTPOWER - db $ff - -NoEggMoves: - db $ff diff --git a/data/evos_attacks.asm b/data/evos_attacks.asm deleted file mode 100644 index 749731812..000000000 --- a/data/evos_attacks.asm +++ /dev/null @@ -1,3398 +0,0 @@ -INCLUDE "includes.asm" - - -SECTION "Evolutions and Attacks", ROMX - - -INCLUDE "data/evos_attacks_pointers.asm" - - -EvosAttacks:: - -BulbasaurEvosAttacks: - db EVOLVE_LEVEL, 16, IVYSAUR - db 0 ; no more evolutions - db 1, TACKLE - db 4, GROWL - db 7, LEECH_SEED - db 10, VINE_WHIP - db 15, POISONPOWDER - db 15, SLEEP_POWDER - db 20, RAZOR_LEAF - db 25, SWEET_SCENT - db 32, GROWTH - db 39, SYNTHESIS - db 46, SOLARBEAM - db 0 ; no more level-up moves - -IvysaurEvosAttacks: - db EVOLVE_LEVEL, 32, VENUSAUR - db 0 ; no more evolutions - db 1, TACKLE - db 1, GROWL - db 1, LEECH_SEED - db 4, GROWL - db 7, LEECH_SEED - db 10, VINE_WHIP - db 15, POISONPOWDER - db 15, SLEEP_POWDER - db 22, RAZOR_LEAF - db 29, SWEET_SCENT - db 38, GROWTH - db 47, SYNTHESIS - db 56, SOLARBEAM - db 0 ; no more level-up moves - -VenusaurEvosAttacks: - db 0 ; no more evolutions - db 1, TACKLE - db 1, GROWL - db 1, LEECH_SEED - db 1, VINE_WHIP - db 4, GROWL - db 7, LEECH_SEED - db 10, VINE_WHIP - db 15, POISONPOWDER - db 15, SLEEP_POWDER - db 22, RAZOR_LEAF - db 29, SWEET_SCENT - db 41, GROWTH - db 53, SYNTHESIS - db 65, SOLARBEAM - db 0 ; no more level-up moves - -CharmanderEvosAttacks: - db EVOLVE_LEVEL, 16, CHARMELEON - db 0 ; no more evolutions - db 1, SCRATCH - db 1, GROWL - db 7, EMBER - db 13, SMOKESCREEN - db 19, RAGE - db 25, SCARY_FACE - db 31, FLAMETHROWER - db 37, SLASH - db 43, DRAGON_RAGE - db 49, FIRE_SPIN - db 0 ; no more level-up moves - -CharmeleonEvosAttacks: - db EVOLVE_LEVEL, 36, CHARIZARD - db 0 ; no more evolutions - db 1, SCRATCH - db 1, GROWL - db 1, EMBER - db 7, EMBER - db 13, SMOKESCREEN - db 20, RAGE - db 27, SCARY_FACE - db 34, FLAMETHROWER - db 41, SLASH - db 48, DRAGON_RAGE - db 55, FIRE_SPIN - db 0 ; no more level-up moves - -CharizardEvosAttacks: - db 0 ; no more evolutions - db 1, SCRATCH - db 1, GROWL - db 1, EMBER - db 1, SMOKESCREEN - db 7, EMBER - db 13, SMOKESCREEN - db 20, RAGE - db 27, SCARY_FACE - db 34, FLAMETHROWER - db 36, WING_ATTACK - db 44, SLASH - db 54, DRAGON_RAGE - db 64, FIRE_SPIN - db 0 ; no more level-up moves - -SquirtleEvosAttacks: - db EVOLVE_LEVEL, 16, WARTORTLE - db 0 ; no more evolutions - db 1, TACKLE - db 4, TAIL_WHIP - db 7, BUBBLE - db 10, WITHDRAW - db 13, WATER_GUN - db 18, BITE - db 23, RAPID_SPIN - db 28, PROTECT - db 33, RAIN_DANCE - db 40, SKULL_BASH - db 47, HYDRO_PUMP - db 0 ; no more level-up moves - -WartortleEvosAttacks: - db EVOLVE_LEVEL, 36, BLASTOISE - db 0 ; no more evolutions - db 1, TACKLE - db 1, TAIL_WHIP - db 1, BUBBLE - db 4, TAIL_WHIP - db 7, BUBBLE - db 10, WITHDRAW - db 13, WATER_GUN - db 19, BITE - db 25, RAPID_SPIN - db 31, PROTECT - db 37, RAIN_DANCE - db 45, SKULL_BASH - db 53, HYDRO_PUMP - db 0 ; no more level-up moves - -BlastoiseEvosAttacks: - db 0 ; no more evolutions - db 1, TACKLE - db 1, TAIL_WHIP - db 1, BUBBLE - db 1, WITHDRAW - db 4, TAIL_WHIP - db 7, BUBBLE - db 10, WITHDRAW - db 13, WATER_GUN - db 19, BITE - db 25, RAPID_SPIN - db 31, PROTECT - db 42, RAIN_DANCE - db 55, SKULL_BASH - db 68, HYDRO_PUMP - db 0 ; no more level-up moves - -CaterpieEvosAttacks: - db EVOLVE_LEVEL, 7, METAPOD - db 0 ; no more evolutions - db 1, TACKLE - db 1, STRING_SHOT - db 0 ; no more level-up moves - -MetapodEvosAttacks: - db EVOLVE_LEVEL, 10, BUTTERFREE - db 0 ; no more evolutions - db 1, HARDEN - db 7, HARDEN - db 0 ; no more level-up moves - -ButterfreeEvosAttacks: - db 0 ; no more evolutions - db 1, CONFUSION - db 10, CONFUSION - db 13, POISONPOWDER - db 14, STUN_SPORE - db 15, SLEEP_POWDER - db 18, SUPERSONIC - db 23, WHIRLWIND - db 28, GUST - db 34, PSYBEAM - db 40, SAFEGUARD - db 0 ; no more level-up moves - -WeedleEvosAttacks: - db EVOLVE_LEVEL, 7, KAKUNA - db 0 ; no more evolutions - db 1, POISON_STING - db 1, STRING_SHOT - db 0 ; no more level-up moves - -KakunaEvosAttacks: - db EVOLVE_LEVEL, 10, BEEDRILL - db 0 ; no more evolutions - db 1, HARDEN - db 7, HARDEN - db 0 ; no more level-up moves - -BeedrillEvosAttacks: - db 0 ; no more evolutions - db 1, FURY_ATTACK - db 10, FURY_ATTACK - db 15, FOCUS_ENERGY - db 20, TWINEEDLE - db 25, RAGE - db 30, PURSUIT - db 35, PIN_MISSILE - db 40, AGILITY - db 0 ; no more level-up moves - -PidgeyEvosAttacks: - db EVOLVE_LEVEL, 18, PIDGEOTTO - db 0 ; no more evolutions - db 1, TACKLE - db 5, SAND_ATTACK - db 9, GUST - db 15, QUICK_ATTACK - db 21, WHIRLWIND - db 29, WING_ATTACK - db 37, AGILITY - db 47, MIRROR_MOVE - db 0 ; no more level-up moves - -PidgeottoEvosAttacks: - db EVOLVE_LEVEL, 36, PIDGEOT - db 0 ; no more evolutions - db 1, TACKLE - db 1, SAND_ATTACK - db 1, GUST - db 5, SAND_ATTACK - db 9, GUST - db 15, QUICK_ATTACK - db 23, WHIRLWIND - db 33, WING_ATTACK - db 43, AGILITY - db 55, MIRROR_MOVE - db 0 ; no more level-up moves - -PidgeotEvosAttacks: - db 0 ; no more evolutions - db 1, TACKLE - db 1, SAND_ATTACK - db 1, GUST - db 1, QUICK_ATTACK - db 5, SAND_ATTACK - db 9, GUST - db 15, QUICK_ATTACK - db 23, WHIRLWIND - db 33, WING_ATTACK - db 46, AGILITY - db 61, MIRROR_MOVE - db 0 ; no more level-up moves - -RattataEvosAttacks: - db EVOLVE_LEVEL, 20, RATICATE - db 0 ; no more evolutions - db 1, TACKLE - db 1, TAIL_WHIP - db 7, QUICK_ATTACK - db 13, HYPER_FANG - db 20, FOCUS_ENERGY - db 27, PURSUIT - db 34, SUPER_FANG - db 0 ; no more level-up moves - -RaticateEvosAttacks: - db 0 ; no more evolutions - db 1, TACKLE - db 1, TAIL_WHIP - db 1, QUICK_ATTACK - db 7, QUICK_ATTACK - db 13, HYPER_FANG - db 20, SCARY_FACE - db 30, PURSUIT - db 40, SUPER_FANG - db 0 ; no more level-up moves - -SpearowEvosAttacks: - db EVOLVE_LEVEL, 20, FEAROW - db 0 ; no more evolutions - db 1, PECK - db 1, GROWL - db 7, LEER - db 13, FURY_ATTACK - db 25, PURSUIT - db 31, MIRROR_MOVE - db 37, DRILL_PECK - db 43, AGILITY - db 0 ; no more level-up moves - -FearowEvosAttacks: - db 0 ; no more evolutions - db 1, PECK - db 1, GROWL - db 1, LEER - db 1, FURY_ATTACK - db 7, LEER - db 13, FURY_ATTACK - db 26, PURSUIT - db 32, MIRROR_MOVE - db 40, DRILL_PECK - db 47, AGILITY - db 0 ; no more level-up moves - -EkansEvosAttacks: - db EVOLVE_LEVEL, 22, ARBOK - db 0 ; no more evolutions - db 1, WRAP - db 1, LEER - db 9, POISON_STING - db 15, BITE - db 23, GLARE - db 29, SCREECH - db 37, ACID - db 43, HAZE - db 0 ; no more level-up moves - -ArbokEvosAttacks: - db 0 ; no more evolutions - db 1, WRAP - db 1, LEER - db 1, POISON_STING - db 1, BITE - db 9, POISON_STING - db 15, BITE - db 25, GLARE - db 33, SCREECH - db 43, ACID - db 51, HAZE - db 0 ; no more level-up moves - -PikachuEvosAttacks: - db EVOLVE_ITEM, THUNDERSTONE, RAICHU - db 0 ; no more evolutions - db 1, THUNDERSHOCK - db 1, GROWL - db 6, TAIL_WHIP - db 8, THUNDER_WAVE - db 11, QUICK_ATTACK - db 15, DOUBLE_TEAM - db 20, SLAM - db 26, THUNDERBOLT - db 33, AGILITY - db 41, THUNDER - db 50, LIGHT_SCREEN - db 0 ; no more level-up moves - -RaichuEvosAttacks: - db 0 ; no more evolutions - db 1, THUNDERSHOCK - db 1, TAIL_WHIP - db 1, QUICK_ATTACK - db 1, THUNDERBOLT - db 0 ; no more level-up moves - -SandshrewEvosAttacks: - db EVOLVE_LEVEL, 22, SANDSLASH - db 0 ; no more evolutions - db 1, SCRATCH - db 6, DEFENSE_CURL - db 11, SAND_ATTACK - db 17, POISON_STING - db 23, SLASH - db 30, SWIFT - db 37, FURY_SWIPES - db 45, SANDSTORM - db 0 ; no more level-up moves - -SandslashEvosAttacks: - db 0 ; no more evolutions - db 1, SCRATCH - db 1, DEFENSE_CURL - db 1, SAND_ATTACK - db 6, DEFENSE_CURL - db 11, SAND_ATTACK - db 17, POISON_STING - db 24, SLASH - db 33, SWIFT - db 42, FURY_SWIPES - db 52, SANDSTORM - db 0 ; no more level-up moves - -NidoranFEvosAttacks: - db EVOLVE_LEVEL, 16, NIDORINA - db 0 ; no more evolutions - db 1, GROWL - db 1, TACKLE - db 8, SCRATCH - db 12, DOUBLE_KICK - db 17, POISON_STING - db 23, TAIL_WHIP - db 30, BITE - db 38, FURY_SWIPES - db 0 ; no more level-up moves - -NidorinaEvosAttacks: - db EVOLVE_ITEM, MOON_STONE, NIDOQUEEN - db 0 ; no more evolutions - db 1, GROWL - db 1, TACKLE - db 8, SCRATCH - db 12, DOUBLE_KICK - db 19, POISON_STING - db 27, TAIL_WHIP - db 36, BITE - db 46, FURY_SWIPES - db 0 ; no more level-up moves - -NidoqueenEvosAttacks: - db 0 ; no more evolutions - db 1, TACKLE - db 1, SCRATCH - db 1, DOUBLE_KICK - db 1, TAIL_WHIP - db 23, BODY_SLAM - db 0 ; no more level-up moves - -NidoranMEvosAttacks: - db EVOLVE_LEVEL, 16, NIDORINO - db 0 ; no more evolutions - db 1, LEER - db 1, TACKLE - db 8, HORN_ATTACK - db 12, DOUBLE_KICK - db 17, POISON_STING - db 23, FOCUS_ENERGY - db 30, FURY_ATTACK - db 38, HORN_DRILL - db 0 ; no more level-up moves - -NidorinoEvosAttacks: - db EVOLVE_ITEM, MOON_STONE, NIDOKING - db 0 ; no more evolutions - db 1, LEER - db 1, TACKLE - db 8, HORN_ATTACK - db 12, DOUBLE_KICK - db 19, POISON_STING - db 27, FOCUS_ENERGY - db 36, FURY_ATTACK - db 46, HORN_DRILL - db 0 ; no more level-up moves - -NidokingEvosAttacks: - db 0 ; no more evolutions - db 1, TACKLE - db 1, HORN_ATTACK - db 1, DOUBLE_KICK - db 1, POISON_STING - db 23, THRASH - db 0 ; no more level-up moves - -ClefairyEvosAttacks: - db EVOLVE_ITEM, MOON_STONE, CLEFABLE - db 0 ; no more evolutions - db 1, POUND - db 1, GROWL - db 4, ENCORE - db 8, SING - db 13, DOUBLESLAP - db 19, MINIMIZE - db 26, DEFENSE_CURL - db 34, METRONOME - db 43, MOONLIGHT - db 53, LIGHT_SCREEN - db 0 ; no more level-up moves - -ClefableEvosAttacks: - db 0 ; no more evolutions - db 1, SING - db 1, DOUBLESLAP - db 1, METRONOME - db 1, MOONLIGHT - db 0 ; no more level-up moves - -VulpixEvosAttacks: - db EVOLVE_ITEM, FIRE_STONE, NINETALES - db 0 ; no more evolutions - db 1, EMBER - db 1, TAIL_WHIP - db 7, QUICK_ATTACK - db 13, ROAR - db 19, CONFUSE_RAY - db 25, SAFEGUARD - db 31, FLAMETHROWER - db 37, FIRE_SPIN - db 0 ; no more level-up moves - -NinetalesEvosAttacks: - db 0 ; no more evolutions - db 1, EMBER - db 1, QUICK_ATTACK - db 1, CONFUSE_RAY - db 1, SAFEGUARD - db 43, FIRE_SPIN - db 0 ; no more level-up moves - -JigglypuffEvosAttacks: - db EVOLVE_ITEM, MOON_STONE, WIGGLYTUFF - db 0 ; no more evolutions - db 1, SING - db 4, DEFENSE_CURL - db 9, POUND - db 14, DISABLE - db 19, ROLLOUT - db 24, DOUBLESLAP - db 29, REST - db 34, BODY_SLAM - db 39, DOUBLE_EDGE - db 0 ; no more level-up moves - -WigglytuffEvosAttacks: - db 0 ; no more evolutions - db 1, SING - db 1, DISABLE - db 1, DEFENSE_CURL - db 1, DOUBLESLAP - db 0 ; no more level-up moves - -ZubatEvosAttacks: - db EVOLVE_LEVEL, 22, GOLBAT - db 0 ; no more evolutions - db 1, LEECH_LIFE - db 6, SUPERSONIC - db 12, BITE - db 19, CONFUSE_RAY - db 27, WING_ATTACK - db 36, MEAN_LOOK - db 46, HAZE - db 0 ; no more level-up moves - -GolbatEvosAttacks: - db EVOLVE_HAPPINESS, TR_ANYTIME, CROBAT - db 0 ; no more evolutions - db 1, SCREECH - db 1, LEECH_LIFE - db 1, SUPERSONIC - db 6, SUPERSONIC - db 12, BITE - db 19, CONFUSE_RAY - db 30, WING_ATTACK - db 42, MEAN_LOOK - db 55, HAZE - db 0 ; no more level-up moves - -OddishEvosAttacks: - db EVOLVE_LEVEL, 21, GLOOM - db 0 ; no more evolutions - db 1, ABSORB - db 7, SWEET_SCENT - db 14, POISONPOWDER - db 16, STUN_SPORE - db 18, SLEEP_POWDER - db 23, ACID - db 32, MOONLIGHT - db 39, PETAL_DANCE - db 0 ; no more level-up moves - -GloomEvosAttacks: - db EVOLVE_ITEM, LEAF_STONE, VILEPLUME - db EVOLVE_ITEM, SUN_STONE, BELLOSSOM - db 0 ; no more evolutions - db 1, ABSORB - db 1, SWEET_SCENT - db 1, POISONPOWDER - db 7, SWEET_SCENT - db 14, POISONPOWDER - db 16, STUN_SPORE - db 18, SLEEP_POWDER - db 24, ACID - db 35, MOONLIGHT - db 44, PETAL_DANCE - db 0 ; no more level-up moves - -VileplumeEvosAttacks: - db 0 ; no more evolutions - db 1, ABSORB - db 1, SWEET_SCENT - db 1, STUN_SPORE - db 1, PETAL_DANCE - db 0 ; no more level-up moves - -ParasEvosAttacks: - db EVOLVE_LEVEL, 24, PARASECT - db 0 ; no more evolutions - db 1, SCRATCH - db 7, STUN_SPORE - db 13, POISONPOWDER - db 19, LEECH_LIFE - db 25, SPORE - db 31, SLASH - db 37, GROWTH - db 43, GIGA_DRAIN - db 0 ; no more level-up moves - -ParasectEvosAttacks: - db 0 ; no more evolutions - db 1, SCRATCH - db 1, STUN_SPORE - db 1, POISONPOWDER - db 7, STUN_SPORE - db 13, POISONPOWDER - db 19, LEECH_LIFE - db 28, SPORE - db 37, SLASH - db 46, GROWTH - db 55, GIGA_DRAIN - db 0 ; no more level-up moves - -VenonatEvosAttacks: - db EVOLVE_LEVEL, 31, VENOMOTH - db 0 ; no more evolutions - db 1, TACKLE - db 1, DISABLE - db 1, FORESIGHT - db 9, SUPERSONIC - db 17, CONFUSION - db 20, POISONPOWDER - db 25, LEECH_LIFE - db 28, STUN_SPORE - db 33, PSYBEAM - db 36, SLEEP_POWDER - db 41, PSYCHIC_M - db 0 ; no more level-up moves - -VenomothEvosAttacks: - db 0 ; no more evolutions - db 1, TACKLE - db 1, DISABLE - db 1, FORESIGHT - db 1, SUPERSONIC - db 9, SUPERSONIC - db 17, CONFUSION - db 20, POISONPOWDER - db 25, LEECH_LIFE - db 28, STUN_SPORE - db 31, GUST - db 36, PSYBEAM - db 42, SLEEP_POWDER - db 52, PSYCHIC_M - db 0 ; no more level-up moves - -DiglettEvosAttacks: - db EVOLVE_LEVEL, 26, DUGTRIO - db 0 ; no more evolutions - db 1, SCRATCH - db 5, GROWL - db 9, MAGNITUDE - db 17, DIG - db 25, SAND_ATTACK - db 33, SLASH - db 41, EARTHQUAKE - db 49, FISSURE - db 0 ; no more level-up moves - -DugtrioEvosAttacks: - db 0 ; no more evolutions -if _CRYSTAL - db 1, TRI_ATTACK -endc - db 1, SCRATCH - db 1, GROWL - db 1, MAGNITUDE - db 5, GROWL - db 9, MAGNITUDE - db 17, DIG - db 25, SAND_ATTACK - db 37, SLASH - db 49, EARTHQUAKE - db 61, FISSURE - db 0 ; no more level-up moves - -MeowthEvosAttacks: - db EVOLVE_LEVEL, 28, PERSIAN - db 0 ; no more evolutions - db 1, SCRATCH - db 1, GROWL - db 11, BITE - db 20, PAY_DAY - db 28, FAINT_ATTACK - db 35, SCREECH - db 41, FURY_SWIPES - db 46, SLASH - db 0 ; no more level-up moves - -PersianEvosAttacks: - db 0 ; no more evolutions - db 1, SCRATCH - db 1, GROWL - db 1, BITE - db 11, BITE - db 20, PAY_DAY - db 29, FAINT_ATTACK - db 38, SCREECH - db 46, FURY_SWIPES - db 53, SLASH - db 0 ; no more level-up moves - -PsyduckEvosAttacks: - db EVOLVE_LEVEL, 33, GOLDUCK - db 0 ; no more evolutions - db 1, SCRATCH - db 5, TAIL_WHIP - db 10, DISABLE - db 16, CONFUSION - db 23, SCREECH - db 31, PSYCH_UP - db 40, FURY_SWIPES - db 50, HYDRO_PUMP - db 0 ; no more level-up moves - -GolduckEvosAttacks: - db 0 ; no more evolutions - db 1, SCRATCH - db 1, TAIL_WHIP - db 1, DISABLE - db 1, CONFUSION - db 5, TAIL_WHIP - db 10, DISABLE - db 16, CONFUSION - db 23, SCREECH - db 31, PSYCH_UP - db 44, FURY_SWIPES - db 58, HYDRO_PUMP - db 0 ; no more level-up moves - -MankeyEvosAttacks: - db EVOLVE_LEVEL, 28, PRIMEAPE - db 0 ; no more evolutions - db 1, SCRATCH - db 1, LEER - db 9, LOW_KICK - db 15, KARATE_CHOP - db 21, FURY_SWIPES - db 27, FOCUS_ENERGY - db 33, SEISMIC_TOSS - db 39, CROSS_CHOP - db 45, SCREECH - db 51, THRASH - db 0 ; no more level-up moves - -PrimeapeEvosAttacks: - db 0 ; no more evolutions - db 1, SCRATCH - db 1, LEER - db 1, LOW_KICK - db 1, RAGE - db 9, LOW_KICK - db 15, KARATE_CHOP - db 21, FURY_SWIPES - db 27, FOCUS_ENERGY - db 28, RAGE - db 36, SEISMIC_TOSS - db 45, CROSS_CHOP - db 54, SCREECH - db 63, THRASH - db 0 ; no more level-up moves - -GrowlitheEvosAttacks: - db EVOLVE_ITEM, FIRE_STONE, ARCANINE - db 0 ; no more evolutions - db 1, BITE - db 1, ROAR - db 9, EMBER - db 18, LEER - db 26, TAKE_DOWN - db 34, FLAME_WHEEL - db 42, AGILITY - db 50, FLAMETHROWER - db 0 ; no more level-up moves - -ArcanineEvosAttacks: - db 0 ; no more evolutions - db 1, ROAR - db 1, LEER - db 1, TAKE_DOWN - db 1, FLAME_WHEEL - db 50, EXTREMESPEED - db 0 ; no more level-up moves - -PoliwagEvosAttacks: - db EVOLVE_LEVEL, 25, POLIWHIRL - db 0 ; no more evolutions - db 1, BUBBLE - db 7, HYPNOSIS - db 13, WATER_GUN - db 19, DOUBLESLAP - db 25, RAIN_DANCE - db 31, BODY_SLAM - db 37, BELLY_DRUM - db 43, HYDRO_PUMP - db 0 ; no more level-up moves - -PoliwhirlEvosAttacks: - db EVOLVE_ITEM, WATER_STONE, POLIWRATH - db EVOLVE_TRADE, KINGS_ROCK, POLITOED - db 0 ; no more evolutions - db 1, BUBBLE - db 1, HYPNOSIS - db 1, WATER_GUN - db 7, HYPNOSIS - db 13, WATER_GUN - db 19, DOUBLESLAP - db 27, RAIN_DANCE - db 35, BODY_SLAM - db 43, BELLY_DRUM - db 51, HYDRO_PUMP - db 0 ; no more level-up moves - -PoliwrathEvosAttacks: - db 0 ; no more evolutions - db 1, WATER_GUN - db 1, HYPNOSIS - db 1, DOUBLESLAP - db 1, SUBMISSION - db 35, SUBMISSION - db 51, MIND_READER - db 0 ; no more level-up moves - -AbraEvosAttacks: - db EVOLVE_LEVEL, 16, KADABRA - db 0 ; no more evolutions - db 1, TELEPORT - db 0 ; no more level-up moves - -KadabraEvosAttacks: - db EVOLVE_TRADE, $ff, ALAKAZAM - db 0 ; no more evolutions - db 1, TELEPORT - db 1, KINESIS - db 1, CONFUSION - db 16, CONFUSION - db 18, DISABLE - db 21, PSYBEAM - db 26, RECOVER - db 31, FUTURE_SIGHT - db 38, PSYCHIC_M - db 45, REFLECT - db 0 ; no more level-up moves - -AlakazamEvosAttacks: - db 0 ; no more evolutions - db 1, TELEPORT - db 1, KINESIS - db 1, CONFUSION - db 16, CONFUSION - db 18, DISABLE - db 21, PSYBEAM - db 26, RECOVER - db 31, FUTURE_SIGHT - db 38, PSYCHIC_M - db 45, REFLECT - db 0 ; no more level-up moves - -MachopEvosAttacks: - db EVOLVE_LEVEL, 28, MACHOKE - db 0 ; no more evolutions - db 1, LOW_KICK - db 1, LEER - db 7, FOCUS_ENERGY - db 13, KARATE_CHOP - db 19, SEISMIC_TOSS - db 25, FORESIGHT - db 31, VITAL_THROW - db 37, CROSS_CHOP - db 43, SCARY_FACE - db 49, SUBMISSION - db 0 ; no more level-up moves - -MachokeEvosAttacks: - db EVOLVE_TRADE, $ff, MACHAMP - db 0 ; no more evolutions - db 1, LOW_KICK - db 1, LEER - db 1, FOCUS_ENERGY - db 8, FOCUS_ENERGY - db 15, KARATE_CHOP - db 19, SEISMIC_TOSS - db 25, FORESIGHT - db 34, VITAL_THROW - db 43, CROSS_CHOP - db 52, SCARY_FACE - db 61, SUBMISSION - db 0 ; no more level-up moves - -MachampEvosAttacks: - db 0 ; no more evolutions - db 1, LOW_KICK - db 1, LEER - db 1, FOCUS_ENERGY - db 8, FOCUS_ENERGY - db 15, KARATE_CHOP - db 19, SEISMIC_TOSS - db 25, FORESIGHT - db 34, VITAL_THROW - db 43, CROSS_CHOP - db 52, SCARY_FACE - db 61, SUBMISSION - db 0 ; no more level-up moves - -BellsproutEvosAttacks: - db EVOLVE_LEVEL, 21, WEEPINBELL - db 0 ; no more evolutions - db 1, VINE_WHIP - db 6, GROWTH - db 11, WRAP - db 15, SLEEP_POWDER - db 17, POISONPOWDER - db 19, STUN_SPORE - db 23, ACID - db 30, SWEET_SCENT - db 37, RAZOR_LEAF - db 45, SLAM - db 0 ; no more level-up moves - -WeepinbellEvosAttacks: - db EVOLVE_ITEM, LEAF_STONE, VICTREEBEL - db 0 ; no more evolutions - db 1, VINE_WHIP - db 1, GROWTH - db 1, WRAP - db 6, GROWTH - db 11, WRAP - db 15, SLEEP_POWDER - db 17, POISONPOWDER - db 19, STUN_SPORE - db 24, ACID - db 33, SWEET_SCENT - db 42, RAZOR_LEAF - db 54, SLAM - db 0 ; no more level-up moves - -VictreebelEvosAttacks: - db 0 ; no more evolutions - db 1, VINE_WHIP - db 1, SLEEP_POWDER - db 1, SWEET_SCENT - db 1, RAZOR_LEAF - db 0 ; no more level-up moves - -TentacoolEvosAttacks: - db EVOLVE_LEVEL, 30, TENTACRUEL - db 0 ; no more evolutions - db 1, POISON_STING - db 6, SUPERSONIC - db 12, CONSTRICT - db 19, ACID - db 25, BUBBLEBEAM - db 30, WRAP - db 36, BARRIER - db 43, SCREECH - db 49, HYDRO_PUMP - db 0 ; no more level-up moves - -TentacruelEvosAttacks: - db 0 ; no more evolutions - db 1, POISON_STING - db 1, SUPERSONIC - db 1, CONSTRICT - db 6, SUPERSONIC - db 12, CONSTRICT - db 19, ACID - db 25, BUBBLEBEAM - db 30, WRAP - db 38, BARRIER - db 47, SCREECH - db 55, HYDRO_PUMP - db 0 ; no more level-up moves - -GeodudeEvosAttacks: - db EVOLVE_LEVEL, 25, GRAVELER - db 0 ; no more evolutions - db 1, TACKLE - db 6, DEFENSE_CURL - db 11, ROCK_THROW - db 16, MAGNITUDE - db 21, SELFDESTRUCT - db 26, HARDEN - db 31, ROLLOUT - db 36, EARTHQUAKE - db 41, EXPLOSION - db 0 ; no more level-up moves - -GravelerEvosAttacks: - db EVOLVE_TRADE, $ff, GOLEM - db 0 ; no more evolutions - db 1, TACKLE - db 1, DEFENSE_CURL - db 1, ROCK_THROW - db 6, DEFENSE_CURL - db 11, ROCK_THROW - db 16, MAGNITUDE - db 21, SELFDESTRUCT - db 27, HARDEN - db 34, ROLLOUT - db 41, EARTHQUAKE - db 48, EXPLOSION - db 0 ; no more level-up moves - -GolemEvosAttacks: - db 0 ; no more evolutions - db 1, TACKLE - db 1, DEFENSE_CURL - db 1, ROCK_THROW - db 1, MAGNITUDE - db 6, DEFENSE_CURL - db 11, ROCK_THROW - db 16, MAGNITUDE - db 21, SELFDESTRUCT - db 27, HARDEN - db 34, ROLLOUT - db 41, EARTHQUAKE - db 48, EXPLOSION - db 0 ; no more level-up moves - -PonytaEvosAttacks: - db EVOLVE_LEVEL, 40, RAPIDASH - db 0 ; no more evolutions - db 1, TACKLE - db 4, GROWL - db 8, TAIL_WHIP - db 13, EMBER - db 19, STOMP - db 26, FIRE_SPIN - db 34, TAKE_DOWN - db 43, AGILITY - db 53, FIRE_BLAST - db 0 ; no more level-up moves - -RapidashEvosAttacks: - db 0 ; no more evolutions - db 1, TACKLE - db 1, GROWL - db 1, TAIL_WHIP - db 1, EMBER - db 4, GROWL - db 8, TAIL_WHIP - db 13, EMBER - db 19, STOMP - db 26, FIRE_SPIN - db 34, TAKE_DOWN - db 40, FURY_ATTACK - db 47, AGILITY - db 61, FIRE_BLAST - db 0 ; no more level-up moves - -SlowpokeEvosAttacks: - db EVOLVE_LEVEL, 37, SLOWBRO - db EVOLVE_TRADE, KINGS_ROCK, SLOWKING - db 0 ; no more evolutions - db 1, CURSE - db 1, TACKLE - db 6, GROWL - db 15, WATER_GUN - db 20, CONFUSION - db 29, DISABLE - db 34, HEADBUTT - db 43, AMNESIA - db 48, PSYCHIC_M - db 0 ; no more level-up moves - -SlowbroEvosAttacks: - db 0 ; no more evolutions - db 1, CURSE - db 1, TACKLE - db 1, GROWL - db 1, WATER_GUN - db 6, GROWL - db 15, WATER_GUN - db 20, CONFUSION - db 29, DISABLE - db 34, HEADBUTT - db 37, WITHDRAW - db 46, AMNESIA - db 54, PSYCHIC_M - db 0 ; no more level-up moves - -MagnemiteEvosAttacks: - db EVOLVE_LEVEL, 30, MAGNETON - db 0 ; no more evolutions - db 1, TACKLE - db 6, THUNDERSHOCK - db 11, SUPERSONIC - db 16, SONICBOOM - db 21, THUNDER_WAVE - db 27, LOCK_ON - db 33, SWIFT - db 39, SCREECH - db 45, ZAP_CANNON - db 0 ; no more level-up moves - -MagnetonEvosAttacks: - db 0 ; no more evolutions - db 1, TACKLE - db 1, THUNDERSHOCK - db 1, SUPERSONIC - db 1, SONICBOOM - db 6, THUNDERSHOCK - db 11, SUPERSONIC - db 16, SONICBOOM - db 21, THUNDER_WAVE - db 27, LOCK_ON -if _CRYSTAL - db 35, TRI_ATTACK -else - db 35, SWIFT -endc - db 43, SCREECH - db 53, ZAP_CANNON - db 0 ; no more level-up moves - -FarfetchDEvosAttacks: - db 0 ; no more evolutions - db 1, PECK - db 7, SAND_ATTACK - db 13, LEER - db 19, FURY_ATTACK - db 25, SWORDS_DANCE - db 31, AGILITY - db 37, SLASH - db 44, FALSE_SWIPE - db 0 ; no more level-up moves - -DoduoEvosAttacks: - db EVOLVE_LEVEL, 31, DODRIO - db 0 ; no more evolutions - db 1, PECK - db 1, GROWL - db 9, PURSUIT - db 13, FURY_ATTACK - db 21, TRI_ATTACK - db 25, RAGE - db 33, DRILL_PECK - db 37, AGILITY - db 0 ; no more level-up moves - -DodrioEvosAttacks: - db 0 ; no more evolutions - db 1, PECK - db 1, GROWL - db 1, PURSUIT - db 1, FURY_ATTACK - db 9, PURSUIT - db 13, FURY_ATTACK - db 21, TRI_ATTACK - db 25, RAGE - db 38, DRILL_PECK - db 47, AGILITY - db 0 ; no more level-up moves - -SeelEvosAttacks: - db EVOLVE_LEVEL, 34, DEWGONG - db 0 ; no more evolutions - db 1, HEADBUTT - db 5, GROWL - db 16, AURORA_BEAM - db 21, REST - db 32, TAKE_DOWN - db 37, ICE_BEAM - db 48, SAFEGUARD - db 0 ; no more level-up moves - -DewgongEvosAttacks: - db 0 ; no more evolutions - db 1, HEADBUTT - db 1, GROWL - db 1, AURORA_BEAM - db 5, GROWL - db 16, AURORA_BEAM - db 21, REST - db 32, TAKE_DOWN - db 43, ICE_BEAM - db 60, SAFEGUARD - db 0 ; no more level-up moves - -GrimerEvosAttacks: - db EVOLVE_LEVEL, 38, MUK - db 0 ; no more evolutions - db 1, POISON_GAS - db 1, POUND - db 5, HARDEN - db 10, DISABLE - db 16, SLUDGE - db 23, MINIMIZE - db 31, SCREECH - db 40, ACID_ARMOR - db 50, SLUDGE_BOMB - db 0 ; no more level-up moves - -MukEvosAttacks: - db 0 ; no more evolutions - db 1, POISON_GAS - db 1, POUND - db 1, HARDEN - db 33, HARDEN - db 37, DISABLE - db 45, SLUDGE - db 23, MINIMIZE - db 31, SCREECH - db 45, ACID_ARMOR - db 60, SLUDGE_BOMB - db 0 ; no more level-up moves - -ShellderEvosAttacks: - db EVOLVE_ITEM, WATER_STONE, CLOYSTER - db 0 ; no more evolutions - db 1, TACKLE - db 1, WITHDRAW - db 9, SUPERSONIC - db 17, AURORA_BEAM - db 25, PROTECT - db 33, LEER - db 41, CLAMP - db 49, ICE_BEAM - db 0 ; no more level-up moves - -CloysterEvosAttacks: - db 0 ; no more evolutions - db 1, WITHDRAW - db 1, SUPERSONIC - db 1, AURORA_BEAM - db 1, PROTECT -if _CRYSTAL - db 33, SPIKES -endc - db 41, SPIKE_CANNON - db 0 ; no more level-up moves - -GastlyEvosAttacks: - db EVOLVE_LEVEL, 25, HAUNTER - db 0 ; no more evolutions - db 1, HYPNOSIS - db 1, LICK - db 8, SPITE - db 13, MEAN_LOOK - db 16, CURSE - db 21, NIGHT_SHADE - db 28, CONFUSE_RAY - db 33, DREAM_EATER - db 36, DESTINY_BOND - db 0 ; no more level-up moves - -HaunterEvosAttacks: - db EVOLVE_TRADE, $ff, GENGAR - db 0 ; no more evolutions - db 1, HYPNOSIS - db 1, LICK - db 1, SPITE - db 8, SPITE - db 13, MEAN_LOOK - db 16, CURSE - db 21, NIGHT_SHADE - db 31, CONFUSE_RAY - db 39, DREAM_EATER - db 48, DESTINY_BOND - db 0 ; no more level-up moves - -GengarEvosAttacks: - db 0 ; no more evolutions - db 1, HYPNOSIS - db 1, LICK - db 1, SPITE - db 8, SPITE - db 13, MEAN_LOOK - db 16, CURSE - db 21, NIGHT_SHADE - db 31, CONFUSE_RAY - db 39, DREAM_EATER - db 48, DESTINY_BOND - db 0 ; no more level-up moves - -OnixEvosAttacks: - db EVOLVE_TRADE, METAL_COAT, STEELIX - db 0 ; no more evolutions - db 1, TACKLE - db 1, SCREECH - db 10, BIND - db 14, ROCK_THROW - db 23, HARDEN - db 27, RAGE - db 36, SANDSTORM - db 40, SLAM - db 0 ; no more level-up moves - -DrowzeeEvosAttacks: - db EVOLVE_LEVEL, 26, HYPNO - db 0 ; no more evolutions - db 1, POUND - db 1, HYPNOSIS - db 10, DISABLE - db 18, CONFUSION - db 25, HEADBUTT - db 31, POISON_GAS - db 36, MEDITATE - db 40, PSYCHIC_M - db 43, PSYCH_UP - db 45, FUTURE_SIGHT - db 0 ; no more level-up moves - -HypnoEvosAttacks: - db 0 ; no more evolutions - db 1, POUND - db 1, HYPNOSIS - db 1, DISABLE - db 1, CONFUSION - db 10, DISABLE - db 18, CONFUSION - db 25, HEADBUTT - db 33, POISON_GAS - db 40, MEDITATE - db 49, PSYCHIC_M - db 55, PSYCH_UP - db 60, FUTURE_SIGHT - db 0 ; no more level-up moves - -KrabbyEvosAttacks: - db EVOLVE_LEVEL, 28, KINGLER - db 0 ; no more evolutions - db 1, BUBBLE - db 5, LEER - db 12, VICEGRIP - db 16, HARDEN - db 23, STOMP - db 27, GUILLOTINE - db 34, PROTECT - db 41, CRABHAMMER - db 0 ; no more level-up moves - -KinglerEvosAttacks: - db 0 ; no more evolutions - db 1, BUBBLE - db 1, LEER - db 1, VICEGRIP - db 5, LEER - db 12, VICEGRIP - db 16, HARDEN - db 23, STOMP - db 27, GUILLOTINE - db 38, PROTECT - db 49, CRABHAMMER - db 0 ; no more level-up moves - -VoltorbEvosAttacks: - db EVOLVE_LEVEL, 30, ELECTRODE - db 0 ; no more evolutions - db 1, TACKLE - db 9, SCREECH - db 17, SONICBOOM - db 23, SELFDESTRUCT - db 29, ROLLOUT - db 33, LIGHT_SCREEN - db 37, SWIFT - db 39, EXPLOSION - db 41, MIRROR_COAT - db 0 ; no more level-up moves - -ElectrodeEvosAttacks: - db 0 ; no more evolutions - db 1, TACKLE - db 1, SCREECH - db 1, SONICBOOM - db 1, SELFDESTRUCT - db 9, SCREECH - db 17, SONICBOOM - db 23, SELFDESTRUCT - db 29, ROLLOUT - db 34, LIGHT_SCREEN - db 40, SWIFT - db 44, EXPLOSION - db 48, MIRROR_COAT - db 0 ; no more level-up moves - -ExeggcuteEvosAttacks: - db EVOLVE_ITEM, LEAF_STONE, EXEGGUTOR - db 0 ; no more evolutions - db 1, BARRAGE - db 1, HYPNOSIS - db 7, REFLECT - db 13, LEECH_SEED - db 19, CONFUSION - db 25, STUN_SPORE - db 31, POISONPOWDER - db 37, SLEEP_POWDER - db 43, SOLARBEAM - db 0 ; no more level-up moves - -ExeggutorEvosAttacks: - db 0 ; no more evolutions - db 1, BARRAGE - db 1, HYPNOSIS - db 1, CONFUSION - db 19, STOMP - db 31, EGG_BOMB - db 0 ; no more level-up moves - -CuboneEvosAttacks: - db EVOLVE_LEVEL, 28, MAROWAK - db 0 ; no more evolutions - db 1, GROWL - db 5, TAIL_WHIP - db 9, BONE_CLUB - db 13, HEADBUTT - db 17, LEER - db 21, FOCUS_ENERGY - db 25, BONEMERANG - db 29, RAGE - db 33, FALSE_SWIPE - db 37, THRASH - db 41, BONE_RUSH - db 0 ; no more level-up moves - -MarowakEvosAttacks: - db 0 ; no more evolutions - db 1, GROWL - db 1, TAIL_WHIP - db 1, BONE_CLUB - db 1, HEADBUTT - db 5, TAIL_WHIP - db 9, BONE_CLUB - db 13, HEADBUTT - db 17, LEER - db 21, FOCUS_ENERGY - db 25, BONEMERANG - db 32, RAGE - db 39, FALSE_SWIPE - db 46, THRASH - db 53, BONE_RUSH - db 0 ; no more level-up moves - -HitmonleeEvosAttacks: - db 0 ; no more evolutions - db 1, DOUBLE_KICK - db 6, MEDITATE - db 11, ROLLING_KICK - db 16, JUMP_KICK - db 21, FOCUS_ENERGY - db 26, HI_JUMP_KICK - db 31, MIND_READER - db 36, FORESIGHT - db 41, ENDURE - db 46, MEGA_KICK - db 51, REVERSAL - db 0 ; no more level-up moves - -HitmonchanEvosAttacks: - db 0 ; no more evolutions - db 1, COMET_PUNCH - db 7, AGILITY - db 13, PURSUIT - db 26, THUNDERPUNCH - db 26, ICE_PUNCH - db 26, FIRE_PUNCH - db 32, MACH_PUNCH - db 38, MEGA_PUNCH - db 44, DETECT - db 50, COUNTER - db 0 ; no more level-up moves - -LickitungEvosAttacks: - db 0 ; no more evolutions - db 1, LICK - db 7, SUPERSONIC - db 13, DEFENSE_CURL - db 19, STOMP - db 25, WRAP - db 31, DISABLE - db 37, SLAM - db 43, SCREECH - db 0 ; no more level-up moves - -KoffingEvosAttacks: - db EVOLVE_LEVEL, 35, WEEZING - db 0 ; no more evolutions - db 1, POISON_GAS - db 1, TACKLE - db 9, SMOG - db 17, SELFDESTRUCT - db 21, SLUDGE - db 25, SMOKESCREEN - db 33, HAZE - db 41, EXPLOSION - db 45, DESTINY_BOND - db 0 ; no more level-up moves - -WeezingEvosAttacks: - db 0 ; no more evolutions - db 1, POISON_GAS - db 1, TACKLE - db 1, SMOG - db 1, SELFDESTRUCT - db 9, SMOG - db 17, SELFDESTRUCT - db 21, SLUDGE - db 25, SMOKESCREEN - db 33, HAZE - db 44, EXPLOSION - db 51, DESTINY_BOND - db 0 ; no more level-up moves - -RhyhornEvosAttacks: - db EVOLVE_LEVEL, 42, RHYDON - db 0 ; no more evolutions - db 1, HORN_ATTACK - db 1, TAIL_WHIP - db 13, STOMP - db 19, FURY_ATTACK - db 31, SCARY_FACE - db 37, HORN_DRILL - db 49, TAKE_DOWN - db 55, EARTHQUAKE - db 0 ; no more level-up moves - -RhydonEvosAttacks: - db 0 ; no more evolutions - db 1, HORN_ATTACK - db 1, TAIL_WHIP - db 1, STOMP - db 1, FURY_ATTACK - db 13, STOMP - db 19, FURY_ATTACK - db 31, SCARY_FACE - db 37, HORN_DRILL - db 54, TAKE_DOWN - db 65, EARTHQUAKE - db 0 ; no more level-up moves - -ChanseyEvosAttacks: - db EVOLVE_HAPPINESS, TR_ANYTIME, BLISSEY - db 0 ; no more evolutions - db 1, POUND - db 5, GROWL - db 9, TAIL_WHIP - db 13, SOFTBOILED - db 17, DOUBLESLAP - db 23, MINIMIZE - db 29, SING - db 35, EGG_BOMB - db 41, DEFENSE_CURL - db 49, LIGHT_SCREEN - db 57, DOUBLE_EDGE - db 0 ; no more level-up moves - -TangelaEvosAttacks: - db 0 ; no more evolutions - db 1, CONSTRICT - db 4, SLEEP_POWDER - db 10, ABSORB - db 13, POISONPOWDER - db 19, VINE_WHIP - db 25, BIND - db 31, MEGA_DRAIN - db 34, STUN_SPORE - db 40, SLAM - db 46, GROWTH - db 0 ; no more level-up moves - -KangaskhanEvosAttacks: - db 0 ; no more evolutions - db 1, COMET_PUNCH - db 7, LEER - db 13, BITE - db 19, TAIL_WHIP - db 25, MEGA_PUNCH - db 31, RAGE - db 37, ENDURE - db 43, DIZZY_PUNCH - db 49, REVERSAL - db 0 ; no more level-up moves - -HorseaEvosAttacks: - db EVOLVE_LEVEL, 32, SEADRA - db 0 ; no more evolutions - db 1, BUBBLE - db 8, SMOKESCREEN - db 15, LEER - db 22, WATER_GUN - db 29, TWISTER - db 36, AGILITY - db 43, HYDRO_PUMP - db 0 ; no more level-up moves - -SeadraEvosAttacks: - db EVOLVE_TRADE, DRAGON_SCALE, KINGDRA - db 0 ; no more evolutions - db 1, BUBBLE - db 1, SMOKESCREEN - db 1, LEER - db 1, WATER_GUN - db 8, SMOKESCREEN - db 15, LEER - db 22, WATER_GUN - db 29, TWISTER - db 40, AGILITY - db 51, HYDRO_PUMP - db 0 ; no more level-up moves - -GoldeenEvosAttacks: - db EVOLVE_LEVEL, 33, SEAKING - db 0 ; no more evolutions - db 1, PECK - db 1, TAIL_WHIP - db 10, SUPERSONIC - db 15, HORN_ATTACK - db 24, FLAIL - db 29, FURY_ATTACK - db 38, WATERFALL - db 43, HORN_DRILL - db 52, AGILITY - db 0 ; no more level-up moves - -SeakingEvosAttacks: - db 0 ; no more evolutions - db 1, PECK - db 1, TAIL_WHIP - db 1, TAIL_WHIP - db 10, SUPERSONIC - db 15, HORN_ATTACK - db 24, FLAIL - db 29, FURY_ATTACK - db 41, WATERFALL - db 49, HORN_DRILL - db 61, AGILITY - db 0 ; no more level-up moves - -StaryuEvosAttacks: - db EVOLVE_ITEM, WATER_STONE, STARMIE - db 0 ; no more evolutions - db 1, TACKLE - db 1, HARDEN - db 7, WATER_GUN - db 13, RAPID_SPIN - db 19, RECOVER - db 25, SWIFT - db 31, BUBBLEBEAM - db 37, MINIMIZE - db 43, LIGHT_SCREEN - db 50, HYDRO_PUMP - db 0 ; no more level-up moves - -StarmieEvosAttacks: - db 0 ; no more evolutions - db 1, TACKLE - db 1, RAPID_SPIN - db 1, RECOVER - db 1, BUBBLEBEAM - db 37, CONFUSE_RAY - db 0 ; no more level-up moves - -MrMimeEvosAttacks: - db 0 ; no more evolutions - db 1, BARRIER - db 6, CONFUSION - db 11, SUBSTITUTE - db 16, MEDITATE - db 21, DOUBLESLAP - db 26, LIGHT_SCREEN - db 26, REFLECT - db 31, ENCORE - db 36, PSYBEAM - db 41, BATON_PASS - db 46, SAFEGUARD - db 0 ; no more level-up moves - -ScytherEvosAttacks: - db EVOLVE_TRADE, METAL_COAT, SCIZOR - db 0 ; no more evolutions - db 1, QUICK_ATTACK - db 1, LEER - db 6, FOCUS_ENERGY - db 12, PURSUIT - db 18, FALSE_SWIPE - db 24, AGILITY - db 30, WING_ATTACK - db 36, SLASH - db 42, SWORDS_DANCE - db 48, DOUBLE_TEAM - db 0 ; no more level-up moves - -JynxEvosAttacks: - db 0 ; no more evolutions - db 1, POUND - db 1, LICK - db 1, LOVELY_KISS - db 1, POWDER_SNOW - db 9, LOVELY_KISS - db 13, POWDER_SNOW - db 21, DOUBLESLAP - db 25, ICE_PUNCH - db 35, MEAN_LOOK - db 41, BODY_SLAM - db 51, PERISH_SONG - db 57, BLIZZARD - db 0 ; no more level-up moves - -ElectabuzzEvosAttacks: - db 0 ; no more evolutions - db 1, QUICK_ATTACK - db 1, LEER - db 1, THUNDERPUNCH - db 9, THUNDERPUNCH - db 17, LIGHT_SCREEN - db 25, SWIFT - db 36, SCREECH - db 47, THUNDERBOLT - db 58, THUNDER - db 0 ; no more level-up moves - -MagmarEvosAttacks: - db 0 ; no more evolutions - db 1, EMBER - db 1, LEER - db 1, SMOG - db 1, FIRE_PUNCH - db 7, LEER - db 13, SMOG - db 19, FIRE_PUNCH - db 25, SMOKESCREEN - db 33, SUNNY_DAY - db 41, FLAMETHROWER - db 49, CONFUSE_RAY - db 57, FIRE_BLAST - db 0 ; no more level-up moves - -PinsirEvosAttacks: - db 0 ; no more evolutions - db 1, VICEGRIP - db 7, FOCUS_ENERGY - db 13, BIND - db 19, SEISMIC_TOSS - db 25, HARDEN - db 31, GUILLOTINE - db 37, SUBMISSION - db 43, SWORDS_DANCE - db 0 ; no more level-up moves - -TaurosEvosAttacks: - db 0 ; no more evolutions - db 1, TACKLE - db 4, TAIL_WHIP - db 8, RAGE - db 13, HORN_ATTACK - db 19, SCARY_FACE - db 26, PURSUIT - db 34, REST - db 43, THRASH - db 53, TAKE_DOWN - db 0 ; no more level-up moves - -MagikarpEvosAttacks: - db EVOLVE_LEVEL, 20, GYARADOS - db 0 ; no more evolutions - db 1, SPLASH - db 15, TACKLE - db 30, FLAIL - db 0 ; no more level-up moves - -GyaradosEvosAttacks: - db 0 ; no more evolutions - db 1, THRASH - db 20, BITE - db 25, DRAGON_RAGE - db 30, LEER - db 35, TWISTER - db 40, HYDRO_PUMP - db 45, RAIN_DANCE - db 50, HYPER_BEAM - db 0 ; no more level-up moves - -LaprasEvosAttacks: - db 0 ; no more evolutions - db 1, WATER_GUN - db 1, GROWL - db 1, SING - db 8, MIST - db 15, BODY_SLAM - db 22, CONFUSE_RAY - db 29, PERISH_SONG - db 36, ICE_BEAM - db 43, RAIN_DANCE - db 50, SAFEGUARD - db 57, HYDRO_PUMP - db 0 ; no more level-up moves - -DittoEvosAttacks: - db 0 ; no more evolutions - db 1, TRANSFORM - db 0 ; no more level-up moves - -EeveeEvosAttacks: - db EVOLVE_ITEM, THUNDERSTONE, JOLTEON - db EVOLVE_ITEM, WATER_STONE, VAPOREON - db EVOLVE_ITEM, FIRE_STONE, FLAREON - db EVOLVE_HAPPINESS, TR_MORNDAY, ESPEON - db EVOLVE_HAPPINESS, TR_NITE, UMBREON - db 0 ; no more evolutions - db 1, TACKLE - db 1, TAIL_WHIP - db 8, SAND_ATTACK - db 16, GROWL - db 23, QUICK_ATTACK - db 30, BITE -if _CRYSTAL - db 36, BATON_PASS -else - db 36, FOCUS_ENERGY -endc - db 42, TAKE_DOWN - db 0 ; no more level-up moves - -VaporeonEvosAttacks: - db 0 ; no more evolutions - db 1, TACKLE - db 1, TAIL_WHIP - db 8, SAND_ATTACK - db 16, WATER_GUN - db 23, QUICK_ATTACK - db 30, BITE - db 36, AURORA_BEAM - db 42, HAZE - db 47, ACID_ARMOR - db 52, HYDRO_PUMP - db 0 ; no more level-up moves - -JolteonEvosAttacks: - db 0 ; no more evolutions - db 1, TACKLE - db 1, TAIL_WHIP - db 8, SAND_ATTACK - db 16, THUNDERSHOCK - db 23, QUICK_ATTACK - db 30, DOUBLE_KICK - db 36, PIN_MISSILE - db 42, THUNDER_WAVE - db 47, AGILITY - db 52, THUNDER - db 0 ; no more level-up moves - -FlareonEvosAttacks: - db 0 ; no more evolutions - db 1, TACKLE - db 1, TAIL_WHIP - db 8, SAND_ATTACK - db 16, EMBER - db 23, QUICK_ATTACK - db 30, BITE - db 36, FIRE_SPIN - db 42, SMOG - db 47, LEER - db 52, FLAMETHROWER - db 0 ; no more level-up moves - -PorygonEvosAttacks: - db EVOLVE_TRADE, UP_GRADE, PORYGON2 - db 0 ; no more evolutions - db 1, CONVERSION2 - db 1, TACKLE - db 1, CONVERSION - db 9, AGILITY - db 12, PSYBEAM - db 20, RECOVER - db 24, SHARPEN - db 32, LOCK_ON - db 36, TRI_ATTACK - db 44, ZAP_CANNON - db 0 ; no more level-up moves - -OmanyteEvosAttacks: - db EVOLVE_LEVEL, 40, OMASTAR - db 0 ; no more evolutions - db 1, CONSTRICT - db 1, WITHDRAW - db 13, BITE - db 19, WATER_GUN - db 31, LEER - db 37, PROTECT - db 49, ANCIENTPOWER - db 55, HYDRO_PUMP - db 0 ; no more level-up moves - -OmastarEvosAttacks: - db 0 ; no more evolutions - db 1, CONSTRICT - db 1, WITHDRAW - db 1, BITE - db 13, BITE - db 19, WATER_GUN - db 31, LEER - db 37, PROTECT - db 40, SPIKE_CANNON - db 54, ANCIENTPOWER - db 65, HYDRO_PUMP - db 0 ; no more level-up moves - -KabutoEvosAttacks: - db EVOLVE_LEVEL, 40, KABUTOPS - db 0 ; no more evolutions - db 1, SCRATCH - db 1, HARDEN - db 10, ABSORB - db 19, LEER - db 28, SAND_ATTACK - db 37, ENDURE - db 46, MEGA_DRAIN - db 55, ANCIENTPOWER - db 0 ; no more level-up moves - -KabutopsEvosAttacks: - db 0 ; no more evolutions - db 1, SCRATCH - db 1, HARDEN - db 1, ABSORB - db 10, ABSORB - db 19, LEER - db 28, SAND_ATTACK - db 37, ENDURE - db 40, SLASH - db 51, MEGA_DRAIN - db 65, ANCIENTPOWER - db 0 ; no more level-up moves - -AerodactylEvosAttacks: - db 0 ; no more evolutions - db 1, WING_ATTACK - db 8, AGILITY - db 15, BITE - db 22, SUPERSONIC - db 29, ANCIENTPOWER - db 36, SCARY_FACE - db 43, TAKE_DOWN - db 50, HYPER_BEAM - db 0 ; no more level-up moves - -SnorlaxEvosAttacks: - db 0 ; no more evolutions - db 1, TACKLE - db 8, AMNESIA - db 15, DEFENSE_CURL - db 22, BELLY_DRUM - db 29, HEADBUTT - db 36, SNORE - db 36, REST - db 43, BODY_SLAM - db 50, ROLLOUT - db 57, HYPER_BEAM - db 0 ; no more level-up moves - -ArticunoEvosAttacks: - db 0 ; no more evolutions - db 1, GUST - db 1, POWDER_SNOW - db 13, MIST - db 25, AGILITY - db 37, MIND_READER - db 49, ICE_BEAM - db 61, REFLECT - db 73, BLIZZARD - db 0 ; no more level-up moves - -ZapdosEvosAttacks: - db 0 ; no more evolutions - db 1, PECK - db 1, THUNDERSHOCK - db 13, THUNDER_WAVE - db 25, AGILITY - db 37, DETECT - db 49, DRILL_PECK - db 61, LIGHT_SCREEN - db 73, THUNDER - db 0 ; no more level-up moves - -MoltresEvosAttacks: - db 0 ; no more evolutions - db 1, WING_ATTACK - db 1, EMBER - db 13, FIRE_SPIN - db 25, AGILITY - db 37, ENDURE - db 49, FLAMETHROWER - db 61, SAFEGUARD - db 73, SKY_ATTACK - db 0 ; no more level-up moves - -DratiniEvosAttacks: - db EVOLVE_LEVEL, 30, DRAGONAIR - db 0 ; no more evolutions - db 1, WRAP - db 1, LEER - db 8, THUNDER_WAVE - db 15, TWISTER - db 22, DRAGON_RAGE - db 29, SLAM - db 36, AGILITY - db 43, SAFEGUARD - db 50, OUTRAGE - db 57, HYPER_BEAM - db 0 ; no more level-up moves - -DragonairEvosAttacks: - db EVOLVE_LEVEL, 55, DRAGONITE - db 0 ; no more evolutions - db 1, WRAP - db 1, LEER - db 1, THUNDER_WAVE - db 1, TWISTER - db 8, THUNDER_WAVE - db 15, TWISTER - db 22, DRAGON_RAGE - db 29, SLAM - db 38, AGILITY - db 47, SAFEGUARD - db 56, OUTRAGE - db 65, HYPER_BEAM - db 0 ; no more level-up moves - -DragoniteEvosAttacks: - db 0 ; no more evolutions - db 1, WRAP - db 1, LEER - db 1, THUNDER_WAVE - db 1, TWISTER - db 8, THUNDER_WAVE - db 15, TWISTER - db 22, DRAGON_RAGE - db 29, SLAM - db 38, AGILITY - db 47, SAFEGUARD - db 55, WING_ATTACK - db 61, OUTRAGE - db 75, HYPER_BEAM - db 0 ; no more level-up moves - -MewtwoEvosAttacks: - db 0 ; no more evolutions - db 1, CONFUSION - db 1, DISABLE - db 11, BARRIER - db 22, SWIFT - db 33, PSYCH_UP - db 44, FUTURE_SIGHT - db 55, MIST - db 66, PSYCHIC_M - db 77, AMNESIA - db 88, RECOVER - db 99, SAFEGUARD - db 0 ; no more level-up moves - -MewEvosAttacks: - db 0 ; no more evolutions - db 1, POUND - db 10, TRANSFORM - db 20, MEGA_PUNCH - db 30, METRONOME - db 40, PSYCHIC_M - db 50, ANCIENTPOWER - db 0 ; no more level-up moves - -ChikoritaEvosAttacks: - db EVOLVE_LEVEL, 16, BAYLEEF - db 0 ; no more evolutions - db 1, TACKLE - db 1, GROWL - db 8, RAZOR_LEAF - db 12, REFLECT - db 15, POISONPOWDER - db 22, SYNTHESIS - db 29, BODY_SLAM - db 36, LIGHT_SCREEN - db 43, SAFEGUARD - db 50, SOLARBEAM - db 0 ; no more level-up moves - -BayleefEvosAttacks: - db EVOLVE_LEVEL, 32, MEGANIUM - db 0 ; no more evolutions - db 1, TACKLE - db 1, GROWL - db 1, RAZOR_LEAF - db 1, REFLECT - db 8, RAZOR_LEAF - db 12, REFLECT - db 15, POISONPOWDER - db 23, SYNTHESIS - db 31, BODY_SLAM - db 39, LIGHT_SCREEN - db 47, SAFEGUARD - db 55, SOLARBEAM - db 0 ; no more level-up moves - -MeganiumEvosAttacks: - db 0 ; no more evolutions - db 1, TACKLE - db 1, GROWL - db 1, RAZOR_LEAF - db 1, REFLECT - db 8, RAZOR_LEAF - db 12, REFLECT - db 15, POISONPOWDER - db 23, SYNTHESIS - db 31, BODY_SLAM - db 41, LIGHT_SCREEN - db 51, SAFEGUARD - db 61, SOLARBEAM - db 0 ; no more level-up moves - -CyndaquilEvosAttacks: - db EVOLVE_LEVEL, 14, QUILAVA - db 0 ; no more evolutions - db 1, TACKLE - db 1, LEER - db 6, SMOKESCREEN - db 12, EMBER - db 19, QUICK_ATTACK - db 27, FLAME_WHEEL - db 36, SWIFT - db 46, FLAMETHROWER - db 0 ; no more level-up moves - -QuilavaEvosAttacks: - db EVOLVE_LEVEL, 36, TYPHLOSION - db 0 ; no more evolutions - db 1, TACKLE - db 1, LEER - db 1, SMOKESCREEN - db 6, SMOKESCREEN - db 12, EMBER - db 21, QUICK_ATTACK - db 31, FLAME_WHEEL - db 42, SWIFT - db 54, FLAMETHROWER - db 0 ; no more level-up moves - -TyphlosionEvosAttacks: - db 0 ; no more evolutions - db 1, TACKLE - db 1, LEER - db 1, SMOKESCREEN - db 1, EMBER - db 6, SMOKESCREEN - db 12, EMBER - db 21, QUICK_ATTACK - db 31, FLAME_WHEEL - db 45, SWIFT - db 60, FLAMETHROWER - db 0 ; no more level-up moves - -TotodileEvosAttacks: - db EVOLVE_LEVEL, 18, CROCONAW - db 0 ; no more evolutions - db 1, SCRATCH - db 1, LEER - db 7, RAGE - db 13, WATER_GUN - db 20, BITE - db 27, SCARY_FACE - db 35, SLASH - db 43, SCREECH - db 52, HYDRO_PUMP - db 0 ; no more level-up moves - -CroconawEvosAttacks: - db EVOLVE_LEVEL, 30, FERALIGATR - db 0 ; no more evolutions - db 1, SCRATCH - db 1, LEER - db 1, RAGE - db 7, RAGE - db 13, WATER_GUN - db 21, BITE - db 28, SCARY_FACE - db 37, SLASH - db 45, SCREECH - db 55, HYDRO_PUMP - db 0 ; no more level-up moves - -FeraligatrEvosAttacks: - db 0 ; no more evolutions - db 1, SCRATCH - db 1, LEER - db 1, RAGE - db 1, WATER_GUN - db 7, RAGE - db 13, WATER_GUN - db 21, BITE - db 28, SCARY_FACE - db 38, SLASH - db 47, SCREECH - db 58, HYDRO_PUMP - db 0 ; no more level-up moves - -SentretEvosAttacks: - db EVOLVE_LEVEL, 15, FURRET - db 0 ; no more evolutions - db 1, TACKLE - db 5, DEFENSE_CURL - db 11, QUICK_ATTACK - db 17, FURY_SWIPES - db 25, SLAM - db 33, REST - db 41, AMNESIA - db 0 ; no more level-up moves - -FurretEvosAttacks: - db 0 ; no more evolutions - db 1, SCRATCH - db 1, DEFENSE_CURL - db 1, QUICK_ATTACK - db 5, DEFENSE_CURL - db 11, QUICK_ATTACK - db 18, FURY_SWIPES - db 28, SLAM - db 38, REST - db 48, AMNESIA - db 0 ; no more level-up moves - -HoothootEvosAttacks: - db EVOLVE_LEVEL, 20, NOCTOWL - db 0 ; no more evolutions - db 1, TACKLE - db 1, GROWL - db 6, FORESIGHT - db 11, PECK - db 16, HYPNOSIS - db 22, REFLECT - db 28, TAKE_DOWN - db 34, CONFUSION - db 48, DREAM_EATER - db 0 ; no more level-up moves - -NoctowlEvosAttacks: - db 0 ; no more evolutions - db 1, TACKLE - db 1, GROWL - db 1, FORESIGHT - db 1, PECK - db 6, FORESIGHT - db 11, PECK - db 16, HYPNOSIS - db 25, REFLECT - db 33, TAKE_DOWN - db 41, CONFUSION - db 57, DREAM_EATER - db 0 ; no more level-up moves - -LedybaEvosAttacks: - db EVOLVE_LEVEL, 18, LEDIAN - db 0 ; no more evolutions - db 1, TACKLE - db 8, SUPERSONIC - db 15, COMET_PUNCH - db 22, LIGHT_SCREEN - db 22, REFLECT - db 22, SAFEGUARD - db 29, BATON_PASS - db 36, SWIFT - db 43, AGILITY - db 50, DOUBLE_EDGE - db 0 ; no more level-up moves - -LedianEvosAttacks: - db 0 ; no more evolutions - db 1, TACKLE - db 1, SUPERSONIC - db 8, SUPERSONIC - db 15, COMET_PUNCH - db 24, LIGHT_SCREEN - db 24, REFLECT - db 24, SAFEGUARD - db 33, BATON_PASS - db 42, SWIFT - db 51, AGILITY - db 60, DOUBLE_EDGE - db 0 ; no more level-up moves - -SpinarakEvosAttacks: - db EVOLVE_LEVEL, 22, ARIADOS - db 0 ; no more evolutions - db 1, POISON_STING - db 1, STRING_SHOT - db 6, SCARY_FACE - db 11, CONSTRICT - db 17, NIGHT_SHADE - db 23, LEECH_LIFE - db 30, FURY_SWIPES - db 37, SPIDER_WEB -if _CRYSTAL - db 45, AGILITY -else - db 45, SCREECH -endc - db 53, PSYCHIC_M - db 0 ; no more level-up moves - -AriadosEvosAttacks: - db 0 ; no more evolutions - db 1, POISON_STING - db 1, STRING_SHOT - db 1, SCARY_FACE - db 1, CONSTRICT - db 6, SCARY_FACE - db 11, CONSTRICT - db 17, NIGHT_SHADE - db 25, LEECH_LIFE - db 34, FURY_SWIPES - db 43, SPIDER_WEB -if _CRYSTAL - db 53, AGILITY -else - db 53, SCREECH -endc - db 63, PSYCHIC_M - db 0 ; no more level-up moves - -CrobatEvosAttacks: - db 0 ; no more evolutions - db 1, SCREECH - db 1, LEECH_LIFE - db 1, SUPERSONIC - db 6, SUPERSONIC - db 12, BITE - db 19, CONFUSE_RAY - db 30, WING_ATTACK - db 42, MEAN_LOOK - db 55, HAZE - db 0 ; no more level-up moves - -ChinchouEvosAttacks: - db EVOLVE_LEVEL, 27, LANTURN - db 0 ; no more evolutions - db 1, BUBBLE - db 1, THUNDER_WAVE - db 5, SUPERSONIC - db 13, FLAIL - db 17, WATER_GUN - db 25, SPARK - db 29, CONFUSE_RAY - db 37, TAKE_DOWN - db 41, HYDRO_PUMP - db 0 ; no more level-up moves - -LanturnEvosAttacks: - db 0 ; no more evolutions - db 1, BUBBLE - db 1, THUNDER_WAVE - db 1, SUPERSONIC - db 5, SUPERSONIC - db 13, FLAIL - db 17, WATER_GUN - db 25, SPARK - db 33, CONFUSE_RAY - db 45, TAKE_DOWN - db 53, HYDRO_PUMP - db 0 ; no more level-up moves - -PichuEvosAttacks: - db EVOLVE_HAPPINESS, TR_ANYTIME, PIKACHU - db 0 ; no more evolutions - db 1, THUNDERSHOCK - db 1, CHARM - db 6, TAIL_WHIP - db 8, THUNDER_WAVE - db 11, SWEET_KISS - db 0 ; no more level-up moves - -CleffaEvosAttacks: - db EVOLVE_HAPPINESS, TR_ANYTIME, CLEFAIRY - db 0 ; no more evolutions - db 1, POUND - db 1, CHARM - db 4, ENCORE - db 8, SING - db 13, SWEET_KISS - db 0 ; no more level-up moves - -IgglybuffEvosAttacks: - db EVOLVE_HAPPINESS, TR_ANYTIME, JIGGLYPUFF - db 0 ; no more evolutions - db 1, SING - db 1, CHARM - db 4, DEFENSE_CURL - db 9, POUND - db 14, SWEET_KISS - db 0 ; no more level-up moves - -TogepiEvosAttacks: - db EVOLVE_HAPPINESS, TR_ANYTIME, TOGETIC - db 0 ; no more evolutions - db 1, GROWL - db 1, CHARM - db 7, METRONOME - db 18, SWEET_KISS - db 25, ENCORE - db 31, SAFEGUARD - db 38, DOUBLE_EDGE - db 0 ; no more level-up moves - -TogeticEvosAttacks: - db 0 ; no more evolutions - db 1, GROWL - db 1, CHARM - db 7, METRONOME - db 18, SWEET_KISS - db 25, ENCORE - db 31, SAFEGUARD - db 38, DOUBLE_EDGE - db 0 ; no more level-up moves - -NatuEvosAttacks: - db EVOLVE_LEVEL, 25, XATU - db 0 ; no more evolutions - db 1, PECK - db 1, LEER - db 10, NIGHT_SHADE - db 20, TELEPORT - db 30, FUTURE_SIGHT - db 40, CONFUSE_RAY - db 50, PSYCHIC_M - db 0 ; no more level-up moves - -XatuEvosAttacks: - db 0 ; no more evolutions - db 1, PECK - db 1, LEER - db 1, NIGHT_SHADE - db 10, NIGHT_SHADE - db 20, TELEPORT - db 35, FUTURE_SIGHT - db 50, CONFUSE_RAY - db 65, PSYCHIC_M - db 0 ; no more level-up moves - -MareepEvosAttacks: - db EVOLVE_LEVEL, 15, FLAAFFY - db 0 ; no more evolutions - db 1, TACKLE - db 1, GROWL - db 9, THUNDERSHOCK - db 16, THUNDER_WAVE - db 23, COTTON_SPORE - db 30, LIGHT_SCREEN - db 37, THUNDER - db 0 ; no more level-up moves - -FlaaffyEvosAttacks: - db EVOLVE_LEVEL, 30, AMPHAROS - db 0 ; no more evolutions - db 1, TACKLE - db 1, GROWL - db 1, THUNDERSHOCK - db 9, THUNDERSHOCK - db 18, THUNDER_WAVE - db 27, COTTON_SPORE - db 36, LIGHT_SCREEN - db 45, THUNDER - db 0 ; no more level-up moves - -AmpharosEvosAttacks: - db 0 ; no more evolutions - db 1, TACKLE - db 1, GROWL - db 1, THUNDERSHOCK - db 1, THUNDER_WAVE - db 9, THUNDERSHOCK - db 18, THUNDER_WAVE - db 27, COTTON_SPORE - db 30, THUNDERPUNCH - db 42, LIGHT_SCREEN - db 57, THUNDER - db 0 ; no more level-up moves - -BellossomEvosAttacks: - db 0 ; no more evolutions - db 1, ABSORB - db 1, SWEET_SCENT - db 1, STUN_SPORE - db 1, PETAL_DANCE - db 55, SOLARBEAM - db 0 ; no more level-up moves - -MarillEvosAttacks: - db EVOLVE_LEVEL, 18, AZUMARILL - db 0 ; no more evolutions - db 1, TACKLE - db 3, DEFENSE_CURL - db 6, TAIL_WHIP - db 10, WATER_GUN - db 15, ROLLOUT - db 21, BUBBLEBEAM - db 28, DOUBLE_EDGE - db 36, RAIN_DANCE - db 0 ; no more level-up moves - -AzumarillEvosAttacks: - db 0 ; no more evolutions - db 1, TACKLE - db 1, DEFENSE_CURL - db 1, TAIL_WHIP - db 1, WATER_GUN - db 3, DEFENSE_CURL - db 6, TAIL_WHIP - db 10, WATER_GUN - db 15, ROLLOUT - db 25, BUBBLEBEAM - db 36, DOUBLE_EDGE - db 48, RAIN_DANCE - db 0 ; no more level-up moves - -SudowoodoEvosAttacks: - db 0 ; no more evolutions - db 1, ROCK_THROW - db 1, MIMIC - db 10, FLAIL - db 19, LOW_KICK - db 28, ROCK_SLIDE - db 37, FAINT_ATTACK - db 46, SLAM - db 0 ; no more level-up moves - -PolitoedEvosAttacks: - db 0 ; no more evolutions - db 1, WATER_GUN - db 1, HYPNOSIS - db 1, DOUBLESLAP - db 1, PERISH_SONG - db 35, PERISH_SONG - db 51, SWAGGER - db 0 ; no more level-up moves - -HoppipEvosAttacks: - db EVOLVE_LEVEL, 18, SKIPLOOM - db 0 ; no more evolutions - db 1, SPLASH -if _CRYSTAL - db 5, SYNTHESIS -else - db 1, SYNTHESIS -endc - db 5, TAIL_WHIP - db 10, TACKLE - db 13, POISONPOWDER - db 15, STUN_SPORE - db 17, SLEEP_POWDER - db 20, LEECH_SEED - db 25, COTTON_SPORE - db 30, MEGA_DRAIN - db 0 ; no more level-up moves - -SkiploomEvosAttacks: - db EVOLVE_LEVEL, 27, JUMPLUFF - db 0 ; no more evolutions - db 1, SPLASH - db 1, SYNTHESIS - db 1, TAIL_WHIP - db 1, TACKLE -if _CRYSTAL - db 5, SYNTHESIS -endc - db 5, TAIL_WHIP - db 10, TACKLE - db 13, POISONPOWDER - db 15, STUN_SPORE - db 17, SLEEP_POWDER - db 22, LEECH_SEED - db 29, COTTON_SPORE - db 36, MEGA_DRAIN - db 0 ; no more level-up moves - -JumpluffEvosAttacks: - db 0 ; no more evolutions - db 1, SPLASH - db 1, SYNTHESIS - db 1, TAIL_WHIP - db 1, TACKLE -if _CRYSTAL - db 5, SYNTHESIS -endc - db 5, TAIL_WHIP - db 10, TACKLE - db 13, POISONPOWDER - db 15, STUN_SPORE - db 17, SLEEP_POWDER - db 22, LEECH_SEED - db 33, COTTON_SPORE - db 44, MEGA_DRAIN - db 0 ; no more level-up moves - -AipomEvosAttacks: - db 0 ; no more evolutions - db 1, SCRATCH - db 1, TAIL_WHIP - db 6, SAND_ATTACK - db 12, BATON_PASS - db 19, FURY_SWIPES - db 27, SWIFT - db 36, SCREECH - db 46, AGILITY - db 0 ; no more level-up moves - -SunkernEvosAttacks: - db EVOLVE_ITEM, SUN_STONE, SUNFLORA - db 0 ; no more evolutions - db 1, ABSORB - db 4, GROWTH - db 10, MEGA_DRAIN - db 19, SUNNY_DAY - db 31, SYNTHESIS - db 46, GIGA_DRAIN - db 0 ; no more level-up moves - -SunfloraEvosAttacks: - db 0 ; no more evolutions - db 1, ABSORB - db 1, POUND - db 4, GROWTH - db 10, RAZOR_LEAF - db 19, SUNNY_DAY - db 31, PETAL_DANCE - db 46, SOLARBEAM - db 0 ; no more level-up moves - -YanmaEvosAttacks: - db 0 ; no more evolutions - db 1, TACKLE - db 1, FORESIGHT - db 7, QUICK_ATTACK - db 13, DOUBLE_TEAM - db 19, SONICBOOM - db 25, DETECT - db 31, SUPERSONIC -if _CRYSTAL - db 37, WING_ATTACK -else - db 37, SWIFT -endc - db 43, SCREECH - db 0 ; no more level-up moves - -WooperEvosAttacks: - db EVOLVE_LEVEL, 20, QUAGSIRE - db 0 ; no more evolutions - db 1, WATER_GUN - db 1, TAIL_WHIP - db 11, SLAM - db 21, AMNESIA - db 31, EARTHQUAKE - db 41, RAIN_DANCE - db 51, MIST - db 51, HAZE - db 0 ; no more level-up moves - -QuagsireEvosAttacks: - db 0 ; no more evolutions - db 1, WATER_GUN - db 1, TAIL_WHIP - db 11, SLAM - db 23, AMNESIA - db 35, EARTHQUAKE - db 47, RAIN_DANCE - db 59, MIST - db 59, HAZE - db 0 ; no more level-up moves - -EspeonEvosAttacks: - db 0 ; no more evolutions - db 1, TACKLE - db 1, TAIL_WHIP - db 8, SAND_ATTACK - db 16, CONFUSION - db 23, QUICK_ATTACK - db 30, SWIFT - db 36, PSYBEAM - db 42, PSYCH_UP - db 47, PSYCHIC_M - db 52, MORNING_SUN - db 0 ; no more level-up moves - -UmbreonEvosAttacks: - db 0 ; no more evolutions - db 1, TACKLE - db 1, TAIL_WHIP - db 8, SAND_ATTACK - db 16, PURSUIT - db 23, QUICK_ATTACK - db 30, CONFUSE_RAY - db 36, FAINT_ATTACK - db 42, MEAN_LOOK - db 47, SCREECH - db 52, MOONLIGHT - db 0 ; no more level-up moves - -MurkrowEvosAttacks: - db 0 ; no more evolutions - db 1, PECK - db 11, PURSUIT - db 16, HAZE - db 26, NIGHT_SHADE - db 31, FAINT_ATTACK - db 41, MEAN_LOOK - db 0 ; no more level-up moves - -SlowkingEvosAttacks: - db 0 ; no more evolutions - db 1, CURSE - db 1, TACKLE - db 6, GROWL - db 15, WATER_GUN - db 20, CONFUSION - db 29, DISABLE - db 34, HEADBUTT - db 43, SWAGGER - db 48, PSYCHIC_M - db 0 ; no more level-up moves - -MisdreavusEvosAttacks: - db 0 ; no more evolutions - db 1, GROWL - db 1, PSYWAVE - db 6, SPITE - db 12, CONFUSE_RAY - db 19, MEAN_LOOK - db 27, PSYBEAM - db 36, PAIN_SPLIT - db 46, PERISH_SONG - db 0 ; no more level-up moves - -UnownEvosAttacks: - db 0 ; no more evolutions - db 1, HIDDEN_POWER - db 0 ; no more level-up moves - -WobbuffetEvosAttacks: - db 0 ; no more evolutions - db 1, COUNTER - db 1, MIRROR_COAT - db 1, SAFEGUARD - db 1, DESTINY_BOND - db 0 ; no more level-up moves - -GirafarigEvosAttacks: - db 0 ; no more evolutions - db 1, TACKLE - db 1, GROWL - db 1, CONFUSION - db 1, STOMP - db 7, CONFUSION - db 13, STOMP - db 20, AGILITY - db 30, BATON_PASS - db 41, PSYBEAM - db 54, CRUNCH - db 0 ; no more level-up moves - -PinecoEvosAttacks: - db EVOLVE_LEVEL, 31, FORRETRESS - db 0 ; no more evolutions - db 1, TACKLE - db 1, PROTECT - db 8, SELFDESTRUCT - db 15, TAKE_DOWN - db 22, RAPID_SPIN - db 29, BIDE - db 36, EXPLOSION - db 43, SPIKES - db 50, DOUBLE_EDGE - db 0 ; no more level-up moves - -ForretressEvosAttacks: - db 0 ; no more evolutions - db 1, TACKLE - db 1, PROTECT - db 1, SELFDESTRUCT - db 8, SELFDESTRUCT - db 15, TAKE_DOWN - db 22, RAPID_SPIN - db 29, BIDE - db 39, EXPLOSION - db 49, SPIKES - db 59, DOUBLE_EDGE - db 0 ; no more level-up moves - -DunsparceEvosAttacks: - db 0 ; no more evolutions - db 1, RAGE - db 5, DEFENSE_CURL - db 13, GLARE - db 18, SPITE - db 26, PURSUIT - db 30, SCREECH - db 38, TAKE_DOWN - db 0 ; no more level-up moves - -GligarEvosAttacks: - db 0 ; no more evolutions - db 1, POISON_STING - db 6, SAND_ATTACK - db 13, HARDEN - db 20, QUICK_ATTACK - db 28, FAINT_ATTACK - db 36, SLASH - db 44, SCREECH - db 52, GUILLOTINE - db 0 ; no more level-up moves - -SteelixEvosAttacks: - db 0 ; no more evolutions - db 1, TACKLE - db 1, SCREECH - db 10, BIND - db 14, ROCK_THROW - db 23, HARDEN - db 27, RAGE - db 36, SANDSTORM - db 40, SLAM - db 49, CRUNCH - db 0 ; no more level-up moves - -SnubbullEvosAttacks: - db EVOLVE_LEVEL, 23, GRANBULL - db 0 ; no more evolutions - db 1, TACKLE - db 1, SCARY_FACE - db 4, TAIL_WHIP - db 8, CHARM - db 13, BITE - db 19, LICK - db 26, ROAR - db 34, RAGE - db 43, TAKE_DOWN - db 0 ; no more level-up moves - -GranbullEvosAttacks: - db 0 ; no more evolutions - db 1, TACKLE - db 1, SCARY_FACE - db 4, TAIL_WHIP - db 8, CHARM - db 13, BITE - db 19, LICK - db 28, ROAR - db 38, RAGE - db 51, TAKE_DOWN - db 0 ; no more level-up moves - -QwilfishEvosAttacks: - db 0 ; no more evolutions -if _CRYSTAL - db 1, SPIKES -endc - db 1, TACKLE - db 1, POISON_STING - db 10, HARDEN - db 10, MINIMIZE - db 19, WATER_GUN - db 28, PIN_MISSILE - db 37, TAKE_DOWN - db 46, HYDRO_PUMP - db 0 ; no more level-up moves - -ScizorEvosAttacks: - db 0 ; no more evolutions - db 1, QUICK_ATTACK - db 1, LEER - db 6, FOCUS_ENERGY - db 12, PURSUIT - db 18, FALSE_SWIPE - db 24, AGILITY - db 30, METAL_CLAW - db 36, SLASH - db 42, SWORDS_DANCE - db 48, DOUBLE_TEAM - db 0 ; no more level-up moves - -ShuckleEvosAttacks: - db 0 ; no more evolutions - db 1, CONSTRICT - db 1, WITHDRAW - db 9, WRAP - db 14, ENCORE - db 23, SAFEGUARD - db 28, BIDE - db 37, REST - db 0 ; no more level-up moves - -HeracrossEvosAttacks: - db 0 ; no more evolutions - db 1, TACKLE - db 1, LEER - db 6, HORN_ATTACK - db 12, ENDURE - db 19, FURY_ATTACK - db 27, COUNTER - db 35, TAKE_DOWN - db 44, REVERSAL - db 54, MEGAHORN - db 0 ; no more level-up moves - -SneaselEvosAttacks: - db 0 ; no more evolutions - db 1, SCRATCH - db 1, LEER - db 9, QUICK_ATTACK - db 17, SCREECH - db 25, FAINT_ATTACK - db 33, FURY_SWIPES - db 41, AGILITY - db 49, SLASH - db 57, BEAT_UP -if _CRYSTAL - db 65, METAL_CLAW -endc - db 0 ; no more level-up moves - -TeddiursaEvosAttacks: - db EVOLVE_LEVEL, 30, URSARING - db 0 ; no more evolutions - db 1, SCRATCH - db 1, LEER - db 8, LICK - db 15, FURY_SWIPES - db 22, FAINT_ATTACK - db 29, REST - db 36, SLASH - db 43, SNORE - db 50, THRASH - db 0 ; no more level-up moves - -UrsaringEvosAttacks: - db 0 ; no more evolutions - db 1, SCRATCH - db 1, LEER - db 1, LICK - db 1, FURY_SWIPES - db 8, LICK - db 15, FURY_SWIPES - db 22, FAINT_ATTACK - db 29, REST - db 39, SLASH - db 49, SNORE - db 59, THRASH - db 0 ; no more level-up moves - -SlugmaEvosAttacks: - db EVOLVE_LEVEL, 38, MAGCARGO - db 0 ; no more evolutions - db 1, SMOG - db 8, EMBER - db 15, ROCK_THROW - db 22, HARDEN - db 29, AMNESIA - db 36, FLAMETHROWER - db 43, ROCK_SLIDE - db 50, BODY_SLAM - db 0 ; no more level-up moves - -MagcargoEvosAttacks: - db 0 ; no more evolutions - db 1, SMOG - db 1, EMBER - db 1, ROCK_THROW - db 8, EMBER - db 15, ROCK_THROW - db 22, HARDEN - db 29, AMNESIA - db 36, FLAMETHROWER - db 48, ROCK_SLIDE - db 60, BODY_SLAM - db 0 ; no more level-up moves - -SwinubEvosAttacks: - db EVOLVE_LEVEL, 33, PILOSWINE - db 0 ; no more evolutions - db 1, TACKLE - db 10, POWDER_SNOW - db 19, ENDURE - db 28, TAKE_DOWN - db 37, MIST - db 46, BLIZZARD -if _CRYSTAL - db 55, AMNESIA -endc - db 0 ; no more level-up moves - -PiloswineEvosAttacks: - db 0 ; no more evolutions - db 1, HORN_ATTACK - db 1, POWDER_SNOW - db 1, ENDURE - db 10, POWDER_SNOW - db 19, ENDURE - db 28, TAKE_DOWN - db 33, FURY_ATTACK - db 42, MIST - db 56, BLIZZARD -if _CRYSTAL - db 70, AMNESIA -endc - db 0 ; no more level-up moves - -CorsolaEvosAttacks: - db 0 ; no more evolutions - db 1, TACKLE - db 7, HARDEN - db 13, BUBBLE - db 19, RECOVER - db 25, BUBBLEBEAM - db 31, SPIKE_CANNON - db 37, MIRROR_COAT - db 43, ANCIENTPOWER - db 0 ; no more level-up moves - -RemoraidEvosAttacks: - db EVOLVE_LEVEL, 25, OCTILLERY - db 0 ; no more evolutions - db 1, WATER_GUN - db 11, LOCK_ON - db 22, PSYBEAM - db 22, AURORA_BEAM - db 22, BUBBLEBEAM - db 33, FOCUS_ENERGY - db 44, ICE_BEAM - db 55, HYPER_BEAM - db 0 ; no more level-up moves - -OctilleryEvosAttacks: - db 0 ; no more evolutions - db 1, WATER_GUN - db 11, CONSTRICT - db 22, PSYBEAM - db 22, AURORA_BEAM - db 22, BUBBLEBEAM - db 25, OCTAZOOKA - db 38, FOCUS_ENERGY - db 54, ICE_BEAM - db 70, HYPER_BEAM - db 0 ; no more level-up moves - -DelibirdEvosAttacks: - db 0 ; no more evolutions - db 1, PRESENT - db 0 ; no more level-up moves - -MantineEvosAttacks: - db 0 ; no more evolutions - db 1, TACKLE - db 1, BUBBLE - db 10, SUPERSONIC - db 18, BUBBLEBEAM - db 25, TAKE_DOWN - db 32, AGILITY - db 40, WING_ATTACK - db 49, CONFUSE_RAY - db 0 ; no more level-up moves - -SkarmoryEvosAttacks: - db 0 ; no more evolutions - db 1, LEER - db 1, PECK - db 13, SAND_ATTACK - db 19, SWIFT - db 25, AGILITY - db 37, FURY_ATTACK - db 49, STEEL_WING - db 0 ; no more level-up moves - -HoundourEvosAttacks: - db EVOLVE_LEVEL, 24, HOUNDOOM - db 0 ; no more evolutions - db 1, LEER - db 1, EMBER - db 7, ROAR - db 13, SMOG - db 20, BITE - db 27, FAINT_ATTACK - db 35, FLAMETHROWER - db 43, CRUNCH - db 0 ; no more level-up moves - -HoundoomEvosAttacks: - db 0 ; no more evolutions - db 1, LEER - db 1, EMBER - db 7, ROAR - db 13, SMOG - db 20, BITE - db 30, FAINT_ATTACK - db 41, FLAMETHROWER - db 52, CRUNCH - db 0 ; no more level-up moves - -KingdraEvosAttacks: - db 0 ; no more evolutions - db 1, BUBBLE - db 1, SMOKESCREEN - db 1, LEER - db 1, WATER_GUN - db 8, SMOKESCREEN - db 15, LEER - db 22, WATER_GUN - db 29, TWISTER - db 40, AGILITY - db 51, HYDRO_PUMP - db 0 ; no more level-up moves - -PhanpyEvosAttacks: - db EVOLVE_LEVEL, 25, DONPHAN - db 0 ; no more evolutions - db 1, TACKLE - db 1, GROWL - db 9, DEFENSE_CURL - db 17, FLAIL - db 25, TAKE_DOWN - db 33, ROLLOUT - db 41, ENDURE - db 49, DOUBLE_EDGE - db 0 ; no more level-up moves - -DonphanEvosAttacks: - db 0 ; no more evolutions - db 1, HORN_ATTACK - db 1, GROWL - db 9, DEFENSE_CURL - db 17, FLAIL - db 25, FURY_ATTACK - db 33, ROLLOUT - db 41, RAPID_SPIN - db 49, EARTHQUAKE - db 0 ; no more level-up moves - -Porygon2EvosAttacks: - db 0 ; no more evolutions - db 1, CONVERSION2 - db 1, TACKLE - db 1, CONVERSION - db 9, AGILITY - db 12, PSYBEAM - db 20, RECOVER - db 24, DEFENSE_CURL - db 32, LOCK_ON - db 36, TRI_ATTACK - db 44, ZAP_CANNON - db 0 ; no more level-up moves - -StantlerEvosAttacks: - db 0 ; no more evolutions - db 1, TACKLE - db 8, LEER - db 15, HYPNOSIS - db 23, STOMP - db 31, SAND_ATTACK - db 40, TAKE_DOWN - db 49, CONFUSE_RAY - db 0 ; no more level-up moves - -SmeargleEvosAttacks: - db 0 ; no more evolutions - db 1, SKETCH - db 11, SKETCH - db 21, SKETCH - db 31, SKETCH - db 41, SKETCH - db 51, SKETCH - db 61, SKETCH - db 71, SKETCH - db 81, SKETCH - db 91, SKETCH - db 0 ; no more level-up moves - -TyrogueEvosAttacks: - db EVOLVE_STAT, 20, ATK_LT_DEF, HITMONCHAN - db EVOLVE_STAT, 20, ATK_GT_DEF, HITMONLEE - db EVOLVE_STAT, 20, ATK_EQ_DEF, HITMONTOP - db 0 ; no more evolutions - db 1, TACKLE - db 0 ; no more level-up moves - -HitmontopEvosAttacks: - db 0 ; no more evolutions - db 1, ROLLING_KICK - db 7, FOCUS_ENERGY - db 13, PURSUIT - db 19, QUICK_ATTACK - db 25, RAPID_SPIN - db 31, COUNTER - db 37, AGILITY - db 43, DETECT - db 49, TRIPLE_KICK - db 0 ; no more level-up moves - -SmoochumEvosAttacks: - db EVOLVE_LEVEL, 30, JYNX - db 0 ; no more evolutions - db 1, POUND - db 1, LICK - db 9, SWEET_KISS - db 13, POWDER_SNOW - db 21, CONFUSION - db 25, SING - db 33, MEAN_LOOK - db 37, PSYCHIC_M - db 45, PERISH_SONG - db 49, BLIZZARD - db 0 ; no more level-up moves - -ElekidEvosAttacks: - db EVOLVE_LEVEL, 30, ELECTABUZZ - db 0 ; no more evolutions - db 1, QUICK_ATTACK - db 1, LEER - db 9, THUNDERPUNCH - db 17, LIGHT_SCREEN - db 25, SWIFT - db 33, SCREECH - db 41, THUNDERBOLT - db 49, THUNDER - db 0 ; no more level-up moves - -MagbyEvosAttacks: - db EVOLVE_LEVEL, 30, MAGMAR - db 0 ; no more evolutions - db 1, EMBER - db 7, LEER - db 13, SMOG - db 19, FIRE_PUNCH - db 25, SMOKESCREEN - db 31, SUNNY_DAY - db 37, FLAMETHROWER - db 43, CONFUSE_RAY - db 49, FIRE_BLAST - db 0 ; no more level-up moves - -MiltankEvosAttacks: - db 0 ; no more evolutions - db 1, TACKLE - db 4, GROWL - db 8, DEFENSE_CURL - db 13, STOMP - db 19, MILK_DRINK - db 26, BIDE - db 34, ROLLOUT - db 43, BODY_SLAM - db 53, HEAL_BELL - db 0 ; no more level-up moves - -BlisseyEvosAttacks: - db 0 ; no more evolutions - db 1, POUND - db 4, GROWL - db 7, TAIL_WHIP - db 10, SOFTBOILED - db 13, DOUBLESLAP - db 18, MINIMIZE - db 23, SING - db 28, EGG_BOMB - db 33, DEFENSE_CURL - db 40, LIGHT_SCREEN - db 47, DOUBLE_EDGE - db 0 ; no more level-up moves - -RaikouEvosAttacks: - db 0 ; no more evolutions - db 1, BITE - db 1, LEER - db 11, THUNDERSHOCK - db 21, ROAR - db 31, QUICK_ATTACK - db 41, SPARK - db 51, REFLECT - db 61, CRUNCH - db 71, THUNDER - db 0 ; no more level-up moves - -EnteiEvosAttacks: - db 0 ; no more evolutions - db 1, BITE - db 1, LEER - db 11, EMBER - db 21, ROAR - db 31, FIRE_SPIN - db 41, STOMP - db 51, FLAMETHROWER - db 61, SWAGGER - db 71, FIRE_BLAST - db 0 ; no more level-up moves - -SuicuneEvosAttacks: - db 0 ; no more evolutions - db 1, BITE - db 1, LEER -if _CRYSTAL - db 11, BUBBLEBEAM - db 21, RAIN_DANCE - db 31, GUST - db 41, AURORA_BEAM -else - db 11, WATER_GUN - db 21, ROAR - db 31, GUST - db 41, BUBBLEBEAM -endc - db 51, MIST - db 61, MIRROR_COAT - db 71, HYDRO_PUMP - db 0 ; no more level-up moves - -LarvitarEvosAttacks: - db EVOLVE_LEVEL, 30, PUPITAR - db 0 ; no more evolutions - db 1, BITE - db 1, LEER - db 8, SANDSTORM - db 15, SCREECH - db 22, ROCK_SLIDE - db 29, THRASH - db 36, SCARY_FACE - db 43, CRUNCH - db 50, EARTHQUAKE - db 57, HYPER_BEAM - db 0 ; no more level-up moves - -PupitarEvosAttacks: - db EVOLVE_LEVEL, 55, TYRANITAR - db 0 ; no more evolutions - db 1, BITE - db 1, LEER - db 1, SANDSTORM - db 1, SCREECH - db 8, SANDSTORM - db 15, SCREECH - db 22, ROCK_SLIDE - db 29, THRASH - db 38, SCARY_FACE - db 47, CRUNCH - db 56, EARTHQUAKE - db 65, HYPER_BEAM - db 0 ; no more level-up moves - -TyranitarEvosAttacks: - db 0 ; no more evolutions - db 1, BITE - db 1, LEER - db 1, SANDSTORM - db 1, SCREECH - db 8, SANDSTORM - db 15, SCREECH - db 22, ROCK_SLIDE - db 29, THRASH - db 38, SCARY_FACE - db 47, CRUNCH - db 61, EARTHQUAKE - db 75, HYPER_BEAM - db 0 ; no more level-up moves - -LugiaEvosAttacks: - db 0 ; no more evolutions - db 1, AEROBLAST - db 11, SAFEGUARD - db 22, GUST - db 33, RECOVER - db 44, HYDRO_PUMP - db 55, RAIN_DANCE - db 66, SWIFT - db 77, WHIRLWIND - db 88, ANCIENTPOWER - db 99, FUTURE_SIGHT - db 0 ; no more level-up moves - -HoOhEvosAttacks: - db 0 ; no more evolutions - db 1, SACRED_FIRE - db 11, SAFEGUARD - db 22, GUST - db 33, RECOVER - db 44, FIRE_BLAST - db 55, SUNNY_DAY - db 66, SWIFT - db 77, WHIRLWIND - db 88, ANCIENTPOWER - db 99, FUTURE_SIGHT - db 0 ; no more level-up moves - -CelebiEvosAttacks: - db 0 ; no more evolutions - db 1, LEECH_SEED - db 1, CONFUSION - db 1, RECOVER - db 1, HEAL_BELL - db 10, SAFEGUARD - db 20, ANCIENTPOWER - db 30, FUTURE_SIGHT - db 40, BATON_PASS - db 50, PERISH_SONG - db 0 ; no more level-up moves diff --git a/data/evos_attacks_pointers.asm b/data/evos_attacks_pointers.asm deleted file mode 100644 index f6582e786..000000000 --- a/data/evos_attacks_pointers.asm +++ /dev/null @@ -1,255 +0,0 @@ -; Evolutions and attacks are grouped together since they're both checked at level-up. - -EvosAttacksPointers:: ; 0x425b1 - dw BulbasaurEvosAttacks - dw IvysaurEvosAttacks - dw VenusaurEvosAttacks - dw CharmanderEvosAttacks - dw CharmeleonEvosAttacks - dw CharizardEvosAttacks - dw SquirtleEvosAttacks - dw WartortleEvosAttacks - dw BlastoiseEvosAttacks - dw CaterpieEvosAttacks - dw MetapodEvosAttacks - dw ButterfreeEvosAttacks - dw WeedleEvosAttacks - dw KakunaEvosAttacks - dw BeedrillEvosAttacks - dw PidgeyEvosAttacks - dw PidgeottoEvosAttacks - dw PidgeotEvosAttacks - dw RattataEvosAttacks - dw RaticateEvosAttacks - dw SpearowEvosAttacks - dw FearowEvosAttacks - dw EkansEvosAttacks - dw ArbokEvosAttacks - dw PikachuEvosAttacks - dw RaichuEvosAttacks - dw SandshrewEvosAttacks - dw SandslashEvosAttacks - dw NidoranFEvosAttacks - dw NidorinaEvosAttacks - dw NidoqueenEvosAttacks - dw NidoranMEvosAttacks - dw NidorinoEvosAttacks - dw NidokingEvosAttacks - dw ClefairyEvosAttacks - dw ClefableEvosAttacks - dw VulpixEvosAttacks - dw NinetalesEvosAttacks - dw JigglypuffEvosAttacks - dw WigglytuffEvosAttacks - dw ZubatEvosAttacks - dw GolbatEvosAttacks - dw OddishEvosAttacks - dw GloomEvosAttacks - dw VileplumeEvosAttacks - dw ParasEvosAttacks - dw ParasectEvosAttacks - dw VenonatEvosAttacks - dw VenomothEvosAttacks - dw DiglettEvosAttacks - dw DugtrioEvosAttacks - dw MeowthEvosAttacks - dw PersianEvosAttacks - dw PsyduckEvosAttacks - dw GolduckEvosAttacks - dw MankeyEvosAttacks - dw PrimeapeEvosAttacks - dw GrowlitheEvosAttacks - dw ArcanineEvosAttacks - dw PoliwagEvosAttacks - dw PoliwhirlEvosAttacks - dw PoliwrathEvosAttacks - dw AbraEvosAttacks - dw KadabraEvosAttacks - dw AlakazamEvosAttacks - dw MachopEvosAttacks - dw MachokeEvosAttacks - dw MachampEvosAttacks - dw BellsproutEvosAttacks - dw WeepinbellEvosAttacks - dw VictreebelEvosAttacks - dw TentacoolEvosAttacks - dw TentacruelEvosAttacks - dw GeodudeEvosAttacks - dw GravelerEvosAttacks - dw GolemEvosAttacks - dw PonytaEvosAttacks - dw RapidashEvosAttacks - dw SlowpokeEvosAttacks - dw SlowbroEvosAttacks - dw MagnemiteEvosAttacks - dw MagnetonEvosAttacks - dw FarfetchDEvosAttacks - dw DoduoEvosAttacks - dw DodrioEvosAttacks - dw SeelEvosAttacks - dw DewgongEvosAttacks - dw GrimerEvosAttacks - dw MukEvosAttacks - dw ShellderEvosAttacks - dw CloysterEvosAttacks - dw GastlyEvosAttacks - dw HaunterEvosAttacks - dw GengarEvosAttacks - dw OnixEvosAttacks - dw DrowzeeEvosAttacks - dw HypnoEvosAttacks - dw KrabbyEvosAttacks - dw KinglerEvosAttacks - dw VoltorbEvosAttacks - dw ElectrodeEvosAttacks - dw ExeggcuteEvosAttacks - dw ExeggutorEvosAttacks - dw CuboneEvosAttacks - dw MarowakEvosAttacks - dw HitmonleeEvosAttacks - dw HitmonchanEvosAttacks - dw LickitungEvosAttacks - dw KoffingEvosAttacks - dw WeezingEvosAttacks - dw RhyhornEvosAttacks - dw RhydonEvosAttacks - dw ChanseyEvosAttacks - dw TangelaEvosAttacks - dw KangaskhanEvosAttacks - dw HorseaEvosAttacks - dw SeadraEvosAttacks - dw GoldeenEvosAttacks - dw SeakingEvosAttacks - dw StaryuEvosAttacks - dw StarmieEvosAttacks - dw MrMimeEvosAttacks - dw ScytherEvosAttacks - dw JynxEvosAttacks - dw ElectabuzzEvosAttacks - dw MagmarEvosAttacks - dw PinsirEvosAttacks - dw TaurosEvosAttacks - dw MagikarpEvosAttacks - dw GyaradosEvosAttacks - dw LaprasEvosAttacks - dw DittoEvosAttacks - dw EeveeEvosAttacks - dw VaporeonEvosAttacks - dw JolteonEvosAttacks - dw FlareonEvosAttacks - dw PorygonEvosAttacks - dw OmanyteEvosAttacks - dw OmastarEvosAttacks - dw KabutoEvosAttacks - dw KabutopsEvosAttacks - dw AerodactylEvosAttacks - dw SnorlaxEvosAttacks - dw ArticunoEvosAttacks - dw ZapdosEvosAttacks - dw MoltresEvosAttacks - dw DratiniEvosAttacks - dw DragonairEvosAttacks - dw DragoniteEvosAttacks - dw MewtwoEvosAttacks - dw MewEvosAttacks - dw ChikoritaEvosAttacks - dw BayleefEvosAttacks - dw MeganiumEvosAttacks - dw CyndaquilEvosAttacks - dw QuilavaEvosAttacks - dw TyphlosionEvosAttacks - dw TotodileEvosAttacks - dw CroconawEvosAttacks - dw FeraligatrEvosAttacks - dw SentretEvosAttacks - dw FurretEvosAttacks - dw HoothootEvosAttacks - dw NoctowlEvosAttacks - dw LedybaEvosAttacks - dw LedianEvosAttacks - dw SpinarakEvosAttacks - dw AriadosEvosAttacks - dw CrobatEvosAttacks - dw ChinchouEvosAttacks - dw LanturnEvosAttacks - dw PichuEvosAttacks - dw CleffaEvosAttacks - dw IgglybuffEvosAttacks - dw TogepiEvosAttacks - dw TogeticEvosAttacks - dw NatuEvosAttacks - dw XatuEvosAttacks - dw MareepEvosAttacks - dw FlaaffyEvosAttacks - dw AmpharosEvosAttacks - dw BellossomEvosAttacks - dw MarillEvosAttacks - dw AzumarillEvosAttacks - dw SudowoodoEvosAttacks - dw PolitoedEvosAttacks - dw HoppipEvosAttacks - dw SkiploomEvosAttacks - dw JumpluffEvosAttacks - dw AipomEvosAttacks - dw SunkernEvosAttacks - dw SunfloraEvosAttacks - dw YanmaEvosAttacks - dw WooperEvosAttacks - dw QuagsireEvosAttacks - dw EspeonEvosAttacks - dw UmbreonEvosAttacks - dw MurkrowEvosAttacks - dw SlowkingEvosAttacks - dw MisdreavusEvosAttacks - dw UnownEvosAttacks - dw WobbuffetEvosAttacks - dw GirafarigEvosAttacks - dw PinecoEvosAttacks - dw ForretressEvosAttacks - dw DunsparceEvosAttacks - dw GligarEvosAttacks - dw SteelixEvosAttacks - dw SnubbullEvosAttacks - dw GranbullEvosAttacks - dw QwilfishEvosAttacks - dw ScizorEvosAttacks - dw ShuckleEvosAttacks - dw HeracrossEvosAttacks - dw SneaselEvosAttacks - dw TeddiursaEvosAttacks - dw UrsaringEvosAttacks - dw SlugmaEvosAttacks - dw MagcargoEvosAttacks - dw SwinubEvosAttacks - dw PiloswineEvosAttacks - dw CorsolaEvosAttacks - dw RemoraidEvosAttacks - dw OctilleryEvosAttacks - dw DelibirdEvosAttacks - dw MantineEvosAttacks - dw SkarmoryEvosAttacks - dw HoundourEvosAttacks - dw HoundoomEvosAttacks - dw KingdraEvosAttacks - dw PhanpyEvosAttacks - dw DonphanEvosAttacks - dw Porygon2EvosAttacks - dw StantlerEvosAttacks - dw SmeargleEvosAttacks - dw TyrogueEvosAttacks - dw HitmontopEvosAttacks - dw SmoochumEvosAttacks - dw ElekidEvosAttacks - dw MagbyEvosAttacks - dw MiltankEvosAttacks - dw BlisseyEvosAttacks - dw RaikouEvosAttacks - dw EnteiEvosAttacks - dw SuicuneEvosAttacks - dw LarvitarEvosAttacks - dw PupitarEvosAttacks - dw TyranitarEvosAttacks - dw LugiaEvosAttacks - dw HoOhEvosAttacks - dw CelebiEvosAttacks -; 0x427a7 diff --git a/data/items/item_attributes.asm b/data/items/item_attributes.asm new file mode 100644 index 000000000..d6d272107 --- /dev/null +++ b/data/items/item_attributes.asm @@ -0,0 +1,521 @@ +item_attribute: MACRO +; price, held effect, parameter, property, pocket, field menu, battle menu + dw \1 + db \2, \3, \4, \5 + dn \6, \7 +ENDM + +ItemAttributes: ; 67c1 +; entries correspond to constants/item_constants.asm +; MASTER BALL + item_attribute 0, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; ULTRA BALL + item_attribute 1200, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; BRIGHTPOWDER + item_attribute 10, HELD_BRIGHTPOWDER, 20, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; GREAT BALL + item_attribute 600, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; # BALL + item_attribute 200, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; TERU-SAMA + item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; BICYCLE + item_attribute 0, 0, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE +; MOON STONE + item_attribute 0, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; ANTIDOTE + item_attribute 100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; BURN HEAL + item_attribute 250, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; ICE HEAL + item_attribute 250, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; AWAKENING + item_attribute 250, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; PARLYZ HEAL + item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; FULL RESTORE + item_attribute 3000, 0, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; MAX POTION + item_attribute 2500, 0, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; HYPER POTION + item_attribute 1200, 0, 200, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; SUPER POTION + item_attribute 700, 0, 50, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; POTION + item_attribute 300, 0, 20, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; ESCAPE ROPE + item_attribute 550, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE +; REPEL + item_attribute 350, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE +; MAX ELIXER + item_attribute 4500, 0, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; FIRE STONE + item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; THUNDERSTONE + item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; WATER STONE + item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TERU-SAMA + item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; HP UP + item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; PROTEIN + item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; IRON + item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; CARBOS + item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; LUCKY PUNCH + item_attribute 10, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; CALCIUM + item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; RARE CANDY + item_attribute 4800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; X ACCURACY + item_attribute 950, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; LEAF STONE + item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; METAL POWDER + item_attribute 10, HELD_METAL_POWDER, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; NUGGET + item_attribute 10000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; # DOLL + item_attribute 1000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; FULL HEAL + item_attribute 600, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; REVIVE + item_attribute 1500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; MAX REVIVE + item_attribute 4000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; GUARD SPEC. + item_attribute 700, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; SUPER REPEL + item_attribute 500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE +; MAX REPEL + item_attribute 700, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE +; DIRE HIT + item_attribute 650, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; TERU-SAMA + item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; FRESH WATER + item_attribute 200, 0, 50, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; SODA POP + item_attribute 300, 0, 60, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; LEMONADE + item_attribute 350, 0, 80, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; X ATTACK + item_attribute 500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; TERU-SAMA + item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; X DEFEND + item_attribute 550, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; X SPEED + item_attribute 350, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; X SPECIAL + item_attribute 350, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; COIN CASE + item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE +; ITEMFINDER + item_attribute 0, 0, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE +; TERU-SAMA + item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; EXP.SHARE + item_attribute 3000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; OLD ROD + item_attribute 0, 0, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE +; GOOD ROD + item_attribute 0, 0, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE +; SILVER LEAF + item_attribute 1000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; SUPER ROD + item_attribute 0, 0, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE +; PP UP + item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; ETHER + item_attribute 1200, 0, 10, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; MAX ETHER + item_attribute 2000, 0, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; ELIXER + item_attribute 3000, 0, 10, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; RED SCALE + item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; SECRETPOTION + item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; S.S.TICKET + item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; MYSTERY EGG + item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; CLEAR BELL + item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; SILVER WING + item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; MOOMOO MILK + item_attribute 500, 0, 100, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; QUICK CLAW + item_attribute 100, HELD_QUICK_CLAW, 60, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; PSNCUREBERRY + item_attribute 10, HELD_HEAL_POISON, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; GOLD LEAF + item_attribute 1000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; SOFT SAND + item_attribute 100, HELD_GROUND_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; SHARP BEAK + item_attribute 100, HELD_FLYING_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; PRZCUREBERRY + item_attribute 10, HELD_HEAL_PARALYZE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; BURNT BERRY + item_attribute 10, HELD_HEAL_FREEZE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; ICE BERRY + item_attribute 10, HELD_HEAL_BURN, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; POISON BARB + item_attribute 100, HELD_POISON_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; KING'S ROCK + item_attribute 100, HELD_TRADE_EVOLVE, 30, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; BITTER BERRY + item_attribute 10, HELD_HEAL_CONFUSION, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_PARTY +; MINT BERRY + item_attribute 10, HELD_HEAL_SLEEP, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; RED APRICORN + item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; TINYMUSHROOM + item_attribute 500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; BIG MUSHROOM + item_attribute 5000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; SILVERPOWDER + item_attribute 100, HELD_BUG_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; BLU APRICORN + item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; TERU-SAMA + item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; AMULET COIN + item_attribute 100, HELD_AMULET_COIN, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; YLW APRICORN + item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; GRN APRICORN + item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; CLEANSE TAG + item_attribute 200, HELD_CLEANSE_TAG, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; MYSTIC WATER + item_attribute 100, HELD_WATER_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; TWISTEDSPOON + item_attribute 100, HELD_PSYCHIC_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; WHT APRICORN + item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; BLACKBELT + item_attribute 100, HELD_FIGHTING_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; BLK APRICORN + item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; TERU-SAMA + item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; PNK APRICORN + item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; BLACKGLASSES + item_attribute 100, HELD_DARK_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; SLOWPOKETAIL + item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; PINK BOW + item_attribute 100, HELD_NORMAL_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; STICK + item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; SMOKE BALL + item_attribute 200, HELD_ESCAPE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; NEVERMELTICE + item_attribute 100, HELD_ICE_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; MAGNET + item_attribute 100, HELD_ELECTRIC_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; MIRACLEBERRY + item_attribute 10, HELD_HEAL_STATUS, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; PEARL + item_attribute 1400, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; BIG PEARL + item_attribute 7500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; EVERSTONE + item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; SPELL TAG + item_attribute 100, HELD_GHOST_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; RAGECANDYBAR + item_attribute 300, 0, 20, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; GS BALL + item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; BLUE CARD + item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE +; MIRACLE SEED + item_attribute 100, HELD_GRASS_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; THICK CLUB + item_attribute 500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; FOCUS BAND + item_attribute 200, HELD_FOCUS_BAND, 30, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; TERU-SAMA + item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; ENERGYPOWDER + item_attribute 500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; ENERGY ROOT + item_attribute 800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; HEAL POWDER + item_attribute 450, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; REVIVAL HERB + item_attribute 2800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; HARD STONE + item_attribute 100, HELD_ROCK_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; LUCKY EGG + item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; CARD KEY + item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE +; MACHINE PART + item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; EGG TICKET + item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; LOST ITEM + item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; STARDUST + item_attribute 2000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; STAR PIECE + item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; BASEMENT KEY + item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE +; PASS + item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; TERU-SAMA + item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; TERU-SAMA + item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; TERU-SAMA + item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; CHARCOAL + item_attribute 9800, HELD_FIRE_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; BERRY JUICE + item_attribute 100, HELD_BERRY, 20, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; SCOPE LENS + item_attribute 200, HELD_CRITICAL_UP, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; TERU-SAMA + item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; TERU-SAMA + item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; METAL COAT + item_attribute 100, HELD_STEEL_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; DRAGON FANG + item_attribute 100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; TERU-SAMA + item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; LEFTOVERS + item_attribute 200, HELD_LEFTOVERS, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; TERU-SAMA + item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; TERU-SAMA + item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; TERU-SAMA + item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; MYSTERYBERRY + item_attribute 10, HELD_RESTORE_PP, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; DRAGON SCALE + item_attribute 2100, HELD_DRAGON_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; BERSERK GENE + item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; TERU-SAMA + item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; TERU-SAMA + item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; TERU-SAMA + item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; SACRED ASH + item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE +; HEAVY BALL + item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; FLOWER MAIL + item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; LEVEL BALL + item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; LURE BALL + item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; FAST BALL + item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; TERU-SAMA + item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; LIGHT BALL + item_attribute 100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; FRIEND BALL + item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; MOON BALL + item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; LOVE BALL + item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; NORMAL BOX + item_attribute 10, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE +; GORGEOUS BOX + item_attribute 10, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE +; SUN STONE + item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; POLKADOT BOW + item_attribute 100, HELD_NORMAL_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; TERU-SAMA + item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; UP-GRADE + item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; BERRY + item_attribute 10, HELD_BERRY, 10, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; GOLD BERRY + item_attribute 10, HELD_BERRY, 30, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; SQUIRTBOTTLE + item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE +; TERU-SAMA + item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; PARK BALL + item_attribute 0, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; RAINBOW WING + item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; TERU-SAMA + item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; BRICK PIECE + item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; SURF MAIL + item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; LITEBLUEMAIL + item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; PORTRAITMAIL + item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; LOVELY MAIL + item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; EON MAIL + item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; MORPH MAIL + item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; BLUESKY MAIL + item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; MUSIC MAIL + item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; MIRAGE MAIL + item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; TERU-SAMA + item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; TM01 + item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM02 + item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM03 + item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM04 + item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TERU-SAMA + item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; TM05 + item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM06 + item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM07 + item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM08 + item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM09 + item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM10 + item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM11 + item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM12 + item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM13 + item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM14 + item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM15 + item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM16 + item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM17 + item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM18 + item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM19 + item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM20 + item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM21 + item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM22 + item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM23 + item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM24 + item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM25 + item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM26 + item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM27 + item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM28 + item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TERU-SAMA + item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; TM29 + item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM30 + item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM31 + item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM32 + item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM33 + item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM34 + item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM35 + item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM36 + item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM37 + item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM38 + item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM39 + item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM40 + item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM41 + item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM42 + item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM43 + item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM44 + item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM45 + item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM46 + item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM47 + item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM48 + item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM49 + item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM50 + item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; HM01 + item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; HM02 + item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; HM03 + item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; HM04 + item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; HM05 + item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; HM06 + item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; HM07 + item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TERU-SAMA + item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; TERU-SAMA + item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; TERU-SAMA + item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; TERU-SAMA + item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; TERU-SAMA + item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; TERU-SAMA + item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; ? + item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE diff --git a/data/items/item_descriptions.asm b/data/items/item_descriptions.asm new file mode 100644 index 000000000..40e91b2c9 --- /dev/null +++ b/data/items/item_descriptions.asm @@ -0,0 +1,1042 @@ +PrintItemDescription: ; 0x1c8955 +; Print the description for item [CurSpecies] at de. + + ld a, [CurSpecies] + cp TM01 + jr c, .not_a_tm + + ld [CurItem], a + push de + callba GetTMHMItemMove + pop hl + ld a, [wd265] + ld [CurSpecies], a + predef PrintMoveDesc + ret + +.not_a_tm + push de + ld hl, ItemDescriptions + ld a, [CurSpecies] + dec a + ld c, a + ld b, 0 + add hl, bc + add hl, bc + ld e, [hl] + inc hl + ld d, [hl] + pop hl + jp PlaceString +; 0x1c8987 + + +ItemDescriptions: + dw MasterBallDesc + dw UltraBallDesc + dw BrightpowderDesc + dw GreatBallDesc + dw PokeBallDesc + dw TeruSama1Desc + dw BicycleDesc + dw MoonStoneDesc + dw AntidoteDesc + dw BurnHealDesc + dw IceHealDesc + dw AwakeningDesc + dw ParlyzHealDesc + dw FullRestoreDesc + dw MaxPotionDesc + dw HyperPotionDesc + dw SuperPotionDesc + dw PotionDesc + dw EscapeRopeDesc + dw RepelDesc + dw MaxElixerDesc + dw FireStoneDesc + dw ThunderStoneDesc + dw WaterStoneDesc + dw TeruSama2Desc + dw HPUpDesc + dw ProteinDesc + dw IronDesc + dw CarbosDesc + dw LuckyPunchDesc + dw CalciumDesc + dw RareCandyDesc + dw XAccuracyDesc + dw LeafStoneDesc + dw MetalPowderDesc + dw NuggetDesc + dw PokeDollDesc + dw FullHealDesc + dw ReviveDesc + dw MaxReviveDesc + dw GuardSpecDesc + dw SuperRepelDesc + dw MaxRepelDesc + dw DireHitDesc + dw TeruSama3Desc + dw FreshWaterDesc + dw SodaPopDesc + dw LemonadeDesc + dw XAttackDesc + dw TeruSama4Desc + dw XDefendDesc + dw XSpeedDesc + dw XSpecialDesc + dw CoinCaseDesc + dw ItemfinderDesc + dw TeruSama5Desc + dw ExpShareDesc + dw OldRodDesc + dw GoodRodDesc + dw SilverLeafDesc + dw SuperRodDesc + dw PPUpDesc + dw EtherDesc + dw MaxEtherDesc + dw ElixerDesc + dw RedScaleDesc + dw SecretPotionDesc + dw SSTicketDesc + dw MysteryEggDesc + dw ClearBellDesc + dw SilverWingDesc + dw MoomooMilkDesc + dw QuickClawDesc + dw PsnCureBerryDesc + dw GoldLeafDesc + dw SoftSandDesc + dw SharpBeakDesc + dw PrzCureBerryDesc + dw BurntBerryDesc + dw IceBerryDesc + dw PoisonBarbDesc + dw KingsRockDesc + dw BitterBerryDesc + dw MintBerryDesc + dw RedApricornDesc + dw TinyMushroomDesc + dw BigMushroomDesc + dw SilverPowderDesc + dw BluApricornDesc + dw TeruSama6Desc + dw AmuletCoinDesc + dw YlwApricornDesc + dw GrnApricornDesc + dw CleanseTagDesc + dw MysticWaterDesc + dw TwistedSpoonDesc + dw WhtApricornDesc + dw BlackbeltDesc + dw BlkApricornDesc + dw TeruSama7Desc + dw PnkApricornDesc + dw BlackGlassesDesc + dw SlowpokeTailDesc + dw PinkBowDesc + dw StickDesc + dw SmokeBallDesc + dw NeverMeltIceDesc + dw MagnetDesc + dw MiracleBerryDesc + dw PearlDesc + dw BigPearlDesc + dw EverStoneDesc + dw SpellTagDesc + dw RageCandyBarDesc + dw GSBallDesc + dw BlueCardDesc + dw MiracleSeedDesc + dw ThickClubDesc + dw FocusBandDesc + dw TeruSama8Desc + dw EnergyPowderDesc + dw EnergyRootDesc + dw HealPowderDesc + dw RevivalHerbDesc + dw HardStoneDesc + dw LuckyEggDesc + dw CardKeyDesc + dw MachinePartDesc + dw EggTicketDesc + dw LostItemDesc + dw StardustDesc + dw StarPieceDesc + dw BasementKeyDesc + dw PassDesc + dw TeruSama9Desc + dw TeruSama10Desc + dw TeruSama11Desc + dw CharcoalDesc + dw BerryJuiceDesc + dw ScopeLensDesc + dw TeruSama12Desc + dw TeruSama13Desc + dw MetalCoatDesc + dw DragonFangDesc + dw TeruSama14Desc + dw LeftoversDesc + dw TeruSama15Desc + dw TeruSama16Desc + dw TeruSama17Desc + dw MysteryBerryDesc + dw DragonScaleDesc + dw BerserkGeneDesc + dw TeruSama18Desc + dw TeruSama19Desc + dw TeruSama20Desc + dw SacredAshDesc + dw HeavyBallDesc + dw FlowerMailDesc + dw LevelBallDesc + dw LureBallDesc + dw FastBallDesc + dw TeruSama21Desc + dw LightBallDesc + dw FriendBallDesc + dw MoonBallDesc + dw LoveBallDesc + dw NormalBoxDesc + dw GorgeousBoxDesc + dw SunStoneDesc + dw PolkadotBowDesc + dw TeruSama22Desc + dw UpGradeDesc + dw BerryDesc + dw GoldBerryDesc + dw SquirtBottleDesc + dw TeruSama23Desc + dw ParkBallDesc + dw RainbowWingDesc + dw TeruSama24Desc + dw BrickPieceDesc + dw SurfMailDesc + dw LiteBlueMailDesc + dw PortraitMailDesc + dw LovelyMailDesc + dw EonMailDesc + dw MorphMailDesc + dw BlueSkyMailDesc + dw MusicMailDesc + dw MewMailDesc + dw TeruSama25Desc + dw TeruSama26Desc + dw TeruSama26Desc + dw TeruSama26Desc + dw TeruSama26Desc + dw TeruSama26Desc + dw TeruSama27Desc + dw TeruSama27Desc + dw TeruSama27Desc + dw TeruSama27Desc + dw TeruSama27Desc + dw TeruSama27Desc + dw TeruSama27Desc + dw TeruSama27Desc + dw TeruSama27Desc + dw TeruSama27Desc + dw TeruSama27Desc + dw TeruSama27Desc + dw TeruSama27Desc + dw TeruSama27Desc + dw TeruSama27Desc + dw TeruSama27Desc + dw TeruSama27Desc + dw TeruSama27Desc + dw TeruSama27Desc + dw TeruSama27Desc + dw TeruSama27Desc + dw TeruSama27Desc + dw TeruSama27Desc + dw TeruSama27Desc + dw TeruSama27Desc + dw TeruSama28Desc + dw TeruSama28Desc + dw TeruSama28Desc + dw TeruSama28Desc + dw TeruSama28Desc + dw TeruSama28Desc + dw TeruSama28Desc + dw TeruSama28Desc + dw TeruSama28Desc + dw TeruSama28Desc + dw TeruSama28Desc + dw TeruSama28Desc + dw TeruSama28Desc + dw TeruSama28Desc + dw TeruSama28Desc + dw TeruSama28Desc + dw TeruSama28Desc + dw TeruSama28Desc + dw TeruSama28Desc + dw TeruSama28Desc + dw TeruSama28Desc + dw TeruSama28Desc + dw TeruSama28Desc + dw TeruSama28Desc + dw TeruSama28Desc + dw TeruSama28Desc + dw TeruSama28Desc + dw TeruSama28Desc + dw TeruSama28Desc + dw TeruSama28Desc + dw TeruSama29Desc + dw TeruSama30Desc + dw TeruSama31Desc + dw TeruSama32Desc + dw TeruSama33Desc + +MasterBallDesc: + db "The best BALL. It" + next "never misses.@" + +UltraBallDesc: + db "A BALL with a high" + next "rate of success.@" + +BrightpowderDesc: + db "Lowers the foe's" + next "accuracy. (HOLD)@" + +GreatBallDesc: + db "A BALL with a de-" + next "cent success rate.@" + +PokeBallDesc: + db "An item for catch-" + next "ing #MON.@" + +TeruSama1Desc: + db "?@" + +BicycleDesc: + db "A collapsible bike" + next "for fast movement.@" + +MoonStoneDesc: + db "Evolves certain" + next "kinds of #MON.@" + +AntidoteDesc: + db "Cures poisoned" + next "#MON.@" + +BurnHealDesc: + db "Heals burned" + next "#MON.@" + +IceHealDesc: + db "Defrosts frozen" + next "#MON.@" + +AwakeningDesc: + db "Awakens sleeping" + next "#MON.@" + +ParlyzHealDesc: + db "Heals paralyzed" + next "#MON.@" + +FullRestoreDesc: + db "Fully restores HP" + next "& status.@" + +MaxPotionDesc: + db "Fully restores" + next "#MON HP.@" + +HyperPotionDesc: + db "Restores #MON" + next "HP by 200.@" + +SuperPotionDesc: + db "Restores #MON" + next "HP by 50.@" + +PotionDesc: + db "Restores #MON" + next "HP by 20.@" + +EscapeRopeDesc: + db "Use for escaping" + next "from caves, etc.@" + +RepelDesc: + db "Repels weak #-" + next "MON for 100 steps.@" + +MaxElixerDesc: + db "Fully restores the" + next "PP of one #MON.@" + +FireStoneDesc: + db "Evolves certain" + next "kinds of #MON.@" + +ThunderStoneDesc: + db "Evolves certain" + next "kinds of #MON.@" + +WaterStoneDesc: + db "Evolves certain" + next "kinds of #MON.@" + +TeruSama2Desc: + db "?@" + +HPUpDesc: + db "Raises the HP of" + next "one #MON.@" + +ProteinDesc: + db "Raises ATTACK of" + next "one #MON.@" + +IronDesc: + db "Raises DEFENSE of" + next "one #MON.@" + +CarbosDesc: + db "Raises SPEED of" + next "one #MON.@" + +LuckyPunchDesc: + db "Ups critical hit" + next "ratio of CHANSEY.@" + +CalciumDesc: + db "Ups SPECIAL stats" + next "of one #MON.@" + +RareCandyDesc: + db "Raises level of a" + next "#MON by one.@" + +XAccuracyDesc: + db "Raises accuracy." + next "(1 BTL)@" + +LeafStoneDesc: + db "Evolves certain" + next "kinds of #MON.@" + +MetalPowderDesc: + db "Raises DEFENSE of" + next "DITTO. (HOLD)@" + +NuggetDesc: + db "Made of pure gold." + next "Sell high.@" + +PokeDollDesc: + db "Use to escape from" + next "a wild #MON.@" + +FullHealDesc: + db "Eliminates all" + next "status problems.@" + +ReviveDesc: + db "Restores a fainted" + next "#MON to 1/2 HP.@" + +MaxReviveDesc: + db "Fully restores a" + next "fainted #MON.@" + +GuardSpecDesc: + db "Prevents stats" + next "reduction. (1 BTL)@" + +SuperRepelDesc: + db "Repels weak #-" + next "MON for 200 steps.@" + +MaxRepelDesc: + db "Repels weak #-" + next "MON for 250 steps.@" + +DireHitDesc: + db "Ups critical hit" + next "ratio. (1 BTL)@" + +TeruSama3Desc: + db "?@" + +FreshWaterDesc: + db "Restores #MON" + next "HP by 50.@" + +SodaPopDesc: + db "Restores #MON" + next "HP by 60.@" + +LemonadeDesc: + db "Restores #MON" + next "HP by 80.@" + +XAttackDesc: + db "Raises ATTACK." + next "(1 BTL)@" + +TeruSama4Desc: + db "?@" + +XDefendDesc: + db "Raises DEFENSE." + next "(1 BTL)@" + +XSpeedDesc: + db "Raises SPEED." + next "(1 BTL)@" + +XSpecialDesc: + db "Raises SPECIAL" + next "ATTACK. (1 BTL)@" + +CoinCaseDesc: + db "Holds up to 9,999" + next "game coins.@" + +ItemfinderDesc: + db "Checks for unseen" + next "items in the area.@" + +TeruSama5Desc: + db "?@" + +ExpShareDesc: + db "Shares battle EXP." + next "Points. (HOLD)@" + +OldRodDesc: + db "Use by water to" + next "fish for #MON.@" + +GoodRodDesc: + db "A good ROD for" + next "catching #MON.@" + +SilverLeafDesc: + db "A strange, silver-" + next "colored leaf.@" + +SuperRodDesc: + db "The best ROD for" + next "catching #MON.@" + +PPUpDesc: + db "Raises max PP of" + next "a selected move.@" + +EtherDesc: + db "Restores PP of one" + next "move by 10.@" + +MaxEtherDesc: + db "Fully restores PP" + next "of one move.@" + +ElixerDesc: + db "Restores PP of all" + next "moves by 10.@" + +RedScaleDesc: + db "A scale from the" + next "red GYARADOS.@" + +SecretPotionDesc: + db "Fully heals any" + next "#MON.@" + +SSTicketDesc: + db "A ticket for the" + next "S.S.AQUA.@" + +MysteryEggDesc: + db "An EGG obtained" + next "from MR.#MON.@" + +ClearBellDesc: + db "Makes a gentle" + next "ringing.@" + +SilverWingDesc: + db "A strange, silver-" + next "colored feather.@" + +MoomooMilkDesc: + db "Restores #MON" + next "HP by 100.@" + +QuickClawDesc: + db "Raises 1st strike" + next "ratio. (HOLD)@" + +PsnCureBerryDesc: + db "A self-cure for" + next "poison. (HOLD)@" + +GoldLeafDesc: + db "A strange, gold-" + next "colored leaf.@" + +SoftSandDesc: + db "Powers up ground-" + next "type moves. (HOLD)@" + +SharpBeakDesc: + db "Powers up flying-" + next "type moves. (HOLD)@" + +PrzCureBerryDesc: + db "A self-cure for" + next "paralysis. (HOLD)@" + +BurntBerryDesc: + db "A self-cure for" + next "freezing. (HOLD)@" + +IceBerryDesc: + db "A self-heal for a" + next "burn. (HOLD)@" + +PoisonBarbDesc: + db "Powers up poison-" + next "type moves. (HOLD)@" + +KingsRockDesc: + db "May make the foe" + next "flinch. (HOLD)@" + +BitterBerryDesc: + db "A self-cure for" + next "confusion. (HOLD)@" + +MintBerryDesc: + db "A self-awakening" + next "for sleep. (HOLD)@" + +RedApricornDesc: + db "A red APRICORN.@" + +TinyMushroomDesc: + db "An ordinary mush-" + next "room. Sell low.@" + +BigMushroomDesc: + db "A rare mushroom." + next "Sell high.@" + +SilverPowderDesc: + db "Powers up bug-type" + next "moves. (HOLD)@" + +BluApricornDesc: + db "A blue APRICORN.@" + +TeruSama6Desc: + db "?@" + +AmuletCoinDesc: + db "Doubles monetary" + next "earnings. (HOLD)@" + +YlwApricornDesc: + db "A yellow APRICORN.@" + +GrnApricornDesc: + db "A green APRICORN.@" + +CleanseTagDesc: + db "Helps repel wild" + next "#MON. (HOLD)@" + +MysticWaterDesc: + db "Powers up water-" + next "type moves. (HOLD)@" + +TwistedSpoonDesc: + db "Powers up psychic-" + next "type moves. (HOLD)@" + +WhtApricornDesc: + db "A white APRICORN.@" + +BlackbeltDesc: + db "Boosts fighting-" + next "type moves. (HOLD)@" + +BlkApricornDesc: + db "A black APRICORN." + next "@" + +TeruSama7Desc: + db "?@" + +PnkApricornDesc: + db "A pink APRICORN." + next "@" + +BlackGlassesDesc: + db "Powers up dark-" + next "type moves. (HOLD)@" + +SlowpokeTailDesc: + db "Very tasty. Sell" + next "high.@" + +PinkBowDesc: + db "Powers up normal-" + next "type moves. (HOLD)@" + +StickDesc: + db "An ordinary stick." + next "Sell low.@" + +SmokeBallDesc: + db "Escape from wild" + next "#MON. (HOLD)@" + +NeverMeltIceDesc: + db "Powers up ice-type" + next "moves. (HOLD)@" + +MagnetDesc: + db "Boosts electric-" + next "type moves. (HOLD)@" + +MiracleBerryDesc: + db "Cures all status" + next "problems. (HOLD)@" + +PearlDesc: + db "A beautiful pearl." + next "Sell low.@" + +BigPearlDesc: + db "A big, beautiful" + next "pearl. Sell high.@" + +EverStoneDesc: + db "Stops evolution." + next "(HOLD)@" + +SpellTagDesc: + db "Powers up ghost-" + next "type moves. (HOLD)@" + +RageCandyBarDesc: + db "Restores #MON" + next "HP by 20.@" + +GSBallDesc: + db "The mysterious" + next "BALL.@" + +BlueCardDesc: + db "Card to save" + next "points.@" + +MiracleSeedDesc: + db "Powers up grass-" + next "type moves. (HOLD)@" + +ThickClubDesc: + db "A bone of some" + next "sort. Sell low.@" + +FocusBandDesc: + db "May prevent faint-" + next "ing. (HOLD)@" + +TeruSama8Desc: + db "?@" + +EnergyPowderDesc: + db "Restores #MON" + next "HP by 50. Bitter.@" + +EnergyRootDesc: + db "Restores #MON" + next "HP by 200. Bitter.@" + +HealPowderDesc: + db "Cures all status" + next "problems. Bitter.@" + +RevivalHerbDesc: + db "Revives fainted" + next "#MON. Bitter.@" + +HardStoneDesc: + db "Powers up rock-" + next "type moves. (HOLD)@" + +LuckyEggDesc: + db "Earns extra EXP." + next "points. (HOLD)@" + +CardKeyDesc: + db "Opens shutters in" + next "the RADIO TOWER.@" + +MachinePartDesc: + db "A machine part for" + next "the POWER PLANT.@" + +EggTicketDesc: + db "May use at Golden-" + next "rod trade corner.@" + +LostItemDesc: + db "The # DOLL lost" + next "by the COPYCAT.@" + +StardustDesc: + db "Pretty, red sand." + next "Sell high.@" + +StarPieceDesc: + db "A hunk of red gem." + next "Sell very high.@" + +BasementKeyDesc: + db "Opens doors.@" + +PassDesc: + db "A ticket for the" + next "MAGNET TRAIN.@" + +TeruSama9Desc: + db "?@" + +TeruSama10Desc: + db "?@" + +TeruSama11Desc: + db "?@" + +CharcoalDesc: + db "Powers up fire-" + next "type moves. (HOLD)@" + +BerryJuiceDesc: + db "Restores #MON" + next "HP by 20.@" + +ScopeLensDesc: + db "Raises critical" + next "hit ratio. (HOLD)@" + +TeruSama12Desc: + db "?@" + +TeruSama13Desc: + db "?@" + +MetalCoatDesc: + db "Powers up steel-" + next "type moves. (HOLD)@" + +DragonFangDesc: + db "Powers up dragon-" + next "type moves. (HOLD)@" + +TeruSama14Desc: + db "?@" + +LeftoversDesc: + db "Restores HP during" + next "battle. (HOLD)@" + +TeruSama15Desc: + db "?@" + +TeruSama16Desc: + db "?@" + +TeruSama17Desc: + db "?@" + +MysteryBerryDesc: + db "A self-restore" + next "for PP. (HOLD)@" + +DragonScaleDesc: + db "A rare dragon-type" + next "item.@" + +BerserkGeneDesc: + db "Boosts ATTACK but" + next "causes confusion.@" + +TeruSama18Desc: + db "?@" + +TeruSama19Desc: + db "?@" + +TeruSama20Desc: + db "?@" + +SacredAshDesc: + db "Fully revives all" + next "fainted #MON.@" + +HeavyBallDesc: + db "A BALL for catch-" + next "ing heavy #MON.@" + +FlowerMailDesc: + db "Flower-print MAIL." + next "(HOLD)@" + +LevelBallDesc: + db "A BALL for lower-" + next "level #MON.@" + +LureBallDesc: + db "A BALL for #MON" + next "hooked by a ROD.@" + +FastBallDesc: + db "A BALL for catch-" + next "ing fast #MON.@" + +TeruSama21Desc: + db "?@" + +LightBallDesc: + db "An odd, electrical" + next "orb. (HOLD)@" + +FriendBallDesc: + db "A BALL that makes" + next "#MON friendly.@" + +MoonBallDesc: + db "A BALL for MOON" + next "STONE evolvers.@" + +LoveBallDesc: + db "For catching the" + next "opposite gender.@" + +NormalBoxDesc: + db "Open it and see" + next "what's inside.@" + +GorgeousBoxDesc: + db "Open it and see" + next "what's inside.@" + +SunStoneDesc: + db "Evolves certain" + next "kinds of #MON.@" + +PolkadotBowDesc: + db "Powers up normal-" + next "type moves. (HOLD)@" + +TeruSama22Desc: + db "?@" + +UpGradeDesc: + db "A mysterious box" + next "made by SILPH CO.@" + +BerryDesc: + db "A self-restore" + next "item. (10HP, HOLD)@" + +GoldBerryDesc: + db "A self-restore" + next "item. (30HP, HOLD)@" + +SquirtBottleDesc: + db "A bottle used for" + next "watering plants.@" + +TeruSama23Desc: + db "?@" + +ParkBallDesc: + db "The Bug-Catching" + next "Contest BALL.@" + +RainbowWingDesc: + db "A mystical feather" + next "of rainbow colors.@" + +TeruSama24Desc: + db "?@" + +BrickPieceDesc: + db "A rare chunk of" + next "tile.@" + +SurfMailDesc: + db "LAPRAS-print MAIL." + next "(HOLD)@" + +LiteBlueMailDesc: + db "DRATINI-print" + next "MAIL. (HOLD)@" + +PortraitMailDesc: + db "MAIL featuring the" + next "holder's likeness.@" + +LovelyMailDesc: + db "Heart-print MAIL." + next "(HOLD)@" + +EonMailDesc: + db "EEVEE-print MAIL." + next "(HOLD)@" + +MorphMailDesc: + db "DITTO-print MAIL." + next "(HOLD)@" + +BlueSkyMailDesc: + db "Sky-print MAIL." + next "(HOLD)@" + +MusicMailDesc: + db "NATU-print MAIL." + next "(HOLD)@" + +MewMailDesc: + db "MEW-print MAIL." + next "(HOLD)@" + +TeruSama25Desc: + db "?@" + +TeruSama26Desc: + db "?@" + +TeruSama27Desc: + db "?@" + +TeruSama28Desc: + db "?@" + +TeruSama29Desc: + db "?@" + +TeruSama30Desc: + db "?@" + +TeruSama31Desc: + db "?@" + +TeruSama32Desc: + db "?@" + +TeruSama33Desc: + db "?@" diff --git a/data/items/item_names.asm b/data/items/item_names.asm new file mode 100644 index 000000000..f44100ab3 --- /dev/null +++ b/data/items/item_names.asm @@ -0,0 +1,257 @@ +ItemNames:: + db "MASTER BALL@" + db "ULTRA BALL@" + db "BRIGHTPOWDER@" + db "GREAT BALL@" + db "# BALL@" + db "TERU-SAMA@" + db "BICYCLE@" + db "MOON STONE@" + db "ANTIDOTE@" + db "BURN HEAL@" + db "ICE HEAL@" + db "AWAKENING@" + db "PARLYZ HEAL@" + db "FULL RESTORE@" + db "MAX POTION@" + db "HYPER POTION@" + db "SUPER POTION@" + db "POTION@" + db "ESCAPE ROPE@" + db "REPEL@" + db "MAX ELIXER@" + db "FIRE STONE@" + db "THUNDERSTONE@" + db "WATER STONE@" + db "TERU-SAMA@" + db "HP UP@" + db "PROTEIN@" + db "IRON@" + db "CARBOS@" + db "LUCKY PUNCH@" + db "CALCIUM@" + db "RARE CANDY@" + db "X ACCURACY@" + db "LEAF STONE@" + db "METAL POWDER@" + db "NUGGET@" + db "# DOLL@" + db "FULL HEAL@" + db "REVIVE@" + db "MAX REVIVE@" + db "GUARD SPEC.@" + db "SUPER REPEL@" + db "MAX REPEL@" + db "DIRE HIT@" + db "TERU-SAMA@" + db "FRESH WATER@" + db "SODA POP@" + db "LEMONADE@" + db "X ATTACK@" + db "TERU-SAMA@" + db "X DEFEND@" + db "X SPEED@" + db "X SPECIAL@" + db "COIN CASE@" + db "ITEMFINDER@" + db "TERU-SAMA@" + db "EXP.SHARE@" + db "OLD ROD@" + db "GOOD ROD@" + db "SILVER LEAF@" + db "SUPER ROD@" + db "PP UP@" + db "ETHER@" + db "MAX ETHER@" + db "ELIXER@" + db "RED SCALE@" + db "SECRETPOTION@" + db "S.S.TICKET@" + db "MYSTERY EGG@" + db "CLEAR BELL@" + db "SILVER WING@" + db "MOOMOO MILK@" + db "QUICK CLAW@" + db "PSNCUREBERRY@" + db "GOLD LEAF@" + db "SOFT SAND@" + db "SHARP BEAK@" + db "PRZCUREBERRY@" + db "BURNT BERRY@" + db "ICE BERRY@" + db "POISON BARB@" + db "KING'S ROCK@" + db "BITTER BERRY@" + db "MINT BERRY@" + db "RED APRICORN@" + db "TINYMUSHROOM@" + db "BIG MUSHROOM@" + db "SILVERPOWDER@" + db "BLU APRICORN@" + db "TERU-SAMA@" + db "AMULET COIN@" + db "YLW APRICORN@" + db "GRN APRICORN@" + db "CLEANSE TAG@" + db "MYSTIC WATER@" + db "TWISTEDSPOON@" + db "WHT APRICORN@" + db "BLACKBELT@" + db "BLK APRICORN@" + db "TERU-SAMA@" + db "PNK APRICORN@" + db "BLACKGLASSES@" + db "SLOWPOKETAIL@" + db "PINK BOW@" + db "STICK@" + db "SMOKE BALL@" + db "NEVERMELTICE@" + db "MAGNET@" + db "MIRACLEBERRY@" + db "PEARL@" + db "BIG PEARL@" + db "EVERSTONE@" + db "SPELL TAG@" + db "RAGECANDYBAR@" + db "GS BALL@" + db "BLUE CARD@" + db "MIRACLE SEED@" + db "THICK CLUB@" + db "FOCUS BAND@" + db "TERU-SAMA@" + db "ENERGYPOWDER@" + db "ENERGY ROOT@" + db "HEAL POWDER@" + db "REVIVAL HERB@" + db "HARD STONE@" + db "LUCKY EGG@" + db "CARD KEY@" + db "MACHINE PART@" + db "EGG TICKET@" + db "LOST ITEM@" + db "STARDUST@" + db "STAR PIECE@" + db "BASEMENT KEY@" + db "PASS@" + db "TERU-SAMA@" + db "TERU-SAMA@" + db "TERU-SAMA@" + db "CHARCOAL@" + db "BERRY JUICE@" + db "SCOPE LENS@" + db "TERU-SAMA@" + db "TERU-SAMA@" + db "METAL COAT@" + db "DRAGON FANG@" + db "TERU-SAMA@" + db "LEFTOVERS@" + db "TERU-SAMA@" + db "TERU-SAMA@" + db "TERU-SAMA@" + db "MYSTERYBERRY@" + db "DRAGON SCALE@" + db "BERSERK GENE@" + db "TERU-SAMA@" + db "TERU-SAMA@" + db "TERU-SAMA@" + db "SACRED ASH@" + db "HEAVY BALL@" + db "FLOWER MAIL@" + db "LEVEL BALL@" + db "LURE BALL@" + db "FAST BALL@" + db "TERU-SAMA@" + db "LIGHT BALL@" + db "FRIEND BALL@" + db "MOON BALL@" + db "LOVE BALL@" + db "NORMAL BOX@" + db "GORGEOUS BOX@" + db "SUN STONE@" + db "POLKADOT BOW@" + db "TERU-SAMA@" + db "UP-GRADE@" + db "BERRY@" + db "GOLD BERRY@" + db "SQUIRTBOTTLE@" + db "TERU-SAMA@" + db "PARK BALL@" + db "RAINBOW WING@" + db "TERU-SAMA@" + db "BRICK PIECE@" + db "SURF MAIL@" + db "LITEBLUEMAIL@" + db "PORTRAITMAIL@" + db "LOVELY MAIL@" + db "EON MAIL@" + db "MORPH MAIL@" + db "BLUESKY MAIL@" + db "MUSIC MAIL@" + db "MIRAGE MAIL@" + db "TERU-SAMA@" + db "TM01@" + db "TM02@" + db "TM03@" + db "TM04@" + db "TERU-SAMA@" + db "TM05@" + db "TM06@" + db "TM07@" + db "TM08@" + db "TM09@" + db "TM10@" + db "TM11@" + db "TM12@" + db "TM13@" + db "TM14@" + db "TM15@" + db "TM16@" + db "TM17@" + db "TM18@" + db "TM19@" + db "TM20@" + db "TM21@" + db "TM22@" + db "TM23@" + db "TM24@" + db "TM25@" + db "TM26@" + db "TM27@" + db "TM28@" + db "TERU-SAMA@" + db "TM29@" + db "TM30@" + db "TM31@" + db "TM32@" + db "TM33@" + db "TM34@" + db "TM35@" + db "TM36@" + db "TM37@" + db "TM38@" + db "TM39@" + db "TM40@" + db "TM41@" + db "TM42@" + db "TM43@" + db "TM44@" + db "TM45@" + db "TM46@" + db "TM47@" + db "TM48@" + db "TM49@" + db "TM50@" + db "HM01@" + db "HM02@" + db "HM03@" + db "HM04@" + db "HM05@" + db "HM06@" + db "HM07@" + db "TERU-SAMA@" + db "TERU-SAMA@" + db "TERU-SAMA@" + db "TERU-SAMA@" + db "TERU-SAMA@" + db "TERU-SAMA@" + db "?@" diff --git a/data/items/marts.asm b/data/items/marts.asm new file mode 100644 index 000000000..cd17ca36b --- /dev/null +++ b/data/items/marts.asm @@ -0,0 +1,442 @@ +Marts: ; 160a9 + dw MartCherrygrove + dw MartCherrygroveDex + dw MartViolet + dw MartAzalea + dw MartCianwood + dw MartGoldenrod2F1 + dw MartGoldenrod2F2 + dw MartGoldenrod3F + dw MartGoldenrod4F + dw MartGoldenrod5F1 + dw MartGoldenrod5F2 + dw MartGoldenrod5F3 + dw MartGoldenrod5F4 + dw MartOlivine + dw MartEcruteak + dw MartMahogany1 + dw MartMahogany2 + dw MartBlackthorn + dw MartViridian + dw MartPewter + dw MartCerulean + dw MartLavender + dw MartVermilion + dw MartCeladon2F1 + dw MartCeladon2F2 + dw MartCeladon3F + dw MartCeladon4F + dw MartCeladon5F1 + dw MartCeladon5F2 + dw MartFuchsia + dw MartSaffron + dw MartMtMoon + dw MartIndigoPlateau + dw MartUnderground +MartsEnd +; 160ed + + +MartCherrygrove: ; 160ed + db 4 ; # items + db POTION + db ANTIDOTE + db PARLYZ_HEAL + db AWAKENING + db $ff +; 160f3 + +MartCherrygroveDex: ; 160f3 + db 5 ; # items + db POKE_BALL + db POTION + db ANTIDOTE + db PARLYZ_HEAL + db AWAKENING + db $ff +; 160fa + +MartViolet: ; 160fa + db 10 ; # items + db POKE_BALL + db POTION + db ESCAPE_ROPE + db ANTIDOTE + db PARLYZ_HEAL + db AWAKENING + db X_DEFEND + db X_ATTACK + db X_SPEED + db FLOWER_MAIL + db $ff +; 16106 + +MartAzalea: ; 16106 + db 9 ; # items + db CHARCOAL + db POKE_BALL + db POTION + db SUPER_POTION + db ESCAPE_ROPE + db REPEL + db ANTIDOTE + db PARLYZ_HEAL + db FLOWER_MAIL + db $ff +; 16111 + +MartCianwood: ; 16111 + db 5 ; # items + db POTION + db SUPER_POTION + db HYPER_POTION + db FULL_HEAL + db REVIVE + db $ff +; 16118 + +MartGoldenrod2F1: ; 16118 + db 7 ; # items + db POTION + db SUPER_POTION + db ANTIDOTE + db PARLYZ_HEAL + db AWAKENING + db BURN_HEAL + db ICE_HEAL + db $ff +; 16121 + +MartGoldenrod2F2: ; 16121 + db 8 ; # items + db POKE_BALL + db GREAT_BALL + db ESCAPE_ROPE + db REPEL + db REVIVE + db FULL_HEAL + db POKE_DOLL + db FLOWER_MAIL + db $ff +; 1612b + +MartGoldenrod3F: ; 1612b + db 7 ; # items + db X_SPEED + db X_SPECIAL + db X_DEFEND + db X_ATTACK + db DIRE_HIT + db GUARD_SPEC + db X_ACCURACY + db $ff +; 16134 + +MartGoldenrod4F: ; 16134 + db 5 ; # items + db PROTEIN + db IRON + db CARBOS + db CALCIUM + db HP_UP + db $ff +; 1613b + +MartGoldenrod5F1: ; 1613b + db 3 ; # items + db TM_THUNDERPUNCH + db TM_FIRE_PUNCH + db TM_ICE_PUNCH + db $ff +; 16140 + +MartGoldenrod5F2: ; 16140 + db 4 ; # items + db TM_THUNDERPUNCH + db TM_FIRE_PUNCH + db TM_ICE_PUNCH + db TM_HEADBUTT + db $ff +; 16146 + +MartGoldenrod5F3: ; 16146 + db 4 ; # items + db TM_THUNDERPUNCH + db TM_FIRE_PUNCH + db TM_ICE_PUNCH + db TM_ROCK_SMASH + db $ff +; 1614c + +MartGoldenrod5F4: ; 1614c + db 5 ; # items + db TM_THUNDERPUNCH + db TM_FIRE_PUNCH + db TM_ICE_PUNCH + db TM_HEADBUTT + db TM_ROCK_SMASH + db $ff +; 16153 + +MartOlivine: ; 16153 + db 9 ; # items + db GREAT_BALL + db SUPER_POTION + db HYPER_POTION + db ANTIDOTE + db PARLYZ_HEAL + db AWAKENING + db ICE_HEAL + db SUPER_REPEL + db SURF_MAIL + db $ff +; 1615e + +MartEcruteak: ; 1615e + db 10 ; # items + db POKE_BALL + db GREAT_BALL + db POTION + db SUPER_POTION + db ANTIDOTE + db PARLYZ_HEAL + db AWAKENING + db BURN_HEAL + db ICE_HEAL + db REVIVE + db $ff +; 1616a + +MartMahogany1: ; 1616a + db 4 ; # items + db TINYMUSHROOM + db SLOWPOKETAIL + db POKE_BALL + db POTION + db $ff +; 16170 + +MartMahogany2: ; 16170 + db 9 ; # items + db RAGECANDYBAR + db GREAT_BALL + db SUPER_POTION + db HYPER_POTION + db ANTIDOTE + db PARLYZ_HEAL + db SUPER_REPEL + db REVIVE + db FLOWER_MAIL + db $ff +; 1617b + +MartBlackthorn: ; 1617b + db 9 ; # items + db GREAT_BALL + db ULTRA_BALL + db HYPER_POTION + db MAX_POTION + db FULL_HEAL + db REVIVE + db MAX_REPEL + db X_DEFEND + db X_ATTACK + db $ff +; 16186 + +MartViridian: ; 16186 + db 9 ; # items + db ULTRA_BALL + db HYPER_POTION + db FULL_HEAL + db REVIVE + db ANTIDOTE + db PARLYZ_HEAL + db AWAKENING + db BURN_HEAL + db FLOWER_MAIL + db $ff +; 16191 + +MartPewter: ; 16191 + db 7 ; # items + db GREAT_BALL + db SUPER_POTION + db SUPER_REPEL + db ANTIDOTE + db PARLYZ_HEAL + db AWAKENING + db BURN_HEAL + db $ff +; 1619a + +MartCerulean: ; 1619a + db 9 ; # items + db GREAT_BALL + db ULTRA_BALL + db SUPER_POTION + db SUPER_REPEL + db FULL_HEAL + db X_DEFEND + db X_ATTACK + db DIRE_HIT + db SURF_MAIL + db $ff +; 161a5 + +MartLavender: ; 161a5 + db 8 ; # items + db GREAT_BALL + db POTION + db SUPER_POTION + db MAX_REPEL + db ANTIDOTE + db PARLYZ_HEAL + db AWAKENING + db BURN_HEAL + db $ff +; 161af + +MartVermilion: ; 161af + db 8 ; # items + db ULTRA_BALL + db SUPER_POTION + db HYPER_POTION + db REVIVE + db PARLYZ_HEAL + db AWAKENING + db BURN_HEAL + db LITEBLUEMAIL + db $ff +; 161b9 + +MartCeladon2F1: ; 161b9 + db 7 ; # items + db POTION + db SUPER_POTION + db HYPER_POTION + db MAX_POTION + db REVIVE + db SUPER_REPEL + db MAX_REPEL + db $ff +; 161c2 + +MartCeladon2F2: ; 161c2 + db 10 ; # items + db POKE_BALL + db GREAT_BALL + db ULTRA_BALL + db ESCAPE_ROPE + db FULL_HEAL + db ANTIDOTE + db BURN_HEAL + db ICE_HEAL + db AWAKENING + db PARLYZ_HEAL + db $ff +; 161ce + +MartCeladon3F: ; 161ce + db 5 ; # items + db TM_HIDDEN_POWER + db TM_SUNNY_DAY + db TM_PROTECT + db TM_RAIN_DANCE + db TM_SANDSTORM + db $ff +; 161d5 + +MartCeladon4F: ; 161d5 + db 3 ; # items + db POKE_DOLL + db LOVELY_MAIL + db SURF_MAIL + db $ff +; 161da + +MartCeladon5F1: ; 161da + db 5 ; # items + db HP_UP + db PROTEIN + db IRON + db CARBOS + db CALCIUM + db $ff +; 161e1 + +MartCeladon5F2: ; 161e1 + db 7 ; # items + db X_ACCURACY + db GUARD_SPEC + db DIRE_HIT + db X_ATTACK + db X_DEFEND + db X_SPEED + db X_SPECIAL + db $ff +; 161ea + +MartFuchsia: ; 161ea + db 7 ; # items + db GREAT_BALL + db ULTRA_BALL + db SUPER_POTION + db HYPER_POTION + db FULL_HEAL + db MAX_REPEL + db FLOWER_MAIL + db $ff +; 161f3 + +MartSaffron: ; 161f3 + db 8 ; # items + db GREAT_BALL + db ULTRA_BALL + db HYPER_POTION + db MAX_POTION + db FULL_HEAL + db X_ATTACK + db X_DEFEND + db FLOWER_MAIL + db $ff +; 161fd + +MartMtMoon: ; 161fd + db 6 ; # items + db POKE_DOLL + db FRESH_WATER + db SODA_POP + db LEMONADE + db REPEL + db PORTRAITMAIL + db $ff +; 16205 + +MartIndigoPlateau: ; 16205 + db 7 ; # items + db ULTRA_BALL + db MAX_REPEL + db HYPER_POTION + db MAX_POTION + db FULL_RESTORE + db REVIVE + db FULL_HEAL + db $ff +; 1620e + +MartUnderground: ; 1620e + db 4 ; # items + db ENERGYPOWDER + db ENERGY_ROOT + db HEAL_POWDER + db REVIVAL_HERB + db $ff +; 16214 + +DefaultMart: ; 16214 + db 2 ; # items + db POKE_BALL + db POTION + db $ff +; 16218 diff --git a/data/landmarks.asm b/data/landmarks.asm deleted file mode 100644 index 0b927aaf6..000000000 --- a/data/landmarks.asm +++ /dev/null @@ -1,208 +0,0 @@ -landmark: MACRO -; x, y, name - db \1, \2 - dw \3 -ENDM - -Landmarks: ; 0x1ca8c3 -; entries correspond to constants/landmark_constants.asm - landmark 0, 0, SpecialMapName - landmark 148, 116, NewBarkTownName - landmark 136, 116, Route29Name - landmark 108, 116, CherrygroveCityName - landmark 108, 96, Route30Name - landmark 104, 76, Route31Name - landmark 92, 76, VioletCityName - landmark 93, 74, SproutTowerName - landmark 92, 108, Route32Name - landmark 84, 92, RuinsOfAlphName - landmark 92, 140, UnionCaveName - landmark 90, 140, Route33Name - landmark 76, 140, AzaleaTownName - landmark 78, 138, SlowpokeWellName - landmark 60, 136, IlexForestName - landmark 60, 128, Route34Name - landmark 60, 108, GoldenrodCityName - landmark 58, 108, RadioTowerName - landmark 60, 92, Route35Name - landmark 60, 76, NationalParkName - landmark 72, 76, Route36Name - landmark 76, 68, Route37Name - landmark 76, 60, EcruteakCityName - landmark 78, 58, TinTowerName - landmark 74, 58, BurnedTowerName - landmark 60, 60, Route38Name - landmark 44, 64, Route39Name - landmark 44, 76, OlivineCityName - landmark 46, 78, LighthouseName - landmark 36, 72, BattleTowerName - landmark 36, 80, Route40Name - landmark 36, 108, WhirlIslandsName - landmark 36, 116, Route41Name - landmark 28, 116, CianwoodCityName - landmark 100, 60, Route42Name - landmark 92, 60, MtMortarName - landmark 116, 60, MahoganyTownName - landmark 116, 52, Route43Name - landmark 116, 44, LakeOfRageName - landmark 128, 60, Route44Name - landmark 138, 54, IcePathName - landmark 140, 60, BlackthornCityName - landmark 140, 52, DragonsDenName - landmark 140, 80, Route45Name - landmark 120, 88, DarkCaveName - landmark 132, 104, Route46Name - landmark 156, 84, SilverCaveName - landmark 60, 124, PalletTownName - landmark 60, 108, Route1Name - landmark 60, 92, ViridianCityName - landmark 60, 80, Route2Name - landmark 60, 68, PewterCityName - landmark 72, 68, Route3Name - landmark 84, 68, MtMoonName - landmark 96, 68, Route4Name - landmark 108, 68, CeruleanCityName - landmark 108, 60, Route24Name - landmark 116, 52, Route25Name - landmark 108, 76, Route5Name - landmark 116, 92, UndergroundName - landmark 108, 92, Route6Name - landmark 108, 100, VermilionCityName - landmark 96, 76, DiglettsCaveName - landmark 96, 84, Route7Name - landmark 124, 84, Route8Name - landmark 124, 68, Route9Name - landmark 140, 68, RockTunnelName - landmark 140, 72, Route10Name - landmark 140, 76, PowerPlantName - landmark 140, 84, LavenderTownName - landmark 148, 84, LavRadioTowerName - landmark 84, 84, CeladonCityName - landmark 108, 84, SaffronCityName - landmark 124, 100, Route11Name - landmark 140, 96, Route12Name - landmark 132, 116, Route13Name - landmark 124, 128, Route14Name - landmark 112, 132, Route15Name - landmark 76, 84, Route16Name - landmark 76, 108, Route17Name - landmark 88, 132, Route18Name - landmark 100, 132, FuchsiaCityName - landmark 100, 144, Route19Name - landmark 84, 148, Route20Name - landmark 76, 148, SeafoamIslandsName - landmark 60, 148, CinnabarIslandName - landmark 60, 136, Route21Name - landmark 44, 84, Route22Name - landmark 36, 68, VictoryRoadName - landmark 36, 60, Route23Name - landmark 36, 52, IndigoPlateauName - landmark 36, 108, Route26Name - landmark 28, 116, Route27Name - landmark 20, 116, TohjoFallsName - landmark 28, 84, Route28Name - landmark 148, 132, FastShipName -; 0x1caa43 - -NewBarkTownName: db "NEW BARK¯TOWN@" -CherrygroveCityName: db "CHERRYGROVE¯CITY@" -VioletCityName: db "VIOLET CITY@" -AzaleaTownName: db "AZALEA TOWN@" -GoldenrodCityName: db "GOLDENROD¯CITY@" -EcruteakCityName: db "ECRUTEAK¯CITY@" -OlivineCityName: db "OLIVINE¯CITY@" -CianwoodCityName: db "CIANWOOD¯CITY@" -MahoganyTownName: db "MAHOGANY¯TOWN@" -BlackthornCityName: db "BLACKTHORN¯CITY@" -LakeOfRageName: db "LAKE OF¯RAGE@" -SilverCaveName: db "SILVER CAVE@" -SproutTowerName: db "SPROUT¯TOWER@" -RuinsOfAlphName: db "RUINS¯OF ALPH@" -UnionCaveName: db "UNION CAVE@" -SlowpokeWellName: db "SLOWPOKE¯WELL@" -RadioTowerName: db "RADIO TOWER@" -PowerPlantName: db "POWER PLANT@" -NationalParkName: db "NATIONAL¯PARK@" -TinTowerName: db "TIN TOWER@" -LighthouseName: db "LIGHTHOUSE@" -WhirlIslandsName: db "WHIRL¯ISLANDS@" -MtMortarName: db "MT.MORTAR@" -DragonsDenName: db "DRAGON'S¯DEN@" -IcePathName: db "ICE PATH@" -NotApplicableName: db "N/A@" -PalletTownName: db "PALLET TOWN@" -ViridianCityName: db "VIRIDIAN¯CITY@" -PewterCityName: db "PEWTER CITY@" -CeruleanCityName: db "CERULEAN¯CITY@" -LavenderTownName: db "LAVENDER¯TOWN@" -VermilionCityName: db "VERMILION¯CITY@" -CeladonCityName: db "CELADON¯CITY@" -SaffronCityName: db "SAFFRON¯CITY@" -FuchsiaCityName: db "FUCHSIA¯CITY@" -CinnabarIslandName: db "CINNABAR¯ISLAND@" -IndigoPlateauName: db "INDIGO¯PLATEAU@" -VictoryRoadName: db "VICTORY¯ROAD@" -MtMoonName: db "MT.MOON@" -RockTunnelName: db "ROCK TUNNEL@" -LavRadioTowerName: db "LAV¯RADIO TOWER@" -SilphCoName: db "SILPH CO.@" -SafariZoneName: db "SAFARI ZONE@" -SeafoamIslandsName: db "SEAFOAM¯ISLANDS@" -PokemonMansionName: db "#MON¯MANSION@" -CeruleanCaveName: db "CERULEAN¯CAVE@" -Route1Name: db "ROUTE 1@" -Route2Name: db "ROUTE 2@" -Route3Name: db "ROUTE 3@" -Route4Name: db "ROUTE 4@" -Route5Name: db "ROUTE 5@" -Route6Name: db "ROUTE 6@" -Route7Name: db "ROUTE 7@" -Route8Name: db "ROUTE 8@" -Route9Name: db "ROUTE 9@" -Route10Name: db "ROUTE 10@" -Route11Name: db "ROUTE 11@" -Route12Name: db "ROUTE 12@" -Route13Name: db "ROUTE 13@" -Route14Name: db "ROUTE 14@" -Route15Name: db "ROUTE 15@" -Route16Name: db "ROUTE 16@" -Route17Name: db "ROUTE 17@" -Route18Name: db "ROUTE 18@" -Route19Name: db "ROUTE 19@" -Route20Name: db "ROUTE 20@" -Route21Name: db "ROUTE 21@" -Route22Name: db "ROUTE 22@" -Route23Name: db "ROUTE 23@" -Route24Name: db "ROUTE 24@" -Route25Name: db "ROUTE 25@" -Route26Name: db "ROUTE 26@" -Route27Name: db "ROUTE 27@" -Route28Name: db "ROUTE 28@" -Route29Name: db "ROUTE 29@" -Route30Name: db "ROUTE 30@" -Route31Name: db "ROUTE 31@" -Route32Name: db "ROUTE 32@" -Route33Name: db "ROUTE 33@" -Route34Name: db "ROUTE 34@" -Route35Name: db "ROUTE 35@" -Route36Name: db "ROUTE 36@" -Route37Name: db "ROUTE 37@" -Route38Name: db "ROUTE 38@" -Route39Name: db "ROUTE 39@" -Route40Name: db "ROUTE 40@" -Route41Name: db "ROUTE 41@" -Route42Name: db "ROUTE 42@" -Route43Name: db "ROUTE 43@" -Route44Name: db "ROUTE 44@" -Route45Name: db "ROUTE 45@" -Route46Name: db "ROUTE 46@" -DarkCaveName: db "DARK CAVE@" -IlexForestName: db "ILEX¯FOREST@" -BurnedTowerName: db "BURNED¯TOWER@" -FastShipName: db "FAST SHIP@" -ViridianForestName: db "VIRIDIAN¯FOREST@" -DiglettsCaveName: db "DIGLETT'S¯CAVE@" -TohjoFallsName: db "TOHJO FALLS@" -UndergroundName: db "UNDERGROUND@" -BattleTowerName: db "BATTLE¯TOWER@" -SpecialMapName: db "SPECIAL@" diff --git a/data/map_triggers.asm b/data/map_triggers.asm deleted file mode 100644 index b2ba1222a..000000000 --- a/data/map_triggers.asm +++ /dev/null @@ -1,89 +0,0 @@ -trigger_def: MACRO -; db group, map -; dw address - map \1 - dw \2 -ENDM - -MapTriggers:: ; 4d01e - trigger_def POKECENTER_2F, wPokecenter2FTrigger - trigger_def TRADE_CENTER, wTradeCenterTrigger - trigger_def COLOSSEUM, wColosseumTrigger - trigger_def TIME_CAPSULE, wTimeCapsuleTrigger - trigger_def POWER_PLANT, wPowerPlantTrigger - trigger_def CERULEAN_GYM, wCeruleanGymTrigger - trigger_def ROUTE_25, wRoute25Trigger - trigger_def TRAINER_HOUSE_B1F, wTrainerHouseB1FTrigger - trigger_def VICTORY_ROAD_GATE, wVictoryRoadGateTrigger - trigger_def SAFFRON_TRAIN_STATION, wSaffronTrainStationTrigger - trigger_def ROUTE_16_GATE, wRoute16GateTrigger - trigger_def ROUTE_17_18_GATE, wRoute1718GateTrigger - trigger_def INDIGO_PLATEAU_POKECENTER_1F, wIndigoPlateauPokecenter1FTrigger - trigger_def WILLS_ROOM, wWillsRoomTrigger - trigger_def KOGAS_ROOM, wKogasRoomTrigger - trigger_def BRUNOS_ROOM, wBrunosRoomTrigger - trigger_def KARENS_ROOM, wKarensRoomTrigger - trigger_def LANCES_ROOM, wLancesRoomTrigger - trigger_def HALL_OF_FAME, wHallOfFameTrigger - trigger_def ROUTE_27, wRoute27Trigger - trigger_def NEW_BARK_TOWN, wNewBarkTownTrigger - trigger_def ELMS_LAB, wElmsLabTrigger - trigger_def KRISS_HOUSE_1F, wKrissHouse1FTrigger - trigger_def ROUTE_29, wRoute29Trigger - trigger_def CHERRYGROVE_CITY, wCherrygroveCityTrigger - trigger_def MR_POKEMONS_HOUSE, wMrPokemonsHouseTrigger - trigger_def ROUTE_32, wRoute32Trigger - trigger_def ROUTE_35_NATIONAL_PARK_GATE, wRoute35NationalParkGateTrigger - trigger_def ROUTE_36, wRoute36Trigger - trigger_def ROUTE_36_NATIONAL_PARK_GATE, wRoute36NationalParkGateTrigger - trigger_def AZALEA_TOWN, wAzaleaTownTrigger - trigger_def GOLDENROD_GYM, wGoldenrodGymTrigger - trigger_def GOLDENROD_MAGNET_TRAIN_STATION, wGoldenrodMagnetTrainStationTrigger - trigger_def GOLDENROD_POKECENTER_1F, wGoldenrodPokecenter1FTrigger - trigger_def OLIVINE_CITY, wOlivineCityTrigger - trigger_def ROUTE_34, wRoute34Trigger - trigger_def ROUTE_34_ILEX_FOREST_GATE, wRoute34IlexForestGateTrigger - trigger_def ECRUTEAK_HOUSE, wEcruteakHouseTrigger - trigger_def WISE_TRIOS_ROOM, wWiseTriosRoomTrigger - trigger_def ECRUTEAK_POKECENTER_1F, wEcruteakPokecenter1FTrigger - trigger_def ECRUTEAK_GYM, wEcruteakGymTrigger - trigger_def MAHOGANY_TOWN, wMahoganyTownTrigger - trigger_def ROUTE_42, wRoute42Trigger - trigger_def CIANWOOD_CITY, wCianwoodCityTrigger - trigger_def BATTLE_TOWER_1F, wBattleTower1FTrigger - trigger_def BATTLE_TOWER_BATTLE_ROOM, wBattleTowerBattleRoomTrigger - trigger_def BATTLE_TOWER_ELEVATOR, wBattleTowerElevatorTrigger - trigger_def BATTLE_TOWER_HALLWAY, wBattleTowerHallwayTrigger - trigger_def BATTLE_TOWER_OUTSIDE, wBattleTowerOutsideTrigger - trigger_def ROUTE_43_GATE, wRoute43GateTrigger - trigger_def MOUNT_MOON, wMountMoonTrigger - trigger_def SPROUT_TOWER_3F, wSproutTower3FTrigger - trigger_def TIN_TOWER_1F, wTinTower1FTrigger - trigger_def BURNED_TOWER_1F, wBurnedTower1FTrigger - trigger_def BURNED_TOWER_B1F, wBurnedTowerB1FTrigger - trigger_def RADIO_TOWER_5F, wRadioTower5FTrigger - trigger_def RUINS_OF_ALPH_OUTSIDE, wRuinsOfAlphOutsideTrigger - trigger_def RUINS_OF_ALPH_RESEARCH_CENTER, wRuinsOfAlphResearchCenterTrigger - trigger_def RUINS_OF_ALPH_HO_OH_CHAMBER, wRuinsOfAlphHoOhChamberTrigger - trigger_def RUINS_OF_ALPH_KABUTO_CHAMBER, wRuinsOfAlphKabutoChamberTrigger - trigger_def RUINS_OF_ALPH_OMANYTE_CHAMBER, wRuinsOfAlphOmanyteChamberTrigger - trigger_def RUINS_OF_ALPH_AERODACTYL_CHAMBER, wRuinsOfAlphAerodactylChamberTrigger - trigger_def RUINS_OF_ALPH_INNER_CHAMBER, wRuinsOfAlphInnerChamberTrigger - trigger_def MAHOGANY_MART_1F, wMahoganyMart1FTrigger - trigger_def TEAM_ROCKET_BASE_B1F, wTeamRocketBaseB1FTrigger - trigger_def TEAM_ROCKET_BASE_B2F, wTeamRocketBaseB2FTrigger - trigger_def TEAM_ROCKET_BASE_B3F, wTeamRocketBaseB3FTrigger - trigger_def UNDERGROUND_PATH_SWITCH_ROOM_ENTRANCES, wUndergroundPathSwitchRoomEntrancesTrigger - trigger_def SILVER_CAVE_ROOM_3, wSilverCaveRoom3Trigger - trigger_def VICTORY_ROAD, wVictoryRoadTrigger - trigger_def DRAGONS_DEN_B1F, wDragonsDenB1FTrigger - trigger_def DRAGON_SHRINE, wDragonShrineTrigger - trigger_def OLIVINE_PORT, wOlivinePortTrigger - trigger_def VERMILION_PORT, wVermilionPortTrigger - trigger_def FAST_SHIP_1F, wFastShip1FTrigger - trigger_def FAST_SHIP_B1F, wFastShipB1FTrigger - trigger_def MOUNT_MOON_SQUARE, wMountMoonSquareTrigger - trigger_def MOBILE_TRADE_ROOM_MOBILE, wMobileTradeRoomMobileTrigger - trigger_def MOBILE_BATTLE_ROOM, wMobileBattleRoomTrigger - db -1 -; 4d15b diff --git a/data/mapgroup_roofs.asm b/data/mapgroup_roofs.asm deleted file mode 100644 index 0cad8a0e3..000000000 --- a/data/mapgroup_roofs.asm +++ /dev/null @@ -1,31 +0,0 @@ -; valid roofs: 0, 1, 2, 3, 4, or -1 for none - -MapGroupRoofs: ; 1c021i - db -1 ; group 0 (unused) - db 3 ; group 1 (Olivine) - db 2 ; group 2 (Mahogany) - db -1 ; group 3 - db 1 ; group 4 (Ecruteak) - db 2 ; group 5 (Blackthorn) - db -1 ; group 6 - db -1 ; group 7 - db 2 ; group 8 (Azalea) - db 2 ; group 9 (Lake of Rage) - db 1 ; group 10 (Violet) - db 4 ; group 11 (Goldenrod) - db -1 ; group 12 - db -1 ; group 13 - db -1 ; group 14 - db -1 ; group 15 - db -1 ; group 16 - db -1 ; group 17 - db -1 ; group 18 - db 0 ; group 19 (Silver Cave) - db -1 ; group 20 - db -1 ; group 21 - db 3 ; group 22 (Cianwood) - db -1 ; group 23 - db 0 ; group 24 (New Bark) - db -1 ; group 25 - db 0 ; group 26 (Cherrygrove) -; 1c03c diff --git a/data/maps/landmarks.asm b/data/maps/landmarks.asm new file mode 100644 index 000000000..0b927aaf6 --- /dev/null +++ b/data/maps/landmarks.asm @@ -0,0 +1,208 @@ +landmark: MACRO +; x, y, name + db \1, \2 + dw \3 +ENDM + +Landmarks: ; 0x1ca8c3 +; entries correspond to constants/landmark_constants.asm + landmark 0, 0, SpecialMapName + landmark 148, 116, NewBarkTownName + landmark 136, 116, Route29Name + landmark 108, 116, CherrygroveCityName + landmark 108, 96, Route30Name + landmark 104, 76, Route31Name + landmark 92, 76, VioletCityName + landmark 93, 74, SproutTowerName + landmark 92, 108, Route32Name + landmark 84, 92, RuinsOfAlphName + landmark 92, 140, UnionCaveName + landmark 90, 140, Route33Name + landmark 76, 140, AzaleaTownName + landmark 78, 138, SlowpokeWellName + landmark 60, 136, IlexForestName + landmark 60, 128, Route34Name + landmark 60, 108, GoldenrodCityName + landmark 58, 108, RadioTowerName + landmark 60, 92, Route35Name + landmark 60, 76, NationalParkName + landmark 72, 76, Route36Name + landmark 76, 68, Route37Name + landmark 76, 60, EcruteakCityName + landmark 78, 58, TinTowerName + landmark 74, 58, BurnedTowerName + landmark 60, 60, Route38Name + landmark 44, 64, Route39Name + landmark 44, 76, OlivineCityName + landmark 46, 78, LighthouseName + landmark 36, 72, BattleTowerName + landmark 36, 80, Route40Name + landmark 36, 108, WhirlIslandsName + landmark 36, 116, Route41Name + landmark 28, 116, CianwoodCityName + landmark 100, 60, Route42Name + landmark 92, 60, MtMortarName + landmark 116, 60, MahoganyTownName + landmark 116, 52, Route43Name + landmark 116, 44, LakeOfRageName + landmark 128, 60, Route44Name + landmark 138, 54, IcePathName + landmark 140, 60, BlackthornCityName + landmark 140, 52, DragonsDenName + landmark 140, 80, Route45Name + landmark 120, 88, DarkCaveName + landmark 132, 104, Route46Name + landmark 156, 84, SilverCaveName + landmark 60, 124, PalletTownName + landmark 60, 108, Route1Name + landmark 60, 92, ViridianCityName + landmark 60, 80, Route2Name + landmark 60, 68, PewterCityName + landmark 72, 68, Route3Name + landmark 84, 68, MtMoonName + landmark 96, 68, Route4Name + landmark 108, 68, CeruleanCityName + landmark 108, 60, Route24Name + landmark 116, 52, Route25Name + landmark 108, 76, Route5Name + landmark 116, 92, UndergroundName + landmark 108, 92, Route6Name + landmark 108, 100, VermilionCityName + landmark 96, 76, DiglettsCaveName + landmark 96, 84, Route7Name + landmark 124, 84, Route8Name + landmark 124, 68, Route9Name + landmark 140, 68, RockTunnelName + landmark 140, 72, Route10Name + landmark 140, 76, PowerPlantName + landmark 140, 84, LavenderTownName + landmark 148, 84, LavRadioTowerName + landmark 84, 84, CeladonCityName + landmark 108, 84, SaffronCityName + landmark 124, 100, Route11Name + landmark 140, 96, Route12Name + landmark 132, 116, Route13Name + landmark 124, 128, Route14Name + landmark 112, 132, Route15Name + landmark 76, 84, Route16Name + landmark 76, 108, Route17Name + landmark 88, 132, Route18Name + landmark 100, 132, FuchsiaCityName + landmark 100, 144, Route19Name + landmark 84, 148, Route20Name + landmark 76, 148, SeafoamIslandsName + landmark 60, 148, CinnabarIslandName + landmark 60, 136, Route21Name + landmark 44, 84, Route22Name + landmark 36, 68, VictoryRoadName + landmark 36, 60, Route23Name + landmark 36, 52, IndigoPlateauName + landmark 36, 108, Route26Name + landmark 28, 116, Route27Name + landmark 20, 116, TohjoFallsName + landmark 28, 84, Route28Name + landmark 148, 132, FastShipName +; 0x1caa43 + +NewBarkTownName: db "NEW BARK¯TOWN@" +CherrygroveCityName: db "CHERRYGROVE¯CITY@" +VioletCityName: db "VIOLET CITY@" +AzaleaTownName: db "AZALEA TOWN@" +GoldenrodCityName: db "GOLDENROD¯CITY@" +EcruteakCityName: db "ECRUTEAK¯CITY@" +OlivineCityName: db "OLIVINE¯CITY@" +CianwoodCityName: db "CIANWOOD¯CITY@" +MahoganyTownName: db "MAHOGANY¯TOWN@" +BlackthornCityName: db "BLACKTHORN¯CITY@" +LakeOfRageName: db "LAKE OF¯RAGE@" +SilverCaveName: db "SILVER CAVE@" +SproutTowerName: db "SPROUT¯TOWER@" +RuinsOfAlphName: db "RUINS¯OF ALPH@" +UnionCaveName: db "UNION CAVE@" +SlowpokeWellName: db "SLOWPOKE¯WELL@" +RadioTowerName: db "RADIO TOWER@" +PowerPlantName: db "POWER PLANT@" +NationalParkName: db "NATIONAL¯PARK@" +TinTowerName: db "TIN TOWER@" +LighthouseName: db "LIGHTHOUSE@" +WhirlIslandsName: db "WHIRL¯ISLANDS@" +MtMortarName: db "MT.MORTAR@" +DragonsDenName: db "DRAGON'S¯DEN@" +IcePathName: db "ICE PATH@" +NotApplicableName: db "N/A@" +PalletTownName: db "PALLET TOWN@" +ViridianCityName: db "VIRIDIAN¯CITY@" +PewterCityName: db "PEWTER CITY@" +CeruleanCityName: db "CERULEAN¯CITY@" +LavenderTownName: db "LAVENDER¯TOWN@" +VermilionCityName: db "VERMILION¯CITY@" +CeladonCityName: db "CELADON¯CITY@" +SaffronCityName: db "SAFFRON¯CITY@" +FuchsiaCityName: db "FUCHSIA¯CITY@" +CinnabarIslandName: db "CINNABAR¯ISLAND@" +IndigoPlateauName: db "INDIGO¯PLATEAU@" +VictoryRoadName: db "VICTORY¯ROAD@" +MtMoonName: db "MT.MOON@" +RockTunnelName: db "ROCK TUNNEL@" +LavRadioTowerName: db "LAV¯RADIO TOWER@" +SilphCoName: db "SILPH CO.@" +SafariZoneName: db "SAFARI ZONE@" +SeafoamIslandsName: db "SEAFOAM¯ISLANDS@" +PokemonMansionName: db "#MON¯MANSION@" +CeruleanCaveName: db "CERULEAN¯CAVE@" +Route1Name: db "ROUTE 1@" +Route2Name: db "ROUTE 2@" +Route3Name: db "ROUTE 3@" +Route4Name: db "ROUTE 4@" +Route5Name: db "ROUTE 5@" +Route6Name: db "ROUTE 6@" +Route7Name: db "ROUTE 7@" +Route8Name: db "ROUTE 8@" +Route9Name: db "ROUTE 9@" +Route10Name: db "ROUTE 10@" +Route11Name: db "ROUTE 11@" +Route12Name: db "ROUTE 12@" +Route13Name: db "ROUTE 13@" +Route14Name: db "ROUTE 14@" +Route15Name: db "ROUTE 15@" +Route16Name: db "ROUTE 16@" +Route17Name: db "ROUTE 17@" +Route18Name: db "ROUTE 18@" +Route19Name: db "ROUTE 19@" +Route20Name: db "ROUTE 20@" +Route21Name: db "ROUTE 21@" +Route22Name: db "ROUTE 22@" +Route23Name: db "ROUTE 23@" +Route24Name: db "ROUTE 24@" +Route25Name: db "ROUTE 25@" +Route26Name: db "ROUTE 26@" +Route27Name: db "ROUTE 27@" +Route28Name: db "ROUTE 28@" +Route29Name: db "ROUTE 29@" +Route30Name: db "ROUTE 30@" +Route31Name: db "ROUTE 31@" +Route32Name: db "ROUTE 32@" +Route33Name: db "ROUTE 33@" +Route34Name: db "ROUTE 34@" +Route35Name: db "ROUTE 35@" +Route36Name: db "ROUTE 36@" +Route37Name: db "ROUTE 37@" +Route38Name: db "ROUTE 38@" +Route39Name: db "ROUTE 39@" +Route40Name: db "ROUTE 40@" +Route41Name: db "ROUTE 41@" +Route42Name: db "ROUTE 42@" +Route43Name: db "ROUTE 43@" +Route44Name: db "ROUTE 44@" +Route45Name: db "ROUTE 45@" +Route46Name: db "ROUTE 46@" +DarkCaveName: db "DARK CAVE@" +IlexForestName: db "ILEX¯FOREST@" +BurnedTowerName: db "BURNED¯TOWER@" +FastShipName: db "FAST SHIP@" +ViridianForestName: db "VIRIDIAN¯FOREST@" +DiglettsCaveName: db "DIGLETT'S¯CAVE@" +TohjoFallsName: db "TOHJO FALLS@" +UndergroundName: db "UNDERGROUND@" +BattleTowerName: db "BATTLE¯TOWER@" +SpecialMapName: db "SPECIAL@" diff --git a/data/maps/map_triggers.asm b/data/maps/map_triggers.asm new file mode 100644 index 000000000..b2ba1222a --- /dev/null +++ b/data/maps/map_triggers.asm @@ -0,0 +1,89 @@ +trigger_def: MACRO +; db group, map +; dw address + map \1 + dw \2 +ENDM + +MapTriggers:: ; 4d01e + trigger_def POKECENTER_2F, wPokecenter2FTrigger + trigger_def TRADE_CENTER, wTradeCenterTrigger + trigger_def COLOSSEUM, wColosseumTrigger + trigger_def TIME_CAPSULE, wTimeCapsuleTrigger + trigger_def POWER_PLANT, wPowerPlantTrigger + trigger_def CERULEAN_GYM, wCeruleanGymTrigger + trigger_def ROUTE_25, wRoute25Trigger + trigger_def TRAINER_HOUSE_B1F, wTrainerHouseB1FTrigger + trigger_def VICTORY_ROAD_GATE, wVictoryRoadGateTrigger + trigger_def SAFFRON_TRAIN_STATION, wSaffronTrainStationTrigger + trigger_def ROUTE_16_GATE, wRoute16GateTrigger + trigger_def ROUTE_17_18_GATE, wRoute1718GateTrigger + trigger_def INDIGO_PLATEAU_POKECENTER_1F, wIndigoPlateauPokecenter1FTrigger + trigger_def WILLS_ROOM, wWillsRoomTrigger + trigger_def KOGAS_ROOM, wKogasRoomTrigger + trigger_def BRUNOS_ROOM, wBrunosRoomTrigger + trigger_def KARENS_ROOM, wKarensRoomTrigger + trigger_def LANCES_ROOM, wLancesRoomTrigger + trigger_def HALL_OF_FAME, wHallOfFameTrigger + trigger_def ROUTE_27, wRoute27Trigger + trigger_def NEW_BARK_TOWN, wNewBarkTownTrigger + trigger_def ELMS_LAB, wElmsLabTrigger + trigger_def KRISS_HOUSE_1F, wKrissHouse1FTrigger + trigger_def ROUTE_29, wRoute29Trigger + trigger_def CHERRYGROVE_CITY, wCherrygroveCityTrigger + trigger_def MR_POKEMONS_HOUSE, wMrPokemonsHouseTrigger + trigger_def ROUTE_32, wRoute32Trigger + trigger_def ROUTE_35_NATIONAL_PARK_GATE, wRoute35NationalParkGateTrigger + trigger_def ROUTE_36, wRoute36Trigger + trigger_def ROUTE_36_NATIONAL_PARK_GATE, wRoute36NationalParkGateTrigger + trigger_def AZALEA_TOWN, wAzaleaTownTrigger + trigger_def GOLDENROD_GYM, wGoldenrodGymTrigger + trigger_def GOLDENROD_MAGNET_TRAIN_STATION, wGoldenrodMagnetTrainStationTrigger + trigger_def GOLDENROD_POKECENTER_1F, wGoldenrodPokecenter1FTrigger + trigger_def OLIVINE_CITY, wOlivineCityTrigger + trigger_def ROUTE_34, wRoute34Trigger + trigger_def ROUTE_34_ILEX_FOREST_GATE, wRoute34IlexForestGateTrigger + trigger_def ECRUTEAK_HOUSE, wEcruteakHouseTrigger + trigger_def WISE_TRIOS_ROOM, wWiseTriosRoomTrigger + trigger_def ECRUTEAK_POKECENTER_1F, wEcruteakPokecenter1FTrigger + trigger_def ECRUTEAK_GYM, wEcruteakGymTrigger + trigger_def MAHOGANY_TOWN, wMahoganyTownTrigger + trigger_def ROUTE_42, wRoute42Trigger + trigger_def CIANWOOD_CITY, wCianwoodCityTrigger + trigger_def BATTLE_TOWER_1F, wBattleTower1FTrigger + trigger_def BATTLE_TOWER_BATTLE_ROOM, wBattleTowerBattleRoomTrigger + trigger_def BATTLE_TOWER_ELEVATOR, wBattleTowerElevatorTrigger + trigger_def BATTLE_TOWER_HALLWAY, wBattleTowerHallwayTrigger + trigger_def BATTLE_TOWER_OUTSIDE, wBattleTowerOutsideTrigger + trigger_def ROUTE_43_GATE, wRoute43GateTrigger + trigger_def MOUNT_MOON, wMountMoonTrigger + trigger_def SPROUT_TOWER_3F, wSproutTower3FTrigger + trigger_def TIN_TOWER_1F, wTinTower1FTrigger + trigger_def BURNED_TOWER_1F, wBurnedTower1FTrigger + trigger_def BURNED_TOWER_B1F, wBurnedTowerB1FTrigger + trigger_def RADIO_TOWER_5F, wRadioTower5FTrigger + trigger_def RUINS_OF_ALPH_OUTSIDE, wRuinsOfAlphOutsideTrigger + trigger_def RUINS_OF_ALPH_RESEARCH_CENTER, wRuinsOfAlphResearchCenterTrigger + trigger_def RUINS_OF_ALPH_HO_OH_CHAMBER, wRuinsOfAlphHoOhChamberTrigger + trigger_def RUINS_OF_ALPH_KABUTO_CHAMBER, wRuinsOfAlphKabutoChamberTrigger + trigger_def RUINS_OF_ALPH_OMANYTE_CHAMBER, wRuinsOfAlphOmanyteChamberTrigger + trigger_def RUINS_OF_ALPH_AERODACTYL_CHAMBER, wRuinsOfAlphAerodactylChamberTrigger + trigger_def RUINS_OF_ALPH_INNER_CHAMBER, wRuinsOfAlphInnerChamberTrigger + trigger_def MAHOGANY_MART_1F, wMahoganyMart1FTrigger + trigger_def TEAM_ROCKET_BASE_B1F, wTeamRocketBaseB1FTrigger + trigger_def TEAM_ROCKET_BASE_B2F, wTeamRocketBaseB2FTrigger + trigger_def TEAM_ROCKET_BASE_B3F, wTeamRocketBaseB3FTrigger + trigger_def UNDERGROUND_PATH_SWITCH_ROOM_ENTRANCES, wUndergroundPathSwitchRoomEntrancesTrigger + trigger_def SILVER_CAVE_ROOM_3, wSilverCaveRoom3Trigger + trigger_def VICTORY_ROAD, wVictoryRoadTrigger + trigger_def DRAGONS_DEN_B1F, wDragonsDenB1FTrigger + trigger_def DRAGON_SHRINE, wDragonShrineTrigger + trigger_def OLIVINE_PORT, wOlivinePortTrigger + trigger_def VERMILION_PORT, wVermilionPortTrigger + trigger_def FAST_SHIP_1F, wFastShip1FTrigger + trigger_def FAST_SHIP_B1F, wFastShipB1FTrigger + trigger_def MOUNT_MOON_SQUARE, wMountMoonSquareTrigger + trigger_def MOBILE_TRADE_ROOM_MOBILE, wMobileTradeRoomMobileTrigger + trigger_def MOBILE_BATTLE_ROOM, wMobileBattleRoomTrigger + db -1 +; 4d15b diff --git a/data/maps/mapgroup_roofs.asm b/data/maps/mapgroup_roofs.asm new file mode 100644 index 000000000..0cad8a0e3 --- /dev/null +++ b/data/maps/mapgroup_roofs.asm @@ -0,0 +1,31 @@ +; valid roofs: 0, 1, 2, 3, 4, or -1 for none + +MapGroupRoofs: ; 1c021i + db -1 ; group 0 (unused) + db 3 ; group 1 (Olivine) + db 2 ; group 2 (Mahogany) + db -1 ; group 3 + db 1 ; group 4 (Ecruteak) + db 2 ; group 5 (Blackthorn) + db -1 ; group 6 + db -1 ; group 7 + db 2 ; group 8 (Azalea) + db 2 ; group 9 (Lake of Rage) + db 1 ; group 10 (Violet) + db 4 ; group 11 (Goldenrod) + db -1 ; group 12 + db -1 ; group 13 + db -1 ; group 14 + db -1 ; group 15 + db -1 ; group 16 + db -1 ; group 17 + db -1 ; group 18 + db 0 ; group 19 (Silver Cave) + db -1 ; group 20 + db -1 ; group 21 + db 3 ; group 22 (Cianwood) + db -1 ; group 23 + db 0 ; group 24 (New Bark) + db -1 ; group 25 + db 0 ; group 26 (Cherrygrove) +; 1c03c diff --git a/data/maps/outdoor_sprites.asm b/data/maps/outdoor_sprites.asm new file mode 100644 index 000000000..2b0cd89fe --- /dev/null +++ b/data/maps/outdoor_sprites.asm @@ -0,0 +1,696 @@ +; Valid sprite IDs for each map group. +; Maps with permission ROUTE or TOWN can only use these sprites. + +OutdoorSprites: ; 144b8 + dw OlivineGroupSprites + dw MahoganyGroupSprites + dw DungeonsGroupSprites + dw EcruteakGroupSprites + dw BlackthornGroupSprites + dw CinnabarGroupSprites + dw CeruleanGroupSprites + dw AzaleaGroupSprites + dw LakeOfRageGroupSprites + dw VioletGroupSprites + dw GoldenrodGroupSprites + dw VermilionGroupSprites + dw PalletGroupSprites + dw PewterGroupSprites + dw FastShipGroupSprites + dw IndigoGroupSprites + dw FuchsiaGroupSprites + dw LavenderGroupSprites + dw SilverGroupSprites + dw CableClubGroupSprites + dw CeladonGroupSprites + dw CianwoodGroupSprites + dw ViridianGroupSprites + dw NewBarkGroupSprites + dw SaffronGroupSprites + dw CherrygroveGroupSprites +; 144ec + + +PalletGroupSprites: ; 144ec + db SPRITE_SUICUNE + db SPRITE_SILVER_TROPHY + db SPRITE_FAMICOM + db SPRITE_POKEDEX + db SPRITE_WILL + db SPRITE_KAREN + db SPRITE_NURSE + db SPRITE_OLD_LINK_RECEPTIONIST + db SPRITE_BIG_LAPRAS + db SPRITE_BIG_ONIX + db SPRITE_SUDOWOODO + db SPRITE_BIG_SNORLAX + db SPRITE_TEACHER + db SPRITE_FISHER + db SPRITE_YOUNGSTER + db SPRITE_BLUE + db SPRITE_GRAMPS + db SPRITE_BUG_CATCHER + db SPRITE_COOLTRAINER_F + db SPRITE_SWIMMER_GIRL + db SPRITE_SWIMMER_GUY + db SPRITE_POKE_BALL + db SPRITE_FRUIT_TREE +; 14503 + +ViridianGroupSprites: ; 14503 + db SPRITE_SUICUNE + db SPRITE_SILVER_TROPHY + db SPRITE_FAMICOM + db SPRITE_POKEDEX + db SPRITE_WILL + db SPRITE_KAREN + db SPRITE_NURSE + db SPRITE_OLD_LINK_RECEPTIONIST + db SPRITE_BIG_LAPRAS + db SPRITE_BIG_ONIX + db SPRITE_SUDOWOODO + db SPRITE_BIG_SNORLAX + db SPRITE_TEACHER + db SPRITE_FISHER + db SPRITE_YOUNGSTER + db SPRITE_BLUE + db SPRITE_GRAMPS + db SPRITE_BUG_CATCHER + db SPRITE_COOLTRAINER_F + db SPRITE_SWIMMER_GIRL + db SPRITE_SWIMMER_GUY + db SPRITE_POKE_BALL + db SPRITE_FRUIT_TREE +; 1451a + +PewterGroupSprites: ; 1451a + db SPRITE_SUICUNE + db SPRITE_SILVER_TROPHY + db SPRITE_FAMICOM + db SPRITE_POKEDEX + db SPRITE_WILL + db SPRITE_KAREN + db SPRITE_NURSE + db SPRITE_OLD_LINK_RECEPTIONIST + db SPRITE_BIG_LAPRAS + db SPRITE_BIG_ONIX + db SPRITE_SUDOWOODO + db SPRITE_BIG_SNORLAX + db SPRITE_TEACHER + db SPRITE_FISHER + db SPRITE_YOUNGSTER + db SPRITE_BLUE + db SPRITE_GRAMPS + db SPRITE_BUG_CATCHER + db SPRITE_COOLTRAINER_F + db SPRITE_SWIMMER_GIRL + db SPRITE_SWIMMER_GUY + db SPRITE_POKE_BALL + db SPRITE_FRUIT_TREE +; 14531 + +CinnabarGroupSprites: ; 14531 + db SPRITE_SUICUNE + db SPRITE_SILVER_TROPHY + db SPRITE_FAMICOM + db SPRITE_POKEDEX + db SPRITE_WILL + db SPRITE_KAREN + db SPRITE_NURSE + db SPRITE_OLD_LINK_RECEPTIONIST + db SPRITE_BIG_LAPRAS + db SPRITE_BIG_ONIX + db SPRITE_SUDOWOODO + db SPRITE_BIG_SNORLAX + db SPRITE_TEACHER + db SPRITE_FISHER + db SPRITE_YOUNGSTER + db SPRITE_BLUE + db SPRITE_GRAMPS + db SPRITE_BUG_CATCHER + db SPRITE_COOLTRAINER_F + db SPRITE_SWIMMER_GIRL + db SPRITE_SWIMMER_GUY + db SPRITE_POKE_BALL + db SPRITE_FRUIT_TREE +; 14548 + +CeruleanGroupSprites: ; 14548 + db SPRITE_SUICUNE + db SPRITE_SILVER_TROPHY + db SPRITE_FAMICOM + db SPRITE_POKEDEX + db SPRITE_WILL + db SPRITE_KAREN + db SPRITE_NURSE + db SPRITE_OLD_LINK_RECEPTIONIST + db SPRITE_BIG_LAPRAS + db SPRITE_BIG_ONIX + db SPRITE_SUDOWOODO + db SPRITE_BIG_SNORLAX + db SPRITE_COOLTRAINER_M + db SPRITE_SUPER_NERD + db SPRITE_COOLTRAINER_F + db SPRITE_FISHER + db SPRITE_YOUNGSTER + db SPRITE_LASS + db SPRITE_POKEFAN_M + db SPRITE_ROCKET + db SPRITE_MISTY + db SPRITE_POKE_BALL + db SPRITE_SLOWPOKE +; 1455f + +SaffronGroupSprites: ; 1455f + db SPRITE_SUICUNE + db SPRITE_SILVER_TROPHY + db SPRITE_FAMICOM + db SPRITE_POKEDEX + db SPRITE_WILL + db SPRITE_KAREN + db SPRITE_NURSE + db SPRITE_OLD_LINK_RECEPTIONIST + db SPRITE_BIG_LAPRAS + db SPRITE_BIG_ONIX + db SPRITE_SUDOWOODO + db SPRITE_BIG_SNORLAX + db SPRITE_COOLTRAINER_M + db SPRITE_SUPER_NERD + db SPRITE_COOLTRAINER_F + db SPRITE_FISHER + db SPRITE_YOUNGSTER + db SPRITE_LASS + db SPRITE_POKEFAN_M + db SPRITE_ROCKET + db SPRITE_MISTY + db SPRITE_POKE_BALL + db SPRITE_SLOWPOKE +; 14576 + +CeladonGroupSprites: ; 14576 + db SPRITE_SUICUNE + db SPRITE_SILVER_TROPHY + db SPRITE_FAMICOM + db SPRITE_POKEDEX + db SPRITE_WILL + db SPRITE_KAREN + db SPRITE_NURSE + db SPRITE_OLD_LINK_RECEPTIONIST + db SPRITE_BIG_LAPRAS + db SPRITE_BIG_ONIX + db SPRITE_SUDOWOODO + db SPRITE_BIG_SNORLAX + db SPRITE_FISHER + db SPRITE_POLIWAG + db SPRITE_TEACHER + db SPRITE_GRAMPS + db SPRITE_YOUNGSTER + db SPRITE_LASS + db SPRITE_BIKER + db SPRITE_SILVER + db SPRITE_BLUE + db SPRITE_POKE_BALL + db SPRITE_FRUIT_TREE +; 1458d + +LavenderGroupSprites: ; 1458d + db SPRITE_SUICUNE + db SPRITE_SILVER_TROPHY + db SPRITE_FAMICOM + db SPRITE_POKEDEX + db SPRITE_WILL + db SPRITE_KAREN + db SPRITE_NURSE + db SPRITE_OLD_LINK_RECEPTIONIST + db SPRITE_BIG_LAPRAS + db SPRITE_BIG_ONIX + db SPRITE_SUDOWOODO + db SPRITE_BIG_SNORLAX + db SPRITE_POKEFAN_M + db SPRITE_MACHOP + db SPRITE_GRAMPS + db SPRITE_YOUNGSTER + db SPRITE_FISHER + db SPRITE_TEACHER + db SPRITE_SUPER_NERD + db SPRITE_BIG_SNORLAX + db SPRITE_BIKER + db SPRITE_POKE_BALL + db SPRITE_FRUIT_TREE +; 145a4 + +VermilionGroupSprites: ; 145a4 + db SPRITE_SUICUNE + db SPRITE_SILVER_TROPHY + db SPRITE_FAMICOM + db SPRITE_POKEDEX + db SPRITE_WILL + db SPRITE_KAREN + db SPRITE_NURSE + db SPRITE_OLD_LINK_RECEPTIONIST + db SPRITE_BIG_LAPRAS + db SPRITE_BIG_ONIX + db SPRITE_SUDOWOODO + db SPRITE_BIG_SNORLAX + db SPRITE_POKEFAN_M + db SPRITE_MACHOP + db SPRITE_GRAMPS + db SPRITE_YOUNGSTER + db SPRITE_FISHER + db SPRITE_TEACHER + db SPRITE_SUPER_NERD + db SPRITE_BIG_SNORLAX + db SPRITE_BIKER + db SPRITE_POKE_BALL + db SPRITE_FRUIT_TREE +; 145bb + +FuchsiaGroupSprites: ; 145bb + db SPRITE_SUICUNE + db SPRITE_SILVER_TROPHY + db SPRITE_FAMICOM + db SPRITE_POKEDEX + db SPRITE_WILL + db SPRITE_KAREN + db SPRITE_NURSE + db SPRITE_OLD_LINK_RECEPTIONIST + db SPRITE_BIG_LAPRAS + db SPRITE_BIG_ONIX + db SPRITE_SUDOWOODO + db SPRITE_BIG_SNORLAX + db SPRITE_POKEFAN_M + db SPRITE_MACHOP + db SPRITE_GRAMPS + db SPRITE_YOUNGSTER + db SPRITE_FISHER + db SPRITE_TEACHER + db SPRITE_SUPER_NERD + db SPRITE_BIG_SNORLAX + db SPRITE_BIKER + db SPRITE_POKE_BALL + db SPRITE_FRUIT_TREE +; 145d2 + +IndigoGroupSprites: ; 145d2 + db SPRITE_SUICUNE + db SPRITE_SILVER_TROPHY + db SPRITE_FAMICOM + db SPRITE_POKEDEX + db SPRITE_WILL + db SPRITE_KAREN + db SPRITE_NURSE + db SPRITE_OLD_LINK_RECEPTIONIST + db SPRITE_BIG_LAPRAS + db SPRITE_BIG_ONIX + db SPRITE_SUDOWOODO + db SPRITE_BIG_SNORLAX + db SPRITE_POKEFAN_M + db SPRITE_BUENA + db SPRITE_GRAMPS + db SPRITE_YOUNGSTER + db SPRITE_FISHER + db SPRITE_TEACHER + db SPRITE_SUPER_NERD + db SPRITE_MACHOP + db SPRITE_BIKER + db SPRITE_POKE_BALL + db SPRITE_BOULDER +; 145e9 + +NewBarkGroupSprites: ; 145e9 + db SPRITE_SUICUNE + db SPRITE_SILVER_TROPHY + db SPRITE_FAMICOM + db SPRITE_POKEDEX + db SPRITE_WILL + db SPRITE_KAREN + db SPRITE_NURSE + db SPRITE_OLD_LINK_RECEPTIONIST + db SPRITE_BIG_LAPRAS + db SPRITE_BIG_ONIX + db SPRITE_SUDOWOODO + db SPRITE_BIG_SNORLAX + db SPRITE_SILVER + db SPRITE_TEACHER + db SPRITE_FISHER + db SPRITE_COOLTRAINER_M + db SPRITE_YOUNGSTER + db SPRITE_MONSTER + db SPRITE_GRAMPS + db SPRITE_BUG_CATCHER + db SPRITE_COOLTRAINER_F + db SPRITE_POKE_BALL + db SPRITE_FRUIT_TREE +; 14600 + +CherrygroveGroupSprites: ; 14600 + db SPRITE_SUICUNE + db SPRITE_SILVER_TROPHY + db SPRITE_FAMICOM + db SPRITE_POKEDEX + db SPRITE_WILL + db SPRITE_KAREN + db SPRITE_NURSE + db SPRITE_OLD_LINK_RECEPTIONIST + db SPRITE_BIG_LAPRAS + db SPRITE_BIG_ONIX + db SPRITE_SUDOWOODO + db SPRITE_BIG_SNORLAX + db SPRITE_SILVER + db SPRITE_TEACHER + db SPRITE_FISHER + db SPRITE_COOLTRAINER_M + db SPRITE_YOUNGSTER + db SPRITE_MONSTER + db SPRITE_GRAMPS + db SPRITE_BUG_CATCHER + db SPRITE_COOLTRAINER_F + db SPRITE_POKE_BALL + db SPRITE_FRUIT_TREE +; 14617 + +SilverGroupSprites: ; 14617 + db SPRITE_SUICUNE + db SPRITE_SILVER_TROPHY + db SPRITE_FAMICOM + db SPRITE_POKEDEX + db SPRITE_WILL + db SPRITE_KAREN + db SPRITE_NURSE + db SPRITE_OLD_LINK_RECEPTIONIST + db SPRITE_BIG_LAPRAS + db SPRITE_BIG_ONIX + db SPRITE_SUDOWOODO + db SPRITE_BIG_SNORLAX + db SPRITE_SILVER + db SPRITE_TEACHER + db SPRITE_FISHER + db SPRITE_COOLTRAINER_M + db SPRITE_YOUNGSTER + db SPRITE_MONSTER + db SPRITE_GRAMPS + db SPRITE_BUG_CATCHER + db SPRITE_COOLTRAINER_F + db SPRITE_POKE_BALL + db SPRITE_FRUIT_TREE +; 1462e + +VioletGroupSprites: ; 1462e + db SPRITE_SUICUNE + db SPRITE_SILVER_TROPHY + db SPRITE_FAMICOM + db SPRITE_POKEDEX + db SPRITE_WILL + db SPRITE_KAREN + db SPRITE_NURSE + db SPRITE_OLD_LINK_RECEPTIONIST + db SPRITE_BIG_LAPRAS + db SPRITE_BIG_ONIX + db SPRITE_SUDOWOODO + db SPRITE_BIG_SNORLAX + db SPRITE_FISHER + db SPRITE_LASS + db SPRITE_OFFICER + db SPRITE_GRAMPS + db SPRITE_YOUNGSTER + db SPRITE_COOLTRAINER_M + db SPRITE_BUG_CATCHER + db SPRITE_SUPER_NERD + db SPRITE_WEIRD_TREE + db SPRITE_POKE_BALL + db SPRITE_FRUIT_TREE +; 14645 + +EcruteakGroupSprites: ; 14645 + db SPRITE_SUICUNE + db SPRITE_SILVER_TROPHY + db SPRITE_FAMICOM + db SPRITE_POKEDEX + db SPRITE_WILL + db SPRITE_KAREN + db SPRITE_NURSE + db SPRITE_OLD_LINK_RECEPTIONIST + db SPRITE_BIG_LAPRAS + db SPRITE_BIG_ONIX + db SPRITE_SUDOWOODO + db SPRITE_BIG_SNORLAX + db SPRITE_FISHER + db SPRITE_LASS + db SPRITE_OFFICER + db SPRITE_GRAMPS + db SPRITE_YOUNGSTER + db SPRITE_COOLTRAINER_M + db SPRITE_BUG_CATCHER + db SPRITE_SUPER_NERD + db SPRITE_WEIRD_TREE + db SPRITE_POKE_BALL + db SPRITE_FRUIT_TREE +; 1465c + +AzaleaGroupSprites: ; 1465c + db SPRITE_SUICUNE + db SPRITE_SILVER_TROPHY + db SPRITE_FAMICOM + db SPRITE_POKEDEX + db SPRITE_WILL + db SPRITE_KAREN + db SPRITE_NURSE + db SPRITE_OLD_LINK_RECEPTIONIST + db SPRITE_KURT_OUTSIDE + db SPRITE_BIG_ONIX + db SPRITE_SUDOWOODO + db SPRITE_BIG_SNORLAX + db SPRITE_GRAMPS + db SPRITE_YOUNGSTER + db SPRITE_OFFICER + db SPRITE_POKEFAN_M + db SPRITE_BLACK_BELT + db SPRITE_TEACHER + db SPRITE_AZALEA_ROCKET + db SPRITE_LASS + db SPRITE_SILVER + db SPRITE_FRUIT_TREE + db SPRITE_SLOWPOKE +; 14673 + +GoldenrodGroupSprites: ; 14673 + db SPRITE_SUICUNE + db SPRITE_SILVER_TROPHY + db SPRITE_POKE_BALL + db SPRITE_POKEDEX + db SPRITE_WILL + db SPRITE_KAREN + db SPRITE_NURSE + db SPRITE_OLD_LINK_RECEPTIONIST + db SPRITE_BIG_LAPRAS + db SPRITE_BIG_ONIX + db SPRITE_SUDOWOODO + db SPRITE_BIG_SNORLAX + db SPRITE_GRAMPS + db SPRITE_YOUNGSTER + db SPRITE_OFFICER + db SPRITE_POKEFAN_M + db SPRITE_DAY_CARE_MON_1 + db SPRITE_COOLTRAINER_F + db SPRITE_ROCKET + db SPRITE_LASS + db SPRITE_DAY_CARE_MON_2 + db SPRITE_FRUIT_TREE + db SPRITE_SLOWPOKE +; 1468a + +CianwoodGroupSprites: ; 1468a + db SPRITE_SUICUNE + db SPRITE_SILVER_TROPHY + db SPRITE_FAMICOM + db SPRITE_POKEDEX + db SPRITE_WILL + db SPRITE_KAREN + db SPRITE_NURSE + db SPRITE_OLD_LINK_RECEPTIONIST + db SPRITE_STANDING_YOUNGSTER + db SPRITE_BIG_ONIX + db SPRITE_SUDOWOODO + db SPRITE_BIG_SNORLAX + db SPRITE_OLIVINE_RIVAL + db SPRITE_POKEFAN_M + db SPRITE_LASS + db SPRITE_BUENA + db SPRITE_SWIMMER_GIRL + db SPRITE_SAILOR + db SPRITE_POKEFAN_F + db SPRITE_SUPER_NERD + db SPRITE_TAUROS + db SPRITE_FRUIT_TREE + db SPRITE_ROCK +; 146a1 + +OlivineGroupSprites: ; 146a1 + db SPRITE_SUICUNE + db SPRITE_SILVER_TROPHY + db SPRITE_FAMICOM + db SPRITE_POKEDEX + db SPRITE_WILL + db SPRITE_KAREN + db SPRITE_NURSE + db SPRITE_OLD_LINK_RECEPTIONIST + db SPRITE_STANDING_YOUNGSTER + db SPRITE_BIG_ONIX + db SPRITE_SUDOWOODO + db SPRITE_BIG_SNORLAX + db SPRITE_OLIVINE_RIVAL + db SPRITE_POKEFAN_M + db SPRITE_LASS + db SPRITE_BUENA + db SPRITE_SWIMMER_GIRL + db SPRITE_SAILOR + db SPRITE_POKEFAN_F + db SPRITE_SUPER_NERD + db SPRITE_TAUROS + db SPRITE_FRUIT_TREE + db SPRITE_ROCK +; 146b8 + +LakeOfRageGroupSprites: ; 146b8 + db SPRITE_SUICUNE + db SPRITE_SILVER_TROPHY + db SPRITE_FAMICOM + db SPRITE_POKEDEX + db SPRITE_WILL + db SPRITE_KAREN + db SPRITE_NURSE + db SPRITE_OLD_LINK_RECEPTIONIST + db SPRITE_BIG_LAPRAS + db SPRITE_BIG_ONIX + db SPRITE_SUDOWOODO + db SPRITE_BIG_SNORLAX + db SPRITE_LANCE + db SPRITE_GRAMPS + db SPRITE_SUPER_NERD + db SPRITE_COOLTRAINER_F + db SPRITE_FISHER + db SPRITE_COOLTRAINER_M + db SPRITE_LASS + db SPRITE_YOUNGSTER + db SPRITE_GYARADOS + db SPRITE_FRUIT_TREE + db SPRITE_POKE_BALL +; 146cf + +MahoganyGroupSprites: ; 146cf + db SPRITE_SUICUNE + db SPRITE_SILVER_TROPHY + db SPRITE_FAMICOM + db SPRITE_POKEDEX + db SPRITE_WILL + db SPRITE_KAREN + db SPRITE_NURSE + db SPRITE_OLD_LINK_RECEPTIONIST + db SPRITE_BIG_LAPRAS + db SPRITE_BIG_ONIX + db SPRITE_SUDOWOODO + db SPRITE_BIG_SNORLAX + db SPRITE_GRAMPS + db SPRITE_YOUNGSTER + db SPRITE_LASS + db SPRITE_SUPER_NERD + db SPRITE_COOLTRAINER_M + db SPRITE_POKEFAN_M + db SPRITE_BLACK_BELT + db SPRITE_COOLTRAINER_F + db SPRITE_FISHER + db SPRITE_FRUIT_TREE + db SPRITE_POKE_BALL +; 146e6 + +BlackthornGroupSprites: ; 146e6 + db SPRITE_SUICUNE + db SPRITE_SILVER_TROPHY + db SPRITE_FAMICOM + db SPRITE_POKEDEX + db SPRITE_WILL + db SPRITE_KAREN + db SPRITE_NURSE + db SPRITE_OLD_LINK_RECEPTIONIST + db SPRITE_BIG_LAPRAS + db SPRITE_BIG_ONIX + db SPRITE_SUDOWOODO + db SPRITE_BIG_SNORLAX + db SPRITE_GRAMPS + db SPRITE_YOUNGSTER + db SPRITE_LASS + db SPRITE_SUPER_NERD + db SPRITE_COOLTRAINER_M + db SPRITE_POKEFAN_M + db SPRITE_BLACK_BELT + db SPRITE_COOLTRAINER_F + db SPRITE_FISHER + db SPRITE_FRUIT_TREE + db SPRITE_POKE_BALL +; 146fd + +DungeonsGroupSprites: ; 146fd + db SPRITE_SUICUNE + db SPRITE_SILVER_TROPHY + db SPRITE_FAMICOM + db SPRITE_POKEDEX + db SPRITE_WILL + db SPRITE_KAREN + db SPRITE_NURSE + db SPRITE_OLD_LINK_RECEPTIONIST + db SPRITE_GAMEBOY_KID + db SPRITE_BIG_ONIX + db SPRITE_SUDOWOODO + db SPRITE_BIG_SNORLAX + db SPRITE_LASS + db SPRITE_POKEFAN_F + db SPRITE_TEACHER + db SPRITE_YOUNGSTER + db SPRITE_GROWLITHE + db SPRITE_POKEFAN_M + db SPRITE_ROCKER + db SPRITE_FISHER + db SPRITE_SCIENTIST + db SPRITE_POKE_BALL + db SPRITE_BOULDER +; 14714 + +FastShipGroupSprites: ; 14714 + db SPRITE_SUICUNE + db SPRITE_SILVER_TROPHY + db SPRITE_FAMICOM + db SPRITE_POKEDEX + db SPRITE_WILL + db SPRITE_KAREN + db SPRITE_NURSE + db SPRITE_OLD_LINK_RECEPTIONIST + db SPRITE_BIG_LAPRAS + db SPRITE_BIG_ONIX + db SPRITE_SUDOWOODO + db SPRITE_BIG_SNORLAX + db SPRITE_SAILOR + db SPRITE_FISHING_GURU + db SPRITE_GENTLEMAN + db SPRITE_SUPER_NERD + db SPRITE_HO_OH + db SPRITE_TEACHER + db SPRITE_COOLTRAINER_F + db SPRITE_YOUNGSTER + db SPRITE_FAIRY + db SPRITE_POKE_BALL + db SPRITE_ROCK +; 1472b + +CableClubGroupSprites: ; 1472b + db SPRITE_OAK + db SPRITE_FISHER + db SPRITE_TEACHER + db SPRITE_TWIN + db SPRITE_POKEFAN_M + db SPRITE_GRAMPS + db SPRITE_FAIRY + db SPRITE_SILVER + db SPRITE_FISHING_GURU + db SPRITE_POKE_BALL + db SPRITE_POKEDEX +; 14736 diff --git a/data/maps/spawn_points.asm b/data/maps/spawn_points.asm new file mode 100644 index 000000000..49ba362d7 --- /dev/null +++ b/data/maps/spawn_points.asm @@ -0,0 +1,41 @@ +spawn: MACRO +; map, y, x + map \1 + db \2, \3 +ENDM + +SpawnPoints: ; 0x152ab +; entries correspond to SPAWN_* constants + + spawn KRISS_HOUSE_2F, 3, 3 + spawn VIRIDIAN_POKECENTER_1F, 5, 3 + + spawn PALLET_TOWN, 5, 6 + spawn VIRIDIAN_CITY, 23, 26 + spawn PEWTER_CITY, 13, 26 + spawn CERULEAN_CITY, 19, 22 + spawn ROUTE_10_NORTH, 11, 2 + spawn VERMILION_CITY, 9, 6 + spawn LAVENDER_TOWN, 5, 6 + spawn SAFFRON_CITY, 9, 30 + spawn CELADON_CITY, 29, 10 + spawn FUCHSIA_CITY, 19, 28 + spawn CINNABAR_ISLAND, 11, 12 + spawn ROUTE_23, 9, 6 + + spawn NEW_BARK_TOWN, 13, 6 + spawn CHERRYGROVE_CITY, 29, 4 + spawn VIOLET_CITY, 31, 26 + spawn ROUTE_32, 11, 74 + spawn AZALEA_TOWN, 15, 10 + spawn CIANWOOD_CITY, 23, 44 + spawn GOLDENROD_CITY, 15, 28 + spawn OLIVINE_CITY, 13, 22 + spawn ECRUTEAK_CITY, 23, 28 + spawn MAHOGANY_TOWN, 15, 14 + spawn LAKE_OF_RAGE, 21, 29 + spawn BLACKTHORN_CITY, 21, 30 + spawn SILVER_CAVE_OUTSIDE, 23, 20 + spawn FAST_SHIP_CABINS_SW_SSW_NW, 6, 2 + spawn N_A, -1, -1 +; 1531f diff --git a/data/mon_menu_icons.asm b/data/mon_menu_icons.asm deleted file mode 100644 index 360b206a2..000000000 --- a/data/mon_menu_icons.asm +++ /dev/null @@ -1,255 +0,0 @@ -; party menu icons - -MonMenuIcons: ; 8eac4 - db ICON_BULBASAUR ; BULBASAUR - db ICON_BULBASAUR ; IVYSAUR - db ICON_BULBASAUR ; VENUSAUR - db ICON_CHARMANDER ; CHARMANDER - db ICON_CHARMANDER ; CHARMELEON - db ICON_BIGMON ; CHARIZARD - db ICON_SQUIRTLE ; SQUIRTLE - db ICON_SQUIRTLE ; WARTORTLE - db ICON_SQUIRTLE ; BLASTOISE - db ICON_CATERPILLAR ; CATERPIE - db ICON_CATERPILLAR ; METAPOD - db ICON_MOTH ; BUTTERFREE - db ICON_CATERPILLAR ; WEEDLE - db ICON_CATERPILLAR ; KAKUNA - db ICON_BUG ; BEEDRILL - db ICON_BIRD ; PIDGEY - db ICON_BIRD ; PIDGEOTTO - db ICON_BIRD ; PIDGEOT - db ICON_FOX ; RATTATA - db ICON_FOX ; RATICATE - db ICON_BIRD ; SPEAROW - db ICON_BIRD ; FEAROW - db ICON_SERPENT ; EKANS - db ICON_SERPENT ; ARBOK - db ICON_PIKACHU ; PIKACHU - db ICON_PIKACHU ; RAICHU - db ICON_MONSTER ; SANDSHREW - db ICON_MONSTER ; SANDSLASH - db ICON_FOX ; NIDORAN_F - db ICON_FOX ; NIDORINA - db ICON_MONSTER ; NIDOQUEEN - db ICON_FOX ; NIDORAN_M - db ICON_FOX ; NIDORINO - db ICON_MONSTER ; NIDOKING - db ICON_CLEFAIRY ; CLEFAIRY - db ICON_CLEFAIRY ; CLEFABLE - db ICON_FOX ; VULPIX - db ICON_FOX ; NINETALES - db ICON_JIGGLYPUFF ; JIGGLYPUFF - db ICON_JIGGLYPUFF ; WIGGLYTUFF - db ICON_BAT ; ZUBAT - db ICON_BAT ; GOLBAT - db ICON_ODDISH ; ODDISH - db ICON_ODDISH ; GLOOM - db ICON_ODDISH ; VILEPLUME - db ICON_BUG ; PARAS - db ICON_BUG ; PARASECT - db ICON_CATERPILLAR ; VENONAT - db ICON_MOTH ; VENOMOTH - db ICON_DIGLETT ; DIGLETT - db ICON_DIGLETT ; DUGTRIO - db ICON_FOX ; MEOWTH - db ICON_FOX ; PERSIAN - db ICON_MONSTER ; PSYDUCK - db ICON_MONSTER ; GOLDUCK - db ICON_FIGHTER ; MANKEY - db ICON_FIGHTER ; PRIMEAPE - db ICON_FOX ; GROWLITHE - db ICON_FOX ; ARCANINE - db ICON_POLIWAG ; POLIWAG - db ICON_POLIWAG ; POLIWHIRL - db ICON_POLIWAG ; POLIWRATH - db ICON_HUMANSHAPE ; ABRA - db ICON_HUMANSHAPE ; KADABRA - db ICON_HUMANSHAPE ; ALAKAZAM - db ICON_FIGHTER ; MACHOP - db ICON_FIGHTER ; MACHOKE - db ICON_FIGHTER ; MACHAMP - db ICON_ODDISH ; BELLSPROUT - db ICON_ODDISH ; WEEPINBELL - db ICON_ODDISH ; VICTREEBEL - db ICON_JELLYFISH ; TENTACOOL - db ICON_JELLYFISH ; TENTACRUEL - db ICON_GEODUDE ; GEODUDE - db ICON_GEODUDE ; GRAVELER - db ICON_GEODUDE ; GOLEM - db ICON_EQUINE ; PONYTA - db ICON_EQUINE ; RAPIDASH - db ICON_SLOWPOKE ; SLOWPOKE - db ICON_SLOWPOKE ; SLOWBRO - db ICON_VOLTORB ; MAGNEMITE - db ICON_VOLTORB ; MAGNETON - db ICON_BIRD ; FARFETCH_D - db ICON_BIRD ; DODUO - db ICON_BIRD ; DODRIO - db ICON_LAPRAS ; SEEL - db ICON_LAPRAS ; DEWGONG - db ICON_BLOB ; GRIMER - db ICON_BLOB ; MUK - db ICON_SHELL ; SHELLDER - db ICON_SHELL ; CLOYSTER - db ICON_GHOST ; GASTLY - db ICON_GHOST ; HAUNTER - db ICON_GHOST ; GENGAR - db ICON_SERPENT ; ONIX - db ICON_HUMANSHAPE ; DROWZEE - db ICON_HUMANSHAPE ; HYPNO - db ICON_SHELL ; KRABBY - db ICON_SHELL ; KINGLER - db ICON_VOLTORB ; VOLTORB - db ICON_VOLTORB ; ELECTRODE - db ICON_ODDISH ; EXEGGCUTE - db ICON_ODDISH ; EXEGGUTOR - db ICON_MONSTER ; CUBONE - db ICON_MONSTER ; MAROWAK - db ICON_FIGHTER ; HITMONLEE - db ICON_FIGHTER ; HITMONCHAN - db ICON_MONSTER ; LICKITUNG - db ICON_BLOB ; KOFFING - db ICON_BLOB ; WEEZING - db ICON_EQUINE ; RHYHORN - db ICON_MONSTER ; RHYDON - db ICON_CLEFAIRY ; CHANSEY - db ICON_ODDISH ; TANGELA - db ICON_MONSTER ; KANGASKHAN - db ICON_FISH ; HORSEA - db ICON_FISH ; SEADRA - db ICON_FISH ; GOLDEEN - db ICON_FISH ; SEAKING - db ICON_STARYU ; STARYU - db ICON_STARYU ; STARMIE - db ICON_HUMANSHAPE ; MR__MIME - db ICON_BUG ; SCYTHER - db ICON_HUMANSHAPE ; JYNX - db ICON_HUMANSHAPE ; ELECTABUZZ - db ICON_HUMANSHAPE ; MAGMAR - db ICON_BUG ; PINSIR - db ICON_EQUINE ; TAUROS - db ICON_FISH ; MAGIKARP - db ICON_GYARADOS ; GYARADOS - db ICON_LAPRAS ; LAPRAS - db ICON_BLOB ; DITTO - db ICON_FOX ; EEVEE - db ICON_FOX ; VAPOREON - db ICON_FOX ; JOLTEON - db ICON_FOX ; FLAREON - db ICON_VOLTORB ; PORYGON - db ICON_SHELL ; OMANYTE - db ICON_SHELL ; OMASTAR - db ICON_SHELL ; KABUTO - db ICON_SHELL ; KABUTOPS - db ICON_BIRD ; AERODACTYL - db ICON_SNORLAX ; SNORLAX - db ICON_BIRD ; ARTICUNO - db ICON_BIRD ; ZAPDOS - db ICON_BIRD ; MOLTRES - db ICON_SERPENT ; DRATINI - db ICON_SERPENT ; DRAGONAIR - db ICON_BIGMON ; DRAGONITE - db ICON_HUMANSHAPE ; MEWTWO - db ICON_HUMANSHAPE ; MEW - db ICON_ODDISH ; CHIKORITA - db ICON_ODDISH ; BAYLEEF - db ICON_ODDISH ; MEGANIUM - db ICON_FOX ; CYNDAQUIL - db ICON_FOX ; QUILAVA - db ICON_FOX ; TYPHLOSION - db ICON_MONSTER ; TOTODILE - db ICON_MONSTER ; CROCONAW - db ICON_MONSTER ; FERALIGATR - db ICON_FOX ; SENTRET - db ICON_FOX ; FURRET - db ICON_BIRD ; HOOTHOOT - db ICON_BIRD ; NOCTOWL - db ICON_BUG ; LEDYBA - db ICON_BUG ; LEDIAN - db ICON_BUG ; SPINARAK - db ICON_BUG ; ARIADOS - db ICON_BAT ; CROBAT - db ICON_FISH ; CHINCHOU - db ICON_FISH ; LANTURN - db ICON_PIKACHU ; PICHU - db ICON_CLEFAIRY ; CLEFFA - db ICON_JIGGLYPUFF ; IGGLYBUFF - db ICON_CLEFAIRY ; TOGEPI - db ICON_BIRD ; TOGETIC - db ICON_BIRD ; NATU - db ICON_BIRD ; XATU - db ICON_FOX ; MAREEP - db ICON_MONSTER ; FLAAFFY - db ICON_MONSTER ; AMPHAROS - db ICON_ODDISH ; BELLOSSOM - db ICON_JIGGLYPUFF ; MARILL - db ICON_JIGGLYPUFF ; AZUMARILL - db ICON_SUDOWOODO ; SUDOWOODO - db ICON_POLIWAG ; POLITOED - db ICON_ODDISH ; HOPPIP - db ICON_ODDISH ; SKIPLOOM - db ICON_ODDISH ; JUMPLUFF - db ICON_MONSTER ; AIPOM - db ICON_ODDISH ; SUNKERN - db ICON_ODDISH ; SUNFLORA - db ICON_BUG ; YANMA - db ICON_MONSTER ; WOOPER - db ICON_MONSTER ; QUAGSIRE - db ICON_FOX ; ESPEON - db ICON_FOX ; UMBREON - db ICON_BIRD ; MURKROW - db ICON_SLOWPOKE ; SLOWKING - db ICON_GHOST ; MISDREAVUS - db ICON_UNOWN ; UNOWN - db ICON_GHOST ; WOBBUFFET - db ICON_EQUINE ; GIRAFARIG - db ICON_BUG ; PINECO - db ICON_BUG ; FORRETRESS - db ICON_SERPENT ; DUNSPARCE - db ICON_BUG ; GLIGAR - db ICON_SERPENT ; STEELIX - db ICON_MONSTER ; SNUBBULL - db ICON_MONSTER ; GRANBULL - db ICON_FISH ; QWILFISH - db ICON_BUG ; SCIZOR - db ICON_BUG ; SHUCKLE - db ICON_BUG ; HERACROSS - db ICON_FOX ; SNEASEL - db ICON_MONSTER ; TEDDIURSA - db ICON_MONSTER ; URSARING - db ICON_BLOB ; SLUGMA - db ICON_BLOB ; MAGCARGO - db ICON_EQUINE ; SWINUB - db ICON_EQUINE ; PILOSWINE - db ICON_SHELL ; CORSOLA - db ICON_FISH ; REMORAID - db ICON_FISH ; OCTILLERY - db ICON_MONSTER ; DELIBIRD - db ICON_FISH ; MANTINE - db ICON_BIRD ; SKARMORY - db ICON_FOX ; HOUNDOUR - db ICON_FOX ; HOUNDOOM - db ICON_BIGMON ; KINGDRA - db ICON_EQUINE ; PHANPY - db ICON_EQUINE ; DONPHAN - db ICON_VOLTORB ; PORYGON2 - db ICON_EQUINE ; STANTLER - db ICON_MONSTER ; SMEARGLE - db ICON_FIGHTER ; TYROGUE - db ICON_FIGHTER ; HITMONTOP - db ICON_HUMANSHAPE ; SMOOCHUM - db ICON_HUMANSHAPE ; ELEKID - db ICON_HUMANSHAPE ; MAGBY - db ICON_EQUINE ; MILTANK - db ICON_CLEFAIRY ; BLISSEY - db ICON_FOX ; RAIKOU - db ICON_FOX ; ENTEI - db ICON_FOX ; SUICUNE - db ICON_MONSTER ; LARVITAR - db ICON_MONSTER ; PUPITAR - db ICON_MONSTER ; TYRANITAR - db ICON_LUGIA ; LUGIA - db ICON_HO_OH ; HO_OH - db ICON_HUMANSHAPE ; CELEBI -; 8ebbf diff --git a/data/outdoor_sprites.asm b/data/outdoor_sprites.asm deleted file mode 100644 index 2b0cd89fe..000000000 --- a/data/outdoor_sprites.asm +++ /dev/null @@ -1,696 +0,0 @@ -; Valid sprite IDs for each map group. -; Maps with permission ROUTE or TOWN can only use these sprites. - -OutdoorSprites: ; 144b8 - dw OlivineGroupSprites - dw MahoganyGroupSprites - dw DungeonsGroupSprites - dw EcruteakGroupSprites - dw BlackthornGroupSprites - dw CinnabarGroupSprites - dw CeruleanGroupSprites - dw AzaleaGroupSprites - dw LakeOfRageGroupSprites - dw VioletGroupSprites - dw GoldenrodGroupSprites - dw VermilionGroupSprites - dw PalletGroupSprites - dw PewterGroupSprites - dw FastShipGroupSprites - dw IndigoGroupSprites - dw FuchsiaGroupSprites - dw LavenderGroupSprites - dw SilverGroupSprites - dw CableClubGroupSprites - dw CeladonGroupSprites - dw CianwoodGroupSprites - dw ViridianGroupSprites - dw NewBarkGroupSprites - dw SaffronGroupSprites - dw CherrygroveGroupSprites -; 144ec - - -PalletGroupSprites: ; 144ec - db SPRITE_SUICUNE - db SPRITE_SILVER_TROPHY - db SPRITE_FAMICOM - db SPRITE_POKEDEX - db SPRITE_WILL - db SPRITE_KAREN - db SPRITE_NURSE - db SPRITE_OLD_LINK_RECEPTIONIST - db SPRITE_BIG_LAPRAS - db SPRITE_BIG_ONIX - db SPRITE_SUDOWOODO - db SPRITE_BIG_SNORLAX - db SPRITE_TEACHER - db SPRITE_FISHER - db SPRITE_YOUNGSTER - db SPRITE_BLUE - db SPRITE_GRAMPS - db SPRITE_BUG_CATCHER - db SPRITE_COOLTRAINER_F - db SPRITE_SWIMMER_GIRL - db SPRITE_SWIMMER_GUY - db SPRITE_POKE_BALL - db SPRITE_FRUIT_TREE -; 14503 - -ViridianGroupSprites: ; 14503 - db SPRITE_SUICUNE - db SPRITE_SILVER_TROPHY - db SPRITE_FAMICOM - db SPRITE_POKEDEX - db SPRITE_WILL - db SPRITE_KAREN - db SPRITE_NURSE - db SPRITE_OLD_LINK_RECEPTIONIST - db SPRITE_BIG_LAPRAS - db SPRITE_BIG_ONIX - db SPRITE_SUDOWOODO - db SPRITE_BIG_SNORLAX - db SPRITE_TEACHER - db SPRITE_FISHER - db SPRITE_YOUNGSTER - db SPRITE_BLUE - db SPRITE_GRAMPS - db SPRITE_BUG_CATCHER - db SPRITE_COOLTRAINER_F - db SPRITE_SWIMMER_GIRL - db SPRITE_SWIMMER_GUY - db SPRITE_POKE_BALL - db SPRITE_FRUIT_TREE -; 1451a - -PewterGroupSprites: ; 1451a - db SPRITE_SUICUNE - db SPRITE_SILVER_TROPHY - db SPRITE_FAMICOM - db SPRITE_POKEDEX - db SPRITE_WILL - db SPRITE_KAREN - db SPRITE_NURSE - db SPRITE_OLD_LINK_RECEPTIONIST - db SPRITE_BIG_LAPRAS - db SPRITE_BIG_ONIX - db SPRITE_SUDOWOODO - db SPRITE_BIG_SNORLAX - db SPRITE_TEACHER - db SPRITE_FISHER - db SPRITE_YOUNGSTER - db SPRITE_BLUE - db SPRITE_GRAMPS - db SPRITE_BUG_CATCHER - db SPRITE_COOLTRAINER_F - db SPRITE_SWIMMER_GIRL - db SPRITE_SWIMMER_GUY - db SPRITE_POKE_BALL - db SPRITE_FRUIT_TREE -; 14531 - -CinnabarGroupSprites: ; 14531 - db SPRITE_SUICUNE - db SPRITE_SILVER_TROPHY - db SPRITE_FAMICOM - db SPRITE_POKEDEX - db SPRITE_WILL - db SPRITE_KAREN - db SPRITE_NURSE - db SPRITE_OLD_LINK_RECEPTIONIST - db SPRITE_BIG_LAPRAS - db SPRITE_BIG_ONIX - db SPRITE_SUDOWOODO - db SPRITE_BIG_SNORLAX - db SPRITE_TEACHER - db SPRITE_FISHER - db SPRITE_YOUNGSTER - db SPRITE_BLUE - db SPRITE_GRAMPS - db SPRITE_BUG_CATCHER - db SPRITE_COOLTRAINER_F - db SPRITE_SWIMMER_GIRL - db SPRITE_SWIMMER_GUY - db SPRITE_POKE_BALL - db SPRITE_FRUIT_TREE -; 14548 - -CeruleanGroupSprites: ; 14548 - db SPRITE_SUICUNE - db SPRITE_SILVER_TROPHY - db SPRITE_FAMICOM - db SPRITE_POKEDEX - db SPRITE_WILL - db SPRITE_KAREN - db SPRITE_NURSE - db SPRITE_OLD_LINK_RECEPTIONIST - db SPRITE_BIG_LAPRAS - db SPRITE_BIG_ONIX - db SPRITE_SUDOWOODO - db SPRITE_BIG_SNORLAX - db SPRITE_COOLTRAINER_M - db SPRITE_SUPER_NERD - db SPRITE_COOLTRAINER_F - db SPRITE_FISHER - db SPRITE_YOUNGSTER - db SPRITE_LASS - db SPRITE_POKEFAN_M - db SPRITE_ROCKET - db SPRITE_MISTY - db SPRITE_POKE_BALL - db SPRITE_SLOWPOKE -; 1455f - -SaffronGroupSprites: ; 1455f - db SPRITE_SUICUNE - db SPRITE_SILVER_TROPHY - db SPRITE_FAMICOM - db SPRITE_POKEDEX - db SPRITE_WILL - db SPRITE_KAREN - db SPRITE_NURSE - db SPRITE_OLD_LINK_RECEPTIONIST - db SPRITE_BIG_LAPRAS - db SPRITE_BIG_ONIX - db SPRITE_SUDOWOODO - db SPRITE_BIG_SNORLAX - db SPRITE_COOLTRAINER_M - db SPRITE_SUPER_NERD - db SPRITE_COOLTRAINER_F - db SPRITE_FISHER - db SPRITE_YOUNGSTER - db SPRITE_LASS - db SPRITE_POKEFAN_M - db SPRITE_ROCKET - db SPRITE_MISTY - db SPRITE_POKE_BALL - db SPRITE_SLOWPOKE -; 14576 - -CeladonGroupSprites: ; 14576 - db SPRITE_SUICUNE - db SPRITE_SILVER_TROPHY - db SPRITE_FAMICOM - db SPRITE_POKEDEX - db SPRITE_WILL - db SPRITE_KAREN - db SPRITE_NURSE - db SPRITE_OLD_LINK_RECEPTIONIST - db SPRITE_BIG_LAPRAS - db SPRITE_BIG_ONIX - db SPRITE_SUDOWOODO - db SPRITE_BIG_SNORLAX - db SPRITE_FISHER - db SPRITE_POLIWAG - db SPRITE_TEACHER - db SPRITE_GRAMPS - db SPRITE_YOUNGSTER - db SPRITE_LASS - db SPRITE_BIKER - db SPRITE_SILVER - db SPRITE_BLUE - db SPRITE_POKE_BALL - db SPRITE_FRUIT_TREE -; 1458d - -LavenderGroupSprites: ; 1458d - db SPRITE_SUICUNE - db SPRITE_SILVER_TROPHY - db SPRITE_FAMICOM - db SPRITE_POKEDEX - db SPRITE_WILL - db SPRITE_KAREN - db SPRITE_NURSE - db SPRITE_OLD_LINK_RECEPTIONIST - db SPRITE_BIG_LAPRAS - db SPRITE_BIG_ONIX - db SPRITE_SUDOWOODO - db SPRITE_BIG_SNORLAX - db SPRITE_POKEFAN_M - db SPRITE_MACHOP - db SPRITE_GRAMPS - db SPRITE_YOUNGSTER - db SPRITE_FISHER - db SPRITE_TEACHER - db SPRITE_SUPER_NERD - db SPRITE_BIG_SNORLAX - db SPRITE_BIKER - db SPRITE_POKE_BALL - db SPRITE_FRUIT_TREE -; 145a4 - -VermilionGroupSprites: ; 145a4 - db SPRITE_SUICUNE - db SPRITE_SILVER_TROPHY - db SPRITE_FAMICOM - db SPRITE_POKEDEX - db SPRITE_WILL - db SPRITE_KAREN - db SPRITE_NURSE - db SPRITE_OLD_LINK_RECEPTIONIST - db SPRITE_BIG_LAPRAS - db SPRITE_BIG_ONIX - db SPRITE_SUDOWOODO - db SPRITE_BIG_SNORLAX - db SPRITE_POKEFAN_M - db SPRITE_MACHOP - db SPRITE_GRAMPS - db SPRITE_YOUNGSTER - db SPRITE_FISHER - db SPRITE_TEACHER - db SPRITE_SUPER_NERD - db SPRITE_BIG_SNORLAX - db SPRITE_BIKER - db SPRITE_POKE_BALL - db SPRITE_FRUIT_TREE -; 145bb - -FuchsiaGroupSprites: ; 145bb - db SPRITE_SUICUNE - db SPRITE_SILVER_TROPHY - db SPRITE_FAMICOM - db SPRITE_POKEDEX - db SPRITE_WILL - db SPRITE_KAREN - db SPRITE_NURSE - db SPRITE_OLD_LINK_RECEPTIONIST - db SPRITE_BIG_LAPRAS - db SPRITE_BIG_ONIX - db SPRITE_SUDOWOODO - db SPRITE_BIG_SNORLAX - db SPRITE_POKEFAN_M - db SPRITE_MACHOP - db SPRITE_GRAMPS - db SPRITE_YOUNGSTER - db SPRITE_FISHER - db SPRITE_TEACHER - db SPRITE_SUPER_NERD - db SPRITE_BIG_SNORLAX - db SPRITE_BIKER - db SPRITE_POKE_BALL - db SPRITE_FRUIT_TREE -; 145d2 - -IndigoGroupSprites: ; 145d2 - db SPRITE_SUICUNE - db SPRITE_SILVER_TROPHY - db SPRITE_FAMICOM - db SPRITE_POKEDEX - db SPRITE_WILL - db SPRITE_KAREN - db SPRITE_NURSE - db SPRITE_OLD_LINK_RECEPTIONIST - db SPRITE_BIG_LAPRAS - db SPRITE_BIG_ONIX - db SPRITE_SUDOWOODO - db SPRITE_BIG_SNORLAX - db SPRITE_POKEFAN_M - db SPRITE_BUENA - db SPRITE_GRAMPS - db SPRITE_YOUNGSTER - db SPRITE_FISHER - db SPRITE_TEACHER - db SPRITE_SUPER_NERD - db SPRITE_MACHOP - db SPRITE_BIKER - db SPRITE_POKE_BALL - db SPRITE_BOULDER -; 145e9 - -NewBarkGroupSprites: ; 145e9 - db SPRITE_SUICUNE - db SPRITE_SILVER_TROPHY - db SPRITE_FAMICOM - db SPRITE_POKEDEX - db SPRITE_WILL - db SPRITE_KAREN - db SPRITE_NURSE - db SPRITE_OLD_LINK_RECEPTIONIST - db SPRITE_BIG_LAPRAS - db SPRITE_BIG_ONIX - db SPRITE_SUDOWOODO - db SPRITE_BIG_SNORLAX - db SPRITE_SILVER - db SPRITE_TEACHER - db SPRITE_FISHER - db SPRITE_COOLTRAINER_M - db SPRITE_YOUNGSTER - db SPRITE_MONSTER - db SPRITE_GRAMPS - db SPRITE_BUG_CATCHER - db SPRITE_COOLTRAINER_F - db SPRITE_POKE_BALL - db SPRITE_FRUIT_TREE -; 14600 - -CherrygroveGroupSprites: ; 14600 - db SPRITE_SUICUNE - db SPRITE_SILVER_TROPHY - db SPRITE_FAMICOM - db SPRITE_POKEDEX - db SPRITE_WILL - db SPRITE_KAREN - db SPRITE_NURSE - db SPRITE_OLD_LINK_RECEPTIONIST - db SPRITE_BIG_LAPRAS - db SPRITE_BIG_ONIX - db SPRITE_SUDOWOODO - db SPRITE_BIG_SNORLAX - db SPRITE_SILVER - db SPRITE_TEACHER - db SPRITE_FISHER - db SPRITE_COOLTRAINER_M - db SPRITE_YOUNGSTER - db SPRITE_MONSTER - db SPRITE_GRAMPS - db SPRITE_BUG_CATCHER - db SPRITE_COOLTRAINER_F - db SPRITE_POKE_BALL - db SPRITE_FRUIT_TREE -; 14617 - -SilverGroupSprites: ; 14617 - db SPRITE_SUICUNE - db SPRITE_SILVER_TROPHY - db SPRITE_FAMICOM - db SPRITE_POKEDEX - db SPRITE_WILL - db SPRITE_KAREN - db SPRITE_NURSE - db SPRITE_OLD_LINK_RECEPTIONIST - db SPRITE_BIG_LAPRAS - db SPRITE_BIG_ONIX - db SPRITE_SUDOWOODO - db SPRITE_BIG_SNORLAX - db SPRITE_SILVER - db SPRITE_TEACHER - db SPRITE_FISHER - db SPRITE_COOLTRAINER_M - db SPRITE_YOUNGSTER - db SPRITE_MONSTER - db SPRITE_GRAMPS - db SPRITE_BUG_CATCHER - db SPRITE_COOLTRAINER_F - db SPRITE_POKE_BALL - db SPRITE_FRUIT_TREE -; 1462e - -VioletGroupSprites: ; 1462e - db SPRITE_SUICUNE - db SPRITE_SILVER_TROPHY - db SPRITE_FAMICOM - db SPRITE_POKEDEX - db SPRITE_WILL - db SPRITE_KAREN - db SPRITE_NURSE - db SPRITE_OLD_LINK_RECEPTIONIST - db SPRITE_BIG_LAPRAS - db SPRITE_BIG_ONIX - db SPRITE_SUDOWOODO - db SPRITE_BIG_SNORLAX - db SPRITE_FISHER - db SPRITE_LASS - db SPRITE_OFFICER - db SPRITE_GRAMPS - db SPRITE_YOUNGSTER - db SPRITE_COOLTRAINER_M - db SPRITE_BUG_CATCHER - db SPRITE_SUPER_NERD - db SPRITE_WEIRD_TREE - db SPRITE_POKE_BALL - db SPRITE_FRUIT_TREE -; 14645 - -EcruteakGroupSprites: ; 14645 - db SPRITE_SUICUNE - db SPRITE_SILVER_TROPHY - db SPRITE_FAMICOM - db SPRITE_POKEDEX - db SPRITE_WILL - db SPRITE_KAREN - db SPRITE_NURSE - db SPRITE_OLD_LINK_RECEPTIONIST - db SPRITE_BIG_LAPRAS - db SPRITE_BIG_ONIX - db SPRITE_SUDOWOODO - db SPRITE_BIG_SNORLAX - db SPRITE_FISHER - db SPRITE_LASS - db SPRITE_OFFICER - db SPRITE_GRAMPS - db SPRITE_YOUNGSTER - db SPRITE_COOLTRAINER_M - db SPRITE_BUG_CATCHER - db SPRITE_SUPER_NERD - db SPRITE_WEIRD_TREE - db SPRITE_POKE_BALL - db SPRITE_FRUIT_TREE -; 1465c - -AzaleaGroupSprites: ; 1465c - db SPRITE_SUICUNE - db SPRITE_SILVER_TROPHY - db SPRITE_FAMICOM - db SPRITE_POKEDEX - db SPRITE_WILL - db SPRITE_KAREN - db SPRITE_NURSE - db SPRITE_OLD_LINK_RECEPTIONIST - db SPRITE_KURT_OUTSIDE - db SPRITE_BIG_ONIX - db SPRITE_SUDOWOODO - db SPRITE_BIG_SNORLAX - db SPRITE_GRAMPS - db SPRITE_YOUNGSTER - db SPRITE_OFFICER - db SPRITE_POKEFAN_M - db SPRITE_BLACK_BELT - db SPRITE_TEACHER - db SPRITE_AZALEA_ROCKET - db SPRITE_LASS - db SPRITE_SILVER - db SPRITE_FRUIT_TREE - db SPRITE_SLOWPOKE -; 14673 - -GoldenrodGroupSprites: ; 14673 - db SPRITE_SUICUNE - db SPRITE_SILVER_TROPHY - db SPRITE_POKE_BALL - db SPRITE_POKEDEX - db SPRITE_WILL - db SPRITE_KAREN - db SPRITE_NURSE - db SPRITE_OLD_LINK_RECEPTIONIST - db SPRITE_BIG_LAPRAS - db SPRITE_BIG_ONIX - db SPRITE_SUDOWOODO - db SPRITE_BIG_SNORLAX - db SPRITE_GRAMPS - db SPRITE_YOUNGSTER - db SPRITE_OFFICER - db SPRITE_POKEFAN_M - db SPRITE_DAY_CARE_MON_1 - db SPRITE_COOLTRAINER_F - db SPRITE_ROCKET - db SPRITE_LASS - db SPRITE_DAY_CARE_MON_2 - db SPRITE_FRUIT_TREE - db SPRITE_SLOWPOKE -; 1468a - -CianwoodGroupSprites: ; 1468a - db SPRITE_SUICUNE - db SPRITE_SILVER_TROPHY - db SPRITE_FAMICOM - db SPRITE_POKEDEX - db SPRITE_WILL - db SPRITE_KAREN - db SPRITE_NURSE - db SPRITE_OLD_LINK_RECEPTIONIST - db SPRITE_STANDING_YOUNGSTER - db SPRITE_BIG_ONIX - db SPRITE_SUDOWOODO - db SPRITE_BIG_SNORLAX - db SPRITE_OLIVINE_RIVAL - db SPRITE_POKEFAN_M - db SPRITE_LASS - db SPRITE_BUENA - db SPRITE_SWIMMER_GIRL - db SPRITE_SAILOR - db SPRITE_POKEFAN_F - db SPRITE_SUPER_NERD - db SPRITE_TAUROS - db SPRITE_FRUIT_TREE - db SPRITE_ROCK -; 146a1 - -OlivineGroupSprites: ; 146a1 - db SPRITE_SUICUNE - db SPRITE_SILVER_TROPHY - db SPRITE_FAMICOM - db SPRITE_POKEDEX - db SPRITE_WILL - db SPRITE_KAREN - db SPRITE_NURSE - db SPRITE_OLD_LINK_RECEPTIONIST - db SPRITE_STANDING_YOUNGSTER - db SPRITE_BIG_ONIX - db SPRITE_SUDOWOODO - db SPRITE_BIG_SNORLAX - db SPRITE_OLIVINE_RIVAL - db SPRITE_POKEFAN_M - db SPRITE_LASS - db SPRITE_BUENA - db SPRITE_SWIMMER_GIRL - db SPRITE_SAILOR - db SPRITE_POKEFAN_F - db SPRITE_SUPER_NERD - db SPRITE_TAUROS - db SPRITE_FRUIT_TREE - db SPRITE_ROCK -; 146b8 - -LakeOfRageGroupSprites: ; 146b8 - db SPRITE_SUICUNE - db SPRITE_SILVER_TROPHY - db SPRITE_FAMICOM - db SPRITE_POKEDEX - db SPRITE_WILL - db SPRITE_KAREN - db SPRITE_NURSE - db SPRITE_OLD_LINK_RECEPTIONIST - db SPRITE_BIG_LAPRAS - db SPRITE_BIG_ONIX - db SPRITE_SUDOWOODO - db SPRITE_BIG_SNORLAX - db SPRITE_LANCE - db SPRITE_GRAMPS - db SPRITE_SUPER_NERD - db SPRITE_COOLTRAINER_F - db SPRITE_FISHER - db SPRITE_COOLTRAINER_M - db SPRITE_LASS - db SPRITE_YOUNGSTER - db SPRITE_GYARADOS - db SPRITE_FRUIT_TREE - db SPRITE_POKE_BALL -; 146cf - -MahoganyGroupSprites: ; 146cf - db SPRITE_SUICUNE - db SPRITE_SILVER_TROPHY - db SPRITE_FAMICOM - db SPRITE_POKEDEX - db SPRITE_WILL - db SPRITE_KAREN - db SPRITE_NURSE - db SPRITE_OLD_LINK_RECEPTIONIST - db SPRITE_BIG_LAPRAS - db SPRITE_BIG_ONIX - db SPRITE_SUDOWOODO - db SPRITE_BIG_SNORLAX - db SPRITE_GRAMPS - db SPRITE_YOUNGSTER - db SPRITE_LASS - db SPRITE_SUPER_NERD - db SPRITE_COOLTRAINER_M - db SPRITE_POKEFAN_M - db SPRITE_BLACK_BELT - db SPRITE_COOLTRAINER_F - db SPRITE_FISHER - db SPRITE_FRUIT_TREE - db SPRITE_POKE_BALL -; 146e6 - -BlackthornGroupSprites: ; 146e6 - db SPRITE_SUICUNE - db SPRITE_SILVER_TROPHY - db SPRITE_FAMICOM - db SPRITE_POKEDEX - db SPRITE_WILL - db SPRITE_KAREN - db SPRITE_NURSE - db SPRITE_OLD_LINK_RECEPTIONIST - db SPRITE_BIG_LAPRAS - db SPRITE_BIG_ONIX - db SPRITE_SUDOWOODO - db SPRITE_BIG_SNORLAX - db SPRITE_GRAMPS - db SPRITE_YOUNGSTER - db SPRITE_LASS - db SPRITE_SUPER_NERD - db SPRITE_COOLTRAINER_M - db SPRITE_POKEFAN_M - db SPRITE_BLACK_BELT - db SPRITE_COOLTRAINER_F - db SPRITE_FISHER - db SPRITE_FRUIT_TREE - db SPRITE_POKE_BALL -; 146fd - -DungeonsGroupSprites: ; 146fd - db SPRITE_SUICUNE - db SPRITE_SILVER_TROPHY - db SPRITE_FAMICOM - db SPRITE_POKEDEX - db SPRITE_WILL - db SPRITE_KAREN - db SPRITE_NURSE - db SPRITE_OLD_LINK_RECEPTIONIST - db SPRITE_GAMEBOY_KID - db SPRITE_BIG_ONIX - db SPRITE_SUDOWOODO - db SPRITE_BIG_SNORLAX - db SPRITE_LASS - db SPRITE_POKEFAN_F - db SPRITE_TEACHER - db SPRITE_YOUNGSTER - db SPRITE_GROWLITHE - db SPRITE_POKEFAN_M - db SPRITE_ROCKER - db SPRITE_FISHER - db SPRITE_SCIENTIST - db SPRITE_POKE_BALL - db SPRITE_BOULDER -; 14714 - -FastShipGroupSprites: ; 14714 - db SPRITE_SUICUNE - db SPRITE_SILVER_TROPHY - db SPRITE_FAMICOM - db SPRITE_POKEDEX - db SPRITE_WILL - db SPRITE_KAREN - db SPRITE_NURSE - db SPRITE_OLD_LINK_RECEPTIONIST - db SPRITE_BIG_LAPRAS - db SPRITE_BIG_ONIX - db SPRITE_SUDOWOODO - db SPRITE_BIG_SNORLAX - db SPRITE_SAILOR - db SPRITE_FISHING_GURU - db SPRITE_GENTLEMAN - db SPRITE_SUPER_NERD - db SPRITE_HO_OH - db SPRITE_TEACHER - db SPRITE_COOLTRAINER_F - db SPRITE_YOUNGSTER - db SPRITE_FAIRY - db SPRITE_POKE_BALL - db SPRITE_ROCK -; 1472b - -CableClubGroupSprites: ; 1472b - db SPRITE_OAK - db SPRITE_FISHER - db SPRITE_TEACHER - db SPRITE_TWIN - db SPRITE_POKEFAN_M - db SPRITE_GRAMPS - db SPRITE_FAIRY - db SPRITE_SILVER - db SPRITE_FISHING_GURU - db SPRITE_POKE_BALL - db SPRITE_POKEDEX -; 14736 diff --git a/data/pokedex/entries.asm b/data/pokedex/entries.asm deleted file mode 100644 index a12cdd3f4..000000000 --- a/data/pokedex/entries.asm +++ /dev/null @@ -1,272 +0,0 @@ -INCLUDE "includes.asm" - - -SECTION "Pokedex Entries 001-064", ROMX - -PokedexEntries1:: -BulbasaurPokedexEntry:: INCLUDE "data/pokedex/entries/bulbasaur.asm" -IvysaurPokedexEntry:: INCLUDE "data/pokedex/entries/ivysaur.asm" -VenusaurPokedexEntry:: INCLUDE "data/pokedex/entries/venusaur.asm" -CharmanderPokedexEntry:: INCLUDE "data/pokedex/entries/charmander.asm" -CharmeleonPokedexEntry:: INCLUDE "data/pokedex/entries/charmeleon.asm" -CharizardPokedexEntry:: INCLUDE "data/pokedex/entries/charizard.asm" -SquirtlePokedexEntry:: INCLUDE "data/pokedex/entries/squirtle.asm" -WartortlePokedexEntry:: INCLUDE "data/pokedex/entries/wartortle.asm" -BlastoisePokedexEntry:: INCLUDE "data/pokedex/entries/blastoise.asm" -CaterpiePokedexEntry:: INCLUDE "data/pokedex/entries/caterpie.asm" -MetapodPokedexEntry:: INCLUDE "data/pokedex/entries/metapod.asm" -ButterfreePokedexEntry:: INCLUDE "data/pokedex/entries/butterfree.asm" -WeedlePokedexEntry:: INCLUDE "data/pokedex/entries/weedle.asm" -KakunaPokedexEntry:: INCLUDE "data/pokedex/entries/kakuna.asm" -BeedrillPokedexEntry:: INCLUDE "data/pokedex/entries/beedrill.asm" -PidgeyPokedexEntry:: INCLUDE "data/pokedex/entries/pidgey.asm" -PidgeottoPokedexEntry:: INCLUDE "data/pokedex/entries/pidgeotto.asm" -PidgeotPokedexEntry:: INCLUDE "data/pokedex/entries/pidgeot.asm" -RattataPokedexEntry:: INCLUDE "data/pokedex/entries/rattata.asm" -RaticatePokedexEntry:: INCLUDE "data/pokedex/entries/raticate.asm" -SpearowPokedexEntry:: INCLUDE "data/pokedex/entries/spearow.asm" -FearowPokedexEntry:: INCLUDE "data/pokedex/entries/fearow.asm" -EkansPokedexEntry:: INCLUDE "data/pokedex/entries/ekans.asm" -ArbokPokedexEntry:: INCLUDE "data/pokedex/entries/arbok.asm" -PikachuPokedexEntry:: INCLUDE "data/pokedex/entries/pikachu.asm" -RaichuPokedexEntry:: INCLUDE "data/pokedex/entries/raichu.asm" -SandshrewPokedexEntry:: INCLUDE "data/pokedex/entries/sandshrew.asm" -SandslashPokedexEntry:: INCLUDE "data/pokedex/entries/sandslash.asm" -NidoranFPokedexEntry:: INCLUDE "data/pokedex/entries/nidoran_f.asm" -NidorinaPokedexEntry:: INCLUDE "data/pokedex/entries/nidorina.asm" -NidoqueenPokedexEntry:: INCLUDE "data/pokedex/entries/nidoqueen.asm" -NidoranMPokedexEntry:: INCLUDE "data/pokedex/entries/nidoran_m.asm" -NidorinoPokedexEntry:: INCLUDE "data/pokedex/entries/nidorino.asm" -NidokingPokedexEntry:: INCLUDE "data/pokedex/entries/nidoking.asm" -ClefairyPokedexEntry:: INCLUDE "data/pokedex/entries/clefairy.asm" -ClefablePokedexEntry:: INCLUDE "data/pokedex/entries/clefable.asm" -VulpixPokedexEntry:: INCLUDE "data/pokedex/entries/vulpix.asm" -NinetalesPokedexEntry:: INCLUDE "data/pokedex/entries/ninetales.asm" -JigglypuffPokedexEntry:: INCLUDE "data/pokedex/entries/jigglypuff.asm" -WigglytuffPokedexEntry:: INCLUDE "data/pokedex/entries/wigglytuff.asm" -ZubatPokedexEntry:: INCLUDE "data/pokedex/entries/zubat.asm" -GolbatPokedexEntry:: INCLUDE "data/pokedex/entries/golbat.asm" -OddishPokedexEntry:: INCLUDE "data/pokedex/entries/oddish.asm" -GloomPokedexEntry:: INCLUDE "data/pokedex/entries/gloom.asm" -VileplumePokedexEntry:: INCLUDE "data/pokedex/entries/vileplume.asm" -ParasPokedexEntry:: INCLUDE "data/pokedex/entries/paras.asm" -ParasectPokedexEntry:: INCLUDE "data/pokedex/entries/parasect.asm" -VenonatPokedexEntry:: INCLUDE "data/pokedex/entries/venonat.asm" -VenomothPokedexEntry:: INCLUDE "data/pokedex/entries/venomoth.asm" -DiglettPokedexEntry:: INCLUDE "data/pokedex/entries/diglett.asm" -DugtrioPokedexEntry:: INCLUDE "data/pokedex/entries/dugtrio.asm" -MeowthPokedexEntry:: INCLUDE "data/pokedex/entries/meowth.asm" -PersianPokedexEntry:: INCLUDE "data/pokedex/entries/persian.asm" -PsyduckPokedexEntry:: INCLUDE "data/pokedex/entries/psyduck.asm" -GolduckPokedexEntry:: INCLUDE "data/pokedex/entries/golduck.asm" -MankeyPokedexEntry:: INCLUDE "data/pokedex/entries/mankey.asm" -PrimeapePokedexEntry:: INCLUDE "data/pokedex/entries/primeape.asm" -GrowlithePokedexEntry:: INCLUDE "data/pokedex/entries/growlithe.asm" -ArcaninePokedexEntry:: INCLUDE "data/pokedex/entries/arcanine.asm" -PoliwagPokedexEntry:: INCLUDE "data/pokedex/entries/poliwag.asm" -PoliwhirlPokedexEntry:: INCLUDE "data/pokedex/entries/poliwhirl.asm" -PoliwrathPokedexEntry:: INCLUDE "data/pokedex/entries/poliwrath.asm" -AbraPokedexEntry:: INCLUDE "data/pokedex/entries/abra.asm" -KadabraPokedexEntry:: INCLUDE "data/pokedex/entries/kadabra.asm" - - -SECTION "Pokedex Entries 065-128", ROMX - -PokedexEntries2:: -AlakazamPokedexEntry:: INCLUDE "data/pokedex/entries/alakazam.asm" -MachopPokedexEntry:: INCLUDE "data/pokedex/entries/machop.asm" -MachokePokedexEntry:: INCLUDE "data/pokedex/entries/machoke.asm" -MachampPokedexEntry:: INCLUDE "data/pokedex/entries/machamp.asm" -BellsproutPokedexEntry:: INCLUDE "data/pokedex/entries/bellsprout.asm" -WeepinbellPokedexEntry:: INCLUDE "data/pokedex/entries/weepinbell.asm" -VictreebelPokedexEntry:: INCLUDE "data/pokedex/entries/victreebel.asm" -TentacoolPokedexEntry:: INCLUDE "data/pokedex/entries/tentacool.asm" -TentacruelPokedexEntry:: INCLUDE "data/pokedex/entries/tentacruel.asm" -GeodudePokedexEntry:: INCLUDE "data/pokedex/entries/geodude.asm" -GravelerPokedexEntry:: INCLUDE "data/pokedex/entries/graveler.asm" -GolemPokedexEntry:: INCLUDE "data/pokedex/entries/golem.asm" -PonytaPokedexEntry:: INCLUDE "data/pokedex/entries/ponyta.asm" -RapidashPokedexEntry:: INCLUDE "data/pokedex/entries/rapidash.asm" -SlowpokePokedexEntry:: INCLUDE "data/pokedex/entries/slowpoke.asm" -SlowbroPokedexEntry:: INCLUDE "data/pokedex/entries/slowbro.asm" -MagnemitePokedexEntry:: INCLUDE "data/pokedex/entries/magnemite.asm" -MagnetonPokedexEntry:: INCLUDE "data/pokedex/entries/magneton.asm" -FarfetchDPokedexEntry:: INCLUDE "data/pokedex/entries/farfetch_d.asm" -DoduoPokedexEntry:: INCLUDE "data/pokedex/entries/doduo.asm" -DodrioPokedexEntry:: INCLUDE "data/pokedex/entries/dodrio.asm" -SeelPokedexEntry:: INCLUDE "data/pokedex/entries/seel.asm" -DewgongPokedexEntry:: INCLUDE "data/pokedex/entries/dewgong.asm" -GrimerPokedexEntry:: INCLUDE "data/pokedex/entries/grimer.asm" -MukPokedexEntry:: INCLUDE "data/pokedex/entries/muk.asm" -ShellderPokedexEntry:: INCLUDE "data/pokedex/entries/shellder.asm" -CloysterPokedexEntry:: INCLUDE "data/pokedex/entries/cloyster.asm" -GastlyPokedexEntry:: INCLUDE "data/pokedex/entries/gastly.asm" -HaunterPokedexEntry:: INCLUDE "data/pokedex/entries/haunter.asm" -GengarPokedexEntry:: INCLUDE "data/pokedex/entries/gengar.asm" -OnixPokedexEntry:: INCLUDE "data/pokedex/entries/onix.asm" -DrowzeePokedexEntry:: INCLUDE "data/pokedex/entries/drowzee.asm" -HypnoPokedexEntry:: INCLUDE "data/pokedex/entries/hypno.asm" -KrabbyPokedexEntry:: INCLUDE "data/pokedex/entries/krabby.asm" -KinglerPokedexEntry:: INCLUDE "data/pokedex/entries/kingler.asm" -VoltorbPokedexEntry:: INCLUDE "data/pokedex/entries/voltorb.asm" -ElectrodePokedexEntry:: INCLUDE "data/pokedex/entries/electrode.asm" -ExeggcutePokedexEntry:: INCLUDE "data/pokedex/entries/exeggcute.asm" -ExeggutorPokedexEntry:: INCLUDE "data/pokedex/entries/exeggutor.asm" -CubonePokedexEntry:: INCLUDE "data/pokedex/entries/cubone.asm" -MarowakPokedexEntry:: INCLUDE "data/pokedex/entries/marowak.asm" -HitmonleePokedexEntry:: INCLUDE "data/pokedex/entries/hitmonlee.asm" -HitmonchanPokedexEntry:: INCLUDE "data/pokedex/entries/hitmonchan.asm" -LickitungPokedexEntry:: INCLUDE "data/pokedex/entries/lickitung.asm" -KoffingPokedexEntry:: INCLUDE "data/pokedex/entries/koffing.asm" -WeezingPokedexEntry:: INCLUDE "data/pokedex/entries/weezing.asm" -RhyhornPokedexEntry:: INCLUDE "data/pokedex/entries/rhyhorn.asm" -RhydonPokedexEntry:: INCLUDE "data/pokedex/entries/rhydon.asm" -ChanseyPokedexEntry:: INCLUDE "data/pokedex/entries/chansey.asm" -TangelaPokedexEntry:: INCLUDE "data/pokedex/entries/tangela.asm" -KangaskhanPokedexEntry:: INCLUDE "data/pokedex/entries/kangaskhan.asm" -HorseaPokedexEntry:: INCLUDE "data/pokedex/entries/horsea.asm" -SeadraPokedexEntry:: INCLUDE "data/pokedex/entries/seadra.asm" -GoldeenPokedexEntry:: INCLUDE "data/pokedex/entries/goldeen.asm" -SeakingPokedexEntry:: INCLUDE "data/pokedex/entries/seaking.asm" -StaryuPokedexEntry:: INCLUDE "data/pokedex/entries/staryu.asm" -StarmiePokedexEntry:: INCLUDE "data/pokedex/entries/starmie.asm" -MrMimePokedexEntry:: INCLUDE "data/pokedex/entries/mr__mime.asm" -ScytherPokedexEntry:: INCLUDE "data/pokedex/entries/scyther.asm" -JynxPokedexEntry:: INCLUDE "data/pokedex/entries/jynx.asm" -ElectabuzzPokedexEntry:: INCLUDE "data/pokedex/entries/electabuzz.asm" -MagmarPokedexEntry:: INCLUDE "data/pokedex/entries/magmar.asm" -PinsirPokedexEntry:: INCLUDE "data/pokedex/entries/pinsir.asm" -TaurosPokedexEntry:: INCLUDE "data/pokedex/entries/tauros.asm" - - -SECTION "Pokedex Entries 129-192", ROMX - -PokedexEntries3:: -MagikarpPokedexEntry:: INCLUDE "data/pokedex/entries/magikarp.asm" -GyaradosPokedexEntry:: INCLUDE "data/pokedex/entries/gyarados.asm" -LaprasPokedexEntry:: INCLUDE "data/pokedex/entries/lapras.asm" -DittoPokedexEntry:: INCLUDE "data/pokedex/entries/ditto.asm" -EeveePokedexEntry:: INCLUDE "data/pokedex/entries/eevee.asm" -VaporeonPokedexEntry:: INCLUDE "data/pokedex/entries/vaporeon.asm" -JolteonPokedexEntry:: INCLUDE "data/pokedex/entries/jolteon.asm" -FlareonPokedexEntry:: INCLUDE "data/pokedex/entries/flareon.asm" -PorygonPokedexEntry:: INCLUDE "data/pokedex/entries/porygon.asm" -OmanytePokedexEntry:: INCLUDE "data/pokedex/entries/omanyte.asm" -OmastarPokedexEntry:: INCLUDE "data/pokedex/entries/omastar.asm" -KabutoPokedexEntry:: INCLUDE "data/pokedex/entries/kabuto.asm" -KabutopsPokedexEntry:: INCLUDE "data/pokedex/entries/kabutops.asm" -AerodactylPokedexEntry:: INCLUDE "data/pokedex/entries/aerodactyl.asm" -SnorlaxPokedexEntry:: INCLUDE "data/pokedex/entries/snorlax.asm" -ArticunoPokedexEntry:: INCLUDE "data/pokedex/entries/articuno.asm" -ZapdosPokedexEntry:: INCLUDE "data/pokedex/entries/zapdos.asm" -MoltresPokedexEntry:: INCLUDE "data/pokedex/entries/moltres.asm" -DratiniPokedexEntry:: INCLUDE "data/pokedex/entries/dratini.asm" -DragonairPokedexEntry:: INCLUDE "data/pokedex/entries/dragonair.asm" -DragonitePokedexEntry:: INCLUDE "data/pokedex/entries/dragonite.asm" -MewtwoPokedexEntry:: INCLUDE "data/pokedex/entries/mewtwo.asm" -MewPokedexEntry:: INCLUDE "data/pokedex/entries/mew.asm" -ChikoritaPokedexEntry:: INCLUDE "data/pokedex/entries/chikorita.asm" -BayleefPokedexEntry:: INCLUDE "data/pokedex/entries/bayleef.asm" -MeganiumPokedexEntry:: INCLUDE "data/pokedex/entries/meganium.asm" -CyndaquilPokedexEntry:: INCLUDE "data/pokedex/entries/cyndaquil.asm" -QuilavaPokedexEntry:: INCLUDE "data/pokedex/entries/quilava.asm" -TyphlosionPokedexEntry:: INCLUDE "data/pokedex/entries/typhlosion.asm" -TotodilePokedexEntry:: INCLUDE "data/pokedex/entries/totodile.asm" -CroconawPokedexEntry:: INCLUDE "data/pokedex/entries/croconaw.asm" -FeraligatrPokedexEntry:: INCLUDE "data/pokedex/entries/feraligatr.asm" -SentretPokedexEntry:: INCLUDE "data/pokedex/entries/sentret.asm" -FurretPokedexEntry:: INCLUDE "data/pokedex/entries/furret.asm" -HoothootPokedexEntry:: INCLUDE "data/pokedex/entries/hoothoot.asm" -NoctowlPokedexEntry:: INCLUDE "data/pokedex/entries/noctowl.asm" -LedybaPokedexEntry:: INCLUDE "data/pokedex/entries/ledyba.asm" -LedianPokedexEntry:: INCLUDE "data/pokedex/entries/ledian.asm" -SpinarakPokedexEntry:: INCLUDE "data/pokedex/entries/spinarak.asm" -AriadosPokedexEntry:: INCLUDE "data/pokedex/entries/ariados.asm" -CrobatPokedexEntry:: INCLUDE "data/pokedex/entries/crobat.asm" -ChinchouPokedexEntry:: INCLUDE "data/pokedex/entries/chinchou.asm" -LanturnPokedexEntry:: INCLUDE "data/pokedex/entries/lanturn.asm" -PichuPokedexEntry:: INCLUDE "data/pokedex/entries/pichu.asm" -CleffaPokedexEntry:: INCLUDE "data/pokedex/entries/cleffa.asm" -IgglybuffPokedexEntry:: INCLUDE "data/pokedex/entries/igglybuff.asm" -TogepiPokedexEntry:: INCLUDE "data/pokedex/entries/togepi.asm" -TogeticPokedexEntry:: INCLUDE "data/pokedex/entries/togetic.asm" -NatuPokedexEntry:: INCLUDE "data/pokedex/entries/natu.asm" -XatuPokedexEntry:: INCLUDE "data/pokedex/entries/xatu.asm" -MareepPokedexEntry:: INCLUDE "data/pokedex/entries/mareep.asm" -FlaaffyPokedexEntry:: INCLUDE "data/pokedex/entries/flaaffy.asm" -AmpharosPokedexEntry:: INCLUDE "data/pokedex/entries/ampharos.asm" -BellossomPokedexEntry:: INCLUDE "data/pokedex/entries/bellossom.asm" -MarillPokedexEntry:: INCLUDE "data/pokedex/entries/marill.asm" -AzumarillPokedexEntry:: INCLUDE "data/pokedex/entries/azumarill.asm" -SudowoodoPokedexEntry:: INCLUDE "data/pokedex/entries/sudowoodo.asm" -PolitoedPokedexEntry:: INCLUDE "data/pokedex/entries/politoed.asm" -HoppipPokedexEntry:: INCLUDE "data/pokedex/entries/hoppip.asm" -SkiploomPokedexEntry:: INCLUDE "data/pokedex/entries/skiploom.asm" -JumpluffPokedexEntry:: INCLUDE "data/pokedex/entries/jumpluff.asm" -AipomPokedexEntry:: INCLUDE "data/pokedex/entries/aipom.asm" -SunkernPokedexEntry:: INCLUDE "data/pokedex/entries/sunkern.asm" -SunfloraPokedexEntry:: INCLUDE "data/pokedex/entries/sunflora.asm" - - -SECTION "Pokedex Entries 193-251", ROMX - -PokedexEntries4:: -YanmaPokedexEntry:: INCLUDE "data/pokedex/entries/yanma.asm" -WooperPokedexEntry:: INCLUDE "data/pokedex/entries/wooper.asm" -QuagsirePokedexEntry:: INCLUDE "data/pokedex/entries/quagsire.asm" -EspeonPokedexEntry:: INCLUDE "data/pokedex/entries/espeon.asm" -UmbreonPokedexEntry:: INCLUDE "data/pokedex/entries/umbreon.asm" -MurkrowPokedexEntry:: INCLUDE "data/pokedex/entries/murkrow.asm" -SlowkingPokedexEntry:: INCLUDE "data/pokedex/entries/slowking.asm" -MisdreavusPokedexEntry:: INCLUDE "data/pokedex/entries/misdreavus.asm" -UnownPokedexEntry:: INCLUDE "data/pokedex/entries/unown.asm" -WobbuffetPokedexEntry:: INCLUDE "data/pokedex/entries/wobbuffet.asm" -GirafarigPokedexEntry:: INCLUDE "data/pokedex/entries/girafarig.asm" -PinecoPokedexEntry:: INCLUDE "data/pokedex/entries/pineco.asm" -ForretressPokedexEntry:: INCLUDE "data/pokedex/entries/forretress.asm" -DunsparcePokedexEntry:: INCLUDE "data/pokedex/entries/dunsparce.asm" -GligarPokedexEntry:: INCLUDE "data/pokedex/entries/gligar.asm" -SteelixPokedexEntry:: INCLUDE "data/pokedex/entries/steelix.asm" -SnubbullPokedexEntry:: INCLUDE "data/pokedex/entries/snubbull.asm" -GranbullPokedexEntry:: INCLUDE "data/pokedex/entries/granbull.asm" -QwilfishPokedexEntry:: INCLUDE "data/pokedex/entries/qwilfish.asm" -ScizorPokedexEntry:: INCLUDE "data/pokedex/entries/scizor.asm" -ShucklePokedexEntry:: INCLUDE "data/pokedex/entries/shuckle.asm" -HeracrossPokedexEntry:: INCLUDE "data/pokedex/entries/heracross.asm" -SneaselPokedexEntry:: INCLUDE "data/pokedex/entries/sneasel.asm" -TeddiursaPokedexEntry:: INCLUDE "data/pokedex/entries/teddiursa.asm" -UrsaringPokedexEntry:: INCLUDE "data/pokedex/entries/ursaring.asm" -SlugmaPokedexEntry:: INCLUDE "data/pokedex/entries/slugma.asm" -MagcargoPokedexEntry:: INCLUDE "data/pokedex/entries/magcargo.asm" -SwinubPokedexEntry:: INCLUDE "data/pokedex/entries/swinub.asm" -PiloswinePokedexEntry:: INCLUDE "data/pokedex/entries/piloswine.asm" -CorsolaPokedexEntry:: INCLUDE "data/pokedex/entries/corsola.asm" -RemoraidPokedexEntry:: INCLUDE "data/pokedex/entries/remoraid.asm" -OctilleryPokedexEntry:: INCLUDE "data/pokedex/entries/octillery.asm" -DelibirdPokedexEntry:: INCLUDE "data/pokedex/entries/delibird.asm" -MantinePokedexEntry:: INCLUDE "data/pokedex/entries/mantine.asm" -SkarmoryPokedexEntry:: INCLUDE "data/pokedex/entries/skarmory.asm" -HoundourPokedexEntry:: INCLUDE "data/pokedex/entries/houndour.asm" -HoundoomPokedexEntry:: INCLUDE "data/pokedex/entries/houndoom.asm" -KingdraPokedexEntry:: INCLUDE "data/pokedex/entries/kingdra.asm" -PhanpyPokedexEntry:: INCLUDE "data/pokedex/entries/phanpy.asm" -DonphanPokedexEntry:: INCLUDE "data/pokedex/entries/donphan.asm" -Porygon2PokedexEntry:: INCLUDE "data/pokedex/entries/porygon2.asm" -StantlerPokedexEntry:: INCLUDE "data/pokedex/entries/stantler.asm" -SmearglePokedexEntry:: INCLUDE "data/pokedex/entries/smeargle.asm" -TyroguePokedexEntry:: INCLUDE "data/pokedex/entries/tyrogue.asm" -HitmontopPokedexEntry:: INCLUDE "data/pokedex/entries/hitmontop.asm" -SmoochumPokedexEntry:: INCLUDE "data/pokedex/entries/smoochum.asm" -ElekidPokedexEntry:: INCLUDE "data/pokedex/entries/elekid.asm" -MagbyPokedexEntry:: INCLUDE "data/pokedex/entries/magby.asm" -MiltankPokedexEntry:: INCLUDE "data/pokedex/entries/miltank.asm" -BlisseyPokedexEntry:: INCLUDE "data/pokedex/entries/blissey.asm" -RaikouPokedexEntry:: INCLUDE "data/pokedex/entries/raikou.asm" -EnteiPokedexEntry:: INCLUDE "data/pokedex/entries/entei.asm" -SuicunePokedexEntry:: INCLUDE "data/pokedex/entries/suicune.asm" -LarvitarPokedexEntry:: INCLUDE "data/pokedex/entries/larvitar.asm" -PupitarPokedexEntry:: INCLUDE "data/pokedex/entries/pupitar.asm" -TyranitarPokedexEntry:: INCLUDE "data/pokedex/entries/tyranitar.asm" -LugiaPokedexEntry:: INCLUDE "data/pokedex/entries/lugia.asm" -HoOhPokedexEntry:: INCLUDE "data/pokedex/entries/ho_oh.asm" -CelebiPokedexEntry:: INCLUDE "data/pokedex/entries/celebi.asm" diff --git a/data/pokedex/entries/abra.asm b/data/pokedex/entries/abra.asm deleted file mode 100644 index be3b263cd..000000000 --- a/data/pokedex/entries/abra.asm +++ /dev/null @@ -1,10 +0,0 @@ -; AbraPokedexEntry: ; 0x1830d5 - db "PSI@" ; species name - dw 211, 430 ; height, weight - - db "It hypnotizes" - next "itself so that it" - next "can teleport away" - page "when it senses" - next "danger, even" - next "if it is asleep.@" diff --git a/data/pokedex/entries/aerodactyl.asm b/data/pokedex/entries/aerodactyl.asm deleted file mode 100644 index d6189500b..000000000 --- a/data/pokedex/entries/aerodactyl.asm +++ /dev/null @@ -1,10 +0,0 @@ -; AerodactylPokedexEntry: ; 0x1cc576 - db "FOSSIL@" ; species name - dw 511, 1300 ; height, weight - - db "In prehistoric" - next "times, this" - next "#MON flew" - page "freely and" - next "fearlessly through" - next "the skies.@" diff --git a/data/pokedex/entries/aipom.asm b/data/pokedex/entries/aipom.asm deleted file mode 100644 index 3fadb9169..000000000 --- a/data/pokedex/entries/aipom.asm +++ /dev/null @@ -1,10 +0,0 @@ -; AipomPokedexEntry: ; 0x1cda11 - db "LONG TAIL@" ; species name - dw 207, 250 ; height, weight - - db "It uses its tail" - next "to hang on to tree" - next "branches. It uses" - page "its momentum to" - next "swing from one" - next "branch to another.@" diff --git a/data/pokedex/entries/alakazam.asm b/data/pokedex/entries/alakazam.asm deleted file mode 100644 index 1d34fa1f7..000000000 --- a/data/pokedex/entries/alakazam.asm +++ /dev/null @@ -1,10 +0,0 @@ -; AlakazamPokedexEntry: ; 0x1b8000 - db "PSI@" ; species name - dw 411, 1060 ; height, weight - - db "It has an IQ of" - next "5000. It calcu-" - next "lates many things" - page "in order to gain" - next "the edge in every" - next "battle.@" diff --git a/data/pokedex/entries/ampharos.asm b/data/pokedex/entries/ampharos.asm deleted file mode 100644 index 1f48fe322..000000000 --- a/data/pokedex/entries/ampharos.asm +++ /dev/null @@ -1,10 +0,0 @@ -; AmpharosPokedexEntry: ; 0x1cd626 - db "LIGHT@" ; species name - dw 407, 1360 ; height, weight - - db "When it gets dark," - next "the light from its" - next "bright, shiny tail" - page "can be seen from" - next "far away on the" - next "ocean's surface.@" diff --git a/data/pokedex/entries/arbok.asm b/data/pokedex/entries/arbok.asm deleted file mode 100644 index c5d5b7704..000000000 --- a/data/pokedex/entries/arbok.asm +++ /dev/null @@ -1,10 +0,0 @@ -; ArbokPokedexEntry: ; 0x18203d - db "COBRA@" ; species name - dw 1106, 1430 ; height, weight - - db "To intimidate" - next "foes, it spreads" - next "its chest wide and" - page "makes eerie sounds" - next "by expelling air" - next "from its mouth.@" diff --git a/data/pokedex/entries/arcanine.asm b/data/pokedex/entries/arcanine.asm deleted file mode 100644 index e319bcb6a..000000000 --- a/data/pokedex/entries/arcanine.asm +++ /dev/null @@ -1,10 +0,0 @@ -; ArcaninePokedexEntry: ; 0x182f1c - db "LEGENDARY@" ; species name - dw 603, 3420 ; height, weight - - db "An ancient picture" - next "scroll shows that" - next "people were" - page "attracted to its" - next "movement as it ran" - next "through prairies.@" diff --git a/data/pokedex/entries/ariados.asm b/data/pokedex/entries/ariados.asm deleted file mode 100644 index a27d13fef..000000000 --- a/data/pokedex/entries/ariados.asm +++ /dev/null @@ -1,10 +0,0 @@ -; AriadosPokedexEntry: ; 0x1cd083 - db "LONG LEG@" ; species name - dw 307, 740 ; height, weight - - db "Rather than mak-" - next "ing a nest in one" - next "specific spot, it" - page "wanders in search" - next "of food after" - next "darkness falls.@" diff --git a/data/pokedex/entries/articuno.asm b/data/pokedex/entries/articuno.asm deleted file mode 100644 index 92b297d28..000000000 --- a/data/pokedex/entries/articuno.asm +++ /dev/null @@ -1,10 +0,0 @@ -; ArticunoPokedexEntry: ; 0x1cc632 - db "FREEZE@" ; species name - dw 507, 1220 ; height, weight - - db "Legendary bird" - next "#MON. As it" - next "flies through the" - page "sky, it cools the" - next "air, causing snow" - next "to fall.@" diff --git a/data/pokedex/entries/azumarill.asm b/data/pokedex/entries/azumarill.asm deleted file mode 100644 index bdbc83d1d..000000000 --- a/data/pokedex/entries/azumarill.asm +++ /dev/null @@ -1,10 +0,0 @@ -; AzumarillPokedexEntry: ; 0x1cd771 - db "AQUARABBIT@" ; species name - dw 207, 630 ; height, weight - - db "The bubble-like" - next "pattern on its" - next "stomach helps it" - page "camouflage itself" - next "when it's in the" - next "water.@" diff --git a/data/pokedex/entries/bayleef.asm b/data/pokedex/entries/bayleef.asm deleted file mode 100644 index ac66dccd5..000000000 --- a/data/pokedex/entries/bayleef.asm +++ /dev/null @@ -1,10 +0,0 @@ -; BayleefPokedexEntry: ; 0x1cc9e9 - db "LEAF@" ; species name - dw 311, 350 ; height, weight - - db "The scent that" - next "wafts from the" - next "leaves on its neck" - page "causes anyone who" - next "smells it to" - next "become energetic.@" diff --git a/data/pokedex/entries/beedrill.asm b/data/pokedex/entries/beedrill.asm deleted file mode 100644 index 505396ca1..000000000 --- a/data/pokedex/entries/beedrill.asm +++ /dev/null @@ -1,10 +0,0 @@ -; BeedrillPokedexEntry: ; 0x181c8a - db "POISON BEE@" ; species name - dw 303, 650 ; height, weight - - db "It uses sharp," - next "poisonous stings" - next "to defeat prey," - page "then takes the" - next "victim back to its" - next "nest for food.@" diff --git a/data/pokedex/entries/bellossom.asm b/data/pokedex/entries/bellossom.asm deleted file mode 100644 index 0d13ed65d..000000000 --- a/data/pokedex/entries/bellossom.asm +++ /dev/null @@ -1,10 +0,0 @@ -; BellossomPokedexEntry: ; 0x1cd69a - db "FLOWER@" ; species name - dw 104, 130 ; height, weight - - db "When these dance" - next "together, their" - next "petals rub against" - page "each other," - next "making pretty," - next "relaxing sounds.@" diff --git a/data/pokedex/entries/bellsprout.asm b/data/pokedex/entries/bellsprout.asm deleted file mode 100644 index fcd42c125..000000000 --- a/data/pokedex/entries/bellsprout.asm +++ /dev/null @@ -1,10 +0,0 @@ -; BellsproutPokedexEntry: ; 0x1b81a1 - db "FLOWER@" ; species name - dw 204, 90 ; height, weight - - db "If it notices" - next "anything that" - next "moves, it" - page "immediately flings" - next "its vine at the" - next "object.@" diff --git a/data/pokedex/entries/blastoise.asm b/data/pokedex/entries/blastoise.asm deleted file mode 100644 index ea2a18d05..000000000 --- a/data/pokedex/entries/blastoise.asm +++ /dev/null @@ -1,10 +0,0 @@ -; BlastoisePokedexEntry: ; 0x1819f9 - db "SHELLFISH@" ; species name - dw 503, 1890 ; height, weight - - db "It firmly plants" - next "its feet on the" - next "ground before" - page "shooting water" - next "from the jets on" - next "its back.@" diff --git a/data/pokedex/entries/blissey.asm b/data/pokedex/entries/blissey.asm deleted file mode 100644 index 10151a398..000000000 --- a/data/pokedex/entries/blissey.asm +++ /dev/null @@ -1,10 +0,0 @@ -; BlisseyPokedexEntry: ; 0x1d14f7 - db "HAPPINESS@" ; species name - dw 411, 1030 ; height, weight - - db "Biting into one" - next "of the delicious" - next "eggs that BLISSEY" - page "provides will make" - next "everyone around" - next "smile with joy.@" diff --git a/data/pokedex/entries/bulbasaur.asm b/data/pokedex/entries/bulbasaur.asm deleted file mode 100644 index fdfe39c8c..000000000 --- a/data/pokedex/entries/bulbasaur.asm +++ /dev/null @@ -1,10 +0,0 @@ -; BulbasaurPokedexEntry: ; 0x181695 - db "SEED@" ; species name - dw 204, 150 ; height, weight - - db "While it is young," - next "it uses the" - next "nutrients that are" - page "stored in the" - next "seeds on its back" - next "in order to grow.@" diff --git a/data/pokedex/entries/butterfree.asm b/data/pokedex/entries/butterfree.asm deleted file mode 100644 index edf9e2599..000000000 --- a/data/pokedex/entries/butterfree.asm +++ /dev/null @@ -1,10 +0,0 @@ -; ButterfreePokedexEntry: ; 0x181b45 - db "BUTTERFLY@" ; species name - dw 307, 710 ; height, weight - - db "It flits from" - next "flower to flower," - next "collecting honey." - page "It can even" - next "identify distant" - next "flowers in bloom.@" diff --git a/data/pokedex/entries/caterpie.asm b/data/pokedex/entries/caterpie.asm deleted file mode 100644 index 940aa014f..000000000 --- a/data/pokedex/entries/caterpie.asm +++ /dev/null @@ -1,10 +0,0 @@ -; CaterpiePokedexEntry: ; 0x181a60 - db "WORM@" ; species name - dw 100, 60 ; height, weight - - db "It crawls into" - next "foliage where it" - next "camouflages itself" - page "among leaves that" - next "are the same color" - next "as its body.@" diff --git a/data/pokedex/entries/celebi.asm b/data/pokedex/entries/celebi.asm deleted file mode 100644 index 3922d1749..000000000 --- a/data/pokedex/entries/celebi.asm +++ /dev/null @@ -1,10 +0,0 @@ -; CelebiPokedexEntry: ; 0x1d18cc - db "TIMETRAVEL@" ; species name - dw 200, 110 ; height, weight - - db "Revered as a" - next "guardian of the" - next "forest, CELEBI" - page "appears wherever" - next "beautiful forests" - next "exist.@" diff --git a/data/pokedex/entries/chansey.asm b/data/pokedex/entries/chansey.asm deleted file mode 100644 index fd45cf121..000000000 --- a/data/pokedex/entries/chansey.asm +++ /dev/null @@ -1,10 +0,0 @@ -; ChanseyPokedexEntry: ; 0x1b942e - db "EGG@" ; species name - dw 307, 760 ; height, weight - - db "People try to" - next "catch it for its" - next "extremely" - page "nutritious eggs," - next "but it rarely can" - next "be found.@" diff --git a/data/pokedex/entries/charizard.asm b/data/pokedex/entries/charizard.asm deleted file mode 100644 index 53a542fb5..000000000 --- a/data/pokedex/entries/charizard.asm +++ /dev/null @@ -1,10 +0,0 @@ -; CharizardPokedexEntry: ; 0x1818b3 - db "FLAME@" ; species name - dw 507, 2000 ; height, weight - - db "It uses its wings" - next "to fly high. The" - next "temperature of its" - page "fire increases as" - next "it gains exper-" - next "ience in battle.@" diff --git a/data/pokedex/entries/charmander.asm b/data/pokedex/entries/charmander.asm deleted file mode 100644 index a89b138f8..000000000 --- a/data/pokedex/entries/charmander.asm +++ /dev/null @@ -1,10 +0,0 @@ -; CharmanderPokedexEntry: ; 0x1817db - db "LIZARD@" ; species name - dw 200, 190 ; height, weight - - db "If it's healthy," - next "the flame on the" - next "tip of its tail" - page "will burn vigor-" - next "ously, even if it" - next "gets a bit wet.@" diff --git a/data/pokedex/entries/charmeleon.asm b/data/pokedex/entries/charmeleon.asm deleted file mode 100644 index 2891764c3..000000000 --- a/data/pokedex/entries/charmeleon.asm +++ /dev/null @@ -1,10 +0,0 @@ -; CharmeleonPokedexEntry: ; 0x18184a - db "FLAME@" ; species name - dw 307, 420 ; height, weight - - db "If it becomes" - next "agitated during" - next "battle, it spouts" - page "intense flames," - next "incinerating its" - next "surroundings.@" diff --git a/data/pokedex/entries/chikorita.asm b/data/pokedex/entries/chikorita.asm deleted file mode 100644 index 3ba17e1f8..000000000 --- a/data/pokedex/entries/chikorita.asm +++ /dev/null @@ -1,10 +0,0 @@ -; ChikoritaPokedexEntry: ; 0x1cc988 - db "LEAF@" ; species name - dw 211, 140 ; height, weight - - db "It loves to bask" - next "in the sunlight." - next "It uses the leaf" - page "on its head to" - next "seek out warm" - next "places.@" diff --git a/data/pokedex/entries/chinchou.asm b/data/pokedex/entries/chinchou.asm deleted file mode 100644 index 22d887859..000000000 --- a/data/pokedex/entries/chinchou.asm +++ /dev/null @@ -1,10 +0,0 @@ -; ChinchouPokedexEntry: ; 0x1cd165 - db "ANGLER@" ; species name - dw 108, 260 ; height, weight - - db "Its antennae, whi-" - next "ch evolved from a" - next "fin, have both po-" - page "sitive and neg-" - next "ative charges flo-" - next "wing through them.@" diff --git a/data/pokedex/entries/clefable.asm b/data/pokedex/entries/clefable.asm deleted file mode 100644 index 240d70eb5..000000000 --- a/data/pokedex/entries/clefable.asm +++ /dev/null @@ -1,10 +0,0 @@ -; ClefablePokedexEntry: ; 0x182530 - db "FAIRY@" ; species name - dw 403, 880 ; height, weight - - db "Said to live in" - next "quiet, remote" - next "mountains, this" - page "type of fairy has" - next "a strong aversion" - next "to being seen.@" diff --git a/data/pokedex/entries/clefairy.asm b/data/pokedex/entries/clefairy.asm deleted file mode 100644 index b5973b21a..000000000 --- a/data/pokedex/entries/clefairy.asm +++ /dev/null @@ -1,10 +0,0 @@ -; ClefairyPokedexEntry: ; 0x1824c8 - db "FAIRY@" ; species name - dw 200, 170 ; height, weight - - db "Though rarely" - next "seen, it becomes" - next "easier to spot," - page "for some reason," - next "on the night of a " - next "full moon.@" diff --git a/data/pokedex/entries/cleffa.asm b/data/pokedex/entries/cleffa.asm deleted file mode 100644 index 897bb2501..000000000 --- a/data/pokedex/entries/cleffa.asm +++ /dev/null @@ -1,10 +0,0 @@ -; CleffaPokedexEntry: ; 0x1cd2bc - db "STARSHAPE@" ; species name - dw 100, 70 ; height, weight - - db "If the impact site" - next "of a meteorite is" - next "found, this" - page "#MON is certain" - next "to be within the" - next "immediate area.@" diff --git a/data/pokedex/entries/cloyster.asm b/data/pokedex/entries/cloyster.asm deleted file mode 100644 index b1eaf80b9..000000000 --- a/data/pokedex/entries/cloyster.asm +++ /dev/null @@ -1,10 +0,0 @@ -; CloysterPokedexEntry: ; 0x1b8ad9 - db "BIVALVE@" ; species name - dw 411, 2920 ; height, weight - - db "Even a missile" - next "can't break the" - next "spikes it uses to" - page "stab opponents." - next "They're even hard-" - next "er than its shell.@" diff --git a/data/pokedex/entries/corsola.asm b/data/pokedex/entries/corsola.asm deleted file mode 100644 index 52fbd0c44..000000000 --- a/data/pokedex/entries/corsola.asm +++ /dev/null @@ -1,10 +0,0 @@ -; CorsolaPokedexEntry: ; 0x1d0c68 - db "CORAL@" ; species name - dw 200, 110 ; height, weight - - db "The points on its" - next "head absorb" - next "nutrients from" - page "clean water. They" - next "cannot survive in" - next "polluted water.@" diff --git a/data/pokedex/entries/crobat.asm b/data/pokedex/entries/crobat.asm deleted file mode 100644 index 107683110..000000000 --- a/data/pokedex/entries/crobat.asm +++ /dev/null @@ -1,10 +0,0 @@ -; CrobatPokedexEntry: ; 0x1cd0f5 - db "BAT@" ; species name - dw 511, 1650 ; height, weight - - db "As a result of its" - next "pursuit of faster," - next "yet more silent" - page "flight, a new set" - next "of wings grew on" - next "its hind legs.@" diff --git a/data/pokedex/entries/croconaw.asm b/data/pokedex/entries/croconaw.asm deleted file mode 100644 index 0edcf80cc..000000000 --- a/data/pokedex/entries/croconaw.asm +++ /dev/null @@ -1,10 +0,0 @@ -; CroconawPokedexEntry: ; 0x1ccc84 - db "BIG JAW@" ; species name - dw 307, 550 ; height, weight - - db "The tips of its" - next "fangs are slanted" - next "backward. Once" - page "those fangs clamp" - next "down, the prey has" - next "no hope of escape.@" diff --git a/data/pokedex/entries/cubone.asm b/data/pokedex/entries/cubone.asm deleted file mode 100644 index 911377864..000000000 --- a/data/pokedex/entries/cubone.asm +++ /dev/null @@ -1,10 +0,0 @@ -; CubonePokedexEntry: ; 0x1b9068 - db "LONELY@" ; species name - dw 104, 140 ; height, weight - - db "It lost its mother" - next "after its birth." - next "It wears its" - page "mother's skull," - next "never revealing" - next "its true face.@" diff --git a/data/pokedex/entries/cyndaquil.asm b/data/pokedex/entries/cyndaquil.asm deleted file mode 100644 index 47329d37f..000000000 --- a/data/pokedex/entries/cyndaquil.asm +++ /dev/null @@ -1,10 +0,0 @@ -; CyndaquilPokedexEntry: ; 0x1ccabd - db "FIRE MOUSE@" ; species name - dw 108, 170 ; height, weight - - db "The fire that" - next "spouts from its" - next "back burns hottest" - page "when it is angry." - next "The flaring flames" - next "intimidate foes.@" diff --git a/data/pokedex/entries/delibird.asm b/data/pokedex/entries/delibird.asm deleted file mode 100644 index 2c998d8be..000000000 --- a/data/pokedex/entries/delibird.asm +++ /dev/null @@ -1,10 +0,0 @@ -; DelibirdPokedexEntry: ; 0x1d0db1 - db "DELIVERY@" ; species name - dw 211, 350 ; height, weight - - db "It always carries" - next "its food with it," - next "wherever it goes." - page "If attacked, it" - next "throws its food at" - next "the opponent.@" diff --git a/data/pokedex/entries/dewgong.asm b/data/pokedex/entries/dewgong.asm deleted file mode 100644 index a3ff9b6f5..000000000 --- a/data/pokedex/entries/dewgong.asm +++ /dev/null @@ -1,10 +0,0 @@ -; DewgongPokedexEntry: ; 0x1b8934 - db "SEA LION@" ; species name - dw 507, 2650 ; height, weight - - db "It sleeps under" - next "shallow ocean" - next "waters during the" - page "day, then looks" - next "for food at night" - next "when it's cold.@" diff --git a/data/pokedex/entries/diglett.asm b/data/pokedex/entries/diglett.asm deleted file mode 100644 index 469d9311d..000000000 --- a/data/pokedex/entries/diglett.asm +++ /dev/null @@ -1,10 +0,0 @@ -; DiglettPokedexEntry: ; 0x182b30 - db "MOLE@" ; species name - dw 8, 20 ; height, weight - - db "It digs under-" - next "ground and chews" - next "on tree roots," - page "sticking its head" - next "out only when the" - next "sun isn't bright.@" diff --git a/data/pokedex/entries/ditto.asm b/data/pokedex/entries/ditto.asm deleted file mode 100644 index 5a838b5b8..000000000 --- a/data/pokedex/entries/ditto.asm +++ /dev/null @@ -1,10 +0,0 @@ -; DittoPokedexEntry: ; 0x1cc13c - db "TRANSFORM@" ; species name - dw 100, 90 ; height, weight - - db "When it encount-" - next "ers another DITTO," - next "it will move" - page "faster than normal" - next "to duplicate that" - next "opponent exactly.@" diff --git a/data/pokedex/entries/dodrio.asm b/data/pokedex/entries/dodrio.asm deleted file mode 100644 index ef495b99b..000000000 --- a/data/pokedex/entries/dodrio.asm +++ /dev/null @@ -1,10 +0,0 @@ -; DodrioPokedexEntry: ; 0x1b884a - db "TRIPLEBIRD@" ; species name - dw 511, 1880 ; height, weight - - db "An enemy that" - next "takes its eyes off" - next "any of the three" - page "heads--even for a" - next "second--will get" - next "pecked severely.@" diff --git a/data/pokedex/entries/doduo.asm b/data/pokedex/entries/doduo.asm deleted file mode 100644 index 124469457..000000000 --- a/data/pokedex/entries/doduo.asm +++ /dev/null @@ -1,10 +0,0 @@ -; DoduoPokedexEntry: ; 0x1b87d7 - db "TWIN BIRD@" ; species name - dw 407, 860 ; height, weight - - db "It lives on a" - next "grassy plain where" - next "it can see a long" - page "way. If it sees an" - next "enemy, it runs" - next "away at 60 mph.@" diff --git a/data/pokedex/entries/donphan.asm b/data/pokedex/entries/donphan.asm deleted file mode 100644 index 4dc489938..000000000 --- a/data/pokedex/entries/donphan.asm +++ /dev/null @@ -1,10 +0,0 @@ -; DonphanPokedexEntry: ; 0x1d10ac - db "ARMOR@" ; species name - dw 307, 2650 ; height, weight - - db "Because this" - next "#MON's skin is" - next "so tough, a normal" - page "attack won't even" - next "leave a scratch on" - next "it.@" diff --git a/data/pokedex/entries/dragonair.asm b/data/pokedex/entries/dragonair.asm deleted file mode 100644 index cef4f8f29..000000000 --- a/data/pokedex/entries/dragonair.asm +++ /dev/null @@ -1,10 +0,0 @@ -; DragonairPokedexEntry: ; 0x1cc7dc - db "DRAGON@" ; species name - dw 1301, 360 ; height, weight - - db "It is called the" - next "divine #MON." - next "When its entire" - page "body brightens" - next "slightly, the" - next "weather changes.@" diff --git a/data/pokedex/entries/dragonite.asm b/data/pokedex/entries/dragonite.asm deleted file mode 100644 index bbbc6cff0..000000000 --- a/data/pokedex/entries/dragonite.asm +++ /dev/null @@ -1,10 +0,0 @@ -; DragonitePokedexEntry: ; 0x1cc843 - db "DRAGON@" ; species name - dw 703, 4630 ; height, weight - - db "It is said that" - next "somewhere in the" - next "ocean lies an" - page "island where these" - next "gather. Only they" - next "live there.@" diff --git a/data/pokedex/entries/dratini.asm b/data/pokedex/entries/dratini.asm deleted file mode 100644 index ef16aa20c..000000000 --- a/data/pokedex/entries/dratini.asm +++ /dev/null @@ -1,10 +0,0 @@ -; DratiniPokedexEntry: ; 0x1cc761 - db "DRAGON@" ; species name - dw 511, 70 ; height, weight - - db "It sheds many lay-" - next "ers of skin as it" - next "grows larger. Dur-" - page "ing this process," - next "it is protected by" - next "a rapid waterfall.@" diff --git a/data/pokedex/entries/drowzee.asm b/data/pokedex/entries/drowzee.asm deleted file mode 100644 index 34ae54435..000000000 --- a/data/pokedex/entries/drowzee.asm +++ /dev/null @@ -1,10 +0,0 @@ -; DrowzeePokedexEntry: ; 0x1b8d0a - db "HYPNOSIS@" ; species name - dw 303, 710 ; height, weight - - db "When it twitches" - next "its nose, it can" - next "tell where someone" - page "is sleeping and" - next "what that person" - next "is dreaming about.@" diff --git a/data/pokedex/entries/dugtrio.asm b/data/pokedex/entries/dugtrio.asm deleted file mode 100644 index 829e2aa09..000000000 --- a/data/pokedex/entries/dugtrio.asm +++ /dev/null @@ -1,10 +0,0 @@ -; DugtrioPokedexEntry: ; 0x182b9d - db "MOLE@" ; species name - dw 204, 730 ; height, weight - - db "These DIGLETT" - next "triplets dig over" - next "60 miles below sea" - page "level. No one" - next "knows what it's" - next "like underground.@" diff --git a/data/pokedex/entries/dunsparce.asm b/data/pokedex/entries/dunsparce.asm deleted file mode 100644 index 7a9d812f3..000000000 --- a/data/pokedex/entries/dunsparce.asm +++ /dev/null @@ -1,10 +0,0 @@ -; DunsparcePokedexEntry: ; 0x1d0593 - db "LAND SNAKE@" ; species name - dw 411, 310 ; height, weight - - db "It hides deep" - next "inside caves where" - next "no light ever" - page "reaches it and" - next "remains virtually" - next "motionless there.@" diff --git a/data/pokedex/entries/eevee.asm b/data/pokedex/entries/eevee.asm deleted file mode 100644 index 3081a5829..000000000 --- a/data/pokedex/entries/eevee.asm +++ /dev/null @@ -1,10 +0,0 @@ -; EeveePokedexEntry: ; 0x1cc1b2 - db "EVOLUTION@" ; species name - dw 100, 140 ; height, weight - - db "Its ability to" - next "evolve into many" - next "forms allows it to" - page "adapt smoothly" - next "and perfectly to" - next "any environment.@" diff --git a/data/pokedex/entries/ekans.asm b/data/pokedex/entries/ekans.asm deleted file mode 100644 index 23faa4854..000000000 --- a/data/pokedex/entries/ekans.asm +++ /dev/null @@ -1,10 +0,0 @@ -; EkansPokedexEntry: ; 0x181fd4 - db "SNAKE@" ; species name - dw 607, 150 ; height, weight - - db "It flutters the" - next "tip of its tongue" - next "to seek out the" - page "scent of prey," - next "then swallows the" - next "prey whole.@" diff --git a/data/pokedex/entries/electabuzz.asm b/data/pokedex/entries/electabuzz.asm deleted file mode 100644 index e6bf15587..000000000 --- a/data/pokedex/entries/electabuzz.asm +++ /dev/null @@ -1,10 +0,0 @@ -; ElectabuzzPokedexEntry: ; 0x1b992a - db "ELECTRIC@" ; species name - dw 307, 660 ; height, weight - - db "When two" - next "ELECTABUZZ touch," - next "they control the" - page "electric currents" - next "to communicate" - next "their feelings.@" diff --git a/data/pokedex/entries/electrode.asm b/data/pokedex/entries/electrode.asm deleted file mode 100644 index 48d523c69..000000000 --- a/data/pokedex/entries/electrode.asm +++ /dev/null @@ -1,10 +0,0 @@ -; ElectrodePokedexEntry: ; 0x1b8f19 - db "BALL@" ; species name - dw 311, 1470 ; height, weight - - db "The more energy it" - next "charges up, the" - next "faster it gets." - page "But this also" - next "makes it more" - next "likely to explode.@" diff --git a/data/pokedex/entries/elekid.asm b/data/pokedex/entries/elekid.asm deleted file mode 100644 index 6a046bda4..000000000 --- a/data/pokedex/entries/elekid.asm +++ /dev/null @@ -1,10 +0,0 @@ -; ElekidPokedexEntry: ; 0x1d1398 - db "ELECTRIC@" ; species name - dw 200, 520 ; height, weight - - db "It loves violent" - next "thunder. The space" - next "between its horns" - page "flickers bluish-" - next "white when it is" - next "charging energy.@" diff --git a/data/pokedex/entries/entei.asm b/data/pokedex/entries/entei.asm deleted file mode 100644 index 3784a898c..000000000 --- a/data/pokedex/entries/entei.asm +++ /dev/null @@ -1,10 +0,0 @@ -; EnteiPokedexEntry: ; 0x1d15dd - db "VOLCANO@" ; species name - dw 607, 4370 ; height, weight - - db "This brawny" - next "#MON courses" - next "around the earth," - page "spouting flames" - next "hotter than a" - next "volcano's magma.@" diff --git a/data/pokedex/entries/espeon.asm b/data/pokedex/entries/espeon.asm deleted file mode 100644 index 059b01fbe..000000000 --- a/data/pokedex/entries/espeon.asm +++ /dev/null @@ -1,10 +0,0 @@ -; EspeonPokedexEntry: ; 0x1d0155 - db "SUN@" ; species name - dw 211, 580 ; height, weight - - db "The tip of its" - next "forked tail" - next "quivers when it is" - page "predicting its" - next "opponent's next" - next "move.@" diff --git a/data/pokedex/entries/exeggcute.asm b/data/pokedex/entries/exeggcute.asm deleted file mode 100644 index 01453955e..000000000 --- a/data/pokedex/entries/exeggcute.asm +++ /dev/null @@ -1,10 +0,0 @@ -; ExeggcutePokedexEntry: ; 0x1b8f84 - db "EGG@" ; species name - dw 104, 60 ; height, weight - - db "If even one is" - next "separated from the" - next "group, the energy" - page "bond between the" - next "six will make them" - next "rejoin instantly.@" diff --git a/data/pokedex/entries/exeggutor.asm b/data/pokedex/entries/exeggutor.asm deleted file mode 100644 index abefffd69..000000000 --- a/data/pokedex/entries/exeggutor.asm +++ /dev/null @@ -1,10 +0,0 @@ -; ExeggutorPokedexEntry: ; 0x1b8ff6 - db "COCONUT@" ; species name - dw 607, 2650 ; height, weight - - db "Living in a good" - next "environment makes" - next "it grow lots of" - page "heads. A head that" - next "drops off becomes" - next "an EXEGGCUTE.@" diff --git a/data/pokedex/entries/farfetch_d.asm b/data/pokedex/entries/farfetch_d.asm deleted file mode 100644 index c9e756a6a..000000000 --- a/data/pokedex/entries/farfetch_d.asm +++ /dev/null @@ -1,10 +0,0 @@ -; FarfetchDPokedexEntry: ; 0x1b876c - db "WILD DUCK@" ; species name - dw 207, 330 ; height, weight - - db "In order to pre-" - next "vent their" - next "extinction, more" - page "people have made" - next "an effort to breed" - next "these #MON.@" diff --git a/data/pokedex/entries/fearow.asm b/data/pokedex/entries/fearow.asm deleted file mode 100644 index 90de6a612..000000000 --- a/data/pokedex/entries/fearow.asm +++ /dev/null @@ -1,10 +0,0 @@ -; FearowPokedexEntry: ; 0x181f64 - db "BEAK@" ; species name - dw 311, 840 ; height, weight - - db "It uses its long" - next "beak to attack. It" - next "has a surprisingly" - page "long reach, so it" - next "must be treated" - next "with caution.@" diff --git a/data/pokedex/entries/feraligatr.asm b/data/pokedex/entries/feraligatr.asm deleted file mode 100644 index cb3672c92..000000000 --- a/data/pokedex/entries/feraligatr.asm +++ /dev/null @@ -1,10 +0,0 @@ -; FeraligatrPokedexEntry: ; 0x1cccf9 - db "BIG JAW@" ; species name - dw 707, 1960 ; height, weight - - db "Although it has a" - next "massive body, its" - next "powerful hind legs" - page "enable it to move" - next "quickly, even on" - next "the ground.@" diff --git a/data/pokedex/entries/flaaffy.asm b/data/pokedex/entries/flaaffy.asm deleted file mode 100644 index 04bcc0668..000000000 --- a/data/pokedex/entries/flaaffy.asm +++ /dev/null @@ -1,10 +0,0 @@ -; FlaaffyPokedexEntry: ; 0x1cd5b8 - db "WOOL@" ; species name - dw 207, 290 ; height, weight - - db "Because of its" - next "rubbery, electric-" - next "ity-resistant" - page "skin, it can store" - next "lots of electric-" - next "ity in its fur.@" diff --git a/data/pokedex/entries/flareon.asm b/data/pokedex/entries/flareon.asm deleted file mode 100644 index ba3e0399d..000000000 --- a/data/pokedex/entries/flareon.asm +++ /dev/null @@ -1,10 +0,0 @@ -; FlareonPokedexEntry: ; 0x1cc2ec - db "FLAME@" ; species name - dw 211, 550 ; height, weight - - db "Once it has stored" - next "up enough heat," - next "this #MON's" - page "body temperature" - next "can reach up to" - next "1700 degrees.@" diff --git a/data/pokedex/entries/forretress.asm b/data/pokedex/entries/forretress.asm deleted file mode 100644 index 8644b4b39..000000000 --- a/data/pokedex/entries/forretress.asm +++ /dev/null @@ -1,10 +0,0 @@ -; ForretressPokedexEntry: ; 0x1d0524 - db "BAGWORM@" ; species name - dw 311, 2770 ; height, weight - - db "Usually found" - next "hanging on to a" - next "fat tree trunk. It" - page "shoots out bits of" - next "its shell when it" - next "sees action.@" diff --git a/data/pokedex/entries/furret.asm b/data/pokedex/entries/furret.asm deleted file mode 100644 index 653a3dead..000000000 --- a/data/pokedex/entries/furret.asm +++ /dev/null @@ -1,10 +0,0 @@ -; FurretPokedexEntry: ; 0x1ccddd - db "LONG BODY@" ; species name - dw 511, 720 ; height, weight - - db "It lives in narrow" - next "burrows that fit" - next "its slim body. The" - page "deeper the nests" - next "go, the more maze-" - next "like they become.@" diff --git a/data/pokedex/entries/gastly.asm b/data/pokedex/entries/gastly.asm deleted file mode 100644 index db7f6d57d..000000000 --- a/data/pokedex/entries/gastly.asm +++ /dev/null @@ -1,10 +0,0 @@ -; GastlyPokedexEntry: ; 0x1b8b4a - db "GAS@" ; species name - dw 403, 2 ; height, weight - - db "It wraps its op-" - next "ponent in its gas-" - next "like body, slowly" - page "weakening its prey" - next "by poisoning it" - next "through the skin.@" diff --git a/data/pokedex/entries/gengar.asm b/data/pokedex/entries/gengar.asm deleted file mode 100644 index e9650fb39..000000000 --- a/data/pokedex/entries/gengar.asm +++ /dev/null @@ -1,10 +0,0 @@ -; GengarPokedexEntry: ; 0x1b8c25 - db "SHADOW@" ; species name - dw 411, 890 ; height, weight - - db "Hiding in people's" - next "shadows at night," - next "it absorbs their" - page "heat. The chill it" - next "causes makes the" - next "victims shake.@" diff --git a/data/pokedex/entries/geodude.asm b/data/pokedex/entries/geodude.asm deleted file mode 100644 index 389ce042a..000000000 --- a/data/pokedex/entries/geodude.asm +++ /dev/null @@ -1,10 +0,0 @@ -; GeodudePokedexEntry: ; 0x1b83a1 - db "ROCK@" ; species name - dw 104, 440 ; height, weight - - db "Proud of their" - next "sturdy bodies," - next "they bash against" - page "each other in a" - next "contest to prove" - next "whose is harder.@" diff --git a/data/pokedex/entries/girafarig.asm b/data/pokedex/entries/girafarig.asm deleted file mode 100644 index 527aa9807..000000000 --- a/data/pokedex/entries/girafarig.asm +++ /dev/null @@ -1,10 +0,0 @@ -; GirafarigPokedexEntry: ; 0x1d0446 - db "LONG NECK@" ; species name - dw 411, 910 ; height, weight - - db "When it is in" - next "danger, its tail" - next "uses some sort of" - page "mysterious powers" - next "to drive away the" - next "enemy.@" diff --git a/data/pokedex/entries/gligar.asm b/data/pokedex/entries/gligar.asm deleted file mode 100644 index 43c4c95ce..000000000 --- a/data/pokedex/entries/gligar.asm +++ /dev/null @@ -1,10 +0,0 @@ -; GligarPokedexEntry: ; 0x1d0604 - db "FLYSCORPIO@" ; species name - dw 307, 1430 ; height, weight - - db "It builds its nest" - next "on a steep cliff." - next "When it is done" - page "gliding, it hops" - next "along the ground" - next "back to its nest.@" diff --git a/data/pokedex/entries/gloom.asm b/data/pokedex/entries/gloom.asm deleted file mode 100644 index 0552a8d0c..000000000 --- a/data/pokedex/entries/gloom.asm +++ /dev/null @@ -1,10 +0,0 @@ -; GloomPokedexEntry: ; 0x1828a6 - db "WEED@" ; species name - dw 207, 190 ; height, weight - - db "The smell from its" - next "drool-like syrup" - next "and the pollen on" - page "its petals is so" - next "bad, it may make" - next "opponents faint.@" diff --git a/data/pokedex/entries/golbat.asm b/data/pokedex/entries/golbat.asm deleted file mode 100644 index 434108bf4..000000000 --- a/data/pokedex/entries/golbat.asm +++ /dev/null @@ -1,10 +0,0 @@ -; GolbatPokedexEntry: ; 0x1827c4 - db "BAT@" ; species name - dw 503, 1210 ; height, weight - - db "When it plunges" - next "its fangs into its" - next "prey, it instantly" - page "draws and gulps" - next "down more than ten" - next "ounces of blood.@" diff --git a/data/pokedex/entries/goldeen.asm b/data/pokedex/entries/goldeen.asm deleted file mode 100644 index 101edf434..000000000 --- a/data/pokedex/entries/goldeen.asm +++ /dev/null @@ -1,10 +0,0 @@ -; GoldeenPokedexEntry: ; 0x1b9626 - db "GOLDFISH@" ; species name - dw 200, 330 ; height, weight - - db "During spawning" - next "season, they swim" - next "gracefully in the" - page "water, searching" - next "for their perfect" - next "mate.@" diff --git a/data/pokedex/entries/golduck.asm b/data/pokedex/entries/golduck.asm deleted file mode 100644 index b38cfd2dc..000000000 --- a/data/pokedex/entries/golduck.asm +++ /dev/null @@ -1,10 +0,0 @@ -; GolduckPokedexEntry: ; 0x182d55 - db "DUCK@" ; species name - dw 507, 1690 ; height, weight - - db "It swims grace-" - next "fully along on the" - next "quiet, slow-moving" - page "rivers and lakes" - next "of which it is so" - next "fond.@" diff --git a/data/pokedex/entries/golem.asm b/data/pokedex/entries/golem.asm deleted file mode 100644 index dbb5a8e3d..000000000 --- a/data/pokedex/entries/golem.asm +++ /dev/null @@ -1,10 +0,0 @@ -; GolemPokedexEntry: ; 0x1b8481 - db "MEGATON@" ; species name - dw 407, 6620 ; height, weight - - db "Its rock-like body" - next "is so durable," - next "even high-powered" - page "dynamite blasts" - next "fail to scratch" - next "its rugged hide.@" diff --git a/data/pokedex/entries/granbull.asm b/data/pokedex/entries/granbull.asm deleted file mode 100644 index 15f3e194c..000000000 --- a/data/pokedex/entries/granbull.asm +++ /dev/null @@ -1,10 +0,0 @@ -; GranbullPokedexEntry: ; 0x1d074a - db "FAIRY@" ; species name - dw 407, 1070 ; height, weight - - db "It can make most" - next "any #MON run" - next "away simply by" - page "opening its mouth" - next "wide to reveal its" - next "big fangs.@" diff --git a/data/pokedex/entries/graveler.asm b/data/pokedex/entries/graveler.asm deleted file mode 100644 index 3bf04148c..000000000 --- a/data/pokedex/entries/graveler.asm +++ /dev/null @@ -1,10 +0,0 @@ -; GravelerPokedexEntry: ; 0x1b840c - db "ROCK@" ; species name - dw 303, 2320 ; height, weight - - db "It travels by rol-" - next "ling on mountain" - next "paths. If it gains" - page "too much speed, it" - next "stops by running" - next "into huge rocks.@" diff --git a/data/pokedex/entries/grimer.asm b/data/pokedex/entries/grimer.asm deleted file mode 100644 index bda09cf94..000000000 --- a/data/pokedex/entries/grimer.asm +++ /dev/null @@ -1,10 +0,0 @@ -; GrimerPokedexEntry: ; 0x1b89a2 - db "SLUDGE@" ; species name - dw 211, 660 ; height, weight - - db "When two of these" - next "#MON's bodies" - next "are combined" - page "together, new" - next "poisons are" - next "created.@" diff --git a/data/pokedex/entries/growlithe.asm b/data/pokedex/entries/growlithe.asm deleted file mode 100644 index cd261d886..000000000 --- a/data/pokedex/entries/growlithe.asm +++ /dev/null @@ -1,10 +0,0 @@ -; GrowlithePokedexEntry: ; 0x182eaa - db "PUPPY@" ; species name - dw 204, 420 ; height, weight - - db "It controls a big" - next "territory. If it" - next "detects an unknown" - page "smell, it roars" - next "loudly to force" - next "out the intruder.@" diff --git a/data/pokedex/entries/gyarados.asm b/data/pokedex/entries/gyarados.asm deleted file mode 100644 index 767380680..000000000 --- a/data/pokedex/entries/gyarados.asm +++ /dev/null @@ -1,10 +0,0 @@ -; GyaradosPokedexEntry: ; 0x1cc065 - db "ATROCIOUS@" ; species name - dw 2104, 5180 ; height, weight - - db "It appears when-" - next "ever there is" - next "world conflict," - page "burning down any" - next "place it travels" - next "through.@" diff --git a/data/pokedex/entries/haunter.asm b/data/pokedex/entries/haunter.asm deleted file mode 100644 index 6efe4b15c..000000000 --- a/data/pokedex/entries/haunter.asm +++ /dev/null @@ -1,10 +0,0 @@ -; HaunterPokedexEntry: ; 0x1b8bbd - db "GAS@" ; species name - dw 503, 2 ; height, weight - - db "It hides in the" - next "dark, planning to" - next "take the life of" - page "the next living" - next "thing that wanders" - next "close by.@" diff --git a/data/pokedex/entries/heracross.asm b/data/pokedex/entries/heracross.asm deleted file mode 100644 index ed709b526..000000000 --- a/data/pokedex/entries/heracross.asm +++ /dev/null @@ -1,10 +0,0 @@ -; HeracrossPokedexEntry: ; 0x1d0907 - db "SINGLEHORN@" ; species name - dw 411, 1190 ; height, weight - - db "With its Herculean" - next "powers, it can" - next "easily throw arou-" - page "nd an object that" - next "is 100 times its" - next "own weight.@" diff --git a/data/pokedex/entries/hitmonchan.asm b/data/pokedex/entries/hitmonchan.asm deleted file mode 100644 index e5686b1a5..000000000 --- a/data/pokedex/entries/hitmonchan.asm +++ /dev/null @@ -1,10 +0,0 @@ -; HitmonchanPokedexEntry: ; 0x1b91a4 - db "PUNCHING@" ; species name - dw 407, 1110 ; height, weight - - db "To increase the" - next "strength of all" - next "its punch moves," - page "it spins its arms" - next "just before making" - next "contact.@" diff --git a/data/pokedex/entries/hitmonlee.asm b/data/pokedex/entries/hitmonlee.asm deleted file mode 100644 index 0215d3bdc..000000000 --- a/data/pokedex/entries/hitmonlee.asm +++ /dev/null @@ -1,10 +0,0 @@ -; HitmonleePokedexEntry: ; 0x1b913f - db "KICKING@" ; species name - dw 411, 1100 ; height, weight - - db "It is also called" - next "the Kick Master." - next "It uses its" - page "elastic legs to" - next "execute every" - next "known kick.@" diff --git a/data/pokedex/entries/hitmontop.asm b/data/pokedex/entries/hitmontop.asm deleted file mode 100644 index 14175ec8a..000000000 --- a/data/pokedex/entries/hitmontop.asm +++ /dev/null @@ -1,10 +0,0 @@ -; HitmontopPokedexEntry: ; 0x1d12c0 - db "HANDSTAND@" ; species name - dw 407, 1060 ; height, weight - - db "After doing a" - next "handstand to" - next "throw off the" - page "opponent's timing," - next "it presents its" - next "fancy kick moves.@" diff --git a/data/pokedex/entries/ho_oh.asm b/data/pokedex/entries/ho_oh.asm deleted file mode 100644 index 1d74cd058..000000000 --- a/data/pokedex/entries/ho_oh.asm +++ /dev/null @@ -1,10 +0,0 @@ -; HoOhPokedexEntry: ; 0x1d185d - db "RAINBOW@" ; species name - dw 1206, 4390 ; height, weight - - db "It will reveal" - next "itself before a" - next "pure-hearted" - page "trainer by shining" - next "its bright rain-" - next "bow-colored wings.@" diff --git a/data/pokedex/entries/hoothoot.asm b/data/pokedex/entries/hoothoot.asm deleted file mode 100644 index 88039eea8..000000000 --- a/data/pokedex/entries/hoothoot.asm +++ /dev/null @@ -1,10 +0,0 @@ -; HoothootPokedexEntry: ; 0x1cce58 - db "OWL@" ; species name - dw 204, 470 ; height, weight - - db "It begins to hoot" - next "at the same time" - next "every day. Some" - page "trainers use them" - next "in place of" - next "clocks.@" diff --git a/data/pokedex/entries/hoppip.asm b/data/pokedex/entries/hoppip.asm deleted file mode 100644 index 734ddc766..000000000 --- a/data/pokedex/entries/hoppip.asm +++ /dev/null @@ -1,10 +0,0 @@ -; HoppipPokedexEntry: ; 0x1cd8b5 - db "COTTONWEED@" ; species name - dw 104, 10 ; height, weight - - db "It can be carried" - next "away on even the" - next "gentlest breeze." - page "It may even float" - next "all the way to the" - next "next town.@" diff --git a/data/pokedex/entries/horsea.asm b/data/pokedex/entries/horsea.asm deleted file mode 100644 index dd50057e7..000000000 --- a/data/pokedex/entries/horsea.asm +++ /dev/null @@ -1,10 +0,0 @@ -; HorseaPokedexEntry: ; 0x1b9553 - db "DRAGON@" ; species name - dw 104, 180 ; height, weight - - db "When they're in a" - next "safe location," - next "they can be seen" - page "playfully tangling" - next "their tails" - next "together.@" diff --git a/data/pokedex/entries/houndoom.asm b/data/pokedex/entries/houndoom.asm deleted file mode 100644 index 6a21602f3..000000000 --- a/data/pokedex/entries/houndoom.asm +++ /dev/null @@ -1,10 +0,0 @@ -; HoundoomPokedexEntry: ; 0x1d0f66 - db "DARK@" ; species name - dw 407, 770 ; height, weight - - db "The pungent-" - next "smelling flame" - next "that shoots from" - page "its mouth results" - next "from toxins burn-" - next "ing in its body.@" diff --git a/data/pokedex/entries/houndour.asm b/data/pokedex/entries/houndour.asm deleted file mode 100644 index 5fa89fe85..000000000 --- a/data/pokedex/entries/houndour.asm +++ /dev/null @@ -1,10 +0,0 @@ -; HoundourPokedexEntry: ; 0x1d0eff - db "DARK@" ; species name - dw 200, 240 ; height, weight - - db "Around dawn, its" - next "ominous howl" - next "echoes through the" - page "area to announce" - next "that this is its" - next "territory.@" diff --git a/data/pokedex/entries/hypno.asm b/data/pokedex/entries/hypno.asm deleted file mode 100644 index 2309a6bfa..000000000 --- a/data/pokedex/entries/hypno.asm +++ /dev/null @@ -1,10 +0,0 @@ -; HypnoPokedexEntry: ; 0x1b8d80 - db "HYPNOSIS@" ; species name - dw 503, 1670 ; height, weight - - db "The longer it" - next "swings its" - next "pendulum, the" - page "longer the effects" - next "of its hypnosis" - next "last.@" diff --git a/data/pokedex/entries/igglybuff.asm b/data/pokedex/entries/igglybuff.asm deleted file mode 100644 index aa1c1cabf..000000000 --- a/data/pokedex/entries/igglybuff.asm +++ /dev/null @@ -1,10 +0,0 @@ -; IgglybuffPokedexEntry: ; 0x1cd32c - db "BALLOON@" ; species name - dw 100, 20 ; height, weight - - db "Instead of walking" - next "with its short" - next "legs, it moves" - page "around by bouncing" - next "on its soft," - next "tender body.@" diff --git a/data/pokedex/entries/ivysaur.asm b/data/pokedex/entries/ivysaur.asm deleted file mode 100644 index 66d16d323..000000000 --- a/data/pokedex/entries/ivysaur.asm +++ /dev/null @@ -1,10 +0,0 @@ -; IvysaurPokedexEntry: ; 0x181702 - db "SEED@" ; species name - dw 303, 290 ; height, weight - - db "The bulb on its" - next "back grows as it" - next "absorbs nutrients." - page "The bulb gives off" - next "a pleasant aroma" - next "when it blooms.@" diff --git a/data/pokedex/entries/jigglypuff.asm b/data/pokedex/entries/jigglypuff.asm deleted file mode 100644 index 01a3b4480..000000000 --- a/data/pokedex/entries/jigglypuff.asm +++ /dev/null @@ -1,10 +0,0 @@ -; JigglypuffPokedexEntry: ; 0x182673 - db "BALLOON@" ; species name - dw 108, 120 ; height, weight - - db "It rolls its cute" - next "eyes as it sings a" - next "soothing lullaby." - page "Its gentle song" - next "puts anyone who" - next "hears it to sleep.@" diff --git a/data/pokedex/entries/jolteon.asm b/data/pokedex/entries/jolteon.asm deleted file mode 100644 index 9b9149d9a..000000000 --- a/data/pokedex/entries/jolteon.asm +++ /dev/null @@ -1,10 +0,0 @@ -; JolteonPokedexEntry: ; 0x1cc28b - db "LIGHTNING@" ; species name - dw 207, 540 ; height, weight - - db "The negatively" - next "charged ions" - next "generated in its" - page "fur create a" - next "constant sparking" - next "noise.@" diff --git a/data/pokedex/entries/jumpluff.asm b/data/pokedex/entries/jumpluff.asm deleted file mode 100644 index 0aade0b75..000000000 --- a/data/pokedex/entries/jumpluff.asm +++ /dev/null @@ -1,10 +0,0 @@ -; JumpluffPokedexEntry: ; 0x1cd998 - db "COTTONWEED@" ; species name - dw 207, 70 ; height, weight - - db "Even in the fierc-" - next "est wind, it can" - next "control its fluff" - page "to make its way to" - next "any place in the" - next "world it wants.@" diff --git a/data/pokedex/entries/jynx.asm b/data/pokedex/entries/jynx.asm deleted file mode 100644 index b4b9eac8c..000000000 --- a/data/pokedex/entries/jynx.asm +++ /dev/null @@ -1,10 +0,0 @@ -; JynxPokedexEntry: ; 0x1b98c5 - db "HUMANSHAPE@" ; species name - dw 407, 900 ; height, weight - - db "It has several" - next "different cry pat-" - next "terns, each of" - page "which seems to" - next "have its own" - next "meaning.@" diff --git a/data/pokedex/entries/kabuto.asm b/data/pokedex/entries/kabuto.asm deleted file mode 100644 index 9231fb9be..000000000 --- a/data/pokedex/entries/kabuto.asm +++ /dev/null @@ -1,10 +0,0 @@ -; KabutoPokedexEntry: ; 0x1cc497 - db "SHELLFISH@" ; species name - dw 108, 250 ; height, weight - - db "Three hundred" - next "million years ago," - next "it hid on the sea" - page "floor. It also has" - next "eyes on its back" - next "that glow.@" diff --git a/data/pokedex/entries/kabutops.asm b/data/pokedex/entries/kabutops.asm deleted file mode 100644 index 8f5e1348b..000000000 --- a/data/pokedex/entries/kabutops.asm +++ /dev/null @@ -1,10 +0,0 @@ -; KabutopsPokedexEntry: ; 0x1cc507 - db "SHELLFISH@" ; species name - dw 403, 890 ; height, weight - - db "It was able to" - next "swim quickly thro-" - next "ugh the water by" - page "compactly folding" - next "up its razor-sharp" - next "sickles.@" diff --git a/data/pokedex/entries/kadabra.asm b/data/pokedex/entries/kadabra.asm deleted file mode 100644 index 26226724f..000000000 --- a/data/pokedex/entries/kadabra.asm +++ /dev/null @@ -1,10 +0,0 @@ -; KadabraPokedexEntry: ; 0x18313c - db "PSI@" ; species name - dw 403, 1250 ; height, weight - - db "When it closes its" - next "eyes, twice as" - next "many alpha parti-" - page "cles come out of" - next "the surface of its" - next "body.@" diff --git a/data/pokedex/entries/kakuna.asm b/data/pokedex/entries/kakuna.asm deleted file mode 100644 index 469e14bf6..000000000 --- a/data/pokedex/entries/kakuna.asm +++ /dev/null @@ -1,10 +0,0 @@ -; KakunaPokedexEntry: ; 0x181c23 - db "COCOON@" ; species name - dw 200, 220 ; height, weight - - db "Nearly incapable" - next "of movement, it" - next "leans against" - page "stout trees while" - next "waiting for its" - next "evolution.@" diff --git a/data/pokedex/entries/kangaskhan.asm b/data/pokedex/entries/kangaskhan.asm deleted file mode 100644 index ec2050845..000000000 --- a/data/pokedex/entries/kangaskhan.asm +++ /dev/null @@ -1,10 +0,0 @@ -; KangaskhanPokedexEntry: ; 0x1b94f6 - db "PARENT@" ; species name - dw 703, 1760 ; height, weight - - db "To avoid" - next "crushing the" - next "baby it carries in" - page "its pouch, it" - next "always sleeps" - next "standing up.@" diff --git a/data/pokedex/entries/kingdra.asm b/data/pokedex/entries/kingdra.asm deleted file mode 100644 index 555601b51..000000000 --- a/data/pokedex/entries/kingdra.asm +++ /dev/null @@ -1,10 +0,0 @@ -; KingdraPokedexEntry: ; 0x1d0fd1 - db "DRAGON@" ; species name - dw 511, 3350 ; height, weight - - db "It stores energy" - next "by sleeping at" - next "underwater depths" - page "at which no other" - next "life forms can" - next "survive.@" diff --git a/data/pokedex/entries/kingler.asm b/data/pokedex/entries/kingler.asm deleted file mode 100644 index 25685d517..000000000 --- a/data/pokedex/entries/kingler.asm +++ /dev/null @@ -1,10 +0,0 @@ -; KinglerPokedexEntry: ; 0x1b8e45 - db "PINCER@" ; species name - dw 403, 1320 ; height, weight - - db "Its oversized claw" - next "is very powerful," - next "but when it's not" - page "in battle, the" - next "claw just gets in" - next "the way.@" diff --git a/data/pokedex/entries/koffing.asm b/data/pokedex/entries/koffing.asm deleted file mode 100644 index 20bde8671..000000000 --- a/data/pokedex/entries/koffing.asm +++ /dev/null @@ -1,10 +0,0 @@ -; KoffingPokedexEntry: ; 0x1b9276 - db "POISON GAS@" ; species name - dw 200, 20 ; height, weight - - db "If one gets close" - next "enough to it when" - next "it expels poison-" - page "ous gas, the gas" - next "swirling inside it" - next "can be seen.@" diff --git a/data/pokedex/entries/krabby.asm b/data/pokedex/entries/krabby.asm deleted file mode 100644 index 2435cd64d..000000000 --- a/data/pokedex/entries/krabby.asm +++ /dev/null @@ -1,10 +0,0 @@ -; KrabbyPokedexEntry: ; 0x1b8ddd - db "RIVER CRAB@" ; species name - dw 104, 140 ; height, weight - - db "If it is unable" - next "to find food, it" - next "will absorb" - page "nutrients by" - next "swallowing a" - next "mouthful of sand.@" diff --git a/data/pokedex/entries/lanturn.asm b/data/pokedex/entries/lanturn.asm deleted file mode 100644 index 3aa2b5523..000000000 --- a/data/pokedex/entries/lanturn.asm +++ /dev/null @@ -1,10 +0,0 @@ -; LanturnPokedexEntry: ; 0x1cd1de - db "LIGHT@" ; species name - dw 311, 500 ; height, weight - - db "This #MON uses" - next "the bright part of" - next "its body, which" - page "changed from a" - next "dorsal fin, to" - next "lure prey.@" diff --git a/data/pokedex/entries/lapras.asm b/data/pokedex/entries/lapras.asm deleted file mode 100644 index 550d6e12c..000000000 --- a/data/pokedex/entries/lapras.asm +++ /dev/null @@ -1,10 +0,0 @@ -; LaprasPokedexEntry: ; 0x1cc0cd - db "TRANSPORT@" ; species name - dw 802, 4850 ; height, weight - - db "This gentle" - next "#MON loves to" - next "give people rides" - page "and provides a ve-" - next "ry comfortable way" - next "to get around.@" diff --git a/data/pokedex/entries/larvitar.asm b/data/pokedex/entries/larvitar.asm deleted file mode 100644 index 14ec08c7b..000000000 --- a/data/pokedex/entries/larvitar.asm +++ /dev/null @@ -1,10 +0,0 @@ -; LarvitarPokedexEntry: ; 0x1d169c - db "ROCK SKIN@" ; species name - dw 200, 1590 ; height, weight - - db "Born deep under-" - next "ground, this" - next "#MON becomes a" - page "pupa after eating" - next "enough dirt to" - next "make a mountain.@" diff --git a/data/pokedex/entries/ledian.asm b/data/pokedex/entries/ledian.asm deleted file mode 100644 index a112aa722..000000000 --- a/data/pokedex/entries/ledian.asm +++ /dev/null @@ -1,10 +0,0 @@ -; LedianPokedexEntry: ; 0x1ccfa0 - db "FIVE STAR@" ; species name - dw 407, 780 ; height, weight - - db "In the daytime" - next "when it gets warm," - next "it curls up inside" - page "a big leaf and" - next "drifts off into" - next "a deep slumber.@" diff --git a/data/pokedex/entries/ledyba.asm b/data/pokedex/entries/ledyba.asm deleted file mode 100644 index 1e62ab4b1..000000000 --- a/data/pokedex/entries/ledyba.asm +++ /dev/null @@ -1,10 +0,0 @@ -; LedybaPokedexEntry: ; 0x1ccf2c - db "FIVE STAR@" ; species name - dw 303, 240 ; height, weight - - db "It is timid and" - next "clusters together" - next "with others. The" - page "fluid secreted by" - next "its feet indicates" - next "its location.@" diff --git a/data/pokedex/entries/lickitung.asm b/data/pokedex/entries/lickitung.asm deleted file mode 100644 index 0003f14dc..000000000 --- a/data/pokedex/entries/lickitung.asm +++ /dev/null @@ -1,10 +0,0 @@ -; LickitungPokedexEntry: ; 0x1b9210 - db "LICKING@" ; species name - dw 311, 1440 ; height, weight - - db "It has a tongue" - next "that is over 6'6''" - next "long. It uses this" - page "long tongue to" - next "lick its body" - next "clean.@" diff --git a/data/pokedex/entries/lugia.asm b/data/pokedex/entries/lugia.asm deleted file mode 100644 index c15345300..000000000 --- a/data/pokedex/entries/lugia.asm +++ /dev/null @@ -1,10 +0,0 @@ -; LugiaPokedexEntry: ; 0x1d17e9 - db "DIVING@" ; species name - dw 1701, 4760 ; height, weight - - db "It has an incred-" - next "ible ability to" - next "calm raging sto-" - page "rms. It is said" - next "that LUGIA appears" - next "when storms start.@" diff --git a/data/pokedex/entries/machamp.asm b/data/pokedex/entries/machamp.asm deleted file mode 100644 index 0ff42bf5f..000000000 --- a/data/pokedex/entries/machamp.asm +++ /dev/null @@ -1,10 +0,0 @@ -; MachampPokedexEntry: ; 0x1b8133 - db "SUPERPOWER@" ; species name - dw 503, 2870 ; height, weight - - db "With four arms" - next "that react more" - next "quickly than it" - page "can think, it can" - next "execute many" - next "punches at once.@" diff --git a/data/pokedex/entries/machoke.asm b/data/pokedex/entries/machoke.asm deleted file mode 100644 index 53523a832..000000000 --- a/data/pokedex/entries/machoke.asm +++ /dev/null @@ -1,10 +0,0 @@ -; MachokePokedexEntry: ; 0x1b80cb - db "SUPERPOWER@" ; species name - dw 411, 1550 ; height, weight - - db "This tough #MON" - next "always stays in" - next "the zone. Its" - page "muscles become" - next "thicker after" - next "every battle.@" diff --git a/data/pokedex/entries/machop.asm b/data/pokedex/entries/machop.asm deleted file mode 100644 index aba71bc04..000000000 --- a/data/pokedex/entries/machop.asm +++ /dev/null @@ -1,10 +0,0 @@ -; MachopPokedexEntry: ; 0x1b8065 - db "SUPERPOWER@" ; species name - dw 207, 430 ; height, weight - - db "It trains by" - next "lifting rocks in" - next "the mountains. It" - page "can even pick up a" - next "GRAVELER with" - next "ease.@" diff --git a/data/pokedex/entries/magby.asm b/data/pokedex/entries/magby.asm deleted file mode 100644 index 53f9e1129..000000000 --- a/data/pokedex/entries/magby.asm +++ /dev/null @@ -1,10 +0,0 @@ -; MagbyPokedexEntry: ; 0x1d140e - db "LIVE COAL@" ; species name - dw 204, 470 ; height, weight - - db "It naturally spits" - next "an 1100-degree" - next "flame. It is said" - page "when many appear," - next "it heralds a" - next "volcanic eruption.@" diff --git a/data/pokedex/entries/magcargo.asm b/data/pokedex/entries/magcargo.asm deleted file mode 100644 index 5f1122906..000000000 --- a/data/pokedex/entries/magcargo.asm +++ /dev/null @@ -1,10 +0,0 @@ -; MagcargoPokedexEntry: ; 0x1d0b21 - db "LAVA@" ; species name - dw 207, 1210 ; height, weight - - db "Its body is as hot" - next "as lava and is" - next "always billowing." - page "Flames will" - next "occasionally burst" - next "from its shell.@" diff --git a/data/pokedex/entries/magikarp.asm b/data/pokedex/entries/magikarp.asm deleted file mode 100644 index 765840899..000000000 --- a/data/pokedex/entries/magikarp.asm +++ /dev/null @@ -1,10 +0,0 @@ -; MagikarpPokedexEntry: ; 0x1cc000 - db "FISH@" ; species name - dw 211, 220 ; height, weight - - db "This weak and" - next "pathetic #MON" - next "gets easily pushed" - page "along rivers when" - next "there are strong" - next "currents.@" diff --git a/data/pokedex/entries/magmar.asm b/data/pokedex/entries/magmar.asm deleted file mode 100644 index 1bfa961f9..000000000 --- a/data/pokedex/entries/magmar.asm +++ /dev/null @@ -1,10 +0,0 @@ -; MagmarPokedexEntry: ; 0x1b9994 - db "SPITFIRE@" ; species name - dw 403, 980 ; height, weight - - db "It moves more" - next "frequently in hot" - next "areas. It can heal" - page "itself by dipping" - next "its wound into" - next "lava.@" diff --git a/data/pokedex/entries/magnemite.asm b/data/pokedex/entries/magnemite.asm deleted file mode 100644 index e7703e050..000000000 --- a/data/pokedex/entries/magnemite.asm +++ /dev/null @@ -1,10 +0,0 @@ -; MagnemitePokedexEntry: ; 0x1b869d - db "MAGNET@" ; species name - dw 100, 130 ; height, weight - - db "The electricity" - next "emitted by the" - next "units on each side" - page "of its body cause" - next "it to become a" - next "strong magnet.@" diff --git a/data/pokedex/entries/magneton.asm b/data/pokedex/entries/magneton.asm deleted file mode 100644 index 115506ad6..000000000 --- a/data/pokedex/entries/magneton.asm +++ /dev/null @@ -1,10 +0,0 @@ -; MagnetonPokedexEntry: ; 0x1b870a - db "MAGNET@" ; species name - dw 303, 1320 ; height, weight - - db "When many" - next "MAGNETON gather" - next "together, the" - page "resulting magnetic" - next "storm disrupts" - next "radio waves.@" diff --git a/data/pokedex/entries/mankey.asm b/data/pokedex/entries/mankey.asm deleted file mode 100644 index 59dfc4919..000000000 --- a/data/pokedex/entries/mankey.asm +++ /dev/null @@ -1,10 +0,0 @@ -; MankeyPokedexEntry: ; 0x182dbd - db "PIG MONKEY@" ; species name - dw 108, 620 ; height, weight - - db "It lives in groups" - next "in the treetops." - next "If it loses sight" - page "of its group, it" - next "becomes infuriated" - next "by its loneliness.@" diff --git a/data/pokedex/entries/mantine.asm b/data/pokedex/entries/mantine.asm deleted file mode 100644 index 880c4f179..000000000 --- a/data/pokedex/entries/mantine.asm +++ /dev/null @@ -1,10 +0,0 @@ -; MantinePokedexEntry: ; 0x1d0e25 - db "KITE@" ; species name - dw 611, 4850 ; height, weight - - db "It swims along" - next "freely, eating" - next "things that swim" - page "into its mouth." - next "Its whole body is" - next "very coarse.@" diff --git a/data/pokedex/entries/mareep.asm b/data/pokedex/entries/mareep.asm deleted file mode 100644 index 94f78ee31..000000000 --- a/data/pokedex/entries/mareep.asm +++ /dev/null @@ -1,10 +0,0 @@ -; MareepPokedexEntry: ; 0x1cd551 - db "WOOL@" ; species name - dw 200, 170 ; height, weight - - db "It stores lots of" - next "air in its soft" - next "fur, allowing it" - page "to stay cool in" - next "summer and warm" - next "in winter.@" diff --git a/data/pokedex/entries/marill.asm b/data/pokedex/entries/marill.asm deleted file mode 100644 index 6afbc2902..000000000 --- a/data/pokedex/entries/marill.asm +++ /dev/null @@ -1,10 +0,0 @@ -; MarillPokedexEntry: ; 0x1cd705 - db "AQUAMOUSE@" ; species name - dw 104, 190 ; height, weight - - db "The fur on its" - next "body naturally" - next "repels water. It" - page "can stay dry, even" - next "when it plays in" - next "the water.@" diff --git a/data/pokedex/entries/marowak.asm b/data/pokedex/entries/marowak.asm deleted file mode 100644 index 01baf04e3..000000000 --- a/data/pokedex/entries/marowak.asm +++ /dev/null @@ -1,10 +0,0 @@ -; MarowakPokedexEntry: ; 0x1b90d2 - db "BONEKEEPER@" ; species name - dw 303, 990 ; height, weight - - db "Somewhere in the" - next "world is a ceme-" - next "tery just for" - page "MAROWAK. It gets" - next "its bones from" - next "those graves.@" diff --git a/data/pokedex/entries/meganium.asm b/data/pokedex/entries/meganium.asm deleted file mode 100644 index dead64ff5..000000000 --- a/data/pokedex/entries/meganium.asm +++ /dev/null @@ -1,10 +0,0 @@ -; MeganiumPokedexEntry: ; 0x1cca54 - db "HERB@" ; species name - dw 511, 2220 ; height, weight - - db "Anyone who stands" - next "beside it becomes" - next "refreshed, just as" - page "if they were" - next "relaxing in a" - next "sunny forest.@" diff --git a/data/pokedex/entries/meowth.asm b/data/pokedex/entries/meowth.asm deleted file mode 100644 index 9fe66977b..000000000 --- a/data/pokedex/entries/meowth.asm +++ /dev/null @@ -1,10 +0,0 @@ -; MeowthPokedexEntry: ; 0x182c08 - db "SCRATCHCAT@" ; species name - dw 104, 90 ; height, weight - - db "It loves things" - next "that sparkle. When" - next "it sees a shiny" - page "object, the gold" - next "coin on its head" - next "shines too.@" diff --git a/data/pokedex/entries/metapod.asm b/data/pokedex/entries/metapod.asm deleted file mode 100644 index b2c6b78b7..000000000 --- a/data/pokedex/entries/metapod.asm +++ /dev/null @@ -1,10 +0,0 @@ -; MetapodPokedexEntry: ; 0x181ace - db "COCOON@" ; species name - dw 204, 220 ; height, weight - - db "This is its pre-" - next "evolved form. At" - next "this stage, it can" - page "only harden, so it" - next "remains motionless" - next "to avoid attack.@" diff --git a/data/pokedex/entries/mew.asm b/data/pokedex/entries/mew.asm deleted file mode 100644 index 9da7f6a17..000000000 --- a/data/pokedex/entries/mew.asm +++ /dev/null @@ -1,10 +0,0 @@ -; MewPokedexEntry: ; 0x1cc915 - db "NEW SPECIE@" ; species name - dw 104, 90 ; height, weight - - db "Because it can" - next "learn any move," - next "some people began" - page "research to see if" - next "it is the ancestor" - next "of all #MON.@" diff --git a/data/pokedex/entries/mewtwo.asm b/data/pokedex/entries/mewtwo.asm deleted file mode 100644 index eb41ebb90..000000000 --- a/data/pokedex/entries/mewtwo.asm +++ /dev/null @@ -1,10 +0,0 @@ -; MewtwoPokedexEntry: ; 0x1cc8ae - db "GENETIC@" ; species name - dw 607, 2690 ; height, weight - - db "Said to rest qui-" - next "etly in an" - next "undiscovered cave," - page "this #MON was" - next "created solely for" - next "battling.@" diff --git a/data/pokedex/entries/miltank.asm b/data/pokedex/entries/miltank.asm deleted file mode 100644 index 1f85ef668..000000000 --- a/data/pokedex/entries/miltank.asm +++ /dev/null @@ -1,10 +0,0 @@ -; MiltankPokedexEntry: ; 0x1d1482 - db "MILK COW@" ; species name - dw 311, 1660 ; height, weight - - db "In order to milk a" - next "MILTANK, one must" - next "have a knack for" - page "rhythmically pull-" - next "ing up and down" - next "on its udders.@" diff --git a/data/pokedex/entries/misdreavus.asm b/data/pokedex/entries/misdreavus.asm deleted file mode 100644 index c3f1b002a..000000000 --- a/data/pokedex/entries/misdreavus.asm +++ /dev/null @@ -1,10 +0,0 @@ -; MisdreavusPokedexEntry: ; 0x1d0301 - db "SCREECH@" ; species name - dw 204, 20 ; height, weight - - db "It loves to watch" - next "people it's scar-" - next "ed. It frightens" - page "them by screaming" - next "loudly or appear-" - next "ing suddenly.@" diff --git a/data/pokedex/entries/moltres.asm b/data/pokedex/entries/moltres.asm deleted file mode 100644 index f459d622e..000000000 --- a/data/pokedex/entries/moltres.asm +++ /dev/null @@ -1,10 +0,0 @@ -; MoltresPokedexEntry: ; 0x1cc706 - db "FLAME@" ; species name - dw 607, 1320 ; height, weight - - db "Legendary bird" - next "#MON. It is" - next "said to migrate" - page "from the south" - next "along with the" - next "spring.@" diff --git a/data/pokedex/entries/mr__mime.asm b/data/pokedex/entries/mr__mime.asm deleted file mode 100644 index dce25be67..000000000 --- a/data/pokedex/entries/mr__mime.asm +++ /dev/null @@ -1,10 +0,0 @@ -; MrMimePokedexEntry: ; 0x1b97ea - db "BARRIER@" ; species name - dw 403, 1200 ; height, weight - - db "It uses the" - next "mysterious" - next "power it has in" - page "its fingers to" - next "solidify air into" - next "an invisible wall.@" diff --git a/data/pokedex/entries/muk.asm b/data/pokedex/entries/muk.asm deleted file mode 100644 index 49512c99f..000000000 --- a/data/pokedex/entries/muk.asm +++ /dev/null @@ -1,10 +0,0 @@ -; MukPokedexEntry: ; 0x1b89fc - db "SLUDGE@" ; species name - dw 311, 660 ; height, weight - - db "As it moves, a" - next "very strong poison" - next "leaks from it," - page "making the ground" - next "there barren for" - next "three years.@" diff --git a/data/pokedex/entries/murkrow.asm b/data/pokedex/entries/murkrow.asm deleted file mode 100644 index 6a0f42145..000000000 --- a/data/pokedex/entries/murkrow.asm +++ /dev/null @@ -1,10 +0,0 @@ -; MurkrowPokedexEntry: ; 0x1d021e - db "DARKNESS@" ; species name - dw 108, 50 ; height, weight - - db "It hides any shiny" - next "object it finds in" - next "a secret location." - page "MURKROW and" - next "MEOWTH loot one" - next "another's stashes.@" diff --git a/data/pokedex/entries/natu.asm b/data/pokedex/entries/natu.asm deleted file mode 100644 index 20958dbff..000000000 --- a/data/pokedex/entries/natu.asm +++ /dev/null @@ -1,10 +0,0 @@ -; NatuPokedexEntry: ; 0x1cd47d - db "LITTLE BIRD@" ; species name - dw 8, 40 ; height, weight - - db "It is extremely" - next "good at climbing" - next "tree trunks and" - page "likes to eat the" - next "new sprouts on" - next "the trees.@" diff --git a/data/pokedex/entries/nidoking.asm b/data/pokedex/entries/nidoking.asm deleted file mode 100644 index 97c203064..000000000 --- a/data/pokedex/entries/nidoking.asm +++ /dev/null @@ -1,10 +0,0 @@ -; NidokingPokedexEntry: ; 0x182463 - db "DRILL@" ; species name - dw 407, 1370 ; height, weight - - db "It uses its thick" - next "arms, legs and" - next "tail to attack" - page "forcefully. Melee" - next "combat is its" - next "specialty.@" diff --git a/data/pokedex/entries/nidoqueen.asm b/data/pokedex/entries/nidoqueen.asm deleted file mode 100644 index c0f711eb4..000000000 --- a/data/pokedex/entries/nidoqueen.asm +++ /dev/null @@ -1,10 +0,0 @@ -; NidoqueenPokedexEntry: ; 0x18232e - db "DRILL@" ; species name - dw 403, 1320 ; height, weight - - db "The hard scales" - next "that cover its" - next "strong body serve" - page "as excellent" - next "protection from" - next "any attack.@" diff --git a/data/pokedex/entries/nidoran_f.asm b/data/pokedex/entries/nidoran_f.asm deleted file mode 100644 index 4e7299b0d..000000000 --- a/data/pokedex/entries/nidoran_f.asm +++ /dev/null @@ -1,10 +0,0 @@ -; NidoranFPokedexEntry: ; 0x18224b - db "POISON PIN@" ; species name - dw 104, 150 ; height, weight - - db "Small and very" - next "docile, it pro-" - next "tects itself with" - page "its small, poison-" - next "ous horn when" - next "attacked.@" diff --git a/data/pokedex/entries/nidoran_m.asm b/data/pokedex/entries/nidoran_m.asm deleted file mode 100644 index 8970afc36..000000000 --- a/data/pokedex/entries/nidoran_m.asm +++ /dev/null @@ -1,10 +0,0 @@ -; NidoranMPokedexEntry: ; 0x182392 - db "POISON PIN@" ; species name - dw 108, 200 ; height, weight - - db "It constantly" - next "moves its large" - next "ears in many" - page "directions in" - next "order to detect" - next "danger right away.@" diff --git a/data/pokedex/entries/nidorina.asm b/data/pokedex/entries/nidorina.asm deleted file mode 100644 index 93c1e164d..000000000 --- a/data/pokedex/entries/nidorina.asm +++ /dev/null @@ -1,10 +0,0 @@ -; NidorinaPokedexEntry: ; 0x1822b6 - db "POISON PIN@" ; species name - dw 207, 440 ; height, weight - - db "It has a docile" - next "nature. If it is" - next "threatened with" - page "attack, it raises" - next "the barbs that are" - next "all over its body.@" diff --git a/data/pokedex/entries/nidorino.asm b/data/pokedex/entries/nidorino.asm deleted file mode 100644 index 6b1403ad2..000000000 --- a/data/pokedex/entries/nidorino.asm +++ /dev/null @@ -1,10 +0,0 @@ -; NidorinoPokedexEntry: ; 0x1823fd - db "POISON PIN@" ; species name - dw 211, 430 ; height, weight - - db "It is easily" - next "agitated and uses" - next "its horn for" - page "offense as soon as" - next "it notices an" - next "attacker.@" diff --git a/data/pokedex/entries/ninetales.asm b/data/pokedex/entries/ninetales.asm deleted file mode 100644 index fd3a66ffb..000000000 --- a/data/pokedex/entries/ninetales.asm +++ /dev/null @@ -1,10 +0,0 @@ -; NinetalesPokedexEntry: ; 0x18260c - db "FOX@" ; species name - dw 307, 440 ; height, weight - - db "It is said to live" - next "a thousand years," - next "and each of its" - page "tails is loaded" - next "with supernatural" - next "powers.@" diff --git a/data/pokedex/entries/noctowl.asm b/data/pokedex/entries/noctowl.asm deleted file mode 100644 index b939cfe05..000000000 --- a/data/pokedex/entries/noctowl.asm +++ /dev/null @@ -1,10 +0,0 @@ -; NoctowlPokedexEntry: ; 0x1cceb9 - db "OWL@" ; species name - dw 503, 900 ; height, weight - - db "Its extremely soft" - next "feathers make no" - next "sound in flight." - page "It silently sneaks" - next "up on prey without" - next "being detected.@" diff --git a/data/pokedex/entries/octillery.asm b/data/pokedex/entries/octillery.asm deleted file mode 100644 index 902c1bf9a..000000000 --- a/data/pokedex/entries/octillery.asm +++ /dev/null @@ -1,10 +0,0 @@ -; OctilleryPokedexEntry: ; 0x1d0d42 - db "JET@" ; species name - dw 211, 630 ; height, weight - - db "Its instinct is to" - next "bury itself in" - next "holes. It often" - page "steals the nesting" - next "holes of others to" - next "sleep in them.@" diff --git a/data/pokedex/entries/oddish.asm b/data/pokedex/entries/oddish.asm deleted file mode 100644 index 84560c113..000000000 --- a/data/pokedex/entries/oddish.asm +++ /dev/null @@ -1,10 +0,0 @@ -; OddishPokedexEntry: ; 0x182836 - db "WEED@" ; species name - dw 108, 120 ; height, weight - - db "During the day, it" - next "stays in the cold" - next "underground to" - page "avoid the sun." - next "It grows by bath-" - next "ing in moonlight.@" diff --git a/data/pokedex/entries/omanyte.asm b/data/pokedex/entries/omanyte.asm deleted file mode 100644 index 9f7948fe0..000000000 --- a/data/pokedex/entries/omanyte.asm +++ /dev/null @@ -1,10 +0,0 @@ -; OmanytePokedexEntry: ; 0x1cc3c1 - db "SPIRAL@" ; species name - dw 104, 170 ; height, weight - - db "In prehistoric" - next "times, it swam on" - next "the sea floor," - page "eating plankton." - next "Its fossils are" - next "sometimes found.@" diff --git a/data/pokedex/entries/omastar.asm b/data/pokedex/entries/omastar.asm deleted file mode 100644 index 65ba92356..000000000 --- a/data/pokedex/entries/omastar.asm +++ /dev/null @@ -1,10 +0,0 @@ -; OmastarPokedexEntry: ; 0x1cc42e - db "SPIRAL@" ; species name - dw 303, 770 ; height, weight - - db "Its heavy shell" - next "allowed it to" - next "reach only nearby" - page "food. This could" - next "be the reason it" - next "is extinct.@" diff --git a/data/pokedex/entries/onix.asm b/data/pokedex/entries/onix.asm deleted file mode 100644 index f0f88fcff..000000000 --- a/data/pokedex/entries/onix.asm +++ /dev/null @@ -1,10 +0,0 @@ -; OnixPokedexEntry: ; 0x1b8c98 - db "ROCK SNAKE@" ; species name - dw 2810, 4630 ; height, weight - - db "As it digs through" - next "the ground, it" - next "absorbs many hard" - page "objects. This is" - next "what makes its" - next "body so solid.@" diff --git a/data/pokedex/entries/paras.asm b/data/pokedex/entries/paras.asm deleted file mode 100644 index 152e1fcc0..000000000 --- a/data/pokedex/entries/paras.asm +++ /dev/null @@ -1,10 +0,0 @@ -; ParasPokedexEntry: ; 0x18297f - db "MUSHROOM@" ; species name - dw 100, 120 ; height, weight - - db "The tochukaso" - next "growing on this" - next "#MON's back" - page "orders it to" - next "extract juice from" - next "tree trunks.@" diff --git a/data/pokedex/entries/parasect.asm b/data/pokedex/entries/parasect.asm deleted file mode 100644 index bd912212e..000000000 --- a/data/pokedex/entries/parasect.asm +++ /dev/null @@ -1,10 +0,0 @@ -; ParasectPokedexEntry: ; 0x1829e2 - db "MUSHROOM@" ; species name - dw 303, 650 ; height, weight - - db "When nothing's" - next "left to extract" - next "from the bug, the" - page "mushrooms on its" - next "back leave spores" - next "on the bug's egg.@" diff --git a/data/pokedex/entries/persian.asm b/data/pokedex/entries/persian.asm deleted file mode 100644 index 7ce74f6f8..000000000 --- a/data/pokedex/entries/persian.asm +++ /dev/null @@ -1,10 +0,0 @@ -; PersianPokedexEntry: ; 0x182c78 - db "CLASSY CAT@" ; species name - dw 303, 710 ; height, weight - - db "Behind its lithe," - next "elegant appearance" - next "lies a barbaric" - page "side. It will tear" - next "apart its prey on" - next "a mere whim.@" diff --git a/data/pokedex/entries/phanpy.asm b/data/pokedex/entries/phanpy.asm deleted file mode 100644 index a7393e546..000000000 --- a/data/pokedex/entries/phanpy.asm +++ /dev/null @@ -1,10 +0,0 @@ -; PhanpyPokedexEntry: ; 0x1d1038 - db "LONG NOSE@" ; species name - dw 108, 740 ; height, weight - - db "During the desert-" - next "ed morning hours," - next "it comes ashore" - page "where it deftly" - next "uses its trunk to" - next "take a shower.@" diff --git a/data/pokedex/entries/pichu.asm b/data/pokedex/entries/pichu.asm deleted file mode 100644 index b31976aaf..000000000 --- a/data/pokedex/entries/pichu.asm +++ /dev/null @@ -1,10 +0,0 @@ -; PichuPokedexEntry: ; 0x1cd243 - db "TINY MOUSE@" ; species name - dw 100, 40 ; height, weight - - db "It is unskilled at" - next "storing electric" - next "power. Any kind of" - page "shock causes it to" - next "discharge energy" - next "spontaneously.@" diff --git a/data/pokedex/entries/pidgeot.asm b/data/pokedex/entries/pidgeot.asm deleted file mode 100644 index 16a877427..000000000 --- a/data/pokedex/entries/pidgeot.asm +++ /dev/null @@ -1,10 +0,0 @@ -; PidgeotPokedexEntry: ; 0x181dd7 - db "BIRD@" ; species name - dw 411, 870 ; height, weight - - db "Its outstanding" - next "vision allows it" - next "to spot splashing" - page "MAGIKARP, even" - next "while flying at" - next "3300 feet.@" diff --git a/data/pokedex/entries/pidgeotto.asm b/data/pokedex/entries/pidgeotto.asm deleted file mode 100644 index 1ab6fde5c..000000000 --- a/data/pokedex/entries/pidgeotto.asm +++ /dev/null @@ -1,10 +0,0 @@ -; PidgeottoPokedexEntry: ; 0x181d75 - db "BIRD@" ; species name - dw 307, 660 ; height, weight - - db "It slowly flies in" - next "a circular pat-" - next "tern, all the" - page "while keeping a" - next "sharp lookout for" - next "prey.@" diff --git a/data/pokedex/entries/pidgey.asm b/data/pokedex/entries/pidgey.asm deleted file mode 100644 index 491dfb9b9..000000000 --- a/data/pokedex/entries/pidgey.asm +++ /dev/null @@ -1,10 +0,0 @@ -; PidgeyPokedexEntry: ; 0x181cfa - db "TINY BIRD@" ; species name - dw 100, 40 ; height, weight - - db "It rapidly flaps" - next "its wings in the" - next "grass, stirring up" - page "a dust cloud that" - next "drives insect prey" - next "out into the open.@" diff --git a/data/pokedex/entries/pikachu.asm b/data/pokedex/entries/pikachu.asm deleted file mode 100644 index 680e24673..000000000 --- a/data/pokedex/entries/pikachu.asm +++ /dev/null @@ -1,10 +0,0 @@ -; PikachuPokedexEntry: ; 0x1820ad - db "MOUSE@" ; species name - dw 104, 130 ; height, weight - - db "When it is anger-" - next "ed, it immediately" - next "discharges the" - page "energy stored in" - next "the pouches in its" - next "cheeks.@" diff --git a/data/pokedex/entries/piloswine.asm b/data/pokedex/entries/piloswine.asm deleted file mode 100644 index 326ea4503..000000000 --- a/data/pokedex/entries/piloswine.asm +++ /dev/null @@ -1,10 +0,0 @@ -; PiloswinePokedexEntry: ; 0x1d0c01 - db "SWINE@" ; species name - dw 307, 1230 ; height, weight - - db "Although its legs" - next "are short, its" - next "rugged hooves" - page "prevent it from" - next "slipping, even on" - next "icy ground.@" diff --git a/data/pokedex/entries/pineco.asm b/data/pokedex/entries/pineco.asm deleted file mode 100644 index 9781b094e..000000000 --- a/data/pokedex/entries/pineco.asm +++ /dev/null @@ -1,10 +0,0 @@ -; PinecoPokedexEntry: ; 0x1d04b0 - db "BAGWORM@" ; species name - dw 200, 160 ; height, weight - - db "It spits out a" - next "fluid that it uses" - next "to glue tree bark" - page "to its body. The" - next "fluid hardens when" - next "it touches air.@" diff --git a/data/pokedex/entries/pinsir.asm b/data/pokedex/entries/pinsir.asm deleted file mode 100644 index c236b3594..000000000 --- a/data/pokedex/entries/pinsir.asm +++ /dev/null @@ -1,10 +0,0 @@ -; PinsirPokedexEntry: ; 0x1b99fb - db "STAGBEETLE@" ; species name - dw 411, 1210 ; height, weight - - db "When the tempera-" - next "ture drops at" - next "night, it sleeps" - page "on treetops or" - next "among roots where" - next "it is well hidden.@" diff --git a/data/pokedex/entries/politoed.asm b/data/pokedex/entries/politoed.asm deleted file mode 100644 index 0dea3d572..000000000 --- a/data/pokedex/entries/politoed.asm +++ /dev/null @@ -1,10 +0,0 @@ -; PolitoedPokedexEntry: ; 0x1cd84b - db "FROG@" ; species name - dw 307, 750 ; height, weight - - db "When it expands" - next "its throat to" - next "croak out a tune," - page "nearby POLIWAG and" - next "POLIWHIRL gather" - next "immediately.@" diff --git a/data/pokedex/entries/poliwag.asm b/data/pokedex/entries/poliwag.asm deleted file mode 100644 index d21677cc4..000000000 --- a/data/pokedex/entries/poliwag.asm +++ /dev/null @@ -1,10 +0,0 @@ -; PoliwagPokedexEntry: ; 0x182f91 - db "TADPOLE@" ; species name - dw 200, 270 ; height, weight - - db "The swirl on its" - next "belly is its" - next "insides showing" - page "through the skin." - next "It looks clearer" - next "after it eats.@" diff --git a/data/pokedex/entries/poliwhirl.asm b/data/pokedex/entries/poliwhirl.asm deleted file mode 100644 index 69a6ee206..000000000 --- a/data/pokedex/entries/poliwhirl.asm +++ /dev/null @@ -1,10 +0,0 @@ -; PoliwhirlPokedexEntry: ; 0x182ffd - db "TADPOLE@" ; species name - dw 303, 440 ; height, weight - - db "Though it is" - next "skilled at walk-" - next "ing, it prefers to" - page "live underwater" - next "where there is" - next "less danger.@" diff --git a/data/pokedex/entries/poliwrath.asm b/data/pokedex/entries/poliwrath.asm deleted file mode 100644 index bb3e7dda5..000000000 --- a/data/pokedex/entries/poliwrath.asm +++ /dev/null @@ -1,10 +0,0 @@ -; PoliwrathPokedexEntry: ; 0x183066 - db "TADPOLE@" ; species name - dw 403, 1190 ; height, weight - - db "It can use its" - next "well-developed" - next "arms and legs to" - page "run on the surface" - next "of the water for a" - next "split second.@" diff --git a/data/pokedex/entries/ponyta.asm b/data/pokedex/entries/ponyta.asm deleted file mode 100644 index fa123cde1..000000000 --- a/data/pokedex/entries/ponyta.asm +++ /dev/null @@ -1,10 +0,0 @@ -; PonytaPokedexEntry: ; 0x1b84f2 - db "FIRE HORSE@" ; species name - dw 303, 660 ; height, weight - - db "Training by" - next "jumping over grass" - next "that grows longer" - page "every day has made" - next "it a world-class" - next "jumper.@" diff --git a/data/pokedex/entries/porygon.asm b/data/pokedex/entries/porygon.asm deleted file mode 100644 index 9a73c9623..000000000 --- a/data/pokedex/entries/porygon.asm +++ /dev/null @@ -1,10 +0,0 @@ -; PorygonPokedexEntry: ; 0x1cc353 - db "VIRTUAL@" ; species name - dw 207, 800 ; height, weight - - db "An artificial" - next "#MON created" - next "due to extensive" - page "research, it can" - next "perform only what" - next "is in its program.@" diff --git a/data/pokedex/entries/porygon2.asm b/data/pokedex/entries/porygon2.asm deleted file mode 100644 index 8591e0039..000000000 --- a/data/pokedex/entries/porygon2.asm +++ /dev/null @@ -1,10 +0,0 @@ -; Porygon2PokedexEntry: ; 0x1d110c - db "VIRTUAL@" ; species name - dw 200, 720 ; height, weight - - db "This manmade" - next "#MON evolved" - next "from the latest" - page "technology. It" - next "may have unprog-" - next "rammed reactions.@" diff --git a/data/pokedex/entries/primeape.asm b/data/pokedex/entries/primeape.asm deleted file mode 100644 index 7d7f211cc..000000000 --- a/data/pokedex/entries/primeape.asm +++ /dev/null @@ -1,10 +0,0 @@ -; PrimeapePokedexEntry: ; 0x182e39 - db "PIG MONKEY@" ; species name - dw 303, 710 ; height, weight - - db "It will beat up" - next "anyone who makes" - next "it mad, even if it" - page "has to chase them" - next "until the end of" - next "the world.@" diff --git a/data/pokedex/entries/psyduck.asm b/data/pokedex/entries/psyduck.asm deleted file mode 100644 index 088b4ff76..000000000 --- a/data/pokedex/entries/psyduck.asm +++ /dev/null @@ -1,10 +0,0 @@ -; PsyduckPokedexEntry: ; 0x182cee - db "DUCK@" ; species name - dw 207, 430 ; height, weight - - db "The only time it" - next "can use its psy-" - next "chic power is when" - page "its sleeping brain" - next "cells happen to" - next "wake.@" diff --git a/data/pokedex/entries/pupitar.asm b/data/pokedex/entries/pupitar.asm deleted file mode 100644 index d35e457ad..000000000 --- a/data/pokedex/entries/pupitar.asm +++ /dev/null @@ -1,10 +0,0 @@ -; PupitarPokedexEntry: ; 0x1d1709 - db "HARD SHELL@" ; species name - dw 311, 3350 ; height, weight - - db "It will not stay" - next "still, even while" - next "it's a pupa. It" - page "already has arms" - next "and legs under its" - next "solid shell.@" diff --git a/data/pokedex/entries/quagsire.asm b/data/pokedex/entries/quagsire.asm deleted file mode 100644 index 053058d54..000000000 --- a/data/pokedex/entries/quagsire.asm +++ /dev/null @@ -1,10 +0,0 @@ -; QuagsirePokedexEntry: ; 0x1d00dd - db "WATER FISH@" ; species name - dw 407, 1650 ; height, weight - - db "Its body is always" - next "slimy. It often" - next "bangs its head on" - page "the river bottom" - next "as it swims but" - next "seems not to care.@" diff --git a/data/pokedex/entries/quilava.asm b/data/pokedex/entries/quilava.asm deleted file mode 100644 index aaf8069af..000000000 --- a/data/pokedex/entries/quilava.asm +++ /dev/null @@ -1,10 +0,0 @@ -; QuilavaPokedexEntry: ; 0x1ccb33 - db "VOLCANO@" ; species name - dw 211, 420 ; height, weight - - db "Before battle, it" - next "turns its back on" - next "its opponent to" - page "demonstrate how" - next "ferociously its" - next "fire blazes.@" diff --git a/data/pokedex/entries/qwilfish.asm b/data/pokedex/entries/qwilfish.asm deleted file mode 100644 index d9529146f..000000000 --- a/data/pokedex/entries/qwilfish.asm +++ /dev/null @@ -1,10 +0,0 @@ -; QwilfishPokedexEntry: ; 0x1d07b1 - db "BALLOON@" ; species name - dw 108, 90 ; height, weight - - db "When faced with a" - next "larger opponent," - next "it swallows as" - page "much water as it" - next "can to match the" - next "opponent's size.@" diff --git a/data/pokedex/entries/raichu.asm b/data/pokedex/entries/raichu.asm deleted file mode 100644 index 886aef283..000000000 --- a/data/pokedex/entries/raichu.asm +++ /dev/null @@ -1,10 +0,0 @@ -; RaichuPokedexEntry: ; 0x182117 - db "MOUSE@" ; species name - dw 207, 660 ; height, weight - - db "If its electric" - next "pouches run empty," - next "it raises its tail" - page "to gather electri-" - next "city from the" - next "atmosphere.@" diff --git a/data/pokedex/entries/raikou.asm b/data/pokedex/entries/raikou.asm deleted file mode 100644 index 315eb84ae..000000000 --- a/data/pokedex/entries/raikou.asm +++ /dev/null @@ -1,10 +0,0 @@ -; RaikouPokedexEntry: ; 0x1d156b - db "THUNDER@" ; species name - dw 603, 3920 ; height, weight - - db "This rough #MON" - next "stores energy" - next "inside its body," - page "then sweeps across" - next "the land, shooting" - next "off electricity.@" diff --git a/data/pokedex/entries/rapidash.asm b/data/pokedex/entries/rapidash.asm deleted file mode 100644 index ae98e2cb8..000000000 --- a/data/pokedex/entries/rapidash.asm +++ /dev/null @@ -1,10 +0,0 @@ -; RapidashPokedexEntry: ; 0x1b855e - db "FIRE HORSE@" ; species name - dw 507, 2090 ; height, weight - - db "It just loves to" - next "gallop. The faster" - next "it goes, the long-" - page "er the swaying" - next "flames of its mane" - next "will become.@" diff --git a/data/pokedex/entries/raticate.asm b/data/pokedex/entries/raticate.asm deleted file mode 100644 index f009c29aa..000000000 --- a/data/pokedex/entries/raticate.asm +++ /dev/null @@ -1,10 +0,0 @@ -; RaticatePokedexEntry: ; 0x181ea3 - db "RAT@" ; species name - dw 204, 410 ; height, weight - - db "The webs on its" - next "hind legs enable" - next "it to cross" - page "rivers. It search-" - next "es wide areas for" - next "food.@" diff --git a/data/pokedex/entries/rattata.asm b/data/pokedex/entries/rattata.asm deleted file mode 100644 index 0a066eb74..000000000 --- a/data/pokedex/entries/rattata.asm +++ /dev/null @@ -1,10 +0,0 @@ -; RattataPokedexEntry: ; 0x181e3d - db "RAT@" ; species name - dw 100, 80 ; height, weight - - db "This #MON's" - next "impressive vital-" - next "ity allows it to" - page "live anywhere. It" - next "also multiplies" - next "very quickly.@" diff --git a/data/pokedex/entries/remoraid.asm b/data/pokedex/entries/remoraid.asm deleted file mode 100644 index aaa6f1a49..000000000 --- a/data/pokedex/entries/remoraid.asm +++ /dev/null @@ -1,10 +0,0 @@ -; RemoraidPokedexEntry: ; 0x1d0cd3 - db "JET@" ; species name - dw 200, 260 ; height, weight - - db "To escape from an" - next "attacker, it may" - next "shoot water out of" - page "its mouth, then" - next "use that force to" - next "swim backward.@" diff --git a/data/pokedex/entries/rhydon.asm b/data/pokedex/entries/rhydon.asm deleted file mode 100644 index c820666b3..000000000 --- a/data/pokedex/entries/rhydon.asm +++ /dev/null @@ -1,10 +0,0 @@ -; RhydonPokedexEntry: ; 0x1b93c5 - db "DRILL@" ; species name - dw 603, 2650 ; height, weight - - db "By lightly spin-" - next "ning its drill-" - next "like horn, it can" - page "easily shatter" - next "even a diamond in" - next "the rough.@" diff --git a/data/pokedex/entries/rhyhorn.asm b/data/pokedex/entries/rhyhorn.asm deleted file mode 100644 index b2f26e204..000000000 --- a/data/pokedex/entries/rhyhorn.asm +++ /dev/null @@ -1,10 +0,0 @@ -; RhyhornPokedexEntry: ; 0x1b935d - db "SPIKES@" ; species name - dw 303, 2540 ; height, weight - - db "It can remember" - next "only one thing at" - next "a time. Once it" - page "starts rushing, it" - next "forgets why it" - next "started.@" diff --git a/data/pokedex/entries/sandshrew.asm b/data/pokedex/entries/sandshrew.asm deleted file mode 100644 index 2ef83f9c3..000000000 --- a/data/pokedex/entries/sandshrew.asm +++ /dev/null @@ -1,10 +0,0 @@ -; SandshrewPokedexEntry: ; 0x182184 - db "MOUSE@" ; species name - dw 200, 260 ; height, weight - - db "It prefers dry," - next "sandy places" - next "because it uses" - page "the sand to" - next "protect itself" - next "when threatened.@" diff --git a/data/pokedex/entries/sandslash.asm b/data/pokedex/entries/sandslash.asm deleted file mode 100644 index fd2492f91..000000000 --- a/data/pokedex/entries/sandslash.asm +++ /dev/null @@ -1,10 +0,0 @@ -; SandslashPokedexEntry: ; 0x1821e7 - db "MOUSE@" ; species name - dw 303, 650 ; height, weight - - db "Adept at climbing" - next "trees, it rolls" - next "into a spiny ball," - page "then attacks its" - next "enemies from" - next "above.@" diff --git a/data/pokedex/entries/scizor.asm b/data/pokedex/entries/scizor.asm deleted file mode 100644 index a000a6586..000000000 --- a/data/pokedex/entries/scizor.asm +++ /dev/null @@ -1,10 +0,0 @@ -; ScizorPokedexEntry: ; 0x1d0821 - db "SCISSORS@" ; species name - dw 511, 2600 ; height, weight - - db "This #MON's" - next "pincers, which" - next "contain steel, can" - page "crush any hard" - next "object it gets a" - next "hold of into bits.@" diff --git a/data/pokedex/entries/scyther.asm b/data/pokedex/entries/scyther.asm deleted file mode 100644 index ca47c46b6..000000000 --- a/data/pokedex/entries/scyther.asm +++ /dev/null @@ -1,10 +0,0 @@ -; ScytherPokedexEntry: ; 0x1b9851 - db "MANTIS@" ; species name - dw 411, 1230 ; height, weight - - db "It's very proud of" - next "its speed. It" - next "moves so fast that" - page "its opponent does" - next "not even know what" - next "knocked it down.@" diff --git a/data/pokedex/entries/seadra.asm b/data/pokedex/entries/seadra.asm deleted file mode 100644 index 91731c64a..000000000 --- a/data/pokedex/entries/seadra.asm +++ /dev/null @@ -1,10 +0,0 @@ -; SeadraPokedexEntry: ; 0x1b95b8 - db "DRAGON@" ; species name - dw 311, 550 ; height, weight - - db "The male raises" - next "the young. If it" - next "is approached, it" - page "uses its toxic" - next "spikes to fend off" - next "the intruder.@" diff --git a/data/pokedex/entries/seaking.asm b/data/pokedex/entries/seaking.asm deleted file mode 100644 index 0d7d1fe48..000000000 --- a/data/pokedex/entries/seaking.asm +++ /dev/null @@ -1,10 +0,0 @@ -; SeakingPokedexEntry: ; 0x1b9690 - db "GOLDFISH@" ; species name - dw 403, 860 ; height, weight - - db "When autumn comes," - next "the males patrol" - next "the area around" - page "their nests in" - next "order to protect" - next "their offspring.@" diff --git a/data/pokedex/entries/seel.asm b/data/pokedex/entries/seel.asm deleted file mode 100644 index 53d179097..000000000 --- a/data/pokedex/entries/seel.asm +++ /dev/null @@ -1,10 +0,0 @@ -; SeelPokedexEntry: ; 0x1b88bf - db "SEA LION@" ; species name - dw 307, 1980 ; height, weight - - db "The light blue fur" - next "that covers it" - next "keeps it protected" - page "against the cold." - next "It loves iceberg-" - next "filled oceans.@" diff --git a/data/pokedex/entries/sentret.asm b/data/pokedex/entries/sentret.asm deleted file mode 100644 index 9e70418c8..000000000 --- a/data/pokedex/entries/sentret.asm +++ /dev/null @@ -1,10 +0,0 @@ -; SentretPokedexEntry: ; 0x1ccd6b - db "SCOUT@" ; species name - dw 207, 130 ; height, weight - - db "When acting as a" - next "lookout, it warns" - next "others of danger" - page "by screeching and" - next "hitting the ground" - next "with its tail.@" diff --git a/data/pokedex/entries/shellder.asm b/data/pokedex/entries/shellder.asm deleted file mode 100644 index 0c7553c43..000000000 --- a/data/pokedex/entries/shellder.asm +++ /dev/null @@ -1,10 +0,0 @@ -; ShellderPokedexEntry: ; 0x1b8a68 - db "BIVALVE@" ; species name - dw 100, 90 ; height, weight - - db "Clamping on to an" - next "opponent reveals" - next "its vulnerable" - page "parts, so it uses" - next "this move only as" - next "a last resort.@" diff --git a/data/pokedex/entries/shuckle.asm b/data/pokedex/entries/shuckle.asm deleted file mode 100644 index 3795942e3..000000000 --- a/data/pokedex/entries/shuckle.asm +++ /dev/null @@ -1,10 +0,0 @@ -; ShucklePokedexEntry: ; 0x1d088e - db "MOLD@" ; species name - dw 200, 450 ; height, weight - - db "The fluid secreted" - next "by its toes carves" - next "holes in rocks for" - page "nesting and can be" - next "mixed with BERRIES" - next "to make a drink.@" diff --git a/data/pokedex/entries/skarmory.asm b/data/pokedex/entries/skarmory.asm deleted file mode 100644 index 2558065af..000000000 --- a/data/pokedex/entries/skarmory.asm +++ /dev/null @@ -1,10 +0,0 @@ -; SkarmoryPokedexEntry: ; 0x1d0e8c - db "ARMOR BIRD@" ; species name - dw 507, 1110 ; height, weight - - db "The feathers that" - next "it sheds are very" - next "sharp. It is said" - page "that people once" - next "used the feathers" - next "as swords.@" diff --git a/data/pokedex/entries/skiploom.asm b/data/pokedex/entries/skiploom.asm deleted file mode 100644 index f6e62266c..000000000 --- a/data/pokedex/entries/skiploom.asm +++ /dev/null @@ -1,10 +0,0 @@ -; SkiploomPokedexEntry: ; 0x1cd928 - db "COTTONWEED@" ; species name - dw 200, 20 ; height, weight - - db "As soon as it" - next "rains, it closes" - next "its flower and" - page "hides in the shade" - next "of a tree to avoid" - next "getting wet.@" diff --git a/data/pokedex/entries/slowbro.asm b/data/pokedex/entries/slowbro.asm deleted file mode 100644 index fdfb36e98..000000000 --- a/data/pokedex/entries/slowbro.asm +++ /dev/null @@ -1,10 +0,0 @@ -; SlowbroPokedexEntry: ; 0x1b8635 - db "HERMITCRAB@" ; species name - dw 503, 1730 ; height, weight - - db "An attached" - next "SHELLDER won't let" - next "go because of the" - page "tasty flavor that" - next "oozes out of its" - next "tail.@" diff --git a/data/pokedex/entries/slowking.asm b/data/pokedex/entries/slowking.asm deleted file mode 100644 index f52bdb1b7..000000000 --- a/data/pokedex/entries/slowking.asm +++ /dev/null @@ -1,10 +0,0 @@ -; SlowkingPokedexEntry: ; 0x1d0292 - db "ROYAL@" ; species name - dw 607, 1750 ; height, weight - - db "Every time it ya-" - next "wns, SHELLDER" - next "injects more poi-" - page "son into it. The" - next "poison makes it" - next "more intelligent.@" diff --git a/data/pokedex/entries/slowpoke.asm b/data/pokedex/entries/slowpoke.asm deleted file mode 100644 index 2341758f8..000000000 --- a/data/pokedex/entries/slowpoke.asm +++ /dev/null @@ -1,10 +0,0 @@ -; SlowpokePokedexEntry: ; 0x1b85d3 - db "DOPEY@" ; species name - dw 311, 790 ; height, weight - - db "It is always so" - next "absent-minded that" - next "it won't react," - page "even if its" - next "flavorful tail is" - next "bitten.@" diff --git a/data/pokedex/entries/slugma.asm b/data/pokedex/entries/slugma.asm deleted file mode 100644 index ea1fc01f2..000000000 --- a/data/pokedex/entries/slugma.asm +++ /dev/null @@ -1,10 +0,0 @@ -; SlugmaPokedexEntry: ; 0x1d0ab8 - db "LAVA@" ; species name - dw 204, 770 ; height, weight - - db "These group to-" - next "gether in areas" - next "that are hotter" - page "than normal. If it" - next "cools off, its" - next "skin hardens.@" diff --git a/data/pokedex/entries/smeargle.asm b/data/pokedex/entries/smeargle.asm deleted file mode 100644 index 8b265c1ea..000000000 --- a/data/pokedex/entries/smeargle.asm +++ /dev/null @@ -1,10 +0,0 @@ -; SmearglePokedexEntry: ; 0x1d11e0 - db "PAINTER@" ; species name - dw 311, 1280 ; height, weight - - db "The color of the" - next "mysterious fluid" - next "secreted from its" - page "tail is predeter-" - next "mined for each" - next "SMEARGLE.@" diff --git a/data/pokedex/entries/smoochum.asm b/data/pokedex/entries/smoochum.asm deleted file mode 100644 index b619b1720..000000000 --- a/data/pokedex/entries/smoochum.asm +++ /dev/null @@ -1,10 +0,0 @@ -; SmoochumPokedexEntry: ; 0x1d132b - db "KISS@" ; species name - dw 104, 130 ; height, weight - - db "The sensitivity of" - next "its lips develops" - next "most quickly." - page "It uses them to" - next "try to identify" - next "unknown objects.@" diff --git a/data/pokedex/entries/sneasel.asm b/data/pokedex/entries/sneasel.asm deleted file mode 100644 index 5c1e70f09..000000000 --- a/data/pokedex/entries/sneasel.asm +++ /dev/null @@ -1,10 +0,0 @@ -; SneaselPokedexEntry: ; 0x1d097a - db "SHARP CLAW@" ; species name - dw 211, 620 ; height, weight - - db "This cunning" - next "#MON hides" - next "under the cover" - page "of darkness," - next "waiting to attack" - next "its prey.@" diff --git a/data/pokedex/entries/snorlax.asm b/data/pokedex/entries/snorlax.asm deleted file mode 100644 index e56651fb8..000000000 --- a/data/pokedex/entries/snorlax.asm +++ /dev/null @@ -1,10 +0,0 @@ -; SnorlaxPokedexEntry: ; 0x1cc5cf - db "SLEEPING@" ; species name - dw 611, 10140 ; height, weight - - db "This #MON's" - next "stomach is so" - next "strong, even" - page "eating moldy or" - next "rotten food will" - next "not affect it.@" diff --git a/data/pokedex/entries/snubbull.asm b/data/pokedex/entries/snubbull.asm deleted file mode 100644 index 97b27ed8f..000000000 --- a/data/pokedex/entries/snubbull.asm +++ /dev/null @@ -1,10 +0,0 @@ -; SnubbullPokedexEntry: ; 0x1d06e0 - db "FAIRY@" ; species name - dw 200, 170 ; height, weight - - db "In truth, it is a" - next "cowardly #MON." - next "It growls eagerly" - page "in order to hide" - next "its fear from its" - next "opponent.@" diff --git a/data/pokedex/entries/spearow.asm b/data/pokedex/entries/spearow.asm deleted file mode 100644 index 16b89d22f..000000000 --- a/data/pokedex/entries/spearow.asm +++ /dev/null @@ -1,10 +0,0 @@ -; SpearowPokedexEntry: ; 0x181f03 - db "TINY BIRD@" ; species name - dw 100, 40 ; height, weight - - db "To protect its" - next "territory, it" - next "flies around" - page "ceaselessly," - next "making high-" - next "pitched cries.@" diff --git a/data/pokedex/entries/spinarak.asm b/data/pokedex/entries/spinarak.asm deleted file mode 100644 index e6e4c7203..000000000 --- a/data/pokedex/entries/spinarak.asm +++ /dev/null @@ -1,10 +0,0 @@ -; SpinarakPokedexEntry: ; 0x1cd012 - db "STRINGSPIT@" ; species name - dw 108, 190 ; height, weight - - db "If prey becomes" - next "ensnared in its" - next "nest of spun" - page "string, it waits" - next "motionlessly until" - next "it becomes dark.@" diff --git a/data/pokedex/entries/squirtle.asm b/data/pokedex/entries/squirtle.asm deleted file mode 100644 index 6fd442a13..000000000 --- a/data/pokedex/entries/squirtle.asm +++ /dev/null @@ -1,10 +0,0 @@ -; SquirtlePokedexEntry: ; 0x181926 - db "TINYTURTLE@" ; species name - dw 108, 200 ; height, weight - - db "When it feels" - next "threatened, it" - next "draws its legs" - page "inside its shell" - next "and sprays water" - next "from its mouth.@" diff --git a/data/pokedex/entries/stantler.asm b/data/pokedex/entries/stantler.asm deleted file mode 100644 index 0fce8f2b5..000000000 --- a/data/pokedex/entries/stantler.asm +++ /dev/null @@ -1,10 +0,0 @@ -; StantlerPokedexEntry: ; 0x1d1174 - db "BIG HORN@" ; species name - dw 407, 1570 ; height, weight - - db "The round balls" - next "found on the" - next "fallen antlers can" - page "be ground into a" - next "powder that aids" - next "in sleeping.@" diff --git a/data/pokedex/entries/starmie.asm b/data/pokedex/entries/starmie.asm deleted file mode 100644 index 83393b9c2..000000000 --- a/data/pokedex/entries/starmie.asm +++ /dev/null @@ -1,10 +0,0 @@ -; StarmiePokedexEntry: ; 0x1b9776 - db "MYSTERIOUS@" ; species name - dw 307, 1760 ; height, weight - - db "It is said that it" - next "uses the seven-" - next "colored core of" - page "its body to send" - next "electric waves" - next "into outer space.@" diff --git a/data/pokedex/entries/staryu.asm b/data/pokedex/entries/staryu.asm deleted file mode 100644 index 9f1fadc9c..000000000 --- a/data/pokedex/entries/staryu.asm +++ /dev/null @@ -1,10 +0,0 @@ -; StaryuPokedexEntry: ; 0x1b9702 - db "STARSHAPE@" ; species name - dw 207, 760 ; height, weight - - db "When the stars" - next "twinkle at night," - next "it floats up from" - page "the sea floor, and" - next "its body's center" - next "core flickers.@" diff --git a/data/pokedex/entries/steelix.asm b/data/pokedex/entries/steelix.asm deleted file mode 100644 index 6bbfe6c28..000000000 --- a/data/pokedex/entries/steelix.asm +++ /dev/null @@ -1,10 +0,0 @@ -; SteelixPokedexEntry: ; 0x1d067c - db "IRON SNAKE@" ; species name - dw 3002, 8820 ; height, weight - - db "The many small" - next "metal particles" - next "that cover this" - page "#MON's body" - next "reflect bright" - next "light well.@" diff --git a/data/pokedex/entries/sudowoodo.asm b/data/pokedex/entries/sudowoodo.asm deleted file mode 100644 index 060db1d8d..000000000 --- a/data/pokedex/entries/sudowoodo.asm +++ /dev/null @@ -1,10 +0,0 @@ -; SudowoodoPokedexEntry: ; 0x1cd7d9 - db "IMITATION@" ; species name - dw 311, 840 ; height, weight - - db "If a tree branch" - next "shakes when there" - next "is no wind, it's a" - page "SUDOWOODO, not a" - next "tree. It hides" - next "from the rain.@" diff --git a/data/pokedex/entries/suicune.asm b/data/pokedex/entries/suicune.asm deleted file mode 100644 index c60c002f7..000000000 --- a/data/pokedex/entries/suicune.asm +++ /dev/null @@ -1,10 +0,0 @@ -; SuicunePokedexEntry: ; 0x1d1642 - db "AURORA@" ; species name - dw 607, 4120 ; height, weight - - db "This divine" - next "#MON blows" - next "around the world," - page "always in search" - next "of a pure" - next "reservoir.@" diff --git a/data/pokedex/entries/sunflora.asm b/data/pokedex/entries/sunflora.asm deleted file mode 100644 index 2d0e78111..000000000 --- a/data/pokedex/entries/sunflora.asm +++ /dev/null @@ -1,10 +0,0 @@ -; SunfloraPokedexEntry: ; 0x1cdaef - db "SUN@" ; species name - dw 207, 190 ; height, weight - - db "As the hot season" - next "approaches, the" - next "petals on this" - page "#MON's face" - next "become more vivid" - next "and lively.@" diff --git a/data/pokedex/entries/sunkern.asm b/data/pokedex/entries/sunkern.asm deleted file mode 100644 index 680e1799e..000000000 --- a/data/pokedex/entries/sunkern.asm +++ /dev/null @@ -1,10 +0,0 @@ -; SunkernPokedexEntry: ; 0x1cda87 - db "SEED@" ; species name - dw 100, 40 ; height, weight - - db "It is very weak." - next "Its only means of" - next "defense is to" - page "shake its leaves" - next "desperately at its" - next "attacker.@" diff --git a/data/pokedex/entries/swinub.asm b/data/pokedex/entries/swinub.asm deleted file mode 100644 index 3e6d61dc8..000000000 --- a/data/pokedex/entries/swinub.asm +++ /dev/null @@ -1,10 +0,0 @@ -; SwinubPokedexEntry: ; 0x1d0b8d - db "PIG@" ; species name - dw 104, 140 ; height, weight - - db "It uses the tip of" - next "its nose to dig" - next "for food. Its nose" - page "is so tough that" - next "even frozen ground" - next "poses no problem.@" diff --git a/data/pokedex/entries/tangela.asm b/data/pokedex/entries/tangela.asm deleted file mode 100644 index 4e011b082..000000000 --- a/data/pokedex/entries/tangela.asm +++ /dev/null @@ -1,10 +0,0 @@ -; TangelaPokedexEntry: ; 0x1b948c - db "VINE@" ; species name - dw 303, 770 ; height, weight - - db "During battle, it" - next "constantly moves" - next "the vines that" - page "cover its body in" - next "order to annoy its" - next "opponent.@" diff --git a/data/pokedex/entries/tauros.asm b/data/pokedex/entries/tauros.asm deleted file mode 100644 index bd7851165..000000000 --- a/data/pokedex/entries/tauros.asm +++ /dev/null @@ -1,10 +0,0 @@ -; TaurosPokedexEntry: ; 0x1b9a6f - db "WILD BULL@" ; species name - dw 407, 1950 ; height, weight - - db "These violent" - next "#MON fight" - next "with other mem-" - page "bers of their herd" - next "in order to prove" - next "their strength.@" diff --git a/data/pokedex/entries/teddiursa.asm b/data/pokedex/entries/teddiursa.asm deleted file mode 100644 index 35b32c322..000000000 --- a/data/pokedex/entries/teddiursa.asm +++ /dev/null @@ -1,10 +0,0 @@ -; TeddiursaPokedexEntry: ; 0x1d09da - db "LITTLE BEAR@" ; species name - dw 200, 190 ; height, weight - - db "It always licks" - next "honey. Its palm" - next "tastes sweet" - page "because of all the" - next "honey it has" - next "absorbed.@" diff --git a/data/pokedex/entries/tentacool.asm b/data/pokedex/entries/tentacool.asm deleted file mode 100644 index 5ed4b4fa0..000000000 --- a/data/pokedex/entries/tentacool.asm +++ /dev/null @@ -1,10 +0,0 @@ -; TentacoolPokedexEntry: ; 0x1b82d1 - db "JELLYFISH@" ; species name - dw 211, 1000 ; height, weight - - db "As it floats along" - next "on the waves, it" - next "uses its toxic" - page "feelers to stab" - next "anything it" - next "touches.@" diff --git a/data/pokedex/entries/tentacruel.asm b/data/pokedex/entries/tentacruel.asm deleted file mode 100644 index 27dad758f..000000000 --- a/data/pokedex/entries/tentacruel.asm +++ /dev/null @@ -1,10 +0,0 @@ -; TentacruelPokedexEntry: ; 0x1b8337 - db "JELLYFISH@" ; species name - dw 503, 1210 ; height, weight - - db "When its 80 feel-" - next "ers absorb water," - next "it stretches to" - page "become like a net" - next "to entangle its" - next "prey.@" diff --git a/data/pokedex/entries/togepi.asm b/data/pokedex/entries/togepi.asm deleted file mode 100644 index eb185b1f1..000000000 --- a/data/pokedex/entries/togepi.asm +++ /dev/null @@ -1,10 +0,0 @@ -; TogepiPokedexEntry: ; 0x1cd396 - db "SPIKE BALL@" ; species name - dw 100, 30 ; height, weight - - db "It is considered" - next "to be a symbol of" - next "good luck. Its" - page "shell is said to" - next "be filled with" - next "happiness.@" diff --git a/data/pokedex/entries/togetic.asm b/data/pokedex/entries/togetic.asm deleted file mode 100644 index 7d1519d73..000000000 --- a/data/pokedex/entries/togetic.asm +++ /dev/null @@ -1,10 +0,0 @@ -; TogeticPokedexEntry: ; 0x1cd402 - db "HAPPINESS@" ; species name - dw 200, 70 ; height, weight - - db "Although it does" - next "not flap its wings" - next "very much, it can" - page "stay up in the air" - next "as it tags along" - next "after its trainer.@" diff --git a/data/pokedex/entries/totodile.asm b/data/pokedex/entries/totodile.asm deleted file mode 100644 index 78a1b761e..000000000 --- a/data/pokedex/entries/totodile.asm +++ /dev/null @@ -1,10 +0,0 @@ -; TotodilePokedexEntry: ; 0x1ccc14 - db "BIG JAW@" ; species name - dw 200, 210 ; height, weight - - db "This rough critter" - next "chomps at any" - next "moving object it" - page "sees. Turning your" - next "back on it is not" - next "recommended.@" diff --git a/data/pokedex/entries/typhlosion.asm b/data/pokedex/entries/typhlosion.asm deleted file mode 100644 index e11823cf5..000000000 --- a/data/pokedex/entries/typhlosion.asm +++ /dev/null @@ -1,10 +0,0 @@ -; TyphlosionPokedexEntry: ; 0x1ccba0 - db "VOLCANO@" ; species name - dw 507, 1750 ; height, weight - - db "When heat from its" - next "body causes the" - next "air around it to" - page "shimmer, this is a" - next "sign that it is" - next "ready to battle.@" diff --git a/data/pokedex/entries/tyranitar.asm b/data/pokedex/entries/tyranitar.asm deleted file mode 100644 index 9786a6430..000000000 --- a/data/pokedex/entries/tyranitar.asm +++ /dev/null @@ -1,10 +0,0 @@ -; TyranitarPokedexEntry: ; 0x1d177b - db "ARMOR@" ; species name - dw 607, 4450 ; height, weight - - db "In just one of its" - next "mighty hands, it" - next "has the power to" - page "make the ground" - next "shake and moun-" - next "tains crumble.@" diff --git a/data/pokedex/entries/tyrogue.asm b/data/pokedex/entries/tyrogue.asm deleted file mode 100644 index d8900c160..000000000 --- a/data/pokedex/entries/tyrogue.asm +++ /dev/null @@ -1,10 +0,0 @@ -; TyroguePokedexEntry: ; 0x1d124b - db "SCUFFLE@" ; species name - dw 204, 460 ; height, weight - - db "To brush up on its" - next "fighting skills," - next "it will challenge" - page "anyone. It has a" - next "very strong com-" - next "petitive spirit.@" diff --git a/data/pokedex/entries/umbreon.asm b/data/pokedex/entries/umbreon.asm deleted file mode 100644 index 483322f18..000000000 --- a/data/pokedex/entries/umbreon.asm +++ /dev/null @@ -1,10 +0,0 @@ -; UmbreonPokedexEntry: ; 0x1d01af - db "MOONLIGHT@" ; species name - dw 303, 600 ; height, weight - - db "On the night of a" - next "full moon, or when" - next "it gets excited," - page "the ring patterns" - next "on its body glow" - next "yellow.@" diff --git a/data/pokedex/entries/unown.asm b/data/pokedex/entries/unown.asm deleted file mode 100644 index 5be078b8a..000000000 --- a/data/pokedex/entries/unown.asm +++ /dev/null @@ -1,10 +0,0 @@ -; UnownPokedexEntry: ; 0x1d0373 - db "SYMBOL@" ; species name - dw 108, 110 ; height, weight - - db "Because different" - next "types of UNOWN" - next "exist, it is said" - page "that they must" - next "have a variety of" - next "abilities.@" diff --git a/data/pokedex/entries/ursaring.asm b/data/pokedex/entries/ursaring.asm deleted file mode 100644 index acf7626f9..000000000 --- a/data/pokedex/entries/ursaring.asm +++ /dev/null @@ -1,10 +0,0 @@ -; UrsaringPokedexEntry: ; 0x1d0a41 - db "HIBERNANT@" ; species name - dw 511, 2770 ; height, weight - - db "Although it has a" - next "large body, it is" - next "quite skilled at" - page "climbing trees. It" - next "eats and sleeps in" - next "the treetops.@" diff --git a/data/pokedex/entries/vaporeon.asm b/data/pokedex/entries/vaporeon.asm deleted file mode 100644 index 36617899f..000000000 --- a/data/pokedex/entries/vaporeon.asm +++ /dev/null @@ -1,10 +0,0 @@ -; VaporeonPokedexEntry: ; 0x1cc224 - db "BUBBLE JET@" ; species name - dw 303, 640 ; height, weight - - db "As it uses the" - next "fins on the tip" - next "of its tail to" - page "swim, it blends" - next "with the water" - next "perfectly.@" diff --git a/data/pokedex/entries/venomoth.asm b/data/pokedex/entries/venomoth.asm deleted file mode 100644 index 4ff583940..000000000 --- a/data/pokedex/entries/venomoth.asm +++ /dev/null @@ -1,10 +0,0 @@ -; VenomothPokedexEntry: ; 0x182abf - db "POISONMOTH@" ; species name - dw 411, 280 ; height, weight - - db "The scales it" - next "scatters will" - next "paralyze anyone" - page "who touches them," - next "making that person" - next "unable to stand.@" diff --git a/data/pokedex/entries/venonat.asm b/data/pokedex/entries/venonat.asm deleted file mode 100644 index 8e52b4c82..000000000 --- a/data/pokedex/entries/venonat.asm +++ /dev/null @@ -1,10 +0,0 @@ -; VenonatPokedexEntry: ; 0x182a53 - db "INSECT@" ; species name - dw 303, 660 ; height, weight - - db "The small bugs it" - next "eats appear only" - next "at night, so it" - page "sleeps in a hole" - next "in a tree until" - next "night falls.@" diff --git a/data/pokedex/entries/venusaur.asm b/data/pokedex/entries/venusaur.asm deleted file mode 100644 index 1b9cc6e43..000000000 --- a/data/pokedex/entries/venusaur.asm +++ /dev/null @@ -1,10 +0,0 @@ -; VenusaurPokedexEntry: ; 0x181773 - db "SEED@" ; species name - dw 607, 2210 ; height, weight - - db "As it warms it-" - next "self and absorbs" - next "the sunlight, its" - page "flower petals" - next "release a pleasant" - next "fragrance.@" diff --git a/data/pokedex/entries/victreebel.asm b/data/pokedex/entries/victreebel.asm deleted file mode 100644 index 552051572..000000000 --- a/data/pokedex/entries/victreebel.asm +++ /dev/null @@ -1,10 +0,0 @@ -; VictreebelPokedexEntry: ; 0x1b826e - db "FLYCATCHER@" ; species name - dw 507, 340 ; height, weight - - db "Once ingested into" - next "this #MON's" - next "body, even the" - page "hardest object" - next "will melt into" - next "nothing.@" diff --git a/data/pokedex/entries/vileplume.asm b/data/pokedex/entries/vileplume.asm deleted file mode 100644 index cf2ea191d..000000000 --- a/data/pokedex/entries/vileplume.asm +++ /dev/null @@ -1,10 +0,0 @@ -; VileplumePokedexEntry: ; 0x182918 - db "FLOWER@" ; species name - dw 311, 410 ; height, weight - - db "By shaking its big" - next "petals, it scat-" - next "ters toxic pollen" - page "into the air," - next "turning the air" - next "yellow.@" diff --git a/data/pokedex/entries/voltorb.asm b/data/pokedex/entries/voltorb.asm deleted file mode 100644 index 5a532e2d0..000000000 --- a/data/pokedex/entries/voltorb.asm +++ /dev/null @@ -1,10 +0,0 @@ -; VoltorbPokedexEntry: ; 0x1b8eb0 - db "BALL@" ; species name - dw 108, 230 ; height, weight - - db "During the study" - next "of this #MON," - next "it was discovered" - page "that its compo-" - next "nents are not" - next "found in nature.@" diff --git a/data/pokedex/entries/vulpix.asm b/data/pokedex/entries/vulpix.asm deleted file mode 100644 index f5bbd03a1..000000000 --- a/data/pokedex/entries/vulpix.asm +++ /dev/null @@ -1,10 +0,0 @@ -; VulpixPokedexEntry: ; 0x18259b - db "FOX@" ; species name - dw 200, 220 ; height, weight - - db "As its body grows" - next "larger, its six" - next "warm tails become" - page "more beautiful," - next "with a more luxur-" - next "ious coat of fur.@" diff --git a/data/pokedex/entries/wartortle.asm b/data/pokedex/entries/wartortle.asm deleted file mode 100644 index 927af5fd2..000000000 --- a/data/pokedex/entries/wartortle.asm +++ /dev/null @@ -1,10 +0,0 @@ -; WartortlePokedexEntry: ; 0x181993 - db "TURTLE@" ; species name - dw 303, 500 ; height, weight - - db "Its long, furry" - next "tail is a symbol" - next "of longevity," - page "making it quite" - next "popular among" - next "older people.@" diff --git a/data/pokedex/entries/weedle.asm b/data/pokedex/entries/weedle.asm deleted file mode 100644 index 9b81fa11d..000000000 --- a/data/pokedex/entries/weedle.asm +++ /dev/null @@ -1,10 +0,0 @@ -; WeedlePokedexEntry: ; 0x181bb4 - db "HAIRY BUG@" ; species name - dw 100, 70 ; height, weight - - db "The barb on top of" - next "its head secretes" - next "a strong poison." - page "It uses this toxic" - next "barb to protect" - next "itself.@" diff --git a/data/pokedex/entries/weepinbell.asm b/data/pokedex/entries/weepinbell.asm deleted file mode 100644 index 81eb7c215..000000000 --- a/data/pokedex/entries/weepinbell.asm +++ /dev/null @@ -1,10 +0,0 @@ -; WeepinbellPokedexEntry: ; 0x1b81fd - db "FLYCATCHER@" ; species name - dw 303, 140 ; height, weight - - db "When it's hungry," - next "it swings its" - next "razor-sharp" - page "leaves, slicing up" - next "any unlucky object" - next "nearby for food.@" diff --git a/data/pokedex/entries/weezing.asm b/data/pokedex/entries/weezing.asm deleted file mode 100644 index 1a7b268fd..000000000 --- a/data/pokedex/entries/weezing.asm +++ /dev/null @@ -1,10 +0,0 @@ -; WeezingPokedexEntry: ; 0x1b92ec - db "POISON GAS@" ; species name - dw 311, 210 ; height, weight - - db "When it inhales" - next "poisonous gases" - next "from garbage, its" - page "body expands, and" - next "its insides smell" - next "much worse.@" diff --git a/data/pokedex/entries/wigglytuff.asm b/data/pokedex/entries/wigglytuff.asm deleted file mode 100644 index 8ba563cce..000000000 --- a/data/pokedex/entries/wigglytuff.asm +++ /dev/null @@ -1,10 +0,0 @@ -; WigglytuffPokedexEntry: ; 0x1826e9 - db "BALLOON@" ; species name - dw 303, 260 ; height, weight - - db "The rich, fluffy" - next "fur that covers" - next "its body feels so" - page "good that anyone" - next "who feels it can't" - next "stop touching it.@" diff --git a/data/pokedex/entries/wobbuffet.asm b/data/pokedex/entries/wobbuffet.asm deleted file mode 100644 index 95aae69ab..000000000 --- a/data/pokedex/entries/wobbuffet.asm +++ /dev/null @@ -1,10 +0,0 @@ -; WobbuffetPokedexEntry: ; 0x1d03dd - db "PATIENT@" ; species name - dw 403, 630 ; height, weight - - db "In order to con-" - next "ceal its black" - next "tail, it lives in" - page "a dark cave and" - next "only moves about" - next "at night.@" diff --git a/data/pokedex/entries/wooper.asm b/data/pokedex/entries/wooper.asm deleted file mode 100644 index d612f2070..000000000 --- a/data/pokedex/entries/wooper.asm +++ /dev/null @@ -1,10 +0,0 @@ -; WooperPokedexEntry: ; 0x1d0078 - db "WATER FISH@" ; species name - dw 104, 190 ; height, weight - - db "A mucous" - next "membrane covers" - next "its body. Touching" - page "it barehanded will" - next "cause a shooting" - next "pain.@" diff --git a/data/pokedex/entries/xatu.asm b/data/pokedex/entries/xatu.asm deleted file mode 100644 index 21a53d8fc..000000000 --- a/data/pokedex/entries/xatu.asm +++ /dev/null @@ -1,10 +0,0 @@ -; XatuPokedexEntry: ; 0x1cd4e9 - db "MYSTIC@" ; species name - dw 411, 330 ; height, weight - - db "Once it begins to" - next "meditate at sun-" - next "rise, the entire" - page "day will pass" - next "before it will" - next "move again.@" diff --git a/data/pokedex/entries/yanma.asm b/data/pokedex/entries/yanma.asm deleted file mode 100644 index 9843ad289..000000000 --- a/data/pokedex/entries/yanma.asm +++ /dev/null @@ -1,10 +0,0 @@ -; YanmaPokedexEntry: ; 0x1d0000 - db "CLEAR WING@" ; species name - dw 311, 840 ; height, weight - - db "It can see in all" - next "directions without" - next "moving its big" - page "eyes, helping it" - next "spot attackers and" - next "food right away.@" diff --git a/data/pokedex/entries/zapdos.asm b/data/pokedex/entries/zapdos.asm deleted file mode 100644 index ea61198a0..000000000 --- a/data/pokedex/entries/zapdos.asm +++ /dev/null @@ -1,10 +0,0 @@ -; ZapdosPokedexEntry: ; 0x1cc697 - db "ELECTRIC@" ; species name - dw 503, 1160 ; height, weight - - db "Legendary bird" - next "#MON. They say" - next "lightning caused" - page "by the flapping of" - next "its wings causes" - next "summer storms.@" diff --git a/data/pokedex/entries/zubat.asm b/data/pokedex/entries/zubat.asm deleted file mode 100644 index 8232f8bd6..000000000 --- a/data/pokedex/entries/zubat.asm +++ /dev/null @@ -1,10 +0,0 @@ -; ZubatPokedexEntry: ; 0x18275d - db "BAT@" ; species name - dw 207, 170 ; height, weight - - db "During the day, it" - next "gathers with" - next "others and hangs" - page "from the ceilings" - next "of old buildings" - next "and caves.@" diff --git a/data/pokedex/entry_pointers.asm b/data/pokedex/entry_pointers.asm deleted file mode 100644 index c4ddc7280..000000000 --- a/data/pokedex/entry_pointers.asm +++ /dev/null @@ -1,254 +0,0 @@ -PokedexDataPointerTable: ; 0x44378 -; entries correspond to constants/pokemon_constants.asm - dw BulbasaurPokedexEntry - dw IvysaurPokedexEntry - dw VenusaurPokedexEntry - dw CharmanderPokedexEntry - dw CharmeleonPokedexEntry - dw CharizardPokedexEntry - dw SquirtlePokedexEntry - dw WartortlePokedexEntry - dw BlastoisePokedexEntry - dw CaterpiePokedexEntry - dw MetapodPokedexEntry - dw ButterfreePokedexEntry - dw WeedlePokedexEntry - dw KakunaPokedexEntry - dw BeedrillPokedexEntry - dw PidgeyPokedexEntry - dw PidgeottoPokedexEntry - dw PidgeotPokedexEntry - dw RattataPokedexEntry - dw RaticatePokedexEntry - dw SpearowPokedexEntry - dw FearowPokedexEntry - dw EkansPokedexEntry - dw ArbokPokedexEntry - dw PikachuPokedexEntry - dw RaichuPokedexEntry - dw SandshrewPokedexEntry - dw SandslashPokedexEntry - dw NidoranFPokedexEntry - dw NidorinaPokedexEntry - dw NidoqueenPokedexEntry - dw NidoranMPokedexEntry - dw NidorinoPokedexEntry - dw NidokingPokedexEntry - dw ClefairyPokedexEntry - dw ClefablePokedexEntry - dw VulpixPokedexEntry - dw NinetalesPokedexEntry - dw JigglypuffPokedexEntry - dw WigglytuffPokedexEntry - dw ZubatPokedexEntry - dw GolbatPokedexEntry - dw OddishPokedexEntry - dw GloomPokedexEntry - dw VileplumePokedexEntry - dw ParasPokedexEntry - dw ParasectPokedexEntry - dw VenonatPokedexEntry - dw VenomothPokedexEntry - dw DiglettPokedexEntry - dw DugtrioPokedexEntry - dw MeowthPokedexEntry - dw PersianPokedexEntry - dw PsyduckPokedexEntry - dw GolduckPokedexEntry - dw MankeyPokedexEntry - dw PrimeapePokedexEntry - dw GrowlithePokedexEntry - dw ArcaninePokedexEntry - dw PoliwagPokedexEntry - dw PoliwhirlPokedexEntry - dw PoliwrathPokedexEntry - dw AbraPokedexEntry - dw KadabraPokedexEntry - dw AlakazamPokedexEntry - dw MachopPokedexEntry - dw MachokePokedexEntry - dw MachampPokedexEntry - dw BellsproutPokedexEntry - dw WeepinbellPokedexEntry - dw VictreebelPokedexEntry - dw TentacoolPokedexEntry - dw TentacruelPokedexEntry - dw GeodudePokedexEntry - dw GravelerPokedexEntry - dw GolemPokedexEntry - dw PonytaPokedexEntry - dw RapidashPokedexEntry - dw SlowpokePokedexEntry - dw SlowbroPokedexEntry - dw MagnemitePokedexEntry - dw MagnetonPokedexEntry - dw FarfetchDPokedexEntry - dw DoduoPokedexEntry - dw DodrioPokedexEntry - dw SeelPokedexEntry - dw DewgongPokedexEntry - dw GrimerPokedexEntry - dw MukPokedexEntry - dw ShellderPokedexEntry - dw CloysterPokedexEntry - dw GastlyPokedexEntry - dw HaunterPokedexEntry - dw GengarPokedexEntry - dw OnixPokedexEntry - dw DrowzeePokedexEntry - dw HypnoPokedexEntry - dw KrabbyPokedexEntry - dw KinglerPokedexEntry - dw VoltorbPokedexEntry - dw ElectrodePokedexEntry - dw ExeggcutePokedexEntry - dw ExeggutorPokedexEntry - dw CubonePokedexEntry - dw MarowakPokedexEntry - dw HitmonleePokedexEntry - dw HitmonchanPokedexEntry - dw LickitungPokedexEntry - dw KoffingPokedexEntry - dw WeezingPokedexEntry - dw RhyhornPokedexEntry - dw RhydonPokedexEntry - dw ChanseyPokedexEntry - dw TangelaPokedexEntry - dw KangaskhanPokedexEntry - dw HorseaPokedexEntry - dw SeadraPokedexEntry - dw GoldeenPokedexEntry - dw SeakingPokedexEntry - dw StaryuPokedexEntry - dw StarmiePokedexEntry - dw MrMimePokedexEntry - dw ScytherPokedexEntry - dw JynxPokedexEntry - dw ElectabuzzPokedexEntry - dw MagmarPokedexEntry - dw PinsirPokedexEntry - dw TaurosPokedexEntry - dw MagikarpPokedexEntry - dw GyaradosPokedexEntry - dw LaprasPokedexEntry - dw DittoPokedexEntry - dw EeveePokedexEntry - dw VaporeonPokedexEntry - dw JolteonPokedexEntry - dw FlareonPokedexEntry - dw PorygonPokedexEntry - dw OmanytePokedexEntry - dw OmastarPokedexEntry - dw KabutoPokedexEntry - dw KabutopsPokedexEntry - dw AerodactylPokedexEntry - dw SnorlaxPokedexEntry - dw ArticunoPokedexEntry - dw ZapdosPokedexEntry - dw MoltresPokedexEntry - dw DratiniPokedexEntry - dw DragonairPokedexEntry - dw DragonitePokedexEntry - dw MewtwoPokedexEntry - dw MewPokedexEntry - dw ChikoritaPokedexEntry - dw BayleefPokedexEntry - dw MeganiumPokedexEntry - dw CyndaquilPokedexEntry - dw QuilavaPokedexEntry - dw TyphlosionPokedexEntry - dw TotodilePokedexEntry - dw CroconawPokedexEntry - dw FeraligatrPokedexEntry - dw SentretPokedexEntry - dw FurretPokedexEntry - dw HoothootPokedexEntry - dw NoctowlPokedexEntry - dw LedybaPokedexEntry - dw LedianPokedexEntry - dw SpinarakPokedexEntry - dw AriadosPokedexEntry - dw CrobatPokedexEntry - dw ChinchouPokedexEntry - dw LanturnPokedexEntry - dw PichuPokedexEntry - dw CleffaPokedexEntry - dw IgglybuffPokedexEntry - dw TogepiPokedexEntry - dw TogeticPokedexEntry - dw NatuPokedexEntry - dw XatuPokedexEntry - dw MareepPokedexEntry - dw FlaaffyPokedexEntry - dw AmpharosPokedexEntry - dw BellossomPokedexEntry - dw MarillPokedexEntry - dw AzumarillPokedexEntry - dw SudowoodoPokedexEntry - dw PolitoedPokedexEntry - dw HoppipPokedexEntry - dw SkiploomPokedexEntry - dw JumpluffPokedexEntry - dw AipomPokedexEntry - dw SunkernPokedexEntry - dw SunfloraPokedexEntry - dw YanmaPokedexEntry - dw WooperPokedexEntry - dw QuagsirePokedexEntry - dw EspeonPokedexEntry - dw UmbreonPokedexEntry - dw MurkrowPokedexEntry - dw SlowkingPokedexEntry - dw MisdreavusPokedexEntry - dw UnownPokedexEntry - dw WobbuffetPokedexEntry - dw GirafarigPokedexEntry - dw PinecoPokedexEntry - dw ForretressPokedexEntry - dw DunsparcePokedexEntry - dw GligarPokedexEntry - dw SteelixPokedexEntry - dw SnubbullPokedexEntry - dw GranbullPokedexEntry - dw QwilfishPokedexEntry - dw ScizorPokedexEntry - dw ShucklePokedexEntry - dw HeracrossPokedexEntry - dw SneaselPokedexEntry - dw TeddiursaPokedexEntry - dw UrsaringPokedexEntry - dw SlugmaPokedexEntry - dw MagcargoPokedexEntry - dw SwinubPokedexEntry - dw PiloswinePokedexEntry - dw CorsolaPokedexEntry - dw RemoraidPokedexEntry - dw OctilleryPokedexEntry - dw DelibirdPokedexEntry - dw MantinePokedexEntry - dw SkarmoryPokedexEntry - dw HoundourPokedexEntry - dw HoundoomPokedexEntry - dw KingdraPokedexEntry - dw PhanpyPokedexEntry - dw DonphanPokedexEntry - dw Porygon2PokedexEntry - dw StantlerPokedexEntry - dw SmearglePokedexEntry - dw TyroguePokedexEntry - dw HitmontopPokedexEntry - dw SmoochumPokedexEntry - dw ElekidPokedexEntry - dw MagbyPokedexEntry - dw MiltankPokedexEntry - dw BlisseyPokedexEntry - dw RaikouPokedexEntry - dw EnteiPokedexEntry - dw SuicunePokedexEntry - dw LarvitarPokedexEntry - dw PupitarPokedexEntry - dw TyranitarPokedexEntry - dw LugiaPokedexEntry - dw HoOhPokedexEntry - dw CelebiPokedexEntry -; 0x4456e diff --git a/data/pokedex/order_alpha.asm b/data/pokedex/order_alpha.asm deleted file mode 100644 index 8fcb0acd1..000000000 --- a/data/pokedex/order_alpha.asm +++ /dev/null @@ -1,255 +0,0 @@ -; Every Pokémon sorted alphabetically by name. - -AlphabeticalPokedexOrder: ; 0x40c65 - db ABRA - db AERODACTYL - db AIPOM - db ALAKAZAM - db AMPHAROS - db ARBOK - db ARCANINE - db ARIADOS - db ARTICUNO - db AZUMARILL - db BAYLEEF - db BEEDRILL - db BELLOSSOM - db BELLSPROUT - db BLASTOISE - db BLISSEY - db BULBASAUR - db BUTTERFREE - db CATERPIE - db CELEBI - db CHANSEY - db CHARIZARD - db CHARMANDER - db CHARMELEON - db CHIKORITA - db CHINCHOU - db CLEFABLE - db CLEFAIRY - db CLEFFA - db CLOYSTER - db CORSOLA - db CROBAT - db CROCONAW - db CUBONE - db CYNDAQUIL - db DELIBIRD - db DEWGONG - db DIGLETT - db DITTO - db DODRIO - db DODUO - db DONPHAN - db DRAGONAIR - db DRAGONITE - db DRATINI - db DROWZEE - db DUGTRIO - db DUNSPARCE - db EEVEE - db EKANS - db ELECTABUZZ - db ELECTRODE - db ELEKID - db ENTEI - db ESPEON - db EXEGGCUTE - db EXEGGUTOR - db FARFETCH_D - db FEAROW - db FERALIGATR - db FLAAFFY - db FLAREON - db FORRETRESS - db FURRET - db GASTLY - db GENGAR - db GEODUDE - db GIRAFARIG - db GLIGAR - db GLOOM - db GOLBAT - db GOLDEEN - db GOLDUCK - db GOLEM - db GRANBULL - db GRAVELER - db GRIMER - db GROWLITHE - db GYARADOS - db HAUNTER - db HERACROSS - db HITMONCHAN - db HITMONLEE - db HITMONTOP - db HO_OH - db HOOTHOOT - db HOPPIP - db HORSEA - db HOUNDOOM - db HOUNDOUR - db HYPNO - db IGGLYBUFF - db IVYSAUR - db JIGGLYPUFF - db JOLTEON - db JUMPLUFF - db JYNX - db KABUTO - db KABUTOPS - db KADABRA - db KAKUNA - db KANGASKHAN - db KINGDRA - db KINGLER - db KOFFING - db KRABBY - db LANTURN - db LAPRAS - db LARVITAR - db LEDIAN - db LEDYBA - db LICKITUNG - db LUGIA - db MACHAMP - db MACHOKE - db MACHOP - db MAGBY - db MAGCARGO - db MAGIKARP - db MAGMAR - db MAGNEMITE - db MAGNETON - db MANKEY - db MANTINE - db MAREEP - db MARILL - db MAROWAK - db MEGANIUM - db MEOWTH - db METAPOD - db MEW - db MEWTWO - db MILTANK - db MISDREAVUS - db MOLTRES - db MR__MIME - db MUK - db MURKROW - db NATU - db NIDOKING - db NIDOQUEEN - db NIDORAN_F - db NIDORAN_M - db NIDORINA - db NIDORINO - db NINETALES - db NOCTOWL - db OCTILLERY - db ODDISH - db OMANYTE - db OMASTAR - db ONIX - db PARAS - db PARASECT - db PERSIAN - db PHANPY - db PICHU - db PIDGEOT - db PIDGEOTTO - db PIDGEY - db PIKACHU - db PILOSWINE - db PINECO - db PINSIR - db POLITOED - db POLIWAG - db POLIWHIRL - db POLIWRATH - db PONYTA - db PORYGON - db PORYGON2 - db PRIMEAPE - db PSYDUCK - db PUPITAR - db QUAGSIRE - db QUILAVA - db QWILFISH - db RAICHU - db RAIKOU - db RAPIDASH - db RATICATE - db RATTATA - db REMORAID - db RHYDON - db RHYHORN - db SANDSHREW - db SANDSLASH - db SCIZOR - db SCYTHER - db SEADRA - db SEAKING - db SEEL - db SENTRET - db SHELLDER - db SHUCKLE - db SKARMORY - db SKIPLOOM - db SLOWBRO - db SLOWKING - db SLOWPOKE - db SLUGMA - db SMEARGLE - db SMOOCHUM - db SNEASEL - db SNORLAX - db SNUBBULL - db SPEAROW - db SPINARAK - db SQUIRTLE - db STANTLER - db STARMIE - db STARYU - db STEELIX - db SUDOWOODO - db SUICUNE - db SUNFLORA - db SUNKERN - db SWINUB - db TANGELA - db TAUROS - db TEDDIURSA - db TENTACOOL - db TENTACRUEL - db TOGEPI - db TOGETIC - db TOTODILE - db TYPHLOSION - db TYRANITAR - db TYROGUE - db UMBREON - db UNOWN - db URSARING - db VAPOREON - db VENOMOTH - db VENONAT - db VENUSAUR - db VICTREEBEL - db VILEPLUME - db VOLTORB - db VULPIX - db WARTORTLE - db WEEDLE - db WEEPINBELL - db WEEZING - db WIGGLYTUFF - db WOBBUFFET - db WOOPER - db XATU - db YANMA - db ZAPDOS - db ZUBAT -; 0x40d60 diff --git a/data/pokedex/order_new.asm b/data/pokedex/order_new.asm deleted file mode 100644 index bf7e3d298..000000000 --- a/data/pokedex/order_new.asm +++ /dev/null @@ -1,255 +0,0 @@ -; Every Pokémon sorted in New Pokédex Order. - -NewPokedexOrder: ; 0x40d60 - db CHIKORITA - db BAYLEEF - db MEGANIUM - db CYNDAQUIL - db QUILAVA - db TYPHLOSION - db TOTODILE - db CROCONAW - db FERALIGATR - db PIDGEY - db PIDGEOTTO - db PIDGEOT - db SPEAROW - db FEAROW - db HOOTHOOT - db NOCTOWL - db RATTATA - db RATICATE - db SENTRET - db FURRET - db PICHU - db PIKACHU - db RAICHU - db CATERPIE - db METAPOD - db BUTTERFREE - db WEEDLE - db KAKUNA - db BEEDRILL - db LEDYBA - db LEDIAN - db SPINARAK - db ARIADOS - db GEODUDE - db GRAVELER - db GOLEM - db ZUBAT - db GOLBAT - db CROBAT - db CLEFFA - db CLEFAIRY - db CLEFABLE - db IGGLYBUFF - db JIGGLYPUFF - db WIGGLYTUFF - db TOGEPI - db TOGETIC - db SANDSHREW - db SANDSLASH - db EKANS - db ARBOK - db DUNSPARCE - db MAREEP - db FLAAFFY - db AMPHAROS - db WOOPER - db QUAGSIRE - db GASTLY - db HAUNTER - db GENGAR - db UNOWN - db ONIX - db STEELIX - db BELLSPROUT - db WEEPINBELL - db VICTREEBEL - db HOPPIP - db SKIPLOOM - db JUMPLUFF - db PARAS - db PARASECT - db POLIWAG - db POLIWHIRL - db POLIWRATH - db POLITOED - db MAGIKARP - db GYARADOS - db GOLDEEN - db SEAKING - db SLOWPOKE - db SLOWBRO - db SLOWKING - db ODDISH - db GLOOM - db VILEPLUME - db BELLOSSOM - db DROWZEE - db HYPNO - db ABRA - db KADABRA - db ALAKAZAM - db DITTO - db PINECO - db FORRETRESS - db NIDORAN_F - db NIDORINA - db NIDOQUEEN - db NIDORAN_M - db NIDORINO - db NIDOKING - db YANMA - db SUNKERN - db SUNFLORA - db EXEGGCUTE - db EXEGGUTOR - db SUDOWOODO - db WOBBUFFET - db VENONAT - db VENOMOTH - db SCYTHER - db SCIZOR - db PINSIR - db HERACROSS - db KOFFING - db WEEZING - db GRIMER - db MUK - db MAGNEMITE - db MAGNETON - db VOLTORB - db ELECTRODE - db AIPOM - db SNUBBULL - db GRANBULL - db VULPIX - db NINETALES - db GROWLITHE - db ARCANINE - db STANTLER - db MARILL - db AZUMARILL - db DIGLETT - db DUGTRIO - db MANKEY - db PRIMEAPE - db MEOWTH - db PERSIAN - db PSYDUCK - db GOLDUCK - db MACHOP - db MACHOKE - db MACHAMP - db TYROGUE - db HITMONLEE - db HITMONCHAN - db HITMONTOP - db GIRAFARIG - db TAUROS - db MILTANK - db MAGBY - db MAGMAR - db SMOOCHUM - db JYNX - db ELEKID - db ELECTABUZZ - db MR__MIME - db SMEARGLE - db FARFETCH_D - db NATU - db XATU - db QWILFISH - db TENTACOOL - db TENTACRUEL - db KRABBY - db KINGLER - db SHUCKLE - db STARYU - db STARMIE - db SHELLDER - db CLOYSTER - db CORSOLA - db REMORAID - db OCTILLERY - db CHINCHOU - db LANTURN - db SEEL - db DEWGONG - db LICKITUNG - db TANGELA - db EEVEE - db VAPOREON - db JOLTEON - db FLAREON - db ESPEON - db UMBREON - db HORSEA - db SEADRA - db KINGDRA - db GLIGAR - db DELIBIRD - db SWINUB - db PILOSWINE - db TEDDIURSA - db URSARING - db PHANPY - db DONPHAN - db MANTINE - db SKARMORY - db DODUO - db DODRIO - db PONYTA - db RAPIDASH - db CUBONE - db MAROWAK - db KANGASKHAN - db RHYHORN - db RHYDON - db MURKROW - db HOUNDOUR - db HOUNDOOM - db SLUGMA - db MAGCARGO - db SNEASEL - db MISDREAVUS - db PORYGON - db PORYGON2 - db CHANSEY - db BLISSEY - db LAPRAS - db OMANYTE - db OMASTAR - db KABUTO - db KABUTOPS - db AERODACTYL - db SNORLAX - db BULBASAUR - db IVYSAUR - db VENUSAUR - db CHARMANDER - db CHARMELEON - db CHARIZARD - db SQUIRTLE - db WARTORTLE - db BLASTOISE - db ARTICUNO - db ZAPDOS - db MOLTRES - db RAIKOU - db ENTEI - db SUICUNE - db DRATINI - db DRAGONAIR - db DRAGONITE - db LARVITAR - db PUPITAR - db TYRANITAR - db LUGIA - db HO_OH - db MEWTWO - db MEW - db CELEBI -; 0x40e5b diff --git a/data/pokemon/base_stats.asm b/data/pokemon/base_stats.asm new file mode 100644 index 000000000..8a6435a40 --- /dev/null +++ b/data/pokemon/base_stats.asm @@ -0,0 +1,252 @@ +BaseData:: +INCLUDE "data/pokemon/base_stats/bulbasaur.asm" +INCLUDE "data/pokemon/base_stats/ivysaur.asm" +INCLUDE "data/pokemon/base_stats/venusaur.asm" +INCLUDE "data/pokemon/base_stats/charmander.asm" +INCLUDE "data/pokemon/base_stats/charmeleon.asm" +INCLUDE "data/pokemon/base_stats/charizard.asm" +INCLUDE "data/pokemon/base_stats/squirtle.asm" +INCLUDE "data/pokemon/base_stats/wartortle.asm" +INCLUDE "data/pokemon/base_stats/blastoise.asm" +INCLUDE "data/pokemon/base_stats/caterpie.asm" +INCLUDE "data/pokemon/base_stats/metapod.asm" +INCLUDE "data/pokemon/base_stats/butterfree.asm" +INCLUDE "data/pokemon/base_stats/weedle.asm" +INCLUDE "data/pokemon/base_stats/kakuna.asm" +INCLUDE "data/pokemon/base_stats/beedrill.asm" +INCLUDE "data/pokemon/base_stats/pidgey.asm" +INCLUDE "data/pokemon/base_stats/pidgeotto.asm" +INCLUDE "data/pokemon/base_stats/pidgeot.asm" +INCLUDE "data/pokemon/base_stats/rattata.asm" +INCLUDE "data/pokemon/base_stats/raticate.asm" +INCLUDE "data/pokemon/base_stats/spearow.asm" +INCLUDE "data/pokemon/base_stats/fearow.asm" +INCLUDE "data/pokemon/base_stats/ekans.asm" +INCLUDE "data/pokemon/base_stats/arbok.asm" +INCLUDE "data/pokemon/base_stats/pikachu.asm" +INCLUDE "data/pokemon/base_stats/raichu.asm" +INCLUDE "data/pokemon/base_stats/sandshrew.asm" +INCLUDE "data/pokemon/base_stats/sandslash.asm" +INCLUDE "data/pokemon/base_stats/nidoran_f.asm" +INCLUDE "data/pokemon/base_stats/nidorina.asm" +INCLUDE "data/pokemon/base_stats/nidoqueen.asm" +INCLUDE "data/pokemon/base_stats/nidoran_m.asm" +INCLUDE "data/pokemon/base_stats/nidorino.asm" +INCLUDE "data/pokemon/base_stats/nidoking.asm" +INCLUDE "data/pokemon/base_stats/clefairy.asm" +INCLUDE "data/pokemon/base_stats/clefable.asm" +INCLUDE "data/pokemon/base_stats/vulpix.asm" +INCLUDE "data/pokemon/base_stats/ninetales.asm" +INCLUDE "data/pokemon/base_stats/jigglypuff.asm" +INCLUDE "data/pokemon/base_stats/wigglytuff.asm" +INCLUDE "data/pokemon/base_stats/zubat.asm" +INCLUDE "data/pokemon/base_stats/golbat.asm" +INCLUDE "data/pokemon/base_stats/oddish.asm" +INCLUDE "data/pokemon/base_stats/gloom.asm" +INCLUDE "data/pokemon/base_stats/vileplume.asm" +INCLUDE "data/pokemon/base_stats/paras.asm" +INCLUDE "data/pokemon/base_stats/parasect.asm" +INCLUDE "data/pokemon/base_stats/venonat.asm" +INCLUDE "data/pokemon/base_stats/venomoth.asm" +INCLUDE "data/pokemon/base_stats/diglett.asm" +INCLUDE "data/pokemon/base_stats/dugtrio.asm" +INCLUDE "data/pokemon/base_stats/meowth.asm" +INCLUDE "data/pokemon/base_stats/persian.asm" +INCLUDE "data/pokemon/base_stats/psyduck.asm" +INCLUDE "data/pokemon/base_stats/golduck.asm" +INCLUDE "data/pokemon/base_stats/mankey.asm" +INCLUDE "data/pokemon/base_stats/primeape.asm" +INCLUDE "data/pokemon/base_stats/growlithe.asm" +INCLUDE "data/pokemon/base_stats/arcanine.asm" +INCLUDE "data/pokemon/base_stats/poliwag.asm" +INCLUDE "data/pokemon/base_stats/poliwhirl.asm" +INCLUDE "data/pokemon/base_stats/poliwrath.asm" +INCLUDE "data/pokemon/base_stats/abra.asm" +INCLUDE "data/pokemon/base_stats/kadabra.asm" +INCLUDE "data/pokemon/base_stats/alakazam.asm" +INCLUDE "data/pokemon/base_stats/machop.asm" +INCLUDE "data/pokemon/base_stats/machoke.asm" +INCLUDE "data/pokemon/base_stats/machamp.asm" +INCLUDE "data/pokemon/base_stats/bellsprout.asm" +INCLUDE "data/pokemon/base_stats/weepinbell.asm" +INCLUDE "data/pokemon/base_stats/victreebel.asm" +INCLUDE "data/pokemon/base_stats/tentacool.asm" +INCLUDE "data/pokemon/base_stats/tentacruel.asm" +INCLUDE "data/pokemon/base_stats/geodude.asm" +INCLUDE "data/pokemon/base_stats/graveler.asm" +INCLUDE "data/pokemon/base_stats/golem.asm" +INCLUDE "data/pokemon/base_stats/ponyta.asm" +INCLUDE "data/pokemon/base_stats/rapidash.asm" +INCLUDE "data/pokemon/base_stats/slowpoke.asm" +INCLUDE "data/pokemon/base_stats/slowbro.asm" +INCLUDE "data/pokemon/base_stats/magnemite.asm" +INCLUDE "data/pokemon/base_stats/magneton.asm" +INCLUDE "data/pokemon/base_stats/farfetch_d.asm" +INCLUDE "data/pokemon/base_stats/doduo.asm" +INCLUDE "data/pokemon/base_stats/dodrio.asm" +INCLUDE "data/pokemon/base_stats/seel.asm" +INCLUDE "data/pokemon/base_stats/dewgong.asm" +INCLUDE "data/pokemon/base_stats/grimer.asm" +INCLUDE "data/pokemon/base_stats/muk.asm" +INCLUDE "data/pokemon/base_stats/shellder.asm" +INCLUDE "data/pokemon/base_stats/cloyster.asm" +INCLUDE "data/pokemon/base_stats/gastly.asm" +INCLUDE "data/pokemon/base_stats/haunter.asm" +INCLUDE "data/pokemon/base_stats/gengar.asm" +INCLUDE "data/pokemon/base_stats/onix.asm" +INCLUDE "data/pokemon/base_stats/drowzee.asm" +INCLUDE "data/pokemon/base_stats/hypno.asm" +INCLUDE "data/pokemon/base_stats/krabby.asm" +INCLUDE "data/pokemon/base_stats/kingler.asm" +INCLUDE "data/pokemon/base_stats/voltorb.asm" +INCLUDE "data/pokemon/base_stats/electrode.asm" +INCLUDE "data/pokemon/base_stats/exeggcute.asm" +INCLUDE "data/pokemon/base_stats/exeggutor.asm" +INCLUDE "data/pokemon/base_stats/cubone.asm" +INCLUDE "data/pokemon/base_stats/marowak.asm" +INCLUDE "data/pokemon/base_stats/hitmonlee.asm" +INCLUDE "data/pokemon/base_stats/hitmonchan.asm" +INCLUDE "data/pokemon/base_stats/lickitung.asm" +INCLUDE "data/pokemon/base_stats/koffing.asm" +INCLUDE "data/pokemon/base_stats/weezing.asm" +INCLUDE "data/pokemon/base_stats/rhyhorn.asm" +INCLUDE "data/pokemon/base_stats/rhydon.asm" +INCLUDE "data/pokemon/base_stats/chansey.asm" +INCLUDE "data/pokemon/base_stats/tangela.asm" +INCLUDE "data/pokemon/base_stats/kangaskhan.asm" +INCLUDE "data/pokemon/base_stats/horsea.asm" +INCLUDE "data/pokemon/base_stats/seadra.asm" +INCLUDE "data/pokemon/base_stats/goldeen.asm" +INCLUDE "data/pokemon/base_stats/seaking.asm" +INCLUDE "data/pokemon/base_stats/staryu.asm" +INCLUDE "data/pokemon/base_stats/starmie.asm" +INCLUDE "data/pokemon/base_stats/mr__mime.asm" +INCLUDE "data/pokemon/base_stats/scyther.asm" +INCLUDE "data/pokemon/base_stats/jynx.asm" +INCLUDE "data/pokemon/base_stats/electabuzz.asm" +INCLUDE "data/pokemon/base_stats/magmar.asm" +INCLUDE "data/pokemon/base_stats/pinsir.asm" +INCLUDE "data/pokemon/base_stats/tauros.asm" +INCLUDE "data/pokemon/base_stats/magikarp.asm" +INCLUDE "data/pokemon/base_stats/gyarados.asm" +INCLUDE "data/pokemon/base_stats/lapras.asm" +INCLUDE "data/pokemon/base_stats/ditto.asm" +INCLUDE "data/pokemon/base_stats/eevee.asm" +INCLUDE "data/pokemon/base_stats/vaporeon.asm" +INCLUDE "data/pokemon/base_stats/jolteon.asm" +INCLUDE "data/pokemon/base_stats/flareon.asm" +INCLUDE "data/pokemon/base_stats/porygon.asm" +INCLUDE "data/pokemon/base_stats/omanyte.asm" +INCLUDE "data/pokemon/base_stats/omastar.asm" +INCLUDE "data/pokemon/base_stats/kabuto.asm" +INCLUDE "data/pokemon/base_stats/kabutops.asm" +INCLUDE "data/pokemon/base_stats/aerodactyl.asm" +INCLUDE "data/pokemon/base_stats/snorlax.asm" +INCLUDE "data/pokemon/base_stats/articuno.asm" +INCLUDE "data/pokemon/base_stats/zapdos.asm" +INCLUDE "data/pokemon/base_stats/moltres.asm" +INCLUDE "data/pokemon/base_stats/dratini.asm" +INCLUDE "data/pokemon/base_stats/dragonair.asm" +INCLUDE "data/pokemon/base_stats/dragonite.asm" +INCLUDE "data/pokemon/base_stats/mewtwo.asm" +INCLUDE "data/pokemon/base_stats/mew.asm" +INCLUDE "data/pokemon/base_stats/chikorita.asm" +INCLUDE "data/pokemon/base_stats/bayleef.asm" +INCLUDE "data/pokemon/base_stats/meganium.asm" +INCLUDE "data/pokemon/base_stats/cyndaquil.asm" +INCLUDE "data/pokemon/base_stats/quilava.asm" +INCLUDE "data/pokemon/base_stats/typhlosion.asm" +INCLUDE "data/pokemon/base_stats/totodile.asm" +INCLUDE "data/pokemon/base_stats/croconaw.asm" +INCLUDE "data/pokemon/base_stats/feraligatr.asm" +INCLUDE "data/pokemon/base_stats/sentret.asm" +INCLUDE "data/pokemon/base_stats/furret.asm" +INCLUDE "data/pokemon/base_stats/hoothoot.asm" +INCLUDE "data/pokemon/base_stats/noctowl.asm" +INCLUDE "data/pokemon/base_stats/ledyba.asm" +INCLUDE "data/pokemon/base_stats/ledian.asm" +INCLUDE "data/pokemon/base_stats/spinarak.asm" +INCLUDE "data/pokemon/base_stats/ariados.asm" +INCLUDE "data/pokemon/base_stats/crobat.asm" +INCLUDE "data/pokemon/base_stats/chinchou.asm" +INCLUDE "data/pokemon/base_stats/lanturn.asm" +INCLUDE "data/pokemon/base_stats/pichu.asm" +INCLUDE "data/pokemon/base_stats/cleffa.asm" +INCLUDE "data/pokemon/base_stats/igglybuff.asm" +INCLUDE "data/pokemon/base_stats/togepi.asm" +INCLUDE "data/pokemon/base_stats/togetic.asm" +INCLUDE "data/pokemon/base_stats/natu.asm" +INCLUDE "data/pokemon/base_stats/xatu.asm" +INCLUDE "data/pokemon/base_stats/mareep.asm" +INCLUDE "data/pokemon/base_stats/flaaffy.asm" +INCLUDE "data/pokemon/base_stats/ampharos.asm" +INCLUDE "data/pokemon/base_stats/bellossom.asm" +INCLUDE "data/pokemon/base_stats/marill.asm" +INCLUDE "data/pokemon/base_stats/azumarill.asm" +INCLUDE "data/pokemon/base_stats/sudowoodo.asm" +INCLUDE "data/pokemon/base_stats/politoed.asm" +INCLUDE "data/pokemon/base_stats/hoppip.asm" +INCLUDE "data/pokemon/base_stats/skiploom.asm" +INCLUDE "data/pokemon/base_stats/jumpluff.asm" +INCLUDE "data/pokemon/base_stats/aipom.asm" +INCLUDE "data/pokemon/base_stats/sunkern.asm" +INCLUDE "data/pokemon/base_stats/sunflora.asm" +INCLUDE "data/pokemon/base_stats/yanma.asm" +INCLUDE "data/pokemon/base_stats/wooper.asm" +INCLUDE "data/pokemon/base_stats/quagsire.asm" +INCLUDE "data/pokemon/base_stats/espeon.asm" +INCLUDE "data/pokemon/base_stats/umbreon.asm" +INCLUDE "data/pokemon/base_stats/murkrow.asm" +INCLUDE "data/pokemon/base_stats/slowking.asm" +INCLUDE "data/pokemon/base_stats/misdreavus.asm" +INCLUDE "data/pokemon/base_stats/unown.asm" +INCLUDE "data/pokemon/base_stats/wobbuffet.asm" +INCLUDE "data/pokemon/base_stats/girafarig.asm" +INCLUDE "data/pokemon/base_stats/pineco.asm" +INCLUDE "data/pokemon/base_stats/forretress.asm" +INCLUDE "data/pokemon/base_stats/dunsparce.asm" +INCLUDE "data/pokemon/base_stats/gligar.asm" +INCLUDE "data/pokemon/base_stats/steelix.asm" +INCLUDE "data/pokemon/base_stats/snubbull.asm" +INCLUDE "data/pokemon/base_stats/granbull.asm" +INCLUDE "data/pokemon/base_stats/qwilfish.asm" +INCLUDE "data/pokemon/base_stats/scizor.asm" +INCLUDE "data/pokemon/base_stats/shuckle.asm" +INCLUDE "data/pokemon/base_stats/heracross.asm" +INCLUDE "data/pokemon/base_stats/sneasel.asm" +INCLUDE "data/pokemon/base_stats/teddiursa.asm" +INCLUDE "data/pokemon/base_stats/ursaring.asm" +INCLUDE "data/pokemon/base_stats/slugma.asm" +INCLUDE "data/pokemon/base_stats/magcargo.asm" +INCLUDE "data/pokemon/base_stats/swinub.asm" +INCLUDE "data/pokemon/base_stats/piloswine.asm" +INCLUDE "data/pokemon/base_stats/corsola.asm" +INCLUDE "data/pokemon/base_stats/remoraid.asm" +INCLUDE "data/pokemon/base_stats/octillery.asm" +INCLUDE "data/pokemon/base_stats/delibird.asm" +INCLUDE "data/pokemon/base_stats/mantine.asm" +INCLUDE "data/pokemon/base_stats/skarmory.asm" +INCLUDE "data/pokemon/base_stats/houndour.asm" +INCLUDE "data/pokemon/base_stats/houndoom.asm" +INCLUDE "data/pokemon/base_stats/kingdra.asm" +INCLUDE "data/pokemon/base_stats/phanpy.asm" +INCLUDE "data/pokemon/base_stats/donphan.asm" +INCLUDE "data/pokemon/base_stats/porygon2.asm" +INCLUDE "data/pokemon/base_stats/stantler.asm" +INCLUDE "data/pokemon/base_stats/smeargle.asm" +INCLUDE "data/pokemon/base_stats/tyrogue.asm" +INCLUDE "data/pokemon/base_stats/hitmontop.asm" +INCLUDE "data/pokemon/base_stats/smoochum.asm" +INCLUDE "data/pokemon/base_stats/elekid.asm" +INCLUDE "data/pokemon/base_stats/magby.asm" +INCLUDE "data/pokemon/base_stats/miltank.asm" +INCLUDE "data/pokemon/base_stats/blissey.asm" +INCLUDE "data/pokemon/base_stats/raikou.asm" +INCLUDE "data/pokemon/base_stats/entei.asm" +INCLUDE "data/pokemon/base_stats/suicune.asm" +INCLUDE "data/pokemon/base_stats/larvitar.asm" +INCLUDE "data/pokemon/base_stats/pupitar.asm" +INCLUDE "data/pokemon/base_stats/tyranitar.asm" +INCLUDE "data/pokemon/base_stats/lugia.asm" +INCLUDE "data/pokemon/base_stats/ho_oh.asm" +INCLUDE "data/pokemon/base_stats/celebi.asm" diff --git a/data/pokemon/base_stats/abra.asm b/data/pokemon/base_stats/abra.asm new file mode 100644 index 000000000..a2520320a --- /dev/null +++ b/data/pokemon/base_stats/abra.asm @@ -0,0 +1,22 @@ + db ABRA ; 063 + + db 25, 20, 15, 90, 105, 55 + ; hp atk def spd sat sdf + + db PSYCHIC, PSYCHIC + db 200 ; catch rate + db 73 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F25 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/abra/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_SLOW ; growth rate + dn HUMANSHAPE, HUMANSHAPE ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, PSYCHIC, SHADOW_BALL, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, THUNDERPUNCH, DREAM_EATER, REST, ATTRACT, THIEF, FIRE_PUNCH, NIGHTMARE, FLASH + ; end diff --git a/data/pokemon/base_stats/aerodactyl.asm b/data/pokemon/base_stats/aerodactyl.asm new file mode 100644 index 000000000..897311399 --- /dev/null +++ b/data/pokemon/base_stats/aerodactyl.asm @@ -0,0 +1,22 @@ + db AERODACTYL ; 142 + + db 80, 105, 65, 130, 60, 75 + ; hp atk def spd sat sdf + + db ROCK, FLYING + db 45 ; catch rate + db 202 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F12_5 ; gender + db 100 ; unknown + db 35 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/aerodactyl/front.dimensions" + db 0, 0, 0, 0 ; padding + db SLOW ; growth rate + dn AVIAN, AVIAN ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, EARTHQUAKE, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, SWIFT, DETECT, REST, ATTRACT, STEEL_WING, FLY, FLAMETHROWER + ; end diff --git a/data/pokemon/base_stats/aipom.asm b/data/pokemon/base_stats/aipom.asm new file mode 100644 index 000000000..839bff358 --- /dev/null +++ b/data/pokemon/base_stats/aipom.asm @@ -0,0 +1,22 @@ + db AIPOM ; 190 + + db 55, 70, 55, 85, 40, 55 + ; hp atk def spd sat sdf + + db NORMAL, NORMAL + db 45 ; catch rate + db 94 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/aipom/front.dimensions" + db 0, 0, 0, 0 ; padding + db FAST ; growth rate + dn FIELD, FIELD ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, THUNDERPUNCH, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, FURY_CUTTER, NIGHTMARE, CUT, STRENGTH, THUNDERBOLT + ; end diff --git a/data/pokemon/base_stats/alakazam.asm b/data/pokemon/base_stats/alakazam.asm new file mode 100644 index 000000000..d0647e268 --- /dev/null +++ b/data/pokemon/base_stats/alakazam.asm @@ -0,0 +1,22 @@ + db ALAKAZAM ; 065 + + db 55, 50, 45, 120, 135, 85 + ; hp atk def spd sat sdf + + db PSYCHIC, PSYCHIC + db 50 ; catch rate + db 186 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F25 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/alakazam/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_SLOW ; growth rate + dn HUMANSHAPE, HUMANSHAPE ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, DIG, PSYCHIC, SHADOW_BALL, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, THUNDERPUNCH, DREAM_EATER, REST, ATTRACT, THIEF, FIRE_PUNCH, NIGHTMARE, FLASH + ; end diff --git a/data/pokemon/base_stats/ampharos.asm b/data/pokemon/base_stats/ampharos.asm new file mode 100644 index 000000000..ec361a08d --- /dev/null +++ b/data/pokemon/base_stats/ampharos.asm @@ -0,0 +1,22 @@ + db AMPHAROS ; 181 + + db 90, 75, 75, 55, 115, 90 + ; hp atk def spd sat sdf + + db ELECTRIC, ELECTRIC + db 45 ; catch rate + db 194 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/ampharos/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_SLOW ; growth rate + dn MONSTER, FIELD ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, THUNDERPUNCH, REST, ATTRACT, FIRE_PUNCH, STRENGTH, FLASH, THUNDERBOLT + ; end diff --git a/data/pokemon/base_stats/arbok.asm b/data/pokemon/base_stats/arbok.asm new file mode 100644 index 000000000..ed84e5dc8 --- /dev/null +++ b/data/pokemon/base_stats/arbok.asm @@ -0,0 +1,22 @@ + db ARBOK ; 024 + + db 60, 85, 69, 80, 65, 79 + ; hp atk def spd sat sdf + + db POISON, POISON + db 90 ; catch rate + db 147 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/arbok/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn FIELD, REPTILE ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, THIEF, STRENGTH + ; end diff --git a/data/pokemon/base_stats/arcanine.asm b/data/pokemon/base_stats/arcanine.asm new file mode 100644 index 000000000..d543bb8da --- /dev/null +++ b/data/pokemon/base_stats/arcanine.asm @@ -0,0 +1,22 @@ + db ARCANINE ; 059 + + db 90, 110, 80, 95, 100, 80 + ; hp atk def spd sat sdf + + db FIRE, FIRE + db 75 ; catch rate + db 213 ; base exp + db BURNT_BERRY ; item 1 + db BURNT_BERRY ; item 2 + db GENDER_F25 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/arcanine/front.dimensions" + db 0, 0, 0, 0 ; padding + db SLOW ; growth rate + dn FIELD, FIELD ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, RETURN, DIG, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, REST, ATTRACT, FLAMETHROWER + ; end diff --git a/data/pokemon/base_stats/ariados.asm b/data/pokemon/base_stats/ariados.asm new file mode 100644 index 000000000..8a436f624 --- /dev/null +++ b/data/pokemon/base_stats/ariados.asm @@ -0,0 +1,22 @@ + db ARIADOS ; 168 + + db 70, 90, 70, 40, 60, 60 + ; hp atk def spd sat sdf + + db BUG, POISON + db 90 ; catch rate + db 134 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 15 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/ariados/front.dimensions" + db 0, 0, 0, 0 ; padding + db FAST ; growth rate + dn INSECT, INSECT ; egg groups + + ; tmhm + tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DIG, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, THIEF, FLASH + ; end diff --git a/data/pokemon/base_stats/articuno.asm b/data/pokemon/base_stats/articuno.asm new file mode 100644 index 000000000..ddf85599b --- /dev/null +++ b/data/pokemon/base_stats/articuno.asm @@ -0,0 +1,22 @@ + db ARTICUNO ; 144 + + db 90, 85, 100, 85, 95, 125 + ; hp atk def spd sat sdf + + db ICE, FLYING + db 3 ; catch rate + db 215 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDERLESS ; gender + db 100 ; unknown + db 80 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/articuno/front.dimensions" + db 0, 0, 0, 0 ; padding + db SLOW ; growth rate + dn NO_EGGS, NO_EGGS ; egg groups + + ; tmhm + tmhm CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, SWIFT, DETECT, REST, STEEL_WING, FLY, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/azumarill.asm b/data/pokemon/base_stats/azumarill.asm new file mode 100644 index 000000000..c4286ad5d --- /dev/null +++ b/data/pokemon/base_stats/azumarill.asm @@ -0,0 +1,22 @@ + db AZUMARILL ; 184 + + db 100, 50, 80, 50, 50, 80 + ; hp atk def spd sat sdf + + db WATER, WATER + db 75 ; catch rate + db 153 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/azumarill/front.dimensions" + db 0, 0, 0, 0 ; padding + db FAST ; growth rate + dn AMPHIBIAN, FAIRY ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, REST, ATTRACT, SURF, STRENGTH, WHIRLPOOL, WATERFALL, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/bayleef.asm b/data/pokemon/base_stats/bayleef.asm new file mode 100644 index 000000000..82caf4ae7 --- /dev/null +++ b/data/pokemon/base_stats/bayleef.asm @@ -0,0 +1,22 @@ + db BAYLEEF ; 153 + + db 60, 62, 80, 60, 63, 80 + ; hp atk def spd sat sdf + + db GRASS, GRASS + db 45 ; catch rate + db 141 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F12_5 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/bayleef/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_SLOW ; growth rate + dn MONSTER, PLANT ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DETECT, REST, ATTRACT, FURY_CUTTER, CUT, STRENGTH, FLASH + ; end diff --git a/data/pokemon/base_stats/beedrill.asm b/data/pokemon/base_stats/beedrill.asm new file mode 100644 index 000000000..c76accff8 --- /dev/null +++ b/data/pokemon/base_stats/beedrill.asm @@ -0,0 +1,22 @@ + db BEEDRILL ; 015 + + db 65, 80, 40, 75, 45, 80 + ; hp atk def spd sat sdf + + db BUG, POISON + db 45 ; catch rate + db 159 ; base exp + db NO_ITEM ; item 1 + db POISON_BARB ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 15 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/beedrill/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn INSECT, INSECT ; egg groups + + ; tmhm + tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, SWIFT, REST, ATTRACT, FURY_CUTTER, CUT + ; end diff --git a/data/pokemon/base_stats/bellossom.asm b/data/pokemon/base_stats/bellossom.asm new file mode 100644 index 000000000..9131b2b38 --- /dev/null +++ b/data/pokemon/base_stats/bellossom.asm @@ -0,0 +1,22 @@ + db BELLOSSOM ; 182 + + db 75, 80, 85, 50, 90, 100 + ; hp atk def spd sat sdf + + db GRASS, GRASS + db 45 ; catch rate + db 184 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/bellossom/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_SLOW ; growth rate + dn PLANT, PLANT ; egg groups + + ; tmhm + tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, REST, ATTRACT, CUT, FLASH + ; end diff --git a/data/pokemon/base_stats/bellsprout.asm b/data/pokemon/base_stats/bellsprout.asm new file mode 100644 index 000000000..94a8ded6b --- /dev/null +++ b/data/pokemon/base_stats/bellsprout.asm @@ -0,0 +1,22 @@ + db BELLSPROUT ; 069 + + db 50, 75, 35, 40, 70, 30 + ; hp atk def spd sat sdf + + db GRASS, POISON + db 255 ; catch rate + db 84 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/bellsprout/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_SLOW ; growth rate + dn PLANT, PLANT ; egg groups + + ; tmhm + tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, CUT, FLASH + ; end diff --git a/data/pokemon/base_stats/blastoise.asm b/data/pokemon/base_stats/blastoise.asm new file mode 100644 index 000000000..7bb267d72 --- /dev/null +++ b/data/pokemon/base_stats/blastoise.asm @@ -0,0 +1,22 @@ + db BLASTOISE ; 009 + + db 79, 83, 100, 78, 85, 105 + ; hp atk def spd sat sdf + + db WATER, WATER + db 45 ; catch rate + db 210 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F12_5 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/blastoise/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_SLOW ; growth rate + dn MONSTER, AMPHIBIAN ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, SURF, STRENGTH, WHIRLPOOL, WATERFALL, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/blissey.asm b/data/pokemon/base_stats/blissey.asm new file mode 100644 index 000000000..dc1c9a02b --- /dev/null +++ b/data/pokemon/base_stats/blissey.asm @@ -0,0 +1,22 @@ + db BLISSEY ; 242 + + db 255, 10, 10, 55, 75, 135 + ; hp atk def spd sat sdf + + db NORMAL, NORMAL + db 30 ; catch rate + db 255 ; base exp + db NO_ITEM ; item 1 + db LUCKY_EGG ; item 2 + db GENDER_F100 ; gender + db 100 ; unknown + db 40 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/blissey/front.dimensions" + db 0, 0, 0, 0 ; padding + db FAST ; growth rate + dn FAIRY, FAIRY ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, DEFENSE_CURL, DREAM_EATER, REST, ATTRACT, STRENGTH, FLASH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/bulbasaur.asm b/data/pokemon/base_stats/bulbasaur.asm new file mode 100644 index 000000000..bc843bcd3 --- /dev/null +++ b/data/pokemon/base_stats/bulbasaur.asm @@ -0,0 +1,22 @@ + db BULBASAUR ; 001 + + db 45, 49, 49, 45, 65, 65 + ; hp atk def spd sat sdf + + db GRASS, POISON + db 45 ; catch rate + db 64 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F12_5 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/bulbasaur/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_SLOW ; growth rate + dn MONSTER, PLANT ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, FURY_CUTTER, CUT, FLASH + ; end diff --git a/data/pokemon/base_stats/butterfree.asm b/data/pokemon/base_stats/butterfree.asm new file mode 100644 index 000000000..24b142e60 --- /dev/null +++ b/data/pokemon/base_stats/butterfree.asm @@ -0,0 +1,22 @@ + db BUTTERFREE ; 012 + + db 60, 45, 50, 70, 80, 80 + ; hp atk def spd sat sdf + + db BUG, FLYING + db 45 ; catch rate + db 160 ; base exp + db NO_ITEM ; item 1 + db SILVERPOWDER ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 15 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/butterfree/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn INSECT, INSECT ; egg groups + + ; tmhm + tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, NIGHTMARE, FLASH + ; end diff --git a/data/pokemon/base_stats/caterpie.asm b/data/pokemon/base_stats/caterpie.asm new file mode 100644 index 000000000..cdac5bf26 --- /dev/null +++ b/data/pokemon/base_stats/caterpie.asm @@ -0,0 +1,22 @@ + db CATERPIE ; 010 + + db 45, 30, 35, 45, 20, 20 + ; hp atk def spd sat sdf + + db BUG, BUG + db 255 ; catch rate + db 53 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 15 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/caterpie/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn INSECT, INSECT ; egg groups + + ; tmhm + tmhm + ; end diff --git a/data/pokemon/base_stats/celebi.asm b/data/pokemon/base_stats/celebi.asm new file mode 100644 index 000000000..c955ae2a1 --- /dev/null +++ b/data/pokemon/base_stats/celebi.asm @@ -0,0 +1,22 @@ + db CELEBI ; 251 + + db 100, 100, 100, 100, 100, 100 + ; hp atk def spd sat sdf + + db PSYCHIC, GRASS + db 45 ; catch rate + db 64 ; base exp + db NO_ITEM ; item 1 + db MIRACLEBERRY ; item 2 + db GENDERLESS ; gender + db 100 ; unknown + db 120 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/celebi/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_SLOW ; growth rate + dn NO_EGGS, NO_EGGS ; egg groups + + ; tmhm + tmhm CURSE, TOXIC, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, SWIFT, DEFENSE_CURL, DREAM_EATER, DETECT, REST, NIGHTMARE, FLASH + ; end diff --git a/data/pokemon/base_stats/chansey.asm b/data/pokemon/base_stats/chansey.asm new file mode 100644 index 000000000..1ae3af6fe --- /dev/null +++ b/data/pokemon/base_stats/chansey.asm @@ -0,0 +1,22 @@ + db CHANSEY ; 113 + + db 250, 05, 05, 50, 35, 105 + ; hp atk def spd sat sdf + + db NORMAL, NORMAL + db 30 ; catch rate + db 255 ; base exp + db NO_ITEM ; item 1 + db LUCKY_EGG ; item 2 + db GENDER_F100 ; gender + db 100 ; unknown + db 40 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/chansey/front.dimensions" + db 0, 0, 0, 0 ; padding + db FAST ; growth rate + dn FAIRY, FAIRY ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, DEFENSE_CURL, DREAM_EATER, REST, ATTRACT, STRENGTH, FLASH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/charizard.asm b/data/pokemon/base_stats/charizard.asm new file mode 100644 index 000000000..8d32f3f91 --- /dev/null +++ b/data/pokemon/base_stats/charizard.asm @@ -0,0 +1,22 @@ + db CHARIZARD ; 006 + + db 78, 84, 78, 100, 109, 85 + ; hp atk def spd sat sdf + + db FIRE, FLYING + db 45 ; catch rate + db 209 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F12_5 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/charizard/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_SLOW ; growth rate + dn MONSTER, REPTILE ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, SWIFT, DEFENSE_CURL, REST, ATTRACT, STEEL_WING, FIRE_PUNCH, FURY_CUTTER, CUT, FLY, STRENGTH, FLAMETHROWER + ; end diff --git a/data/pokemon/base_stats/charmander.asm b/data/pokemon/base_stats/charmander.asm new file mode 100644 index 000000000..98383865c --- /dev/null +++ b/data/pokemon/base_stats/charmander.asm @@ -0,0 +1,22 @@ + db CHARMANDER ; 004 + + db 39, 52, 43, 65, 60, 50 + ; hp atk def spd sat sdf + + db FIRE, FIRE + db 45 ; catch rate + db 65 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F12_5 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/charmander/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_SLOW ; growth rate + dn MONSTER, REPTILE ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DEFENSE_CURL, REST, ATTRACT, FIRE_PUNCH, FURY_CUTTER, CUT, STRENGTH, FLAMETHROWER + ; end diff --git a/data/pokemon/base_stats/charmeleon.asm b/data/pokemon/base_stats/charmeleon.asm new file mode 100644 index 000000000..9f7f32b51 --- /dev/null +++ b/data/pokemon/base_stats/charmeleon.asm @@ -0,0 +1,22 @@ + db CHARMELEON ; 005 + + db 58, 64, 58, 80, 80, 65 + ; hp atk def spd sat sdf + + db FIRE, FIRE + db 45 ; catch rate + db 142 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F12_5 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/charmeleon/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_SLOW ; growth rate + dn MONSTER, REPTILE ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DEFENSE_CURL, REST, ATTRACT, FIRE_PUNCH, FURY_CUTTER, CUT, STRENGTH, FLAMETHROWER + ; end diff --git a/data/pokemon/base_stats/chikorita.asm b/data/pokemon/base_stats/chikorita.asm new file mode 100644 index 000000000..fdf120402 --- /dev/null +++ b/data/pokemon/base_stats/chikorita.asm @@ -0,0 +1,22 @@ + db CHIKORITA ; 152 + + db 45, 49, 65, 45, 49, 65 + ; hp atk def spd sat sdf + + db GRASS, GRASS + db 45 ; catch rate + db 64 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F12_5 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/chikorita/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_SLOW ; growth rate + dn MONSTER, PLANT ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DETECT, REST, ATTRACT, CUT, FLASH + ; end diff --git a/data/pokemon/base_stats/chinchou.asm b/data/pokemon/base_stats/chinchou.asm new file mode 100644 index 000000000..caa5d06e1 --- /dev/null +++ b/data/pokemon/base_stats/chinchou.asm @@ -0,0 +1,22 @@ + db CHINCHOU ; 170 + + db 75, 38, 38, 67, 56, 56 + ; hp atk def spd sat sdf + + db WATER, ELECTRIC + db 190 ; catch rate + db 90 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/chinchou/front.dimensions" + db 0, 0, 0, 0 ; padding + db SLOW ; growth rate + dn FISH, FISH ; egg groups + + ; tmhm + tmhm CURSE, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, REST, ATTRACT, SURF, FLASH, WHIRLPOOL, WATERFALL, THUNDERBOLT, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/clefable.asm b/data/pokemon/base_stats/clefable.asm new file mode 100644 index 000000000..e5978e387 --- /dev/null +++ b/data/pokemon/base_stats/clefable.asm @@ -0,0 +1,22 @@ + db CLEFABLE ; 036 + + db 95, 70, 73, 60, 85, 90 + ; hp atk def spd sat sdf + + db NORMAL, NORMAL + db 25 ; catch rate + db 129 ; base exp + db MYSTERYBERRY ; item 1 + db MOON_STONE ; item 2 + db GENDER_F75 ; gender + db 100 ; unknown + db 10 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/clefable/front.dimensions" + db 0, 0, 0, 0 ; padding + db FAST ; growth rate + dn FAIRY, FAIRY ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, FIRE_BLAST, DEFENSE_CURL, THUNDERPUNCH, DREAM_EATER, DETECT, REST, ATTRACT, FIRE_PUNCH, NIGHTMARE, STRENGTH, FLASH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/clefairy.asm b/data/pokemon/base_stats/clefairy.asm new file mode 100644 index 000000000..54089b5cc --- /dev/null +++ b/data/pokemon/base_stats/clefairy.asm @@ -0,0 +1,22 @@ + db CLEFAIRY ; 035 + + db 70, 45, 48, 35, 60, 65 + ; hp atk def spd sat sdf + + db NORMAL, NORMAL + db 150 ; catch rate + db 68 ; base exp + db MYSTERYBERRY ; item 1 + db MOON_STONE ; item 2 + db GENDER_F75 ; gender + db 100 ; unknown + db 10 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/clefairy/front.dimensions" + db 0, 0, 0, 0 ; padding + db FAST ; growth rate + dn FAIRY, FAIRY ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, FIRE_BLAST, DEFENSE_CURL, THUNDERPUNCH, DREAM_EATER, DETECT, REST, ATTRACT, FIRE_PUNCH, NIGHTMARE, STRENGTH, FLASH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/cleffa.asm b/data/pokemon/base_stats/cleffa.asm new file mode 100644 index 000000000..98e77e968 --- /dev/null +++ b/data/pokemon/base_stats/cleffa.asm @@ -0,0 +1,22 @@ + db CLEFFA ; 173 + + db 50, 25, 28, 15, 45, 55 + ; hp atk def spd sat sdf + + db NORMAL, NORMAL + db 150 ; catch rate + db 37 ; base exp + db MYSTERYBERRY ; item 1 + db MOON_STONE ; item 2 + db GENDER_F75 ; gender + db 100 ; unknown + db 10 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/cleffa/front.dimensions" + db 0, 0, 0, 0 ; padding + db FAST ; growth rate + dn NO_EGGS, NO_EGGS ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, DEFENSE_CURL, DREAM_EATER, DETECT, REST, ATTRACT, NIGHTMARE, FLASH, FLAMETHROWER + ; end diff --git a/data/pokemon/base_stats/cloyster.asm b/data/pokemon/base_stats/cloyster.asm new file mode 100644 index 000000000..4119dbec2 --- /dev/null +++ b/data/pokemon/base_stats/cloyster.asm @@ -0,0 +1,22 @@ + db CLOYSTER ; 091 + + db 50, 95, 180, 70, 85, 45 + ; hp atk def spd sat sdf + + db WATER, ICE + db 60 ; catch rate + db 203 ; base exp + db PEARL ; item 1 + db BIG_PEARL ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/cloyster/front.dimensions" + db 0, 0, 0, 0 ; padding + db SLOW ; growth rate + dn INVERTEBRATE, INVERTEBRATE ; egg groups + + ; tmhm + tmhm CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, SURF, WHIRLPOOL, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/corsola.asm b/data/pokemon/base_stats/corsola.asm new file mode 100644 index 000000000..dddf30644 --- /dev/null +++ b/data/pokemon/base_stats/corsola.asm @@ -0,0 +1,22 @@ + db CORSOLA ; 222 + + db 55, 55, 85, 35, 65, 85 + ; hp atk def spd sat sdf + + db WATER, ROCK + db 60 ; catch rate + db 113 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F75 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/corsola/front.dimensions" + db 0, 0, 0, 0 ; padding + db FAST ; growth rate + dn AMPHIBIAN, INVERTEBRATE ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, PSYCHIC, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, DEFENSE_CURL, REST, ATTRACT, SURF, STRENGTH, WHIRLPOOL, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/crobat.asm b/data/pokemon/base_stats/crobat.asm new file mode 100644 index 000000000..71c012079 --- /dev/null +++ b/data/pokemon/base_stats/crobat.asm @@ -0,0 +1,22 @@ + db CROBAT ; 169 + + db 85, 90, 80, 130, 70, 80 + ; hp atk def spd sat sdf + + db POISON, FLYING + db 90 ; catch rate + db 204 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 15 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/crobat/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn AVIAN, AVIAN ; egg groups + + ; tmhm + tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING, FLY + ; end diff --git a/data/pokemon/base_stats/croconaw.asm b/data/pokemon/base_stats/croconaw.asm new file mode 100644 index 000000000..8dbd57632 --- /dev/null +++ b/data/pokemon/base_stats/croconaw.asm @@ -0,0 +1,22 @@ + db CROCONAW ; 159 + + db 65, 80, 80, 58, 59, 63 + ; hp atk def spd sat sdf + + db WATER, WATER + db 45 ; catch rate + db 143 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F12_5 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/croconaw/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_SLOW ; growth rate + dn MONSTER, AMPHIBIAN ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, DETECT, REST, ATTRACT, FURY_CUTTER, CUT, SURF, STRENGTH, WHIRLPOOL, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/cubone.asm b/data/pokemon/base_stats/cubone.asm new file mode 100644 index 000000000..dc15c8773 --- /dev/null +++ b/data/pokemon/base_stats/cubone.asm @@ -0,0 +1,22 @@ + db CUBONE ; 104 + + db 50, 50, 95, 35, 40, 50 + ; hp atk def spd sat sdf + + db GROUND, GROUND + db 190 ; catch rate + db 87 ; base exp + db NO_ITEM ; item 1 + db THICK_CLUB ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/cubone/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn MONSTER, MONSTER ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, ICY_WIND, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH, FLAMETHROWER, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/cyndaquil.asm b/data/pokemon/base_stats/cyndaquil.asm new file mode 100644 index 000000000..137e8c78d --- /dev/null +++ b/data/pokemon/base_stats/cyndaquil.asm @@ -0,0 +1,22 @@ + db CYNDAQUIL ; 155 + + db 39, 52, 43, 65, 60, 50 + ; hp atk def spd sat sdf + + db FIRE, FIRE + db 45 ; catch rate + db 65 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F12_5 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/cyndaquil/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_SLOW ; growth rate + dn FIELD, FIELD ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DEFENSE_CURL, DETECT, REST, ATTRACT, CUT, FLAMETHROWER + ; end diff --git a/data/pokemon/base_stats/delibird.asm b/data/pokemon/base_stats/delibird.asm new file mode 100644 index 000000000..8ddb23e7c --- /dev/null +++ b/data/pokemon/base_stats/delibird.asm @@ -0,0 +1,22 @@ + db DELIBIRD ; 225 + + db 45, 55, 45, 75, 65, 45 + ; hp atk def spd sat sdf + + db ICE, FLYING + db 45 ; catch rate + db 183 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/delibird/front.dimensions" + db 0, 0, 0, 0 ; padding + db FAST ; growth rate + dn AMPHIBIAN, FIELD ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, FLY, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/dewgong.asm b/data/pokemon/base_stats/dewgong.asm new file mode 100644 index 000000000..951a1e87e --- /dev/null +++ b/data/pokemon/base_stats/dewgong.asm @@ -0,0 +1,22 @@ + db DEWGONG ; 087 + + db 90, 70, 80, 70, 70, 95 + ; hp atk def spd sat sdf + + db WATER, ICE + db 75 ; catch rate + db 176 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/dewgong/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn AMPHIBIAN, FIELD ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, REST, ATTRACT, SURF, WHIRLPOOL, WATERFALL, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/diglett.asm b/data/pokemon/base_stats/diglett.asm new file mode 100644 index 000000000..b93947622 --- /dev/null +++ b/data/pokemon/base_stats/diglett.asm @@ -0,0 +1,22 @@ + db DIGLETT ; 050 + + db 10, 55, 25, 95, 35, 45 + ; hp atk def spd sat sdf + + db GROUND, GROUND + db 255 ; catch rate + db 81 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/diglett/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn FIELD, FIELD ; egg groups + + ; tmhm + tmhm CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, THIEF, CUT + ; end diff --git a/data/pokemon/base_stats/ditto.asm b/data/pokemon/base_stats/ditto.asm new file mode 100644 index 000000000..b88780bed --- /dev/null +++ b/data/pokemon/base_stats/ditto.asm @@ -0,0 +1,22 @@ + db DITTO ; 132 + + db 48, 48, 48, 48, 48, 48 + ; hp atk def spd sat sdf + + db NORMAL, NORMAL + db 35 ; catch rate + db 61 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDERLESS ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/ditto/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn LADIES_MAN, LADIES_MAN ; egg groups + + ; tmhm + tmhm + ; end diff --git a/data/pokemon/base_stats/dodrio.asm b/data/pokemon/base_stats/dodrio.asm new file mode 100644 index 000000000..6f8463663 --- /dev/null +++ b/data/pokemon/base_stats/dodrio.asm @@ -0,0 +1,22 @@ + db DODRIO ; 085 + + db 60, 110, 70, 100, 60, 60 + ; hp atk def spd sat sdf + + db NORMAL, FLYING + db 45 ; catch rate + db 158 ; base exp + db NO_ITEM ; item 1 + db SHARP_BEAK ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/dodrio/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn AVIAN, AVIAN ; egg groups + + ; tmhm + tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, THIEF, STEEL_WING, FLY + ; end diff --git a/data/pokemon/base_stats/doduo.asm b/data/pokemon/base_stats/doduo.asm new file mode 100644 index 000000000..1ef229455 --- /dev/null +++ b/data/pokemon/base_stats/doduo.asm @@ -0,0 +1,22 @@ + db DODUO ; 084 + + db 35, 85, 45, 75, 35, 35 + ; hp atk def spd sat sdf + + db NORMAL, FLYING + db 190 ; catch rate + db 96 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/doduo/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn AVIAN, AVIAN ; egg groups + + ; tmhm + tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, THIEF, STEEL_WING, FLY + ; end diff --git a/data/pokemon/base_stats/donphan.asm b/data/pokemon/base_stats/donphan.asm new file mode 100644 index 000000000..ee0418de0 --- /dev/null +++ b/data/pokemon/base_stats/donphan.asm @@ -0,0 +1,22 @@ + db DONPHAN ; 232 + + db 90, 120, 120, 50, 60, 60 + ; hp atk def spd sat sdf + + db GROUND, GROUND + db 60 ; catch rate + db 189 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/donphan/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn FIELD, FIELD ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, DEFENSE_CURL, REST, ATTRACT, STRENGTH + ; end diff --git a/data/pokemon/base_stats/dragonair.asm b/data/pokemon/base_stats/dragonair.asm new file mode 100644 index 000000000..e0ca4b8e9 --- /dev/null +++ b/data/pokemon/base_stats/dragonair.asm @@ -0,0 +1,22 @@ + db DRAGONAIR ; 148 + + db 61, 84, 65, 70, 70, 70 + ; hp atk def spd sat sdf + + db DRAGON, DRAGON + db 45 ; catch rate + db 144 ; base exp + db NO_ITEM ; item 1 + db DRAGON_SCALE ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 40 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/dragonair/front.dimensions" + db 0, 0, 0, 0 ; padding + db SLOW ; growth rate + dn AMPHIBIAN, REPTILE ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DETECT, REST, ATTRACT, SURF, WATERFALL, FLAMETHROWER, THUNDERBOLT, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/dragonite.asm b/data/pokemon/base_stats/dragonite.asm new file mode 100644 index 000000000..8ca777e96 --- /dev/null +++ b/data/pokemon/base_stats/dragonite.asm @@ -0,0 +1,22 @@ + db DRAGONITE ; 149 + + db 91, 134, 95, 80, 100, 100 + ; hp atk def spd sat sdf + + db DRAGON, FLYING + db 45 ; catch rate + db 218 ; base exp + db NO_ITEM ; item 1 + db DRAGON_SCALE ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 40 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/dragonite/front.dimensions" + db 0, 0, 0, 0 ; padding + db SLOW ; growth rate + dn AMPHIBIAN, REPTILE ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, SWIFT, THUNDERPUNCH, DETECT, REST, ATTRACT, STEEL_WING, FIRE_PUNCH, FURY_CUTTER, FLY, SURF, STRENGTH, WHIRLPOOL, WATERFALL, FLAMETHROWER, THUNDERBOLT, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/dratini.asm b/data/pokemon/base_stats/dratini.asm new file mode 100644 index 000000000..c1c173c86 --- /dev/null +++ b/data/pokemon/base_stats/dratini.asm @@ -0,0 +1,22 @@ + db DRATINI ; 147 + + db 41, 64, 45, 50, 50, 50 + ; hp atk def spd sat sdf + + db DRAGON, DRAGON + db 45 ; catch rate + db 67 ; base exp + db NO_ITEM ; item 1 + db DRAGON_SCALE ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 40 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/dratini/front.dimensions" + db 0, 0, 0, 0 ; padding + db SLOW ; growth rate + dn AMPHIBIAN, REPTILE ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DETECT, REST, ATTRACT, SURF, WATERFALL, FLAMETHROWER, THUNDERBOLT, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/drowzee.asm b/data/pokemon/base_stats/drowzee.asm new file mode 100644 index 000000000..5aa756351 --- /dev/null +++ b/data/pokemon/base_stats/drowzee.asm @@ -0,0 +1,22 @@ + db DROWZEE ; 096 + + db 60, 48, 45, 42, 43, 90 + ; hp atk def spd sat sdf + + db PSYCHIC, PSYCHIC + db 190 ; catch rate + db 102 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/drowzee/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn HUMANSHAPE, HUMANSHAPE ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, PSYCHIC, SHADOW_BALL, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, THUNDERPUNCH, DREAM_EATER, REST, ATTRACT, FIRE_PUNCH, NIGHTMARE, FLASH + ; end diff --git a/data/pokemon/base_stats/dugtrio.asm b/data/pokemon/base_stats/dugtrio.asm new file mode 100644 index 000000000..e245f8320 --- /dev/null +++ b/data/pokemon/base_stats/dugtrio.asm @@ -0,0 +1,22 @@ + db DUGTRIO ; 051 + + db 35, 80, 50, 120, 50, 70 + ; hp atk def spd sat sdf + + db GROUND, GROUND + db 50 ; catch rate + db 153 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/dugtrio/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn FIELD, FIELD ; egg groups + + ; tmhm + tmhm CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, THIEF, CUT + ; end diff --git a/data/pokemon/base_stats/dunsparce.asm b/data/pokemon/base_stats/dunsparce.asm new file mode 100644 index 000000000..5cbdb5807 --- /dev/null +++ b/data/pokemon/base_stats/dunsparce.asm @@ -0,0 +1,22 @@ + db DUNSPARCE ; 206 + + db 100, 70, 70, 45, 65, 65 + ; hp atk def spd sat sdf + + db NORMAL, NORMAL + db 190 ; catch rate + db 75 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/dunsparce/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn FIELD, FIELD ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, THUNDER, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, DREAM_EATER, REST, ATTRACT, THIEF, NIGHTMARE, STRENGTH, FLAMETHROWER, THUNDERBOLT + ; end diff --git a/data/pokemon/base_stats/eevee.asm b/data/pokemon/base_stats/eevee.asm new file mode 100644 index 000000000..79bbafbcf --- /dev/null +++ b/data/pokemon/base_stats/eevee.asm @@ -0,0 +1,22 @@ + db EEVEE ; 133 + + db 55, 55, 50, 55, 45, 65 + ; hp atk def spd sat sdf + + db NORMAL, NORMAL + db 45 ; catch rate + db 92 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F12_5 ; gender + db 100 ; unknown + db 35 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/eevee/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn FIELD, FIELD ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT + ; end diff --git a/data/pokemon/base_stats/ekans.asm b/data/pokemon/base_stats/ekans.asm new file mode 100644 index 000000000..0aa84fde2 --- /dev/null +++ b/data/pokemon/base_stats/ekans.asm @@ -0,0 +1,22 @@ + db EKANS ; 023 + + db 35, 60, 44, 55, 40, 54 + ; hp atk def spd sat sdf + + db POISON, POISON + db 255 ; catch rate + db 62 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/ekans/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn FIELD, REPTILE ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, THIEF, STRENGTH + ; end diff --git a/data/pokemon/base_stats/electabuzz.asm b/data/pokemon/base_stats/electabuzz.asm new file mode 100644 index 000000000..29cdf9018 --- /dev/null +++ b/data/pokemon/base_stats/electabuzz.asm @@ -0,0 +1,22 @@ + db ELECTABUZZ ; 125 + + db 65, 83, 57, 105, 95, 85 + ; hp atk def spd sat sdf + + db ELECTRIC, ELECTRIC + db 45 ; catch rate + db 156 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F25 ; gender + db 100 ; unknown + db 25 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/electabuzz/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn HUMANSHAPE, HUMANSHAPE ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, PSYCHIC, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH, FLASH, THUNDERBOLT + ; end diff --git a/data/pokemon/base_stats/electrode.asm b/data/pokemon/base_stats/electrode.asm new file mode 100644 index 000000000..44d92de66 --- /dev/null +++ b/data/pokemon/base_stats/electrode.asm @@ -0,0 +1,22 @@ + db ELECTRODE ; 101 + + db 60, 50, 70, 140, 80, 80 + ; hp atk def spd sat sdf + + db ELECTRIC, ELECTRIC + db 60 ; catch rate + db 150 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDERLESS ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/electrode/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn INANIMATE, INANIMATE ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, FLASH, THUNDERBOLT + ; end diff --git a/data/pokemon/base_stats/elekid.asm b/data/pokemon/base_stats/elekid.asm new file mode 100644 index 000000000..a1f871586 --- /dev/null +++ b/data/pokemon/base_stats/elekid.asm @@ -0,0 +1,22 @@ + db ELEKID ; 239 + + db 45, 63, 37, 95, 65, 55 + ; hp atk def spd sat sdf + + db ELECTRIC, ELECTRIC + db 45 ; catch rate + db 106 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F25 ; gender + db 100 ; unknown + db 25 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/elekid/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn NO_EGGS, NO_EGGS ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, PSYCHIC, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, FLASH, THUNDERBOLT + ; end diff --git a/data/pokemon/base_stats/entei.asm b/data/pokemon/base_stats/entei.asm new file mode 100644 index 000000000..63f5f0af6 --- /dev/null +++ b/data/pokemon/base_stats/entei.asm @@ -0,0 +1,22 @@ + db ENTEI ; 244 + + db 115, 115, 85, 100, 90, 75 + ; hp atk def spd sat sdf + + db FIRE, FIRE + db 3 ; catch rate + db 217 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDERLESS ; gender + db 100 ; unknown + db 80 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/entei/front.dimensions" + db 0, 0, 0, 0 ; padding + db SLOW ; growth rate + dn NO_EGGS, NO_EGGS ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, SWIFT, DETECT, REST, CUT, STRENGTH, FLASH, FLAMETHROWER + ; end diff --git a/data/pokemon/base_stats/espeon.asm b/data/pokemon/base_stats/espeon.asm new file mode 100644 index 000000000..5748ded74 --- /dev/null +++ b/data/pokemon/base_stats/espeon.asm @@ -0,0 +1,22 @@ + db ESPEON ; 196 + + db 65, 65, 60, 110, 130, 95 + ; hp atk def spd sat sdf + + db PSYCHIC, PSYCHIC + db 45 ; catch rate + db 197 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F12_5 ; gender + db 100 ; unknown + db 35 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/espeon/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn FIELD, FIELD ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DREAM_EATER, DETECT, REST, ATTRACT, NIGHTMARE, CUT, FLASH + ; end diff --git a/data/pokemon/base_stats/exeggcute.asm b/data/pokemon/base_stats/exeggcute.asm new file mode 100644 index 000000000..3cd83b6c9 --- /dev/null +++ b/data/pokemon/base_stats/exeggcute.asm @@ -0,0 +1,22 @@ + db EXEGGCUTE ; 102 + + db 60, 40, 80, 40, 60, 45 + ; hp atk def spd sat sdf + + db GRASS, PSYCHIC + db 90 ; catch rate + db 98 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/exeggcute/front.dimensions" + db 0, 0, 0, 0 ; padding + db SLOW ; growth rate + dn PLANT, PLANT ; egg groups + + ; tmhm + tmhm CURSE, ROLLOUT, TOXIC, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, DREAM_EATER, REST, ATTRACT, THIEF, NIGHTMARE, STRENGTH, FLASH + ; end diff --git a/data/pokemon/base_stats/exeggutor.asm b/data/pokemon/base_stats/exeggutor.asm new file mode 100644 index 000000000..d5c466f21 --- /dev/null +++ b/data/pokemon/base_stats/exeggutor.asm @@ -0,0 +1,22 @@ + db EXEGGUTOR ; 103 + + db 95, 95, 85, 55, 125, 65 + ; hp atk def spd sat sdf + + db GRASS, PSYCHIC + db 45 ; catch rate + db 212 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/exeggutor/front.dimensions" + db 0, 0, 0, 0 ; padding + db SLOW ; growth rate + dn PLANT, PLANT ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, DREAM_EATER, REST, ATTRACT, THIEF, NIGHTMARE, STRENGTH, FLASH + ; end diff --git a/data/pokemon/base_stats/farfetch_d.asm b/data/pokemon/base_stats/farfetch_d.asm new file mode 100644 index 000000000..8da2b08a4 --- /dev/null +++ b/data/pokemon/base_stats/farfetch_d.asm @@ -0,0 +1,22 @@ + db FARFETCH_D ; 083 + + db 52, 65, 55, 60, 58, 62 + ; hp atk def spd sat sdf + + db NORMAL, FLYING + db 45 ; catch rate + db 94 ; base exp + db NO_ITEM ; item 1 + db STICK ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/farfetch_d/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn AVIAN, FIELD ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, TOXIC, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING, CUT, FLY + ; end diff --git a/data/pokemon/base_stats/fearow.asm b/data/pokemon/base_stats/fearow.asm new file mode 100644 index 000000000..2ce86b1bf --- /dev/null +++ b/data/pokemon/base_stats/fearow.asm @@ -0,0 +1,22 @@ + db FEAROW ; 022 + + db 65, 90, 65, 100, 61, 61 + ; hp atk def spd sat sdf + + db NORMAL, FLYING + db 90 ; catch rate + db 162 ; base exp + db NO_ITEM ; item 1 + db SHARP_BEAK ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 15 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/fearow/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn AVIAN, AVIAN ; egg groups + + ; tmhm + tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING, FLY + ; end diff --git a/data/pokemon/base_stats/feraligatr.asm b/data/pokemon/base_stats/feraligatr.asm new file mode 100644 index 000000000..c59ca6ffb --- /dev/null +++ b/data/pokemon/base_stats/feraligatr.asm @@ -0,0 +1,22 @@ + db FERALIGATR ; 160 + + db 85, 105, 100, 78, 79, 83 + ; hp atk def spd sat sdf + + db WATER, WATER + db 45 ; catch rate + db 210 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F12_5 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/feraligatr/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_SLOW ; growth rate + dn MONSTER, AMPHIBIAN ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, DETECT, REST, ATTRACT, FURY_CUTTER, CUT, SURF, STRENGTH, WHIRLPOOL, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/flaaffy.asm b/data/pokemon/base_stats/flaaffy.asm new file mode 100644 index 000000000..2cf5e15bc --- /dev/null +++ b/data/pokemon/base_stats/flaaffy.asm @@ -0,0 +1,22 @@ + db FLAAFFY ; 180 + + db 70, 55, 55, 45, 80, 60 + ; hp atk def spd sat sdf + + db ELECTRIC, ELECTRIC + db 120 ; catch rate + db 117 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/flaaffy/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_SLOW ; growth rate + dn MONSTER, FIELD ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, THUNDERPUNCH, REST, ATTRACT, FIRE_PUNCH, STRENGTH, FLASH, THUNDERBOLT + ; end diff --git a/data/pokemon/base_stats/flareon.asm b/data/pokemon/base_stats/flareon.asm new file mode 100644 index 000000000..00faecec6 --- /dev/null +++ b/data/pokemon/base_stats/flareon.asm @@ -0,0 +1,22 @@ + db FLAREON ; 136 + + db 65, 130, 60, 65, 95, 110 + ; hp atk def spd sat sdf + + db FIRE, FIRE + db 45 ; catch rate + db 198 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F12_5 ; gender + db 100 ; unknown + db 35 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/flareon/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn FIELD, FIELD ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, ROAR, TOXIC, ZAP_CANNON, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DETECT, REST, ATTRACT, FLAMETHROWER + ; end diff --git a/data/pokemon/base_stats/forretress.asm b/data/pokemon/base_stats/forretress.asm new file mode 100644 index 000000000..08fec2745 --- /dev/null +++ b/data/pokemon/base_stats/forretress.asm @@ -0,0 +1,22 @@ + db FORRETRESS ; 205 + + db 75, 90, 140, 40, 60, 60 + ; hp atk def spd sat sdf + + db BUG, STEEL + db 75 ; catch rate + db 118 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/forretress/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn INSECT, INSECT ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, DEFENSE_CURL, REST, ATTRACT, STRENGTH + ; end diff --git a/data/pokemon/base_stats/furret.asm b/data/pokemon/base_stats/furret.asm new file mode 100644 index 000000000..3e3b7a656 --- /dev/null +++ b/data/pokemon/base_stats/furret.asm @@ -0,0 +1,22 @@ + db FURRET ; 162 + + db 85, 76, 64, 90, 45, 55 + ; hp atk def spd sat sdf + + db NORMAL, NORMAL + db 90 ; catch rate + db 116 ; base exp + db BERRY ; item 1 + db GOLD_BERRY ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 15 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/furret/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn FIELD, FIELD ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, FURY_CUTTER, CUT, SURF, STRENGTH + ; end diff --git a/data/pokemon/base_stats/gastly.asm b/data/pokemon/base_stats/gastly.asm new file mode 100644 index 000000000..cda05fe05 --- /dev/null +++ b/data/pokemon/base_stats/gastly.asm @@ -0,0 +1,22 @@ + db GASTLY ; 092 + + db 30, 35, 30, 80, 100, 35 + ; hp atk def spd sat sdf + + db GHOST, POISON + db 190 ; catch rate + db 95 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/gastly/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_SLOW ; growth rate + dn AMORPHOUS, AMORPHOUS ; egg groups + + ; tmhm + tmhm CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, GIGA_DRAIN, ENDURE, FRUSTRATION, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DREAM_EATER, REST, ATTRACT, THIEF, NIGHTMARE, THUNDERBOLT + ; end diff --git a/data/pokemon/base_stats/gengar.asm b/data/pokemon/base_stats/gengar.asm new file mode 100644 index 000000000..9b9cc3310 --- /dev/null +++ b/data/pokemon/base_stats/gengar.asm @@ -0,0 +1,22 @@ + db GENGAR ; 094 + + db 60, 65, 60, 110, 130, 75 + ; hp atk def spd sat sdf + + db GHOST, POISON + db 45 ; catch rate + db 190 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/gengar/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_SLOW ; growth rate + dn AMORPHOUS, AMORPHOUS ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, GIGA_DRAIN, ENDURE, FRUSTRATION, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, THUNDERPUNCH, DREAM_EATER, REST, ATTRACT, THIEF, FIRE_PUNCH, NIGHTMARE, STRENGTH, THUNDERBOLT + ; end diff --git a/data/pokemon/base_stats/geodude.asm b/data/pokemon/base_stats/geodude.asm new file mode 100644 index 000000000..86b627107 --- /dev/null +++ b/data/pokemon/base_stats/geodude.asm @@ -0,0 +1,22 @@ + db GEODUDE ; 074 + + db 40, 80, 100, 20, 30, 30 + ; hp atk def spd sat sdf + + db ROCK, GROUND + db 255 ; catch rate + db 86 ; base exp + db NO_ITEM ; item 1 + db EVERSTONE ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 15 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/geodude/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_SLOW ; growth rate + dn INANIMATE, INANIMATE ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, DEFENSE_CURL, REST, ATTRACT, FIRE_PUNCH, STRENGTH, FLAMETHROWER + ; end diff --git a/data/pokemon/base_stats/girafarig.asm b/data/pokemon/base_stats/girafarig.asm new file mode 100644 index 000000000..7391367cf --- /dev/null +++ b/data/pokemon/base_stats/girafarig.asm @@ -0,0 +1,22 @@ + db GIRAFARIG ; 203 + + db 70, 80, 65, 85, 90, 65 + ; hp atk def spd sat sdf + + db NORMAL, PSYCHIC + db 60 ; catch rate + db 149 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/girafarig/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn FIELD, FIELD ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, EARTHQUAKE, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DREAM_EATER, REST, ATTRACT, THIEF, NIGHTMARE, STRENGTH, THUNDERBOLT + ; end diff --git a/data/pokemon/base_stats/gligar.asm b/data/pokemon/base_stats/gligar.asm new file mode 100644 index 000000000..5bb7fdca8 --- /dev/null +++ b/data/pokemon/base_stats/gligar.asm @@ -0,0 +1,22 @@ + db GLIGAR ; 207 + + db 65, 75, 105, 85, 35, 65 + ; hp atk def spd sat sdf + + db GROUND, FLYING + db 60 ; catch rate + db 108 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/gligar/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_SLOW ; growth rate + dn INSECT, INSECT ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, SANDSTORM, SWIFT, DETECT, REST, ATTRACT, THIEF, FURY_CUTTER, CUT, STRENGTH + ; end diff --git a/data/pokemon/base_stats/gloom.asm b/data/pokemon/base_stats/gloom.asm new file mode 100644 index 000000000..33cea01f2 --- /dev/null +++ b/data/pokemon/base_stats/gloom.asm @@ -0,0 +1,22 @@ + db GLOOM ; 044 + + db 60, 65, 70, 40, 85, 75 + ; hp atk def spd sat sdf + + db GRASS, POISON + db 120 ; catch rate + db 132 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/gloom/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_SLOW ; growth rate + dn PLANT, PLANT ; egg groups + + ; tmhm + tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, CUT, FLASH + ; end diff --git a/data/pokemon/base_stats/golbat.asm b/data/pokemon/base_stats/golbat.asm new file mode 100644 index 000000000..06769b880 --- /dev/null +++ b/data/pokemon/base_stats/golbat.asm @@ -0,0 +1,22 @@ + db GOLBAT ; 042 + + db 75, 80, 70, 90, 65, 75 + ; hp atk def spd sat sdf + + db POISON, FLYING + db 90 ; catch rate + db 171 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 15 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/golbat/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn AVIAN, AVIAN ; egg groups + + ; tmhm + tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING + ; end diff --git a/data/pokemon/base_stats/goldeen.asm b/data/pokemon/base_stats/goldeen.asm new file mode 100644 index 000000000..314852a3e --- /dev/null +++ b/data/pokemon/base_stats/goldeen.asm @@ -0,0 +1,22 @@ + db GOLDEEN ; 118 + + db 45, 67, 60, 63, 35, 50 + ; hp atk def spd sat sdf + + db WATER, WATER + db 225 ; catch rate + db 111 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/goldeen/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn FISH, FISH ; egg groups + + ; tmhm + tmhm CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, SURF, WATERFALL, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/golduck.asm b/data/pokemon/base_stats/golduck.asm new file mode 100644 index 000000000..9c4dbb5f5 --- /dev/null +++ b/data/pokemon/base_stats/golduck.asm @@ -0,0 +1,22 @@ + db GOLDUCK ; 055 + + db 80, 82, 78, 85, 95, 80 + ; hp atk def spd sat sdf + + db WATER, WATER + db 75 ; catch rate + db 174 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/golduck/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn AMPHIBIAN, FIELD ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, FURY_CUTTER, SURF, STRENGTH, FLASH, WHIRLPOOL, WATERFALL, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/golem.asm b/data/pokemon/base_stats/golem.asm new file mode 100644 index 000000000..9a9f04451 --- /dev/null +++ b/data/pokemon/base_stats/golem.asm @@ -0,0 +1,22 @@ + db GOLEM ; 076 + + db 80, 110, 130, 45, 55, 65 + ; hp atk def spd sat sdf + + db ROCK, GROUND + db 45 ; catch rate + db 177 ; base exp + db NO_ITEM ; item 1 + db EVERSTONE ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 15 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/golem/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_SLOW ; growth rate + dn INANIMATE, INANIMATE ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, DEFENSE_CURL, REST, ATTRACT, FIRE_PUNCH, FURY_CUTTER, STRENGTH, FLAMETHROWER + ; end diff --git a/data/pokemon/base_stats/granbull.asm b/data/pokemon/base_stats/granbull.asm new file mode 100644 index 000000000..088e17dd8 --- /dev/null +++ b/data/pokemon/base_stats/granbull.asm @@ -0,0 +1,22 @@ + db GRANBULL ; 210 + + db 90, 120, 75, 45, 60, 60 + ; hp atk def spd sat sdf + + db NORMAL, NORMAL + db 75 ; catch rate + db 178 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F75 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/granbull/front.dimensions" + db 0, 0, 0, 0 ; padding + db FAST ; growth rate + dn FIELD, FAIRY ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, DEFENSE_CURL, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH, THUNDERBOLT + ; end diff --git a/data/pokemon/base_stats/graveler.asm b/data/pokemon/base_stats/graveler.asm new file mode 100644 index 000000000..dfbeb770c --- /dev/null +++ b/data/pokemon/base_stats/graveler.asm @@ -0,0 +1,22 @@ + db GRAVELER ; 075 + + db 55, 95, 115, 35, 45, 45 + ; hp atk def spd sat sdf + + db ROCK, GROUND + db 120 ; catch rate + db 134 ; base exp + db NO_ITEM ; item 1 + db EVERSTONE ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 15 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/graveler/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_SLOW ; growth rate + dn INANIMATE, INANIMATE ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, DEFENSE_CURL, REST, ATTRACT, FIRE_PUNCH, STRENGTH, FLAMETHROWER + ; end diff --git a/data/pokemon/base_stats/grimer.asm b/data/pokemon/base_stats/grimer.asm new file mode 100644 index 000000000..86dacd1e6 --- /dev/null +++ b/data/pokemon/base_stats/grimer.asm @@ -0,0 +1,22 @@ + db GRIMER ; 088 + + db 80, 80, 50, 25, 40, 50 + ; hp atk def spd sat sdf + + db POISON, POISON + db 190 ; catch rate + db 90 ; base exp + db NO_ITEM ; item 1 + db NUGGET ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/grimer/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn AMORPHOUS, AMORPHOUS ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, CURSE, TOXIC, ZAP_CANNON, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, FIRE_BLAST, THUNDERPUNCH, REST, ATTRACT, THIEF, FIRE_PUNCH, FLAMETHROWER, THUNDERBOLT + ; end diff --git a/data/pokemon/base_stats/growlithe.asm b/data/pokemon/base_stats/growlithe.asm new file mode 100644 index 000000000..ef5cc53b3 --- /dev/null +++ b/data/pokemon/base_stats/growlithe.asm @@ -0,0 +1,22 @@ + db GROWLITHE ; 058 + + db 55, 70, 45, 60, 70, 50 + ; hp atk def spd sat sdf + + db FIRE, FIRE + db 190 ; catch rate + db 91 ; base exp + db BURNT_BERRY ; item 1 + db BURNT_BERRY ; item 2 + db GENDER_F25 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/growlithe/front.dimensions" + db 0, 0, 0, 0 ; padding + db SLOW ; growth rate + dn FIELD, FIELD ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, RETURN, DIG, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, REST, ATTRACT, FLAMETHROWER + ; end diff --git a/data/pokemon/base_stats/gyarados.asm b/data/pokemon/base_stats/gyarados.asm new file mode 100644 index 000000000..1bdceff88 --- /dev/null +++ b/data/pokemon/base_stats/gyarados.asm @@ -0,0 +1,22 @@ + db GYARADOS ; 130 + + db 95, 125, 79, 81, 60, 100 + ; hp atk def spd sat sdf + + db WATER, FLYING + db 45 ; catch rate + db 214 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 5 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/gyarados/front.dimensions" + db 0, 0, 0, 0 ; padding + db SLOW ; growth rate + dn FISH, REPTILE ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, DRAGONBREATH, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, REST, ATTRACT, SURF, STRENGTH, WHIRLPOOL, WATERFALL, FLAMETHROWER, THUNDERBOLT, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/haunter.asm b/data/pokemon/base_stats/haunter.asm new file mode 100644 index 000000000..0db7406c1 --- /dev/null +++ b/data/pokemon/base_stats/haunter.asm @@ -0,0 +1,22 @@ + db HAUNTER ; 093 + + db 45, 50, 45, 95, 115, 55 + ; hp atk def spd sat sdf + + db GHOST, POISON + db 90 ; catch rate + db 126 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/haunter/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_SLOW ; growth rate + dn AMORPHOUS, AMORPHOUS ; egg groups + + ; tmhm + tmhm CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, GIGA_DRAIN, ENDURE, FRUSTRATION, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DREAM_EATER, REST, ATTRACT, THIEF, NIGHTMARE, THUNDERBOLT + ; end diff --git a/data/pokemon/base_stats/heracross.asm b/data/pokemon/base_stats/heracross.asm new file mode 100644 index 000000000..1f81d9c7b --- /dev/null +++ b/data/pokemon/base_stats/heracross.asm @@ -0,0 +1,22 @@ + db HERACROSS ; 214 + + db 80, 125, 75, 85, 40, 95 + ; hp atk def spd sat sdf + + db BUG, FIGHTING + db 45 ; catch rate + db 200 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 25 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/heracross/front.dimensions" + db 0, 0, 0, 0 ; padding + db SLOW ; growth rate + dn INSECT, INSECT ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DETECT, REST, ATTRACT, THIEF, FURY_CUTTER, CUT, STRENGTH + ; end diff --git a/data/pokemon/base_stats/hitmonchan.asm b/data/pokemon/base_stats/hitmonchan.asm new file mode 100644 index 000000000..3eeb23dd4 --- /dev/null +++ b/data/pokemon/base_stats/hitmonchan.asm @@ -0,0 +1,22 @@ + db HITMONCHAN ; 107 + + db 50, 105, 79, 76, 35, 110 + ; hp atk def spd sat sdf + + db FIGHTING, FIGHTING + db 45 ; catch rate + db 140 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F0 ; gender + db 100 ; unknown + db 25 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/hitmonchan/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn HUMANSHAPE, HUMANSHAPE ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH + ; end diff --git a/data/pokemon/base_stats/hitmonlee.asm b/data/pokemon/base_stats/hitmonlee.asm new file mode 100644 index 000000000..a31352209 --- /dev/null +++ b/data/pokemon/base_stats/hitmonlee.asm @@ -0,0 +1,22 @@ + db HITMONLEE ; 106 + + db 50, 120, 53, 87, 35, 110 + ; hp atk def spd sat sdf + + db FIGHTING, FIGHTING + db 45 ; catch rate + db 139 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F0 ; gender + db 100 ; unknown + db 25 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/hitmonlee/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn HUMANSHAPE, HUMANSHAPE ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STRENGTH + ; end diff --git a/data/pokemon/base_stats/hitmontop.asm b/data/pokemon/base_stats/hitmontop.asm new file mode 100644 index 000000000..532b8a6d8 --- /dev/null +++ b/data/pokemon/base_stats/hitmontop.asm @@ -0,0 +1,22 @@ + db HITMONTOP ; 237 + + db 50, 95, 95, 70, 35, 110 + ; hp atk def spd sat sdf + + db FIGHTING, FIGHTING + db 45 ; catch rate + db 138 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F0 ; gender + db 100 ; unknown + db 25 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/hitmontop/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn HUMANSHAPE, HUMANSHAPE ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STRENGTH + ; end diff --git a/data/pokemon/base_stats/ho_oh.asm b/data/pokemon/base_stats/ho_oh.asm new file mode 100644 index 000000000..311bbf6cf --- /dev/null +++ b/data/pokemon/base_stats/ho_oh.asm @@ -0,0 +1,22 @@ + db HO_OH ; 250 + + db 106, 130, 90, 90, 110, 154 + ; hp atk def spd sat sdf + + db FIRE, FLYING + db 3 ; catch rate + db 220 ; base exp + db SACRED_ASH ; item 1 + db SACRED_ASH ; item 2 + db GENDERLESS ; gender + db 100 ; unknown + db 120 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/ho_oh/front.dimensions" + db 0, 0, 0, 0 ; padding + db SLOW ; growth rate + dn NO_EGGS, NO_EGGS ; egg groups + + ; tmhm + tmhm CURSE, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, DRAGONBREATH, THUNDER, EARTHQUAKE, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, SWIFT, DREAM_EATER, DETECT, REST, STEEL_WING, NIGHTMARE, FLY, STRENGTH, FLASH, FLAMETHROWER, THUNDERBOLT + ; end diff --git a/data/pokemon/base_stats/hoothoot.asm b/data/pokemon/base_stats/hoothoot.asm new file mode 100644 index 000000000..0442fe414 --- /dev/null +++ b/data/pokemon/base_stats/hoothoot.asm @@ -0,0 +1,22 @@ + db HOOTHOOT ; 163 + + db 60, 30, 30, 50, 36, 56 + ; hp atk def spd sat sdf + + db NORMAL, FLYING + db 255 ; catch rate + db 58 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 15 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/hoothoot/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn AVIAN, AVIAN ; egg groups + + ; tmhm + tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, STEEL_WING, NIGHTMARE, FLY, FLASH + ; end diff --git a/data/pokemon/base_stats/hoppip.asm b/data/pokemon/base_stats/hoppip.asm new file mode 100644 index 000000000..b1918d699 --- /dev/null +++ b/data/pokemon/base_stats/hoppip.asm @@ -0,0 +1,22 @@ + db HOPPIP ; 187 + + db 35, 35, 40, 50, 35, 55 + ; hp atk def spd sat sdf + + db GRASS, FLYING + db 255 ; catch rate + db 74 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/hoppip/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_SLOW ; growth rate + dn FAIRY, PLANT ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, FLASH + ; end diff --git a/data/pokemon/base_stats/horsea.asm b/data/pokemon/base_stats/horsea.asm new file mode 100644 index 000000000..3296f52af --- /dev/null +++ b/data/pokemon/base_stats/horsea.asm @@ -0,0 +1,22 @@ + db HORSEA ; 116 + + db 30, 40, 70, 60, 70, 25 + ; hp atk def spd sat sdf + + db WATER, WATER + db 225 ; catch rate + db 83 ; base exp + db NO_ITEM ; item 1 + db DRAGON_SCALE ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/horsea/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn AMPHIBIAN, REPTILE ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, DRAGONBREATH, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, SURF, WHIRLPOOL, WATERFALL, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/houndoom.asm b/data/pokemon/base_stats/houndoom.asm new file mode 100644 index 000000000..234832675 --- /dev/null +++ b/data/pokemon/base_stats/houndoom.asm @@ -0,0 +1,22 @@ + db HOUNDOOM ; 229 + + db 75, 90, 50, 95, 110, 80 + ; hp atk def spd sat sdf + + db DARK, FIRE + db 45 ; catch rate + db 204 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/houndoom/front.dimensions" + db 0, 0, 0, 0 ; padding + db SLOW ; growth rate + dn FIELD, FIELD ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, FIRE_BLAST, SWIFT, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, NIGHTMARE, STRENGTH, FLAMETHROWER + ; end diff --git a/data/pokemon/base_stats/houndour.asm b/data/pokemon/base_stats/houndour.asm new file mode 100644 index 000000000..f743cd81e --- /dev/null +++ b/data/pokemon/base_stats/houndour.asm @@ -0,0 +1,22 @@ + db HOUNDOUR ; 228 + + db 45, 60, 30, 65, 80, 50 + ; hp atk def spd sat sdf + + db DARK, FIRE + db 120 ; catch rate + db 114 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/houndour/front.dimensions" + db 0, 0, 0, 0 ; padding + db SLOW ; growth rate + dn FIELD, FIELD ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, FIRE_BLAST, SWIFT, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, NIGHTMARE, FLAMETHROWER + ; end diff --git a/data/pokemon/base_stats/hypno.asm b/data/pokemon/base_stats/hypno.asm new file mode 100644 index 000000000..6c132b6bf --- /dev/null +++ b/data/pokemon/base_stats/hypno.asm @@ -0,0 +1,22 @@ + db HYPNO ; 097 + + db 85, 73, 70, 67, 73, 115 + ; hp atk def spd sat sdf + + db PSYCHIC, PSYCHIC + db 75 ; catch rate + db 165 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/hypno/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn HUMANSHAPE, HUMANSHAPE ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, PSYCHIC, SHADOW_BALL, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, THUNDERPUNCH, DREAM_EATER, REST, ATTRACT, FIRE_PUNCH, NIGHTMARE, FLASH + ; end diff --git a/data/pokemon/base_stats/igglybuff.asm b/data/pokemon/base_stats/igglybuff.asm new file mode 100644 index 000000000..fbf32ecca --- /dev/null +++ b/data/pokemon/base_stats/igglybuff.asm @@ -0,0 +1,22 @@ + db IGGLYBUFF ; 174 + + db 90, 30, 15, 15, 40, 20 + ; hp atk def spd sat sdf + + db NORMAL, NORMAL + db 170 ; catch rate + db 39 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F75 ; gender + db 100 ; unknown + db 10 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/igglybuff/front.dimensions" + db 0, 0, 0, 0 ; padding + db FAST ; growth rate + dn NO_EGGS, NO_EGGS ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, DEFENSE_CURL, DREAM_EATER, DETECT, REST, ATTRACT, NIGHTMARE, FLASH, FLAMETHROWER + ; end diff --git a/data/pokemon/base_stats/ivysaur.asm b/data/pokemon/base_stats/ivysaur.asm new file mode 100644 index 000000000..7d98b4b6d --- /dev/null +++ b/data/pokemon/base_stats/ivysaur.asm @@ -0,0 +1,22 @@ + db IVYSAUR ; 002 + + db 60, 62, 63, 60, 80, 80 + ; hp atk def spd sat sdf + + db GRASS, POISON + db 45 ; catch rate + db 141 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F12_5 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/ivysaur/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_SLOW ; growth rate + dn MONSTER, PLANT ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, FURY_CUTTER, CUT, FLASH + ; end diff --git a/data/pokemon/base_stats/jigglypuff.asm b/data/pokemon/base_stats/jigglypuff.asm new file mode 100644 index 000000000..0f4ea788e --- /dev/null +++ b/data/pokemon/base_stats/jigglypuff.asm @@ -0,0 +1,22 @@ + db JIGGLYPUFF ; 039 + + db 115, 45, 20, 20, 45, 25 + ; hp atk def spd sat sdf + + db NORMAL, NORMAL + db 170 ; catch rate + db 76 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F75 ; gender + db 100 ; unknown + db 10 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/jigglypuff/front.dimensions" + db 0, 0, 0, 0 ; padding + db FAST ; growth rate + dn FAIRY, FAIRY ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, FIRE_BLAST, DEFENSE_CURL, THUNDERPUNCH, DREAM_EATER, DETECT, REST, ATTRACT, FIRE_PUNCH, NIGHTMARE, STRENGTH, FLASH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/jolteon.asm b/data/pokemon/base_stats/jolteon.asm new file mode 100644 index 000000000..665a40d1d --- /dev/null +++ b/data/pokemon/base_stats/jolteon.asm @@ -0,0 +1,22 @@ + db JOLTEON ; 135 + + db 65, 65, 60, 130, 110, 95 + ; hp atk def spd sat sdf + + db ELECTRIC, ELECTRIC + db 45 ; catch rate + db 197 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F12_5 ; gender + db 100 ; unknown + db 35 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/jolteon/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn FIELD, FIELD ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, ROAR, TOXIC, ZAP_CANNON, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, FLASH, THUNDERBOLT + ; end diff --git a/data/pokemon/base_stats/jumpluff.asm b/data/pokemon/base_stats/jumpluff.asm new file mode 100644 index 000000000..623fbe82d --- /dev/null +++ b/data/pokemon/base_stats/jumpluff.asm @@ -0,0 +1,22 @@ + db JUMPLUFF ; 189 + + db 75, 55, 70, 110, 55, 85 + ; hp atk def spd sat sdf + + db GRASS, FLYING + db 45 ; catch rate + db 176 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/jumpluff/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_SLOW ; growth rate + dn FAIRY, PLANT ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, FLASH + ; end diff --git a/data/pokemon/base_stats/jynx.asm b/data/pokemon/base_stats/jynx.asm new file mode 100644 index 000000000..c47a4315d --- /dev/null +++ b/data/pokemon/base_stats/jynx.asm @@ -0,0 +1,22 @@ + db JYNX ; 124 + + db 65, 50, 35, 95, 115, 95 + ; hp atk def spd sat sdf + + db ICE, PSYCHIC + db 45 ; catch rate + db 137 ; base exp + db ICE_BERRY ; item 1 + db ICE_BERRY ; item 2 + db GENDER_F100 ; gender + db 100 ; unknown + db 25 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/jynx/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn HUMANSHAPE, HUMANSHAPE ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, PSYCH_UP, HIDDEN_POWER, SWEET_SCENT, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, DREAM_EATER, REST, ATTRACT, THIEF, NIGHTMARE, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/kabuto.asm b/data/pokemon/base_stats/kabuto.asm new file mode 100644 index 000000000..9a38cbcba --- /dev/null +++ b/data/pokemon/base_stats/kabuto.asm @@ -0,0 +1,22 @@ + db KABUTO ; 140 + + db 30, 80, 90, 55, 55, 45 + ; hp atk def spd sat sdf + + db ROCK, WATER + db 45 ; catch rate + db 119 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F12_5 ; gender + db 100 ; unknown + db 30 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/kabuto/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn AMPHIBIAN, INVERTEBRATE ; egg groups + + ; tmhm + tmhm CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, GIGA_DRAIN, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, REST, ATTRACT, THIEF, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/kabutops.asm b/data/pokemon/base_stats/kabutops.asm new file mode 100644 index 000000000..b8de99fa1 --- /dev/null +++ b/data/pokemon/base_stats/kabutops.asm @@ -0,0 +1,22 @@ + db KABUTOPS ; 141 + + db 60, 115, 105, 80, 65, 70 + ; hp atk def spd sat sdf + + db ROCK, WATER + db 45 ; catch rate + db 201 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F12_5 ; gender + db 100 ; unknown + db 30 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/kabutops/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn AMPHIBIAN, INVERTEBRATE ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, GIGA_DRAIN, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, REST, ATTRACT, THIEF, FURY_CUTTER, CUT, SURF, WHIRLPOOL, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/kadabra.asm b/data/pokemon/base_stats/kadabra.asm new file mode 100644 index 000000000..6a4e56f13 --- /dev/null +++ b/data/pokemon/base_stats/kadabra.asm @@ -0,0 +1,22 @@ + db KADABRA ; 064 + + db 40, 35, 30, 105, 120, 70 + ; hp atk def spd sat sdf + + db PSYCHIC, PSYCHIC + db 100 ; catch rate + db 145 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F25 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/kadabra/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_SLOW ; growth rate + dn HUMANSHAPE, HUMANSHAPE ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, DIG, PSYCHIC, SHADOW_BALL, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, THUNDERPUNCH, DREAM_EATER, REST, ATTRACT, THIEF, FIRE_PUNCH, NIGHTMARE, FLASH + ; end diff --git a/data/pokemon/base_stats/kakuna.asm b/data/pokemon/base_stats/kakuna.asm new file mode 100644 index 000000000..83241fbcd --- /dev/null +++ b/data/pokemon/base_stats/kakuna.asm @@ -0,0 +1,22 @@ + db KAKUNA ; 014 + + db 45, 25, 50, 35, 25, 25 + ; hp atk def spd sat sdf + + db BUG, POISON + db 120 ; catch rate + db 71 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 15 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/kakuna/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn INSECT, INSECT ; egg groups + + ; tmhm + tmhm + ; end diff --git a/data/pokemon/base_stats/kangaskhan.asm b/data/pokemon/base_stats/kangaskhan.asm new file mode 100644 index 000000000..21af227f0 --- /dev/null +++ b/data/pokemon/base_stats/kangaskhan.asm @@ -0,0 +1,22 @@ + db KANGASKHAN ; 115 + + db 105, 95, 80, 90, 40, 80 + ; hp atk def spd sat sdf + + db NORMAL, NORMAL + db 45 ; catch rate + db 175 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F100 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/kangaskhan/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn MONSTER, MONSTER ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, EARTHQUAKE, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, THUNDERPUNCH, REST, ATTRACT, FIRE_PUNCH, FURY_CUTTER, SURF, STRENGTH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/kingdra.asm b/data/pokemon/base_stats/kingdra.asm new file mode 100644 index 000000000..e62d0f23e --- /dev/null +++ b/data/pokemon/base_stats/kingdra.asm @@ -0,0 +1,22 @@ + db KINGDRA ; 230 + + db 75, 95, 95, 85, 95, 95 + ; hp atk def spd sat sdf + + db WATER, DRAGON + db 45 ; catch rate + db 207 ; base exp + db NO_ITEM ; item 1 + db DRAGON_SCALE ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/kingdra/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn AMPHIBIAN, REPTILE ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, DRAGONBREATH, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, SURF, WHIRLPOOL, WATERFALL, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/kingler.asm b/data/pokemon/base_stats/kingler.asm new file mode 100644 index 000000000..01ac23a99 --- /dev/null +++ b/data/pokemon/base_stats/kingler.asm @@ -0,0 +1,22 @@ + db KINGLER ; 099 + + db 55, 130, 115, 75, 50, 50 + ; hp atk def spd sat sdf + + db WATER, WATER + db 60 ; catch rate + db 206 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/kingler/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn INVERTEBRATE, INVERTEBRATE ; egg groups + + ; tmhm + tmhm CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, REST, ATTRACT, THIEF, FURY_CUTTER, CUT, SURF, STRENGTH, WHIRLPOOL, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/koffing.asm b/data/pokemon/base_stats/koffing.asm new file mode 100644 index 000000000..70e8bd114 --- /dev/null +++ b/data/pokemon/base_stats/koffing.asm @@ -0,0 +1,22 @@ + db KOFFING ; 109 + + db 40, 65, 95, 35, 60, 45 + ; hp atk def spd sat sdf + + db POISON, POISON + db 190 ; catch rate + db 114 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/koffing/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn AMORPHOUS, AMORPHOUS ; egg groups + + ; tmhm + tmhm CURSE, ROLLOUT, TOXIC, ZAP_CANNON, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, FIRE_BLAST, REST, ATTRACT, THIEF, FLAMETHROWER, THUNDERBOLT + ; end diff --git a/data/pokemon/base_stats/krabby.asm b/data/pokemon/base_stats/krabby.asm new file mode 100644 index 000000000..60ce4c7f4 --- /dev/null +++ b/data/pokemon/base_stats/krabby.asm @@ -0,0 +1,22 @@ + db KRABBY ; 098 + + db 30, 105, 90, 50, 25, 25 + ; hp atk def spd sat sdf + + db WATER, WATER + db 225 ; catch rate + db 115 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/krabby/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn INVERTEBRATE, INVERTEBRATE ; egg groups + + ; tmhm + tmhm CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, REST, ATTRACT, THIEF, FURY_CUTTER, CUT, SURF, STRENGTH, WHIRLPOOL, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/lanturn.asm b/data/pokemon/base_stats/lanturn.asm new file mode 100644 index 000000000..f5b747fad --- /dev/null +++ b/data/pokemon/base_stats/lanturn.asm @@ -0,0 +1,22 @@ + db LANTURN ; 171 + + db 125, 58, 58, 67, 76, 76 + ; hp atk def spd sat sdf + + db WATER, ELECTRIC + db 75 ; catch rate + db 156 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/lanturn/front.dimensions" + db 0, 0, 0, 0 ; padding + db SLOW ; growth rate + dn FISH, FISH ; egg groups + + ; tmhm + tmhm CURSE, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, REST, ATTRACT, SURF, FLASH, WHIRLPOOL, WATERFALL, THUNDERBOLT, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/lapras.asm b/data/pokemon/base_stats/lapras.asm new file mode 100644 index 000000000..9477b6791 --- /dev/null +++ b/data/pokemon/base_stats/lapras.asm @@ -0,0 +1,22 @@ + db LAPRAS ; 131 + + db 130, 85, 80, 60, 85, 95 + ; hp atk def spd sat sdf + + db WATER, ICE + db 45 ; catch rate + db 219 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 40 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/lapras/front.dimensions" + db 0, 0, 0, 0 ; padding + db SLOW ; growth rate + dn MONSTER, AMPHIBIAN ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, THUNDER, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DREAM_EATER, REST, ATTRACT, NIGHTMARE, SURF, STRENGTH, WHIRLPOOL, THUNDERBOLT, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/larvitar.asm b/data/pokemon/base_stats/larvitar.asm new file mode 100644 index 000000000..7de66ca7f --- /dev/null +++ b/data/pokemon/base_stats/larvitar.asm @@ -0,0 +1,22 @@ + db LARVITAR ; 246 + + db 50, 64, 50, 41, 45, 50 + ; hp atk def spd sat sdf + + db ROCK, GROUND + db 45 ; catch rate + db 67 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 40 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/larvitar/front.dimensions" + db 0, 0, 0, 0 ; padding + db SLOW ; growth rate + dn MONSTER, MONSTER ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, DETECT, REST, ATTRACT + ; end diff --git a/data/pokemon/base_stats/ledian.asm b/data/pokemon/base_stats/ledian.asm new file mode 100644 index 000000000..84a06c092 --- /dev/null +++ b/data/pokemon/base_stats/ledian.asm @@ -0,0 +1,22 @@ + db LEDIAN ; 166 + + db 55, 35, 50, 85, 55, 110 + ; hp atk def spd sat sdf + + db BUG, FLYING + db 90 ; catch rate + db 134 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 15 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/ledian/front.dimensions" + db 0, 0, 0, 0 ; padding + db FAST ; growth rate + dn INSECT, INSECT ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DIG, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, THUNDERPUNCH, REST, ATTRACT, THIEF, FLASH + ; end diff --git a/data/pokemon/base_stats/ledyba.asm b/data/pokemon/base_stats/ledyba.asm new file mode 100644 index 000000000..68a20d1ea --- /dev/null +++ b/data/pokemon/base_stats/ledyba.asm @@ -0,0 +1,22 @@ + db LEDYBA ; 165 + + db 40, 20, 30, 55, 40, 80 + ; hp atk def spd sat sdf + + db BUG, FLYING + db 255 ; catch rate + db 54 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 15 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/ledyba/front.dimensions" + db 0, 0, 0, 0 ; padding + db FAST ; growth rate + dn INSECT, INSECT ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DIG, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, THUNDERPUNCH, REST, ATTRACT, THIEF, FLASH + ; end diff --git a/data/pokemon/base_stats/lickitung.asm b/data/pokemon/base_stats/lickitung.asm new file mode 100644 index 000000000..0f8f351da --- /dev/null +++ b/data/pokemon/base_stats/lickitung.asm @@ -0,0 +1,22 @@ + db LICKITUNG ; 108 + + db 90, 55, 75, 30, 60, 75 + ; hp atk def spd sat sdf + + db NORMAL, NORMAL + db 45 ; catch rate + db 127 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/lickitung/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn MONSTER, MONSTER ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, EARTHQUAKE, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, DEFENSE_CURL, THUNDERPUNCH, DREAM_EATER, REST, ATTRACT, THIEF, FIRE_PUNCH, NIGHTMARE, CUT, SURF, STRENGTH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/lugia.asm b/data/pokemon/base_stats/lugia.asm new file mode 100644 index 000000000..3a4109ab9 --- /dev/null +++ b/data/pokemon/base_stats/lugia.asm @@ -0,0 +1,22 @@ + db LUGIA ; 249 + + db 106, 90, 130, 110, 90, 154 + ; hp atk def spd sat sdf + + db PSYCHIC, FLYING + db 3 ; catch rate + db 220 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDERLESS ; gender + db 100 ; unknown + db 120 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/lugia/front.dimensions" + db 0, 0, 0, 0 ; padding + db SLOW ; growth rate + dn NO_EGGS, NO_EGGS ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, GIGA_DRAIN, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, THUNDER, EARTHQUAKE, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, SWIFT, DREAM_EATER, DETECT, REST, STEEL_WING, NIGHTMARE, FLY, SURF, STRENGTH, WHIRLPOOL, WATERFALL, THUNDERBOLT, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/machamp.asm b/data/pokemon/base_stats/machamp.asm new file mode 100644 index 000000000..bb716cf25 --- /dev/null +++ b/data/pokemon/base_stats/machamp.asm @@ -0,0 +1,22 @@ + db MACHAMP ; 068 + + db 90, 130, 80, 55, 65, 85 + ; hp atk def spd sat sdf + + db FIGHTING, FIGHTING + db 45 ; catch rate + db 193 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F25 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/machamp/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_SLOW ; growth rate + dn HUMANSHAPE, HUMANSHAPE ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, FIRE_BLAST, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH, FLAMETHROWER + ; end diff --git a/data/pokemon/base_stats/machoke.asm b/data/pokemon/base_stats/machoke.asm new file mode 100644 index 000000000..79caf8c70 --- /dev/null +++ b/data/pokemon/base_stats/machoke.asm @@ -0,0 +1,22 @@ + db MACHOKE ; 067 + + db 80, 100, 70, 45, 50, 60 + ; hp atk def spd sat sdf + + db FIGHTING, FIGHTING + db 90 ; catch rate + db 146 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F25 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/machoke/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_SLOW ; growth rate + dn HUMANSHAPE, HUMANSHAPE ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, FIRE_BLAST, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH, FLAMETHROWER + ; end diff --git a/data/pokemon/base_stats/machop.asm b/data/pokemon/base_stats/machop.asm new file mode 100644 index 000000000..6b0cbaab7 --- /dev/null +++ b/data/pokemon/base_stats/machop.asm @@ -0,0 +1,22 @@ + db MACHOP ; 066 + + db 70, 80, 50, 35, 35, 35 + ; hp atk def spd sat sdf + + db FIGHTING, FIGHTING + db 180 ; catch rate + db 88 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F25 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/machop/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_SLOW ; growth rate + dn HUMANSHAPE, HUMANSHAPE ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, FIRE_BLAST, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH, FLAMETHROWER + ; end diff --git a/data/pokemon/base_stats/magby.asm b/data/pokemon/base_stats/magby.asm new file mode 100644 index 000000000..478dfb8b8 --- /dev/null +++ b/data/pokemon/base_stats/magby.asm @@ -0,0 +1,22 @@ + db MAGBY ; 240 + + db 45, 75, 37, 83, 70, 55 + ; hp atk def spd sat sdf + + db FIRE, FIRE + db 45 ; catch rate + db 117 ; base exp + db BURNT_BERRY ; item 1 + db BURNT_BERRY ; item 2 + db GENDER_F25 ; gender + db 100 ; unknown + db 25 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/magby/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn NO_EGGS, NO_EGGS ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, PSYCHIC, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, FLAMETHROWER + ; end diff --git a/data/pokemon/base_stats/magcargo.asm b/data/pokemon/base_stats/magcargo.asm new file mode 100644 index 000000000..45493135b --- /dev/null +++ b/data/pokemon/base_stats/magcargo.asm @@ -0,0 +1,22 @@ + db MAGCARGO ; 219 + + db 50, 50, 120, 30, 80, 80 + ; hp atk def spd sat sdf + + db FIRE, ROCK + db 75 ; catch rate + db 154 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/magcargo/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn AMORPHOUS, AMORPHOUS ; egg groups + + ; tmhm + tmhm CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, DEFENSE_CURL, REST, ATTRACT, STRENGTH, FLAMETHROWER + ; end diff --git a/data/pokemon/base_stats/magikarp.asm b/data/pokemon/base_stats/magikarp.asm new file mode 100644 index 000000000..2519b475b --- /dev/null +++ b/data/pokemon/base_stats/magikarp.asm @@ -0,0 +1,22 @@ + db MAGIKARP ; 129 + + db 20, 10, 55, 80, 15, 20 + ; hp atk def spd sat sdf + + db WATER, WATER + db 255 ; catch rate + db 20 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 5 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/magikarp/front.dimensions" + db 0, 0, 0, 0 ; padding + db SLOW ; growth rate + dn FISH, REPTILE ; egg groups + + ; tmhm + tmhm + ; end diff --git a/data/pokemon/base_stats/magmar.asm b/data/pokemon/base_stats/magmar.asm new file mode 100644 index 000000000..ea14c66cd --- /dev/null +++ b/data/pokemon/base_stats/magmar.asm @@ -0,0 +1,22 @@ + db MAGMAR ; 126 + + db 65, 95, 57, 93, 100, 85 + ; hp atk def spd sat sdf + + db FIRE, FIRE + db 45 ; catch rate + db 167 ; base exp + db BURNT_BERRY ; item 1 + db BURNT_BERRY ; item 2 + db GENDER_F25 ; gender + db 100 ; unknown + db 25 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/magmar/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn HUMANSHAPE, HUMANSHAPE ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, PSYCHIC, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH, FLAMETHROWER + ; end diff --git a/data/pokemon/base_stats/magnemite.asm b/data/pokemon/base_stats/magnemite.asm new file mode 100644 index 000000000..19a85a9a1 --- /dev/null +++ b/data/pokemon/base_stats/magnemite.asm @@ -0,0 +1,22 @@ + db MAGNEMITE ; 081 + + db 25, 35, 70, 45, 95, 55 + ; hp atk def spd sat sdf + + db ELECTRIC, STEEL + db 190 ; catch rate + db 89 ; base exp + db NO_ITEM ; item 1 + db METAL_COAT ; item 2 + db GENDERLESS ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/magnemite/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn INANIMATE, INANIMATE ; egg groups + + ; tmhm + tmhm CURSE, ROLLOUT, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, FLASH, THUNDERBOLT + ; end diff --git a/data/pokemon/base_stats/magneton.asm b/data/pokemon/base_stats/magneton.asm new file mode 100644 index 000000000..5fdbe68f4 --- /dev/null +++ b/data/pokemon/base_stats/magneton.asm @@ -0,0 +1,22 @@ + db MAGNETON ; 082 + + db 50, 60, 95, 70, 120, 70 + ; hp atk def spd sat sdf + + db ELECTRIC, STEEL + db 60 ; catch rate + db 161 ; base exp + db NO_ITEM ; item 1 + db METAL_COAT ; item 2 + db GENDERLESS ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/magneton/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn INANIMATE, INANIMATE ; egg groups + + ; tmhm + tmhm CURSE, ROLLOUT, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, FLASH, THUNDERBOLT + ; end diff --git a/data/pokemon/base_stats/mankey.asm b/data/pokemon/base_stats/mankey.asm new file mode 100644 index 000000000..77cc260d4 --- /dev/null +++ b/data/pokemon/base_stats/mankey.asm @@ -0,0 +1,22 @@ + db MANKEY ; 056 + + db 40, 80, 35, 70, 35, 45 + ; hp atk def spd sat sdf + + db FIGHTING, FIGHTING + db 190 ; catch rate + db 74 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/mankey/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn FIELD, FIELD ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH, THUNDERBOLT + ; end diff --git a/data/pokemon/base_stats/mantine.asm b/data/pokemon/base_stats/mantine.asm new file mode 100644 index 000000000..bfe113428 --- /dev/null +++ b/data/pokemon/base_stats/mantine.asm @@ -0,0 +1,22 @@ + db MANTINE ; 226 + + db 65, 40, 70, 70, 80, 140 + ; hp atk def spd sat sdf + + db WATER, FLYING + db 25 ; catch rate + db 168 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 25 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/mantine/front.dimensions" + db 0, 0, 0, 0 ; padding + db SLOW ; growth rate + dn AMPHIBIAN, AMPHIBIAN ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, SURF, WHIRLPOOL, WATERFALL, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/mareep.asm b/data/pokemon/base_stats/mareep.asm new file mode 100644 index 000000000..cc190b664 --- /dev/null +++ b/data/pokemon/base_stats/mareep.asm @@ -0,0 +1,22 @@ + db MAREEP ; 179 + + db 55, 40, 40, 35, 65, 45 + ; hp atk def spd sat sdf + + db ELECTRIC, ELECTRIC + db 235 ; catch rate + db 59 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/mareep/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_SLOW ; growth rate + dn MONSTER, FIELD ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, REST, ATTRACT, FLASH, THUNDERBOLT + ; end diff --git a/data/pokemon/base_stats/marill.asm b/data/pokemon/base_stats/marill.asm new file mode 100644 index 000000000..73708d1df --- /dev/null +++ b/data/pokemon/base_stats/marill.asm @@ -0,0 +1,22 @@ + db MARILL ; 183 + + db 70, 20, 50, 40, 20, 50 + ; hp atk def spd sat sdf + + db WATER, WATER + db 190 ; catch rate + db 58 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/marill/front.dimensions" + db 0, 0, 0, 0 ; padding + db FAST ; growth rate + dn AMPHIBIAN, FAIRY ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, REST, ATTRACT, SURF, WHIRLPOOL, WATERFALL, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/marowak.asm b/data/pokemon/base_stats/marowak.asm new file mode 100644 index 000000000..3e04b9697 --- /dev/null +++ b/data/pokemon/base_stats/marowak.asm @@ -0,0 +1,22 @@ + db MAROWAK ; 105 + + db 60, 80, 110, 45, 50, 80 + ; hp atk def spd sat sdf + + db GROUND, GROUND + db 75 ; catch rate + db 124 ; base exp + db NO_ITEM ; item 1 + db THICK_CLUB ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/marowak/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn MONSTER, MONSTER ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH, FLAMETHROWER, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/meganium.asm b/data/pokemon/base_stats/meganium.asm new file mode 100644 index 000000000..cf1125003 --- /dev/null +++ b/data/pokemon/base_stats/meganium.asm @@ -0,0 +1,22 @@ + db MEGANIUM ; 154 + + db 80, 82, 100, 80, 83, 100 + ; hp atk def spd sat sdf + + db GRASS, GRASS + db 45 ; catch rate + db 208 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F12_5 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/meganium/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_SLOW ; growth rate + dn MONSTER, PLANT ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, EARTHQUAKE, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DETECT, REST, ATTRACT, FURY_CUTTER, CUT, STRENGTH, FLASH + ; end diff --git a/data/pokemon/base_stats/meowth.asm b/data/pokemon/base_stats/meowth.asm new file mode 100644 index 000000000..f177f0efd --- /dev/null +++ b/data/pokemon/base_stats/meowth.asm @@ -0,0 +1,22 @@ + db MEOWTH ; 052 + + db 40, 45, 35, 90, 40, 40 + ; hp atk def spd sat sdf + + db NORMAL, NORMAL + db 255 ; catch rate + db 69 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/meowth/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn FIELD, FIELD ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, ICY_WIND, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, NIGHTMARE, THUNDERBOLT + ; end diff --git a/data/pokemon/base_stats/metapod.asm b/data/pokemon/base_stats/metapod.asm new file mode 100644 index 000000000..e26e31fc5 --- /dev/null +++ b/data/pokemon/base_stats/metapod.asm @@ -0,0 +1,22 @@ + db METAPOD ; 011 + + db 50, 20, 55, 30, 25, 25 + ; hp atk def spd sat sdf + + db BUG, BUG + db 120 ; catch rate + db 72 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 15 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/metapod/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn INSECT, INSECT ; egg groups + + ; tmhm + tmhm + ; end diff --git a/data/pokemon/base_stats/mew.asm b/data/pokemon/base_stats/mew.asm new file mode 100644 index 000000000..e2bac0040 --- /dev/null +++ b/data/pokemon/base_stats/mew.asm @@ -0,0 +1,22 @@ + db MEW ; 151 + + db 100, 100, 100, 100, 100, 100 + ; hp atk def spd sat sdf + + db PSYCHIC, PSYCHIC + db 45 ; catch rate + db 64 ; base exp + db NO_ITEM ; item 1 + db MIRACLEBERRY ; item 2 + db GENDERLESS ; gender + db 100 ; unknown + db 120 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/mew/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_SLOW ; growth rate + dn NO_EGGS, NO_EGGS ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, DRAGONBREATH, THUNDER, EARTHQUAKE, RETURN, DIG, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, SANDSTORM, FIRE_BLAST, SWIFT, DEFENSE_CURL, THUNDERPUNCH, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, STEEL_WING, FIRE_PUNCH, FURY_CUTTER, NIGHTMARE, CUT, FLY, SURF, STRENGTH, FLASH, WHIRLPOOL, WATERFALL, FLAMETHROWER, THUNDERBOLT, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/mewtwo.asm b/data/pokemon/base_stats/mewtwo.asm new file mode 100644 index 000000000..28da9f404 --- /dev/null +++ b/data/pokemon/base_stats/mewtwo.asm @@ -0,0 +1,22 @@ + db MEWTWO ; 150 + + db 106, 110, 90, 130, 154, 90 + ; hp atk def spd sat sdf + + db PSYCHIC, PSYCHIC + db 3 ; catch rate + db 220 ; base exp + db NO_ITEM ; item 1 + db BERSERK_GENE ; item 2 + db GENDERLESS ; gender + db 100 ; unknown + db 120 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/mewtwo/front.dimensions" + db 0, 0, 0, 0 ; padding + db SLOW ; growth rate + dn NO_EGGS, NO_EGGS ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, THUNDERPUNCH, DREAM_EATER, DETECT, REST, FIRE_PUNCH, NIGHTMARE, STRENGTH, FLASH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/miltank.asm b/data/pokemon/base_stats/miltank.asm new file mode 100644 index 000000000..63ed422bc --- /dev/null +++ b/data/pokemon/base_stats/miltank.asm @@ -0,0 +1,22 @@ + db MILTANK ; 241 + + db 95, 80, 105, 100, 40, 70 + ; hp atk def spd sat sdf + + db NORMAL, NORMAL + db 45 ; catch rate + db 200 ; base exp + db MOOMOO_MILK ; item 1 + db MOOMOO_MILK ; item 2 + db GENDER_F100 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/miltank/front.dimensions" + db 0, 0, 0, 0 ; padding + db SLOW ; growth rate + dn FIELD, FIELD ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, EARTHQUAKE, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SANDSTORM, DEFENSE_CURL, THUNDERPUNCH, REST, ATTRACT, FIRE_PUNCH, SURF, STRENGTH, THUNDERBOLT, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/misdreavus.asm b/data/pokemon/base_stats/misdreavus.asm new file mode 100644 index 000000000..dc730ad9a --- /dev/null +++ b/data/pokemon/base_stats/misdreavus.asm @@ -0,0 +1,22 @@ + db MISDREAVUS ; 200 + + db 60, 60, 60, 85, 85, 85 + ; hp atk def spd sat sdf + + db GHOST, GHOST + db 45 ; catch rate + db 147 ; base exp + db NO_ITEM ; item 1 + db SPELL_TAG ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 25 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/misdreavus/front.dimensions" + db 0, 0, 0, 0 ; padding + db FAST ; growth rate + dn AMORPHOUS, AMORPHOUS ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, DREAM_EATER, REST, ATTRACT, THIEF, NIGHTMARE, FLASH, THUNDERBOLT + ; end diff --git a/data/pokemon/base_stats/moltres.asm b/data/pokemon/base_stats/moltres.asm new file mode 100644 index 000000000..bf70c2821 --- /dev/null +++ b/data/pokemon/base_stats/moltres.asm @@ -0,0 +1,22 @@ + db MOLTRES ; 146 + + db 90, 100, 90, 90, 125, 85 + ; hp atk def spd sat sdf + + db FIRE, FLYING + db 3 ; catch rate + db 217 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDERLESS ; gender + db 100 ; unknown + db 80 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/moltres/front.dimensions" + db 0, 0, 0, 0 ; padding + db SLOW ; growth rate + dn NO_EGGS, NO_EGGS ; egg groups + + ; tmhm + tmhm CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, SWIFT, DETECT, REST, STEEL_WING, FLY, FLAMETHROWER + ; end diff --git a/data/pokemon/base_stats/mr__mime.asm b/data/pokemon/base_stats/mr__mime.asm new file mode 100644 index 000000000..d7042d55a --- /dev/null +++ b/data/pokemon/base_stats/mr__mime.asm @@ -0,0 +1,22 @@ + db MR__MIME ; 122 + + db 40, 45, 65, 90, 100, 120 + ; hp atk def spd sat sdf + + db PSYCHIC, PSYCHIC + db 45 ; catch rate + db 136 ; base exp + db NO_ITEM ; item 1 + db MYSTERYBERRY ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 25 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/mr__mime/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn HUMANSHAPE, HUMANSHAPE ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, SOLARBEAM, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, THUNDERPUNCH, DREAM_EATER, REST, ATTRACT, THIEF, FIRE_PUNCH, NIGHTMARE, FLASH, THUNDERBOLT + ; end diff --git a/data/pokemon/base_stats/muk.asm b/data/pokemon/base_stats/muk.asm new file mode 100644 index 000000000..30c6414fd --- /dev/null +++ b/data/pokemon/base_stats/muk.asm @@ -0,0 +1,22 @@ + db MUK ; 089 + + db 105, 105, 75, 50, 65, 100 + ; hp atk def spd sat sdf + + db POISON, POISON + db 75 ; catch rate + db 157 ; base exp + db NO_ITEM ; item 1 + db NUGGET ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/muk/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn AMORPHOUS, AMORPHOUS ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, CURSE, TOXIC, ZAP_CANNON, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, FIRE_BLAST, THUNDERPUNCH, REST, ATTRACT, THIEF, FIRE_PUNCH, FLAMETHROWER, THUNDERBOLT + ; end diff --git a/data/pokemon/base_stats/murkrow.asm b/data/pokemon/base_stats/murkrow.asm new file mode 100644 index 000000000..7f459e8aa --- /dev/null +++ b/data/pokemon/base_stats/murkrow.asm @@ -0,0 +1,22 @@ + db MURKROW ; 198 + + db 60, 85, 42, 91, 85, 42 + ; hp atk def spd sat sdf + + db DARK, FLYING + db 30 ; catch rate + db 107 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/murkrow/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_SLOW ; growth rate + dn AVIAN, AVIAN ; egg groups + + ; tmhm + tmhm CURSE, TOXIC, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, ICY_WIND, PROTECT, ENDURE, FRUSTRATION, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, STEEL_WING, NIGHTMARE, FLY + ; end diff --git a/data/pokemon/base_stats/natu.asm b/data/pokemon/base_stats/natu.asm new file mode 100644 index 000000000..9d00ce7eb --- /dev/null +++ b/data/pokemon/base_stats/natu.asm @@ -0,0 +1,22 @@ + db NATU ; 177 + + db 40, 50, 45, 70, 70, 45 + ; hp atk def spd sat sdf + + db PSYCHIC, FLYING + db 190 ; catch rate + db 73 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/natu/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn AVIAN, AVIAN ; egg groups + + ; tmhm + tmhm CURSE, TOXIC, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, NIGHTMARE, FLASH + ; end diff --git a/data/pokemon/base_stats/nidoking.asm b/data/pokemon/base_stats/nidoking.asm new file mode 100644 index 000000000..316f71e87 --- /dev/null +++ b/data/pokemon/base_stats/nidoking.asm @@ -0,0 +1,22 @@ + db NIDOKING ; 034 + + db 81, 92, 77, 85, 85, 75 + ; hp atk def spd sat sdf + + db POISON, GROUND + db 45 ; catch rate + db 195 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F0 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/nidoking/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_SLOW ; growth rate + dn MONSTER, FIELD ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, EARTHQUAKE, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, DEFENSE_CURL, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, FURY_CUTTER, SURF, STRENGTH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/nidoqueen.asm b/data/pokemon/base_stats/nidoqueen.asm new file mode 100644 index 000000000..e9d2ae611 --- /dev/null +++ b/data/pokemon/base_stats/nidoqueen.asm @@ -0,0 +1,22 @@ + db NIDOQUEEN ; 031 + + db 90, 82, 87, 76, 75, 85 + ; hp atk def spd sat sdf + + db POISON, GROUND + db 45 ; catch rate + db 194 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F100 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/nidoqueen/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_SLOW ; growth rate + dn NO_EGGS, NO_EGGS ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, EARTHQUAKE, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, DEFENSE_CURL, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, FURY_CUTTER, SURF, STRENGTH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/nidoran_f.asm b/data/pokemon/base_stats/nidoran_f.asm new file mode 100644 index 000000000..1cd53b17a --- /dev/null +++ b/data/pokemon/base_stats/nidoran_f.asm @@ -0,0 +1,22 @@ + db NIDORAN_F ; 029 + + db 55, 47, 52, 41, 40, 40 + ; hp atk def spd sat sdf + + db POISON, POISON + db 235 ; catch rate + db 59 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F100 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/nidoran_f/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_SLOW ; growth rate + dn MONSTER, FIELD ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, DETECT, REST, ATTRACT, THIEF, THUNDERBOLT + ; end diff --git a/data/pokemon/base_stats/nidoran_m.asm b/data/pokemon/base_stats/nidoran_m.asm new file mode 100644 index 000000000..cf0c1e1b2 --- /dev/null +++ b/data/pokemon/base_stats/nidoran_m.asm @@ -0,0 +1,22 @@ + db NIDORAN_M ; 032 + + db 46, 57, 40, 50, 40, 40 + ; hp atk def spd sat sdf + + db POISON, POISON + db 235 ; catch rate + db 60 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F0 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/nidoran_m/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_SLOW ; growth rate + dn MONSTER, FIELD ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, DETECT, REST, ATTRACT, THIEF, THUNDERBOLT + ; end diff --git a/data/pokemon/base_stats/nidorina.asm b/data/pokemon/base_stats/nidorina.asm new file mode 100644 index 000000000..42b3aebf8 --- /dev/null +++ b/data/pokemon/base_stats/nidorina.asm @@ -0,0 +1,22 @@ + db NIDORINA ; 030 + + db 70, 62, 67, 56, 55, 55 + ; hp atk def spd sat sdf + + db POISON, POISON + db 120 ; catch rate + db 117 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F100 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/nidorina/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_SLOW ; growth rate + dn NO_EGGS, NO_EGGS ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, DETECT, REST, ATTRACT, THIEF, STRENGTH, THUNDERBOLT, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/nidorino.asm b/data/pokemon/base_stats/nidorino.asm new file mode 100644 index 000000000..f31e8df3d --- /dev/null +++ b/data/pokemon/base_stats/nidorino.asm @@ -0,0 +1,22 @@ + db NIDORINO ; 033 + + db 61, 72, 57, 65, 55, 55 + ; hp atk def spd sat sdf + + db POISON, POISON + db 120 ; catch rate + db 118 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F0 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/nidorino/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_SLOW ; growth rate + dn MONSTER, FIELD ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, DETECT, REST, ATTRACT, THIEF, STRENGTH, THUNDERBOLT, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/ninetales.asm b/data/pokemon/base_stats/ninetales.asm new file mode 100644 index 000000000..5fd84b886 --- /dev/null +++ b/data/pokemon/base_stats/ninetales.asm @@ -0,0 +1,22 @@ + db NINETALES ; 038 + + db 73, 76, 75, 100, 81, 100 + ; hp atk def spd sat sdf + + db FIRE, FIRE + db 75 ; catch rate + db 178 ; base exp + db BURNT_BERRY ; item 1 + db BURNT_BERRY ; item 2 + db GENDER_F75 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/ninetales/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn FIELD, FIELD ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, ROAR, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, REST, ATTRACT, FLAMETHROWER + ; end diff --git a/data/pokemon/base_stats/noctowl.asm b/data/pokemon/base_stats/noctowl.asm new file mode 100644 index 000000000..e2c8565bd --- /dev/null +++ b/data/pokemon/base_stats/noctowl.asm @@ -0,0 +1,22 @@ + db NOCTOWL ; 164 + + db 100, 50, 50, 70, 76, 96 + ; hp atk def spd sat sdf + + db NORMAL, FLYING + db 90 ; catch rate + db 162 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 15 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/noctowl/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn AVIAN, AVIAN ; egg groups + + ; tmhm + tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, STEEL_WING, NIGHTMARE, FLY, FLASH + ; end diff --git a/data/pokemon/base_stats/octillery.asm b/data/pokemon/base_stats/octillery.asm new file mode 100644 index 000000000..80b5ad97a --- /dev/null +++ b/data/pokemon/base_stats/octillery.asm @@ -0,0 +1,22 @@ + db OCTILLERY ; 224 + + db 75, 105, 75, 45, 105, 75 + ; hp atk def spd sat sdf + + db WATER, WATER + db 75 ; catch rate + db 164 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/octillery/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn AMPHIBIAN, FISH ; egg groups + + ; tmhm + tmhm CURSE, TOXIC, HIDDEN_POWER, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, REST, ATTRACT, THIEF, SURF, WHIRLPOOL, FLAMETHROWER, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/oddish.asm b/data/pokemon/base_stats/oddish.asm new file mode 100644 index 000000000..df75f6485 --- /dev/null +++ b/data/pokemon/base_stats/oddish.asm @@ -0,0 +1,22 @@ + db ODDISH ; 043 + + db 45, 50, 55, 30, 75, 65 + ; hp atk def spd sat sdf + + db GRASS, POISON + db 255 ; catch rate + db 78 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/oddish/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_SLOW ; growth rate + dn PLANT, PLANT ; egg groups + + ; tmhm + tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, CUT, FLASH + ; end diff --git a/data/pokemon/base_stats/omanyte.asm b/data/pokemon/base_stats/omanyte.asm new file mode 100644 index 000000000..6278f4e3c --- /dev/null +++ b/data/pokemon/base_stats/omanyte.asm @@ -0,0 +1,22 @@ + db OMANYTE ; 138 + + db 35, 40, 100, 35, 90, 55 + ; hp atk def spd sat sdf + + db ROCK, WATER + db 45 ; catch rate + db 120 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F12_5 ; gender + db 100 ; unknown + db 30 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/omanyte/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn AMPHIBIAN, INVERTEBRATE ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, REST, ATTRACT, THIEF, SURF, WHIRLPOOL, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/omastar.asm b/data/pokemon/base_stats/omastar.asm new file mode 100644 index 000000000..d3f3b15e1 --- /dev/null +++ b/data/pokemon/base_stats/omastar.asm @@ -0,0 +1,22 @@ + db OMASTAR ; 139 + + db 70, 60, 125, 55, 115, 70 + ; hp atk def spd sat sdf + + db ROCK, WATER + db 45 ; catch rate + db 199 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F12_5 ; gender + db 100 ; unknown + db 30 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/omastar/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn AMPHIBIAN, INVERTEBRATE ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, REST, ATTRACT, THIEF, SURF, WHIRLPOOL, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/onix.asm b/data/pokemon/base_stats/onix.asm new file mode 100644 index 000000000..2fc5bd175 --- /dev/null +++ b/data/pokemon/base_stats/onix.asm @@ -0,0 +1,22 @@ + db ONIX ; 095 + + db 35, 45, 160, 70, 30, 45 + ; hp atk def spd sat sdf + + db ROCK, GROUND + db 45 ; catch rate + db 108 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 25 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/onix/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn INANIMATE, INANIMATE ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, REST, ATTRACT, STRENGTH + ; end diff --git a/data/pokemon/base_stats/paras.asm b/data/pokemon/base_stats/paras.asm new file mode 100644 index 000000000..d86a51765 --- /dev/null +++ b/data/pokemon/base_stats/paras.asm @@ -0,0 +1,22 @@ + db PARAS ; 046 + + db 35, 70, 55, 25, 45, 55 + ; hp atk def spd sat sdf + + db BUG, GRASS + db 190 ; catch rate + db 70 ; base exp + db TINYMUSHROOM ; item 1 + db BIG_MUSHROOM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/paras/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn INSECT, PLANT ; egg groups + + ; tmhm + tmhm CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DIG, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, THIEF, FURY_CUTTER, CUT, FLASH + ; end diff --git a/data/pokemon/base_stats/parasect.asm b/data/pokemon/base_stats/parasect.asm new file mode 100644 index 000000000..5c4320fd3 --- /dev/null +++ b/data/pokemon/base_stats/parasect.asm @@ -0,0 +1,22 @@ + db PARASECT ; 047 + + db 60, 95, 80, 30, 60, 80 + ; hp atk def spd sat sdf + + db BUG, GRASS + db 75 ; catch rate + db 128 ; base exp + db TINYMUSHROOM ; item 1 + db BIG_MUSHROOM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/parasect/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn INSECT, PLANT ; egg groups + + ; tmhm + tmhm CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DIG, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, THIEF, FURY_CUTTER, CUT, FLASH + ; end diff --git a/data/pokemon/base_stats/persian.asm b/data/pokemon/base_stats/persian.asm new file mode 100644 index 000000000..fd2677e16 --- /dev/null +++ b/data/pokemon/base_stats/persian.asm @@ -0,0 +1,22 @@ + db PERSIAN ; 053 + + db 65, 70, 60, 115, 65, 65 + ; hp atk def spd sat sdf + + db NORMAL, NORMAL + db 90 ; catch rate + db 148 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/persian/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn FIELD, FIELD ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, ROAR, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, ICY_WIND, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, NIGHTMARE, THUNDERBOLT + ; end diff --git a/data/pokemon/base_stats/phanpy.asm b/data/pokemon/base_stats/phanpy.asm new file mode 100644 index 000000000..93a26d43c --- /dev/null +++ b/data/pokemon/base_stats/phanpy.asm @@ -0,0 +1,22 @@ + db PHANPY ; 231 + + db 90, 60, 60, 40, 40, 40 + ; hp atk def spd sat sdf + + db GROUND, GROUND + db 120 ; catch rate + db 124 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/phanpy/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn FIELD, FIELD ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, DEFENSE_CURL, REST, ATTRACT, STRENGTH + ; end diff --git a/data/pokemon/base_stats/pichu.asm b/data/pokemon/base_stats/pichu.asm new file mode 100644 index 000000000..da497bdf8 --- /dev/null +++ b/data/pokemon/base_stats/pichu.asm @@ -0,0 +1,22 @@ + db PICHU ; 172 + + db 20, 40, 15, 60, 35, 35 + ; hp atk def spd sat sdf + + db ELECTRIC, ELECTRIC + db 190 ; catch rate + db 42 ; base exp + db NO_ITEM ; item 1 + db BERRY ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 10 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/pichu/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn NO_EGGS, NO_EGGS ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, DETECT, REST, ATTRACT, FLASH, THUNDERBOLT + ; end diff --git a/data/pokemon/base_stats/pidgeot.asm b/data/pokemon/base_stats/pidgeot.asm new file mode 100644 index 000000000..35222d2be --- /dev/null +++ b/data/pokemon/base_stats/pidgeot.asm @@ -0,0 +1,22 @@ + db PIDGEOT ; 018 + + db 83, 80, 75, 91, 70, 70 + ; hp atk def spd sat sdf + + db NORMAL, FLYING + db 45 ; catch rate + db 172 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 15 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/pidgeot/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_SLOW ; growth rate + dn AVIAN, AVIAN ; egg groups + + ; tmhm + tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING, FLY + ; end diff --git a/data/pokemon/base_stats/pidgeotto.asm b/data/pokemon/base_stats/pidgeotto.asm new file mode 100644 index 000000000..13b2d8e0c --- /dev/null +++ b/data/pokemon/base_stats/pidgeotto.asm @@ -0,0 +1,22 @@ + db PIDGEOTTO ; 017 + + db 63, 60, 55, 71, 50, 50 + ; hp atk def spd sat sdf + + db NORMAL, FLYING + db 120 ; catch rate + db 113 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 15 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/pidgeotto/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_SLOW ; growth rate + dn AVIAN, AVIAN ; egg groups + + ; tmhm + tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING, FLY + ; end diff --git a/data/pokemon/base_stats/pidgey.asm b/data/pokemon/base_stats/pidgey.asm new file mode 100644 index 000000000..0290f1717 --- /dev/null +++ b/data/pokemon/base_stats/pidgey.asm @@ -0,0 +1,22 @@ + db PIDGEY ; 016 + + db 40, 45, 40, 56, 35, 35 + ; hp atk def spd sat sdf + + db NORMAL, FLYING + db 255 ; catch rate + db 55 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 15 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/pidgey/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_SLOW ; growth rate + dn AVIAN, AVIAN ; egg groups + + ; tmhm + tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING, FLY + ; end diff --git a/data/pokemon/base_stats/pikachu.asm b/data/pokemon/base_stats/pikachu.asm new file mode 100644 index 000000000..cd998aead --- /dev/null +++ b/data/pokemon/base_stats/pikachu.asm @@ -0,0 +1,22 @@ + db PIKACHU ; 025 + + db 35, 55, 30, 90, 50, 40 + ; hp atk def spd sat sdf + + db ELECTRIC, ELECTRIC + db 190 ; catch rate + db 82 ; base exp + db NO_ITEM ; item 1 + db BERRY ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 10 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/pikachu/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn FIELD, FAIRY ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, THUNDERPUNCH, DETECT, REST, ATTRACT, STRENGTH, FLASH, THUNDERBOLT + ; end diff --git a/data/pokemon/base_stats/piloswine.asm b/data/pokemon/base_stats/piloswine.asm new file mode 100644 index 000000000..dd8bf950b --- /dev/null +++ b/data/pokemon/base_stats/piloswine.asm @@ -0,0 +1,22 @@ + db PILOSWINE ; 221 + + db 100, 100, 80, 50, 60, 60 + ; hp atk def spd sat sdf + + db ICE, GROUND + db 75 ; catch rate + db 160 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/piloswine/front.dimensions" + db 0, 0, 0, 0 ; padding + db SLOW ; growth rate + dn FIELD, FIELD ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, DETECT, REST, ATTRACT, STRENGTH, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/pineco.asm b/data/pokemon/base_stats/pineco.asm new file mode 100644 index 000000000..2c27a9913 --- /dev/null +++ b/data/pokemon/base_stats/pineco.asm @@ -0,0 +1,22 @@ + db PINECO ; 204 + + db 50, 65, 90, 15, 35, 35 + ; hp atk def spd sat sdf + + db BUG, BUG + db 190 ; catch rate + db 60 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/pineco/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn INSECT, INSECT ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, STRENGTH + ; end diff --git a/data/pokemon/base_stats/pinsir.asm b/data/pokemon/base_stats/pinsir.asm new file mode 100644 index 000000000..697bba44c --- /dev/null +++ b/data/pokemon/base_stats/pinsir.asm @@ -0,0 +1,22 @@ + db PINSIR ; 127 + + db 65, 125, 100, 85, 55, 70 + ; hp atk def spd sat sdf + + db BUG, BUG + db 45 ; catch rate + db 200 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 25 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/pinsir/front.dimensions" + db 0, 0, 0, 0 ; padding + db SLOW ; growth rate + dn INSECT, INSECT ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, REST, ATTRACT, THIEF, FURY_CUTTER, CUT, STRENGTH + ; end diff --git a/data/pokemon/base_stats/politoed.asm b/data/pokemon/base_stats/politoed.asm new file mode 100644 index 000000000..dd11f5080 --- /dev/null +++ b/data/pokemon/base_stats/politoed.asm @@ -0,0 +1,22 @@ + db POLITOED ; 186 + + db 90, 75, 75, 70, 90, 100 + ; hp atk def spd sat sdf + + db WATER, WATER + db 45 ; catch rate + db 185 ; base exp + db NO_ITEM ; item 1 + db KINGS_ROCK ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/politoed/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_SLOW ; growth rate + dn AMPHIBIAN, AMPHIBIAN ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, PSYCHIC, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, DEFENSE_CURL, DETECT, REST, ATTRACT, THIEF, SURF, STRENGTH, WHIRLPOOL, WATERFALL, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/poliwag.asm b/data/pokemon/base_stats/poliwag.asm new file mode 100644 index 000000000..fb362450c --- /dev/null +++ b/data/pokemon/base_stats/poliwag.asm @@ -0,0 +1,22 @@ + db POLIWAG ; 060 + + db 40, 50, 40, 90, 40, 40 + ; hp atk def spd sat sdf + + db WATER, WATER + db 255 ; catch rate + db 77 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/poliwag/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_SLOW ; growth rate + dn AMPHIBIAN, AMPHIBIAN ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, THIEF, SURF, WHIRLPOOL, WATERFALL, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/poliwhirl.asm b/data/pokemon/base_stats/poliwhirl.asm new file mode 100644 index 000000000..d0d461164 --- /dev/null +++ b/data/pokemon/base_stats/poliwhirl.asm @@ -0,0 +1,22 @@ + db POLIWHIRL ; 061 + + db 65, 65, 65, 90, 50, 50 + ; hp atk def spd sat sdf + + db WATER, WATER + db 120 ; catch rate + db 131 ; base exp + db NO_ITEM ; item 1 + db KINGS_ROCK ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/poliwhirl/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_SLOW ; growth rate + dn AMPHIBIAN, AMPHIBIAN ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, PSYCHIC, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, DEFENSE_CURL, DETECT, REST, ATTRACT, THIEF, SURF, STRENGTH, WHIRLPOOL, WATERFALL, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/poliwrath.asm b/data/pokemon/base_stats/poliwrath.asm new file mode 100644 index 000000000..5745daee7 --- /dev/null +++ b/data/pokemon/base_stats/poliwrath.asm @@ -0,0 +1,22 @@ + db POLIWRATH ; 062 + + db 90, 85, 95, 70, 70, 90 + ; hp atk def spd sat sdf + + db WATER, FIGHTING + db 45 ; catch rate + db 185 ; base exp + db NO_ITEM ; item 1 + db KINGS_ROCK ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/poliwrath/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_SLOW ; growth rate + dn AMPHIBIAN, AMPHIBIAN ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, PSYCHIC, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, DEFENSE_CURL, DETECT, REST, ATTRACT, THIEF, SURF, STRENGTH, WHIRLPOOL, WATERFALL, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/ponyta.asm b/data/pokemon/base_stats/ponyta.asm new file mode 100644 index 000000000..5c1f77c98 --- /dev/null +++ b/data/pokemon/base_stats/ponyta.asm @@ -0,0 +1,22 @@ + db PONYTA ; 077 + + db 50, 85, 55, 90, 65, 65 + ; hp atk def spd sat sdf + + db FIRE, FIRE + db 190 ; catch rate + db 152 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/ponyta/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn FIELD, FIELD ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, REST, ATTRACT, FLAMETHROWER + ; end diff --git a/data/pokemon/base_stats/porygon.asm b/data/pokemon/base_stats/porygon.asm new file mode 100644 index 000000000..b0c99914b --- /dev/null +++ b/data/pokemon/base_stats/porygon.asm @@ -0,0 +1,22 @@ + db PORYGON ; 137 + + db 65, 60, 70, 40, 85, 75 + ; hp atk def spd sat sdf + + db NORMAL, NORMAL + db 45 ; catch rate + db 130 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDERLESS ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/porygon/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn INANIMATE, INANIMATE ; egg groups + + ; tmhm + tmhm CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DREAM_EATER, REST, THIEF, NIGHTMARE, FLASH, THUNDERBOLT, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/porygon2.asm b/data/pokemon/base_stats/porygon2.asm new file mode 100644 index 000000000..9e049a156 --- /dev/null +++ b/data/pokemon/base_stats/porygon2.asm @@ -0,0 +1,22 @@ + db PORYGON2 ; 233 + + db 85, 80, 90, 60, 105, 95 + ; hp atk def spd sat sdf + + db NORMAL, NORMAL + db 45 ; catch rate + db 180 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDERLESS ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/porygon2/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn INANIMATE, INANIMATE ; egg groups + + ; tmhm + tmhm CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, DREAM_EATER, REST, THIEF, NIGHTMARE, FLASH, THUNDERBOLT, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/primeape.asm b/data/pokemon/base_stats/primeape.asm new file mode 100644 index 000000000..249f9bee4 --- /dev/null +++ b/data/pokemon/base_stats/primeape.asm @@ -0,0 +1,22 @@ + db PRIMEAPE ; 057 + + db 65, 105, 60, 95, 60, 70 + ; hp atk def spd sat sdf + + db FIGHTING, FIGHTING + db 75 ; catch rate + db 149 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/primeape/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn FIELD, FIELD ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH, THUNDERBOLT + ; end diff --git a/data/pokemon/base_stats/psyduck.asm b/data/pokemon/base_stats/psyduck.asm new file mode 100644 index 000000000..261fdde99 --- /dev/null +++ b/data/pokemon/base_stats/psyduck.asm @@ -0,0 +1,22 @@ + db PSYDUCK ; 054 + + db 50, 52, 48, 55, 65, 50 + ; hp atk def spd sat sdf + + db WATER, WATER + db 190 ; catch rate + db 80 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/psyduck/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn AMPHIBIAN, FIELD ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, SURF, STRENGTH, FLASH, WHIRLPOOL, WATERFALL, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/pupitar.asm b/data/pokemon/base_stats/pupitar.asm new file mode 100644 index 000000000..63c0a41a7 --- /dev/null +++ b/data/pokemon/base_stats/pupitar.asm @@ -0,0 +1,22 @@ + db PUPITAR ; 247 + + db 70, 84, 70, 51, 65, 70 + ; hp atk def spd sat sdf + + db ROCK, GROUND + db 45 ; catch rate + db 144 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 40 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/pupitar/front.dimensions" + db 0, 0, 0, 0 ; padding + db SLOW ; growth rate + dn MONSTER, MONSTER ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, DETECT, REST, ATTRACT + ; end diff --git a/data/pokemon/base_stats/quagsire.asm b/data/pokemon/base_stats/quagsire.asm new file mode 100644 index 000000000..0f49866e7 --- /dev/null +++ b/data/pokemon/base_stats/quagsire.asm @@ -0,0 +1,22 @@ + db QUAGSIRE ; 195 + + db 95, 85, 85, 35, 65, 65 + ; hp atk def spd sat sdf + + db WATER, GROUND + db 90 ; catch rate + db 137 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/quagsire/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn AMPHIBIAN, FIELD ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, SANDSTORM, DEFENSE_CURL, REST, ATTRACT, SURF, STRENGTH, FLASH, WHIRLPOOL, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/quilava.asm b/data/pokemon/base_stats/quilava.asm new file mode 100644 index 000000000..efadeda06 --- /dev/null +++ b/data/pokemon/base_stats/quilava.asm @@ -0,0 +1,22 @@ + db QUILAVA ; 156 + + db 58, 64, 58, 80, 80, 65 + ; hp atk def spd sat sdf + + db FIRE, FIRE + db 45 ; catch rate + db 142 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F12_5 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/quilava/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_SLOW ; growth rate + dn FIELD, FIELD ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DEFENSE_CURL, DETECT, REST, ATTRACT, FURY_CUTTER, CUT, STRENGTH, FLAMETHROWER + ; end diff --git a/data/pokemon/base_stats/qwilfish.asm b/data/pokemon/base_stats/qwilfish.asm new file mode 100644 index 000000000..70648e5fd --- /dev/null +++ b/data/pokemon/base_stats/qwilfish.asm @@ -0,0 +1,22 @@ + db QWILFISH ; 211 + + db 65, 95, 75, 85, 55, 55 + ; hp atk def spd sat sdf + + db WATER, POISON + db 45 ; catch rate + db 100 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/qwilfish/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn FISH, FISH ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, SWIFT, DEFENSE_CURL, REST, ATTRACT, SURF, WHIRLPOOL, WATERFALL, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/raichu.asm b/data/pokemon/base_stats/raichu.asm new file mode 100644 index 000000000..cdc5193cd --- /dev/null +++ b/data/pokemon/base_stats/raichu.asm @@ -0,0 +1,22 @@ + db RAICHU ; 026 + + db 60, 90, 55, 100, 90, 80 + ; hp atk def spd sat sdf + + db ELECTRIC, ELECTRIC + db 75 ; catch rate + db 122 ; base exp + db NO_ITEM ; item 1 + db BERRY ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 10 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/raichu/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn FIELD, FAIRY ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, STRENGTH, FLASH, THUNDERBOLT + ; end diff --git a/data/pokemon/base_stats/raikou.asm b/data/pokemon/base_stats/raikou.asm new file mode 100644 index 000000000..a68f16181 --- /dev/null +++ b/data/pokemon/base_stats/raikou.asm @@ -0,0 +1,22 @@ + db RAIKOU ; 243 + + db 90, 85, 75, 115, 115, 100 + ; hp atk def spd sat sdf + + db ELECTRIC, ELECTRIC + db 3 ; catch rate + db 216 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDERLESS ; gender + db 100 ; unknown + db 80 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/raikou/front.dimensions" + db 0, 0, 0, 0 ; padding + db SLOW ; growth rate + dn NO_EGGS, NO_EGGS ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, SWIFT, DETECT, REST, CUT, STRENGTH, FLASH, THUNDERBOLT + ; end diff --git a/data/pokemon/base_stats/rapidash.asm b/data/pokemon/base_stats/rapidash.asm new file mode 100644 index 000000000..0167e7439 --- /dev/null +++ b/data/pokemon/base_stats/rapidash.asm @@ -0,0 +1,22 @@ + db RAPIDASH ; 078 + + db 65, 100, 70, 105, 80, 80 + ; hp atk def spd sat sdf + + db FIRE, FIRE + db 60 ; catch rate + db 192 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/rapidash/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn FIELD, FIELD ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, REST, ATTRACT, FLAMETHROWER + ; end diff --git a/data/pokemon/base_stats/raticate.asm b/data/pokemon/base_stats/raticate.asm new file mode 100644 index 000000000..1cfc65906 --- /dev/null +++ b/data/pokemon/base_stats/raticate.asm @@ -0,0 +1,22 @@ + db RATICATE ; 020 + + db 55, 81, 60, 97, 50, 70 + ; hp atk def spd sat sdf + + db NORMAL, NORMAL + db 90 ; catch rate + db 116 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 15 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/raticate/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn FIELD, FIELD ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, DIG, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, REST, ATTRACT, THIEF, CUT, STRENGTH, THUNDERBOLT, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/rattata.asm b/data/pokemon/base_stats/rattata.asm new file mode 100644 index 000000000..13c21e889 --- /dev/null +++ b/data/pokemon/base_stats/rattata.asm @@ -0,0 +1,22 @@ + db RATTATA ; 019 + + db 30, 56, 35, 72, 25, 35 + ; hp atk def spd sat sdf + + db NORMAL, NORMAL + db 255 ; catch rate + db 57 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 15 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/rattata/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn FIELD, FIELD ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, ICY_WIND, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, DIG, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, REST, ATTRACT, THIEF + ; end diff --git a/data/pokemon/base_stats/remoraid.asm b/data/pokemon/base_stats/remoraid.asm new file mode 100644 index 000000000..10ae15479 --- /dev/null +++ b/data/pokemon/base_stats/remoraid.asm @@ -0,0 +1,22 @@ + db REMORAID ; 223 + + db 35, 65, 35, 65, 65, 35 + ; hp atk def spd sat sdf + + db WATER, WATER + db 190 ; catch rate + db 78 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/remoraid/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn AMPHIBIAN, FISH ; egg groups + + ; tmhm + tmhm CURSE, TOXIC, HIDDEN_POWER, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, REST, ATTRACT, THIEF, SURF, WHIRLPOOL, FLAMETHROWER, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/rhydon.asm b/data/pokemon/base_stats/rhydon.asm new file mode 100644 index 000000000..cdcfb4cad --- /dev/null +++ b/data/pokemon/base_stats/rhydon.asm @@ -0,0 +1,22 @@ + db RHYDON ; 112 + + db 105, 130, 120, 40, 45, 45 + ; hp atk def spd sat sdf + + db GROUND, ROCK + db 60 ; catch rate + db 204 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/rhydon/front.dimensions" + db 0, 0, 0, 0 ; padding + db SLOW ; growth rate + dn MONSTER, FIELD ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, THUNDERPUNCH, REST, ATTRACT, FIRE_PUNCH, FURY_CUTTER, SURF, STRENGTH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/rhyhorn.asm b/data/pokemon/base_stats/rhyhorn.asm new file mode 100644 index 000000000..67d438751 --- /dev/null +++ b/data/pokemon/base_stats/rhyhorn.asm @@ -0,0 +1,22 @@ + db RHYHORN ; 111 + + db 80, 85, 95, 25, 30, 30 + ; hp atk def spd sat sdf + + db GROUND, ROCK + db 120 ; catch rate + db 135 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/rhyhorn/front.dimensions" + db 0, 0, 0, 0 ; padding + db SLOW ; growth rate + dn MONSTER, FIELD ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, ICY_WIND, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, REST, ATTRACT, STRENGTH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/sandshrew.asm b/data/pokemon/base_stats/sandshrew.asm new file mode 100644 index 000000000..cc0a4c492 --- /dev/null +++ b/data/pokemon/base_stats/sandshrew.asm @@ -0,0 +1,22 @@ + db SANDSHREW ; 027 + + db 50, 75, 85, 40, 20, 30 + ; hp atk def spd sat sdf + + db GROUND, GROUND + db 255 ; catch rate + db 93 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/sandshrew/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn FIELD, FIELD ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, SWIFT, DEFENSE_CURL, DETECT, REST, ATTRACT, THIEF, FURY_CUTTER, CUT, STRENGTH + ; end diff --git a/data/pokemon/base_stats/sandslash.asm b/data/pokemon/base_stats/sandslash.asm new file mode 100644 index 000000000..75f66b363 --- /dev/null +++ b/data/pokemon/base_stats/sandslash.asm @@ -0,0 +1,22 @@ + db SANDSLASH ; 028 + + db 75, 100, 110, 65, 45, 55 + ; hp atk def spd sat sdf + + db GROUND, GROUND + db 90 ; catch rate + db 163 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/sandslash/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn FIELD, FIELD ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, SWIFT, DEFENSE_CURL, DETECT, REST, ATTRACT, THIEF, FURY_CUTTER, CUT, STRENGTH + ; end diff --git a/data/pokemon/base_stats/scizor.asm b/data/pokemon/base_stats/scizor.asm new file mode 100644 index 000000000..127110c7a --- /dev/null +++ b/data/pokemon/base_stats/scizor.asm @@ -0,0 +1,22 @@ + db SCIZOR ; 212 + + db 70, 130, 100, 65, 55, 80 + ; hp atk def spd sat sdf + + db BUG, STEEL + db 25 ; catch rate + db 200 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 25 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/scizor/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn INSECT, INSECT ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING, FURY_CUTTER, CUT, STRENGTH + ; end diff --git a/data/pokemon/base_stats/scyther.asm b/data/pokemon/base_stats/scyther.asm new file mode 100644 index 000000000..4c4779f0f --- /dev/null +++ b/data/pokemon/base_stats/scyther.asm @@ -0,0 +1,22 @@ + db SCYTHER ; 123 + + db 70, 110, 80, 105, 55, 80 + ; hp atk def spd sat sdf + + db BUG, FLYING + db 45 ; catch rate + db 187 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 25 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/scyther/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn INSECT, INSECT ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING, FURY_CUTTER, CUT + ; end diff --git a/data/pokemon/base_stats/seadra.asm b/data/pokemon/base_stats/seadra.asm new file mode 100644 index 000000000..b4dc47c20 --- /dev/null +++ b/data/pokemon/base_stats/seadra.asm @@ -0,0 +1,22 @@ + db SEADRA ; 117 + + db 55, 65, 95, 85, 95, 45 + ; hp atk def spd sat sdf + + db WATER, WATER + db 75 ; catch rate + db 155 ; base exp + db NO_ITEM ; item 1 + db DRAGON_SCALE ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/seadra/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn AMPHIBIAN, REPTILE ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, DRAGONBREATH, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, SURF, WHIRLPOOL, WATERFALL, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/seaking.asm b/data/pokemon/base_stats/seaking.asm new file mode 100644 index 000000000..4d6d2f91e --- /dev/null +++ b/data/pokemon/base_stats/seaking.asm @@ -0,0 +1,22 @@ + db SEAKING ; 119 + + db 80, 92, 65, 68, 65, 80 + ; hp atk def spd sat sdf + + db WATER, WATER + db 60 ; catch rate + db 170 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/seaking/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn FISH, FISH ; egg groups + + ; tmhm + tmhm CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, SURF, WATERFALL, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/seel.asm b/data/pokemon/base_stats/seel.asm new file mode 100644 index 000000000..39b44fad8 --- /dev/null +++ b/data/pokemon/base_stats/seel.asm @@ -0,0 +1,22 @@ + db SEEL ; 086 + + db 65, 45, 55, 45, 45, 70 + ; hp atk def spd sat sdf + + db WATER, WATER + db 190 ; catch rate + db 100 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/seel/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn AMPHIBIAN, FIELD ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, REST, ATTRACT, SURF, WHIRLPOOL, WATERFALL, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/sentret.asm b/data/pokemon/base_stats/sentret.asm new file mode 100644 index 000000000..12e120087 --- /dev/null +++ b/data/pokemon/base_stats/sentret.asm @@ -0,0 +1,22 @@ + db SENTRET ; 161 + + db 35, 46, 34, 20, 35, 45 + ; hp atk def spd sat sdf + + db NORMAL, NORMAL + db 255 ; catch rate + db 57 ; base exp + db NO_ITEM ; item 1 + db BERRY ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 15 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/sentret/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn FIELD, FIELD ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, FURY_CUTTER, CUT, SURF + ; end diff --git a/data/pokemon/base_stats/shellder.asm b/data/pokemon/base_stats/shellder.asm new file mode 100644 index 000000000..fb60ff262 --- /dev/null +++ b/data/pokemon/base_stats/shellder.asm @@ -0,0 +1,22 @@ + db SHELLDER ; 090 + + db 30, 65, 100, 40, 45, 25 + ; hp atk def spd sat sdf + + db WATER, WATER + db 190 ; catch rate + db 97 ; base exp + db PEARL ; item 1 + db BIG_PEARL ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/shellder/front.dimensions" + db 0, 0, 0, 0 ; padding + db SLOW ; growth rate + dn INVERTEBRATE, INVERTEBRATE ; egg groups + + ; tmhm + tmhm CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, SURF, WHIRLPOOL, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/shuckle.asm b/data/pokemon/base_stats/shuckle.asm new file mode 100644 index 000000000..7cd31ad79 --- /dev/null +++ b/data/pokemon/base_stats/shuckle.asm @@ -0,0 +1,22 @@ + db SHUCKLE ; 213 + + db 20, 10, 230, 05, 10, 230 + ; hp atk def spd sat sdf + + db BUG, ROCK + db 190 ; catch rate + db 80 ; base exp + db BERRY ; item 1 + db BERRY ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/shuckle/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_SLOW ; growth rate + dn INSECT, INSECT ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, SANDSTORM, DEFENSE_CURL, REST, ATTRACT, STRENGTH, FLASH + ; end diff --git a/data/pokemon/base_stats/skarmory.asm b/data/pokemon/base_stats/skarmory.asm new file mode 100644 index 000000000..cf271b39f --- /dev/null +++ b/data/pokemon/base_stats/skarmory.asm @@ -0,0 +1,22 @@ + db SKARMORY ; 227 + + db 65, 80, 140, 70, 40, 70 + ; hp atk def spd sat sdf + + db STEEL, FLYING + db 25 ; catch rate + db 168 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 25 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/skarmory/front.dimensions" + db 0, 0, 0, 0 ; padding + db SLOW ; growth rate + dn AVIAN, AVIAN ; egg groups + + ; tmhm + tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING, CUT, FLY + ; end diff --git a/data/pokemon/base_stats/skiploom.asm b/data/pokemon/base_stats/skiploom.asm new file mode 100644 index 000000000..46bbc8a8c --- /dev/null +++ b/data/pokemon/base_stats/skiploom.asm @@ -0,0 +1,22 @@ + db SKIPLOOM ; 188 + + db 55, 45, 50, 80, 45, 65 + ; hp atk def spd sat sdf + + db GRASS, FLYING + db 120 ; catch rate + db 136 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/skiploom/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_SLOW ; growth rate + dn FAIRY, PLANT ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, FLASH + ; end diff --git a/data/pokemon/base_stats/slowbro.asm b/data/pokemon/base_stats/slowbro.asm new file mode 100644 index 000000000..12e172238 --- /dev/null +++ b/data/pokemon/base_stats/slowbro.asm @@ -0,0 +1,22 @@ + db SLOWBRO ; 080 + + db 95, 75, 110, 30, 100, 80 + ; hp atk def spd sat sdf + + db WATER, PSYCHIC + db 75 ; catch rate + db 164 ; base exp + db NO_ITEM ; item 1 + db KINGS_ROCK ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/slowbro/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn MONSTER, AMPHIBIAN ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DREAM_EATER, REST, ATTRACT, FURY_CUTTER, NIGHTMARE, SURF, STRENGTH, FLASH, FLAMETHROWER, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/slowking.asm b/data/pokemon/base_stats/slowking.asm new file mode 100644 index 000000000..7307ca826 --- /dev/null +++ b/data/pokemon/base_stats/slowking.asm @@ -0,0 +1,22 @@ + db SLOWKING ; 199 + + db 95, 75, 80, 30, 100, 110 + ; hp atk def spd sat sdf + + db WATER, PSYCHIC + db 70 ; catch rate + db 164 ; base exp + db NO_ITEM ; item 1 + db KINGS_ROCK ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/slowking/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn MONSTER, AMPHIBIAN ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DREAM_EATER, REST, ATTRACT, FURY_CUTTER, NIGHTMARE, SURF, STRENGTH, FLASH, WHIRLPOOL, FLAMETHROWER, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/slowpoke.asm b/data/pokemon/base_stats/slowpoke.asm new file mode 100644 index 000000000..36bf88af2 --- /dev/null +++ b/data/pokemon/base_stats/slowpoke.asm @@ -0,0 +1,22 @@ + db SLOWPOKE ; 079 + + db 90, 65, 65, 15, 40, 40 + ; hp atk def spd sat sdf + + db WATER, PSYCHIC + db 190 ; catch rate + db 99 ; base exp + db NO_ITEM ; item 1 + db KINGS_ROCK ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/slowpoke/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn MONSTER, AMPHIBIAN ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DREAM_EATER, REST, ATTRACT, NIGHTMARE, SURF, STRENGTH, FLASH, FLAMETHROWER, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/slugma.asm b/data/pokemon/base_stats/slugma.asm new file mode 100644 index 000000000..a760dd40e --- /dev/null +++ b/data/pokemon/base_stats/slugma.asm @@ -0,0 +1,22 @@ + db SLUGMA ; 218 + + db 40, 40, 40, 20, 70, 40 + ; hp atk def spd sat sdf + + db FIRE, FIRE + db 190 ; catch rate + db 78 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/slugma/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn AMORPHOUS, AMORPHOUS ; egg groups + + ; tmhm + tmhm CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, DEFENSE_CURL, REST, ATTRACT, FLAMETHROWER + ; end diff --git a/data/pokemon/base_stats/smeargle.asm b/data/pokemon/base_stats/smeargle.asm new file mode 100644 index 000000000..d80443acf --- /dev/null +++ b/data/pokemon/base_stats/smeargle.asm @@ -0,0 +1,22 @@ + db SMEARGLE ; 235 + + db 55, 20, 35, 75, 20, 45 + ; hp atk def spd sat sdf + + db NORMAL, NORMAL + db 45 ; catch rate + db 106 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/smeargle/front.dimensions" + db 0, 0, 0, 0 ; padding + db FAST ; growth rate + dn FIELD, FIELD ; egg groups + + ; tmhm + tmhm + ; end diff --git a/data/pokemon/base_stats/smoochum.asm b/data/pokemon/base_stats/smoochum.asm new file mode 100644 index 000000000..69d74d5e8 --- /dev/null +++ b/data/pokemon/base_stats/smoochum.asm @@ -0,0 +1,22 @@ + db SMOOCHUM ; 238 + + db 45, 30, 15, 65, 85, 65 + ; hp atk def spd sat sdf + + db ICE, PSYCHIC + db 45 ; catch rate + db 87 ; base exp + db ICE_BERRY ; item 1 + db ICE_BERRY ; item 2 + db GENDER_F100 ; gender + db 100 ; unknown + db 25 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/smoochum/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn NO_EGGS, NO_EGGS ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, CURSE, TOXIC, PSYCH_UP, HIDDEN_POWER, SWEET_SCENT, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, DREAM_EATER, REST, ATTRACT, THIEF, NIGHTMARE, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/sneasel.asm b/data/pokemon/base_stats/sneasel.asm new file mode 100644 index 000000000..3abea4b7a --- /dev/null +++ b/data/pokemon/base_stats/sneasel.asm @@ -0,0 +1,22 @@ + db SNEASEL ; 215 + + db 55, 95, 55, 115, 35, 75 + ; hp atk def spd sat sdf + + db DARK, ICE + db 60 ; catch rate + db 132 ; base exp + db NO_ITEM ; item 1 + db QUICK_CLAW ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/sneasel/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_SLOW ; growth rate + dn FIELD, FIELD ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, FURY_CUTTER, NIGHTMARE, CUT, SURF, STRENGTH, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/snorlax.asm b/data/pokemon/base_stats/snorlax.asm new file mode 100644 index 000000000..0efe599c5 --- /dev/null +++ b/data/pokemon/base_stats/snorlax.asm @@ -0,0 +1,22 @@ + db SNORLAX ; 143 + + db 160, 110, 65, 30, 65, 110 + ; hp atk def spd sat sdf + + db NORMAL, NORMAL + db 25 ; catch rate + db 154 ; base exp + db LEFTOVERS ; item 1 + db LEFTOVERS ; item 2 + db GENDER_F12_5 ; gender + db 100 ; unknown + db 40 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/snorlax/front.dimensions" + db 0, 0, 0, 0 ; padding + db SLOW ; growth rate + dn MONSTER, MONSTER ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, THUNDER, EARTHQUAKE, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, DEFENSE_CURL, THUNDERPUNCH, REST, ATTRACT, FIRE_PUNCH, SURF, STRENGTH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/snubbull.asm b/data/pokemon/base_stats/snubbull.asm new file mode 100644 index 000000000..00d94a3cb --- /dev/null +++ b/data/pokemon/base_stats/snubbull.asm @@ -0,0 +1,22 @@ + db SNUBBULL ; 209 + + db 60, 80, 50, 30, 40, 40 + ; hp atk def spd sat sdf + + db NORMAL, NORMAL + db 190 ; catch rate + db 63 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F75 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/snubbull/front.dimensions" + db 0, 0, 0, 0 ; padding + db FAST ; growth rate + dn FIELD, FAIRY ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, DEFENSE_CURL, THUNDERPUNCH, DETECT, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH, THUNDERBOLT + ; end diff --git a/data/pokemon/base_stats/spearow.asm b/data/pokemon/base_stats/spearow.asm new file mode 100644 index 000000000..b94e3559c --- /dev/null +++ b/data/pokemon/base_stats/spearow.asm @@ -0,0 +1,22 @@ + db SPEAROW ; 021 + + db 40, 60, 30, 70, 31, 31 + ; hp atk def spd sat sdf + + db NORMAL, FLYING + db 255 ; catch rate + db 58 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 15 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/spearow/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn AVIAN, AVIAN ; egg groups + + ; tmhm + tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING, FLY + ; end diff --git a/data/pokemon/base_stats/spinarak.asm b/data/pokemon/base_stats/spinarak.asm new file mode 100644 index 000000000..d9ca7679f --- /dev/null +++ b/data/pokemon/base_stats/spinarak.asm @@ -0,0 +1,22 @@ + db SPINARAK ; 167 + + db 40, 60, 40, 30, 40, 40 + ; hp atk def spd sat sdf + + db BUG, POISON + db 255 ; catch rate + db 54 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 15 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/spinarak/front.dimensions" + db 0, 0, 0, 0 ; padding + db FAST ; growth rate + dn INSECT, INSECT ; egg groups + + ; tmhm + tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DIG, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, THIEF, FLASH + ; end diff --git a/data/pokemon/base_stats/squirtle.asm b/data/pokemon/base_stats/squirtle.asm new file mode 100644 index 000000000..1d9faa25d --- /dev/null +++ b/data/pokemon/base_stats/squirtle.asm @@ -0,0 +1,22 @@ + db SQUIRTLE ; 007 + + db 44, 48, 65, 43, 50, 64 + ; hp atk def spd sat sdf + + db WATER, WATER + db 45 ; catch rate + db 66 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F12_5 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/squirtle/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_SLOW ; growth rate + dn MONSTER, AMPHIBIAN ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, SURF, STRENGTH, WHIRLPOOL, WATERFALL, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/stantler.asm b/data/pokemon/base_stats/stantler.asm new file mode 100644 index 000000000..1978739e7 --- /dev/null +++ b/data/pokemon/base_stats/stantler.asm @@ -0,0 +1,22 @@ + db STANTLER ; 234 + + db 73, 95, 62, 85, 85, 65 + ; hp atk def spd sat sdf + + db NORMAL, NORMAL + db 45 ; catch rate + db 165 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/stantler/front.dimensions" + db 0, 0, 0, 0 ; padding + db SLOW ; growth rate + dn FIELD, FIELD ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, ROAR, TOXIC, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, PSYCHIC, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, NIGHTMARE, FLASH + ; end diff --git a/data/pokemon/base_stats/starmie.asm b/data/pokemon/base_stats/starmie.asm new file mode 100644 index 000000000..aa60f18d2 --- /dev/null +++ b/data/pokemon/base_stats/starmie.asm @@ -0,0 +1,22 @@ + db STARMIE ; 121 + + db 60, 75, 85, 115, 100, 85 + ; hp atk def spd sat sdf + + db WATER, PSYCHIC + db 60 ; catch rate + db 207 ; base exp + db STARDUST ; item 1 + db STAR_PIECE ; item 2 + db GENDERLESS ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/starmie/front.dimensions" + db 0, 0, 0, 0 ; padding + db SLOW ; growth rate + dn INVERTEBRATE, INVERTEBRATE ; egg groups + + ; tmhm + tmhm CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DREAM_EATER, REST, ATTRACT, NIGHTMARE, SURF, FLASH, WHIRLPOOL, WATERFALL, THUNDERBOLT, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/staryu.asm b/data/pokemon/base_stats/staryu.asm new file mode 100644 index 000000000..d0520c3cc --- /dev/null +++ b/data/pokemon/base_stats/staryu.asm @@ -0,0 +1,22 @@ + db STARYU ; 120 + + db 30, 45, 55, 85, 70, 55 + ; hp atk def spd sat sdf + + db WATER, WATER + db 225 ; catch rate + db 106 ; base exp + db STARDUST ; item 1 + db STAR_PIECE ; item 2 + db GENDERLESS ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/staryu/front.dimensions" + db 0, 0, 0, 0 ; padding + db SLOW ; growth rate + dn INVERTEBRATE, INVERTEBRATE ; egg groups + + ; tmhm + tmhm CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, SURF, FLASH, WHIRLPOOL, WATERFALL, THUNDERBOLT, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/steelix.asm b/data/pokemon/base_stats/steelix.asm new file mode 100644 index 000000000..df5d8940c --- /dev/null +++ b/data/pokemon/base_stats/steelix.asm @@ -0,0 +1,22 @@ + db STEELIX ; 208 + + db 75, 85, 200, 30, 55, 65 + ; hp atk def spd sat sdf + + db STEEL, GROUND + db 25 ; catch rate + db 196 ; base exp + db NO_ITEM ; item 1 + db METAL_COAT ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 25 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/steelix/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn INANIMATE, INANIMATE ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, DEFENSE_CURL, REST, ATTRACT, CUT, STRENGTH + ; end diff --git a/data/pokemon/base_stats/sudowoodo.asm b/data/pokemon/base_stats/sudowoodo.asm new file mode 100644 index 000000000..1c6c33984 --- /dev/null +++ b/data/pokemon/base_stats/sudowoodo.asm @@ -0,0 +1,22 @@ + db SUDOWOODO ; 185 + + db 70, 100, 115, 30, 30, 65 + ; hp atk def spd sat sdf + + db ROCK, ROCK + db 65 ; catch rate + db 135 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/sudowoodo/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn INANIMATE, INANIMATE ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SANDSTORM, DEFENSE_CURL, THUNDERPUNCH, REST, ATTRACT, THIEF, FIRE_PUNCH, STRENGTH + ; end diff --git a/data/pokemon/base_stats/suicune.asm b/data/pokemon/base_stats/suicune.asm new file mode 100644 index 000000000..04ece5516 --- /dev/null +++ b/data/pokemon/base_stats/suicune.asm @@ -0,0 +1,22 @@ + db SUICUNE ; 245 + + db 100, 75, 115, 85, 90, 115 + ; hp atk def spd sat sdf + + db WATER, WATER + db 3 ; catch rate + db 215 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDERLESS ; gender + db 100 ; unknown + db 80 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/suicune/front.dimensions" + db 0, 0, 0, 0 ; padding + db SLOW ; growth rate + dn NO_EGGS, NO_EGGS ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, SWIFT, DETECT, REST, CUT, SURF, WHIRLPOOL, WATERFALL, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/sunflora.asm b/data/pokemon/base_stats/sunflora.asm new file mode 100644 index 000000000..97974939c --- /dev/null +++ b/data/pokemon/base_stats/sunflora.asm @@ -0,0 +1,22 @@ + db SUNFLORA ; 192 + + db 75, 75, 55, 30, 105, 85 + ; hp atk def spd sat sdf + + db GRASS, GRASS + db 120 ; catch rate + db 146 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/sunflora/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_SLOW ; growth rate + dn PLANT, PLANT ; egg groups + + ; tmhm + tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, CUT, FLASH + ; end diff --git a/data/pokemon/base_stats/sunkern.asm b/data/pokemon/base_stats/sunkern.asm new file mode 100644 index 000000000..054625425 --- /dev/null +++ b/data/pokemon/base_stats/sunkern.asm @@ -0,0 +1,22 @@ + db SUNKERN ; 191 + + db 30, 30, 30, 30, 30, 30 + ; hp atk def spd sat sdf + + db GRASS, GRASS + db 235 ; catch rate + db 52 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/sunkern/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_SLOW ; growth rate + dn PLANT, PLANT ; egg groups + + ; tmhm + tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, CUT, FLASH + ; end diff --git a/data/pokemon/base_stats/swinub.asm b/data/pokemon/base_stats/swinub.asm new file mode 100644 index 000000000..37f1dd67d --- /dev/null +++ b/data/pokemon/base_stats/swinub.asm @@ -0,0 +1,22 @@ + db SWINUB ; 220 + + db 50, 50, 40, 50, 30, 30 + ; hp atk def spd sat sdf + + db ICE, GROUND + db 225 ; catch rate + db 78 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/swinub/front.dimensions" + db 0, 0, 0, 0 ; padding + db SLOW ; growth rate + dn FIELD, FIELD ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, DETECT, REST, ATTRACT, STRENGTH, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/tangela.asm b/data/pokemon/base_stats/tangela.asm new file mode 100644 index 000000000..9bb27ffca --- /dev/null +++ b/data/pokemon/base_stats/tangela.asm @@ -0,0 +1,22 @@ + db TANGELA ; 114 + + db 65, 55, 115, 60, 100, 40 + ; hp atk def spd sat sdf + + db GRASS, GRASS + db 45 ; catch rate + db 166 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/tangela/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn PLANT, PLANT ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, TOXIC, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, THIEF, CUT, FLASH + ; end diff --git a/data/pokemon/base_stats/tauros.asm b/data/pokemon/base_stats/tauros.asm new file mode 100644 index 000000000..553458e83 --- /dev/null +++ b/data/pokemon/base_stats/tauros.asm @@ -0,0 +1,22 @@ + db TAUROS ; 128 + + db 75, 100, 95, 110, 40, 70 + ; hp atk def spd sat sdf + + db NORMAL, NORMAL + db 45 ; catch rate + db 211 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F0 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/tauros/front.dimensions" + db 0, 0, 0, 0 ; padding + db SLOW ; growth rate + dn FIELD, FIELD ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, EARTHQUAKE, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, REST, ATTRACT, SURF, STRENGTH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/teddiursa.asm b/data/pokemon/base_stats/teddiursa.asm new file mode 100644 index 000000000..d636aed87 --- /dev/null +++ b/data/pokemon/base_stats/teddiursa.asm @@ -0,0 +1,22 @@ + db TEDDIURSA ; 216 + + db 60, 80, 50, 40, 50, 50 + ; hp atk def spd sat sdf + + db NORMAL, NORMAL + db 120 ; catch rate + db 124 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/teddiursa/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn FIELD, FIELD ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, THUNDERPUNCH, REST, ATTRACT, THIEF, FIRE_PUNCH, FURY_CUTTER, CUT, STRENGTH + ; end diff --git a/data/pokemon/base_stats/tentacool.asm b/data/pokemon/base_stats/tentacool.asm new file mode 100644 index 000000000..b13879b47 --- /dev/null +++ b/data/pokemon/base_stats/tentacool.asm @@ -0,0 +1,22 @@ + db TENTACOOL ; 072 + + db 40, 40, 35, 70, 50, 100 + ; hp atk def spd sat sdf + + db WATER, POISON + db 190 ; catch rate + db 105 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/tentacool/front.dimensions" + db 0, 0, 0, 0 ; padding + db SLOW ; growth rate + dn INVERTEBRATE, INVERTEBRATE ; egg groups + + ; tmhm + tmhm CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, GIGA_DRAIN, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, CUT, SURF, WHIRLPOOL, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/tentacruel.asm b/data/pokemon/base_stats/tentacruel.asm new file mode 100644 index 000000000..a678d13a8 --- /dev/null +++ b/data/pokemon/base_stats/tentacruel.asm @@ -0,0 +1,22 @@ + db TENTACRUEL ; 073 + + db 80, 70, 65, 100, 80, 120 + ; hp atk def spd sat sdf + + db WATER, POISON + db 60 ; catch rate + db 205 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/tentacruel/front.dimensions" + db 0, 0, 0, 0 ; padding + db SLOW ; growth rate + dn INVERTEBRATE, INVERTEBRATE ; egg groups + + ; tmhm + tmhm CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, GIGA_DRAIN, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, CUT, SURF, WHIRLPOOL, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/togepi.asm b/data/pokemon/base_stats/togepi.asm new file mode 100644 index 000000000..51249de6d --- /dev/null +++ b/data/pokemon/base_stats/togepi.asm @@ -0,0 +1,22 @@ + db TOGEPI ; 175 + + db 35, 20, 65, 20, 40, 65 + ; hp atk def spd sat sdf + + db NORMAL, NORMAL + db 190 ; catch rate + db 74 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F12_5 ; gender + db 100 ; unknown + db 10 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/togepi/front.dimensions" + db 0, 0, 0, 0 ; padding + db FAST ; growth rate + dn NO_EGGS, NO_EGGS ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DEFENSE_CURL, DREAM_EATER, DETECT, REST, ATTRACT, FLASH, FLAMETHROWER + ; end diff --git a/data/pokemon/base_stats/togetic.asm b/data/pokemon/base_stats/togetic.asm new file mode 100644 index 000000000..4fc94103d --- /dev/null +++ b/data/pokemon/base_stats/togetic.asm @@ -0,0 +1,22 @@ + db TOGETIC ; 176 + + db 55, 40, 85, 40, 80, 105 + ; hp atk def spd sat sdf + + db NORMAL, FLYING + db 75 ; catch rate + db 114 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F12_5 ; gender + db 100 ; unknown + db 10 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/togetic/front.dimensions" + db 0, 0, 0, 0 ; padding + db FAST ; growth rate + dn AVIAN, FAIRY ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DEFENSE_CURL, DREAM_EATER, DETECT, REST, ATTRACT, STEEL_WING, FLY, FLASH, FLAMETHROWER + ; end diff --git a/data/pokemon/base_stats/totodile.asm b/data/pokemon/base_stats/totodile.asm new file mode 100644 index 000000000..1753d5af0 --- /dev/null +++ b/data/pokemon/base_stats/totodile.asm @@ -0,0 +1,22 @@ + db TOTODILE ; 158 + + db 50, 65, 64, 43, 44, 48 + ; hp atk def spd sat sdf + + db WATER, WATER + db 45 ; catch rate + db 66 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F12_5 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/totodile/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_SLOW ; growth rate + dn MONSTER, AMPHIBIAN ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, DETECT, REST, ATTRACT, CUT, SURF, WHIRLPOOL, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/typhlosion.asm b/data/pokemon/base_stats/typhlosion.asm new file mode 100644 index 000000000..698a4e0a0 --- /dev/null +++ b/data/pokemon/base_stats/typhlosion.asm @@ -0,0 +1,22 @@ + db TYPHLOSION ; 157 + + db 78, 84, 78, 100, 109, 85 + ; hp atk def spd sat sdf + + db FIRE, FIRE + db 45 ; catch rate + db 209 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F12_5 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/typhlosion/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_SLOW ; growth rate + dn FIELD, FIELD ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DEFENSE_CURL, THUNDERPUNCH, DETECT, REST, ATTRACT, FIRE_PUNCH, FURY_CUTTER, CUT, STRENGTH, FLAMETHROWER + ; end diff --git a/data/pokemon/base_stats/tyranitar.asm b/data/pokemon/base_stats/tyranitar.asm new file mode 100644 index 000000000..b695007f1 --- /dev/null +++ b/data/pokemon/base_stats/tyranitar.asm @@ -0,0 +1,22 @@ + db TYRANITAR ; 248 + + db 100, 134, 110, 61, 95, 100 + ; hp atk def spd sat sdf + + db ROCK, DARK + db 45 ; catch rate + db 218 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 40 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/tyranitar/front.dimensions" + db 0, 0, 0, 0 ; padding + db SLOW ; growth rate + dn MONSTER, MONSTER ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, FIRE_BLAST, DETECT, REST, ATTRACT, FIRE_PUNCH, FURY_CUTTER, NIGHTMARE, CUT, SURF, STRENGTH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/tyrogue.asm b/data/pokemon/base_stats/tyrogue.asm new file mode 100644 index 000000000..4e5e7ee43 --- /dev/null +++ b/data/pokemon/base_stats/tyrogue.asm @@ -0,0 +1,22 @@ + db TYROGUE ; 236 + + db 35, 35, 35, 35, 35, 35 + ; hp atk def spd sat sdf + + db FIGHTING, FIGHTING + db 75 ; catch rate + db 91 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F0 ; gender + db 100 ; unknown + db 25 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/tyrogue/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn NO_EGGS, NO_EGGS ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STRENGTH + ; end diff --git a/data/pokemon/base_stats/umbreon.asm b/data/pokemon/base_stats/umbreon.asm new file mode 100644 index 000000000..dbda2b3b6 --- /dev/null +++ b/data/pokemon/base_stats/umbreon.asm @@ -0,0 +1,22 @@ + db UMBREON ; 197 + + db 95, 65, 110, 65, 60, 130 + ; hp atk def spd sat sdf + + db DARK, DARK + db 45 ; catch rate + db 197 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F12_5 ; gender + db 100 ; unknown + db 35 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/umbreon/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn FIELD, FIELD ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DREAM_EATER, DETECT, REST, ATTRACT, NIGHTMARE, CUT, FLASH + ; end diff --git a/data/pokemon/base_stats/unown.asm b/data/pokemon/base_stats/unown.asm new file mode 100644 index 000000000..0b13f3eca --- /dev/null +++ b/data/pokemon/base_stats/unown.asm @@ -0,0 +1,22 @@ + db UNOWN ; 201 + + db 48, 72, 48, 48, 72, 48 + ; hp atk def spd sat sdf + + db PSYCHIC, PSYCHIC + db 225 ; catch rate + db 61 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDERLESS ; gender + db 100 ; unknown + db 40 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/unown_a/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn NO_EGGS, NO_EGGS ; egg groups + + ; tmhm + tmhm + ; end diff --git a/data/pokemon/base_stats/ursaring.asm b/data/pokemon/base_stats/ursaring.asm new file mode 100644 index 000000000..7aa8a4265 --- /dev/null +++ b/data/pokemon/base_stats/ursaring.asm @@ -0,0 +1,22 @@ + db URSARING ; 217 + + db 90, 130, 75, 55, 75, 75 + ; hp atk def spd sat sdf + + db NORMAL, NORMAL + db 60 ; catch rate + db 189 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/ursaring/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn FIELD, FIELD ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, THUNDERPUNCH, REST, ATTRACT, THIEF, FIRE_PUNCH, FURY_CUTTER, CUT, STRENGTH + ; end diff --git a/data/pokemon/base_stats/vaporeon.asm b/data/pokemon/base_stats/vaporeon.asm new file mode 100644 index 000000000..0e55a1946 --- /dev/null +++ b/data/pokemon/base_stats/vaporeon.asm @@ -0,0 +1,22 @@ + db VAPOREON ; 134 + + db 130, 65, 60, 65, 110, 95 + ; hp atk def spd sat sdf + + db WATER, WATER + db 45 ; catch rate + db 196 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F12_5 ; gender + db 100 ; unknown + db 35 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/vaporeon/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn FIELD, FIELD ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, ROAR, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, SURF, WHIRLPOOL, WATERFALL, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/venomoth.asm b/data/pokemon/base_stats/venomoth.asm new file mode 100644 index 000000000..4e813b3aa --- /dev/null +++ b/data/pokemon/base_stats/venomoth.asm @@ -0,0 +1,22 @@ + db VENOMOTH ; 049 + + db 70, 65, 60, 90, 90, 75 + ; hp atk def spd sat sdf + + db BUG, POISON + db 75 ; catch rate + db 138 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/venomoth/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn INSECT, INSECT ; egg groups + + ; tmhm + tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, SWIFT, REST, ATTRACT, THIEF, FLASH + ; end diff --git a/data/pokemon/base_stats/venonat.asm b/data/pokemon/base_stats/venonat.asm new file mode 100644 index 000000000..5db99f8a1 --- /dev/null +++ b/data/pokemon/base_stats/venonat.asm @@ -0,0 +1,22 @@ + db VENONAT ; 048 + + db 60, 55, 50, 45, 40, 55 + ; hp atk def spd sat sdf + + db BUG, POISON + db 190 ; catch rate + db 75 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/venonat/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn INSECT, INSECT ; egg groups + + ; tmhm + tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, SWIFT, REST, ATTRACT, THIEF + ; end diff --git a/data/pokemon/base_stats/venusaur.asm b/data/pokemon/base_stats/venusaur.asm new file mode 100644 index 000000000..f5d6a3a33 --- /dev/null +++ b/data/pokemon/base_stats/venusaur.asm @@ -0,0 +1,22 @@ + db VENUSAUR ; 003 + + db 80, 82, 83, 80, 100, 100 + ; hp atk def spd sat sdf + + db GRASS, POISON + db 45 ; catch rate + db 208 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F12_5 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/venusaur/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_SLOW ; growth rate + dn MONSTER, PLANT ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, ROAR, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, FURY_CUTTER, CUT, FLASH + ; end diff --git a/data/pokemon/base_stats/victreebel.asm b/data/pokemon/base_stats/victreebel.asm new file mode 100644 index 000000000..0efade3ad --- /dev/null +++ b/data/pokemon/base_stats/victreebel.asm @@ -0,0 +1,22 @@ + db VICTREEBEL ; 071 + + db 80, 105, 65, 70, 100, 60 + ; hp atk def spd sat sdf + + db GRASS, POISON + db 45 ; catch rate + db 191 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/victreebel/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_SLOW ; growth rate + dn PLANT, PLANT ; egg groups + + ; tmhm + tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, CUT, FLASH + ; end diff --git a/data/pokemon/base_stats/vileplume.asm b/data/pokemon/base_stats/vileplume.asm new file mode 100644 index 000000000..12170e167 --- /dev/null +++ b/data/pokemon/base_stats/vileplume.asm @@ -0,0 +1,22 @@ + db VILEPLUME ; 045 + + db 75, 80, 85, 50, 100, 90 + ; hp atk def spd sat sdf + + db GRASS, POISON + db 45 ; catch rate + db 184 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/vileplume/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_SLOW ; growth rate + dn PLANT, PLANT ; egg groups + + ; tmhm + tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, CUT, FLASH + ; end diff --git a/data/pokemon/base_stats/voltorb.asm b/data/pokemon/base_stats/voltorb.asm new file mode 100644 index 000000000..7c2255729 --- /dev/null +++ b/data/pokemon/base_stats/voltorb.asm @@ -0,0 +1,22 @@ + db VOLTORB ; 100 + + db 40, 30, 50, 100, 55, 55 + ; hp atk def spd sat sdf + + db ELECTRIC, ELECTRIC + db 190 ; catch rate + db 103 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDERLESS ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/voltorb/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn INANIMATE, INANIMATE ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, FLASH, THUNDERBOLT + ; end diff --git a/data/pokemon/base_stats/vulpix.asm b/data/pokemon/base_stats/vulpix.asm new file mode 100644 index 000000000..9cea11f93 --- /dev/null +++ b/data/pokemon/base_stats/vulpix.asm @@ -0,0 +1,22 @@ + db VULPIX ; 037 + + db 38, 41, 40, 65, 50, 65 + ; hp atk def spd sat sdf + + db FIRE, FIRE + db 190 ; catch rate + db 63 ; base exp + db BURNT_BERRY ; item 1 + db BURNT_BERRY ; item 2 + db GENDER_F75 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/vulpix/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn FIELD, FIELD ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, REST, ATTRACT, FLAMETHROWER + ; end diff --git a/data/pokemon/base_stats/wartortle.asm b/data/pokemon/base_stats/wartortle.asm new file mode 100644 index 000000000..437342a8b --- /dev/null +++ b/data/pokemon/base_stats/wartortle.asm @@ -0,0 +1,22 @@ + db WARTORTLE ; 008 + + db 59, 63, 80, 58, 65, 80 + ; hp atk def spd sat sdf + + db WATER, WATER + db 45 ; catch rate + db 143 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F12_5 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/wartortle/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_SLOW ; growth rate + dn MONSTER, AMPHIBIAN ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, BLIZZARD, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, SURF, STRENGTH, WHIRLPOOL, WATERFALL, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/weedle.asm b/data/pokemon/base_stats/weedle.asm new file mode 100644 index 000000000..b47a720ec --- /dev/null +++ b/data/pokemon/base_stats/weedle.asm @@ -0,0 +1,22 @@ + db WEEDLE ; 013 + + db 40, 35, 30, 50, 20, 20 + ; hp atk def spd sat sdf + + db BUG, POISON + db 255 ; catch rate + db 52 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 15 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/weedle/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn INSECT, INSECT ; egg groups + + ; tmhm + tmhm + ; end diff --git a/data/pokemon/base_stats/weepinbell.asm b/data/pokemon/base_stats/weepinbell.asm new file mode 100644 index 000000000..4a70c5bb2 --- /dev/null +++ b/data/pokemon/base_stats/weepinbell.asm @@ -0,0 +1,22 @@ + db WEEPINBELL ; 070 + + db 65, 90, 50, 55, 85, 45 + ; hp atk def spd sat sdf + + db GRASS, POISON + db 120 ; catch rate + db 151 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/weepinbell/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_SLOW ; growth rate + dn PLANT, PLANT ; egg groups + + ; tmhm + tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, REST, ATTRACT, CUT, FLASH + ; end diff --git a/data/pokemon/base_stats/weezing.asm b/data/pokemon/base_stats/weezing.asm new file mode 100644 index 000000000..49161c69b --- /dev/null +++ b/data/pokemon/base_stats/weezing.asm @@ -0,0 +1,22 @@ + db WEEZING ; 110 + + db 65, 90, 120, 60, 85, 70 + ; hp atk def spd sat sdf + + db POISON, POISON + db 60 ; catch rate + db 173 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/weezing/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn AMORPHOUS, AMORPHOUS ; egg groups + + ; tmhm + tmhm CURSE, ROLLOUT, TOXIC, ZAP_CANNON, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, THUNDER, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, FIRE_BLAST, REST, ATTRACT, THIEF, FLAMETHROWER, THUNDERBOLT + ; end diff --git a/data/pokemon/base_stats/wigglytuff.asm b/data/pokemon/base_stats/wigglytuff.asm new file mode 100644 index 000000000..ff1910c0e --- /dev/null +++ b/data/pokemon/base_stats/wigglytuff.asm @@ -0,0 +1,22 @@ + db WIGGLYTUFF ; 040 + + db 140, 70, 45, 45, 75, 50 + ; hp atk def spd sat sdf + + db NORMAL, NORMAL + db 50 ; catch rate + db 109 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F75 ; gender + db 100 ; unknown + db 10 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/wigglytuff/front.dimensions" + db 0, 0, 0, 0 ; padding + db FAST ; growth rate + dn FAIRY, FAIRY ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, SOLARBEAM, THUNDER, RETURN, PSYCHIC, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, FIRE_BLAST, DEFENSE_CURL, THUNDERPUNCH, DREAM_EATER, DETECT, REST, ATTRACT, FIRE_PUNCH, NIGHTMARE, STRENGTH, FLASH, FLAMETHROWER, THUNDERBOLT, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/wobbuffet.asm b/data/pokemon/base_stats/wobbuffet.asm new file mode 100644 index 000000000..c476dd828 --- /dev/null +++ b/data/pokemon/base_stats/wobbuffet.asm @@ -0,0 +1,22 @@ + db WOBBUFFET ; 202 + + db 190, 33, 58, 33, 33, 58 + ; hp atk def spd sat sdf + + db PSYCHIC, PSYCHIC + db 45 ; catch rate + db 177 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/wobbuffet/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn AMORPHOUS, AMORPHOUS ; egg groups + + ; tmhm + tmhm + ; end diff --git a/data/pokemon/base_stats/wooper.asm b/data/pokemon/base_stats/wooper.asm new file mode 100644 index 000000000..6e621fe4b --- /dev/null +++ b/data/pokemon/base_stats/wooper.asm @@ -0,0 +1,22 @@ + db WOOPER ; 194 + + db 55, 45, 45, 15, 25, 25 + ; hp atk def spd sat sdf + + db WATER, GROUND + db 255 ; catch rate + db 52 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/wooper/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn AMPHIBIAN, FIELD ; egg groups + + ; tmhm + tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, EARTHQUAKE, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, SANDSTORM, DEFENSE_CURL, REST, ATTRACT, SURF, FLASH, WHIRLPOOL, ICE_BEAM + ; end diff --git a/data/pokemon/base_stats/xatu.asm b/data/pokemon/base_stats/xatu.asm new file mode 100644 index 000000000..77388858e --- /dev/null +++ b/data/pokemon/base_stats/xatu.asm @@ -0,0 +1,22 @@ + db XATU ; 178 + + db 65, 75, 70, 95, 95, 70 + ; hp atk def spd sat sdf + + db PSYCHIC, FLYING + db 75 ; catch rate + db 171 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/xatu/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn AVIAN, AVIAN ; egg groups + + ; tmhm + tmhm CURSE, TOXIC, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, PSYCHIC, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DREAM_EATER, DETECT, REST, ATTRACT, THIEF, NIGHTMARE, FLY, FLASH + ; end diff --git a/data/pokemon/base_stats/yanma.asm b/data/pokemon/base_stats/yanma.asm new file mode 100644 index 000000000..98449c720 --- /dev/null +++ b/data/pokemon/base_stats/yanma.asm @@ -0,0 +1,22 @@ + db YANMA ; 193 + + db 65, 65, 45, 95, 75, 45 + ; hp atk def spd sat sdf + + db BUG, FLYING + db 75 ; catch rate + db 147 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 20 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/yanma/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn INSECT, INSECT ; egg groups + + ; tmhm + tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, FLASH + ; end diff --git a/data/pokemon/base_stats/zapdos.asm b/data/pokemon/base_stats/zapdos.asm new file mode 100644 index 000000000..44c1a8e82 --- /dev/null +++ b/data/pokemon/base_stats/zapdos.asm @@ -0,0 +1,22 @@ + db ZAPDOS ; 145 + + db 90, 90, 85, 100, 125, 90 + ; hp atk def spd sat sdf + + db ELECTRIC, FLYING + db 3 ; catch rate + db 216 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDERLESS ; gender + db 100 ; unknown + db 80 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/zapdos/front.dimensions" + db 0, 0, 0, 0 ; padding + db SLOW ; growth rate + dn NO_EGGS, NO_EGGS ; egg groups + + ; tmhm + tmhm CURSE, ROAR, TOXIC, ZAP_CANNON, ROCK_SMASH, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, SWIFT, DETECT, REST, STEEL_WING, FLY, FLASH, THUNDERBOLT + ; end diff --git a/data/pokemon/base_stats/zubat.asm b/data/pokemon/base_stats/zubat.asm new file mode 100644 index 000000000..e8fd33ea2 --- /dev/null +++ b/data/pokemon/base_stats/zubat.asm @@ -0,0 +1,22 @@ + db ZUBAT ; 041 + + db 40, 45, 35, 55, 30, 40 + ; hp atk def spd sat sdf + + db POISON, FLYING + db 255 ; catch rate + db 54 ; base exp + db NO_ITEM ; item 1 + db NO_ITEM ; item 2 + db GENDER_F50 ; gender + db 100 ; unknown + db 15 ; step cycles to hatch + db 5 ; unknown + INCBIN "gfx/pics/zubat/front.dimensions" + db 0, 0, 0, 0 ; padding + db MEDIUM_FAST ; growth rate + dn AVIAN, AVIAN ; egg groups + + ; tmhm + tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING + ; end diff --git a/data/pokemon/cry_headers.asm b/data/pokemon/cry_headers.asm new file mode 100644 index 000000000..0651fa7f1 --- /dev/null +++ b/data/pokemon/cry_headers.asm @@ -0,0 +1,259 @@ +CryHeaders:: ; f2787 +; entries correspond to constants/pokemon_constants.asm +; index, pitch, length +BulbasaurCryHeader: cry_header CRY_BULBASAUR, $080, $081 +IvysaurCryHeader: cry_header CRY_BULBASAUR, $020, $100 +VenusaurCryHeader: cry_header CRY_BULBASAUR, $000, $140 +CharmanderCryHeader: cry_header CRY_CHARMANDER, $060, $0c0 +CharmeleonCryHeader: cry_header CRY_CHARMANDER, $020, $0c0 +CharizardCryHeader: cry_header CRY_CHARMANDER, $000, $100 +SquirtleCryHeader: cry_header CRY_SQUIRTLE, $060, $0c0 +WartortleCryHeader: cry_header CRY_SQUIRTLE, $020, $0c0 +BlastoiseCryHeader: cry_header CRY_BLASTOISE, $000, $100 +CaterpieCryHeader: cry_header CRY_CATERPIE, $080, $0a0 +MetapodCryHeader: cry_header CRY_METAPOD, $0cc, $081 +ButterfreeCryHeader: cry_header CRY_CATERPIE, $077, $0c0 +WeedleCryHeader: cry_header CRY_WEEDLE, $0ee, $081 +KakunaCryHeader: cry_header CRY_BLASTOISE, $0ff, $081 +BeedrillCryHeader: cry_header CRY_BLASTOISE, $060, $100 +PidgeyCryHeader: cry_header CRY_PIDGEY, $0df, $084 +PidgeottoCryHeader: cry_header CRY_PIDGEOTTO, $028, $140 +PidgeotCryHeader: cry_header CRY_PIDGEOTTO, $011, $17f +RattataCryHeader: cry_header CRY_RATTATA, $000, $100 +RaticateCryHeader: cry_header CRY_RATTATA, $020, $17f +SpearowCryHeader: cry_header CRY_SPEAROW, $000, $100 +FearowCryHeader: cry_header CRY_FEAROW, $040, $120 +EkansCryHeader: cry_header CRY_EKANS, $012, $0c0 +ArbokCryHeader: cry_header CRY_EKANS, $0e0, $090 +PikachuCryHeader: cry_header CRY_BULBASAUR, $0ee, $081 +RaichuCryHeader: cry_header CRY_RAICHU, $0ee, $088 +SandshrewCryHeader: cry_header CRY_NIDORAN_M, $020, $0c0 +SandslashCryHeader: cry_header CRY_NIDORAN_M, $0ff, $17f +NidoranFCryHeader: cry_header CRY_NIDORAN_F, $000, $100 +NidorinaCryHeader: cry_header CRY_NIDORAN_F, $02c, $160 +NidoqueenCryHeader: cry_header CRY_NIDOQUEEN, $000, $100 +NidoranMCryHeader: cry_header CRY_NIDORAN_M, $000, $100 +NidorinoCryHeader: cry_header CRY_NIDORAN_M, $02c, $140 +NidokingCryHeader: cry_header CRY_RAICHU, $000, $100 +ClefairyCryHeader: cry_header CRY_CLEFAIRY, $0cc, $081 +ClefableCryHeader: cry_header CRY_CLEFAIRY, $0aa, $0a0 +VulpixCryHeader: cry_header CRY_VULPIX, $04f, $090 +NinetalesCryHeader: cry_header CRY_VULPIX, $088, $0e0 +JigglypuffCryHeader: cry_header CRY_PIDGEY, $0ff, $0b5 +WigglytuffCryHeader: cry_header CRY_PIDGEY, $068, $0e0 +ZubatCryHeader: cry_header CRY_SQUIRTLE, $0e0, $100 +GolbatCryHeader: cry_header CRY_SQUIRTLE, $0fa, $100 +OddishCryHeader: cry_header CRY_ODDISH, $0dd, $081 +GloomCryHeader: cry_header CRY_ODDISH, $0aa, $0c0 +VileplumeCryHeader: cry_header CRY_VILEPLUME, $022, $17f +ParasCryHeader: cry_header CRY_PARAS, $020, $160 +ParasectCryHeader: cry_header CRY_PARAS, $042, $17f +VenonatCryHeader: cry_header CRY_VENONAT, $044, $0c0 +VenomothCryHeader: cry_header CRY_VENONAT, $029, $100 +DiglettCryHeader: cry_header CRY_DIGLETT, $0aa, $081 +DugtrioCryHeader: cry_header CRY_DIGLETT, $02a, $090 +MeowthCryHeader: cry_header CRY_CLEFAIRY, $077, $090 +PersianCryHeader: cry_header CRY_CLEFAIRY, $099, $17f +PsyduckCryHeader: cry_header CRY_PSYDUCK, $020, $0e0 +GolduckCryHeader: cry_header CRY_PSYDUCK, $0ff, $0c0 +MankeyCryHeader: cry_header CRY_NIDOQUEEN, $0dd, $0e0 +PrimeapeCryHeader: cry_header CRY_NIDOQUEEN, $0af, $0c0 +GrowlitheCryHeader: cry_header CRY_GROWLITHE, $020, $0c0 +ArcanineCryHeader: cry_header CRY_WEEDLE, $000, $100 +PoliwagCryHeader: cry_header CRY_PIDGEY, $0ff, $17f +PoliwhirlCryHeader: cry_header CRY_PIDGEY, $077, $0e0 +PoliwrathCryHeader: cry_header CRY_PIDGEY, $000, $17f +AbraCryHeader: cry_header CRY_METAPOD, $0c0, $081 +KadabraCryHeader: cry_header CRY_METAPOD, $0a8, $140 +AlakazamCryHeader: cry_header CRY_METAPOD, $098, $17f +MachopCryHeader: cry_header CRY_GROWLITHE, $0ee, $081 +MachokeCryHeader: cry_header CRY_GROWLITHE, $048, $0e0 +MachampCryHeader: cry_header CRY_GROWLITHE, $008, $140 +BellsproutCryHeader: cry_header CRY_PSYDUCK, $055, $081 +WeepinbellCryHeader: cry_header CRY_WEEPINBELL, $044, $0a0 +VictreebelCryHeader: cry_header CRY_WEEPINBELL, $066, $14c +TentacoolCryHeader: cry_header CRY_VENONAT, $000, $100 +TentacruelCryHeader: cry_header CRY_VENONAT, $0ee, $17f +GeodudeCryHeader: cry_header CRY_VULPIX, $0f0, $090 +GravelerCryHeader: cry_header CRY_VULPIX, $000, $100 +GolemCryHeader: cry_header CRY_GOLEM, $0e0, $0c0 +PonytaCryHeader: cry_header CRY_WEEPINBELL, $000, $100 +RapidashCryHeader: cry_header CRY_WEEPINBELL, $020, $140 +SlowpokeCryHeader: cry_header CRY_SLOWPOKE, $000, $100 +SlowbroCryHeader: cry_header CRY_GROWLITHE, $000, $100 +MagnemiteCryHeader: cry_header CRY_METAPOD, $080, $0e0 +MagnetonCryHeader: cry_header CRY_METAPOD, $020, $140 +FarfetchDCryHeader: cry_header CRY_SPEAROW, $0dd, $081 +DoduoCryHeader: cry_header CRY_DIGLETT, $0bb, $081 +DodrioCryHeader: cry_header CRY_DIGLETT, $099, $0a0 +SeelCryHeader: cry_header CRY_SEEL, $088, $140 +DewgongCryHeader: cry_header CRY_SEEL, $023, $17f +GrimerCryHeader: cry_header CRY_GRIMER, $000, $100 +MukCryHeader: cry_header CRY_MUK, $0ef, $17f +ShellderCryHeader: cry_header CRY_FEAROW, $000, $100 +CloysterCryHeader: cry_header CRY_FEAROW, $06f, $160 +GastlyCryHeader: cry_header CRY_METAPOD, $000, $100 +HaunterCryHeader: cry_header CRY_METAPOD, $030, $0c0 +GengarCryHeader: cry_header CRY_MUK, $000, $17f +OnixCryHeader: cry_header CRY_EKANS, $0ff, $140 +DrowzeeCryHeader: cry_header CRY_DROWZEE, $088, $0a0 +HypnoCryHeader: cry_header CRY_DROWZEE, $0ee, $0c0 +KrabbyCryHeader: cry_header CRY_KRABBY, $020, $160 +KinglerCryHeader: cry_header CRY_KRABBY, $0ee, $160 +VoltorbCryHeader: cry_header CRY_VOLTORB, $0ed, $100 +ElectrodeCryHeader: cry_header CRY_VOLTORB, $0a8, $110 +ExeggcuteCryHeader: cry_header CRY_DIGLETT, $000, $100 +ExeggutorCryHeader: cry_header CRY_DROWZEE, $000, $100 +CuboneCryHeader: cry_header CRY_CLEFAIRY, $000, $100 +MarowakCryHeader: cry_header CRY_ODDISH, $04f, $0e0 +HitmonleeCryHeader: cry_header CRY_GOLEM, $080, $140 +HitmonchanCryHeader: cry_header CRY_SEEL, $0ee, $140 +LickitungCryHeader: cry_header CRY_SEEL, $000, $100 +KoffingCryHeader: cry_header CRY_GOLEM, $0e6, $15d +WeezingCryHeader: cry_header CRY_GOLEM, $0ff, $17f +RhyhornCryHeader: cry_header CRY_CHARMANDER, $000, $100 +RhydonCryHeader: cry_header CRY_RHYDON, $000, $100 +ChanseyCryHeader: cry_header CRY_PIDGEOTTO, $00a, $140 +TangelaCryHeader: cry_header CRY_GOLEM, $000, $100 +KangaskhanCryHeader: cry_header CRY_KANGASKHAN, $000, $100 +HorseaCryHeader: cry_header CRY_CLEFAIRY, $099, $090 +SeadraCryHeader: cry_header CRY_CLEFAIRY, $03c, $081 +GoldeenCryHeader: cry_header CRY_CATERPIE, $080, $0c0 +SeakingCryHeader: cry_header CRY_CATERPIE, $010, $17f +StaryuCryHeader: cry_header CRY_PARAS, $002, $0a0 +StarmieCryHeader: cry_header CRY_PARAS, $000, $100 +MrMimeCryHeader: cry_header CRY_KRABBY, $008, $0c0 +ScytherCryHeader: cry_header CRY_CATERPIE, $000, $100 +JynxCryHeader: cry_header CRY_DROWZEE, $0ff, $17f +ElectabuzzCryHeader: cry_header CRY_VOLTORB, $08f, $17f +MagmarCryHeader: cry_header CRY_CHARMANDER, $0ff, $0b0 +PinsirCryHeader: cry_header CRY_PIDGEOTTO, $000, $100 +TaurosCryHeader: cry_header CRY_SQUIRTLE, $011, $0c0 +MagikarpCryHeader: cry_header CRY_EKANS, $080, $080 +GyaradosCryHeader: cry_header CRY_EKANS, $000, $100 +LaprasCryHeader: cry_header CRY_LAPRAS, $000, $100 +DittoCryHeader: cry_header CRY_PIDGEY, $0ff, $17f +EeveeCryHeader: cry_header CRY_VENONAT, $088, $0e0 +VaporeonCryHeader: cry_header CRY_VENONAT, $0aa, $17f +JolteonCryHeader: cry_header CRY_VENONAT, $03d, $100 +FlareonCryHeader: cry_header CRY_VENONAT, $010, $0a0 +PorygonCryHeader: cry_header CRY_WEEPINBELL, $0aa, $17f +OmanyteCryHeader: cry_header CRY_GROWLITHE, $0f0, $081 +OmastarCryHeader: cry_header CRY_GROWLITHE, $0ff, $0c0 +KabutoCryHeader: cry_header CRY_CATERPIE, $0bb, $0c0 +KabutopsCryHeader: cry_header CRY_FEAROW, $0ee, $081 +AerodactylCryHeader: cry_header CRY_VILEPLUME, $020, $170 +SnorlaxCryHeader: cry_header CRY_GRIMER, $055, $081 +ArticunoCryHeader: cry_header CRY_RAICHU, $080, $0c0 +ZapdosCryHeader: cry_header CRY_FEAROW, $0ff, $100 +MoltresCryHeader: cry_header CRY_RAICHU, $0f8, $0c0 +DratiniCryHeader: cry_header CRY_BULBASAUR, $060, $0c0 +DragonairCryHeader: cry_header CRY_BULBASAUR, $040, $100 +DragoniteCryHeader: cry_header CRY_BULBASAUR, $03c, $140 +MewtwoCryHeader: cry_header CRY_PARAS, $099, $17f +MewCryHeader: cry_header CRY_PARAS, $0ee, $17f +ChikoritaCryHeader: cry_header CRY_CHIKORITA, -$010, $0b0 +BayleefCryHeader: cry_header CRY_CHIKORITA, -$022, $120 +MeganiumCryHeader: cry_header CRY_CHIKORITA, -$0b7, $200 +CyndaquilCryHeader: cry_header CRY_CYNDAQUIL, $347, $080 +QuilavaCryHeader: cry_header CRY_CYNDAQUIL, $321, $120 +TyphlosionCryHeader: cry_header CRY_TYPHLOSION, $f00, $0d4 +TotodileCryHeader: cry_header CRY_TOTODILE, $46c, $0e8 +CroconawCryHeader: cry_header CRY_TOTODILE, $440, $110 +FeraligatrCryHeader: cry_header CRY_TOTODILE, $3fc, $180 +SentretCryHeader: cry_header CRY_SENTRET, $08a, $0b8 +FurretCryHeader: cry_header CRY_SENTRET, $06b, $102 +HoothootCryHeader: cry_header CRY_HOOTHOOT, $091, $0d8 +NoctowlCryHeader: cry_header CRY_HOOTHOOT, $000, $1a0 +LedybaCryHeader: cry_header CRY_LEDYBA, $000, $0de +LedianCryHeader: cry_header CRY_LEDYBA, -$096, $138 +SpinarakCryHeader: cry_header CRY_SPINARAK, $011, $200 +AriadosCryHeader: cry_header CRY_SPINARAK, -$0ae, $1e2 +CrobatCryHeader: cry_header CRY_SQUIRTLE, -$010, $140 +ChinchouCryHeader: cry_header CRY_CYNDAQUIL, $3c9, $140 +LanturnCryHeader: cry_header CRY_CYNDAQUIL, $2d0, $110 +PichuCryHeader: cry_header CRY_PICHU, $000, $140 +CleffaCryHeader: cry_header CRY_CLEFFA, $061, $091 +IgglybuffCryHeader: cry_header CRY_CHIKORITA, $0e8, $0e8 +TogepiCryHeader: cry_header CRY_TOGEPI, $010, $100 +TogeticCryHeader: cry_header CRY_TOGETIC, $03b, $038 +NatuCryHeader: cry_header CRY_NATU, -$067, $100 +XatuCryHeader: cry_header CRY_NATU, -$0a7, $168 +MareepCryHeader: cry_header CRY_MAREEP, $022, $0d8 +FlaaffyCryHeader: cry_header CRY_MAREEP, -$007, $180 +AmpharosCryHeader: cry_header CRY_AMPHAROS, -$07c, $0e8 +BellossomCryHeader: cry_header CRY_CLEFFA, $084, $150 +MarillCryHeader: cry_header CRY_MARILL, $11b, $120 +AzumarillCryHeader: cry_header CRY_MARILL, $0b6, $180 +SudowoodoCryHeader: cry_header CRY_CLEFFA, $f40, $180 +PolitoedCryHeader: cry_header CRY_CLEFFA, -$2a3, $1c8 +HoppipCryHeader: cry_header CRY_CLEFFA, $03b, $0c8 +SkiploomCryHeader: cry_header CRY_CLEFFA, $027, $138 +JumpluffCryHeader: cry_header CRY_CLEFFA, $000, $180 +AipomCryHeader: cry_header CRY_AIPOM, -$051, $0e8 +SunkernCryHeader: cry_header CRY_MARILL, $12b, $0b8 +SunfloraCryHeader: cry_header CRY_SUNFLORA, -$020, $180 +YanmaCryHeader: cry_header CRY_TOTODILE, $031, $0c8 +WooperCryHeader: cry_header CRY_WOOPER, $093, $0af +QuagsireCryHeader: cry_header CRY_WOOPER, -$0c6, $140 +EspeonCryHeader: cry_header CRY_AIPOM, $0a2, $140 +UmbreonCryHeader: cry_header CRY_VENONAT, -$0e9, $0f0 +MurkrowCryHeader: cry_header CRY_MARILL, -$01f, $180 +SlowkingCryHeader: cry_header CRY_SLOWKING, $104, $200 +MisdreavusCryHeader: cry_header CRY_HOOTHOOT, $130, $0e8 +UnownCryHeader: cry_header CRY_HOOTHOOT, $162, $100 +WobbuffetCryHeader: cry_header CRY_AMPHAROS, $27b, $144 +GirafarigCryHeader: cry_header CRY_GIRAFARIG, $041, $200 +PinecoCryHeader: cry_header CRY_SLOWKING, $080, $100 +ForretressCryHeader: cry_header CRY_SLOWKING, $000, $180 +DunsparceCryHeader: cry_header CRY_DUNSPARCE, $1c4, $100 +GligarCryHeader: cry_header CRY_GLIGAR, -$102, $100 +SteelixCryHeader: cry_header CRY_TYPHLOSION, $0ef, $0f7 +SnubbullCryHeader: cry_header CRY_DUNSPARCE, $112, $0e8 +GranbullCryHeader: cry_header CRY_DUNSPARCE, $000, $180 +QwilfishCryHeader: cry_header CRY_SLOWKING, $160, $0e0 +ScizorCryHeader: cry_header CRY_AMPHAROS, $000, $160 +ShuckleCryHeader: cry_header CRY_DUNSPARCE, $290, $0a8 +HeracrossCryHeader: cry_header CRY_AMPHAROS, $035, $0e0 +SneaselCryHeader: cry_header CRY_WOOPER, $053, $0af +TeddiursaCryHeader: cry_header CRY_TEDDIURSA, $7a2, $06e +UrsaringCryHeader: cry_header CRY_TEDDIURSA, $640, $0d8 +SlugmaCryHeader: cry_header CRY_SLUGMA, -$1d8, $140 +MagcargoCryHeader: cry_header CRY_MAGCARGO, -$20d, $1c0 +SwinubCryHeader: cry_header CRY_CYNDAQUIL, $1fe, $140 +PiloswineCryHeader: cry_header CRY_MAGCARGO, -$109, $100 +CorsolaCryHeader: cry_header CRY_MAGCARGO, $0a1, $0e8 +RemoraidCryHeader: cry_header CRY_SUNFLORA, $00d, $100 +OctilleryCryHeader: cry_header CRY_TOTODILE, $000, $180 +DelibirdCryHeader: cry_header CRY_TEDDIURSA, $002, $06a +MantineCryHeader: cry_header CRY_MANTINE, -$0be, $0f0 +SkarmoryCryHeader: cry_header CRY_AMPHAROS, $8a9, $180 +HoundourCryHeader: cry_header CRY_CYNDAQUIL, $039, $140 +HoundoomCryHeader: cry_header CRY_TOTODILE, -$10a, $100 +KingdraCryHeader: cry_header CRY_SLUGMA, $2fb, $100 +PhanpyCryHeader: cry_header CRY_SENTRET, $048, $230 +DonphanCryHeader: cry_header CRY_DONPHAN, $000, $1a0 +Porygon2CryHeader: cry_header CRY_GIRAFARIG, $073, $240 +StantlerCryHeader: cry_header CRY_AIPOM, -$160, $180 +SmeargleCryHeader: cry_header CRY_PICHU, -$21a, $1f0 +TyrogueCryHeader: cry_header CRY_AIPOM, $02c, $108 +HitmontopCryHeader: cry_header CRY_SLUGMA, $000, $100 +SmoochumCryHeader: cry_header CRY_MARILL, $068, $100 +ElekidCryHeader: cry_header CRY_SUNFLORA, -$2d8, $0b4 +MagbyCryHeader: cry_header CRY_TEDDIURSA, $176, $03a +MiltankCryHeader: cry_header CRY_GLIGAR, -$1cd, $1a0 +BlisseyCryHeader: cry_header CRY_SLOWKING, $293, $140 +RaikouCryHeader: cry_header CRY_RAIKOU, $22e, $120 +EnteiCryHeader: cry_header CRY_ENTEI, $000, $1a0 +SuicuneCryHeader: cry_header CRY_MAGCARGO, $000, $180 +LarvitarCryHeader: cry_header CRY_RAIKOU, $05f, $0d0 +PupitarCryHeader: cry_header CRY_SPINARAK, -$1db, $150 +TyranitarCryHeader: cry_header CRY_RAIKOU, -$100, $180 +LugiaCryHeader: cry_header CRY_TYPHLOSION, $000, $100 +HoOhCryHeader: cry_header CRY_AIPOM, $000, $180 +CelebiCryHeader: cry_header CRY_ENTEI, $14a, $111 +CryHeader252: cry_header CRY_NIDORAN_M, 0, 0 +CryHeader253: cry_header CRY_NIDORAN_M, 0, 0 +CryHeader254: cry_header CRY_NIDORAN_M, 0, 0 +CryHeader255: cry_header CRY_NIDORAN_M, 0, 0 +; f2d81 diff --git a/data/pokemon/dex_entries.asm b/data/pokemon/dex_entries.asm new file mode 100644 index 000000000..92b9c6b06 --- /dev/null +++ b/data/pokemon/dex_entries.asm @@ -0,0 +1,272 @@ +INCLUDE "includes.asm" + + +SECTION "Pokedex Entries 001-064", ROMX + +PokedexEntries1:: +BulbasaurPokedexEntry:: INCLUDE "data/pokemon/dex_entries/bulbasaur.asm" +IvysaurPokedexEntry:: INCLUDE "data/pokemon/dex_entries/ivysaur.asm" +VenusaurPokedexEntry:: INCLUDE "data/pokemon/dex_entries/venusaur.asm" +CharmanderPokedexEntry:: INCLUDE "data/pokemon/dex_entries/charmander.asm" +CharmeleonPokedexEntry:: INCLUDE "data/pokemon/dex_entries/charmeleon.asm" +CharizardPokedexEntry:: INCLUDE "data/pokemon/dex_entries/charizard.asm" +SquirtlePokedexEntry:: INCLUDE "data/pokemon/dex_entries/squirtle.asm" +WartortlePokedexEntry:: INCLUDE "data/pokemon/dex_entries/wartortle.asm" +BlastoisePokedexEntry:: INCLUDE "data/pokemon/dex_entries/blastoise.asm" +CaterpiePokedexEntry:: INCLUDE "data/pokemon/dex_entries/caterpie.asm" +MetapodPokedexEntry:: INCLUDE "data/pokemon/dex_entries/metapod.asm" +ButterfreePokedexEntry:: INCLUDE "data/pokemon/dex_entries/butterfree.asm" +WeedlePokedexEntry:: INCLUDE "data/pokemon/dex_entries/weedle.asm" +KakunaPokedexEntry:: INCLUDE "data/pokemon/dex_entries/kakuna.asm" +BeedrillPokedexEntry:: INCLUDE "data/pokemon/dex_entries/beedrill.asm" +PidgeyPokedexEntry:: INCLUDE "data/pokemon/dex_entries/pidgey.asm" +PidgeottoPokedexEntry:: INCLUDE "data/pokemon/dex_entries/pidgeotto.asm" +PidgeotPokedexEntry:: INCLUDE "data/pokemon/dex_entries/pidgeot.asm" +RattataPokedexEntry:: INCLUDE "data/pokemon/dex_entries/rattata.asm" +RaticatePokedexEntry:: INCLUDE "data/pokemon/dex_entries/raticate.asm" +SpearowPokedexEntry:: INCLUDE "data/pokemon/dex_entries/spearow.asm" +FearowPokedexEntry:: INCLUDE "data/pokemon/dex_entries/fearow.asm" +EkansPokedexEntry:: INCLUDE "data/pokemon/dex_entries/ekans.asm" +ArbokPokedexEntry:: INCLUDE "data/pokemon/dex_entries/arbok.asm" +PikachuPokedexEntry:: INCLUDE "data/pokemon/dex_entries/pikachu.asm" +RaichuPokedexEntry:: INCLUDE "data/pokemon/dex_entries/raichu.asm" +SandshrewPokedexEntry:: INCLUDE "data/pokemon/dex_entries/sandshrew.asm" +SandslashPokedexEntry:: INCLUDE "data/pokemon/dex_entries/sandslash.asm" +NidoranFPokedexEntry:: INCLUDE "data/pokemon/dex_entries/nidoran_f.asm" +NidorinaPokedexEntry:: INCLUDE "data/pokemon/dex_entries/nidorina.asm" +NidoqueenPokedexEntry:: INCLUDE "data/pokemon/dex_entries/nidoqueen.asm" +NidoranMPokedexEntry:: INCLUDE "data/pokemon/dex_entries/nidoran_m.asm" +NidorinoPokedexEntry:: INCLUDE "data/pokemon/dex_entries/nidorino.asm" +NidokingPokedexEntry:: INCLUDE "data/pokemon/dex_entries/nidoking.asm" +ClefairyPokedexEntry:: INCLUDE "data/pokemon/dex_entries/clefairy.asm" +ClefablePokedexEntry:: INCLUDE "data/pokemon/dex_entries/clefable.asm" +VulpixPokedexEntry:: INCLUDE "data/pokemon/dex_entries/vulpix.asm" +NinetalesPokedexEntry:: INCLUDE "data/pokemon/dex_entries/ninetales.asm" +JigglypuffPokedexEntry:: INCLUDE "data/pokemon/dex_entries/jigglypuff.asm" +WigglytuffPokedexEntry:: INCLUDE "data/pokemon/dex_entries/wigglytuff.asm" +ZubatPokedexEntry:: INCLUDE "data/pokemon/dex_entries/zubat.asm" +GolbatPokedexEntry:: INCLUDE "data/pokemon/dex_entries/golbat.asm" +OddishPokedexEntry:: INCLUDE "data/pokemon/dex_entries/oddish.asm" +GloomPokedexEntry:: INCLUDE "data/pokemon/dex_entries/gloom.asm" +VileplumePokedexEntry:: INCLUDE "data/pokemon/dex_entries/vileplume.asm" +ParasPokedexEntry:: INCLUDE "data/pokemon/dex_entries/paras.asm" +ParasectPokedexEntry:: INCLUDE "data/pokemon/dex_entries/parasect.asm" +VenonatPokedexEntry:: INCLUDE "data/pokemon/dex_entries/venonat.asm" +VenomothPokedexEntry:: INCLUDE "data/pokemon/dex_entries/venomoth.asm" +DiglettPokedexEntry:: INCLUDE "data/pokemon/dex_entries/diglett.asm" +DugtrioPokedexEntry:: INCLUDE "data/pokemon/dex_entries/dugtrio.asm" +MeowthPokedexEntry:: INCLUDE "data/pokemon/dex_entries/meowth.asm" +PersianPokedexEntry:: INCLUDE "data/pokemon/dex_entries/persian.asm" +PsyduckPokedexEntry:: INCLUDE "data/pokemon/dex_entries/psyduck.asm" +GolduckPokedexEntry:: INCLUDE "data/pokemon/dex_entries/golduck.asm" +MankeyPokedexEntry:: INCLUDE "data/pokemon/dex_entries/mankey.asm" +PrimeapePokedexEntry:: INCLUDE "data/pokemon/dex_entries/primeape.asm" +GrowlithePokedexEntry:: INCLUDE "data/pokemon/dex_entries/growlithe.asm" +ArcaninePokedexEntry:: INCLUDE "data/pokemon/dex_entries/arcanine.asm" +PoliwagPokedexEntry:: INCLUDE "data/pokemon/dex_entries/poliwag.asm" +PoliwhirlPokedexEntry:: INCLUDE "data/pokemon/dex_entries/poliwhirl.asm" +PoliwrathPokedexEntry:: INCLUDE "data/pokemon/dex_entries/poliwrath.asm" +AbraPokedexEntry:: INCLUDE "data/pokemon/dex_entries/abra.asm" +KadabraPokedexEntry:: INCLUDE "data/pokemon/dex_entries/kadabra.asm" + + +SECTION "Pokedex Entries 065-128", ROMX + +PokedexEntries2:: +AlakazamPokedexEntry:: INCLUDE "data/pokemon/dex_entries/alakazam.asm" +MachopPokedexEntry:: INCLUDE "data/pokemon/dex_entries/machop.asm" +MachokePokedexEntry:: INCLUDE "data/pokemon/dex_entries/machoke.asm" +MachampPokedexEntry:: INCLUDE "data/pokemon/dex_entries/machamp.asm" +BellsproutPokedexEntry:: INCLUDE "data/pokemon/dex_entries/bellsprout.asm" +WeepinbellPokedexEntry:: INCLUDE "data/pokemon/dex_entries/weepinbell.asm" +VictreebelPokedexEntry:: INCLUDE "data/pokemon/dex_entries/victreebel.asm" +TentacoolPokedexEntry:: INCLUDE "data/pokemon/dex_entries/tentacool.asm" +TentacruelPokedexEntry:: INCLUDE "data/pokemon/dex_entries/tentacruel.asm" +GeodudePokedexEntry:: INCLUDE "data/pokemon/dex_entries/geodude.asm" +GravelerPokedexEntry:: INCLUDE "data/pokemon/dex_entries/graveler.asm" +GolemPokedexEntry:: INCLUDE "data/pokemon/dex_entries/golem.asm" +PonytaPokedexEntry:: INCLUDE "data/pokemon/dex_entries/ponyta.asm" +RapidashPokedexEntry:: INCLUDE "data/pokemon/dex_entries/rapidash.asm" +SlowpokePokedexEntry:: INCLUDE "data/pokemon/dex_entries/slowpoke.asm" +SlowbroPokedexEntry:: INCLUDE "data/pokemon/dex_entries/slowbro.asm" +MagnemitePokedexEntry:: INCLUDE "data/pokemon/dex_entries/magnemite.asm" +MagnetonPokedexEntry:: INCLUDE "data/pokemon/dex_entries/magneton.asm" +FarfetchDPokedexEntry:: INCLUDE "data/pokemon/dex_entries/farfetch_d.asm" +DoduoPokedexEntry:: INCLUDE "data/pokemon/dex_entries/doduo.asm" +DodrioPokedexEntry:: INCLUDE "data/pokemon/dex_entries/dodrio.asm" +SeelPokedexEntry:: INCLUDE "data/pokemon/dex_entries/seel.asm" +DewgongPokedexEntry:: INCLUDE "data/pokemon/dex_entries/dewgong.asm" +GrimerPokedexEntry:: INCLUDE "data/pokemon/dex_entries/grimer.asm" +MukPokedexEntry:: INCLUDE "data/pokemon/dex_entries/muk.asm" +ShellderPokedexEntry:: INCLUDE "data/pokemon/dex_entries/shellder.asm" +CloysterPokedexEntry:: INCLUDE "data/pokemon/dex_entries/cloyster.asm" +GastlyPokedexEntry:: INCLUDE "data/pokemon/dex_entries/gastly.asm" +HaunterPokedexEntry:: INCLUDE "data/pokemon/dex_entries/haunter.asm" +GengarPokedexEntry:: INCLUDE "data/pokemon/dex_entries/gengar.asm" +OnixPokedexEntry:: INCLUDE "data/pokemon/dex_entries/onix.asm" +DrowzeePokedexEntry:: INCLUDE "data/pokemon/dex_entries/drowzee.asm" +HypnoPokedexEntry:: INCLUDE "data/pokemon/dex_entries/hypno.asm" +KrabbyPokedexEntry:: INCLUDE "data/pokemon/dex_entries/krabby.asm" +KinglerPokedexEntry:: INCLUDE "data/pokemon/dex_entries/kingler.asm" +VoltorbPokedexEntry:: INCLUDE "data/pokemon/dex_entries/voltorb.asm" +ElectrodePokedexEntry:: INCLUDE "data/pokemon/dex_entries/electrode.asm" +ExeggcutePokedexEntry:: INCLUDE "data/pokemon/dex_entries/exeggcute.asm" +ExeggutorPokedexEntry:: INCLUDE "data/pokemon/dex_entries/exeggutor.asm" +CubonePokedexEntry:: INCLUDE "data/pokemon/dex_entries/cubone.asm" +MarowakPokedexEntry:: INCLUDE "data/pokemon/dex_entries/marowak.asm" +HitmonleePokedexEntry:: INCLUDE "data/pokemon/dex_entries/hitmonlee.asm" +HitmonchanPokedexEntry:: INCLUDE "data/pokemon/dex_entries/hitmonchan.asm" +LickitungPokedexEntry:: INCLUDE "data/pokemon/dex_entries/lickitung.asm" +KoffingPokedexEntry:: INCLUDE "data/pokemon/dex_entries/koffing.asm" +WeezingPokedexEntry:: INCLUDE "data/pokemon/dex_entries/weezing.asm" +RhyhornPokedexEntry:: INCLUDE "data/pokemon/dex_entries/rhyhorn.asm" +RhydonPokedexEntry:: INCLUDE "data/pokemon/dex_entries/rhydon.asm" +ChanseyPokedexEntry:: INCLUDE "data/pokemon/dex_entries/chansey.asm" +TangelaPokedexEntry:: INCLUDE "data/pokemon/dex_entries/tangela.asm" +KangaskhanPokedexEntry:: INCLUDE "data/pokemon/dex_entries/kangaskhan.asm" +HorseaPokedexEntry:: INCLUDE "data/pokemon/dex_entries/horsea.asm" +SeadraPokedexEntry:: INCLUDE "data/pokemon/dex_entries/seadra.asm" +GoldeenPokedexEntry:: INCLUDE "data/pokemon/dex_entries/goldeen.asm" +SeakingPokedexEntry:: INCLUDE "data/pokemon/dex_entries/seaking.asm" +StaryuPokedexEntry:: INCLUDE "data/pokemon/dex_entries/staryu.asm" +StarmiePokedexEntry:: INCLUDE "data/pokemon/dex_entries/starmie.asm" +MrMimePokedexEntry:: INCLUDE "data/pokemon/dex_entries/mr__mime.asm" +ScytherPokedexEntry:: INCLUDE "data/pokemon/dex_entries/scyther.asm" +JynxPokedexEntry:: INCLUDE "data/pokemon/dex_entries/jynx.asm" +ElectabuzzPokedexEntry:: INCLUDE "data/pokemon/dex_entries/electabuzz.asm" +MagmarPokedexEntry:: INCLUDE "data/pokemon/dex_entries/magmar.asm" +PinsirPokedexEntry:: INCLUDE "data/pokemon/dex_entries/pinsir.asm" +TaurosPokedexEntry:: INCLUDE "data/pokemon/dex_entries/tauros.asm" + + +SECTION "Pokedex Entries 129-192", ROMX + +PokedexEntries3:: +MagikarpPokedexEntry:: INCLUDE "data/pokemon/dex_entries/magikarp.asm" +GyaradosPokedexEntry:: INCLUDE "data/pokemon/dex_entries/gyarados.asm" +LaprasPokedexEntry:: INCLUDE "data/pokemon/dex_entries/lapras.asm" +DittoPokedexEntry:: INCLUDE "data/pokemon/dex_entries/ditto.asm" +EeveePokedexEntry:: INCLUDE "data/pokemon/dex_entries/eevee.asm" +VaporeonPokedexEntry:: INCLUDE "data/pokemon/dex_entries/vaporeon.asm" +JolteonPokedexEntry:: INCLUDE "data/pokemon/dex_entries/jolteon.asm" +FlareonPokedexEntry:: INCLUDE "data/pokemon/dex_entries/flareon.asm" +PorygonPokedexEntry:: INCLUDE "data/pokemon/dex_entries/porygon.asm" +OmanytePokedexEntry:: INCLUDE "data/pokemon/dex_entries/omanyte.asm" +OmastarPokedexEntry:: INCLUDE "data/pokemon/dex_entries/omastar.asm" +KabutoPokedexEntry:: INCLUDE "data/pokemon/dex_entries/kabuto.asm" +KabutopsPokedexEntry:: INCLUDE "data/pokemon/dex_entries/kabutops.asm" +AerodactylPokedexEntry:: INCLUDE "data/pokemon/dex_entries/aerodactyl.asm" +SnorlaxPokedexEntry:: INCLUDE "data/pokemon/dex_entries/snorlax.asm" +ArticunoPokedexEntry:: INCLUDE "data/pokemon/dex_entries/articuno.asm" +ZapdosPokedexEntry:: INCLUDE "data/pokemon/dex_entries/zapdos.asm" +MoltresPokedexEntry:: INCLUDE "data/pokemon/dex_entries/moltres.asm" +DratiniPokedexEntry:: INCLUDE "data/pokemon/dex_entries/dratini.asm" +DragonairPokedexEntry:: INCLUDE "data/pokemon/dex_entries/dragonair.asm" +DragonitePokedexEntry:: INCLUDE "data/pokemon/dex_entries/dragonite.asm" +MewtwoPokedexEntry:: INCLUDE "data/pokemon/dex_entries/mewtwo.asm" +MewPokedexEntry:: INCLUDE "data/pokemon/dex_entries/mew.asm" +ChikoritaPokedexEntry:: INCLUDE "data/pokemon/dex_entries/chikorita.asm" +BayleefPokedexEntry:: INCLUDE "data/pokemon/dex_entries/bayleef.asm" +MeganiumPokedexEntry:: INCLUDE "data/pokemon/dex_entries/meganium.asm" +CyndaquilPokedexEntry:: INCLUDE "data/pokemon/dex_entries/cyndaquil.asm" +QuilavaPokedexEntry:: INCLUDE "data/pokemon/dex_entries/quilava.asm" +TyphlosionPokedexEntry:: INCLUDE "data/pokemon/dex_entries/typhlosion.asm" +TotodilePokedexEntry:: INCLUDE "data/pokemon/dex_entries/totodile.asm" +CroconawPokedexEntry:: INCLUDE "data/pokemon/dex_entries/croconaw.asm" +FeraligatrPokedexEntry:: INCLUDE "data/pokemon/dex_entries/feraligatr.asm" +SentretPokedexEntry:: INCLUDE "data/pokemon/dex_entries/sentret.asm" +FurretPokedexEntry:: INCLUDE "data/pokemon/dex_entries/furret.asm" +HoothootPokedexEntry:: INCLUDE "data/pokemon/dex_entries/hoothoot.asm" +NoctowlPokedexEntry:: INCLUDE "data/pokemon/dex_entries/noctowl.asm" +LedybaPokedexEntry:: INCLUDE "data/pokemon/dex_entries/ledyba.asm" +LedianPokedexEntry:: INCLUDE "data/pokemon/dex_entries/ledian.asm" +SpinarakPokedexEntry:: INCLUDE "data/pokemon/dex_entries/spinarak.asm" +AriadosPokedexEntry:: INCLUDE "data/pokemon/dex_entries/ariados.asm" +CrobatPokedexEntry:: INCLUDE "data/pokemon/dex_entries/crobat.asm" +ChinchouPokedexEntry:: INCLUDE "data/pokemon/dex_entries/chinchou.asm" +LanturnPokedexEntry:: INCLUDE "data/pokemon/dex_entries/lanturn.asm" +PichuPokedexEntry:: INCLUDE "data/pokemon/dex_entries/pichu.asm" +CleffaPokedexEntry:: INCLUDE "data/pokemon/dex_entries/cleffa.asm" +IgglybuffPokedexEntry:: INCLUDE "data/pokemon/dex_entries/igglybuff.asm" +TogepiPokedexEntry:: INCLUDE "data/pokemon/dex_entries/togepi.asm" +TogeticPokedexEntry:: INCLUDE "data/pokemon/dex_entries/togetic.asm" +NatuPokedexEntry:: INCLUDE "data/pokemon/dex_entries/natu.asm" +XatuPokedexEntry:: INCLUDE "data/pokemon/dex_entries/xatu.asm" +MareepPokedexEntry:: INCLUDE "data/pokemon/dex_entries/mareep.asm" +FlaaffyPokedexEntry:: INCLUDE "data/pokemon/dex_entries/flaaffy.asm" +AmpharosPokedexEntry:: INCLUDE "data/pokemon/dex_entries/ampharos.asm" +BellossomPokedexEntry:: INCLUDE "data/pokemon/dex_entries/bellossom.asm" +MarillPokedexEntry:: INCLUDE "data/pokemon/dex_entries/marill.asm" +AzumarillPokedexEntry:: INCLUDE "data/pokemon/dex_entries/azumarill.asm" +SudowoodoPokedexEntry:: INCLUDE "data/pokemon/dex_entries/sudowoodo.asm" +PolitoedPokedexEntry:: INCLUDE "data/pokemon/dex_entries/politoed.asm" +HoppipPokedexEntry:: INCLUDE "data/pokemon/dex_entries/hoppip.asm" +SkiploomPokedexEntry:: INCLUDE "data/pokemon/dex_entries/skiploom.asm" +JumpluffPokedexEntry:: INCLUDE "data/pokemon/dex_entries/jumpluff.asm" +AipomPokedexEntry:: INCLUDE "data/pokemon/dex_entries/aipom.asm" +SunkernPokedexEntry:: INCLUDE "data/pokemon/dex_entries/sunkern.asm" +SunfloraPokedexEntry:: INCLUDE "data/pokemon/dex_entries/sunflora.asm" + + +SECTION "Pokedex Entries 193-251", ROMX + +PokedexEntries4:: +YanmaPokedexEntry:: INCLUDE "data/pokemon/dex_entries/yanma.asm" +WooperPokedexEntry:: INCLUDE "data/pokemon/dex_entries/wooper.asm" +QuagsirePokedexEntry:: INCLUDE "data/pokemon/dex_entries/quagsire.asm" +EspeonPokedexEntry:: INCLUDE "data/pokemon/dex_entries/espeon.asm" +UmbreonPokedexEntry:: INCLUDE "data/pokemon/dex_entries/umbreon.asm" +MurkrowPokedexEntry:: INCLUDE "data/pokemon/dex_entries/murkrow.asm" +SlowkingPokedexEntry:: INCLUDE "data/pokemon/dex_entries/slowking.asm" +MisdreavusPokedexEntry:: INCLUDE "data/pokemon/dex_entries/misdreavus.asm" +UnownPokedexEntry:: INCLUDE "data/pokemon/dex_entries/unown.asm" +WobbuffetPokedexEntry:: INCLUDE "data/pokemon/dex_entries/wobbuffet.asm" +GirafarigPokedexEntry:: INCLUDE "data/pokemon/dex_entries/girafarig.asm" +PinecoPokedexEntry:: INCLUDE "data/pokemon/dex_entries/pineco.asm" +ForretressPokedexEntry:: INCLUDE "data/pokemon/dex_entries/forretress.asm" +DunsparcePokedexEntry:: INCLUDE "data/pokemon/dex_entries/dunsparce.asm" +GligarPokedexEntry:: INCLUDE "data/pokemon/dex_entries/gligar.asm" +SteelixPokedexEntry:: INCLUDE "data/pokemon/dex_entries/steelix.asm" +SnubbullPokedexEntry:: INCLUDE "data/pokemon/dex_entries/snubbull.asm" +GranbullPokedexEntry:: INCLUDE "data/pokemon/dex_entries/granbull.asm" +QwilfishPokedexEntry:: INCLUDE "data/pokemon/dex_entries/qwilfish.asm" +ScizorPokedexEntry:: INCLUDE "data/pokemon/dex_entries/scizor.asm" +ShucklePokedexEntry:: INCLUDE "data/pokemon/dex_entries/shuckle.asm" +HeracrossPokedexEntry:: INCLUDE "data/pokemon/dex_entries/heracross.asm" +SneaselPokedexEntry:: INCLUDE "data/pokemon/dex_entries/sneasel.asm" +TeddiursaPokedexEntry:: INCLUDE "data/pokemon/dex_entries/teddiursa.asm" +UrsaringPokedexEntry:: INCLUDE "data/pokemon/dex_entries/ursaring.asm" +SlugmaPokedexEntry:: INCLUDE "data/pokemon/dex_entries/slugma.asm" +MagcargoPokedexEntry:: INCLUDE "data/pokemon/dex_entries/magcargo.asm" +SwinubPokedexEntry:: INCLUDE "data/pokemon/dex_entries/swinub.asm" +PiloswinePokedexEntry:: INCLUDE "data/pokemon/dex_entries/piloswine.asm" +CorsolaPokedexEntry:: INCLUDE "data/pokemon/dex_entries/corsola.asm" +RemoraidPokedexEntry:: INCLUDE "data/pokemon/dex_entries/remoraid.asm" +OctilleryPokedexEntry:: INCLUDE "data/pokemon/dex_entries/octillery.asm" +DelibirdPokedexEntry:: INCLUDE "data/pokemon/dex_entries/delibird.asm" +MantinePokedexEntry:: INCLUDE "data/pokemon/dex_entries/mantine.asm" +SkarmoryPokedexEntry:: INCLUDE "data/pokemon/dex_entries/skarmory.asm" +HoundourPokedexEntry:: INCLUDE "data/pokemon/dex_entries/houndour.asm" +HoundoomPokedexEntry:: INCLUDE "data/pokemon/dex_entries/houndoom.asm" +KingdraPokedexEntry:: INCLUDE "data/pokemon/dex_entries/kingdra.asm" +PhanpyPokedexEntry:: INCLUDE "data/pokemon/dex_entries/phanpy.asm" +DonphanPokedexEntry:: INCLUDE "data/pokemon/dex_entries/donphan.asm" +Porygon2PokedexEntry:: INCLUDE "data/pokemon/dex_entries/porygon2.asm" +StantlerPokedexEntry:: INCLUDE "data/pokemon/dex_entries/stantler.asm" +SmearglePokedexEntry:: INCLUDE "data/pokemon/dex_entries/smeargle.asm" +TyroguePokedexEntry:: INCLUDE "data/pokemon/dex_entries/tyrogue.asm" +HitmontopPokedexEntry:: INCLUDE "data/pokemon/dex_entries/hitmontop.asm" +SmoochumPokedexEntry:: INCLUDE "data/pokemon/dex_entries/smoochum.asm" +ElekidPokedexEntry:: INCLUDE "data/pokemon/dex_entries/elekid.asm" +MagbyPokedexEntry:: INCLUDE "data/pokemon/dex_entries/magby.asm" +MiltankPokedexEntry:: INCLUDE "data/pokemon/dex_entries/miltank.asm" +BlisseyPokedexEntry:: INCLUDE "data/pokemon/dex_entries/blissey.asm" +RaikouPokedexEntry:: INCLUDE "data/pokemon/dex_entries/raikou.asm" +EnteiPokedexEntry:: INCLUDE "data/pokemon/dex_entries/entei.asm" +SuicunePokedexEntry:: INCLUDE "data/pokemon/dex_entries/suicune.asm" +LarvitarPokedexEntry:: INCLUDE "data/pokemon/dex_entries/larvitar.asm" +PupitarPokedexEntry:: INCLUDE "data/pokemon/dex_entries/pupitar.asm" +TyranitarPokedexEntry:: INCLUDE "data/pokemon/dex_entries/tyranitar.asm" +LugiaPokedexEntry:: INCLUDE "data/pokemon/dex_entries/lugia.asm" +HoOhPokedexEntry:: INCLUDE "data/pokemon/dex_entries/ho_oh.asm" +CelebiPokedexEntry:: INCLUDE "data/pokemon/dex_entries/celebi.asm" diff --git a/data/pokemon/dex_entries/abra.asm b/data/pokemon/dex_entries/abra.asm new file mode 100644 index 000000000..be3b263cd --- /dev/null +++ b/data/pokemon/dex_entries/abra.asm @@ -0,0 +1,10 @@ +; AbraPokedexEntry: ; 0x1830d5 + db "PSI@" ; species name + dw 211, 430 ; height, weight + + db "It hypnotizes" + next "itself so that it" + next "can teleport away" + page "when it senses" + next "danger, even" + next "if it is asleep.@" diff --git a/data/pokemon/dex_entries/aerodactyl.asm b/data/pokemon/dex_entries/aerodactyl.asm new file mode 100644 index 000000000..d6189500b --- /dev/null +++ b/data/pokemon/dex_entries/aerodactyl.asm @@ -0,0 +1,10 @@ +; AerodactylPokedexEntry: ; 0x1cc576 + db "FOSSIL@" ; species name + dw 511, 1300 ; height, weight + + db "In prehistoric" + next "times, this" + next "#MON flew" + page "freely and" + next "fearlessly through" + next "the skies.@" diff --git a/data/pokemon/dex_entries/aipom.asm b/data/pokemon/dex_entries/aipom.asm new file mode 100644 index 000000000..3fadb9169 --- /dev/null +++ b/data/pokemon/dex_entries/aipom.asm @@ -0,0 +1,10 @@ +; AipomPokedexEntry: ; 0x1cda11 + db "LONG TAIL@" ; species name + dw 207, 250 ; height, weight + + db "It uses its tail" + next "to hang on to tree" + next "branches. It uses" + page "its momentum to" + next "swing from one" + next "branch to another.@" diff --git a/data/pokemon/dex_entries/alakazam.asm b/data/pokemon/dex_entries/alakazam.asm new file mode 100644 index 000000000..1d34fa1f7 --- /dev/null +++ b/data/pokemon/dex_entries/alakazam.asm @@ -0,0 +1,10 @@ +; AlakazamPokedexEntry: ; 0x1b8000 + db "PSI@" ; species name + dw 411, 1060 ; height, weight + + db "It has an IQ of" + next "5000. It calcu-" + next "lates many things" + page "in order to gain" + next "the edge in every" + next "battle.@" diff --git a/data/pokemon/dex_entries/ampharos.asm b/data/pokemon/dex_entries/ampharos.asm new file mode 100644 index 000000000..1f48fe322 --- /dev/null +++ b/data/pokemon/dex_entries/ampharos.asm @@ -0,0 +1,10 @@ +; AmpharosPokedexEntry: ; 0x1cd626 + db "LIGHT@" ; species name + dw 407, 1360 ; height, weight + + db "When it gets dark," + next "the light from its" + next "bright, shiny tail" + page "can be seen from" + next "far away on the" + next "ocean's surface.@" diff --git a/data/pokemon/dex_entries/arbok.asm b/data/pokemon/dex_entries/arbok.asm new file mode 100644 index 000000000..c5d5b7704 --- /dev/null +++ b/data/pokemon/dex_entries/arbok.asm @@ -0,0 +1,10 @@ +; ArbokPokedexEntry: ; 0x18203d + db "COBRA@" ; species name + dw 1106, 1430 ; height, weight + + db "To intimidate" + next "foes, it spreads" + next "its chest wide and" + page "makes eerie sounds" + next "by expelling air" + next "from its mouth.@" diff --git a/data/pokemon/dex_entries/arcanine.asm b/data/pokemon/dex_entries/arcanine.asm new file mode 100644 index 000000000..e319bcb6a --- /dev/null +++ b/data/pokemon/dex_entries/arcanine.asm @@ -0,0 +1,10 @@ +; ArcaninePokedexEntry: ; 0x182f1c + db "LEGENDARY@" ; species name + dw 603, 3420 ; height, weight + + db "An ancient picture" + next "scroll shows that" + next "people were" + page "attracted to its" + next "movement as it ran" + next "through prairies.@" diff --git a/data/pokemon/dex_entries/ariados.asm b/data/pokemon/dex_entries/ariados.asm new file mode 100644 index 000000000..a27d13fef --- /dev/null +++ b/data/pokemon/dex_entries/ariados.asm @@ -0,0 +1,10 @@ +; AriadosPokedexEntry: ; 0x1cd083 + db "LONG LEG@" ; species name + dw 307, 740 ; height, weight + + db "Rather than mak-" + next "ing a nest in one" + next "specific spot, it" + page "wanders in search" + next "of food after" + next "darkness falls.@" diff --git a/data/pokemon/dex_entries/articuno.asm b/data/pokemon/dex_entries/articuno.asm new file mode 100644 index 000000000..92b297d28 --- /dev/null +++ b/data/pokemon/dex_entries/articuno.asm @@ -0,0 +1,10 @@ +; ArticunoPokedexEntry: ; 0x1cc632 + db "FREEZE@" ; species name + dw 507, 1220 ; height, weight + + db "Legendary bird" + next "#MON. As it" + next "flies through the" + page "sky, it cools the" + next "air, causing snow" + next "to fall.@" diff --git a/data/pokemon/dex_entries/azumarill.asm b/data/pokemon/dex_entries/azumarill.asm new file mode 100644 index 000000000..bdbc83d1d --- /dev/null +++ b/data/pokemon/dex_entries/azumarill.asm @@ -0,0 +1,10 @@ +; AzumarillPokedexEntry: ; 0x1cd771 + db "AQUARABBIT@" ; species name + dw 207, 630 ; height, weight + + db "The bubble-like" + next "pattern on its" + next "stomach helps it" + page "camouflage itself" + next "when it's in the" + next "water.@" diff --git a/data/pokemon/dex_entries/bayleef.asm b/data/pokemon/dex_entries/bayleef.asm new file mode 100644 index 000000000..ac66dccd5 --- /dev/null +++ b/data/pokemon/dex_entries/bayleef.asm @@ -0,0 +1,10 @@ +; BayleefPokedexEntry: ; 0x1cc9e9 + db "LEAF@" ; species name + dw 311, 350 ; height, weight + + db "The scent that" + next "wafts from the" + next "leaves on its neck" + page "causes anyone who" + next "smells it to" + next "become energetic.@" diff --git a/data/pokemon/dex_entries/beedrill.asm b/data/pokemon/dex_entries/beedrill.asm new file mode 100644 index 000000000..505396ca1 --- /dev/null +++ b/data/pokemon/dex_entries/beedrill.asm @@ -0,0 +1,10 @@ +; BeedrillPokedexEntry: ; 0x181c8a + db "POISON BEE@" ; species name + dw 303, 650 ; height, weight + + db "It uses sharp," + next "poisonous stings" + next "to defeat prey," + page "then takes the" + next "victim back to its" + next "nest for food.@" diff --git a/data/pokemon/dex_entries/bellossom.asm b/data/pokemon/dex_entries/bellossom.asm new file mode 100644 index 000000000..0d13ed65d --- /dev/null +++ b/data/pokemon/dex_entries/bellossom.asm @@ -0,0 +1,10 @@ +; BellossomPokedexEntry: ; 0x1cd69a + db "FLOWER@" ; species name + dw 104, 130 ; height, weight + + db "When these dance" + next "together, their" + next "petals rub against" + page "each other," + next "making pretty," + next "relaxing sounds.@" diff --git a/data/pokemon/dex_entries/bellsprout.asm b/data/pokemon/dex_entries/bellsprout.asm new file mode 100644 index 000000000..fcd42c125 --- /dev/null +++ b/data/pokemon/dex_entries/bellsprout.asm @@ -0,0 +1,10 @@ +; BellsproutPokedexEntry: ; 0x1b81a1 + db "FLOWER@" ; species name + dw 204, 90 ; height, weight + + db "If it notices" + next "anything that" + next "moves, it" + page "immediately flings" + next "its vine at the" + next "object.@" diff --git a/data/pokemon/dex_entries/blastoise.asm b/data/pokemon/dex_entries/blastoise.asm new file mode 100644 index 000000000..ea2a18d05 --- /dev/null +++ b/data/pokemon/dex_entries/blastoise.asm @@ -0,0 +1,10 @@ +; BlastoisePokedexEntry: ; 0x1819f9 + db "SHELLFISH@" ; species name + dw 503, 1890 ; height, weight + + db "It firmly plants" + next "its feet on the" + next "ground before" + page "shooting water" + next "from the jets on" + next "its back.@" diff --git a/data/pokemon/dex_entries/blissey.asm b/data/pokemon/dex_entries/blissey.asm new file mode 100644 index 000000000..10151a398 --- /dev/null +++ b/data/pokemon/dex_entries/blissey.asm @@ -0,0 +1,10 @@ +; BlisseyPokedexEntry: ; 0x1d14f7 + db "HAPPINESS@" ; species name + dw 411, 1030 ; height, weight + + db "Biting into one" + next "of the delicious" + next "eggs that BLISSEY" + page "provides will make" + next "everyone around" + next "smile with joy.@" diff --git a/data/pokemon/dex_entries/bulbasaur.asm b/data/pokemon/dex_entries/bulbasaur.asm new file mode 100644 index 000000000..fdfe39c8c --- /dev/null +++ b/data/pokemon/dex_entries/bulbasaur.asm @@ -0,0 +1,10 @@ +; BulbasaurPokedexEntry: ; 0x181695 + db "SEED@" ; species name + dw 204, 150 ; height, weight + + db "While it is young," + next "it uses the" + next "nutrients that are" + page "stored in the" + next "seeds on its back" + next "in order to grow.@" diff --git a/data/pokemon/dex_entries/butterfree.asm b/data/pokemon/dex_entries/butterfree.asm new file mode 100644 index 000000000..edf9e2599 --- /dev/null +++ b/data/pokemon/dex_entries/butterfree.asm @@ -0,0 +1,10 @@ +; ButterfreePokedexEntry: ; 0x181b45 + db "BUTTERFLY@" ; species name + dw 307, 710 ; height, weight + + db "It flits from" + next "flower to flower," + next "collecting honey." + page "It can even" + next "identify distant" + next "flowers in bloom.@" diff --git a/data/pokemon/dex_entries/caterpie.asm b/data/pokemon/dex_entries/caterpie.asm new file mode 100644 index 000000000..940aa014f --- /dev/null +++ b/data/pokemon/dex_entries/caterpie.asm @@ -0,0 +1,10 @@ +; CaterpiePokedexEntry: ; 0x181a60 + db "WORM@" ; species name + dw 100, 60 ; height, weight + + db "It crawls into" + next "foliage where it" + next "camouflages itself" + page "among leaves that" + next "are the same color" + next "as its body.@" diff --git a/data/pokemon/dex_entries/celebi.asm b/data/pokemon/dex_entries/celebi.asm new file mode 100644 index 000000000..3922d1749 --- /dev/null +++ b/data/pokemon/dex_entries/celebi.asm @@ -0,0 +1,10 @@ +; CelebiPokedexEntry: ; 0x1d18cc + db "TIMETRAVEL@" ; species name + dw 200, 110 ; height, weight + + db "Revered as a" + next "guardian of the" + next "forest, CELEBI" + page "appears wherever" + next "beautiful forests" + next "exist.@" diff --git a/data/pokemon/dex_entries/chansey.asm b/data/pokemon/dex_entries/chansey.asm new file mode 100644 index 000000000..fd45cf121 --- /dev/null +++ b/data/pokemon/dex_entries/chansey.asm @@ -0,0 +1,10 @@ +; ChanseyPokedexEntry: ; 0x1b942e + db "EGG@" ; species name + dw 307, 760 ; height, weight + + db "People try to" + next "catch it for its" + next "extremely" + page "nutritious eggs," + next "but it rarely can" + next "be found.@" diff --git a/data/pokemon/dex_entries/charizard.asm b/data/pokemon/dex_entries/charizard.asm new file mode 100644 index 000000000..53a542fb5 --- /dev/null +++ b/data/pokemon/dex_entries/charizard.asm @@ -0,0 +1,10 @@ +; CharizardPokedexEntry: ; 0x1818b3 + db "FLAME@" ; species name + dw 507, 2000 ; height, weight + + db "It uses its wings" + next "to fly high. The" + next "temperature of its" + page "fire increases as" + next "it gains exper-" + next "ience in battle.@" diff --git a/data/pokemon/dex_entries/charmander.asm b/data/pokemon/dex_entries/charmander.asm new file mode 100644 index 000000000..a89b138f8 --- /dev/null +++ b/data/pokemon/dex_entries/charmander.asm @@ -0,0 +1,10 @@ +; CharmanderPokedexEntry: ; 0x1817db + db "LIZARD@" ; species name + dw 200, 190 ; height, weight + + db "If it's healthy," + next "the flame on the" + next "tip of its tail" + page "will burn vigor-" + next "ously, even if it" + next "gets a bit wet.@" diff --git a/data/pokemon/dex_entries/charmeleon.asm b/data/pokemon/dex_entries/charmeleon.asm new file mode 100644 index 000000000..2891764c3 --- /dev/null +++ b/data/pokemon/dex_entries/charmeleon.asm @@ -0,0 +1,10 @@ +; CharmeleonPokedexEntry: ; 0x18184a + db "FLAME@" ; species name + dw 307, 420 ; height, weight + + db "If it becomes" + next "agitated during" + next "battle, it spouts" + page "intense flames," + next "incinerating its" + next "surroundings.@" diff --git a/data/pokemon/dex_entries/chikorita.asm b/data/pokemon/dex_entries/chikorita.asm new file mode 100644 index 000000000..3ba17e1f8 --- /dev/null +++ b/data/pokemon/dex_entries/chikorita.asm @@ -0,0 +1,10 @@ +; ChikoritaPokedexEntry: ; 0x1cc988 + db "LEAF@" ; species name + dw 211, 140 ; height, weight + + db "It loves to bask" + next "in the sunlight." + next "It uses the leaf" + page "on its head to" + next "seek out warm" + next "places.@" diff --git a/data/pokemon/dex_entries/chinchou.asm b/data/pokemon/dex_entries/chinchou.asm new file mode 100644 index 000000000..22d887859 --- /dev/null +++ b/data/pokemon/dex_entries/chinchou.asm @@ -0,0 +1,10 @@ +; ChinchouPokedexEntry: ; 0x1cd165 + db "ANGLER@" ; species name + dw 108, 260 ; height, weight + + db "Its antennae, whi-" + next "ch evolved from a" + next "fin, have both po-" + page "sitive and neg-" + next "ative charges flo-" + next "wing through them.@" diff --git a/data/pokemon/dex_entries/clefable.asm b/data/pokemon/dex_entries/clefable.asm new file mode 100644 index 000000000..240d70eb5 --- /dev/null +++ b/data/pokemon/dex_entries/clefable.asm @@ -0,0 +1,10 @@ +; ClefablePokedexEntry: ; 0x182530 + db "FAIRY@" ; species name + dw 403, 880 ; height, weight + + db "Said to live in" + next "quiet, remote" + next "mountains, this" + page "type of fairy has" + next "a strong aversion" + next "to being seen.@" diff --git a/data/pokemon/dex_entries/clefairy.asm b/data/pokemon/dex_entries/clefairy.asm new file mode 100644 index 000000000..b5973b21a --- /dev/null +++ b/data/pokemon/dex_entries/clefairy.asm @@ -0,0 +1,10 @@ +; ClefairyPokedexEntry: ; 0x1824c8 + db "FAIRY@" ; species name + dw 200, 170 ; height, weight + + db "Though rarely" + next "seen, it becomes" + next "easier to spot," + page "for some reason," + next "on the night of a " + next "full moon.@" diff --git a/data/pokemon/dex_entries/cleffa.asm b/data/pokemon/dex_entries/cleffa.asm new file mode 100644 index 000000000..897bb2501 --- /dev/null +++ b/data/pokemon/dex_entries/cleffa.asm @@ -0,0 +1,10 @@ +; CleffaPokedexEntry: ; 0x1cd2bc + db "STARSHAPE@" ; species name + dw 100, 70 ; height, weight + + db "If the impact site" + next "of a meteorite is" + next "found, this" + page "#MON is certain" + next "to be within the" + next "immediate area.@" diff --git a/data/pokemon/dex_entries/cloyster.asm b/data/pokemon/dex_entries/cloyster.asm new file mode 100644 index 000000000..b1eaf80b9 --- /dev/null +++ b/data/pokemon/dex_entries/cloyster.asm @@ -0,0 +1,10 @@ +; CloysterPokedexEntry: ; 0x1b8ad9 + db "BIVALVE@" ; species name + dw 411, 2920 ; height, weight + + db "Even a missile" + next "can't break the" + next "spikes it uses to" + page "stab opponents." + next "They're even hard-" + next "er than its shell.@" diff --git a/data/pokemon/dex_entries/corsola.asm b/data/pokemon/dex_entries/corsola.asm new file mode 100644 index 000000000..52fbd0c44 --- /dev/null +++ b/data/pokemon/dex_entries/corsola.asm @@ -0,0 +1,10 @@ +; CorsolaPokedexEntry: ; 0x1d0c68 + db "CORAL@" ; species name + dw 200, 110 ; height, weight + + db "The points on its" + next "head absorb" + next "nutrients from" + page "clean water. They" + next "cannot survive in" + next "polluted water.@" diff --git a/data/pokemon/dex_entries/crobat.asm b/data/pokemon/dex_entries/crobat.asm new file mode 100644 index 000000000..107683110 --- /dev/null +++ b/data/pokemon/dex_entries/crobat.asm @@ -0,0 +1,10 @@ +; CrobatPokedexEntry: ; 0x1cd0f5 + db "BAT@" ; species name + dw 511, 1650 ; height, weight + + db "As a result of its" + next "pursuit of faster," + next "yet more silent" + page "flight, a new set" + next "of wings grew on" + next "its hind legs.@" diff --git a/data/pokemon/dex_entries/croconaw.asm b/data/pokemon/dex_entries/croconaw.asm new file mode 100644 index 000000000..0edcf80cc --- /dev/null +++ b/data/pokemon/dex_entries/croconaw.asm @@ -0,0 +1,10 @@ +; CroconawPokedexEntry: ; 0x1ccc84 + db "BIG JAW@" ; species name + dw 307, 550 ; height, weight + + db "The tips of its" + next "fangs are slanted" + next "backward. Once" + page "those fangs clamp" + next "down, the prey has" + next "no hope of escape.@" diff --git a/data/pokemon/dex_entries/cubone.asm b/data/pokemon/dex_entries/cubone.asm new file mode 100644 index 000000000..911377864 --- /dev/null +++ b/data/pokemon/dex_entries/cubone.asm @@ -0,0 +1,10 @@ +; CubonePokedexEntry: ; 0x1b9068 + db "LONELY@" ; species name + dw 104, 140 ; height, weight + + db "It lost its mother" + next "after its birth." + next "It wears its" + page "mother's skull," + next "never revealing" + next "its true face.@" diff --git a/data/pokemon/dex_entries/cyndaquil.asm b/data/pokemon/dex_entries/cyndaquil.asm new file mode 100644 index 000000000..47329d37f --- /dev/null +++ b/data/pokemon/dex_entries/cyndaquil.asm @@ -0,0 +1,10 @@ +; CyndaquilPokedexEntry: ; 0x1ccabd + db "FIRE MOUSE@" ; species name + dw 108, 170 ; height, weight + + db "The fire that" + next "spouts from its" + next "back burns hottest" + page "when it is angry." + next "The flaring flames" + next "intimidate foes.@" diff --git a/data/pokemon/dex_entries/delibird.asm b/data/pokemon/dex_entries/delibird.asm new file mode 100644 index 000000000..2c998d8be --- /dev/null +++ b/data/pokemon/dex_entries/delibird.asm @@ -0,0 +1,10 @@ +; DelibirdPokedexEntry: ; 0x1d0db1 + db "DELIVERY@" ; species name + dw 211, 350 ; height, weight + + db "It always carries" + next "its food with it," + next "wherever it goes." + page "If attacked, it" + next "throws its food at" + next "the opponent.@" diff --git a/data/pokemon/dex_entries/dewgong.asm b/data/pokemon/dex_entries/dewgong.asm new file mode 100644 index 000000000..a3ff9b6f5 --- /dev/null +++ b/data/pokemon/dex_entries/dewgong.asm @@ -0,0 +1,10 @@ +; DewgongPokedexEntry: ; 0x1b8934 + db "SEA LION@" ; species name + dw 507, 2650 ; height, weight + + db "It sleeps under" + next "shallow ocean" + next "waters during the" + page "day, then looks" + next "for food at night" + next "when it's cold.@" diff --git a/data/pokemon/dex_entries/diglett.asm b/data/pokemon/dex_entries/diglett.asm new file mode 100644 index 000000000..469d9311d --- /dev/null +++ b/data/pokemon/dex_entries/diglett.asm @@ -0,0 +1,10 @@ +; DiglettPokedexEntry: ; 0x182b30 + db "MOLE@" ; species name + dw 8, 20 ; height, weight + + db "It digs under-" + next "ground and chews" + next "on tree roots," + page "sticking its head" + next "out only when the" + next "sun isn't bright.@" diff --git a/data/pokemon/dex_entries/ditto.asm b/data/pokemon/dex_entries/ditto.asm new file mode 100644 index 000000000..5a838b5b8 --- /dev/null +++ b/data/pokemon/dex_entries/ditto.asm @@ -0,0 +1,10 @@ +; DittoPokedexEntry: ; 0x1cc13c + db "TRANSFORM@" ; species name + dw 100, 90 ; height, weight + + db "When it encount-" + next "ers another DITTO," + next "it will move" + page "faster than normal" + next "to duplicate that" + next "opponent exactly.@" diff --git a/data/pokemon/dex_entries/dodrio.asm b/data/pokemon/dex_entries/dodrio.asm new file mode 100644 index 000000000..ef495b99b --- /dev/null +++ b/data/pokemon/dex_entries/dodrio.asm @@ -0,0 +1,10 @@ +; DodrioPokedexEntry: ; 0x1b884a + db "TRIPLEBIRD@" ; species name + dw 511, 1880 ; height, weight + + db "An enemy that" + next "takes its eyes off" + next "any of the three" + page "heads--even for a" + next "second--will get" + next "pecked severely.@" diff --git a/data/pokemon/dex_entries/doduo.asm b/data/pokemon/dex_entries/doduo.asm new file mode 100644 index 000000000..124469457 --- /dev/null +++ b/data/pokemon/dex_entries/doduo.asm @@ -0,0 +1,10 @@ +; DoduoPokedexEntry: ; 0x1b87d7 + db "TWIN BIRD@" ; species name + dw 407, 860 ; height, weight + + db "It lives on a" + next "grassy plain where" + next "it can see a long" + page "way. If it sees an" + next "enemy, it runs" + next "away at 60 mph.@" diff --git a/data/pokemon/dex_entries/donphan.asm b/data/pokemon/dex_entries/donphan.asm new file mode 100644 index 000000000..4dc489938 --- /dev/null +++ b/data/pokemon/dex_entries/donphan.asm @@ -0,0 +1,10 @@ +; DonphanPokedexEntry: ; 0x1d10ac + db "ARMOR@" ; species name + dw 307, 2650 ; height, weight + + db "Because this" + next "#MON's skin is" + next "so tough, a normal" + page "attack won't even" + next "leave a scratch on" + next "it.@" diff --git a/data/pokemon/dex_entries/dragonair.asm b/data/pokemon/dex_entries/dragonair.asm new file mode 100644 index 000000000..cef4f8f29 --- /dev/null +++ b/data/pokemon/dex_entries/dragonair.asm @@ -0,0 +1,10 @@ +; DragonairPokedexEntry: ; 0x1cc7dc + db "DRAGON@" ; species name + dw 1301, 360 ; height, weight + + db "It is called the" + next "divine #MON." + next "When its entire" + page "body brightens" + next "slightly, the" + next "weather changes.@" diff --git a/data/pokemon/dex_entries/dragonite.asm b/data/pokemon/dex_entries/dragonite.asm new file mode 100644 index 000000000..bbbc6cff0 --- /dev/null +++ b/data/pokemon/dex_entries/dragonite.asm @@ -0,0 +1,10 @@ +; DragonitePokedexEntry: ; 0x1cc843 + db "DRAGON@" ; species name + dw 703, 4630 ; height, weight + + db "It is said that" + next "somewhere in the" + next "ocean lies an" + page "island where these" + next "gather. Only they" + next "live there.@" diff --git a/data/pokemon/dex_entries/dratini.asm b/data/pokemon/dex_entries/dratini.asm new file mode 100644 index 000000000..ef16aa20c --- /dev/null +++ b/data/pokemon/dex_entries/dratini.asm @@ -0,0 +1,10 @@ +; DratiniPokedexEntry: ; 0x1cc761 + db "DRAGON@" ; species name + dw 511, 70 ; height, weight + + db "It sheds many lay-" + next "ers of skin as it" + next "grows larger. Dur-" + page "ing this process," + next "it is protected by" + next "a rapid waterfall.@" diff --git a/data/pokemon/dex_entries/drowzee.asm b/data/pokemon/dex_entries/drowzee.asm new file mode 100644 index 000000000..34ae54435 --- /dev/null +++ b/data/pokemon/dex_entries/drowzee.asm @@ -0,0 +1,10 @@ +; DrowzeePokedexEntry: ; 0x1b8d0a + db "HYPNOSIS@" ; species name + dw 303, 710 ; height, weight + + db "When it twitches" + next "its nose, it can" + next "tell where someone" + page "is sleeping and" + next "what that person" + next "is dreaming about.@" diff --git a/data/pokemon/dex_entries/dugtrio.asm b/data/pokemon/dex_entries/dugtrio.asm new file mode 100644 index 000000000..829e2aa09 --- /dev/null +++ b/data/pokemon/dex_entries/dugtrio.asm @@ -0,0 +1,10 @@ +; DugtrioPokedexEntry: ; 0x182b9d + db "MOLE@" ; species name + dw 204, 730 ; height, weight + + db "These DIGLETT" + next "triplets dig over" + next "60 miles below sea" + page "level. No one" + next "knows what it's" + next "like underground.@" diff --git a/data/pokemon/dex_entries/dunsparce.asm b/data/pokemon/dex_entries/dunsparce.asm new file mode 100644 index 000000000..7a9d812f3 --- /dev/null +++ b/data/pokemon/dex_entries/dunsparce.asm @@ -0,0 +1,10 @@ +; DunsparcePokedexEntry: ; 0x1d0593 + db "LAND SNAKE@" ; species name + dw 411, 310 ; height, weight + + db "It hides deep" + next "inside caves where" + next "no light ever" + page "reaches it and" + next "remains virtually" + next "motionless there.@" diff --git a/data/pokemon/dex_entries/eevee.asm b/data/pokemon/dex_entries/eevee.asm new file mode 100644 index 000000000..3081a5829 --- /dev/null +++ b/data/pokemon/dex_entries/eevee.asm @@ -0,0 +1,10 @@ +; EeveePokedexEntry: ; 0x1cc1b2 + db "EVOLUTION@" ; species name + dw 100, 140 ; height, weight + + db "Its ability to" + next "evolve into many" + next "forms allows it to" + page "adapt smoothly" + next "and perfectly to" + next "any environment.@" diff --git a/data/pokemon/dex_entries/ekans.asm b/data/pokemon/dex_entries/ekans.asm new file mode 100644 index 000000000..23faa4854 --- /dev/null +++ b/data/pokemon/dex_entries/ekans.asm @@ -0,0 +1,10 @@ +; EkansPokedexEntry: ; 0x181fd4 + db "SNAKE@" ; species name + dw 607, 150 ; height, weight + + db "It flutters the" + next "tip of its tongue" + next "to seek out the" + page "scent of prey," + next "then swallows the" + next "prey whole.@" diff --git a/data/pokemon/dex_entries/electabuzz.asm b/data/pokemon/dex_entries/electabuzz.asm new file mode 100644 index 000000000..e6bf15587 --- /dev/null +++ b/data/pokemon/dex_entries/electabuzz.asm @@ -0,0 +1,10 @@ +; ElectabuzzPokedexEntry: ; 0x1b992a + db "ELECTRIC@" ; species name + dw 307, 660 ; height, weight + + db "When two" + next "ELECTABUZZ touch," + next "they control the" + page "electric currents" + next "to communicate" + next "their feelings.@" diff --git a/data/pokemon/dex_entries/electrode.asm b/data/pokemon/dex_entries/electrode.asm new file mode 100644 index 000000000..48d523c69 --- /dev/null +++ b/data/pokemon/dex_entries/electrode.asm @@ -0,0 +1,10 @@ +; ElectrodePokedexEntry: ; 0x1b8f19 + db "BALL@" ; species name + dw 311, 1470 ; height, weight + + db "The more energy it" + next "charges up, the" + next "faster it gets." + page "But this also" + next "makes it more" + next "likely to explode.@" diff --git a/data/pokemon/dex_entries/elekid.asm b/data/pokemon/dex_entries/elekid.asm new file mode 100644 index 000000000..6a046bda4 --- /dev/null +++ b/data/pokemon/dex_entries/elekid.asm @@ -0,0 +1,10 @@ +; ElekidPokedexEntry: ; 0x1d1398 + db "ELECTRIC@" ; species name + dw 200, 520 ; height, weight + + db "It loves violent" + next "thunder. The space" + next "between its horns" + page "flickers bluish-" + next "white when it is" + next "charging energy.@" diff --git a/data/pokemon/dex_entries/entei.asm b/data/pokemon/dex_entries/entei.asm new file mode 100644 index 000000000..3784a898c --- /dev/null +++ b/data/pokemon/dex_entries/entei.asm @@ -0,0 +1,10 @@ +; EnteiPokedexEntry: ; 0x1d15dd + db "VOLCANO@" ; species name + dw 607, 4370 ; height, weight + + db "This brawny" + next "#MON courses" + next "around the earth," + page "spouting flames" + next "hotter than a" + next "volcano's magma.@" diff --git a/data/pokemon/dex_entries/espeon.asm b/data/pokemon/dex_entries/espeon.asm new file mode 100644 index 000000000..059b01fbe --- /dev/null +++ b/data/pokemon/dex_entries/espeon.asm @@ -0,0 +1,10 @@ +; EspeonPokedexEntry: ; 0x1d0155 + db "SUN@" ; species name + dw 211, 580 ; height, weight + + db "The tip of its" + next "forked tail" + next "quivers when it is" + page "predicting its" + next "opponent's next" + next "move.@" diff --git a/data/pokemon/dex_entries/exeggcute.asm b/data/pokemon/dex_entries/exeggcute.asm new file mode 100644 index 000000000..01453955e --- /dev/null +++ b/data/pokemon/dex_entries/exeggcute.asm @@ -0,0 +1,10 @@ +; ExeggcutePokedexEntry: ; 0x1b8f84 + db "EGG@" ; species name + dw 104, 60 ; height, weight + + db "If even one is" + next "separated from the" + next "group, the energy" + page "bond between the" + next "six will make them" + next "rejoin instantly.@" diff --git a/data/pokemon/dex_entries/exeggutor.asm b/data/pokemon/dex_entries/exeggutor.asm new file mode 100644 index 000000000..abefffd69 --- /dev/null +++ b/data/pokemon/dex_entries/exeggutor.asm @@ -0,0 +1,10 @@ +; ExeggutorPokedexEntry: ; 0x1b8ff6 + db "COCONUT@" ; species name + dw 607, 2650 ; height, weight + + db "Living in a good" + next "environment makes" + next "it grow lots of" + page "heads. A head that" + next "drops off becomes" + next "an EXEGGCUTE.@" diff --git a/data/pokemon/dex_entries/farfetch_d.asm b/data/pokemon/dex_entries/farfetch_d.asm new file mode 100644 index 000000000..c9e756a6a --- /dev/null +++ b/data/pokemon/dex_entries/farfetch_d.asm @@ -0,0 +1,10 @@ +; FarfetchDPokedexEntry: ; 0x1b876c + db "WILD DUCK@" ; species name + dw 207, 330 ; height, weight + + db "In order to pre-" + next "vent their" + next "extinction, more" + page "people have made" + next "an effort to breed" + next "these #MON.@" diff --git a/data/pokemon/dex_entries/fearow.asm b/data/pokemon/dex_entries/fearow.asm new file mode 100644 index 000000000..90de6a612 --- /dev/null +++ b/data/pokemon/dex_entries/fearow.asm @@ -0,0 +1,10 @@ +; FearowPokedexEntry: ; 0x181f64 + db "BEAK@" ; species name + dw 311, 840 ; height, weight + + db "It uses its long" + next "beak to attack. It" + next "has a surprisingly" + page "long reach, so it" + next "must be treated" + next "with caution.@" diff --git a/data/pokemon/dex_entries/feraligatr.asm b/data/pokemon/dex_entries/feraligatr.asm new file mode 100644 index 000000000..cb3672c92 --- /dev/null +++ b/data/pokemon/dex_entries/feraligatr.asm @@ -0,0 +1,10 @@ +; FeraligatrPokedexEntry: ; 0x1cccf9 + db "BIG JAW@" ; species name + dw 707, 1960 ; height, weight + + db "Although it has a" + next "massive body, its" + next "powerful hind legs" + page "enable it to move" + next "quickly, even on" + next "the ground.@" diff --git a/data/pokemon/dex_entries/flaaffy.asm b/data/pokemon/dex_entries/flaaffy.asm new file mode 100644 index 000000000..04bcc0668 --- /dev/null +++ b/data/pokemon/dex_entries/flaaffy.asm @@ -0,0 +1,10 @@ +; FlaaffyPokedexEntry: ; 0x1cd5b8 + db "WOOL@" ; species name + dw 207, 290 ; height, weight + + db "Because of its" + next "rubbery, electric-" + next "ity-resistant" + page "skin, it can store" + next "lots of electric-" + next "ity in its fur.@" diff --git a/data/pokemon/dex_entries/flareon.asm b/data/pokemon/dex_entries/flareon.asm new file mode 100644 index 000000000..ba3e0399d --- /dev/null +++ b/data/pokemon/dex_entries/flareon.asm @@ -0,0 +1,10 @@ +; FlareonPokedexEntry: ; 0x1cc2ec + db "FLAME@" ; species name + dw 211, 550 ; height, weight + + db "Once it has stored" + next "up enough heat," + next "this #MON's" + page "body temperature" + next "can reach up to" + next "1700 degrees.@" diff --git a/data/pokemon/dex_entries/forretress.asm b/data/pokemon/dex_entries/forretress.asm new file mode 100644 index 000000000..8644b4b39 --- /dev/null +++ b/data/pokemon/dex_entries/forretress.asm @@ -0,0 +1,10 @@ +; ForretressPokedexEntry: ; 0x1d0524 + db "BAGWORM@" ; species name + dw 311, 2770 ; height, weight + + db "Usually found" + next "hanging on to a" + next "fat tree trunk. It" + page "shoots out bits of" + next "its shell when it" + next "sees action.@" diff --git a/data/pokemon/dex_entries/furret.asm b/data/pokemon/dex_entries/furret.asm new file mode 100644 index 000000000..653a3dead --- /dev/null +++ b/data/pokemon/dex_entries/furret.asm @@ -0,0 +1,10 @@ +; FurretPokedexEntry: ; 0x1ccddd + db "LONG BODY@" ; species name + dw 511, 720 ; height, weight + + db "It lives in narrow" + next "burrows that fit" + next "its slim body. The" + page "deeper the nests" + next "go, the more maze-" + next "like they become.@" diff --git a/data/pokemon/dex_entries/gastly.asm b/data/pokemon/dex_entries/gastly.asm new file mode 100644 index 000000000..db7f6d57d --- /dev/null +++ b/data/pokemon/dex_entries/gastly.asm @@ -0,0 +1,10 @@ +; GastlyPokedexEntry: ; 0x1b8b4a + db "GAS@" ; species name + dw 403, 2 ; height, weight + + db "It wraps its op-" + next "ponent in its gas-" + next "like body, slowly" + page "weakening its prey" + next "by poisoning it" + next "through the skin.@" diff --git a/data/pokemon/dex_entries/gengar.asm b/data/pokemon/dex_entries/gengar.asm new file mode 100644 index 000000000..e9650fb39 --- /dev/null +++ b/data/pokemon/dex_entries/gengar.asm @@ -0,0 +1,10 @@ +; GengarPokedexEntry: ; 0x1b8c25 + db "SHADOW@" ; species name + dw 411, 890 ; height, weight + + db "Hiding in people's" + next "shadows at night," + next "it absorbs their" + page "heat. The chill it" + next "causes makes the" + next "victims shake.@" diff --git a/data/pokemon/dex_entries/geodude.asm b/data/pokemon/dex_entries/geodude.asm new file mode 100644 index 000000000..389ce042a --- /dev/null +++ b/data/pokemon/dex_entries/geodude.asm @@ -0,0 +1,10 @@ +; GeodudePokedexEntry: ; 0x1b83a1 + db "ROCK@" ; species name + dw 104, 440 ; height, weight + + db "Proud of their" + next "sturdy bodies," + next "they bash against" + page "each other in a" + next "contest to prove" + next "whose is harder.@" diff --git a/data/pokemon/dex_entries/girafarig.asm b/data/pokemon/dex_entries/girafarig.asm new file mode 100644 index 000000000..527aa9807 --- /dev/null +++ b/data/pokemon/dex_entries/girafarig.asm @@ -0,0 +1,10 @@ +; GirafarigPokedexEntry: ; 0x1d0446 + db "LONG NECK@" ; species name + dw 411, 910 ; height, weight + + db "When it is in" + next "danger, its tail" + next "uses some sort of" + page "mysterious powers" + next "to drive away the" + next "enemy.@" diff --git a/data/pokemon/dex_entries/gligar.asm b/data/pokemon/dex_entries/gligar.asm new file mode 100644 index 000000000..43c4c95ce --- /dev/null +++ b/data/pokemon/dex_entries/gligar.asm @@ -0,0 +1,10 @@ +; GligarPokedexEntry: ; 0x1d0604 + db "FLYSCORPIO@" ; species name + dw 307, 1430 ; height, weight + + db "It builds its nest" + next "on a steep cliff." + next "When it is done" + page "gliding, it hops" + next "along the ground" + next "back to its nest.@" diff --git a/data/pokemon/dex_entries/gloom.asm b/data/pokemon/dex_entries/gloom.asm new file mode 100644 index 000000000..0552a8d0c --- /dev/null +++ b/data/pokemon/dex_entries/gloom.asm @@ -0,0 +1,10 @@ +; GloomPokedexEntry: ; 0x1828a6 + db "WEED@" ; species name + dw 207, 190 ; height, weight + + db "The smell from its" + next "drool-like syrup" + next "and the pollen on" + page "its petals is so" + next "bad, it may make" + next "opponents faint.@" diff --git a/data/pokemon/dex_entries/golbat.asm b/data/pokemon/dex_entries/golbat.asm new file mode 100644 index 000000000..434108bf4 --- /dev/null +++ b/data/pokemon/dex_entries/golbat.asm @@ -0,0 +1,10 @@ +; GolbatPokedexEntry: ; 0x1827c4 + db "BAT@" ; species name + dw 503, 1210 ; height, weight + + db "When it plunges" + next "its fangs into its" + next "prey, it instantly" + page "draws and gulps" + next "down more than ten" + next "ounces of blood.@" diff --git a/data/pokemon/dex_entries/goldeen.asm b/data/pokemon/dex_entries/goldeen.asm new file mode 100644 index 000000000..101edf434 --- /dev/null +++ b/data/pokemon/dex_entries/goldeen.asm @@ -0,0 +1,10 @@ +; GoldeenPokedexEntry: ; 0x1b9626 + db "GOLDFISH@" ; species name + dw 200, 330 ; height, weight + + db "During spawning" + next "season, they swim" + next "gracefully in the" + page "water, searching" + next "for their perfect" + next "mate.@" diff --git a/data/pokemon/dex_entries/golduck.asm b/data/pokemon/dex_entries/golduck.asm new file mode 100644 index 000000000..b38cfd2dc --- /dev/null +++ b/data/pokemon/dex_entries/golduck.asm @@ -0,0 +1,10 @@ +; GolduckPokedexEntry: ; 0x182d55 + db "DUCK@" ; species name + dw 507, 1690 ; height, weight + + db "It swims grace-" + next "fully along on the" + next "quiet, slow-moving" + page "rivers and lakes" + next "of which it is so" + next "fond.@" diff --git a/data/pokemon/dex_entries/golem.asm b/data/pokemon/dex_entries/golem.asm new file mode 100644 index 000000000..dbb5a8e3d --- /dev/null +++ b/data/pokemon/dex_entries/golem.asm @@ -0,0 +1,10 @@ +; GolemPokedexEntry: ; 0x1b8481 + db "MEGATON@" ; species name + dw 407, 6620 ; height, weight + + db "Its rock-like body" + next "is so durable," + next "even high-powered" + page "dynamite blasts" + next "fail to scratch" + next "its rugged hide.@" diff --git a/data/pokemon/dex_entries/granbull.asm b/data/pokemon/dex_entries/granbull.asm new file mode 100644 index 000000000..15f3e194c --- /dev/null +++ b/data/pokemon/dex_entries/granbull.asm @@ -0,0 +1,10 @@ +; GranbullPokedexEntry: ; 0x1d074a + db "FAIRY@" ; species name + dw 407, 1070 ; height, weight + + db "It can make most" + next "any #MON run" + next "away simply by" + page "opening its mouth" + next "wide to reveal its" + next "big fangs.@" diff --git a/data/pokemon/dex_entries/graveler.asm b/data/pokemon/dex_entries/graveler.asm new file mode 100644 index 000000000..3bf04148c --- /dev/null +++ b/data/pokemon/dex_entries/graveler.asm @@ -0,0 +1,10 @@ +; GravelerPokedexEntry: ; 0x1b840c + db "ROCK@" ; species name + dw 303, 2320 ; height, weight + + db "It travels by rol-" + next "ling on mountain" + next "paths. If it gains" + page "too much speed, it" + next "stops by running" + next "into huge rocks.@" diff --git a/data/pokemon/dex_entries/grimer.asm b/data/pokemon/dex_entries/grimer.asm new file mode 100644 index 000000000..bda09cf94 --- /dev/null +++ b/data/pokemon/dex_entries/grimer.asm @@ -0,0 +1,10 @@ +; GrimerPokedexEntry: ; 0x1b89a2 + db "SLUDGE@" ; species name + dw 211, 660 ; height, weight + + db "When two of these" + next "#MON's bodies" + next "are combined" + page "together, new" + next "poisons are" + next "created.@" diff --git a/data/pokemon/dex_entries/growlithe.asm b/data/pokemon/dex_entries/growlithe.asm new file mode 100644 index 000000000..cd261d886 --- /dev/null +++ b/data/pokemon/dex_entries/growlithe.asm @@ -0,0 +1,10 @@ +; GrowlithePokedexEntry: ; 0x182eaa + db "PUPPY@" ; species name + dw 204, 420 ; height, weight + + db "It controls a big" + next "territory. If it" + next "detects an unknown" + page "smell, it roars" + next "loudly to force" + next "out the intruder.@" diff --git a/data/pokemon/dex_entries/gyarados.asm b/data/pokemon/dex_entries/gyarados.asm new file mode 100644 index 000000000..767380680 --- /dev/null +++ b/data/pokemon/dex_entries/gyarados.asm @@ -0,0 +1,10 @@ +; GyaradosPokedexEntry: ; 0x1cc065 + db "ATROCIOUS@" ; species name + dw 2104, 5180 ; height, weight + + db "It appears when-" + next "ever there is" + next "world conflict," + page "burning down any" + next "place it travels" + next "through.@" diff --git a/data/pokemon/dex_entries/haunter.asm b/data/pokemon/dex_entries/haunter.asm new file mode 100644 index 000000000..6efe4b15c --- /dev/null +++ b/data/pokemon/dex_entries/haunter.asm @@ -0,0 +1,10 @@ +; HaunterPokedexEntry: ; 0x1b8bbd + db "GAS@" ; species name + dw 503, 2 ; height, weight + + db "It hides in the" + next "dark, planning to" + next "take the life of" + page "the next living" + next "thing that wanders" + next "close by.@" diff --git a/data/pokemon/dex_entries/heracross.asm b/data/pokemon/dex_entries/heracross.asm new file mode 100644 index 000000000..ed709b526 --- /dev/null +++ b/data/pokemon/dex_entries/heracross.asm @@ -0,0 +1,10 @@ +; HeracrossPokedexEntry: ; 0x1d0907 + db "SINGLEHORN@" ; species name + dw 411, 1190 ; height, weight + + db "With its Herculean" + next "powers, it can" + next "easily throw arou-" + page "nd an object that" + next "is 100 times its" + next "own weight.@" diff --git a/data/pokemon/dex_entries/hitmonchan.asm b/data/pokemon/dex_entries/hitmonchan.asm new file mode 100644 index 000000000..e5686b1a5 --- /dev/null +++ b/data/pokemon/dex_entries/hitmonchan.asm @@ -0,0 +1,10 @@ +; HitmonchanPokedexEntry: ; 0x1b91a4 + db "PUNCHING@" ; species name + dw 407, 1110 ; height, weight + + db "To increase the" + next "strength of all" + next "its punch moves," + page "it spins its arms" + next "just before making" + next "contact.@" diff --git a/data/pokemon/dex_entries/hitmonlee.asm b/data/pokemon/dex_entries/hitmonlee.asm new file mode 100644 index 000000000..0215d3bdc --- /dev/null +++ b/data/pokemon/dex_entries/hitmonlee.asm @@ -0,0 +1,10 @@ +; HitmonleePokedexEntry: ; 0x1b913f + db "KICKING@" ; species name + dw 411, 1100 ; height, weight + + db "It is also called" + next "the Kick Master." + next "It uses its" + page "elastic legs to" + next "execute every" + next "known kick.@" diff --git a/data/pokemon/dex_entries/hitmontop.asm b/data/pokemon/dex_entries/hitmontop.asm new file mode 100644 index 000000000..14175ec8a --- /dev/null +++ b/data/pokemon/dex_entries/hitmontop.asm @@ -0,0 +1,10 @@ +; HitmontopPokedexEntry: ; 0x1d12c0 + db "HANDSTAND@" ; species name + dw 407, 1060 ; height, weight + + db "After doing a" + next "handstand to" + next "throw off the" + page "opponent's timing," + next "it presents its" + next "fancy kick moves.@" diff --git a/data/pokemon/dex_entries/ho_oh.asm b/data/pokemon/dex_entries/ho_oh.asm new file mode 100644 index 000000000..1d74cd058 --- /dev/null +++ b/data/pokemon/dex_entries/ho_oh.asm @@ -0,0 +1,10 @@ +; HoOhPokedexEntry: ; 0x1d185d + db "RAINBOW@" ; species name + dw 1206, 4390 ; height, weight + + db "It will reveal" + next "itself before a" + next "pure-hearted" + page "trainer by shining" + next "its bright rain-" + next "bow-colored wings.@" diff --git a/data/pokemon/dex_entries/hoothoot.asm b/data/pokemon/dex_entries/hoothoot.asm new file mode 100644 index 000000000..88039eea8 --- /dev/null +++ b/data/pokemon/dex_entries/hoothoot.asm @@ -0,0 +1,10 @@ +; HoothootPokedexEntry: ; 0x1cce58 + db "OWL@" ; species name + dw 204, 470 ; height, weight + + db "It begins to hoot" + next "at the same time" + next "every day. Some" + page "trainers use them" + next "in place of" + next "clocks.@" diff --git a/data/pokemon/dex_entries/hoppip.asm b/data/pokemon/dex_entries/hoppip.asm new file mode 100644 index 000000000..734ddc766 --- /dev/null +++ b/data/pokemon/dex_entries/hoppip.asm @@ -0,0 +1,10 @@ +; HoppipPokedexEntry: ; 0x1cd8b5 + db "COTTONWEED@" ; species name + dw 104, 10 ; height, weight + + db "It can be carried" + next "away on even the" + next "gentlest breeze." + page "It may even float" + next "all the way to the" + next "next town.@" diff --git a/data/pokemon/dex_entries/horsea.asm b/data/pokemon/dex_entries/horsea.asm new file mode 100644 index 000000000..dd50057e7 --- /dev/null +++ b/data/pokemon/dex_entries/horsea.asm @@ -0,0 +1,10 @@ +; HorseaPokedexEntry: ; 0x1b9553 + db "DRAGON@" ; species name + dw 104, 180 ; height, weight + + db "When they're in a" + next "safe location," + next "they can be seen" + page "playfully tangling" + next "their tails" + next "together.@" diff --git a/data/pokemon/dex_entries/houndoom.asm b/data/pokemon/dex_entries/houndoom.asm new file mode 100644 index 000000000..6a21602f3 --- /dev/null +++ b/data/pokemon/dex_entries/houndoom.asm @@ -0,0 +1,10 @@ +; HoundoomPokedexEntry: ; 0x1d0f66 + db "DARK@" ; species name + dw 407, 770 ; height, weight + + db "The pungent-" + next "smelling flame" + next "that shoots from" + page "its mouth results" + next "from toxins burn-" + next "ing in its body.@" diff --git a/data/pokemon/dex_entries/houndour.asm b/data/pokemon/dex_entries/houndour.asm new file mode 100644 index 000000000..5fa89fe85 --- /dev/null +++ b/data/pokemon/dex_entries/houndour.asm @@ -0,0 +1,10 @@ +; HoundourPokedexEntry: ; 0x1d0eff + db "DARK@" ; species name + dw 200, 240 ; height, weight + + db "Around dawn, its" + next "ominous howl" + next "echoes through the" + page "area to announce" + next "that this is its" + next "territory.@" diff --git a/data/pokemon/dex_entries/hypno.asm b/data/pokemon/dex_entries/hypno.asm new file mode 100644 index 000000000..2309a6bfa --- /dev/null +++ b/data/pokemon/dex_entries/hypno.asm @@ -0,0 +1,10 @@ +; HypnoPokedexEntry: ; 0x1b8d80 + db "HYPNOSIS@" ; species name + dw 503, 1670 ; height, weight + + db "The longer it" + next "swings its" + next "pendulum, the" + page "longer the effects" + next "of its hypnosis" + next "last.@" diff --git a/data/pokemon/dex_entries/igglybuff.asm b/data/pokemon/dex_entries/igglybuff.asm new file mode 100644 index 000000000..aa1c1cabf --- /dev/null +++ b/data/pokemon/dex_entries/igglybuff.asm @@ -0,0 +1,10 @@ +; IgglybuffPokedexEntry: ; 0x1cd32c + db "BALLOON@" ; species name + dw 100, 20 ; height, weight + + db "Instead of walking" + next "with its short" + next "legs, it moves" + page "around by bouncing" + next "on its soft," + next "tender body.@" diff --git a/data/pokemon/dex_entries/ivysaur.asm b/data/pokemon/dex_entries/ivysaur.asm new file mode 100644 index 000000000..66d16d323 --- /dev/null +++ b/data/pokemon/dex_entries/ivysaur.asm @@ -0,0 +1,10 @@ +; IvysaurPokedexEntry: ; 0x181702 + db "SEED@" ; species name + dw 303, 290 ; height, weight + + db "The bulb on its" + next "back grows as it" + next "absorbs nutrients." + page "The bulb gives off" + next "a pleasant aroma" + next "when it blooms.@" diff --git a/data/pokemon/dex_entries/jigglypuff.asm b/data/pokemon/dex_entries/jigglypuff.asm new file mode 100644 index 000000000..01a3b4480 --- /dev/null +++ b/data/pokemon/dex_entries/jigglypuff.asm @@ -0,0 +1,10 @@ +; JigglypuffPokedexEntry: ; 0x182673 + db "BALLOON@" ; species name + dw 108, 120 ; height, weight + + db "It rolls its cute" + next "eyes as it sings a" + next "soothing lullaby." + page "Its gentle song" + next "puts anyone who" + next "hears it to sleep.@" diff --git a/data/pokemon/dex_entries/jolteon.asm b/data/pokemon/dex_entries/jolteon.asm new file mode 100644 index 000000000..9b9149d9a --- /dev/null +++ b/data/pokemon/dex_entries/jolteon.asm @@ -0,0 +1,10 @@ +; JolteonPokedexEntry: ; 0x1cc28b + db "LIGHTNING@" ; species name + dw 207, 540 ; height, weight + + db "The negatively" + next "charged ions" + next "generated in its" + page "fur create a" + next "constant sparking" + next "noise.@" diff --git a/data/pokemon/dex_entries/jumpluff.asm b/data/pokemon/dex_entries/jumpluff.asm new file mode 100644 index 000000000..0aade0b75 --- /dev/null +++ b/data/pokemon/dex_entries/jumpluff.asm @@ -0,0 +1,10 @@ +; JumpluffPokedexEntry: ; 0x1cd998 + db "COTTONWEED@" ; species name + dw 207, 70 ; height, weight + + db "Even in the fierc-" + next "est wind, it can" + next "control its fluff" + page "to make its way to" + next "any place in the" + next "world it wants.@" diff --git a/data/pokemon/dex_entries/jynx.asm b/data/pokemon/dex_entries/jynx.asm new file mode 100644 index 000000000..b4b9eac8c --- /dev/null +++ b/data/pokemon/dex_entries/jynx.asm @@ -0,0 +1,10 @@ +; JynxPokedexEntry: ; 0x1b98c5 + db "HUMANSHAPE@" ; species name + dw 407, 900 ; height, weight + + db "It has several" + next "different cry pat-" + next "terns, each of" + page "which seems to" + next "have its own" + next "meaning.@" diff --git a/data/pokemon/dex_entries/kabuto.asm b/data/pokemon/dex_entries/kabuto.asm new file mode 100644 index 000000000..9231fb9be --- /dev/null +++ b/data/pokemon/dex_entries/kabuto.asm @@ -0,0 +1,10 @@ +; KabutoPokedexEntry: ; 0x1cc497 + db "SHELLFISH@" ; species name + dw 108, 250 ; height, weight + + db "Three hundred" + next "million years ago," + next "it hid on the sea" + page "floor. It also has" + next "eyes on its back" + next "that glow.@" diff --git a/data/pokemon/dex_entries/kabutops.asm b/data/pokemon/dex_entries/kabutops.asm new file mode 100644 index 000000000..8f5e1348b --- /dev/null +++ b/data/pokemon/dex_entries/kabutops.asm @@ -0,0 +1,10 @@ +; KabutopsPokedexEntry: ; 0x1cc507 + db "SHELLFISH@" ; species name + dw 403, 890 ; height, weight + + db "It was able to" + next "swim quickly thro-" + next "ugh the water by" + page "compactly folding" + next "up its razor-sharp" + next "sickles.@" diff --git a/data/pokemon/dex_entries/kadabra.asm b/data/pokemon/dex_entries/kadabra.asm new file mode 100644 index 000000000..26226724f --- /dev/null +++ b/data/pokemon/dex_entries/kadabra.asm @@ -0,0 +1,10 @@ +; KadabraPokedexEntry: ; 0x18313c + db "PSI@" ; species name + dw 403, 1250 ; height, weight + + db "When it closes its" + next "eyes, twice as" + next "many alpha parti-" + page "cles come out of" + next "the surface of its" + next "body.@" diff --git a/data/pokemon/dex_entries/kakuna.asm b/data/pokemon/dex_entries/kakuna.asm new file mode 100644 index 000000000..469e14bf6 --- /dev/null +++ b/data/pokemon/dex_entries/kakuna.asm @@ -0,0 +1,10 @@ +; KakunaPokedexEntry: ; 0x181c23 + db "COCOON@" ; species name + dw 200, 220 ; height, weight + + db "Nearly incapable" + next "of movement, it" + next "leans against" + page "stout trees while" + next "waiting for its" + next "evolution.@" diff --git a/data/pokemon/dex_entries/kangaskhan.asm b/data/pokemon/dex_entries/kangaskhan.asm new file mode 100644 index 000000000..ec2050845 --- /dev/null +++ b/data/pokemon/dex_entries/kangaskhan.asm @@ -0,0 +1,10 @@ +; KangaskhanPokedexEntry: ; 0x1b94f6 + db "PARENT@" ; species name + dw 703, 1760 ; height, weight + + db "To avoid" + next "crushing the" + next "baby it carries in" + page "its pouch, it" + next "always sleeps" + next "standing up.@" diff --git a/data/pokemon/dex_entries/kingdra.asm b/data/pokemon/dex_entries/kingdra.asm new file mode 100644 index 000000000..555601b51 --- /dev/null +++ b/data/pokemon/dex_entries/kingdra.asm @@ -0,0 +1,10 @@ +; KingdraPokedexEntry: ; 0x1d0fd1 + db "DRAGON@" ; species name + dw 511, 3350 ; height, weight + + db "It stores energy" + next "by sleeping at" + next "underwater depths" + page "at which no other" + next "life forms can" + next "survive.@" diff --git a/data/pokemon/dex_entries/kingler.asm b/data/pokemon/dex_entries/kingler.asm new file mode 100644 index 000000000..25685d517 --- /dev/null +++ b/data/pokemon/dex_entries/kingler.asm @@ -0,0 +1,10 @@ +; KinglerPokedexEntry: ; 0x1b8e45 + db "PINCER@" ; species name + dw 403, 1320 ; height, weight + + db "Its oversized claw" + next "is very powerful," + next "but when it's not" + page "in battle, the" + next "claw just gets in" + next "the way.@" diff --git a/data/pokemon/dex_entries/koffing.asm b/data/pokemon/dex_entries/koffing.asm new file mode 100644 index 000000000..20bde8671 --- /dev/null +++ b/data/pokemon/dex_entries/koffing.asm @@ -0,0 +1,10 @@ +; KoffingPokedexEntry: ; 0x1b9276 + db "POISON GAS@" ; species name + dw 200, 20 ; height, weight + + db "If one gets close" + next "enough to it when" + next "it expels poison-" + page "ous gas, the gas" + next "swirling inside it" + next "can be seen.@" diff --git a/data/pokemon/dex_entries/krabby.asm b/data/pokemon/dex_entries/krabby.asm new file mode 100644 index 000000000..2435cd64d --- /dev/null +++ b/data/pokemon/dex_entries/krabby.asm @@ -0,0 +1,10 @@ +; KrabbyPokedexEntry: ; 0x1b8ddd + db "RIVER CRAB@" ; species name + dw 104, 140 ; height, weight + + db "If it is unable" + next "to find food, it" + next "will absorb" + page "nutrients by" + next "swallowing a" + next "mouthful of sand.@" diff --git a/data/pokemon/dex_entries/lanturn.asm b/data/pokemon/dex_entries/lanturn.asm new file mode 100644 index 000000000..3aa2b5523 --- /dev/null +++ b/data/pokemon/dex_entries/lanturn.asm @@ -0,0 +1,10 @@ +; LanturnPokedexEntry: ; 0x1cd1de + db "LIGHT@" ; species name + dw 311, 500 ; height, weight + + db "This #MON uses" + next "the bright part of" + next "its body, which" + page "changed from a" + next "dorsal fin, to" + next "lure prey.@" diff --git a/data/pokemon/dex_entries/lapras.asm b/data/pokemon/dex_entries/lapras.asm new file mode 100644 index 000000000..550d6e12c --- /dev/null +++ b/data/pokemon/dex_entries/lapras.asm @@ -0,0 +1,10 @@ +; LaprasPokedexEntry: ; 0x1cc0cd + db "TRANSPORT@" ; species name + dw 802, 4850 ; height, weight + + db "This gentle" + next "#MON loves to" + next "give people rides" + page "and provides a ve-" + next "ry comfortable way" + next "to get around.@" diff --git a/data/pokemon/dex_entries/larvitar.asm b/data/pokemon/dex_entries/larvitar.asm new file mode 100644 index 000000000..14ec08c7b --- /dev/null +++ b/data/pokemon/dex_entries/larvitar.asm @@ -0,0 +1,10 @@ +; LarvitarPokedexEntry: ; 0x1d169c + db "ROCK SKIN@" ; species name + dw 200, 1590 ; height, weight + + db "Born deep under-" + next "ground, this" + next "#MON becomes a" + page "pupa after eating" + next "enough dirt to" + next "make a mountain.@" diff --git a/data/pokemon/dex_entries/ledian.asm b/data/pokemon/dex_entries/ledian.asm new file mode 100644 index 000000000..a112aa722 --- /dev/null +++ b/data/pokemon/dex_entries/ledian.asm @@ -0,0 +1,10 @@ +; LedianPokedexEntry: ; 0x1ccfa0 + db "FIVE STAR@" ; species name + dw 407, 780 ; height, weight + + db "In the daytime" + next "when it gets warm," + next "it curls up inside" + page "a big leaf and" + next "drifts off into" + next "a deep slumber.@" diff --git a/data/pokemon/dex_entries/ledyba.asm b/data/pokemon/dex_entries/ledyba.asm new file mode 100644 index 000000000..1e62ab4b1 --- /dev/null +++ b/data/pokemon/dex_entries/ledyba.asm @@ -0,0 +1,10 @@ +; LedybaPokedexEntry: ; 0x1ccf2c + db "FIVE STAR@" ; species name + dw 303, 240 ; height, weight + + db "It is timid and" + next "clusters together" + next "with others. The" + page "fluid secreted by" + next "its feet indicates" + next "its location.@" diff --git a/data/pokemon/dex_entries/lickitung.asm b/data/pokemon/dex_entries/lickitung.asm new file mode 100644 index 000000000..0003f14dc --- /dev/null +++ b/data/pokemon/dex_entries/lickitung.asm @@ -0,0 +1,10 @@ +; LickitungPokedexEntry: ; 0x1b9210 + db "LICKING@" ; species name + dw 311, 1440 ; height, weight + + db "It has a tongue" + next "that is over 6'6''" + next "long. It uses this" + page "long tongue to" + next "lick its body" + next "clean.@" diff --git a/data/pokemon/dex_entries/lugia.asm b/data/pokemon/dex_entries/lugia.asm new file mode 100644 index 000000000..c15345300 --- /dev/null +++ b/data/pokemon/dex_entries/lugia.asm @@ -0,0 +1,10 @@ +; LugiaPokedexEntry: ; 0x1d17e9 + db "DIVING@" ; species name + dw 1701, 4760 ; height, weight + + db "It has an incred-" + next "ible ability to" + next "calm raging sto-" + page "rms. It is said" + next "that LUGIA appears" + next "when storms start.@" diff --git a/data/pokemon/dex_entries/machamp.asm b/data/pokemon/dex_entries/machamp.asm new file mode 100644 index 000000000..0ff42bf5f --- /dev/null +++ b/data/pokemon/dex_entries/machamp.asm @@ -0,0 +1,10 @@ +; MachampPokedexEntry: ; 0x1b8133 + db "SUPERPOWER@" ; species name + dw 503, 2870 ; height, weight + + db "With four arms" + next "that react more" + next "quickly than it" + page "can think, it can" + next "execute many" + next "punches at once.@" diff --git a/data/pokemon/dex_entries/machoke.asm b/data/pokemon/dex_entries/machoke.asm new file mode 100644 index 000000000..53523a832 --- /dev/null +++ b/data/pokemon/dex_entries/machoke.asm @@ -0,0 +1,10 @@ +; MachokePokedexEntry: ; 0x1b80cb + db "SUPERPOWER@" ; species name + dw 411, 1550 ; height, weight + + db "This tough #MON" + next "always stays in" + next "the zone. Its" + page "muscles become" + next "thicker after" + next "every battle.@" diff --git a/data/pokemon/dex_entries/machop.asm b/data/pokemon/dex_entries/machop.asm new file mode 100644 index 000000000..aba71bc04 --- /dev/null +++ b/data/pokemon/dex_entries/machop.asm @@ -0,0 +1,10 @@ +; MachopPokedexEntry: ; 0x1b8065 + db "SUPERPOWER@" ; species name + dw 207, 430 ; height, weight + + db "It trains by" + next "lifting rocks in" + next "the mountains. It" + page "can even pick up a" + next "GRAVELER with" + next "ease.@" diff --git a/data/pokemon/dex_entries/magby.asm b/data/pokemon/dex_entries/magby.asm new file mode 100644 index 000000000..53f9e1129 --- /dev/null +++ b/data/pokemon/dex_entries/magby.asm @@ -0,0 +1,10 @@ +; MagbyPokedexEntry: ; 0x1d140e + db "LIVE COAL@" ; species name + dw 204, 470 ; height, weight + + db "It naturally spits" + next "an 1100-degree" + next "flame. It is said" + page "when many appear," + next "it heralds a" + next "volcanic eruption.@" diff --git a/data/pokemon/dex_entries/magcargo.asm b/data/pokemon/dex_entries/magcargo.asm new file mode 100644 index 000000000..5f1122906 --- /dev/null +++ b/data/pokemon/dex_entries/magcargo.asm @@ -0,0 +1,10 @@ +; MagcargoPokedexEntry: ; 0x1d0b21 + db "LAVA@" ; species name + dw 207, 1210 ; height, weight + + db "Its body is as hot" + next "as lava and is" + next "always billowing." + page "Flames will" + next "occasionally burst" + next "from its shell.@" diff --git a/data/pokemon/dex_entries/magikarp.asm b/data/pokemon/dex_entries/magikarp.asm new file mode 100644 index 000000000..765840899 --- /dev/null +++ b/data/pokemon/dex_entries/magikarp.asm @@ -0,0 +1,10 @@ +; MagikarpPokedexEntry: ; 0x1cc000 + db "FISH@" ; species name + dw 211, 220 ; height, weight + + db "This weak and" + next "pathetic #MON" + next "gets easily pushed" + page "along rivers when" + next "there are strong" + next "currents.@" diff --git a/data/pokemon/dex_entries/magmar.asm b/data/pokemon/dex_entries/magmar.asm new file mode 100644 index 000000000..1bfa961f9 --- /dev/null +++ b/data/pokemon/dex_entries/magmar.asm @@ -0,0 +1,10 @@ +; MagmarPokedexEntry: ; 0x1b9994 + db "SPITFIRE@" ; species name + dw 403, 980 ; height, weight + + db "It moves more" + next "frequently in hot" + next "areas. It can heal" + page "itself by dipping" + next "its wound into" + next "lava.@" diff --git a/data/pokemon/dex_entries/magnemite.asm b/data/pokemon/dex_entries/magnemite.asm new file mode 100644 index 000000000..e7703e050 --- /dev/null +++ b/data/pokemon/dex_entries/magnemite.asm @@ -0,0 +1,10 @@ +; MagnemitePokedexEntry: ; 0x1b869d + db "MAGNET@" ; species name + dw 100, 130 ; height, weight + + db "The electricity" + next "emitted by the" + next "units on each side" + page "of its body cause" + next "it to become a" + next "strong magnet.@" diff --git a/data/pokemon/dex_entries/magneton.asm b/data/pokemon/dex_entries/magneton.asm new file mode 100644 index 000000000..115506ad6 --- /dev/null +++ b/data/pokemon/dex_entries/magneton.asm @@ -0,0 +1,10 @@ +; MagnetonPokedexEntry: ; 0x1b870a + db "MAGNET@" ; species name + dw 303, 1320 ; height, weight + + db "When many" + next "MAGNETON gather" + next "together, the" + page "resulting magnetic" + next "storm disrupts" + next "radio waves.@" diff --git a/data/pokemon/dex_entries/mankey.asm b/data/pokemon/dex_entries/mankey.asm new file mode 100644 index 000000000..59dfc4919 --- /dev/null +++ b/data/pokemon/dex_entries/mankey.asm @@ -0,0 +1,10 @@ +; MankeyPokedexEntry: ; 0x182dbd + db "PIG MONKEY@" ; species name + dw 108, 620 ; height, weight + + db "It lives in groups" + next "in the treetops." + next "If it loses sight" + page "of its group, it" + next "becomes infuriated" + next "by its loneliness.@" diff --git a/data/pokemon/dex_entries/mantine.asm b/data/pokemon/dex_entries/mantine.asm new file mode 100644 index 000000000..880c4f179 --- /dev/null +++ b/data/pokemon/dex_entries/mantine.asm @@ -0,0 +1,10 @@ +; MantinePokedexEntry: ; 0x1d0e25 + db "KITE@" ; species name + dw 611, 4850 ; height, weight + + db "It swims along" + next "freely, eating" + next "things that swim" + page "into its mouth." + next "Its whole body is" + next "very coarse.@" diff --git a/data/pokemon/dex_entries/mareep.asm b/data/pokemon/dex_entries/mareep.asm new file mode 100644 index 000000000..94f78ee31 --- /dev/null +++ b/data/pokemon/dex_entries/mareep.asm @@ -0,0 +1,10 @@ +; MareepPokedexEntry: ; 0x1cd551 + db "WOOL@" ; species name + dw 200, 170 ; height, weight + + db "It stores lots of" + next "air in its soft" + next "fur, allowing it" + page "to stay cool in" + next "summer and warm" + next "in winter.@" diff --git a/data/pokemon/dex_entries/marill.asm b/data/pokemon/dex_entries/marill.asm new file mode 100644 index 000000000..6afbc2902 --- /dev/null +++ b/data/pokemon/dex_entries/marill.asm @@ -0,0 +1,10 @@ +; MarillPokedexEntry: ; 0x1cd705 + db "AQUAMOUSE@" ; species name + dw 104, 190 ; height, weight + + db "The fur on its" + next "body naturally" + next "repels water. It" + page "can stay dry, even" + next "when it plays in" + next "the water.@" diff --git a/data/pokemon/dex_entries/marowak.asm b/data/pokemon/dex_entries/marowak.asm new file mode 100644 index 000000000..01baf04e3 --- /dev/null +++ b/data/pokemon/dex_entries/marowak.asm @@ -0,0 +1,10 @@ +; MarowakPokedexEntry: ; 0x1b90d2 + db "BONEKEEPER@" ; species name + dw 303, 990 ; height, weight + + db "Somewhere in the" + next "world is a ceme-" + next "tery just for" + page "MAROWAK. It gets" + next "its bones from" + next "those graves.@" diff --git a/data/pokemon/dex_entries/meganium.asm b/data/pokemon/dex_entries/meganium.asm new file mode 100644 index 000000000..dead64ff5 --- /dev/null +++ b/data/pokemon/dex_entries/meganium.asm @@ -0,0 +1,10 @@ +; MeganiumPokedexEntry: ; 0x1cca54 + db "HERB@" ; species name + dw 511, 2220 ; height, weight + + db "Anyone who stands" + next "beside it becomes" + next "refreshed, just as" + page "if they were" + next "relaxing in a" + next "sunny forest.@" diff --git a/data/pokemon/dex_entries/meowth.asm b/data/pokemon/dex_entries/meowth.asm new file mode 100644 index 000000000..9fe66977b --- /dev/null +++ b/data/pokemon/dex_entries/meowth.asm @@ -0,0 +1,10 @@ +; MeowthPokedexEntry: ; 0x182c08 + db "SCRATCHCAT@" ; species name + dw 104, 90 ; height, weight + + db "It loves things" + next "that sparkle. When" + next "it sees a shiny" + page "object, the gold" + next "coin on its head" + next "shines too.@" diff --git a/data/pokemon/dex_entries/metapod.asm b/data/pokemon/dex_entries/metapod.asm new file mode 100644 index 000000000..b2c6b78b7 --- /dev/null +++ b/data/pokemon/dex_entries/metapod.asm @@ -0,0 +1,10 @@ +; MetapodPokedexEntry: ; 0x181ace + db "COCOON@" ; species name + dw 204, 220 ; height, weight + + db "This is its pre-" + next "evolved form. At" + next "this stage, it can" + page "only harden, so it" + next "remains motionless" + next "to avoid attack.@" diff --git a/data/pokemon/dex_entries/mew.asm b/data/pokemon/dex_entries/mew.asm new file mode 100644 index 000000000..9da7f6a17 --- /dev/null +++ b/data/pokemon/dex_entries/mew.asm @@ -0,0 +1,10 @@ +; MewPokedexEntry: ; 0x1cc915 + db "NEW SPECIE@" ; species name + dw 104, 90 ; height, weight + + db "Because it can" + next "learn any move," + next "some people began" + page "research to see if" + next "it is the ancestor" + next "of all #MON.@" diff --git a/data/pokemon/dex_entries/mewtwo.asm b/data/pokemon/dex_entries/mewtwo.asm new file mode 100644 index 000000000..eb41ebb90 --- /dev/null +++ b/data/pokemon/dex_entries/mewtwo.asm @@ -0,0 +1,10 @@ +; MewtwoPokedexEntry: ; 0x1cc8ae + db "GENETIC@" ; species name + dw 607, 2690 ; height, weight + + db "Said to rest qui-" + next "etly in an" + next "undiscovered cave," + page "this #MON was" + next "created solely for" + next "battling.@" diff --git a/data/pokemon/dex_entries/miltank.asm b/data/pokemon/dex_entries/miltank.asm new file mode 100644 index 000000000..1f85ef668 --- /dev/null +++ b/data/pokemon/dex_entries/miltank.asm @@ -0,0 +1,10 @@ +; MiltankPokedexEntry: ; 0x1d1482 + db "MILK COW@" ; species name + dw 311, 1660 ; height, weight + + db "In order to milk a" + next "MILTANK, one must" + next "have a knack for" + page "rhythmically pull-" + next "ing up and down" + next "on its udders.@" diff --git a/data/pokemon/dex_entries/misdreavus.asm b/data/pokemon/dex_entries/misdreavus.asm new file mode 100644 index 000000000..c3f1b002a --- /dev/null +++ b/data/pokemon/dex_entries/misdreavus.asm @@ -0,0 +1,10 @@ +; MisdreavusPokedexEntry: ; 0x1d0301 + db "SCREECH@" ; species name + dw 204, 20 ; height, weight + + db "It loves to watch" + next "people it's scar-" + next "ed. It frightens" + page "them by screaming" + next "loudly or appear-" + next "ing suddenly.@" diff --git a/data/pokemon/dex_entries/moltres.asm b/data/pokemon/dex_entries/moltres.asm new file mode 100644 index 000000000..f459d622e --- /dev/null +++ b/data/pokemon/dex_entries/moltres.asm @@ -0,0 +1,10 @@ +; MoltresPokedexEntry: ; 0x1cc706 + db "FLAME@" ; species name + dw 607, 1320 ; height, weight + + db "Legendary bird" + next "#MON. It is" + next "said to migrate" + page "from the south" + next "along with the" + next "spring.@" diff --git a/data/pokemon/dex_entries/mr__mime.asm b/data/pokemon/dex_entries/mr__mime.asm new file mode 100644 index 000000000..dce25be67 --- /dev/null +++ b/data/pokemon/dex_entries/mr__mime.asm @@ -0,0 +1,10 @@ +; MrMimePokedexEntry: ; 0x1b97ea + db "BARRIER@" ; species name + dw 403, 1200 ; height, weight + + db "It uses the" + next "mysterious" + next "power it has in" + page "its fingers to" + next "solidify air into" + next "an invisible wall.@" diff --git a/data/pokemon/dex_entries/muk.asm b/data/pokemon/dex_entries/muk.asm new file mode 100644 index 000000000..49512c99f --- /dev/null +++ b/data/pokemon/dex_entries/muk.asm @@ -0,0 +1,10 @@ +; MukPokedexEntry: ; 0x1b89fc + db "SLUDGE@" ; species name + dw 311, 660 ; height, weight + + db "As it moves, a" + next "very strong poison" + next "leaks from it," + page "making the ground" + next "there barren for" + next "three years.@" diff --git a/data/pokemon/dex_entries/murkrow.asm b/data/pokemon/dex_entries/murkrow.asm new file mode 100644 index 000000000..6a0f42145 --- /dev/null +++ b/data/pokemon/dex_entries/murkrow.asm @@ -0,0 +1,10 @@ +; MurkrowPokedexEntry: ; 0x1d021e + db "DARKNESS@" ; species name + dw 108, 50 ; height, weight + + db "It hides any shiny" + next "object it finds in" + next "a secret location." + page "MURKROW and" + next "MEOWTH loot one" + next "another's stashes.@" diff --git a/data/pokemon/dex_entries/natu.asm b/data/pokemon/dex_entries/natu.asm new file mode 100644 index 000000000..20958dbff --- /dev/null +++ b/data/pokemon/dex_entries/natu.asm @@ -0,0 +1,10 @@ +; NatuPokedexEntry: ; 0x1cd47d + db "LITTLE BIRD@" ; species name + dw 8, 40 ; height, weight + + db "It is extremely" + next "good at climbing" + next "tree trunks and" + page "likes to eat the" + next "new sprouts on" + next "the trees.@" diff --git a/data/pokemon/dex_entries/nidoking.asm b/data/pokemon/dex_entries/nidoking.asm new file mode 100644 index 000000000..97c203064 --- /dev/null +++ b/data/pokemon/dex_entries/nidoking.asm @@ -0,0 +1,10 @@ +; NidokingPokedexEntry: ; 0x182463 + db "DRILL@" ; species name + dw 407, 1370 ; height, weight + + db "It uses its thick" + next "arms, legs and" + next "tail to attack" + page "forcefully. Melee" + next "combat is its" + next "specialty.@" diff --git a/data/pokemon/dex_entries/nidoqueen.asm b/data/pokemon/dex_entries/nidoqueen.asm new file mode 100644 index 000000000..c0f711eb4 --- /dev/null +++ b/data/pokemon/dex_entries/nidoqueen.asm @@ -0,0 +1,10 @@ +; NidoqueenPokedexEntry: ; 0x18232e + db "DRILL@" ; species name + dw 403, 1320 ; height, weight + + db "The hard scales" + next "that cover its" + next "strong body serve" + page "as excellent" + next "protection from" + next "any attack.@" diff --git a/data/pokemon/dex_entries/nidoran_f.asm b/data/pokemon/dex_entries/nidoran_f.asm new file mode 100644 index 000000000..4e7299b0d --- /dev/null +++ b/data/pokemon/dex_entries/nidoran_f.asm @@ -0,0 +1,10 @@ +; NidoranFPokedexEntry: ; 0x18224b + db "POISON PIN@" ; species name + dw 104, 150 ; height, weight + + db "Small and very" + next "docile, it pro-" + next "tects itself with" + page "its small, poison-" + next "ous horn when" + next "attacked.@" diff --git a/data/pokemon/dex_entries/nidoran_m.asm b/data/pokemon/dex_entries/nidoran_m.asm new file mode 100644 index 000000000..8970afc36 --- /dev/null +++ b/data/pokemon/dex_entries/nidoran_m.asm @@ -0,0 +1,10 @@ +; NidoranMPokedexEntry: ; 0x182392 + db "POISON PIN@" ; species name + dw 108, 200 ; height, weight + + db "It constantly" + next "moves its large" + next "ears in many" + page "directions in" + next "order to detect" + next "danger right away.@" diff --git a/data/pokemon/dex_entries/nidorina.asm b/data/pokemon/dex_entries/nidorina.asm new file mode 100644 index 000000000..93c1e164d --- /dev/null +++ b/data/pokemon/dex_entries/nidorina.asm @@ -0,0 +1,10 @@ +; NidorinaPokedexEntry: ; 0x1822b6 + db "POISON PIN@" ; species name + dw 207, 440 ; height, weight + + db "It has a docile" + next "nature. If it is" + next "threatened with" + page "attack, it raises" + next "the barbs that are" + next "all over its body.@" diff --git a/data/pokemon/dex_entries/nidorino.asm b/data/pokemon/dex_entries/nidorino.asm new file mode 100644 index 000000000..6b1403ad2 --- /dev/null +++ b/data/pokemon/dex_entries/nidorino.asm @@ -0,0 +1,10 @@ +; NidorinoPokedexEntry: ; 0x1823fd + db "POISON PIN@" ; species name + dw 211, 430 ; height, weight + + db "It is easily" + next "agitated and uses" + next "its horn for" + page "offense as soon as" + next "it notices an" + next "attacker.@" diff --git a/data/pokemon/dex_entries/ninetales.asm b/data/pokemon/dex_entries/ninetales.asm new file mode 100644 index 000000000..fd3a66ffb --- /dev/null +++ b/data/pokemon/dex_entries/ninetales.asm @@ -0,0 +1,10 @@ +; NinetalesPokedexEntry: ; 0x18260c + db "FOX@" ; species name + dw 307, 440 ; height, weight + + db "It is said to live" + next "a thousand years," + next "and each of its" + page "tails is loaded" + next "with supernatural" + next "powers.@" diff --git a/data/pokemon/dex_entries/noctowl.asm b/data/pokemon/dex_entries/noctowl.asm new file mode 100644 index 000000000..b939cfe05 --- /dev/null +++ b/data/pokemon/dex_entries/noctowl.asm @@ -0,0 +1,10 @@ +; NoctowlPokedexEntry: ; 0x1cceb9 + db "OWL@" ; species name + dw 503, 900 ; height, weight + + db "Its extremely soft" + next "feathers make no" + next "sound in flight." + page "It silently sneaks" + next "up on prey without" + next "being detected.@" diff --git a/data/pokemon/dex_entries/octillery.asm b/data/pokemon/dex_entries/octillery.asm new file mode 100644 index 000000000..902c1bf9a --- /dev/null +++ b/data/pokemon/dex_entries/octillery.asm @@ -0,0 +1,10 @@ +; OctilleryPokedexEntry: ; 0x1d0d42 + db "JET@" ; species name + dw 211, 630 ; height, weight + + db "Its instinct is to" + next "bury itself in" + next "holes. It often" + page "steals the nesting" + next "holes of others to" + next "sleep in them.@" diff --git a/data/pokemon/dex_entries/oddish.asm b/data/pokemon/dex_entries/oddish.asm new file mode 100644 index 000000000..84560c113 --- /dev/null +++ b/data/pokemon/dex_entries/oddish.asm @@ -0,0 +1,10 @@ +; OddishPokedexEntry: ; 0x182836 + db "WEED@" ; species name + dw 108, 120 ; height, weight + + db "During the day, it" + next "stays in the cold" + next "underground to" + page "avoid the sun." + next "It grows by bath-" + next "ing in moonlight.@" diff --git a/data/pokemon/dex_entries/omanyte.asm b/data/pokemon/dex_entries/omanyte.asm new file mode 100644 index 000000000..9f7948fe0 --- /dev/null +++ b/data/pokemon/dex_entries/omanyte.asm @@ -0,0 +1,10 @@ +; OmanytePokedexEntry: ; 0x1cc3c1 + db "SPIRAL@" ; species name + dw 104, 170 ; height, weight + + db "In prehistoric" + next "times, it swam on" + next "the sea floor," + page "eating plankton." + next "Its fossils are" + next "sometimes found.@" diff --git a/data/pokemon/dex_entries/omastar.asm b/data/pokemon/dex_entries/omastar.asm new file mode 100644 index 000000000..65ba92356 --- /dev/null +++ b/data/pokemon/dex_entries/omastar.asm @@ -0,0 +1,10 @@ +; OmastarPokedexEntry: ; 0x1cc42e + db "SPIRAL@" ; species name + dw 303, 770 ; height, weight + + db "Its heavy shell" + next "allowed it to" + next "reach only nearby" + page "food. This could" + next "be the reason it" + next "is extinct.@" diff --git a/data/pokemon/dex_entries/onix.asm b/data/pokemon/dex_entries/onix.asm new file mode 100644 index 000000000..f0f88fcff --- /dev/null +++ b/data/pokemon/dex_entries/onix.asm @@ -0,0 +1,10 @@ +; OnixPokedexEntry: ; 0x1b8c98 + db "ROCK SNAKE@" ; species name + dw 2810, 4630 ; height, weight + + db "As it digs through" + next "the ground, it" + next "absorbs many hard" + page "objects. This is" + next "what makes its" + next "body so solid.@" diff --git a/data/pokemon/dex_entries/paras.asm b/data/pokemon/dex_entries/paras.asm new file mode 100644 index 000000000..152e1fcc0 --- /dev/null +++ b/data/pokemon/dex_entries/paras.asm @@ -0,0 +1,10 @@ +; ParasPokedexEntry: ; 0x18297f + db "MUSHROOM@" ; species name + dw 100, 120 ; height, weight + + db "The tochukaso" + next "growing on this" + next "#MON's back" + page "orders it to" + next "extract juice from" + next "tree trunks.@" diff --git a/data/pokemon/dex_entries/parasect.asm b/data/pokemon/dex_entries/parasect.asm new file mode 100644 index 000000000..bd912212e --- /dev/null +++ b/data/pokemon/dex_entries/parasect.asm @@ -0,0 +1,10 @@ +; ParasectPokedexEntry: ; 0x1829e2 + db "MUSHROOM@" ; species name + dw 303, 650 ; height, weight + + db "When nothing's" + next "left to extract" + next "from the bug, the" + page "mushrooms on its" + next "back leave spores" + next "on the bug's egg.@" diff --git a/data/pokemon/dex_entries/persian.asm b/data/pokemon/dex_entries/persian.asm new file mode 100644 index 000000000..7ce74f6f8 --- /dev/null +++ b/data/pokemon/dex_entries/persian.asm @@ -0,0 +1,10 @@ +; PersianPokedexEntry: ; 0x182c78 + db "CLASSY CAT@" ; species name + dw 303, 710 ; height, weight + + db "Behind its lithe," + next "elegant appearance" + next "lies a barbaric" + page "side. It will tear" + next "apart its prey on" + next "a mere whim.@" diff --git a/data/pokemon/dex_entries/phanpy.asm b/data/pokemon/dex_entries/phanpy.asm new file mode 100644 index 000000000..a7393e546 --- /dev/null +++ b/data/pokemon/dex_entries/phanpy.asm @@ -0,0 +1,10 @@ +; PhanpyPokedexEntry: ; 0x1d1038 + db "LONG NOSE@" ; species name + dw 108, 740 ; height, weight + + db "During the desert-" + next "ed morning hours," + next "it comes ashore" + page "where it deftly" + next "uses its trunk to" + next "take a shower.@" diff --git a/data/pokemon/dex_entries/pichu.asm b/data/pokemon/dex_entries/pichu.asm new file mode 100644 index 000000000..b31976aaf --- /dev/null +++ b/data/pokemon/dex_entries/pichu.asm @@ -0,0 +1,10 @@ +; PichuPokedexEntry: ; 0x1cd243 + db "TINY MOUSE@" ; species name + dw 100, 40 ; height, weight + + db "It is unskilled at" + next "storing electric" + next "power. Any kind of" + page "shock causes it to" + next "discharge energy" + next "spontaneously.@" diff --git a/data/pokemon/dex_entries/pidgeot.asm b/data/pokemon/dex_entries/pidgeot.asm new file mode 100644 index 000000000..16a877427 --- /dev/null +++ b/data/pokemon/dex_entries/pidgeot.asm @@ -0,0 +1,10 @@ +; PidgeotPokedexEntry: ; 0x181dd7 + db "BIRD@" ; species name + dw 411, 870 ; height, weight + + db "Its outstanding" + next "vision allows it" + next "to spot splashing" + page "MAGIKARP, even" + next "while flying at" + next "3300 feet.@" diff --git a/data/pokemon/dex_entries/pidgeotto.asm b/data/pokemon/dex_entries/pidgeotto.asm new file mode 100644 index 000000000..1ab6fde5c --- /dev/null +++ b/data/pokemon/dex_entries/pidgeotto.asm @@ -0,0 +1,10 @@ +; PidgeottoPokedexEntry: ; 0x181d75 + db "BIRD@" ; species name + dw 307, 660 ; height, weight + + db "It slowly flies in" + next "a circular pat-" + next "tern, all the" + page "while keeping a" + next "sharp lookout for" + next "prey.@" diff --git a/data/pokemon/dex_entries/pidgey.asm b/data/pokemon/dex_entries/pidgey.asm new file mode 100644 index 000000000..491dfb9b9 --- /dev/null +++ b/data/pokemon/dex_entries/pidgey.asm @@ -0,0 +1,10 @@ +; PidgeyPokedexEntry: ; 0x181cfa + db "TINY BIRD@" ; species name + dw 100, 40 ; height, weight + + db "It rapidly flaps" + next "its wings in the" + next "grass, stirring up" + page "a dust cloud that" + next "drives insect prey" + next "out into the open.@" diff --git a/data/pokemon/dex_entries/pikachu.asm b/data/pokemon/dex_entries/pikachu.asm new file mode 100644 index 000000000..680e24673 --- /dev/null +++ b/data/pokemon/dex_entries/pikachu.asm @@ -0,0 +1,10 @@ +; PikachuPokedexEntry: ; 0x1820ad + db "MOUSE@" ; species name + dw 104, 130 ; height, weight + + db "When it is anger-" + next "ed, it immediately" + next "discharges the" + page "energy stored in" + next "the pouches in its" + next "cheeks.@" diff --git a/data/pokemon/dex_entries/piloswine.asm b/data/pokemon/dex_entries/piloswine.asm new file mode 100644 index 000000000..326ea4503 --- /dev/null +++ b/data/pokemon/dex_entries/piloswine.asm @@ -0,0 +1,10 @@ +; PiloswinePokedexEntry: ; 0x1d0c01 + db "SWINE@" ; species name + dw 307, 1230 ; height, weight + + db "Although its legs" + next "are short, its" + next "rugged hooves" + page "prevent it from" + next "slipping, even on" + next "icy ground.@" diff --git a/data/pokemon/dex_entries/pineco.asm b/data/pokemon/dex_entries/pineco.asm new file mode 100644 index 000000000..9781b094e --- /dev/null +++ b/data/pokemon/dex_entries/pineco.asm @@ -0,0 +1,10 @@ +; PinecoPokedexEntry: ; 0x1d04b0 + db "BAGWORM@" ; species name + dw 200, 160 ; height, weight + + db "It spits out a" + next "fluid that it uses" + next "to glue tree bark" + page "to its body. The" + next "fluid hardens when" + next "it touches air.@" diff --git a/data/pokemon/dex_entries/pinsir.asm b/data/pokemon/dex_entries/pinsir.asm new file mode 100644 index 000000000..c236b3594 --- /dev/null +++ b/data/pokemon/dex_entries/pinsir.asm @@ -0,0 +1,10 @@ +; PinsirPokedexEntry: ; 0x1b99fb + db "STAGBEETLE@" ; species name + dw 411, 1210 ; height, weight + + db "When the tempera-" + next "ture drops at" + next "night, it sleeps" + page "on treetops or" + next "among roots where" + next "it is well hidden.@" diff --git a/data/pokemon/dex_entries/politoed.asm b/data/pokemon/dex_entries/politoed.asm new file mode 100644 index 000000000..0dea3d572 --- /dev/null +++ b/data/pokemon/dex_entries/politoed.asm @@ -0,0 +1,10 @@ +; PolitoedPokedexEntry: ; 0x1cd84b + db "FROG@" ; species name + dw 307, 750 ; height, weight + + db "When it expands" + next "its throat to" + next "croak out a tune," + page "nearby POLIWAG and" + next "POLIWHIRL gather" + next "immediately.@" diff --git a/data/pokemon/dex_entries/poliwag.asm b/data/pokemon/dex_entries/poliwag.asm new file mode 100644 index 000000000..d21677cc4 --- /dev/null +++ b/data/pokemon/dex_entries/poliwag.asm @@ -0,0 +1,10 @@ +; PoliwagPokedexEntry: ; 0x182f91 + db "TADPOLE@" ; species name + dw 200, 270 ; height, weight + + db "The swirl on its" + next "belly is its" + next "insides showing" + page "through the skin." + next "It looks clearer" + next "after it eats.@" diff --git a/data/pokemon/dex_entries/poliwhirl.asm b/data/pokemon/dex_entries/poliwhirl.asm new file mode 100644 index 000000000..69a6ee206 --- /dev/null +++ b/data/pokemon/dex_entries/poliwhirl.asm @@ -0,0 +1,10 @@ +; PoliwhirlPokedexEntry: ; 0x182ffd + db "TADPOLE@" ; species name + dw 303, 440 ; height, weight + + db "Though it is" + next "skilled at walk-" + next "ing, it prefers to" + page "live underwater" + next "where there is" + next "less danger.@" diff --git a/data/pokemon/dex_entries/poliwrath.asm b/data/pokemon/dex_entries/poliwrath.asm new file mode 100644 index 000000000..bb3e7dda5 --- /dev/null +++ b/data/pokemon/dex_entries/poliwrath.asm @@ -0,0 +1,10 @@ +; PoliwrathPokedexEntry: ; 0x183066 + db "TADPOLE@" ; species name + dw 403, 1190 ; height, weight + + db "It can use its" + next "well-developed" + next "arms and legs to" + page "run on the surface" + next "of the water for a" + next "split second.@" diff --git a/data/pokemon/dex_entries/ponyta.asm b/data/pokemon/dex_entries/ponyta.asm new file mode 100644 index 000000000..fa123cde1 --- /dev/null +++ b/data/pokemon/dex_entries/ponyta.asm @@ -0,0 +1,10 @@ +; PonytaPokedexEntry: ; 0x1b84f2 + db "FIRE HORSE@" ; species name + dw 303, 660 ; height, weight + + db "Training by" + next "jumping over grass" + next "that grows longer" + page "every day has made" + next "it a world-class" + next "jumper.@" diff --git a/data/pokemon/dex_entries/porygon.asm b/data/pokemon/dex_entries/porygon.asm new file mode 100644 index 000000000..9a73c9623 --- /dev/null +++ b/data/pokemon/dex_entries/porygon.asm @@ -0,0 +1,10 @@ +; PorygonPokedexEntry: ; 0x1cc353 + db "VIRTUAL@" ; species name + dw 207, 800 ; height, weight + + db "An artificial" + next "#MON created" + next "due to extensive" + page "research, it can" + next "perform only what" + next "is in its program.@" diff --git a/data/pokemon/dex_entries/porygon2.asm b/data/pokemon/dex_entries/porygon2.asm new file mode 100644 index 000000000..8591e0039 --- /dev/null +++ b/data/pokemon/dex_entries/porygon2.asm @@ -0,0 +1,10 @@ +; Porygon2PokedexEntry: ; 0x1d110c + db "VIRTUAL@" ; species name + dw 200, 720 ; height, weight + + db "This manmade" + next "#MON evolved" + next "from the latest" + page "technology. It" + next "may have unprog-" + next "rammed reactions.@" diff --git a/data/pokemon/dex_entries/primeape.asm b/data/pokemon/dex_entries/primeape.asm new file mode 100644 index 000000000..7d7f211cc --- /dev/null +++ b/data/pokemon/dex_entries/primeape.asm @@ -0,0 +1,10 @@ +; PrimeapePokedexEntry: ; 0x182e39 + db "PIG MONKEY@" ; species name + dw 303, 710 ; height, weight + + db "It will beat up" + next "anyone who makes" + next "it mad, even if it" + page "has to chase them" + next "until the end of" + next "the world.@" diff --git a/data/pokemon/dex_entries/psyduck.asm b/data/pokemon/dex_entries/psyduck.asm new file mode 100644 index 000000000..088b4ff76 --- /dev/null +++ b/data/pokemon/dex_entries/psyduck.asm @@ -0,0 +1,10 @@ +; PsyduckPokedexEntry: ; 0x182cee + db "DUCK@" ; species name + dw 207, 430 ; height, weight + + db "The only time it" + next "can use its psy-" + next "chic power is when" + page "its sleeping brain" + next "cells happen to" + next "wake.@" diff --git a/data/pokemon/dex_entries/pupitar.asm b/data/pokemon/dex_entries/pupitar.asm new file mode 100644 index 000000000..d35e457ad --- /dev/null +++ b/data/pokemon/dex_entries/pupitar.asm @@ -0,0 +1,10 @@ +; PupitarPokedexEntry: ; 0x1d1709 + db "HARD SHELL@" ; species name + dw 311, 3350 ; height, weight + + db "It will not stay" + next "still, even while" + next "it's a pupa. It" + page "already has arms" + next "and legs under its" + next "solid shell.@" diff --git a/data/pokemon/dex_entries/quagsire.asm b/data/pokemon/dex_entries/quagsire.asm new file mode 100644 index 000000000..053058d54 --- /dev/null +++ b/data/pokemon/dex_entries/quagsire.asm @@ -0,0 +1,10 @@ +; QuagsirePokedexEntry: ; 0x1d00dd + db "WATER FISH@" ; species name + dw 407, 1650 ; height, weight + + db "Its body is always" + next "slimy. It often" + next "bangs its head on" + page "the river bottom" + next "as it swims but" + next "seems not to care.@" diff --git a/data/pokemon/dex_entries/quilava.asm b/data/pokemon/dex_entries/quilava.asm new file mode 100644 index 000000000..aaf8069af --- /dev/null +++ b/data/pokemon/dex_entries/quilava.asm @@ -0,0 +1,10 @@ +; QuilavaPokedexEntry: ; 0x1ccb33 + db "VOLCANO@" ; species name + dw 211, 420 ; height, weight + + db "Before battle, it" + next "turns its back on" + next "its opponent to" + page "demonstrate how" + next "ferociously its" + next "fire blazes.@" diff --git a/data/pokemon/dex_entries/qwilfish.asm b/data/pokemon/dex_entries/qwilfish.asm new file mode 100644 index 000000000..d9529146f --- /dev/null +++ b/data/pokemon/dex_entries/qwilfish.asm @@ -0,0 +1,10 @@ +; QwilfishPokedexEntry: ; 0x1d07b1 + db "BALLOON@" ; species name + dw 108, 90 ; height, weight + + db "When faced with a" + next "larger opponent," + next "it swallows as" + page "much water as it" + next "can to match the" + next "opponent's size.@" diff --git a/data/pokemon/dex_entries/raichu.asm b/data/pokemon/dex_entries/raichu.asm new file mode 100644 index 000000000..886aef283 --- /dev/null +++ b/data/pokemon/dex_entries/raichu.asm @@ -0,0 +1,10 @@ +; RaichuPokedexEntry: ; 0x182117 + db "MOUSE@" ; species name + dw 207, 660 ; height, weight + + db "If its electric" + next "pouches run empty," + next "it raises its tail" + page "to gather electri-" + next "city from the" + next "atmosphere.@" diff --git a/data/pokemon/dex_entries/raikou.asm b/data/pokemon/dex_entries/raikou.asm new file mode 100644 index 000000000..315eb84ae --- /dev/null +++ b/data/pokemon/dex_entries/raikou.asm @@ -0,0 +1,10 @@ +; RaikouPokedexEntry: ; 0x1d156b + db "THUNDER@" ; species name + dw 603, 3920 ; height, weight + + db "This rough #MON" + next "stores energy" + next "inside its body," + page "then sweeps across" + next "the land, shooting" + next "off electricity.@" diff --git a/data/pokemon/dex_entries/rapidash.asm b/data/pokemon/dex_entries/rapidash.asm new file mode 100644 index 000000000..ae98e2cb8 --- /dev/null +++ b/data/pokemon/dex_entries/rapidash.asm @@ -0,0 +1,10 @@ +; RapidashPokedexEntry: ; 0x1b855e + db "FIRE HORSE@" ; species name + dw 507, 2090 ; height, weight + + db "It just loves to" + next "gallop. The faster" + next "it goes, the long-" + page "er the swaying" + next "flames of its mane" + next "will become.@" diff --git a/data/pokemon/dex_entries/raticate.asm b/data/pokemon/dex_entries/raticate.asm new file mode 100644 index 000000000..f009c29aa --- /dev/null +++ b/data/pokemon/dex_entries/raticate.asm @@ -0,0 +1,10 @@ +; RaticatePokedexEntry: ; 0x181ea3 + db "RAT@" ; species name + dw 204, 410 ; height, weight + + db "The webs on its" + next "hind legs enable" + next "it to cross" + page "rivers. It search-" + next "es wide areas for" + next "food.@" diff --git a/data/pokemon/dex_entries/rattata.asm b/data/pokemon/dex_entries/rattata.asm new file mode 100644 index 000000000..0a066eb74 --- /dev/null +++ b/data/pokemon/dex_entries/rattata.asm @@ -0,0 +1,10 @@ +; RattataPokedexEntry: ; 0x181e3d + db "RAT@" ; species name + dw 100, 80 ; height, weight + + db "This #MON's" + next "impressive vital-" + next "ity allows it to" + page "live anywhere. It" + next "also multiplies" + next "very quickly.@" diff --git a/data/pokemon/dex_entries/remoraid.asm b/data/pokemon/dex_entries/remoraid.asm new file mode 100644 index 000000000..aaa6f1a49 --- /dev/null +++ b/data/pokemon/dex_entries/remoraid.asm @@ -0,0 +1,10 @@ +; RemoraidPokedexEntry: ; 0x1d0cd3 + db "JET@" ; species name + dw 200, 260 ; height, weight + + db "To escape from an" + next "attacker, it may" + next "shoot water out of" + page "its mouth, then" + next "use that force to" + next "swim backward.@" diff --git a/data/pokemon/dex_entries/rhydon.asm b/data/pokemon/dex_entries/rhydon.asm new file mode 100644 index 000000000..c820666b3 --- /dev/null +++ b/data/pokemon/dex_entries/rhydon.asm @@ -0,0 +1,10 @@ +; RhydonPokedexEntry: ; 0x1b93c5 + db "DRILL@" ; species name + dw 603, 2650 ; height, weight + + db "By lightly spin-" + next "ning its drill-" + next "like horn, it can" + page "easily shatter" + next "even a diamond in" + next "the rough.@" diff --git a/data/pokemon/dex_entries/rhyhorn.asm b/data/pokemon/dex_entries/rhyhorn.asm new file mode 100644 index 000000000..b2f26e204 --- /dev/null +++ b/data/pokemon/dex_entries/rhyhorn.asm @@ -0,0 +1,10 @@ +; RhyhornPokedexEntry: ; 0x1b935d + db "SPIKES@" ; species name + dw 303, 2540 ; height, weight + + db "It can remember" + next "only one thing at" + next "a time. Once it" + page "starts rushing, it" + next "forgets why it" + next "started.@" diff --git a/data/pokemon/dex_entries/sandshrew.asm b/data/pokemon/dex_entries/sandshrew.asm new file mode 100644 index 000000000..2ef83f9c3 --- /dev/null +++ b/data/pokemon/dex_entries/sandshrew.asm @@ -0,0 +1,10 @@ +; SandshrewPokedexEntry: ; 0x182184 + db "MOUSE@" ; species name + dw 200, 260 ; height, weight + + db "It prefers dry," + next "sandy places" + next "because it uses" + page "the sand to" + next "protect itself" + next "when threatened.@" diff --git a/data/pokemon/dex_entries/sandslash.asm b/data/pokemon/dex_entries/sandslash.asm new file mode 100644 index 000000000..fd2492f91 --- /dev/null +++ b/data/pokemon/dex_entries/sandslash.asm @@ -0,0 +1,10 @@ +; SandslashPokedexEntry: ; 0x1821e7 + db "MOUSE@" ; species name + dw 303, 650 ; height, weight + + db "Adept at climbing" + next "trees, it rolls" + next "into a spiny ball," + page "then attacks its" + next "enemies from" + next "above.@" diff --git a/data/pokemon/dex_entries/scizor.asm b/data/pokemon/dex_entries/scizor.asm new file mode 100644 index 000000000..a000a6586 --- /dev/null +++ b/data/pokemon/dex_entries/scizor.asm @@ -0,0 +1,10 @@ +; ScizorPokedexEntry: ; 0x1d0821 + db "SCISSORS@" ; species name + dw 511, 2600 ; height, weight + + db "This #MON's" + next "pincers, which" + next "contain steel, can" + page "crush any hard" + next "object it gets a" + next "hold of into bits.@" diff --git a/data/pokemon/dex_entries/scyther.asm b/data/pokemon/dex_entries/scyther.asm new file mode 100644 index 000000000..ca47c46b6 --- /dev/null +++ b/data/pokemon/dex_entries/scyther.asm @@ -0,0 +1,10 @@ +; ScytherPokedexEntry: ; 0x1b9851 + db "MANTIS@" ; species name + dw 411, 1230 ; height, weight + + db "It's very proud of" + next "its speed. It" + next "moves so fast that" + page "its opponent does" + next "not even know what" + next "knocked it down.@" diff --git a/data/pokemon/dex_entries/seadra.asm b/data/pokemon/dex_entries/seadra.asm new file mode 100644 index 000000000..91731c64a --- /dev/null +++ b/data/pokemon/dex_entries/seadra.asm @@ -0,0 +1,10 @@ +; SeadraPokedexEntry: ; 0x1b95b8 + db "DRAGON@" ; species name + dw 311, 550 ; height, weight + + db "The male raises" + next "the young. If it" + next "is approached, it" + page "uses its toxic" + next "spikes to fend off" + next "the intruder.@" diff --git a/data/pokemon/dex_entries/seaking.asm b/data/pokemon/dex_entries/seaking.asm new file mode 100644 index 000000000..0d7d1fe48 --- /dev/null +++ b/data/pokemon/dex_entries/seaking.asm @@ -0,0 +1,10 @@ +; SeakingPokedexEntry: ; 0x1b9690 + db "GOLDFISH@" ; species name + dw 403, 860 ; height, weight + + db "When autumn comes," + next "the males patrol" + next "the area around" + page "their nests in" + next "order to protect" + next "their offspring.@" diff --git a/data/pokemon/dex_entries/seel.asm b/data/pokemon/dex_entries/seel.asm new file mode 100644 index 000000000..53d179097 --- /dev/null +++ b/data/pokemon/dex_entries/seel.asm @@ -0,0 +1,10 @@ +; SeelPokedexEntry: ; 0x1b88bf + db "SEA LION@" ; species name + dw 307, 1980 ; height, weight + + db "The light blue fur" + next "that covers it" + next "keeps it protected" + page "against the cold." + next "It loves iceberg-" + next "filled oceans.@" diff --git a/data/pokemon/dex_entries/sentret.asm b/data/pokemon/dex_entries/sentret.asm new file mode 100644 index 000000000..9e70418c8 --- /dev/null +++ b/data/pokemon/dex_entries/sentret.asm @@ -0,0 +1,10 @@ +; SentretPokedexEntry: ; 0x1ccd6b + db "SCOUT@" ; species name + dw 207, 130 ; height, weight + + db "When acting as a" + next "lookout, it warns" + next "others of danger" + page "by screeching and" + next "hitting the ground" + next "with its tail.@" diff --git a/data/pokemon/dex_entries/shellder.asm b/data/pokemon/dex_entries/shellder.asm new file mode 100644 index 000000000..0c7553c43 --- /dev/null +++ b/data/pokemon/dex_entries/shellder.asm @@ -0,0 +1,10 @@ +; ShellderPokedexEntry: ; 0x1b8a68 + db "BIVALVE@" ; species name + dw 100, 90 ; height, weight + + db "Clamping on to an" + next "opponent reveals" + next "its vulnerable" + page "parts, so it uses" + next "this move only as" + next "a last resort.@" diff --git a/data/pokemon/dex_entries/shuckle.asm b/data/pokemon/dex_entries/shuckle.asm new file mode 100644 index 000000000..3795942e3 --- /dev/null +++ b/data/pokemon/dex_entries/shuckle.asm @@ -0,0 +1,10 @@ +; ShucklePokedexEntry: ; 0x1d088e + db "MOLD@" ; species name + dw 200, 450 ; height, weight + + db "The fluid secreted" + next "by its toes carves" + next "holes in rocks for" + page "nesting and can be" + next "mixed with BERRIES" + next "to make a drink.@" diff --git a/data/pokemon/dex_entries/skarmory.asm b/data/pokemon/dex_entries/skarmory.asm new file mode 100644 index 000000000..2558065af --- /dev/null +++ b/data/pokemon/dex_entries/skarmory.asm @@ -0,0 +1,10 @@ +; SkarmoryPokedexEntry: ; 0x1d0e8c + db "ARMOR BIRD@" ; species name + dw 507, 1110 ; height, weight + + db "The feathers that" + next "it sheds are very" + next "sharp. It is said" + page "that people once" + next "used the feathers" + next "as swords.@" diff --git a/data/pokemon/dex_entries/skiploom.asm b/data/pokemon/dex_entries/skiploom.asm new file mode 100644 index 000000000..f6e62266c --- /dev/null +++ b/data/pokemon/dex_entries/skiploom.asm @@ -0,0 +1,10 @@ +; SkiploomPokedexEntry: ; 0x1cd928 + db "COTTONWEED@" ; species name + dw 200, 20 ; height, weight + + db "As soon as it" + next "rains, it closes" + next "its flower and" + page "hides in the shade" + next "of a tree to avoid" + next "getting wet.@" diff --git a/data/pokemon/dex_entries/slowbro.asm b/data/pokemon/dex_entries/slowbro.asm new file mode 100644 index 000000000..fdfb36e98 --- /dev/null +++ b/data/pokemon/dex_entries/slowbro.asm @@ -0,0 +1,10 @@ +; SlowbroPokedexEntry: ; 0x1b8635 + db "HERMITCRAB@" ; species name + dw 503, 1730 ; height, weight + + db "An attached" + next "SHELLDER won't let" + next "go because of the" + page "tasty flavor that" + next "oozes out of its" + next "tail.@" diff --git a/data/pokemon/dex_entries/slowking.asm b/data/pokemon/dex_entries/slowking.asm new file mode 100644 index 000000000..f52bdb1b7 --- /dev/null +++ b/data/pokemon/dex_entries/slowking.asm @@ -0,0 +1,10 @@ +; SlowkingPokedexEntry: ; 0x1d0292 + db "ROYAL@" ; species name + dw 607, 1750 ; height, weight + + db "Every time it ya-" + next "wns, SHELLDER" + next "injects more poi-" + page "son into it. The" + next "poison makes it" + next "more intelligent.@" diff --git a/data/pokemon/dex_entries/slowpoke.asm b/data/pokemon/dex_entries/slowpoke.asm new file mode 100644 index 000000000..2341758f8 --- /dev/null +++ b/data/pokemon/dex_entries/slowpoke.asm @@ -0,0 +1,10 @@ +; SlowpokePokedexEntry: ; 0x1b85d3 + db "DOPEY@" ; species name + dw 311, 790 ; height, weight + + db "It is always so" + next "absent-minded that" + next "it won't react," + page "even if its" + next "flavorful tail is" + next "bitten.@" diff --git a/data/pokemon/dex_entries/slugma.asm b/data/pokemon/dex_entries/slugma.asm new file mode 100644 index 000000000..ea1fc01f2 --- /dev/null +++ b/data/pokemon/dex_entries/slugma.asm @@ -0,0 +1,10 @@ +; SlugmaPokedexEntry: ; 0x1d0ab8 + db "LAVA@" ; species name + dw 204, 770 ; height, weight + + db "These group to-" + next "gether in areas" + next "that are hotter" + page "than normal. If it" + next "cools off, its" + next "skin hardens.@" diff --git a/data/pokemon/dex_entries/smeargle.asm b/data/pokemon/dex_entries/smeargle.asm new file mode 100644 index 000000000..8b265c1ea --- /dev/null +++ b/data/pokemon/dex_entries/smeargle.asm @@ -0,0 +1,10 @@ +; SmearglePokedexEntry: ; 0x1d11e0 + db "PAINTER@" ; species name + dw 311, 1280 ; height, weight + + db "The color of the" + next "mysterious fluid" + next "secreted from its" + page "tail is predeter-" + next "mined for each" + next "SMEARGLE.@" diff --git a/data/pokemon/dex_entries/smoochum.asm b/data/pokemon/dex_entries/smoochum.asm new file mode 100644 index 000000000..b619b1720 --- /dev/null +++ b/data/pokemon/dex_entries/smoochum.asm @@ -0,0 +1,10 @@ +; SmoochumPokedexEntry: ; 0x1d132b + db "KISS@" ; species name + dw 104, 130 ; height, weight + + db "The sensitivity of" + next "its lips develops" + next "most quickly." + page "It uses them to" + next "try to identify" + next "unknown objects.@" diff --git a/data/pokemon/dex_entries/sneasel.asm b/data/pokemon/dex_entries/sneasel.asm new file mode 100644 index 000000000..5c1e70f09 --- /dev/null +++ b/data/pokemon/dex_entries/sneasel.asm @@ -0,0 +1,10 @@ +; SneaselPokedexEntry: ; 0x1d097a + db "SHARP CLAW@" ; species name + dw 211, 620 ; height, weight + + db "This cunning" + next "#MON hides" + next "under the cover" + page "of darkness," + next "waiting to attack" + next "its prey.@" diff --git a/data/pokemon/dex_entries/snorlax.asm b/data/pokemon/dex_entries/snorlax.asm new file mode 100644 index 000000000..e56651fb8 --- /dev/null +++ b/data/pokemon/dex_entries/snorlax.asm @@ -0,0 +1,10 @@ +; SnorlaxPokedexEntry: ; 0x1cc5cf + db "SLEEPING@" ; species name + dw 611, 10140 ; height, weight + + db "This #MON's" + next "stomach is so" + next "strong, even" + page "eating moldy or" + next "rotten food will" + next "not affect it.@" diff --git a/data/pokemon/dex_entries/snubbull.asm b/data/pokemon/dex_entries/snubbull.asm new file mode 100644 index 000000000..97b27ed8f --- /dev/null +++ b/data/pokemon/dex_entries/snubbull.asm @@ -0,0 +1,10 @@ +; SnubbullPokedexEntry: ; 0x1d06e0 + db "FAIRY@" ; species name + dw 200, 170 ; height, weight + + db "In truth, it is a" + next "cowardly #MON." + next "It growls eagerly" + page "in order to hide" + next "its fear from its" + next "opponent.@" diff --git a/data/pokemon/dex_entries/spearow.asm b/data/pokemon/dex_entries/spearow.asm new file mode 100644 index 000000000..16b89d22f --- /dev/null +++ b/data/pokemon/dex_entries/spearow.asm @@ -0,0 +1,10 @@ +; SpearowPokedexEntry: ; 0x181f03 + db "TINY BIRD@" ; species name + dw 100, 40 ; height, weight + + db "To protect its" + next "territory, it" + next "flies around" + page "ceaselessly," + next "making high-" + next "pitched cries.@" diff --git a/data/pokemon/dex_entries/spinarak.asm b/data/pokemon/dex_entries/spinarak.asm new file mode 100644 index 000000000..e6e4c7203 --- /dev/null +++ b/data/pokemon/dex_entries/spinarak.asm @@ -0,0 +1,10 @@ +; SpinarakPokedexEntry: ; 0x1cd012 + db "STRINGSPIT@" ; species name + dw 108, 190 ; height, weight + + db "If prey becomes" + next "ensnared in its" + next "nest of spun" + page "string, it waits" + next "motionlessly until" + next "it becomes dark.@" diff --git a/data/pokemon/dex_entries/squirtle.asm b/data/pokemon/dex_entries/squirtle.asm new file mode 100644 index 000000000..6fd442a13 --- /dev/null +++ b/data/pokemon/dex_entries/squirtle.asm @@ -0,0 +1,10 @@ +; SquirtlePokedexEntry: ; 0x181926 + db "TINYTURTLE@" ; species name + dw 108, 200 ; height, weight + + db "When it feels" + next "threatened, it" + next "draws its legs" + page "inside its shell" + next "and sprays water" + next "from its mouth.@" diff --git a/data/pokemon/dex_entries/stantler.asm b/data/pokemon/dex_entries/stantler.asm new file mode 100644 index 000000000..0fce8f2b5 --- /dev/null +++ b/data/pokemon/dex_entries/stantler.asm @@ -0,0 +1,10 @@ +; StantlerPokedexEntry: ; 0x1d1174 + db "BIG HORN@" ; species name + dw 407, 1570 ; height, weight + + db "The round balls" + next "found on the" + next "fallen antlers can" + page "be ground into a" + next "powder that aids" + next "in sleeping.@" diff --git a/data/pokemon/dex_entries/starmie.asm b/data/pokemon/dex_entries/starmie.asm new file mode 100644 index 000000000..83393b9c2 --- /dev/null +++ b/data/pokemon/dex_entries/starmie.asm @@ -0,0 +1,10 @@ +; StarmiePokedexEntry: ; 0x1b9776 + db "MYSTERIOUS@" ; species name + dw 307, 1760 ; height, weight + + db "It is said that it" + next "uses the seven-" + next "colored core of" + page "its body to send" + next "electric waves" + next "into outer space.@" diff --git a/data/pokemon/dex_entries/staryu.asm b/data/pokemon/dex_entries/staryu.asm new file mode 100644 index 000000000..9f1fadc9c --- /dev/null +++ b/data/pokemon/dex_entries/staryu.asm @@ -0,0 +1,10 @@ +; StaryuPokedexEntry: ; 0x1b9702 + db "STARSHAPE@" ; species name + dw 207, 760 ; height, weight + + db "When the stars" + next "twinkle at night," + next "it floats up from" + page "the sea floor, and" + next "its body's center" + next "core flickers.@" diff --git a/data/pokemon/dex_entries/steelix.asm b/data/pokemon/dex_entries/steelix.asm new file mode 100644 index 000000000..6bbfe6c28 --- /dev/null +++ b/data/pokemon/dex_entries/steelix.asm @@ -0,0 +1,10 @@ +; SteelixPokedexEntry: ; 0x1d067c + db "IRON SNAKE@" ; species name + dw 3002, 8820 ; height, weight + + db "The many small" + next "metal particles" + next "that cover this" + page "#MON's body" + next "reflect bright" + next "light well.@" diff --git a/data/pokemon/dex_entries/sudowoodo.asm b/data/pokemon/dex_entries/sudowoodo.asm new file mode 100644 index 000000000..060db1d8d --- /dev/null +++ b/data/pokemon/dex_entries/sudowoodo.asm @@ -0,0 +1,10 @@ +; SudowoodoPokedexEntry: ; 0x1cd7d9 + db "IMITATION@" ; species name + dw 311, 840 ; height, weight + + db "If a tree branch" + next "shakes when there" + next "is no wind, it's a" + page "SUDOWOODO, not a" + next "tree. It hides" + next "from the rain.@" diff --git a/data/pokemon/dex_entries/suicune.asm b/data/pokemon/dex_entries/suicune.asm new file mode 100644 index 000000000..c60c002f7 --- /dev/null +++ b/data/pokemon/dex_entries/suicune.asm @@ -0,0 +1,10 @@ +; SuicunePokedexEntry: ; 0x1d1642 + db "AURORA@" ; species name + dw 607, 4120 ; height, weight + + db "This divine" + next "#MON blows" + next "around the world," + page "always in search" + next "of a pure" + next "reservoir.@" diff --git a/data/pokemon/dex_entries/sunflora.asm b/data/pokemon/dex_entries/sunflora.asm new file mode 100644 index 000000000..2d0e78111 --- /dev/null +++ b/data/pokemon/dex_entries/sunflora.asm @@ -0,0 +1,10 @@ +; SunfloraPokedexEntry: ; 0x1cdaef + db "SUN@" ; species name + dw 207, 190 ; height, weight + + db "As the hot season" + next "approaches, the" + next "petals on this" + page "#MON's face" + next "become more vivid" + next "and lively.@" diff --git a/data/pokemon/dex_entries/sunkern.asm b/data/pokemon/dex_entries/sunkern.asm new file mode 100644 index 000000000..680e1799e --- /dev/null +++ b/data/pokemon/dex_entries/sunkern.asm @@ -0,0 +1,10 @@ +; SunkernPokedexEntry: ; 0x1cda87 + db "SEED@" ; species name + dw 100, 40 ; height, weight + + db "It is very weak." + next "Its only means of" + next "defense is to" + page "shake its leaves" + next "desperately at its" + next "attacker.@" diff --git a/data/pokemon/dex_entries/swinub.asm b/data/pokemon/dex_entries/swinub.asm new file mode 100644 index 000000000..3e6d61dc8 --- /dev/null +++ b/data/pokemon/dex_entries/swinub.asm @@ -0,0 +1,10 @@ +; SwinubPokedexEntry: ; 0x1d0b8d + db "PIG@" ; species name + dw 104, 140 ; height, weight + + db "It uses the tip of" + next "its nose to dig" + next "for food. Its nose" + page "is so tough that" + next "even frozen ground" + next "poses no problem.@" diff --git a/data/pokemon/dex_entries/tangela.asm b/data/pokemon/dex_entries/tangela.asm new file mode 100644 index 000000000..4e011b082 --- /dev/null +++ b/data/pokemon/dex_entries/tangela.asm @@ -0,0 +1,10 @@ +; TangelaPokedexEntry: ; 0x1b948c + db "VINE@" ; species name + dw 303, 770 ; height, weight + + db "During battle, it" + next "constantly moves" + next "the vines that" + page "cover its body in" + next "order to annoy its" + next "opponent.@" diff --git a/data/pokemon/dex_entries/tauros.asm b/data/pokemon/dex_entries/tauros.asm new file mode 100644 index 000000000..bd7851165 --- /dev/null +++ b/data/pokemon/dex_entries/tauros.asm @@ -0,0 +1,10 @@ +; TaurosPokedexEntry: ; 0x1b9a6f + db "WILD BULL@" ; species name + dw 407, 1950 ; height, weight + + db "These violent" + next "#MON fight" + next "with other mem-" + page "bers of their herd" + next "in order to prove" + next "their strength.@" diff --git a/data/pokemon/dex_entries/teddiursa.asm b/data/pokemon/dex_entries/teddiursa.asm new file mode 100644 index 000000000..35b32c322 --- /dev/null +++ b/data/pokemon/dex_entries/teddiursa.asm @@ -0,0 +1,10 @@ +; TeddiursaPokedexEntry: ; 0x1d09da + db "LITTLE BEAR@" ; species name + dw 200, 190 ; height, weight + + db "It always licks" + next "honey. Its palm" + next "tastes sweet" + page "because of all the" + next "honey it has" + next "absorbed.@" diff --git a/data/pokemon/dex_entries/tentacool.asm b/data/pokemon/dex_entries/tentacool.asm new file mode 100644 index 000000000..5ed4b4fa0 --- /dev/null +++ b/data/pokemon/dex_entries/tentacool.asm @@ -0,0 +1,10 @@ +; TentacoolPokedexEntry: ; 0x1b82d1 + db "JELLYFISH@" ; species name + dw 211, 1000 ; height, weight + + db "As it floats along" + next "on the waves, it" + next "uses its toxic" + page "feelers to stab" + next "anything it" + next "touches.@" diff --git a/data/pokemon/dex_entries/tentacruel.asm b/data/pokemon/dex_entries/tentacruel.asm new file mode 100644 index 000000000..27dad758f --- /dev/null +++ b/data/pokemon/dex_entries/tentacruel.asm @@ -0,0 +1,10 @@ +; TentacruelPokedexEntry: ; 0x1b8337 + db "JELLYFISH@" ; species name + dw 503, 1210 ; height, weight + + db "When its 80 feel-" + next "ers absorb water," + next "it stretches to" + page "become like a net" + next "to entangle its" + next "prey.@" diff --git a/data/pokemon/dex_entries/togepi.asm b/data/pokemon/dex_entries/togepi.asm new file mode 100644 index 000000000..eb185b1f1 --- /dev/null +++ b/data/pokemon/dex_entries/togepi.asm @@ -0,0 +1,10 @@ +; TogepiPokedexEntry: ; 0x1cd396 + db "SPIKE BALL@" ; species name + dw 100, 30 ; height, weight + + db "It is considered" + next "to be a symbol of" + next "good luck. Its" + page "shell is said to" + next "be filled with" + next "happiness.@" diff --git a/data/pokemon/dex_entries/togetic.asm b/data/pokemon/dex_entries/togetic.asm new file mode 100644 index 000000000..7d1519d73 --- /dev/null +++ b/data/pokemon/dex_entries/togetic.asm @@ -0,0 +1,10 @@ +; TogeticPokedexEntry: ; 0x1cd402 + db "HAPPINESS@" ; species name + dw 200, 70 ; height, weight + + db "Although it does" + next "not flap its wings" + next "very much, it can" + page "stay up in the air" + next "as it tags along" + next "after its trainer.@" diff --git a/data/pokemon/dex_entries/totodile.asm b/data/pokemon/dex_entries/totodile.asm new file mode 100644 index 000000000..78a1b761e --- /dev/null +++ b/data/pokemon/dex_entries/totodile.asm @@ -0,0 +1,10 @@ +; TotodilePokedexEntry: ; 0x1ccc14 + db "BIG JAW@" ; species name + dw 200, 210 ; height, weight + + db "This rough critter" + next "chomps at any" + next "moving object it" + page "sees. Turning your" + next "back on it is not" + next "recommended.@" diff --git a/data/pokemon/dex_entries/typhlosion.asm b/data/pokemon/dex_entries/typhlosion.asm new file mode 100644 index 000000000..e11823cf5 --- /dev/null +++ b/data/pokemon/dex_entries/typhlosion.asm @@ -0,0 +1,10 @@ +; TyphlosionPokedexEntry: ; 0x1ccba0 + db "VOLCANO@" ; species name + dw 507, 1750 ; height, weight + + db "When heat from its" + next "body causes the" + next "air around it to" + page "shimmer, this is a" + next "sign that it is" + next "ready to battle.@" diff --git a/data/pokemon/dex_entries/tyranitar.asm b/data/pokemon/dex_entries/tyranitar.asm new file mode 100644 index 000000000..9786a6430 --- /dev/null +++ b/data/pokemon/dex_entries/tyranitar.asm @@ -0,0 +1,10 @@ +; TyranitarPokedexEntry: ; 0x1d177b + db "ARMOR@" ; species name + dw 607, 4450 ; height, weight + + db "In just one of its" + next "mighty hands, it" + next "has the power to" + page "make the ground" + next "shake and moun-" + next "tains crumble.@" diff --git a/data/pokemon/dex_entries/tyrogue.asm b/data/pokemon/dex_entries/tyrogue.asm new file mode 100644 index 000000000..d8900c160 --- /dev/null +++ b/data/pokemon/dex_entries/tyrogue.asm @@ -0,0 +1,10 @@ +; TyroguePokedexEntry: ; 0x1d124b + db "SCUFFLE@" ; species name + dw 204, 460 ; height, weight + + db "To brush up on its" + next "fighting skills," + next "it will challenge" + page "anyone. It has a" + next "very strong com-" + next "petitive spirit.@" diff --git a/data/pokemon/dex_entries/umbreon.asm b/data/pokemon/dex_entries/umbreon.asm new file mode 100644 index 000000000..483322f18 --- /dev/null +++ b/data/pokemon/dex_entries/umbreon.asm @@ -0,0 +1,10 @@ +; UmbreonPokedexEntry: ; 0x1d01af + db "MOONLIGHT@" ; species name + dw 303, 600 ; height, weight + + db "On the night of a" + next "full moon, or when" + next "it gets excited," + page "the ring patterns" + next "on its body glow" + next "yellow.@" diff --git a/data/pokemon/dex_entries/unown.asm b/data/pokemon/dex_entries/unown.asm new file mode 100644 index 000000000..5be078b8a --- /dev/null +++ b/data/pokemon/dex_entries/unown.asm @@ -0,0 +1,10 @@ +; UnownPokedexEntry: ; 0x1d0373 + db "SYMBOL@" ; species name + dw 108, 110 ; height, weight + + db "Because different" + next "types of UNOWN" + next "exist, it is said" + page "that they must" + next "have a variety of" + next "abilities.@" diff --git a/data/pokemon/dex_entries/ursaring.asm b/data/pokemon/dex_entries/ursaring.asm new file mode 100644 index 000000000..acf7626f9 --- /dev/null +++ b/data/pokemon/dex_entries/ursaring.asm @@ -0,0 +1,10 @@ +; UrsaringPokedexEntry: ; 0x1d0a41 + db "HIBERNANT@" ; species name + dw 511, 2770 ; height, weight + + db "Although it has a" + next "large body, it is" + next "quite skilled at" + page "climbing trees. It" + next "eats and sleeps in" + next "the treetops.@" diff --git a/data/pokemon/dex_entries/vaporeon.asm b/data/pokemon/dex_entries/vaporeon.asm new file mode 100644 index 000000000..36617899f --- /dev/null +++ b/data/pokemon/dex_entries/vaporeon.asm @@ -0,0 +1,10 @@ +; VaporeonPokedexEntry: ; 0x1cc224 + db "BUBBLE JET@" ; species name + dw 303, 640 ; height, weight + + db "As it uses the" + next "fins on the tip" + next "of its tail to" + page "swim, it blends" + next "with the water" + next "perfectly.@" diff --git a/data/pokemon/dex_entries/venomoth.asm b/data/pokemon/dex_entries/venomoth.asm new file mode 100644 index 000000000..4ff583940 --- /dev/null +++ b/data/pokemon/dex_entries/venomoth.asm @@ -0,0 +1,10 @@ +; VenomothPokedexEntry: ; 0x182abf + db "POISONMOTH@" ; species name + dw 411, 280 ; height, weight + + db "The scales it" + next "scatters will" + next "paralyze anyone" + page "who touches them," + next "making that person" + next "unable to stand.@" diff --git a/data/pokemon/dex_entries/venonat.asm b/data/pokemon/dex_entries/venonat.asm new file mode 100644 index 000000000..8e52b4c82 --- /dev/null +++ b/data/pokemon/dex_entries/venonat.asm @@ -0,0 +1,10 @@ +; VenonatPokedexEntry: ; 0x182a53 + db "INSECT@" ; species name + dw 303, 660 ; height, weight + + db "The small bugs it" + next "eats appear only" + next "at night, so it" + page "sleeps in a hole" + next "in a tree until" + next "night falls.@" diff --git a/data/pokemon/dex_entries/venusaur.asm b/data/pokemon/dex_entries/venusaur.asm new file mode 100644 index 000000000..1b9cc6e43 --- /dev/null +++ b/data/pokemon/dex_entries/venusaur.asm @@ -0,0 +1,10 @@ +; VenusaurPokedexEntry: ; 0x181773 + db "SEED@" ; species name + dw 607, 2210 ; height, weight + + db "As it warms it-" + next "self and absorbs" + next "the sunlight, its" + page "flower petals" + next "release a pleasant" + next "fragrance.@" diff --git a/data/pokemon/dex_entries/victreebel.asm b/data/pokemon/dex_entries/victreebel.asm new file mode 100644 index 000000000..552051572 --- /dev/null +++ b/data/pokemon/dex_entries/victreebel.asm @@ -0,0 +1,10 @@ +; VictreebelPokedexEntry: ; 0x1b826e + db "FLYCATCHER@" ; species name + dw 507, 340 ; height, weight + + db "Once ingested into" + next "this #MON's" + next "body, even the" + page "hardest object" + next "will melt into" + next "nothing.@" diff --git a/data/pokemon/dex_entries/vileplume.asm b/data/pokemon/dex_entries/vileplume.asm new file mode 100644 index 000000000..cf2ea191d --- /dev/null +++ b/data/pokemon/dex_entries/vileplume.asm @@ -0,0 +1,10 @@ +; VileplumePokedexEntry: ; 0x182918 + db "FLOWER@" ; species name + dw 311, 410 ; height, weight + + db "By shaking its big" + next "petals, it scat-" + next "ters toxic pollen" + page "into the air," + next "turning the air" + next "yellow.@" diff --git a/data/pokemon/dex_entries/voltorb.asm b/data/pokemon/dex_entries/voltorb.asm new file mode 100644 index 000000000..5a532e2d0 --- /dev/null +++ b/data/pokemon/dex_entries/voltorb.asm @@ -0,0 +1,10 @@ +; VoltorbPokedexEntry: ; 0x1b8eb0 + db "BALL@" ; species name + dw 108, 230 ; height, weight + + db "During the study" + next "of this #MON," + next "it was discovered" + page "that its compo-" + next "nents are not" + next "found in nature.@" diff --git a/data/pokemon/dex_entries/vulpix.asm b/data/pokemon/dex_entries/vulpix.asm new file mode 100644 index 000000000..f5bbd03a1 --- /dev/null +++ b/data/pokemon/dex_entries/vulpix.asm @@ -0,0 +1,10 @@ +; VulpixPokedexEntry: ; 0x18259b + db "FOX@" ; species name + dw 200, 220 ; height, weight + + db "As its body grows" + next "larger, its six" + next "warm tails become" + page "more beautiful," + next "with a more luxur-" + next "ious coat of fur.@" diff --git a/data/pokemon/dex_entries/wartortle.asm b/data/pokemon/dex_entries/wartortle.asm new file mode 100644 index 000000000..927af5fd2 --- /dev/null +++ b/data/pokemon/dex_entries/wartortle.asm @@ -0,0 +1,10 @@ +; WartortlePokedexEntry: ; 0x181993 + db "TURTLE@" ; species name + dw 303, 500 ; height, weight + + db "Its long, furry" + next "tail is a symbol" + next "of longevity," + page "making it quite" + next "popular among" + next "older people.@" diff --git a/data/pokemon/dex_entries/weedle.asm b/data/pokemon/dex_entries/weedle.asm new file mode 100644 index 000000000..9b81fa11d --- /dev/null +++ b/data/pokemon/dex_entries/weedle.asm @@ -0,0 +1,10 @@ +; WeedlePokedexEntry: ; 0x181bb4 + db "HAIRY BUG@" ; species name + dw 100, 70 ; height, weight + + db "The barb on top of" + next "its head secretes" + next "a strong poison." + page "It uses this toxic" + next "barb to protect" + next "itself.@" diff --git a/data/pokemon/dex_entries/weepinbell.asm b/data/pokemon/dex_entries/weepinbell.asm new file mode 100644 index 000000000..81eb7c215 --- /dev/null +++ b/data/pokemon/dex_entries/weepinbell.asm @@ -0,0 +1,10 @@ +; WeepinbellPokedexEntry: ; 0x1b81fd + db "FLYCATCHER@" ; species name + dw 303, 140 ; height, weight + + db "When it's hungry," + next "it swings its" + next "razor-sharp" + page "leaves, slicing up" + next "any unlucky object" + next "nearby for food.@" diff --git a/data/pokemon/dex_entries/weezing.asm b/data/pokemon/dex_entries/weezing.asm new file mode 100644 index 000000000..1a7b268fd --- /dev/null +++ b/data/pokemon/dex_entries/weezing.asm @@ -0,0 +1,10 @@ +; WeezingPokedexEntry: ; 0x1b92ec + db "POISON GAS@" ; species name + dw 311, 210 ; height, weight + + db "When it inhales" + next "poisonous gases" + next "from garbage, its" + page "body expands, and" + next "its insides smell" + next "much worse.@" diff --git a/data/pokemon/dex_entries/wigglytuff.asm b/data/pokemon/dex_entries/wigglytuff.asm new file mode 100644 index 000000000..8ba563cce --- /dev/null +++ b/data/pokemon/dex_entries/wigglytuff.asm @@ -0,0 +1,10 @@ +; WigglytuffPokedexEntry: ; 0x1826e9 + db "BALLOON@" ; species name + dw 303, 260 ; height, weight + + db "The rich, fluffy" + next "fur that covers" + next "its body feels so" + page "good that anyone" + next "who feels it can't" + next "stop touching it.@" diff --git a/data/pokemon/dex_entries/wobbuffet.asm b/data/pokemon/dex_entries/wobbuffet.asm new file mode 100644 index 000000000..95aae69ab --- /dev/null +++ b/data/pokemon/dex_entries/wobbuffet.asm @@ -0,0 +1,10 @@ +; WobbuffetPokedexEntry: ; 0x1d03dd + db "PATIENT@" ; species name + dw 403, 630 ; height, weight + + db "In order to con-" + next "ceal its black" + next "tail, it lives in" + page "a dark cave and" + next "only moves about" + next "at night.@" diff --git a/data/pokemon/dex_entries/wooper.asm b/data/pokemon/dex_entries/wooper.asm new file mode 100644 index 000000000..d612f2070 --- /dev/null +++ b/data/pokemon/dex_entries/wooper.asm @@ -0,0 +1,10 @@ +; WooperPokedexEntry: ; 0x1d0078 + db "WATER FISH@" ; species name + dw 104, 190 ; height, weight + + db "A mucous" + next "membrane covers" + next "its body. Touching" + page "it barehanded will" + next "cause a shooting" + next "pain.@" diff --git a/data/pokemon/dex_entries/xatu.asm b/data/pokemon/dex_entries/xatu.asm new file mode 100644 index 000000000..21a53d8fc --- /dev/null +++ b/data/pokemon/dex_entries/xatu.asm @@ -0,0 +1,10 @@ +; XatuPokedexEntry: ; 0x1cd4e9 + db "MYSTIC@" ; species name + dw 411, 330 ; height, weight + + db "Once it begins to" + next "meditate at sun-" + next "rise, the entire" + page "day will pass" + next "before it will" + next "move again.@" diff --git a/data/pokemon/dex_entries/yanma.asm b/data/pokemon/dex_entries/yanma.asm new file mode 100644 index 000000000..9843ad289 --- /dev/null +++ b/data/pokemon/dex_entries/yanma.asm @@ -0,0 +1,10 @@ +; YanmaPokedexEntry: ; 0x1d0000 + db "CLEAR WING@" ; species name + dw 311, 840 ; height, weight + + db "It can see in all" + next "directions without" + next "moving its big" + page "eyes, helping it" + next "spot attackers and" + next "food right away.@" diff --git a/data/pokemon/dex_entries/zapdos.asm b/data/pokemon/dex_entries/zapdos.asm new file mode 100644 index 000000000..ea61198a0 --- /dev/null +++ b/data/pokemon/dex_entries/zapdos.asm @@ -0,0 +1,10 @@ +; ZapdosPokedexEntry: ; 0x1cc697 + db "ELECTRIC@" ; species name + dw 503, 1160 ; height, weight + + db "Legendary bird" + next "#MON. They say" + next "lightning caused" + page "by the flapping of" + next "its wings causes" + next "summer storms.@" diff --git a/data/pokemon/dex_entries/zubat.asm b/data/pokemon/dex_entries/zubat.asm new file mode 100644 index 000000000..8232f8bd6 --- /dev/null +++ b/data/pokemon/dex_entries/zubat.asm @@ -0,0 +1,10 @@ +; ZubatPokedexEntry: ; 0x18275d + db "BAT@" ; species name + dw 207, 170 ; height, weight + + db "During the day, it" + next "gathers with" + next "others and hangs" + page "from the ceilings" + next "of old buildings" + next "and caves.@" diff --git a/data/pokemon/dex_entry_pointers.asm b/data/pokemon/dex_entry_pointers.asm new file mode 100644 index 000000000..c4ddc7280 --- /dev/null +++ b/data/pokemon/dex_entry_pointers.asm @@ -0,0 +1,254 @@ +PokedexDataPointerTable: ; 0x44378 +; entries correspond to constants/pokemon_constants.asm + dw BulbasaurPokedexEntry + dw IvysaurPokedexEntry + dw VenusaurPokedexEntry + dw CharmanderPokedexEntry + dw CharmeleonPokedexEntry + dw CharizardPokedexEntry + dw SquirtlePokedexEntry + dw WartortlePokedexEntry + dw BlastoisePokedexEntry + dw CaterpiePokedexEntry + dw MetapodPokedexEntry + dw ButterfreePokedexEntry + dw WeedlePokedexEntry + dw KakunaPokedexEntry + dw BeedrillPokedexEntry + dw PidgeyPokedexEntry + dw PidgeottoPokedexEntry + dw PidgeotPokedexEntry + dw RattataPokedexEntry + dw RaticatePokedexEntry + dw SpearowPokedexEntry + dw FearowPokedexEntry + dw EkansPokedexEntry + dw ArbokPokedexEntry + dw PikachuPokedexEntry + dw RaichuPokedexEntry + dw SandshrewPokedexEntry + dw SandslashPokedexEntry + dw NidoranFPokedexEntry + dw NidorinaPokedexEntry + dw NidoqueenPokedexEntry + dw NidoranMPokedexEntry + dw NidorinoPokedexEntry + dw NidokingPokedexEntry + dw ClefairyPokedexEntry + dw ClefablePokedexEntry + dw VulpixPokedexEntry + dw NinetalesPokedexEntry + dw JigglypuffPokedexEntry + dw WigglytuffPokedexEntry + dw ZubatPokedexEntry + dw GolbatPokedexEntry + dw OddishPokedexEntry + dw GloomPokedexEntry + dw VileplumePokedexEntry + dw ParasPokedexEntry + dw ParasectPokedexEntry + dw VenonatPokedexEntry + dw VenomothPokedexEntry + dw DiglettPokedexEntry + dw DugtrioPokedexEntry + dw MeowthPokedexEntry + dw PersianPokedexEntry + dw PsyduckPokedexEntry + dw GolduckPokedexEntry + dw MankeyPokedexEntry + dw PrimeapePokedexEntry + dw GrowlithePokedexEntry + dw ArcaninePokedexEntry + dw PoliwagPokedexEntry + dw PoliwhirlPokedexEntry + dw PoliwrathPokedexEntry + dw AbraPokedexEntry + dw KadabraPokedexEntry + dw AlakazamPokedexEntry + dw MachopPokedexEntry + dw MachokePokedexEntry + dw MachampPokedexEntry + dw BellsproutPokedexEntry + dw WeepinbellPokedexEntry + dw VictreebelPokedexEntry + dw TentacoolPokedexEntry + dw TentacruelPokedexEntry + dw GeodudePokedexEntry + dw GravelerPokedexEntry + dw GolemPokedexEntry + dw PonytaPokedexEntry + dw RapidashPokedexEntry + dw SlowpokePokedexEntry + dw SlowbroPokedexEntry + dw MagnemitePokedexEntry + dw MagnetonPokedexEntry + dw FarfetchDPokedexEntry + dw DoduoPokedexEntry + dw DodrioPokedexEntry + dw SeelPokedexEntry + dw DewgongPokedexEntry + dw GrimerPokedexEntry + dw MukPokedexEntry + dw ShellderPokedexEntry + dw CloysterPokedexEntry + dw GastlyPokedexEntry + dw HaunterPokedexEntry + dw GengarPokedexEntry + dw OnixPokedexEntry + dw DrowzeePokedexEntry + dw HypnoPokedexEntry + dw KrabbyPokedexEntry + dw KinglerPokedexEntry + dw VoltorbPokedexEntry + dw ElectrodePokedexEntry + dw ExeggcutePokedexEntry + dw ExeggutorPokedexEntry + dw CubonePokedexEntry + dw MarowakPokedexEntry + dw HitmonleePokedexEntry + dw HitmonchanPokedexEntry + dw LickitungPokedexEntry + dw KoffingPokedexEntry + dw WeezingPokedexEntry + dw RhyhornPokedexEntry + dw RhydonPokedexEntry + dw ChanseyPokedexEntry + dw TangelaPokedexEntry + dw KangaskhanPokedexEntry + dw HorseaPokedexEntry + dw SeadraPokedexEntry + dw GoldeenPokedexEntry + dw SeakingPokedexEntry + dw StaryuPokedexEntry + dw StarmiePokedexEntry + dw MrMimePokedexEntry + dw ScytherPokedexEntry + dw JynxPokedexEntry + dw ElectabuzzPokedexEntry + dw MagmarPokedexEntry + dw PinsirPokedexEntry + dw TaurosPokedexEntry + dw MagikarpPokedexEntry + dw GyaradosPokedexEntry + dw LaprasPokedexEntry + dw DittoPokedexEntry + dw EeveePokedexEntry + dw VaporeonPokedexEntry + dw JolteonPokedexEntry + dw FlareonPokedexEntry + dw PorygonPokedexEntry + dw OmanytePokedexEntry + dw OmastarPokedexEntry + dw KabutoPokedexEntry + dw KabutopsPokedexEntry + dw AerodactylPokedexEntry + dw SnorlaxPokedexEntry + dw ArticunoPokedexEntry + dw ZapdosPokedexEntry + dw MoltresPokedexEntry + dw DratiniPokedexEntry + dw DragonairPokedexEntry + dw DragonitePokedexEntry + dw MewtwoPokedexEntry + dw MewPokedexEntry + dw ChikoritaPokedexEntry + dw BayleefPokedexEntry + dw MeganiumPokedexEntry + dw CyndaquilPokedexEntry + dw QuilavaPokedexEntry + dw TyphlosionPokedexEntry + dw TotodilePokedexEntry + dw CroconawPokedexEntry + dw FeraligatrPokedexEntry + dw SentretPokedexEntry + dw FurretPokedexEntry + dw HoothootPokedexEntry + dw NoctowlPokedexEntry + dw LedybaPokedexEntry + dw LedianPokedexEntry + dw SpinarakPokedexEntry + dw AriadosPokedexEntry + dw CrobatPokedexEntry + dw ChinchouPokedexEntry + dw LanturnPokedexEntry + dw PichuPokedexEntry + dw CleffaPokedexEntry + dw IgglybuffPokedexEntry + dw TogepiPokedexEntry + dw TogeticPokedexEntry + dw NatuPokedexEntry + dw XatuPokedexEntry + dw MareepPokedexEntry + dw FlaaffyPokedexEntry + dw AmpharosPokedexEntry + dw BellossomPokedexEntry + dw MarillPokedexEntry + dw AzumarillPokedexEntry + dw SudowoodoPokedexEntry + dw PolitoedPokedexEntry + dw HoppipPokedexEntry + dw SkiploomPokedexEntry + dw JumpluffPokedexEntry + dw AipomPokedexEntry + dw SunkernPokedexEntry + dw SunfloraPokedexEntry + dw YanmaPokedexEntry + dw WooperPokedexEntry + dw QuagsirePokedexEntry + dw EspeonPokedexEntry + dw UmbreonPokedexEntry + dw MurkrowPokedexEntry + dw SlowkingPokedexEntry + dw MisdreavusPokedexEntry + dw UnownPokedexEntry + dw WobbuffetPokedexEntry + dw GirafarigPokedexEntry + dw PinecoPokedexEntry + dw ForretressPokedexEntry + dw DunsparcePokedexEntry + dw GligarPokedexEntry + dw SteelixPokedexEntry + dw SnubbullPokedexEntry + dw GranbullPokedexEntry + dw QwilfishPokedexEntry + dw ScizorPokedexEntry + dw ShucklePokedexEntry + dw HeracrossPokedexEntry + dw SneaselPokedexEntry + dw TeddiursaPokedexEntry + dw UrsaringPokedexEntry + dw SlugmaPokedexEntry + dw MagcargoPokedexEntry + dw SwinubPokedexEntry + dw PiloswinePokedexEntry + dw CorsolaPokedexEntry + dw RemoraidPokedexEntry + dw OctilleryPokedexEntry + dw DelibirdPokedexEntry + dw MantinePokedexEntry + dw SkarmoryPokedexEntry + dw HoundourPokedexEntry + dw HoundoomPokedexEntry + dw KingdraPokedexEntry + dw PhanpyPokedexEntry + dw DonphanPokedexEntry + dw Porygon2PokedexEntry + dw StantlerPokedexEntry + dw SmearglePokedexEntry + dw TyroguePokedexEntry + dw HitmontopPokedexEntry + dw SmoochumPokedexEntry + dw ElekidPokedexEntry + dw MagbyPokedexEntry + dw MiltankPokedexEntry + dw BlisseyPokedexEntry + dw RaikouPokedexEntry + dw EnteiPokedexEntry + dw SuicunePokedexEntry + dw LarvitarPokedexEntry + dw PupitarPokedexEntry + dw TyranitarPokedexEntry + dw LugiaPokedexEntry + dw HoOhPokedexEntry + dw CelebiPokedexEntry +; 0x4456e diff --git a/data/pokemon/dex_order_alpha.asm b/data/pokemon/dex_order_alpha.asm new file mode 100644 index 000000000..8fcb0acd1 --- /dev/null +++ b/data/pokemon/dex_order_alpha.asm @@ -0,0 +1,255 @@ +; Every Pokémon sorted alphabetically by name. + +AlphabeticalPokedexOrder: ; 0x40c65 + db ABRA + db AERODACTYL + db AIPOM + db ALAKAZAM + db AMPHAROS + db ARBOK + db ARCANINE + db ARIADOS + db ARTICUNO + db AZUMARILL + db BAYLEEF + db BEEDRILL + db BELLOSSOM + db BELLSPROUT + db BLASTOISE + db BLISSEY + db BULBASAUR + db BUTTERFREE + db CATERPIE + db CELEBI + db CHANSEY + db CHARIZARD + db CHARMANDER + db CHARMELEON + db CHIKORITA + db CHINCHOU + db CLEFABLE + db CLEFAIRY + db CLEFFA + db CLOYSTER + db CORSOLA + db CROBAT + db CROCONAW + db CUBONE + db CYNDAQUIL + db DELIBIRD + db DEWGONG + db DIGLETT + db DITTO + db DODRIO + db DODUO + db DONPHAN + db DRAGONAIR + db DRAGONITE + db DRATINI + db DROWZEE + db DUGTRIO + db DUNSPARCE + db EEVEE + db EKANS + db ELECTABUZZ + db ELECTRODE + db ELEKID + db ENTEI + db ESPEON + db EXEGGCUTE + db EXEGGUTOR + db FARFETCH_D + db FEAROW + db FERALIGATR + db FLAAFFY + db FLAREON + db FORRETRESS + db FURRET + db GASTLY + db GENGAR + db GEODUDE + db GIRAFARIG + db GLIGAR + db GLOOM + db GOLBAT + db GOLDEEN + db GOLDUCK + db GOLEM + db GRANBULL + db GRAVELER + db GRIMER + db GROWLITHE + db GYARADOS + db HAUNTER + db HERACROSS + db HITMONCHAN + db HITMONLEE + db HITMONTOP + db HO_OH + db HOOTHOOT + db HOPPIP + db HORSEA + db HOUNDOOM + db HOUNDOUR + db HYPNO + db IGGLYBUFF + db IVYSAUR + db JIGGLYPUFF + db JOLTEON + db JUMPLUFF + db JYNX + db KABUTO + db KABUTOPS + db KADABRA + db KAKUNA + db KANGASKHAN + db KINGDRA + db KINGLER + db KOFFING + db KRABBY + db LANTURN + db LAPRAS + db LARVITAR + db LEDIAN + db LEDYBA + db LICKITUNG + db LUGIA + db MACHAMP + db MACHOKE + db MACHOP + db MAGBY + db MAGCARGO + db MAGIKARP + db MAGMAR + db MAGNEMITE + db MAGNETON + db MANKEY + db MANTINE + db MAREEP + db MARILL + db MAROWAK + db MEGANIUM + db MEOWTH + db METAPOD + db MEW + db MEWTWO + db MILTANK + db MISDREAVUS + db MOLTRES + db MR__MIME + db MUK + db MURKROW + db NATU + db NIDOKING + db NIDOQUEEN + db NIDORAN_F + db NIDORAN_M + db NIDORINA + db NIDORINO + db NINETALES + db NOCTOWL + db OCTILLERY + db ODDISH + db OMANYTE + db OMASTAR + db ONIX + db PARAS + db PARASECT + db PERSIAN + db PHANPY + db PICHU + db PIDGEOT + db PIDGEOTTO + db PIDGEY + db PIKACHU + db PILOSWINE + db PINECO + db PINSIR + db POLITOED + db POLIWAG + db POLIWHIRL + db POLIWRATH + db PONYTA + db PORYGON + db PORYGON2 + db PRIMEAPE + db PSYDUCK + db PUPITAR + db QUAGSIRE + db QUILAVA + db QWILFISH + db RAICHU + db RAIKOU + db RAPIDASH + db RATICATE + db RATTATA + db REMORAID + db RHYDON + db RHYHORN + db SANDSHREW + db SANDSLASH + db SCIZOR + db SCYTHER + db SEADRA + db SEAKING + db SEEL + db SENTRET + db SHELLDER + db SHUCKLE + db SKARMORY + db SKIPLOOM + db SLOWBRO + db SLOWKING + db SLOWPOKE + db SLUGMA + db SMEARGLE + db SMOOCHUM + db SNEASEL + db SNORLAX + db SNUBBULL + db SPEAROW + db SPINARAK + db SQUIRTLE + db STANTLER + db STARMIE + db STARYU + db STEELIX + db SUDOWOODO + db SUICUNE + db SUNFLORA + db SUNKERN + db SWINUB + db TANGELA + db TAUROS + db TEDDIURSA + db TENTACOOL + db TENTACRUEL + db TOGEPI + db TOGETIC + db TOTODILE + db TYPHLOSION + db TYRANITAR + db TYROGUE + db UMBREON + db UNOWN + db URSARING + db VAPOREON + db VENOMOTH + db VENONAT + db VENUSAUR + db VICTREEBEL + db VILEPLUME + db VOLTORB + db VULPIX + db WARTORTLE + db WEEDLE + db WEEPINBELL + db WEEZING + db WIGGLYTUFF + db WOBBUFFET + db WOOPER + db XATU + db YANMA + db ZAPDOS + db ZUBAT +; 0x40d60 diff --git a/data/pokemon/dex_order_new.asm b/data/pokemon/dex_order_new.asm new file mode 100644 index 000000000..bf7e3d298 --- /dev/null +++ b/data/pokemon/dex_order_new.asm @@ -0,0 +1,255 @@ +; Every Pokémon sorted in New Pokédex Order. + +NewPokedexOrder: ; 0x40d60 + db CHIKORITA + db BAYLEEF + db MEGANIUM + db CYNDAQUIL + db QUILAVA + db TYPHLOSION + db TOTODILE + db CROCONAW + db FERALIGATR + db PIDGEY + db PIDGEOTTO + db PIDGEOT + db SPEAROW + db FEAROW + db HOOTHOOT + db NOCTOWL + db RATTATA + db RATICATE + db SENTRET + db FURRET + db PICHU + db PIKACHU + db RAICHU + db CATERPIE + db METAPOD + db BUTTERFREE + db WEEDLE + db KAKUNA + db BEEDRILL + db LEDYBA + db LEDIAN + db SPINARAK + db ARIADOS + db GEODUDE + db GRAVELER + db GOLEM + db ZUBAT + db GOLBAT + db CROBAT + db CLEFFA + db CLEFAIRY + db CLEFABLE + db IGGLYBUFF + db JIGGLYPUFF + db WIGGLYTUFF + db TOGEPI + db TOGETIC + db SANDSHREW + db SANDSLASH + db EKANS + db ARBOK + db DUNSPARCE + db MAREEP + db FLAAFFY + db AMPHAROS + db WOOPER + db QUAGSIRE + db GASTLY + db HAUNTER + db GENGAR + db UNOWN + db ONIX + db STEELIX + db BELLSPROUT + db WEEPINBELL + db VICTREEBEL + db HOPPIP + db SKIPLOOM + db JUMPLUFF + db PARAS + db PARASECT + db POLIWAG + db POLIWHIRL + db POLIWRATH + db POLITOED + db MAGIKARP + db GYARADOS + db GOLDEEN + db SEAKING + db SLOWPOKE + db SLOWBRO + db SLOWKING + db ODDISH + db GLOOM + db VILEPLUME + db BELLOSSOM + db DROWZEE + db HYPNO + db ABRA + db KADABRA + db ALAKAZAM + db DITTO + db PINECO + db FORRETRESS + db NIDORAN_F + db NIDORINA + db NIDOQUEEN + db NIDORAN_M + db NIDORINO + db NIDOKING + db YANMA + db SUNKERN + db SUNFLORA + db EXEGGCUTE + db EXEGGUTOR + db SUDOWOODO + db WOBBUFFET + db VENONAT + db VENOMOTH + db SCYTHER + db SCIZOR + db PINSIR + db HERACROSS + db KOFFING + db WEEZING + db GRIMER + db MUK + db MAGNEMITE + db MAGNETON + db VOLTORB + db ELECTRODE + db AIPOM + db SNUBBULL + db GRANBULL + db VULPIX + db NINETALES + db GROWLITHE + db ARCANINE + db STANTLER + db MARILL + db AZUMARILL + db DIGLETT + db DUGTRIO + db MANKEY + db PRIMEAPE + db MEOWTH + db PERSIAN + db PSYDUCK + db GOLDUCK + db MACHOP + db MACHOKE + db MACHAMP + db TYROGUE + db HITMONLEE + db HITMONCHAN + db HITMONTOP + db GIRAFARIG + db TAUROS + db MILTANK + db MAGBY + db MAGMAR + db SMOOCHUM + db JYNX + db ELEKID + db ELECTABUZZ + db MR__MIME + db SMEARGLE + db FARFETCH_D + db NATU + db XATU + db QWILFISH + db TENTACOOL + db TENTACRUEL + db KRABBY + db KINGLER + db SHUCKLE + db STARYU + db STARMIE + db SHELLDER + db CLOYSTER + db CORSOLA + db REMORAID + db OCTILLERY + db CHINCHOU + db LANTURN + db SEEL + db DEWGONG + db LICKITUNG + db TANGELA + db EEVEE + db VAPOREON + db JOLTEON + db FLAREON + db ESPEON + db UMBREON + db HORSEA + db SEADRA + db KINGDRA + db GLIGAR + db DELIBIRD + db SWINUB + db PILOSWINE + db TEDDIURSA + db URSARING + db PHANPY + db DONPHAN + db MANTINE + db SKARMORY + db DODUO + db DODRIO + db PONYTA + db RAPIDASH + db CUBONE + db MAROWAK + db KANGASKHAN + db RHYHORN + db RHYDON + db MURKROW + db HOUNDOUR + db HOUNDOOM + db SLUGMA + db MAGCARGO + db SNEASEL + db MISDREAVUS + db PORYGON + db PORYGON2 + db CHANSEY + db BLISSEY + db LAPRAS + db OMANYTE + db OMASTAR + db KABUTO + db KABUTOPS + db AERODACTYL + db SNORLAX + db BULBASAUR + db IVYSAUR + db VENUSAUR + db CHARMANDER + db CHARMELEON + db CHARIZARD + db SQUIRTLE + db WARTORTLE + db BLASTOISE + db ARTICUNO + db ZAPDOS + db MOLTRES + db RAIKOU + db ENTEI + db SUICUNE + db DRATINI + db DRAGONAIR + db DRAGONITE + db LARVITAR + db PUPITAR + db TYRANITAR + db LUGIA + db HO_OH + db MEWTWO + db MEW + db CELEBI +; 0x40e5b diff --git a/data/pokemon/egg_move_pointers.asm b/data/pokemon/egg_move_pointers.asm new file mode 100644 index 000000000..caa9ed7c0 --- /dev/null +++ b/data/pokemon/egg_move_pointers.asm @@ -0,0 +1,257 @@ +EggMovePointers:: ; 0x23b11 + dw BulbasaurEggMoves + dw NoEggMoves + dw NoEggMoves + dw CharmanderEggMoves + dw NoEggMoves + dw NoEggMoves + dw SquirtleEggMoves + dw NoEggMoves + dw NoEggMoves + dw NoEggMoves + dw NoEggMoves + dw NoEggMoves + dw NoEggMoves + dw NoEggMoves + dw NoEggMoves + dw PidgeyEggMoves + dw NoEggMoves + dw NoEggMoves + dw RattataEggMoves + dw NoEggMoves + dw SpearowEggMoves + dw NoEggMoves + dw EkansEggMoves + dw NoEggMoves + dw NoEggMoves + dw NoEggMoves + dw SandshrewEggMoves + dw NoEggMoves + dw NidoranFEggMoves + dw NoEggMoves + dw NoEggMoves + dw NidoranMEggMoves + dw NoEggMoves + dw NoEggMoves + dw NoEggMoves + dw NoEggMoves + dw VulpixEggMoves + dw NoEggMoves + dw NoEggMoves + dw NoEggMoves + dw ZubatEggMoves + dw NoEggMoves + dw OddishEggMoves + dw NoEggMoves + dw NoEggMoves + dw ParasEggMoves + dw NoEggMoves + dw VenonatEggMoves + dw NoEggMoves + dw DiglettEggMoves + dw NoEggMoves + dw MeowthEggMoves + dw NoEggMoves + dw PsyduckEggMoves + dw NoEggMoves + dw MankeyEggMoves + dw NoEggMoves + dw GrowlitheEggMoves + dw NoEggMoves + dw PoliwagEggMoves + dw NoEggMoves + dw NoEggMoves + dw AbraEggMoves + dw NoEggMoves + dw NoEggMoves + dw MachopEggMoves + dw NoEggMoves + dw NoEggMoves + dw BellsproutEggMoves + dw NoEggMoves + dw NoEggMoves + dw TentacoolEggMoves + dw NoEggMoves + dw GeodudeEggMoves + dw NoEggMoves + dw NoEggMoves + dw PonytaEggMoves + dw NoEggMoves + dw SlowpokeEggMoves + dw NoEggMoves + dw NoEggMoves + dw NoEggMoves + dw FarfetchDEggMoves + dw DoduoEggMoves + dw NoEggMoves + dw SeelEggMoves + dw NoEggMoves + dw GrimerEggMoves + dw NoEggMoves + dw ShellderEggMoves + dw NoEggMoves + dw GastlyEggMoves + dw NoEggMoves + dw NoEggMoves + dw OnixEggMoves + dw DrowzeeEggMoves + dw NoEggMoves + dw KrabbyEggMoves + dw NoEggMoves + dw NoEggMoves + dw NoEggMoves + dw ExeggcuteEggMoves + dw NoEggMoves + dw CuboneEggMoves + dw NoEggMoves + dw NoEggMoves + dw NoEggMoves + dw LickitungEggMoves + dw KoffingEggMoves + dw NoEggMoves + dw RhyhornEggMoves + dw NoEggMoves + dw ChanseyEggMoves + dw TangelaEggMoves + dw KangaskhanEggMoves + dw HorseaEggMoves + dw NoEggMoves + dw GoldeenEggMoves + dw NoEggMoves +if _CRYSTAL + dw NoEggMoves +else + dw StaryuEggMoves +endc + dw NoEggMoves + dw MrMimeEggMoves + dw ScytherEggMoves + dw NoEggMoves + dw NoEggMoves + dw NoEggMoves + dw PinsirEggMoves + dw NoEggMoves + dw NoEggMoves + dw NoEggMoves + dw LaprasEggMoves + dw NoEggMoves + dw EeveeEggMoves + dw NoEggMoves + dw NoEggMoves + dw NoEggMoves + dw NoEggMoves + dw OmanyteEggMoves + dw NoEggMoves + dw KabutoEggMoves + dw NoEggMoves + dw AerodactylEggMoves + dw SnorlaxEggMoves + dw NoEggMoves + dw NoEggMoves + dw NoEggMoves + dw DratiniEggMoves + dw NoEggMoves + dw NoEggMoves + dw NoEggMoves + dw NoEggMoves + dw ChikoritaEggMoves + dw NoEggMoves + dw NoEggMoves + dw CyndaquilEggMoves + dw NoEggMoves + dw NoEggMoves + dw TotodileEggMoves + dw NoEggMoves + dw NoEggMoves + dw SentretEggMoves + dw NoEggMoves + dw HoothootEggMoves + dw NoEggMoves + dw LedybaEggMoves + dw NoEggMoves + dw SpinarakEggMoves + dw NoEggMoves + dw NoEggMoves + dw ChinchouEggMoves + dw NoEggMoves + dw PichuEggMoves + dw CleffaEggMoves + dw IgglybuffEggMoves + dw TogepiEggMoves + dw NoEggMoves + dw NatuEggMoves + dw NoEggMoves + dw MareepEggMoves + dw NoEggMoves + dw NoEggMoves + dw NoEggMoves + dw MarillEggMoves + dw NoEggMoves + dw SudowoodoEggMoves + dw NoEggMoves + dw HoppipEggMoves + dw NoEggMoves + dw NoEggMoves + dw AipomEggMoves + dw NoEggMoves + dw NoEggMoves + dw YanmaEggMoves + dw WooperEggMoves + dw NoEggMoves + dw NoEggMoves + dw NoEggMoves + dw MurkrowEggMoves + dw NoEggMoves + dw MisdreavusEggMoves + dw NoEggMoves + dw NoEggMoves + dw GirafarigEggMoves + dw PinecoEggMoves + dw NoEggMoves + dw DunsparceEggMoves + dw GligarEggMoves + dw NoEggMoves + dw SnubbullEggMoves + dw NoEggMoves + dw QwilfishEggMoves + dw NoEggMoves + dw ShuckleEggMoves + dw HeracrossEggMoves + dw SneaselEggMoves + dw TeddiursaEggMoves + dw NoEggMoves + dw SlugmaEggMoves + dw NoEggMoves + dw SwinubEggMoves + dw NoEggMoves + dw CorsolaEggMoves + dw RemoraidEggMoves + dw NoEggMoves + dw DelibirdEggMoves + dw MantineEggMoves + dw SkarmoryEggMoves + dw HoundourEggMoves + dw NoEggMoves + dw NoEggMoves + dw PhanpyEggMoves + dw NoEggMoves + dw NoEggMoves + dw StantlerEggMoves + dw NoEggMoves + dw TyrogueEggMoves + dw NoEggMoves + dw SmoochumEggMoves + dw ElekidEggMoves + dw MagbyEggMoves + dw MiltankEggMoves + dw NoEggMoves + dw NoEggMoves + dw NoEggMoves + dw NoEggMoves + dw LarvitarEggMoves + dw NoEggMoves + dw NoEggMoves + dw NoEggMoves + dw NoEggMoves + dw NoEggMoves +; 0x23d07 diff --git a/data/pokemon/egg_moves.asm b/data/pokemon/egg_moves.asm new file mode 100644 index 000000000..c1f9ae964 --- /dev/null +++ b/data/pokemon/egg_moves.asm @@ -0,0 +1,870 @@ +INCLUDE "includes.asm" + + +SECTION "Egg Moves", ROMX + +; All instances of Charm, Steel Wing, Sweet Scent, and Lovely Kiss were +; removed from egg move lists in Crystal, because they are also TMs. + +; Staryu's egg moves were removed in Crystal, because Staryu is genderless +; and can only breed with Ditto. + + +INCLUDE "data/pokemon/egg_move_pointers.asm" + + +EggMoves:: + +BulbasaurEggMoves: + db LIGHT_SCREEN + db SKULL_BASH + db SAFEGUARD +if !_CRYSTAL + db CHARM +endc + db RAZOR_WIND + db PETAL_DANCE + db $ff + +CharmanderEggMoves: + db BELLY_DRUM + db ANCIENTPOWER + db ROCK_SLIDE + db BITE + db OUTRAGE + db BEAT_UP + db $ff + +SquirtleEggMoves: + db MIRROR_COAT + db HAZE + db MIST + db CONFUSION + db FORESIGHT + db FLAIL + db $ff + +PidgeyEggMoves: + db PURSUIT + db FAINT_ATTACK + db FORESIGHT +if !_CRYSTAL + db STEEL_WING +endc + db $ff + +RattataEggMoves: + db SCREECH + db FLAME_WHEEL + db FURY_SWIPES + db BITE + db COUNTER + db REVERSAL + db $ff + +SpearowEggMoves: + db FAINT_ATTACK + db FALSE_SWIPE + db SCARY_FACE + db QUICK_ATTACK + db TRI_ATTACK + db $ff + +EkansEggMoves: + db PURSUIT + db SLAM + db SPITE + db BEAT_UP +if _CRYSTAL + db CRUNCH +endc + db $ff + +SandshrewEggMoves: + db FLAIL + db SAFEGUARD + db COUNTER + db RAPID_SPIN +if _CRYSTAL + db METAL_CLAW +endc + db $ff + +NidoranFEggMoves: + db SUPERSONIC + db DISABLE + db TAKE_DOWN + db FOCUS_ENERGY + db CHARM + db COUNTER + db BEAT_UP + db $ff + +NidoranMEggMoves: + db SUPERSONIC + db DISABLE + db TAKE_DOWN + db CONFUSION + db AMNESIA + db COUNTER + db BEAT_UP + db $ff + +VulpixEggMoves: + db FAINT_ATTACK + db HYPNOSIS + db FLAIL + db SPITE + db DISABLE + db $ff + +ZubatEggMoves: + db QUICK_ATTACK + db PURSUIT + db FAINT_ATTACK + db GUST + db WHIRLWIND + db $ff + +OddishEggMoves: + db SWORDS_DANCE + db RAZOR_LEAF + db FLAIL + db SYNTHESIS +if !_CRYSTAL + db CHARM +endc + db $ff + +ParasEggMoves: + db FALSE_SWIPE + db SCREECH + db COUNTER + db PSYBEAM + db FLAIL +if !_CRYSTAL + db SWEET_SCENT +endc + db LIGHT_SCREEN + db PURSUIT + db $ff + +VenonatEggMoves: + db BATON_PASS + db SCREECH + db GIGA_DRAIN + db $ff + +DiglettEggMoves: + db FAINT_ATTACK + db SCREECH + db ANCIENTPOWER + db PURSUIT + db BEAT_UP + db $ff + +MeowthEggMoves: + db SPITE + db CHARM + db HYPNOSIS + db AMNESIA + db $ff + +PsyduckEggMoves: + db ICE_BEAM + db HYPNOSIS + db PSYBEAM + db FORESIGHT + db LIGHT_SCREEN + db FUTURE_SIGHT + db PSYCHIC_M +if _CRYSTAL + db CROSS_CHOP +endc + db $ff + +MankeyEggMoves: + db ROCK_SLIDE + db FORESIGHT + db MEDITATE + db COUNTER + db REVERSAL + db BEAT_UP + db $ff + +GrowlitheEggMoves: + db BODY_SLAM + db SAFEGUARD + db CRUNCH + db THRASH + db FIRE_SPIN + db $ff + +PoliwagEggMoves: + db MIST + db SPLASH + db BUBBLEBEAM + db HAZE + db MIND_READER + db $ff + +AbraEggMoves: + db LIGHT_SCREEN + db ENCORE + db BARRIER + db $ff + +MachopEggMoves: + db LIGHT_SCREEN + db MEDITATE + db ROLLING_KICK + db ENCORE + db $ff + +BellsproutEggMoves: + db SWORDS_DANCE + db ENCORE + db REFLECT + db SYNTHESIS + db LEECH_LIFE + db $ff + +TentacoolEggMoves: + db AURORA_BEAM + db MIRROR_COAT + db RAPID_SPIN + db HAZE + db SAFEGUARD + db $ff + +GeodudeEggMoves: + db MEGA_PUNCH + db ROCK_SLIDE + db $ff + +PonytaEggMoves: + db FLAME_WHEEL + db THRASH + db DOUBLE_KICK + db HYPNOSIS + db CHARM + db QUICK_ATTACK + db $ff + +SlowpokeEggMoves: + db SAFEGUARD + db BELLY_DRUM + db FUTURE_SIGHT + db STOMP + db $ff + +FarfetchDEggMoves: +if !_CRYSTAL + db STEEL_WING +endc + db FORESIGHT + db MIRROR_MOVE + db GUST + db QUICK_ATTACK + db FLAIL + db $ff + +DoduoEggMoves: + db QUICK_ATTACK + db SUPERSONIC + db HAZE + db FAINT_ATTACK + db FLAIL + db $ff + +SeelEggMoves: + db LICK + db PERISH_SONG + db DISABLE + db PECK + db SLAM + db ENCORE + db $ff + +GrimerEggMoves: + db HAZE + db MEAN_LOOK + db LICK + db $ff + +ShellderEggMoves: + db BUBBLEBEAM + db TAKE_DOWN + db BARRIER + db RAPID_SPIN + db SCREECH + db $ff + +GastlyEggMoves: + db PSYWAVE + db PERISH_SONG + db HAZE + db $ff + +OnixEggMoves: + db ROCK_SLIDE + db FLAIL + db $ff + +DrowzeeEggMoves: + db LIGHT_SCREEN + db BARRIER + db $ff + +KrabbyEggMoves: + db DIG + db HAZE + db AMNESIA + db FLAIL + db SLAM + db $ff + +ExeggcuteEggMoves: + db SYNTHESIS + db MOONLIGHT + db REFLECT + db MEGA_DRAIN + db ANCIENTPOWER + db $ff + +CuboneEggMoves: + db ROCK_SLIDE + db ANCIENTPOWER + db BELLY_DRUM + db SCREECH + db SKULL_BASH + db PERISH_SONG +if _CRYSTAL + db SWORDS_DANCE +endc + db $ff + +LickitungEggMoves: + db BELLY_DRUM + db MAGNITUDE + db BODY_SLAM + db $ff + +KoffingEggMoves: + db SCREECH + db PSYWAVE + db PSYBEAM + db DESTINY_BOND + db PAIN_SPLIT + db $ff + +RhyhornEggMoves: + db CRUNCH + db REVERSAL + db ROCK_SLIDE + db THRASH + db PURSUIT + db COUNTER + db MAGNITUDE + db $ff + +ChanseyEggMoves: + db PRESENT + db METRONOME + db HEAL_BELL + db $ff + +TangelaEggMoves: + db FLAIL + db CONFUSION + db MEGA_DRAIN + db REFLECT + db AMNESIA + db $ff + +KangaskhanEggMoves: + db STOMP + db FORESIGHT + db FOCUS_ENERGY + db SAFEGUARD + db DISABLE + db $ff + +HorseaEggMoves: + db FLAIL + db AURORA_BEAM + db OCTAZOOKA + db DISABLE + db SPLASH + db DRAGON_RAGE + db $ff + +GoldeenEggMoves: + db PSYBEAM + db HAZE + db HYDRO_PUMP + db $ff + +if !_CRYSTAL +StaryuEggMoves: + db AURORA_BEAM + db BARRIER + db SUPERSONIC + db $ff +endc + +MrMimeEggMoves: + db FUTURE_SIGHT + db HYPNOSIS + db MIMIC + db $ff + +ScytherEggMoves: + db COUNTER + db SAFEGUARD + db BATON_PASS + db RAZOR_WIND + db REVERSAL + db LIGHT_SCREEN + db $ff + +PinsirEggMoves: + db FURY_ATTACK + db FLAIL + db $ff + +LaprasEggMoves: + db AURORA_BEAM + db FORESIGHT + db $ff + +EeveeEggMoves: + db FLAIL + db CHARM + db $ff + +OmanyteEggMoves: + db BUBBLEBEAM + db AURORA_BEAM + db SLAM + db SUPERSONIC + db HAZE + db $ff + +KabutoEggMoves: + db BUBBLEBEAM + db AURORA_BEAM + db RAPID_SPIN + db DIG + db FLAIL + db $ff + +AerodactylEggMoves: + db WHIRLWIND + db PURSUIT + db FORESIGHT +if !_CRYSTAL + db STEEL_WING +endc + db $ff + +SnorlaxEggMoves: + db LICK +if !_CRYSTAL + db CHARM +endc + db $ff + +DratiniEggMoves: + db LIGHT_SCREEN + db MIST + db HAZE + db SUPERSONIC + db $ff + +ChikoritaEggMoves: + db VINE_WHIP + db LEECH_SEED + db COUNTER + db ANCIENTPOWER + db FLAIL + db SWORDS_DANCE + db $ff + +CyndaquilEggMoves: + db FURY_SWIPES + db QUICK_ATTACK + db REVERSAL + db THRASH + db FORESIGHT +if _CRYSTAL + db SUBMISSION +endc + db $ff + +TotodileEggMoves: + db CRUNCH + db THRASH + db HYDRO_PUMP + db ANCIENTPOWER + db RAZOR_WIND + db ROCK_SLIDE + db $ff + +SentretEggMoves: + db DOUBLE_EDGE + db PURSUIT + db SLASH + db FOCUS_ENERGY + db REVERSAL + db $ff + +HoothootEggMoves: + db MIRROR_MOVE + db SUPERSONIC + db FAINT_ATTACK + db WING_ATTACK + db WHIRLWIND +if _CRYSTAL + db SKY_ATTACK +endc + db $ff + +LedybaEggMoves: + db PSYBEAM + db BIDE + db LIGHT_SCREEN + db $ff + +SpinarakEggMoves: + db PSYBEAM + db DISABLE + db SONICBOOM + db BATON_PASS + db PURSUIT + db $ff + +ChinchouEggMoves: + db FLAIL + db SUPERSONIC + db SCREECH + db $ff + +PichuEggMoves: + db REVERSAL + db BIDE + db PRESENT + db ENCORE + db DOUBLESLAP + db $ff + +CleffaEggMoves: + db PRESENT + db METRONOME + db AMNESIA + db BELLY_DRUM + db SPLASH + db MIMIC + db $ff + +IgglybuffEggMoves: + db PERISH_SONG + db PRESENT + db FAINT_ATTACK + db $ff + +TogepiEggMoves: + db PRESENT + db MIRROR_MOVE + db PECK + db FORESIGHT + db FUTURE_SIGHT + db $ff + +NatuEggMoves: + db HAZE + db DRILL_PECK + db QUICK_ATTACK + db FAINT_ATTACK + db STEEL_WING + db $ff + +MareepEggMoves: + db THUNDERBOLT + db TAKE_DOWN + db BODY_SLAM + db SAFEGUARD + db SCREECH + db REFLECT + db $ff + +MarillEggMoves: + db LIGHT_SCREEN + db PRESENT + db AMNESIA + db FUTURE_SIGHT + db BELLY_DRUM + db PERISH_SONG + db SUPERSONIC + db FORESIGHT + db $ff + +SudowoodoEggMoves: + db SELFDESTRUCT + db $ff + +HoppipEggMoves: + db CONFUSION + db GROWL + db ENCORE + db DOUBLE_EDGE + db REFLECT + db AMNESIA + db PAY_DAY + db $ff + +AipomEggMoves: + db COUNTER + db SCREECH + db PURSUIT + db AGILITY + db SPITE + db SLAM + db DOUBLESLAP + db BEAT_UP + db $ff + +YanmaEggMoves: + db WHIRLWIND + db REVERSAL + db LEECH_LIFE + db $ff + +WooperEggMoves: + db BODY_SLAM + db ANCIENTPOWER + db SAFEGUARD + db $ff + +MurkrowEggMoves: + db WHIRLWIND + db DRILL_PECK + db QUICK_ATTACK + db MIRROR_MOVE + db WING_ATTACK +if _CRYSTAL + db SKY_ATTACK +endc + db $ff + +MisdreavusEggMoves: + db SCREECH + db DESTINY_BOND + db $ff + +GirafarigEggMoves: + db TAKE_DOWN + db AMNESIA + db FORESIGHT + db FUTURE_SIGHT + db BEAT_UP + db $ff + +PinecoEggMoves: + db REFLECT + db PIN_MISSILE + db FLAIL + db SWIFT + db $ff + +DunsparceEggMoves: + db BIDE + db ANCIENTPOWER + db ROCK_SLIDE + db BITE + db RAGE + db $ff + +GligarEggMoves: + db METAL_CLAW + db WING_ATTACK + db RAZOR_WIND + db COUNTER + db $ff + +SnubbullEggMoves: + db METRONOME + db FAINT_ATTACK + db REFLECT + db PRESENT + db CRUNCH + db HEAL_BELL + db LICK + db LEER + db $ff + +QwilfishEggMoves: + db FLAIL + db HAZE + db BUBBLEBEAM + db SUPERSONIC + db $ff + +ShuckleEggMoves: + db SWEET_SCENT + db $ff + +HeracrossEggMoves: + db HARDEN + db BIDE + db FLAIL + db $ff + +SneaselEggMoves: + db COUNTER + db SPITE + db FORESIGHT + db REFLECT + db BITE + db $ff + +TeddiursaEggMoves: + db CRUNCH + db TAKE_DOWN + db SEISMIC_TOSS + db FOCUS_ENERGY + db COUNTER +if _CRYSTAL + db METAL_CLAW +endc + db $ff + +SlugmaEggMoves: + db ACID_ARMOR + db $ff + +SwinubEggMoves: + db TAKE_DOWN + db BITE + db BODY_SLAM + db ROCK_SLIDE + db ANCIENTPOWER + db $ff + +CorsolaEggMoves: + db ROCK_SLIDE + db SAFEGUARD + db SCREECH + db MIST + db AMNESIA + db $ff + +RemoraidEggMoves: + db AURORA_BEAM + db OCTAZOOKA + db SUPERSONIC + db HAZE + db SCREECH + db $ff + +DelibirdEggMoves: + db AURORA_BEAM + db QUICK_ATTACK + db FUTURE_SIGHT + db SPLASH + db RAPID_SPIN + db $ff + +MantineEggMoves: + db TWISTER + db HYDRO_PUMP + db HAZE + db SLAM + db $ff + +SkarmoryEggMoves: + db DRILL_PECK + db PURSUIT + db WHIRLWIND +if _CRYSTAL + db SKY_ATTACK +endc + db $ff + +HoundourEggMoves: + db FIRE_SPIN + db RAGE + db PURSUIT + db COUNTER + db SPITE + db REVERSAL + db BEAT_UP + db $ff + +PhanpyEggMoves: + db FOCUS_ENERGY + db BODY_SLAM + db ANCIENTPOWER +if _CRYSTAL + db WATER_GUN +endc + db $ff + +StantlerEggMoves: + db REFLECT + db SPITE + db DISABLE + db LIGHT_SCREEN + db BITE + db $ff + +TyrogueEggMoves: + db RAPID_SPIN + db HI_JUMP_KICK + db MACH_PUNCH + db MIND_READER + db $ff + +SmoochumEggMoves: +if !_CRYSTAL + db LOVELY_KISS +endc + db MEDITATE + db $ff + +ElekidEggMoves: + db KARATE_CHOP + db BARRIER + db ROLLING_KICK + db MEDITATE +if _CRYSTAL + db CROSS_CHOP +endc + db $ff + +MagbyEggMoves: + db KARATE_CHOP + db MEGA_PUNCH + db BARRIER + db SCREECH +if _CRYSTAL + db CROSS_CHOP +endc + db $ff + +MiltankEggMoves: + db PRESENT + db REVERSAL + db SEISMIC_TOSS + db $ff + +LarvitarEggMoves: + db PURSUIT + db STOMP + db OUTRAGE + db FOCUS_ENERGY + db ANCIENTPOWER + db $ff + +NoEggMoves: + db $ff diff --git a/data/pokemon/evos_attacks.asm b/data/pokemon/evos_attacks.asm new file mode 100644 index 000000000..f21febf87 --- /dev/null +++ b/data/pokemon/evos_attacks.asm @@ -0,0 +1,3398 @@ +INCLUDE "includes.asm" + + +SECTION "Evolutions and Attacks", ROMX + + +INCLUDE "data/pokemon/evos_attacks_pointers.asm" + + +EvosAttacks:: + +BulbasaurEvosAttacks: + db EVOLVE_LEVEL, 16, IVYSAUR + db 0 ; no more evolutions + db 1, TACKLE + db 4, GROWL + db 7, LEECH_SEED + db 10, VINE_WHIP + db 15, POISONPOWDER + db 15, SLEEP_POWDER + db 20, RAZOR_LEAF + db 25, SWEET_SCENT + db 32, GROWTH + db 39, SYNTHESIS + db 46, SOLARBEAM + db 0 ; no more level-up moves + +IvysaurEvosAttacks: + db EVOLVE_LEVEL, 32, VENUSAUR + db 0 ; no more evolutions + db 1, TACKLE + db 1, GROWL + db 1, LEECH_SEED + db 4, GROWL + db 7, LEECH_SEED + db 10, VINE_WHIP + db 15, POISONPOWDER + db 15, SLEEP_POWDER + db 22, RAZOR_LEAF + db 29, SWEET_SCENT + db 38, GROWTH + db 47, SYNTHESIS + db 56, SOLARBEAM + db 0 ; no more level-up moves + +VenusaurEvosAttacks: + db 0 ; no more evolutions + db 1, TACKLE + db 1, GROWL + db 1, LEECH_SEED + db 1, VINE_WHIP + db 4, GROWL + db 7, LEECH_SEED + db 10, VINE_WHIP + db 15, POISONPOWDER + db 15, SLEEP_POWDER + db 22, RAZOR_LEAF + db 29, SWEET_SCENT + db 41, GROWTH + db 53, SYNTHESIS + db 65, SOLARBEAM + db 0 ; no more level-up moves + +CharmanderEvosAttacks: + db EVOLVE_LEVEL, 16, CHARMELEON + db 0 ; no more evolutions + db 1, SCRATCH + db 1, GROWL + db 7, EMBER + db 13, SMOKESCREEN + db 19, RAGE + db 25, SCARY_FACE + db 31, FLAMETHROWER + db 37, SLASH + db 43, DRAGON_RAGE + db 49, FIRE_SPIN + db 0 ; no more level-up moves + +CharmeleonEvosAttacks: + db EVOLVE_LEVEL, 36, CHARIZARD + db 0 ; no more evolutions + db 1, SCRATCH + db 1, GROWL + db 1, EMBER + db 7, EMBER + db 13, SMOKESCREEN + db 20, RAGE + db 27, SCARY_FACE + db 34, FLAMETHROWER + db 41, SLASH + db 48, DRAGON_RAGE + db 55, FIRE_SPIN + db 0 ; no more level-up moves + +CharizardEvosAttacks: + db 0 ; no more evolutions + db 1, SCRATCH + db 1, GROWL + db 1, EMBER + db 1, SMOKESCREEN + db 7, EMBER + db 13, SMOKESCREEN + db 20, RAGE + db 27, SCARY_FACE + db 34, FLAMETHROWER + db 36, WING_ATTACK + db 44, SLASH + db 54, DRAGON_RAGE + db 64, FIRE_SPIN + db 0 ; no more level-up moves + +SquirtleEvosAttacks: + db EVOLVE_LEVEL, 16, WARTORTLE + db 0 ; no more evolutions + db 1, TACKLE + db 4, TAIL_WHIP + db 7, BUBBLE + db 10, WITHDRAW + db 13, WATER_GUN + db 18, BITE + db 23, RAPID_SPIN + db 28, PROTECT + db 33, RAIN_DANCE + db 40, SKULL_BASH + db 47, HYDRO_PUMP + db 0 ; no more level-up moves + +WartortleEvosAttacks: + db EVOLVE_LEVEL, 36, BLASTOISE + db 0 ; no more evolutions + db 1, TACKLE + db 1, TAIL_WHIP + db 1, BUBBLE + db 4, TAIL_WHIP + db 7, BUBBLE + db 10, WITHDRAW + db 13, WATER_GUN + db 19, BITE + db 25, RAPID_SPIN + db 31, PROTECT + db 37, RAIN_DANCE + db 45, SKULL_BASH + db 53, HYDRO_PUMP + db 0 ; no more level-up moves + +BlastoiseEvosAttacks: + db 0 ; no more evolutions + db 1, TACKLE + db 1, TAIL_WHIP + db 1, BUBBLE + db 1, WITHDRAW + db 4, TAIL_WHIP + db 7, BUBBLE + db 10, WITHDRAW + db 13, WATER_GUN + db 19, BITE + db 25, RAPID_SPIN + db 31, PROTECT + db 42, RAIN_DANCE + db 55, SKULL_BASH + db 68, HYDRO_PUMP + db 0 ; no more level-up moves + +CaterpieEvosAttacks: + db EVOLVE_LEVEL, 7, METAPOD + db 0 ; no more evolutions + db 1, TACKLE + db 1, STRING_SHOT + db 0 ; no more level-up moves + +MetapodEvosAttacks: + db EVOLVE_LEVEL, 10, BUTTERFREE + db 0 ; no more evolutions + db 1, HARDEN + db 7, HARDEN + db 0 ; no more level-up moves + +ButterfreeEvosAttacks: + db 0 ; no more evolutions + db 1, CONFUSION + db 10, CONFUSION + db 13, POISONPOWDER + db 14, STUN_SPORE + db 15, SLEEP_POWDER + db 18, SUPERSONIC + db 23, WHIRLWIND + db 28, GUST + db 34, PSYBEAM + db 40, SAFEGUARD + db 0 ; no more level-up moves + +WeedleEvosAttacks: + db EVOLVE_LEVEL, 7, KAKUNA + db 0 ; no more evolutions + db 1, POISON_STING + db 1, STRING_SHOT + db 0 ; no more level-up moves + +KakunaEvosAttacks: + db EVOLVE_LEVEL, 10, BEEDRILL + db 0 ; no more evolutions + db 1, HARDEN + db 7, HARDEN + db 0 ; no more level-up moves + +BeedrillEvosAttacks: + db 0 ; no more evolutions + db 1, FURY_ATTACK + db 10, FURY_ATTACK + db 15, FOCUS_ENERGY + db 20, TWINEEDLE + db 25, RAGE + db 30, PURSUIT + db 35, PIN_MISSILE + db 40, AGILITY + db 0 ; no more level-up moves + +PidgeyEvosAttacks: + db EVOLVE_LEVEL, 18, PIDGEOTTO + db 0 ; no more evolutions + db 1, TACKLE + db 5, SAND_ATTACK + db 9, GUST + db 15, QUICK_ATTACK + db 21, WHIRLWIND + db 29, WING_ATTACK + db 37, AGILITY + db 47, MIRROR_MOVE + db 0 ; no more level-up moves + +PidgeottoEvosAttacks: + db EVOLVE_LEVEL, 36, PIDGEOT + db 0 ; no more evolutions + db 1, TACKLE + db 1, SAND_ATTACK + db 1, GUST + db 5, SAND_ATTACK + db 9, GUST + db 15, QUICK_ATTACK + db 23, WHIRLWIND + db 33, WING_ATTACK + db 43, AGILITY + db 55, MIRROR_MOVE + db 0 ; no more level-up moves + +PidgeotEvosAttacks: + db 0 ; no more evolutions + db 1, TACKLE + db 1, SAND_ATTACK + db 1, GUST + db 1, QUICK_ATTACK + db 5, SAND_ATTACK + db 9, GUST + db 15, QUICK_ATTACK + db 23, WHIRLWIND + db 33, WING_ATTACK + db 46, AGILITY + db 61, MIRROR_MOVE + db 0 ; no more level-up moves + +RattataEvosAttacks: + db EVOLVE_LEVEL, 20, RATICATE + db 0 ; no more evolutions + db 1, TACKLE + db 1, TAIL_WHIP + db 7, QUICK_ATTACK + db 13, HYPER_FANG + db 20, FOCUS_ENERGY + db 27, PURSUIT + db 34, SUPER_FANG + db 0 ; no more level-up moves + +RaticateEvosAttacks: + db 0 ; no more evolutions + db 1, TACKLE + db 1, TAIL_WHIP + db 1, QUICK_ATTACK + db 7, QUICK_ATTACK + db 13, HYPER_FANG + db 20, SCARY_FACE + db 30, PURSUIT + db 40, SUPER_FANG + db 0 ; no more level-up moves + +SpearowEvosAttacks: + db EVOLVE_LEVEL, 20, FEAROW + db 0 ; no more evolutions + db 1, PECK + db 1, GROWL + db 7, LEER + db 13, FURY_ATTACK + db 25, PURSUIT + db 31, MIRROR_MOVE + db 37, DRILL_PECK + db 43, AGILITY + db 0 ; no more level-up moves + +FearowEvosAttacks: + db 0 ; no more evolutions + db 1, PECK + db 1, GROWL + db 1, LEER + db 1, FURY_ATTACK + db 7, LEER + db 13, FURY_ATTACK + db 26, PURSUIT + db 32, MIRROR_MOVE + db 40, DRILL_PECK + db 47, AGILITY + db 0 ; no more level-up moves + +EkansEvosAttacks: + db EVOLVE_LEVEL, 22, ARBOK + db 0 ; no more evolutions + db 1, WRAP + db 1, LEER + db 9, POISON_STING + db 15, BITE + db 23, GLARE + db 29, SCREECH + db 37, ACID + db 43, HAZE + db 0 ; no more level-up moves + +ArbokEvosAttacks: + db 0 ; no more evolutions + db 1, WRAP + db 1, LEER + db 1, POISON_STING + db 1, BITE + db 9, POISON_STING + db 15, BITE + db 25, GLARE + db 33, SCREECH + db 43, ACID + db 51, HAZE + db 0 ; no more level-up moves + +PikachuEvosAttacks: + db EVOLVE_ITEM, THUNDERSTONE, RAICHU + db 0 ; no more evolutions + db 1, THUNDERSHOCK + db 1, GROWL + db 6, TAIL_WHIP + db 8, THUNDER_WAVE + db 11, QUICK_ATTACK + db 15, DOUBLE_TEAM + db 20, SLAM + db 26, THUNDERBOLT + db 33, AGILITY + db 41, THUNDER + db 50, LIGHT_SCREEN + db 0 ; no more level-up moves + +RaichuEvosAttacks: + db 0 ; no more evolutions + db 1, THUNDERSHOCK + db 1, TAIL_WHIP + db 1, QUICK_ATTACK + db 1, THUNDERBOLT + db 0 ; no more level-up moves + +SandshrewEvosAttacks: + db EVOLVE_LEVEL, 22, SANDSLASH + db 0 ; no more evolutions + db 1, SCRATCH + db 6, DEFENSE_CURL + db 11, SAND_ATTACK + db 17, POISON_STING + db 23, SLASH + db 30, SWIFT + db 37, FURY_SWIPES + db 45, SANDSTORM + db 0 ; no more level-up moves + +SandslashEvosAttacks: + db 0 ; no more evolutions + db 1, SCRATCH + db 1, DEFENSE_CURL + db 1, SAND_ATTACK + db 6, DEFENSE_CURL + db 11, SAND_ATTACK + db 17, POISON_STING + db 24, SLASH + db 33, SWIFT + db 42, FURY_SWIPES + db 52, SANDSTORM + db 0 ; no more level-up moves + +NidoranFEvosAttacks: + db EVOLVE_LEVEL, 16, NIDORINA + db 0 ; no more evolutions + db 1, GROWL + db 1, TACKLE + db 8, SCRATCH + db 12, DOUBLE_KICK + db 17, POISON_STING + db 23, TAIL_WHIP + db 30, BITE + db 38, FURY_SWIPES + db 0 ; no more level-up moves + +NidorinaEvosAttacks: + db EVOLVE_ITEM, MOON_STONE, NIDOQUEEN + db 0 ; no more evolutions + db 1, GROWL + db 1, TACKLE + db 8, SCRATCH + db 12, DOUBLE_KICK + db 19, POISON_STING + db 27, TAIL_WHIP + db 36, BITE + db 46, FURY_SWIPES + db 0 ; no more level-up moves + +NidoqueenEvosAttacks: + db 0 ; no more evolutions + db 1, TACKLE + db 1, SCRATCH + db 1, DOUBLE_KICK + db 1, TAIL_WHIP + db 23, BODY_SLAM + db 0 ; no more level-up moves + +NidoranMEvosAttacks: + db EVOLVE_LEVEL, 16, NIDORINO + db 0 ; no more evolutions + db 1, LEER + db 1, TACKLE + db 8, HORN_ATTACK + db 12, DOUBLE_KICK + db 17, POISON_STING + db 23, FOCUS_ENERGY + db 30, FURY_ATTACK + db 38, HORN_DRILL + db 0 ; no more level-up moves + +NidorinoEvosAttacks: + db EVOLVE_ITEM, MOON_STONE, NIDOKING + db 0 ; no more evolutions + db 1, LEER + db 1, TACKLE + db 8, HORN_ATTACK + db 12, DOUBLE_KICK + db 19, POISON_STING + db 27, FOCUS_ENERGY + db 36, FURY_ATTACK + db 46, HORN_DRILL + db 0 ; no more level-up moves + +NidokingEvosAttacks: + db 0 ; no more evolutions + db 1, TACKLE + db 1, HORN_ATTACK + db 1, DOUBLE_KICK + db 1, POISON_STING + db 23, THRASH + db 0 ; no more level-up moves + +ClefairyEvosAttacks: + db EVOLVE_ITEM, MOON_STONE, CLEFABLE + db 0 ; no more evolutions + db 1, POUND + db 1, GROWL + db 4, ENCORE + db 8, SING + db 13, DOUBLESLAP + db 19, MINIMIZE + db 26, DEFENSE_CURL + db 34, METRONOME + db 43, MOONLIGHT + db 53, LIGHT_SCREEN + db 0 ; no more level-up moves + +ClefableEvosAttacks: + db 0 ; no more evolutions + db 1, SING + db 1, DOUBLESLAP + db 1, METRONOME + db 1, MOONLIGHT + db 0 ; no more level-up moves + +VulpixEvosAttacks: + db EVOLVE_ITEM, FIRE_STONE, NINETALES + db 0 ; no more evolutions + db 1, EMBER + db 1, TAIL_WHIP + db 7, QUICK_ATTACK + db 13, ROAR + db 19, CONFUSE_RAY + db 25, SAFEGUARD + db 31, FLAMETHROWER + db 37, FIRE_SPIN + db 0 ; no more level-up moves + +NinetalesEvosAttacks: + db 0 ; no more evolutions + db 1, EMBER + db 1, QUICK_ATTACK + db 1, CONFUSE_RAY + db 1, SAFEGUARD + db 43, FIRE_SPIN + db 0 ; no more level-up moves + +JigglypuffEvosAttacks: + db EVOLVE_ITEM, MOON_STONE, WIGGLYTUFF + db 0 ; no more evolutions + db 1, SING + db 4, DEFENSE_CURL + db 9, POUND + db 14, DISABLE + db 19, ROLLOUT + db 24, DOUBLESLAP + db 29, REST + db 34, BODY_SLAM + db 39, DOUBLE_EDGE + db 0 ; no more level-up moves + +WigglytuffEvosAttacks: + db 0 ; no more evolutions + db 1, SING + db 1, DISABLE + db 1, DEFENSE_CURL + db 1, DOUBLESLAP + db 0 ; no more level-up moves + +ZubatEvosAttacks: + db EVOLVE_LEVEL, 22, GOLBAT + db 0 ; no more evolutions + db 1, LEECH_LIFE + db 6, SUPERSONIC + db 12, BITE + db 19, CONFUSE_RAY + db 27, WING_ATTACK + db 36, MEAN_LOOK + db 46, HAZE + db 0 ; no more level-up moves + +GolbatEvosAttacks: + db EVOLVE_HAPPINESS, TR_ANYTIME, CROBAT + db 0 ; no more evolutions + db 1, SCREECH + db 1, LEECH_LIFE + db 1, SUPERSONIC + db 6, SUPERSONIC + db 12, BITE + db 19, CONFUSE_RAY + db 30, WING_ATTACK + db 42, MEAN_LOOK + db 55, HAZE + db 0 ; no more level-up moves + +OddishEvosAttacks: + db EVOLVE_LEVEL, 21, GLOOM + db 0 ; no more evolutions + db 1, ABSORB + db 7, SWEET_SCENT + db 14, POISONPOWDER + db 16, STUN_SPORE + db 18, SLEEP_POWDER + db 23, ACID + db 32, MOONLIGHT + db 39, PETAL_DANCE + db 0 ; no more level-up moves + +GloomEvosAttacks: + db EVOLVE_ITEM, LEAF_STONE, VILEPLUME + db EVOLVE_ITEM, SUN_STONE, BELLOSSOM + db 0 ; no more evolutions + db 1, ABSORB + db 1, SWEET_SCENT + db 1, POISONPOWDER + db 7, SWEET_SCENT + db 14, POISONPOWDER + db 16, STUN_SPORE + db 18, SLEEP_POWDER + db 24, ACID + db 35, MOONLIGHT + db 44, PETAL_DANCE + db 0 ; no more level-up moves + +VileplumeEvosAttacks: + db 0 ; no more evolutions + db 1, ABSORB + db 1, SWEET_SCENT + db 1, STUN_SPORE + db 1, PETAL_DANCE + db 0 ; no more level-up moves + +ParasEvosAttacks: + db EVOLVE_LEVEL, 24, PARASECT + db 0 ; no more evolutions + db 1, SCRATCH + db 7, STUN_SPORE + db 13, POISONPOWDER + db 19, LEECH_LIFE + db 25, SPORE + db 31, SLASH + db 37, GROWTH + db 43, GIGA_DRAIN + db 0 ; no more level-up moves + +ParasectEvosAttacks: + db 0 ; no more evolutions + db 1, SCRATCH + db 1, STUN_SPORE + db 1, POISONPOWDER + db 7, STUN_SPORE + db 13, POISONPOWDER + db 19, LEECH_LIFE + db 28, SPORE + db 37, SLASH + db 46, GROWTH + db 55, GIGA_DRAIN + db 0 ; no more level-up moves + +VenonatEvosAttacks: + db EVOLVE_LEVEL, 31, VENOMOTH + db 0 ; no more evolutions + db 1, TACKLE + db 1, DISABLE + db 1, FORESIGHT + db 9, SUPERSONIC + db 17, CONFUSION + db 20, POISONPOWDER + db 25, LEECH_LIFE + db 28, STUN_SPORE + db 33, PSYBEAM + db 36, SLEEP_POWDER + db 41, PSYCHIC_M + db 0 ; no more level-up moves + +VenomothEvosAttacks: + db 0 ; no more evolutions + db 1, TACKLE + db 1, DISABLE + db 1, FORESIGHT + db 1, SUPERSONIC + db 9, SUPERSONIC + db 17, CONFUSION + db 20, POISONPOWDER + db 25, LEECH_LIFE + db 28, STUN_SPORE + db 31, GUST + db 36, PSYBEAM + db 42, SLEEP_POWDER + db 52, PSYCHIC_M + db 0 ; no more level-up moves + +DiglettEvosAttacks: + db EVOLVE_LEVEL, 26, DUGTRIO + db 0 ; no more evolutions + db 1, SCRATCH + db 5, GROWL + db 9, MAGNITUDE + db 17, DIG + db 25, SAND_ATTACK + db 33, SLASH + db 41, EARTHQUAKE + db 49, FISSURE + db 0 ; no more level-up moves + +DugtrioEvosAttacks: + db 0 ; no more evolutions +if _CRYSTAL + db 1, TRI_ATTACK +endc + db 1, SCRATCH + db 1, GROWL + db 1, MAGNITUDE + db 5, GROWL + db 9, MAGNITUDE + db 17, DIG + db 25, SAND_ATTACK + db 37, SLASH + db 49, EARTHQUAKE + db 61, FISSURE + db 0 ; no more level-up moves + +MeowthEvosAttacks: + db EVOLVE_LEVEL, 28, PERSIAN + db 0 ; no more evolutions + db 1, SCRATCH + db 1, GROWL + db 11, BITE + db 20, PAY_DAY + db 28, FAINT_ATTACK + db 35, SCREECH + db 41, FURY_SWIPES + db 46, SLASH + db 0 ; no more level-up moves + +PersianEvosAttacks: + db 0 ; no more evolutions + db 1, SCRATCH + db 1, GROWL + db 1, BITE + db 11, BITE + db 20, PAY_DAY + db 29, FAINT_ATTACK + db 38, SCREECH + db 46, FURY_SWIPES + db 53, SLASH + db 0 ; no more level-up moves + +PsyduckEvosAttacks: + db EVOLVE_LEVEL, 33, GOLDUCK + db 0 ; no more evolutions + db 1, SCRATCH + db 5, TAIL_WHIP + db 10, DISABLE + db 16, CONFUSION + db 23, SCREECH + db 31, PSYCH_UP + db 40, FURY_SWIPES + db 50, HYDRO_PUMP + db 0 ; no more level-up moves + +GolduckEvosAttacks: + db 0 ; no more evolutions + db 1, SCRATCH + db 1, TAIL_WHIP + db 1, DISABLE + db 1, CONFUSION + db 5, TAIL_WHIP + db 10, DISABLE + db 16, CONFUSION + db 23, SCREECH + db 31, PSYCH_UP + db 44, FURY_SWIPES + db 58, HYDRO_PUMP + db 0 ; no more level-up moves + +MankeyEvosAttacks: + db EVOLVE_LEVEL, 28, PRIMEAPE + db 0 ; no more evolutions + db 1, SCRATCH + db 1, LEER + db 9, LOW_KICK + db 15, KARATE_CHOP + db 21, FURY_SWIPES + db 27, FOCUS_ENERGY + db 33, SEISMIC_TOSS + db 39, CROSS_CHOP + db 45, SCREECH + db 51, THRASH + db 0 ; no more level-up moves + +PrimeapeEvosAttacks: + db 0 ; no more evolutions + db 1, SCRATCH + db 1, LEER + db 1, LOW_KICK + db 1, RAGE + db 9, LOW_KICK + db 15, KARATE_CHOP + db 21, FURY_SWIPES + db 27, FOCUS_ENERGY + db 28, RAGE + db 36, SEISMIC_TOSS + db 45, CROSS_CHOP + db 54, SCREECH + db 63, THRASH + db 0 ; no more level-up moves + +GrowlitheEvosAttacks: + db EVOLVE_ITEM, FIRE_STONE, ARCANINE + db 0 ; no more evolutions + db 1, BITE + db 1, ROAR + db 9, EMBER + db 18, LEER + db 26, TAKE_DOWN + db 34, FLAME_WHEEL + db 42, AGILITY + db 50, FLAMETHROWER + db 0 ; no more level-up moves + +ArcanineEvosAttacks: + db 0 ; no more evolutions + db 1, ROAR + db 1, LEER + db 1, TAKE_DOWN + db 1, FLAME_WHEEL + db 50, EXTREMESPEED + db 0 ; no more level-up moves + +PoliwagEvosAttacks: + db EVOLVE_LEVEL, 25, POLIWHIRL + db 0 ; no more evolutions + db 1, BUBBLE + db 7, HYPNOSIS + db 13, WATER_GUN + db 19, DOUBLESLAP + db 25, RAIN_DANCE + db 31, BODY_SLAM + db 37, BELLY_DRUM + db 43, HYDRO_PUMP + db 0 ; no more level-up moves + +PoliwhirlEvosAttacks: + db EVOLVE_ITEM, WATER_STONE, POLIWRATH + db EVOLVE_TRADE, KINGS_ROCK, POLITOED + db 0 ; no more evolutions + db 1, BUBBLE + db 1, HYPNOSIS + db 1, WATER_GUN + db 7, HYPNOSIS + db 13, WATER_GUN + db 19, DOUBLESLAP + db 27, RAIN_DANCE + db 35, BODY_SLAM + db 43, BELLY_DRUM + db 51, HYDRO_PUMP + db 0 ; no more level-up moves + +PoliwrathEvosAttacks: + db 0 ; no more evolutions + db 1, WATER_GUN + db 1, HYPNOSIS + db 1, DOUBLESLAP + db 1, SUBMISSION + db 35, SUBMISSION + db 51, MIND_READER + db 0 ; no more level-up moves + +AbraEvosAttacks: + db EVOLVE_LEVEL, 16, KADABRA + db 0 ; no more evolutions + db 1, TELEPORT + db 0 ; no more level-up moves + +KadabraEvosAttacks: + db EVOLVE_TRADE, $ff, ALAKAZAM + db 0 ; no more evolutions + db 1, TELEPORT + db 1, KINESIS + db 1, CONFUSION + db 16, CONFUSION + db 18, DISABLE + db 21, PSYBEAM + db 26, RECOVER + db 31, FUTURE_SIGHT + db 38, PSYCHIC_M + db 45, REFLECT + db 0 ; no more level-up moves + +AlakazamEvosAttacks: + db 0 ; no more evolutions + db 1, TELEPORT + db 1, KINESIS + db 1, CONFUSION + db 16, CONFUSION + db 18, DISABLE + db 21, PSYBEAM + db 26, RECOVER + db 31, FUTURE_SIGHT + db 38, PSYCHIC_M + db 45, REFLECT + db 0 ; no more level-up moves + +MachopEvosAttacks: + db EVOLVE_LEVEL, 28, MACHOKE + db 0 ; no more evolutions + db 1, LOW_KICK + db 1, LEER + db 7, FOCUS_ENERGY + db 13, KARATE_CHOP + db 19, SEISMIC_TOSS + db 25, FORESIGHT + db 31, VITAL_THROW + db 37, CROSS_CHOP + db 43, SCARY_FACE + db 49, SUBMISSION + db 0 ; no more level-up moves + +MachokeEvosAttacks: + db EVOLVE_TRADE, $ff, MACHAMP + db 0 ; no more evolutions + db 1, LOW_KICK + db 1, LEER + db 1, FOCUS_ENERGY + db 8, FOCUS_ENERGY + db 15, KARATE_CHOP + db 19, SEISMIC_TOSS + db 25, FORESIGHT + db 34, VITAL_THROW + db 43, CROSS_CHOP + db 52, SCARY_FACE + db 61, SUBMISSION + db 0 ; no more level-up moves + +MachampEvosAttacks: + db 0 ; no more evolutions + db 1, LOW_KICK + db 1, LEER + db 1, FOCUS_ENERGY + db 8, FOCUS_ENERGY + db 15, KARATE_CHOP + db 19, SEISMIC_TOSS + db 25, FORESIGHT + db 34, VITAL_THROW + db 43, CROSS_CHOP + db 52, SCARY_FACE + db 61, SUBMISSION + db 0 ; no more level-up moves + +BellsproutEvosAttacks: + db EVOLVE_LEVEL, 21, WEEPINBELL + db 0 ; no more evolutions + db 1, VINE_WHIP + db 6, GROWTH + db 11, WRAP + db 15, SLEEP_POWDER + db 17, POISONPOWDER + db 19, STUN_SPORE + db 23, ACID + db 30, SWEET_SCENT + db 37, RAZOR_LEAF + db 45, SLAM + db 0 ; no more level-up moves + +WeepinbellEvosAttacks: + db EVOLVE_ITEM, LEAF_STONE, VICTREEBEL + db 0 ; no more evolutions + db 1, VINE_WHIP + db 1, GROWTH + db 1, WRAP + db 6, GROWTH + db 11, WRAP + db 15, SLEEP_POWDER + db 17, POISONPOWDER + db 19, STUN_SPORE + db 24, ACID + db 33, SWEET_SCENT + db 42, RAZOR_LEAF + db 54, SLAM + db 0 ; no more level-up moves + +VictreebelEvosAttacks: + db 0 ; no more evolutions + db 1, VINE_WHIP + db 1, SLEEP_POWDER + db 1, SWEET_SCENT + db 1, RAZOR_LEAF + db 0 ; no more level-up moves + +TentacoolEvosAttacks: + db EVOLVE_LEVEL, 30, TENTACRUEL + db 0 ; no more evolutions + db 1, POISON_STING + db 6, SUPERSONIC + db 12, CONSTRICT + db 19, ACID + db 25, BUBBLEBEAM + db 30, WRAP + db 36, BARRIER + db 43, SCREECH + db 49, HYDRO_PUMP + db 0 ; no more level-up moves + +TentacruelEvosAttacks: + db 0 ; no more evolutions + db 1, POISON_STING + db 1, SUPERSONIC + db 1, CONSTRICT + db 6, SUPERSONIC + db 12, CONSTRICT + db 19, ACID + db 25, BUBBLEBEAM + db 30, WRAP + db 38, BARRIER + db 47, SCREECH + db 55, HYDRO_PUMP + db 0 ; no more level-up moves + +GeodudeEvosAttacks: + db EVOLVE_LEVEL, 25, GRAVELER + db 0 ; no more evolutions + db 1, TACKLE + db 6, DEFENSE_CURL + db 11, ROCK_THROW + db 16, MAGNITUDE + db 21, SELFDESTRUCT + db 26, HARDEN + db 31, ROLLOUT + db 36, EARTHQUAKE + db 41, EXPLOSION + db 0 ; no more level-up moves + +GravelerEvosAttacks: + db EVOLVE_TRADE, $ff, GOLEM + db 0 ; no more evolutions + db 1, TACKLE + db 1, DEFENSE_CURL + db 1, ROCK_THROW + db 6, DEFENSE_CURL + db 11, ROCK_THROW + db 16, MAGNITUDE + db 21, SELFDESTRUCT + db 27, HARDEN + db 34, ROLLOUT + db 41, EARTHQUAKE + db 48, EXPLOSION + db 0 ; no more level-up moves + +GolemEvosAttacks: + db 0 ; no more evolutions + db 1, TACKLE + db 1, DEFENSE_CURL + db 1, ROCK_THROW + db 1, MAGNITUDE + db 6, DEFENSE_CURL + db 11, ROCK_THROW + db 16, MAGNITUDE + db 21, SELFDESTRUCT + db 27, HARDEN + db 34, ROLLOUT + db 41, EARTHQUAKE + db 48, EXPLOSION + db 0 ; no more level-up moves + +PonytaEvosAttacks: + db EVOLVE_LEVEL, 40, RAPIDASH + db 0 ; no more evolutions + db 1, TACKLE + db 4, GROWL + db 8, TAIL_WHIP + db 13, EMBER + db 19, STOMP + db 26, FIRE_SPIN + db 34, TAKE_DOWN + db 43, AGILITY + db 53, FIRE_BLAST + db 0 ; no more level-up moves + +RapidashEvosAttacks: + db 0 ; no more evolutions + db 1, TACKLE + db 1, GROWL + db 1, TAIL_WHIP + db 1, EMBER + db 4, GROWL + db 8, TAIL_WHIP + db 13, EMBER + db 19, STOMP + db 26, FIRE_SPIN + db 34, TAKE_DOWN + db 40, FURY_ATTACK + db 47, AGILITY + db 61, FIRE_BLAST + db 0 ; no more level-up moves + +SlowpokeEvosAttacks: + db EVOLVE_LEVEL, 37, SLOWBRO + db EVOLVE_TRADE, KINGS_ROCK, SLOWKING + db 0 ; no more evolutions + db 1, CURSE + db 1, TACKLE + db 6, GROWL + db 15, WATER_GUN + db 20, CONFUSION + db 29, DISABLE + db 34, HEADBUTT + db 43, AMNESIA + db 48, PSYCHIC_M + db 0 ; no more level-up moves + +SlowbroEvosAttacks: + db 0 ; no more evolutions + db 1, CURSE + db 1, TACKLE + db 1, GROWL + db 1, WATER_GUN + db 6, GROWL + db 15, WATER_GUN + db 20, CONFUSION + db 29, DISABLE + db 34, HEADBUTT + db 37, WITHDRAW + db 46, AMNESIA + db 54, PSYCHIC_M + db 0 ; no more level-up moves + +MagnemiteEvosAttacks: + db EVOLVE_LEVEL, 30, MAGNETON + db 0 ; no more evolutions + db 1, TACKLE + db 6, THUNDERSHOCK + db 11, SUPERSONIC + db 16, SONICBOOM + db 21, THUNDER_WAVE + db 27, LOCK_ON + db 33, SWIFT + db 39, SCREECH + db 45, ZAP_CANNON + db 0 ; no more level-up moves + +MagnetonEvosAttacks: + db 0 ; no more evolutions + db 1, TACKLE + db 1, THUNDERSHOCK + db 1, SUPERSONIC + db 1, SONICBOOM + db 6, THUNDERSHOCK + db 11, SUPERSONIC + db 16, SONICBOOM + db 21, THUNDER_WAVE + db 27, LOCK_ON +if _CRYSTAL + db 35, TRI_ATTACK +else + db 35, SWIFT +endc + db 43, SCREECH + db 53, ZAP_CANNON + db 0 ; no more level-up moves + +FarfetchDEvosAttacks: + db 0 ; no more evolutions + db 1, PECK + db 7, SAND_ATTACK + db 13, LEER + db 19, FURY_ATTACK + db 25, SWORDS_DANCE + db 31, AGILITY + db 37, SLASH + db 44, FALSE_SWIPE + db 0 ; no more level-up moves + +DoduoEvosAttacks: + db EVOLVE_LEVEL, 31, DODRIO + db 0 ; no more evolutions + db 1, PECK + db 1, GROWL + db 9, PURSUIT + db 13, FURY_ATTACK + db 21, TRI_ATTACK + db 25, RAGE + db 33, DRILL_PECK + db 37, AGILITY + db 0 ; no more level-up moves + +DodrioEvosAttacks: + db 0 ; no more evolutions + db 1, PECK + db 1, GROWL + db 1, PURSUIT + db 1, FURY_ATTACK + db 9, PURSUIT + db 13, FURY_ATTACK + db 21, TRI_ATTACK + db 25, RAGE + db 38, DRILL_PECK + db 47, AGILITY + db 0 ; no more level-up moves + +SeelEvosAttacks: + db EVOLVE_LEVEL, 34, DEWGONG + db 0 ; no more evolutions + db 1, HEADBUTT + db 5, GROWL + db 16, AURORA_BEAM + db 21, REST + db 32, TAKE_DOWN + db 37, ICE_BEAM + db 48, SAFEGUARD + db 0 ; no more level-up moves + +DewgongEvosAttacks: + db 0 ; no more evolutions + db 1, HEADBUTT + db 1, GROWL + db 1, AURORA_BEAM + db 5, GROWL + db 16, AURORA_BEAM + db 21, REST + db 32, TAKE_DOWN + db 43, ICE_BEAM + db 60, SAFEGUARD + db 0 ; no more level-up moves + +GrimerEvosAttacks: + db EVOLVE_LEVEL, 38, MUK + db 0 ; no more evolutions + db 1, POISON_GAS + db 1, POUND + db 5, HARDEN + db 10, DISABLE + db 16, SLUDGE + db 23, MINIMIZE + db 31, SCREECH + db 40, ACID_ARMOR + db 50, SLUDGE_BOMB + db 0 ; no more level-up moves + +MukEvosAttacks: + db 0 ; no more evolutions + db 1, POISON_GAS + db 1, POUND + db 1, HARDEN + db 33, HARDEN + db 37, DISABLE + db 45, SLUDGE + db 23, MINIMIZE + db 31, SCREECH + db 45, ACID_ARMOR + db 60, SLUDGE_BOMB + db 0 ; no more level-up moves + +ShellderEvosAttacks: + db EVOLVE_ITEM, WATER_STONE, CLOYSTER + db 0 ; no more evolutions + db 1, TACKLE + db 1, WITHDRAW + db 9, SUPERSONIC + db 17, AURORA_BEAM + db 25, PROTECT + db 33, LEER + db 41, CLAMP + db 49, ICE_BEAM + db 0 ; no more level-up moves + +CloysterEvosAttacks: + db 0 ; no more evolutions + db 1, WITHDRAW + db 1, SUPERSONIC + db 1, AURORA_BEAM + db 1, PROTECT +if _CRYSTAL + db 33, SPIKES +endc + db 41, SPIKE_CANNON + db 0 ; no more level-up moves + +GastlyEvosAttacks: + db EVOLVE_LEVEL, 25, HAUNTER + db 0 ; no more evolutions + db 1, HYPNOSIS + db 1, LICK + db 8, SPITE + db 13, MEAN_LOOK + db 16, CURSE + db 21, NIGHT_SHADE + db 28, CONFUSE_RAY + db 33, DREAM_EATER + db 36, DESTINY_BOND + db 0 ; no more level-up moves + +HaunterEvosAttacks: + db EVOLVE_TRADE, $ff, GENGAR + db 0 ; no more evolutions + db 1, HYPNOSIS + db 1, LICK + db 1, SPITE + db 8, SPITE + db 13, MEAN_LOOK + db 16, CURSE + db 21, NIGHT_SHADE + db 31, CONFUSE_RAY + db 39, DREAM_EATER + db 48, DESTINY_BOND + db 0 ; no more level-up moves + +GengarEvosAttacks: + db 0 ; no more evolutions + db 1, HYPNOSIS + db 1, LICK + db 1, SPITE + db 8, SPITE + db 13, MEAN_LOOK + db 16, CURSE + db 21, NIGHT_SHADE + db 31, CONFUSE_RAY + db 39, DREAM_EATER + db 48, DESTINY_BOND + db 0 ; no more level-up moves + +OnixEvosAttacks: + db EVOLVE_TRADE, METAL_COAT, STEELIX + db 0 ; no more evolutions + db 1, TACKLE + db 1, SCREECH + db 10, BIND + db 14, ROCK_THROW + db 23, HARDEN + db 27, RAGE + db 36, SANDSTORM + db 40, SLAM + db 0 ; no more level-up moves + +DrowzeeEvosAttacks: + db EVOLVE_LEVEL, 26, HYPNO + db 0 ; no more evolutions + db 1, POUND + db 1, HYPNOSIS + db 10, DISABLE + db 18, CONFUSION + db 25, HEADBUTT + db 31, POISON_GAS + db 36, MEDITATE + db 40, PSYCHIC_M + db 43, PSYCH_UP + db 45, FUTURE_SIGHT + db 0 ; no more level-up moves + +HypnoEvosAttacks: + db 0 ; no more evolutions + db 1, POUND + db 1, HYPNOSIS + db 1, DISABLE + db 1, CONFUSION + db 10, DISABLE + db 18, CONFUSION + db 25, HEADBUTT + db 33, POISON_GAS + db 40, MEDITATE + db 49, PSYCHIC_M + db 55, PSYCH_UP + db 60, FUTURE_SIGHT + db 0 ; no more level-up moves + +KrabbyEvosAttacks: + db EVOLVE_LEVEL, 28, KINGLER + db 0 ; no more evolutions + db 1, BUBBLE + db 5, LEER + db 12, VICEGRIP + db 16, HARDEN + db 23, STOMP + db 27, GUILLOTINE + db 34, PROTECT + db 41, CRABHAMMER + db 0 ; no more level-up moves + +KinglerEvosAttacks: + db 0 ; no more evolutions + db 1, BUBBLE + db 1, LEER + db 1, VICEGRIP + db 5, LEER + db 12, VICEGRIP + db 16, HARDEN + db 23, STOMP + db 27, GUILLOTINE + db 38, PROTECT + db 49, CRABHAMMER + db 0 ; no more level-up moves + +VoltorbEvosAttacks: + db EVOLVE_LEVEL, 30, ELECTRODE + db 0 ; no more evolutions + db 1, TACKLE + db 9, SCREECH + db 17, SONICBOOM + db 23, SELFDESTRUCT + db 29, ROLLOUT + db 33, LIGHT_SCREEN + db 37, SWIFT + db 39, EXPLOSION + db 41, MIRROR_COAT + db 0 ; no more level-up moves + +ElectrodeEvosAttacks: + db 0 ; no more evolutions + db 1, TACKLE + db 1, SCREECH + db 1, SONICBOOM + db 1, SELFDESTRUCT + db 9, SCREECH + db 17, SONICBOOM + db 23, SELFDESTRUCT + db 29, ROLLOUT + db 34, LIGHT_SCREEN + db 40, SWIFT + db 44, EXPLOSION + db 48, MIRROR_COAT + db 0 ; no more level-up moves + +ExeggcuteEvosAttacks: + db EVOLVE_ITEM, LEAF_STONE, EXEGGUTOR + db 0 ; no more evolutions + db 1, BARRAGE + db 1, HYPNOSIS + db 7, REFLECT + db 13, LEECH_SEED + db 19, CONFUSION + db 25, STUN_SPORE + db 31, POISONPOWDER + db 37, SLEEP_POWDER + db 43, SOLARBEAM + db 0 ; no more level-up moves + +ExeggutorEvosAttacks: + db 0 ; no more evolutions + db 1, BARRAGE + db 1, HYPNOSIS + db 1, CONFUSION + db 19, STOMP + db 31, EGG_BOMB + db 0 ; no more level-up moves + +CuboneEvosAttacks: + db EVOLVE_LEVEL, 28, MAROWAK + db 0 ; no more evolutions + db 1, GROWL + db 5, TAIL_WHIP + db 9, BONE_CLUB + db 13, HEADBUTT + db 17, LEER + db 21, FOCUS_ENERGY + db 25, BONEMERANG + db 29, RAGE + db 33, FALSE_SWIPE + db 37, THRASH + db 41, BONE_RUSH + db 0 ; no more level-up moves + +MarowakEvosAttacks: + db 0 ; no more evolutions + db 1, GROWL + db 1, TAIL_WHIP + db 1, BONE_CLUB + db 1, HEADBUTT + db 5, TAIL_WHIP + db 9, BONE_CLUB + db 13, HEADBUTT + db 17, LEER + db 21, FOCUS_ENERGY + db 25, BONEMERANG + db 32, RAGE + db 39, FALSE_SWIPE + db 46, THRASH + db 53, BONE_RUSH + db 0 ; no more level-up moves + +HitmonleeEvosAttacks: + db 0 ; no more evolutions + db 1, DOUBLE_KICK + db 6, MEDITATE + db 11, ROLLING_KICK + db 16, JUMP_KICK + db 21, FOCUS_ENERGY + db 26, HI_JUMP_KICK + db 31, MIND_READER + db 36, FORESIGHT + db 41, ENDURE + db 46, MEGA_KICK + db 51, REVERSAL + db 0 ; no more level-up moves + +HitmonchanEvosAttacks: + db 0 ; no more evolutions + db 1, COMET_PUNCH + db 7, AGILITY + db 13, PURSUIT + db 26, THUNDERPUNCH + db 26, ICE_PUNCH + db 26, FIRE_PUNCH + db 32, MACH_PUNCH + db 38, MEGA_PUNCH + db 44, DETECT + db 50, COUNTER + db 0 ; no more level-up moves + +LickitungEvosAttacks: + db 0 ; no more evolutions + db 1, LICK + db 7, SUPERSONIC + db 13, DEFENSE_CURL + db 19, STOMP + db 25, WRAP + db 31, DISABLE + db 37, SLAM + db 43, SCREECH + db 0 ; no more level-up moves + +KoffingEvosAttacks: + db EVOLVE_LEVEL, 35, WEEZING + db 0 ; no more evolutions + db 1, POISON_GAS + db 1, TACKLE + db 9, SMOG + db 17, SELFDESTRUCT + db 21, SLUDGE + db 25, SMOKESCREEN + db 33, HAZE + db 41, EXPLOSION + db 45, DESTINY_BOND + db 0 ; no more level-up moves + +WeezingEvosAttacks: + db 0 ; no more evolutions + db 1, POISON_GAS + db 1, TACKLE + db 1, SMOG + db 1, SELFDESTRUCT + db 9, SMOG + db 17, SELFDESTRUCT + db 21, SLUDGE + db 25, SMOKESCREEN + db 33, HAZE + db 44, EXPLOSION + db 51, DESTINY_BOND + db 0 ; no more level-up moves + +RhyhornEvosAttacks: + db EVOLVE_LEVEL, 42, RHYDON + db 0 ; no more evolutions + db 1, HORN_ATTACK + db 1, TAIL_WHIP + db 13, STOMP + db 19, FURY_ATTACK + db 31, SCARY_FACE + db 37, HORN_DRILL + db 49, TAKE_DOWN + db 55, EARTHQUAKE + db 0 ; no more level-up moves + +RhydonEvosAttacks: + db 0 ; no more evolutions + db 1, HORN_ATTACK + db 1, TAIL_WHIP + db 1, STOMP + db 1, FURY_ATTACK + db 13, STOMP + db 19, FURY_ATTACK + db 31, SCARY_FACE + db 37, HORN_DRILL + db 54, TAKE_DOWN + db 65, EARTHQUAKE + db 0 ; no more level-up moves + +ChanseyEvosAttacks: + db EVOLVE_HAPPINESS, TR_ANYTIME, BLISSEY + db 0 ; no more evolutions + db 1, POUND + db 5, GROWL + db 9, TAIL_WHIP + db 13, SOFTBOILED + db 17, DOUBLESLAP + db 23, MINIMIZE + db 29, SING + db 35, EGG_BOMB + db 41, DEFENSE_CURL + db 49, LIGHT_SCREEN + db 57, DOUBLE_EDGE + db 0 ; no more level-up moves + +TangelaEvosAttacks: + db 0 ; no more evolutions + db 1, CONSTRICT + db 4, SLEEP_POWDER + db 10, ABSORB + db 13, POISONPOWDER + db 19, VINE_WHIP + db 25, BIND + db 31, MEGA_DRAIN + db 34, STUN_SPORE + db 40, SLAM + db 46, GROWTH + db 0 ; no more level-up moves + +KangaskhanEvosAttacks: + db 0 ; no more evolutions + db 1, COMET_PUNCH + db 7, LEER + db 13, BITE + db 19, TAIL_WHIP + db 25, MEGA_PUNCH + db 31, RAGE + db 37, ENDURE + db 43, DIZZY_PUNCH + db 49, REVERSAL + db 0 ; no more level-up moves + +HorseaEvosAttacks: + db EVOLVE_LEVEL, 32, SEADRA + db 0 ; no more evolutions + db 1, BUBBLE + db 8, SMOKESCREEN + db 15, LEER + db 22, WATER_GUN + db 29, TWISTER + db 36, AGILITY + db 43, HYDRO_PUMP + db 0 ; no more level-up moves + +SeadraEvosAttacks: + db EVOLVE_TRADE, DRAGON_SCALE, KINGDRA + db 0 ; no more evolutions + db 1, BUBBLE + db 1, SMOKESCREEN + db 1, LEER + db 1, WATER_GUN + db 8, SMOKESCREEN + db 15, LEER + db 22, WATER_GUN + db 29, TWISTER + db 40, AGILITY + db 51, HYDRO_PUMP + db 0 ; no more level-up moves + +GoldeenEvosAttacks: + db EVOLVE_LEVEL, 33, SEAKING + db 0 ; no more evolutions + db 1, PECK + db 1, TAIL_WHIP + db 10, SUPERSONIC + db 15, HORN_ATTACK + db 24, FLAIL + db 29, FURY_ATTACK + db 38, WATERFALL + db 43, HORN_DRILL + db 52, AGILITY + db 0 ; no more level-up moves + +SeakingEvosAttacks: + db 0 ; no more evolutions + db 1, PECK + db 1, TAIL_WHIP + db 1, TAIL_WHIP + db 10, SUPERSONIC + db 15, HORN_ATTACK + db 24, FLAIL + db 29, FURY_ATTACK + db 41, WATERFALL + db 49, HORN_DRILL + db 61, AGILITY + db 0 ; no more level-up moves + +StaryuEvosAttacks: + db EVOLVE_ITEM, WATER_STONE, STARMIE + db 0 ; no more evolutions + db 1, TACKLE + db 1, HARDEN + db 7, WATER_GUN + db 13, RAPID_SPIN + db 19, RECOVER + db 25, SWIFT + db 31, BUBBLEBEAM + db 37, MINIMIZE + db 43, LIGHT_SCREEN + db 50, HYDRO_PUMP + db 0 ; no more level-up moves + +StarmieEvosAttacks: + db 0 ; no more evolutions + db 1, TACKLE + db 1, RAPID_SPIN + db 1, RECOVER + db 1, BUBBLEBEAM + db 37, CONFUSE_RAY + db 0 ; no more level-up moves + +MrMimeEvosAttacks: + db 0 ; no more evolutions + db 1, BARRIER + db 6, CONFUSION + db 11, SUBSTITUTE + db 16, MEDITATE + db 21, DOUBLESLAP + db 26, LIGHT_SCREEN + db 26, REFLECT + db 31, ENCORE + db 36, PSYBEAM + db 41, BATON_PASS + db 46, SAFEGUARD + db 0 ; no more level-up moves + +ScytherEvosAttacks: + db EVOLVE_TRADE, METAL_COAT, SCIZOR + db 0 ; no more evolutions + db 1, QUICK_ATTACK + db 1, LEER + db 6, FOCUS_ENERGY + db 12, PURSUIT + db 18, FALSE_SWIPE + db 24, AGILITY + db 30, WING_ATTACK + db 36, SLASH + db 42, SWORDS_DANCE + db 48, DOUBLE_TEAM + db 0 ; no more level-up moves + +JynxEvosAttacks: + db 0 ; no more evolutions + db 1, POUND + db 1, LICK + db 1, LOVELY_KISS + db 1, POWDER_SNOW + db 9, LOVELY_KISS + db 13, POWDER_SNOW + db 21, DOUBLESLAP + db 25, ICE_PUNCH + db 35, MEAN_LOOK + db 41, BODY_SLAM + db 51, PERISH_SONG + db 57, BLIZZARD + db 0 ; no more level-up moves + +ElectabuzzEvosAttacks: + db 0 ; no more evolutions + db 1, QUICK_ATTACK + db 1, LEER + db 1, THUNDERPUNCH + db 9, THUNDERPUNCH + db 17, LIGHT_SCREEN + db 25, SWIFT + db 36, SCREECH + db 47, THUNDERBOLT + db 58, THUNDER + db 0 ; no more level-up moves + +MagmarEvosAttacks: + db 0 ; no more evolutions + db 1, EMBER + db 1, LEER + db 1, SMOG + db 1, FIRE_PUNCH + db 7, LEER + db 13, SMOG + db 19, FIRE_PUNCH + db 25, SMOKESCREEN + db 33, SUNNY_DAY + db 41, FLAMETHROWER + db 49, CONFUSE_RAY + db 57, FIRE_BLAST + db 0 ; no more level-up moves + +PinsirEvosAttacks: + db 0 ; no more evolutions + db 1, VICEGRIP + db 7, FOCUS_ENERGY + db 13, BIND + db 19, SEISMIC_TOSS + db 25, HARDEN + db 31, GUILLOTINE + db 37, SUBMISSION + db 43, SWORDS_DANCE + db 0 ; no more level-up moves + +TaurosEvosAttacks: + db 0 ; no more evolutions + db 1, TACKLE + db 4, TAIL_WHIP + db 8, RAGE + db 13, HORN_ATTACK + db 19, SCARY_FACE + db 26, PURSUIT + db 34, REST + db 43, THRASH + db 53, TAKE_DOWN + db 0 ; no more level-up moves + +MagikarpEvosAttacks: + db EVOLVE_LEVEL, 20, GYARADOS + db 0 ; no more evolutions + db 1, SPLASH + db 15, TACKLE + db 30, FLAIL + db 0 ; no more level-up moves + +GyaradosEvosAttacks: + db 0 ; no more evolutions + db 1, THRASH + db 20, BITE + db 25, DRAGON_RAGE + db 30, LEER + db 35, TWISTER + db 40, HYDRO_PUMP + db 45, RAIN_DANCE + db 50, HYPER_BEAM + db 0 ; no more level-up moves + +LaprasEvosAttacks: + db 0 ; no more evolutions + db 1, WATER_GUN + db 1, GROWL + db 1, SING + db 8, MIST + db 15, BODY_SLAM + db 22, CONFUSE_RAY + db 29, PERISH_SONG + db 36, ICE_BEAM + db 43, RAIN_DANCE + db 50, SAFEGUARD + db 57, HYDRO_PUMP + db 0 ; no more level-up moves + +DittoEvosAttacks: + db 0 ; no more evolutions + db 1, TRANSFORM + db 0 ; no more level-up moves + +EeveeEvosAttacks: + db EVOLVE_ITEM, THUNDERSTONE, JOLTEON + db EVOLVE_ITEM, WATER_STONE, VAPOREON + db EVOLVE_ITEM, FIRE_STONE, FLAREON + db EVOLVE_HAPPINESS, TR_MORNDAY, ESPEON + db EVOLVE_HAPPINESS, TR_NITE, UMBREON + db 0 ; no more evolutions + db 1, TACKLE + db 1, TAIL_WHIP + db 8, SAND_ATTACK + db 16, GROWL + db 23, QUICK_ATTACK + db 30, BITE +if _CRYSTAL + db 36, BATON_PASS +else + db 36, FOCUS_ENERGY +endc + db 42, TAKE_DOWN + db 0 ; no more level-up moves + +VaporeonEvosAttacks: + db 0 ; no more evolutions + db 1, TACKLE + db 1, TAIL_WHIP + db 8, SAND_ATTACK + db 16, WATER_GUN + db 23, QUICK_ATTACK + db 30, BITE + db 36, AURORA_BEAM + db 42, HAZE + db 47, ACID_ARMOR + db 52, HYDRO_PUMP + db 0 ; no more level-up moves + +JolteonEvosAttacks: + db 0 ; no more evolutions + db 1, TACKLE + db 1, TAIL_WHIP + db 8, SAND_ATTACK + db 16, THUNDERSHOCK + db 23, QUICK_ATTACK + db 30, DOUBLE_KICK + db 36, PIN_MISSILE + db 42, THUNDER_WAVE + db 47, AGILITY + db 52, THUNDER + db 0 ; no more level-up moves + +FlareonEvosAttacks: + db 0 ; no more evolutions + db 1, TACKLE + db 1, TAIL_WHIP + db 8, SAND_ATTACK + db 16, EMBER + db 23, QUICK_ATTACK + db 30, BITE + db 36, FIRE_SPIN + db 42, SMOG + db 47, LEER + db 52, FLAMETHROWER + db 0 ; no more level-up moves + +PorygonEvosAttacks: + db EVOLVE_TRADE, UP_GRADE, PORYGON2 + db 0 ; no more evolutions + db 1, CONVERSION2 + db 1, TACKLE + db 1, CONVERSION + db 9, AGILITY + db 12, PSYBEAM + db 20, RECOVER + db 24, SHARPEN + db 32, LOCK_ON + db 36, TRI_ATTACK + db 44, ZAP_CANNON + db 0 ; no more level-up moves + +OmanyteEvosAttacks: + db EVOLVE_LEVEL, 40, OMASTAR + db 0 ; no more evolutions + db 1, CONSTRICT + db 1, WITHDRAW + db 13, BITE + db 19, WATER_GUN + db 31, LEER + db 37, PROTECT + db 49, ANCIENTPOWER + db 55, HYDRO_PUMP + db 0 ; no more level-up moves + +OmastarEvosAttacks: + db 0 ; no more evolutions + db 1, CONSTRICT + db 1, WITHDRAW + db 1, BITE + db 13, BITE + db 19, WATER_GUN + db 31, LEER + db 37, PROTECT + db 40, SPIKE_CANNON + db 54, ANCIENTPOWER + db 65, HYDRO_PUMP + db 0 ; no more level-up moves + +KabutoEvosAttacks: + db EVOLVE_LEVEL, 40, KABUTOPS + db 0 ; no more evolutions + db 1, SCRATCH + db 1, HARDEN + db 10, ABSORB + db 19, LEER + db 28, SAND_ATTACK + db 37, ENDURE + db 46, MEGA_DRAIN + db 55, ANCIENTPOWER + db 0 ; no more level-up moves + +KabutopsEvosAttacks: + db 0 ; no more evolutions + db 1, SCRATCH + db 1, HARDEN + db 1, ABSORB + db 10, ABSORB + db 19, LEER + db 28, SAND_ATTACK + db 37, ENDURE + db 40, SLASH + db 51, MEGA_DRAIN + db 65, ANCIENTPOWER + db 0 ; no more level-up moves + +AerodactylEvosAttacks: + db 0 ; no more evolutions + db 1, WING_ATTACK + db 8, AGILITY + db 15, BITE + db 22, SUPERSONIC + db 29, ANCIENTPOWER + db 36, SCARY_FACE + db 43, TAKE_DOWN + db 50, HYPER_BEAM + db 0 ; no more level-up moves + +SnorlaxEvosAttacks: + db 0 ; no more evolutions + db 1, TACKLE + db 8, AMNESIA + db 15, DEFENSE_CURL + db 22, BELLY_DRUM + db 29, HEADBUTT + db 36, SNORE + db 36, REST + db 43, BODY_SLAM + db 50, ROLLOUT + db 57, HYPER_BEAM + db 0 ; no more level-up moves + +ArticunoEvosAttacks: + db 0 ; no more evolutions + db 1, GUST + db 1, POWDER_SNOW + db 13, MIST + db 25, AGILITY + db 37, MIND_READER + db 49, ICE_BEAM + db 61, REFLECT + db 73, BLIZZARD + db 0 ; no more level-up moves + +ZapdosEvosAttacks: + db 0 ; no more evolutions + db 1, PECK + db 1, THUNDERSHOCK + db 13, THUNDER_WAVE + db 25, AGILITY + db 37, DETECT + db 49, DRILL_PECK + db 61, LIGHT_SCREEN + db 73, THUNDER + db 0 ; no more level-up moves + +MoltresEvosAttacks: + db 0 ; no more evolutions + db 1, WING_ATTACK + db 1, EMBER + db 13, FIRE_SPIN + db 25, AGILITY + db 37, ENDURE + db 49, FLAMETHROWER + db 61, SAFEGUARD + db 73, SKY_ATTACK + db 0 ; no more level-up moves + +DratiniEvosAttacks: + db EVOLVE_LEVEL, 30, DRAGONAIR + db 0 ; no more evolutions + db 1, WRAP + db 1, LEER + db 8, THUNDER_WAVE + db 15, TWISTER + db 22, DRAGON_RAGE + db 29, SLAM + db 36, AGILITY + db 43, SAFEGUARD + db 50, OUTRAGE + db 57, HYPER_BEAM + db 0 ; no more level-up moves + +DragonairEvosAttacks: + db EVOLVE_LEVEL, 55, DRAGONITE + db 0 ; no more evolutions + db 1, WRAP + db 1, LEER + db 1, THUNDER_WAVE + db 1, TWISTER + db 8, THUNDER_WAVE + db 15, TWISTER + db 22, DRAGON_RAGE + db 29, SLAM + db 38, AGILITY + db 47, SAFEGUARD + db 56, OUTRAGE + db 65, HYPER_BEAM + db 0 ; no more level-up moves + +DragoniteEvosAttacks: + db 0 ; no more evolutions + db 1, WRAP + db 1, LEER + db 1, THUNDER_WAVE + db 1, TWISTER + db 8, THUNDER_WAVE + db 15, TWISTER + db 22, DRAGON_RAGE + db 29, SLAM + db 38, AGILITY + db 47, SAFEGUARD + db 55, WING_ATTACK + db 61, OUTRAGE + db 75, HYPER_BEAM + db 0 ; no more level-up moves + +MewtwoEvosAttacks: + db 0 ; no more evolutions + db 1, CONFUSION + db 1, DISABLE + db 11, BARRIER + db 22, SWIFT + db 33, PSYCH_UP + db 44, FUTURE_SIGHT + db 55, MIST + db 66, PSYCHIC_M + db 77, AMNESIA + db 88, RECOVER + db 99, SAFEGUARD + db 0 ; no more level-up moves + +MewEvosAttacks: + db 0 ; no more evolutions + db 1, POUND + db 10, TRANSFORM + db 20, MEGA_PUNCH + db 30, METRONOME + db 40, PSYCHIC_M + db 50, ANCIENTPOWER + db 0 ; no more level-up moves + +ChikoritaEvosAttacks: + db EVOLVE_LEVEL, 16, BAYLEEF + db 0 ; no more evolutions + db 1, TACKLE + db 1, GROWL + db 8, RAZOR_LEAF + db 12, REFLECT + db 15, POISONPOWDER + db 22, SYNTHESIS + db 29, BODY_SLAM + db 36, LIGHT_SCREEN + db 43, SAFEGUARD + db 50, SOLARBEAM + db 0 ; no more level-up moves + +BayleefEvosAttacks: + db EVOLVE_LEVEL, 32, MEGANIUM + db 0 ; no more evolutions + db 1, TACKLE + db 1, GROWL + db 1, RAZOR_LEAF + db 1, REFLECT + db 8, RAZOR_LEAF + db 12, REFLECT + db 15, POISONPOWDER + db 23, SYNTHESIS + db 31, BODY_SLAM + db 39, LIGHT_SCREEN + db 47, SAFEGUARD + db 55, SOLARBEAM + db 0 ; no more level-up moves + +MeganiumEvosAttacks: + db 0 ; no more evolutions + db 1, TACKLE + db 1, GROWL + db 1, RAZOR_LEAF + db 1, REFLECT + db 8, RAZOR_LEAF + db 12, REFLECT + db 15, POISONPOWDER + db 23, SYNTHESIS + db 31, BODY_SLAM + db 41, LIGHT_SCREEN + db 51, SAFEGUARD + db 61, SOLARBEAM + db 0 ; no more level-up moves + +CyndaquilEvosAttacks: + db EVOLVE_LEVEL, 14, QUILAVA + db 0 ; no more evolutions + db 1, TACKLE + db 1, LEER + db 6, SMOKESCREEN + db 12, EMBER + db 19, QUICK_ATTACK + db 27, FLAME_WHEEL + db 36, SWIFT + db 46, FLAMETHROWER + db 0 ; no more level-up moves + +QuilavaEvosAttacks: + db EVOLVE_LEVEL, 36, TYPHLOSION + db 0 ; no more evolutions + db 1, TACKLE + db 1, LEER + db 1, SMOKESCREEN + db 6, SMOKESCREEN + db 12, EMBER + db 21, QUICK_ATTACK + db 31, FLAME_WHEEL + db 42, SWIFT + db 54, FLAMETHROWER + db 0 ; no more level-up moves + +TyphlosionEvosAttacks: + db 0 ; no more evolutions + db 1, TACKLE + db 1, LEER + db 1, SMOKESCREEN + db 1, EMBER + db 6, SMOKESCREEN + db 12, EMBER + db 21, QUICK_ATTACK + db 31, FLAME_WHEEL + db 45, SWIFT + db 60, FLAMETHROWER + db 0 ; no more level-up moves + +TotodileEvosAttacks: + db EVOLVE_LEVEL, 18, CROCONAW + db 0 ; no more evolutions + db 1, SCRATCH + db 1, LEER + db 7, RAGE + db 13, WATER_GUN + db 20, BITE + db 27, SCARY_FACE + db 35, SLASH + db 43, SCREECH + db 52, HYDRO_PUMP + db 0 ; no more level-up moves + +CroconawEvosAttacks: + db EVOLVE_LEVEL, 30, FERALIGATR + db 0 ; no more evolutions + db 1, SCRATCH + db 1, LEER + db 1, RAGE + db 7, RAGE + db 13, WATER_GUN + db 21, BITE + db 28, SCARY_FACE + db 37, SLASH + db 45, SCREECH + db 55, HYDRO_PUMP + db 0 ; no more level-up moves + +FeraligatrEvosAttacks: + db 0 ; no more evolutions + db 1, SCRATCH + db 1, LEER + db 1, RAGE + db 1, WATER_GUN + db 7, RAGE + db 13, WATER_GUN + db 21, BITE + db 28, SCARY_FACE + db 38, SLASH + db 47, SCREECH + db 58, HYDRO_PUMP + db 0 ; no more level-up moves + +SentretEvosAttacks: + db EVOLVE_LEVEL, 15, FURRET + db 0 ; no more evolutions + db 1, TACKLE + db 5, DEFENSE_CURL + db 11, QUICK_ATTACK + db 17, FURY_SWIPES + db 25, SLAM + db 33, REST + db 41, AMNESIA + db 0 ; no more level-up moves + +FurretEvosAttacks: + db 0 ; no more evolutions + db 1, SCRATCH + db 1, DEFENSE_CURL + db 1, QUICK_ATTACK + db 5, DEFENSE_CURL + db 11, QUICK_ATTACK + db 18, FURY_SWIPES + db 28, SLAM + db 38, REST + db 48, AMNESIA + db 0 ; no more level-up moves + +HoothootEvosAttacks: + db EVOLVE_LEVEL, 20, NOCTOWL + db 0 ; no more evolutions + db 1, TACKLE + db 1, GROWL + db 6, FORESIGHT + db 11, PECK + db 16, HYPNOSIS + db 22, REFLECT + db 28, TAKE_DOWN + db 34, CONFUSION + db 48, DREAM_EATER + db 0 ; no more level-up moves + +NoctowlEvosAttacks: + db 0 ; no more evolutions + db 1, TACKLE + db 1, GROWL + db 1, FORESIGHT + db 1, PECK + db 6, FORESIGHT + db 11, PECK + db 16, HYPNOSIS + db 25, REFLECT + db 33, TAKE_DOWN + db 41, CONFUSION + db 57, DREAM_EATER + db 0 ; no more level-up moves + +LedybaEvosAttacks: + db EVOLVE_LEVEL, 18, LEDIAN + db 0 ; no more evolutions + db 1, TACKLE + db 8, SUPERSONIC + db 15, COMET_PUNCH + db 22, LIGHT_SCREEN + db 22, REFLECT + db 22, SAFEGUARD + db 29, BATON_PASS + db 36, SWIFT + db 43, AGILITY + db 50, DOUBLE_EDGE + db 0 ; no more level-up moves + +LedianEvosAttacks: + db 0 ; no more evolutions + db 1, TACKLE + db 1, SUPERSONIC + db 8, SUPERSONIC + db 15, COMET_PUNCH + db 24, LIGHT_SCREEN + db 24, REFLECT + db 24, SAFEGUARD + db 33, BATON_PASS + db 42, SWIFT + db 51, AGILITY + db 60, DOUBLE_EDGE + db 0 ; no more level-up moves + +SpinarakEvosAttacks: + db EVOLVE_LEVEL, 22, ARIADOS + db 0 ; no more evolutions + db 1, POISON_STING + db 1, STRING_SHOT + db 6, SCARY_FACE + db 11, CONSTRICT + db 17, NIGHT_SHADE + db 23, LEECH_LIFE + db 30, FURY_SWIPES + db 37, SPIDER_WEB +if _CRYSTAL + db 45, AGILITY +else + db 45, SCREECH +endc + db 53, PSYCHIC_M + db 0 ; no more level-up moves + +AriadosEvosAttacks: + db 0 ; no more evolutions + db 1, POISON_STING + db 1, STRING_SHOT + db 1, SCARY_FACE + db 1, CONSTRICT + db 6, SCARY_FACE + db 11, CONSTRICT + db 17, NIGHT_SHADE + db 25, LEECH_LIFE + db 34, FURY_SWIPES + db 43, SPIDER_WEB +if _CRYSTAL + db 53, AGILITY +else + db 53, SCREECH +endc + db 63, PSYCHIC_M + db 0 ; no more level-up moves + +CrobatEvosAttacks: + db 0 ; no more evolutions + db 1, SCREECH + db 1, LEECH_LIFE + db 1, SUPERSONIC + db 6, SUPERSONIC + db 12, BITE + db 19, CONFUSE_RAY + db 30, WING_ATTACK + db 42, MEAN_LOOK + db 55, HAZE + db 0 ; no more level-up moves + +ChinchouEvosAttacks: + db EVOLVE_LEVEL, 27, LANTURN + db 0 ; no more evolutions + db 1, BUBBLE + db 1, THUNDER_WAVE + db 5, SUPERSONIC + db 13, FLAIL + db 17, WATER_GUN + db 25, SPARK + db 29, CONFUSE_RAY + db 37, TAKE_DOWN + db 41, HYDRO_PUMP + db 0 ; no more level-up moves + +LanturnEvosAttacks: + db 0 ; no more evolutions + db 1, BUBBLE + db 1, THUNDER_WAVE + db 1, SUPERSONIC + db 5, SUPERSONIC + db 13, FLAIL + db 17, WATER_GUN + db 25, SPARK + db 33, CONFUSE_RAY + db 45, TAKE_DOWN + db 53, HYDRO_PUMP + db 0 ; no more level-up moves + +PichuEvosAttacks: + db EVOLVE_HAPPINESS, TR_ANYTIME, PIKACHU + db 0 ; no more evolutions + db 1, THUNDERSHOCK + db 1, CHARM + db 6, TAIL_WHIP + db 8, THUNDER_WAVE + db 11, SWEET_KISS + db 0 ; no more level-up moves + +CleffaEvosAttacks: + db EVOLVE_HAPPINESS, TR_ANYTIME, CLEFAIRY + db 0 ; no more evolutions + db 1, POUND + db 1, CHARM + db 4, ENCORE + db 8, SING + db 13, SWEET_KISS + db 0 ; no more level-up moves + +IgglybuffEvosAttacks: + db EVOLVE_HAPPINESS, TR_ANYTIME, JIGGLYPUFF + db 0 ; no more evolutions + db 1, SING + db 1, CHARM + db 4, DEFENSE_CURL + db 9, POUND + db 14, SWEET_KISS + db 0 ; no more level-up moves + +TogepiEvosAttacks: + db EVOLVE_HAPPINESS, TR_ANYTIME, TOGETIC + db 0 ; no more evolutions + db 1, GROWL + db 1, CHARM + db 7, METRONOME + db 18, SWEET_KISS + db 25, ENCORE + db 31, SAFEGUARD + db 38, DOUBLE_EDGE + db 0 ; no more level-up moves + +TogeticEvosAttacks: + db 0 ; no more evolutions + db 1, GROWL + db 1, CHARM + db 7, METRONOME + db 18, SWEET_KISS + db 25, ENCORE + db 31, SAFEGUARD + db 38, DOUBLE_EDGE + db 0 ; no more level-up moves + +NatuEvosAttacks: + db EVOLVE_LEVEL, 25, XATU + db 0 ; no more evolutions + db 1, PECK + db 1, LEER + db 10, NIGHT_SHADE + db 20, TELEPORT + db 30, FUTURE_SIGHT + db 40, CONFUSE_RAY + db 50, PSYCHIC_M + db 0 ; no more level-up moves + +XatuEvosAttacks: + db 0 ; no more evolutions + db 1, PECK + db 1, LEER + db 1, NIGHT_SHADE + db 10, NIGHT_SHADE + db 20, TELEPORT + db 35, FUTURE_SIGHT + db 50, CONFUSE_RAY + db 65, PSYCHIC_M + db 0 ; no more level-up moves + +MareepEvosAttacks: + db EVOLVE_LEVEL, 15, FLAAFFY + db 0 ; no more evolutions + db 1, TACKLE + db 1, GROWL + db 9, THUNDERSHOCK + db 16, THUNDER_WAVE + db 23, COTTON_SPORE + db 30, LIGHT_SCREEN + db 37, THUNDER + db 0 ; no more level-up moves + +FlaaffyEvosAttacks: + db EVOLVE_LEVEL, 30, AMPHAROS + db 0 ; no more evolutions + db 1, TACKLE + db 1, GROWL + db 1, THUNDERSHOCK + db 9, THUNDERSHOCK + db 18, THUNDER_WAVE + db 27, COTTON_SPORE + db 36, LIGHT_SCREEN + db 45, THUNDER + db 0 ; no more level-up moves + +AmpharosEvosAttacks: + db 0 ; no more evolutions + db 1, TACKLE + db 1, GROWL + db 1, THUNDERSHOCK + db 1, THUNDER_WAVE + db 9, THUNDERSHOCK + db 18, THUNDER_WAVE + db 27, COTTON_SPORE + db 30, THUNDERPUNCH + db 42, LIGHT_SCREEN + db 57, THUNDER + db 0 ; no more level-up moves + +BellossomEvosAttacks: + db 0 ; no more evolutions + db 1, ABSORB + db 1, SWEET_SCENT + db 1, STUN_SPORE + db 1, PETAL_DANCE + db 55, SOLARBEAM + db 0 ; no more level-up moves + +MarillEvosAttacks: + db EVOLVE_LEVEL, 18, AZUMARILL + db 0 ; no more evolutions + db 1, TACKLE + db 3, DEFENSE_CURL + db 6, TAIL_WHIP + db 10, WATER_GUN + db 15, ROLLOUT + db 21, BUBBLEBEAM + db 28, DOUBLE_EDGE + db 36, RAIN_DANCE + db 0 ; no more level-up moves + +AzumarillEvosAttacks: + db 0 ; no more evolutions + db 1, TACKLE + db 1, DEFENSE_CURL + db 1, TAIL_WHIP + db 1, WATER_GUN + db 3, DEFENSE_CURL + db 6, TAIL_WHIP + db 10, WATER_GUN + db 15, ROLLOUT + db 25, BUBBLEBEAM + db 36, DOUBLE_EDGE + db 48, RAIN_DANCE + db 0 ; no more level-up moves + +SudowoodoEvosAttacks: + db 0 ; no more evolutions + db 1, ROCK_THROW + db 1, MIMIC + db 10, FLAIL + db 19, LOW_KICK + db 28, ROCK_SLIDE + db 37, FAINT_ATTACK + db 46, SLAM + db 0 ; no more level-up moves + +PolitoedEvosAttacks: + db 0 ; no more evolutions + db 1, WATER_GUN + db 1, HYPNOSIS + db 1, DOUBLESLAP + db 1, PERISH_SONG + db 35, PERISH_SONG + db 51, SWAGGER + db 0 ; no more level-up moves + +HoppipEvosAttacks: + db EVOLVE_LEVEL, 18, SKIPLOOM + db 0 ; no more evolutions + db 1, SPLASH +if _CRYSTAL + db 5, SYNTHESIS +else + db 1, SYNTHESIS +endc + db 5, TAIL_WHIP + db 10, TACKLE + db 13, POISONPOWDER + db 15, STUN_SPORE + db 17, SLEEP_POWDER + db 20, LEECH_SEED + db 25, COTTON_SPORE + db 30, MEGA_DRAIN + db 0 ; no more level-up moves + +SkiploomEvosAttacks: + db EVOLVE_LEVEL, 27, JUMPLUFF + db 0 ; no more evolutions + db 1, SPLASH + db 1, SYNTHESIS + db 1, TAIL_WHIP + db 1, TACKLE +if _CRYSTAL + db 5, SYNTHESIS +endc + db 5, TAIL_WHIP + db 10, TACKLE + db 13, POISONPOWDER + db 15, STUN_SPORE + db 17, SLEEP_POWDER + db 22, LEECH_SEED + db 29, COTTON_SPORE + db 36, MEGA_DRAIN + db 0 ; no more level-up moves + +JumpluffEvosAttacks: + db 0 ; no more evolutions + db 1, SPLASH + db 1, SYNTHESIS + db 1, TAIL_WHIP + db 1, TACKLE +if _CRYSTAL + db 5, SYNTHESIS +endc + db 5, TAIL_WHIP + db 10, TACKLE + db 13, POISONPOWDER + db 15, STUN_SPORE + db 17, SLEEP_POWDER + db 22, LEECH_SEED + db 33, COTTON_SPORE + db 44, MEGA_DRAIN + db 0 ; no more level-up moves + +AipomEvosAttacks: + db 0 ; no more evolutions + db 1, SCRATCH + db 1, TAIL_WHIP + db 6, SAND_ATTACK + db 12, BATON_PASS + db 19, FURY_SWIPES + db 27, SWIFT + db 36, SCREECH + db 46, AGILITY + db 0 ; no more level-up moves + +SunkernEvosAttacks: + db EVOLVE_ITEM, SUN_STONE, SUNFLORA + db 0 ; no more evolutions + db 1, ABSORB + db 4, GROWTH + db 10, MEGA_DRAIN + db 19, SUNNY_DAY + db 31, SYNTHESIS + db 46, GIGA_DRAIN + db 0 ; no more level-up moves + +SunfloraEvosAttacks: + db 0 ; no more evolutions + db 1, ABSORB + db 1, POUND + db 4, GROWTH + db 10, RAZOR_LEAF + db 19, SUNNY_DAY + db 31, PETAL_DANCE + db 46, SOLARBEAM + db 0 ; no more level-up moves + +YanmaEvosAttacks: + db 0 ; no more evolutions + db 1, TACKLE + db 1, FORESIGHT + db 7, QUICK_ATTACK + db 13, DOUBLE_TEAM + db 19, SONICBOOM + db 25, DETECT + db 31, SUPERSONIC +if _CRYSTAL + db 37, WING_ATTACK +else + db 37, SWIFT +endc + db 43, SCREECH + db 0 ; no more level-up moves + +WooperEvosAttacks: + db EVOLVE_LEVEL, 20, QUAGSIRE + db 0 ; no more evolutions + db 1, WATER_GUN + db 1, TAIL_WHIP + db 11, SLAM + db 21, AMNESIA + db 31, EARTHQUAKE + db 41, RAIN_DANCE + db 51, MIST + db 51, HAZE + db 0 ; no more level-up moves + +QuagsireEvosAttacks: + db 0 ; no more evolutions + db 1, WATER_GUN + db 1, TAIL_WHIP + db 11, SLAM + db 23, AMNESIA + db 35, EARTHQUAKE + db 47, RAIN_DANCE + db 59, MIST + db 59, HAZE + db 0 ; no more level-up moves + +EspeonEvosAttacks: + db 0 ; no more evolutions + db 1, TACKLE + db 1, TAIL_WHIP + db 8, SAND_ATTACK + db 16, CONFUSION + db 23, QUICK_ATTACK + db 30, SWIFT + db 36, PSYBEAM + db 42, PSYCH_UP + db 47, PSYCHIC_M + db 52, MORNING_SUN + db 0 ; no more level-up moves + +UmbreonEvosAttacks: + db 0 ; no more evolutions + db 1, TACKLE + db 1, TAIL_WHIP + db 8, SAND_ATTACK + db 16, PURSUIT + db 23, QUICK_ATTACK + db 30, CONFUSE_RAY + db 36, FAINT_ATTACK + db 42, MEAN_LOOK + db 47, SCREECH + db 52, MOONLIGHT + db 0 ; no more level-up moves + +MurkrowEvosAttacks: + db 0 ; no more evolutions + db 1, PECK + db 11, PURSUIT + db 16, HAZE + db 26, NIGHT_SHADE + db 31, FAINT_ATTACK + db 41, MEAN_LOOK + db 0 ; no more level-up moves + +SlowkingEvosAttacks: + db 0 ; no more evolutions + db 1, CURSE + db 1, TACKLE + db 6, GROWL + db 15, WATER_GUN + db 20, CONFUSION + db 29, DISABLE + db 34, HEADBUTT + db 43, SWAGGER + db 48, PSYCHIC_M + db 0 ; no more level-up moves + +MisdreavusEvosAttacks: + db 0 ; no more evolutions + db 1, GROWL + db 1, PSYWAVE + db 6, SPITE + db 12, CONFUSE_RAY + db 19, MEAN_LOOK + db 27, PSYBEAM + db 36, PAIN_SPLIT + db 46, PERISH_SONG + db 0 ; no more level-up moves + +UnownEvosAttacks: + db 0 ; no more evolutions + db 1, HIDDEN_POWER + db 0 ; no more level-up moves + +WobbuffetEvosAttacks: + db 0 ; no more evolutions + db 1, COUNTER + db 1, MIRROR_COAT + db 1, SAFEGUARD + db 1, DESTINY_BOND + db 0 ; no more level-up moves + +GirafarigEvosAttacks: + db 0 ; no more evolutions + db 1, TACKLE + db 1, GROWL + db 1, CONFUSION + db 1, STOMP + db 7, CONFUSION + db 13, STOMP + db 20, AGILITY + db 30, BATON_PASS + db 41, PSYBEAM + db 54, CRUNCH + db 0 ; no more level-up moves + +PinecoEvosAttacks: + db EVOLVE_LEVEL, 31, FORRETRESS + db 0 ; no more evolutions + db 1, TACKLE + db 1, PROTECT + db 8, SELFDESTRUCT + db 15, TAKE_DOWN + db 22, RAPID_SPIN + db 29, BIDE + db 36, EXPLOSION + db 43, SPIKES + db 50, DOUBLE_EDGE + db 0 ; no more level-up moves + +ForretressEvosAttacks: + db 0 ; no more evolutions + db 1, TACKLE + db 1, PROTECT + db 1, SELFDESTRUCT + db 8, SELFDESTRUCT + db 15, TAKE_DOWN + db 22, RAPID_SPIN + db 29, BIDE + db 39, EXPLOSION + db 49, SPIKES + db 59, DOUBLE_EDGE + db 0 ; no more level-up moves + +DunsparceEvosAttacks: + db 0 ; no more evolutions + db 1, RAGE + db 5, DEFENSE_CURL + db 13, GLARE + db 18, SPITE + db 26, PURSUIT + db 30, SCREECH + db 38, TAKE_DOWN + db 0 ; no more level-up moves + +GligarEvosAttacks: + db 0 ; no more evolutions + db 1, POISON_STING + db 6, SAND_ATTACK + db 13, HARDEN + db 20, QUICK_ATTACK + db 28, FAINT_ATTACK + db 36, SLASH + db 44, SCREECH + db 52, GUILLOTINE + db 0 ; no more level-up moves + +SteelixEvosAttacks: + db 0 ; no more evolutions + db 1, TACKLE + db 1, SCREECH + db 10, BIND + db 14, ROCK_THROW + db 23, HARDEN + db 27, RAGE + db 36, SANDSTORM + db 40, SLAM + db 49, CRUNCH + db 0 ; no more level-up moves + +SnubbullEvosAttacks: + db EVOLVE_LEVEL, 23, GRANBULL + db 0 ; no more evolutions + db 1, TACKLE + db 1, SCARY_FACE + db 4, TAIL_WHIP + db 8, CHARM + db 13, BITE + db 19, LICK + db 26, ROAR + db 34, RAGE + db 43, TAKE_DOWN + db 0 ; no more level-up moves + +GranbullEvosAttacks: + db 0 ; no more evolutions + db 1, TACKLE + db 1, SCARY_FACE + db 4, TAIL_WHIP + db 8, CHARM + db 13, BITE + db 19, LICK + db 28, ROAR + db 38, RAGE + db 51, TAKE_DOWN + db 0 ; no more level-up moves + +QwilfishEvosAttacks: + db 0 ; no more evolutions +if _CRYSTAL + db 1, SPIKES +endc + db 1, TACKLE + db 1, POISON_STING + db 10, HARDEN + db 10, MINIMIZE + db 19, WATER_GUN + db 28, PIN_MISSILE + db 37, TAKE_DOWN + db 46, HYDRO_PUMP + db 0 ; no more level-up moves + +ScizorEvosAttacks: + db 0 ; no more evolutions + db 1, QUICK_ATTACK + db 1, LEER + db 6, FOCUS_ENERGY + db 12, PURSUIT + db 18, FALSE_SWIPE + db 24, AGILITY + db 30, METAL_CLAW + db 36, SLASH + db 42, SWORDS_DANCE + db 48, DOUBLE_TEAM + db 0 ; no more level-up moves + +ShuckleEvosAttacks: + db 0 ; no more evolutions + db 1, CONSTRICT + db 1, WITHDRAW + db 9, WRAP + db 14, ENCORE + db 23, SAFEGUARD + db 28, BIDE + db 37, REST + db 0 ; no more level-up moves + +HeracrossEvosAttacks: + db 0 ; no more evolutions + db 1, TACKLE + db 1, LEER + db 6, HORN_ATTACK + db 12, ENDURE + db 19, FURY_ATTACK + db 27, COUNTER + db 35, TAKE_DOWN + db 44, REVERSAL + db 54, MEGAHORN + db 0 ; no more level-up moves + +SneaselEvosAttacks: + db 0 ; no more evolutions + db 1, SCRATCH + db 1, LEER + db 9, QUICK_ATTACK + db 17, SCREECH + db 25, FAINT_ATTACK + db 33, FURY_SWIPES + db 41, AGILITY + db 49, SLASH + db 57, BEAT_UP +if _CRYSTAL + db 65, METAL_CLAW +endc + db 0 ; no more level-up moves + +TeddiursaEvosAttacks: + db EVOLVE_LEVEL, 30, URSARING + db 0 ; no more evolutions + db 1, SCRATCH + db 1, LEER + db 8, LICK + db 15, FURY_SWIPES + db 22, FAINT_ATTACK + db 29, REST + db 36, SLASH + db 43, SNORE + db 50, THRASH + db 0 ; no more level-up moves + +UrsaringEvosAttacks: + db 0 ; no more evolutions + db 1, SCRATCH + db 1, LEER + db 1, LICK + db 1, FURY_SWIPES + db 8, LICK + db 15, FURY_SWIPES + db 22, FAINT_ATTACK + db 29, REST + db 39, SLASH + db 49, SNORE + db 59, THRASH + db 0 ; no more level-up moves + +SlugmaEvosAttacks: + db EVOLVE_LEVEL, 38, MAGCARGO + db 0 ; no more evolutions + db 1, SMOG + db 8, EMBER + db 15, ROCK_THROW + db 22, HARDEN + db 29, AMNESIA + db 36, FLAMETHROWER + db 43, ROCK_SLIDE + db 50, BODY_SLAM + db 0 ; no more level-up moves + +MagcargoEvosAttacks: + db 0 ; no more evolutions + db 1, SMOG + db 1, EMBER + db 1, ROCK_THROW + db 8, EMBER + db 15, ROCK_THROW + db 22, HARDEN + db 29, AMNESIA + db 36, FLAMETHROWER + db 48, ROCK_SLIDE + db 60, BODY_SLAM + db 0 ; no more level-up moves + +SwinubEvosAttacks: + db EVOLVE_LEVEL, 33, PILOSWINE + db 0 ; no more evolutions + db 1, TACKLE + db 10, POWDER_SNOW + db 19, ENDURE + db 28, TAKE_DOWN + db 37, MIST + db 46, BLIZZARD +if _CRYSTAL + db 55, AMNESIA +endc + db 0 ; no more level-up moves + +PiloswineEvosAttacks: + db 0 ; no more evolutions + db 1, HORN_ATTACK + db 1, POWDER_SNOW + db 1, ENDURE + db 10, POWDER_SNOW + db 19, ENDURE + db 28, TAKE_DOWN + db 33, FURY_ATTACK + db 42, MIST + db 56, BLIZZARD +if _CRYSTAL + db 70, AMNESIA +endc + db 0 ; no more level-up moves + +CorsolaEvosAttacks: + db 0 ; no more evolutions + db 1, TACKLE + db 7, HARDEN + db 13, BUBBLE + db 19, RECOVER + db 25, BUBBLEBEAM + db 31, SPIKE_CANNON + db 37, MIRROR_COAT + db 43, ANCIENTPOWER + db 0 ; no more level-up moves + +RemoraidEvosAttacks: + db EVOLVE_LEVEL, 25, OCTILLERY + db 0 ; no more evolutions + db 1, WATER_GUN + db 11, LOCK_ON + db 22, PSYBEAM + db 22, AURORA_BEAM + db 22, BUBBLEBEAM + db 33, FOCUS_ENERGY + db 44, ICE_BEAM + db 55, HYPER_BEAM + db 0 ; no more level-up moves + +OctilleryEvosAttacks: + db 0 ; no more evolutions + db 1, WATER_GUN + db 11, CONSTRICT + db 22, PSYBEAM + db 22, AURORA_BEAM + db 22, BUBBLEBEAM + db 25, OCTAZOOKA + db 38, FOCUS_ENERGY + db 54, ICE_BEAM + db 70, HYPER_BEAM + db 0 ; no more level-up moves + +DelibirdEvosAttacks: + db 0 ; no more evolutions + db 1, PRESENT + db 0 ; no more level-up moves + +MantineEvosAttacks: + db 0 ; no more evolutions + db 1, TACKLE + db 1, BUBBLE + db 10, SUPERSONIC + db 18, BUBBLEBEAM + db 25, TAKE_DOWN + db 32, AGILITY + db 40, WING_ATTACK + db 49, CONFUSE_RAY + db 0 ; no more level-up moves + +SkarmoryEvosAttacks: + db 0 ; no more evolutions + db 1, LEER + db 1, PECK + db 13, SAND_ATTACK + db 19, SWIFT + db 25, AGILITY + db 37, FURY_ATTACK + db 49, STEEL_WING + db 0 ; no more level-up moves + +HoundourEvosAttacks: + db EVOLVE_LEVEL, 24, HOUNDOOM + db 0 ; no more evolutions + db 1, LEER + db 1, EMBER + db 7, ROAR + db 13, SMOG + db 20, BITE + db 27, FAINT_ATTACK + db 35, FLAMETHROWER + db 43, CRUNCH + db 0 ; no more level-up moves + +HoundoomEvosAttacks: + db 0 ; no more evolutions + db 1, LEER + db 1, EMBER + db 7, ROAR + db 13, SMOG + db 20, BITE + db 30, FAINT_ATTACK + db 41, FLAMETHROWER + db 52, CRUNCH + db 0 ; no more level-up moves + +KingdraEvosAttacks: + db 0 ; no more evolutions + db 1, BUBBLE + db 1, SMOKESCREEN + db 1, LEER + db 1, WATER_GUN + db 8, SMOKESCREEN + db 15, LEER + db 22, WATER_GUN + db 29, TWISTER + db 40, AGILITY + db 51, HYDRO_PUMP + db 0 ; no more level-up moves + +PhanpyEvosAttacks: + db EVOLVE_LEVEL, 25, DONPHAN + db 0 ; no more evolutions + db 1, TACKLE + db 1, GROWL + db 9, DEFENSE_CURL + db 17, FLAIL + db 25, TAKE_DOWN + db 33, ROLLOUT + db 41, ENDURE + db 49, DOUBLE_EDGE + db 0 ; no more level-up moves + +DonphanEvosAttacks: + db 0 ; no more evolutions + db 1, HORN_ATTACK + db 1, GROWL + db 9, DEFENSE_CURL + db 17, FLAIL + db 25, FURY_ATTACK + db 33, ROLLOUT + db 41, RAPID_SPIN + db 49, EARTHQUAKE + db 0 ; no more level-up moves + +Porygon2EvosAttacks: + db 0 ; no more evolutions + db 1, CONVERSION2 + db 1, TACKLE + db 1, CONVERSION + db 9, AGILITY + db 12, PSYBEAM + db 20, RECOVER + db 24, DEFENSE_CURL + db 32, LOCK_ON + db 36, TRI_ATTACK + db 44, ZAP_CANNON + db 0 ; no more level-up moves + +StantlerEvosAttacks: + db 0 ; no more evolutions + db 1, TACKLE + db 8, LEER + db 15, HYPNOSIS + db 23, STOMP + db 31, SAND_ATTACK + db 40, TAKE_DOWN + db 49, CONFUSE_RAY + db 0 ; no more level-up moves + +SmeargleEvosAttacks: + db 0 ; no more evolutions + db 1, SKETCH + db 11, SKETCH + db 21, SKETCH + db 31, SKETCH + db 41, SKETCH + db 51, SKETCH + db 61, SKETCH + db 71, SKETCH + db 81, SKETCH + db 91, SKETCH + db 0 ; no more level-up moves + +TyrogueEvosAttacks: + db EVOLVE_STAT, 20, ATK_LT_DEF, HITMONCHAN + db EVOLVE_STAT, 20, ATK_GT_DEF, HITMONLEE + db EVOLVE_STAT, 20, ATK_EQ_DEF, HITMONTOP + db 0 ; no more evolutions + db 1, TACKLE + db 0 ; no more level-up moves + +HitmontopEvosAttacks: + db 0 ; no more evolutions + db 1, ROLLING_KICK + db 7, FOCUS_ENERGY + db 13, PURSUIT + db 19, QUICK_ATTACK + db 25, RAPID_SPIN + db 31, COUNTER + db 37, AGILITY + db 43, DETECT + db 49, TRIPLE_KICK + db 0 ; no more level-up moves + +SmoochumEvosAttacks: + db EVOLVE_LEVEL, 30, JYNX + db 0 ; no more evolutions + db 1, POUND + db 1, LICK + db 9, SWEET_KISS + db 13, POWDER_SNOW + db 21, CONFUSION + db 25, SING + db 33, MEAN_LOOK + db 37, PSYCHIC_M + db 45, PERISH_SONG + db 49, BLIZZARD + db 0 ; no more level-up moves + +ElekidEvosAttacks: + db EVOLVE_LEVEL, 30, ELECTABUZZ + db 0 ; no more evolutions + db 1, QUICK_ATTACK + db 1, LEER + db 9, THUNDERPUNCH + db 17, LIGHT_SCREEN + db 25, SWIFT + db 33, SCREECH + db 41, THUNDERBOLT + db 49, THUNDER + db 0 ; no more level-up moves + +MagbyEvosAttacks: + db EVOLVE_LEVEL, 30, MAGMAR + db 0 ; no more evolutions + db 1, EMBER + db 7, LEER + db 13, SMOG + db 19, FIRE_PUNCH + db 25, SMOKESCREEN + db 31, SUNNY_DAY + db 37, FLAMETHROWER + db 43, CONFUSE_RAY + db 49, FIRE_BLAST + db 0 ; no more level-up moves + +MiltankEvosAttacks: + db 0 ; no more evolutions + db 1, TACKLE + db 4, GROWL + db 8, DEFENSE_CURL + db 13, STOMP + db 19, MILK_DRINK + db 26, BIDE + db 34, ROLLOUT + db 43, BODY_SLAM + db 53, HEAL_BELL + db 0 ; no more level-up moves + +BlisseyEvosAttacks: + db 0 ; no more evolutions + db 1, POUND + db 4, GROWL + db 7, TAIL_WHIP + db 10, SOFTBOILED + db 13, DOUBLESLAP + db 18, MINIMIZE + db 23, SING + db 28, EGG_BOMB + db 33, DEFENSE_CURL + db 40, LIGHT_SCREEN + db 47, DOUBLE_EDGE + db 0 ; no more level-up moves + +RaikouEvosAttacks: + db 0 ; no more evolutions + db 1, BITE + db 1, LEER + db 11, THUNDERSHOCK + db 21, ROAR + db 31, QUICK_ATTACK + db 41, SPARK + db 51, REFLECT + db 61, CRUNCH + db 71, THUNDER + db 0 ; no more level-up moves + +EnteiEvosAttacks: + db 0 ; no more evolutions + db 1, BITE + db 1, LEER + db 11, EMBER + db 21, ROAR + db 31, FIRE_SPIN + db 41, STOMP + db 51, FLAMETHROWER + db 61, SWAGGER + db 71, FIRE_BLAST + db 0 ; no more level-up moves + +SuicuneEvosAttacks: + db 0 ; no more evolutions + db 1, BITE + db 1, LEER +if _CRYSTAL + db 11, BUBBLEBEAM + db 21, RAIN_DANCE + db 31, GUST + db 41, AURORA_BEAM +else + db 11, WATER_GUN + db 21, ROAR + db 31, GUST + db 41, BUBBLEBEAM +endc + db 51, MIST + db 61, MIRROR_COAT + db 71, HYDRO_PUMP + db 0 ; no more level-up moves + +LarvitarEvosAttacks: + db EVOLVE_LEVEL, 30, PUPITAR + db 0 ; no more evolutions + db 1, BITE + db 1, LEER + db 8, SANDSTORM + db 15, SCREECH + db 22, ROCK_SLIDE + db 29, THRASH + db 36, SCARY_FACE + db 43, CRUNCH + db 50, EARTHQUAKE + db 57, HYPER_BEAM + db 0 ; no more level-up moves + +PupitarEvosAttacks: + db EVOLVE_LEVEL, 55, TYRANITAR + db 0 ; no more evolutions + db 1, BITE + db 1, LEER + db 1, SANDSTORM + db 1, SCREECH + db 8, SANDSTORM + db 15, SCREECH + db 22, ROCK_SLIDE + db 29, THRASH + db 38, SCARY_FACE + db 47, CRUNCH + db 56, EARTHQUAKE + db 65, HYPER_BEAM + db 0 ; no more level-up moves + +TyranitarEvosAttacks: + db 0 ; no more evolutions + db 1, BITE + db 1, LEER + db 1, SANDSTORM + db 1, SCREECH + db 8, SANDSTORM + db 15, SCREECH + db 22, ROCK_SLIDE + db 29, THRASH + db 38, SCARY_FACE + db 47, CRUNCH + db 61, EARTHQUAKE + db 75, HYPER_BEAM + db 0 ; no more level-up moves + +LugiaEvosAttacks: + db 0 ; no more evolutions + db 1, AEROBLAST + db 11, SAFEGUARD + db 22, GUST + db 33, RECOVER + db 44, HYDRO_PUMP + db 55, RAIN_DANCE + db 66, SWIFT + db 77, WHIRLWIND + db 88, ANCIENTPOWER + db 99, FUTURE_SIGHT + db 0 ; no more level-up moves + +HoOhEvosAttacks: + db 0 ; no more evolutions + db 1, SACRED_FIRE + db 11, SAFEGUARD + db 22, GUST + db 33, RECOVER + db 44, FIRE_BLAST + db 55, SUNNY_DAY + db 66, SWIFT + db 77, WHIRLWIND + db 88, ANCIENTPOWER + db 99, FUTURE_SIGHT + db 0 ; no more level-up moves + +CelebiEvosAttacks: + db 0 ; no more evolutions + db 1, LEECH_SEED + db 1, CONFUSION + db 1, RECOVER + db 1, HEAL_BELL + db 10, SAFEGUARD + db 20, ANCIENTPOWER + db 30, FUTURE_SIGHT + db 40, BATON_PASS + db 50, PERISH_SONG + db 0 ; no more level-up moves diff --git a/data/pokemon/evos_attacks_pointers.asm b/data/pokemon/evos_attacks_pointers.asm new file mode 100644 index 000000000..f6582e786 --- /dev/null +++ b/data/pokemon/evos_attacks_pointers.asm @@ -0,0 +1,255 @@ +; Evolutions and attacks are grouped together since they're both checked at level-up. + +EvosAttacksPointers:: ; 0x425b1 + dw BulbasaurEvosAttacks + dw IvysaurEvosAttacks + dw VenusaurEvosAttacks + dw CharmanderEvosAttacks + dw CharmeleonEvosAttacks + dw CharizardEvosAttacks + dw SquirtleEvosAttacks + dw WartortleEvosAttacks + dw BlastoiseEvosAttacks + dw CaterpieEvosAttacks + dw MetapodEvosAttacks + dw ButterfreeEvosAttacks + dw WeedleEvosAttacks + dw KakunaEvosAttacks + dw BeedrillEvosAttacks + dw PidgeyEvosAttacks + dw PidgeottoEvosAttacks + dw PidgeotEvosAttacks + dw RattataEvosAttacks + dw RaticateEvosAttacks + dw SpearowEvosAttacks + dw FearowEvosAttacks + dw EkansEvosAttacks + dw ArbokEvosAttacks + dw PikachuEvosAttacks + dw RaichuEvosAttacks + dw SandshrewEvosAttacks + dw SandslashEvosAttacks + dw NidoranFEvosAttacks + dw NidorinaEvosAttacks + dw NidoqueenEvosAttacks + dw NidoranMEvosAttacks + dw NidorinoEvosAttacks + dw NidokingEvosAttacks + dw ClefairyEvosAttacks + dw ClefableEvosAttacks + dw VulpixEvosAttacks + dw NinetalesEvosAttacks + dw JigglypuffEvosAttacks + dw WigglytuffEvosAttacks + dw ZubatEvosAttacks + dw GolbatEvosAttacks + dw OddishEvosAttacks + dw GloomEvosAttacks + dw VileplumeEvosAttacks + dw ParasEvosAttacks + dw ParasectEvosAttacks + dw VenonatEvosAttacks + dw VenomothEvosAttacks + dw DiglettEvosAttacks + dw DugtrioEvosAttacks + dw MeowthEvosAttacks + dw PersianEvosAttacks + dw PsyduckEvosAttacks + dw GolduckEvosAttacks + dw MankeyEvosAttacks + dw PrimeapeEvosAttacks + dw GrowlitheEvosAttacks + dw ArcanineEvosAttacks + dw PoliwagEvosAttacks + dw PoliwhirlEvosAttacks + dw PoliwrathEvosAttacks + dw AbraEvosAttacks + dw KadabraEvosAttacks + dw AlakazamEvosAttacks + dw MachopEvosAttacks + dw MachokeEvosAttacks + dw MachampEvosAttacks + dw BellsproutEvosAttacks + dw WeepinbellEvosAttacks + dw VictreebelEvosAttacks + dw TentacoolEvosAttacks + dw TentacruelEvosAttacks + dw GeodudeEvosAttacks + dw GravelerEvosAttacks + dw GolemEvosAttacks + dw PonytaEvosAttacks + dw RapidashEvosAttacks + dw SlowpokeEvosAttacks + dw SlowbroEvosAttacks + dw MagnemiteEvosAttacks + dw MagnetonEvosAttacks + dw FarfetchDEvosAttacks + dw DoduoEvosAttacks + dw DodrioEvosAttacks + dw SeelEvosAttacks + dw DewgongEvosAttacks + dw GrimerEvosAttacks + dw MukEvosAttacks + dw ShellderEvosAttacks + dw CloysterEvosAttacks + dw GastlyEvosAttacks + dw HaunterEvosAttacks + dw GengarEvosAttacks + dw OnixEvosAttacks + dw DrowzeeEvosAttacks + dw HypnoEvosAttacks + dw KrabbyEvosAttacks + dw KinglerEvosAttacks + dw VoltorbEvosAttacks + dw ElectrodeEvosAttacks + dw ExeggcuteEvosAttacks + dw ExeggutorEvosAttacks + dw CuboneEvosAttacks + dw MarowakEvosAttacks + dw HitmonleeEvosAttacks + dw HitmonchanEvosAttacks + dw LickitungEvosAttacks + dw KoffingEvosAttacks + dw WeezingEvosAttacks + dw RhyhornEvosAttacks + dw RhydonEvosAttacks + dw ChanseyEvosAttacks + dw TangelaEvosAttacks + dw KangaskhanEvosAttacks + dw HorseaEvosAttacks + dw SeadraEvosAttacks + dw GoldeenEvosAttacks + dw SeakingEvosAttacks + dw StaryuEvosAttacks + dw StarmieEvosAttacks + dw MrMimeEvosAttacks + dw ScytherEvosAttacks + dw JynxEvosAttacks + dw ElectabuzzEvosAttacks + dw MagmarEvosAttacks + dw PinsirEvosAttacks + dw TaurosEvosAttacks + dw MagikarpEvosAttacks + dw GyaradosEvosAttacks + dw LaprasEvosAttacks + dw DittoEvosAttacks + dw EeveeEvosAttacks + dw VaporeonEvosAttacks + dw JolteonEvosAttacks + dw FlareonEvosAttacks + dw PorygonEvosAttacks + dw OmanyteEvosAttacks + dw OmastarEvosAttacks + dw KabutoEvosAttacks + dw KabutopsEvosAttacks + dw AerodactylEvosAttacks + dw SnorlaxEvosAttacks + dw ArticunoEvosAttacks + dw ZapdosEvosAttacks + dw MoltresEvosAttacks + dw DratiniEvosAttacks + dw DragonairEvosAttacks + dw DragoniteEvosAttacks + dw MewtwoEvosAttacks + dw MewEvosAttacks + dw ChikoritaEvosAttacks + dw BayleefEvosAttacks + dw MeganiumEvosAttacks + dw CyndaquilEvosAttacks + dw QuilavaEvosAttacks + dw TyphlosionEvosAttacks + dw TotodileEvosAttacks + dw CroconawEvosAttacks + dw FeraligatrEvosAttacks + dw SentretEvosAttacks + dw FurretEvosAttacks + dw HoothootEvosAttacks + dw NoctowlEvosAttacks + dw LedybaEvosAttacks + dw LedianEvosAttacks + dw SpinarakEvosAttacks + dw AriadosEvosAttacks + dw CrobatEvosAttacks + dw ChinchouEvosAttacks + dw LanturnEvosAttacks + dw PichuEvosAttacks + dw CleffaEvosAttacks + dw IgglybuffEvosAttacks + dw TogepiEvosAttacks + dw TogeticEvosAttacks + dw NatuEvosAttacks + dw XatuEvosAttacks + dw MareepEvosAttacks + dw FlaaffyEvosAttacks + dw AmpharosEvosAttacks + dw BellossomEvosAttacks + dw MarillEvosAttacks + dw AzumarillEvosAttacks + dw SudowoodoEvosAttacks + dw PolitoedEvosAttacks + dw HoppipEvosAttacks + dw SkiploomEvosAttacks + dw JumpluffEvosAttacks + dw AipomEvosAttacks + dw SunkernEvosAttacks + dw SunfloraEvosAttacks + dw YanmaEvosAttacks + dw WooperEvosAttacks + dw QuagsireEvosAttacks + dw EspeonEvosAttacks + dw UmbreonEvosAttacks + dw MurkrowEvosAttacks + dw SlowkingEvosAttacks + dw MisdreavusEvosAttacks + dw UnownEvosAttacks + dw WobbuffetEvosAttacks + dw GirafarigEvosAttacks + dw PinecoEvosAttacks + dw ForretressEvosAttacks + dw DunsparceEvosAttacks + dw GligarEvosAttacks + dw SteelixEvosAttacks + dw SnubbullEvosAttacks + dw GranbullEvosAttacks + dw QwilfishEvosAttacks + dw ScizorEvosAttacks + dw ShuckleEvosAttacks + dw HeracrossEvosAttacks + dw SneaselEvosAttacks + dw TeddiursaEvosAttacks + dw UrsaringEvosAttacks + dw SlugmaEvosAttacks + dw MagcargoEvosAttacks + dw SwinubEvosAttacks + dw PiloswineEvosAttacks + dw CorsolaEvosAttacks + dw RemoraidEvosAttacks + dw OctilleryEvosAttacks + dw DelibirdEvosAttacks + dw MantineEvosAttacks + dw SkarmoryEvosAttacks + dw HoundourEvosAttacks + dw HoundoomEvosAttacks + dw KingdraEvosAttacks + dw PhanpyEvosAttacks + dw DonphanEvosAttacks + dw Porygon2EvosAttacks + dw StantlerEvosAttacks + dw SmeargleEvosAttacks + dw TyrogueEvosAttacks + dw HitmontopEvosAttacks + dw SmoochumEvosAttacks + dw ElekidEvosAttacks + dw MagbyEvosAttacks + dw MiltankEvosAttacks + dw BlisseyEvosAttacks + dw RaikouEvosAttacks + dw EnteiEvosAttacks + dw SuicuneEvosAttacks + dw LarvitarEvosAttacks + dw PupitarEvosAttacks + dw TyranitarEvosAttacks + dw LugiaEvosAttacks + dw HoOhEvosAttacks + dw CelebiEvosAttacks +; 0x427a7 diff --git a/data/pokemon/menu_icons.asm b/data/pokemon/menu_icons.asm new file mode 100644 index 000000000..360b206a2 --- /dev/null +++ b/data/pokemon/menu_icons.asm @@ -0,0 +1,255 @@ +; party menu icons + +MonMenuIcons: ; 8eac4 + db ICON_BULBASAUR ; BULBASAUR + db ICON_BULBASAUR ; IVYSAUR + db ICON_BULBASAUR ; VENUSAUR + db ICON_CHARMANDER ; CHARMANDER + db ICON_CHARMANDER ; CHARMELEON + db ICON_BIGMON ; CHARIZARD + db ICON_SQUIRTLE ; SQUIRTLE + db ICON_SQUIRTLE ; WARTORTLE + db ICON_SQUIRTLE ; BLASTOISE + db ICON_CATERPILLAR ; CATERPIE + db ICON_CATERPILLAR ; METAPOD + db ICON_MOTH ; BUTTERFREE + db ICON_CATERPILLAR ; WEEDLE + db ICON_CATERPILLAR ; KAKUNA + db ICON_BUG ; BEEDRILL + db ICON_BIRD ; PIDGEY + db ICON_BIRD ; PIDGEOTTO + db ICON_BIRD ; PIDGEOT + db ICON_FOX ; RATTATA + db ICON_FOX ; RATICATE + db ICON_BIRD ; SPEAROW + db ICON_BIRD ; FEAROW + db ICON_SERPENT ; EKANS + db ICON_SERPENT ; ARBOK + db ICON_PIKACHU ; PIKACHU + db ICON_PIKACHU ; RAICHU + db ICON_MONSTER ; SANDSHREW + db ICON_MONSTER ; SANDSLASH + db ICON_FOX ; NIDORAN_F + db ICON_FOX ; NIDORINA + db ICON_MONSTER ; NIDOQUEEN + db ICON_FOX ; NIDORAN_M + db ICON_FOX ; NIDORINO + db ICON_MONSTER ; NIDOKING + db ICON_CLEFAIRY ; CLEFAIRY + db ICON_CLEFAIRY ; CLEFABLE + db ICON_FOX ; VULPIX + db ICON_FOX ; NINETALES + db ICON_JIGGLYPUFF ; JIGGLYPUFF + db ICON_JIGGLYPUFF ; WIGGLYTUFF + db ICON_BAT ; ZUBAT + db ICON_BAT ; GOLBAT + db ICON_ODDISH ; ODDISH + db ICON_ODDISH ; GLOOM + db ICON_ODDISH ; VILEPLUME + db ICON_BUG ; PARAS + db ICON_BUG ; PARASECT + db ICON_CATERPILLAR ; VENONAT + db ICON_MOTH ; VENOMOTH + db ICON_DIGLETT ; DIGLETT + db ICON_DIGLETT ; DUGTRIO + db ICON_FOX ; MEOWTH + db ICON_FOX ; PERSIAN + db ICON_MONSTER ; PSYDUCK + db ICON_MONSTER ; GOLDUCK + db ICON_FIGHTER ; MANKEY + db ICON_FIGHTER ; PRIMEAPE + db ICON_FOX ; GROWLITHE + db ICON_FOX ; ARCANINE + db ICON_POLIWAG ; POLIWAG + db ICON_POLIWAG ; POLIWHIRL + db ICON_POLIWAG ; POLIWRATH + db ICON_HUMANSHAPE ; ABRA + db ICON_HUMANSHAPE ; KADABRA + db ICON_HUMANSHAPE ; ALAKAZAM + db ICON_FIGHTER ; MACHOP + db ICON_FIGHTER ; MACHOKE + db ICON_FIGHTER ; MACHAMP + db ICON_ODDISH ; BELLSPROUT + db ICON_ODDISH ; WEEPINBELL + db ICON_ODDISH ; VICTREEBEL + db ICON_JELLYFISH ; TENTACOOL + db ICON_JELLYFISH ; TENTACRUEL + db ICON_GEODUDE ; GEODUDE + db ICON_GEODUDE ; GRAVELER + db ICON_GEODUDE ; GOLEM + db ICON_EQUINE ; PONYTA + db ICON_EQUINE ; RAPIDASH + db ICON_SLOWPOKE ; SLOWPOKE + db ICON_SLOWPOKE ; SLOWBRO + db ICON_VOLTORB ; MAGNEMITE + db ICON_VOLTORB ; MAGNETON + db ICON_BIRD ; FARFETCH_D + db ICON_BIRD ; DODUO + db ICON_BIRD ; DODRIO + db ICON_LAPRAS ; SEEL + db ICON_LAPRAS ; DEWGONG + db ICON_BLOB ; GRIMER + db ICON_BLOB ; MUK + db ICON_SHELL ; SHELLDER + db ICON_SHELL ; CLOYSTER + db ICON_GHOST ; GASTLY + db ICON_GHOST ; HAUNTER + db ICON_GHOST ; GENGAR + db ICON_SERPENT ; ONIX + db ICON_HUMANSHAPE ; DROWZEE + db ICON_HUMANSHAPE ; HYPNO + db ICON_SHELL ; KRABBY + db ICON_SHELL ; KINGLER + db ICON_VOLTORB ; VOLTORB + db ICON_VOLTORB ; ELECTRODE + db ICON_ODDISH ; EXEGGCUTE + db ICON_ODDISH ; EXEGGUTOR + db ICON_MONSTER ; CUBONE + db ICON_MONSTER ; MAROWAK + db ICON_FIGHTER ; HITMONLEE + db ICON_FIGHTER ; HITMONCHAN + db ICON_MONSTER ; LICKITUNG + db ICON_BLOB ; KOFFING + db ICON_BLOB ; WEEZING + db ICON_EQUINE ; RHYHORN + db ICON_MONSTER ; RHYDON + db ICON_CLEFAIRY ; CHANSEY + db ICON_ODDISH ; TANGELA + db ICON_MONSTER ; KANGASKHAN + db ICON_FISH ; HORSEA + db ICON_FISH ; SEADRA + db ICON_FISH ; GOLDEEN + db ICON_FISH ; SEAKING + db ICON_STARYU ; STARYU + db ICON_STARYU ; STARMIE + db ICON_HUMANSHAPE ; MR__MIME + db ICON_BUG ; SCYTHER + db ICON_HUMANSHAPE ; JYNX + db ICON_HUMANSHAPE ; ELECTABUZZ + db ICON_HUMANSHAPE ; MAGMAR + db ICON_BUG ; PINSIR + db ICON_EQUINE ; TAUROS + db ICON_FISH ; MAGIKARP + db ICON_GYARADOS ; GYARADOS + db ICON_LAPRAS ; LAPRAS + db ICON_BLOB ; DITTO + db ICON_FOX ; EEVEE + db ICON_FOX ; VAPOREON + db ICON_FOX ; JOLTEON + db ICON_FOX ; FLAREON + db ICON_VOLTORB ; PORYGON + db ICON_SHELL ; OMANYTE + db ICON_SHELL ; OMASTAR + db ICON_SHELL ; KABUTO + db ICON_SHELL ; KABUTOPS + db ICON_BIRD ; AERODACTYL + db ICON_SNORLAX ; SNORLAX + db ICON_BIRD ; ARTICUNO + db ICON_BIRD ; ZAPDOS + db ICON_BIRD ; MOLTRES + db ICON_SERPENT ; DRATINI + db ICON_SERPENT ; DRAGONAIR + db ICON_BIGMON ; DRAGONITE + db ICON_HUMANSHAPE ; MEWTWO + db ICON_HUMANSHAPE ; MEW + db ICON_ODDISH ; CHIKORITA + db ICON_ODDISH ; BAYLEEF + db ICON_ODDISH ; MEGANIUM + db ICON_FOX ; CYNDAQUIL + db ICON_FOX ; QUILAVA + db ICON_FOX ; TYPHLOSION + db ICON_MONSTER ; TOTODILE + db ICON_MONSTER ; CROCONAW + db ICON_MONSTER ; FERALIGATR + db ICON_FOX ; SENTRET + db ICON_FOX ; FURRET + db ICON_BIRD ; HOOTHOOT + db ICON_BIRD ; NOCTOWL + db ICON_BUG ; LEDYBA + db ICON_BUG ; LEDIAN + db ICON_BUG ; SPINARAK + db ICON_BUG ; ARIADOS + db ICON_BAT ; CROBAT + db ICON_FISH ; CHINCHOU + db ICON_FISH ; LANTURN + db ICON_PIKACHU ; PICHU + db ICON_CLEFAIRY ; CLEFFA + db ICON_JIGGLYPUFF ; IGGLYBUFF + db ICON_CLEFAIRY ; TOGEPI + db ICON_BIRD ; TOGETIC + db ICON_BIRD ; NATU + db ICON_BIRD ; XATU + db ICON_FOX ; MAREEP + db ICON_MONSTER ; FLAAFFY + db ICON_MONSTER ; AMPHAROS + db ICON_ODDISH ; BELLOSSOM + db ICON_JIGGLYPUFF ; MARILL + db ICON_JIGGLYPUFF ; AZUMARILL + db ICON_SUDOWOODO ; SUDOWOODO + db ICON_POLIWAG ; POLITOED + db ICON_ODDISH ; HOPPIP + db ICON_ODDISH ; SKIPLOOM + db ICON_ODDISH ; JUMPLUFF + db ICON_MONSTER ; AIPOM + db ICON_ODDISH ; SUNKERN + db ICON_ODDISH ; SUNFLORA + db ICON_BUG ; YANMA + db ICON_MONSTER ; WOOPER + db ICON_MONSTER ; QUAGSIRE + db ICON_FOX ; ESPEON + db ICON_FOX ; UMBREON + db ICON_BIRD ; MURKROW + db ICON_SLOWPOKE ; SLOWKING + db ICON_GHOST ; MISDREAVUS + db ICON_UNOWN ; UNOWN + db ICON_GHOST ; WOBBUFFET + db ICON_EQUINE ; GIRAFARIG + db ICON_BUG ; PINECO + db ICON_BUG ; FORRETRESS + db ICON_SERPENT ; DUNSPARCE + db ICON_BUG ; GLIGAR + db ICON_SERPENT ; STEELIX + db ICON_MONSTER ; SNUBBULL + db ICON_MONSTER ; GRANBULL + db ICON_FISH ; QWILFISH + db ICON_BUG ; SCIZOR + db ICON_BUG ; SHUCKLE + db ICON_BUG ; HERACROSS + db ICON_FOX ; SNEASEL + db ICON_MONSTER ; TEDDIURSA + db ICON_MONSTER ; URSARING + db ICON_BLOB ; SLUGMA + db ICON_BLOB ; MAGCARGO + db ICON_EQUINE ; SWINUB + db ICON_EQUINE ; PILOSWINE + db ICON_SHELL ; CORSOLA + db ICON_FISH ; REMORAID + db ICON_FISH ; OCTILLERY + db ICON_MONSTER ; DELIBIRD + db ICON_FISH ; MANTINE + db ICON_BIRD ; SKARMORY + db ICON_FOX ; HOUNDOUR + db ICON_FOX ; HOUNDOOM + db ICON_BIGMON ; KINGDRA + db ICON_EQUINE ; PHANPY + db ICON_EQUINE ; DONPHAN + db ICON_VOLTORB ; PORYGON2 + db ICON_EQUINE ; STANTLER + db ICON_MONSTER ; SMEARGLE + db ICON_FIGHTER ; TYROGUE + db ICON_FIGHTER ; HITMONTOP + db ICON_HUMANSHAPE ; SMOOCHUM + db ICON_HUMANSHAPE ; ELEKID + db ICON_HUMANSHAPE ; MAGBY + db ICON_EQUINE ; MILTANK + db ICON_CLEFAIRY ; BLISSEY + db ICON_FOX ; RAIKOU + db ICON_FOX ; ENTEI + db ICON_FOX ; SUICUNE + db ICON_MONSTER ; LARVITAR + db ICON_MONSTER ; PUPITAR + db ICON_MONSTER ; TYRANITAR + db ICON_LUGIA ; LUGIA + db ICON_HO_OH ; HO_OH + db ICON_HUMANSHAPE ; CELEBI +; 8ebbf diff --git a/data/pokemon/pokemon_names.asm b/data/pokemon/pokemon_names.asm new file mode 100644 index 000000000..266b0c020 --- /dev/null +++ b/data/pokemon/pokemon_names.asm @@ -0,0 +1,257 @@ +PokemonNames:: + db "BULBASAUR@" + db "IVYSAUR@@@" + db "VENUSAUR@@" + db "CHARMANDER" + db "CHARMELEON" + db "CHARIZARD@" + db "SQUIRTLE@@" + db "WARTORTLE@" + db "BLASTOISE@" + db "CATERPIE@@" + db "METAPOD@@@" + db "BUTTERFREE" + db "WEEDLE@@@@" + db "KAKUNA@@@@" + db "BEEDRILL@@" + db "PIDGEY@@@@" + db "PIDGEOTTO@" + db "PIDGEOT@@@" + db "RATTATA@@@" + db "RATICATE@@" + db "SPEAROW@@@" + db "FEAROW@@@@" + db "EKANS@@@@@" + db "ARBOK@@@@@" + db "PIKACHU@@@" + db "RAICHU@@@@" + db "SANDSHREW@" + db "SANDSLASH@" + db "NIDORAN♀@@" + db "NIDORINA@@" + db "NIDOQUEEN@" + db "NIDORAN♂@@" + db "NIDORINO@@" + db "NIDOKING@@" + db "CLEFAIRY@@" + db "CLEFABLE@@" + db "VULPIX@@@@" + db "NINETALES@" + db "JIGGLYPUFF" + db "WIGGLYTUFF" + db "ZUBAT@@@@@" + db "GOLBAT@@@@" + db "ODDISH@@@@" + db "GLOOM@@@@@" + db "VILEPLUME@" + db "PARAS@@@@@" + db "PARASECT@@" + db "VENONAT@@@" + db "VENOMOTH@@" + db "DIGLETT@@@" + db "DUGTRIO@@@" + db "MEOWTH@@@@" + db "PERSIAN@@@" + db "PSYDUCK@@@" + db "GOLDUCK@@@" + db "MANKEY@@@@" + db "PRIMEAPE@@" + db "GROWLITHE@" + db "ARCANINE@@" + db "POLIWAG@@@" + db "POLIWHIRL@" + db "POLIWRATH@" + db "ABRA@@@@@@" + db "KADABRA@@@" + db "ALAKAZAM@@" + db "MACHOP@@@@" + db "MACHOKE@@@" + db "MACHAMP@@@" + db "BELLSPROUT" + db "WEEPINBELL" + db "VICTREEBEL" + db "TENTACOOL@" + db "TENTACRUEL" + db "GEODUDE@@@" + db "GRAVELER@@" + db "GOLEM@@@@@" + db "PONYTA@@@@" + db "RAPIDASH@@" + db "SLOWPOKE@@" + db "SLOWBRO@@@" + db "MAGNEMITE@" + db "MAGNETON@@" + db "FARFETCH'D" + db "DODUO@@@@@" + db "DODRIO@@@@" + db "SEEL@@@@@@" + db "DEWGONG@@@" + db "GRIMER@@@@" + db "MUK@@@@@@@" + db "SHELLDER@@" + db "CLOYSTER@@" + db "GASTLY@@@@" + db "HAUNTER@@@" + db "GENGAR@@@@" + db "ONIX@@@@@@" + db "DROWZEE@@@" + db "HYPNO@@@@@" + db "KRABBY@@@@" + db "KINGLER@@@" + db "VOLTORB@@@" + db "ELECTRODE@" + db "EXEGGCUTE@" + db "EXEGGUTOR@" + db "CUBONE@@@@" + db "MAROWAK@@@" + db "HITMONLEE@" + db "HITMONCHAN" + db "LICKITUNG@" + db "KOFFING@@@" + db "WEEZING@@@" + db "RHYHORN@@@" + db "RHYDON@@@@" + db "CHANSEY@@@" + db "TANGELA@@@" + db "KANGASKHAN" + db "HORSEA@@@@" + db "SEADRA@@@@" + db "GOLDEEN@@@" + db "SEAKING@@@" + db "STARYU@@@@" + db "STARMIE@@@" + db "MR.MIME@@@" + db "SCYTHER@@@" + db "JYNX@@@@@@" + db "ELECTABUZZ" + db "MAGMAR@@@@" + db "PINSIR@@@@" + db "TAUROS@@@@" + db "MAGIKARP@@" + db "GYARADOS@@" + db "LAPRAS@@@@" + db "DITTO@@@@@" + db "EEVEE@@@@@" + db "VAPOREON@@" + db "JOLTEON@@@" + db "FLAREON@@@" + db "PORYGON@@@" + db "OMANYTE@@@" + db "OMASTAR@@@" + db "KABUTO@@@@" + db "KABUTOPS@@" + db "AERODACTYL" + db "SNORLAX@@@" + db "ARTICUNO@@" + db "ZAPDOS@@@@" + db "MOLTRES@@@" + db "DRATINI@@@" + db "DRAGONAIR@" + db "DRAGONITE@" + db "MEWTWO@@@@" + db "MEW@@@@@@@" + db "CHIKORITA@" + db "BAYLEEF@@@" + db "MEGANIUM@@" + db "CYNDAQUIL@" + db "QUILAVA@@@" + db "TYPHLOSION" + db "TOTODILE@@" + db "CROCONAW@@" + db "FERALIGATR" + db "SENTRET@@@" + db "FURRET@@@@" + db "HOOTHOOT@@" + db "NOCTOWL@@@" + db "LEDYBA@@@@" + db "LEDIAN@@@@" + db "SPINARAK@@" + db "ARIADOS@@@" + db "CROBAT@@@@" + db "CHINCHOU@@" + db "LANTURN@@@" + db "PICHU@@@@@" + db "CLEFFA@@@@" + db "IGGLYBUFF@" + db "TOGEPI@@@@" + db "TOGETIC@@@" + db "NATU@@@@@@" + db "XATU@@@@@@" + db "MAREEP@@@@" + db "FLAAFFY@@@" + db "AMPHAROS@@" + db "BELLOSSOM@" + db "MARILL@@@@" + db "AZUMARILL@" + db "SUDOWOODO@" + db "POLITOED@@" + db "HOPPIP@@@@" + db "SKIPLOOM@@" + db "JUMPLUFF@@" + db "AIPOM@@@@@" + db "SUNKERN@@@" + db "SUNFLORA@@" + db "YANMA@@@@@" + db "WOOPER@@@@" + db "QUAGSIRE@@" + db "ESPEON@@@@" + db "UMBREON@@@" + db "MURKROW@@@" + db "SLOWKING@@" + db "MISDREAVUS" + db "UNOWN@@@@@" + db "WOBBUFFET@" + db "GIRAFARIG@" + db "PINECO@@@@" + db "FORRETRESS" + db "DUNSPARCE@" + db "GLIGAR@@@@" + db "STEELIX@@@" + db "SNUBBULL@@" + db "GRANBULL@@" + db "QWILFISH@@" + db "SCIZOR@@@@" + db "SHUCKLE@@@" + db "HERACROSS@" + db "SNEASEL@@@" + db "TEDDIURSA@" + db "URSARING@@" + db "SLUGMA@@@@" + db "MAGCARGO@@" + db "SWINUB@@@@" + db "PILOSWINE@" + db "CORSOLA@@@" + db "REMORAID@@" + db "OCTILLERY@" + db "DELIBIRD@@" + db "MANTINE@@@" + db "SKARMORY@@" + db "HOUNDOUR@@" + db "HOUNDOOM@@" + db "KINGDRA@@@" + db "PHANPY@@@@" + db "DONPHAN@@@" + db "PORYGON2@@" + db "STANTLER@@" + db "SMEARGLE@@" + db "TYROGUE@@@" + db "HITMONTOP@" + db "SMOOCHUM@@" + db "ELEKID@@@@" + db "MAGBY@@@@@" + db "MILTANK@@@" + db "BLISSEY@@@" + db "RAIKOU@@@@" + db "ENTEI@@@@@" + db "SUICUNE@@@" + db "LARVITAR@@" + db "PUPITAR@@@" + db "TYRANITAR@" + db "LUGIA@@@@@" + db "HO-OH@@@@@" + db "CELEBI@@@@" + db "?????@@@@@" + db "EGG@@@@@@@" + db "?????@@@@@" + db "?????@@@@@" + db "?????@@@@@" diff --git a/data/pokemon_names.asm b/data/pokemon_names.asm deleted file mode 100644 index 266b0c020..000000000 --- a/data/pokemon_names.asm +++ /dev/null @@ -1,257 +0,0 @@ -PokemonNames:: - db "BULBASAUR@" - db "IVYSAUR@@@" - db "VENUSAUR@@" - db "CHARMANDER" - db "CHARMELEON" - db "CHARIZARD@" - db "SQUIRTLE@@" - db "WARTORTLE@" - db "BLASTOISE@" - db "CATERPIE@@" - db "METAPOD@@@" - db "BUTTERFREE" - db "WEEDLE@@@@" - db "KAKUNA@@@@" - db "BEEDRILL@@" - db "PIDGEY@@@@" - db "PIDGEOTTO@" - db "PIDGEOT@@@" - db "RATTATA@@@" - db "RATICATE@@" - db "SPEAROW@@@" - db "FEAROW@@@@" - db "EKANS@@@@@" - db "ARBOK@@@@@" - db "PIKACHU@@@" - db "RAICHU@@@@" - db "SANDSHREW@" - db "SANDSLASH@" - db "NIDORAN♀@@" - db "NIDORINA@@" - db "NIDOQUEEN@" - db "NIDORAN♂@@" - db "NIDORINO@@" - db "NIDOKING@@" - db "CLEFAIRY@@" - db "CLEFABLE@@" - db "VULPIX@@@@" - db "NINETALES@" - db "JIGGLYPUFF" - db "WIGGLYTUFF" - db "ZUBAT@@@@@" - db "GOLBAT@@@@" - db "ODDISH@@@@" - db "GLOOM@@@@@" - db "VILEPLUME@" - db "PARAS@@@@@" - db "PARASECT@@" - db "VENONAT@@@" - db "VENOMOTH@@" - db "DIGLETT@@@" - db "DUGTRIO@@@" - db "MEOWTH@@@@" - db "PERSIAN@@@" - db "PSYDUCK@@@" - db "GOLDUCK@@@" - db "MANKEY@@@@" - db "PRIMEAPE@@" - db "GROWLITHE@" - db "ARCANINE@@" - db "POLIWAG@@@" - db "POLIWHIRL@" - db "POLIWRATH@" - db "ABRA@@@@@@" - db "KADABRA@@@" - db "ALAKAZAM@@" - db "MACHOP@@@@" - db "MACHOKE@@@" - db "MACHAMP@@@" - db "BELLSPROUT" - db "WEEPINBELL" - db "VICTREEBEL" - db "TENTACOOL@" - db "TENTACRUEL" - db "GEODUDE@@@" - db "GRAVELER@@" - db "GOLEM@@@@@" - db "PONYTA@@@@" - db "RAPIDASH@@" - db "SLOWPOKE@@" - db "SLOWBRO@@@" - db "MAGNEMITE@" - db "MAGNETON@@" - db "FARFETCH'D" - db "DODUO@@@@@" - db "DODRIO@@@@" - db "SEEL@@@@@@" - db "DEWGONG@@@" - db "GRIMER@@@@" - db "MUK@@@@@@@" - db "SHELLDER@@" - db "CLOYSTER@@" - db "GASTLY@@@@" - db "HAUNTER@@@" - db "GENGAR@@@@" - db "ONIX@@@@@@" - db "DROWZEE@@@" - db "HYPNO@@@@@" - db "KRABBY@@@@" - db "KINGLER@@@" - db "VOLTORB@@@" - db "ELECTRODE@" - db "EXEGGCUTE@" - db "EXEGGUTOR@" - db "CUBONE@@@@" - db "MAROWAK@@@" - db "HITMONLEE@" - db "HITMONCHAN" - db "LICKITUNG@" - db "KOFFING@@@" - db "WEEZING@@@" - db "RHYHORN@@@" - db "RHYDON@@@@" - db "CHANSEY@@@" - db "TANGELA@@@" - db "KANGASKHAN" - db "HORSEA@@@@" - db "SEADRA@@@@" - db "GOLDEEN@@@" - db "SEAKING@@@" - db "STARYU@@@@" - db "STARMIE@@@" - db "MR.MIME@@@" - db "SCYTHER@@@" - db "JYNX@@@@@@" - db "ELECTABUZZ" - db "MAGMAR@@@@" - db "PINSIR@@@@" - db "TAUROS@@@@" - db "MAGIKARP@@" - db "GYARADOS@@" - db "LAPRAS@@@@" - db "DITTO@@@@@" - db "EEVEE@@@@@" - db "VAPOREON@@" - db "JOLTEON@@@" - db "FLAREON@@@" - db "PORYGON@@@" - db "OMANYTE@@@" - db "OMASTAR@@@" - db "KABUTO@@@@" - db "KABUTOPS@@" - db "AERODACTYL" - db "SNORLAX@@@" - db "ARTICUNO@@" - db "ZAPDOS@@@@" - db "MOLTRES@@@" - db "DRATINI@@@" - db "DRAGONAIR@" - db "DRAGONITE@" - db "MEWTWO@@@@" - db "MEW@@@@@@@" - db "CHIKORITA@" - db "BAYLEEF@@@" - db "MEGANIUM@@" - db "CYNDAQUIL@" - db "QUILAVA@@@" - db "TYPHLOSION" - db "TOTODILE@@" - db "CROCONAW@@" - db "FERALIGATR" - db "SENTRET@@@" - db "FURRET@@@@" - db "HOOTHOOT@@" - db "NOCTOWL@@@" - db "LEDYBA@@@@" - db "LEDIAN@@@@" - db "SPINARAK@@" - db "ARIADOS@@@" - db "CROBAT@@@@" - db "CHINCHOU@@" - db "LANTURN@@@" - db "PICHU@@@@@" - db "CLEFFA@@@@" - db "IGGLYBUFF@" - db "TOGEPI@@@@" - db "TOGETIC@@@" - db "NATU@@@@@@" - db "XATU@@@@@@" - db "MAREEP@@@@" - db "FLAAFFY@@@" - db "AMPHAROS@@" - db "BELLOSSOM@" - db "MARILL@@@@" - db "AZUMARILL@" - db "SUDOWOODO@" - db "POLITOED@@" - db "HOPPIP@@@@" - db "SKIPLOOM@@" - db "JUMPLUFF@@" - db "AIPOM@@@@@" - db "SUNKERN@@@" - db "SUNFLORA@@" - db "YANMA@@@@@" - db "WOOPER@@@@" - db "QUAGSIRE@@" - db "ESPEON@@@@" - db "UMBREON@@@" - db "MURKROW@@@" - db "SLOWKING@@" - db "MISDREAVUS" - db "UNOWN@@@@@" - db "WOBBUFFET@" - db "GIRAFARIG@" - db "PINECO@@@@" - db "FORRETRESS" - db "DUNSPARCE@" - db "GLIGAR@@@@" - db "STEELIX@@@" - db "SNUBBULL@@" - db "GRANBULL@@" - db "QWILFISH@@" - db "SCIZOR@@@@" - db "SHUCKLE@@@" - db "HERACROSS@" - db "SNEASEL@@@" - db "TEDDIURSA@" - db "URSARING@@" - db "SLUGMA@@@@" - db "MAGCARGO@@" - db "SWINUB@@@@" - db "PILOSWINE@" - db "CORSOLA@@@" - db "REMORAID@@" - db "OCTILLERY@" - db "DELIBIRD@@" - db "MANTINE@@@" - db "SKARMORY@@" - db "HOUNDOUR@@" - db "HOUNDOOM@@" - db "KINGDRA@@@" - db "PHANPY@@@@" - db "DONPHAN@@@" - db "PORYGON2@@" - db "STANTLER@@" - db "SMEARGLE@@" - db "TYROGUE@@@" - db "HITMONTOP@" - db "SMOOCHUM@@" - db "ELEKID@@@@" - db "MAGBY@@@@@" - db "MILTANK@@@" - db "BLISSEY@@@" - db "RAIKOU@@@@" - db "ENTEI@@@@@" - db "SUICUNE@@@" - db "LARVITAR@@" - db "PUPITAR@@@" - db "TYRANITAR@" - db "LUGIA@@@@@" - db "HO-OH@@@@@" - db "CELEBI@@@@" - db "?????@@@@@" - db "EGG@@@@@@@" - db "?????@@@@@" - db "?????@@@@@" - db "?????@@@@@" diff --git a/data/spawn_points.asm b/data/spawn_points.asm deleted file mode 100644 index 49ba362d7..000000000 --- a/data/spawn_points.asm +++ /dev/null @@ -1,41 +0,0 @@ -spawn: MACRO -; map, y, x - map \1 - db \2, \3 -ENDM - -SpawnPoints: ; 0x152ab -; entries correspond to SPAWN_* constants - - spawn KRISS_HOUSE_2F, 3, 3 - spawn VIRIDIAN_POKECENTER_1F, 5, 3 - - spawn PALLET_TOWN, 5, 6 - spawn VIRIDIAN_CITY, 23, 26 - spawn PEWTER_CITY, 13, 26 - spawn CERULEAN_CITY, 19, 22 - spawn ROUTE_10_NORTH, 11, 2 - spawn VERMILION_CITY, 9, 6 - spawn LAVENDER_TOWN, 5, 6 - spawn SAFFRON_CITY, 9, 30 - spawn CELADON_CITY, 29, 10 - spawn FUCHSIA_CITY, 19, 28 - spawn CINNABAR_ISLAND, 11, 12 - spawn ROUTE_23, 9, 6 - - spawn NEW_BARK_TOWN, 13, 6 - spawn CHERRYGROVE_CITY, 29, 4 - spawn VIOLET_CITY, 31, 26 - spawn ROUTE_32, 11, 74 - spawn AZALEA_TOWN, 15, 10 - spawn CIANWOOD_CITY, 23, 44 - spawn GOLDENROD_CITY, 15, 28 - spawn OLIVINE_CITY, 13, 22 - spawn ECRUTEAK_CITY, 23, 28 - spawn MAHOGANY_TOWN, 15, 14 - spawn LAKE_OF_RAGE, 21, 29 - spawn BLACKTHORN_CITY, 21, 30 - spawn SILVER_CAVE_OUTSIDE, 23, 20 - spawn FAST_SHIP_CABINS_SW_SSW_NW, 6, 2 - spawn N_A, -1, -1 -; 1531f diff --git a/data/trainers/encounter_music.asm b/data/trainers/encounter_music.asm new file mode 100644 index 000000000..cd0348d81 --- /dev/null +++ b/data/trainers/encounter_music.asm @@ -0,0 +1,75 @@ +; What music plays when a trainer notices you + +TrainerEncounterMusic:: +; entries correspond to trainer classes (see constants/trainer_constants.asm) + db MUSIC_HIKER_ENCOUNTER ; none + db MUSIC_YOUNGSTER_ENCOUNTER ; falkner + db MUSIC_LASS_ENCOUNTER ; whitney + db MUSIC_YOUNGSTER_ENCOUNTER ; bugsy + db MUSIC_OFFICER_ENCOUNTER ; morty + db MUSIC_OFFICER_ENCOUNTER ; pryce + db MUSIC_LASS_ENCOUNTER ; jasmine + db MUSIC_OFFICER_ENCOUNTER ; chuck + db MUSIC_BEAUTY_ENCOUNTER ; clair + db MUSIC_RIVAL_ENCOUNTER ; rival1 + db MUSIC_HIKER_ENCOUNTER ; pokemon_prof + db MUSIC_HIKER_ENCOUNTER ; will + db MUSIC_HIKER_ENCOUNTER ; cal + db MUSIC_OFFICER_ENCOUNTER ; bruno + db MUSIC_HIKER_ENCOUNTER ; karen + db MUSIC_HIKER_ENCOUNTER ; koga + db MUSIC_OFFICER_ENCOUNTER ; champion + db MUSIC_YOUNGSTER_ENCOUNTER ; brock + db MUSIC_LASS_ENCOUNTER ; misty + db MUSIC_OFFICER_ENCOUNTER ; lt_surge + db MUSIC_ROCKET_ENCOUNTER ; scientist + db MUSIC_OFFICER_ENCOUNTER ; erika + db MUSIC_YOUNGSTER_ENCOUNTER ; youngster + db MUSIC_YOUNGSTER_ENCOUNTER ; schoolboy + db MUSIC_YOUNGSTER_ENCOUNTER ; bird_keeper + db MUSIC_LASS_ENCOUNTER ; lass + db MUSIC_LASS_ENCOUNTER ; janine + db MUSIC_HIKER_ENCOUNTER ; cooltrainerm + db MUSIC_BEAUTY_ENCOUNTER ; cooltrainerf + db MUSIC_BEAUTY_ENCOUNTER ; beauty + db MUSIC_POKEMANIAC_ENCOUNTER ; pokemaniac + db MUSIC_ROCKET_ENCOUNTER ; gruntm + db MUSIC_HIKER_ENCOUNTER ; gentleman + db MUSIC_BEAUTY_ENCOUNTER ; skier + db MUSIC_BEAUTY_ENCOUNTER ; teacher + db MUSIC_BEAUTY_ENCOUNTER ; sabrina + db MUSIC_YOUNGSTER_ENCOUNTER ; bug_catcher + db MUSIC_HIKER_ENCOUNTER ; fisher + db MUSIC_HIKER_ENCOUNTER ; swimmerm + db MUSIC_BEAUTY_ENCOUNTER ; swimmerf + db MUSIC_HIKER_ENCOUNTER ; sailor + db MUSIC_POKEMANIAC_ENCOUNTER ; super_nerd + db MUSIC_RIVAL_ENCOUNTER ; rival2 + db MUSIC_HIKER_ENCOUNTER ; guitarist + db MUSIC_HIKER_ENCOUNTER ; hiker + db MUSIC_HIKER_ENCOUNTER ; biker + db MUSIC_OFFICER_ENCOUNTER ; blaine + db MUSIC_POKEMANIAC_ENCOUNTER ; burglar + db MUSIC_HIKER_ENCOUNTER ; firebreather + db MUSIC_POKEMANIAC_ENCOUNTER ; juggler + db MUSIC_HIKER_ENCOUNTER ; blackbelt_t + db MUSIC_ROCKET_ENCOUNTER ; executivem + db MUSIC_YOUNGSTER_ENCOUNTER ; psychic_t + db MUSIC_LASS_ENCOUNTER ; picnicker + db MUSIC_YOUNGSTER_ENCOUNTER ; camper + db MUSIC_ROCKET_ENCOUNTER ; executivef + db MUSIC_SAGE_ENCOUNTER ; sage + db MUSIC_SAGE_ENCOUNTER ; medium + db MUSIC_HIKER_ENCOUNTER ; boarder + db MUSIC_HIKER_ENCOUNTER ; pokefanm + db MUSIC_KIMONO_ENCOUNTER ; kimono_girl + db MUSIC_LASS_ENCOUNTER ; twins + db MUSIC_BEAUTY_ENCOUNTER ; pokefanf + db MUSIC_HIKER_ENCOUNTER ; red + db MUSIC_RIVAL_ENCOUNTER ; blue + db MUSIC_HIKER_ENCOUNTER ; officer + db MUSIC_ROCKET_ENCOUNTER ; gruntf + db MUSIC_HIKER_ENCOUNTER ; mysticalman + db MUSIC_HIKER_ENCOUNTER + db MUSIC_HIKER_ENCOUNTER + db MUSIC_HIKER_ENCOUNTER diff --git a/data/trainers/gendered_trainers.asm b/data/trainers/gendered_trainers.asm new file mode 100644 index 000000000..98cfec2ac --- /dev/null +++ b/data/trainers/gendered_trainers.asm @@ -0,0 +1,40 @@ +MaleTrainers: ; 4e95d + db BURGLAR + db YOUNGSTER + db SCHOOLBOY + db BIRD_KEEPER + db POKEMANIAC + db GENTLEMAN + db BUG_CATCHER + db FISHER + db SWIMMERM + db SAILOR + db SUPER_NERD + db GUITARIST + db HIKER + db FIREBREATHER + db BLACKBELT_T + db PSYCHIC_T + db CAMPER + db COOLTRAINERM + db BOARDER + db JUGGLER + db POKEFANM + db OFFICER + db SAGE + db BIKER + db SCIENTIST +MaleTrainersEnd + +FemaleTrainers: ; 4e976 + db MEDIUM + db LASS + db BEAUTY + db SKIER + db TEACHER + db SWIMMERF + db PICNICKER + db KIMONO_GIRL + db POKEFANF + db COOLTRAINERF +FemaleTrainersEnd diff --git a/data/trainers/parties.asm b/data/trainers/parties.asm new file mode 100644 index 000000000..e96cfd895 --- /dev/null +++ b/data/trainers/parties.asm @@ -0,0 +1,8829 @@ +Trainers: + +; All trainers follow a basic structure: + ; Name + ; String in format "TEXT@" + ; Type + ; TRAINERTYPE_NORMAL: level, species + ; TRAINERTYPE_MOVES: level, species, moves + ; TRAINERTYPE_ITEM: level, species, item + ; TRAINERTYPE_ITEM_MOVES: level, species, item, moves + ; Party + ; Up to six monsters following the data type + ; $ff + + +FalknerGroup: +; ================================ +; ================ + + ; FALKNER (1) + db "FALKNER@" + db TRAINERTYPE_MOVES + + ; party + + db 7, PIDGEY + db TACKLE + db MUD_SLAP + db 0 + db 0 + + db 9, PIDGEOTTO + db TACKLE + db MUD_SLAP + db GUST + db 0 + + db $ff ; end + +; ================ +; ================================ + + +WhitneyGroup: +; ================================ +; ================ + + ; WHITNEY (1) + db "WHITNEY@" + db TRAINERTYPE_MOVES + + ; party + + db 18, CLEFAIRY + db DOUBLESLAP + db MIMIC + db ENCORE + db METRONOME + + db 20, MILTANK + db ROLLOUT + db ATTRACT + db STOMP + db MILK_DRINK + + db $ff ; end + +; ================ +; ================================ + + +BugsyGroup: +; ================================ +; ================ + + ; BUGSY (1) + db "BUGSY@" + db TRAINERTYPE_MOVES + + ; party + + db 14, METAPOD + db TACKLE + db STRING_SHOT + db HARDEN + db 0 + + db 14, KAKUNA + db POISON_STING + db STRING_SHOT + db HARDEN + db 0 + + db 16, SCYTHER + db QUICK_ATTACK + db LEER + db FURY_CUTTER + db 0 + + db $ff ; end + +; ================ +; ================================ + + +MortyGroup: +; ================================ +; ================ + + ; MORTY (1) + db "MORTY@" + db TRAINERTYPE_MOVES + + ; party + + db 21, GASTLY + db LICK + db SPITE + db MEAN_LOOK + db CURSE + + db 21, HAUNTER + db HYPNOSIS + db MIMIC + db CURSE + db NIGHT_SHADE + + db 25, GENGAR + db HYPNOSIS + db SHADOW_BALL + db MEAN_LOOK + db DREAM_EATER + + db 23, HAUNTER + db SPITE + db MEAN_LOOK + db MIMIC + db NIGHT_SHADE + + db $ff ; end + +; ================ +; ================================ + + +PryceGroup: +; ================================ +; ================ + + ; PRYCE (1) + db "PRYCE@" + db TRAINERTYPE_MOVES + + ; party + + db 27, SEEL + db HEADBUTT + db ICY_WIND + db AURORA_BEAM + db REST + + db 29, DEWGONG + db HEADBUTT + db ICY_WIND + db AURORA_BEAM + db REST + + db 31, PILOSWINE + db ICY_WIND + db FURY_ATTACK + db MIST + db BLIZZARD + + db $ff ; end + +; ================ +; ================================ + + +JasmineGroup: +; ================================ +; ================ + + ; JASMINE (1) + db "JASMINE@" + db TRAINERTYPE_MOVES + + ; party + + db 30, MAGNEMITE + db THUNDERBOLT + db SUPERSONIC + db SONICBOOM + db THUNDER_WAVE + + db 30, MAGNEMITE + db THUNDERBOLT + db SUPERSONIC + db SONICBOOM + db THUNDER_WAVE + + db 35, STEELIX + db SCREECH + db SUNNY_DAY + db ROCK_THROW + db IRON_TAIL + + db $ff ; end + +; ================ +; ================================ + + +ChuckGroup: +; ================================ +; ================ + + ; CHUCK (1) + db "CHUCK@" + db TRAINERTYPE_MOVES + + ; party + + db 27, PRIMEAPE + db LEER + db RAGE + db KARATE_CHOP + db FURY_SWIPES + + db 30, POLIWRATH + db HYPNOSIS + db MIND_READER + db SURF + db DYNAMICPUNCH + + db $ff ; end + +; ================ +; ================================ + + +ClairGroup: +; ================================ +; ================ + + ; CLAIR (1) + db "CLAIR@" + db TRAINERTYPE_MOVES + + ; party + + db 37, DRAGONAIR + db THUNDER_WAVE + db SURF + db SLAM + db DRAGONBREATH + + db 37, DRAGONAIR + db THUNDER_WAVE + db THUNDERBOLT + db SLAM + db DRAGONBREATH + + db 37, DRAGONAIR + db THUNDER_WAVE + db ICE_BEAM + db SLAM + db DRAGONBREATH + + db 40, KINGDRA + db SMOKESCREEN + db SURF + db HYPER_BEAM + db DRAGONBREATH + + db $ff ; end + +; ================ +; ================================ + + +Rival1Group: +; ================================ +; ================ + + ; RIVAL1 (1) + db "?@" + db TRAINERTYPE_NORMAL + + ; party + db 5, CHIKORITA + + db $ff ; end + +; ================ + + ; RIVAL1 (2) + db "?@" + db TRAINERTYPE_NORMAL + + ; party + db 5, CYNDAQUIL + + db $ff ; end + +; ================ + + ; RIVAL1 (3) + db "?@" + db TRAINERTYPE_NORMAL + + ; party + db 5, TOTODILE + + db $ff ; end + +; ================ + + ; RIVAL1 (4) + db "?@" + db TRAINERTYPE_NORMAL + + ; party + db 12, GASTLY + db 14, ZUBAT + db 16, BAYLEEF + + db $ff ; end + +; ================ + + ; RIVAL1 (5) + db "?@" + db TRAINERTYPE_NORMAL + + ; party + db 12, GASTLY + db 14, ZUBAT + db 16, QUILAVA + + db $ff ; end + +; ================ + + ; RIVAL1 (6) + db "?@" + db TRAINERTYPE_NORMAL + + ; party + db 12, GASTLY + db 14, ZUBAT + db 16, CROCONAW + + db $ff ; end + +; ================ + + ; RIVAL1 (7) + db "?@" + db TRAINERTYPE_MOVES + + ; party + + db 20, HAUNTER + db LICK + db SPITE + db MEAN_LOOK + db CURSE + + db 18, MAGNEMITE + db TACKLE + db THUNDERSHOCK + db SUPERSONIC + db SONICBOOM + + db 20, ZUBAT + db LEECH_LIFE + db SUPERSONIC + db BITE + db CONFUSE_RAY + + db 22, BAYLEEF + db GROWL + db REFLECT + db RAZOR_LEAF + db POISONPOWDER + + db $ff ; end + +; ================ + + ; RIVAL1 (8) + db "?@" + db TRAINERTYPE_MOVES + + ; party + + db 20, HAUNTER + db LICK + db SPITE + db MEAN_LOOK + db CURSE + + db 18, MAGNEMITE + db TACKLE + db THUNDERSHOCK + db SUPERSONIC + db SONICBOOM + + db 20, ZUBAT + db LEECH_LIFE + db SUPERSONIC + db BITE + db CONFUSE_RAY + + db 22, QUILAVA + db LEER + db SMOKESCREEN + db EMBER + db QUICK_ATTACK + + db $ff ; end + +; ================ + + ; RIVAL1 (9) + db "?@" + db TRAINERTYPE_MOVES + + ; party + + db 20, HAUNTER + db LICK + db SPITE + db MEAN_LOOK + db CURSE + + db 18, MAGNEMITE + db TACKLE + db THUNDERSHOCK + db SUPERSONIC + db SONICBOOM + + db 20, ZUBAT + db LEECH_LIFE + db SUPERSONIC + db BITE + db CONFUSE_RAY + + db 22, CROCONAW + db LEER + db RAGE + db WATER_GUN + db BITE + + db $ff ; end + +; ================ + + ; RIVAL1 (10) + db "?@" + db TRAINERTYPE_MOVES + + ; party + + db 30, GOLBAT + db LEECH_LIFE + db BITE + db CONFUSE_RAY + db WING_ATTACK + + db 28, MAGNEMITE + db TACKLE + db THUNDERSHOCK + db SONICBOOM + db THUNDER_WAVE + + db 30, HAUNTER + db LICK + db MEAN_LOOK + db CURSE + db SHADOW_BALL + + db 32, SNEASEL + db LEER + db QUICK_ATTACK + db SCREECH + db FAINT_ATTACK + + db 32, MEGANIUM + db REFLECT + db RAZOR_LEAF + db POISONPOWDER + db BODY_SLAM + + db $ff ; end + +; ================ + + ; RIVAL1 (11) + db "?@" + db TRAINERTYPE_MOVES + + ; party + + db 30, GOLBAT + db LEECH_LIFE + db BITE + db CONFUSE_RAY + db WING_ATTACK + + db 28, MAGNEMITE + db TACKLE + db THUNDERSHOCK + db SONICBOOM + db THUNDER_WAVE + + db 30, HAUNTER + db LICK + db MEAN_LOOK + db CURSE + db SHADOW_BALL + + db 32, SNEASEL + db LEER + db QUICK_ATTACK + db SCREECH + db FAINT_ATTACK + + db 32, QUILAVA + db SMOKESCREEN + db EMBER + db QUICK_ATTACK + db FLAME_WHEEL + + db $ff ; end + +; ================ + + ; RIVAL1 (12) + db "?@" + db TRAINERTYPE_MOVES + + ; party + + db 30, GOLBAT + db LEECH_LIFE + db BITE + db CONFUSE_RAY + db WING_ATTACK + + db 28, MAGNEMITE + db TACKLE + db THUNDERSHOCK + db SONICBOOM + db THUNDER_WAVE + + db 30, HAUNTER + db LICK + db MEAN_LOOK + db CURSE + db SHADOW_BALL + + db 32, SNEASEL + db LEER + db QUICK_ATTACK + db SCREECH + db FAINT_ATTACK + + db 32, FERALIGATR + db RAGE + db WATER_GUN + db BITE + db SCARY_FACE + + db $ff ; end + +; ================ + + ; RIVAL1 (13) + db "?@" + db TRAINERTYPE_MOVES + + ; party + + db 34, SNEASEL + db QUICK_ATTACK + db SCREECH + db FAINT_ATTACK + db FURY_CUTTER + + db 36, GOLBAT + db LEECH_LIFE + db BITE + db CONFUSE_RAY + db WING_ATTACK + + db 35, MAGNETON + db THUNDERSHOCK + db SONICBOOM + db THUNDER_WAVE + db SWIFT + + db 35, HAUNTER + db MEAN_LOOK + db CURSE + db SHADOW_BALL + db CONFUSE_RAY + + db 35, KADABRA + db DISABLE + db PSYBEAM + db RECOVER + db FUTURE_SIGHT + + db 38, MEGANIUM + db REFLECT + db RAZOR_LEAF + db POISONPOWDER + db BODY_SLAM + + db $ff ; end + +; ================ + + ; RIVAL1 (14) + db "?@" + db TRAINERTYPE_MOVES + + ; party + + db 34, SNEASEL + db QUICK_ATTACK + db SCREECH + db FAINT_ATTACK + db FURY_CUTTER + + db 36, GOLBAT + db LEECH_LIFE + db BITE + db CONFUSE_RAY + db WING_ATTACK + + db 35, MAGNETON + db THUNDERSHOCK + db SONICBOOM + db THUNDER_WAVE + db SWIFT + + db 35, HAUNTER + db MEAN_LOOK + db CURSE + db SHADOW_BALL + db CONFUSE_RAY + + db 35, KADABRA + db DISABLE + db PSYBEAM + db RECOVER + db FUTURE_SIGHT + + db 38, TYPHLOSION + db SMOKESCREEN + db EMBER + db QUICK_ATTACK + db FLAME_WHEEL + + db $ff ; end + +; ================ + + ; RIVAL1 (15) + db "?@" + db TRAINERTYPE_MOVES + + ; party + + db 34, SNEASEL + db QUICK_ATTACK + db SCREECH + db FAINT_ATTACK + db FURY_CUTTER + + db 36, GOLBAT + db LEECH_LIFE + db BITE + db CONFUSE_RAY + db WING_ATTACK + + db 34, MAGNETON + db THUNDERSHOCK + db SONICBOOM + db THUNDER_WAVE + db SWIFT + + db 35, HAUNTER + db MEAN_LOOK + db CURSE + db SHADOW_BALL + db CONFUSE_RAY + + db 35, KADABRA + db DISABLE + db PSYBEAM + db RECOVER + db FUTURE_SIGHT + + db 38, FERALIGATR + db RAGE + db WATER_GUN + db SCARY_FACE + db SLASH + + db $ff ; end + +; ================ +; ================================ + + +PokemonProfGroup: +; ================================ +; ================ +; ================================ + + +WillGroup: +; ================================ +; ================ + + ; WILL (1) + db "WILL@" + db TRAINERTYPE_MOVES + + ; party + + db 40, XATU + db QUICK_ATTACK + db FUTURE_SIGHT + db CONFUSE_RAY + db PSYCHIC_M + + db 41, JYNX + db DOUBLESLAP + db LOVELY_KISS + db ICE_PUNCH + db PSYCHIC_M + + db 41, EXEGGUTOR + db REFLECT + db LEECH_SEED + db EGG_BOMB + db PSYCHIC_M + + db 41, SLOWBRO + db CURSE + db AMNESIA + db BODY_SLAM + db PSYCHIC_M + + db 42, XATU + db QUICK_ATTACK + db FUTURE_SIGHT + db CONFUSE_RAY + db PSYCHIC_M + + db $ff ; end + +; ================ +; ================================ + + +PKMNTrainerGroup: +; ================================ +; ================ + + ; CAL (1) + db "CAL@" + db TRAINERTYPE_NORMAL + + ; party + db 10, CHIKORITA + db 10, CYNDAQUIL + db 10, TOTODILE + + db $ff ; end + +; ================ + + ; CAL (2) + db "CAL@" + db TRAINERTYPE_NORMAL + + ; party + db 30, BAYLEEF + db 30, QUILAVA + db 30, CROCONAW + + db $ff ; end + +; ================ + + ; CAL (3) + db "CAL@" + db TRAINERTYPE_NORMAL + + ; party + db 50, MEGANIUM + db 50, TYPHLOSION + db 50, FERALIGATR + + db $ff ; end + +; ================ +; ================================ + + +BrunoGroup: +; ================================ +; ================ + + ; BRUNO (1) + db "BRUNO@" + db TRAINERTYPE_MOVES + + ; party + + db 42, HITMONTOP + db PURSUIT + db QUICK_ATTACK + db DIG + db DETECT + + db 42, HITMONLEE + db SWAGGER + db DOUBLE_KICK + db HI_JUMP_KICK + db FORESIGHT + + db 42, HITMONCHAN + db THUNDERPUNCH + db ICE_PUNCH + db FIRE_PUNCH + db MACH_PUNCH + + db 43, ONIX + db BIND + db EARTHQUAKE + db SANDSTORM + db ROCK_SLIDE + + db 46, MACHAMP + db ROCK_SLIDE + db FORESIGHT + db VITAL_THROW + db CROSS_CHOP + + db $ff ; end + +; ================ +; ================================ + + +KarenGroup: +; ================================ +; ================ + + ; KAREN (1) + db "KAREN@" + db TRAINERTYPE_MOVES + + ; party + + db 42, UMBREON + db SAND_ATTACK + db CONFUSE_RAY + db FAINT_ATTACK + db MEAN_LOOK + + db 42, VILEPLUME + db STUN_SPORE + db ACID + db MOONLIGHT + db PETAL_DANCE + + db 45, GENGAR + db LICK + db SPITE + db CURSE + db DESTINY_BOND + + db 44, MURKROW + db QUICK_ATTACK + db WHIRLWIND + db PURSUIT + db FAINT_ATTACK + + db 47, HOUNDOOM + db ROAR + db PURSUIT + db FLAMETHROWER + db CRUNCH + + db $ff ; end + +; ================ +; ================================ + + +KogaGroup: +; ================================ +; ================ + + ; KOGA (1) + db "KOGA@" + db TRAINERTYPE_MOVES + + ; party + + db 40, ARIADOS + db DOUBLE_TEAM + db SPIDER_WEB + db BATON_PASS + db GIGA_DRAIN + + db 41, VENOMOTH + db SUPERSONIC + db GUST + db PSYCHIC_M + db TOXIC + + db 43, FORRETRESS + db PROTECT + db SWIFT + db EXPLOSION + db SPIKES + + db 42, MUK + db MINIMIZE + db ACID_ARMOR + db SLUDGE_BOMB + db TOXIC + + db 44, CROBAT + db DOUBLE_TEAM + db QUICK_ATTACK + db WING_ATTACK + db TOXIC + + db $ff ; end + +; ================ +; ================================ + + +ChampionGroup: +; ================================ +; ================ + + ; CHAMPION (1) + db "LANCE@" + db TRAINERTYPE_MOVES + + ; party + + db 44, GYARADOS + db FLAIL + db RAIN_DANCE + db SURF + db HYPER_BEAM + + db 47, DRAGONITE + db THUNDER_WAVE + db TWISTER + db THUNDER + db HYPER_BEAM + + db 47, DRAGONITE + db THUNDER_WAVE + db TWISTER + db BLIZZARD + db HYPER_BEAM + + db 46, AERODACTYL + db WING_ATTACK + db ANCIENTPOWER + db ROCK_SLIDE + db HYPER_BEAM + + db 46, CHARIZARD + db FLAMETHROWER + db WING_ATTACK + db SLASH + db HYPER_BEAM + + db 50, DRAGONITE + db FIRE_BLAST + db SAFEGUARD + db OUTRAGE + db HYPER_BEAM + + db $ff ; end + +; ================ +; ================================ + + +BrockGroup: +; ================================ +; ================ + + ; BROCK (1) + db "BROCK@" + db TRAINERTYPE_MOVES + + ; party + + db 41, GRAVELER + db DEFENSE_CURL + db ROCK_SLIDE + db ROLLOUT + db EARTHQUAKE + + db 41, RHYHORN + db FURY_ATTACK + db SCARY_FACE + db EARTHQUAKE + db HORN_DRILL + + db 42, OMASTAR + db BITE + db SURF + db PROTECT + db SPIKE_CANNON + + db 44, ONIX + db BIND + db ROCK_SLIDE + db BIDE + db SANDSTORM + + db 42, KABUTOPS + db SLASH + db SURF + db ENDURE + db GIGA_DRAIN + + db $ff ; end + +; ================ +; ================================ + + +MistyGroup: +; ================================ +; ================ + + ; MISTY (1) + db "MISTY@" + db TRAINERTYPE_MOVES + + ; party + + db 42, GOLDUCK + db SURF + db DISABLE + db PSYCH_UP + db PSYCHIC_M + + db 42, QUAGSIRE + db SURF + db AMNESIA + db EARTHQUAKE + db RAIN_DANCE + + db 44, LAPRAS + db SURF + db PERISH_SONG + db BLIZZARD + db RAIN_DANCE + + db 47, STARMIE + db SURF + db CONFUSE_RAY + db RECOVER + db ICE_BEAM + + db $ff ; end + +; ================ +; ================================ + + +LtSurgeGroup: +; ================================ +; ================ + + ; LT_SURGE (1) + db "LT.SURGE@" + db TRAINERTYPE_MOVES + + ; party + + db 44, RAICHU + db THUNDER_WAVE + db QUICK_ATTACK + db THUNDERBOLT + db THUNDER + + db 40, ELECTRODE + db SCREECH + db DOUBLE_TEAM + db SWIFT + db EXPLOSION + + db 40, MAGNETON + db LOCK_ON + db DOUBLE_TEAM + db SWIFT + db ZAP_CANNON + + db 40, ELECTRODE + db SCREECH + db DOUBLE_TEAM + db SWIFT + db EXPLOSION + + db 46, ELECTABUZZ + db QUICK_ATTACK + db THUNDERPUNCH + db LIGHT_SCREEN + db THUNDER + + db $ff ; end + +; ================ +; ================================ + + +ScientistGroup: +; ================================ +; ================ + + ; SCIENTIST (1) + db "ROSS@" + db TRAINERTYPE_NORMAL + + ; party + db 22, KOFFING + db 22, KOFFING + + db $ff ; end + +; ================ + + ; SCIENTIST (2) + db "MITCH@" + db TRAINERTYPE_NORMAL + + ; party + db 24, DITTO + + db $ff ; end + +; ================ + + ; SCIENTIST (3) + db "JED@" + db TRAINERTYPE_NORMAL + + ; party + db 20, MAGNEMITE + db 20, MAGNEMITE + db 20, MAGNEMITE + + db $ff ; end + +; ================ + + ; SCIENTIST (4) + db "MARC@" + db TRAINERTYPE_NORMAL + + ; party + db 27, MAGNEMITE + db 27, MAGNEMITE + db 27, MAGNEMITE + + db $ff ; end + +; ================ + + ; SCIENTIST (5) + db "RICH@" + db TRAINERTYPE_MOVES + + ; party + + db 30, PORYGON + db CONVERSION + db CONVERSION2 + db RECOVER + db TRI_ATTACK + + db $ff ; end + +; ================ +; ================================ + + +ErikaGroup: +; ================================ +; ================ + + ; ERIKA (1) + db "ERIKA@" + db TRAINERTYPE_MOVES + + ; party + + db 42, TANGELA + db VINE_WHIP + db BIND + db GIGA_DRAIN + db SLEEP_POWDER + + db 41, JUMPLUFF + db MEGA_DRAIN + db LEECH_SEED + db COTTON_SPORE + db GIGA_DRAIN + + db 46, VICTREEBEL + db SUNNY_DAY + db SYNTHESIS + db ACID + db RAZOR_LEAF + + db 46, BELLOSSOM + db SUNNY_DAY + db SYNTHESIS + db PETAL_DANCE + db SOLARBEAM + + db $ff ; end + +; ================ +; ================================ + + +YoungsterGroup: +; ================================ +; ================ + + ; YOUNGSTER (1) + db "JOEY@" + db TRAINERTYPE_NORMAL + + ; party + db 4, RATTATA + + db $ff ; end + +; ================ + + ; YOUNGSTER (2) + db "MIKEY@" + db TRAINERTYPE_NORMAL + + ; party + db 2, PIDGEY + db 4, RATTATA + + db $ff ; end + +; ================ + + ; YOUNGSTER (3) + db "ALBERT@" + db TRAINERTYPE_NORMAL + + ; party + db 6, RATTATA + db 8, ZUBAT + + db $ff ; end + +; ================ + + ; YOUNGSTER (4) + db "GORDON@" + db TRAINERTYPE_NORMAL + + ; party + db 10, WOOPER + + db $ff ; end + +; ================ + + ; YOUNGSTER (5) + db "SAMUEL@" + db TRAINERTYPE_NORMAL + + ; party + db 7, RATTATA + db 10, SANDSHREW + db 8, SPEAROW + db 8, SPEAROW + + db $ff ; end + +; ================ + + ; YOUNGSTER (6) + db "IAN@" + db TRAINERTYPE_NORMAL + + ; party + db 10, MANKEY + db 12, DIGLETT + + db $ff ; end + +; ================ + + ; YOUNGSTER (7) + db "JOEY@" + db TRAINERTYPE_NORMAL + + ; party + db 15, RATTATA + + db $ff ; end + +; ================ + + ; YOUNGSTER (8) + db "JOEY@" + db TRAINERTYPE_MOVES + + ; party + + db 21, RATICATE + db TAIL_WHIP + db QUICK_ATTACK + db HYPER_FANG + db SCARY_FACE + + db $ff ; end + +; ================ + + ; YOUNGSTER (9) + db "WARREN@" + db TRAINERTYPE_NORMAL + + ; party + db 35, FEAROW + + db $ff ; end + +; ================ + + ; YOUNGSTER (10) + db "JIMMY@" + db TRAINERTYPE_NORMAL + + ; party + db 33, RATICATE + db 33, ARBOK + + db $ff ; end + +; ================ + + ; YOUNGSTER (11) + db "OWEN@" + db TRAINERTYPE_NORMAL + + ; party + db 35, GROWLITHE + + db $ff ; end + +; ================ + + ; YOUNGSTER (12) + db "JASON@" + db TRAINERTYPE_NORMAL + + ; party + db 33, SANDSLASH + db 33, CROBAT + + db $ff ; end + +; ================ + + ; YOUNGSTER (13) + db "JOEY@" + db TRAINERTYPE_MOVES + + ; party + + db 30, RATICATE + db TAIL_WHIP + db QUICK_ATTACK + db HYPER_FANG + db PURSUIT + + db $ff ; end + +; ================ + + ; YOUNGSTER (14) + db "JOEY@" + db TRAINERTYPE_MOVES + + ; party + + db 37, RATICATE + db HYPER_BEAM + db QUICK_ATTACK + db HYPER_FANG + db PURSUIT + + db $ff ; end + +; ================ +; ================================ + + +SchoolboyGroup: +; ================================ +; ================ + + ; SCHOOLBOY (1) + db "JACK@" + db TRAINERTYPE_NORMAL + + ; party + db 12, ODDISH + db 15, VOLTORB + + db $ff ; end + +; ================ + + ; SCHOOLBOY (2) + db "KIPP@" + db TRAINERTYPE_NORMAL + + ; party + db 27, VOLTORB + db 27, MAGNEMITE + db 31, VOLTORB + db 31, MAGNETON + + db $ff ; end + +; ================ + + ; SCHOOLBOY (3) + db "ALAN@" + db TRAINERTYPE_NORMAL + + ; party + db 16, TANGELA + + db $ff ; end + +; ================ + + ; SCHOOLBOY (4) + db "JOHNNY@" + db TRAINERTYPE_NORMAL + + ; party + db 29, BELLSPROUT + db 31, WEEPINBELL + db 33, VICTREEBEL + + db $ff ; end + +; ================ + + ; SCHOOLBOY (5) + db "DANNY@" + db TRAINERTYPE_NORMAL + + ; party + db 31, JYNX + db 31, ELECTABUZZ + db 31, MAGMAR + + db $ff ; end + +; ================ + + ; SCHOOLBOY (6) + db "TOMMY@" + db TRAINERTYPE_NORMAL + + ; party + db 32, XATU + db 34, ALAKAZAM + + db $ff ; end + +; ================ + + ; SCHOOLBOY (7) + db "DUDLEY@" + db TRAINERTYPE_NORMAL + + ; party + db 35, ODDISH + + db $ff ; end + +; ================ + + ; SCHOOLBOY (8) + db "JOE@" + db TRAINERTYPE_NORMAL + + ; party + db 33, TANGELA + db 33, VAPOREON + + db $ff ; end + +; ================ + + ; SCHOOLBOY (9) + db "BILLY@" + db TRAINERTYPE_NORMAL + + ; party + db 27, PARAS + db 27, PARAS + db 27, POLIWHIRL + db 35, DITTO + + db $ff ; end + +; ================ + + ; SCHOOLBOY (10) + db "CHAD@" + db TRAINERTYPE_NORMAL + + ; party + db 19, MR__MIME + + db $ff ; end + +; ================ + + ; SCHOOLBOY (11) + db "NATE@" + db TRAINERTYPE_NORMAL + + ; party + db 32, LEDIAN + db 32, EXEGGUTOR + + db $ff ; end + +; ================ + + ; SCHOOLBOY (12) + db "RICKY@" + db TRAINERTYPE_NORMAL + + ; party + db 32, AIPOM + db 32, DITTO + + db $ff ; end + +; ================ + + ; SCHOOLBOY (13) + db "JACK@" + db TRAINERTYPE_NORMAL + + ; party + db 14, ODDISH + db 17, VOLTORB + + db $ff ; end + +; ================ + + ; SCHOOLBOY (14) + db "JACK@" + db TRAINERTYPE_NORMAL + + ; party + db 28, GLOOM + db 31, ELECTRODE + + db $ff ; end + +; ================ + + ; SCHOOLBOY (15) + db "ALAN@" + db TRAINERTYPE_NORMAL + + ; party + db 17, TANGELA + db 17, YANMA + + db $ff ; end + +; ================ + + ; SCHOOLBOY (16) + db "ALAN@" + db TRAINERTYPE_NORMAL + + ; party + db 20, NATU + db 22, TANGELA + db 20, QUAGSIRE + db 25, YANMA + + db $ff ; end + +; ================ + + ; SCHOOLBOY (17) + db "CHAD@" + db TRAINERTYPE_NORMAL + + ; party + db 19, MR__MIME + db 19, MAGNEMITE + + db $ff ; end + +; ================ + + ; SCHOOLBOY (18) + db "CHAD@" + db TRAINERTYPE_NORMAL + + ; party + db 27, MR__MIME + db 31, MAGNETON + + db $ff ; end + +; ================ + + ; SCHOOLBOY (19) + db "JACK@" + db TRAINERTYPE_NORMAL + + ; party + db 30, GLOOM + db 33, GROWLITHE + db 33, ELECTRODE + + db $ff ; end + +; ================ + + ; SCHOOLBOY (20) + db "JACK@" + db TRAINERTYPE_MOVES + + ; party + + db 35, ELECTRODE + db SCREECH + db SONICBOOM + db ROLLOUT + db LIGHT_SCREEN + + db 35, GROWLITHE + db SUNNY_DAY + db LEER + db TAKE_DOWN + db FLAME_WHEEL + + db 37, VILEPLUME + db SOLARBEAM + db SLEEP_POWDER + db ACID + db MOONLIGHT + + db $ff ; end + +; ================ + + ; SCHOOLBOY (21) + db "ALAN@" + db TRAINERTYPE_NORMAL + + ; party + db 27, NATU + db 27, TANGELA + db 30, QUAGSIRE + db 30, YANMA + + db $ff ; end + +; ================ + + ; SCHOOLBOY (22) + db "ALAN@" + db TRAINERTYPE_MOVES + + ; party + + db 35, XATU + db PECK + db NIGHT_SHADE + db SWIFT + db FUTURE_SIGHT + + db 32, TANGELA + db POISONPOWDER + db VINE_WHIP + db BIND + db MEGA_DRAIN + + db 32, YANMA + db QUICK_ATTACK + db DOUBLE_TEAM + db SONICBOOM + db SUPERSONIC + + db 35, QUAGSIRE + db TAIL_WHIP + db SLAM + db AMNESIA + db EARTHQUAKE + + db $ff ; end + +; ================ + + ; SCHOOLBOY (23) + db "CHAD@" + db TRAINERTYPE_NORMAL + + ; party + db 30, MR__MIME + db 34, MAGNETON + + db $ff ; end + +; ================ + + ; SCHOOLBOY (24) + db "CHAD@" + db TRAINERTYPE_MOVES + + ; party + + db 34, MR__MIME + db PSYCHIC_M + db LIGHT_SCREEN + db REFLECT + db ENCORE + + db 38, MAGNETON + db ZAP_CANNON + db THUNDER_WAVE + db LOCK_ON + db SWIFT + + db $ff ; end + +; ================ +; ================================ + + +BirdKeeperGroup: +; ================================ +; ================ + + ; BIRD_KEEPER (1) + db "ROD@" + db TRAINERTYPE_NORMAL + + ; party + db 7, PIDGEY + db 7, PIDGEY + + db $ff ; end + +; ================ + + ; BIRD_KEEPER (2) + db "ABE@" + db TRAINERTYPE_NORMAL + + ; party + db 9, SPEAROW + + db $ff ; end + +; ================ + + ; BIRD_KEEPER (3) + db "BRYAN@" + db TRAINERTYPE_NORMAL + + ; party + db 12, PIDGEY + db 14, PIDGEOTTO + + db $ff ; end + +; ================ + + ; BIRD_KEEPER (4) + db "THEO@" + db TRAINERTYPE_NORMAL + + ; party + db 17, PIDGEY + db 15, PIDGEY + db 19, PIDGEY + db 15, PIDGEY + db 15, PIDGEY + + db $ff ; end + +; ================ + + ; BIRD_KEEPER (5) + db "TOBY@" + db TRAINERTYPE_NORMAL + + ; party + db 15, DODUO + db 16, DODUO + db 17, DODUO + + db $ff ; end + +; ================ + + ; BIRD_KEEPER (6) + db "DENIS@" + db TRAINERTYPE_NORMAL + + ; party + db 18, SPEAROW + db 20, FEAROW + db 18, SPEAROW + + db $ff ; end + +; ================ + + ; BIRD_KEEPER (7) + db "VANCE@" + db TRAINERTYPE_NORMAL + + ; party + db 25, PIDGEOTTO + db 25, PIDGEOTTO + + db $ff ; end + +; ================ + + ; BIRD_KEEPER (8) + db "HANK@" + db TRAINERTYPE_NORMAL + + ; party + db 12, PIDGEY + db 34, PIDGEOT + + db $ff ; end + +; ================ + + ; BIRD_KEEPER (9) + db "ROY@" + db TRAINERTYPE_NORMAL + + ; party + db 29, FEAROW + db 35, FEAROW + + db $ff ; end + +; ================ + + ; BIRD_KEEPER (10) + db "BORIS@" + db TRAINERTYPE_NORMAL + + ; party + db 30, DODUO + db 28, DODUO + db 32, DODRIO + + db $ff ; end + +; ================ + + ; BIRD_KEEPER (11) + db "BOB@" + db TRAINERTYPE_NORMAL + + ; party + db 34, NOCTOWL + + db $ff ; end + +; ================ + + ; BIRD_KEEPER (12) + db "JOSE@" + db TRAINERTYPE_NORMAL + + ; party + db 36, FARFETCH_D + + db $ff ; end + +; ================ + + ; BIRD_KEEPER (13) + db "PETER@" + db TRAINERTYPE_NORMAL + + ; party + db 6, PIDGEY + db 6, PIDGEY + db 8, SPEAROW + + db $ff ; end + +; ================ + + ; BIRD_KEEPER (14) + db "JOSE@" + db TRAINERTYPE_NORMAL + + ; party + db 34, FARFETCH_D + + db $ff ; end + +; ================ + + ; BIRD_KEEPER (15) + db "PERRY@" + db TRAINERTYPE_NORMAL + + ; party + db 34, FARFETCH_D + + db $ff ; end + +; ================ + + ; BIRD_KEEPER (16) + db "BRET@" + db TRAINERTYPE_NORMAL + + ; party + db 32, PIDGEOTTO + db 32, FEAROW + + db $ff ; end + +; ================ + + ; BIRD_KEEPER (17) + db "JOSE@" + db TRAINERTYPE_MOVES + + ; party + + db 40, FARFETCH_D + db FURY_ATTACK + db DETECT + db FLY + db SLASH + + db $ff ; end + +; ================ + + ; BIRD_KEEPER (18) + db "VANCE@" + db TRAINERTYPE_NORMAL + + ; party + db 32, PIDGEOTTO + db 32, PIDGEOTTO + + db $ff ; end + +; ================ + + ; BIRD_KEEPER (19) + db "VANCE@" + db TRAINERTYPE_MOVES + + ; party + + db 38, PIDGEOT + db TOXIC + db QUICK_ATTACK + db WHIRLWIND + db FLY + + db 38, PIDGEOT + db SWIFT + db DETECT + db STEEL_WING + db FLY + + db $ff ; end + +; ================ +; ================================ + + +LassGroup: +; ================================ +; ================ + + ; LASS (1) + db "CARRIE@" + db TRAINERTYPE_MOVES + + ; party + + db 18, SNUBBULL + db SCARY_FACE + db CHARM + db BITE + db LICK + + db $ff ; end + +; ================ + + ; LASS (2) + db "BRIDGET@" + db TRAINERTYPE_NORMAL + + ; party + db 15, JIGGLYPUFF + db 15, JIGGLYPUFF + db 15, JIGGLYPUFF + + db $ff ; end + +; ================ + + ; LASS (3) + db "ALICE@" + db TRAINERTYPE_NORMAL + + ; party + db 30, GLOOM + db 34, ARBOK + db 30, GLOOM + + db $ff ; end + +; ================ + + ; LASS (4) + db "KRISE@" + db TRAINERTYPE_NORMAL + + ; party + db 12, ODDISH + db 15, CUBONE + + db $ff ; end + +; ================ + + ; LASS (5) + db "CONNIE@" + db TRAINERTYPE_NORMAL + + ; party + db 21, MARILL + + db $ff ; end + +; ================ + + ; LASS (6) + db "LINDA@" + db TRAINERTYPE_NORMAL + + ; party + db 30, BULBASAUR + db 32, IVYSAUR + db 34, VENUSAUR + + db $ff ; end + +; ================ + + ; LASS (7) + db "LAURA@" + db TRAINERTYPE_NORMAL + + ; party + db 28, GLOOM + db 31, PIDGEOTTO + db 31, BELLOSSOM + + db $ff ; end + +; ================ + + ; LASS (8) + db "SHANNON@" + db TRAINERTYPE_NORMAL + + ; party + db 29, PARAS + db 29, PARAS + db 32, PARASECT + + db $ff ; end + +; ================ + + ; LASS (9) + db "MICHELLE@" + db TRAINERTYPE_NORMAL + + ; party + db 32, SKIPLOOM + db 33, HOPPIP + db 34, JUMPLUFF + + db $ff ; end + +; ================ + + ; LASS (10) + db "DANA@" + db TRAINERTYPE_MOVES + + ; party + + db 18, FLAAFFY + db TACKLE + db GROWL + db THUNDERSHOCK + db THUNDER_WAVE + + db 18, PSYDUCK + db SCRATCH + db TAIL_WHIP + db DISABLE + db CONFUSION + + db $ff ; end + +; ================ + + ; LASS (11) + db "ELLEN@" + db TRAINERTYPE_NORMAL + + ; party + db 30, WIGGLYTUFF + db 34, GRANBULL + + db $ff ; end + +; ================ + + ; LASS (12) + db "CONNIE@" + db TRAINERTYPE_NORMAL + + ; party + db 21, MARILL + + db $ff ; end + +; ================ + + ; LASS (13) + db "CONNIE@" + db TRAINERTYPE_NORMAL + + ; party + db 21, MARILL + + db $ff ; end + +; ================ + + ; LASS (14) + db "DANA@" + db TRAINERTYPE_MOVES + + ; party + + db 21, FLAAFFY + db TACKLE + db GROWL + db THUNDERSHOCK + db THUNDER_WAVE + + db 21, PSYDUCK + db SCRATCH + db TAIL_WHIP + db DISABLE + db CONFUSION + + db $ff ; end + +; ================ + + ; LASS (15) + db "DANA@" + db TRAINERTYPE_MOVES + + ; party + + db 29, PSYDUCK + db SCRATCH + db DISABLE + db CONFUSION + db SCREECH + + db 29, AMPHAROS + db TACKLE + db THUNDERSHOCK + db THUNDER_WAVE + db COTTON_SPORE + + db $ff ; end + +; ================ + + ; LASS (16) + db "DANA@" + db TRAINERTYPE_MOVES + + ; party + + db 32, PSYDUCK + db SCRATCH + db DISABLE + db CONFUSION + db SCREECH + + db 32, AMPHAROS + db TACKLE + db THUNDERPUNCH + db THUNDER_WAVE + db COTTON_SPORE + + db $ff ; end + +; ================ + + ; LASS (17) + db "DANA@" + db TRAINERTYPE_MOVES + + ; party + + db 36, AMPHAROS + db SWIFT + db THUNDERPUNCH + db THUNDER_WAVE + db COTTON_SPORE + + db 36, GOLDUCK + db DISABLE + db SURF + db PSYCHIC_M + db SCREECH + + db $ff ; end + +; ================ +; ================================ + + +JanineGroup: +; ================================ +; ================ + + ; JANINE (1) + db "JANINE@" + db TRAINERTYPE_MOVES + + ; party + + db 36, CROBAT + db SCREECH + db SUPERSONIC + db CONFUSE_RAY + db WING_ATTACK + + db 36, WEEZING + db SMOG + db SLUDGE_BOMB + db TOXIC + db EXPLOSION + + db 36, WEEZING + db SMOG + db SLUDGE_BOMB + db TOXIC + db EXPLOSION + + db 33, ARIADOS + db SCARY_FACE + db GIGA_DRAIN + db STRING_SHOT + db NIGHT_SHADE + + db 39, VENOMOTH + db FORESIGHT + db DOUBLE_TEAM + db GUST + db PSYCHIC_M + + db $ff ; end + +; ================ +; ================================ + + +CooltrainerMGroup: +; ================================ +; ================ + + ; COOLTRAINERM (1) + db "NICK@" + db TRAINERTYPE_MOVES + + ; party + + db 26, CHARMANDER + db EMBER + db SMOKESCREEN + db RAGE + db SCARY_FACE + + db 26, SQUIRTLE + db WITHDRAW + db WATER_GUN + db BITE + db CURSE + + db 26, BULBASAUR + db LEECH_SEED + db POISONPOWDER + db SLEEP_POWDER + db RAZOR_LEAF + + db $ff ; end + +; ================ + + ; COOLTRAINERM (2) + db "AARON@" + db TRAINERTYPE_NORMAL + + ; party + db 24, IVYSAUR + db 24, CHARMELEON + db 24, WARTORTLE + + db $ff ; end + +; ================ + + ; COOLTRAINERM (3) + db "PAUL@" + db TRAINERTYPE_NORMAL + + ; party + db 34, DRATINI + db 34, DRATINI + db 34, DRATINI + + db $ff ; end + +; ================ + + ; COOLTRAINERM (4) + db "CODY@" + db TRAINERTYPE_NORMAL + + ; party + db 34, HORSEA + db 36, SEADRA + + db $ff ; end + +; ================ + + ; COOLTRAINERM (5) + db "MIKE@" + db TRAINERTYPE_NORMAL + + ; party + db 37, DRAGONAIR + + db $ff ; end + +; ================ + + ; COOLTRAINERM (6) + db "GAVEN@" + db TRAINERTYPE_MOVES + + ; party + + db 35, VICTREEBEL + db WRAP + db TOXIC + db ACID + db RAZOR_LEAF + + db 35, KINGLER + db BUBBLEBEAM + db STOMP + db GUILLOTINE + db PROTECT + + db 35, FLAREON + db SAND_ATTACK + db QUICK_ATTACK + db BITE + db FIRE_SPIN + + db $ff ; end + +; ================ + + ; COOLTRAINERM (7) + db "GAVEN@" + db TRAINERTYPE_ITEM_MOVES + + ; party + + db 39, VICTREEBEL, NO_ITEM + db GIGA_DRAIN + db TOXIC + db SLUDGE_BOMB + db RAZOR_LEAF + + db 39, KINGLER, KINGS_ROCK + db SURF + db STOMP + db GUILLOTINE + db BLIZZARD + + db 39, FLAREON, NO_ITEM + db FLAMETHROWER + db QUICK_ATTACK + db BITE + db FIRE_SPIN + + db $ff ; end + +; ================ + + ; COOLTRAINERM (8) + db "RYAN@" + db TRAINERTYPE_MOVES + + ; party + + db 25, PIDGEOT + db SAND_ATTACK + db QUICK_ATTACK + db WHIRLWIND + db WING_ATTACK + + db 27, ELECTABUZZ + db THUNDERPUNCH + db LIGHT_SCREEN + db SWIFT + db SCREECH + + db $ff ; end + +; ================ + + ; COOLTRAINERM (9) + db "JAKE@" + db TRAINERTYPE_MOVES + + ; party + + db 33, PARASECT + db LEECH_LIFE + db SPORE + db SLASH + db SWORDS_DANCE + + db 35, GOLDUCK + db CONFUSION + db SCREECH + db PSYCH_UP + db FURY_SWIPES + + db $ff ; end + +; ================ + + ; COOLTRAINERM (10) + db "GAVEN@" + db TRAINERTYPE_MOVES + + ; party + + db 32, VICTREEBEL + db WRAP + db TOXIC + db ACID + db RAZOR_LEAF + + db 32, KINGLER + db BUBBLEBEAM + db STOMP + db GUILLOTINE + db PROTECT + + db 32, FLAREON + db SAND_ATTACK + db QUICK_ATTACK + db BITE + db FIRE_SPIN + + db $ff ; end + +; ================ + + ; COOLTRAINERM (11) + db "BLAKE@" + db TRAINERTYPE_MOVES + + ; party + + db 33, MAGNETON + db THUNDERBOLT + db SUPERSONIC + db SWIFT + db SCREECH + + db 31, QUAGSIRE + db WATER_GUN + db SLAM + db AMNESIA + db EARTHQUAKE + + db 31, EXEGGCUTE + db LEECH_SEED + db CONFUSION + db SLEEP_POWDER + db SOLARBEAM + + db $ff ; end + +; ================ + + ; COOLTRAINERM (12) + db "BRIAN@" + db TRAINERTYPE_MOVES + + ; party + + db 35, SANDSLASH + db SAND_ATTACK + db POISON_STING + db SLASH + db SWIFT + + db $ff ; end + +; ================ + + ; COOLTRAINERM (13) + db "ERICK@" + db TRAINERTYPE_NORMAL + + ; party + db 10, BULBASAUR + db 10, CHARMANDER + db 10, SQUIRTLE + + db $ff ; end + +; ================ + + ; COOLTRAINERM (14) + db "ANDY@" + db TRAINERTYPE_NORMAL + + ; party + db 10, BULBASAUR + db 10, CHARMANDER + db 10, SQUIRTLE + + db $ff ; end + +; ================ + + ; COOLTRAINERM (15) + db "TYLER@" + db TRAINERTYPE_NORMAL + + ; party + db 10, BULBASAUR + db 10, CHARMANDER + db 10, SQUIRTLE + + db $ff ; end + +; ================ + + ; COOLTRAINERM (16) + db "SEAN@" + db TRAINERTYPE_NORMAL + + ; party + db 35, FLAREON + db 35, TANGELA + db 35, TAUROS + + db $ff ; end + +; ================ + + ; COOLTRAINERM (17) + db "KEVIN@" + db TRAINERTYPE_NORMAL + + ; party + db 38, RHYHORN + db 35, CHARMELEON + db 35, WARTORTLE + + db $ff ; end + +; ================ + + ; COOLTRAINERM (18) + db "STEVE@" + db TRAINERTYPE_NORMAL + + ; party + db 14, BULBASAUR + db 14, CHARMANDER + db 14, SQUIRTLE + + db $ff ; end + +; ================ + + ; COOLTRAINERM (19) + db "ALLEN@" + db TRAINERTYPE_MOVES + + ; party + + db 27, CHARMELEON + db EMBER + db SMOKESCREEN + db RAGE + db SCARY_FACE + + db $ff ; end + +; ================ + + ; COOLTRAINERM (20) + db "DARIN@" + db TRAINERTYPE_MOVES + + ; party + + db 37, DRAGONAIR + db WRAP + db SURF + db DRAGON_RAGE + db SLAM + + db $ff ; end + +; ================ +; ================================ + + +CooltrainerFGroup: +; ================================ +; ================ + + ; COOLTRAINERF (1) + db "GWEN@" + db TRAINERTYPE_NORMAL + + ; party + db 26, EEVEE + db 22, FLAREON + db 22, VAPOREON + db 22, JOLTEON + + db $ff ; end + +; ================ + + ; COOLTRAINERF (2) + db "LOIS@" + db TRAINERTYPE_MOVES + + ; party + + db 25, SKIPLOOM + db SYNTHESIS + db POISONPOWDER + db MEGA_DRAIN + db LEECH_SEED + + db 25, NINETALES + db EMBER + db QUICK_ATTACK + db CONFUSE_RAY + db SAFEGUARD + + db $ff ; end + +; ================ + + ; COOLTRAINERF (3) + db "FRAN@" + db TRAINERTYPE_NORMAL + + ; party + db 37, SEADRA + + db $ff ; end + +; ================ + + ; COOLTRAINERF (4) + db "LOLA@" + db TRAINERTYPE_NORMAL + + ; party + db 34, DRATINI + db 36, DRAGONAIR + + db $ff ; end + +; ================ + + ; COOLTRAINERF (5) + db "KATE@" + db TRAINERTYPE_NORMAL + + ; party + db 26, SHELLDER + db 28, CLOYSTER + + db $ff ; end + +; ================ + + ; COOLTRAINERF (6) + db "IRENE@" + db TRAINERTYPE_NORMAL + + ; party + db 22, GOLDEEN + db 24, SEAKING + + db $ff ; end + +; ================ + + ; COOLTRAINERF (7) + db "KELLY@" + db TRAINERTYPE_NORMAL + + ; party + db 27, MARILL + db 24, WARTORTLE + db 24, WARTORTLE + + db $ff ; end + +; ================ + + ; COOLTRAINERF (8) + db "JOYCE@" + db TRAINERTYPE_MOVES + + ; party + + db 36, PIKACHU + db QUICK_ATTACK + db DOUBLE_TEAM + db THUNDERBOLT + db THUNDER + + db 32, BLASTOISE + db BITE + db CURSE + db SURF + db RAIN_DANCE + + db $ff ; end + +; ================ + + ; COOLTRAINERF (9) + db "BETH@" + db TRAINERTYPE_MOVES + + ; party + + db 36, RAPIDASH + db STOMP + db FIRE_SPIN + db FURY_ATTACK + db AGILITY + + db $ff ; end + +; ================ + + ; COOLTRAINERF (10) + db "REENA@" + db TRAINERTYPE_NORMAL + + ; party + db 31, STARMIE + db 33, NIDOQUEEN + db 31, STARMIE + + db $ff ; end + +; ================ + + ; COOLTRAINERF (11) + db "MEGAN@" + db TRAINERTYPE_MOVES + + ; party + + db 32, BULBASAUR + db GROWL + db LEECH_SEED + db POISONPOWDER + db RAZOR_LEAF + + db 32, IVYSAUR + db GROWL + db LEECH_SEED + db POISONPOWDER + db RAZOR_LEAF + + db 32, VENUSAUR + db BODY_SLAM + db SLEEP_POWDER + db RAZOR_LEAF + db SWEET_SCENT + + db $ff ; end + +; ================ + + ; COOLTRAINERF (12) + db "BETH@" + db TRAINERTYPE_MOVES + + ; party + + db 39, RAPIDASH + db STOMP + db FIRE_SPIN + db FURY_ATTACK + db AGILITY + + db $ff ; end + +; ================ + + ; COOLTRAINERF (13) + db "CAROL@" + db TRAINERTYPE_NORMAL + + ; party + db 35, ELECTRODE + db 35, STARMIE + db 35, NINETALES + + db $ff ; end + +; ================ + + ; COOLTRAINERF (14) + db "QUINN@" + db TRAINERTYPE_NORMAL + + ; party + db 38, IVYSAUR + db 38, STARMIE + + db $ff ; end + +; ================ + + ; COOLTRAINERF (15) + db "EMMA@" + db TRAINERTYPE_NORMAL + + ; party + db 28, POLIWHIRL + + db $ff ; end + +; ================ + + ; COOLTRAINERF (16) + db "CYBIL@" + db TRAINERTYPE_MOVES + + ; party + + db 25, BUTTERFREE + db CONFUSION + db SLEEP_POWDER + db WHIRLWIND + db GUST + + db 25, BELLOSSOM + db ABSORB + db STUN_SPORE + db ACID + db SOLARBEAM + + db $ff ; end + +; ================ + + ; COOLTRAINERF (17) + db "JENN@" + db TRAINERTYPE_NORMAL + + ; party + db 24, STARYU + db 26, STARMIE + + db $ff ; end + +; ================ + + ; COOLTRAINERF (18) + db "BETH@" + db TRAINERTYPE_ITEM_MOVES + + ; party + + db 43, RAPIDASH, FOCUS_BAND + db STOMP + db FIRE_SPIN + db FURY_ATTACK + db FIRE_BLAST + + db $ff ; end + +; ================ + + ; COOLTRAINERF (19) + db "REENA@" + db TRAINERTYPE_NORMAL + + ; party + db 34, STARMIE + db 36, NIDOQUEEN + db 34, STARMIE + + db $ff ; end + +; ================ + + ; COOLTRAINERF (20) + db "REENA@" + db TRAINERTYPE_ITEM_MOVES + + ; party + + db 38, STARMIE, NO_ITEM + db DOUBLE_TEAM + db PSYCHIC_M + db WATERFALL + db CONFUSE_RAY + + db 40, NIDOQUEEN, PINK_BOW + db EARTHQUAKE + db DOUBLE_KICK + db TOXIC + db BODY_SLAM + + db 38, STARMIE, NO_ITEM + db BLIZZARD + db PSYCHIC_M + db WATERFALL + db RECOVER + + db $ff ; end + +; ================ + + ; COOLTRAINERF (21) + db "CARA@" + db TRAINERTYPE_MOVES + + ; party + + db 33, HORSEA + db SMOKESCREEN + db LEER + db WHIRLPOOL + db TWISTER + + db 33, HORSEA + db SMOKESCREEN + db LEER + db WHIRLPOOL + db TWISTER + + db 35, SEADRA + db SWIFT + db LEER + db WATERFALL + db TWISTER + + db $ff ; end + +; ================ +; ================================ + + +BeautyGroup: +; ================================ +; ================ + + ; BEAUTY (1) + db "VICTORIA@" + db TRAINERTYPE_NORMAL + + ; party + db 9, SENTRET + db 13, SENTRET + db 17, SENTRET + + db $ff ; end + +; ================ + + ; BEAUTY (2) + db "SAMANTHA@" + db TRAINERTYPE_MOVES + + ; party + + db 16, MEOWTH + db SCRATCH + db GROWL + db BITE + db PAY_DAY + + db 16, MEOWTH + db SCRATCH + db GROWL + db BITE + db SLASH + + db $ff ; end + +; ================ + + ; BEAUTY (3) + db "JULIE@" + db TRAINERTYPE_NORMAL + + ; party + db 15, SENTRET + + db $ff ; end + +; ================ + + ; BEAUTY (4) + db "JACLYN@" + db TRAINERTYPE_NORMAL + + ; party + db 15, SENTRET + + db $ff ; end + +; ================ + + ; BEAUTY (5) + db "BRENDA@" + db TRAINERTYPE_NORMAL + + ; party + db 16, FURRET + + db $ff ; end + +; ================ + + ; BEAUTY (6) + db "CASSIE@" + db TRAINERTYPE_NORMAL + + ; party + db 28, VILEPLUME + db 34, BUTTERFREE + + db $ff ; end + +; ================ + + ; BEAUTY (7) + db "CAROLINE@" + db TRAINERTYPE_NORMAL + + ; party + db 30, MARILL + db 32, SEEL + db 30, MARILL + + db $ff ; end + +; ================ + + ; BEAUTY (8) + db "CARLENE@" + db TRAINERTYPE_NORMAL + + ; party + db 15, SENTRET + + db $ff ; end + +; ================ + + ; BEAUTY (9) + db "JESSICA@" + db TRAINERTYPE_NORMAL + + ; party + db 15, SENTRET + + db $ff ; end + +; ================ + + ; BEAUTY (10) + db "RACHAEL@" + db TRAINERTYPE_NORMAL + + ; party + db 15, SENTRET + + db $ff ; end + +; ================ + + ; BEAUTY (11) + db "ANGELICA@" + db TRAINERTYPE_NORMAL + + ; party + db 15, SENTRET + + db $ff ; end + +; ================ + + ; BEAUTY (12) + db "KENDRA@" + db TRAINERTYPE_NORMAL + + ; party + db 15, SENTRET + + db $ff ; end + +; ================ + + ; BEAUTY (13) + db "VERONICA@" + db TRAINERTYPE_NORMAL + + ; party + db 15, SENTRET + + db $ff ; end + +; ================ + + ; BEAUTY (14) + db "JULIA@" + db TRAINERTYPE_NORMAL + + ; party + db 32, PARAS + db 32, EXEGGCUTE + db 35, PARASECT + + db $ff ; end + +; ================ + + ; BEAUTY (15) + db "THERESA@" + db TRAINERTYPE_NORMAL + + ; party + db 15, SENTRET + + db $ff ; end + +; ================ + + ; BEAUTY (16) + db "VALERIE@" + db TRAINERTYPE_MOVES + + ; party + + db 17, HOPPIP + db SYNTHESIS + db TAIL_WHIP + db TACKLE + db POISONPOWDER + + db 17, SKIPLOOM + db SYNTHESIS + db TAIL_WHIP + db TACKLE + db STUN_SPORE + + db $ff ; end + +; ================ + + ; BEAUTY (17) + db "OLIVIA@" + db TRAINERTYPE_NORMAL + + ; party + db 19, CORSOLA + + db $ff ; end + +; ================ +; ================================ + + +PokemaniacGroup: +; ================================ +; ================ + + ; POKEMANIAC (1) + db "LARRY@" + db TRAINERTYPE_NORMAL + + ; party + db 10, SLOWPOKE + + db $ff ; end + +; ================ + + ; POKEMANIAC (2) + db "ANDREW@" + db TRAINERTYPE_NORMAL + + ; party + db 24, MAROWAK + db 24, MAROWAK + + db $ff ; end + +; ================ + + ; POKEMANIAC (3) + db "CALVIN@" + db TRAINERTYPE_NORMAL + + ; party + db 26, KANGASKHAN + + db $ff ; end + +; ================ + + ; POKEMANIAC (4) + db "SHANE@" + db TRAINERTYPE_NORMAL + + ; party + db 16, NIDORINA + db 16, NIDORINO + + db $ff ; end + +; ================ + + ; POKEMANIAC (5) + db "BEN@" + db TRAINERTYPE_NORMAL + + ; party + db 19, SLOWBRO + + db $ff ; end + +; ================ + + ; POKEMANIAC (6) + db "BRENT@" + db TRAINERTYPE_NORMAL + + ; party + db 19, LICKITUNG + + db $ff ; end + +; ================ + + ; POKEMANIAC (7) + db "RON@" + db TRAINERTYPE_NORMAL + + ; party + db 19, NIDOKING + + db $ff ; end + +; ================ + + ; POKEMANIAC (8) + db "ETHAN@" + db TRAINERTYPE_NORMAL + + ; party + db 31, RHYHORN + db 31, RHYDON + + db $ff ; end + +; ================ + + ; POKEMANIAC (9) + db "BRENT@" + db TRAINERTYPE_NORMAL + + ; party + db 25, KANGASKHAN + + db $ff ; end + +; ================ + + ; POKEMANIAC (10) + db "BRENT@" + db TRAINERTYPE_MOVES + + ; party + + db 36, PORYGON + db RECOVER + db PSYCHIC_M + db CONVERSION2 + db TRI_ATTACK + + db $ff ; end + +; ================ + + ; POKEMANIAC (11) + db "ISSAC@" + db TRAINERTYPE_MOVES + + ; party + + db 12, LICKITUNG + db LICK + db SUPERSONIC + db CUT + db 0 + + db $ff ; end + +; ================ + + ; POKEMANIAC (12) + db "DONALD@" + db TRAINERTYPE_NORMAL + + ; party + db 10, SLOWPOKE + db 10, SLOWPOKE + + db $ff ; end + +; ================ + + ; POKEMANIAC (13) + db "ZACH@" + db TRAINERTYPE_NORMAL + + ; party + db 27, RHYHORN + + db $ff ; end + +; ================ + + ; POKEMANIAC (14) + db "BRENT@" + db TRAINERTYPE_MOVES + + ; party + + db 41, CHANSEY + db ROLLOUT + db ATTRACT + db EGG_BOMB + db SOFTBOILED + + db $ff ; end + +; ================ + + ; POKEMANIAC (15) + db "MILLER@" + db TRAINERTYPE_NORMAL + + ; party + db 17, NIDOKING + db 17, NIDOQUEEN + + db $ff ; end + +; ================ +; ================================ + + +GruntMGroup: +; ================================ +; ================ + + ; GRUNTM (1) + db "GRUNT@" + db TRAINERTYPE_NORMAL + + ; party + db 14, KOFFING + + db $ff ; end + +; ================ + + ; GRUNTM (2) + db "GRUNT@" + db TRAINERTYPE_NORMAL + + ; party + db 7, RATTATA + db 9, ZUBAT + db 9, ZUBAT + + db $ff ; end + +; ================ + + ; GRUNTM (3) + db "GRUNT@" + db TRAINERTYPE_NORMAL + + ; party + db 24, RATICATE + db 24, RATICATE + + db $ff ; end + +; ================ + + ; GRUNTM (4) + db "GRUNT@" + db TRAINERTYPE_NORMAL + + ; party + db 23, GRIMER + db 23, GRIMER + db 25, MUK + + db $ff ; end + +; ================ + + ; GRUNTM (5) + db "GRUNT@" + db TRAINERTYPE_NORMAL + + ; party + db 21, RATTATA + db 21, RATTATA + db 23, RATTATA + db 23, RATTATA + db 23, RATTATA + + db $ff ; end + +; ================ + + ; GRUNTM (6) + db "GRUNT@" + db TRAINERTYPE_NORMAL + + ; party + db 26, ZUBAT + db 26, ZUBAT + + db $ff ; end + +; ================ + + ; GRUNTM (7) + db "GRUNT@" + db TRAINERTYPE_NORMAL + + ; party + db 23, KOFFING + db 23, GRIMER + db 23, ZUBAT + db 23, RATTATA + + db $ff ; end + +; ================ + + ; GRUNTM (8) + db "GRUNT@" + db TRAINERTYPE_NORMAL + + ; party + db 26, WEEZING + + db $ff ; end + +; ================ + + ; GRUNTM (9) + db "GRUNT@" + db TRAINERTYPE_NORMAL + + ; party + db 24, RATICATE + db 26, KOFFING + + db $ff ; end + +; ================ + + ; GRUNTM (10) + db "GRUNT@" + db TRAINERTYPE_NORMAL + + ; party + db 22, ZUBAT + db 24, GOLBAT + db 22, GRIMER + + db $ff ; end + +; ================ + + ; GRUNTM (11) + db "GRUNT@" + db TRAINERTYPE_NORMAL + + ; party + db 23, MUK + db 23, KOFFING + db 25, RATTATA + + db $ff ; end + +; ================ + + ; GRUNTM (12) + db "EXECUTIVE@" + db TRAINERTYPE_NORMAL + + ; party + db 33, HOUNDOUR + + db $ff ; end + +; ================ + + ; GRUNTM (13) + db "GRUNT@" + db TRAINERTYPE_NORMAL + + ; party + db 27, RATTATA + + db $ff ; end + +; ================ + + ; GRUNTM (14) + db "GRUNT@" + db TRAINERTYPE_NORMAL + + ; party + db 24, RATICATE + db 24, GOLBAT + + db $ff ; end + +; ================ + + ; GRUNTM (15) + db "GRUNT@" + db TRAINERTYPE_NORMAL + + ; party + db 26, GRIMER + db 23, WEEZING + + db $ff ; end + +; ================ + + ; GRUNTM (16) + db "GRUNT@" + db TRAINERTYPE_NORMAL + + ; party + db 16, RATTATA + db 16, RATTATA + db 16, RATTATA + db 16, RATTATA + + db $ff ; end + +; ================ + + ; GRUNTM (17) + db "GRUNT@" + db TRAINERTYPE_NORMAL + + ; party + db 18, GOLBAT + + db $ff ; end + +; ================ + + ; GRUNTM (18) + db "GRUNT@" + db TRAINERTYPE_NORMAL + + ; party + db 17, RATTATA + db 17, ZUBAT + db 17, RATTATA + + db $ff ; end + +; ================ + + ; GRUNTM (19) + db "GRUNT@" + db TRAINERTYPE_NORMAL + + ; party + db 18, VENONAT + db 18, VENONAT + + db $ff ; end + +; ================ + + ; GRUNTM (20) + db "GRUNT@" + db TRAINERTYPE_NORMAL + + ; party + db 17, DROWZEE + db 19, ZUBAT + + db $ff ; end + +; ================ + + ; GRUNTM (21) + db "GRUNT@" + db TRAINERTYPE_NORMAL + + ; party + db 16, ZUBAT + db 17, GRIMER + db 18, RATTATA + + db $ff ; end + +; ================ + + ; GRUNTM (22) + db "EXECUTIVE@" + db TRAINERTYPE_NORMAL + + ; party + db 36, GOLBAT + + db $ff ; end + +; ================ + + ; GRUNTM (23) + db "EXECUTIVE@" + db TRAINERTYPE_NORMAL + + ; party + db 30, KOFFING + + db $ff ; end + +; ================ + + ; GRUNTM (24) + db "GRUNT@" + db TRAINERTYPE_NORMAL + + ; party + db 25, KOFFING + db 25, KOFFING + + db $ff ; end + +; ================ + + ; GRUNTM (25) + db "GRUNT@" + db TRAINERTYPE_NORMAL + + ; party + db 24, KOFFING + db 24, MUK + + db $ff ; end + +; ================ + + ; GRUNTM (26) + db "GRUNT@" + db TRAINERTYPE_NORMAL + + ; party + db 15, RATTATA + db 15, RATTATA + + db $ff ; end + +; ================ + + ; GRUNTM (27) + db "EXECUTIVE@" + db TRAINERTYPE_NORMAL + + ; party + db 22, ZUBAT + + db $ff ; end + +; ================ + + ; GRUNTM (28) + db "GRUNT@" + db TRAINERTYPE_NORMAL + + ; party + db 19, RATICATE + + db $ff ; end + +; ================ + + ; GRUNTM (29) + db "GRUNT@" + db TRAINERTYPE_NORMAL + + ; party + db 9, RATTATA + db 9, RATTATA + + db $ff ; end + +; ================ + + ; GRUNTM (30) + db "GRUNT@" + db TRAINERTYPE_NORMAL + + ; party + db 25, GOLBAT + db 25, GOLBAT + db 30, ARBOK + + db $ff ; end + +; ================ + + ; GRUNTM (31) + db "GRUNT@" + db TRAINERTYPE_NORMAL + + ; party + db 30, GOLBAT + + db $ff ; end + +; ================ +; ================================ + + +GentlemanGroup: +; ================================ +; ================ + + ; GENTLEMAN (1) + db "PRESTON@" + db TRAINERTYPE_NORMAL + + ; party + db 18, GROWLITHE + db 18, GROWLITHE + + db $ff ; end + +; ================ + + ; GENTLEMAN (2) + db "EDWARD@" + db TRAINERTYPE_NORMAL + + ; party + db 33, PERSIAN + + db $ff ; end + +; ================ + + ; GENTLEMAN (3) + db "GREGORY@" + db TRAINERTYPE_NORMAL + + ; party + db 37, PIKACHU + db 33, FLAAFFY + + db $ff ; end + +; ================ + + ; GENTLEMAN (4) + db "VIRGIL@" + db TRAINERTYPE_NORMAL + + ; party + db 20, PONYTA + + db $ff ; end + +; ================ + + ; GENTLEMAN (5) + db "ALFRED@" + db TRAINERTYPE_NORMAL + + ; party + db 20, NOCTOWL + + db $ff ; end + +; ================ +; ================================ + + +SkierGroup: +; ================================ +; ================ + + ; SKIER (1) + db "ROXANNE@" + db TRAINERTYPE_NORMAL + + ; party + db 28, JYNX + + db $ff ; end + +; ================ + + ; SKIER (2) + db "CLARISSA@" + db TRAINERTYPE_NORMAL + + ; party + db 28, DEWGONG + + db $ff ; end + +; ================ +; ================================ + + +TeacherGroup: +; ================================ +; ================ + + ; TEACHER (1) + db "COLETTE@" + db TRAINERTYPE_NORMAL + + ; party + db 36, CLEFAIRY + + db $ff ; end + +; ================ + + ; TEACHER (2) + db "HILLARY@" + db TRAINERTYPE_NORMAL + + ; party + db 32, AIPOM + db 36, CUBONE + + db $ff ; end + +; ================ + + ; TEACHER (3) + db "SHIRLEY@" + db TRAINERTYPE_NORMAL + + ; party + db 35, JIGGLYPUFF + + db $ff ; end + +; ================ +; ================================ + + +SabrinaGroup: +; ================================ +; ================ + + ; SABRINA (1) + db "SABRINA@" + db TRAINERTYPE_MOVES + + ; party + + db 46, ESPEON + db SAND_ATTACK + db QUICK_ATTACK + db SWIFT + db PSYCHIC_M + + db 46, MR__MIME + db BARRIER + db REFLECT + db BATON_PASS + db PSYCHIC_M + + db 48, ALAKAZAM + db RECOVER + db FUTURE_SIGHT + db PSYCHIC_M + db REFLECT + + db $ff ; end + +; ================ +; ================================ + + +BugCatcherGroup: +; ================================ +; ================ + + ; BUG_CATCHER (1) + db "DON@" + db TRAINERTYPE_NORMAL + + ; party + db 3, CATERPIE + db 3, CATERPIE + + db $ff ; end + +; ================ + + ; BUG_CATCHER (2) + db "ROB@" + db TRAINERTYPE_NORMAL + + ; party + db 32, BEEDRILL + db 32, BUTTERFREE + + db $ff ; end + +; ================ + + ; BUG_CATCHER (3) + db "ED@" + db TRAINERTYPE_NORMAL + + ; party + db 30, BEEDRILL + db 30, BEEDRILL + db 30, BEEDRILL + + db $ff ; end + +; ================ + + ; BUG_CATCHER (4) + db "WADE@" + db TRAINERTYPE_NORMAL + + ; party + db 2, CATERPIE + db 2, CATERPIE + db 3, WEEDLE + db 2, CATERPIE + + db $ff ; end + +; ================ + + ; BUG_CATCHER (5) + db "BENNY@" + db TRAINERTYPE_NORMAL + + ; party + db 7, WEEDLE + db 9, KAKUNA + db 12, BEEDRILL + + db $ff ; end + +; ================ + + ; BUG_CATCHER (6) + db "AL@" + db TRAINERTYPE_NORMAL + + ; party + db 12, CATERPIE + db 12, WEEDLE + + db $ff ; end + +; ================ + + ; BUG_CATCHER (7) + db "JOSH@" + db TRAINERTYPE_NORMAL + + ; party + db 13, PARAS + + db $ff ; end + +; ================ + + ; BUG_CATCHER (8) + db "ARNIE@" + db TRAINERTYPE_NORMAL + + ; party + db 15, VENONAT + + db $ff ; end + +; ================ + + ; BUG_CATCHER (9) + db "KEN@" + db TRAINERTYPE_NORMAL + + ; party + db 30, ARIADOS + db 32, PINSIR + + db $ff ; end + +; ================ + + ; BUG_CATCHER (10) + db "WADE@" + db TRAINERTYPE_NORMAL + + ; party + db 9, METAPOD + db 9, METAPOD + db 10, KAKUNA + db 9, METAPOD + + db $ff ; end + +; ================ + + ; BUG_CATCHER (11) + db "WADE@" + db TRAINERTYPE_NORMAL + + ; party + db 14, BUTTERFREE + db 14, BUTTERFREE + db 15, BEEDRILL + db 14, BUTTERFREE + + db $ff ; end + +; ================ + + ; BUG_CATCHER (12) + db "DOUG@" + db TRAINERTYPE_NORMAL + + ; party + db 34, ARIADOS + + db $ff ; end + +; ================ + + ; BUG_CATCHER (13) + db "ARNIE@" + db TRAINERTYPE_NORMAL + + ; party + db 19, VENONAT + + db $ff ; end + +; ================ + + ; BUG_CATCHER (14) + db "ARNIE@" + db TRAINERTYPE_MOVES + + ; party + + db 28, VENOMOTH + db DISABLE + db SUPERSONIC + db CONFUSION + db LEECH_LIFE + + db $ff ; end + +; ================ + + ; BUG_CATCHER (15) + db "WADE@" + db TRAINERTYPE_MOVES + + ; party + + db 24, BUTTERFREE + db CONFUSION + db POISONPOWDER + db SUPERSONIC + db WHIRLWIND + + db 24, BUTTERFREE + db CONFUSION + db STUN_SPORE + db SUPERSONIC + db WHIRLWIND + + db 25, BEEDRILL + db FURY_ATTACK + db FOCUS_ENERGY + db TWINEEDLE + db RAGE + + db 24, BUTTERFREE + db CONFUSION + db SLEEP_POWDER + db SUPERSONIC + db WHIRLWIND + + db $ff ; end + +; ================ + + ; BUG_CATCHER (16) + db "WADE@" + db TRAINERTYPE_MOVES + + ; party + + db 30, BUTTERFREE + db CONFUSION + db POISONPOWDER + db SUPERSONIC + db GUST + + db 30, BUTTERFREE + db CONFUSION + db STUN_SPORE + db SUPERSONIC + db GUST + + db 32, BEEDRILL + db FURY_ATTACK + db PURSUIT + db TWINEEDLE + db DOUBLE_TEAM + + db 34, BUTTERFREE + db PSYBEAM + db SLEEP_POWDER + db GUST + db WHIRLWIND + + db $ff ; end + +; ================ + + ; BUG_CATCHER (17) + db "ARNIE@" + db TRAINERTYPE_MOVES + + ; party + + db 36, VENOMOTH + db GUST + db SUPERSONIC + db PSYBEAM + db LEECH_LIFE + + db $ff ; end + +; ================ + + ; BUG_CATCHER (18) + db "ARNIE@" + db TRAINERTYPE_MOVES + + ; party + + db 40, VENOMOTH + db GUST + db SUPERSONIC + db PSYCHIC_M + db TOXIC + + db $ff ; end + +; ================ + + ; BUG_CATCHER (19) + db "WAYNE@" + db TRAINERTYPE_NORMAL + + ; party + db 8, LEDYBA + db 10, PARAS + + db $ff ; end + +; ================ +; ================================ + + +FisherGroup: +; ================================ +; ================ + + ; FISHER (1) + db "JUSTIN@" + db TRAINERTYPE_NORMAL + + ; party + db 5, MAGIKARP + db 5, MAGIKARP + db 15, MAGIKARP + db 5, MAGIKARP + + db $ff ; end + +; ================ + + ; FISHER (2) + db "RALPH@" + db TRAINERTYPE_NORMAL + + ; party + db 10, GOLDEEN + + db $ff ; end + +; ================ + + ; FISHER (3) + db "ARNOLD@" + db TRAINERTYPE_NORMAL + + ; party + db 34, TENTACRUEL + + db $ff ; end + +; ================ + + ; FISHER (4) + db "KYLE@" + db TRAINERTYPE_NORMAL + + ; party + db 28, SEAKING + db 31, POLIWHIRL + db 31, SEAKING + + db $ff ; end + +; ================ + + ; FISHER (5) + db "HENRY@" + db TRAINERTYPE_NORMAL + + ; party + db 8, POLIWAG + db 8, POLIWAG + + db $ff ; end + +; ================ + + ; FISHER (6) + db "MARVIN@" + db TRAINERTYPE_NORMAL + + ; party + db 10, MAGIKARP + db 10, GYARADOS + db 15, MAGIKARP + db 15, GYARADOS + + db $ff ; end + +; ================ + + ; FISHER (7) + db "TULLY@" + db TRAINERTYPE_NORMAL + + ; party + db 18, QWILFISH + + db $ff ; end + +; ================ + + ; FISHER (8) + db "ANDRE@" + db TRAINERTYPE_NORMAL + + ; party + db 27, GYARADOS + + db $ff ; end + +; ================ + + ; FISHER (9) + db "RAYMOND@" + db TRAINERTYPE_NORMAL + + ; party + db 22, MAGIKARP + db 22, MAGIKARP + db 22, MAGIKARP + db 22, MAGIKARP + + db $ff ; end + +; ================ + + ; FISHER (10) + db "WILTON@" + db TRAINERTYPE_NORMAL + + ; party + db 23, GOLDEEN + db 23, GOLDEEN + db 25, SEAKING + + db $ff ; end + +; ================ + + ; FISHER (11) + db "EDGAR@" + db TRAINERTYPE_MOVES + + ; party + + db 25, REMORAID + db LOCK_ON + db PSYBEAM + db AURORA_BEAM + db BUBBLEBEAM + + db 25, REMORAID + db LOCK_ON + db PSYBEAM + db AURORA_BEAM + db BUBBLEBEAM + + db $ff ; end + +; ================ + + ; FISHER (12) + db "JONAH@" + db TRAINERTYPE_NORMAL + + ; party + db 25, SHELLDER + db 29, OCTILLERY + db 25, REMORAID + db 29, CLOYSTER + + db $ff ; end + +; ================ + + ; FISHER (13) + db "MARTIN@" + db TRAINERTYPE_NORMAL + + ; party + db 32, REMORAID + db 32, REMORAID + + db $ff ; end + +; ================ + + ; FISHER (14) + db "STEPHEN@" + db TRAINERTYPE_NORMAL + + ; party + db 25, MAGIKARP + db 25, MAGIKARP + db 31, QWILFISH + db 31, TENTACRUEL + + db $ff ; end + +; ================ + + ; FISHER (15) + db "BARNEY@" + db TRAINERTYPE_NORMAL + + ; party + db 30, GYARADOS + db 30, GYARADOS + db 30, GYARADOS + + db $ff ; end + +; ================ + + ; FISHER (16) + db "RALPH@" + db TRAINERTYPE_NORMAL + + ; party + db 17, GOLDEEN + + db $ff ; end + +; ================ + + ; FISHER (17) + db "RALPH@" + db TRAINERTYPE_NORMAL + + ; party + db 17, QWILFISH + db 19, GOLDEEN + + db $ff ; end + +; ================ + + ; FISHER (18) + db "TULLY@" + db TRAINERTYPE_NORMAL + + ; party + db 23, QWILFISH + + db $ff ; end + +; ================ + + ; FISHER (19) + db "TULLY@" + db TRAINERTYPE_NORMAL + + ; party + db 32, GOLDEEN + db 32, GOLDEEN + db 32, QWILFISH + + db $ff ; end + +; ================ + + ; FISHER (20) + db "WILTON@" + db TRAINERTYPE_NORMAL + + ; party + db 29, GOLDEEN + db 29, GOLDEEN + db 32, SEAKING + + db $ff ; end + +; ================ + + ; FISHER (21) + db "SCOTT@" + db TRAINERTYPE_NORMAL + + ; party + db 30, QWILFISH + db 30, QWILFISH + db 34, SEAKING + + db $ff ; end + +; ================ + + ; FISHER (22) + db "WILTON@" + db TRAINERTYPE_MOVES + + ; party + + db 34, SEAKING + db SUPERSONIC + db WATERFALL + db FLAIL + db FURY_ATTACK + + db 34, SEAKING + db SUPERSONIC + db WATERFALL + db FLAIL + db FURY_ATTACK + + db 38, REMORAID + db PSYBEAM + db AURORA_BEAM + db BUBBLEBEAM + db HYPER_BEAM + + db $ff ; end + +; ================ + + ; FISHER (23) + db "RALPH@" + db TRAINERTYPE_NORMAL + + ; party + db 30, QWILFISH + db 32, GOLDEEN + + db $ff ; end + +; ================ + + ; FISHER (24) + db "RALPH@" + db TRAINERTYPE_MOVES + + ; party + + db 35, QWILFISH + db TOXIC + db MINIMIZE + db SURF + db PIN_MISSILE + + db 39, SEAKING + db ENDURE + db FLAIL + db FURY_ATTACK + db WATERFALL + + db $ff ; end + +; ================ + + ; FISHER (25) + db "TULLY@" + db TRAINERTYPE_MOVES + + ; party + + db 34, SEAKING + db SUPERSONIC + db RAIN_DANCE + db WATERFALL + db FURY_ATTACK + + db 34, SEAKING + db SUPERSONIC + db RAIN_DANCE + db WATERFALL + db FURY_ATTACK + + db 37, QWILFISH + db ROLLOUT + db SURF + db PIN_MISSILE + db TAKE_DOWN + + db $ff ; end + +; ================ +; ================================ + + +SwimmerMGroup: +; ================================ +; ================ + + ; SWIMMERM (1) + db "HAROLD@" + db TRAINERTYPE_NORMAL + + ; party + db 32, REMORAID + db 30, SEADRA + + db $ff ; end + +; ================ + + ; SWIMMERM (2) + db "SIMON@" + db TRAINERTYPE_NORMAL + + ; party + db 20, TENTACOOL + db 20, TENTACOOL + + db $ff ; end + +; ================ + + ; SWIMMERM (3) + db "RANDALL@" + db TRAINERTYPE_NORMAL + + ; party + db 18, SHELLDER + db 20, WARTORTLE + db 18, SHELLDER + + db $ff ; end + +; ================ + + ; SWIMMERM (4) + db "CHARLIE@" + db TRAINERTYPE_NORMAL + + ; party + db 21, SHELLDER + db 19, TENTACOOL + db 19, TENTACRUEL + + db $ff ; end + +; ================ + + ; SWIMMERM (5) + db "GEORGE@" + db TRAINERTYPE_NORMAL + + ; party + db 16, TENTACOOL + db 17, TENTACOOL + db 16, TENTACOOL + db 19, STARYU + db 17, TENTACOOL + db 19, REMORAID + + db $ff ; end + +; ================ + + ; SWIMMERM (6) + db "BERKE@" + db TRAINERTYPE_NORMAL + + ; party + db 23, QWILFISH + + db $ff ; end + +; ================ + + ; SWIMMERM (7) + db "KIRK@" + db TRAINERTYPE_NORMAL + + ; party + db 20, GYARADOS + db 20, GYARADOS + + db $ff ; end + +; ================ + + ; SWIMMERM (8) + db "MATHEW@" + db TRAINERTYPE_NORMAL + + ; party + db 23, KRABBY + + db $ff ; end + +; ================ + + ; SWIMMERM (9) + db "HAL@" + db TRAINERTYPE_NORMAL + + ; party + db 24, SEEL + db 25, DEWGONG + db 24, SEEL + + db $ff ; end + +; ================ + + ; SWIMMERM (10) + db "PATON@" + db TRAINERTYPE_NORMAL + + ; party + db 26, PILOSWINE + db 26, PILOSWINE + + db $ff ; end + +; ================ + + ; SWIMMERM (11) + db "DARYL@" + db TRAINERTYPE_NORMAL + + ; party + db 24, SHELLDER + db 25, CLOYSTER + db 24, SHELLDER + + db $ff ; end + +; ================ + + ; SWIMMERM (12) + db "WALTER@" + db TRAINERTYPE_NORMAL + + ; party + db 15, HORSEA + db 15, HORSEA + db 20, SEADRA + + db $ff ; end + +; ================ + + ; SWIMMERM (13) + db "TONY@" + db TRAINERTYPE_NORMAL + + ; party + db 13, STARYU + db 18, STARMIE + db 16, HORSEA + + db $ff ; end + +; ================ + + ; SWIMMERM (14) + db "JEROME@" + db TRAINERTYPE_NORMAL + + ; party + db 26, SEADRA + db 28, TENTACOOL + db 30, TENTACRUEL + db 28, GOLDEEN + + db $ff ; end + +; ================ + + ; SWIMMERM (15) + db "TUCKER@" + db TRAINERTYPE_NORMAL + + ; party + db 30, SHELLDER + db 34, CLOYSTER + + db $ff ; end + +; ================ + + ; SWIMMERM (16) + db "RICK@" + db TRAINERTYPE_NORMAL + + ; party + db 13, STARYU + db 18, STARMIE + db 16, HORSEA + + db $ff ; end + +; ================ + + ; SWIMMERM (17) + db "CAMERON@" + db TRAINERTYPE_NORMAL + + ; party + db 34, MARILL + + db $ff ; end + +; ================ + + ; SWIMMERM (18) + db "SETH@" + db TRAINERTYPE_NORMAL + + ; party + db 29, QUAGSIRE + db 29, OCTILLERY + db 32, QUAGSIRE + + db $ff ; end + +; ================ + + ; SWIMMERM (19) + db "JAMES@" + db TRAINERTYPE_NORMAL + + ; party + db 13, STARYU + db 18, STARMIE + db 16, HORSEA + + db $ff ; end + +; ================ + + ; SWIMMERM (20) + db "LEWIS@" + db TRAINERTYPE_NORMAL + + ; party + db 13, STARYU + db 18, STARMIE + db 16, HORSEA + + db $ff ; end + +; ================ + + ; SWIMMERM (21) + db "PARKER@" + db TRAINERTYPE_NORMAL + + ; party + db 32, HORSEA + db 32, HORSEA + db 35, SEADRA + + db $ff ; end + +; ================ +; ================================ + + +SwimmerFGroup: +; ================================ +; ================ + + ; SWIMMERF (1) + db "ELAINE@" + db TRAINERTYPE_NORMAL + + ; party + db 21, STARYU + + db $ff ; end + +; ================ + + ; SWIMMERF (2) + db "PAULA@" + db TRAINERTYPE_NORMAL + + ; party + db 19, STARYU + db 19, SHELLDER + + db $ff ; end + +; ================ + + ; SWIMMERF (3) + db "KAYLEE@" + db TRAINERTYPE_NORMAL + + ; party + db 18, GOLDEEN + db 20, GOLDEEN + db 20, SEAKING + + db $ff ; end + +; ================ + + ; SWIMMERF (4) + db "SUSIE@" + db TRAINERTYPE_MOVES + + ; party + + db 20, PSYDUCK + db SCRATCH + db TAIL_WHIP + db DISABLE + db CONFUSION + + db 22, GOLDEEN + db PECK + db TAIL_WHIP + db SUPERSONIC + db HORN_ATTACK + + db $ff ; end + +; ================ + + ; SWIMMERF (5) + db "DENISE@" + db TRAINERTYPE_NORMAL + + ; party + db 22, SEEL + + db $ff ; end + +; ================ + + ; SWIMMERF (6) + db "KARA@" + db TRAINERTYPE_NORMAL + + ; party + db 20, STARYU + db 20, STARMIE + + db $ff ; end + +; ================ + + ; SWIMMERF (7) + db "WENDY@" + db TRAINERTYPE_MOVES + + ; party + + db 21, HORSEA + db BUBBLE + db SMOKESCREEN + db LEER + db WATER_GUN + + db 21, HORSEA + db DRAGON_RAGE + db SMOKESCREEN + db LEER + db WATER_GUN + + db $ff ; end + +; ================ + + ; SWIMMERF (8) + db "LISA@" + db TRAINERTYPE_NORMAL + + ; party + db 28, JYNX + + db $ff ; end + +; ================ + + ; SWIMMERF (9) + db "JILL@" + db TRAINERTYPE_NORMAL + + ; party + db 28, DEWGONG + + db $ff ; end + +; ================ + + ; SWIMMERF (10) + db "MARY@" + db TRAINERTYPE_NORMAL + + ; party + db 20, SEAKING + + db $ff ; end + +; ================ + + ; SWIMMERF (11) + db "KATIE@" + db TRAINERTYPE_NORMAL + + ; party + db 33, DEWGONG + + db $ff ; end + +; ================ + + ; SWIMMERF (12) + db "DAWN@" + db TRAINERTYPE_NORMAL + + ; party + db 34, SEAKING + + db $ff ; end + +; ================ + + ; SWIMMERF (13) + db "TARA@" + db TRAINERTYPE_NORMAL + + ; party + db 20, SEAKING + + db $ff ; end + +; ================ + + ; SWIMMERF (14) + db "NICOLE@" + db TRAINERTYPE_NORMAL + + ; party + db 29, MARILL + db 29, MARILL + db 32, LAPRAS + + db $ff ; end + +; ================ + + ; SWIMMERF (15) + db "LORI@" + db TRAINERTYPE_NORMAL + + ; party + db 32, STARMIE + db 32, STARMIE + + db $ff ; end + +; ================ + + ; SWIMMERF (16) + db "JODY@" + db TRAINERTYPE_NORMAL + + ; party + db 20, SEAKING + + db $ff ; end + +; ================ + + ; SWIMMERF (17) + db "NIKKI@" + db TRAINERTYPE_NORMAL + + ; party + db 28, SEEL + db 28, SEEL + db 28, SEEL + db 28, DEWGONG + + db $ff ; end + +; ================ + + ; SWIMMERF (18) + db "DIANA@" + db TRAINERTYPE_NORMAL + + ; party + db 37, GOLDUCK + + db $ff ; end + +; ================ + + ; SWIMMERF (19) + db "BRIANA@" + db TRAINERTYPE_NORMAL + + ; party + db 35, SEAKING + db 35, SEAKING + + db $ff ; end + +; ================ +; ================================ + + +SailorGroup: +; ================================ +; ================ + + ; SAILOR (1) + db "EUGENE@" + db TRAINERTYPE_NORMAL + + ; party + db 17, POLIWHIRL + db 17, RATICATE + db 19, KRABBY + + db $ff ; end + +; ================ + + ; SAILOR (2) + db "HUEY@" + db TRAINERTYPE_NORMAL + + ; party + db 18, POLIWAG + db 18, POLIWHIRL + + db $ff ; end + +; ================ + + ; SAILOR (3) + db "TERRELL@" + db TRAINERTYPE_NORMAL + + ; party + db 20, POLIWHIRL + + db $ff ; end + +; ================ + + ; SAILOR (4) + db "KENT@" + db TRAINERTYPE_MOVES + + ; party + + db 18, KRABBY + db BUBBLE + db LEER + db VICEGRIP + db HARDEN + + db 20, KRABBY + db BUBBLEBEAM + db LEER + db VICEGRIP + db HARDEN + + db $ff ; end + +; ================ + + ; SAILOR (5) + db "ERNEST@" + db TRAINERTYPE_NORMAL + + ; party + db 18, MACHOP + db 18, MACHOP + db 18, POLIWHIRL + + db $ff ; end + +; ================ + + ; SAILOR (6) + db "JEFF@" + db TRAINERTYPE_NORMAL + + ; party + db 32, RATICATE + db 32, RATICATE + + db $ff ; end + +; ================ + + ; SAILOR (7) + db "GARRETT@" + db TRAINERTYPE_NORMAL + + ; party + db 34, KINGLER + + db $ff ; end + +; ================ + + ; SAILOR (8) + db "KENNETH@" + db TRAINERTYPE_NORMAL + + ; party + db 28, MACHOP + db 28, MACHOP + db 28, POLIWRATH + db 28, MACHOP + + db $ff ; end + +; ================ + + ; SAILOR (9) + db "STANLY@" + db TRAINERTYPE_NORMAL + + ; party + db 31, MACHOP + db 33, MACHOKE + db 26, PSYDUCK + + db $ff ; end + +; ================ + + ; SAILOR (10) + db "HARRY@" + db TRAINERTYPE_NORMAL + + ; party + db 19, WOOPER + + db $ff ; end + +; ================ + + ; SAILOR (11) + db "HUEY@" + db TRAINERTYPE_NORMAL + + ; party + db 28, POLIWHIRL + db 28, POLIWHIRL + + db $ff ; end + +; ================ + + ; SAILOR (12) + db "HUEY@" + db TRAINERTYPE_NORMAL + + ; party + db 34, POLIWHIRL + db 34, POLIWRATH + + db $ff ; end + +; ================ + + ; SAILOR (13) + db "HUEY@" + db TRAINERTYPE_MOVES + + ; party + + db 38, POLITOED + db WHIRLPOOL + db RAIN_DANCE + db BODY_SLAM + db PERISH_SONG + + db 38, POLIWRATH + db SURF + db STRENGTH + db ICE_PUNCH + db SUBMISSION + + db $ff ; end + +; ================ +; ================================ + + +SuperNerdGroup: +; ================================ +; ================ + + ; SUPER_NERD (1) + db "STAN@" + db TRAINERTYPE_NORMAL + + ; party + db 20, GRIMER + + db $ff ; end + +; ================ + + ; SUPER_NERD (2) + db "ERIC@" + db TRAINERTYPE_NORMAL + + ; party + db 11, GRIMER + db 11, GRIMER + + db $ff ; end + +; ================ + + ; SUPER_NERD (3) + db "GREGG@" + db TRAINERTYPE_NORMAL + + ; party + db 20, MAGNEMITE + db 20, MAGNEMITE + db 20, MAGNEMITE + + db $ff ; end + +; ================ + + ; SUPER_NERD (4) + db "JAY@" + db TRAINERTYPE_NORMAL + + ; party + db 22, KOFFING + db 22, KOFFING + + db $ff ; end + +; ================ + + ; SUPER_NERD (5) + db "DAVE@" + db TRAINERTYPE_NORMAL + + ; party + db 24, DITTO + + db $ff ; end + +; ================ + + ; SUPER_NERD (6) + db "SAM@" + db TRAINERTYPE_NORMAL + + ; party + db 34, GRIMER + db 34, MUK + + db $ff ; end + +; ================ + + ; SUPER_NERD (7) + db "TOM@" + db TRAINERTYPE_NORMAL + + ; party + db 32, MAGNEMITE + db 32, MAGNEMITE + db 32, MAGNEMITE + + db $ff ; end + +; ================ + + ; SUPER_NERD (8) + db "PAT@" + db TRAINERTYPE_NORMAL + + ; party + db 36, PORYGON + + db $ff ; end + +; ================ + + ; SUPER_NERD (9) + db "SHAWN@" + db TRAINERTYPE_NORMAL + + ; party + db 31, MAGNEMITE + db 33, MUK + db 31, MAGNEMITE + + db $ff ; end + +; ================ + + ; SUPER_NERD (10) + db "TERU@" + db TRAINERTYPE_NORMAL + + ; party + db 7, MAGNEMITE + db 11, VOLTORB + db 7, MAGNEMITE + db 9, MAGNEMITE + + db $ff ; end + +; ================ + + ; SUPER_NERD (11) + db "RUSS@" + db TRAINERTYPE_NORMAL + + ; party + db 27, MAGNEMITE + db 27, MAGNEMITE + db 27, MAGNEMITE + + db $ff ; end + +; ================ + + ; SUPER_NERD (12) + db "NORTON@" + db TRAINERTYPE_MOVES + + ; party + + db 30, PORYGON + db CONVERSION + db CONVERSION2 + db RECOVER + db TRI_ATTACK + + db $ff ; end + +; ================ + + ; SUPER_NERD (13) + db "HUGH@" + db TRAINERTYPE_MOVES + + ; party + + db 39, SEADRA + db SMOKESCREEN + db TWISTER + db SURF + db WATERFALL + + db $ff ; end + +; ================ + + ; SUPER_NERD (14) + db "MARKUS@" + db TRAINERTYPE_MOVES + + ; party + + db 19, SLOWPOKE + db CURSE + db WATER_GUN + db GROWL + db STRENGTH + + db $ff ; end + +; ================ +; ================================ + + +Rival2Group: +; ================================ +; ================ + + ; RIVAL2 (1) + db "?@" + db TRAINERTYPE_MOVES + + ; party + + db 41, SNEASEL + db QUICK_ATTACK + db SCREECH + db FAINT_ATTACK + db FURY_CUTTER + + db 42, GOLBAT + db LEECH_LIFE + db BITE + db CONFUSE_RAY + db WING_ATTACK + + db 41, MAGNETON + db THUNDERSHOCK + db SONICBOOM + db THUNDER_WAVE + db SWIFT + + db 43, GENGAR + db MEAN_LOOK + db CURSE + db SHADOW_BALL + db CONFUSE_RAY + + db 43, ALAKAZAM + db DISABLE + db RECOVER + db FUTURE_SIGHT + db PSYCHIC_M + + db 45, MEGANIUM + db RAZOR_LEAF + db POISONPOWDER + db BODY_SLAM + db LIGHT_SCREEN + + db $ff ; end + +; ================ + + ; RIVAL2 (2) + db "?@" + db TRAINERTYPE_MOVES + + ; party + + db 41, SNEASEL + db QUICK_ATTACK + db SCREECH + db FAINT_ATTACK + db FURY_CUTTER + + db 42, GOLBAT + db LEECH_LIFE + db BITE + db CONFUSE_RAY + db WING_ATTACK + + db 41, MAGNETON + db THUNDERSHOCK + db SONICBOOM + db THUNDER_WAVE + db SWIFT + + db 43, GENGAR + db MEAN_LOOK + db CURSE + db SHADOW_BALL + db CONFUSE_RAY + + db 43, ALAKAZAM + db DISABLE + db RECOVER + db FUTURE_SIGHT + db PSYCHIC_M + + db 45, TYPHLOSION + db SMOKESCREEN + db QUICK_ATTACK + db FLAME_WHEEL + db SWIFT + + db $ff ; end + +; ================ + + ; RIVAL2 (3) + db "?@" + db TRAINERTYPE_MOVES + + ; party + + db 41, SNEASEL + db QUICK_ATTACK + db SCREECH + db FAINT_ATTACK + db FURY_CUTTER + + db 42, GOLBAT + db LEECH_LIFE + db BITE + db CONFUSE_RAY + db WING_ATTACK + + db 41, MAGNETON + db THUNDERSHOCK + db SONICBOOM + db THUNDER_WAVE + db SWIFT + + db 43, GENGAR + db MEAN_LOOK + db CURSE + db SHADOW_BALL + db CONFUSE_RAY + + db 43, ALAKAZAM + db DISABLE + db RECOVER + db FUTURE_SIGHT + db PSYCHIC_M + + db 45, FERALIGATR + db RAGE + db WATER_GUN + db SCARY_FACE + db SLASH + + db $ff ; end + +; ================ + + ; RIVAL2 (4) + db "?@" + db TRAINERTYPE_MOVES + + ; party + + db 45, SNEASEL + db QUICK_ATTACK + db SCREECH + db FAINT_ATTACK + db FURY_CUTTER + + db 48, CROBAT + db TOXIC + db BITE + db CONFUSE_RAY + db WING_ATTACK + + db 45, MAGNETON + db THUNDER + db SONICBOOM + db THUNDER_WAVE + db SWIFT + + db 46, GENGAR + db MEAN_LOOK + db CURSE + db SHADOW_BALL + db CONFUSE_RAY + + db 46, ALAKAZAM + db RECOVER + db FUTURE_SIGHT + db PSYCHIC_M + db REFLECT + + db 50, MEGANIUM + db GIGA_DRAIN + db BODY_SLAM + db LIGHT_SCREEN + db SAFEGUARD + + db $ff ; end + +; ================ + + ; RIVAL2 (5) + db "?@" + db TRAINERTYPE_MOVES + + ; party + + db 45, SNEASEL + db QUICK_ATTACK + db SCREECH + db FAINT_ATTACK + db FURY_CUTTER + + db 48, CROBAT + db TOXIC + db BITE + db CONFUSE_RAY + db WING_ATTACK + + db 45, MAGNETON + db THUNDER + db SONICBOOM + db THUNDER_WAVE + db SWIFT + + db 46, GENGAR + db MEAN_LOOK + db CURSE + db SHADOW_BALL + db CONFUSE_RAY + + db 46, ALAKAZAM + db RECOVER + db FUTURE_SIGHT + db PSYCHIC_M + db REFLECT + + db 50, TYPHLOSION + db SMOKESCREEN + db QUICK_ATTACK + db FIRE_BLAST + db SWIFT + + db $ff ; end + +; ================ + + ; RIVAL2 (6) + db "?@" + db TRAINERTYPE_MOVES + + ; party + + db 45, SNEASEL + db QUICK_ATTACK + db SCREECH + db FAINT_ATTACK + db FURY_CUTTER + + db 48, CROBAT + db TOXIC + db BITE + db CONFUSE_RAY + db WING_ATTACK + + db 45, MAGNETON + db THUNDER + db SONICBOOM + db THUNDER_WAVE + db SWIFT + + db 46, GENGAR + db MEAN_LOOK + db CURSE + db SHADOW_BALL + db CONFUSE_RAY + + db 46, ALAKAZAM + db RECOVER + db FUTURE_SIGHT + db PSYCHIC_M + db REFLECT + + db 50, FERALIGATR + db SURF + db RAIN_DANCE + db SLASH + db SCREECH + + db $ff ; end + +; ================ +; ================================ + + +GuitaristGroup: +; ================================ +; ================ + + ; GUITARIST (1) + db "CLYDE@" + db TRAINERTYPE_NORMAL + + ; party + db 34, ELECTABUZZ + + db $ff ; end + +; ================ + + ; GUITARIST (2) + db "VINCENT@" + db TRAINERTYPE_NORMAL + + ; party + db 27, MAGNEMITE + db 33, VOLTORB + db 32, MAGNEMITE + db 32, MAGNEMITE + + db $ff ; end + +; ================ +; ================================ + + +HikerGroup: +; ================================ +; ================ + + ; HIKER (1) + db "ANTHONY@" + db TRAINERTYPE_NORMAL + + ; party + db 16, GEODUDE + db 18, MACHAMP + + db $ff ; end + +; ================ + + ; HIKER (2) + db "RUSSELL@" + db TRAINERTYPE_NORMAL + + ; party + db 4, GEODUDE + db 6, GEODUDE + db 8, GEODUDE + + db $ff ; end + +; ================ + + ; HIKER (3) + db "PHILLIP@" + db TRAINERTYPE_NORMAL + + ; party + db 23, GEODUDE + db 23, GEODUDE + db 23, GRAVELER + + db $ff ; end + +; ================ + + ; HIKER (4) + db "LEONARD@" + db TRAINERTYPE_NORMAL + + ; party + db 23, GEODUDE + db 25, MACHOP + + db $ff ; end + +; ================ + + ; HIKER (5) + db "ANTHONY@" + db TRAINERTYPE_NORMAL + + ; party + db 11, GEODUDE + db 11, MACHOP + + db $ff ; end + +; ================ + + ; HIKER (6) + db "BENJAMIN@" + db TRAINERTYPE_NORMAL + + ; party + db 14, DIGLETT + db 14, GEODUDE + db 16, DUGTRIO + + db $ff ; end + +; ================ + + ; HIKER (7) + db "ERIK@" + db TRAINERTYPE_NORMAL + + ; party + db 24, MACHOP + db 27, GRAVELER + db 27, MACHOP + + db $ff ; end + +; ================ + + ; HIKER (8) + db "MICHAEL@" + db TRAINERTYPE_NORMAL + + ; party + db 25, GEODUDE + db 25, GRAVELER + db 25, GOLEM + + db $ff ; end + +; ================ + + ; HIKER (9) + db "PARRY@" + db TRAINERTYPE_NORMAL + + ; party + db 35, ONIX + db 33, SWINUB + + db $ff ; end + +; ================ + + ; HIKER (10) + db "TIMOTHY@" + db TRAINERTYPE_MOVES + + ; party + + db 27, DIGLETT + db MAGNITUDE + db DIG + db SAND_ATTACK + db SLASH + + db 27, DUGTRIO + db MAGNITUDE + db DIG + db SAND_ATTACK + db SLASH + + db $ff ; end + +; ================ + + ; HIKER (11) + db "BAILEY@" + db TRAINERTYPE_NORMAL + + ; party + db 13, GEODUDE + db 13, GEODUDE + db 13, GEODUDE + db 13, GEODUDE + db 13, GEODUDE + + db $ff ; end + +; ================ + + ; HIKER (12) + db "ANTHONY@" + db TRAINERTYPE_NORMAL + + ; party + db 25, GRAVELER + db 27, GRAVELER + db 29, MACHOKE + + db $ff ; end + +; ================ + + ; HIKER (13) + db "TIM@" + db TRAINERTYPE_NORMAL + + ; party + db 31, GRAVELER + db 31, GRAVELER + db 31, GRAVELER + + db $ff ; end + +; ================ + + ; HIKER (14) + db "NOLAND@" + db TRAINERTYPE_NORMAL + + ; party + db 31, SANDSLASH + db 33, GOLEM + + db $ff ; end + +; ================ + + ; HIKER (15) + db "SIDNEY@" + db TRAINERTYPE_NORMAL + + ; party + db 34, DUGTRIO + db 32, ONIX + + db $ff ; end + +; ================ + + ; HIKER (16) + db "KENNY@" + db TRAINERTYPE_NORMAL + + ; party + db 27, SANDSLASH + db 29, GRAVELER + db 31, GOLEM + db 29, GRAVELER + + db $ff ; end + +; ================ + + ; HIKER (17) + db "JIM@" + db TRAINERTYPE_NORMAL + + ; party + db 35, MACHAMP + + db $ff ; end + +; ================ + + ; HIKER (18) + db "DANIEL@" + db TRAINERTYPE_NORMAL + + ; party + db 11, ONIX + + db $ff ; end + +; ================ + + ; HIKER (19) + db "PARRY@" + db TRAINERTYPE_MOVES + + ; party + + db 35, PILOSWINE + db EARTHQUAKE + db BLIZZARD + db REST + db TAKE_DOWN + + db 35, DUGTRIO + db MAGNITUDE + db DIG + db MUD_SLAP + db SLASH + + db 38, STEELIX + db DIG + db IRON_TAIL + db SANDSTORM + db SLAM + + db $ff ; end + +; ================ + + ; HIKER (20) + db "PARRY@" + db TRAINERTYPE_NORMAL + + ; party + db 29, ONIX + + db $ff ; end + +; ================ + + ; HIKER (21) + db "ANTHONY@" + db TRAINERTYPE_NORMAL + + ; party + db 30, GRAVELER + db 30, GRAVELER + db 32, MACHOKE + + db $ff ; end + +; ================ + + ; HIKER (22) + db "ANTHONY@" + db TRAINERTYPE_MOVES + + ; party + + db 34, GRAVELER + db MAGNITUDE + db SELFDESTRUCT + db DEFENSE_CURL + db ROLLOUT + + db 36, GOLEM + db MAGNITUDE + db SELFDESTRUCT + db DEFENSE_CURL + db ROLLOUT + + db 34, MACHOKE + db KARATE_CHOP + db VITAL_THROW + db HEADBUTT + db DIG + + db $ff ; end + +; ================ +; ================================ + + +BikerGroup: +; ================================ +; ================ + + ; BIKER (1) + db "BENNY@" + db TRAINERTYPE_NORMAL + + ; party + db 20, KOFFING + db 20, KOFFING + db 20, KOFFING + + db $ff ; end + +; ================ + + ; BIKER (2) + db "KAZU@" + db TRAINERTYPE_NORMAL + + ; party + db 20, KOFFING + db 20, KOFFING + db 20, KOFFING + + db $ff ; end + +; ================ + + ; BIKER (3) + db "DWAYNE@" + db TRAINERTYPE_NORMAL + + ; party + db 27, KOFFING + db 28, KOFFING + db 29, KOFFING + db 30, KOFFING + + db $ff ; end + +; ================ + + ; BIKER (4) + db "HARRIS@" + db TRAINERTYPE_NORMAL + + ; party + db 34, FLAREON + + db $ff ; end + +; ================ + + ; BIKER (5) + db "ZEKE@" + db TRAINERTYPE_NORMAL + + ; party + db 32, KOFFING + db 32, KOFFING + + db $ff ; end + +; ================ + + ; BIKER (6) + db "CHARLES@" + db TRAINERTYPE_NORMAL + + ; party + db 30, KOFFING + db 30, CHARMELEON + db 30, WEEZING + + db $ff ; end + +; ================ + + ; BIKER (7) + db "RILEY@" + db TRAINERTYPE_NORMAL + + ; party + db 34, WEEZING + + db $ff ; end + +; ================ + + ; BIKER (8) + db "JOEL@" + db TRAINERTYPE_NORMAL + + ; party + db 32, MAGMAR + db 32, MAGMAR + + db $ff ; end + +; ================ + + ; BIKER (9) + db "GLENN@" + db TRAINERTYPE_NORMAL + + ; party + db 28, KOFFING + db 30, MAGMAR + db 32, WEEZING + + db $ff ; end + +; ================ +; ================================ + + +BlaineGroup: +; ================================ +; ================ + + ; BLAINE (1) + db "BLAINE@" + db TRAINERTYPE_MOVES + + ; party + + db 45, MAGCARGO + db CURSE + db SMOG + db FLAMETHROWER + db ROCK_SLIDE + + db 45, MAGMAR + db THUNDERPUNCH + db FIRE_PUNCH + db SUNNY_DAY + db CONFUSE_RAY + + db 50, RAPIDASH + db QUICK_ATTACK + db FIRE_SPIN + db FURY_ATTACK + db FIRE_BLAST + + db $ff ; end + +; ================ +; ================================ + + +BurglarGroup: +; ================================ +; ================ + + ; BURGLAR (1) + db "DUNCAN@" + db TRAINERTYPE_NORMAL + + ; party + db 23, KOFFING + db 25, MAGMAR + db 23, KOFFING + + db $ff ; end + +; ================ + + ; BURGLAR (2) + db "EDDIE@" + db TRAINERTYPE_MOVES + + ; party + + db 26, GROWLITHE + db ROAR + db EMBER + db LEER + db TAKE_DOWN + + db 24, KOFFING + db TACKLE + db SMOG + db SLUDGE + db SMOKESCREEN + + db $ff ; end + +; ================ + + ; BURGLAR (3) + db "COREY@" + db TRAINERTYPE_NORMAL + + ; party + db 25, KOFFING + db 28, MAGMAR + db 25, KOFFING + db 30, KOFFING + + db $ff ; end + +; ================ +; ================================ + + +FirebreatherGroup: +; ================================ +; ================ + + ; FIREBREATHER (1) + db "OTIS@" + db TRAINERTYPE_NORMAL + + ; party + db 29, MAGMAR + db 32, WEEZING + db 29, MAGMAR + + db $ff ; end + +; ================ + + ; FIREBREATHER (2) + db "DICK@" + db TRAINERTYPE_NORMAL + + ; party + db 17, CHARMELEON + + db $ff ; end + +; ================ + + ; FIREBREATHER (3) + db "NED@" + db TRAINERTYPE_NORMAL + + ; party + db 15, KOFFING + db 16, GROWLITHE + db 15, KOFFING + + db $ff ; end + +; ================ + + ; FIREBREATHER (4) + db "BURT@" + db TRAINERTYPE_NORMAL + + ; party + db 32, KOFFING + db 32, SLUGMA + + db $ff ; end + +; ================ + + ; FIREBREATHER (5) + db "BILL@" + db TRAINERTYPE_NORMAL + + ; party + db 6, KOFFING + db 6, KOFFING + + db $ff ; end + +; ================ + + ; FIREBREATHER (6) + db "WALT@" + db TRAINERTYPE_NORMAL + + ; party + db 11, MAGMAR + db 13, MAGMAR + + db $ff ; end + +; ================ + + ; FIREBREATHER (7) + db "RAY@" + db TRAINERTYPE_NORMAL + + ; party + db 9, VULPIX + + db $ff ; end + +; ================ + + ; FIREBREATHER (8) + db "LYLE@" + db TRAINERTYPE_NORMAL + + ; party + db 28, KOFFING + db 31, FLAREON + db 28, KOFFING + + db $ff ; end + +; ================ +; ================================ + + +JugglerGroup: +; ================================ +; ================ + + ; JUGGLER (1) + db "IRWIN@" + db TRAINERTYPE_NORMAL + + ; party + db 2, VOLTORB + db 6, VOLTORB + db 10, VOLTORB + db 14, VOLTORB + + db $ff ; end + +; ================ + + ; JUGGLER (2) + db "FRITZ@" + db TRAINERTYPE_NORMAL + + ; party + db 29, MR__MIME + db 29, MAGMAR + db 29, MACHOKE + + db $ff ; end + +; ================ + + ; JUGGLER (3) + db "HORTON@" + db TRAINERTYPE_NORMAL + + ; party + db 33, ELECTRODE + db 33, ELECTRODE + db 33, ELECTRODE + db 33, ELECTRODE + + db $ff ; end + +; ================ + + ; JUGGLER (4) + db "IRWIN@" + db TRAINERTYPE_NORMAL + + ; party + db 6, VOLTORB + db 10, VOLTORB + db 14, VOLTORB + db 18, VOLTORB + + db $ff ; end + +; ================ + + ; JUGGLER (5) + db "IRWIN@" + db TRAINERTYPE_NORMAL + + ; party + db 18, VOLTORB + db 22, VOLTORB + db 26, VOLTORB + db 30, ELECTRODE + + db $ff ; end + +; ================ + + ; JUGGLER (6) + db "IRWIN@" + db TRAINERTYPE_NORMAL + + ; party + db 18, VOLTORB + db 22, VOLTORB + db 26, VOLTORB + db 30, ELECTRODE + + db $ff ; end + +; ================ +; ================================ + + +BlackbeltGroup: +; ================================ +; ================ + + ; BLACKBELT_T (1) + db "KENJI@" + db TRAINERTYPE_NORMAL + + ; party + db 27, ONIX + db 30, HITMONLEE + db 27, ONIX + db 32, MACHOKE + + db $ff ; end + +; ================ + + ; BLACKBELT_T (2) + db "YOSHI@" + db TRAINERTYPE_MOVES + + ; party + + db 27, HITMONLEE + db DOUBLE_KICK + db MEDITATE + db JUMP_KICK + db FOCUS_ENERGY + + db $ff ; end + +; ================ + + ; BLACKBELT_T (3) + db "KENJI@" + db TRAINERTYPE_MOVES + + ; party + + db 33, ONIX + db BIND + db ROCK_THROW + db TOXIC + db DIG + + db 38, MACHAMP + db HEADBUTT + db SWAGGER + db THUNDERPUNCH + db VITAL_THROW + + db 33, STEELIX + db EARTHQUAKE + db ROCK_THROW + db IRON_TAIL + db SANDSTORM + + db 36, HITMONLEE + db DOUBLE_TEAM + db HI_JUMP_KICK + db MUD_SLAP + db SWIFT + + db $ff ; end + +; ================ + + ; BLACKBELT_T (4) + db "LAO@" + db TRAINERTYPE_MOVES + + ; party + + db 27, HITMONCHAN + db COMET_PUNCH + db THUNDERPUNCH + db ICE_PUNCH + db FIRE_PUNCH + + db $ff ; end + +; ================ + + ; BLACKBELT_T (5) + db "NOB@" + db TRAINERTYPE_MOVES + + ; party + + db 25, MACHOP + db LEER + db FOCUS_ENERGY + db KARATE_CHOP + db SEISMIC_TOSS + + db 25, MACHOKE + db LEER + db KARATE_CHOP + db SEISMIC_TOSS + db ROCK_SLIDE + + db $ff ; end + +; ================ + + ; BLACKBELT_T (6) + db "KIYO@" + db TRAINERTYPE_NORMAL + + ; party + db 34, HITMONLEE + db 34, HITMONCHAN + + db $ff ; end + +; ================ + + ; BLACKBELT_T (7) + db "LUNG@" + db TRAINERTYPE_NORMAL + + ; party + db 23, MANKEY + db 23, MANKEY + db 25, PRIMEAPE + + db $ff ; end + +; ================ + + ; BLACKBELT_T (8) + db "KENJI@" + db TRAINERTYPE_NORMAL + + ; party + db 28, MACHOKE + + db $ff ; end + +; ================ + + ; BLACKBELT_T (9) + db "WAI@" + db TRAINERTYPE_NORMAL + + ; party + db 30, MACHOKE + db 32, MACHOKE + db 34, MACHOKE + + db $ff ; end + +; ================ +; ================================ + + +ExecutiveMGroup: +; ================================ +; ================ + + ; EXECUTIVEM (1) + db "EXECUTIVE@" + db TRAINERTYPE_MOVES + + ; party + + db 33, HOUNDOUR + db EMBER + db ROAR + db BITE + db FAINT_ATTACK + + db 33, KOFFING + db TACKLE + db SLUDGE + db SMOKESCREEN + db HAZE + + db 35, HOUNDOOM + db EMBER + db SMOG + db BITE + db FAINT_ATTACK + + db $ff ; end + +; ================ + + ; EXECUTIVEM (2) + db "EXECUTIVE@" + db TRAINERTYPE_MOVES + + ; party + + db 36, GOLBAT + db LEECH_LIFE + db BITE + db CONFUSE_RAY + db WING_ATTACK + + db $ff ; end + +; ================ + + ; EXECUTIVEM (3) + db "EXECUTIVE@" + db TRAINERTYPE_MOVES + + ; party + + db 30, KOFFING + db TACKLE + db SELFDESTRUCT + db SLUDGE + db SMOKESCREEN + + db 30, KOFFING + db TACKLE + db SELFDESTRUCT + db SLUDGE + db SMOKESCREEN + + db 30, KOFFING + db TACKLE + db SELFDESTRUCT + db SLUDGE + db SMOKESCREEN + + db 32, WEEZING + db TACKLE + db EXPLOSION + db SLUDGE + db SMOKESCREEN + + db 30, KOFFING + db TACKLE + db SELFDESTRUCT + db SLUDGE + db SMOKESCREEN + + db 30, KOFFING + db TACKLE + db SMOG + db SLUDGE + db SMOKESCREEN + + db $ff ; end + +; ================ + + ; EXECUTIVEM (4) + db "EXECUTIVE@" + db TRAINERTYPE_NORMAL + + ; party + db 22, ZUBAT + db 24, RATICATE + db 22, KOFFING + + db $ff ; end + +; ================ +; ================================ + + +PsychicGroup: +; ================================ +; ================ + + ; PSYCHIC_T (1) + db "NATHAN@" + db TRAINERTYPE_NORMAL + + ; party + db 26, GIRAFARIG + + db $ff ; end + +; ================ + + ; PSYCHIC_T (2) + db "FRANKLIN@" + db TRAINERTYPE_NORMAL + + ; party + db 37, KADABRA + + db $ff ; end + +; ================ + + ; PSYCHIC_T (3) + db "HERMAN@" + db TRAINERTYPE_NORMAL + + ; party + db 30, EXEGGCUTE + db 30, EXEGGCUTE + db 30, EXEGGUTOR + + db $ff ; end + +; ================ + + ; PSYCHIC_T (4) + db "FIDEL@" + db TRAINERTYPE_NORMAL + + ; party + db 34, XATU + + db $ff ; end + +; ================ + + ; PSYCHIC_T (5) + db "GREG@" + db TRAINERTYPE_MOVES + + ; party + + db 17, DROWZEE + db HYPNOSIS + db DISABLE + db DREAM_EATER + db 0 + + db $ff ; end + +; ================ + + ; PSYCHIC_T (6) + db "NORMAN@" + db TRAINERTYPE_MOVES + + ; party + + db 17, SLOWPOKE + db TACKLE + db GROWL + db WATER_GUN + db 0 + + db 20, SLOWPOKE + db CURSE + db BODY_SLAM + db WATER_GUN + db CONFUSION + + db $ff ; end + +; ================ + + ; PSYCHIC_T (7) + db "MARK@" + db TRAINERTYPE_MOVES + + ; party + + db 13, ABRA + db TELEPORT + db FLASH + db 0 + db 0 + + db 13, ABRA + db TELEPORT + db FLASH + db 0 + db 0 + + db 15, KADABRA + db TELEPORT + db KINESIS + db CONFUSION + db 0 + + db $ff ; end + +; ================ + + ; PSYCHIC_T (8) + db "PHIL@" + db TRAINERTYPE_MOVES + + ; party + + db 24, NATU + db LEER + db NIGHT_SHADE + db FUTURE_SIGHT + db CONFUSE_RAY + + db 26, KADABRA + db DISABLE + db PSYBEAM + db RECOVER + db FUTURE_SIGHT + + db $ff ; end + +; ================ + + ; PSYCHIC_T (9) + db "RICHARD@" + db TRAINERTYPE_NORMAL + + ; party + db 36, ESPEON + + db $ff ; end + +; ================ + + ; PSYCHIC_T (10) + db "GILBERT@" + db TRAINERTYPE_NORMAL + + ; party + db 30, STARMIE + db 30, EXEGGCUTE + db 34, GIRAFARIG + + db $ff ; end + +; ================ + + ; PSYCHIC_T (11) + db "JARED@" + db TRAINERTYPE_NORMAL + + ; party + db 32, MR__MIME + db 32, EXEGGCUTE + db 35, EXEGGCUTE + + db $ff ; end + +; ================ + + ; PSYCHIC_T (12) + db "RODNEY@" + db TRAINERTYPE_NORMAL + + ; party + db 29, DROWZEE + db 33, HYPNO + + db $ff ; end + +; ================ +; ================================ + + +PicnickerGroup: +; ================================ +; ================ + + ; PICNICKER (1) + db "LIZ@" + db TRAINERTYPE_NORMAL + + ; party + db 9, NIDORAN_F + + db $ff ; end + +; ================ + + ; PICNICKER (2) + db "GINA@" + db TRAINERTYPE_NORMAL + + ; party + db 9, HOPPIP + db 9, HOPPIP + db 12, BULBASAUR + + db $ff ; end + +; ================ + + ; PICNICKER (3) + db "BROOKE@" + db TRAINERTYPE_MOVES + + ; party + + db 16, PIKACHU + db THUNDERSHOCK + db GROWL + db QUICK_ATTACK + db DOUBLE_TEAM + + db $ff ; end + +; ================ + + ; PICNICKER (4) + db "KIM@" + db TRAINERTYPE_NORMAL + + ; party + db 15, VULPIX + + db $ff ; end + +; ================ + + ; PICNICKER (5) + db "CINDY@" + db TRAINERTYPE_NORMAL + + ; party + db 36, NIDOQUEEN + + db $ff ; end + +; ================ + + ; PICNICKER (6) + db "HOPE@" + db TRAINERTYPE_NORMAL + + ; party + db 34, FLAAFFY + + db $ff ; end + +; ================ + + ; PICNICKER (7) + db "SHARON@" + db TRAINERTYPE_NORMAL + + ; party + db 31, FURRET + db 33, RAPIDASH + + db $ff ; end + +; ================ + + ; PICNICKER (8) + db "DEBRA@" + db TRAINERTYPE_NORMAL + + ; party + db 33, SEAKING + + db $ff ; end + +; ================ + + ; PICNICKER (9) + db "GINA@" + db TRAINERTYPE_NORMAL + + ; party + db 14, HOPPIP + db 14, HOPPIP + db 17, IVYSAUR + + db $ff ; end + +; ================ + + ; PICNICKER (10) + db "ERIN@" + db TRAINERTYPE_NORMAL + + ; party + db 16, PONYTA + db 16, PONYTA + + db $ff ; end + +; ================ + + ; PICNICKER (11) + db "LIZ@" + db TRAINERTYPE_NORMAL + + ; party + db 15, WEEPINBELL + db 15, NIDORINA + + db $ff ; end + +; ================ + + ; PICNICKER (12) + db "LIZ@" + db TRAINERTYPE_NORMAL + + ; party + db 19, WEEPINBELL + db 19, NIDORINO + db 21, NIDOQUEEN + + db $ff ; end + +; ================ + + ; PICNICKER (13) + db "HEIDI@" + db TRAINERTYPE_NORMAL + + ; party + db 32, SKIPLOOM + db 32, SKIPLOOM + + db $ff ; end + +; ================ + + ; PICNICKER (14) + db "EDNA@" + db TRAINERTYPE_NORMAL + + ; party + db 30, NIDORINA + db 34, RAICHU + + db $ff ; end + +; ================ + + ; PICNICKER (15) + db "GINA@" + db TRAINERTYPE_NORMAL + + ; party + db 26, SKIPLOOM + db 26, SKIPLOOM + db 29, IVYSAUR + + db $ff ; end + +; ================ + + ; PICNICKER (16) + db "TIFFANY@" + db TRAINERTYPE_MOVES + + ; party + + db 31, CLEFAIRY + db ENCORE + db SING + db DOUBLESLAP + db MINIMIZE + + db $ff ; end + +; ================ + + ; PICNICKER (17) + db "TIFFANY@" + db TRAINERTYPE_MOVES + + ; party + + db 37, CLEFAIRY + db ENCORE + db DOUBLESLAP + db MINIMIZE + db METRONOME + + db $ff ; end + +; ================ + + ; PICNICKER (18) + db "ERIN@" + db TRAINERTYPE_NORMAL + + ; party + db 32, PONYTA + db 32, PONYTA + + db $ff ; end + +; ================ + + ; PICNICKER (19) + db "TANYA@" + db TRAINERTYPE_NORMAL + + ; party + db 37, EXEGGUTOR + + db $ff ; end + +; ================ + + ; PICNICKER (20) + db "TIFFANY@" + db TRAINERTYPE_MOVES + + ; party + + db 20, CLEFAIRY + db ENCORE + db SING + db DOUBLESLAP + db MINIMIZE + + db $ff ; end + +; ================ + + ; PICNICKER (21) + db "ERIN@" + db TRAINERTYPE_MOVES + + ; party + + db 36, PONYTA + db DOUBLE_TEAM + db STOMP + db FIRE_SPIN + db SUNNY_DAY + + db 34, RAICHU + db SWIFT + db MUD_SLAP + db QUICK_ATTACK + db THUNDERBOLT + + db 36, PONYTA + db DOUBLE_TEAM + db STOMP + db FIRE_SPIN + db SUNNY_DAY + + db $ff ; end + +; ================ + + ; PICNICKER (22) + db "LIZ@" + db TRAINERTYPE_NORMAL + + ; party + db 24, WEEPINBELL + db 26, NIDORINO + db 26, NIDOQUEEN + + db $ff ; end + +; ================ + + ; PICNICKER (23) + db "LIZ@" + db TRAINERTYPE_MOVES + + ; party + + db 30, WEEPINBELL + db SLEEP_POWDER + db POISONPOWDER + db STUN_SPORE + db SLUDGE_BOMB + + db 32, NIDOKING + db EARTHQUAKE + db DOUBLE_KICK + db POISON_STING + db IRON_TAIL + + db 32, NIDOQUEEN + db EARTHQUAKE + db DOUBLE_KICK + db TAIL_WHIP + db BODY_SLAM + + db $ff ; end + +; ================ + + ; PICNICKER (24) + db "GINA@" + db TRAINERTYPE_NORMAL + + ; party + db 30, SKIPLOOM + db 30, SKIPLOOM + db 32, IVYSAUR + + db $ff ; end + +; ================ + + ; PICNICKER (25) + db "GINA@" + db TRAINERTYPE_MOVES + + ; party + + db 33, JUMPLUFF + db STUN_SPORE + db SUNNY_DAY + db LEECH_SEED + db COTTON_SPORE + + db 33, JUMPLUFF + db SUNNY_DAY + db SLEEP_POWDER + db LEECH_SEED + db COTTON_SPORE + + db 38, VENUSAUR + db SOLARBEAM + db RAZOR_LEAF + db HEADBUTT + db MUD_SLAP + + db $ff ; end + +; ================ + + ; PICNICKER (26) + db "TIFFANY@" + db TRAINERTYPE_MOVES + + ; party + + db 43, CLEFAIRY + db METRONOME + db ENCORE + db MOONLIGHT + db MINIMIZE + + db $ff ; end + +; ================ +; ================================ + + +CamperGroup: +; ================================ +; ================ + + ; CAMPER (1) + db "ROLAND@" + db TRAINERTYPE_NORMAL + + ; party + db 9, NIDORAN_M + + db $ff ; end + +; ================ + + ; CAMPER (2) + db "TODD@" + db TRAINERTYPE_NORMAL + + ; party + db 14, PSYDUCK + + db $ff ; end + +; ================ + + ; CAMPER (3) + db "IVAN@" + db TRAINERTYPE_NORMAL + + ; party + db 10, DIGLETT + db 10, ZUBAT + db 14, DIGLETT + + db $ff ; end + +; ================ + + ; CAMPER (4) + db "ELLIOT@" + db TRAINERTYPE_NORMAL + + ; party + db 13, SANDSHREW + db 15, MARILL + + db $ff ; end + +; ================ + + ; CAMPER (5) + db "BARRY@" + db TRAINERTYPE_NORMAL + + ; party + db 36, NIDOKING + + db $ff ; end + +; ================ + + ; CAMPER (6) + db "LLOYD@" + db TRAINERTYPE_NORMAL + + ; party + db 34, NIDOKING + + db $ff ; end + +; ================ + + ; CAMPER (7) + db "DEAN@" + db TRAINERTYPE_NORMAL + + ; party + db 33, GOLDUCK + db 31, SANDSLASH + + db $ff ; end + +; ================ + + ; CAMPER (8) + db "SID@" + db TRAINERTYPE_NORMAL + + ; party + db 32, DUGTRIO + db 29, PRIMEAPE + db 29, POLIWRATH + + db $ff ; end + +; ================ + + ; CAMPER (9) + db "HARVEY@" + db TRAINERTYPE_NORMAL + + ; party + db 15, NIDORINO + + db $ff ; end + +; ================ + + ; CAMPER (10) + db "DALE@" + db TRAINERTYPE_NORMAL + + ; party + db 15, NIDORINO + + db $ff ; end + +; ================ + + ; CAMPER (11) + db "TED@" + db TRAINERTYPE_NORMAL + + ; party + db 17, MANKEY + + db $ff ; end + +; ================ + + ; CAMPER (12) + db "TODD@" + db TRAINERTYPE_NORMAL + + ; party + db 17, GEODUDE + db 17, GEODUDE + db 23, PSYDUCK + + db $ff ; end + +; ================ + + ; CAMPER (13) + db "TODD@" + db TRAINERTYPE_NORMAL + + ; party + db 23, GEODUDE + db 23, GEODUDE + db 26, PSYDUCK + + db $ff ; end + +; ================ + + ; CAMPER (14) + db "THOMAS@" + db TRAINERTYPE_NORMAL + + ; party + db 33, GRAVELER + db 36, GRAVELER + db 40, GOLBAT + db 42, GOLDUCK + + db $ff ; end + +; ================ + + ; CAMPER (15) + db "LEROY@" + db TRAINERTYPE_NORMAL + + ; party + db 33, GRAVELER + db 36, GRAVELER + db 40, GOLBAT + db 42, GOLDUCK + + db $ff ; end + +; ================ + + ; CAMPER (16) + db "DAVID@" + db TRAINERTYPE_NORMAL + + ; party + db 33, GRAVELER + db 36, GRAVELER + db 40, GOLBAT + db 42, GOLDUCK + + db $ff ; end + +; ================ + + ; CAMPER (17) + db "JOHN@" + db TRAINERTYPE_NORMAL + + ; party + db 33, GRAVELER + db 36, GRAVELER + db 40, GOLBAT + db 42, GOLDUCK + + db $ff ; end + +; ================ + + ; CAMPER (18) + db "JERRY@" + db TRAINERTYPE_NORMAL + + ; party + db 37, SANDSLASH + + db $ff ; end + +; ================ + + ; CAMPER (19) + db "SPENCER@" + db TRAINERTYPE_NORMAL + + ; party + db 17, SANDSHREW + db 17, SANDSLASH + db 19, ZUBAT + + db $ff ; end + +; ================ + + ; CAMPER (20) + db "TODD@" + db TRAINERTYPE_NORMAL + + ; party + db 30, GRAVELER + db 30, GRAVELER + db 30, SLUGMA + db 32, PSYDUCK + + db $ff ; end + +; ================ + + ; CAMPER (21) + db "TODD@" + db TRAINERTYPE_MOVES + + ; party + + db 33, GRAVELER + db SELFDESTRUCT + db ROCK_THROW + db HARDEN + db MAGNITUDE + + db 33, GRAVELER + db SELFDESTRUCT + db ROCK_THROW + db HARDEN + db MAGNITUDE + + db 36, MAGCARGO + db ROCK_THROW + db HARDEN + db AMNESIA + db FLAMETHROWER + + db 34, GOLDUCK + db DISABLE + db PSYCHIC_M + db SURF + db PSYCH_UP + + db $ff ; end + +; ================ + + ; CAMPER (22) + db "QUENTIN@" + db TRAINERTYPE_NORMAL + + ; party + db 30, FEAROW + db 30, PRIMEAPE + db 30, TAUROS + + db $ff ; end + +; ================ +; ================================ + + +ExecutiveFGroup: +; ================================ +; ================ + + ; EXECUTIVEF (1) + db "EXECUTIVE@" + db TRAINERTYPE_MOVES + + ; party + + db 32, ARBOK + db WRAP + db POISON_STING + db BITE + db GLARE + + db 32, VILEPLUME + db ABSORB + db SWEET_SCENT + db SLEEP_POWDER + db ACID + + db 32, MURKROW + db PECK + db PURSUIT + db HAZE + db NIGHT_SHADE + + db $ff ; end + +; ================ + + ; EXECUTIVEF (2) + db "EXECUTIVE@" + db TRAINERTYPE_MOVES + + ; party + + db 23, ARBOK + db WRAP + db LEER + db POISON_STING + db BITE + + db 23, GLOOM + db ABSORB + db SWEET_SCENT + db SLEEP_POWDER + db ACID + + db 25, MURKROW + db PECK + db PURSUIT + db HAZE + db 0 + + db $ff ; end + +; ================ +; ================================ + + +SageGroup: +; ================================ +; ================ + + ; SAGE (1) + db "CHOW@" + db TRAINERTYPE_NORMAL + + ; party + db 3, BELLSPROUT + db 3, BELLSPROUT + db 3, BELLSPROUT + + db $ff ; end + +; ================ + + ; SAGE (2) + db "NICO@" + db TRAINERTYPE_NORMAL + + ; party + db 3, BELLSPROUT + db 3, BELLSPROUT + db 3, BELLSPROUT + + db $ff ; end + +; ================ + + ; SAGE (3) + db "JIN@" + db TRAINERTYPE_NORMAL + + ; party + db 6, BELLSPROUT + + db $ff ; end + +; ================ + + ; SAGE (4) + db "TROY@" + db TRAINERTYPE_NORMAL + + ; party + db 7, BELLSPROUT + db 7, HOOTHOOT + + db $ff ; end + +; ================ + + ; SAGE (5) + db "JEFFREY@" + db TRAINERTYPE_NORMAL + + ; party + db 22, HAUNTER + + db $ff ; end + +; ================ + + ; SAGE (6) + db "PING@" + db TRAINERTYPE_NORMAL + + ; party + db 16, GASTLY + db 16, GASTLY + db 16, GASTLY + db 16, GASTLY + db 16, GASTLY + + db $ff ; end + +; ================ + + ; SAGE (7) + db "EDMOND@" + db TRAINERTYPE_NORMAL + + ; party + db 3, BELLSPROUT + db 3, BELLSPROUT + db 3, BELLSPROUT + + db $ff ; end + +; ================ + + ; SAGE (8) + db "NEAL@" + db TRAINERTYPE_NORMAL + + ; party + db 6, BELLSPROUT + + db $ff ; end + +; ================ + + ; SAGE (9) + db "LI@" + db TRAINERTYPE_NORMAL + + ; party + db 7, BELLSPROUT + db 7, BELLSPROUT + db 10, HOOTHOOT + + db $ff ; end + +; ================ + + ; SAGE (10) + db "GAKU@" + db TRAINERTYPE_NORMAL + + ; party + db 32, NOCTOWL + db 32, FLAREON + + db $ff ; end + +; ================ + + ; SAGE (11) + db "MASA@" + db TRAINERTYPE_NORMAL + + ; party + db 32, NOCTOWL + db 32, JOLTEON + + db $ff ; end + +; ================ + + ; SAGE (12) + db "KOJI@" + db TRAINERTYPE_NORMAL + + ; party + db 32, NOCTOWL + db 32, VAPOREON + + db $ff ; end + +; ================ +; ================================ + + +MediumGroup: +; ================================ +; ================ + + ; MEDIUM (1) + db "MARTHA@" + db TRAINERTYPE_NORMAL + + ; party + db 18, GASTLY + db 20, HAUNTER + db 20, GASTLY + + db $ff ; end + +; ================ + + ; MEDIUM (2) + db "GRACE@" + db TRAINERTYPE_NORMAL + + ; party + db 20, HAUNTER + db 20, HAUNTER + + db $ff ; end + +; ================ + + ; MEDIUM (3) + db "BETHANY@" + db TRAINERTYPE_NORMAL + + ; party + db 25, HAUNTER + + db $ff ; end + +; ================ + + ; MEDIUM (4) + db "MARGRET@" + db TRAINERTYPE_NORMAL + + ; party + db 25, HAUNTER + + db $ff ; end + +; ================ + + ; MEDIUM (5) + db "ETHEL@" + db TRAINERTYPE_NORMAL + + ; party + db 25, HAUNTER + + db $ff ; end + +; ================ + + ; MEDIUM (6) + db "REBECCA@" + db TRAINERTYPE_NORMAL + + ; party + db 35, DROWZEE + db 35, HYPNO + + db $ff ; end + +; ================ + + ; MEDIUM (7) + db "DORIS@" + db TRAINERTYPE_NORMAL + + ; party + db 34, SLOWPOKE + db 36, SLOWBRO + + db $ff ; end + +; ================ +; ================================ + + +BoarderGroup: +; ================================ +; ================ + + ; BOARDER (1) + db "RONALD@" + db TRAINERTYPE_NORMAL + + ; party + db 24, SEEL + db 25, DEWGONG + db 24, SEEL + + db $ff ; end + +; ================ + + ; BOARDER (2) + db "BRAD@" + db TRAINERTYPE_NORMAL + + ; party + db 26, SWINUB + db 26, SWINUB + + db $ff ; end + +; ================ + + ; BOARDER (3) + db "DOUGLAS@" + db TRAINERTYPE_NORMAL + + ; party + db 24, SHELLDER + db 25, CLOYSTER + db 24, SHELLDER + + db $ff ; end + +; ================ +; ================================ + + +PokefanMGroup: +; ================================ +; ================ + + ; POKEFANM (1) + db "WILLIAM@" + db TRAINERTYPE_ITEM + + ; party + db 14, RAICHU, BERRY + + db $ff ; end + +; ================ + + ; POKEFANM (2) + db "DEREK@" + db TRAINERTYPE_ITEM + + ; party + db 17, PIKACHU, BERRY + + db $ff ; end + +; ================ + + ; POKEFANM (3) + db "ROBERT@" + db TRAINERTYPE_ITEM + + ; party + db 33, QUAGSIRE, BERRY + + db $ff ; end + +; ================ + + ; POKEFANM (4) + db "JOSHUA@" + db TRAINERTYPE_ITEM + + ; party + db 23, PIKACHU, BERRY + db 23, PIKACHU, BERRY + db 23, PIKACHU, BERRY + db 23, PIKACHU, BERRY + db 23, PIKACHU, BERRY + db 23, PIKACHU, BERRY + + db $ff ; end + +; ================ + + ; POKEFANM (5) + db "CARTER@" + db TRAINERTYPE_ITEM + + ; party + db 29, BULBASAUR, BERRY + db 29, CHARMANDER, BERRY + db 29, SQUIRTLE, BERRY + + db $ff ; end + +; ================ + + ; POKEFANM (6) + db "TREVOR@" + db TRAINERTYPE_ITEM + + ; party + db 33, PSYDUCK, BERRY + + db $ff ; end + +; ================ + + ; POKEFANM (7) + db "BRANDON@" + db TRAINERTYPE_ITEM + + ; party + db 13, SNUBBULL, BERRY + + db $ff ; end + +; ================ + + ; POKEFANM (8) + db "JEREMY@" + db TRAINERTYPE_ITEM + + ; party + db 28, MEOWTH, BERRY + db 28, MEOWTH, BERRY + db 28, MEOWTH, BERRY + + db $ff ; end + +; ================ + + ; POKEFANM (9) + db "COLIN@" + db TRAINERTYPE_ITEM + + ; party + db 32, DELIBIRD, BERRY + + db $ff ; end + +; ================ + + ; POKEFANM (10) + db "DEREK@" + db TRAINERTYPE_ITEM + + ; party + db 19, PIKACHU, BERRY + + db $ff ; end + +; ================ + + ; POKEFANM (11) + db "DEREK@" + db TRAINERTYPE_ITEM + + ; party + db 36, PIKACHU, BERRY + + db $ff ; end + +; ================ + + ; POKEFANM (12) + db "ALEX@" + db TRAINERTYPE_ITEM + + ; party + db 29, NIDOKING, BERRY + db 29, SLOWKING, BERRY + db 29, SEAKING, BERRY + + db $ff ; end + +; ================ + + ; POKEFANM (13) + db "REX@" + db TRAINERTYPE_ITEM + + ; party + db 35, PHANPY, BERRY + + db $ff ; end + +; ================ + + ; POKEFANM (14) + db "ALLAN@" + db TRAINERTYPE_ITEM + + ; party + db 35, TEDDIURSA, BERRY + + db $ff ; end + +; ================ +; ================================ + + +KimonoGirlGroup: +; ================================ +; ================ + + ; KIMONO_GIRL (1) + db "NAOKO@" + db TRAINERTYPE_NORMAL + + ; party + db 20, SKIPLOOM + db 20, VULPIX + db 18, SKIPLOOM + + db $ff ; end + +; ================ + + ; KIMONO_GIRL (2) + db "NAOKO@" + db TRAINERTYPE_NORMAL + + ; party + db 17, FLAREON + + db $ff ; end + +; ================ + + ; KIMONO_GIRL (3) + db "SAYO@" + db TRAINERTYPE_NORMAL + + ; party + db 17, ESPEON + + db $ff ; end + +; ================ + + ; KIMONO_GIRL (4) + db "ZUKI@" + db TRAINERTYPE_NORMAL + + ; party + db 17, UMBREON + + db $ff ; end + +; ================ + + ; KIMONO_GIRL (5) + db "KUNI@" + db TRAINERTYPE_NORMAL + + ; party + db 17, VAPOREON + + db $ff ; end + +; ================ + + ; KIMONO_GIRL (6) + db "MIKI@" + db TRAINERTYPE_NORMAL + + ; party + db 17, JOLTEON + + db $ff ; end + +; ================ +; ================================ + + +TwinsGroup: +; ================================ +; ================ + + ; TWINS (1) + db "AMY & MAY@" + db TRAINERTYPE_NORMAL + + ; party + db 10, SPINARAK + db 10, LEDYBA + + db $ff ; end + +; ================ + + ; TWINS (2) + db "ANN & ANNE@" + db TRAINERTYPE_MOVES + + ; party + + db 16, CLEFAIRY + db GROWL + db ENCORE + db DOUBLESLAP + db METRONOME + + db 16, JIGGLYPUFF + db SING + db DEFENSE_CURL + db POUND + db DISABLE + + db $ff ; end + +; ================ + + ; TWINS (3) + db "ANN & ANNE@" + db TRAINERTYPE_MOVES + + ; party + + db 16, JIGGLYPUFF + db SING + db DEFENSE_CURL + db POUND + db DISABLE + + db 16, CLEFAIRY + db GROWL + db ENCORE + db DOUBLESLAP + db METRONOME + + db $ff ; end + +; ================ + + ; TWINS (4) + db "AMY & MAY@" + db TRAINERTYPE_NORMAL + + ; party + db 10, LEDYBA + db 10, SPINARAK + + db $ff ; end + +; ================ + + ; TWINS (5) + db "JO & ZOE@" + db TRAINERTYPE_NORMAL + + ; party + db 35, VICTREEBEL + db 35, VILEPLUME + + db $ff ; end + +; ================ + + ; TWINS (6) + db "JO & ZOE@" + db TRAINERTYPE_NORMAL + + ; party + db 35, VILEPLUME + db 35, VICTREEBEL + + db $ff ; end + +; ================ + + ; TWINS (7) + db "MEG & PEG@" + db TRAINERTYPE_NORMAL + + ; party + db 31, TEDDIURSA + db 31, PHANPY + + db $ff ; end + +; ================ + + ; TWINS (8) + db "MEG & PEG@" + db TRAINERTYPE_NORMAL + + ; party + db 31, PHANPY + db 31, TEDDIURSA + + db $ff ; end + +; ================ + + ; TWINS (9) + db "LEA & PIA@" + db TRAINERTYPE_MOVES + + ; party + + db 35, DRATINI + db THUNDER_WAVE + db TWISTER + db FLAMETHROWER + db HEADBUTT + + db 35, DRATINI + db THUNDER_WAVE + db TWISTER + db ICE_BEAM + db HEADBUTT + + db $ff ; end + +; ================ + + ; TWINS (10) + db "LEA & PIA@" + db TRAINERTYPE_MOVES + + ; party + + db 38, DRATINI + db THUNDER_WAVE + db TWISTER + db ICE_BEAM + db HEADBUTT + + db 38, DRATINI + db THUNDER_WAVE + db TWISTER + db FLAMETHROWER + db HEADBUTT + + db $ff ; end + +; ================ +; ================================ + + +PokefanFGroup: +; ================================ +; ================ + + ; POKEFANF (1) + db "BEVERLY@" + db TRAINERTYPE_ITEM + + ; party + db 14, SNUBBULL, BERRY + + db $ff ; end + +; ================ + + ; POKEFANF (2) + db "RUTH@" + db TRAINERTYPE_ITEM + + ; party + db 17, PIKACHU, BERRY + + db $ff ; end + +; ================ + + ; POKEFANF (3) + db "BEVERLY@" + db TRAINERTYPE_ITEM + + ; party + db 18, SNUBBULL, BERRY + + db $ff ; end + +; ================ + + ; POKEFANF (4) + db "BEVERLY@" + db TRAINERTYPE_ITEM + + ; party + db 30, GRANBULL, BERRY + + db $ff ; end + +; ================ + + ; POKEFANF (5) + db "GEORGIA@" + db TRAINERTYPE_ITEM + + ; party + db 23, SENTRET, BERRY + db 23, SENTRET, BERRY + db 23, SENTRET, BERRY + db 28, FURRET, BERRY + db 23, SENTRET, BERRY + + db $ff ; end + +; ================ + + ; POKEFANF (6) + db "JAIME@" + db TRAINERTYPE_ITEM + + ; party + db 16, MEOWTH, BERRY + + db $ff ; end + +; ================ +; ================================ + + +RedGroup: +; ================================ +; ================ + + ; RED (1) + db "RED@" + db TRAINERTYPE_MOVES + + ; party + + db 81, PIKACHU + db CHARM + db QUICK_ATTACK + db THUNDERBOLT + db THUNDER + + db 73, ESPEON + db MUD_SLAP + db REFLECT + db SWIFT + db PSYCHIC_M + + db 75, SNORLAX + db AMNESIA + db SNORE + db REST + db BODY_SLAM + + db 77, VENUSAUR + db SUNNY_DAY + db GIGA_DRAIN + db SYNTHESIS + db SOLARBEAM + + db 77, CHARIZARD + db FLAMETHROWER + db WING_ATTACK + db SLASH + db FIRE_SPIN + + db 77, BLASTOISE + db RAIN_DANCE + db SURF + db BLIZZARD + db WHIRLPOOL + + db $ff ; end + +; ================ +; ================================ + + +BlueGroup: +; ================================ +; ================ + + ; BLUE (1) + db "BLUE@" + db TRAINERTYPE_MOVES + + ; party + + db 56, PIDGEOT + db QUICK_ATTACK + db WHIRLWIND + db WING_ATTACK + db MIRROR_MOVE + + db 54, ALAKAZAM + db DISABLE + db RECOVER + db PSYCHIC_M + db REFLECT + + db 56, RHYDON + db FURY_ATTACK + db SANDSTORM + db ROCK_SLIDE + db EARTHQUAKE + + db 58, GYARADOS + db TWISTER + db HYDRO_PUMP + db RAIN_DANCE + db HYPER_BEAM + + db 58, EXEGGUTOR + db SUNNY_DAY + db LEECH_SEED + db EGG_BOMB + db SOLARBEAM + + db 58, ARCANINE + db ROAR + db SWIFT + db FLAMETHROWER + db EXTREMESPEED + + db $ff ; end + +; ================ +; ================================ + + +OfficerGroup: +; ================================ +; ================ + + ; OFFICER (1) + db "KEITH@" + db TRAINERTYPE_NORMAL + + ; party + db 17, GROWLITHE + + db $ff ; end + +; ================ + + ; OFFICER (2) + db "DIRK@" + db TRAINERTYPE_NORMAL + + ; party + db 14, GROWLITHE + db 14, GROWLITHE + + db $ff ; end + +; ================ +; ================================ + + +GruntFGroup: +; ================================ +; ================ + + ; GRUNTF (1) + db "GRUNT@" + db TRAINERTYPE_NORMAL + + ; party + db 9, ZUBAT + db 11, EKANS + + db $ff ; end + +; ================ + + ; GRUNTF (2) + db "GRUNT@" + db TRAINERTYPE_NORMAL + + ; party + db 26, ARBOK + + db $ff ; end + +; ================ + + ; GRUNTF (3) + db "GRUNT@" + db TRAINERTYPE_NORMAL + + ; party + db 25, GLOOM + db 25, GLOOM + + db $ff ; end + +; ================ + + ; GRUNTF (4) + db "GRUNT@" + db TRAINERTYPE_NORMAL + + ; party + db 21, EKANS + db 23, ODDISH + db 21, EKANS + db 24, GLOOM + + db $ff ; end + +; ================ + + ; GRUNTF (5) + db "GRUNT@" + db TRAINERTYPE_MOVES + + ; party + + db 18, EKANS + db WRAP + db LEER + db POISON_STING + db BITE + + db 18, GLOOM + db ABSORB + db SWEET_SCENT + db STUN_SPORE + db SLEEP_POWDER + + db $ff ; end + +; ================ +; ================================ + + +MysticalmanGroup: +; ================================ +; ================ + + ; MYSTICALMAN (1) + db "EUSINE@" + db TRAINERTYPE_MOVES + + ; party + + db 23, DROWZEE + db DREAM_EATER + db HYPNOSIS + db DISABLE + db CONFUSION + + db 23, HAUNTER + db LICK + db HYPNOSIS + db MEAN_LOOK + db CURSE + + db 25, ELECTRODE + db SCREECH + db SONICBOOM + db THUNDER + db ROLLOUT + + db $ff ; end + +; ================ +; ================================ diff --git a/data/trainers/party_pointers.asm b/data/trainers/party_pointers.asm new file mode 100644 index 000000000..c0b3d4538 --- /dev/null +++ b/data/trainers/party_pointers.asm @@ -0,0 +1,70 @@ +; Each trainer class has its own group. See trainers.asm. + +TrainerGroups: ; 0x39999 + dw FalknerGroup + dw WhitneyGroup + dw BugsyGroup + dw MortyGroup + dw PryceGroup + dw JasmineGroup + dw ChuckGroup + dw ClairGroup + dw Rival1Group + dw PokemonProfGroup + dw WillGroup + dw PKMNTrainerGroup + dw BrunoGroup + dw KarenGroup + dw KogaGroup + dw ChampionGroup + dw BrockGroup + dw MistyGroup + dw LtSurgeGroup + dw ScientistGroup + dw ErikaGroup + dw YoungsterGroup + dw SchoolboyGroup + dw BirdKeeperGroup + dw LassGroup + dw JanineGroup + dw CooltrainerMGroup + dw CooltrainerFGroup + dw BeautyGroup + dw PokemaniacGroup + dw GruntMGroup + dw GentlemanGroup + dw SkierGroup + dw TeacherGroup + dw SabrinaGroup + dw BugCatcherGroup + dw FisherGroup + dw SwimmerMGroup + dw SwimmerFGroup + dw SailorGroup + dw SuperNerdGroup + dw Rival2Group + dw GuitaristGroup + dw HikerGroup + dw BikerGroup + dw BlaineGroup + dw BurglarGroup + dw FirebreatherGroup + dw JugglerGroup + dw BlackbeltGroup + dw ExecutiveMGroup + dw PsychicGroup + dw PicnickerGroup + dw CamperGroup + dw ExecutiveFGroup + dw SageGroup + dw MediumGroup + dw BoarderGroup + dw PokefanMGroup + dw KimonoGirlGroup + dw TwinsGroup + dw PokefanFGroup + dw RedGroup + dw BlueGroup + dw OfficerGroup + dw GruntFGroup + dw MysticalmanGroup diff --git a/data/trainers/trainer_attributes.asm b/data/trainers/trainer_attributes.asm new file mode 100644 index 000000000..224e460c9 --- /dev/null +++ b/data/trainers/trainer_attributes.asm @@ -0,0 +1,406 @@ +TrainerClassAttributes: ; 3959c +; entries correspond to trainer classes (see constants/trainer_constants.asm) + +; Falkner + db 0, 0 ; items + db 25 ; base reward + dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Whitney + db 0, 0 ; items + db 25 ; base reward + dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Bugsy + db 0, 0 ; items + db 25 ; base reward + dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Morty + db 0, 0 ; items + db 25 ; base reward + dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Pryce + db HYPER_POTION, 0 ; items + db 25 ; base reward + dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Jasmine + db HYPER_POTION, 0 ; items + db 25 ; base reward + dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Chuck + db FULL_HEAL, 0 ; items + db 25 ; base reward + dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Clair + db FULL_HEAL, HYPER_POTION ; items + db 25 ; base reward + dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Rival1 + db 0, 0 ; items + db 15 ; base reward + dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Pokemon Prof + db 0, 0 ; items + db 25 ; base reward + dw AI_BASIC + AI_AGGRESSIVE + AI_STATUS + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Will + db MAX_POTION, 0 ; items + db 25 ; base reward + dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Cal + db 0, 0 ; items + db 25 ; base reward + dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Bruno + db MAX_POTION, 0 ; items + db 25 ; base reward + dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Karen + db FULL_HEAL, MAX_POTION ; items + db 25 ; base reward + dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Koga + db FULL_HEAL, FULL_RESTORE ; items + db 25 ; base reward + dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Champion + db FULL_HEAL, FULL_RESTORE ; items + db 25 ; base reward + dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Brock + db HYPER_POTION, 0 ; items + db 25 ; base reward + dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Misty + db FULL_HEAL, 0 ; items + db 25 ; base reward + dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Lt Surge + db HYPER_POTION, 0 ; items + db 25 ; base reward + dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Scientist + db 0, 0 ; items + db 25 ; base reward + dw AI_BASIC + AI_SETUP + AI_TYPES + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Erika + db HYPER_POTION, 0 ; items + db 25 ; base reward + dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Youngster + db 0, 0 ; items + db 4 ; base reward + dw AI_BASIC + AI_STATUS + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Schoolboy + db 0, 0 ; items + db 8 ; base reward + dw AI_BASIC + AI_SETUP + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS + dw CONTEXT_USE + SWITCH_OFTEN + +; Bird Keeper + db 0, 0 ; items + db 6 ; base reward + dw AI_BASIC + AI_TYPES + AI_OFFENSIVE + AI_OPPORTUNIST + AI_STATUS + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Lass + db 0, 0 ; items + db 6 ; base reward + dw AI_BASIC + AI_CAUTIOUS + AI_STATUS + dw CONTEXT_USE + SWITCH_OFTEN + +; Janine + db DIRE_HIT, 0 ; items + db 25 ; base reward + dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Cooltrainerm + db 0, 0 ; items + db 12 ; base reward + dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Cooltrainerf + db 0, 0 ; items + db 12 ; base reward + dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Beauty + db 0, 0 ; items + db 22 ; base reward + dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Pokemaniac + db 0, 0 ; items + db 15 ; base reward + dw AI_BASIC + AI_SETUP + AI_OFFENSIVE + AI_AGGRESSIVE + AI_STATUS + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Gruntm + db 0, 0 ; items + db 10 ; base reward + dw AI_BASIC + AI_SETUP + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Gentleman + db 0, 0 ; items + db 18 ; base reward + dw AI_BASIC + AI_SETUP + AI_AGGRESSIVE + AI_STATUS + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Skier + db 0, 0 ; items + db 18 ; base reward + dw AI_BASIC + AI_SETUP + AI_TYPES + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Teacher + db 0, 0 ; items + db 18 ; base reward + dw AI_BASIC + AI_OPPORTUNIST + AI_AGGRESSIVE + AI_STATUS + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Sabrina + db HYPER_POTION, 0 ; items + db 25 ; base reward + dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Bug Catcher + db 0, 0 ; items + db 4 ; base reward + dw AI_BASIC + AI_SETUP + AI_STATUS + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Fisher + db 0, 0 ; items + db 10 ; base reward + dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS + dw CONTEXT_USE + SWITCH_OFTEN + +; Swimmerm + db 0, 0 ; items + db 2 ; base reward + dw AI_BASIC + AI_SETUP + AI_TYPES + AI_OFFENSIVE + AI_STATUS + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Swimmerf + db 0, 0 ; items + db 5 ; base reward + dw AI_BASIC + AI_SETUP + AI_TYPES + AI_CAUTIOUS + AI_STATUS + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Sailor + db 0, 0 ; items + db 10 ; base reward + dw AI_BASIC + AI_OFFENSIVE + AI_OPPORTUNIST + AI_STATUS + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Super Nerd + db 0, 0 ; items + db 8 ; base reward + dw AI_BASIC + AI_TYPES + AI_SMART + AI_STATUS + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Rival2 + db 0, 0 ; items + db 25 ; base reward + dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Guitarist + db 0, 0 ; items + db 8 ; base reward + dw AI_BASIC + AI_SETUP + AI_TYPES + AI_CAUTIOUS + AI_STATUS + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Hiker + db 0, 0 ; items + db 8 ; base reward + dw AI_BASIC + AI_OFFENSIVE + AI_STATUS + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Biker + db 0, 0 ; items + db 8 ; base reward + dw AI_BASIC + AI_TYPES + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Blaine + db MAX_POTION, FULL_HEAL ; items + db 25 ; base reward + dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Burglar + db 0, 0 ; items + db 22 ; base reward + dw AI_BASIC + AI_OFFENSIVE + AI_CAUTIOUS + AI_STATUS + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Firebreather + db 0, 0 ; items + db 12 ; base reward + dw AI_BASIC + AI_SETUP + AI_OFFENSIVE + AI_OPPORTUNIST + AI_STATUS + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Juggler + db 0, 0 ; items + db 10 ; base reward + dw AI_BASIC + AI_TYPES + AI_SMART + AI_STATUS + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Blackbelt T + db 0, 0 ; items + db 6 ; base reward + dw AI_BASIC + AI_OFFENSIVE + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Executivem + db 0, 0 ; items + db 18 ; base reward + dw AI_BASIC + AI_SETUP + AI_TYPES + AI_SMART + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Psychic T + db 0, 0 ; items + db 8 ; base reward + dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Picnicker + db 0, 0 ; items + db 5 ; base reward + dw AI_BASIC + AI_CAUTIOUS + AI_STATUS + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Camper + db 0, 0 ; items + db 5 ; base reward + dw AI_BASIC + AI_CAUTIOUS + AI_STATUS + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Executivef + db 0, 0 ; items + db 18 ; base reward + dw AI_BASIC + AI_SETUP + AI_TYPES + AI_SMART + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Sage + db 0, 0 ; items + db 8 ; base reward + dw AI_BASIC + AI_SETUP + AI_TYPES + AI_CAUTIOUS + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Medium + db 0, 0 ; items + db 10 ; base reward + dw AI_BASIC + AI_SETUP + AI_TYPES + AI_CAUTIOUS + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Boarder + db 0, 0 ; items + db 18 ; base reward + dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_STATUS + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Pokefanm + db 0, 0 ; items + db 20 ; base reward + dw AI_BASIC + AI_TYPES + AI_SMART + AI_STATUS + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Kimono Girl + db 0, 0 ; items + db 18 ; base reward + dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Twins + db 0, 0 ; items + db 5 ; base reward + dw NO_AI + dw CONTEXT_USE + SWITCH_OFTEN + +; Pokefanf + db 0, 0 ; items + db 20 ; base reward + dw AI_BASIC + AI_TYPES + AI_SMART + AI_STATUS + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Red + db FULL_RESTORE, FULL_RESTORE ; items + db 25 ; base reward + dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Blue + db FULL_RESTORE, FULL_RESTORE ; items + db 25 ; base reward + dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Officer + db 0, 0 ; items + db 10 ; base reward + dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_STATUS + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Gruntf + db 0, 0 ; items + db 10 ; base reward + dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Mysticalman + db 0, 0 ; items + db 25 ; base reward + dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; 39771 diff --git a/data/trainers/trainer_dvs.asm b/data/trainers/trainer_dvs.asm new file mode 100644 index 000000000..503c468d3 --- /dev/null +++ b/data/trainers/trainer_dvs.asm @@ -0,0 +1,93 @@ +GetTrainerDVs: ; 270c4 +; Return the DVs of OtherTrainerClass in bc + + push hl + ld a, [OtherTrainerClass] + dec a + ld c, a + ld b, 0 + + ld hl, TrainerClassDVs + add hl, bc + add hl, bc + + ld a, [hli] + ld b, a + ld c, [hl] + + pop hl + ret +; 270d6 + +TrainerClassDVs: ; 270d6 +; entries correspond to trainer classes (see constants/trainer_constants.asm) + ; Atk Spd + ; Def Spc + db $9A, $77 ; falkner + db $88, $88 ; bugsy + db $98, $88 ; whitney + db $98, $88 ; morty + db $98, $88 ; pryce + db $98, $88 ; jasmine + db $98, $88 ; chuck + db $7C, $DD ; clair + db $DD, $DD ; rival1 + db $98, $88 ; pokemon prof + db $DC, $DD ; will + db $DC, $DD ; cal + db $DC, $DD ; bruno + db $7F, $DF ; karen + db $DC, $DD ; koga + db $DC, $DD ; champion + db $98, $88 ; brock + db $78, $88 ; misty + db $98, $88 ; lt surge + db $98, $88 ; scientist + db $78, $88 ; erika + db $98, $88 ; youngster + db $98, $88 ; schoolboy + db $98, $88 ; bird keeper + db $58, $88 ; lass + db $98, $88 ; janine + db $D8, $C8 ; cooltrainerm + db $7C, $C8 ; cooltrainerf + db $69, $C8 ; beauty + db $98, $88 ; pokemaniac + db $D8, $A8 ; gruntm + db $98, $88 ; gentleman + db $98, $88 ; skier + db $68, $88 ; teacher + db $7D, $87 ; sabrina + db $98, $88 ; bug catcher + db $98, $88 ; fisher + db $98, $88 ; swimmerm + db $78, $88 ; swimmerf + db $98, $88 ; sailor + db $98, $88 ; super nerd + db $98, $88 ; rival2 + db $98, $88 ; guitarist + db $A8, $88 ; hiker + db $98, $88 ; biker + db $98, $88 ; blaine + db $98, $88 ; burglar + db $98, $88 ; firebreather + db $98, $88 ; juggler + db $98, $88 ; blackbelt + db $D8, $A8 ; executivem + db $98, $88 ; psychic + db $6A, $A8 ; picnicker + db $98, $88 ; camper + db $7E, $A8 ; executivef + db $98, $88 ; sage + db $78, $88 ; medium + db $98, $88 ; boarder + db $98, $88 ; pokefanm + db $68, $8A ; kimono girl + db $68, $A8 ; twins + db $6D, $88 ; pokefanf + db $FD, $DE ; red + db $9D, $DD ; blue + db $98, $88 ; officer + db $7E, $A8 ; gruntf + db $98, $88 ; mysticalman +; 2715c diff --git a/engine/item_effects.asm b/engine/item_effects.asm new file mode 100644 index 000000000..b38b13874 --- /dev/null +++ b/engine/item_effects.asm @@ -0,0 +1,3313 @@ +_DoItemEffect:: ; e722 + ld a, [CurItem] + ld [wd265], a + call GetItemName + call CopyName1 + ld a, 1 + ld [wItemEffectSucceeded], a + ld a, [CurItem] + dec a + ld hl, ItemEffects + rst JumpTable + ret +; e73c + + +ItemEffects: ; e73c + dw MasterBall + dw UltraBall + dw Brightpowder + dw GreatBall + dw PokeBall + dw TownMap + dw Bicycle + dw MoonStone + dw Antidote + dw BurnHeal + dw IceHeal + dw Awakening + dw ParlyzHeal + dw FullRestore + dw MaxPotion + dw HyperPotion + dw SuperPotion + dw Potion + dw EscapeRope + dw Repel + dw MaxElixer + dw FireStone + dw Thunderstone + dw WaterStone + dw Item19 + dw HPUp + dw Protein + dw Iron + dw Carbos + dw LuckyPunch + dw Calcium + dw RareCandy + dw XAccuracy + dw LeafStone + dw MetalPowder + dw Nugget + dw PokeDoll + dw FullHeal + dw Revive + dw MaxRevive + dw GuardSpec + dw SuperRepel + dw MaxRepel + dw DireHit + dw Item2D + dw FreshWater + dw SodaPop + dw Lemonade + dw XAttack + dw Item32 + dw XDefend + dw XSpeed + dw XSpecial + dw CoinCase + dw Itemfinder + dw PokeFlute + dw ExpShare + dw OldRod + dw GoodRod + dw SilverLeaf + dw SuperRod + dw PPUp + dw Ether + dw MaxEther + dw Elixer + dw RedScale + dw Secretpotion + dw SSTicket + dw MysteryEgg + dw ClearBell + dw SilverWing + dw MoomooMilk + dw QuickClaw + dw Psncureberry + dw GoldLeaf + dw SoftSand + dw SharpBeak + dw Przcureberry + dw BurntBerry + dw IceBerry + dw PoisonBarb + dw KingsRock + dw BitterBerry + dw MintBerry + dw RedApricorn + dw Tinymushroom + dw BigMushroom + dw Silverpowder + dw BluApricorn + dw Item5A + dw AmuletCoin + dw YlwApricorn + dw GrnApricorn + dw CleanseTag + dw MysticWater + dw Twistedspoon + dw WhtApricorn + dw Blackbelt + dw BlkApricorn + dw Item64 + dw PnkApricorn + dw Blackglasses + dw Slowpoketail + dw PinkBow + dw Stick + dw SmokeBall + dw Nevermeltice + dw Magnet + dw Miracleberry + dw Pearl + dw BigPearl + dw Everstone + dw SpellTag + dw Ragecandybar + dw GsBall + dw BlueCard + dw MiracleSeed + dw ThickClub + dw FocusBand + dw Item78 + dw Energypowder + dw EnergyRoot + dw HealPowder + dw RevivalHerb + dw HardStone + dw LuckyEgg + dw CardKey + dw MachinePart + dw EggTicket + dw LostItem + dw Stardust + dw StarPiece + dw BasementKey + dw Pass + dw Item87 + dw Item88 + dw Item89 + dw Charcoal + dw BerryJuice + dw ScopeLens + dw Item8D + dw Item8E + dw MetalCoat + dw DragonFang + dw Item91 + dw Leftovers + dw Item93 + dw Item94 + dw Item95 + dw Mysteryberry + dw DragonScale + dw BerserkGene + dw Item99 + dw Item9A + dw Item9B + dw SacredAsh + dw HeavyBall + dw FlowerMail + dw LevelBall + dw LureBall + dw FastBall + dw ItemA2 + dw LightBall + dw FriendBall + dw MoonBall + dw LoveBall + dw NormalBox + dw GorgeousBox + dw SunStone + dw PolkadotBow + dw ItemAB + dw UpGrade + dw Berry + dw GoldBerry + dw Squirtbottle + dw ItemB0 + dw ParkBall + dw RainbowWing + dw ItemB3 +; e8a2 + + +MasterBall: +UltraBall: +GreatBall: +PokeBall: +HeavyBall: +LevelBall: +LureBall: +FastBall: +FriendBall: +MoonBall: +LoveBall: +ParkBall: ; e8a2 + ld a, [wBattleMode] + dec a + jp nz, UseBallInTrainerBattle + + ld a, [PartyCount] + cp PARTY_LENGTH + jr nz, .room_in_party + + ld a, BANK(sBoxCount) + call GetSRAMBank + ld a, [sBoxCount] + cp MONS_PER_BOX + call CloseSRAM + jp z, Ball_BoxIsFullMessage + +.room_in_party + xor a + ld [wWildMon], a + ld a, [CurItem] + cp PARK_BALL + call nz, ReturnToBattle_UseBall + + ld hl, Options + res NO_TEXT_SCROLL, [hl] + ld hl, UsedItemText + call PrintText + + ld a, [EnemyMonCatchRate] + ld b, a + ld a, [BattleType] + cp BATTLETYPE_TUTORIAL + jp z, .catch_without_fail + ld a, [CurItem] + cp MASTER_BALL + jp z, .catch_without_fail + ld a, [CurItem] + ld c, a + ld hl, BallMultiplierFunctionTable + +.get_multiplier_loop + ld a, [hli] + cp $ff + jr z, .skip_or_return_from_ball_fn + cp c + jr z, .call_ball_function + inc hl + inc hl + jr .get_multiplier_loop + +.call_ball_function + ld a, [hli] + ld h, [hl] + ld l, a + ld de, .skip_or_return_from_ball_fn + push de + jp hl + +.skip_or_return_from_ball_fn + ld a, [CurItem] + cp LEVEL_BALL + ld a, b + jp z, .skip_hp_calc + + ld a, b + ld [hMultiplicand + 2], a + + ld hl, EnemyMonHP + ld b, [hl] + inc hl + ld c, [hl] + inc hl + ld d, [hl] + inc hl + ld e, [hl] + sla c + rl b + + ld h, d + ld l, e + add hl, de + add hl, de + ld d, h + ld e, l + ld a, d + and a + jr z, .okay_1 + + srl d + rr e + srl d + rr e + srl b + rr c + srl b + rr c + + ld a, c + and a + jr nz, .okay_1 + ld c, $1 +.okay_1 + ld b, e + + push bc + ld a, b + sub c + ld [hMultiplier], a + xor a + ld [hDividend + 0], a + ld [hMultiplicand + 0], a + ld [hMultiplicand + 1], a + call Multiply + pop bc + + ld a, b + ld [hDivisor], a + ld b, $4 + call Divide + + ld a, [hQuotient + 2] + and a + jr nz, .statuscheck + ld a, 1 +.statuscheck +; This routine is buggy. It was intended that SLP and FRZ provide a higher +; catch rate than BRN/PSN/PAR, which in turn provide a higher catch rate than +; no status effect at all. But instead, it makes BRN/PSN/PAR provide no +; benefit. +; Uncomment the line below to fix this. + ld b, a + ld a, [EnemyMonStatus] + and 1 << FRZ | SLP + ld c, 10 + jr nz, .addstatus + ; ld a, [EnemyMonStatus] + and a + ld c, 5 + jr nz, .addstatus + ld c, 0 +.addstatus + ld a, b + add c + jr nc, .max_1 + ld a, $ff +.max_1 + + ld d, a + push de + + ; BUG: callba overwrites a, + ; and GetItemHeldEffect takes b anyway. + + ; This is probably the reason + ; the HELD_CATCH_CHANCE effect + ; is never used. + + ; Uncomment the line below to fix. + + ld a, [BattleMonItem] +; ld b, a + callba GetItemHeldEffect + ld a, b + cp HELD_CATCH_CHANCE + + pop de + ld a, d + + jr nz, .skip_hp_calc + add c + jr nc, .skip_hp_calc + ld a, $ff +.skip_hp_calc + + ld b, a + ld [Buffer1], a + call Random + + cp b + ld a, 0 + jr z, .catch_without_fail + jr nc, .fail_to_catch + +.catch_without_fail + ld a, [EnemyMonSpecies] + +.fail_to_catch + ld [wWildMon], a + ld c, 20 + call DelayFrames + + ld a, [CurItem] + cp POKE_BALL + 1 ; Assumes Master/Ultra/Great come before + jr c, .not_kurt_ball + ld a, POKE_BALL +.not_kurt_ball + ld [wBattleAnimParam], a + + ld de, ANIM_THROW_POKE_BALL + ld a, e + ld [FXAnimID], a + ld a, d + ld [FXAnimID + 1], a + xor a + ld [hBattleTurn], a + ld [Buffer2], a + ld [wNumHits], a + predef PlayBattleAnim + + ld a, [wWildMon] + and a + jr nz, .caught + ld a, [Buffer2] + cp $1 + ld hl, Text_NoShake + jp z, .shake_and_break_free + cp $2 + ld hl, Text_OneShake + jp z, .shake_and_break_free + cp $3 + ld hl, Text_TwoShakes + jp z, .shake_and_break_free + cp $4 + ld hl, Text_ThreeShakes + jp z, .shake_and_break_free +.caught + + ld hl, EnemyMonStatus + ld a, [hli] + push af + inc hl + ld a, [hli] + push af + ld a, [hl] + push af + push hl + ld hl, EnemyMonItem + ld a, [hl] + push af + push hl + ld hl, EnemySubStatus5 + ld a, [hl] + push af + set SUBSTATUS_TRANSFORMED, [hl] + bit SUBSTATUS_TRANSFORMED, a + jr nz, .ditto + jr .not_ditto + +.ditto + ld a, DITTO + ld [TempEnemyMonSpecies], a + jr .load_data + +.not_ditto + set SUBSTATUS_TRANSFORMED, [hl] + ld hl, wEnemyBackupDVs + ld a, [EnemyMonDVs] + ld [hli], a + ld a, [EnemyMonDVs + 1] + ld [hl], a + +.load_data + ld a, [TempEnemyMonSpecies] + ld [CurPartySpecies], a + ld a, [EnemyMonLevel] + ld [CurPartyLevel], a + callba LoadEnemyMon + + pop af + ld [EnemySubStatus5], a + + pop hl + pop af + ld [hl], a + pop hl + pop af + ld [hld], a + pop af + ld [hld], a + dec hl + pop af + ld [hl], a + + ld hl, EnemySubStatus5 + bit SUBSTATUS_TRANSFORMED, [hl] + jr nz, .Transformed + ld hl, wWildMonMoves + ld de, EnemyMonMoves + ld bc, NUM_MOVES + call CopyBytes + + ld hl, wWildMonPP + ld de, EnemyMonPP + ld bc, NUM_MOVES + call CopyBytes +.Transformed: + + ld a, [EnemyMonSpecies] + ld [wWildMon], a + ld [CurPartySpecies], a + ld [wd265], a + ld a, [BattleType] + cp BATTLETYPE_TUTORIAL + jp z, .FinishTutorial + + callba TrainerRankings_WildMonsCaught + + ld hl, Text_GotchaMonWasCaught + call PrintText + + call ClearSprites + + ld a, [wd265] + dec a + call CheckCaughtMon + + ld a, c + push af + ld a, [wd265] + dec a + call SetSeenAndCaughtMon + pop af + and a + jr nz, .skip_pokedex + + call CheckReceivedDex + jr z, .skip_pokedex + + ld hl, Text_AddedToPokedex + call PrintText + + call ClearSprites + + ld a, [EnemyMonSpecies] + ld [wd265], a + predef NewPokedexEntry + +.skip_pokedex + ld a, [BattleType] + cp BATTLETYPE_CONTEST + jp z, .catch_bug_contest_mon + cp BATTLETYPE_CELEBI + jr nz, .not_celebi + ld hl, wBattleResult + set 6, [hl] +.not_celebi + + ld a, [PartyCount] + cp PARTY_LENGTH + jr z, .SendToPC + + xor a ; PARTYMON + ld [MonType], a + call ClearSprites + + predef TryAddMonToParty + + callba SetCaughtData + + ld a, [CurItem] + cp FRIEND_BALL + jr nz, .SkipPartyMonFriendBall + + ld a, [PartyCount] + dec a + ld hl, PartyMon1Happiness + ld bc, PARTYMON_STRUCT_LENGTH + call AddNTimes + + ld a, FRIEND_BALL_HAPPINESS + ld [hl], a +.SkipPartyMonFriendBall: + + ld hl, Text_AskNicknameNewlyCaughtMon + call PrintText + + ld a, [CurPartySpecies] + ld [wd265], a + call GetPokemonName + + call YesNoBox + jp c, .return_from_capture + + ld a, [PartyCount] + dec a + ld [CurPartyMon], a + ld hl, PartyMonNicknames + ld bc, PKMN_NAME_LENGTH + call AddNTimes + + ld d, h + ld e, l + push de + xor a ; PARTYMON + ld [MonType], a + ld b, 0 + callba NamingScreen + + call RotateThreePalettesRight + + call LoadStandardFont + + pop hl + ld de, StringBuffer1 + call InitName + + jp .return_from_capture + +.SendToPC: + call ClearSprites + + predef SentPkmnIntoBox + + callba SetBoxMonCaughtData + + ld a, BANK(sBoxCount) + call GetSRAMBank + + ld a, [sBoxCount] + cp MONS_PER_BOX + jr nz, .BoxNotFullYet + ld hl, wBattleResult + set 7, [hl] +.BoxNotFullYet: + ld a, [CurItem] + cp FRIEND_BALL + jr nz, .SkipBoxMonFriendBall + ; The captured mon is now first in the box + ld a, FRIEND_BALL_HAPPINESS + ld [sBoxMon1Happiness], a +.SkipBoxMonFriendBall: + call CloseSRAM + + ld hl, Text_AskNicknameNewlyCaughtMon + call PrintText + + ld a, [CurPartySpecies] + ld [wd265], a + call GetPokemonName + + call YesNoBox + jr c, .SkipBoxMonNickname + + xor a + ld [CurPartyMon], a + ld a, BOXMON + ld [MonType], a + ld de, wMonOrItemNameBuffer + ld b, $0 + callba NamingScreen + + ld a, BANK(sBoxMonNicknames) + call GetSRAMBank + + ld hl, wMonOrItemNameBuffer + ld de, sBoxMonNicknames + ld bc, PKMN_NAME_LENGTH + call CopyBytes + + ld hl, sBoxMonNicknames + ld de, StringBuffer1 + call InitName + + call CloseSRAM + +.SkipBoxMonNickname: + ld a, BANK(sBoxMonNicknames) + call GetSRAMBank + + ld hl, sBoxMonNicknames + ld de, wMonOrItemNameBuffer + ld bc, PKMN_NAME_LENGTH + call CopyBytes + + call CloseSRAM + + ld hl, Text_SentToBillsPC + call PrintText + + call RotateThreePalettesRight + call LoadStandardFont + jr .return_from_capture + +.catch_bug_contest_mon + callba BugContest_SetCaughtContestMon + jr .return_from_capture + +.FinishTutorial: + ld hl, Text_GotchaMonWasCaught + +.shake_and_break_free + call PrintText + call ClearSprites + +.return_from_capture + ld a, [BattleType] + cp BATTLETYPE_TUTORIAL + ret z + cp BATTLETYPE_DEBUG + ret z + cp BATTLETYPE_CONTEST + jr z, .used_park_ball + + ld a, [wWildMon] + and a + jr z, .toss + + call ClearBGPalettes + call ClearTileMap + +.toss + ld hl, NumItems + inc a + ld [wItemQuantityChangeBuffer], a + jp TossItem + +.used_park_ball + ld hl, wParkBallsRemaining + dec [hl] + ret +; ec0a + + +BallMultiplierFunctionTable: +; table of routines that increase or decrease the catch rate based on +; which ball is used in a certain situation. + dbw ULTRA_BALL, UltraBallMultiplier + dbw GREAT_BALL, GreatBallMultiplier + dbw SAFARI_BALL, SafariBallMultiplier ; Safari Ball, leftover from RBY + dbw HEAVY_BALL, HeavyBallMultiplier + dbw LEVEL_BALL, LevelBallMultiplier + dbw LURE_BALL, LureBallMultiplier + dbw FAST_BALL, FastBallMultiplier + dbw MOON_BALL, MoonBallMultiplier + dbw LOVE_BALL, LoveBallMultiplier + dbw PARK_BALL, ParkBallMultiplier + db $ff + +UltraBallMultiplier: +; multiply catch rate by 2 + sla b + ret nc + ld b, $ff + ret + +SafariBallMultiplier: +GreatBallMultiplier: +ParkBallMultiplier: +; multiply catch rate by 1.5 + ld a, b + srl a + add b + ld b, a + ret nc + ld b, $ff + ret + +GetPokedexEntryBank: + push hl + push de + ld a, [EnemyMonSpecies] + rlca + rlca + and 3 + ld hl, .PokedexEntryBanks + ld d, 0 + ld e, a + add hl, de + ld a, [hl] + pop de + pop hl + ret + +.PokedexEntryBanks: + +GLOBAL PokedexEntries1 +GLOBAL PokedexEntries2 +GLOBAL PokedexEntries3 +GLOBAL PokedexEntries4 + + db BANK(PokedexEntries1) + db BANK(PokedexEntries2) + db BANK(PokedexEntries3) + db BANK(PokedexEntries4) + +HeavyBallMultiplier: +; subtract 20 from catch rate if weight < 102.4 kg +; else add 0 to catch rate if weight < 204.8 kg +; else add 20 to catch rate if weight < 307.2 kg +; else add 30 to catch rate if weight < 409.6 kg +; else add 40 to catch rate (never happens) + ld a, [EnemyMonSpecies] + ld hl, PokedexDataPointerTable + dec a + ld e, a + ld d, 0 + add hl, de + add hl, de + ld a, BANK(PokedexDataPointerTable) + call GetFarHalfword + +.SkipText: + call GetPokedexEntryBank + call GetFarByte + inc hl + cp "@" + jr nz, .SkipText + + call GetPokedexEntryBank + push bc + inc hl + inc hl + call GetFarHalfword + + srl h + rr l + ld b, h + ld c, l + + rept 4 + srl b + rr c + endr + call .subbc + + srl b + rr c + call .subbc + + ld a, h + pop bc + jr .compare + +.subbc + ; subtract bc from hl + push bc + ld a, b + cpl + ld b, a + ld a, c + cpl + ld c, a + inc bc + add hl, bc + pop bc + ret + +.compare + ld c, a + cp 1024 >> 8 ; 102.4 kg + jr c, .lightmon + + ld hl, .WeightsTable +.lookup + ld a, c + cp [hl] + jr c, .heavymon + inc hl + inc hl + jr .lookup + +.heavymon + inc hl + ld a, b + add [hl] + ld b, a + ret nc + ld b, $ff + ret + +.lightmon + ld a, b + sub 20 + ld b, a + ret nc + ld b, $1 + ret + +.WeightsTable: +; weight factor, boost + db 2048 >> 8, 0 + db 3072 >> 8, 20 + db 4096 >> 8, 30 + db 65280 >> 8, 40 + +LureBallMultiplier: +; multiply catch rate by 3 if this is a fishing rod battle + ld a, [BattleType] + cp BATTLETYPE_FISH + ret nz + + ld a, b + add a + jr c, .max + + add b + jr nc, .done +.max + ld a, $ff +.done + ld b, a + ret + +MoonBallMultiplier: +; This function is buggy. +; Intent: multiply catch rate by 4 if mon evolves with moon stone +; Reality: no boost + +GLOBAL EvosAttacks +GLOBAL EvosAttacksPointers + + push bc + ld a, [TempEnemyMonSpecies] + dec a + ld c, a + ld b, 0 + ld hl, EvosAttacksPointers + add hl, bc + add hl, bc + ld a, BANK(EvosAttacksPointers) + call GetFarHalfword + pop bc + + push bc + ld a, BANK(EvosAttacks) + call GetFarByte + cp EVOLVE_ITEM + pop bc + ret nz + + inc hl + inc hl + inc hl + +; Moon Stone's constant from Pokémon Red is used. +; No Pokémon evolve with Burn Heal, +; so Moon Balls always have a catch rate of 1×. + push bc + ld a, BANK(EvosAttacks) + call GetFarByte + cp MOON_STONE_RED ; BURN_HEAL + pop bc + ret nz + + sla b + jr c, .max + sla b + jr nc, .done +.max + ld b, $ff +.done + ret + +LoveBallMultiplier: +; This function is buggy. +; Intent: multiply catch rate by 8 if mons are of same species, different sex +; Reality: multiply catch rate by 8 if mons are of same species, same sex + + ; does species match? + ld a, [TempEnemyMonSpecies] + ld c, a + ld a, [TempBattleMonSpecies] + cp c + ret nz + + ; check player mon species + push bc + ld a, [TempBattleMonSpecies] + ld [CurPartySpecies], a + xor a ; PARTYMON + ld [MonType], a + ld a, [CurBattleMon] + ld [CurPartyMon], a + callba GetGender + jr c, .done1 ; no effect on genderless + + ld d, 0 ; male + jr nz, .playermale + inc d ; female +.playermale + + ; check wild mon species + push de + ld a, [TempEnemyMonSpecies] + ld [CurPartySpecies], a + ld a, WILDMON + ld [MonType], a + callba GetGender + jr c, .done2 ; no effect on genderless + + ld d, 0 ; male + jr nz, .wildmale + inc d ; female +.wildmale + + ld a, d + pop de + cp d + pop bc + ret nz ; for the intended effect, this should be "ret z" + + sla b + jr c, .max + sla b + jr c, .max + sla b + ret nc +.max + ld b, $ff + ret + +.done2 + pop de + +.done1 + pop bc + ret + +FastBallMultiplier: +; This function is buggy. +; Intent: multiply catch rate by 4 if enemy mon is in one of the three +; FleeMons tables. +; Reality: multiply catch rate by 4 if enemy mon is one of the first three in +; the first FleeMons table. + ld a, [TempEnemyMonSpecies] + ld c, a + ld hl, FleeMons + ld d, 3 + +.loop + ld a, BANK(FleeMons) + call GetFarByte + + inc hl + cp -1 + jr z, .next + cp c + jr nz, .next ; for the intended effect, this should be "jr nz, .loop" + sla b + jr c, .max + + sla b + ret nc + +.max + ld b, $ff + ret + +.next + dec d + jr nz, .loop + ret + +LevelBallMultiplier: +; multiply catch rate by 8 if player mon level / 4 > enemy mon level +; multiply catch rate by 4 if player mon level / 2 > enemy mon level +; multiply catch rate by 2 if player mon level > enemy mon level + ld a, [BattleMonLevel] + ld c, a + ld a, [EnemyMonLevel] + cp c + ret nc ; if player is lower level, we're done here + sla b + jr c, .max + + srl c + cp c + ret nc ; if player/2 is lower level, we're done here + sla b + jr c, .max + + srl c + cp c + ret nc ; if player/4 is lower level, we're done here + sla b + ret nc + +.max + ld b, $ff + ret + +; These two texts were carried over from gen 1. +; They are not used in gen 2, and are dummied out. + +Text_RBY_CatchMarowak: ; 0xedab + ; It dodged the thrown BALL! This #MON can't be caught! + text_jump UnknownText_0x1c5a5a + db "@" +; 0xedb0 + +Text_RBY_NoShake: ; 0xedb0 + ; You missed the #MON! + text_jump UnknownText_0x1c5a90 + db "@" +; 0xedb5 + +Text_NoShake: ; 0xedb5 + ; Oh no! The #MON broke free! + text_jump UnknownText_0x1c5aa6 + db "@" +; 0xedba + +Text_OneShake: ; 0xedba + ; Aww! It appeared to be caught! + text_jump UnknownText_0x1c5ac3 + db "@" +; 0xedbf + +Text_TwoShakes: ; 0xedbf + ; Aargh! Almost had it! + text_jump UnknownText_0x1c5ae3 + db "@" +; 0xedc4 + +Text_ThreeShakes: ; 0xedc4 + ; Shoot! It was so close too! + text_jump UnknownText_0x1c5afa + db "@" +; 0xedc9 + +Text_GotchaMonWasCaught: ; 0xedc9 + ; Gotcha! @ was caught!@ @ + text_jump UnknownText_0x1c5b17 + start_asm + call WaitSFX + push bc + ld de, MUSIC_NONE + call PlayMusic + call DelayFrame + ld de, MUSIC_CAPTURE + call PlayMusic + pop bc + ld hl, TextJump_Waitbutton + ret +; ede6 + +TextJump_Waitbutton: ; 0xede6 + ; @ + text_jump Text_Waitbutton_2 + db "@" +; 0xedeb + +Text_SentToBillsPC: ; 0xedeb + ; was sent to BILL's PC. + text_jump UnknownText_0x1c5b38 + db "@" +; 0xedf0 + +Text_AddedToPokedex: ; 0xedf0 + ; 's data was newly added to the #DEX.@ @ + text_jump UnknownText_0x1c5b53 + db "@" +; 0xedf5 + +Text_AskNicknameNewlyCaughtMon: ; 0xedf5 + ; Give a nickname to @ ? + text_jump UnknownText_0x1c5b7f + db "@" +; 0xedfa + +ReturnToBattle_UseBall: ; edfa (3:6dfa) + callba _ReturnToBattle_UseBall + ret + +TownMap: ; ee01 + callba PokegearMap + ret +; ee08 + + +Bicycle: ; ee08 + callba BikeFunction + ret +; ee0f + + +MoonStone: +FireStone: +Thunderstone: +WaterStone: +LeafStone: +SunStone: ; ee0f + ld b, PARTYMENUACTION_EVO_STONE + call UseItem_SelectMon + + jp c, .DecidedNotToUse + + ld a, MON_ITEM + call GetPartyParamLocation + + ld a, [hl] + cp EVERSTONE + jr z, .NoEffect + + ld a, $1 + ld [wForceEvolution], a + callba EvolvePokemon + + ld a, [wMonTriedToEvolve] + and a + jr z, .NoEffect + + jp UseDisposableItem + +.NoEffect: + call WontHaveAnyEffectMessage + +.DecidedNotToUse: + xor a + ld [wItemEffectSucceeded], a + ret +; ee3d + + +HPUp: +Protein: +Iron: +Carbos: +Calcium: ; ee3d + ld b, PARTYMENUACTION_HEALING_ITEM + call UseItem_SelectMon + + jp c, RareCandy_StatBooster_ExitMenu + + call RareCandy_StatBooster_GetParameters + + call GetStatExpRelativePointer + + ld a, MON_STAT_EXP + call GetPartyParamLocation + + add hl, bc + ld a, [hl] + cp 100 + jr nc, NoEffectMessage + + add 10 + ld [hl], a + call UpdateStatsAfterItem + + call GetStatExpRelativePointer + + ld hl, StatStrings + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + ld de, StringBuffer2 + ld bc, ITEM_NAME_LENGTH + call CopyBytes + + call Play_SFX_FULL_HEAL + + ld hl, Text_StatRose + call PrintText + + ld c, HAPPINESS_USEDITEM + callba ChangeHappiness + + jp UseDisposableItem + + +NoEffectMessage: ; ee83 + ld hl, WontHaveAnyEffectText + call PrintText + jp ClearPalettes +; ee8c + + +UpdateStatsAfterItem: ; ee8c + ld a, MON_MAXHP + call GetPartyParamLocation + ld d, h + ld e, l + ld a, MON_STAT_EXP - 1 + call GetPartyParamLocation + ld b, $1 + predef_jump CalcPkmnStats +; ee9f + +RareCandy_StatBooster_ExitMenu: ; ee9f + xor a + ld [wItemEffectSucceeded], a + jp ClearPalettes +; eea6 + + +Text_StatRose: ; 0xeea6 + ; 's @ rose. + text_jump UnknownText_0x1c5b9a + db "@" +; 0xeeab + + +StatStrings: ; eeab + dw .health + dw .attack + dw .defense + dw .speed + dw .special + +.health db "HEALTH@" +.attack db "ATTACK@" +.defense db "DEFENSE@" +.speed db "SPEED@" +.special db "SPECIAL@" +; eed9 + + +GetStatExpRelativePointer: ; eed9 + ld a, [CurItem] + ld hl, Table_eeeb +.next + cp [hl] + inc hl + jr z, .got_it + inc hl + jr .next + +.got_it + ld a, [hl] + ld c, a + ld b, 0 + ret +; eeeb + +Table_eeeb: ; eeeb + db HP_UP, MON_HP_EXP - MON_STAT_EXP + db PROTEIN, MON_ATK_EXP - MON_STAT_EXP + db IRON, MON_DEF_EXP - MON_STAT_EXP + db CARBOS, MON_SPD_EXP - MON_STAT_EXP + db CALCIUM, MON_SPC_EXP - MON_STAT_EXP +; eef5 + + +RareCandy_StatBooster_GetParameters: ; eef5 + ld a, [CurPartySpecies] + ld [CurSpecies], a + ld [wd265], a + ld a, MON_LEVEL + call GetPartyParamLocation + ld a, [hl] + ld [CurPartyLevel], a + call GetBaseData + ld a, [CurPartyMon] + ld hl, PartyMonNicknames + call GetNick + ret +; 0xef14 + + +RareCandy: ; ef14 + ld b, PARTYMENUACTION_HEALING_ITEM + call UseItem_SelectMon + + jp c, RareCandy_StatBooster_ExitMenu + + call RareCandy_StatBooster_GetParameters + + ld a, MON_LEVEL + call GetPartyParamLocation + + ld a, [hl] + cp MAX_LEVEL + jp nc, NoEffectMessage + + inc a + ld [hl], a + ld [CurPartyLevel], a + push de + ld d, a + callba CalcExpAtLevel + + pop de + ld a, MON_EXP + call GetPartyParamLocation + + ld a, [hMultiplicand] + ld [hli], a + ld a, [hMultiplicand + 1] + ld [hli], a + ld a, [hMultiplicand + 2] + ld [hl], a + + ld a, MON_MAXHP + call GetPartyParamLocation + ld a, [hli] + ld b, a + ld c, [hl] + push bc + call UpdateStatsAfterItem + + ld a, MON_MAXHP + 1 + call GetPartyParamLocation + + pop bc + ld a, [hld] + sub c + ld c, a + ld a, [hl] + sbc b + ld b, a + dec hl + ld a, [hl] + add c + ld [hld], a + ld a, [hl] + adc b + ld [hl], a + callba LevelUpHappinessMod + + ld a, PARTYMENUTEXT_LEVEL_UP + call ItemActionText + + xor a ; PARTYMON + ld [MonType], a + predef CopyPkmnToTempMon + + hlcoord 9, 0 + ld b, 10 + ld c, 9 + call TextBox + + hlcoord 11, 1 + ld bc, $0004 + predef PrintTempMonStats + + call WaitPressAorB_BlinkCursor + + xor a ; PARTYMON + ld [MonType], a + ld a, [CurPartySpecies] + ld [wd265], a + predef LearnLevelMoves + + xor a + ld [wForceEvolution], a + callba EvolvePokemon + + jp UseDisposableItem +; efad + + +HealPowder: ; efad + ld b, PARTYMENUACTION_HEALING_ITEM + call UseItem_SelectMon + + jp c, StatusHealer_ExitMenu + + call UseStatusHealer + + cp $0 + jr nz, .asm_efc9 + ld c, HAPPINESS_BITTERPOWDER + callba ChangeHappiness + + call LooksBitterMessage + + ld a, $0 + +.asm_efc9 + jp StatusHealer_Jumptable +; efcc + + +Antidote: +BurnHeal: +IceHeal: +Awakening: +ParlyzHeal: +FullHeal: +Psncureberry: +Przcureberry: +BurntBerry: +IceBerry: +MintBerry: +Miracleberry: ; efcc + ld b, PARTYMENUACTION_HEALING_ITEM + call UseItem_SelectMon + jp c, StatusHealer_ExitMenu + +FullyHealStatus: ; efd4 + call UseStatusHealer + jp StatusHealer_Jumptable +; efda + + +UseStatusHealer: ; efda (3:6fda) + call IsMonFainted + ld a, $1 + ret z + call GetItemHealingAction + ld a, MON_STATUS + call GetPartyParamLocation + ld a, [hl] + and c + jr nz, .good + call IsItemUsedOnConfusedMon + ld a, $1 + ret nc + ld b, PARTYMENUTEXT_HEAL_CONFUSION +.good + xor a + ld [hl], a + ld a, b + ld [PartyMenuActionText], a + call HealStatus + call Play_SFX_FULL_HEAL + call ItemActionTextWaitButton + call UseDisposableItem + ld a, $0 + ret + +IsItemUsedOnConfusedMon: ; f009 (3:7009) + call IsItemUsedOnBattleMon + jr nc, .nope + ld a, [PlayerSubStatus3] + bit SUBSTATUS_CONFUSED, a + jr z, .nope + ld a, c + cp $ff + jr nz, .nope + scf + ret + +.nope + and a + ret + +BattlemonRestoreHealth: ; f01e (3:701e) + call IsItemUsedOnBattleMon + ret nc + ld a, MON_HP + call GetPartyParamLocation + ld a, [hli] + ld [BattleMonHP], a + ld a, [hld] + ld [BattleMonHP + 1], a + ret + +HealStatus: ; f030 (3:7030) + call IsItemUsedOnBattleMon + ret nc + xor a + ld [BattleMonStatus], a + ld hl, PlayerSubStatus5 + res SUBSTATUS_TOXIC, [hl] + ld hl, PlayerSubStatus1 + res SUBSTATUS_NIGHTMARE, [hl] + call GetItemHealingAction + ld a, c + cp %11111111 + jr nz, .not_full_heal + ld hl, PlayerSubStatus3 + res SUBSTATUS_CONFUSED, [hl] +.not_full_heal + push bc + callba CalcPlayerStats + pop bc + ret + +GetItemHealingAction: ; f058 (3:7058) + push hl + ld a, [CurItem] + ld hl, .healingactions + ld bc, 3 +.next + cp [hl] + jr z, .found_it + add hl, bc + jr .next + +.found_it + inc hl + ld b, [hl] + inc hl + ld a, [hl] + ld c, a + cp %11111111 + pop hl + ret +; f071 (3:7071) + +.healingactions ; f071 +; item, party menu action text, status + db ANTIDOTE, PARTYMENUTEXT_HEAL_PSN, 1 << PSN + db BURN_HEAL, PARTYMENUTEXT_HEAL_BRN, 1 << BRN + db ICE_HEAL, PARTYMENUTEXT_HEAL_FRZ, 1 << FRZ + db AWAKENING, PARTYMENUTEXT_HEAL_SLP, SLP + db PARLYZ_HEAL, PARTYMENUTEXT_HEAL_PAR, 1 << PAR + db FULL_HEAL, PARTYMENUTEXT_HEAL_ALL, %11111111 + db FULL_RESTORE, PARTYMENUTEXT_HEAL_ALL, %11111111 + db HEAL_POWDER, PARTYMENUTEXT_HEAL_ALL, %11111111 + db PSNCUREBERRY, PARTYMENUTEXT_HEAL_PSN, 1 << PSN + db PRZCUREBERRY, PARTYMENUTEXT_HEAL_PAR, 1 << PAR + db BURNT_BERRY, PARTYMENUTEXT_HEAL_FRZ, 1 << FRZ + db ICE_BERRY, PARTYMENUTEXT_HEAL_BRN, 1 << BRN + db MINT_BERRY, PARTYMENUTEXT_HEAL_SLP, SLP + db MIRACLEBERRY, PARTYMENUTEXT_HEAL_ALL, %11111111 + db -1, 0, 0 +; f09e + +StatusHealer_Jumptable: ; f09e (3:709e) + ld hl, .dw + rst JumpTable + ret + +.dw ; f0a3 (3:70a3) + dw StatusHealer_ClearPalettes + dw StatusHealer_NoEffect + dw StatusHealer_ExitMenu + + +RevivalHerb: ; f0a9 + ld b, PARTYMENUACTION_HEALING_ITEM + call UseItem_SelectMon + jp c, StatusHealer_ExitMenu + + call RevivePokemon + cp 0 + jr nz, .asm_f0c5 + + ld c, HAPPINESS_REVIVALHERB + callba ChangeHappiness + call LooksBitterMessage + ld a, 0 + +.asm_f0c5 + jp StatusHealer_Jumptable +; f0c8 + + +Revive: +MaxRevive: ; f0c8 + ld b, PARTYMENUACTION_HEALING_ITEM + call UseItem_SelectMon + jp c, StatusHealer_ExitMenu + + call RevivePokemon + jp StatusHealer_Jumptable +; f0d6 + + +RevivePokemon: ; f0d6 + call IsMonFainted + ld a, 1 + ret nz + ld a, [wBattleMode] + and a + jr z, .skip_to_revive + + ld a, [CurPartyMon] + ld c, a + ld d, 0 + ld hl, wBattleParticipantsIncludingFainted + ld b, CHECK_FLAG + predef FlagPredef + ld a, c + and a + jr z, .skip_to_revive + + ld a, [CurPartyMon] + ld c, a + ld hl, wBattleParticipantsNotFainted + ld b, SET_FLAG + predef FlagPredef + +.skip_to_revive + xor a + ld [Danger], a + ld a, [CurItem] + cp REVIVE + jr z, .revive_half_hp + + call ReviveFullHP + jr .finish_revive + +.revive_half_hp + call ReviveHalfHP + +.finish_revive + call HealHP_SFX_GFX + ld a, PARTYMENUTEXT_REVIVE + ld [PartyMenuActionText], a + call ItemActionTextWaitButton + call UseDisposableItem + ld a, 0 + ret +; f128 + + +FullRestore: ; f128 + ld b, PARTYMENUACTION_HEALING_ITEM + call UseItem_SelectMon + jp c, StatusHealer_ExitMenu + + call IsMonFainted + jp z, StatusHealer_NoEffect + + call IsMonAtFullHealth + jr c, .NotAtFullHealth + + jp FullyHealStatus + +.NotAtFullHealth: + call .FullRestore + jp StatusHealer_Jumptable +; f144 + + +.FullRestore: ; f144 + xor a + ld [Danger], a + call ReviveFullHP + ld a, MON_STATUS + call GetPartyParamLocation + xor a + ld [hli], a + ld [hl], a + call HealStatus + call BattlemonRestoreHealth + call HealHP_SFX_GFX + ld a, PARTYMENUTEXT_HEAL_HP + ld [PartyMenuActionText], a + call ItemActionTextWaitButton + call UseDisposableItem + ld a, 0 + ret +; f16a + + +BitterBerry: ; f16a + ld hl, PlayerSubStatus3 + bit SUBSTATUS_CONFUSED, [hl] + ld a, 1 + jr z, .done + + res SUBSTATUS_CONFUSED, [hl] + xor a + ld [hBattleTurn], a + call UseItemText + + ld hl, ConfusedNoMoreText + call StdBattleTextBox + + ld a, 0 + +.done + jp StatusHealer_Jumptable +; f186 + + +MaxPotion: +HyperPotion: +SuperPotion: +Potion: +FreshWater: +SodaPop: +Lemonade: +MoomooMilk: +Ragecandybar: +BerryJuice: +Berry: +GoldBerry: ; f186 + call ItemRestoreHP + jp StatusHealer_Jumptable +; f18c + + +Energypowder: ; f18c + ld c, HAPPINESS_BITTERPOWDER + jr EnergypowderEnergyRootCommon +; f190 + +EnergyRoot: ; f190 + ld c, HAPPINESS_ENERGYROOT +; f192 + +EnergypowderEnergyRootCommon: ; f192 + push bc + call ItemRestoreHP + pop bc + cp 0 + jr nz, .skip_happiness + + callba ChangeHappiness + call LooksBitterMessage + ld a, 0 + +.skip_happiness + jp StatusHealer_Jumptable +; f1a9 + + +ItemRestoreHP: ; f1a9 (3:71a9) + ld b, PARTYMENUACTION_HEALING_ITEM + call UseItem_SelectMon + ld a, 2 + ret c + + call IsMonFainted + ld a, 1 + ret z + + call IsMonAtFullHealth + ld a, 1 + ret nc + + xor a + ld [Danger], a + call GetHealingItemAmount + call RestoreHealth + call BattlemonRestoreHealth + call HealHP_SFX_GFX + ld a, PARTYMENUTEXT_HEAL_HP + ld [PartyMenuActionText], a + call ItemActionTextWaitButton + call UseDisposableItem + ld a, 0 + ret + +HealHP_SFX_GFX: ; f1db (3:71db) + push de + ld de, SFX_POTION + call WaitPlaySFX + pop de + ld a, [CurPartyMon] + hlcoord 11, 0 + ld bc, SCREEN_WIDTH * 2 + call AddNTimes + ld a, $2 + ld [wWhichHPBar], a + predef_jump AnimateHPBar + +UseItem_SelectMon: ; f1f9 (3:71f9) + call .SelectMon + ret c + + ld a, [CurPartySpecies] + cp EGG + jr nz, .not_egg + + call CantUseOnEggMessage + scf + ret + +.not_egg + and a + ret + +.SelectMon: ; f20b (3:720b) + ld a, b + ld [PartyMenuActionText], a + push hl + push de + push bc + call ClearBGPalettes + call ChoosePkmnToUseItemOn + pop bc + pop de + pop hl + ret + +ChoosePkmnToUseItemOn: ; f21c (3:721c) + callba LoadPartyMenuGFX + callba InitPartyMenuWithCancel + callba InitPartyMenuGFX + callba WritePartyMenuTilemap + callba PrintPartyMenuText + call WaitBGMap + call SetPalettes + call DelayFrame + callba PartyMenuSelect + ret + +ItemActionText: ; f24a (3:724a) + ld [PartyMenuActionText], a + ld a, [CurPartySpecies] + push af + ld a, [CurPartyMon] + push af + push hl + push de + push bc + callba WritePartyMenuTilemap + callba PrintPartyMenuActionText + call WaitBGMap + call SetPalettes + call DelayFrame + pop bc + pop de + pop hl + pop af + ld [CurPartyMon], a + pop af + ld [CurPartySpecies], a + ret + +ItemActionTextWaitButton: ; f279 (3:7279) + xor a + ld [hBGMapMode], a + hlcoord 0, 0 + ld bc, TileMapEnd - TileMap + ld a, " " + call ByteFill + ld a, [PartyMenuActionText] + call ItemActionText + ld a, $1 + ld [hBGMapMode], a + ld c, 50 + call DelayFrames + jp WaitPressAorB_BlinkCursor + +StatusHealer_NoEffect: ; f299 (3:7299) + call WontHaveAnyEffectMessage + jr StatusHealer_ClearPalettes + +StatusHealer_ExitMenu: ; f29e (3:729e) + xor a + ld [wItemEffectSucceeded], a +StatusHealer_ClearPalettes: ; f2a2 (3:72a2) + call ClearPalettes + ret + +IsItemUsedOnBattleMon: ; f2a6 (3:72a6) + ld a, [wBattleMode] + and a + ret z + ld a, [CurPartyMon] + push hl + ld hl, CurBattleMon + cp [hl] + pop hl + jr nz, .nope + scf + ret + +.nope + xor a + ret + +ReviveHalfHP: ; f2ba (3:72ba) + call LoadHPFromBuffer1 + srl d + rr e + jr ContinueRevive + +ReviveFullHP: ; f2c3 (3:72c3) + call LoadHPFromBuffer1 +ContinueRevive: ; f2c6 (3:72c6) + ld a, MON_HP + call GetPartyParamLocation + ld [hl], d + inc hl + ld [hl], e + jp LoadCurHPIntoBuffer5 + +RestoreHealth: ; f2d1 (3:72d1) + ld a, MON_HP + 1 + call GetPartyParamLocation + ld a, [hl] + add e + ld [hld], a + ld a, [hl] + adc d + ld [hl], a + jr c, .full_hp + call LoadCurHPIntoBuffer5 + ld a, MON_HP + 1 + call GetPartyParamLocation + ld d, h + ld e, l + ld a, MON_MAXHP + 1 + call GetPartyParamLocation + ld a, [de] + sub [hl] + dec de + dec hl + ld a, [de] + sbc [hl] + jr c, .finish +.full_hp + call ReviveFullHP +.finish + ret + +RemoveHP: ; f2f9 (3:72f9) + ld a, MON_HP + 1 + call GetPartyParamLocation + ld a, [hl] + sub e + ld [hld], a + ld a, [hl] + sbc d + ld [hl], a + jr nc, .okay + xor a + ld [hld], a + ld [hl], a +.okay + call LoadCurHPIntoBuffer5 + ret + +IsMonFainted: ; f30d (3:730d) + push de + call LoadMaxHPToBuffer1 + call LoadCurHPToBuffer3 + call LoadHPFromBuffer3 + ld a, d + or e + pop de + ret + +IsMonAtFullHealth: ; f31b (3:731b) + call LoadHPFromBuffer3 + ld h, d + ld l, e + call LoadHPFromBuffer1 + ld a, l + sub e + ld a, h + sbc d + ret + +LoadCurHPIntoBuffer5: ; f328 (3:7328) + ld a, MON_HP + call GetPartyParamLocation + ld a, [hli] + ld [Buffer6], a + ld a, [hl] + ld [Buffer5], a + ret +; f336 (3:7336) + +LoadHPIntoBuffer5: ; f336 + ld a, d + ld [Buffer6], a + ld a, e + ld [Buffer5], a + ret +; f33f + +LoadHPFromBuffer5: ; f33f + ld a, [Buffer6] + ld d, a + ld a, [Buffer5] + ld e, a + ret +; f348 + +LoadCurHPToBuffer3: ; f348 (3:7348) + ld a, MON_HP + call GetPartyParamLocation + ld a, [hli] + ld [Buffer4], a + ld a, [hl] + ld [Buffer3], a + ret + +LoadHPFromBuffer3: ; f356 (3:7356) + ld a, [Buffer4] + ld d, a + ld a, [Buffer3] + ld e, a + ret + +LoadMaxHPToBuffer1: ; f35f (3:735f) + push hl + ld a, MON_MAXHP + call GetPartyParamLocation + ld a, [hli] + ld [Buffer2], a + ld a, [hl] + ld [Buffer1], a + pop hl + ret + +LoadHPFromBuffer1: ; f36f (3:736f) + ld a, [Buffer2] + ld d, a + ld a, [Buffer1] + ld e, a + ret + +GetOneFifthMaxHP: ; f378 (3:7378) + push bc + ld a, MON_MAXHP + call GetPartyParamLocation + ld a, [hli] + ld [hDividend + 0], a + ld a, [hl] + ld [hDividend + 1], a + ld a, 5 + ld [hDivisor], a + ld b, 2 + call Divide + ld a, [hQuotient + 1] + ld d, a + ld a, [hQuotient + 2] + ld e, a + pop bc + ret + +GetHealingItemAmount: ; f395 (3:7395) + push hl + ld a, [CurItem] + ld hl, .Healing + ld d, a +.next + ld a, [hli] + cp -1 + jr z, .NotFound + cp d + jr z, .done + inc hl + inc hl + jr .next + +.NotFound: + scf +.done + ld e, [hl] + inc hl + ld d, [hl] + pop hl + ret +; f3af (3:73af) + +.Healing: ; f3af + dbw FRESH_WATER, 50 + dbw SODA_POP, 60 + dbw LEMONADE, 80 + dbw HYPER_POTION, 200 + dbw SUPER_POTION, 50 + dbw POTION, 20 + dbw MAX_POTION, 999 + dbw FULL_RESTORE, 999 + dbw MOOMOO_MILK, 100 + dbw BERRY, 10 + dbw GOLD_BERRY, 30 + dbw ENERGYPOWDER, 50 + dbw ENERGY_ROOT, 200 + dbw RAGECANDYBAR, 20 + dbw BERRY_JUICE, 20 + dbw -1, 0 +; f3df + +Softboiled_MilkDrinkFunction: ; f3df (3:73df) +; Softboiled/Milk Drink in the field + ld a, [wPartyMenuCursor] + dec a + ld b, a + call .SelectMilkDrinkRecipient ; select pokemon + jr c, .skip + ld a, b + ld [CurPartyMon], a + call IsMonFainted + call GetOneFifthMaxHP + call RemoveHP + push bc + call HealHP_SFX_GFX + pop bc + call GetOneFifthMaxHP + ld a, c + ld [CurPartyMon], a + call IsMonFainted + call RestoreHealth + call HealHP_SFX_GFX + ld a, PARTYMENUTEXT_HEAL_HP + call ItemActionText + call JoyWaitAorB +.skip + ld a, b + inc a + ld [wPartyMenuCursor], a + ret + +.SelectMilkDrinkRecipient: ; f419 (3:7419) +.loop + push bc + ld a, PARTYMENUACTION_HEALING_ITEM + ld [PartyMenuActionText], a + call ChoosePkmnToUseItemOn + pop bc + jr c, .set_carry + ld a, [wPartyMenuCursor] + dec a + ld c, a + ld a, b + cp c + jr z, .cant_use ; chose the same mon as user + ld a, c + ld [CurPartyMon], a + call IsMonFainted + jr z, .cant_use + call IsMonAtFullHealth + jr nc, .cant_use + xor a + ret + +.set_carry + scf + ret + +.cant_use + push bc + ld hl, .Text_CantBeUsed + call MenuTextBoxBackup + pop bc + jr .loop +; f44a (3:744a) + +.Text_CantBeUsed: ; 0xf44a + ; That can't be used on this #MON. + text_jump UnknownText_0x1c5bac + db "@" +; 0xf44f + + +EscapeRope: ; f44f + xor a + ld [wItemEffectSucceeded], a + callba EscapeRopeFunction + + ld a, [wItemEffectSucceeded] + cp 1 + call z, UseDisposableItem + ret +; f462 + + +SuperRepel: ; f462 + ld b, 200 + jr UseRepel +; f466 + +MaxRepel: ; f466 + ld b, 250 + jr UseRepel +; f466 + +Repel: ; f46a + ld b, 100 +; f46c + +UseRepel: ; f46c + ld a, [wRepelEffect] + and a + ld hl, TextJump_RepelUsedEarlierIsStillInEffect + jp nz, PrintText + + ld a, b + ld [wRepelEffect], a + jp UseItemText + + +TextJump_RepelUsedEarlierIsStillInEffect: ; 0xf47d + ; The REPEL used earlier is still in effect. + text_jump Text_RepelUsedEarlierIsStillInEffect + db "@" +; 0xf482 + + +XAccuracy: ; f482 + ld hl, PlayerSubStatus4 + bit SUBSTATUS_X_ACCURACY, [hl] + jp nz, WontHaveAnyEffect_NotUsedMessage + set SUBSTATUS_X_ACCURACY, [hl] + jp UseItemText +; f48f + + +PokeDoll: ; f48f + ld a, [wBattleMode] + dec a + jr nz, .asm_f4a6 + inc a + ld [wForcedSwitch], a + ld a, [wBattleResult] + and 3 << 6 + or $2 + ld [wBattleResult], a + jp UseItemText + +.asm_f4a6 + xor a + ld [wItemEffectSucceeded], a + ret +; f4ab + + +GuardSpec: ; f4ab + ld hl, PlayerSubStatus4 + bit SUBSTATUS_MIST, [hl] + jp nz, WontHaveAnyEffect_NotUsedMessage + set SUBSTATUS_MIST, [hl] + jp UseItemText +; f4b8 + + +DireHit: ; f4b8 + ld hl, PlayerSubStatus4 + bit SUBSTATUS_FOCUS_ENERGY, [hl] + jp nz, WontHaveAnyEffect_NotUsedMessage + set SUBSTATUS_FOCUS_ENERGY, [hl] + jp UseItemText +; f4c5 + + +XAttack: +XDefend: +XSpeed: +XSpecial: ; f4c5 + call UseItemText + + ld a, [CurItem] + ld hl, .x_item_table + +.loop + cp [hl] + jr z, .got_it + inc hl + inc hl + jr .loop + +.got_it + inc hl + ld b, [hl] + xor a + ld [hBattleTurn], a + ld [AttackMissed], a + ld [EffectFailed], a + callba CheckIfStatCanBeRaised + call WaitSFX + + callba BattleCommand_StatUpMessage + callba BattleCommand_StatUpFailText + + ld a, [CurBattleMon] + ld [CurPartyMon], a + ld c, HAPPINESS_USEDXITEM + callba ChangeHappiness + ret +; f504 + +.x_item_table ; f504 + db X_ATTACK, ATTACK + db X_DEFEND, DEFENSE + db X_SPEED, SPEED + db X_SPECIAL, SP_ATTACK +; f50c + + +PokeFlute: ; f50c + ld a, [wBattleMode] + and a + jr nz, .dummy +.dummy + + xor a + ld [wd002], a + + ld b, $ff ^ SLP + + ld hl, PartyMon1Status + call .CureSleep + + ld a, [wBattleMode] + cp WILD_BATTLE + jr z, .skip_otrainer + ld hl, OTPartyMon1Status + call .CureSleep +.skip_otrainer + + ld hl, BattleMonStatus + ld a, [hl] + and b + ld [hl], a + ld hl, EnemyMonStatus + ld a, [hl] + and b + ld [hl], a + + ld a, [wd002] + and a + ld hl, .CatchyTune + jp z, PrintText + ld hl, .PlayedTheFlute + call PrintText + + ld a, [Danger] + and $80 + jr nz, .dummy2 +.dummy2 + ld hl, .AllSleepingMonWokeUp + jp PrintText + + +.CureSleep: + ld de, PARTYMON_STRUCT_LENGTH + ld c, PARTY_LENGTH + +.loop + ld a, [hl] + push af + and SLP + jr z, .not_asleep + ld a, 1 + ld [wd002], a +.not_asleep + pop af + and b + ld [hl], a + add hl, de + dec c + jr nz, .loop + ret +; f56c + + +.CatchyTune: ; 0xf56c + ; Played the # FLUTE. Now, that's a catchy tune! + text_jump UnknownText_0x1c5bf9 + db "@" +; 0xf571 + +.AllSleepingMonWokeUp: ; 0xf571 + ; All sleeping #MON woke up. + text_jump UnknownText_0x1c5c28 + db "@" +; 0xf576 + +.PlayedTheFlute: ; 0xf576 + ; played the # FLUTE.@ @ + text_jump UnknownText_0x1c5c44 + start_asm + ld a, [wBattleMode] + and a + jr nz, .battle + + push de + ld de, SFX_POKEFLUTE + call WaitPlaySFX + call WaitSFX + pop de + +.battle + jp PokeFluteTerminatorCharacter +; f58f + + +BlueCard: ; f58f + ld hl, .bluecardtext + jp MenuTextBoxWaitButton + +.bluecardtext + text_jump UnknownText_0x1c5c5e + db "@" +; f59a + + +CoinCase: ; f59a + ld hl, .coincasetext + jp MenuTextBoxWaitButton + +.coincasetext + text_jump UnknownText_0x1c5c7b + db "@" +; f5a5 + + +OldRod: ; f5a5 + ld e, $0 + jr UseRod +; f5a9 + +GoodRod: ; f5a9 + ld e, $1 + jr UseRod +; f5ad + +SuperRod: ; f5ad + ld e, $2 + jr UseRod +; f5b1 + +UseRod: ; f5b1 + callba FishFunction + ret +; f5b8 + + +Itemfinder: ; f5b8 + callba ItemFinder + ret +; f5bf + + +MaxElixer: +PPUp: +Ether: +MaxEther: +Elixer: +Mysteryberry: ; f5bf + ld a, [CurItem] + ld [wd002], a + +.loop + ; Party Screen opens to choose on which Pkmn to use the Item + ld b, PARTYMENUACTION_HEALING_ITEM + call UseItem_SelectMon + jp c, PPRestoreItem_Cancel + +.loop2 + ld a, [wd002] + cp MAX_ELIXER + jp z, Elixer_RestorePPofAllMoves + cp ELIXER + jp z, Elixer_RestorePPofAllMoves + + ld hl, TextJump_RaiseThePPOfWhichMove + ld a, [wd002] + cp PP_UP + jr z, .ppup + ld hl, TextJump_RestoreThePPOfWhichMove + +.ppup + call PrintText + + ld a, [CurMoveNum] + push af + xor a + ld [CurMoveNum], a + ld a, $2 + ld [wMoveSelectionMenuType], a + callba MoveSelectionScreen + pop bc + + ld a, b + ld [CurMoveNum], a + jr nz, .loop + ld hl, PartyMon1Moves + ld bc, PARTYMON_STRUCT_LENGTH + call GetMthMoveOfNthPartymon + + push hl + ld a, [hl] + ld [wd265], a + call GetMoveName + call CopyName1 + pop hl + + ld a, [wd002] + cp PP_UP + jp nz, Not_PP_Up + + ld a, [hl] + cp SKETCH + jr z, .CantUsePPUpOnSketch + + ld bc, $0015 + add hl, bc + ld a, [hl] + cp 3 << 6 ; have 3 PP Ups already been used? + jr c, .do_ppup + +.CantUsePPUpOnSketch: +.pp_is_maxed_out + ld hl, TextJump_PPIsMaxedOut + call PrintText + jr .loop2 + +.do_ppup + ld a, [hl] + add 1 << 6 ; increase PP Up count by 1 + ld [hl], a + ld a, $1 + ld [wd265], a + call ApplyPPUp + call Play_SFX_FULL_HEAL + + ld hl, TextJump_PPsIncreased + call PrintText + +FinishPPRestore: ; f64c + call ClearPalettes + jp UseDisposableItem +; f652 + +BattleRestorePP: ; f652 + ld a, [wBattleMode] + and a + jr z, .not_in_battle + ld a, [CurPartyMon] + ld b, a + ld a, [CurBattleMon] + cp b + jr nz, .not_in_battle + ld a, [PlayerSubStatus5] + bit SUBSTATUS_TRANSFORMED, a + jr nz, .not_in_battle + call .UpdateBattleMonPP + +.not_in_battle + call Play_SFX_FULL_HEAL + ld hl, UnknownText_0xf739 + call PrintText + jr FinishPPRestore + +.UpdateBattleMonPP: + ld a, [CurPartyMon] + ld hl, PartyMon1Moves + ld bc, PARTYMON_STRUCT_LENGTH + call AddNTimes + ld de, BattleMonMoves + ld b, NUM_MOVES +.loop + ld a, [de] + and a + jr z, .done + cp [hl] + jr nz, .next + push hl + push de + push bc + rept NUM_MOVES + 2 ; BattleMonPP - BattleMonMoves + inc de + endr + ld bc, MON_PP - MON_MOVES + add hl, bc + ld a, [hl] + ld [de], a + pop bc + pop de + pop hl + +.next + inc hl + inc de + dec b + jr nz, .loop + +.done + ret +; f6a7 + +Not_PP_Up: ; f6a7 + call RestorePP + jr nz, BattleRestorePP + jp PPRestoreItem_NoEffect +; f6af + +Elixer_RestorePPofAllMoves: ; f6af + xor a + ld hl, wMenuCursorY + ld [hli], a + ld [hl], a + ld b, NUM_MOVES +.moveLoop + push bc + ld hl, PartyMon1Moves + ld bc, PARTYMON_STRUCT_LENGTH + call GetMthMoveOfNthPartymon + ld a, [hl] + and a + jr z, .next + + call RestorePP + jr z, .next + ld hl, wMenuCursorX + inc [hl] + +.next + ld hl, wMenuCursorY + inc [hl] + pop bc + dec b + jr nz, .moveLoop + ld a, [wMenuCursorX] + and a + jp nz, BattleRestorePP + +PPRestoreItem_NoEffect: ; f6dd + call WontHaveAnyEffectMessage + +PPRestoreItem_Cancel: ; f6e0 + call ClearPalettes + xor a + ld [wItemEffectSucceeded], a + ret +; f6e8 + +RestorePP: ; f6e8 + xor a ; PARTYMON + ld [MonType], a + call GetMaxPPOfMove + ld hl, PartyMon1PP + ld bc, PARTYMON_STRUCT_LENGTH + call GetMthMoveOfNthPartymon + ld a, [wd265] + ld b, a + ld a, [hl] + and (1 << 6) - 1 + cp b + jr nc, .dont_restore + + ld a, [wd002] + cp MAX_ELIXER + jr z, .restore_all + cp MAX_ETHER + jr z, .restore_all + + ld c, 5 + cp MYSTERYBERRY + jr z, .restore_some + + ld c, 10 + +.restore_some + ld a, [hl] + and (1 << 6) - 1 + add c + cp b + jr nc, .restore_all + ld b, a + +.restore_all + ld a, [hl] + and 3 << 6 + or b + ld [hl], a + ret + +.dont_restore + xor a + ret +; f725 + +TextJump_RaiseThePPOfWhichMove: ; 0xf725 + ; Raise the PP of which move? + text_jump Text_RaiseThePPOfWhichMove + db "@" +; 0xf72a + +TextJump_RestoreThePPOfWhichMove: ; 0xf72a + ; Restore the PP of which move? + text_jump Text_RestoreThePPOfWhichMove + db "@" +; 0xf72f + +TextJump_PPIsMaxedOut: ; 0xf72f + ; 's PP is maxed out. + text_jump Text_PPIsMaxedOut + db "@" +; 0xf734 + +TextJump_PPsIncreased: ; 0xf734 + ; 's PP increased. + text_jump Text_PPsIncreased + db "@" +; 0xf739 + +UnknownText_0xf739: ; 0xf739 + ; PP was restored. + text_jump UnknownText_0x1c5cf1 + db "@" +; 0xf73e + + +Squirtbottle: ; f73e + callba _Squirtbottle + ret +; f745 + + +CardKey: ; f745 + callba _CardKey + ret +; f74c + + +BasementKey: ; f74c + callba _BasementKey + ret +; f753 + + +SacredAsh: ; f753 + callba _SacredAsh + ld a, [wItemEffectSucceeded] + cp $1 + ret nz + call UseDisposableItem + ret +; f763 + + +NormalBox: ; f763 + ld c, DECOFLAG_SILVER_TROPHY_DOLL + jr OpenBox +; f767 + +GorgeousBox: ; f767 + ld c, DECOFLAG_GOLD_TROPHY_DOLL +OpenBox: ; f769 + callba SetSpecificDecorationFlag + + ld hl, .text + call PrintText + + jp UseDisposableItem +; f778 + +.text ; 0xf778 + ; There was a trophy inside! + text_jump UnknownText_0x1c5d03 + db "@" +; 0xf77d + +Brightpowder: +Item19: +LuckyPunch: +MetalPowder: +Nugget: +Item2D: +Item32: +ExpShare: +SilverLeaf: +RedScale: +Secretpotion: +SSTicket: +MysteryEgg: +ClearBell: +SilverWing: +QuickClaw: +GoldLeaf: +SoftSand: +SharpBeak: +PoisonBarb: +KingsRock: +RedApricorn: +Tinymushroom: +BigMushroom: +Silverpowder: +BluApricorn: +Item5A: +AmuletCoin: +YlwApricorn: +GrnApricorn: +CleanseTag: +MysticWater: +Twistedspoon: +WhtApricorn: +Blackbelt: +BlkApricorn: +Item64: +PnkApricorn: +Blackglasses: +Slowpoketail: +PinkBow: +Stick: +SmokeBall: +Nevermeltice: +Magnet: +Pearl: +BigPearl: +Everstone: +SpellTag: +GsBall: +MiracleSeed: +ThickClub: +FocusBand: +Item78: +HardStone: +LuckyEgg: +MachinePart: +EggTicket: +LostItem: +Stardust: +StarPiece: +Pass: +Item87: +Item88: +Item89: +Charcoal: +ScopeLens: +Item8D: +Item8E: +MetalCoat: +DragonFang: +Item91: +Leftovers: +Item93: +Item94: +Item95: +DragonScale: +BerserkGene: +Item99: +Item9A: +Item9B: +FlowerMail: +ItemA2: +LightBall: +PolkadotBow: +ItemAB: +UpGrade: +ItemB0: +RainbowWing: +ItemB3: +TeruSama: ; f77d + jp IsntTheTimeMessage +; f780 + + +Play_SFX_FULL_HEAL: ; f780 + push de + ld de, SFX_FULL_HEAL + call WaitPlaySFX + pop de + ret +; f789 + +UseItemText: ; f789 + ld hl, UsedItemText + call PrintText + call Play_SFX_FULL_HEAL + call WaitPressAorB_BlinkCursor +UseDisposableItem: ; f795 + ld hl, NumItems + ld a, 1 + ld [wItemQuantityChangeBuffer], a + jp TossItem +; f7a0 + +UseBallInTrainerBattle: ; f7a0 + call ReturnToBattle_UseBall + ld de, ANIM_THROW_POKE_BALL + ld a, e + ld [FXAnimID], a + ld a, d + ld [FXAnimID + 1], a + xor a + ld [wBattleAnimParam], a + ld [hBattleTurn], a + ld [wNumHits], a + predef PlayBattleAnim + ld hl, BlockedTheBallText + call PrintText + ld hl, DontBeAThiefText + call PrintText + jr UseDisposableItem +; f7ca + +WontHaveAnyEffect_NotUsedMessage: ; f7ca + ld hl, WontHaveAnyEffectText + call PrintText + + ; Item wasn't used. + ld a, $2 + ld [wItemEffectSucceeded], a + ret +; f7d6 + +LooksBitterMessage: ; f7d6 + ld hl, LooksBitterText + jp PrintText +; f7dc + +Ball_BoxIsFullMessage: ; f7dc + ld hl, Ball_BoxIsFullText + call PrintText + + ; Item wasn't used. + ld a, $2 + ld [wItemEffectSucceeded], a + ret +; f7e8 + +CantUseOnEggMessage: ; f7e8 + ld hl, CantUseOnEggText + jr CantUseItemMessage + +IsntTheTimeMessage: ; f7ed + ld hl, IsntTheTimeText + jr CantUseItemMessage + +WontHaveAnyEffectMessage: ; f7f2 + ld hl, WontHaveAnyEffectText + jr CantUseItemMessage + +BelongsToSomeoneElseMessage: ; f7f7 + ld hl, BelongsToSomeoneElseText + jr CantUseItemMessage + +CyclingIsntAllowedMessage: ; f7fc + ld hl, CyclingIsntAllowedText + jr CantUseItemMessage + +CantGetOnYourBikeMessage: ; f801 + ld hl, CantGetOnYourBikeText + +CantUseItemMessage: ; f804 +; Item couldn't be used. + xor a + ld [wItemEffectSucceeded], a + jp PrintText +; f80b + +LooksBitterText: ; 0xf80b + ; It looks bitter… + text_jump UnknownText_0x1c5d3e + db "@" +; 0xf810 + +CantUseOnEggText: ; 0xf810 + ; That can't be used on an EGG. + text_jump UnknownText_0x1c5d50 + db "@" +; 0xf815 + +IsntTheTimeText: ; 0xf815 + ; OAK: ! This isn't the time to use that! + text_jump UnknownText_0x1c5d6e + db "@" +; 0xf81a + +BelongsToSomeoneElseText: ; 0xf81a + ; That belongs to someone else! + text_jump UnknownText_0x1c5d97 + db "@" +; 0xf81f + +WontHaveAnyEffectText: ; 0xf81f + ; It won't have any effect. + text_jump UnknownText_0x1c5db6 + db "@" +; 0xf824 + +BlockedTheBallText: ; 0xf824 + ; The trainer blocked the BALL! + text_jump UnknownText_0x1c5dd0 + db "@" +; 0xf829 + +DontBeAThiefText: ; 0xf829 + ; Don't be a thief! + text_jump UnknownText_0x1c5def + db "@" +; 0xf82e + +CyclingIsntAllowedText: ; 0xf82e + ; Cycling isn't allowed here. + text_jump UnknownText_0x1c5e01 + db "@" +; 0xf833 + +CantGetOnYourBikeText: ; 0xf833 + ; Can't get on your @ now. + text_jump UnknownText_0x1c5e1d + db "@" +; 0xf838 + +Ball_BoxIsFullText: ; 0xf838 + ; The #MON BOX is full. That can't be used now. + text_jump UnknownText_0x1c5e3a + db "@" +; 0xf83d + +UsedItemText: ; 0xf83d + ; used the@ . + text_jump UnknownText_0x1c5e68 + db "@" +; 0xf842 + +GotOnTheItemText: ; 0xf842 + ; got on the@ . + text_jump UnknownText_0x1c5e7b + db "@" +; 0xf847 + +GotOffTheItemText: ; 0xf847 + ; got off@ the @ . + text_jump UnknownText_0x1c5e90 + db "@" +; 0xf84c + + +ApplyPPUp: ; f84c + ld a, MON_MOVES + call GetPartyParamLocation + push hl + ld de, Buffer1 + predef FillPP + pop hl + ld bc, MON_PP - MON_MOVES + add hl, bc + ld de, Buffer1 + ld b, 0 +.loop + inc b + ld a, b + cp NUM_MOVES + 1 + ret z + ld a, [wd265] + dec a + jr nz, .use + ld a, [wMenuCursorY] + inc a + cp b + jr nz, .skip + +.use + ld a, [hl] + and 3 << 6 + ld a, [de] ; wasted cycle + call nz, ComputeMaxPP + +.skip + inc hl + inc de + jr .loop +; f881 + + + +ComputeMaxPP: ; f881 + push bc + ; Divide the base PP by 5. + ld a, [de] + ld [hDividend + 3], a + xor a + ld [hDividend], a + ld [hDividend + 1], a + ld [hDividend + 2], a + ld a, 5 + ld [hDivisor], a + ld b, 4 + call Divide + ; Get the number of PP, which are bits 6 and 7 of the PP value stored in RAM. + ld a, [hl] + ld b, a + swap a + and $f + srl a + srl a + ld c, a + ; If this value is 0, we are done + and a + jr z, .NoPPUp + +.loop + ; Normally, a move with 40 PP would have 64 PP with three PP Ups. + ; Since this would overflow into bit 6, we prevent that from happening + ; by decreasing the extra amount of PP each PP Up provides, resulting + ; in a maximum of 61. + ld a, [hQuotient + 2] + cp $8 + jr c, .okay + ld a, $7 + +.okay + add b + ld b, a + ld a, [wd265] + dec a + jr z, .NoPPUp + dec c + jr nz, .loop + +.NoPPUp: + ld [hl], b + pop bc + ret +; f8b9 + +RestoreAllPP: ; f8b9 + ld a, MON_PP + call GetPartyParamLocation + push hl + ld a, MON_MOVES + call GetPartyParamLocation + pop de + xor a ; PARTYMON + ld [wMenuCursorY], a + ld [MonType], a + ld c, NUM_MOVES +.loop + ld a, [hli] + and a + ret z + push hl + push de + push bc + call GetMaxPPOfMove + pop bc + pop de + ld a, [de] + and 3 << 6 + ld b, a + ld a, [wd265] + add b + ld [de], a + inc de + ld hl, wMenuCursorY + inc [hl] + pop hl + dec c + jr nz, .loop + ret +; f8ec + + +GetMaxPPOfMove: ; f8ec + ld a, [StringBuffer1 + 0] + push af + ld a, [StringBuffer1 + 1] + push af + + ld a, [MonType] + and a + + ld hl, PartyMon1Moves + ld bc, PARTYMON_STRUCT_LENGTH + jr z, .got_partymon ; PARTYMON + + ld hl, OTPartyMon1Moves + dec a + jr z, .got_partymon ; OTPARTYMON + + ld hl, TempMonMoves + dec a + jr z, .got_nonpartymon ; BOXMON + + ld hl, TempMonMoves ; Wasted cycles + dec a + jr z, .got_nonpartymon ; TEMPMON + + ld hl, BattleMonMoves ; WILDMON + +.got_nonpartymon ; BOXMON, TEMPMON, WILDMON + call GetMthMoveOfCurrentMon + jr .gotdatmove + +.got_partymon ; PARTYMON, OTPARTYMON + call GetMthMoveOfNthPartymon + +.gotdatmove + ld a, [hl] + dec a + + push hl + ld hl, Moves + MOVE_PP + ld bc, MOVE_LENGTH + call AddNTimes + ld a, BANK(Moves) + call GetFarByte + ld b, a + ld de, StringBuffer1 + ld [de], a + pop hl + + push bc + ld bc, MON_PP - MON_MOVES + ld a, [MonType] + cp WILDMON + jr nz, .notwild + ld bc, EnemyMonPP - EnemyMonMoves +.notwild + add hl, bc + ld a, [hl] + and 3 << 6 + pop bc + + or b + ld hl, StringBuffer1 + 1 + ld [hl], a + xor a + ld [wd265], a + ld a, b ; this gets lost anyway + call ComputeMaxPP + ld a, [hl] + and (1 << 6) - 1 + ld [wd265], a + + pop af + ld [StringBuffer1 + 1], a + pop af + ld [StringBuffer1 + 0], a + ret +; f963 + +GetMthMoveOfNthPartymon: ; f963 + ld a, [CurPartyMon] + call AddNTimes + +GetMthMoveOfCurrentMon: ; f969 + ld a, [wMenuCursorY] + ld c, a + ld b, 0 + add hl, bc + ret +; f971 + +INCLUDE "engine/pokeball_wobble.asm" diff --git a/engine/landmarks.asm b/engine/landmarks.asm index 5e904eae8..75605bbd9 100644 --- a/engine/landmarks.asm +++ b/engine/landmarks.asm @@ -47,7 +47,7 @@ GetLandmarkName:: ; 0x1ca8a5 ; 0x1ca8c3 -INCLUDE "data/landmarks.asm" +INCLUDE "data/maps/landmarks.asm" RegionCheck: ; 0x1caea1 diff --git a/engine/mon_icons.asm b/engine/mon_icons.asm index 70c439863..18dc4f94b 100755 --- a/engine/mon_icons.asm +++ b/engine/mon_icons.asm @@ -466,7 +466,7 @@ ReadMonMenuIcon: ; 8eab3 ; 8eac4 -INCLUDE "data/mon_menu_icons.asm" +INCLUDE "data/pokemon/menu_icons.asm" INCLUDE "gfx/icon_pointers.asm" diff --git a/engine/overworld.asm b/engine/overworld.asm index 73115e479..90291b616 100755 --- a/engine/overworld.asm +++ b/engine/overworld.asm @@ -721,6 +721,6 @@ INCLUDE "data/emote_headers.asm" INCLUDE "data/sprite_mons.asm" -INCLUDE "data/outdoor_sprites.asm" +INCLUDE "data/maps/outdoor_sprites.asm" INCLUDE "gfx/sprite_headers.asm" diff --git a/engine/pokeball_wobble.asm b/engine/pokeball_wobble.asm new file mode 100755 index 000000000..7fb4d3e38 --- /dev/null +++ b/engine/pokeball_wobble.asm @@ -0,0 +1,88 @@ +GetPokeBallWobble: ; f971 (3:7971) +; Returns whether a Poke Ball will wobble in the catch animation. +; Whether a Pokemon is caught is determined beforehand. + + push de + + ld a, [rSVBK] + ld d, a + push de + + ld a, 1 ; BANK(Buffer2) + ld [rSVBK], a + + ld a, [Buffer2] + inc a + ld [Buffer2], a + +; Wobble up to 3 times. + cp 3 + 1 + jr z, .finished + + ld a, [wWildMon] + and a + ld c, 0 ; next + jr nz, .done + + ld hl, .WobbleProbabilities + ld a, [Buffer1] + ld b, a +.loop + ld a, [hli] + cp b + jr nc, .checkwobble + inc hl + jr .loop + +.checkwobble + ld b, [hl] + call Random + cp b + ld c, 0 ; next + jr c, .done + ld c, 2 ; escaped + jr .done + +.finished + ld a, [wWildMon] + and a + ld c, 1 ; caught + jr nz, .done + ld c, 2 ; escaped + +.done + pop de + ld e, a + ld a, d + ld [rSVBK], a + ld a, e + pop de + ret + +.WobbleProbabilities: ; f9ba +; catch rate, chance of wobbling / 255 +; nLeft/255 = (nRight/255) ** 4 + db 1, 63 + db 2, 75 + db 3, 84 + db 4, 90 + db 5, 95 + db 7, 103 + db 10, 113 + db 15, 126 + db 20, 134 + db 30, 149 + db 40, 160 + db 50, 169 + db 60, 177 + db 80, 191 + db 100, 201 + db 120, 211 + db 140, 220 + db 160, 227 + db 180, 234 + db 200, 240 + db 220, 246 + db 240, 251 + db 254, 253 + db 255, 255 diff --git a/engine/pokedex.asm b/engine/pokedex.asm index c60396a40..a7a7a4860 100644 --- a/engine/pokedex.asm +++ b/engine/pokedex.asm @@ -1709,9 +1709,9 @@ Pokedex_ABCMode: ; 40c30 ret -INCLUDE "data/pokedex/order_alpha.asm" +INCLUDE "data/pokemon/dex_order_alpha.asm" -INCLUDE "data/pokedex/order_new.asm" +INCLUDE "data/pokemon/dex_order_new.asm" Pokedex_DisplayModeDescription: ; 40e5b diff --git a/engine/read_trainer_attributes.asm b/engine/read_trainer_attributes.asm new file mode 100644 index 000000000..dfb8d3682 --- /dev/null +++ b/engine/read_trainer_attributes.asm @@ -0,0 +1,64 @@ +GetTrainerClassName: ; 3952d + ld hl, RivalName + ld a, c + cp RIVAL1 + jr z, .rival + + ld [CurSpecies], a + ld a, TRAINER_NAME + ld [wNamedObjectTypeBuffer], a + call GetName + ld de, StringBuffer1 + ret + +.rival + ld de, StringBuffer1 + push de + ld bc, NAME_LENGTH + call CopyBytes + pop de + ret + +GetOTName: ; 39550 + ld hl, OTPlayerName + ld a, [wLinkMode] + and a + jr nz, .ok + + ld hl, RivalName + ld a, c + cp RIVAL1 + jr z, .ok + + ld [CurSpecies], a + ld a, TRAINER_NAME + ld [wNamedObjectTypeBuffer], a + call GetName + ld hl, StringBuffer1 + +.ok + ld bc, TRAINER_CLASS_NAME_LENGTH + ld de, OTClassName + push de + call CopyBytes + pop de + ret + +GetTrainerAttributes: ; 3957b + ld a, [TrainerClass] + ld c, a + call GetOTName + ld a, [TrainerClass] + dec a + ld hl, TrainerClassAttributes + TRNATTR_ITEM1 + ld bc, NUM_TRAINER_ATTRIBUTES + call AddNTimes + ld de, wEnemyTrainerItem1 + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + ld a, [hl] + ld [wEnemyTrainerBaseReward], a + ret diff --git a/engine/read_trainer_party.asm b/engine/read_trainer_party.asm new file mode 100755 index 000000000..9b7727a84 --- /dev/null +++ b/engine/read_trainer_party.asm @@ -0,0 +1,398 @@ + +ReadTrainerParty: ; 39771 + ld a, [InBattleTowerBattle] + bit 0, a + ret nz + + ld a, [wLinkMode] + and a + ret nz + + ld hl, OTPartyCount + xor a + ld [hli], a + dec a + ld [hl], a + + ld hl, OTPartyMons + ld bc, OTPartyMonsEnd - OTPartyMons + xor a + call ByteFill + + ld a, [OtherTrainerClass] + cp CAL + jr nz, .not_cal2 + ld a, [OtherTrainerID] + cp CAL2 + jr z, .cal2 + ld a, [OtherTrainerClass] +.not_cal2 + + dec a + ld c, a + ld b, 0 + ld hl, TrainerGroups + add hl, bc + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + + ld a, [OtherTrainerID] + ld b, a +.skip_trainer + dec b + jr z, .got_trainer +.loop + ld a, [hli] + cp $ff + jr nz, .loop + jr .skip_trainer +.got_trainer + +.skip_name + ld a, [hli] + cp "@" + jr nz, .skip_name + + ld a, [hli] + ld c, a + ld b, 0 + ld d, h + ld e, l + ld hl, TrainerTypes + add hl, bc + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + ld bc, .done + push bc + jp hl + +.done + jp ComputeTrainerReward + +.cal2 + ld a, BANK(sMysteryGiftTrainer) + call GetSRAMBank + ld de, sMysteryGiftTrainer + call TrainerType2 + call CloseSRAM + jr .done +; 397e3 + +TrainerTypes: ; 397e3 + dw TrainerType1 ; level, species + dw TrainerType2 ; level, species, moves + dw TrainerType3 ; level, species, item + dw TrainerType4 ; level, species, item, moves +; 397eb + +TrainerType1: ; 397eb +; normal (level, species) + ld h, d + ld l, e +.loop + ld a, [hli] + cp $ff + ret z + + ld [CurPartyLevel], a + ld a, [hli] + ld [CurPartySpecies], a + ld a, OTPARTYMON + ld [MonType], a + push hl + predef TryAddMonToParty + pop hl + jr .loop +; 39806 + +TrainerType2: ; 39806 +; moves + ld h, d + ld l, e +.loop + ld a, [hli] + cp $ff + ret z + + ld [CurPartyLevel], a + ld a, [hli] + ld [CurPartySpecies], a + ld a, OTPARTYMON + ld [MonType], a + + push hl + predef TryAddMonToParty + ld a, [OTPartyCount] + dec a + ld hl, OTPartyMon1Moves + ld bc, PARTYMON_STRUCT_LENGTH + call AddNTimes + ld d, h + ld e, l + pop hl + + ld b, NUM_MOVES +.copy_moves + ld a, [hli] + ld [de], a + inc de + dec b + jr nz, .copy_moves + + push hl + + ld a, [OTPartyCount] + dec a + ld hl, OTPartyMon1Species + ld bc, PARTYMON_STRUCT_LENGTH + call AddNTimes + ld d, h + ld e, l + ld hl, MON_PP + add hl, de + push hl + ld hl, MON_MOVES + add hl, de + pop de + + ld b, NUM_MOVES +.copy_pp + ld a, [hli] + and a + jr z, .copied_pp + + push hl + push bc + dec a + ld hl, Moves + MOVE_PP + ld bc, MOVE_LENGTH + call AddNTimes + ld a, BANK(Moves) + call GetFarByte + pop bc + pop hl + + ld [de], a + inc de + dec b + jr nz, .copy_pp +.copied_pp + + pop hl + jr .loop +; 39871 + +TrainerType3: ; 39871 +; item + ld h, d + ld l, e +.loop + ld a, [hli] + cp $ff + ret z + + ld [CurPartyLevel], a + ld a, [hli] + ld [CurPartySpecies], a + ld a, OTPARTYMON + ld [MonType], a + push hl + predef TryAddMonToParty + ld a, [OTPartyCount] + dec a + ld hl, OTPartyMon1Item + ld bc, PARTYMON_STRUCT_LENGTH + call AddNTimes + ld d, h + ld e, l + pop hl + ld a, [hli] + ld [de], a + jr .loop +; 3989d (e:589d) + +TrainerType4: ; 3989d +; item + moves + ld h, d + ld l, e +.loop + ld a, [hli] + cp $ff + ret z + + ld [CurPartyLevel], a + ld a, [hli] + ld [CurPartySpecies], a + + ld a, OTPARTYMON + ld [MonType], a + + push hl + predef TryAddMonToParty + ld a, [OTPartyCount] + dec a + ld hl, OTPartyMon1Item + ld bc, PARTYMON_STRUCT_LENGTH + call AddNTimes + ld d, h + ld e, l + pop hl + + ld a, [hli] + ld [de], a + + push hl + ld a, [OTPartyCount] + dec a + ld hl, OTPartyMon1Moves + ld bc, PARTYMON_STRUCT_LENGTH + call AddNTimes + ld d, h + ld e, l + pop hl + + ld b, NUM_MOVES +.copy_moves + ld a, [hli] + ld [de], a + inc de + dec b + jr nz, .copy_moves + + push hl + + ld a, [OTPartyCount] + dec a + ld hl, OTPartyMon1 + ld bc, PARTYMON_STRUCT_LENGTH + call AddNTimes + ld d, h + ld e, l + ld hl, MON_PP + add hl, de + + push hl + ld hl, MON_MOVES + add hl, de + pop de + + ld b, NUM_MOVES +.copy_pp + ld a, [hli] + and a + jr z, .copied_pp + + push hl + push bc + dec a + ld hl, Moves + MOVE_PP + ld bc, MOVE_LENGTH + call AddNTimes + ld a, BANK(Moves) + call GetFarByte + pop bc + pop hl + + ld [de], a + inc de + dec b + jr nz, .copy_pp +.copied_pp + + pop hl + jr .loop +; 3991b + +ComputeTrainerReward: ; 3991b (e:591b) + ld hl, hProduct + xor a + ld [hli], a + ld [hli], a + ld [hli], a + ld a, [wEnemyTrainerBaseReward] + ld [hli], a + ld a, [CurPartyLevel] + ld [hl], a + call Multiply + ld hl, wBattleReward + xor a + ld [hli], a + ld a, [hProduct + 2] + ld [hli], a + ld a, [hProduct + 3] + ld [hl], a + ret + + +Battle_GetTrainerName:: ; 39939 + ld a, [InBattleTowerBattle] + bit 0, a + ld hl, OTPlayerName + jp nz, CopyTrainerName + + ld a, [OtherTrainerID] + ld b, a + ld a, [OtherTrainerClass] + ld c, a + +GetTrainerName:: ; 3994c + ld a, c + cp CAL + jr nz, .not_cal2 + + ld a, BANK(sMysteryGiftTrainerHouseFlag) + call GetSRAMBank + ld a, [sMysteryGiftTrainerHouseFlag] + and a + call CloseSRAM + jr z, .not_cal2 + + ld a, BANK(sMysteryGiftPartnerName) + call GetSRAMBank + ld hl, sMysteryGiftPartnerName + call CopyTrainerName + jp CloseSRAM + +.not_cal2 + dec c + push bc + ld b, 0 + ld hl, TrainerGroups + add hl, bc + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + pop bc + +.loop + dec b + jr z, CopyTrainerName + +.skip + ld a, [hli] + cp $ff + jr nz, .skip + jr .loop + +CopyTrainerName: ; 39984 + ld de, StringBuffer1 + push de + ld bc, NAME_LENGTH + call CopyBytes + pop de + ret +; 39990 + +Function39990: ; 39990 +; This function is useless. + ld de, StringBuffer1 + push de + ld bc, NAME_LENGTH + pop de + ret +; 39999 diff --git a/engine/spawn_points.asm b/engine/spawn_points.asm index 5f9c07558..b8637da17 100644 --- a/engine/spawn_points.asm +++ b/engine/spawn_points.asm @@ -1,5 +1,5 @@ -INCLUDE "data/spawn_points.asm" +INCLUDE "data/maps/spawn_points.asm" LoadSpawnPoint: ; 1531f diff --git a/items/item_attributes.asm b/items/item_attributes.asm deleted file mode 100644 index d6d272107..000000000 --- a/items/item_attributes.asm +++ /dev/null @@ -1,521 +0,0 @@ -item_attribute: MACRO -; price, held effect, parameter, property, pocket, field menu, battle menu - dw \1 - db \2, \3, \4, \5 - dn \6, \7 -ENDM - -ItemAttributes: ; 67c1 -; entries correspond to constants/item_constants.asm -; MASTER BALL - item_attribute 0, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE -; ULTRA BALL - item_attribute 1200, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE -; BRIGHTPOWDER - item_attribute 10, HELD_BRIGHTPOWDER, 20, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; GREAT BALL - item_attribute 600, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE -; # BALL - item_attribute 200, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; BICYCLE - item_attribute 0, 0, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE -; MOON STONE - item_attribute 0, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; ANTIDOTE - item_attribute 100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; BURN HEAL - item_attribute 250, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; ICE HEAL - item_attribute 250, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; AWAKENING - item_attribute 250, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; PARLYZ HEAL - item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; FULL RESTORE - item_attribute 3000, 0, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; MAX POTION - item_attribute 2500, 0, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; HYPER POTION - item_attribute 1200, 0, 200, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; SUPER POTION - item_attribute 700, 0, 50, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; POTION - item_attribute 300, 0, 20, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; ESCAPE ROPE - item_attribute 550, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE -; REPEL - item_attribute 350, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE -; MAX ELIXER - item_attribute 4500, 0, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; FIRE STONE - item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; THUNDERSTONE - item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; WATER STONE - item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; HP UP - item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; PROTEIN - item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; IRON - item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; CARBOS - item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; LUCKY PUNCH - item_attribute 10, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; CALCIUM - item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; RARE CANDY - item_attribute 4800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; X ACCURACY - item_attribute 950, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE -; LEAF STONE - item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; METAL POWDER - item_attribute 10, HELD_METAL_POWDER, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; NUGGET - item_attribute 10000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; # DOLL - item_attribute 1000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE -; FULL HEAL - item_attribute 600, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; REVIVE - item_attribute 1500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; MAX REVIVE - item_attribute 4000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; GUARD SPEC. - item_attribute 700, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE -; SUPER REPEL - item_attribute 500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE -; MAX REPEL - item_attribute 700, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE -; DIRE HIT - item_attribute 650, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; FRESH WATER - item_attribute 200, 0, 50, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; SODA POP - item_attribute 300, 0, 60, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; LEMONADE - item_attribute 350, 0, 80, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; X ATTACK - item_attribute 500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; X DEFEND - item_attribute 550, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE -; X SPEED - item_attribute 350, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE -; X SPECIAL - item_attribute 350, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE -; COIN CASE - item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE -; ITEMFINDER - item_attribute 0, 0, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; EXP.SHARE - item_attribute 3000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; OLD ROD - item_attribute 0, 0, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE -; GOOD ROD - item_attribute 0, 0, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE -; SILVER LEAF - item_attribute 1000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; SUPER ROD - item_attribute 0, 0, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE -; PP UP - item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; ETHER - item_attribute 1200, 0, 10, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; MAX ETHER - item_attribute 2000, 0, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; ELIXER - item_attribute 3000, 0, 10, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; RED SCALE - item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; SECRETPOTION - item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; S.S.TICKET - item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; MYSTERY EGG - item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; CLEAR BELL - item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; SILVER WING - item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; MOOMOO MILK - item_attribute 500, 0, 100, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; QUICK CLAW - item_attribute 100, HELD_QUICK_CLAW, 60, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; PSNCUREBERRY - item_attribute 10, HELD_HEAL_POISON, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; GOLD LEAF - item_attribute 1000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; SOFT SAND - item_attribute 100, HELD_GROUND_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; SHARP BEAK - item_attribute 100, HELD_FLYING_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; PRZCUREBERRY - item_attribute 10, HELD_HEAL_PARALYZE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; BURNT BERRY - item_attribute 10, HELD_HEAL_FREEZE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; ICE BERRY - item_attribute 10, HELD_HEAL_BURN, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; POISON BARB - item_attribute 100, HELD_POISON_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; KING'S ROCK - item_attribute 100, HELD_TRADE_EVOLVE, 30, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; BITTER BERRY - item_attribute 10, HELD_HEAL_CONFUSION, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_PARTY -; MINT BERRY - item_attribute 10, HELD_HEAL_SLEEP, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; RED APRICORN - item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; TINYMUSHROOM - item_attribute 500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; BIG MUSHROOM - item_attribute 5000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; SILVERPOWDER - item_attribute 100, HELD_BUG_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; BLU APRICORN - item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; AMULET COIN - item_attribute 100, HELD_AMULET_COIN, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; YLW APRICORN - item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; GRN APRICORN - item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; CLEANSE TAG - item_attribute 200, HELD_CLEANSE_TAG, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; MYSTIC WATER - item_attribute 100, HELD_WATER_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; TWISTEDSPOON - item_attribute 100, HELD_PSYCHIC_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; WHT APRICORN - item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; BLACKBELT - item_attribute 100, HELD_FIGHTING_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; BLK APRICORN - item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; PNK APRICORN - item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; BLACKGLASSES - item_attribute 100, HELD_DARK_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; SLOWPOKETAIL - item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; PINK BOW - item_attribute 100, HELD_NORMAL_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; STICK - item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; SMOKE BALL - item_attribute 200, HELD_ESCAPE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; NEVERMELTICE - item_attribute 100, HELD_ICE_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; MAGNET - item_attribute 100, HELD_ELECTRIC_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; MIRACLEBERRY - item_attribute 10, HELD_HEAL_STATUS, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; PEARL - item_attribute 1400, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; BIG PEARL - item_attribute 7500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; EVERSTONE - item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; SPELL TAG - item_attribute 100, HELD_GHOST_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; RAGECANDYBAR - item_attribute 300, 0, 20, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; GS BALL - item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; BLUE CARD - item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE -; MIRACLE SEED - item_attribute 100, HELD_GRASS_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; THICK CLUB - item_attribute 500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; FOCUS BAND - item_attribute 200, HELD_FOCUS_BAND, 30, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; ENERGYPOWDER - item_attribute 500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; ENERGY ROOT - item_attribute 800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; HEAL POWDER - item_attribute 450, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; REVIVAL HERB - item_attribute 2800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; HARD STONE - item_attribute 100, HELD_ROCK_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; LUCKY EGG - item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; CARD KEY - item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE -; MACHINE PART - item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; EGG TICKET - item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; LOST ITEM - item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; STARDUST - item_attribute 2000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; STAR PIECE - item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; BASEMENT KEY - item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE -; PASS - item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; CHARCOAL - item_attribute 9800, HELD_FIRE_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; BERRY JUICE - item_attribute 100, HELD_BERRY, 20, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; SCOPE LENS - item_attribute 200, HELD_CRITICAL_UP, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; METAL COAT - item_attribute 100, HELD_STEEL_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; DRAGON FANG - item_attribute 100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; LEFTOVERS - item_attribute 200, HELD_LEFTOVERS, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; MYSTERYBERRY - item_attribute 10, HELD_RESTORE_PP, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; DRAGON SCALE - item_attribute 2100, HELD_DRAGON_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; BERSERK GENE - item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; SACRED ASH - item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE -; HEAVY BALL - item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE -; FLOWER MAIL - item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; LEVEL BALL - item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE -; LURE BALL - item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE -; FAST BALL - item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; LIGHT BALL - item_attribute 100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; FRIEND BALL - item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE -; MOON BALL - item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE -; LOVE BALL - item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE -; NORMAL BOX - item_attribute 10, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE -; GORGEOUS BOX - item_attribute 10, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE -; SUN STONE - item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; POLKADOT BOW - item_attribute 100, HELD_NORMAL_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; UP-GRADE - item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; BERRY - item_attribute 10, HELD_BERRY, 10, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; GOLD BERRY - item_attribute 10, HELD_BERRY, 30, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; SQUIRTBOTTLE - item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; PARK BALL - item_attribute 0, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE -; RAINBOW WING - item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; BRICK PIECE - item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; SURF MAIL - item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; LITEBLUEMAIL - item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; PORTRAITMAIL - item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; LOVELY MAIL - item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; EON MAIL - item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; MORPH MAIL - item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; BLUESKY MAIL - item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; MUSIC MAIL - item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; MIRAGE MAIL - item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; TM01 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM02 - item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM03 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM04 - item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; TM05 - item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM06 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM07 - item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM08 - item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM09 - item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM10 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM11 - item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM12 - item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM13 - item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM14 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM15 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM16 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM17 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM18 - item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM19 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM20 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM21 - item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM22 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM23 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM24 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM25 - item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM26 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM27 - item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM28 - item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; TM29 - item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM30 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM31 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM32 - item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM33 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM34 - item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM35 - item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM36 - item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM37 - item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM38 - item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM39 - item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM40 - item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM41 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM42 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM43 - item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM44 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM45 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM46 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM47 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM48 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM49 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM50 - item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; HM01 - item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; HM02 - item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; HM03 - item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; HM04 - item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; HM05 - item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; HM06 - item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; HM07 - item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; ? - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE diff --git a/items/item_descriptions.asm b/items/item_descriptions.asm deleted file mode 100644 index 40e91b2c9..000000000 --- a/items/item_descriptions.asm +++ /dev/null @@ -1,1042 +0,0 @@ -PrintItemDescription: ; 0x1c8955 -; Print the description for item [CurSpecies] at de. - - ld a, [CurSpecies] - cp TM01 - jr c, .not_a_tm - - ld [CurItem], a - push de - callba GetTMHMItemMove - pop hl - ld a, [wd265] - ld [CurSpecies], a - predef PrintMoveDesc - ret - -.not_a_tm - push de - ld hl, ItemDescriptions - ld a, [CurSpecies] - dec a - ld c, a - ld b, 0 - add hl, bc - add hl, bc - ld e, [hl] - inc hl - ld d, [hl] - pop hl - jp PlaceString -; 0x1c8987 - - -ItemDescriptions: - dw MasterBallDesc - dw UltraBallDesc - dw BrightpowderDesc - dw GreatBallDesc - dw PokeBallDesc - dw TeruSama1Desc - dw BicycleDesc - dw MoonStoneDesc - dw AntidoteDesc - dw BurnHealDesc - dw IceHealDesc - dw AwakeningDesc - dw ParlyzHealDesc - dw FullRestoreDesc - dw MaxPotionDesc - dw HyperPotionDesc - dw SuperPotionDesc - dw PotionDesc - dw EscapeRopeDesc - dw RepelDesc - dw MaxElixerDesc - dw FireStoneDesc - dw ThunderStoneDesc - dw WaterStoneDesc - dw TeruSama2Desc - dw HPUpDesc - dw ProteinDesc - dw IronDesc - dw CarbosDesc - dw LuckyPunchDesc - dw CalciumDesc - dw RareCandyDesc - dw XAccuracyDesc - dw LeafStoneDesc - dw MetalPowderDesc - dw NuggetDesc - dw PokeDollDesc - dw FullHealDesc - dw ReviveDesc - dw MaxReviveDesc - dw GuardSpecDesc - dw SuperRepelDesc - dw MaxRepelDesc - dw DireHitDesc - dw TeruSama3Desc - dw FreshWaterDesc - dw SodaPopDesc - dw LemonadeDesc - dw XAttackDesc - dw TeruSama4Desc - dw XDefendDesc - dw XSpeedDesc - dw XSpecialDesc - dw CoinCaseDesc - dw ItemfinderDesc - dw TeruSama5Desc - dw ExpShareDesc - dw OldRodDesc - dw GoodRodDesc - dw SilverLeafDesc - dw SuperRodDesc - dw PPUpDesc - dw EtherDesc - dw MaxEtherDesc - dw ElixerDesc - dw RedScaleDesc - dw SecretPotionDesc - dw SSTicketDesc - dw MysteryEggDesc - dw ClearBellDesc - dw SilverWingDesc - dw MoomooMilkDesc - dw QuickClawDesc - dw PsnCureBerryDesc - dw GoldLeafDesc - dw SoftSandDesc - dw SharpBeakDesc - dw PrzCureBerryDesc - dw BurntBerryDesc - dw IceBerryDesc - dw PoisonBarbDesc - dw KingsRockDesc - dw BitterBerryDesc - dw MintBerryDesc - dw RedApricornDesc - dw TinyMushroomDesc - dw BigMushroomDesc - dw SilverPowderDesc - dw BluApricornDesc - dw TeruSama6Desc - dw AmuletCoinDesc - dw YlwApricornDesc - dw GrnApricornDesc - dw CleanseTagDesc - dw MysticWaterDesc - dw TwistedSpoonDesc - dw WhtApricornDesc - dw BlackbeltDesc - dw BlkApricornDesc - dw TeruSama7Desc - dw PnkApricornDesc - dw BlackGlassesDesc - dw SlowpokeTailDesc - dw PinkBowDesc - dw StickDesc - dw SmokeBallDesc - dw NeverMeltIceDesc - dw MagnetDesc - dw MiracleBerryDesc - dw PearlDesc - dw BigPearlDesc - dw EverStoneDesc - dw SpellTagDesc - dw RageCandyBarDesc - dw GSBallDesc - dw BlueCardDesc - dw MiracleSeedDesc - dw ThickClubDesc - dw FocusBandDesc - dw TeruSama8Desc - dw EnergyPowderDesc - dw EnergyRootDesc - dw HealPowderDesc - dw RevivalHerbDesc - dw HardStoneDesc - dw LuckyEggDesc - dw CardKeyDesc - dw MachinePartDesc - dw EggTicketDesc - dw LostItemDesc - dw StardustDesc - dw StarPieceDesc - dw BasementKeyDesc - dw PassDesc - dw TeruSama9Desc - dw TeruSama10Desc - dw TeruSama11Desc - dw CharcoalDesc - dw BerryJuiceDesc - dw ScopeLensDesc - dw TeruSama12Desc - dw TeruSama13Desc - dw MetalCoatDesc - dw DragonFangDesc - dw TeruSama14Desc - dw LeftoversDesc - dw TeruSama15Desc - dw TeruSama16Desc - dw TeruSama17Desc - dw MysteryBerryDesc - dw DragonScaleDesc - dw BerserkGeneDesc - dw TeruSama18Desc - dw TeruSama19Desc - dw TeruSama20Desc - dw SacredAshDesc - dw HeavyBallDesc - dw FlowerMailDesc - dw LevelBallDesc - dw LureBallDesc - dw FastBallDesc - dw TeruSama21Desc - dw LightBallDesc - dw FriendBallDesc - dw MoonBallDesc - dw LoveBallDesc - dw NormalBoxDesc - dw GorgeousBoxDesc - dw SunStoneDesc - dw PolkadotBowDesc - dw TeruSama22Desc - dw UpGradeDesc - dw BerryDesc - dw GoldBerryDesc - dw SquirtBottleDesc - dw TeruSama23Desc - dw ParkBallDesc - dw RainbowWingDesc - dw TeruSama24Desc - dw BrickPieceDesc - dw SurfMailDesc - dw LiteBlueMailDesc - dw PortraitMailDesc - dw LovelyMailDesc - dw EonMailDesc - dw MorphMailDesc - dw BlueSkyMailDesc - dw MusicMailDesc - dw MewMailDesc - dw TeruSama25Desc - dw TeruSama26Desc - dw TeruSama26Desc - dw TeruSama26Desc - dw TeruSama26Desc - dw TeruSama26Desc - dw TeruSama27Desc - dw TeruSama27Desc - dw TeruSama27Desc - dw TeruSama27Desc - dw TeruSama27Desc - dw TeruSama27Desc - dw TeruSama27Desc - dw TeruSama27Desc - dw TeruSama27Desc - dw TeruSama27Desc - dw TeruSama27Desc - dw TeruSama27Desc - dw TeruSama27Desc - dw TeruSama27Desc - dw TeruSama27Desc - dw TeruSama27Desc - dw TeruSama27Desc - dw TeruSama27Desc - dw TeruSama27Desc - dw TeruSama27Desc - dw TeruSama27Desc - dw TeruSama27Desc - dw TeruSama27Desc - dw TeruSama27Desc - dw TeruSama27Desc - dw TeruSama28Desc - dw TeruSama28Desc - dw TeruSama28Desc - dw TeruSama28Desc - dw TeruSama28Desc - dw TeruSama28Desc - dw TeruSama28Desc - dw TeruSama28Desc - dw TeruSama28Desc - dw TeruSama28Desc - dw TeruSama28Desc - dw TeruSama28Desc - dw TeruSama28Desc - dw TeruSama28Desc - dw TeruSama28Desc - dw TeruSama28Desc - dw TeruSama28Desc - dw TeruSama28Desc - dw TeruSama28Desc - dw TeruSama28Desc - dw TeruSama28Desc - dw TeruSama28Desc - dw TeruSama28Desc - dw TeruSama28Desc - dw TeruSama28Desc - dw TeruSama28Desc - dw TeruSama28Desc - dw TeruSama28Desc - dw TeruSama28Desc - dw TeruSama28Desc - dw TeruSama29Desc - dw TeruSama30Desc - dw TeruSama31Desc - dw TeruSama32Desc - dw TeruSama33Desc - -MasterBallDesc: - db "The best BALL. It" - next "never misses.@" - -UltraBallDesc: - db "A BALL with a high" - next "rate of success.@" - -BrightpowderDesc: - db "Lowers the foe's" - next "accuracy. (HOLD)@" - -GreatBallDesc: - db "A BALL with a de-" - next "cent success rate.@" - -PokeBallDesc: - db "An item for catch-" - next "ing #MON.@" - -TeruSama1Desc: - db "?@" - -BicycleDesc: - db "A collapsible bike" - next "for fast movement.@" - -MoonStoneDesc: - db "Evolves certain" - next "kinds of #MON.@" - -AntidoteDesc: - db "Cures poisoned" - next "#MON.@" - -BurnHealDesc: - db "Heals burned" - next "#MON.@" - -IceHealDesc: - db "Defrosts frozen" - next "#MON.@" - -AwakeningDesc: - db "Awakens sleeping" - next "#MON.@" - -ParlyzHealDesc: - db "Heals paralyzed" - next "#MON.@" - -FullRestoreDesc: - db "Fully restores HP" - next "& status.@" - -MaxPotionDesc: - db "Fully restores" - next "#MON HP.@" - -HyperPotionDesc: - db "Restores #MON" - next "HP by 200.@" - -SuperPotionDesc: - db "Restores #MON" - next "HP by 50.@" - -PotionDesc: - db "Restores #MON" - next "HP by 20.@" - -EscapeRopeDesc: - db "Use for escaping" - next "from caves, etc.@" - -RepelDesc: - db "Repels weak #-" - next "MON for 100 steps.@" - -MaxElixerDesc: - db "Fully restores the" - next "PP of one #MON.@" - -FireStoneDesc: - db "Evolves certain" - next "kinds of #MON.@" - -ThunderStoneDesc: - db "Evolves certain" - next "kinds of #MON.@" - -WaterStoneDesc: - db "Evolves certain" - next "kinds of #MON.@" - -TeruSama2Desc: - db "?@" - -HPUpDesc: - db "Raises the HP of" - next "one #MON.@" - -ProteinDesc: - db "Raises ATTACK of" - next "one #MON.@" - -IronDesc: - db "Raises DEFENSE of" - next "one #MON.@" - -CarbosDesc: - db "Raises SPEED of" - next "one #MON.@" - -LuckyPunchDesc: - db "Ups critical hit" - next "ratio of CHANSEY.@" - -CalciumDesc: - db "Ups SPECIAL stats" - next "of one #MON.@" - -RareCandyDesc: - db "Raises level of a" - next "#MON by one.@" - -XAccuracyDesc: - db "Raises accuracy." - next "(1 BTL)@" - -LeafStoneDesc: - db "Evolves certain" - next "kinds of #MON.@" - -MetalPowderDesc: - db "Raises DEFENSE of" - next "DITTO. (HOLD)@" - -NuggetDesc: - db "Made of pure gold." - next "Sell high.@" - -PokeDollDesc: - db "Use to escape from" - next "a wild #MON.@" - -FullHealDesc: - db "Eliminates all" - next "status problems.@" - -ReviveDesc: - db "Restores a fainted" - next "#MON to 1/2 HP.@" - -MaxReviveDesc: - db "Fully restores a" - next "fainted #MON.@" - -GuardSpecDesc: - db "Prevents stats" - next "reduction. (1 BTL)@" - -SuperRepelDesc: - db "Repels weak #-" - next "MON for 200 steps.@" - -MaxRepelDesc: - db "Repels weak #-" - next "MON for 250 steps.@" - -DireHitDesc: - db "Ups critical hit" - next "ratio. (1 BTL)@" - -TeruSama3Desc: - db "?@" - -FreshWaterDesc: - db "Restores #MON" - next "HP by 50.@" - -SodaPopDesc: - db "Restores #MON" - next "HP by 60.@" - -LemonadeDesc: - db "Restores #MON" - next "HP by 80.@" - -XAttackDesc: - db "Raises ATTACK." - next "(1 BTL)@" - -TeruSama4Desc: - db "?@" - -XDefendDesc: - db "Raises DEFENSE." - next "(1 BTL)@" - -XSpeedDesc: - db "Raises SPEED." - next "(1 BTL)@" - -XSpecialDesc: - db "Raises SPECIAL" - next "ATTACK. (1 BTL)@" - -CoinCaseDesc: - db "Holds up to 9,999" - next "game coins.@" - -ItemfinderDesc: - db "Checks for unseen" - next "items in the area.@" - -TeruSama5Desc: - db "?@" - -ExpShareDesc: - db "Shares battle EXP." - next "Points. (HOLD)@" - -OldRodDesc: - db "Use by water to" - next "fish for #MON.@" - -GoodRodDesc: - db "A good ROD for" - next "catching #MON.@" - -SilverLeafDesc: - db "A strange, silver-" - next "colored leaf.@" - -SuperRodDesc: - db "The best ROD for" - next "catching #MON.@" - -PPUpDesc: - db "Raises max PP of" - next "a selected move.@" - -EtherDesc: - db "Restores PP of one" - next "move by 10.@" - -MaxEtherDesc: - db "Fully restores PP" - next "of one move.@" - -ElixerDesc: - db "Restores PP of all" - next "moves by 10.@" - -RedScaleDesc: - db "A scale from the" - next "red GYARADOS.@" - -SecretPotionDesc: - db "Fully heals any" - next "#MON.@" - -SSTicketDesc: - db "A ticket for the" - next "S.S.AQUA.@" - -MysteryEggDesc: - db "An EGG obtained" - next "from MR.#MON.@" - -ClearBellDesc: - db "Makes a gentle" - next "ringing.@" - -SilverWingDesc: - db "A strange, silver-" - next "colored feather.@" - -MoomooMilkDesc: - db "Restores #MON" - next "HP by 100.@" - -QuickClawDesc: - db "Raises 1st strike" - next "ratio. (HOLD)@" - -PsnCureBerryDesc: - db "A self-cure for" - next "poison. (HOLD)@" - -GoldLeafDesc: - db "A strange, gold-" - next "colored leaf.@" - -SoftSandDesc: - db "Powers up ground-" - next "type moves. (HOLD)@" - -SharpBeakDesc: - db "Powers up flying-" - next "type moves. (HOLD)@" - -PrzCureBerryDesc: - db "A self-cure for" - next "paralysis. (HOLD)@" - -BurntBerryDesc: - db "A self-cure for" - next "freezing. (HOLD)@" - -IceBerryDesc: - db "A self-heal for a" - next "burn. (HOLD)@" - -PoisonBarbDesc: - db "Powers up poison-" - next "type moves. (HOLD)@" - -KingsRockDesc: - db "May make the foe" - next "flinch. (HOLD)@" - -BitterBerryDesc: - db "A self-cure for" - next "confusion. (HOLD)@" - -MintBerryDesc: - db "A self-awakening" - next "for sleep. (HOLD)@" - -RedApricornDesc: - db "A red APRICORN.@" - -TinyMushroomDesc: - db "An ordinary mush-" - next "room. Sell low.@" - -BigMushroomDesc: - db "A rare mushroom." - next "Sell high.@" - -SilverPowderDesc: - db "Powers up bug-type" - next "moves. (HOLD)@" - -BluApricornDesc: - db "A blue APRICORN.@" - -TeruSama6Desc: - db "?@" - -AmuletCoinDesc: - db "Doubles monetary" - next "earnings. (HOLD)@" - -YlwApricornDesc: - db "A yellow APRICORN.@" - -GrnApricornDesc: - db "A green APRICORN.@" - -CleanseTagDesc: - db "Helps repel wild" - next "#MON. (HOLD)@" - -MysticWaterDesc: - db "Powers up water-" - next "type moves. (HOLD)@" - -TwistedSpoonDesc: - db "Powers up psychic-" - next "type moves. (HOLD)@" - -WhtApricornDesc: - db "A white APRICORN.@" - -BlackbeltDesc: - db "Boosts fighting-" - next "type moves. (HOLD)@" - -BlkApricornDesc: - db "A black APRICORN." - next "@" - -TeruSama7Desc: - db "?@" - -PnkApricornDesc: - db "A pink APRICORN." - next "@" - -BlackGlassesDesc: - db "Powers up dark-" - next "type moves. (HOLD)@" - -SlowpokeTailDesc: - db "Very tasty. Sell" - next "high.@" - -PinkBowDesc: - db "Powers up normal-" - next "type moves. (HOLD)@" - -StickDesc: - db "An ordinary stick." - next "Sell low.@" - -SmokeBallDesc: - db "Escape from wild" - next "#MON. (HOLD)@" - -NeverMeltIceDesc: - db "Powers up ice-type" - next "moves. (HOLD)@" - -MagnetDesc: - db "Boosts electric-" - next "type moves. (HOLD)@" - -MiracleBerryDesc: - db "Cures all status" - next "problems. (HOLD)@" - -PearlDesc: - db "A beautiful pearl." - next "Sell low.@" - -BigPearlDesc: - db "A big, beautiful" - next "pearl. Sell high.@" - -EverStoneDesc: - db "Stops evolution." - next "(HOLD)@" - -SpellTagDesc: - db "Powers up ghost-" - next "type moves. (HOLD)@" - -RageCandyBarDesc: - db "Restores #MON" - next "HP by 20.@" - -GSBallDesc: - db "The mysterious" - next "BALL.@" - -BlueCardDesc: - db "Card to save" - next "points.@" - -MiracleSeedDesc: - db "Powers up grass-" - next "type moves. (HOLD)@" - -ThickClubDesc: - db "A bone of some" - next "sort. Sell low.@" - -FocusBandDesc: - db "May prevent faint-" - next "ing. (HOLD)@" - -TeruSama8Desc: - db "?@" - -EnergyPowderDesc: - db "Restores #MON" - next "HP by 50. Bitter.@" - -EnergyRootDesc: - db "Restores #MON" - next "HP by 200. Bitter.@" - -HealPowderDesc: - db "Cures all status" - next "problems. Bitter.@" - -RevivalHerbDesc: - db "Revives fainted" - next "#MON. Bitter.@" - -HardStoneDesc: - db "Powers up rock-" - next "type moves. (HOLD)@" - -LuckyEggDesc: - db "Earns extra EXP." - next "points. (HOLD)@" - -CardKeyDesc: - db "Opens shutters in" - next "the RADIO TOWER.@" - -MachinePartDesc: - db "A machine part for" - next "the POWER PLANT.@" - -EggTicketDesc: - db "May use at Golden-" - next "rod trade corner.@" - -LostItemDesc: - db "The # DOLL lost" - next "by the COPYCAT.@" - -StardustDesc: - db "Pretty, red sand." - next "Sell high.@" - -StarPieceDesc: - db "A hunk of red gem." - next "Sell very high.@" - -BasementKeyDesc: - db "Opens doors.@" - -PassDesc: - db "A ticket for the" - next "MAGNET TRAIN.@" - -TeruSama9Desc: - db "?@" - -TeruSama10Desc: - db "?@" - -TeruSama11Desc: - db "?@" - -CharcoalDesc: - db "Powers up fire-" - next "type moves. (HOLD)@" - -BerryJuiceDesc: - db "Restores #MON" - next "HP by 20.@" - -ScopeLensDesc: - db "Raises critical" - next "hit ratio. (HOLD)@" - -TeruSama12Desc: - db "?@" - -TeruSama13Desc: - db "?@" - -MetalCoatDesc: - db "Powers up steel-" - next "type moves. (HOLD)@" - -DragonFangDesc: - db "Powers up dragon-" - next "type moves. (HOLD)@" - -TeruSama14Desc: - db "?@" - -LeftoversDesc: - db "Restores HP during" - next "battle. (HOLD)@" - -TeruSama15Desc: - db "?@" - -TeruSama16Desc: - db "?@" - -TeruSama17Desc: - db "?@" - -MysteryBerryDesc: - db "A self-restore" - next "for PP. (HOLD)@" - -DragonScaleDesc: - db "A rare dragon-type" - next "item.@" - -BerserkGeneDesc: - db "Boosts ATTACK but" - next "causes confusion.@" - -TeruSama18Desc: - db "?@" - -TeruSama19Desc: - db "?@" - -TeruSama20Desc: - db "?@" - -SacredAshDesc: - db "Fully revives all" - next "fainted #MON.@" - -HeavyBallDesc: - db "A BALL for catch-" - next "ing heavy #MON.@" - -FlowerMailDesc: - db "Flower-print MAIL." - next "(HOLD)@" - -LevelBallDesc: - db "A BALL for lower-" - next "level #MON.@" - -LureBallDesc: - db "A BALL for #MON" - next "hooked by a ROD.@" - -FastBallDesc: - db "A BALL for catch-" - next "ing fast #MON.@" - -TeruSama21Desc: - db "?@" - -LightBallDesc: - db "An odd, electrical" - next "orb. (HOLD)@" - -FriendBallDesc: - db "A BALL that makes" - next "#MON friendly.@" - -MoonBallDesc: - db "A BALL for MOON" - next "STONE evolvers.@" - -LoveBallDesc: - db "For catching the" - next "opposite gender.@" - -NormalBoxDesc: - db "Open it and see" - next "what's inside.@" - -GorgeousBoxDesc: - db "Open it and see" - next "what's inside.@" - -SunStoneDesc: - db "Evolves certain" - next "kinds of #MON.@" - -PolkadotBowDesc: - db "Powers up normal-" - next "type moves. (HOLD)@" - -TeruSama22Desc: - db "?@" - -UpGradeDesc: - db "A mysterious box" - next "made by SILPH CO.@" - -BerryDesc: - db "A self-restore" - next "item. (10HP, HOLD)@" - -GoldBerryDesc: - db "A self-restore" - next "item. (30HP, HOLD)@" - -SquirtBottleDesc: - db "A bottle used for" - next "watering plants.@" - -TeruSama23Desc: - db "?@" - -ParkBallDesc: - db "The Bug-Catching" - next "Contest BALL.@" - -RainbowWingDesc: - db "A mystical feather" - next "of rainbow colors.@" - -TeruSama24Desc: - db "?@" - -BrickPieceDesc: - db "A rare chunk of" - next "tile.@" - -SurfMailDesc: - db "LAPRAS-print MAIL." - next "(HOLD)@" - -LiteBlueMailDesc: - db "DRATINI-print" - next "MAIL. (HOLD)@" - -PortraitMailDesc: - db "MAIL featuring the" - next "holder's likeness.@" - -LovelyMailDesc: - db "Heart-print MAIL." - next "(HOLD)@" - -EonMailDesc: - db "EEVEE-print MAIL." - next "(HOLD)@" - -MorphMailDesc: - db "DITTO-print MAIL." - next "(HOLD)@" - -BlueSkyMailDesc: - db "Sky-print MAIL." - next "(HOLD)@" - -MusicMailDesc: - db "NATU-print MAIL." - next "(HOLD)@" - -MewMailDesc: - db "MEW-print MAIL." - next "(HOLD)@" - -TeruSama25Desc: - db "?@" - -TeruSama26Desc: - db "?@" - -TeruSama27Desc: - db "?@" - -TeruSama28Desc: - db "?@" - -TeruSama29Desc: - db "?@" - -TeruSama30Desc: - db "?@" - -TeruSama31Desc: - db "?@" - -TeruSama32Desc: - db "?@" - -TeruSama33Desc: - db "?@" diff --git a/items/item_effects.asm b/items/item_effects.asm deleted file mode 100644 index 25da8059c..000000000 --- a/items/item_effects.asm +++ /dev/null @@ -1,3313 +0,0 @@ -_DoItemEffect:: ; e722 - ld a, [CurItem] - ld [wd265], a - call GetItemName - call CopyName1 - ld a, 1 - ld [wItemEffectSucceeded], a - ld a, [CurItem] - dec a - ld hl, ItemEffects - rst JumpTable - ret -; e73c - - -ItemEffects: ; e73c - dw MasterBall - dw UltraBall - dw Brightpowder - dw GreatBall - dw PokeBall - dw TownMap - dw Bicycle - dw MoonStone - dw Antidote - dw BurnHeal - dw IceHeal - dw Awakening - dw ParlyzHeal - dw FullRestore - dw MaxPotion - dw HyperPotion - dw SuperPotion - dw Potion - dw EscapeRope - dw Repel - dw MaxElixer - dw FireStone - dw Thunderstone - dw WaterStone - dw Item19 - dw HPUp - dw Protein - dw Iron - dw Carbos - dw LuckyPunch - dw Calcium - dw RareCandy - dw XAccuracy - dw LeafStone - dw MetalPowder - dw Nugget - dw PokeDoll - dw FullHeal - dw Revive - dw MaxRevive - dw GuardSpec - dw SuperRepel - dw MaxRepel - dw DireHit - dw Item2D - dw FreshWater - dw SodaPop - dw Lemonade - dw XAttack - dw Item32 - dw XDefend - dw XSpeed - dw XSpecial - dw CoinCase - dw Itemfinder - dw PokeFlute - dw ExpShare - dw OldRod - dw GoodRod - dw SilverLeaf - dw SuperRod - dw PPUp - dw Ether - dw MaxEther - dw Elixer - dw RedScale - dw Secretpotion - dw SSTicket - dw MysteryEgg - dw ClearBell - dw SilverWing - dw MoomooMilk - dw QuickClaw - dw Psncureberry - dw GoldLeaf - dw SoftSand - dw SharpBeak - dw Przcureberry - dw BurntBerry - dw IceBerry - dw PoisonBarb - dw KingsRock - dw BitterBerry - dw MintBerry - dw RedApricorn - dw Tinymushroom - dw BigMushroom - dw Silverpowder - dw BluApricorn - dw Item5A - dw AmuletCoin - dw YlwApricorn - dw GrnApricorn - dw CleanseTag - dw MysticWater - dw Twistedspoon - dw WhtApricorn - dw Blackbelt - dw BlkApricorn - dw Item64 - dw PnkApricorn - dw Blackglasses - dw Slowpoketail - dw PinkBow - dw Stick - dw SmokeBall - dw Nevermeltice - dw Magnet - dw Miracleberry - dw Pearl - dw BigPearl - dw Everstone - dw SpellTag - dw Ragecandybar - dw GsBall - dw BlueCard - dw MiracleSeed - dw ThickClub - dw FocusBand - dw Item78 - dw Energypowder - dw EnergyRoot - dw HealPowder - dw RevivalHerb - dw HardStone - dw LuckyEgg - dw CardKey - dw MachinePart - dw EggTicket - dw LostItem - dw Stardust - dw StarPiece - dw BasementKey - dw Pass - dw Item87 - dw Item88 - dw Item89 - dw Charcoal - dw BerryJuice - dw ScopeLens - dw Item8D - dw Item8E - dw MetalCoat - dw DragonFang - dw Item91 - dw Leftovers - dw Item93 - dw Item94 - dw Item95 - dw Mysteryberry - dw DragonScale - dw BerserkGene - dw Item99 - dw Item9A - dw Item9B - dw SacredAsh - dw HeavyBall - dw FlowerMail - dw LevelBall - dw LureBall - dw FastBall - dw ItemA2 - dw LightBall - dw FriendBall - dw MoonBall - dw LoveBall - dw NormalBox - dw GorgeousBox - dw SunStone - dw PolkadotBow - dw ItemAB - dw UpGrade - dw Berry - dw GoldBerry - dw Squirtbottle - dw ItemB0 - dw ParkBall - dw RainbowWing - dw ItemB3 -; e8a2 - - -MasterBall: -UltraBall: -GreatBall: -PokeBall: -HeavyBall: -LevelBall: -LureBall: -FastBall: -FriendBall: -MoonBall: -LoveBall: -ParkBall: ; e8a2 - ld a, [wBattleMode] - dec a - jp nz, UseBallInTrainerBattle - - ld a, [PartyCount] - cp PARTY_LENGTH - jr nz, .room_in_party - - ld a, BANK(sBoxCount) - call GetSRAMBank - ld a, [sBoxCount] - cp MONS_PER_BOX - call CloseSRAM - jp z, Ball_BoxIsFullMessage - -.room_in_party - xor a - ld [wWildMon], a - ld a, [CurItem] - cp PARK_BALL - call nz, ReturnToBattle_UseBall - - ld hl, Options - res NO_TEXT_SCROLL, [hl] - ld hl, UsedItemText - call PrintText - - ld a, [EnemyMonCatchRate] - ld b, a - ld a, [BattleType] - cp BATTLETYPE_TUTORIAL - jp z, .catch_without_fail - ld a, [CurItem] - cp MASTER_BALL - jp z, .catch_without_fail - ld a, [CurItem] - ld c, a - ld hl, BallMultiplierFunctionTable - -.get_multiplier_loop - ld a, [hli] - cp $ff - jr z, .skip_or_return_from_ball_fn - cp c - jr z, .call_ball_function - inc hl - inc hl - jr .get_multiplier_loop - -.call_ball_function - ld a, [hli] - ld h, [hl] - ld l, a - ld de, .skip_or_return_from_ball_fn - push de - jp hl - -.skip_or_return_from_ball_fn - ld a, [CurItem] - cp LEVEL_BALL - ld a, b - jp z, .skip_hp_calc - - ld a, b - ld [hMultiplicand + 2], a - - ld hl, EnemyMonHP - ld b, [hl] - inc hl - ld c, [hl] - inc hl - ld d, [hl] - inc hl - ld e, [hl] - sla c - rl b - - ld h, d - ld l, e - add hl, de - add hl, de - ld d, h - ld e, l - ld a, d - and a - jr z, .okay_1 - - srl d - rr e - srl d - rr e - srl b - rr c - srl b - rr c - - ld a, c - and a - jr nz, .okay_1 - ld c, $1 -.okay_1 - ld b, e - - push bc - ld a, b - sub c - ld [hMultiplier], a - xor a - ld [hDividend + 0], a - ld [hMultiplicand + 0], a - ld [hMultiplicand + 1], a - call Multiply - pop bc - - ld a, b - ld [hDivisor], a - ld b, $4 - call Divide - - ld a, [hQuotient + 2] - and a - jr nz, .statuscheck - ld a, 1 -.statuscheck -; This routine is buggy. It was intended that SLP and FRZ provide a higher -; catch rate than BRN/PSN/PAR, which in turn provide a higher catch rate than -; no status effect at all. But instead, it makes BRN/PSN/PAR provide no -; benefit. -; Uncomment the line below to fix this. - ld b, a - ld a, [EnemyMonStatus] - and 1 << FRZ | SLP - ld c, 10 - jr nz, .addstatus - ; ld a, [EnemyMonStatus] - and a - ld c, 5 - jr nz, .addstatus - ld c, 0 -.addstatus - ld a, b - add c - jr nc, .max_1 - ld a, $ff -.max_1 - - ld d, a - push de - - ; BUG: callba overwrites a, - ; and GetItemHeldEffect takes b anyway. - - ; This is probably the reason - ; the HELD_CATCH_CHANCE effect - ; is never used. - - ; Uncomment the line below to fix. - - ld a, [BattleMonItem] -; ld b, a - callba GetItemHeldEffect - ld a, b - cp HELD_CATCH_CHANCE - - pop de - ld a, d - - jr nz, .skip_hp_calc - add c - jr nc, .skip_hp_calc - ld a, $ff -.skip_hp_calc - - ld b, a - ld [Buffer1], a - call Random - - cp b - ld a, 0 - jr z, .catch_without_fail - jr nc, .fail_to_catch - -.catch_without_fail - ld a, [EnemyMonSpecies] - -.fail_to_catch - ld [wWildMon], a - ld c, 20 - call DelayFrames - - ld a, [CurItem] - cp POKE_BALL + 1 ; Assumes Master/Ultra/Great come before - jr c, .not_kurt_ball - ld a, POKE_BALL -.not_kurt_ball - ld [wBattleAnimParam], a - - ld de, ANIM_THROW_POKE_BALL - ld a, e - ld [FXAnimID], a - ld a, d - ld [FXAnimID + 1], a - xor a - ld [hBattleTurn], a - ld [Buffer2], a - ld [wNumHits], a - predef PlayBattleAnim - - ld a, [wWildMon] - and a - jr nz, .caught - ld a, [Buffer2] - cp $1 - ld hl, Text_NoShake - jp z, .shake_and_break_free - cp $2 - ld hl, Text_OneShake - jp z, .shake_and_break_free - cp $3 - ld hl, Text_TwoShakes - jp z, .shake_and_break_free - cp $4 - ld hl, Text_ThreeShakes - jp z, .shake_and_break_free -.caught - - ld hl, EnemyMonStatus - ld a, [hli] - push af - inc hl - ld a, [hli] - push af - ld a, [hl] - push af - push hl - ld hl, EnemyMonItem - ld a, [hl] - push af - push hl - ld hl, EnemySubStatus5 - ld a, [hl] - push af - set SUBSTATUS_TRANSFORMED, [hl] - bit SUBSTATUS_TRANSFORMED, a - jr nz, .ditto - jr .not_ditto - -.ditto - ld a, DITTO - ld [TempEnemyMonSpecies], a - jr .load_data - -.not_ditto - set SUBSTATUS_TRANSFORMED, [hl] - ld hl, wEnemyBackupDVs - ld a, [EnemyMonDVs] - ld [hli], a - ld a, [EnemyMonDVs + 1] - ld [hl], a - -.load_data - ld a, [TempEnemyMonSpecies] - ld [CurPartySpecies], a - ld a, [EnemyMonLevel] - ld [CurPartyLevel], a - callba LoadEnemyMon - - pop af - ld [EnemySubStatus5], a - - pop hl - pop af - ld [hl], a - pop hl - pop af - ld [hld], a - pop af - ld [hld], a - dec hl - pop af - ld [hl], a - - ld hl, EnemySubStatus5 - bit SUBSTATUS_TRANSFORMED, [hl] - jr nz, .Transformed - ld hl, wWildMonMoves - ld de, EnemyMonMoves - ld bc, NUM_MOVES - call CopyBytes - - ld hl, wWildMonPP - ld de, EnemyMonPP - ld bc, NUM_MOVES - call CopyBytes -.Transformed: - - ld a, [EnemyMonSpecies] - ld [wWildMon], a - ld [CurPartySpecies], a - ld [wd265], a - ld a, [BattleType] - cp BATTLETYPE_TUTORIAL - jp z, .FinishTutorial - - callba TrainerRankings_WildMonsCaught - - ld hl, Text_GotchaMonWasCaught - call PrintText - - call ClearSprites - - ld a, [wd265] - dec a - call CheckCaughtMon - - ld a, c - push af - ld a, [wd265] - dec a - call SetSeenAndCaughtMon - pop af - and a - jr nz, .skip_pokedex - - call CheckReceivedDex - jr z, .skip_pokedex - - ld hl, Text_AddedToPokedex - call PrintText - - call ClearSprites - - ld a, [EnemyMonSpecies] - ld [wd265], a - predef NewPokedexEntry - -.skip_pokedex - ld a, [BattleType] - cp BATTLETYPE_CONTEST - jp z, .catch_bug_contest_mon - cp BATTLETYPE_CELEBI - jr nz, .not_celebi - ld hl, wBattleResult - set 6, [hl] -.not_celebi - - ld a, [PartyCount] - cp PARTY_LENGTH - jr z, .SendToPC - - xor a ; PARTYMON - ld [MonType], a - call ClearSprites - - predef TryAddMonToParty - - callba SetCaughtData - - ld a, [CurItem] - cp FRIEND_BALL - jr nz, .SkipPartyMonFriendBall - - ld a, [PartyCount] - dec a - ld hl, PartyMon1Happiness - ld bc, PARTYMON_STRUCT_LENGTH - call AddNTimes - - ld a, FRIEND_BALL_HAPPINESS - ld [hl], a -.SkipPartyMonFriendBall: - - ld hl, Text_AskNicknameNewlyCaughtMon - call PrintText - - ld a, [CurPartySpecies] - ld [wd265], a - call GetPokemonName - - call YesNoBox - jp c, .return_from_capture - - ld a, [PartyCount] - dec a - ld [CurPartyMon], a - ld hl, PartyMonNicknames - ld bc, PKMN_NAME_LENGTH - call AddNTimes - - ld d, h - ld e, l - push de - xor a ; PARTYMON - ld [MonType], a - ld b, 0 - callba NamingScreen - - call RotateThreePalettesRight - - call LoadStandardFont - - pop hl - ld de, StringBuffer1 - call InitName - - jp .return_from_capture - -.SendToPC: - call ClearSprites - - predef SentPkmnIntoBox - - callba SetBoxMonCaughtData - - ld a, BANK(sBoxCount) - call GetSRAMBank - - ld a, [sBoxCount] - cp MONS_PER_BOX - jr nz, .BoxNotFullYet - ld hl, wBattleResult - set 7, [hl] -.BoxNotFullYet: - ld a, [CurItem] - cp FRIEND_BALL - jr nz, .SkipBoxMonFriendBall - ; The captured mon is now first in the box - ld a, FRIEND_BALL_HAPPINESS - ld [sBoxMon1Happiness], a -.SkipBoxMonFriendBall: - call CloseSRAM - - ld hl, Text_AskNicknameNewlyCaughtMon - call PrintText - - ld a, [CurPartySpecies] - ld [wd265], a - call GetPokemonName - - call YesNoBox - jr c, .SkipBoxMonNickname - - xor a - ld [CurPartyMon], a - ld a, BOXMON - ld [MonType], a - ld de, wMonOrItemNameBuffer - ld b, $0 - callba NamingScreen - - ld a, BANK(sBoxMonNicknames) - call GetSRAMBank - - ld hl, wMonOrItemNameBuffer - ld de, sBoxMonNicknames - ld bc, PKMN_NAME_LENGTH - call CopyBytes - - ld hl, sBoxMonNicknames - ld de, StringBuffer1 - call InitName - - call CloseSRAM - -.SkipBoxMonNickname: - ld a, BANK(sBoxMonNicknames) - call GetSRAMBank - - ld hl, sBoxMonNicknames - ld de, wMonOrItemNameBuffer - ld bc, PKMN_NAME_LENGTH - call CopyBytes - - call CloseSRAM - - ld hl, Text_SentToBillsPC - call PrintText - - call RotateThreePalettesRight - call LoadStandardFont - jr .return_from_capture - -.catch_bug_contest_mon - callba BugContest_SetCaughtContestMon - jr .return_from_capture - -.FinishTutorial: - ld hl, Text_GotchaMonWasCaught - -.shake_and_break_free - call PrintText - call ClearSprites - -.return_from_capture - ld a, [BattleType] - cp BATTLETYPE_TUTORIAL - ret z - cp BATTLETYPE_DEBUG - ret z - cp BATTLETYPE_CONTEST - jr z, .used_park_ball - - ld a, [wWildMon] - and a - jr z, .toss - - call ClearBGPalettes - call ClearTileMap - -.toss - ld hl, NumItems - inc a - ld [wItemQuantityChangeBuffer], a - jp TossItem - -.used_park_ball - ld hl, wParkBallsRemaining - dec [hl] - ret -; ec0a - - -BallMultiplierFunctionTable: -; table of routines that increase or decrease the catch rate based on -; which ball is used in a certain situation. - dbw ULTRA_BALL, UltraBallMultiplier - dbw GREAT_BALL, GreatBallMultiplier - dbw SAFARI_BALL, SafariBallMultiplier ; Safari Ball, leftover from RBY - dbw HEAVY_BALL, HeavyBallMultiplier - dbw LEVEL_BALL, LevelBallMultiplier - dbw LURE_BALL, LureBallMultiplier - dbw FAST_BALL, FastBallMultiplier - dbw MOON_BALL, MoonBallMultiplier - dbw LOVE_BALL, LoveBallMultiplier - dbw PARK_BALL, ParkBallMultiplier - db $ff - -UltraBallMultiplier: -; multiply catch rate by 2 - sla b - ret nc - ld b, $ff - ret - -SafariBallMultiplier: -GreatBallMultiplier: -ParkBallMultiplier: -; multiply catch rate by 1.5 - ld a, b - srl a - add b - ld b, a - ret nc - ld b, $ff - ret - -GetPokedexEntryBank: - push hl - push de - ld a, [EnemyMonSpecies] - rlca - rlca - and 3 - ld hl, .PokedexEntryBanks - ld d, 0 - ld e, a - add hl, de - ld a, [hl] - pop de - pop hl - ret - -.PokedexEntryBanks: - -GLOBAL PokedexEntries1 -GLOBAL PokedexEntries2 -GLOBAL PokedexEntries3 -GLOBAL PokedexEntries4 - - db BANK(PokedexEntries1) - db BANK(PokedexEntries2) - db BANK(PokedexEntries3) - db BANK(PokedexEntries4) - -HeavyBallMultiplier: -; subtract 20 from catch rate if weight < 102.4 kg -; else add 0 to catch rate if weight < 204.8 kg -; else add 20 to catch rate if weight < 307.2 kg -; else add 30 to catch rate if weight < 409.6 kg -; else add 40 to catch rate (never happens) - ld a, [EnemyMonSpecies] - ld hl, PokedexDataPointerTable - dec a - ld e, a - ld d, 0 - add hl, de - add hl, de - ld a, BANK(PokedexDataPointerTable) - call GetFarHalfword - -.SkipText: - call GetPokedexEntryBank - call GetFarByte - inc hl - cp "@" - jr nz, .SkipText - - call GetPokedexEntryBank - push bc - inc hl - inc hl - call GetFarHalfword - - srl h - rr l - ld b, h - ld c, l - - rept 4 - srl b - rr c - endr - call .subbc - - srl b - rr c - call .subbc - - ld a, h - pop bc - jr .compare - -.subbc - ; subtract bc from hl - push bc - ld a, b - cpl - ld b, a - ld a, c - cpl - ld c, a - inc bc - add hl, bc - pop bc - ret - -.compare - ld c, a - cp 1024 >> 8 ; 102.4 kg - jr c, .lightmon - - ld hl, .WeightsTable -.lookup - ld a, c - cp [hl] - jr c, .heavymon - inc hl - inc hl - jr .lookup - -.heavymon - inc hl - ld a, b - add [hl] - ld b, a - ret nc - ld b, $ff - ret - -.lightmon - ld a, b - sub 20 - ld b, a - ret nc - ld b, $1 - ret - -.WeightsTable: -; weight factor, boost - db 2048 >> 8, 0 - db 3072 >> 8, 20 - db 4096 >> 8, 30 - db 65280 >> 8, 40 - -LureBallMultiplier: -; multiply catch rate by 3 if this is a fishing rod battle - ld a, [BattleType] - cp BATTLETYPE_FISH - ret nz - - ld a, b - add a - jr c, .max - - add b - jr nc, .done -.max - ld a, $ff -.done - ld b, a - ret - -MoonBallMultiplier: -; This function is buggy. -; Intent: multiply catch rate by 4 if mon evolves with moon stone -; Reality: no boost - -GLOBAL EvosAttacks -GLOBAL EvosAttacksPointers - - push bc - ld a, [TempEnemyMonSpecies] - dec a - ld c, a - ld b, 0 - ld hl, EvosAttacksPointers - add hl, bc - add hl, bc - ld a, BANK(EvosAttacksPointers) - call GetFarHalfword - pop bc - - push bc - ld a, BANK(EvosAttacks) - call GetFarByte - cp EVOLVE_ITEM - pop bc - ret nz - - inc hl - inc hl - inc hl - -; Moon Stone's constant from Pokémon Red is used. -; No Pokémon evolve with Burn Heal, -; so Moon Balls always have a catch rate of 1×. - push bc - ld a, BANK(EvosAttacks) - call GetFarByte - cp MOON_STONE_RED ; BURN_HEAL - pop bc - ret nz - - sla b - jr c, .max - sla b - jr nc, .done -.max - ld b, $ff -.done - ret - -LoveBallMultiplier: -; This function is buggy. -; Intent: multiply catch rate by 8 if mons are of same species, different sex -; Reality: multiply catch rate by 8 if mons are of same species, same sex - - ; does species match? - ld a, [TempEnemyMonSpecies] - ld c, a - ld a, [TempBattleMonSpecies] - cp c - ret nz - - ; check player mon species - push bc - ld a, [TempBattleMonSpecies] - ld [CurPartySpecies], a - xor a ; PARTYMON - ld [MonType], a - ld a, [CurBattleMon] - ld [CurPartyMon], a - callba GetGender - jr c, .done1 ; no effect on genderless - - ld d, 0 ; male - jr nz, .playermale - inc d ; female -.playermale - - ; check wild mon species - push de - ld a, [TempEnemyMonSpecies] - ld [CurPartySpecies], a - ld a, WILDMON - ld [MonType], a - callba GetGender - jr c, .done2 ; no effect on genderless - - ld d, 0 ; male - jr nz, .wildmale - inc d ; female -.wildmale - - ld a, d - pop de - cp d - pop bc - ret nz ; for the intended effect, this should be "ret z" - - sla b - jr c, .max - sla b - jr c, .max - sla b - ret nc -.max - ld b, $ff - ret - -.done2 - pop de - -.done1 - pop bc - ret - -FastBallMultiplier: -; This function is buggy. -; Intent: multiply catch rate by 4 if enemy mon is in one of the three -; FleeMons tables. -; Reality: multiply catch rate by 4 if enemy mon is one of the first three in -; the first FleeMons table. - ld a, [TempEnemyMonSpecies] - ld c, a - ld hl, FleeMons - ld d, 3 - -.loop - ld a, BANK(FleeMons) - call GetFarByte - - inc hl - cp -1 - jr z, .next - cp c - jr nz, .next ; for the intended effect, this should be "jr nz, .loop" - sla b - jr c, .max - - sla b - ret nc - -.max - ld b, $ff - ret - -.next - dec d - jr nz, .loop - ret - -LevelBallMultiplier: -; multiply catch rate by 8 if player mon level / 4 > enemy mon level -; multiply catch rate by 4 if player mon level / 2 > enemy mon level -; multiply catch rate by 2 if player mon level > enemy mon level - ld a, [BattleMonLevel] - ld c, a - ld a, [EnemyMonLevel] - cp c - ret nc ; if player is lower level, we're done here - sla b - jr c, .max - - srl c - cp c - ret nc ; if player/2 is lower level, we're done here - sla b - jr c, .max - - srl c - cp c - ret nc ; if player/4 is lower level, we're done here - sla b - ret nc - -.max - ld b, $ff - ret - -; These two texts were carried over from gen 1. -; They are not used in gen 2, and are dummied out. - -Text_RBY_CatchMarowak: ; 0xedab - ; It dodged the thrown BALL! This #MON can't be caught! - text_jump UnknownText_0x1c5a5a - db "@" -; 0xedb0 - -Text_RBY_NoShake: ; 0xedb0 - ; You missed the #MON! - text_jump UnknownText_0x1c5a90 - db "@" -; 0xedb5 - -Text_NoShake: ; 0xedb5 - ; Oh no! The #MON broke free! - text_jump UnknownText_0x1c5aa6 - db "@" -; 0xedba - -Text_OneShake: ; 0xedba - ; Aww! It appeared to be caught! - text_jump UnknownText_0x1c5ac3 - db "@" -; 0xedbf - -Text_TwoShakes: ; 0xedbf - ; Aargh! Almost had it! - text_jump UnknownText_0x1c5ae3 - db "@" -; 0xedc4 - -Text_ThreeShakes: ; 0xedc4 - ; Shoot! It was so close too! - text_jump UnknownText_0x1c5afa - db "@" -; 0xedc9 - -Text_GotchaMonWasCaught: ; 0xedc9 - ; Gotcha! @ was caught!@ @ - text_jump UnknownText_0x1c5b17 - start_asm - call WaitSFX - push bc - ld de, MUSIC_NONE - call PlayMusic - call DelayFrame - ld de, MUSIC_CAPTURE - call PlayMusic - pop bc - ld hl, TextJump_Waitbutton - ret -; ede6 - -TextJump_Waitbutton: ; 0xede6 - ; @ - text_jump Text_Waitbutton_2 - db "@" -; 0xedeb - -Text_SentToBillsPC: ; 0xedeb - ; was sent to BILL's PC. - text_jump UnknownText_0x1c5b38 - db "@" -; 0xedf0 - -Text_AddedToPokedex: ; 0xedf0 - ; 's data was newly added to the #DEX.@ @ - text_jump UnknownText_0x1c5b53 - db "@" -; 0xedf5 - -Text_AskNicknameNewlyCaughtMon: ; 0xedf5 - ; Give a nickname to @ ? - text_jump UnknownText_0x1c5b7f - db "@" -; 0xedfa - -ReturnToBattle_UseBall: ; edfa (3:6dfa) - callba _ReturnToBattle_UseBall - ret - -TownMap: ; ee01 - callba PokegearMap - ret -; ee08 - - -Bicycle: ; ee08 - callba BikeFunction - ret -; ee0f - - -MoonStone: -FireStone: -Thunderstone: -WaterStone: -LeafStone: -SunStone: ; ee0f - ld b, PARTYMENUACTION_EVO_STONE - call UseItem_SelectMon - - jp c, .DecidedNotToUse - - ld a, MON_ITEM - call GetPartyParamLocation - - ld a, [hl] - cp EVERSTONE - jr z, .NoEffect - - ld a, $1 - ld [wForceEvolution], a - callba EvolvePokemon - - ld a, [wMonTriedToEvolve] - and a - jr z, .NoEffect - - jp UseDisposableItem - -.NoEffect: - call WontHaveAnyEffectMessage - -.DecidedNotToUse: - xor a - ld [wItemEffectSucceeded], a - ret -; ee3d - - -HPUp: -Protein: -Iron: -Carbos: -Calcium: ; ee3d - ld b, PARTYMENUACTION_HEALING_ITEM - call UseItem_SelectMon - - jp c, RareCandy_StatBooster_ExitMenu - - call RareCandy_StatBooster_GetParameters - - call GetStatExpRelativePointer - - ld a, MON_STAT_EXP - call GetPartyParamLocation - - add hl, bc - ld a, [hl] - cp 100 - jr nc, NoEffectMessage - - add 10 - ld [hl], a - call UpdateStatsAfterItem - - call GetStatExpRelativePointer - - ld hl, StatStrings - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - ld de, StringBuffer2 - ld bc, ITEM_NAME_LENGTH - call CopyBytes - - call Play_SFX_FULL_HEAL - - ld hl, Text_StatRose - call PrintText - - ld c, HAPPINESS_USEDITEM - callba ChangeHappiness - - jp UseDisposableItem - - -NoEffectMessage: ; ee83 - ld hl, WontHaveAnyEffectText - call PrintText - jp ClearPalettes -; ee8c - - -UpdateStatsAfterItem: ; ee8c - ld a, MON_MAXHP - call GetPartyParamLocation - ld d, h - ld e, l - ld a, MON_STAT_EXP - 1 - call GetPartyParamLocation - ld b, $1 - predef_jump CalcPkmnStats -; ee9f - -RareCandy_StatBooster_ExitMenu: ; ee9f - xor a - ld [wItemEffectSucceeded], a - jp ClearPalettes -; eea6 - - -Text_StatRose: ; 0xeea6 - ; 's @ rose. - text_jump UnknownText_0x1c5b9a - db "@" -; 0xeeab - - -StatStrings: ; eeab - dw .health - dw .attack - dw .defense - dw .speed - dw .special - -.health db "HEALTH@" -.attack db "ATTACK@" -.defense db "DEFENSE@" -.speed db "SPEED@" -.special db "SPECIAL@" -; eed9 - - -GetStatExpRelativePointer: ; eed9 - ld a, [CurItem] - ld hl, Table_eeeb -.next - cp [hl] - inc hl - jr z, .got_it - inc hl - jr .next - -.got_it - ld a, [hl] - ld c, a - ld b, 0 - ret -; eeeb - -Table_eeeb: ; eeeb - db HP_UP, MON_HP_EXP - MON_STAT_EXP - db PROTEIN, MON_ATK_EXP - MON_STAT_EXP - db IRON, MON_DEF_EXP - MON_STAT_EXP - db CARBOS, MON_SPD_EXP - MON_STAT_EXP - db CALCIUM, MON_SPC_EXP - MON_STAT_EXP -; eef5 - - -RareCandy_StatBooster_GetParameters: ; eef5 - ld a, [CurPartySpecies] - ld [CurSpecies], a - ld [wd265], a - ld a, MON_LEVEL - call GetPartyParamLocation - ld a, [hl] - ld [CurPartyLevel], a - call GetBaseData - ld a, [CurPartyMon] - ld hl, PartyMonNicknames - call GetNick - ret -; 0xef14 - - -RareCandy: ; ef14 - ld b, PARTYMENUACTION_HEALING_ITEM - call UseItem_SelectMon - - jp c, RareCandy_StatBooster_ExitMenu - - call RareCandy_StatBooster_GetParameters - - ld a, MON_LEVEL - call GetPartyParamLocation - - ld a, [hl] - cp MAX_LEVEL - jp nc, NoEffectMessage - - inc a - ld [hl], a - ld [CurPartyLevel], a - push de - ld d, a - callba CalcExpAtLevel - - pop de - ld a, MON_EXP - call GetPartyParamLocation - - ld a, [hMultiplicand] - ld [hli], a - ld a, [hMultiplicand + 1] - ld [hli], a - ld a, [hMultiplicand + 2] - ld [hl], a - - ld a, MON_MAXHP - call GetPartyParamLocation - ld a, [hli] - ld b, a - ld c, [hl] - push bc - call UpdateStatsAfterItem - - ld a, MON_MAXHP + 1 - call GetPartyParamLocation - - pop bc - ld a, [hld] - sub c - ld c, a - ld a, [hl] - sbc b - ld b, a - dec hl - ld a, [hl] - add c - ld [hld], a - ld a, [hl] - adc b - ld [hl], a - callba LevelUpHappinessMod - - ld a, PARTYMENUTEXT_LEVEL_UP - call ItemActionText - - xor a ; PARTYMON - ld [MonType], a - predef CopyPkmnToTempMon - - hlcoord 9, 0 - ld b, 10 - ld c, 9 - call TextBox - - hlcoord 11, 1 - ld bc, $0004 - predef PrintTempMonStats - - call WaitPressAorB_BlinkCursor - - xor a ; PARTYMON - ld [MonType], a - ld a, [CurPartySpecies] - ld [wd265], a - predef LearnLevelMoves - - xor a - ld [wForceEvolution], a - callba EvolvePokemon - - jp UseDisposableItem -; efad - - -HealPowder: ; efad - ld b, PARTYMENUACTION_HEALING_ITEM - call UseItem_SelectMon - - jp c, StatusHealer_ExitMenu - - call UseStatusHealer - - cp $0 - jr nz, .asm_efc9 - ld c, HAPPINESS_BITTERPOWDER - callba ChangeHappiness - - call LooksBitterMessage - - ld a, $0 - -.asm_efc9 - jp StatusHealer_Jumptable -; efcc - - -Antidote: -BurnHeal: -IceHeal: -Awakening: -ParlyzHeal: -FullHeal: -Psncureberry: -Przcureberry: -BurntBerry: -IceBerry: -MintBerry: -Miracleberry: ; efcc - ld b, PARTYMENUACTION_HEALING_ITEM - call UseItem_SelectMon - jp c, StatusHealer_ExitMenu - -FullyHealStatus: ; efd4 - call UseStatusHealer - jp StatusHealer_Jumptable -; efda - - -UseStatusHealer: ; efda (3:6fda) - call IsMonFainted - ld a, $1 - ret z - call GetItemHealingAction - ld a, MON_STATUS - call GetPartyParamLocation - ld a, [hl] - and c - jr nz, .good - call IsItemUsedOnConfusedMon - ld a, $1 - ret nc - ld b, PARTYMENUTEXT_HEAL_CONFUSION -.good - xor a - ld [hl], a - ld a, b - ld [PartyMenuActionText], a - call HealStatus - call Play_SFX_FULL_HEAL - call ItemActionTextWaitButton - call UseDisposableItem - ld a, $0 - ret - -IsItemUsedOnConfusedMon: ; f009 (3:7009) - call IsItemUsedOnBattleMon - jr nc, .nope - ld a, [PlayerSubStatus3] - bit SUBSTATUS_CONFUSED, a - jr z, .nope - ld a, c - cp $ff - jr nz, .nope - scf - ret - -.nope - and a - ret - -BattlemonRestoreHealth: ; f01e (3:701e) - call IsItemUsedOnBattleMon - ret nc - ld a, MON_HP - call GetPartyParamLocation - ld a, [hli] - ld [BattleMonHP], a - ld a, [hld] - ld [BattleMonHP + 1], a - ret - -HealStatus: ; f030 (3:7030) - call IsItemUsedOnBattleMon - ret nc - xor a - ld [BattleMonStatus], a - ld hl, PlayerSubStatus5 - res SUBSTATUS_TOXIC, [hl] - ld hl, PlayerSubStatus1 - res SUBSTATUS_NIGHTMARE, [hl] - call GetItemHealingAction - ld a, c - cp %11111111 - jr nz, .not_full_heal - ld hl, PlayerSubStatus3 - res SUBSTATUS_CONFUSED, [hl] -.not_full_heal - push bc - callba CalcPlayerStats - pop bc - ret - -GetItemHealingAction: ; f058 (3:7058) - push hl - ld a, [CurItem] - ld hl, .healingactions - ld bc, 3 -.next - cp [hl] - jr z, .found_it - add hl, bc - jr .next - -.found_it - inc hl - ld b, [hl] - inc hl - ld a, [hl] - ld c, a - cp %11111111 - pop hl - ret -; f071 (3:7071) - -.healingactions ; f071 -; item, party menu action text, status - db ANTIDOTE, PARTYMENUTEXT_HEAL_PSN, 1 << PSN - db BURN_HEAL, PARTYMENUTEXT_HEAL_BRN, 1 << BRN - db ICE_HEAL, PARTYMENUTEXT_HEAL_FRZ, 1 << FRZ - db AWAKENING, PARTYMENUTEXT_HEAL_SLP, SLP - db PARLYZ_HEAL, PARTYMENUTEXT_HEAL_PAR, 1 << PAR - db FULL_HEAL, PARTYMENUTEXT_HEAL_ALL, %11111111 - db FULL_RESTORE, PARTYMENUTEXT_HEAL_ALL, %11111111 - db HEAL_POWDER, PARTYMENUTEXT_HEAL_ALL, %11111111 - db PSNCUREBERRY, PARTYMENUTEXT_HEAL_PSN, 1 << PSN - db PRZCUREBERRY, PARTYMENUTEXT_HEAL_PAR, 1 << PAR - db BURNT_BERRY, PARTYMENUTEXT_HEAL_FRZ, 1 << FRZ - db ICE_BERRY, PARTYMENUTEXT_HEAL_BRN, 1 << BRN - db MINT_BERRY, PARTYMENUTEXT_HEAL_SLP, SLP - db MIRACLEBERRY, PARTYMENUTEXT_HEAL_ALL, %11111111 - db -1, 0, 0 -; f09e - -StatusHealer_Jumptable: ; f09e (3:709e) - ld hl, .dw - rst JumpTable - ret - -.dw ; f0a3 (3:70a3) - dw StatusHealer_ClearPalettes - dw StatusHealer_NoEffect - dw StatusHealer_ExitMenu - - -RevivalHerb: ; f0a9 - ld b, PARTYMENUACTION_HEALING_ITEM - call UseItem_SelectMon - jp c, StatusHealer_ExitMenu - - call RevivePokemon - cp 0 - jr nz, .asm_f0c5 - - ld c, HAPPINESS_REVIVALHERB - callba ChangeHappiness - call LooksBitterMessage - ld a, 0 - -.asm_f0c5 - jp StatusHealer_Jumptable -; f0c8 - - -Revive: -MaxRevive: ; f0c8 - ld b, PARTYMENUACTION_HEALING_ITEM - call UseItem_SelectMon - jp c, StatusHealer_ExitMenu - - call RevivePokemon - jp StatusHealer_Jumptable -; f0d6 - - -RevivePokemon: ; f0d6 - call IsMonFainted - ld a, 1 - ret nz - ld a, [wBattleMode] - and a - jr z, .skip_to_revive - - ld a, [CurPartyMon] - ld c, a - ld d, 0 - ld hl, wBattleParticipantsIncludingFainted - ld b, CHECK_FLAG - predef FlagPredef - ld a, c - and a - jr z, .skip_to_revive - - ld a, [CurPartyMon] - ld c, a - ld hl, wBattleParticipantsNotFainted - ld b, SET_FLAG - predef FlagPredef - -.skip_to_revive - xor a - ld [Danger], a - ld a, [CurItem] - cp REVIVE - jr z, .revive_half_hp - - call ReviveFullHP - jr .finish_revive - -.revive_half_hp - call ReviveHalfHP - -.finish_revive - call HealHP_SFX_GFX - ld a, PARTYMENUTEXT_REVIVE - ld [PartyMenuActionText], a - call ItemActionTextWaitButton - call UseDisposableItem - ld a, 0 - ret -; f128 - - -FullRestore: ; f128 - ld b, PARTYMENUACTION_HEALING_ITEM - call UseItem_SelectMon - jp c, StatusHealer_ExitMenu - - call IsMonFainted - jp z, StatusHealer_NoEffect - - call IsMonAtFullHealth - jr c, .NotAtFullHealth - - jp FullyHealStatus - -.NotAtFullHealth: - call .FullRestore - jp StatusHealer_Jumptable -; f144 - - -.FullRestore: ; f144 - xor a - ld [Danger], a - call ReviveFullHP - ld a, MON_STATUS - call GetPartyParamLocation - xor a - ld [hli], a - ld [hl], a - call HealStatus - call BattlemonRestoreHealth - call HealHP_SFX_GFX - ld a, PARTYMENUTEXT_HEAL_HP - ld [PartyMenuActionText], a - call ItemActionTextWaitButton - call UseDisposableItem - ld a, 0 - ret -; f16a - - -BitterBerry: ; f16a - ld hl, PlayerSubStatus3 - bit SUBSTATUS_CONFUSED, [hl] - ld a, 1 - jr z, .done - - res SUBSTATUS_CONFUSED, [hl] - xor a - ld [hBattleTurn], a - call UseItemText - - ld hl, ConfusedNoMoreText - call StdBattleTextBox - - ld a, 0 - -.done - jp StatusHealer_Jumptable -; f186 - - -MaxPotion: -HyperPotion: -SuperPotion: -Potion: -FreshWater: -SodaPop: -Lemonade: -MoomooMilk: -Ragecandybar: -BerryJuice: -Berry: -GoldBerry: ; f186 - call ItemRestoreHP - jp StatusHealer_Jumptable -; f18c - - -Energypowder: ; f18c - ld c, HAPPINESS_BITTERPOWDER - jr EnergypowderEnergyRootCommon -; f190 - -EnergyRoot: ; f190 - ld c, HAPPINESS_ENERGYROOT -; f192 - -EnergypowderEnergyRootCommon: ; f192 - push bc - call ItemRestoreHP - pop bc - cp 0 - jr nz, .skip_happiness - - callba ChangeHappiness - call LooksBitterMessage - ld a, 0 - -.skip_happiness - jp StatusHealer_Jumptable -; f1a9 - - -ItemRestoreHP: ; f1a9 (3:71a9) - ld b, PARTYMENUACTION_HEALING_ITEM - call UseItem_SelectMon - ld a, 2 - ret c - - call IsMonFainted - ld a, 1 - ret z - - call IsMonAtFullHealth - ld a, 1 - ret nc - - xor a - ld [Danger], a - call GetHealingItemAmount - call RestoreHealth - call BattlemonRestoreHealth - call HealHP_SFX_GFX - ld a, PARTYMENUTEXT_HEAL_HP - ld [PartyMenuActionText], a - call ItemActionTextWaitButton - call UseDisposableItem - ld a, 0 - ret - -HealHP_SFX_GFX: ; f1db (3:71db) - push de - ld de, SFX_POTION - call WaitPlaySFX - pop de - ld a, [CurPartyMon] - hlcoord 11, 0 - ld bc, SCREEN_WIDTH * 2 - call AddNTimes - ld a, $2 - ld [wWhichHPBar], a - predef_jump AnimateHPBar - -UseItem_SelectMon: ; f1f9 (3:71f9) - call .SelectMon - ret c - - ld a, [CurPartySpecies] - cp EGG - jr nz, .not_egg - - call CantUseOnEggMessage - scf - ret - -.not_egg - and a - ret - -.SelectMon: ; f20b (3:720b) - ld a, b - ld [PartyMenuActionText], a - push hl - push de - push bc - call ClearBGPalettes - call ChoosePkmnToUseItemOn - pop bc - pop de - pop hl - ret - -ChoosePkmnToUseItemOn: ; f21c (3:721c) - callba LoadPartyMenuGFX - callba InitPartyMenuWithCancel - callba InitPartyMenuGFX - callba WritePartyMenuTilemap - callba PrintPartyMenuText - call WaitBGMap - call SetPalettes - call DelayFrame - callba PartyMenuSelect - ret - -ItemActionText: ; f24a (3:724a) - ld [PartyMenuActionText], a - ld a, [CurPartySpecies] - push af - ld a, [CurPartyMon] - push af - push hl - push de - push bc - callba WritePartyMenuTilemap - callba PrintPartyMenuActionText - call WaitBGMap - call SetPalettes - call DelayFrame - pop bc - pop de - pop hl - pop af - ld [CurPartyMon], a - pop af - ld [CurPartySpecies], a - ret - -ItemActionTextWaitButton: ; f279 (3:7279) - xor a - ld [hBGMapMode], a - hlcoord 0, 0 - ld bc, TileMapEnd - TileMap - ld a, " " - call ByteFill - ld a, [PartyMenuActionText] - call ItemActionText - ld a, $1 - ld [hBGMapMode], a - ld c, 50 - call DelayFrames - jp WaitPressAorB_BlinkCursor - -StatusHealer_NoEffect: ; f299 (3:7299) - call WontHaveAnyEffectMessage - jr StatusHealer_ClearPalettes - -StatusHealer_ExitMenu: ; f29e (3:729e) - xor a - ld [wItemEffectSucceeded], a -StatusHealer_ClearPalettes: ; f2a2 (3:72a2) - call ClearPalettes - ret - -IsItemUsedOnBattleMon: ; f2a6 (3:72a6) - ld a, [wBattleMode] - and a - ret z - ld a, [CurPartyMon] - push hl - ld hl, CurBattleMon - cp [hl] - pop hl - jr nz, .nope - scf - ret - -.nope - xor a - ret - -ReviveHalfHP: ; f2ba (3:72ba) - call LoadHPFromBuffer1 - srl d - rr e - jr ContinueRevive - -ReviveFullHP: ; f2c3 (3:72c3) - call LoadHPFromBuffer1 -ContinueRevive: ; f2c6 (3:72c6) - ld a, MON_HP - call GetPartyParamLocation - ld [hl], d - inc hl - ld [hl], e - jp LoadCurHPIntoBuffer5 - -RestoreHealth: ; f2d1 (3:72d1) - ld a, MON_HP + 1 - call GetPartyParamLocation - ld a, [hl] - add e - ld [hld], a - ld a, [hl] - adc d - ld [hl], a - jr c, .full_hp - call LoadCurHPIntoBuffer5 - ld a, MON_HP + 1 - call GetPartyParamLocation - ld d, h - ld e, l - ld a, MON_MAXHP + 1 - call GetPartyParamLocation - ld a, [de] - sub [hl] - dec de - dec hl - ld a, [de] - sbc [hl] - jr c, .finish -.full_hp - call ReviveFullHP -.finish - ret - -RemoveHP: ; f2f9 (3:72f9) - ld a, MON_HP + 1 - call GetPartyParamLocation - ld a, [hl] - sub e - ld [hld], a - ld a, [hl] - sbc d - ld [hl], a - jr nc, .okay - xor a - ld [hld], a - ld [hl], a -.okay - call LoadCurHPIntoBuffer5 - ret - -IsMonFainted: ; f30d (3:730d) - push de - call LoadMaxHPToBuffer1 - call LoadCurHPToBuffer3 - call LoadHPFromBuffer3 - ld a, d - or e - pop de - ret - -IsMonAtFullHealth: ; f31b (3:731b) - call LoadHPFromBuffer3 - ld h, d - ld l, e - call LoadHPFromBuffer1 - ld a, l - sub e - ld a, h - sbc d - ret - -LoadCurHPIntoBuffer5: ; f328 (3:7328) - ld a, MON_HP - call GetPartyParamLocation - ld a, [hli] - ld [Buffer6], a - ld a, [hl] - ld [Buffer5], a - ret -; f336 (3:7336) - -LoadHPIntoBuffer5: ; f336 - ld a, d - ld [Buffer6], a - ld a, e - ld [Buffer5], a - ret -; f33f - -LoadHPFromBuffer5: ; f33f - ld a, [Buffer6] - ld d, a - ld a, [Buffer5] - ld e, a - ret -; f348 - -LoadCurHPToBuffer3: ; f348 (3:7348) - ld a, MON_HP - call GetPartyParamLocation - ld a, [hli] - ld [Buffer4], a - ld a, [hl] - ld [Buffer3], a - ret - -LoadHPFromBuffer3: ; f356 (3:7356) - ld a, [Buffer4] - ld d, a - ld a, [Buffer3] - ld e, a - ret - -LoadMaxHPToBuffer1: ; f35f (3:735f) - push hl - ld a, MON_MAXHP - call GetPartyParamLocation - ld a, [hli] - ld [Buffer2], a - ld a, [hl] - ld [Buffer1], a - pop hl - ret - -LoadHPFromBuffer1: ; f36f (3:736f) - ld a, [Buffer2] - ld d, a - ld a, [Buffer1] - ld e, a - ret - -GetOneFifthMaxHP: ; f378 (3:7378) - push bc - ld a, MON_MAXHP - call GetPartyParamLocation - ld a, [hli] - ld [hDividend + 0], a - ld a, [hl] - ld [hDividend + 1], a - ld a, 5 - ld [hDivisor], a - ld b, 2 - call Divide - ld a, [hQuotient + 1] - ld d, a - ld a, [hQuotient + 2] - ld e, a - pop bc - ret - -GetHealingItemAmount: ; f395 (3:7395) - push hl - ld a, [CurItem] - ld hl, .Healing - ld d, a -.next - ld a, [hli] - cp -1 - jr z, .NotFound - cp d - jr z, .done - inc hl - inc hl - jr .next - -.NotFound: - scf -.done - ld e, [hl] - inc hl - ld d, [hl] - pop hl - ret -; f3af (3:73af) - -.Healing: ; f3af - dbw FRESH_WATER, 50 - dbw SODA_POP, 60 - dbw LEMONADE, 80 - dbw HYPER_POTION, 200 - dbw SUPER_POTION, 50 - dbw POTION, 20 - dbw MAX_POTION, 999 - dbw FULL_RESTORE, 999 - dbw MOOMOO_MILK, 100 - dbw BERRY, 10 - dbw GOLD_BERRY, 30 - dbw ENERGYPOWDER, 50 - dbw ENERGY_ROOT, 200 - dbw RAGECANDYBAR, 20 - dbw BERRY_JUICE, 20 - dbw -1, 0 -; f3df - -Softboiled_MilkDrinkFunction: ; f3df (3:73df) -; Softboiled/Milk Drink in the field - ld a, [wPartyMenuCursor] - dec a - ld b, a - call .SelectMilkDrinkRecipient ; select pokemon - jr c, .skip - ld a, b - ld [CurPartyMon], a - call IsMonFainted - call GetOneFifthMaxHP - call RemoveHP - push bc - call HealHP_SFX_GFX - pop bc - call GetOneFifthMaxHP - ld a, c - ld [CurPartyMon], a - call IsMonFainted - call RestoreHealth - call HealHP_SFX_GFX - ld a, PARTYMENUTEXT_HEAL_HP - call ItemActionText - call JoyWaitAorB -.skip - ld a, b - inc a - ld [wPartyMenuCursor], a - ret - -.SelectMilkDrinkRecipient: ; f419 (3:7419) -.loop - push bc - ld a, PARTYMENUACTION_HEALING_ITEM - ld [PartyMenuActionText], a - call ChoosePkmnToUseItemOn - pop bc - jr c, .set_carry - ld a, [wPartyMenuCursor] - dec a - ld c, a - ld a, b - cp c - jr z, .cant_use ; chose the same mon as user - ld a, c - ld [CurPartyMon], a - call IsMonFainted - jr z, .cant_use - call IsMonAtFullHealth - jr nc, .cant_use - xor a - ret - -.set_carry - scf - ret - -.cant_use - push bc - ld hl, .Text_CantBeUsed - call MenuTextBoxBackup - pop bc - jr .loop -; f44a (3:744a) - -.Text_CantBeUsed: ; 0xf44a - ; That can't be used on this #MON. - text_jump UnknownText_0x1c5bac - db "@" -; 0xf44f - - -EscapeRope: ; f44f - xor a - ld [wItemEffectSucceeded], a - callba EscapeRopeFunction - - ld a, [wItemEffectSucceeded] - cp 1 - call z, UseDisposableItem - ret -; f462 - - -SuperRepel: ; f462 - ld b, 200 - jr UseRepel -; f466 - -MaxRepel: ; f466 - ld b, 250 - jr UseRepel -; f466 - -Repel: ; f46a - ld b, 100 -; f46c - -UseRepel: ; f46c - ld a, [wRepelEffect] - and a - ld hl, TextJump_RepelUsedEarlierIsStillInEffect - jp nz, PrintText - - ld a, b - ld [wRepelEffect], a - jp UseItemText - - -TextJump_RepelUsedEarlierIsStillInEffect: ; 0xf47d - ; The REPEL used earlier is still in effect. - text_jump Text_RepelUsedEarlierIsStillInEffect - db "@" -; 0xf482 - - -XAccuracy: ; f482 - ld hl, PlayerSubStatus4 - bit SUBSTATUS_X_ACCURACY, [hl] - jp nz, WontHaveAnyEffect_NotUsedMessage - set SUBSTATUS_X_ACCURACY, [hl] - jp UseItemText -; f48f - - -PokeDoll: ; f48f - ld a, [wBattleMode] - dec a - jr nz, .asm_f4a6 - inc a - ld [wForcedSwitch], a - ld a, [wBattleResult] - and 3 << 6 - or $2 - ld [wBattleResult], a - jp UseItemText - -.asm_f4a6 - xor a - ld [wItemEffectSucceeded], a - ret -; f4ab - - -GuardSpec: ; f4ab - ld hl, PlayerSubStatus4 - bit SUBSTATUS_MIST, [hl] - jp nz, WontHaveAnyEffect_NotUsedMessage - set SUBSTATUS_MIST, [hl] - jp UseItemText -; f4b8 - - -DireHit: ; f4b8 - ld hl, PlayerSubStatus4 - bit SUBSTATUS_FOCUS_ENERGY, [hl] - jp nz, WontHaveAnyEffect_NotUsedMessage - set SUBSTATUS_FOCUS_ENERGY, [hl] - jp UseItemText -; f4c5 - - -XAttack: -XDefend: -XSpeed: -XSpecial: ; f4c5 - call UseItemText - - ld a, [CurItem] - ld hl, .x_item_table - -.loop - cp [hl] - jr z, .got_it - inc hl - inc hl - jr .loop - -.got_it - inc hl - ld b, [hl] - xor a - ld [hBattleTurn], a - ld [AttackMissed], a - ld [EffectFailed], a - callba CheckIfStatCanBeRaised - call WaitSFX - - callba BattleCommand_StatUpMessage - callba BattleCommand_StatUpFailText - - ld a, [CurBattleMon] - ld [CurPartyMon], a - ld c, HAPPINESS_USEDXITEM - callba ChangeHappiness - ret -; f504 - -.x_item_table ; f504 - db X_ATTACK, ATTACK - db X_DEFEND, DEFENSE - db X_SPEED, SPEED - db X_SPECIAL, SP_ATTACK -; f50c - - -PokeFlute: ; f50c - ld a, [wBattleMode] - and a - jr nz, .dummy -.dummy - - xor a - ld [wd002], a - - ld b, $ff ^ SLP - - ld hl, PartyMon1Status - call .CureSleep - - ld a, [wBattleMode] - cp WILD_BATTLE - jr z, .skip_otrainer - ld hl, OTPartyMon1Status - call .CureSleep -.skip_otrainer - - ld hl, BattleMonStatus - ld a, [hl] - and b - ld [hl], a - ld hl, EnemyMonStatus - ld a, [hl] - and b - ld [hl], a - - ld a, [wd002] - and a - ld hl, .CatchyTune - jp z, PrintText - ld hl, .PlayedTheFlute - call PrintText - - ld a, [Danger] - and $80 - jr nz, .dummy2 -.dummy2 - ld hl, .AllSleepingMonWokeUp - jp PrintText - - -.CureSleep: - ld de, PARTYMON_STRUCT_LENGTH - ld c, PARTY_LENGTH - -.loop - ld a, [hl] - push af - and SLP - jr z, .not_asleep - ld a, 1 - ld [wd002], a -.not_asleep - pop af - and b - ld [hl], a - add hl, de - dec c - jr nz, .loop - ret -; f56c - - -.CatchyTune: ; 0xf56c - ; Played the # FLUTE. Now, that's a catchy tune! - text_jump UnknownText_0x1c5bf9 - db "@" -; 0xf571 - -.AllSleepingMonWokeUp: ; 0xf571 - ; All sleeping #MON woke up. - text_jump UnknownText_0x1c5c28 - db "@" -; 0xf576 - -.PlayedTheFlute: ; 0xf576 - ; played the # FLUTE.@ @ - text_jump UnknownText_0x1c5c44 - start_asm - ld a, [wBattleMode] - and a - jr nz, .battle - - push de - ld de, SFX_POKEFLUTE - call WaitPlaySFX - call WaitSFX - pop de - -.battle - jp PokeFluteTerminatorCharacter -; f58f - - -BlueCard: ; f58f - ld hl, .bluecardtext - jp MenuTextBoxWaitButton - -.bluecardtext - text_jump UnknownText_0x1c5c5e - db "@" -; f59a - - -CoinCase: ; f59a - ld hl, .coincasetext - jp MenuTextBoxWaitButton - -.coincasetext - text_jump UnknownText_0x1c5c7b - db "@" -; f5a5 - - -OldRod: ; f5a5 - ld e, $0 - jr UseRod -; f5a9 - -GoodRod: ; f5a9 - ld e, $1 - jr UseRod -; f5ad - -SuperRod: ; f5ad - ld e, $2 - jr UseRod -; f5b1 - -UseRod: ; f5b1 - callba FishFunction - ret -; f5b8 - - -Itemfinder: ; f5b8 - callba ItemFinder - ret -; f5bf - - -MaxElixer: -PPUp: -Ether: -MaxEther: -Elixer: -Mysteryberry: ; f5bf - ld a, [CurItem] - ld [wd002], a - -.loop - ; Party Screen opens to choose on which Pkmn to use the Item - ld b, PARTYMENUACTION_HEALING_ITEM - call UseItem_SelectMon - jp c, PPRestoreItem_Cancel - -.loop2 - ld a, [wd002] - cp MAX_ELIXER - jp z, Elixer_RestorePPofAllMoves - cp ELIXER - jp z, Elixer_RestorePPofAllMoves - - ld hl, TextJump_RaiseThePPOfWhichMove - ld a, [wd002] - cp PP_UP - jr z, .ppup - ld hl, TextJump_RestoreThePPOfWhichMove - -.ppup - call PrintText - - ld a, [CurMoveNum] - push af - xor a - ld [CurMoveNum], a - ld a, $2 - ld [wMoveSelectionMenuType], a - callba MoveSelectionScreen - pop bc - - ld a, b - ld [CurMoveNum], a - jr nz, .loop - ld hl, PartyMon1Moves - ld bc, PARTYMON_STRUCT_LENGTH - call GetMthMoveOfNthPartymon - - push hl - ld a, [hl] - ld [wd265], a - call GetMoveName - call CopyName1 - pop hl - - ld a, [wd002] - cp PP_UP - jp nz, Not_PP_Up - - ld a, [hl] - cp SKETCH - jr z, .CantUsePPUpOnSketch - - ld bc, $0015 - add hl, bc - ld a, [hl] - cp 3 << 6 ; have 3 PP Ups already been used? - jr c, .do_ppup - -.CantUsePPUpOnSketch: -.pp_is_maxed_out - ld hl, TextJump_PPIsMaxedOut - call PrintText - jr .loop2 - -.do_ppup - ld a, [hl] - add 1 << 6 ; increase PP Up count by 1 - ld [hl], a - ld a, $1 - ld [wd265], a - call ApplyPPUp - call Play_SFX_FULL_HEAL - - ld hl, TextJump_PPsIncreased - call PrintText - -FinishPPRestore: ; f64c - call ClearPalettes - jp UseDisposableItem -; f652 - -BattleRestorePP: ; f652 - ld a, [wBattleMode] - and a - jr z, .not_in_battle - ld a, [CurPartyMon] - ld b, a - ld a, [CurBattleMon] - cp b - jr nz, .not_in_battle - ld a, [PlayerSubStatus5] - bit SUBSTATUS_TRANSFORMED, a - jr nz, .not_in_battle - call .UpdateBattleMonPP - -.not_in_battle - call Play_SFX_FULL_HEAL - ld hl, UnknownText_0xf739 - call PrintText - jr FinishPPRestore - -.UpdateBattleMonPP: - ld a, [CurPartyMon] - ld hl, PartyMon1Moves - ld bc, PARTYMON_STRUCT_LENGTH - call AddNTimes - ld de, BattleMonMoves - ld b, NUM_MOVES -.loop - ld a, [de] - and a - jr z, .done - cp [hl] - jr nz, .next - push hl - push de - push bc - rept NUM_MOVES + 2 ; BattleMonPP - BattleMonMoves - inc de - endr - ld bc, MON_PP - MON_MOVES - add hl, bc - ld a, [hl] - ld [de], a - pop bc - pop de - pop hl - -.next - inc hl - inc de - dec b - jr nz, .loop - -.done - ret -; f6a7 - -Not_PP_Up: ; f6a7 - call RestorePP - jr nz, BattleRestorePP - jp PPRestoreItem_NoEffect -; f6af - -Elixer_RestorePPofAllMoves: ; f6af - xor a - ld hl, wMenuCursorY - ld [hli], a - ld [hl], a - ld b, NUM_MOVES -.moveLoop - push bc - ld hl, PartyMon1Moves - ld bc, PARTYMON_STRUCT_LENGTH - call GetMthMoveOfNthPartymon - ld a, [hl] - and a - jr z, .next - - call RestorePP - jr z, .next - ld hl, wMenuCursorX - inc [hl] - -.next - ld hl, wMenuCursorY - inc [hl] - pop bc - dec b - jr nz, .moveLoop - ld a, [wMenuCursorX] - and a - jp nz, BattleRestorePP - -PPRestoreItem_NoEffect: ; f6dd - call WontHaveAnyEffectMessage - -PPRestoreItem_Cancel: ; f6e0 - call ClearPalettes - xor a - ld [wItemEffectSucceeded], a - ret -; f6e8 - -RestorePP: ; f6e8 - xor a ; PARTYMON - ld [MonType], a - call GetMaxPPOfMove - ld hl, PartyMon1PP - ld bc, PARTYMON_STRUCT_LENGTH - call GetMthMoveOfNthPartymon - ld a, [wd265] - ld b, a - ld a, [hl] - and (1 << 6) - 1 - cp b - jr nc, .dont_restore - - ld a, [wd002] - cp MAX_ELIXER - jr z, .restore_all - cp MAX_ETHER - jr z, .restore_all - - ld c, 5 - cp MYSTERYBERRY - jr z, .restore_some - - ld c, 10 - -.restore_some - ld a, [hl] - and (1 << 6) - 1 - add c - cp b - jr nc, .restore_all - ld b, a - -.restore_all - ld a, [hl] - and 3 << 6 - or b - ld [hl], a - ret - -.dont_restore - xor a - ret -; f725 - -TextJump_RaiseThePPOfWhichMove: ; 0xf725 - ; Raise the PP of which move? - text_jump Text_RaiseThePPOfWhichMove - db "@" -; 0xf72a - -TextJump_RestoreThePPOfWhichMove: ; 0xf72a - ; Restore the PP of which move? - text_jump Text_RestoreThePPOfWhichMove - db "@" -; 0xf72f - -TextJump_PPIsMaxedOut: ; 0xf72f - ; 's PP is maxed out. - text_jump Text_PPIsMaxedOut - db "@" -; 0xf734 - -TextJump_PPsIncreased: ; 0xf734 - ; 's PP increased. - text_jump Text_PPsIncreased - db "@" -; 0xf739 - -UnknownText_0xf739: ; 0xf739 - ; PP was restored. - text_jump UnknownText_0x1c5cf1 - db "@" -; 0xf73e - - -Squirtbottle: ; f73e - callba _Squirtbottle - ret -; f745 - - -CardKey: ; f745 - callba _CardKey - ret -; f74c - - -BasementKey: ; f74c - callba _BasementKey - ret -; f753 - - -SacredAsh: ; f753 - callba _SacredAsh - ld a, [wItemEffectSucceeded] - cp $1 - ret nz - call UseDisposableItem - ret -; f763 - - -NormalBox: ; f763 - ld c, DECOFLAG_SILVER_TROPHY_DOLL - jr OpenBox -; f767 - -GorgeousBox: ; f767 - ld c, DECOFLAG_GOLD_TROPHY_DOLL -OpenBox: ; f769 - callba SetSpecificDecorationFlag - - ld hl, .text - call PrintText - - jp UseDisposableItem -; f778 - -.text ; 0xf778 - ; There was a trophy inside! - text_jump UnknownText_0x1c5d03 - db "@" -; 0xf77d - -Brightpowder: -Item19: -LuckyPunch: -MetalPowder: -Nugget: -Item2D: -Item32: -ExpShare: -SilverLeaf: -RedScale: -Secretpotion: -SSTicket: -MysteryEgg: -ClearBell: -SilverWing: -QuickClaw: -GoldLeaf: -SoftSand: -SharpBeak: -PoisonBarb: -KingsRock: -RedApricorn: -Tinymushroom: -BigMushroom: -Silverpowder: -BluApricorn: -Item5A: -AmuletCoin: -YlwApricorn: -GrnApricorn: -CleanseTag: -MysticWater: -Twistedspoon: -WhtApricorn: -Blackbelt: -BlkApricorn: -Item64: -PnkApricorn: -Blackglasses: -Slowpoketail: -PinkBow: -Stick: -SmokeBall: -Nevermeltice: -Magnet: -Pearl: -BigPearl: -Everstone: -SpellTag: -GsBall: -MiracleSeed: -ThickClub: -FocusBand: -Item78: -HardStone: -LuckyEgg: -MachinePart: -EggTicket: -LostItem: -Stardust: -StarPiece: -Pass: -Item87: -Item88: -Item89: -Charcoal: -ScopeLens: -Item8D: -Item8E: -MetalCoat: -DragonFang: -Item91: -Leftovers: -Item93: -Item94: -Item95: -DragonScale: -BerserkGene: -Item99: -Item9A: -Item9B: -FlowerMail: -ItemA2: -LightBall: -PolkadotBow: -ItemAB: -UpGrade: -ItemB0: -RainbowWing: -ItemB3: -TeruSama: ; f77d - jp IsntTheTimeMessage -; f780 - - -Play_SFX_FULL_HEAL: ; f780 - push de - ld de, SFX_FULL_HEAL - call WaitPlaySFX - pop de - ret -; f789 - -UseItemText: ; f789 - ld hl, UsedItemText - call PrintText - call Play_SFX_FULL_HEAL - call WaitPressAorB_BlinkCursor -UseDisposableItem: ; f795 - ld hl, NumItems - ld a, 1 - ld [wItemQuantityChangeBuffer], a - jp TossItem -; f7a0 - -UseBallInTrainerBattle: ; f7a0 - call ReturnToBattle_UseBall - ld de, ANIM_THROW_POKE_BALL - ld a, e - ld [FXAnimID], a - ld a, d - ld [FXAnimID + 1], a - xor a - ld [wBattleAnimParam], a - ld [hBattleTurn], a - ld [wNumHits], a - predef PlayBattleAnim - ld hl, BlockedTheBallText - call PrintText - ld hl, DontBeAThiefText - call PrintText - jr UseDisposableItem -; f7ca - -WontHaveAnyEffect_NotUsedMessage: ; f7ca - ld hl, WontHaveAnyEffectText - call PrintText - - ; Item wasn't used. - ld a, $2 - ld [wItemEffectSucceeded], a - ret -; f7d6 - -LooksBitterMessage: ; f7d6 - ld hl, LooksBitterText - jp PrintText -; f7dc - -Ball_BoxIsFullMessage: ; f7dc - ld hl, Ball_BoxIsFullText - call PrintText - - ; Item wasn't used. - ld a, $2 - ld [wItemEffectSucceeded], a - ret -; f7e8 - -CantUseOnEggMessage: ; f7e8 - ld hl, CantUseOnEggText - jr CantUseItemMessage - -IsntTheTimeMessage: ; f7ed - ld hl, IsntTheTimeText - jr CantUseItemMessage - -WontHaveAnyEffectMessage: ; f7f2 - ld hl, WontHaveAnyEffectText - jr CantUseItemMessage - -BelongsToSomeoneElseMessage: ; f7f7 - ld hl, BelongsToSomeoneElseText - jr CantUseItemMessage - -CyclingIsntAllowedMessage: ; f7fc - ld hl, CyclingIsntAllowedText - jr CantUseItemMessage - -CantGetOnYourBikeMessage: ; f801 - ld hl, CantGetOnYourBikeText - -CantUseItemMessage: ; f804 -; Item couldn't be used. - xor a - ld [wItemEffectSucceeded], a - jp PrintText -; f80b - -LooksBitterText: ; 0xf80b - ; It looks bitter… - text_jump UnknownText_0x1c5d3e - db "@" -; 0xf810 - -CantUseOnEggText: ; 0xf810 - ; That can't be used on an EGG. - text_jump UnknownText_0x1c5d50 - db "@" -; 0xf815 - -IsntTheTimeText: ; 0xf815 - ; OAK: ! This isn't the time to use that! - text_jump UnknownText_0x1c5d6e - db "@" -; 0xf81a - -BelongsToSomeoneElseText: ; 0xf81a - ; That belongs to someone else! - text_jump UnknownText_0x1c5d97 - db "@" -; 0xf81f - -WontHaveAnyEffectText: ; 0xf81f - ; It won't have any effect. - text_jump UnknownText_0x1c5db6 - db "@" -; 0xf824 - -BlockedTheBallText: ; 0xf824 - ; The trainer blocked the BALL! - text_jump UnknownText_0x1c5dd0 - db "@" -; 0xf829 - -DontBeAThiefText: ; 0xf829 - ; Don't be a thief! - text_jump UnknownText_0x1c5def - db "@" -; 0xf82e - -CyclingIsntAllowedText: ; 0xf82e - ; Cycling isn't allowed here. - text_jump UnknownText_0x1c5e01 - db "@" -; 0xf833 - -CantGetOnYourBikeText: ; 0xf833 - ; Can't get on your @ now. - text_jump UnknownText_0x1c5e1d - db "@" -; 0xf838 - -Ball_BoxIsFullText: ; 0xf838 - ; The #MON BOX is full. That can't be used now. - text_jump UnknownText_0x1c5e3a - db "@" -; 0xf83d - -UsedItemText: ; 0xf83d - ; used the@ . - text_jump UnknownText_0x1c5e68 - db "@" -; 0xf842 - -GotOnTheItemText: ; 0xf842 - ; got on the@ . - text_jump UnknownText_0x1c5e7b - db "@" -; 0xf847 - -GotOffTheItemText: ; 0xf847 - ; got off@ the @ . - text_jump UnknownText_0x1c5e90 - db "@" -; 0xf84c - - -ApplyPPUp: ; f84c - ld a, MON_MOVES - call GetPartyParamLocation - push hl - ld de, Buffer1 - predef FillPP - pop hl - ld bc, MON_PP - MON_MOVES - add hl, bc - ld de, Buffer1 - ld b, 0 -.loop - inc b - ld a, b - cp NUM_MOVES + 1 - ret z - ld a, [wd265] - dec a - jr nz, .use - ld a, [wMenuCursorY] - inc a - cp b - jr nz, .skip - -.use - ld a, [hl] - and 3 << 6 - ld a, [de] ; wasted cycle - call nz, ComputeMaxPP - -.skip - inc hl - inc de - jr .loop -; f881 - - - -ComputeMaxPP: ; f881 - push bc - ; Divide the base PP by 5. - ld a, [de] - ld [hDividend + 3], a - xor a - ld [hDividend], a - ld [hDividend + 1], a - ld [hDividend + 2], a - ld a, 5 - ld [hDivisor], a - ld b, 4 - call Divide - ; Get the number of PP, which are bits 6 and 7 of the PP value stored in RAM. - ld a, [hl] - ld b, a - swap a - and $f - srl a - srl a - ld c, a - ; If this value is 0, we are done - and a - jr z, .NoPPUp - -.loop - ; Normally, a move with 40 PP would have 64 PP with three PP Ups. - ; Since this would overflow into bit 6, we prevent that from happening - ; by decreasing the extra amount of PP each PP Up provides, resulting - ; in a maximum of 61. - ld a, [hQuotient + 2] - cp $8 - jr c, .okay - ld a, $7 - -.okay - add b - ld b, a - ld a, [wd265] - dec a - jr z, .NoPPUp - dec c - jr nz, .loop - -.NoPPUp: - ld [hl], b - pop bc - ret -; f8b9 - -RestoreAllPP: ; f8b9 - ld a, MON_PP - call GetPartyParamLocation - push hl - ld a, MON_MOVES - call GetPartyParamLocation - pop de - xor a ; PARTYMON - ld [wMenuCursorY], a - ld [MonType], a - ld c, NUM_MOVES -.loop - ld a, [hli] - and a - ret z - push hl - push de - push bc - call GetMaxPPOfMove - pop bc - pop de - ld a, [de] - and 3 << 6 - ld b, a - ld a, [wd265] - add b - ld [de], a - inc de - ld hl, wMenuCursorY - inc [hl] - pop hl - dec c - jr nz, .loop - ret -; f8ec - - -GetMaxPPOfMove: ; f8ec - ld a, [StringBuffer1 + 0] - push af - ld a, [StringBuffer1 + 1] - push af - - ld a, [MonType] - and a - - ld hl, PartyMon1Moves - ld bc, PARTYMON_STRUCT_LENGTH - jr z, .got_partymon ; PARTYMON - - ld hl, OTPartyMon1Moves - dec a - jr z, .got_partymon ; OTPARTYMON - - ld hl, TempMonMoves - dec a - jr z, .got_nonpartymon ; BOXMON - - ld hl, TempMonMoves ; Wasted cycles - dec a - jr z, .got_nonpartymon ; TEMPMON - - ld hl, BattleMonMoves ; WILDMON - -.got_nonpartymon ; BOXMON, TEMPMON, WILDMON - call GetMthMoveOfCurrentMon - jr .gotdatmove - -.got_partymon ; PARTYMON, OTPARTYMON - call GetMthMoveOfNthPartymon - -.gotdatmove - ld a, [hl] - dec a - - push hl - ld hl, Moves + MOVE_PP - ld bc, MOVE_LENGTH - call AddNTimes - ld a, BANK(Moves) - call GetFarByte - ld b, a - ld de, StringBuffer1 - ld [de], a - pop hl - - push bc - ld bc, MON_PP - MON_MOVES - ld a, [MonType] - cp WILDMON - jr nz, .notwild - ld bc, EnemyMonPP - EnemyMonMoves -.notwild - add hl, bc - ld a, [hl] - and 3 << 6 - pop bc - - or b - ld hl, StringBuffer1 + 1 - ld [hl], a - xor a - ld [wd265], a - ld a, b ; this gets lost anyway - call ComputeMaxPP - ld a, [hl] - and (1 << 6) - 1 - ld [wd265], a - - pop af - ld [StringBuffer1 + 1], a - pop af - ld [StringBuffer1 + 0], a - ret -; f963 - -GetMthMoveOfNthPartymon: ; f963 - ld a, [CurPartyMon] - call AddNTimes - -GetMthMoveOfCurrentMon: ; f969 - ld a, [wMenuCursorY] - ld c, a - ld b, 0 - add hl, bc - ret -; f971 - -INCLUDE "items/pokeball_wobble.asm" diff --git a/items/item_names.asm b/items/item_names.asm deleted file mode 100644 index f44100ab3..000000000 --- a/items/item_names.asm +++ /dev/null @@ -1,257 +0,0 @@ -ItemNames:: - db "MASTER BALL@" - db "ULTRA BALL@" - db "BRIGHTPOWDER@" - db "GREAT BALL@" - db "# BALL@" - db "TERU-SAMA@" - db "BICYCLE@" - db "MOON STONE@" - db "ANTIDOTE@" - db "BURN HEAL@" - db "ICE HEAL@" - db "AWAKENING@" - db "PARLYZ HEAL@" - db "FULL RESTORE@" - db "MAX POTION@" - db "HYPER POTION@" - db "SUPER POTION@" - db "POTION@" - db "ESCAPE ROPE@" - db "REPEL@" - db "MAX ELIXER@" - db "FIRE STONE@" - db "THUNDERSTONE@" - db "WATER STONE@" - db "TERU-SAMA@" - db "HP UP@" - db "PROTEIN@" - db "IRON@" - db "CARBOS@" - db "LUCKY PUNCH@" - db "CALCIUM@" - db "RARE CANDY@" - db "X ACCURACY@" - db "LEAF STONE@" - db "METAL POWDER@" - db "NUGGET@" - db "# DOLL@" - db "FULL HEAL@" - db "REVIVE@" - db "MAX REVIVE@" - db "GUARD SPEC.@" - db "SUPER REPEL@" - db "MAX REPEL@" - db "DIRE HIT@" - db "TERU-SAMA@" - db "FRESH WATER@" - db "SODA POP@" - db "LEMONADE@" - db "X ATTACK@" - db "TERU-SAMA@" - db "X DEFEND@" - db "X SPEED@" - db "X SPECIAL@" - db "COIN CASE@" - db "ITEMFINDER@" - db "TERU-SAMA@" - db "EXP.SHARE@" - db "OLD ROD@" - db "GOOD ROD@" - db "SILVER LEAF@" - db "SUPER ROD@" - db "PP UP@" - db "ETHER@" - db "MAX ETHER@" - db "ELIXER@" - db "RED SCALE@" - db "SECRETPOTION@" - db "S.S.TICKET@" - db "MYSTERY EGG@" - db "CLEAR BELL@" - db "SILVER WING@" - db "MOOMOO MILK@" - db "QUICK CLAW@" - db "PSNCUREBERRY@" - db "GOLD LEAF@" - db "SOFT SAND@" - db "SHARP BEAK@" - db "PRZCUREBERRY@" - db "BURNT BERRY@" - db "ICE BERRY@" - db "POISON BARB@" - db "KING'S ROCK@" - db "BITTER BERRY@" - db "MINT BERRY@" - db "RED APRICORN@" - db "TINYMUSHROOM@" - db "BIG MUSHROOM@" - db "SILVERPOWDER@" - db "BLU APRICORN@" - db "TERU-SAMA@" - db "AMULET COIN@" - db "YLW APRICORN@" - db "GRN APRICORN@" - db "CLEANSE TAG@" - db "MYSTIC WATER@" - db "TWISTEDSPOON@" - db "WHT APRICORN@" - db "BLACKBELT@" - db "BLK APRICORN@" - db "TERU-SAMA@" - db "PNK APRICORN@" - db "BLACKGLASSES@" - db "SLOWPOKETAIL@" - db "PINK BOW@" - db "STICK@" - db "SMOKE BALL@" - db "NEVERMELTICE@" - db "MAGNET@" - db "MIRACLEBERRY@" - db "PEARL@" - db "BIG PEARL@" - db "EVERSTONE@" - db "SPELL TAG@" - db "RAGECANDYBAR@" - db "GS BALL@" - db "BLUE CARD@" - db "MIRACLE SEED@" - db "THICK CLUB@" - db "FOCUS BAND@" - db "TERU-SAMA@" - db "ENERGYPOWDER@" - db "ENERGY ROOT@" - db "HEAL POWDER@" - db "REVIVAL HERB@" - db "HARD STONE@" - db "LUCKY EGG@" - db "CARD KEY@" - db "MACHINE PART@" - db "EGG TICKET@" - db "LOST ITEM@" - db "STARDUST@" - db "STAR PIECE@" - db "BASEMENT KEY@" - db "PASS@" - db "TERU-SAMA@" - db "TERU-SAMA@" - db "TERU-SAMA@" - db "CHARCOAL@" - db "BERRY JUICE@" - db "SCOPE LENS@" - db "TERU-SAMA@" - db "TERU-SAMA@" - db "METAL COAT@" - db "DRAGON FANG@" - db "TERU-SAMA@" - db "LEFTOVERS@" - db "TERU-SAMA@" - db "TERU-SAMA@" - db "TERU-SAMA@" - db "MYSTERYBERRY@" - db "DRAGON SCALE@" - db "BERSERK GENE@" - db "TERU-SAMA@" - db "TERU-SAMA@" - db "TERU-SAMA@" - db "SACRED ASH@" - db "HEAVY BALL@" - db "FLOWER MAIL@" - db "LEVEL BALL@" - db "LURE BALL@" - db "FAST BALL@" - db "TERU-SAMA@" - db "LIGHT BALL@" - db "FRIEND BALL@" - db "MOON BALL@" - db "LOVE BALL@" - db "NORMAL BOX@" - db "GORGEOUS BOX@" - db "SUN STONE@" - db "POLKADOT BOW@" - db "TERU-SAMA@" - db "UP-GRADE@" - db "BERRY@" - db "GOLD BERRY@" - db "SQUIRTBOTTLE@" - db "TERU-SAMA@" - db "PARK BALL@" - db "RAINBOW WING@" - db "TERU-SAMA@" - db "BRICK PIECE@" - db "SURF MAIL@" - db "LITEBLUEMAIL@" - db "PORTRAITMAIL@" - db "LOVELY MAIL@" - db "EON MAIL@" - db "MORPH MAIL@" - db "BLUESKY MAIL@" - db "MUSIC MAIL@" - db "MIRAGE MAIL@" - db "TERU-SAMA@" - db "TM01@" - db "TM02@" - db "TM03@" - db "TM04@" - db "TERU-SAMA@" - db "TM05@" - db "TM06@" - db "TM07@" - db "TM08@" - db "TM09@" - db "TM10@" - db "TM11@" - db "TM12@" - db "TM13@" - db "TM14@" - db "TM15@" - db "TM16@" - db "TM17@" - db "TM18@" - db "TM19@" - db "TM20@" - db "TM21@" - db "TM22@" - db "TM23@" - db "TM24@" - db "TM25@" - db "TM26@" - db "TM27@" - db "TM28@" - db "TERU-SAMA@" - db "TM29@" - db "TM30@" - db "TM31@" - db "TM32@" - db "TM33@" - db "TM34@" - db "TM35@" - db "TM36@" - db "TM37@" - db "TM38@" - db "TM39@" - db "TM40@" - db "TM41@" - db "TM42@" - db "TM43@" - db "TM44@" - db "TM45@" - db "TM46@" - db "TM47@" - db "TM48@" - db "TM49@" - db "TM50@" - db "HM01@" - db "HM02@" - db "HM03@" - db "HM04@" - db "HM05@" - db "HM06@" - db "HM07@" - db "TERU-SAMA@" - db "TERU-SAMA@" - db "TERU-SAMA@" - db "TERU-SAMA@" - db "TERU-SAMA@" - db "TERU-SAMA@" - db "?@" diff --git a/items/marts.asm b/items/marts.asm deleted file mode 100644 index cd17ca36b..000000000 --- a/items/marts.asm +++ /dev/null @@ -1,442 +0,0 @@ -Marts: ; 160a9 - dw MartCherrygrove - dw MartCherrygroveDex - dw MartViolet - dw MartAzalea - dw MartCianwood - dw MartGoldenrod2F1 - dw MartGoldenrod2F2 - dw MartGoldenrod3F - dw MartGoldenrod4F - dw MartGoldenrod5F1 - dw MartGoldenrod5F2 - dw MartGoldenrod5F3 - dw MartGoldenrod5F4 - dw MartOlivine - dw MartEcruteak - dw MartMahogany1 - dw MartMahogany2 - dw MartBlackthorn - dw MartViridian - dw MartPewter - dw MartCerulean - dw MartLavender - dw MartVermilion - dw MartCeladon2F1 - dw MartCeladon2F2 - dw MartCeladon3F - dw MartCeladon4F - dw MartCeladon5F1 - dw MartCeladon5F2 - dw MartFuchsia - dw MartSaffron - dw MartMtMoon - dw MartIndigoPlateau - dw MartUnderground -MartsEnd -; 160ed - - -MartCherrygrove: ; 160ed - db 4 ; # items - db POTION - db ANTIDOTE - db PARLYZ_HEAL - db AWAKENING - db $ff -; 160f3 - -MartCherrygroveDex: ; 160f3 - db 5 ; # items - db POKE_BALL - db POTION - db ANTIDOTE - db PARLYZ_HEAL - db AWAKENING - db $ff -; 160fa - -MartViolet: ; 160fa - db 10 ; # items - db POKE_BALL - db POTION - db ESCAPE_ROPE - db ANTIDOTE - db PARLYZ_HEAL - db AWAKENING - db X_DEFEND - db X_ATTACK - db X_SPEED - db FLOWER_MAIL - db $ff -; 16106 - -MartAzalea: ; 16106 - db 9 ; # items - db CHARCOAL - db POKE_BALL - db POTION - db SUPER_POTION - db ESCAPE_ROPE - db REPEL - db ANTIDOTE - db PARLYZ_HEAL - db FLOWER_MAIL - db $ff -; 16111 - -MartCianwood: ; 16111 - db 5 ; # items - db POTION - db SUPER_POTION - db HYPER_POTION - db FULL_HEAL - db REVIVE - db $ff -; 16118 - -MartGoldenrod2F1: ; 16118 - db 7 ; # items - db POTION - db SUPER_POTION - db ANTIDOTE - db PARLYZ_HEAL - db AWAKENING - db BURN_HEAL - db ICE_HEAL - db $ff -; 16121 - -MartGoldenrod2F2: ; 16121 - db 8 ; # items - db POKE_BALL - db GREAT_BALL - db ESCAPE_ROPE - db REPEL - db REVIVE - db FULL_HEAL - db POKE_DOLL - db FLOWER_MAIL - db $ff -; 1612b - -MartGoldenrod3F: ; 1612b - db 7 ; # items - db X_SPEED - db X_SPECIAL - db X_DEFEND - db X_ATTACK - db DIRE_HIT - db GUARD_SPEC - db X_ACCURACY - db $ff -; 16134 - -MartGoldenrod4F: ; 16134 - db 5 ; # items - db PROTEIN - db IRON - db CARBOS - db CALCIUM - db HP_UP - db $ff -; 1613b - -MartGoldenrod5F1: ; 1613b - db 3 ; # items - db TM_THUNDERPUNCH - db TM_FIRE_PUNCH - db TM_ICE_PUNCH - db $ff -; 16140 - -MartGoldenrod5F2: ; 16140 - db 4 ; # items - db TM_THUNDERPUNCH - db TM_FIRE_PUNCH - db TM_ICE_PUNCH - db TM_HEADBUTT - db $ff -; 16146 - -MartGoldenrod5F3: ; 16146 - db 4 ; # items - db TM_THUNDERPUNCH - db TM_FIRE_PUNCH - db TM_ICE_PUNCH - db TM_ROCK_SMASH - db $ff -; 1614c - -MartGoldenrod5F4: ; 1614c - db 5 ; # items - db TM_THUNDERPUNCH - db TM_FIRE_PUNCH - db TM_ICE_PUNCH - db TM_HEADBUTT - db TM_ROCK_SMASH - db $ff -; 16153 - -MartOlivine: ; 16153 - db 9 ; # items - db GREAT_BALL - db SUPER_POTION - db HYPER_POTION - db ANTIDOTE - db PARLYZ_HEAL - db AWAKENING - db ICE_HEAL - db SUPER_REPEL - db SURF_MAIL - db $ff -; 1615e - -MartEcruteak: ; 1615e - db 10 ; # items - db POKE_BALL - db GREAT_BALL - db POTION - db SUPER_POTION - db ANTIDOTE - db PARLYZ_HEAL - db AWAKENING - db BURN_HEAL - db ICE_HEAL - db REVIVE - db $ff -; 1616a - -MartMahogany1: ; 1616a - db 4 ; # items - db TINYMUSHROOM - db SLOWPOKETAIL - db POKE_BALL - db POTION - db $ff -; 16170 - -MartMahogany2: ; 16170 - db 9 ; # items - db RAGECANDYBAR - db GREAT_BALL - db SUPER_POTION - db HYPER_POTION - db ANTIDOTE - db PARLYZ_HEAL - db SUPER_REPEL - db REVIVE - db FLOWER_MAIL - db $ff -; 1617b - -MartBlackthorn: ; 1617b - db 9 ; # items - db GREAT_BALL - db ULTRA_BALL - db HYPER_POTION - db MAX_POTION - db FULL_HEAL - db REVIVE - db MAX_REPEL - db X_DEFEND - db X_ATTACK - db $ff -; 16186 - -MartViridian: ; 16186 - db 9 ; # items - db ULTRA_BALL - db HYPER_POTION - db FULL_HEAL - db REVIVE - db ANTIDOTE - db PARLYZ_HEAL - db AWAKENING - db BURN_HEAL - db FLOWER_MAIL - db $ff -; 16191 - -MartPewter: ; 16191 - db 7 ; # items - db GREAT_BALL - db SUPER_POTION - db SUPER_REPEL - db ANTIDOTE - db PARLYZ_HEAL - db AWAKENING - db BURN_HEAL - db $ff -; 1619a - -MartCerulean: ; 1619a - db 9 ; # items - db GREAT_BALL - db ULTRA_BALL - db SUPER_POTION - db SUPER_REPEL - db FULL_HEAL - db X_DEFEND - db X_ATTACK - db DIRE_HIT - db SURF_MAIL - db $ff -; 161a5 - -MartLavender: ; 161a5 - db 8 ; # items - db GREAT_BALL - db POTION - db SUPER_POTION - db MAX_REPEL - db ANTIDOTE - db PARLYZ_HEAL - db AWAKENING - db BURN_HEAL - db $ff -; 161af - -MartVermilion: ; 161af - db 8 ; # items - db ULTRA_BALL - db SUPER_POTION - db HYPER_POTION - db REVIVE - db PARLYZ_HEAL - db AWAKENING - db BURN_HEAL - db LITEBLUEMAIL - db $ff -; 161b9 - -MartCeladon2F1: ; 161b9 - db 7 ; # items - db POTION - db SUPER_POTION - db HYPER_POTION - db MAX_POTION - db REVIVE - db SUPER_REPEL - db MAX_REPEL - db $ff -; 161c2 - -MartCeladon2F2: ; 161c2 - db 10 ; # items - db POKE_BALL - db GREAT_BALL - db ULTRA_BALL - db ESCAPE_ROPE - db FULL_HEAL - db ANTIDOTE - db BURN_HEAL - db ICE_HEAL - db AWAKENING - db PARLYZ_HEAL - db $ff -; 161ce - -MartCeladon3F: ; 161ce - db 5 ; # items - db TM_HIDDEN_POWER - db TM_SUNNY_DAY - db TM_PROTECT - db TM_RAIN_DANCE - db TM_SANDSTORM - db $ff -; 161d5 - -MartCeladon4F: ; 161d5 - db 3 ; # items - db POKE_DOLL - db LOVELY_MAIL - db SURF_MAIL - db $ff -; 161da - -MartCeladon5F1: ; 161da - db 5 ; # items - db HP_UP - db PROTEIN - db IRON - db CARBOS - db CALCIUM - db $ff -; 161e1 - -MartCeladon5F2: ; 161e1 - db 7 ; # items - db X_ACCURACY - db GUARD_SPEC - db DIRE_HIT - db X_ATTACK - db X_DEFEND - db X_SPEED - db X_SPECIAL - db $ff -; 161ea - -MartFuchsia: ; 161ea - db 7 ; # items - db GREAT_BALL - db ULTRA_BALL - db SUPER_POTION - db HYPER_POTION - db FULL_HEAL - db MAX_REPEL - db FLOWER_MAIL - db $ff -; 161f3 - -MartSaffron: ; 161f3 - db 8 ; # items - db GREAT_BALL - db ULTRA_BALL - db HYPER_POTION - db MAX_POTION - db FULL_HEAL - db X_ATTACK - db X_DEFEND - db FLOWER_MAIL - db $ff -; 161fd - -MartMtMoon: ; 161fd - db 6 ; # items - db POKE_DOLL - db FRESH_WATER - db SODA_POP - db LEMONADE - db REPEL - db PORTRAITMAIL - db $ff -; 16205 - -MartIndigoPlateau: ; 16205 - db 7 ; # items - db ULTRA_BALL - db MAX_REPEL - db HYPER_POTION - db MAX_POTION - db FULL_RESTORE - db REVIVE - db FULL_HEAL - db $ff -; 1620e - -MartUnderground: ; 1620e - db 4 ; # items - db ENERGYPOWDER - db ENERGY_ROOT - db HEAL_POWDER - db REVIVAL_HERB - db $ff -; 16214 - -DefaultMart: ; 16214 - db 2 ; # items - db POKE_BALL - db POTION - db $ff -; 16218 diff --git a/items/pokeball_wobble.asm b/items/pokeball_wobble.asm deleted file mode 100755 index 7fb4d3e38..000000000 --- a/items/pokeball_wobble.asm +++ /dev/null @@ -1,88 +0,0 @@ -GetPokeBallWobble: ; f971 (3:7971) -; Returns whether a Poke Ball will wobble in the catch animation. -; Whether a Pokemon is caught is determined beforehand. - - push de - - ld a, [rSVBK] - ld d, a - push de - - ld a, 1 ; BANK(Buffer2) - ld [rSVBK], a - - ld a, [Buffer2] - inc a - ld [Buffer2], a - -; Wobble up to 3 times. - cp 3 + 1 - jr z, .finished - - ld a, [wWildMon] - and a - ld c, 0 ; next - jr nz, .done - - ld hl, .WobbleProbabilities - ld a, [Buffer1] - ld b, a -.loop - ld a, [hli] - cp b - jr nc, .checkwobble - inc hl - jr .loop - -.checkwobble - ld b, [hl] - call Random - cp b - ld c, 0 ; next - jr c, .done - ld c, 2 ; escaped - jr .done - -.finished - ld a, [wWildMon] - and a - ld c, 1 ; caught - jr nz, .done - ld c, 2 ; escaped - -.done - pop de - ld e, a - ld a, d - ld [rSVBK], a - ld a, e - pop de - ret - -.WobbleProbabilities: ; f9ba -; catch rate, chance of wobbling / 255 -; nLeft/255 = (nRight/255) ** 4 - db 1, 63 - db 2, 75 - db 3, 84 - db 4, 90 - db 5, 95 - db 7, 103 - db 10, 113 - db 15, 126 - db 20, 134 - db 30, 149 - db 40, 160 - db 50, 169 - db 60, 177 - db 80, 191 - db 100, 201 - db 120, 211 - db 140, 220 - db 160, 227 - db 180, 234 - db 200, 240 - db 220, 246 - db 240, 251 - db 254, 253 - db 255, 255 diff --git a/macros.asm b/macros.asm index 7bd0d6c4d..737ac9524 100644 --- a/macros.asm +++ b/macros.asm @@ -6,7 +6,7 @@ INCLUDE "macros/data.asm" INCLUDE "macros/code.asm" INCLUDE "macros/coords.asm" INCLUDE "macros/color.asm" -INCLUDE "macros/basestats.asm" +INCLUDE "macros/base_stats.asm" INCLUDE "macros/tilesets.asm" INCLUDE "macros/scripts/audio.asm" diff --git a/macros/base_stats.asm b/macros/base_stats.asm new file mode 100644 index 000000000..f7c841634 --- /dev/null +++ b/macros/base_stats.asm @@ -0,0 +1,67 @@ +; Used in data/pokemon/base_stats/*.asm + +define: macro +if !def(\1) +\1 equs \2 +endc +endm + +const_value = 0 + +add_tm: MACRO +if !def(TM01) +TM01 = const_value + enum_start 1 +endc + define _\@_1, "TM_\1" + const _\@_1 + enum \1_TMNUM +ENDM + +add_hm: MACRO +if !def(HM01) +HM01 = const_value +endc + define _\@_1, "HM_\1" + const _\@_1 + enum \1_TMNUM +ENDM + +add_mt: MACRO + enum \1_TMNUM +ENDM + +; N TMs/HMs need (N+7)/8 bytes for their bit flags. +; The rgbasm integers tms1, tms2, tms3 each hold 3 bytes, or 24 bits. +tmhm: MACRO +tms1 = 0 +tms2 = 0 +tms3 = 0 +rept _NARG + if def(\1_TMNUM) + if \1_TMNUM < 24 + 1 +tms1 = tms1 | (1 << ((\1_TMNUM) - 1)) + elif \1_TMNUM < 48 + 1 +tms2 = tms2 | (1 << ((\1_TMNUM) - 1 - 24)) + else +tms3 = tms3 | (1 << ((\1_TMNUM) - 1 - 48)) + endc + else + fail "\1 is not a TM, HM, or move tutor move" + endc + shift +endr + +rept 3 + db tms1 & $ff +tms1 = tms1 >> 8 +endr +rept 3 + db tms2 & $ff +tms2 = tms2 >> 8 +endr +rept 2 + db tms3 & $ff +tms3 = tms3 >> 8 +endr +ENDM diff --git a/macros/basestats.asm b/macros/basestats.asm deleted file mode 100644 index 1aa4f39c6..000000000 --- a/macros/basestats.asm +++ /dev/null @@ -1,67 +0,0 @@ -; Used in data/base_stats/*.asm - -define: macro -if !def(\1) -\1 equs \2 -endc -endm - -const_value = 0 - -add_tm: MACRO -if !def(TM01) -TM01 = const_value - enum_start 1 -endc - define _\@_1, "TM_\1" - const _\@_1 - enum \1_TMNUM -ENDM - -add_hm: MACRO -if !def(HM01) -HM01 = const_value -endc - define _\@_1, "HM_\1" - const _\@_1 - enum \1_TMNUM -ENDM - -add_mt: MACRO - enum \1_TMNUM -ENDM - -; N TMs/HMs need (N+7)/8 bytes for their bit flags. -; The rgbasm integers tms1, tms2, tms3 each hold 3 bytes, or 24 bits. -tmhm: MACRO -tms1 = 0 -tms2 = 0 -tms3 = 0 -rept _NARG - if def(\1_TMNUM) - if \1_TMNUM < 24 + 1 -tms1 = tms1 | (1 << ((\1_TMNUM) - 1)) - elif \1_TMNUM < 48 + 1 -tms2 = tms2 | (1 << ((\1_TMNUM) - 1 - 24)) - else -tms3 = tms3 | (1 << ((\1_TMNUM) - 1 - 48)) - endc - else - fail "\1 is not a TM, HM, or move tutor move" - endc - shift -endr - -rept 3 - db tms1 & $ff -tms1 = tms1 >> 8 -endr -rept 3 - db tms2 & $ff -tms2 = tms2 >> 8 -endr -rept 2 - db tms3 & $ff -tms3 = tms3 >> 8 -endr -ENDM diff --git a/main.asm b/main.asm index 876a06ef1..7b51225e7 100644 --- a/main.asm +++ b/main.asm @@ -236,7 +236,7 @@ CheckNickErrors:: ; 669f db -1 ; end INCLUDE "engine/math.asm" -INCLUDE "items/item_attributes.asm" +INCLUDE "data/items/item_attributes.asm" INCLUDE "engine/npc_movement.asm" INCLUDE "event/happiness_egg.asm" INCLUDE "event/special.asm" @@ -353,7 +353,7 @@ BugContest_SetCaughtContestMon: ; e6ce text_jump UnknownText_0x1c10c0 db "@" -INCLUDE "items/item_effects.asm" +INCLUDE "engine/item_effects.asm" KnowsMove: ; f9ea ld a, MON_MOVES @@ -608,7 +608,7 @@ INCLUDE "engine/map_setup.asm" INCLUDE "engine/pokecenter_pc.asm" INCLUDE "engine/mart.asm" INCLUDE "engine/money.asm" -INCLUDE "items/marts.asm" +INCLUDE "data/items/marts.asm" INCLUDE "event/mom.asm" INCLUDE "event/daycare.asm" INCLUDE "event/photo.asm" @@ -1028,7 +1028,7 @@ LevelUpHappinessMod: ; 2709e callab ChangeHappiness ret -INCLUDE "trainers/dvs.asm" +INCLUDE "data/trainers/trainer_dvs.asm" _ReturnToBattle_UseBall: ; 2715c call ClearBGPalettes @@ -1613,11 +1613,11 @@ SECTION "Enemy Trainers", ROMX INCLUDE "battle/ai/items.asm" INCLUDE "battle/ai/scoring.asm" -INCLUDE "trainers/read_attributes.asm" -INCLUDE "trainers/attributes.asm" -INCLUDE "trainers/read_party.asm" -INCLUDE "trainers/trainer_pointers.asm" -INCLUDE "trainers/trainers.asm" +INCLUDE "engine/read_trainer_attributes.asm" +INCLUDE "data/trainers/trainer_attributes.asm" +INCLUDE "engine/read_trainer_party.asm" +INCLUDE "data/trainers/party_pointers.asm" +INCLUDE "data/trainers/parties.asm" SECTION "Battle Core", ROMX @@ -1638,7 +1638,7 @@ SECTION "bank11", ROMX INCLUDE "engine/fruit_trees.asm" INCLUDE "battle/ai/move.asm" INCLUDE "engine/pokedex_2.asm" -INCLUDE "data/pokedex/entry_pointers.asm" +INCLUDE "data/pokemon/dex_entry_pointers.asm" INCLUDE "engine/mail.asm" @@ -2062,7 +2062,7 @@ CheckSave:: ; 4cffe ld c, $0 ret -INCLUDE "data/map_triggers.asm" +INCLUDE "data/maps/map_triggers.asm" _LoadMapPart:: ; 4d15b ld hl, wMisc @@ -3108,7 +3108,7 @@ GetMobileOTTrainerClass: ; mobile function ld a, [hl] ret -INCLUDE "trainers/gendered_trainers.asm" +INCLUDE "data/trainers/gendered_trainers.asm" INCLUDE "battle/sliding_intro.asm" @@ -4284,9 +4284,9 @@ INCLUDE "gfx/load_pics.asm" INCLUDE "engine/move_mon_wo_mail.asm" -INCLUDE "data/base_stats.asm" +INCLUDE "data/pokemon/base_stats.asm" -INCLUDE "data/pokemon_names.asm" +INCLUDE "data/pokemon/pokemon_names.asm" Unknown_53d84: ; unreferenced db $1a, $15 @@ -5194,8 +5194,8 @@ INCLUDE "text/phone/trainers1.asm" SECTION "bank72", ROMX -INCLUDE "items/item_names.asm" -INCLUDE "items/item_descriptions.asm" +INCLUDE "data/items/item_names.asm" +INCLUDE "data/items/item_descriptions.asm" INCLUDE "battle/move_names.asm" INCLUDE "engine/landmarks.asm" diff --git a/tilesets/roofs.asm b/tilesets/roofs.asm index 0e14f3cab..0e43854dd 100644 --- a/tilesets/roofs.asm +++ b/tilesets/roofs.asm @@ -17,7 +17,7 @@ LoadMapGroupRoof:: ; 1c000 ; 1c021 -INCLUDE "data/mapgroup_roofs.asm" +INCLUDE "data/maps/mapgroup_roofs.asm" Roofs: ; 1c03c diff --git a/trainers/attributes.asm b/trainers/attributes.asm deleted file mode 100644 index 224e460c9..000000000 --- a/trainers/attributes.asm +++ /dev/null @@ -1,406 +0,0 @@ -TrainerClassAttributes: ; 3959c -; entries correspond to trainer classes (see constants/trainer_constants.asm) - -; Falkner - db 0, 0 ; items - db 25 ; base reward - dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Whitney - db 0, 0 ; items - db 25 ; base reward - dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Bugsy - db 0, 0 ; items - db 25 ; base reward - dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Morty - db 0, 0 ; items - db 25 ; base reward - dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Pryce - db HYPER_POTION, 0 ; items - db 25 ; base reward - dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Jasmine - db HYPER_POTION, 0 ; items - db 25 ; base reward - dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Chuck - db FULL_HEAL, 0 ; items - db 25 ; base reward - dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Clair - db FULL_HEAL, HYPER_POTION ; items - db 25 ; base reward - dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Rival1 - db 0, 0 ; items - db 15 ; base reward - dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Pokemon Prof - db 0, 0 ; items - db 25 ; base reward - dw AI_BASIC + AI_AGGRESSIVE + AI_STATUS - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Will - db MAX_POTION, 0 ; items - db 25 ; base reward - dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Cal - db 0, 0 ; items - db 25 ; base reward - dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Bruno - db MAX_POTION, 0 ; items - db 25 ; base reward - dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Karen - db FULL_HEAL, MAX_POTION ; items - db 25 ; base reward - dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Koga - db FULL_HEAL, FULL_RESTORE ; items - db 25 ; base reward - dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Champion - db FULL_HEAL, FULL_RESTORE ; items - db 25 ; base reward - dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Brock - db HYPER_POTION, 0 ; items - db 25 ; base reward - dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Misty - db FULL_HEAL, 0 ; items - db 25 ; base reward - dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Lt Surge - db HYPER_POTION, 0 ; items - db 25 ; base reward - dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Scientist - db 0, 0 ; items - db 25 ; base reward - dw AI_BASIC + AI_SETUP + AI_TYPES + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Erika - db HYPER_POTION, 0 ; items - db 25 ; base reward - dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Youngster - db 0, 0 ; items - db 4 ; base reward - dw AI_BASIC + AI_STATUS - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Schoolboy - db 0, 0 ; items - db 8 ; base reward - dw AI_BASIC + AI_SETUP + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS - dw CONTEXT_USE + SWITCH_OFTEN - -; Bird Keeper - db 0, 0 ; items - db 6 ; base reward - dw AI_BASIC + AI_TYPES + AI_OFFENSIVE + AI_OPPORTUNIST + AI_STATUS - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Lass - db 0, 0 ; items - db 6 ; base reward - dw AI_BASIC + AI_CAUTIOUS + AI_STATUS - dw CONTEXT_USE + SWITCH_OFTEN - -; Janine - db DIRE_HIT, 0 ; items - db 25 ; base reward - dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Cooltrainerm - db 0, 0 ; items - db 12 ; base reward - dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Cooltrainerf - db 0, 0 ; items - db 12 ; base reward - dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Beauty - db 0, 0 ; items - db 22 ; base reward - dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Pokemaniac - db 0, 0 ; items - db 15 ; base reward - dw AI_BASIC + AI_SETUP + AI_OFFENSIVE + AI_AGGRESSIVE + AI_STATUS - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Gruntm - db 0, 0 ; items - db 10 ; base reward - dw AI_BASIC + AI_SETUP + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Gentleman - db 0, 0 ; items - db 18 ; base reward - dw AI_BASIC + AI_SETUP + AI_AGGRESSIVE + AI_STATUS - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Skier - db 0, 0 ; items - db 18 ; base reward - dw AI_BASIC + AI_SETUP + AI_TYPES + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Teacher - db 0, 0 ; items - db 18 ; base reward - dw AI_BASIC + AI_OPPORTUNIST + AI_AGGRESSIVE + AI_STATUS - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Sabrina - db HYPER_POTION, 0 ; items - db 25 ; base reward - dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Bug Catcher - db 0, 0 ; items - db 4 ; base reward - dw AI_BASIC + AI_SETUP + AI_STATUS - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Fisher - db 0, 0 ; items - db 10 ; base reward - dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS - dw CONTEXT_USE + SWITCH_OFTEN - -; Swimmerm - db 0, 0 ; items - db 2 ; base reward - dw AI_BASIC + AI_SETUP + AI_TYPES + AI_OFFENSIVE + AI_STATUS - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Swimmerf - db 0, 0 ; items - db 5 ; base reward - dw AI_BASIC + AI_SETUP + AI_TYPES + AI_CAUTIOUS + AI_STATUS - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Sailor - db 0, 0 ; items - db 10 ; base reward - dw AI_BASIC + AI_OFFENSIVE + AI_OPPORTUNIST + AI_STATUS - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Super Nerd - db 0, 0 ; items - db 8 ; base reward - dw AI_BASIC + AI_TYPES + AI_SMART + AI_STATUS - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Rival2 - db 0, 0 ; items - db 25 ; base reward - dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Guitarist - db 0, 0 ; items - db 8 ; base reward - dw AI_BASIC + AI_SETUP + AI_TYPES + AI_CAUTIOUS + AI_STATUS - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Hiker - db 0, 0 ; items - db 8 ; base reward - dw AI_BASIC + AI_OFFENSIVE + AI_STATUS - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Biker - db 0, 0 ; items - db 8 ; base reward - dw AI_BASIC + AI_TYPES + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Blaine - db MAX_POTION, FULL_HEAL ; items - db 25 ; base reward - dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Burglar - db 0, 0 ; items - db 22 ; base reward - dw AI_BASIC + AI_OFFENSIVE + AI_CAUTIOUS + AI_STATUS - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Firebreather - db 0, 0 ; items - db 12 ; base reward - dw AI_BASIC + AI_SETUP + AI_OFFENSIVE + AI_OPPORTUNIST + AI_STATUS - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Juggler - db 0, 0 ; items - db 10 ; base reward - dw AI_BASIC + AI_TYPES + AI_SMART + AI_STATUS - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Blackbelt T - db 0, 0 ; items - db 6 ; base reward - dw AI_BASIC + AI_OFFENSIVE + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Executivem - db 0, 0 ; items - db 18 ; base reward - dw AI_BASIC + AI_SETUP + AI_TYPES + AI_SMART + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Psychic T - db 0, 0 ; items - db 8 ; base reward - dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Picnicker - db 0, 0 ; items - db 5 ; base reward - dw AI_BASIC + AI_CAUTIOUS + AI_STATUS - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Camper - db 0, 0 ; items - db 5 ; base reward - dw AI_BASIC + AI_CAUTIOUS + AI_STATUS - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Executivef - db 0, 0 ; items - db 18 ; base reward - dw AI_BASIC + AI_SETUP + AI_TYPES + AI_SMART + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Sage - db 0, 0 ; items - db 8 ; base reward - dw AI_BASIC + AI_SETUP + AI_TYPES + AI_CAUTIOUS + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Medium - db 0, 0 ; items - db 10 ; base reward - dw AI_BASIC + AI_SETUP + AI_TYPES + AI_CAUTIOUS + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Boarder - db 0, 0 ; items - db 18 ; base reward - dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_STATUS - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Pokefanm - db 0, 0 ; items - db 20 ; base reward - dw AI_BASIC + AI_TYPES + AI_SMART + AI_STATUS - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Kimono Girl - db 0, 0 ; items - db 18 ; base reward - dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Twins - db 0, 0 ; items - db 5 ; base reward - dw NO_AI - dw CONTEXT_USE + SWITCH_OFTEN - -; Pokefanf - db 0, 0 ; items - db 20 ; base reward - dw AI_BASIC + AI_TYPES + AI_SMART + AI_STATUS - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Red - db FULL_RESTORE, FULL_RESTORE ; items - db 25 ; base reward - dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Blue - db FULL_RESTORE, FULL_RESTORE ; items - db 25 ; base reward - dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Officer - db 0, 0 ; items - db 10 ; base reward - dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_STATUS - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Gruntf - db 0, 0 ; items - db 10 ; base reward - dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Mysticalman - db 0, 0 ; items - db 25 ; base reward - dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; 39771 diff --git a/trainers/dvs.asm b/trainers/dvs.asm deleted file mode 100644 index 503c468d3..000000000 --- a/trainers/dvs.asm +++ /dev/null @@ -1,93 +0,0 @@ -GetTrainerDVs: ; 270c4 -; Return the DVs of OtherTrainerClass in bc - - push hl - ld a, [OtherTrainerClass] - dec a - ld c, a - ld b, 0 - - ld hl, TrainerClassDVs - add hl, bc - add hl, bc - - ld a, [hli] - ld b, a - ld c, [hl] - - pop hl - ret -; 270d6 - -TrainerClassDVs: ; 270d6 -; entries correspond to trainer classes (see constants/trainer_constants.asm) - ; Atk Spd - ; Def Spc - db $9A, $77 ; falkner - db $88, $88 ; bugsy - db $98, $88 ; whitney - db $98, $88 ; morty - db $98, $88 ; pryce - db $98, $88 ; jasmine - db $98, $88 ; chuck - db $7C, $DD ; clair - db $DD, $DD ; rival1 - db $98, $88 ; pokemon prof - db $DC, $DD ; will - db $DC, $DD ; cal - db $DC, $DD ; bruno - db $7F, $DF ; karen - db $DC, $DD ; koga - db $DC, $DD ; champion - db $98, $88 ; brock - db $78, $88 ; misty - db $98, $88 ; lt surge - db $98, $88 ; scientist - db $78, $88 ; erika - db $98, $88 ; youngster - db $98, $88 ; schoolboy - db $98, $88 ; bird keeper - db $58, $88 ; lass - db $98, $88 ; janine - db $D8, $C8 ; cooltrainerm - db $7C, $C8 ; cooltrainerf - db $69, $C8 ; beauty - db $98, $88 ; pokemaniac - db $D8, $A8 ; gruntm - db $98, $88 ; gentleman - db $98, $88 ; skier - db $68, $88 ; teacher - db $7D, $87 ; sabrina - db $98, $88 ; bug catcher - db $98, $88 ; fisher - db $98, $88 ; swimmerm - db $78, $88 ; swimmerf - db $98, $88 ; sailor - db $98, $88 ; super nerd - db $98, $88 ; rival2 - db $98, $88 ; guitarist - db $A8, $88 ; hiker - db $98, $88 ; biker - db $98, $88 ; blaine - db $98, $88 ; burglar - db $98, $88 ; firebreather - db $98, $88 ; juggler - db $98, $88 ; blackbelt - db $D8, $A8 ; executivem - db $98, $88 ; psychic - db $6A, $A8 ; picnicker - db $98, $88 ; camper - db $7E, $A8 ; executivef - db $98, $88 ; sage - db $78, $88 ; medium - db $98, $88 ; boarder - db $98, $88 ; pokefanm - db $68, $8A ; kimono girl - db $68, $A8 ; twins - db $6D, $88 ; pokefanf - db $FD, $DE ; red - db $9D, $DD ; blue - db $98, $88 ; officer - db $7E, $A8 ; gruntf - db $98, $88 ; mysticalman -; 2715c diff --git a/trainers/encounter_music.asm b/trainers/encounter_music.asm deleted file mode 100644 index cd0348d81..000000000 --- a/trainers/encounter_music.asm +++ /dev/null @@ -1,75 +0,0 @@ -; What music plays when a trainer notices you - -TrainerEncounterMusic:: -; entries correspond to trainer classes (see constants/trainer_constants.asm) - db MUSIC_HIKER_ENCOUNTER ; none - db MUSIC_YOUNGSTER_ENCOUNTER ; falkner - db MUSIC_LASS_ENCOUNTER ; whitney - db MUSIC_YOUNGSTER_ENCOUNTER ; bugsy - db MUSIC_OFFICER_ENCOUNTER ; morty - db MUSIC_OFFICER_ENCOUNTER ; pryce - db MUSIC_LASS_ENCOUNTER ; jasmine - db MUSIC_OFFICER_ENCOUNTER ; chuck - db MUSIC_BEAUTY_ENCOUNTER ; clair - db MUSIC_RIVAL_ENCOUNTER ; rival1 - db MUSIC_HIKER_ENCOUNTER ; pokemon_prof - db MUSIC_HIKER_ENCOUNTER ; will - db MUSIC_HIKER_ENCOUNTER ; cal - db MUSIC_OFFICER_ENCOUNTER ; bruno - db MUSIC_HIKER_ENCOUNTER ; karen - db MUSIC_HIKER_ENCOUNTER ; koga - db MUSIC_OFFICER_ENCOUNTER ; champion - db MUSIC_YOUNGSTER_ENCOUNTER ; brock - db MUSIC_LASS_ENCOUNTER ; misty - db MUSIC_OFFICER_ENCOUNTER ; lt_surge - db MUSIC_ROCKET_ENCOUNTER ; scientist - db MUSIC_OFFICER_ENCOUNTER ; erika - db MUSIC_YOUNGSTER_ENCOUNTER ; youngster - db MUSIC_YOUNGSTER_ENCOUNTER ; schoolboy - db MUSIC_YOUNGSTER_ENCOUNTER ; bird_keeper - db MUSIC_LASS_ENCOUNTER ; lass - db MUSIC_LASS_ENCOUNTER ; janine - db MUSIC_HIKER_ENCOUNTER ; cooltrainerm - db MUSIC_BEAUTY_ENCOUNTER ; cooltrainerf - db MUSIC_BEAUTY_ENCOUNTER ; beauty - db MUSIC_POKEMANIAC_ENCOUNTER ; pokemaniac - db MUSIC_ROCKET_ENCOUNTER ; gruntm - db MUSIC_HIKER_ENCOUNTER ; gentleman - db MUSIC_BEAUTY_ENCOUNTER ; skier - db MUSIC_BEAUTY_ENCOUNTER ; teacher - db MUSIC_BEAUTY_ENCOUNTER ; sabrina - db MUSIC_YOUNGSTER_ENCOUNTER ; bug_catcher - db MUSIC_HIKER_ENCOUNTER ; fisher - db MUSIC_HIKER_ENCOUNTER ; swimmerm - db MUSIC_BEAUTY_ENCOUNTER ; swimmerf - db MUSIC_HIKER_ENCOUNTER ; sailor - db MUSIC_POKEMANIAC_ENCOUNTER ; super_nerd - db MUSIC_RIVAL_ENCOUNTER ; rival2 - db MUSIC_HIKER_ENCOUNTER ; guitarist - db MUSIC_HIKER_ENCOUNTER ; hiker - db MUSIC_HIKER_ENCOUNTER ; biker - db MUSIC_OFFICER_ENCOUNTER ; blaine - db MUSIC_POKEMANIAC_ENCOUNTER ; burglar - db MUSIC_HIKER_ENCOUNTER ; firebreather - db MUSIC_POKEMANIAC_ENCOUNTER ; juggler - db MUSIC_HIKER_ENCOUNTER ; blackbelt_t - db MUSIC_ROCKET_ENCOUNTER ; executivem - db MUSIC_YOUNGSTER_ENCOUNTER ; psychic_t - db MUSIC_LASS_ENCOUNTER ; picnicker - db MUSIC_YOUNGSTER_ENCOUNTER ; camper - db MUSIC_ROCKET_ENCOUNTER ; executivef - db MUSIC_SAGE_ENCOUNTER ; sage - db MUSIC_SAGE_ENCOUNTER ; medium - db MUSIC_HIKER_ENCOUNTER ; boarder - db MUSIC_HIKER_ENCOUNTER ; pokefanm - db MUSIC_KIMONO_ENCOUNTER ; kimono_girl - db MUSIC_LASS_ENCOUNTER ; twins - db MUSIC_BEAUTY_ENCOUNTER ; pokefanf - db MUSIC_HIKER_ENCOUNTER ; red - db MUSIC_RIVAL_ENCOUNTER ; blue - db MUSIC_HIKER_ENCOUNTER ; officer - db MUSIC_ROCKET_ENCOUNTER ; gruntf - db MUSIC_HIKER_ENCOUNTER ; mysticalman - db MUSIC_HIKER_ENCOUNTER - db MUSIC_HIKER_ENCOUNTER - db MUSIC_HIKER_ENCOUNTER diff --git a/trainers/gendered_trainers.asm b/trainers/gendered_trainers.asm deleted file mode 100644 index 98cfec2ac..000000000 --- a/trainers/gendered_trainers.asm +++ /dev/null @@ -1,40 +0,0 @@ -MaleTrainers: ; 4e95d - db BURGLAR - db YOUNGSTER - db SCHOOLBOY - db BIRD_KEEPER - db POKEMANIAC - db GENTLEMAN - db BUG_CATCHER - db FISHER - db SWIMMERM - db SAILOR - db SUPER_NERD - db GUITARIST - db HIKER - db FIREBREATHER - db BLACKBELT_T - db PSYCHIC_T - db CAMPER - db COOLTRAINERM - db BOARDER - db JUGGLER - db POKEFANM - db OFFICER - db SAGE - db BIKER - db SCIENTIST -MaleTrainersEnd - -FemaleTrainers: ; 4e976 - db MEDIUM - db LASS - db BEAUTY - db SKIER - db TEACHER - db SWIMMERF - db PICNICKER - db KIMONO_GIRL - db POKEFANF - db COOLTRAINERF -FemaleTrainersEnd diff --git a/trainers/read_attributes.asm b/trainers/read_attributes.asm deleted file mode 100644 index dfb8d3682..000000000 --- a/trainers/read_attributes.asm +++ /dev/null @@ -1,64 +0,0 @@ -GetTrainerClassName: ; 3952d - ld hl, RivalName - ld a, c - cp RIVAL1 - jr z, .rival - - ld [CurSpecies], a - ld a, TRAINER_NAME - ld [wNamedObjectTypeBuffer], a - call GetName - ld de, StringBuffer1 - ret - -.rival - ld de, StringBuffer1 - push de - ld bc, NAME_LENGTH - call CopyBytes - pop de - ret - -GetOTName: ; 39550 - ld hl, OTPlayerName - ld a, [wLinkMode] - and a - jr nz, .ok - - ld hl, RivalName - ld a, c - cp RIVAL1 - jr z, .ok - - ld [CurSpecies], a - ld a, TRAINER_NAME - ld [wNamedObjectTypeBuffer], a - call GetName - ld hl, StringBuffer1 - -.ok - ld bc, TRAINER_CLASS_NAME_LENGTH - ld de, OTClassName - push de - call CopyBytes - pop de - ret - -GetTrainerAttributes: ; 3957b - ld a, [TrainerClass] - ld c, a - call GetOTName - ld a, [TrainerClass] - dec a - ld hl, TrainerClassAttributes + TRNATTR_ITEM1 - ld bc, NUM_TRAINER_ATTRIBUTES - call AddNTimes - ld de, wEnemyTrainerItem1 - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - ld a, [hl] - ld [wEnemyTrainerBaseReward], a - ret diff --git a/trainers/read_party.asm b/trainers/read_party.asm deleted file mode 100755 index 9b7727a84..000000000 --- a/trainers/read_party.asm +++ /dev/null @@ -1,398 +0,0 @@ - -ReadTrainerParty: ; 39771 - ld a, [InBattleTowerBattle] - bit 0, a - ret nz - - ld a, [wLinkMode] - and a - ret nz - - ld hl, OTPartyCount - xor a - ld [hli], a - dec a - ld [hl], a - - ld hl, OTPartyMons - ld bc, OTPartyMonsEnd - OTPartyMons - xor a - call ByteFill - - ld a, [OtherTrainerClass] - cp CAL - jr nz, .not_cal2 - ld a, [OtherTrainerID] - cp CAL2 - jr z, .cal2 - ld a, [OtherTrainerClass] -.not_cal2 - - dec a - ld c, a - ld b, 0 - ld hl, TrainerGroups - add hl, bc - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - - ld a, [OtherTrainerID] - ld b, a -.skip_trainer - dec b - jr z, .got_trainer -.loop - ld a, [hli] - cp $ff - jr nz, .loop - jr .skip_trainer -.got_trainer - -.skip_name - ld a, [hli] - cp "@" - jr nz, .skip_name - - ld a, [hli] - ld c, a - ld b, 0 - ld d, h - ld e, l - ld hl, TrainerTypes - add hl, bc - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - ld bc, .done - push bc - jp hl - -.done - jp ComputeTrainerReward - -.cal2 - ld a, BANK(sMysteryGiftTrainer) - call GetSRAMBank - ld de, sMysteryGiftTrainer - call TrainerType2 - call CloseSRAM - jr .done -; 397e3 - -TrainerTypes: ; 397e3 - dw TrainerType1 ; level, species - dw TrainerType2 ; level, species, moves - dw TrainerType3 ; level, species, item - dw TrainerType4 ; level, species, item, moves -; 397eb - -TrainerType1: ; 397eb -; normal (level, species) - ld h, d - ld l, e -.loop - ld a, [hli] - cp $ff - ret z - - ld [CurPartyLevel], a - ld a, [hli] - ld [CurPartySpecies], a - ld a, OTPARTYMON - ld [MonType], a - push hl - predef TryAddMonToParty - pop hl - jr .loop -; 39806 - -TrainerType2: ; 39806 -; moves - ld h, d - ld l, e -.loop - ld a, [hli] - cp $ff - ret z - - ld [CurPartyLevel], a - ld a, [hli] - ld [CurPartySpecies], a - ld a, OTPARTYMON - ld [MonType], a - - push hl - predef TryAddMonToParty - ld a, [OTPartyCount] - dec a - ld hl, OTPartyMon1Moves - ld bc, PARTYMON_STRUCT_LENGTH - call AddNTimes - ld d, h - ld e, l - pop hl - - ld b, NUM_MOVES -.copy_moves - ld a, [hli] - ld [de], a - inc de - dec b - jr nz, .copy_moves - - push hl - - ld a, [OTPartyCount] - dec a - ld hl, OTPartyMon1Species - ld bc, PARTYMON_STRUCT_LENGTH - call AddNTimes - ld d, h - ld e, l - ld hl, MON_PP - add hl, de - push hl - ld hl, MON_MOVES - add hl, de - pop de - - ld b, NUM_MOVES -.copy_pp - ld a, [hli] - and a - jr z, .copied_pp - - push hl - push bc - dec a - ld hl, Moves + MOVE_PP - ld bc, MOVE_LENGTH - call AddNTimes - ld a, BANK(Moves) - call GetFarByte - pop bc - pop hl - - ld [de], a - inc de - dec b - jr nz, .copy_pp -.copied_pp - - pop hl - jr .loop -; 39871 - -TrainerType3: ; 39871 -; item - ld h, d - ld l, e -.loop - ld a, [hli] - cp $ff - ret z - - ld [CurPartyLevel], a - ld a, [hli] - ld [CurPartySpecies], a - ld a, OTPARTYMON - ld [MonType], a - push hl - predef TryAddMonToParty - ld a, [OTPartyCount] - dec a - ld hl, OTPartyMon1Item - ld bc, PARTYMON_STRUCT_LENGTH - call AddNTimes - ld d, h - ld e, l - pop hl - ld a, [hli] - ld [de], a - jr .loop -; 3989d (e:589d) - -TrainerType4: ; 3989d -; item + moves - ld h, d - ld l, e -.loop - ld a, [hli] - cp $ff - ret z - - ld [CurPartyLevel], a - ld a, [hli] - ld [CurPartySpecies], a - - ld a, OTPARTYMON - ld [MonType], a - - push hl - predef TryAddMonToParty - ld a, [OTPartyCount] - dec a - ld hl, OTPartyMon1Item - ld bc, PARTYMON_STRUCT_LENGTH - call AddNTimes - ld d, h - ld e, l - pop hl - - ld a, [hli] - ld [de], a - - push hl - ld a, [OTPartyCount] - dec a - ld hl, OTPartyMon1Moves - ld bc, PARTYMON_STRUCT_LENGTH - call AddNTimes - ld d, h - ld e, l - pop hl - - ld b, NUM_MOVES -.copy_moves - ld a, [hli] - ld [de], a - inc de - dec b - jr nz, .copy_moves - - push hl - - ld a, [OTPartyCount] - dec a - ld hl, OTPartyMon1 - ld bc, PARTYMON_STRUCT_LENGTH - call AddNTimes - ld d, h - ld e, l - ld hl, MON_PP - add hl, de - - push hl - ld hl, MON_MOVES - add hl, de - pop de - - ld b, NUM_MOVES -.copy_pp - ld a, [hli] - and a - jr z, .copied_pp - - push hl - push bc - dec a - ld hl, Moves + MOVE_PP - ld bc, MOVE_LENGTH - call AddNTimes - ld a, BANK(Moves) - call GetFarByte - pop bc - pop hl - - ld [de], a - inc de - dec b - jr nz, .copy_pp -.copied_pp - - pop hl - jr .loop -; 3991b - -ComputeTrainerReward: ; 3991b (e:591b) - ld hl, hProduct - xor a - ld [hli], a - ld [hli], a - ld [hli], a - ld a, [wEnemyTrainerBaseReward] - ld [hli], a - ld a, [CurPartyLevel] - ld [hl], a - call Multiply - ld hl, wBattleReward - xor a - ld [hli], a - ld a, [hProduct + 2] - ld [hli], a - ld a, [hProduct + 3] - ld [hl], a - ret - - -Battle_GetTrainerName:: ; 39939 - ld a, [InBattleTowerBattle] - bit 0, a - ld hl, OTPlayerName - jp nz, CopyTrainerName - - ld a, [OtherTrainerID] - ld b, a - ld a, [OtherTrainerClass] - ld c, a - -GetTrainerName:: ; 3994c - ld a, c - cp CAL - jr nz, .not_cal2 - - ld a, BANK(sMysteryGiftTrainerHouseFlag) - call GetSRAMBank - ld a, [sMysteryGiftTrainerHouseFlag] - and a - call CloseSRAM - jr z, .not_cal2 - - ld a, BANK(sMysteryGiftPartnerName) - call GetSRAMBank - ld hl, sMysteryGiftPartnerName - call CopyTrainerName - jp CloseSRAM - -.not_cal2 - dec c - push bc - ld b, 0 - ld hl, TrainerGroups - add hl, bc - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - pop bc - -.loop - dec b - jr z, CopyTrainerName - -.skip - ld a, [hli] - cp $ff - jr nz, .skip - jr .loop - -CopyTrainerName: ; 39984 - ld de, StringBuffer1 - push de - ld bc, NAME_LENGTH - call CopyBytes - pop de - ret -; 39990 - -Function39990: ; 39990 -; This function is useless. - ld de, StringBuffer1 - push de - ld bc, NAME_LENGTH - pop de - ret -; 39999 diff --git a/trainers/trainer_pointers.asm b/trainers/trainer_pointers.asm deleted file mode 100644 index c0b3d4538..000000000 --- a/trainers/trainer_pointers.asm +++ /dev/null @@ -1,70 +0,0 @@ -; Each trainer class has its own group. See trainers.asm. - -TrainerGroups: ; 0x39999 - dw FalknerGroup - dw WhitneyGroup - dw BugsyGroup - dw MortyGroup - dw PryceGroup - dw JasmineGroup - dw ChuckGroup - dw ClairGroup - dw Rival1Group - dw PokemonProfGroup - dw WillGroup - dw PKMNTrainerGroup - dw BrunoGroup - dw KarenGroup - dw KogaGroup - dw ChampionGroup - dw BrockGroup - dw MistyGroup - dw LtSurgeGroup - dw ScientistGroup - dw ErikaGroup - dw YoungsterGroup - dw SchoolboyGroup - dw BirdKeeperGroup - dw LassGroup - dw JanineGroup - dw CooltrainerMGroup - dw CooltrainerFGroup - dw BeautyGroup - dw PokemaniacGroup - dw GruntMGroup - dw GentlemanGroup - dw SkierGroup - dw TeacherGroup - dw SabrinaGroup - dw BugCatcherGroup - dw FisherGroup - dw SwimmerMGroup - dw SwimmerFGroup - dw SailorGroup - dw SuperNerdGroup - dw Rival2Group - dw GuitaristGroup - dw HikerGroup - dw BikerGroup - dw BlaineGroup - dw BurglarGroup - dw FirebreatherGroup - dw JugglerGroup - dw BlackbeltGroup - dw ExecutiveMGroup - dw PsychicGroup - dw PicnickerGroup - dw CamperGroup - dw ExecutiveFGroup - dw SageGroup - dw MediumGroup - dw BoarderGroup - dw PokefanMGroup - dw KimonoGirlGroup - dw TwinsGroup - dw PokefanFGroup - dw RedGroup - dw BlueGroup - dw OfficerGroup - dw GruntFGroup - dw MysticalmanGroup diff --git a/trainers/trainers.asm b/trainers/trainers.asm deleted file mode 100644 index e96cfd895..000000000 --- a/trainers/trainers.asm +++ /dev/null @@ -1,8829 +0,0 @@ -Trainers: - -; All trainers follow a basic structure: - ; Name - ; String in format "TEXT@" - ; Type - ; TRAINERTYPE_NORMAL: level, species - ; TRAINERTYPE_MOVES: level, species, moves - ; TRAINERTYPE_ITEM: level, species, item - ; TRAINERTYPE_ITEM_MOVES: level, species, item, moves - ; Party - ; Up to six monsters following the data type - ; $ff - - -FalknerGroup: -; ================================ -; ================ - - ; FALKNER (1) - db "FALKNER@" - db TRAINERTYPE_MOVES - - ; party - - db 7, PIDGEY - db TACKLE - db MUD_SLAP - db 0 - db 0 - - db 9, PIDGEOTTO - db TACKLE - db MUD_SLAP - db GUST - db 0 - - db $ff ; end - -; ================ -; ================================ - - -WhitneyGroup: -; ================================ -; ================ - - ; WHITNEY (1) - db "WHITNEY@" - db TRAINERTYPE_MOVES - - ; party - - db 18, CLEFAIRY - db DOUBLESLAP - db MIMIC - db ENCORE - db METRONOME - - db 20, MILTANK - db ROLLOUT - db ATTRACT - db STOMP - db MILK_DRINK - - db $ff ; end - -; ================ -; ================================ - - -BugsyGroup: -; ================================ -; ================ - - ; BUGSY (1) - db "BUGSY@" - db TRAINERTYPE_MOVES - - ; party - - db 14, METAPOD - db TACKLE - db STRING_SHOT - db HARDEN - db 0 - - db 14, KAKUNA - db POISON_STING - db STRING_SHOT - db HARDEN - db 0 - - db 16, SCYTHER - db QUICK_ATTACK - db LEER - db FURY_CUTTER - db 0 - - db $ff ; end - -; ================ -; ================================ - - -MortyGroup: -; ================================ -; ================ - - ; MORTY (1) - db "MORTY@" - db TRAINERTYPE_MOVES - - ; party - - db 21, GASTLY - db LICK - db SPITE - db MEAN_LOOK - db CURSE - - db 21, HAUNTER - db HYPNOSIS - db MIMIC - db CURSE - db NIGHT_SHADE - - db 25, GENGAR - db HYPNOSIS - db SHADOW_BALL - db MEAN_LOOK - db DREAM_EATER - - db 23, HAUNTER - db SPITE - db MEAN_LOOK - db MIMIC - db NIGHT_SHADE - - db $ff ; end - -; ================ -; ================================ - - -PryceGroup: -; ================================ -; ================ - - ; PRYCE (1) - db "PRYCE@" - db TRAINERTYPE_MOVES - - ; party - - db 27, SEEL - db HEADBUTT - db ICY_WIND - db AURORA_BEAM - db REST - - db 29, DEWGONG - db HEADBUTT - db ICY_WIND - db AURORA_BEAM - db REST - - db 31, PILOSWINE - db ICY_WIND - db FURY_ATTACK - db MIST - db BLIZZARD - - db $ff ; end - -; ================ -; ================================ - - -JasmineGroup: -; ================================ -; ================ - - ; JASMINE (1) - db "JASMINE@" - db TRAINERTYPE_MOVES - - ; party - - db 30, MAGNEMITE - db THUNDERBOLT - db SUPERSONIC - db SONICBOOM - db THUNDER_WAVE - - db 30, MAGNEMITE - db THUNDERBOLT - db SUPERSONIC - db SONICBOOM - db THUNDER_WAVE - - db 35, STEELIX - db SCREECH - db SUNNY_DAY - db ROCK_THROW - db IRON_TAIL - - db $ff ; end - -; ================ -; ================================ - - -ChuckGroup: -; ================================ -; ================ - - ; CHUCK (1) - db "CHUCK@" - db TRAINERTYPE_MOVES - - ; party - - db 27, PRIMEAPE - db LEER - db RAGE - db KARATE_CHOP - db FURY_SWIPES - - db 30, POLIWRATH - db HYPNOSIS - db MIND_READER - db SURF - db DYNAMICPUNCH - - db $ff ; end - -; ================ -; ================================ - - -ClairGroup: -; ================================ -; ================ - - ; CLAIR (1) - db "CLAIR@" - db TRAINERTYPE_MOVES - - ; party - - db 37, DRAGONAIR - db THUNDER_WAVE - db SURF - db SLAM - db DRAGONBREATH - - db 37, DRAGONAIR - db THUNDER_WAVE - db THUNDERBOLT - db SLAM - db DRAGONBREATH - - db 37, DRAGONAIR - db THUNDER_WAVE - db ICE_BEAM - db SLAM - db DRAGONBREATH - - db 40, KINGDRA - db SMOKESCREEN - db SURF - db HYPER_BEAM - db DRAGONBREATH - - db $ff ; end - -; ================ -; ================================ - - -Rival1Group: -; ================================ -; ================ - - ; RIVAL1 (1) - db "?@" - db TRAINERTYPE_NORMAL - - ; party - db 5, CHIKORITA - - db $ff ; end - -; ================ - - ; RIVAL1 (2) - db "?@" - db TRAINERTYPE_NORMAL - - ; party - db 5, CYNDAQUIL - - db $ff ; end - -; ================ - - ; RIVAL1 (3) - db "?@" - db TRAINERTYPE_NORMAL - - ; party - db 5, TOTODILE - - db $ff ; end - -; ================ - - ; RIVAL1 (4) - db "?@" - db TRAINERTYPE_NORMAL - - ; party - db 12, GASTLY - db 14, ZUBAT - db 16, BAYLEEF - - db $ff ; end - -; ================ - - ; RIVAL1 (5) - db "?@" - db TRAINERTYPE_NORMAL - - ; party - db 12, GASTLY - db 14, ZUBAT - db 16, QUILAVA - - db $ff ; end - -; ================ - - ; RIVAL1 (6) - db "?@" - db TRAINERTYPE_NORMAL - - ; party - db 12, GASTLY - db 14, ZUBAT - db 16, CROCONAW - - db $ff ; end - -; ================ - - ; RIVAL1 (7) - db "?@" - db TRAINERTYPE_MOVES - - ; party - - db 20, HAUNTER - db LICK - db SPITE - db MEAN_LOOK - db CURSE - - db 18, MAGNEMITE - db TACKLE - db THUNDERSHOCK - db SUPERSONIC - db SONICBOOM - - db 20, ZUBAT - db LEECH_LIFE - db SUPERSONIC - db BITE - db CONFUSE_RAY - - db 22, BAYLEEF - db GROWL - db REFLECT - db RAZOR_LEAF - db POISONPOWDER - - db $ff ; end - -; ================ - - ; RIVAL1 (8) - db "?@" - db TRAINERTYPE_MOVES - - ; party - - db 20, HAUNTER - db LICK - db SPITE - db MEAN_LOOK - db CURSE - - db 18, MAGNEMITE - db TACKLE - db THUNDERSHOCK - db SUPERSONIC - db SONICBOOM - - db 20, ZUBAT - db LEECH_LIFE - db SUPERSONIC - db BITE - db CONFUSE_RAY - - db 22, QUILAVA - db LEER - db SMOKESCREEN - db EMBER - db QUICK_ATTACK - - db $ff ; end - -; ================ - - ; RIVAL1 (9) - db "?@" - db TRAINERTYPE_MOVES - - ; party - - db 20, HAUNTER - db LICK - db SPITE - db MEAN_LOOK - db CURSE - - db 18, MAGNEMITE - db TACKLE - db THUNDERSHOCK - db SUPERSONIC - db SONICBOOM - - db 20, ZUBAT - db LEECH_LIFE - db SUPERSONIC - db BITE - db CONFUSE_RAY - - db 22, CROCONAW - db LEER - db RAGE - db WATER_GUN - db BITE - - db $ff ; end - -; ================ - - ; RIVAL1 (10) - db "?@" - db TRAINERTYPE_MOVES - - ; party - - db 30, GOLBAT - db LEECH_LIFE - db BITE - db CONFUSE_RAY - db WING_ATTACK - - db 28, MAGNEMITE - db TACKLE - db THUNDERSHOCK - db SONICBOOM - db THUNDER_WAVE - - db 30, HAUNTER - db LICK - db MEAN_LOOK - db CURSE - db SHADOW_BALL - - db 32, SNEASEL - db LEER - db QUICK_ATTACK - db SCREECH - db FAINT_ATTACK - - db 32, MEGANIUM - db REFLECT - db RAZOR_LEAF - db POISONPOWDER - db BODY_SLAM - - db $ff ; end - -; ================ - - ; RIVAL1 (11) - db "?@" - db TRAINERTYPE_MOVES - - ; party - - db 30, GOLBAT - db LEECH_LIFE - db BITE - db CONFUSE_RAY - db WING_ATTACK - - db 28, MAGNEMITE - db TACKLE - db THUNDERSHOCK - db SONICBOOM - db THUNDER_WAVE - - db 30, HAUNTER - db LICK - db MEAN_LOOK - db CURSE - db SHADOW_BALL - - db 32, SNEASEL - db LEER - db QUICK_ATTACK - db SCREECH - db FAINT_ATTACK - - db 32, QUILAVA - db SMOKESCREEN - db EMBER - db QUICK_ATTACK - db FLAME_WHEEL - - db $ff ; end - -; ================ - - ; RIVAL1 (12) - db "?@" - db TRAINERTYPE_MOVES - - ; party - - db 30, GOLBAT - db LEECH_LIFE - db BITE - db CONFUSE_RAY - db WING_ATTACK - - db 28, MAGNEMITE - db TACKLE - db THUNDERSHOCK - db SONICBOOM - db THUNDER_WAVE - - db 30, HAUNTER - db LICK - db MEAN_LOOK - db CURSE - db SHADOW_BALL - - db 32, SNEASEL - db LEER - db QUICK_ATTACK - db SCREECH - db FAINT_ATTACK - - db 32, FERALIGATR - db RAGE - db WATER_GUN - db BITE - db SCARY_FACE - - db $ff ; end - -; ================ - - ; RIVAL1 (13) - db "?@" - db TRAINERTYPE_MOVES - - ; party - - db 34, SNEASEL - db QUICK_ATTACK - db SCREECH - db FAINT_ATTACK - db FURY_CUTTER - - db 36, GOLBAT - db LEECH_LIFE - db BITE - db CONFUSE_RAY - db WING_ATTACK - - db 35, MAGNETON - db THUNDERSHOCK - db SONICBOOM - db THUNDER_WAVE - db SWIFT - - db 35, HAUNTER - db MEAN_LOOK - db CURSE - db SHADOW_BALL - db CONFUSE_RAY - - db 35, KADABRA - db DISABLE - db PSYBEAM - db RECOVER - db FUTURE_SIGHT - - db 38, MEGANIUM - db REFLECT - db RAZOR_LEAF - db POISONPOWDER - db BODY_SLAM - - db $ff ; end - -; ================ - - ; RIVAL1 (14) - db "?@" - db TRAINERTYPE_MOVES - - ; party - - db 34, SNEASEL - db QUICK_ATTACK - db SCREECH - db FAINT_ATTACK - db FURY_CUTTER - - db 36, GOLBAT - db LEECH_LIFE - db BITE - db CONFUSE_RAY - db WING_ATTACK - - db 35, MAGNETON - db THUNDERSHOCK - db SONICBOOM - db THUNDER_WAVE - db SWIFT - - db 35, HAUNTER - db MEAN_LOOK - db CURSE - db SHADOW_BALL - db CONFUSE_RAY - - db 35, KADABRA - db DISABLE - db PSYBEAM - db RECOVER - db FUTURE_SIGHT - - db 38, TYPHLOSION - db SMOKESCREEN - db EMBER - db QUICK_ATTACK - db FLAME_WHEEL - - db $ff ; end - -; ================ - - ; RIVAL1 (15) - db "?@" - db TRAINERTYPE_MOVES - - ; party - - db 34, SNEASEL - db QUICK_ATTACK - db SCREECH - db FAINT_ATTACK - db FURY_CUTTER - - db 36, GOLBAT - db LEECH_LIFE - db BITE - db CONFUSE_RAY - db WING_ATTACK - - db 34, MAGNETON - db THUNDERSHOCK - db SONICBOOM - db THUNDER_WAVE - db SWIFT - - db 35, HAUNTER - db MEAN_LOOK - db CURSE - db SHADOW_BALL - db CONFUSE_RAY - - db 35, KADABRA - db DISABLE - db PSYBEAM - db RECOVER - db FUTURE_SIGHT - - db 38, FERALIGATR - db RAGE - db WATER_GUN - db SCARY_FACE - db SLASH - - db $ff ; end - -; ================ -; ================================ - - -PokemonProfGroup: -; ================================ -; ================ -; ================================ - - -WillGroup: -; ================================ -; ================ - - ; WILL (1) - db "WILL@" - db TRAINERTYPE_MOVES - - ; party - - db 40, XATU - db QUICK_ATTACK - db FUTURE_SIGHT - db CONFUSE_RAY - db PSYCHIC_M - - db 41, JYNX - db DOUBLESLAP - db LOVELY_KISS - db ICE_PUNCH - db PSYCHIC_M - - db 41, EXEGGUTOR - db REFLECT - db LEECH_SEED - db EGG_BOMB - db PSYCHIC_M - - db 41, SLOWBRO - db CURSE - db AMNESIA - db BODY_SLAM - db PSYCHIC_M - - db 42, XATU - db QUICK_ATTACK - db FUTURE_SIGHT - db CONFUSE_RAY - db PSYCHIC_M - - db $ff ; end - -; ================ -; ================================ - - -PKMNTrainerGroup: -; ================================ -; ================ - - ; CAL (1) - db "CAL@" - db TRAINERTYPE_NORMAL - - ; party - db 10, CHIKORITA - db 10, CYNDAQUIL - db 10, TOTODILE - - db $ff ; end - -; ================ - - ; CAL (2) - db "CAL@" - db TRAINERTYPE_NORMAL - - ; party - db 30, BAYLEEF - db 30, QUILAVA - db 30, CROCONAW - - db $ff ; end - -; ================ - - ; CAL (3) - db "CAL@" - db TRAINERTYPE_NORMAL - - ; party - db 50, MEGANIUM - db 50, TYPHLOSION - db 50, FERALIGATR - - db $ff ; end - -; ================ -; ================================ - - -BrunoGroup: -; ================================ -; ================ - - ; BRUNO (1) - db "BRUNO@" - db TRAINERTYPE_MOVES - - ; party - - db 42, HITMONTOP - db PURSUIT - db QUICK_ATTACK - db DIG - db DETECT - - db 42, HITMONLEE - db SWAGGER - db DOUBLE_KICK - db HI_JUMP_KICK - db FORESIGHT - - db 42, HITMONCHAN - db THUNDERPUNCH - db ICE_PUNCH - db FIRE_PUNCH - db MACH_PUNCH - - db 43, ONIX - db BIND - db EARTHQUAKE - db SANDSTORM - db ROCK_SLIDE - - db 46, MACHAMP - db ROCK_SLIDE - db FORESIGHT - db VITAL_THROW - db CROSS_CHOP - - db $ff ; end - -; ================ -; ================================ - - -KarenGroup: -; ================================ -; ================ - - ; KAREN (1) - db "KAREN@" - db TRAINERTYPE_MOVES - - ; party - - db 42, UMBREON - db SAND_ATTACK - db CONFUSE_RAY - db FAINT_ATTACK - db MEAN_LOOK - - db 42, VILEPLUME - db STUN_SPORE - db ACID - db MOONLIGHT - db PETAL_DANCE - - db 45, GENGAR - db LICK - db SPITE - db CURSE - db DESTINY_BOND - - db 44, MURKROW - db QUICK_ATTACK - db WHIRLWIND - db PURSUIT - db FAINT_ATTACK - - db 47, HOUNDOOM - db ROAR - db PURSUIT - db FLAMETHROWER - db CRUNCH - - db $ff ; end - -; ================ -; ================================ - - -KogaGroup: -; ================================ -; ================ - - ; KOGA (1) - db "KOGA@" - db TRAINERTYPE_MOVES - - ; party - - db 40, ARIADOS - db DOUBLE_TEAM - db SPIDER_WEB - db BATON_PASS - db GIGA_DRAIN - - db 41, VENOMOTH - db SUPERSONIC - db GUST - db PSYCHIC_M - db TOXIC - - db 43, FORRETRESS - db PROTECT - db SWIFT - db EXPLOSION - db SPIKES - - db 42, MUK - db MINIMIZE - db ACID_ARMOR - db SLUDGE_BOMB - db TOXIC - - db 44, CROBAT - db DOUBLE_TEAM - db QUICK_ATTACK - db WING_ATTACK - db TOXIC - - db $ff ; end - -; ================ -; ================================ - - -ChampionGroup: -; ================================ -; ================ - - ; CHAMPION (1) - db "LANCE@" - db TRAINERTYPE_MOVES - - ; party - - db 44, GYARADOS - db FLAIL - db RAIN_DANCE - db SURF - db HYPER_BEAM - - db 47, DRAGONITE - db THUNDER_WAVE - db TWISTER - db THUNDER - db HYPER_BEAM - - db 47, DRAGONITE - db THUNDER_WAVE - db TWISTER - db BLIZZARD - db HYPER_BEAM - - db 46, AERODACTYL - db WING_ATTACK - db ANCIENTPOWER - db ROCK_SLIDE - db HYPER_BEAM - - db 46, CHARIZARD - db FLAMETHROWER - db WING_ATTACK - db SLASH - db HYPER_BEAM - - db 50, DRAGONITE - db FIRE_BLAST - db SAFEGUARD - db OUTRAGE - db HYPER_BEAM - - db $ff ; end - -; ================ -; ================================ - - -BrockGroup: -; ================================ -; ================ - - ; BROCK (1) - db "BROCK@" - db TRAINERTYPE_MOVES - - ; party - - db 41, GRAVELER - db DEFENSE_CURL - db ROCK_SLIDE - db ROLLOUT - db EARTHQUAKE - - db 41, RHYHORN - db FURY_ATTACK - db SCARY_FACE - db EARTHQUAKE - db HORN_DRILL - - db 42, OMASTAR - db BITE - db SURF - db PROTECT - db SPIKE_CANNON - - db 44, ONIX - db BIND - db ROCK_SLIDE - db BIDE - db SANDSTORM - - db 42, KABUTOPS - db SLASH - db SURF - db ENDURE - db GIGA_DRAIN - - db $ff ; end - -; ================ -; ================================ - - -MistyGroup: -; ================================ -; ================ - - ; MISTY (1) - db "MISTY@" - db TRAINERTYPE_MOVES - - ; party - - db 42, GOLDUCK - db SURF - db DISABLE - db PSYCH_UP - db PSYCHIC_M - - db 42, QUAGSIRE - db SURF - db AMNESIA - db EARTHQUAKE - db RAIN_DANCE - - db 44, LAPRAS - db SURF - db PERISH_SONG - db BLIZZARD - db RAIN_DANCE - - db 47, STARMIE - db SURF - db CONFUSE_RAY - db RECOVER - db ICE_BEAM - - db $ff ; end - -; ================ -; ================================ - - -LtSurgeGroup: -; ================================ -; ================ - - ; LT_SURGE (1) - db "LT.SURGE@" - db TRAINERTYPE_MOVES - - ; party - - db 44, RAICHU - db THUNDER_WAVE - db QUICK_ATTACK - db THUNDERBOLT - db THUNDER - - db 40, ELECTRODE - db SCREECH - db DOUBLE_TEAM - db SWIFT - db EXPLOSION - - db 40, MAGNETON - db LOCK_ON - db DOUBLE_TEAM - db SWIFT - db ZAP_CANNON - - db 40, ELECTRODE - db SCREECH - db DOUBLE_TEAM - db SWIFT - db EXPLOSION - - db 46, ELECTABUZZ - db QUICK_ATTACK - db THUNDERPUNCH - db LIGHT_SCREEN - db THUNDER - - db $ff ; end - -; ================ -; ================================ - - -ScientistGroup: -; ================================ -; ================ - - ; SCIENTIST (1) - db "ROSS@" - db TRAINERTYPE_NORMAL - - ; party - db 22, KOFFING - db 22, KOFFING - - db $ff ; end - -; ================ - - ; SCIENTIST (2) - db "MITCH@" - db TRAINERTYPE_NORMAL - - ; party - db 24, DITTO - - db $ff ; end - -; ================ - - ; SCIENTIST (3) - db "JED@" - db TRAINERTYPE_NORMAL - - ; party - db 20, MAGNEMITE - db 20, MAGNEMITE - db 20, MAGNEMITE - - db $ff ; end - -; ================ - - ; SCIENTIST (4) - db "MARC@" - db TRAINERTYPE_NORMAL - - ; party - db 27, MAGNEMITE - db 27, MAGNEMITE - db 27, MAGNEMITE - - db $ff ; end - -; ================ - - ; SCIENTIST (5) - db "RICH@" - db TRAINERTYPE_MOVES - - ; party - - db 30, PORYGON - db CONVERSION - db CONVERSION2 - db RECOVER - db TRI_ATTACK - - db $ff ; end - -; ================ -; ================================ - - -ErikaGroup: -; ================================ -; ================ - - ; ERIKA (1) - db "ERIKA@" - db TRAINERTYPE_MOVES - - ; party - - db 42, TANGELA - db VINE_WHIP - db BIND - db GIGA_DRAIN - db SLEEP_POWDER - - db 41, JUMPLUFF - db MEGA_DRAIN - db LEECH_SEED - db COTTON_SPORE - db GIGA_DRAIN - - db 46, VICTREEBEL - db SUNNY_DAY - db SYNTHESIS - db ACID - db RAZOR_LEAF - - db 46, BELLOSSOM - db SUNNY_DAY - db SYNTHESIS - db PETAL_DANCE - db SOLARBEAM - - db $ff ; end - -; ================ -; ================================ - - -YoungsterGroup: -; ================================ -; ================ - - ; YOUNGSTER (1) - db "JOEY@" - db TRAINERTYPE_NORMAL - - ; party - db 4, RATTATA - - db $ff ; end - -; ================ - - ; YOUNGSTER (2) - db "MIKEY@" - db TRAINERTYPE_NORMAL - - ; party - db 2, PIDGEY - db 4, RATTATA - - db $ff ; end - -; ================ - - ; YOUNGSTER (3) - db "ALBERT@" - db TRAINERTYPE_NORMAL - - ; party - db 6, RATTATA - db 8, ZUBAT - - db $ff ; end - -; ================ - - ; YOUNGSTER (4) - db "GORDON@" - db TRAINERTYPE_NORMAL - - ; party - db 10, WOOPER - - db $ff ; end - -; ================ - - ; YOUNGSTER (5) - db "SAMUEL@" - db TRAINERTYPE_NORMAL - - ; party - db 7, RATTATA - db 10, SANDSHREW - db 8, SPEAROW - db 8, SPEAROW - - db $ff ; end - -; ================ - - ; YOUNGSTER (6) - db "IAN@" - db TRAINERTYPE_NORMAL - - ; party - db 10, MANKEY - db 12, DIGLETT - - db $ff ; end - -; ================ - - ; YOUNGSTER (7) - db "JOEY@" - db TRAINERTYPE_NORMAL - - ; party - db 15, RATTATA - - db $ff ; end - -; ================ - - ; YOUNGSTER (8) - db "JOEY@" - db TRAINERTYPE_MOVES - - ; party - - db 21, RATICATE - db TAIL_WHIP - db QUICK_ATTACK - db HYPER_FANG - db SCARY_FACE - - db $ff ; end - -; ================ - - ; YOUNGSTER (9) - db "WARREN@" - db TRAINERTYPE_NORMAL - - ; party - db 35, FEAROW - - db $ff ; end - -; ================ - - ; YOUNGSTER (10) - db "JIMMY@" - db TRAINERTYPE_NORMAL - - ; party - db 33, RATICATE - db 33, ARBOK - - db $ff ; end - -; ================ - - ; YOUNGSTER (11) - db "OWEN@" - db TRAINERTYPE_NORMAL - - ; party - db 35, GROWLITHE - - db $ff ; end - -; ================ - - ; YOUNGSTER (12) - db "JASON@" - db TRAINERTYPE_NORMAL - - ; party - db 33, SANDSLASH - db 33, CROBAT - - db $ff ; end - -; ================ - - ; YOUNGSTER (13) - db "JOEY@" - db TRAINERTYPE_MOVES - - ; party - - db 30, RATICATE - db TAIL_WHIP - db QUICK_ATTACK - db HYPER_FANG - db PURSUIT - - db $ff ; end - -; ================ - - ; YOUNGSTER (14) - db "JOEY@" - db TRAINERTYPE_MOVES - - ; party - - db 37, RATICATE - db HYPER_BEAM - db QUICK_ATTACK - db HYPER_FANG - db PURSUIT - - db $ff ; end - -; ================ -; ================================ - - -SchoolboyGroup: -; ================================ -; ================ - - ; SCHOOLBOY (1) - db "JACK@" - db TRAINERTYPE_NORMAL - - ; party - db 12, ODDISH - db 15, VOLTORB - - db $ff ; end - -; ================ - - ; SCHOOLBOY (2) - db "KIPP@" - db TRAINERTYPE_NORMAL - - ; party - db 27, VOLTORB - db 27, MAGNEMITE - db 31, VOLTORB - db 31, MAGNETON - - db $ff ; end - -; ================ - - ; SCHOOLBOY (3) - db "ALAN@" - db TRAINERTYPE_NORMAL - - ; party - db 16, TANGELA - - db $ff ; end - -; ================ - - ; SCHOOLBOY (4) - db "JOHNNY@" - db TRAINERTYPE_NORMAL - - ; party - db 29, BELLSPROUT - db 31, WEEPINBELL - db 33, VICTREEBEL - - db $ff ; end - -; ================ - - ; SCHOOLBOY (5) - db "DANNY@" - db TRAINERTYPE_NORMAL - - ; party - db 31, JYNX - db 31, ELECTABUZZ - db 31, MAGMAR - - db $ff ; end - -; ================ - - ; SCHOOLBOY (6) - db "TOMMY@" - db TRAINERTYPE_NORMAL - - ; party - db 32, XATU - db 34, ALAKAZAM - - db $ff ; end - -; ================ - - ; SCHOOLBOY (7) - db "DUDLEY@" - db TRAINERTYPE_NORMAL - - ; party - db 35, ODDISH - - db $ff ; end - -; ================ - - ; SCHOOLBOY (8) - db "JOE@" - db TRAINERTYPE_NORMAL - - ; party - db 33, TANGELA - db 33, VAPOREON - - db $ff ; end - -; ================ - - ; SCHOOLBOY (9) - db "BILLY@" - db TRAINERTYPE_NORMAL - - ; party - db 27, PARAS - db 27, PARAS - db 27, POLIWHIRL - db 35, DITTO - - db $ff ; end - -; ================ - - ; SCHOOLBOY (10) - db "CHAD@" - db TRAINERTYPE_NORMAL - - ; party - db 19, MR__MIME - - db $ff ; end - -; ================ - - ; SCHOOLBOY (11) - db "NATE@" - db TRAINERTYPE_NORMAL - - ; party - db 32, LEDIAN - db 32, EXEGGUTOR - - db $ff ; end - -; ================ - - ; SCHOOLBOY (12) - db "RICKY@" - db TRAINERTYPE_NORMAL - - ; party - db 32, AIPOM - db 32, DITTO - - db $ff ; end - -; ================ - - ; SCHOOLBOY (13) - db "JACK@" - db TRAINERTYPE_NORMAL - - ; party - db 14, ODDISH - db 17, VOLTORB - - db $ff ; end - -; ================ - - ; SCHOOLBOY (14) - db "JACK@" - db TRAINERTYPE_NORMAL - - ; party - db 28, GLOOM - db 31, ELECTRODE - - db $ff ; end - -; ================ - - ; SCHOOLBOY (15) - db "ALAN@" - db TRAINERTYPE_NORMAL - - ; party - db 17, TANGELA - db 17, YANMA - - db $ff ; end - -; ================ - - ; SCHOOLBOY (16) - db "ALAN@" - db TRAINERTYPE_NORMAL - - ; party - db 20, NATU - db 22, TANGELA - db 20, QUAGSIRE - db 25, YANMA - - db $ff ; end - -; ================ - - ; SCHOOLBOY (17) - db "CHAD@" - db TRAINERTYPE_NORMAL - - ; party - db 19, MR__MIME - db 19, MAGNEMITE - - db $ff ; end - -; ================ - - ; SCHOOLBOY (18) - db "CHAD@" - db TRAINERTYPE_NORMAL - - ; party - db 27, MR__MIME - db 31, MAGNETON - - db $ff ; end - -; ================ - - ; SCHOOLBOY (19) - db "JACK@" - db TRAINERTYPE_NORMAL - - ; party - db 30, GLOOM - db 33, GROWLITHE - db 33, ELECTRODE - - db $ff ; end - -; ================ - - ; SCHOOLBOY (20) - db "JACK@" - db TRAINERTYPE_MOVES - - ; party - - db 35, ELECTRODE - db SCREECH - db SONICBOOM - db ROLLOUT - db LIGHT_SCREEN - - db 35, GROWLITHE - db SUNNY_DAY - db LEER - db TAKE_DOWN - db FLAME_WHEEL - - db 37, VILEPLUME - db SOLARBEAM - db SLEEP_POWDER - db ACID - db MOONLIGHT - - db $ff ; end - -; ================ - - ; SCHOOLBOY (21) - db "ALAN@" - db TRAINERTYPE_NORMAL - - ; party - db 27, NATU - db 27, TANGELA - db 30, QUAGSIRE - db 30, YANMA - - db $ff ; end - -; ================ - - ; SCHOOLBOY (22) - db "ALAN@" - db TRAINERTYPE_MOVES - - ; party - - db 35, XATU - db PECK - db NIGHT_SHADE - db SWIFT - db FUTURE_SIGHT - - db 32, TANGELA - db POISONPOWDER - db VINE_WHIP - db BIND - db MEGA_DRAIN - - db 32, YANMA - db QUICK_ATTACK - db DOUBLE_TEAM - db SONICBOOM - db SUPERSONIC - - db 35, QUAGSIRE - db TAIL_WHIP - db SLAM - db AMNESIA - db EARTHQUAKE - - db $ff ; end - -; ================ - - ; SCHOOLBOY (23) - db "CHAD@" - db TRAINERTYPE_NORMAL - - ; party - db 30, MR__MIME - db 34, MAGNETON - - db $ff ; end - -; ================ - - ; SCHOOLBOY (24) - db "CHAD@" - db TRAINERTYPE_MOVES - - ; party - - db 34, MR__MIME - db PSYCHIC_M - db LIGHT_SCREEN - db REFLECT - db ENCORE - - db 38, MAGNETON - db ZAP_CANNON - db THUNDER_WAVE - db LOCK_ON - db SWIFT - - db $ff ; end - -; ================ -; ================================ - - -BirdKeeperGroup: -; ================================ -; ================ - - ; BIRD_KEEPER (1) - db "ROD@" - db TRAINERTYPE_NORMAL - - ; party - db 7, PIDGEY - db 7, PIDGEY - - db $ff ; end - -; ================ - - ; BIRD_KEEPER (2) - db "ABE@" - db TRAINERTYPE_NORMAL - - ; party - db 9, SPEAROW - - db $ff ; end - -; ================ - - ; BIRD_KEEPER (3) - db "BRYAN@" - db TRAINERTYPE_NORMAL - - ; party - db 12, PIDGEY - db 14, PIDGEOTTO - - db $ff ; end - -; ================ - - ; BIRD_KEEPER (4) - db "THEO@" - db TRAINERTYPE_NORMAL - - ; party - db 17, PIDGEY - db 15, PIDGEY - db 19, PIDGEY - db 15, PIDGEY - db 15, PIDGEY - - db $ff ; end - -; ================ - - ; BIRD_KEEPER (5) - db "TOBY@" - db TRAINERTYPE_NORMAL - - ; party - db 15, DODUO - db 16, DODUO - db 17, DODUO - - db $ff ; end - -; ================ - - ; BIRD_KEEPER (6) - db "DENIS@" - db TRAINERTYPE_NORMAL - - ; party - db 18, SPEAROW - db 20, FEAROW - db 18, SPEAROW - - db $ff ; end - -; ================ - - ; BIRD_KEEPER (7) - db "VANCE@" - db TRAINERTYPE_NORMAL - - ; party - db 25, PIDGEOTTO - db 25, PIDGEOTTO - - db $ff ; end - -; ================ - - ; BIRD_KEEPER (8) - db "HANK@" - db TRAINERTYPE_NORMAL - - ; party - db 12, PIDGEY - db 34, PIDGEOT - - db $ff ; end - -; ================ - - ; BIRD_KEEPER (9) - db "ROY@" - db TRAINERTYPE_NORMAL - - ; party - db 29, FEAROW - db 35, FEAROW - - db $ff ; end - -; ================ - - ; BIRD_KEEPER (10) - db "BORIS@" - db TRAINERTYPE_NORMAL - - ; party - db 30, DODUO - db 28, DODUO - db 32, DODRIO - - db $ff ; end - -; ================ - - ; BIRD_KEEPER (11) - db "BOB@" - db TRAINERTYPE_NORMAL - - ; party - db 34, NOCTOWL - - db $ff ; end - -; ================ - - ; BIRD_KEEPER (12) - db "JOSE@" - db TRAINERTYPE_NORMAL - - ; party - db 36, FARFETCH_D - - db $ff ; end - -; ================ - - ; BIRD_KEEPER (13) - db "PETER@" - db TRAINERTYPE_NORMAL - - ; party - db 6, PIDGEY - db 6, PIDGEY - db 8, SPEAROW - - db $ff ; end - -; ================ - - ; BIRD_KEEPER (14) - db "JOSE@" - db TRAINERTYPE_NORMAL - - ; party - db 34, FARFETCH_D - - db $ff ; end - -; ================ - - ; BIRD_KEEPER (15) - db "PERRY@" - db TRAINERTYPE_NORMAL - - ; party - db 34, FARFETCH_D - - db $ff ; end - -; ================ - - ; BIRD_KEEPER (16) - db "BRET@" - db TRAINERTYPE_NORMAL - - ; party - db 32, PIDGEOTTO - db 32, FEAROW - - db $ff ; end - -; ================ - - ; BIRD_KEEPER (17) - db "JOSE@" - db TRAINERTYPE_MOVES - - ; party - - db 40, FARFETCH_D - db FURY_ATTACK - db DETECT - db FLY - db SLASH - - db $ff ; end - -; ================ - - ; BIRD_KEEPER (18) - db "VANCE@" - db TRAINERTYPE_NORMAL - - ; party - db 32, PIDGEOTTO - db 32, PIDGEOTTO - - db $ff ; end - -; ================ - - ; BIRD_KEEPER (19) - db "VANCE@" - db TRAINERTYPE_MOVES - - ; party - - db 38, PIDGEOT - db TOXIC - db QUICK_ATTACK - db WHIRLWIND - db FLY - - db 38, PIDGEOT - db SWIFT - db DETECT - db STEEL_WING - db FLY - - db $ff ; end - -; ================ -; ================================ - - -LassGroup: -; ================================ -; ================ - - ; LASS (1) - db "CARRIE@" - db TRAINERTYPE_MOVES - - ; party - - db 18, SNUBBULL - db SCARY_FACE - db CHARM - db BITE - db LICK - - db $ff ; end - -; ================ - - ; LASS (2) - db "BRIDGET@" - db TRAINERTYPE_NORMAL - - ; party - db 15, JIGGLYPUFF - db 15, JIGGLYPUFF - db 15, JIGGLYPUFF - - db $ff ; end - -; ================ - - ; LASS (3) - db "ALICE@" - db TRAINERTYPE_NORMAL - - ; party - db 30, GLOOM - db 34, ARBOK - db 30, GLOOM - - db $ff ; end - -; ================ - - ; LASS (4) - db "KRISE@" - db TRAINERTYPE_NORMAL - - ; party - db 12, ODDISH - db 15, CUBONE - - db $ff ; end - -; ================ - - ; LASS (5) - db "CONNIE@" - db TRAINERTYPE_NORMAL - - ; party - db 21, MARILL - - db $ff ; end - -; ================ - - ; LASS (6) - db "LINDA@" - db TRAINERTYPE_NORMAL - - ; party - db 30, BULBASAUR - db 32, IVYSAUR - db 34, VENUSAUR - - db $ff ; end - -; ================ - - ; LASS (7) - db "LAURA@" - db TRAINERTYPE_NORMAL - - ; party - db 28, GLOOM - db 31, PIDGEOTTO - db 31, BELLOSSOM - - db $ff ; end - -; ================ - - ; LASS (8) - db "SHANNON@" - db TRAINERTYPE_NORMAL - - ; party - db 29, PARAS - db 29, PARAS - db 32, PARASECT - - db $ff ; end - -; ================ - - ; LASS (9) - db "MICHELLE@" - db TRAINERTYPE_NORMAL - - ; party - db 32, SKIPLOOM - db 33, HOPPIP - db 34, JUMPLUFF - - db $ff ; end - -; ================ - - ; LASS (10) - db "DANA@" - db TRAINERTYPE_MOVES - - ; party - - db 18, FLAAFFY - db TACKLE - db GROWL - db THUNDERSHOCK - db THUNDER_WAVE - - db 18, PSYDUCK - db SCRATCH - db TAIL_WHIP - db DISABLE - db CONFUSION - - db $ff ; end - -; ================ - - ; LASS (11) - db "ELLEN@" - db TRAINERTYPE_NORMAL - - ; party - db 30, WIGGLYTUFF - db 34, GRANBULL - - db $ff ; end - -; ================ - - ; LASS (12) - db "CONNIE@" - db TRAINERTYPE_NORMAL - - ; party - db 21, MARILL - - db $ff ; end - -; ================ - - ; LASS (13) - db "CONNIE@" - db TRAINERTYPE_NORMAL - - ; party - db 21, MARILL - - db $ff ; end - -; ================ - - ; LASS (14) - db "DANA@" - db TRAINERTYPE_MOVES - - ; party - - db 21, FLAAFFY - db TACKLE - db GROWL - db THUNDERSHOCK - db THUNDER_WAVE - - db 21, PSYDUCK - db SCRATCH - db TAIL_WHIP - db DISABLE - db CONFUSION - - db $ff ; end - -; ================ - - ; LASS (15) - db "DANA@" - db TRAINERTYPE_MOVES - - ; party - - db 29, PSYDUCK - db SCRATCH - db DISABLE - db CONFUSION - db SCREECH - - db 29, AMPHAROS - db TACKLE - db THUNDERSHOCK - db THUNDER_WAVE - db COTTON_SPORE - - db $ff ; end - -; ================ - - ; LASS (16) - db "DANA@" - db TRAINERTYPE_MOVES - - ; party - - db 32, PSYDUCK - db SCRATCH - db DISABLE - db CONFUSION - db SCREECH - - db 32, AMPHAROS - db TACKLE - db THUNDERPUNCH - db THUNDER_WAVE - db COTTON_SPORE - - db $ff ; end - -; ================ - - ; LASS (17) - db "DANA@" - db TRAINERTYPE_MOVES - - ; party - - db 36, AMPHAROS - db SWIFT - db THUNDERPUNCH - db THUNDER_WAVE - db COTTON_SPORE - - db 36, GOLDUCK - db DISABLE - db SURF - db PSYCHIC_M - db SCREECH - - db $ff ; end - -; ================ -; ================================ - - -JanineGroup: -; ================================ -; ================ - - ; JANINE (1) - db "JANINE@" - db TRAINERTYPE_MOVES - - ; party - - db 36, CROBAT - db SCREECH - db SUPERSONIC - db CONFUSE_RAY - db WING_ATTACK - - db 36, WEEZING - db SMOG - db SLUDGE_BOMB - db TOXIC - db EXPLOSION - - db 36, WEEZING - db SMOG - db SLUDGE_BOMB - db TOXIC - db EXPLOSION - - db 33, ARIADOS - db SCARY_FACE - db GIGA_DRAIN - db STRING_SHOT - db NIGHT_SHADE - - db 39, VENOMOTH - db FORESIGHT - db DOUBLE_TEAM - db GUST - db PSYCHIC_M - - db $ff ; end - -; ================ -; ================================ - - -CooltrainerMGroup: -; ================================ -; ================ - - ; COOLTRAINERM (1) - db "NICK@" - db TRAINERTYPE_MOVES - - ; party - - db 26, CHARMANDER - db EMBER - db SMOKESCREEN - db RAGE - db SCARY_FACE - - db 26, SQUIRTLE - db WITHDRAW - db WATER_GUN - db BITE - db CURSE - - db 26, BULBASAUR - db LEECH_SEED - db POISONPOWDER - db SLEEP_POWDER - db RAZOR_LEAF - - db $ff ; end - -; ================ - - ; COOLTRAINERM (2) - db "AARON@" - db TRAINERTYPE_NORMAL - - ; party - db 24, IVYSAUR - db 24, CHARMELEON - db 24, WARTORTLE - - db $ff ; end - -; ================ - - ; COOLTRAINERM (3) - db "PAUL@" - db TRAINERTYPE_NORMAL - - ; party - db 34, DRATINI - db 34, DRATINI - db 34, DRATINI - - db $ff ; end - -; ================ - - ; COOLTRAINERM (4) - db "CODY@" - db TRAINERTYPE_NORMAL - - ; party - db 34, HORSEA - db 36, SEADRA - - db $ff ; end - -; ================ - - ; COOLTRAINERM (5) - db "MIKE@" - db TRAINERTYPE_NORMAL - - ; party - db 37, DRAGONAIR - - db $ff ; end - -; ================ - - ; COOLTRAINERM (6) - db "GAVEN@" - db TRAINERTYPE_MOVES - - ; party - - db 35, VICTREEBEL - db WRAP - db TOXIC - db ACID - db RAZOR_LEAF - - db 35, KINGLER - db BUBBLEBEAM - db STOMP - db GUILLOTINE - db PROTECT - - db 35, FLAREON - db SAND_ATTACK - db QUICK_ATTACK - db BITE - db FIRE_SPIN - - db $ff ; end - -; ================ - - ; COOLTRAINERM (7) - db "GAVEN@" - db TRAINERTYPE_ITEM_MOVES - - ; party - - db 39, VICTREEBEL, NO_ITEM - db GIGA_DRAIN - db TOXIC - db SLUDGE_BOMB - db RAZOR_LEAF - - db 39, KINGLER, KINGS_ROCK - db SURF - db STOMP - db GUILLOTINE - db BLIZZARD - - db 39, FLAREON, NO_ITEM - db FLAMETHROWER - db QUICK_ATTACK - db BITE - db FIRE_SPIN - - db $ff ; end - -; ================ - - ; COOLTRAINERM (8) - db "RYAN@" - db TRAINERTYPE_MOVES - - ; party - - db 25, PIDGEOT - db SAND_ATTACK - db QUICK_ATTACK - db WHIRLWIND - db WING_ATTACK - - db 27, ELECTABUZZ - db THUNDERPUNCH - db LIGHT_SCREEN - db SWIFT - db SCREECH - - db $ff ; end - -; ================ - - ; COOLTRAINERM (9) - db "JAKE@" - db TRAINERTYPE_MOVES - - ; party - - db 33, PARASECT - db LEECH_LIFE - db SPORE - db SLASH - db SWORDS_DANCE - - db 35, GOLDUCK - db CONFUSION - db SCREECH - db PSYCH_UP - db FURY_SWIPES - - db $ff ; end - -; ================ - - ; COOLTRAINERM (10) - db "GAVEN@" - db TRAINERTYPE_MOVES - - ; party - - db 32, VICTREEBEL - db WRAP - db TOXIC - db ACID - db RAZOR_LEAF - - db 32, KINGLER - db BUBBLEBEAM - db STOMP - db GUILLOTINE - db PROTECT - - db 32, FLAREON - db SAND_ATTACK - db QUICK_ATTACK - db BITE - db FIRE_SPIN - - db $ff ; end - -; ================ - - ; COOLTRAINERM (11) - db "BLAKE@" - db TRAINERTYPE_MOVES - - ; party - - db 33, MAGNETON - db THUNDERBOLT - db SUPERSONIC - db SWIFT - db SCREECH - - db 31, QUAGSIRE - db WATER_GUN - db SLAM - db AMNESIA - db EARTHQUAKE - - db 31, EXEGGCUTE - db LEECH_SEED - db CONFUSION - db SLEEP_POWDER - db SOLARBEAM - - db $ff ; end - -; ================ - - ; COOLTRAINERM (12) - db "BRIAN@" - db TRAINERTYPE_MOVES - - ; party - - db 35, SANDSLASH - db SAND_ATTACK - db POISON_STING - db SLASH - db SWIFT - - db $ff ; end - -; ================ - - ; COOLTRAINERM (13) - db "ERICK@" - db TRAINERTYPE_NORMAL - - ; party - db 10, BULBASAUR - db 10, CHARMANDER - db 10, SQUIRTLE - - db $ff ; end - -; ================ - - ; COOLTRAINERM (14) - db "ANDY@" - db TRAINERTYPE_NORMAL - - ; party - db 10, BULBASAUR - db 10, CHARMANDER - db 10, SQUIRTLE - - db $ff ; end - -; ================ - - ; COOLTRAINERM (15) - db "TYLER@" - db TRAINERTYPE_NORMAL - - ; party - db 10, BULBASAUR - db 10, CHARMANDER - db 10, SQUIRTLE - - db $ff ; end - -; ================ - - ; COOLTRAINERM (16) - db "SEAN@" - db TRAINERTYPE_NORMAL - - ; party - db 35, FLAREON - db 35, TANGELA - db 35, TAUROS - - db $ff ; end - -; ================ - - ; COOLTRAINERM (17) - db "KEVIN@" - db TRAINERTYPE_NORMAL - - ; party - db 38, RHYHORN - db 35, CHARMELEON - db 35, WARTORTLE - - db $ff ; end - -; ================ - - ; COOLTRAINERM (18) - db "STEVE@" - db TRAINERTYPE_NORMAL - - ; party - db 14, BULBASAUR - db 14, CHARMANDER - db 14, SQUIRTLE - - db $ff ; end - -; ================ - - ; COOLTRAINERM (19) - db "ALLEN@" - db TRAINERTYPE_MOVES - - ; party - - db 27, CHARMELEON - db EMBER - db SMOKESCREEN - db RAGE - db SCARY_FACE - - db $ff ; end - -; ================ - - ; COOLTRAINERM (20) - db "DARIN@" - db TRAINERTYPE_MOVES - - ; party - - db 37, DRAGONAIR - db WRAP - db SURF - db DRAGON_RAGE - db SLAM - - db $ff ; end - -; ================ -; ================================ - - -CooltrainerFGroup: -; ================================ -; ================ - - ; COOLTRAINERF (1) - db "GWEN@" - db TRAINERTYPE_NORMAL - - ; party - db 26, EEVEE - db 22, FLAREON - db 22, VAPOREON - db 22, JOLTEON - - db $ff ; end - -; ================ - - ; COOLTRAINERF (2) - db "LOIS@" - db TRAINERTYPE_MOVES - - ; party - - db 25, SKIPLOOM - db SYNTHESIS - db POISONPOWDER - db MEGA_DRAIN - db LEECH_SEED - - db 25, NINETALES - db EMBER - db QUICK_ATTACK - db CONFUSE_RAY - db SAFEGUARD - - db $ff ; end - -; ================ - - ; COOLTRAINERF (3) - db "FRAN@" - db TRAINERTYPE_NORMAL - - ; party - db 37, SEADRA - - db $ff ; end - -; ================ - - ; COOLTRAINERF (4) - db "LOLA@" - db TRAINERTYPE_NORMAL - - ; party - db 34, DRATINI - db 36, DRAGONAIR - - db $ff ; end - -; ================ - - ; COOLTRAINERF (5) - db "KATE@" - db TRAINERTYPE_NORMAL - - ; party - db 26, SHELLDER - db 28, CLOYSTER - - db $ff ; end - -; ================ - - ; COOLTRAINERF (6) - db "IRENE@" - db TRAINERTYPE_NORMAL - - ; party - db 22, GOLDEEN - db 24, SEAKING - - db $ff ; end - -; ================ - - ; COOLTRAINERF (7) - db "KELLY@" - db TRAINERTYPE_NORMAL - - ; party - db 27, MARILL - db 24, WARTORTLE - db 24, WARTORTLE - - db $ff ; end - -; ================ - - ; COOLTRAINERF (8) - db "JOYCE@" - db TRAINERTYPE_MOVES - - ; party - - db 36, PIKACHU - db QUICK_ATTACK - db DOUBLE_TEAM - db THUNDERBOLT - db THUNDER - - db 32, BLASTOISE - db BITE - db CURSE - db SURF - db RAIN_DANCE - - db $ff ; end - -; ================ - - ; COOLTRAINERF (9) - db "BETH@" - db TRAINERTYPE_MOVES - - ; party - - db 36, RAPIDASH - db STOMP - db FIRE_SPIN - db FURY_ATTACK - db AGILITY - - db $ff ; end - -; ================ - - ; COOLTRAINERF (10) - db "REENA@" - db TRAINERTYPE_NORMAL - - ; party - db 31, STARMIE - db 33, NIDOQUEEN - db 31, STARMIE - - db $ff ; end - -; ================ - - ; COOLTRAINERF (11) - db "MEGAN@" - db TRAINERTYPE_MOVES - - ; party - - db 32, BULBASAUR - db GROWL - db LEECH_SEED - db POISONPOWDER - db RAZOR_LEAF - - db 32, IVYSAUR - db GROWL - db LEECH_SEED - db POISONPOWDER - db RAZOR_LEAF - - db 32, VENUSAUR - db BODY_SLAM - db SLEEP_POWDER - db RAZOR_LEAF - db SWEET_SCENT - - db $ff ; end - -; ================ - - ; COOLTRAINERF (12) - db "BETH@" - db TRAINERTYPE_MOVES - - ; party - - db 39, RAPIDASH - db STOMP - db FIRE_SPIN - db FURY_ATTACK - db AGILITY - - db $ff ; end - -; ================ - - ; COOLTRAINERF (13) - db "CAROL@" - db TRAINERTYPE_NORMAL - - ; party - db 35, ELECTRODE - db 35, STARMIE - db 35, NINETALES - - db $ff ; end - -; ================ - - ; COOLTRAINERF (14) - db "QUINN@" - db TRAINERTYPE_NORMAL - - ; party - db 38, IVYSAUR - db 38, STARMIE - - db $ff ; end - -; ================ - - ; COOLTRAINERF (15) - db "EMMA@" - db TRAINERTYPE_NORMAL - - ; party - db 28, POLIWHIRL - - db $ff ; end - -; ================ - - ; COOLTRAINERF (16) - db "CYBIL@" - db TRAINERTYPE_MOVES - - ; party - - db 25, BUTTERFREE - db CONFUSION - db SLEEP_POWDER - db WHIRLWIND - db GUST - - db 25, BELLOSSOM - db ABSORB - db STUN_SPORE - db ACID - db SOLARBEAM - - db $ff ; end - -; ================ - - ; COOLTRAINERF (17) - db "JENN@" - db TRAINERTYPE_NORMAL - - ; party - db 24, STARYU - db 26, STARMIE - - db $ff ; end - -; ================ - - ; COOLTRAINERF (18) - db "BETH@" - db TRAINERTYPE_ITEM_MOVES - - ; party - - db 43, RAPIDASH, FOCUS_BAND - db STOMP - db FIRE_SPIN - db FURY_ATTACK - db FIRE_BLAST - - db $ff ; end - -; ================ - - ; COOLTRAINERF (19) - db "REENA@" - db TRAINERTYPE_NORMAL - - ; party - db 34, STARMIE - db 36, NIDOQUEEN - db 34, STARMIE - - db $ff ; end - -; ================ - - ; COOLTRAINERF (20) - db "REENA@" - db TRAINERTYPE_ITEM_MOVES - - ; party - - db 38, STARMIE, NO_ITEM - db DOUBLE_TEAM - db PSYCHIC_M - db WATERFALL - db CONFUSE_RAY - - db 40, NIDOQUEEN, PINK_BOW - db EARTHQUAKE - db DOUBLE_KICK - db TOXIC - db BODY_SLAM - - db 38, STARMIE, NO_ITEM - db BLIZZARD - db PSYCHIC_M - db WATERFALL - db RECOVER - - db $ff ; end - -; ================ - - ; COOLTRAINERF (21) - db "CARA@" - db TRAINERTYPE_MOVES - - ; party - - db 33, HORSEA - db SMOKESCREEN - db LEER - db WHIRLPOOL - db TWISTER - - db 33, HORSEA - db SMOKESCREEN - db LEER - db WHIRLPOOL - db TWISTER - - db 35, SEADRA - db SWIFT - db LEER - db WATERFALL - db TWISTER - - db $ff ; end - -; ================ -; ================================ - - -BeautyGroup: -; ================================ -; ================ - - ; BEAUTY (1) - db "VICTORIA@" - db TRAINERTYPE_NORMAL - - ; party - db 9, SENTRET - db 13, SENTRET - db 17, SENTRET - - db $ff ; end - -; ================ - - ; BEAUTY (2) - db "SAMANTHA@" - db TRAINERTYPE_MOVES - - ; party - - db 16, MEOWTH - db SCRATCH - db GROWL - db BITE - db PAY_DAY - - db 16, MEOWTH - db SCRATCH - db GROWL - db BITE - db SLASH - - db $ff ; end - -; ================ - - ; BEAUTY (3) - db "JULIE@" - db TRAINERTYPE_NORMAL - - ; party - db 15, SENTRET - - db $ff ; end - -; ================ - - ; BEAUTY (4) - db "JACLYN@" - db TRAINERTYPE_NORMAL - - ; party - db 15, SENTRET - - db $ff ; end - -; ================ - - ; BEAUTY (5) - db "BRENDA@" - db TRAINERTYPE_NORMAL - - ; party - db 16, FURRET - - db $ff ; end - -; ================ - - ; BEAUTY (6) - db "CASSIE@" - db TRAINERTYPE_NORMAL - - ; party - db 28, VILEPLUME - db 34, BUTTERFREE - - db $ff ; end - -; ================ - - ; BEAUTY (7) - db "CAROLINE@" - db TRAINERTYPE_NORMAL - - ; party - db 30, MARILL - db 32, SEEL - db 30, MARILL - - db $ff ; end - -; ================ - - ; BEAUTY (8) - db "CARLENE@" - db TRAINERTYPE_NORMAL - - ; party - db 15, SENTRET - - db $ff ; end - -; ================ - - ; BEAUTY (9) - db "JESSICA@" - db TRAINERTYPE_NORMAL - - ; party - db 15, SENTRET - - db $ff ; end - -; ================ - - ; BEAUTY (10) - db "RACHAEL@" - db TRAINERTYPE_NORMAL - - ; party - db 15, SENTRET - - db $ff ; end - -; ================ - - ; BEAUTY (11) - db "ANGELICA@" - db TRAINERTYPE_NORMAL - - ; party - db 15, SENTRET - - db $ff ; end - -; ================ - - ; BEAUTY (12) - db "KENDRA@" - db TRAINERTYPE_NORMAL - - ; party - db 15, SENTRET - - db $ff ; end - -; ================ - - ; BEAUTY (13) - db "VERONICA@" - db TRAINERTYPE_NORMAL - - ; party - db 15, SENTRET - - db $ff ; end - -; ================ - - ; BEAUTY (14) - db "JULIA@" - db TRAINERTYPE_NORMAL - - ; party - db 32, PARAS - db 32, EXEGGCUTE - db 35, PARASECT - - db $ff ; end - -; ================ - - ; BEAUTY (15) - db "THERESA@" - db TRAINERTYPE_NORMAL - - ; party - db 15, SENTRET - - db $ff ; end - -; ================ - - ; BEAUTY (16) - db "VALERIE@" - db TRAINERTYPE_MOVES - - ; party - - db 17, HOPPIP - db SYNTHESIS - db TAIL_WHIP - db TACKLE - db POISONPOWDER - - db 17, SKIPLOOM - db SYNTHESIS - db TAIL_WHIP - db TACKLE - db STUN_SPORE - - db $ff ; end - -; ================ - - ; BEAUTY (17) - db "OLIVIA@" - db TRAINERTYPE_NORMAL - - ; party - db 19, CORSOLA - - db $ff ; end - -; ================ -; ================================ - - -PokemaniacGroup: -; ================================ -; ================ - - ; POKEMANIAC (1) - db "LARRY@" - db TRAINERTYPE_NORMAL - - ; party - db 10, SLOWPOKE - - db $ff ; end - -; ================ - - ; POKEMANIAC (2) - db "ANDREW@" - db TRAINERTYPE_NORMAL - - ; party - db 24, MAROWAK - db 24, MAROWAK - - db $ff ; end - -; ================ - - ; POKEMANIAC (3) - db "CALVIN@" - db TRAINERTYPE_NORMAL - - ; party - db 26, KANGASKHAN - - db $ff ; end - -; ================ - - ; POKEMANIAC (4) - db "SHANE@" - db TRAINERTYPE_NORMAL - - ; party - db 16, NIDORINA - db 16, NIDORINO - - db $ff ; end - -; ================ - - ; POKEMANIAC (5) - db "BEN@" - db TRAINERTYPE_NORMAL - - ; party - db 19, SLOWBRO - - db $ff ; end - -; ================ - - ; POKEMANIAC (6) - db "BRENT@" - db TRAINERTYPE_NORMAL - - ; party - db 19, LICKITUNG - - db $ff ; end - -; ================ - - ; POKEMANIAC (7) - db "RON@" - db TRAINERTYPE_NORMAL - - ; party - db 19, NIDOKING - - db $ff ; end - -; ================ - - ; POKEMANIAC (8) - db "ETHAN@" - db TRAINERTYPE_NORMAL - - ; party - db 31, RHYHORN - db 31, RHYDON - - db $ff ; end - -; ================ - - ; POKEMANIAC (9) - db "BRENT@" - db TRAINERTYPE_NORMAL - - ; party - db 25, KANGASKHAN - - db $ff ; end - -; ================ - - ; POKEMANIAC (10) - db "BRENT@" - db TRAINERTYPE_MOVES - - ; party - - db 36, PORYGON - db RECOVER - db PSYCHIC_M - db CONVERSION2 - db TRI_ATTACK - - db $ff ; end - -; ================ - - ; POKEMANIAC (11) - db "ISSAC@" - db TRAINERTYPE_MOVES - - ; party - - db 12, LICKITUNG - db LICK - db SUPERSONIC - db CUT - db 0 - - db $ff ; end - -; ================ - - ; POKEMANIAC (12) - db "DONALD@" - db TRAINERTYPE_NORMAL - - ; party - db 10, SLOWPOKE - db 10, SLOWPOKE - - db $ff ; end - -; ================ - - ; POKEMANIAC (13) - db "ZACH@" - db TRAINERTYPE_NORMAL - - ; party - db 27, RHYHORN - - db $ff ; end - -; ================ - - ; POKEMANIAC (14) - db "BRENT@" - db TRAINERTYPE_MOVES - - ; party - - db 41, CHANSEY - db ROLLOUT - db ATTRACT - db EGG_BOMB - db SOFTBOILED - - db $ff ; end - -; ================ - - ; POKEMANIAC (15) - db "MILLER@" - db TRAINERTYPE_NORMAL - - ; party - db 17, NIDOKING - db 17, NIDOQUEEN - - db $ff ; end - -; ================ -; ================================ - - -GruntMGroup: -; ================================ -; ================ - - ; GRUNTM (1) - db "GRUNT@" - db TRAINERTYPE_NORMAL - - ; party - db 14, KOFFING - - db $ff ; end - -; ================ - - ; GRUNTM (2) - db "GRUNT@" - db TRAINERTYPE_NORMAL - - ; party - db 7, RATTATA - db 9, ZUBAT - db 9, ZUBAT - - db $ff ; end - -; ================ - - ; GRUNTM (3) - db "GRUNT@" - db TRAINERTYPE_NORMAL - - ; party - db 24, RATICATE - db 24, RATICATE - - db $ff ; end - -; ================ - - ; GRUNTM (4) - db "GRUNT@" - db TRAINERTYPE_NORMAL - - ; party - db 23, GRIMER - db 23, GRIMER - db 25, MUK - - db $ff ; end - -; ================ - - ; GRUNTM (5) - db "GRUNT@" - db TRAINERTYPE_NORMAL - - ; party - db 21, RATTATA - db 21, RATTATA - db 23, RATTATA - db 23, RATTATA - db 23, RATTATA - - db $ff ; end - -; ================ - - ; GRUNTM (6) - db "GRUNT@" - db TRAINERTYPE_NORMAL - - ; party - db 26, ZUBAT - db 26, ZUBAT - - db $ff ; end - -; ================ - - ; GRUNTM (7) - db "GRUNT@" - db TRAINERTYPE_NORMAL - - ; party - db 23, KOFFING - db 23, GRIMER - db 23, ZUBAT - db 23, RATTATA - - db $ff ; end - -; ================ - - ; GRUNTM (8) - db "GRUNT@" - db TRAINERTYPE_NORMAL - - ; party - db 26, WEEZING - - db $ff ; end - -; ================ - - ; GRUNTM (9) - db "GRUNT@" - db TRAINERTYPE_NORMAL - - ; party - db 24, RATICATE - db 26, KOFFING - - db $ff ; end - -; ================ - - ; GRUNTM (10) - db "GRUNT@" - db TRAINERTYPE_NORMAL - - ; party - db 22, ZUBAT - db 24, GOLBAT - db 22, GRIMER - - db $ff ; end - -; ================ - - ; GRUNTM (11) - db "GRUNT@" - db TRAINERTYPE_NORMAL - - ; party - db 23, MUK - db 23, KOFFING - db 25, RATTATA - - db $ff ; end - -; ================ - - ; GRUNTM (12) - db "EXECUTIVE@" - db TRAINERTYPE_NORMAL - - ; party - db 33, HOUNDOUR - - db $ff ; end - -; ================ - - ; GRUNTM (13) - db "GRUNT@" - db TRAINERTYPE_NORMAL - - ; party - db 27, RATTATA - - db $ff ; end - -; ================ - - ; GRUNTM (14) - db "GRUNT@" - db TRAINERTYPE_NORMAL - - ; party - db 24, RATICATE - db 24, GOLBAT - - db $ff ; end - -; ================ - - ; GRUNTM (15) - db "GRUNT@" - db TRAINERTYPE_NORMAL - - ; party - db 26, GRIMER - db 23, WEEZING - - db $ff ; end - -; ================ - - ; GRUNTM (16) - db "GRUNT@" - db TRAINERTYPE_NORMAL - - ; party - db 16, RATTATA - db 16, RATTATA - db 16, RATTATA - db 16, RATTATA - - db $ff ; end - -; ================ - - ; GRUNTM (17) - db "GRUNT@" - db TRAINERTYPE_NORMAL - - ; party - db 18, GOLBAT - - db $ff ; end - -; ================ - - ; GRUNTM (18) - db "GRUNT@" - db TRAINERTYPE_NORMAL - - ; party - db 17, RATTATA - db 17, ZUBAT - db 17, RATTATA - - db $ff ; end - -; ================ - - ; GRUNTM (19) - db "GRUNT@" - db TRAINERTYPE_NORMAL - - ; party - db 18, VENONAT - db 18, VENONAT - - db $ff ; end - -; ================ - - ; GRUNTM (20) - db "GRUNT@" - db TRAINERTYPE_NORMAL - - ; party - db 17, DROWZEE - db 19, ZUBAT - - db $ff ; end - -; ================ - - ; GRUNTM (21) - db "GRUNT@" - db TRAINERTYPE_NORMAL - - ; party - db 16, ZUBAT - db 17, GRIMER - db 18, RATTATA - - db $ff ; end - -; ================ - - ; GRUNTM (22) - db "EXECUTIVE@" - db TRAINERTYPE_NORMAL - - ; party - db 36, GOLBAT - - db $ff ; end - -; ================ - - ; GRUNTM (23) - db "EXECUTIVE@" - db TRAINERTYPE_NORMAL - - ; party - db 30, KOFFING - - db $ff ; end - -; ================ - - ; GRUNTM (24) - db "GRUNT@" - db TRAINERTYPE_NORMAL - - ; party - db 25, KOFFING - db 25, KOFFING - - db $ff ; end - -; ================ - - ; GRUNTM (25) - db "GRUNT@" - db TRAINERTYPE_NORMAL - - ; party - db 24, KOFFING - db 24, MUK - - db $ff ; end - -; ================ - - ; GRUNTM (26) - db "GRUNT@" - db TRAINERTYPE_NORMAL - - ; party - db 15, RATTATA - db 15, RATTATA - - db $ff ; end - -; ================ - - ; GRUNTM (27) - db "EXECUTIVE@" - db TRAINERTYPE_NORMAL - - ; party - db 22, ZUBAT - - db $ff ; end - -; ================ - - ; GRUNTM (28) - db "GRUNT@" - db TRAINERTYPE_NORMAL - - ; party - db 19, RATICATE - - db $ff ; end - -; ================ - - ; GRUNTM (29) - db "GRUNT@" - db TRAINERTYPE_NORMAL - - ; party - db 9, RATTATA - db 9, RATTATA - - db $ff ; end - -; ================ - - ; GRUNTM (30) - db "GRUNT@" - db TRAINERTYPE_NORMAL - - ; party - db 25, GOLBAT - db 25, GOLBAT - db 30, ARBOK - - db $ff ; end - -; ================ - - ; GRUNTM (31) - db "GRUNT@" - db TRAINERTYPE_NORMAL - - ; party - db 30, GOLBAT - - db $ff ; end - -; ================ -; ================================ - - -GentlemanGroup: -; ================================ -; ================ - - ; GENTLEMAN (1) - db "PRESTON@" - db TRAINERTYPE_NORMAL - - ; party - db 18, GROWLITHE - db 18, GROWLITHE - - db $ff ; end - -; ================ - - ; GENTLEMAN (2) - db "EDWARD@" - db TRAINERTYPE_NORMAL - - ; party - db 33, PERSIAN - - db $ff ; end - -; ================ - - ; GENTLEMAN (3) - db "GREGORY@" - db TRAINERTYPE_NORMAL - - ; party - db 37, PIKACHU - db 33, FLAAFFY - - db $ff ; end - -; ================ - - ; GENTLEMAN (4) - db "VIRGIL@" - db TRAINERTYPE_NORMAL - - ; party - db 20, PONYTA - - db $ff ; end - -; ================ - - ; GENTLEMAN (5) - db "ALFRED@" - db TRAINERTYPE_NORMAL - - ; party - db 20, NOCTOWL - - db $ff ; end - -; ================ -; ================================ - - -SkierGroup: -; ================================ -; ================ - - ; SKIER (1) - db "ROXANNE@" - db TRAINERTYPE_NORMAL - - ; party - db 28, JYNX - - db $ff ; end - -; ================ - - ; SKIER (2) - db "CLARISSA@" - db TRAINERTYPE_NORMAL - - ; party - db 28, DEWGONG - - db $ff ; end - -; ================ -; ================================ - - -TeacherGroup: -; ================================ -; ================ - - ; TEACHER (1) - db "COLETTE@" - db TRAINERTYPE_NORMAL - - ; party - db 36, CLEFAIRY - - db $ff ; end - -; ================ - - ; TEACHER (2) - db "HILLARY@" - db TRAINERTYPE_NORMAL - - ; party - db 32, AIPOM - db 36, CUBONE - - db $ff ; end - -; ================ - - ; TEACHER (3) - db "SHIRLEY@" - db TRAINERTYPE_NORMAL - - ; party - db 35, JIGGLYPUFF - - db $ff ; end - -; ================ -; ================================ - - -SabrinaGroup: -; ================================ -; ================ - - ; SABRINA (1) - db "SABRINA@" - db TRAINERTYPE_MOVES - - ; party - - db 46, ESPEON - db SAND_ATTACK - db QUICK_ATTACK - db SWIFT - db PSYCHIC_M - - db 46, MR__MIME - db BARRIER - db REFLECT - db BATON_PASS - db PSYCHIC_M - - db 48, ALAKAZAM - db RECOVER - db FUTURE_SIGHT - db PSYCHIC_M - db REFLECT - - db $ff ; end - -; ================ -; ================================ - - -BugCatcherGroup: -; ================================ -; ================ - - ; BUG_CATCHER (1) - db "DON@" - db TRAINERTYPE_NORMAL - - ; party - db 3, CATERPIE - db 3, CATERPIE - - db $ff ; end - -; ================ - - ; BUG_CATCHER (2) - db "ROB@" - db TRAINERTYPE_NORMAL - - ; party - db 32, BEEDRILL - db 32, BUTTERFREE - - db $ff ; end - -; ================ - - ; BUG_CATCHER (3) - db "ED@" - db TRAINERTYPE_NORMAL - - ; party - db 30, BEEDRILL - db 30, BEEDRILL - db 30, BEEDRILL - - db $ff ; end - -; ================ - - ; BUG_CATCHER (4) - db "WADE@" - db TRAINERTYPE_NORMAL - - ; party - db 2, CATERPIE - db 2, CATERPIE - db 3, WEEDLE - db 2, CATERPIE - - db $ff ; end - -; ================ - - ; BUG_CATCHER (5) - db "BENNY@" - db TRAINERTYPE_NORMAL - - ; party - db 7, WEEDLE - db 9, KAKUNA - db 12, BEEDRILL - - db $ff ; end - -; ================ - - ; BUG_CATCHER (6) - db "AL@" - db TRAINERTYPE_NORMAL - - ; party - db 12, CATERPIE - db 12, WEEDLE - - db $ff ; end - -; ================ - - ; BUG_CATCHER (7) - db "JOSH@" - db TRAINERTYPE_NORMAL - - ; party - db 13, PARAS - - db $ff ; end - -; ================ - - ; BUG_CATCHER (8) - db "ARNIE@" - db TRAINERTYPE_NORMAL - - ; party - db 15, VENONAT - - db $ff ; end - -; ================ - - ; BUG_CATCHER (9) - db "KEN@" - db TRAINERTYPE_NORMAL - - ; party - db 30, ARIADOS - db 32, PINSIR - - db $ff ; end - -; ================ - - ; BUG_CATCHER (10) - db "WADE@" - db TRAINERTYPE_NORMAL - - ; party - db 9, METAPOD - db 9, METAPOD - db 10, KAKUNA - db 9, METAPOD - - db $ff ; end - -; ================ - - ; BUG_CATCHER (11) - db "WADE@" - db TRAINERTYPE_NORMAL - - ; party - db 14, BUTTERFREE - db 14, BUTTERFREE - db 15, BEEDRILL - db 14, BUTTERFREE - - db $ff ; end - -; ================ - - ; BUG_CATCHER (12) - db "DOUG@" - db TRAINERTYPE_NORMAL - - ; party - db 34, ARIADOS - - db $ff ; end - -; ================ - - ; BUG_CATCHER (13) - db "ARNIE@" - db TRAINERTYPE_NORMAL - - ; party - db 19, VENONAT - - db $ff ; end - -; ================ - - ; BUG_CATCHER (14) - db "ARNIE@" - db TRAINERTYPE_MOVES - - ; party - - db 28, VENOMOTH - db DISABLE - db SUPERSONIC - db CONFUSION - db LEECH_LIFE - - db $ff ; end - -; ================ - - ; BUG_CATCHER (15) - db "WADE@" - db TRAINERTYPE_MOVES - - ; party - - db 24, BUTTERFREE - db CONFUSION - db POISONPOWDER - db SUPERSONIC - db WHIRLWIND - - db 24, BUTTERFREE - db CONFUSION - db STUN_SPORE - db SUPERSONIC - db WHIRLWIND - - db 25, BEEDRILL - db FURY_ATTACK - db FOCUS_ENERGY - db TWINEEDLE - db RAGE - - db 24, BUTTERFREE - db CONFUSION - db SLEEP_POWDER - db SUPERSONIC - db WHIRLWIND - - db $ff ; end - -; ================ - - ; BUG_CATCHER (16) - db "WADE@" - db TRAINERTYPE_MOVES - - ; party - - db 30, BUTTERFREE - db CONFUSION - db POISONPOWDER - db SUPERSONIC - db GUST - - db 30, BUTTERFREE - db CONFUSION - db STUN_SPORE - db SUPERSONIC - db GUST - - db 32, BEEDRILL - db FURY_ATTACK - db PURSUIT - db TWINEEDLE - db DOUBLE_TEAM - - db 34, BUTTERFREE - db PSYBEAM - db SLEEP_POWDER - db GUST - db WHIRLWIND - - db $ff ; end - -; ================ - - ; BUG_CATCHER (17) - db "ARNIE@" - db TRAINERTYPE_MOVES - - ; party - - db 36, VENOMOTH - db GUST - db SUPERSONIC - db PSYBEAM - db LEECH_LIFE - - db $ff ; end - -; ================ - - ; BUG_CATCHER (18) - db "ARNIE@" - db TRAINERTYPE_MOVES - - ; party - - db 40, VENOMOTH - db GUST - db SUPERSONIC - db PSYCHIC_M - db TOXIC - - db $ff ; end - -; ================ - - ; BUG_CATCHER (19) - db "WAYNE@" - db TRAINERTYPE_NORMAL - - ; party - db 8, LEDYBA - db 10, PARAS - - db $ff ; end - -; ================ -; ================================ - - -FisherGroup: -; ================================ -; ================ - - ; FISHER (1) - db "JUSTIN@" - db TRAINERTYPE_NORMAL - - ; party - db 5, MAGIKARP - db 5, MAGIKARP - db 15, MAGIKARP - db 5, MAGIKARP - - db $ff ; end - -; ================ - - ; FISHER (2) - db "RALPH@" - db TRAINERTYPE_NORMAL - - ; party - db 10, GOLDEEN - - db $ff ; end - -; ================ - - ; FISHER (3) - db "ARNOLD@" - db TRAINERTYPE_NORMAL - - ; party - db 34, TENTACRUEL - - db $ff ; end - -; ================ - - ; FISHER (4) - db "KYLE@" - db TRAINERTYPE_NORMAL - - ; party - db 28, SEAKING - db 31, POLIWHIRL - db 31, SEAKING - - db $ff ; end - -; ================ - - ; FISHER (5) - db "HENRY@" - db TRAINERTYPE_NORMAL - - ; party - db 8, POLIWAG - db 8, POLIWAG - - db $ff ; end - -; ================ - - ; FISHER (6) - db "MARVIN@" - db TRAINERTYPE_NORMAL - - ; party - db 10, MAGIKARP - db 10, GYARADOS - db 15, MAGIKARP - db 15, GYARADOS - - db $ff ; end - -; ================ - - ; FISHER (7) - db "TULLY@" - db TRAINERTYPE_NORMAL - - ; party - db 18, QWILFISH - - db $ff ; end - -; ================ - - ; FISHER (8) - db "ANDRE@" - db TRAINERTYPE_NORMAL - - ; party - db 27, GYARADOS - - db $ff ; end - -; ================ - - ; FISHER (9) - db "RAYMOND@" - db TRAINERTYPE_NORMAL - - ; party - db 22, MAGIKARP - db 22, MAGIKARP - db 22, MAGIKARP - db 22, MAGIKARP - - db $ff ; end - -; ================ - - ; FISHER (10) - db "WILTON@" - db TRAINERTYPE_NORMAL - - ; party - db 23, GOLDEEN - db 23, GOLDEEN - db 25, SEAKING - - db $ff ; end - -; ================ - - ; FISHER (11) - db "EDGAR@" - db TRAINERTYPE_MOVES - - ; party - - db 25, REMORAID - db LOCK_ON - db PSYBEAM - db AURORA_BEAM - db BUBBLEBEAM - - db 25, REMORAID - db LOCK_ON - db PSYBEAM - db AURORA_BEAM - db BUBBLEBEAM - - db $ff ; end - -; ================ - - ; FISHER (12) - db "JONAH@" - db TRAINERTYPE_NORMAL - - ; party - db 25, SHELLDER - db 29, OCTILLERY - db 25, REMORAID - db 29, CLOYSTER - - db $ff ; end - -; ================ - - ; FISHER (13) - db "MARTIN@" - db TRAINERTYPE_NORMAL - - ; party - db 32, REMORAID - db 32, REMORAID - - db $ff ; end - -; ================ - - ; FISHER (14) - db "STEPHEN@" - db TRAINERTYPE_NORMAL - - ; party - db 25, MAGIKARP - db 25, MAGIKARP - db 31, QWILFISH - db 31, TENTACRUEL - - db $ff ; end - -; ================ - - ; FISHER (15) - db "BARNEY@" - db TRAINERTYPE_NORMAL - - ; party - db 30, GYARADOS - db 30, GYARADOS - db 30, GYARADOS - - db $ff ; end - -; ================ - - ; FISHER (16) - db "RALPH@" - db TRAINERTYPE_NORMAL - - ; party - db 17, GOLDEEN - - db $ff ; end - -; ================ - - ; FISHER (17) - db "RALPH@" - db TRAINERTYPE_NORMAL - - ; party - db 17, QWILFISH - db 19, GOLDEEN - - db $ff ; end - -; ================ - - ; FISHER (18) - db "TULLY@" - db TRAINERTYPE_NORMAL - - ; party - db 23, QWILFISH - - db $ff ; end - -; ================ - - ; FISHER (19) - db "TULLY@" - db TRAINERTYPE_NORMAL - - ; party - db 32, GOLDEEN - db 32, GOLDEEN - db 32, QWILFISH - - db $ff ; end - -; ================ - - ; FISHER (20) - db "WILTON@" - db TRAINERTYPE_NORMAL - - ; party - db 29, GOLDEEN - db 29, GOLDEEN - db 32, SEAKING - - db $ff ; end - -; ================ - - ; FISHER (21) - db "SCOTT@" - db TRAINERTYPE_NORMAL - - ; party - db 30, QWILFISH - db 30, QWILFISH - db 34, SEAKING - - db $ff ; end - -; ================ - - ; FISHER (22) - db "WILTON@" - db TRAINERTYPE_MOVES - - ; party - - db 34, SEAKING - db SUPERSONIC - db WATERFALL - db FLAIL - db FURY_ATTACK - - db 34, SEAKING - db SUPERSONIC - db WATERFALL - db FLAIL - db FURY_ATTACK - - db 38, REMORAID - db PSYBEAM - db AURORA_BEAM - db BUBBLEBEAM - db HYPER_BEAM - - db $ff ; end - -; ================ - - ; FISHER (23) - db "RALPH@" - db TRAINERTYPE_NORMAL - - ; party - db 30, QWILFISH - db 32, GOLDEEN - - db $ff ; end - -; ================ - - ; FISHER (24) - db "RALPH@" - db TRAINERTYPE_MOVES - - ; party - - db 35, QWILFISH - db TOXIC - db MINIMIZE - db SURF - db PIN_MISSILE - - db 39, SEAKING - db ENDURE - db FLAIL - db FURY_ATTACK - db WATERFALL - - db $ff ; end - -; ================ - - ; FISHER (25) - db "TULLY@" - db TRAINERTYPE_MOVES - - ; party - - db 34, SEAKING - db SUPERSONIC - db RAIN_DANCE - db WATERFALL - db FURY_ATTACK - - db 34, SEAKING - db SUPERSONIC - db RAIN_DANCE - db WATERFALL - db FURY_ATTACK - - db 37, QWILFISH - db ROLLOUT - db SURF - db PIN_MISSILE - db TAKE_DOWN - - db $ff ; end - -; ================ -; ================================ - - -SwimmerMGroup: -; ================================ -; ================ - - ; SWIMMERM (1) - db "HAROLD@" - db TRAINERTYPE_NORMAL - - ; party - db 32, REMORAID - db 30, SEADRA - - db $ff ; end - -; ================ - - ; SWIMMERM (2) - db "SIMON@" - db TRAINERTYPE_NORMAL - - ; party - db 20, TENTACOOL - db 20, TENTACOOL - - db $ff ; end - -; ================ - - ; SWIMMERM (3) - db "RANDALL@" - db TRAINERTYPE_NORMAL - - ; party - db 18, SHELLDER - db 20, WARTORTLE - db 18, SHELLDER - - db $ff ; end - -; ================ - - ; SWIMMERM (4) - db "CHARLIE@" - db TRAINERTYPE_NORMAL - - ; party - db 21, SHELLDER - db 19, TENTACOOL - db 19, TENTACRUEL - - db $ff ; end - -; ================ - - ; SWIMMERM (5) - db "GEORGE@" - db TRAINERTYPE_NORMAL - - ; party - db 16, TENTACOOL - db 17, TENTACOOL - db 16, TENTACOOL - db 19, STARYU - db 17, TENTACOOL - db 19, REMORAID - - db $ff ; end - -; ================ - - ; SWIMMERM (6) - db "BERKE@" - db TRAINERTYPE_NORMAL - - ; party - db 23, QWILFISH - - db $ff ; end - -; ================ - - ; SWIMMERM (7) - db "KIRK@" - db TRAINERTYPE_NORMAL - - ; party - db 20, GYARADOS - db 20, GYARADOS - - db $ff ; end - -; ================ - - ; SWIMMERM (8) - db "MATHEW@" - db TRAINERTYPE_NORMAL - - ; party - db 23, KRABBY - - db $ff ; end - -; ================ - - ; SWIMMERM (9) - db "HAL@" - db TRAINERTYPE_NORMAL - - ; party - db 24, SEEL - db 25, DEWGONG - db 24, SEEL - - db $ff ; end - -; ================ - - ; SWIMMERM (10) - db "PATON@" - db TRAINERTYPE_NORMAL - - ; party - db 26, PILOSWINE - db 26, PILOSWINE - - db $ff ; end - -; ================ - - ; SWIMMERM (11) - db "DARYL@" - db TRAINERTYPE_NORMAL - - ; party - db 24, SHELLDER - db 25, CLOYSTER - db 24, SHELLDER - - db $ff ; end - -; ================ - - ; SWIMMERM (12) - db "WALTER@" - db TRAINERTYPE_NORMAL - - ; party - db 15, HORSEA - db 15, HORSEA - db 20, SEADRA - - db $ff ; end - -; ================ - - ; SWIMMERM (13) - db "TONY@" - db TRAINERTYPE_NORMAL - - ; party - db 13, STARYU - db 18, STARMIE - db 16, HORSEA - - db $ff ; end - -; ================ - - ; SWIMMERM (14) - db "JEROME@" - db TRAINERTYPE_NORMAL - - ; party - db 26, SEADRA - db 28, TENTACOOL - db 30, TENTACRUEL - db 28, GOLDEEN - - db $ff ; end - -; ================ - - ; SWIMMERM (15) - db "TUCKER@" - db TRAINERTYPE_NORMAL - - ; party - db 30, SHELLDER - db 34, CLOYSTER - - db $ff ; end - -; ================ - - ; SWIMMERM (16) - db "RICK@" - db TRAINERTYPE_NORMAL - - ; party - db 13, STARYU - db 18, STARMIE - db 16, HORSEA - - db $ff ; end - -; ================ - - ; SWIMMERM (17) - db "CAMERON@" - db TRAINERTYPE_NORMAL - - ; party - db 34, MARILL - - db $ff ; end - -; ================ - - ; SWIMMERM (18) - db "SETH@" - db TRAINERTYPE_NORMAL - - ; party - db 29, QUAGSIRE - db 29, OCTILLERY - db 32, QUAGSIRE - - db $ff ; end - -; ================ - - ; SWIMMERM (19) - db "JAMES@" - db TRAINERTYPE_NORMAL - - ; party - db 13, STARYU - db 18, STARMIE - db 16, HORSEA - - db $ff ; end - -; ================ - - ; SWIMMERM (20) - db "LEWIS@" - db TRAINERTYPE_NORMAL - - ; party - db 13, STARYU - db 18, STARMIE - db 16, HORSEA - - db $ff ; end - -; ================ - - ; SWIMMERM (21) - db "PARKER@" - db TRAINERTYPE_NORMAL - - ; party - db 32, HORSEA - db 32, HORSEA - db 35, SEADRA - - db $ff ; end - -; ================ -; ================================ - - -SwimmerFGroup: -; ================================ -; ================ - - ; SWIMMERF (1) - db "ELAINE@" - db TRAINERTYPE_NORMAL - - ; party - db 21, STARYU - - db $ff ; end - -; ================ - - ; SWIMMERF (2) - db "PAULA@" - db TRAINERTYPE_NORMAL - - ; party - db 19, STARYU - db 19, SHELLDER - - db $ff ; end - -; ================ - - ; SWIMMERF (3) - db "KAYLEE@" - db TRAINERTYPE_NORMAL - - ; party - db 18, GOLDEEN - db 20, GOLDEEN - db 20, SEAKING - - db $ff ; end - -; ================ - - ; SWIMMERF (4) - db "SUSIE@" - db TRAINERTYPE_MOVES - - ; party - - db 20, PSYDUCK - db SCRATCH - db TAIL_WHIP - db DISABLE - db CONFUSION - - db 22, GOLDEEN - db PECK - db TAIL_WHIP - db SUPERSONIC - db HORN_ATTACK - - db $ff ; end - -; ================ - - ; SWIMMERF (5) - db "DENISE@" - db TRAINERTYPE_NORMAL - - ; party - db 22, SEEL - - db $ff ; end - -; ================ - - ; SWIMMERF (6) - db "KARA@" - db TRAINERTYPE_NORMAL - - ; party - db 20, STARYU - db 20, STARMIE - - db $ff ; end - -; ================ - - ; SWIMMERF (7) - db "WENDY@" - db TRAINERTYPE_MOVES - - ; party - - db 21, HORSEA - db BUBBLE - db SMOKESCREEN - db LEER - db WATER_GUN - - db 21, HORSEA - db DRAGON_RAGE - db SMOKESCREEN - db LEER - db WATER_GUN - - db $ff ; end - -; ================ - - ; SWIMMERF (8) - db "LISA@" - db TRAINERTYPE_NORMAL - - ; party - db 28, JYNX - - db $ff ; end - -; ================ - - ; SWIMMERF (9) - db "JILL@" - db TRAINERTYPE_NORMAL - - ; party - db 28, DEWGONG - - db $ff ; end - -; ================ - - ; SWIMMERF (10) - db "MARY@" - db TRAINERTYPE_NORMAL - - ; party - db 20, SEAKING - - db $ff ; end - -; ================ - - ; SWIMMERF (11) - db "KATIE@" - db TRAINERTYPE_NORMAL - - ; party - db 33, DEWGONG - - db $ff ; end - -; ================ - - ; SWIMMERF (12) - db "DAWN@" - db TRAINERTYPE_NORMAL - - ; party - db 34, SEAKING - - db $ff ; end - -; ================ - - ; SWIMMERF (13) - db "TARA@" - db TRAINERTYPE_NORMAL - - ; party - db 20, SEAKING - - db $ff ; end - -; ================ - - ; SWIMMERF (14) - db "NICOLE@" - db TRAINERTYPE_NORMAL - - ; party - db 29, MARILL - db 29, MARILL - db 32, LAPRAS - - db $ff ; end - -; ================ - - ; SWIMMERF (15) - db "LORI@" - db TRAINERTYPE_NORMAL - - ; party - db 32, STARMIE - db 32, STARMIE - - db $ff ; end - -; ================ - - ; SWIMMERF (16) - db "JODY@" - db TRAINERTYPE_NORMAL - - ; party - db 20, SEAKING - - db $ff ; end - -; ================ - - ; SWIMMERF (17) - db "NIKKI@" - db TRAINERTYPE_NORMAL - - ; party - db 28, SEEL - db 28, SEEL - db 28, SEEL - db 28, DEWGONG - - db $ff ; end - -; ================ - - ; SWIMMERF (18) - db "DIANA@" - db TRAINERTYPE_NORMAL - - ; party - db 37, GOLDUCK - - db $ff ; end - -; ================ - - ; SWIMMERF (19) - db "BRIANA@" - db TRAINERTYPE_NORMAL - - ; party - db 35, SEAKING - db 35, SEAKING - - db $ff ; end - -; ================ -; ================================ - - -SailorGroup: -; ================================ -; ================ - - ; SAILOR (1) - db "EUGENE@" - db TRAINERTYPE_NORMAL - - ; party - db 17, POLIWHIRL - db 17, RATICATE - db 19, KRABBY - - db $ff ; end - -; ================ - - ; SAILOR (2) - db "HUEY@" - db TRAINERTYPE_NORMAL - - ; party - db 18, POLIWAG - db 18, POLIWHIRL - - db $ff ; end - -; ================ - - ; SAILOR (3) - db "TERRELL@" - db TRAINERTYPE_NORMAL - - ; party - db 20, POLIWHIRL - - db $ff ; end - -; ================ - - ; SAILOR (4) - db "KENT@" - db TRAINERTYPE_MOVES - - ; party - - db 18, KRABBY - db BUBBLE - db LEER - db VICEGRIP - db HARDEN - - db 20, KRABBY - db BUBBLEBEAM - db LEER - db VICEGRIP - db HARDEN - - db $ff ; end - -; ================ - - ; SAILOR (5) - db "ERNEST@" - db TRAINERTYPE_NORMAL - - ; party - db 18, MACHOP - db 18, MACHOP - db 18, POLIWHIRL - - db $ff ; end - -; ================ - - ; SAILOR (6) - db "JEFF@" - db TRAINERTYPE_NORMAL - - ; party - db 32, RATICATE - db 32, RATICATE - - db $ff ; end - -; ================ - - ; SAILOR (7) - db "GARRETT@" - db TRAINERTYPE_NORMAL - - ; party - db 34, KINGLER - - db $ff ; end - -; ================ - - ; SAILOR (8) - db "KENNETH@" - db TRAINERTYPE_NORMAL - - ; party - db 28, MACHOP - db 28, MACHOP - db 28, POLIWRATH - db 28, MACHOP - - db $ff ; end - -; ================ - - ; SAILOR (9) - db "STANLY@" - db TRAINERTYPE_NORMAL - - ; party - db 31, MACHOP - db 33, MACHOKE - db 26, PSYDUCK - - db $ff ; end - -; ================ - - ; SAILOR (10) - db "HARRY@" - db TRAINERTYPE_NORMAL - - ; party - db 19, WOOPER - - db $ff ; end - -; ================ - - ; SAILOR (11) - db "HUEY@" - db TRAINERTYPE_NORMAL - - ; party - db 28, POLIWHIRL - db 28, POLIWHIRL - - db $ff ; end - -; ================ - - ; SAILOR (12) - db "HUEY@" - db TRAINERTYPE_NORMAL - - ; party - db 34, POLIWHIRL - db 34, POLIWRATH - - db $ff ; end - -; ================ - - ; SAILOR (13) - db "HUEY@" - db TRAINERTYPE_MOVES - - ; party - - db 38, POLITOED - db WHIRLPOOL - db RAIN_DANCE - db BODY_SLAM - db PERISH_SONG - - db 38, POLIWRATH - db SURF - db STRENGTH - db ICE_PUNCH - db SUBMISSION - - db $ff ; end - -; ================ -; ================================ - - -SuperNerdGroup: -; ================================ -; ================ - - ; SUPER_NERD (1) - db "STAN@" - db TRAINERTYPE_NORMAL - - ; party - db 20, GRIMER - - db $ff ; end - -; ================ - - ; SUPER_NERD (2) - db "ERIC@" - db TRAINERTYPE_NORMAL - - ; party - db 11, GRIMER - db 11, GRIMER - - db $ff ; end - -; ================ - - ; SUPER_NERD (3) - db "GREGG@" - db TRAINERTYPE_NORMAL - - ; party - db 20, MAGNEMITE - db 20, MAGNEMITE - db 20, MAGNEMITE - - db $ff ; end - -; ================ - - ; SUPER_NERD (4) - db "JAY@" - db TRAINERTYPE_NORMAL - - ; party - db 22, KOFFING - db 22, KOFFING - - db $ff ; end - -; ================ - - ; SUPER_NERD (5) - db "DAVE@" - db TRAINERTYPE_NORMAL - - ; party - db 24, DITTO - - db $ff ; end - -; ================ - - ; SUPER_NERD (6) - db "SAM@" - db TRAINERTYPE_NORMAL - - ; party - db 34, GRIMER - db 34, MUK - - db $ff ; end - -; ================ - - ; SUPER_NERD (7) - db "TOM@" - db TRAINERTYPE_NORMAL - - ; party - db 32, MAGNEMITE - db 32, MAGNEMITE - db 32, MAGNEMITE - - db $ff ; end - -; ================ - - ; SUPER_NERD (8) - db "PAT@" - db TRAINERTYPE_NORMAL - - ; party - db 36, PORYGON - - db $ff ; end - -; ================ - - ; SUPER_NERD (9) - db "SHAWN@" - db TRAINERTYPE_NORMAL - - ; party - db 31, MAGNEMITE - db 33, MUK - db 31, MAGNEMITE - - db $ff ; end - -; ================ - - ; SUPER_NERD (10) - db "TERU@" - db TRAINERTYPE_NORMAL - - ; party - db 7, MAGNEMITE - db 11, VOLTORB - db 7, MAGNEMITE - db 9, MAGNEMITE - - db $ff ; end - -; ================ - - ; SUPER_NERD (11) - db "RUSS@" - db TRAINERTYPE_NORMAL - - ; party - db 27, MAGNEMITE - db 27, MAGNEMITE - db 27, MAGNEMITE - - db $ff ; end - -; ================ - - ; SUPER_NERD (12) - db "NORTON@" - db TRAINERTYPE_MOVES - - ; party - - db 30, PORYGON - db CONVERSION - db CONVERSION2 - db RECOVER - db TRI_ATTACK - - db $ff ; end - -; ================ - - ; SUPER_NERD (13) - db "HUGH@" - db TRAINERTYPE_MOVES - - ; party - - db 39, SEADRA - db SMOKESCREEN - db TWISTER - db SURF - db WATERFALL - - db $ff ; end - -; ================ - - ; SUPER_NERD (14) - db "MARKUS@" - db TRAINERTYPE_MOVES - - ; party - - db 19, SLOWPOKE - db CURSE - db WATER_GUN - db GROWL - db STRENGTH - - db $ff ; end - -; ================ -; ================================ - - -Rival2Group: -; ================================ -; ================ - - ; RIVAL2 (1) - db "?@" - db TRAINERTYPE_MOVES - - ; party - - db 41, SNEASEL - db QUICK_ATTACK - db SCREECH - db FAINT_ATTACK - db FURY_CUTTER - - db 42, GOLBAT - db LEECH_LIFE - db BITE - db CONFUSE_RAY - db WING_ATTACK - - db 41, MAGNETON - db THUNDERSHOCK - db SONICBOOM - db THUNDER_WAVE - db SWIFT - - db 43, GENGAR - db MEAN_LOOK - db CURSE - db SHADOW_BALL - db CONFUSE_RAY - - db 43, ALAKAZAM - db DISABLE - db RECOVER - db FUTURE_SIGHT - db PSYCHIC_M - - db 45, MEGANIUM - db RAZOR_LEAF - db POISONPOWDER - db BODY_SLAM - db LIGHT_SCREEN - - db $ff ; end - -; ================ - - ; RIVAL2 (2) - db "?@" - db TRAINERTYPE_MOVES - - ; party - - db 41, SNEASEL - db QUICK_ATTACK - db SCREECH - db FAINT_ATTACK - db FURY_CUTTER - - db 42, GOLBAT - db LEECH_LIFE - db BITE - db CONFUSE_RAY - db WING_ATTACK - - db 41, MAGNETON - db THUNDERSHOCK - db SONICBOOM - db THUNDER_WAVE - db SWIFT - - db 43, GENGAR - db MEAN_LOOK - db CURSE - db SHADOW_BALL - db CONFUSE_RAY - - db 43, ALAKAZAM - db DISABLE - db RECOVER - db FUTURE_SIGHT - db PSYCHIC_M - - db 45, TYPHLOSION - db SMOKESCREEN - db QUICK_ATTACK - db FLAME_WHEEL - db SWIFT - - db $ff ; end - -; ================ - - ; RIVAL2 (3) - db "?@" - db TRAINERTYPE_MOVES - - ; party - - db 41, SNEASEL - db QUICK_ATTACK - db SCREECH - db FAINT_ATTACK - db FURY_CUTTER - - db 42, GOLBAT - db LEECH_LIFE - db BITE - db CONFUSE_RAY - db WING_ATTACK - - db 41, MAGNETON - db THUNDERSHOCK - db SONICBOOM - db THUNDER_WAVE - db SWIFT - - db 43, GENGAR - db MEAN_LOOK - db CURSE - db SHADOW_BALL - db CONFUSE_RAY - - db 43, ALAKAZAM - db DISABLE - db RECOVER - db FUTURE_SIGHT - db PSYCHIC_M - - db 45, FERALIGATR - db RAGE - db WATER_GUN - db SCARY_FACE - db SLASH - - db $ff ; end - -; ================ - - ; RIVAL2 (4) - db "?@" - db TRAINERTYPE_MOVES - - ; party - - db 45, SNEASEL - db QUICK_ATTACK - db SCREECH - db FAINT_ATTACK - db FURY_CUTTER - - db 48, CROBAT - db TOXIC - db BITE - db CONFUSE_RAY - db WING_ATTACK - - db 45, MAGNETON - db THUNDER - db SONICBOOM - db THUNDER_WAVE - db SWIFT - - db 46, GENGAR - db MEAN_LOOK - db CURSE - db SHADOW_BALL - db CONFUSE_RAY - - db 46, ALAKAZAM - db RECOVER - db FUTURE_SIGHT - db PSYCHIC_M - db REFLECT - - db 50, MEGANIUM - db GIGA_DRAIN - db BODY_SLAM - db LIGHT_SCREEN - db SAFEGUARD - - db $ff ; end - -; ================ - - ; RIVAL2 (5) - db "?@" - db TRAINERTYPE_MOVES - - ; party - - db 45, SNEASEL - db QUICK_ATTACK - db SCREECH - db FAINT_ATTACK - db FURY_CUTTER - - db 48, CROBAT - db TOXIC - db BITE - db CONFUSE_RAY - db WING_ATTACK - - db 45, MAGNETON - db THUNDER - db SONICBOOM - db THUNDER_WAVE - db SWIFT - - db 46, GENGAR - db MEAN_LOOK - db CURSE - db SHADOW_BALL - db CONFUSE_RAY - - db 46, ALAKAZAM - db RECOVER - db FUTURE_SIGHT - db PSYCHIC_M - db REFLECT - - db 50, TYPHLOSION - db SMOKESCREEN - db QUICK_ATTACK - db FIRE_BLAST - db SWIFT - - db $ff ; end - -; ================ - - ; RIVAL2 (6) - db "?@" - db TRAINERTYPE_MOVES - - ; party - - db 45, SNEASEL - db QUICK_ATTACK - db SCREECH - db FAINT_ATTACK - db FURY_CUTTER - - db 48, CROBAT - db TOXIC - db BITE - db CONFUSE_RAY - db WING_ATTACK - - db 45, MAGNETON - db THUNDER - db SONICBOOM - db THUNDER_WAVE - db SWIFT - - db 46, GENGAR - db MEAN_LOOK - db CURSE - db SHADOW_BALL - db CONFUSE_RAY - - db 46, ALAKAZAM - db RECOVER - db FUTURE_SIGHT - db PSYCHIC_M - db REFLECT - - db 50, FERALIGATR - db SURF - db RAIN_DANCE - db SLASH - db SCREECH - - db $ff ; end - -; ================ -; ================================ - - -GuitaristGroup: -; ================================ -; ================ - - ; GUITARIST (1) - db "CLYDE@" - db TRAINERTYPE_NORMAL - - ; party - db 34, ELECTABUZZ - - db $ff ; end - -; ================ - - ; GUITARIST (2) - db "VINCENT@" - db TRAINERTYPE_NORMAL - - ; party - db 27, MAGNEMITE - db 33, VOLTORB - db 32, MAGNEMITE - db 32, MAGNEMITE - - db $ff ; end - -; ================ -; ================================ - - -HikerGroup: -; ================================ -; ================ - - ; HIKER (1) - db "ANTHONY@" - db TRAINERTYPE_NORMAL - - ; party - db 16, GEODUDE - db 18, MACHAMP - - db $ff ; end - -; ================ - - ; HIKER (2) - db "RUSSELL@" - db TRAINERTYPE_NORMAL - - ; party - db 4, GEODUDE - db 6, GEODUDE - db 8, GEODUDE - - db $ff ; end - -; ================ - - ; HIKER (3) - db "PHILLIP@" - db TRAINERTYPE_NORMAL - - ; party - db 23, GEODUDE - db 23, GEODUDE - db 23, GRAVELER - - db $ff ; end - -; ================ - - ; HIKER (4) - db "LEONARD@" - db TRAINERTYPE_NORMAL - - ; party - db 23, GEODUDE - db 25, MACHOP - - db $ff ; end - -; ================ - - ; HIKER (5) - db "ANTHONY@" - db TRAINERTYPE_NORMAL - - ; party - db 11, GEODUDE - db 11, MACHOP - - db $ff ; end - -; ================ - - ; HIKER (6) - db "BENJAMIN@" - db TRAINERTYPE_NORMAL - - ; party - db 14, DIGLETT - db 14, GEODUDE - db 16, DUGTRIO - - db $ff ; end - -; ================ - - ; HIKER (7) - db "ERIK@" - db TRAINERTYPE_NORMAL - - ; party - db 24, MACHOP - db 27, GRAVELER - db 27, MACHOP - - db $ff ; end - -; ================ - - ; HIKER (8) - db "MICHAEL@" - db TRAINERTYPE_NORMAL - - ; party - db 25, GEODUDE - db 25, GRAVELER - db 25, GOLEM - - db $ff ; end - -; ================ - - ; HIKER (9) - db "PARRY@" - db TRAINERTYPE_NORMAL - - ; party - db 35, ONIX - db 33, SWINUB - - db $ff ; end - -; ================ - - ; HIKER (10) - db "TIMOTHY@" - db TRAINERTYPE_MOVES - - ; party - - db 27, DIGLETT - db MAGNITUDE - db DIG - db SAND_ATTACK - db SLASH - - db 27, DUGTRIO - db MAGNITUDE - db DIG - db SAND_ATTACK - db SLASH - - db $ff ; end - -; ================ - - ; HIKER (11) - db "BAILEY@" - db TRAINERTYPE_NORMAL - - ; party - db 13, GEODUDE - db 13, GEODUDE - db 13, GEODUDE - db 13, GEODUDE - db 13, GEODUDE - - db $ff ; end - -; ================ - - ; HIKER (12) - db "ANTHONY@" - db TRAINERTYPE_NORMAL - - ; party - db 25, GRAVELER - db 27, GRAVELER - db 29, MACHOKE - - db $ff ; end - -; ================ - - ; HIKER (13) - db "TIM@" - db TRAINERTYPE_NORMAL - - ; party - db 31, GRAVELER - db 31, GRAVELER - db 31, GRAVELER - - db $ff ; end - -; ================ - - ; HIKER (14) - db "NOLAND@" - db TRAINERTYPE_NORMAL - - ; party - db 31, SANDSLASH - db 33, GOLEM - - db $ff ; end - -; ================ - - ; HIKER (15) - db "SIDNEY@" - db TRAINERTYPE_NORMAL - - ; party - db 34, DUGTRIO - db 32, ONIX - - db $ff ; end - -; ================ - - ; HIKER (16) - db "KENNY@" - db TRAINERTYPE_NORMAL - - ; party - db 27, SANDSLASH - db 29, GRAVELER - db 31, GOLEM - db 29, GRAVELER - - db $ff ; end - -; ================ - - ; HIKER (17) - db "JIM@" - db TRAINERTYPE_NORMAL - - ; party - db 35, MACHAMP - - db $ff ; end - -; ================ - - ; HIKER (18) - db "DANIEL@" - db TRAINERTYPE_NORMAL - - ; party - db 11, ONIX - - db $ff ; end - -; ================ - - ; HIKER (19) - db "PARRY@" - db TRAINERTYPE_MOVES - - ; party - - db 35, PILOSWINE - db EARTHQUAKE - db BLIZZARD - db REST - db TAKE_DOWN - - db 35, DUGTRIO - db MAGNITUDE - db DIG - db MUD_SLAP - db SLASH - - db 38, STEELIX - db DIG - db IRON_TAIL - db SANDSTORM - db SLAM - - db $ff ; end - -; ================ - - ; HIKER (20) - db "PARRY@" - db TRAINERTYPE_NORMAL - - ; party - db 29, ONIX - - db $ff ; end - -; ================ - - ; HIKER (21) - db "ANTHONY@" - db TRAINERTYPE_NORMAL - - ; party - db 30, GRAVELER - db 30, GRAVELER - db 32, MACHOKE - - db $ff ; end - -; ================ - - ; HIKER (22) - db "ANTHONY@" - db TRAINERTYPE_MOVES - - ; party - - db 34, GRAVELER - db MAGNITUDE - db SELFDESTRUCT - db DEFENSE_CURL - db ROLLOUT - - db 36, GOLEM - db MAGNITUDE - db SELFDESTRUCT - db DEFENSE_CURL - db ROLLOUT - - db 34, MACHOKE - db KARATE_CHOP - db VITAL_THROW - db HEADBUTT - db DIG - - db $ff ; end - -; ================ -; ================================ - - -BikerGroup: -; ================================ -; ================ - - ; BIKER (1) - db "BENNY@" - db TRAINERTYPE_NORMAL - - ; party - db 20, KOFFING - db 20, KOFFING - db 20, KOFFING - - db $ff ; end - -; ================ - - ; BIKER (2) - db "KAZU@" - db TRAINERTYPE_NORMAL - - ; party - db 20, KOFFING - db 20, KOFFING - db 20, KOFFING - - db $ff ; end - -; ================ - - ; BIKER (3) - db "DWAYNE@" - db TRAINERTYPE_NORMAL - - ; party - db 27, KOFFING - db 28, KOFFING - db 29, KOFFING - db 30, KOFFING - - db $ff ; end - -; ================ - - ; BIKER (4) - db "HARRIS@" - db TRAINERTYPE_NORMAL - - ; party - db 34, FLAREON - - db $ff ; end - -; ================ - - ; BIKER (5) - db "ZEKE@" - db TRAINERTYPE_NORMAL - - ; party - db 32, KOFFING - db 32, KOFFING - - db $ff ; end - -; ================ - - ; BIKER (6) - db "CHARLES@" - db TRAINERTYPE_NORMAL - - ; party - db 30, KOFFING - db 30, CHARMELEON - db 30, WEEZING - - db $ff ; end - -; ================ - - ; BIKER (7) - db "RILEY@" - db TRAINERTYPE_NORMAL - - ; party - db 34, WEEZING - - db $ff ; end - -; ================ - - ; BIKER (8) - db "JOEL@" - db TRAINERTYPE_NORMAL - - ; party - db 32, MAGMAR - db 32, MAGMAR - - db $ff ; end - -; ================ - - ; BIKER (9) - db "GLENN@" - db TRAINERTYPE_NORMAL - - ; party - db 28, KOFFING - db 30, MAGMAR - db 32, WEEZING - - db $ff ; end - -; ================ -; ================================ - - -BlaineGroup: -; ================================ -; ================ - - ; BLAINE (1) - db "BLAINE@" - db TRAINERTYPE_MOVES - - ; party - - db 45, MAGCARGO - db CURSE - db SMOG - db FLAMETHROWER - db ROCK_SLIDE - - db 45, MAGMAR - db THUNDERPUNCH - db FIRE_PUNCH - db SUNNY_DAY - db CONFUSE_RAY - - db 50, RAPIDASH - db QUICK_ATTACK - db FIRE_SPIN - db FURY_ATTACK - db FIRE_BLAST - - db $ff ; end - -; ================ -; ================================ - - -BurglarGroup: -; ================================ -; ================ - - ; BURGLAR (1) - db "DUNCAN@" - db TRAINERTYPE_NORMAL - - ; party - db 23, KOFFING - db 25, MAGMAR - db 23, KOFFING - - db $ff ; end - -; ================ - - ; BURGLAR (2) - db "EDDIE@" - db TRAINERTYPE_MOVES - - ; party - - db 26, GROWLITHE - db ROAR - db EMBER - db LEER - db TAKE_DOWN - - db 24, KOFFING - db TACKLE - db SMOG - db SLUDGE - db SMOKESCREEN - - db $ff ; end - -; ================ - - ; BURGLAR (3) - db "COREY@" - db TRAINERTYPE_NORMAL - - ; party - db 25, KOFFING - db 28, MAGMAR - db 25, KOFFING - db 30, KOFFING - - db $ff ; end - -; ================ -; ================================ - - -FirebreatherGroup: -; ================================ -; ================ - - ; FIREBREATHER (1) - db "OTIS@" - db TRAINERTYPE_NORMAL - - ; party - db 29, MAGMAR - db 32, WEEZING - db 29, MAGMAR - - db $ff ; end - -; ================ - - ; FIREBREATHER (2) - db "DICK@" - db TRAINERTYPE_NORMAL - - ; party - db 17, CHARMELEON - - db $ff ; end - -; ================ - - ; FIREBREATHER (3) - db "NED@" - db TRAINERTYPE_NORMAL - - ; party - db 15, KOFFING - db 16, GROWLITHE - db 15, KOFFING - - db $ff ; end - -; ================ - - ; FIREBREATHER (4) - db "BURT@" - db TRAINERTYPE_NORMAL - - ; party - db 32, KOFFING - db 32, SLUGMA - - db $ff ; end - -; ================ - - ; FIREBREATHER (5) - db "BILL@" - db TRAINERTYPE_NORMAL - - ; party - db 6, KOFFING - db 6, KOFFING - - db $ff ; end - -; ================ - - ; FIREBREATHER (6) - db "WALT@" - db TRAINERTYPE_NORMAL - - ; party - db 11, MAGMAR - db 13, MAGMAR - - db $ff ; end - -; ================ - - ; FIREBREATHER (7) - db "RAY@" - db TRAINERTYPE_NORMAL - - ; party - db 9, VULPIX - - db $ff ; end - -; ================ - - ; FIREBREATHER (8) - db "LYLE@" - db TRAINERTYPE_NORMAL - - ; party - db 28, KOFFING - db 31, FLAREON - db 28, KOFFING - - db $ff ; end - -; ================ -; ================================ - - -JugglerGroup: -; ================================ -; ================ - - ; JUGGLER (1) - db "IRWIN@" - db TRAINERTYPE_NORMAL - - ; party - db 2, VOLTORB - db 6, VOLTORB - db 10, VOLTORB - db 14, VOLTORB - - db $ff ; end - -; ================ - - ; JUGGLER (2) - db "FRITZ@" - db TRAINERTYPE_NORMAL - - ; party - db 29, MR__MIME - db 29, MAGMAR - db 29, MACHOKE - - db $ff ; end - -; ================ - - ; JUGGLER (3) - db "HORTON@" - db TRAINERTYPE_NORMAL - - ; party - db 33, ELECTRODE - db 33, ELECTRODE - db 33, ELECTRODE - db 33, ELECTRODE - - db $ff ; end - -; ================ - - ; JUGGLER (4) - db "IRWIN@" - db TRAINERTYPE_NORMAL - - ; party - db 6, VOLTORB - db 10, VOLTORB - db 14, VOLTORB - db 18, VOLTORB - - db $ff ; end - -; ================ - - ; JUGGLER (5) - db "IRWIN@" - db TRAINERTYPE_NORMAL - - ; party - db 18, VOLTORB - db 22, VOLTORB - db 26, VOLTORB - db 30, ELECTRODE - - db $ff ; end - -; ================ - - ; JUGGLER (6) - db "IRWIN@" - db TRAINERTYPE_NORMAL - - ; party - db 18, VOLTORB - db 22, VOLTORB - db 26, VOLTORB - db 30, ELECTRODE - - db $ff ; end - -; ================ -; ================================ - - -BlackbeltGroup: -; ================================ -; ================ - - ; BLACKBELT_T (1) - db "KENJI@" - db TRAINERTYPE_NORMAL - - ; party - db 27, ONIX - db 30, HITMONLEE - db 27, ONIX - db 32, MACHOKE - - db $ff ; end - -; ================ - - ; BLACKBELT_T (2) - db "YOSHI@" - db TRAINERTYPE_MOVES - - ; party - - db 27, HITMONLEE - db DOUBLE_KICK - db MEDITATE - db JUMP_KICK - db FOCUS_ENERGY - - db $ff ; end - -; ================ - - ; BLACKBELT_T (3) - db "KENJI@" - db TRAINERTYPE_MOVES - - ; party - - db 33, ONIX - db BIND - db ROCK_THROW - db TOXIC - db DIG - - db 38, MACHAMP - db HEADBUTT - db SWAGGER - db THUNDERPUNCH - db VITAL_THROW - - db 33, STEELIX - db EARTHQUAKE - db ROCK_THROW - db IRON_TAIL - db SANDSTORM - - db 36, HITMONLEE - db DOUBLE_TEAM - db HI_JUMP_KICK - db MUD_SLAP - db SWIFT - - db $ff ; end - -; ================ - - ; BLACKBELT_T (4) - db "LAO@" - db TRAINERTYPE_MOVES - - ; party - - db 27, HITMONCHAN - db COMET_PUNCH - db THUNDERPUNCH - db ICE_PUNCH - db FIRE_PUNCH - - db $ff ; end - -; ================ - - ; BLACKBELT_T (5) - db "NOB@" - db TRAINERTYPE_MOVES - - ; party - - db 25, MACHOP - db LEER - db FOCUS_ENERGY - db KARATE_CHOP - db SEISMIC_TOSS - - db 25, MACHOKE - db LEER - db KARATE_CHOP - db SEISMIC_TOSS - db ROCK_SLIDE - - db $ff ; end - -; ================ - - ; BLACKBELT_T (6) - db "KIYO@" - db TRAINERTYPE_NORMAL - - ; party - db 34, HITMONLEE - db 34, HITMONCHAN - - db $ff ; end - -; ================ - - ; BLACKBELT_T (7) - db "LUNG@" - db TRAINERTYPE_NORMAL - - ; party - db 23, MANKEY - db 23, MANKEY - db 25, PRIMEAPE - - db $ff ; end - -; ================ - - ; BLACKBELT_T (8) - db "KENJI@" - db TRAINERTYPE_NORMAL - - ; party - db 28, MACHOKE - - db $ff ; end - -; ================ - - ; BLACKBELT_T (9) - db "WAI@" - db TRAINERTYPE_NORMAL - - ; party - db 30, MACHOKE - db 32, MACHOKE - db 34, MACHOKE - - db $ff ; end - -; ================ -; ================================ - - -ExecutiveMGroup: -; ================================ -; ================ - - ; EXECUTIVEM (1) - db "EXECUTIVE@" - db TRAINERTYPE_MOVES - - ; party - - db 33, HOUNDOUR - db EMBER - db ROAR - db BITE - db FAINT_ATTACK - - db 33, KOFFING - db TACKLE - db SLUDGE - db SMOKESCREEN - db HAZE - - db 35, HOUNDOOM - db EMBER - db SMOG - db BITE - db FAINT_ATTACK - - db $ff ; end - -; ================ - - ; EXECUTIVEM (2) - db "EXECUTIVE@" - db TRAINERTYPE_MOVES - - ; party - - db 36, GOLBAT - db LEECH_LIFE - db BITE - db CONFUSE_RAY - db WING_ATTACK - - db $ff ; end - -; ================ - - ; EXECUTIVEM (3) - db "EXECUTIVE@" - db TRAINERTYPE_MOVES - - ; party - - db 30, KOFFING - db TACKLE - db SELFDESTRUCT - db SLUDGE - db SMOKESCREEN - - db 30, KOFFING - db TACKLE - db SELFDESTRUCT - db SLUDGE - db SMOKESCREEN - - db 30, KOFFING - db TACKLE - db SELFDESTRUCT - db SLUDGE - db SMOKESCREEN - - db 32, WEEZING - db TACKLE - db EXPLOSION - db SLUDGE - db SMOKESCREEN - - db 30, KOFFING - db TACKLE - db SELFDESTRUCT - db SLUDGE - db SMOKESCREEN - - db 30, KOFFING - db TACKLE - db SMOG - db SLUDGE - db SMOKESCREEN - - db $ff ; end - -; ================ - - ; EXECUTIVEM (4) - db "EXECUTIVE@" - db TRAINERTYPE_NORMAL - - ; party - db 22, ZUBAT - db 24, RATICATE - db 22, KOFFING - - db $ff ; end - -; ================ -; ================================ - - -PsychicGroup: -; ================================ -; ================ - - ; PSYCHIC_T (1) - db "NATHAN@" - db TRAINERTYPE_NORMAL - - ; party - db 26, GIRAFARIG - - db $ff ; end - -; ================ - - ; PSYCHIC_T (2) - db "FRANKLIN@" - db TRAINERTYPE_NORMAL - - ; party - db 37, KADABRA - - db $ff ; end - -; ================ - - ; PSYCHIC_T (3) - db "HERMAN@" - db TRAINERTYPE_NORMAL - - ; party - db 30, EXEGGCUTE - db 30, EXEGGCUTE - db 30, EXEGGUTOR - - db $ff ; end - -; ================ - - ; PSYCHIC_T (4) - db "FIDEL@" - db TRAINERTYPE_NORMAL - - ; party - db 34, XATU - - db $ff ; end - -; ================ - - ; PSYCHIC_T (5) - db "GREG@" - db TRAINERTYPE_MOVES - - ; party - - db 17, DROWZEE - db HYPNOSIS - db DISABLE - db DREAM_EATER - db 0 - - db $ff ; end - -; ================ - - ; PSYCHIC_T (6) - db "NORMAN@" - db TRAINERTYPE_MOVES - - ; party - - db 17, SLOWPOKE - db TACKLE - db GROWL - db WATER_GUN - db 0 - - db 20, SLOWPOKE - db CURSE - db BODY_SLAM - db WATER_GUN - db CONFUSION - - db $ff ; end - -; ================ - - ; PSYCHIC_T (7) - db "MARK@" - db TRAINERTYPE_MOVES - - ; party - - db 13, ABRA - db TELEPORT - db FLASH - db 0 - db 0 - - db 13, ABRA - db TELEPORT - db FLASH - db 0 - db 0 - - db 15, KADABRA - db TELEPORT - db KINESIS - db CONFUSION - db 0 - - db $ff ; end - -; ================ - - ; PSYCHIC_T (8) - db "PHIL@" - db TRAINERTYPE_MOVES - - ; party - - db 24, NATU - db LEER - db NIGHT_SHADE - db FUTURE_SIGHT - db CONFUSE_RAY - - db 26, KADABRA - db DISABLE - db PSYBEAM - db RECOVER - db FUTURE_SIGHT - - db $ff ; end - -; ================ - - ; PSYCHIC_T (9) - db "RICHARD@" - db TRAINERTYPE_NORMAL - - ; party - db 36, ESPEON - - db $ff ; end - -; ================ - - ; PSYCHIC_T (10) - db "GILBERT@" - db TRAINERTYPE_NORMAL - - ; party - db 30, STARMIE - db 30, EXEGGCUTE - db 34, GIRAFARIG - - db $ff ; end - -; ================ - - ; PSYCHIC_T (11) - db "JARED@" - db TRAINERTYPE_NORMAL - - ; party - db 32, MR__MIME - db 32, EXEGGCUTE - db 35, EXEGGCUTE - - db $ff ; end - -; ================ - - ; PSYCHIC_T (12) - db "RODNEY@" - db TRAINERTYPE_NORMAL - - ; party - db 29, DROWZEE - db 33, HYPNO - - db $ff ; end - -; ================ -; ================================ - - -PicnickerGroup: -; ================================ -; ================ - - ; PICNICKER (1) - db "LIZ@" - db TRAINERTYPE_NORMAL - - ; party - db 9, NIDORAN_F - - db $ff ; end - -; ================ - - ; PICNICKER (2) - db "GINA@" - db TRAINERTYPE_NORMAL - - ; party - db 9, HOPPIP - db 9, HOPPIP - db 12, BULBASAUR - - db $ff ; end - -; ================ - - ; PICNICKER (3) - db "BROOKE@" - db TRAINERTYPE_MOVES - - ; party - - db 16, PIKACHU - db THUNDERSHOCK - db GROWL - db QUICK_ATTACK - db DOUBLE_TEAM - - db $ff ; end - -; ================ - - ; PICNICKER (4) - db "KIM@" - db TRAINERTYPE_NORMAL - - ; party - db 15, VULPIX - - db $ff ; end - -; ================ - - ; PICNICKER (5) - db "CINDY@" - db TRAINERTYPE_NORMAL - - ; party - db 36, NIDOQUEEN - - db $ff ; end - -; ================ - - ; PICNICKER (6) - db "HOPE@" - db TRAINERTYPE_NORMAL - - ; party - db 34, FLAAFFY - - db $ff ; end - -; ================ - - ; PICNICKER (7) - db "SHARON@" - db TRAINERTYPE_NORMAL - - ; party - db 31, FURRET - db 33, RAPIDASH - - db $ff ; end - -; ================ - - ; PICNICKER (8) - db "DEBRA@" - db TRAINERTYPE_NORMAL - - ; party - db 33, SEAKING - - db $ff ; end - -; ================ - - ; PICNICKER (9) - db "GINA@" - db TRAINERTYPE_NORMAL - - ; party - db 14, HOPPIP - db 14, HOPPIP - db 17, IVYSAUR - - db $ff ; end - -; ================ - - ; PICNICKER (10) - db "ERIN@" - db TRAINERTYPE_NORMAL - - ; party - db 16, PONYTA - db 16, PONYTA - - db $ff ; end - -; ================ - - ; PICNICKER (11) - db "LIZ@" - db TRAINERTYPE_NORMAL - - ; party - db 15, WEEPINBELL - db 15, NIDORINA - - db $ff ; end - -; ================ - - ; PICNICKER (12) - db "LIZ@" - db TRAINERTYPE_NORMAL - - ; party - db 19, WEEPINBELL - db 19, NIDORINO - db 21, NIDOQUEEN - - db $ff ; end - -; ================ - - ; PICNICKER (13) - db "HEIDI@" - db TRAINERTYPE_NORMAL - - ; party - db 32, SKIPLOOM - db 32, SKIPLOOM - - db $ff ; end - -; ================ - - ; PICNICKER (14) - db "EDNA@" - db TRAINERTYPE_NORMAL - - ; party - db 30, NIDORINA - db 34, RAICHU - - db $ff ; end - -; ================ - - ; PICNICKER (15) - db "GINA@" - db TRAINERTYPE_NORMAL - - ; party - db 26, SKIPLOOM - db 26, SKIPLOOM - db 29, IVYSAUR - - db $ff ; end - -; ================ - - ; PICNICKER (16) - db "TIFFANY@" - db TRAINERTYPE_MOVES - - ; party - - db 31, CLEFAIRY - db ENCORE - db SING - db DOUBLESLAP - db MINIMIZE - - db $ff ; end - -; ================ - - ; PICNICKER (17) - db "TIFFANY@" - db TRAINERTYPE_MOVES - - ; party - - db 37, CLEFAIRY - db ENCORE - db DOUBLESLAP - db MINIMIZE - db METRONOME - - db $ff ; end - -; ================ - - ; PICNICKER (18) - db "ERIN@" - db TRAINERTYPE_NORMAL - - ; party - db 32, PONYTA - db 32, PONYTA - - db $ff ; end - -; ================ - - ; PICNICKER (19) - db "TANYA@" - db TRAINERTYPE_NORMAL - - ; party - db 37, EXEGGUTOR - - db $ff ; end - -; ================ - - ; PICNICKER (20) - db "TIFFANY@" - db TRAINERTYPE_MOVES - - ; party - - db 20, CLEFAIRY - db ENCORE - db SING - db DOUBLESLAP - db MINIMIZE - - db $ff ; end - -; ================ - - ; PICNICKER (21) - db "ERIN@" - db TRAINERTYPE_MOVES - - ; party - - db 36, PONYTA - db DOUBLE_TEAM - db STOMP - db FIRE_SPIN - db SUNNY_DAY - - db 34, RAICHU - db SWIFT - db MUD_SLAP - db QUICK_ATTACK - db THUNDERBOLT - - db 36, PONYTA - db DOUBLE_TEAM - db STOMP - db FIRE_SPIN - db SUNNY_DAY - - db $ff ; end - -; ================ - - ; PICNICKER (22) - db "LIZ@" - db TRAINERTYPE_NORMAL - - ; party - db 24, WEEPINBELL - db 26, NIDORINO - db 26, NIDOQUEEN - - db $ff ; end - -; ================ - - ; PICNICKER (23) - db "LIZ@" - db TRAINERTYPE_MOVES - - ; party - - db 30, WEEPINBELL - db SLEEP_POWDER - db POISONPOWDER - db STUN_SPORE - db SLUDGE_BOMB - - db 32, NIDOKING - db EARTHQUAKE - db DOUBLE_KICK - db POISON_STING - db IRON_TAIL - - db 32, NIDOQUEEN - db EARTHQUAKE - db DOUBLE_KICK - db TAIL_WHIP - db BODY_SLAM - - db $ff ; end - -; ================ - - ; PICNICKER (24) - db "GINA@" - db TRAINERTYPE_NORMAL - - ; party - db 30, SKIPLOOM - db 30, SKIPLOOM - db 32, IVYSAUR - - db $ff ; end - -; ================ - - ; PICNICKER (25) - db "GINA@" - db TRAINERTYPE_MOVES - - ; party - - db 33, JUMPLUFF - db STUN_SPORE - db SUNNY_DAY - db LEECH_SEED - db COTTON_SPORE - - db 33, JUMPLUFF - db SUNNY_DAY - db SLEEP_POWDER - db LEECH_SEED - db COTTON_SPORE - - db 38, VENUSAUR - db SOLARBEAM - db RAZOR_LEAF - db HEADBUTT - db MUD_SLAP - - db $ff ; end - -; ================ - - ; PICNICKER (26) - db "TIFFANY@" - db TRAINERTYPE_MOVES - - ; party - - db 43, CLEFAIRY - db METRONOME - db ENCORE - db MOONLIGHT - db MINIMIZE - - db $ff ; end - -; ================ -; ================================ - - -CamperGroup: -; ================================ -; ================ - - ; CAMPER (1) - db "ROLAND@" - db TRAINERTYPE_NORMAL - - ; party - db 9, NIDORAN_M - - db $ff ; end - -; ================ - - ; CAMPER (2) - db "TODD@" - db TRAINERTYPE_NORMAL - - ; party - db 14, PSYDUCK - - db $ff ; end - -; ================ - - ; CAMPER (3) - db "IVAN@" - db TRAINERTYPE_NORMAL - - ; party - db 10, DIGLETT - db 10, ZUBAT - db 14, DIGLETT - - db $ff ; end - -; ================ - - ; CAMPER (4) - db "ELLIOT@" - db TRAINERTYPE_NORMAL - - ; party - db 13, SANDSHREW - db 15, MARILL - - db $ff ; end - -; ================ - - ; CAMPER (5) - db "BARRY@" - db TRAINERTYPE_NORMAL - - ; party - db 36, NIDOKING - - db $ff ; end - -; ================ - - ; CAMPER (6) - db "LLOYD@" - db TRAINERTYPE_NORMAL - - ; party - db 34, NIDOKING - - db $ff ; end - -; ================ - - ; CAMPER (7) - db "DEAN@" - db TRAINERTYPE_NORMAL - - ; party - db 33, GOLDUCK - db 31, SANDSLASH - - db $ff ; end - -; ================ - - ; CAMPER (8) - db "SID@" - db TRAINERTYPE_NORMAL - - ; party - db 32, DUGTRIO - db 29, PRIMEAPE - db 29, POLIWRATH - - db $ff ; end - -; ================ - - ; CAMPER (9) - db "HARVEY@" - db TRAINERTYPE_NORMAL - - ; party - db 15, NIDORINO - - db $ff ; end - -; ================ - - ; CAMPER (10) - db "DALE@" - db TRAINERTYPE_NORMAL - - ; party - db 15, NIDORINO - - db $ff ; end - -; ================ - - ; CAMPER (11) - db "TED@" - db TRAINERTYPE_NORMAL - - ; party - db 17, MANKEY - - db $ff ; end - -; ================ - - ; CAMPER (12) - db "TODD@" - db TRAINERTYPE_NORMAL - - ; party - db 17, GEODUDE - db 17, GEODUDE - db 23, PSYDUCK - - db $ff ; end - -; ================ - - ; CAMPER (13) - db "TODD@" - db TRAINERTYPE_NORMAL - - ; party - db 23, GEODUDE - db 23, GEODUDE - db 26, PSYDUCK - - db $ff ; end - -; ================ - - ; CAMPER (14) - db "THOMAS@" - db TRAINERTYPE_NORMAL - - ; party - db 33, GRAVELER - db 36, GRAVELER - db 40, GOLBAT - db 42, GOLDUCK - - db $ff ; end - -; ================ - - ; CAMPER (15) - db "LEROY@" - db TRAINERTYPE_NORMAL - - ; party - db 33, GRAVELER - db 36, GRAVELER - db 40, GOLBAT - db 42, GOLDUCK - - db $ff ; end - -; ================ - - ; CAMPER (16) - db "DAVID@" - db TRAINERTYPE_NORMAL - - ; party - db 33, GRAVELER - db 36, GRAVELER - db 40, GOLBAT - db 42, GOLDUCK - - db $ff ; end - -; ================ - - ; CAMPER (17) - db "JOHN@" - db TRAINERTYPE_NORMAL - - ; party - db 33, GRAVELER - db 36, GRAVELER - db 40, GOLBAT - db 42, GOLDUCK - - db $ff ; end - -; ================ - - ; CAMPER (18) - db "JERRY@" - db TRAINERTYPE_NORMAL - - ; party - db 37, SANDSLASH - - db $ff ; end - -; ================ - - ; CAMPER (19) - db "SPENCER@" - db TRAINERTYPE_NORMAL - - ; party - db 17, SANDSHREW - db 17, SANDSLASH - db 19, ZUBAT - - db $ff ; end - -; ================ - - ; CAMPER (20) - db "TODD@" - db TRAINERTYPE_NORMAL - - ; party - db 30, GRAVELER - db 30, GRAVELER - db 30, SLUGMA - db 32, PSYDUCK - - db $ff ; end - -; ================ - - ; CAMPER (21) - db "TODD@" - db TRAINERTYPE_MOVES - - ; party - - db 33, GRAVELER - db SELFDESTRUCT - db ROCK_THROW - db HARDEN - db MAGNITUDE - - db 33, GRAVELER - db SELFDESTRUCT - db ROCK_THROW - db HARDEN - db MAGNITUDE - - db 36, MAGCARGO - db ROCK_THROW - db HARDEN - db AMNESIA - db FLAMETHROWER - - db 34, GOLDUCK - db DISABLE - db PSYCHIC_M - db SURF - db PSYCH_UP - - db $ff ; end - -; ================ - - ; CAMPER (22) - db "QUENTIN@" - db TRAINERTYPE_NORMAL - - ; party - db 30, FEAROW - db 30, PRIMEAPE - db 30, TAUROS - - db $ff ; end - -; ================ -; ================================ - - -ExecutiveFGroup: -; ================================ -; ================ - - ; EXECUTIVEF (1) - db "EXECUTIVE@" - db TRAINERTYPE_MOVES - - ; party - - db 32, ARBOK - db WRAP - db POISON_STING - db BITE - db GLARE - - db 32, VILEPLUME - db ABSORB - db SWEET_SCENT - db SLEEP_POWDER - db ACID - - db 32, MURKROW - db PECK - db PURSUIT - db HAZE - db NIGHT_SHADE - - db $ff ; end - -; ================ - - ; EXECUTIVEF (2) - db "EXECUTIVE@" - db TRAINERTYPE_MOVES - - ; party - - db 23, ARBOK - db WRAP - db LEER - db POISON_STING - db BITE - - db 23, GLOOM - db ABSORB - db SWEET_SCENT - db SLEEP_POWDER - db ACID - - db 25, MURKROW - db PECK - db PURSUIT - db HAZE - db 0 - - db $ff ; end - -; ================ -; ================================ - - -SageGroup: -; ================================ -; ================ - - ; SAGE (1) - db "CHOW@" - db TRAINERTYPE_NORMAL - - ; party - db 3, BELLSPROUT - db 3, BELLSPROUT - db 3, BELLSPROUT - - db $ff ; end - -; ================ - - ; SAGE (2) - db "NICO@" - db TRAINERTYPE_NORMAL - - ; party - db 3, BELLSPROUT - db 3, BELLSPROUT - db 3, BELLSPROUT - - db $ff ; end - -; ================ - - ; SAGE (3) - db "JIN@" - db TRAINERTYPE_NORMAL - - ; party - db 6, BELLSPROUT - - db $ff ; end - -; ================ - - ; SAGE (4) - db "TROY@" - db TRAINERTYPE_NORMAL - - ; party - db 7, BELLSPROUT - db 7, HOOTHOOT - - db $ff ; end - -; ================ - - ; SAGE (5) - db "JEFFREY@" - db TRAINERTYPE_NORMAL - - ; party - db 22, HAUNTER - - db $ff ; end - -; ================ - - ; SAGE (6) - db "PING@" - db TRAINERTYPE_NORMAL - - ; party - db 16, GASTLY - db 16, GASTLY - db 16, GASTLY - db 16, GASTLY - db 16, GASTLY - - db $ff ; end - -; ================ - - ; SAGE (7) - db "EDMOND@" - db TRAINERTYPE_NORMAL - - ; party - db 3, BELLSPROUT - db 3, BELLSPROUT - db 3, BELLSPROUT - - db $ff ; end - -; ================ - - ; SAGE (8) - db "NEAL@" - db TRAINERTYPE_NORMAL - - ; party - db 6, BELLSPROUT - - db $ff ; end - -; ================ - - ; SAGE (9) - db "LI@" - db TRAINERTYPE_NORMAL - - ; party - db 7, BELLSPROUT - db 7, BELLSPROUT - db 10, HOOTHOOT - - db $ff ; end - -; ================ - - ; SAGE (10) - db "GAKU@" - db TRAINERTYPE_NORMAL - - ; party - db 32, NOCTOWL - db 32, FLAREON - - db $ff ; end - -; ================ - - ; SAGE (11) - db "MASA@" - db TRAINERTYPE_NORMAL - - ; party - db 32, NOCTOWL - db 32, JOLTEON - - db $ff ; end - -; ================ - - ; SAGE (12) - db "KOJI@" - db TRAINERTYPE_NORMAL - - ; party - db 32, NOCTOWL - db 32, VAPOREON - - db $ff ; end - -; ================ -; ================================ - - -MediumGroup: -; ================================ -; ================ - - ; MEDIUM (1) - db "MARTHA@" - db TRAINERTYPE_NORMAL - - ; party - db 18, GASTLY - db 20, HAUNTER - db 20, GASTLY - - db $ff ; end - -; ================ - - ; MEDIUM (2) - db "GRACE@" - db TRAINERTYPE_NORMAL - - ; party - db 20, HAUNTER - db 20, HAUNTER - - db $ff ; end - -; ================ - - ; MEDIUM (3) - db "BETHANY@" - db TRAINERTYPE_NORMAL - - ; party - db 25, HAUNTER - - db $ff ; end - -; ================ - - ; MEDIUM (4) - db "MARGRET@" - db TRAINERTYPE_NORMAL - - ; party - db 25, HAUNTER - - db $ff ; end - -; ================ - - ; MEDIUM (5) - db "ETHEL@" - db TRAINERTYPE_NORMAL - - ; party - db 25, HAUNTER - - db $ff ; end - -; ================ - - ; MEDIUM (6) - db "REBECCA@" - db TRAINERTYPE_NORMAL - - ; party - db 35, DROWZEE - db 35, HYPNO - - db $ff ; end - -; ================ - - ; MEDIUM (7) - db "DORIS@" - db TRAINERTYPE_NORMAL - - ; party - db 34, SLOWPOKE - db 36, SLOWBRO - - db $ff ; end - -; ================ -; ================================ - - -BoarderGroup: -; ================================ -; ================ - - ; BOARDER (1) - db "RONALD@" - db TRAINERTYPE_NORMAL - - ; party - db 24, SEEL - db 25, DEWGONG - db 24, SEEL - - db $ff ; end - -; ================ - - ; BOARDER (2) - db "BRAD@" - db TRAINERTYPE_NORMAL - - ; party - db 26, SWINUB - db 26, SWINUB - - db $ff ; end - -; ================ - - ; BOARDER (3) - db "DOUGLAS@" - db TRAINERTYPE_NORMAL - - ; party - db 24, SHELLDER - db 25, CLOYSTER - db 24, SHELLDER - - db $ff ; end - -; ================ -; ================================ - - -PokefanMGroup: -; ================================ -; ================ - - ; POKEFANM (1) - db "WILLIAM@" - db TRAINERTYPE_ITEM - - ; party - db 14, RAICHU, BERRY - - db $ff ; end - -; ================ - - ; POKEFANM (2) - db "DEREK@" - db TRAINERTYPE_ITEM - - ; party - db 17, PIKACHU, BERRY - - db $ff ; end - -; ================ - - ; POKEFANM (3) - db "ROBERT@" - db TRAINERTYPE_ITEM - - ; party - db 33, QUAGSIRE, BERRY - - db $ff ; end - -; ================ - - ; POKEFANM (4) - db "JOSHUA@" - db TRAINERTYPE_ITEM - - ; party - db 23, PIKACHU, BERRY - db 23, PIKACHU, BERRY - db 23, PIKACHU, BERRY - db 23, PIKACHU, BERRY - db 23, PIKACHU, BERRY - db 23, PIKACHU, BERRY - - db $ff ; end - -; ================ - - ; POKEFANM (5) - db "CARTER@" - db TRAINERTYPE_ITEM - - ; party - db 29, BULBASAUR, BERRY - db 29, CHARMANDER, BERRY - db 29, SQUIRTLE, BERRY - - db $ff ; end - -; ================ - - ; POKEFANM (6) - db "TREVOR@" - db TRAINERTYPE_ITEM - - ; party - db 33, PSYDUCK, BERRY - - db $ff ; end - -; ================ - - ; POKEFANM (7) - db "BRANDON@" - db TRAINERTYPE_ITEM - - ; party - db 13, SNUBBULL, BERRY - - db $ff ; end - -; ================ - - ; POKEFANM (8) - db "JEREMY@" - db TRAINERTYPE_ITEM - - ; party - db 28, MEOWTH, BERRY - db 28, MEOWTH, BERRY - db 28, MEOWTH, BERRY - - db $ff ; end - -; ================ - - ; POKEFANM (9) - db "COLIN@" - db TRAINERTYPE_ITEM - - ; party - db 32, DELIBIRD, BERRY - - db $ff ; end - -; ================ - - ; POKEFANM (10) - db "DEREK@" - db TRAINERTYPE_ITEM - - ; party - db 19, PIKACHU, BERRY - - db $ff ; end - -; ================ - - ; POKEFANM (11) - db "DEREK@" - db TRAINERTYPE_ITEM - - ; party - db 36, PIKACHU, BERRY - - db $ff ; end - -; ================ - - ; POKEFANM (12) - db "ALEX@" - db TRAINERTYPE_ITEM - - ; party - db 29, NIDOKING, BERRY - db 29, SLOWKING, BERRY - db 29, SEAKING, BERRY - - db $ff ; end - -; ================ - - ; POKEFANM (13) - db "REX@" - db TRAINERTYPE_ITEM - - ; party - db 35, PHANPY, BERRY - - db $ff ; end - -; ================ - - ; POKEFANM (14) - db "ALLAN@" - db TRAINERTYPE_ITEM - - ; party - db 35, TEDDIURSA, BERRY - - db $ff ; end - -; ================ -; ================================ - - -KimonoGirlGroup: -; ================================ -; ================ - - ; KIMONO_GIRL (1) - db "NAOKO@" - db TRAINERTYPE_NORMAL - - ; party - db 20, SKIPLOOM - db 20, VULPIX - db 18, SKIPLOOM - - db $ff ; end - -; ================ - - ; KIMONO_GIRL (2) - db "NAOKO@" - db TRAINERTYPE_NORMAL - - ; party - db 17, FLAREON - - db $ff ; end - -; ================ - - ; KIMONO_GIRL (3) - db "SAYO@" - db TRAINERTYPE_NORMAL - - ; party - db 17, ESPEON - - db $ff ; end - -; ================ - - ; KIMONO_GIRL (4) - db "ZUKI@" - db TRAINERTYPE_NORMAL - - ; party - db 17, UMBREON - - db $ff ; end - -; ================ - - ; KIMONO_GIRL (5) - db "KUNI@" - db TRAINERTYPE_NORMAL - - ; party - db 17, VAPOREON - - db $ff ; end - -; ================ - - ; KIMONO_GIRL (6) - db "MIKI@" - db TRAINERTYPE_NORMAL - - ; party - db 17, JOLTEON - - db $ff ; end - -; ================ -; ================================ - - -TwinsGroup: -; ================================ -; ================ - - ; TWINS (1) - db "AMY & MAY@" - db TRAINERTYPE_NORMAL - - ; party - db 10, SPINARAK - db 10, LEDYBA - - db $ff ; end - -; ================ - - ; TWINS (2) - db "ANN & ANNE@" - db TRAINERTYPE_MOVES - - ; party - - db 16, CLEFAIRY - db GROWL - db ENCORE - db DOUBLESLAP - db METRONOME - - db 16, JIGGLYPUFF - db SING - db DEFENSE_CURL - db POUND - db DISABLE - - db $ff ; end - -; ================ - - ; TWINS (3) - db "ANN & ANNE@" - db TRAINERTYPE_MOVES - - ; party - - db 16, JIGGLYPUFF - db SING - db DEFENSE_CURL - db POUND - db DISABLE - - db 16, CLEFAIRY - db GROWL - db ENCORE - db DOUBLESLAP - db METRONOME - - db $ff ; end - -; ================ - - ; TWINS (4) - db "AMY & MAY@" - db TRAINERTYPE_NORMAL - - ; party - db 10, LEDYBA - db 10, SPINARAK - - db $ff ; end - -; ================ - - ; TWINS (5) - db "JO & ZOE@" - db TRAINERTYPE_NORMAL - - ; party - db 35, VICTREEBEL - db 35, VILEPLUME - - db $ff ; end - -; ================ - - ; TWINS (6) - db "JO & ZOE@" - db TRAINERTYPE_NORMAL - - ; party - db 35, VILEPLUME - db 35, VICTREEBEL - - db $ff ; end - -; ================ - - ; TWINS (7) - db "MEG & PEG@" - db TRAINERTYPE_NORMAL - - ; party - db 31, TEDDIURSA - db 31, PHANPY - - db $ff ; end - -; ================ - - ; TWINS (8) - db "MEG & PEG@" - db TRAINERTYPE_NORMAL - - ; party - db 31, PHANPY - db 31, TEDDIURSA - - db $ff ; end - -; ================ - - ; TWINS (9) - db "LEA & PIA@" - db TRAINERTYPE_MOVES - - ; party - - db 35, DRATINI - db THUNDER_WAVE - db TWISTER - db FLAMETHROWER - db HEADBUTT - - db 35, DRATINI - db THUNDER_WAVE - db TWISTER - db ICE_BEAM - db HEADBUTT - - db $ff ; end - -; ================ - - ; TWINS (10) - db "LEA & PIA@" - db TRAINERTYPE_MOVES - - ; party - - db 38, DRATINI - db THUNDER_WAVE - db TWISTER - db ICE_BEAM - db HEADBUTT - - db 38, DRATINI - db THUNDER_WAVE - db TWISTER - db FLAMETHROWER - db HEADBUTT - - db $ff ; end - -; ================ -; ================================ - - -PokefanFGroup: -; ================================ -; ================ - - ; POKEFANF (1) - db "BEVERLY@" - db TRAINERTYPE_ITEM - - ; party - db 14, SNUBBULL, BERRY - - db $ff ; end - -; ================ - - ; POKEFANF (2) - db "RUTH@" - db TRAINERTYPE_ITEM - - ; party - db 17, PIKACHU, BERRY - - db $ff ; end - -; ================ - - ; POKEFANF (3) - db "BEVERLY@" - db TRAINERTYPE_ITEM - - ; party - db 18, SNUBBULL, BERRY - - db $ff ; end - -; ================ - - ; POKEFANF (4) - db "BEVERLY@" - db TRAINERTYPE_ITEM - - ; party - db 30, GRANBULL, BERRY - - db $ff ; end - -; ================ - - ; POKEFANF (5) - db "GEORGIA@" - db TRAINERTYPE_ITEM - - ; party - db 23, SENTRET, BERRY - db 23, SENTRET, BERRY - db 23, SENTRET, BERRY - db 28, FURRET, BERRY - db 23, SENTRET, BERRY - - db $ff ; end - -; ================ - - ; POKEFANF (6) - db "JAIME@" - db TRAINERTYPE_ITEM - - ; party - db 16, MEOWTH, BERRY - - db $ff ; end - -; ================ -; ================================ - - -RedGroup: -; ================================ -; ================ - - ; RED (1) - db "RED@" - db TRAINERTYPE_MOVES - - ; party - - db 81, PIKACHU - db CHARM - db QUICK_ATTACK - db THUNDERBOLT - db THUNDER - - db 73, ESPEON - db MUD_SLAP - db REFLECT - db SWIFT - db PSYCHIC_M - - db 75, SNORLAX - db AMNESIA - db SNORE - db REST - db BODY_SLAM - - db 77, VENUSAUR - db SUNNY_DAY - db GIGA_DRAIN - db SYNTHESIS - db SOLARBEAM - - db 77, CHARIZARD - db FLAMETHROWER - db WING_ATTACK - db SLASH - db FIRE_SPIN - - db 77, BLASTOISE - db RAIN_DANCE - db SURF - db BLIZZARD - db WHIRLPOOL - - db $ff ; end - -; ================ -; ================================ - - -BlueGroup: -; ================================ -; ================ - - ; BLUE (1) - db "BLUE@" - db TRAINERTYPE_MOVES - - ; party - - db 56, PIDGEOT - db QUICK_ATTACK - db WHIRLWIND - db WING_ATTACK - db MIRROR_MOVE - - db 54, ALAKAZAM - db DISABLE - db RECOVER - db PSYCHIC_M - db REFLECT - - db 56, RHYDON - db FURY_ATTACK - db SANDSTORM - db ROCK_SLIDE - db EARTHQUAKE - - db 58, GYARADOS - db TWISTER - db HYDRO_PUMP - db RAIN_DANCE - db HYPER_BEAM - - db 58, EXEGGUTOR - db SUNNY_DAY - db LEECH_SEED - db EGG_BOMB - db SOLARBEAM - - db 58, ARCANINE - db ROAR - db SWIFT - db FLAMETHROWER - db EXTREMESPEED - - db $ff ; end - -; ================ -; ================================ - - -OfficerGroup: -; ================================ -; ================ - - ; OFFICER (1) - db "KEITH@" - db TRAINERTYPE_NORMAL - - ; party - db 17, GROWLITHE - - db $ff ; end - -; ================ - - ; OFFICER (2) - db "DIRK@" - db TRAINERTYPE_NORMAL - - ; party - db 14, GROWLITHE - db 14, GROWLITHE - - db $ff ; end - -; ================ -; ================================ - - -GruntFGroup: -; ================================ -; ================ - - ; GRUNTF (1) - db "GRUNT@" - db TRAINERTYPE_NORMAL - - ; party - db 9, ZUBAT - db 11, EKANS - - db $ff ; end - -; ================ - - ; GRUNTF (2) - db "GRUNT@" - db TRAINERTYPE_NORMAL - - ; party - db 26, ARBOK - - db $ff ; end - -; ================ - - ; GRUNTF (3) - db "GRUNT@" - db TRAINERTYPE_NORMAL - - ; party - db 25, GLOOM - db 25, GLOOM - - db $ff ; end - -; ================ - - ; GRUNTF (4) - db "GRUNT@" - db TRAINERTYPE_NORMAL - - ; party - db 21, EKANS - db 23, ODDISH - db 21, EKANS - db 24, GLOOM - - db $ff ; end - -; ================ - - ; GRUNTF (5) - db "GRUNT@" - db TRAINERTYPE_MOVES - - ; party - - db 18, EKANS - db WRAP - db LEER - db POISON_STING - db BITE - - db 18, GLOOM - db ABSORB - db SWEET_SCENT - db STUN_SPORE - db SLEEP_POWDER - - db $ff ; end - -; ================ -; ================================ - - -MysticalmanGroup: -; ================================ -; ================ - - ; MYSTICALMAN (1) - db "EUSINE@" - db TRAINERTYPE_MOVES - - ; party - - db 23, DROWZEE - db DREAM_EATER - db HYPNOSIS - db DISABLE - db CONFUSION - - db 23, HAUNTER - db LICK - db HYPNOSIS - db MEAN_LOOK - db CURSE - - db 25, ELECTRODE - db SCREECH - db SONICBOOM - db THUNDER - db ROLLOUT - - db $ff ; end - -; ================ -; ================================ diff --git a/wram.asm b/wram.asm index c58c76631..1a74682ca 100644 --- a/wram.asm +++ b/wram.asm @@ -2095,7 +2095,7 @@ UnownLetter:: db ; d234 wMoveSelectionMenuType:: db -; corresponds to the data/base_stats/*.asm contents +; corresponds to the data/pokemon/base_stats/*.asm contents CurBaseData:: ; d236 BaseDexNo:: db ; d236 BaseStats:: ; d237 -- cgit v1.2.3 From 6ba30e593e39057b700920808af0309c672688a0 Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Thu, 14 Dec 2017 23:35:08 -0500 Subject: Macro-ify the unused palette map --- main.asm | 6 ++++++ tilesets/palette_maps.asm | 8 ++------ tilesets/unused_museum_palette_map.asm | 32 ++++++++++++++++++++++++++++++++ tilesets/unused_palette_map_1.bin | Bin 112 -> 0 bytes tilesets/unused_palette_map_2.bin | 1 - 5 files changed, 40 insertions(+), 7 deletions(-) create mode 100644 tilesets/unused_museum_palette_map.asm delete mode 100644 tilesets/unused_palette_map_1.bin delete mode 100644 tilesets/unused_palette_map_2.bin diff --git a/main.asm b/main.asm index 7b51225e7..e46320dc2 100644 --- a/main.asm +++ b/main.asm @@ -1941,6 +1941,12 @@ ScrollBGMapPalettes:: ; 4c03f INCLUDE "tilesets/palette_maps.asm" +Unknown_4ce05: ; unreferenced +rept 26 + db $06 +endr +; 0x4ce1f + INCLUDE "data/collision_permissions.asm" EmptyAllSRAMBanks: ; 4cf1f diff --git a/tilesets/palette_maps.asm b/tilesets/palette_maps.asm index fb7da4cf4..55391aeac 100644 --- a/tilesets/palette_maps.asm +++ b/tilesets/palette_maps.asm @@ -105,8 +105,8 @@ TilesetPlayersHouse2FPalMap: ; 0x4caf5 INCLUDE "tilesets/players_house_2f_palette_map.asm" ; 0x4cb65 -UnusedPalMap1: -INCBIN "tilesets/unused_palette_map_1.bin" +UnusedMuseumPalMap: ; 0x4cb65 +INCLUDE "tilesets/unused_museum_palette_map.asm" ; 4cbd5 TilesetIcePathPalMap: ; 0x4cbd5 @@ -128,7 +128,3 @@ INCLUDE "tilesets/battle_tower_palette_map.asm" TilesetBattleTowerOutsidePalMap: ; 0x4cd95 INCLUDE "tilesets/battle_tower_outside_palette_map.asm" ; 0x4ce05 - -UnusedPalMap2: -INCBIN "tilesets/unused_palette_map_2.bin" -; 4ce1f diff --git a/tilesets/unused_museum_palette_map.asm b/tilesets/unused_museum_palette_map.asm new file mode 100644 index 000000000..cfbe6dbcd --- /dev/null +++ b/tilesets/unused_museum_palette_map.asm @@ -0,0 +1,32 @@ +; Matches pokered's "gate" tileset (notable for its Pewter Museum tiles) +; https://tcrf.net/Pok%C3%A9mon_Gold_and_Silver#Unused_Tile_Palette_Assignment_Data + + tilepal 0, WATER, RED, YELLOW, YELLOW, RED, GREEN, GREEN, BROWN + tilepal 0, BROWN, BROWN, GRAY, GRAY, GRAY, GRAY, GRAY, GRAY + tilepal 0, GRAY, GRAY, YELLOW, YELLOW, RED, GREEN, GREEN, BROWN + tilepal 0, BROWN, ROOF, GRAY, GRAY, GRAY, GRAY, GRAY, GRAY + tilepal 0, GRAY, GRAY, BROWN, BROWN, GRAY, BROWN, BROWN, ROOF + tilepal 0, ROOF, BROWN, BROWN, BROWN, ROOF, ROOF, ROOF, ROOF + tilepal 0, ROOF, ROOF, BROWN, BROWN, GRAY, BROWN, BROWN, ROOF + tilepal 0, ROOF, GRAY, ROOF, BROWN, ROOF, ROOF, GRAY, GRAY + tilepal 0, GRAY, GRAY, GRAY, GRAY, GRAY, GRAY, ROOF, ROOF + tilepal 0, GRAY, GRAY, GRAY, GRAY, GRAY, GRAY, RED, RED + tilepal 0, GRAY, GRAY, GRAY, GRAY, GRAY, GRAY, GRAY, GRAY + tilepal 0, GRAY, GRAY, GRAY, GRAY, GRAY, GRAY, GRAY, GRAY + +rept 16 + db $ff +endr + + tilepal 1, WATER, RED, YELLOW, YELLOW, RED, GREEN, GREEN, BROWN + tilepal 1, BROWN, BROWN, GRAY, GRAY, GRAY, GRAY, GRAY, GRAY + tilepal 1, GRAY, GRAY, YELLOW, YELLOW, RED, GREEN, GREEN, BROWN + tilepal 1, BROWN, ROOF, GRAY, GRAY, GRAY, GRAY, GRAY, GRAY + tilepal 1, GRAY, GRAY, BROWN, BROWN, GRAY, BROWN, BROWN, ROOF + tilepal 1, ROOF, BROWN, BROWN, BROWN, ROOF, ROOF, ROOF, ROOF + tilepal 1, ROOF, ROOF, BROWN, BROWN, GRAY, BROWN, BROWN, ROOF + tilepal 1, ROOF, GRAY, ROOF, BROWN, ROOF, ROOF, GRAY, GRAY + tilepal 1, GRAY, GRAY, GRAY, GRAY, GRAY, GRAY, ROOF, ROOF + tilepal 1, GRAY, GRAY, GRAY, GRAY, GRAY, GRAY, RED, RED + tilepal 1, GRAY, GRAY, GRAY, GRAY, GRAY, GRAY, GRAY, GRAY + tilepal 1, GRAY, GRAY, GRAY, GRAY, GRAY, GRAY, GRAY, GRAY diff --git a/tilesets/unused_palette_map_1.bin b/tilesets/unused_palette_map_1.bin deleted file mode 100644 index 04cb3ff2d..000000000 Binary files a/tilesets/unused_palette_map_1.bin and /dev/null differ diff --git a/tilesets/unused_palette_map_2.bin b/tilesets/unused_palette_map_2.bin deleted file mode 100644 index aba1b3cbf..000000000 --- a/tilesets/unused_palette_map_2.bin +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file -- cgit v1.2.3 From 28aec67f6e99db64582f66b26a5c898fe9943e00 Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Fri, 15 Dec 2017 00:05:53 -0500 Subject: Document one more bug/oversight Move FleeMons table into data/ --- battle/core.asm | 38 ++------------------------------------ battle/objects/functions.asm | 2 +- data/ball_colors.asm | 16 ---------------- data/battle/ball_colors.asm | 16 ++++++++++++++++ data/battle/flee_mons.asm | 36 ++++++++++++++++++++++++++++++++++++ docs/bugs_and_glitches.md | 31 +++++++++++++++++++++++++++++++ 6 files changed, 86 insertions(+), 53 deletions(-) delete mode 100644 data/ball_colors.asm create mode 100644 data/battle/ball_colors.asm create mode 100644 data/battle/flee_mons.asm diff --git a/battle/core.asm b/battle/core.asm index 9dd3ffd84..325ce52f9 100644 --- a/battle/core.asm +++ b/battle/core.asm @@ -820,41 +820,7 @@ TryEnemyFlee: ; 3c543 ret ; 3c59a -FleeMons: - -SometimesFleeMons: ; 3c59a - db MAGNEMITE - db GRIMER - db TANGELA - db MR__MIME - db EEVEE - db PORYGON - db DRATINI - db DRAGONAIR - db TOGETIC - db UMBREON - db UNOWN - db SNUBBULL - db HERACROSS - db -1 - -OftenFleeMons: ; 3c5a8 - db CUBONE - db ARTICUNO - db ZAPDOS - db MOLTRES - db QUAGSIRE - db DELIBIRD - db PHANPY - db TEDDIURSA - db -1 - -AlwaysFleeMons: ; 3c5b1 - db RAIKOU - db ENTEI -; db SUICUNE - db -1 -; 3c5b4 +INCLUDE "data/battle/flee_mons.asm" CompareMovePriority: ; 3c5b4 ; Compare the priority of the player and enemy's moves. @@ -876,7 +842,7 @@ GetMovePriority: ; 3c5c5 ld b, a - ; Vital throw goes last. + ; Vital Throw goes last. cp VITAL_THROW ld a, 0 ret z diff --git a/battle/objects/functions.asm b/battle/objects/functions.asm index 6a0c2ecf8..64c390cbe 100755 --- a/battle/objects/functions.asm +++ b/battle/objects/functions.asm @@ -450,7 +450,7 @@ GetBallAnimPal: ; cd249 (33:5249) ret ; cd26c (33:526c) -INCLUDE "data/ball_colors.asm" +INCLUDE "data/battle/ball_colors.asm" BattleAnimFunction_10: ; cd284 (33:5284) call BattleAnim_AnonJumptable diff --git a/data/ball_colors.asm b/data/ball_colors.asm deleted file mode 100644 index c3ba9d2b4..000000000 --- a/data/ball_colors.asm +++ /dev/null @@ -1,16 +0,0 @@ -; colors of balls thrown in battle - -BallColors: ; cd26c (33:526c) - db MASTER_BALL, PAL_BATTLE_OB_GREEN - db ULTRA_BALL, PAL_BATTLE_OB_YELLOW - db GREAT_BALL, PAL_BATTLE_OB_BLUE - db POKE_BALL, PAL_BATTLE_OB_RED - db HEAVY_BALL, PAL_BATTLE_OB_GRAY - db LEVEL_BALL, PAL_BATTLE_OB_BROWN - db LURE_BALL, PAL_BATTLE_OB_BLUE - db FAST_BALL, PAL_BATTLE_OB_BLUE - db FRIEND_BALL, PAL_BATTLE_OB_YELLOW - db MOON_BALL, PAL_BATTLE_OB_GRAY - db LOVE_BALL, PAL_BATTLE_OB_RED - db -1, PAL_BATTLE_OB_GRAY -; cd284 diff --git a/data/battle/ball_colors.asm b/data/battle/ball_colors.asm new file mode 100644 index 000000000..c3ba9d2b4 --- /dev/null +++ b/data/battle/ball_colors.asm @@ -0,0 +1,16 @@ +; colors of balls thrown in battle + +BallColors: ; cd26c (33:526c) + db MASTER_BALL, PAL_BATTLE_OB_GREEN + db ULTRA_BALL, PAL_BATTLE_OB_YELLOW + db GREAT_BALL, PAL_BATTLE_OB_BLUE + db POKE_BALL, PAL_BATTLE_OB_RED + db HEAVY_BALL, PAL_BATTLE_OB_GRAY + db LEVEL_BALL, PAL_BATTLE_OB_BROWN + db LURE_BALL, PAL_BATTLE_OB_BLUE + db FAST_BALL, PAL_BATTLE_OB_BLUE + db FRIEND_BALL, PAL_BATTLE_OB_YELLOW + db MOON_BALL, PAL_BATTLE_OB_GRAY + db LOVE_BALL, PAL_BATTLE_OB_RED + db -1, PAL_BATTLE_OB_GRAY +; cd284 diff --git a/data/battle/flee_mons.asm b/data/battle/flee_mons.asm new file mode 100644 index 000000000..1b1cea036 --- /dev/null +++ b/data/battle/flee_mons.asm @@ -0,0 +1,36 @@ +FleeMons: +; referenced by TryEnemyFlee and FastBallMultiplier + +SometimesFleeMons: ; 3c59a + db MAGNEMITE + db GRIMER + db TANGELA + db MR__MIME + db EEVEE + db PORYGON + db DRATINI + db DRAGONAIR + db TOGETIC + db UMBREON + db UNOWN + db SNUBBULL + db HERACROSS + db -1 + +OftenFleeMons: ; 3c5a8 + db CUBONE + db ARTICUNO + db ZAPDOS + db MOLTRES + db QUAGSIRE + db DELIBIRD + db PHANPY + db TEDDIURSA + db -1 + +AlwaysFleeMons: ; 3c5b1 + db RAIKOU + db ENTEI +; db SUICUNE + db -1 +; 3c5b4 diff --git a/docs/bugs_and_glitches.md b/docs/bugs_and_glitches.md index b70f7fcbd..31e61dfc0 100644 --- a/docs/bugs_and_glitches.md +++ b/docs/bugs_and_glitches.md @@ -29,6 +29,7 @@ - [Magikarp in Lake of Rage are shorter, not longer](#magikarp-in-lake-of-rage-are-shorter-not-longer) - [Battle transitions fail to account for the enemy's level](#battle-transitions-fail-to-account-for-the-enemys-level) - [Slot machine payout sound effects cut each other off](#slot-machine-payout-sound-effects-cut-each-other-off) +- [Team Rocket battle music is not used for Executives or Scientists](#team-rocket-battle-music-is-not-used-for-executives-or-scientists) - [No bump noise if standing on tile `$3E`](#no-bump-noise-if-standing-on-tile-3e) - [Playing Entei's Pokédex cry can distort Raikou's and Suicune's](#playing-enteis-pokédex-cry-can-distort-raikous-and-suicunes) - [`LoadMetatiles` wraps around past 128 blocks](#loadmetatiles-wraps-around-past-128-blocks) @@ -802,6 +803,36 @@ This is a bug with `Slots_PayoutAnim` in [engine/slot_machine.asm](/engine/slot_ **Fix:** Change `ret z` to `ret nz`. +## Team Rocket battle music is not used for Executives or Scientists + +This is a bug with `PlayBattleMusic` in [main.asm](/main.asm): + +```asm + ; really, they should have included admins and scientists here too... + ld de, MUSIC_ROCKET_BATTLE + cp GRUNTM + jr z, .done + cp GRUNTF + jr z, .done +``` + +**Fix:** + +```asm + ld de, MUSIC_ROCKET_BATTLE + cp GRUNTM + jr z, .done + cp GRUNTF + jr z, .done + cp EXECUTIVEM + jr z, .done + cp EXECUTIVEF + jr z, .done + cp SCIENTIST + jr z, .done +``` + + ## No bump noise if standing on tile `$3E` This is a bug with `DoPlayerMovement.CheckWarp` in [engine/player_movement.asm](/engine/player_movement.asm): -- cgit v1.2.3 From fecc5c339adf8d4c2939364e49e4ba5c46f207ba Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Fri, 15 Dec 2017 00:38:52 -0500 Subject: More comments for macros --- home/text.asm | 72 ++++---- macros/charmap.asm | 377 +++++++++++++++++++++--------------------- macros/scripts/audio.asm | 80 ++++----- macros/scripts/event.asm | 340 ++++++++++++++++++------------------- macros/scripts/gfx_anim.asm | 10 +- macros/scripts/move_anim.asm | 96 +++++------ macros/scripts/movement.asm | 163 +++++++++--------- macros/scripts/text.asm | 60 +++---- macros/scripts/trade_anim.asm | 192 ++++++++++----------- main.asm | 4 +- 10 files changed, 697 insertions(+), 697 deletions(-) diff --git a/home/text.asm b/home/text.asm index c78a9c0be..3401eba50 100644 --- a/home/text.asm +++ b/home/text.asm @@ -227,42 +227,42 @@ dict2: macro ._\@: endm - dict "", Char15 - dict "", LineChar - dict "", NextLineChar - dict TX_FAR, TextFar - dict $00, NullChar - dict $4c, Char4C - dict $4b, Char4B - dict "", Paragraph - dict "", PrintMomsName - dict "", PrintPlayerName - dict "", PrintRivalName - dict $35, Char35 - dict $36, Char36 - dict $37, Char37 - dict "", PrintRedsName - dict "", PrintGreensName - dict "#", PlacePOKe - dict "", PCChar - dict "", RocketChar - dict "", TMChar - dict "", TrainerChar - dict $23, PlaceKougeki - dict "", Char22 - dict "", ContText - dict "<......>", SixDotsChar - dict "", DoneText - dict "", PromptText - dict "", PlacePKMN - dict "", PlacePOKE - dict $25, NextChar - dict2 $1f, " " - dict "", PlaceDexEnd - dict "", PlaceMoveTargetsName - dict "", PlaceMoveUsersName - dict "", PlaceEnemysName - dict "", PlaceGenderedPlayerName + dict "", Char15 + dict "", LineChar + dict "", NextLineChar + dict TX_FAR, TextFar + dict $00, NullChar + dict $4c, Char4C + dict $4b, Char4B + dict "", Paragraph + dict "", PrintMomsName + dict "", PrintPlayerName + dict "", PrintRivalName + dict $35, Char35 + dict $36, Char36 + dict $37, Char37 + dict "", PrintRedsName + dict "", PrintGreensName + dict "#", PlacePOKe + dict "", PCChar + dict "", RocketChar + dict "", TMChar + dict "", TrainerChar + dict "", PlaceKougeki + dict "", Char22 + dict "", ContText + dict "<......>", SixDotsChar + dict "", DoneText + dict "", PromptText + dict "", PlacePKMN + dict "", PlacePOKE + dict "%", NextChar + dict2 "¯", " " + dict "", PlaceDexEnd + dict "", PlaceMoveTargetsName + dict "", PlaceMoveUsersName + dict "", PlaceEnemysName + dict "", PlaceGenderedPlayerName cp "゚" jr z, .place ; should be .diacritic diff --git a/macros/charmap.asm b/macros/charmap.asm index b936b0953..deb0aa2c0 100644 --- a/macros/charmap.asm +++ b/macros/charmap.asm @@ -1,208 +1,209 @@ ; Control characters - charmap "", $00 - charmap "", $14 ; gendered PlayerName; same as "" in English - charmap "", $15 - charmap "¯", $1f ; soft linebreak - charmap "", $22 - charmap "", $24 ; "" - charmap "%", $25 - charmap "", $38 ; RedsName - charmap "", $39 ; GreensName - charmap "", $3f - charmap "", $49 ; MomsName - charmap "", $4a ; "" - charmap "", $4e - charmap "", $4f - - charmap "@", $50 - charmap "", $51 - charmap "", $52 ; PlayerName - charmap "", $53 - charmap "#", $54 - charmap "", $55 - charmap "<......>", $56 ; "……" - charmap "", $57 - charmap "", $58 - charmap "", $59 - charmap "", $5a - charmap "", $5b ; "PC" - charmap "", $5c ; "TM" - charmap "", $5d ; "TRAINER" - charmap "", $5e ; "ROCKET" - charmap "", $5f + charmap "", $00 + charmap "", $14 ; gendered PlayerName; same as "" in English + charmap "", $15 + charmap "¯", $1f ; soft linebreak + charmap "", $22 + charmap "", $23 ; "こうげき" + charmap "", $24 ; "" + charmap "%", $25 + charmap "", $38 ; RedsName + charmap "", $39 ; GreensName + charmap "", $3f + charmap "", $49 ; MomsName + charmap "", $4a ; "" + charmap "", $4e + charmap "", $4f + + charmap "@", $50 ; string terminator + charmap "", $51 + charmap "", $52 ; PlayerName + charmap "", $53 + charmap "#", $54 ; "POKé" + charmap "", $55 + charmap "<......>", $56 ; "……" + charmap "", $57 + charmap "", $58 + charmap "", $59 + charmap "", $5a + charmap "", $5b ; "PC" + charmap "", $5c ; "TM" + charmap "", $5d ; "TRAINER" + charmap "", $5e ; "ROCKET" + charmap "", $5f ; Actual characters (from gfx/misc/font_extra.png) - charmap "", $60 ; unused - charmap "", $61 ; unused - charmap "", $62 ; unused - charmap "", $63 ; unused - charmap "", $64 ; unused - charmap "", $65 ; unused - charmap "", $66 ; unused - charmap "", $67 ; unused - charmap "", $68 ; unused - charmap "", $69 - charmap "", $6a - charmap "", $6b ; unused - charmap "", $6c ; unused - charmap "", $6d ; colon with tinier dots than ":" - charmap "ぃ", $6e ; hiragana small i, unused - charmap "ぅ", $6f ; hiragana small u, unused - charmap "", $70 - charmap "", $71 - charmap "<``>", $72 ; opening quote - charmap "<''>", $73 ; closing quote - charmap "·", $74 ; middle dot, unused - charmap "…", $75 ; ellipsis - charmap "ぁ", $76 ; hiragana small a, unused - charmap "ぇ", $77 ; hiragana small e, unused - charmap "ぉ", $78 ; hiragana small o, unused - - charmap "┌", $79 - charmap "─", $7a - charmap "┐", $7b - charmap "│", $7c - charmap "└", $7d - charmap "┘", $7e - charmap " ", $7f + charmap "", $60 ; unused + charmap "", $61 ; unused + charmap "", $62 ; unused + charmap "", $63 ; unused + charmap "", $64 ; unused + charmap "", $65 ; unused + charmap "", $66 ; unused + charmap "", $67 ; unused + charmap "", $68 ; unused + charmap "", $69 + charmap "", $6a + charmap "", $6b ; unused + charmap "", $6c ; unused + charmap "", $6d ; colon with tinier dots than ":" + charmap "ぃ", $6e ; hiragana small i, unused + charmap "ぅ", $6f ; hiragana small u, unused + charmap "", $70 + charmap "", $71 + charmap "<``>", $72 ; opening quote + charmap "<''>", $73 ; closing quote + charmap "·", $74 ; middle dot, unused + charmap "…", $75 ; ellipsis + charmap "ぁ", $76 ; hiragana small a, unused + charmap "ぇ", $77 ; hiragana small e, unused + charmap "ぉ", $78 ; hiragana small o, unused + + charmap "┌", $79 + charmap "─", $7a + charmap "┐", $7b + charmap "│", $7c + charmap "└", $7d + charmap "┘", $7e + charmap " ", $7f ; Actual characters (from gfx/misc/font_battle_extra.png) - charmap "", $6e + charmap "", $6e - charmap "<ど>", $70 ; hiragana small do, unused - charmap "◀", $71 - charmap "『", $72 ; Japanese opening quote, unused - charmap "", $73 - charmap "№", $74 + charmap "<ど>", $70 ; hiragana small do, unused + charmap "◀", $71 + charmap "『", $72 ; Japanese opening quote, unused + charmap "", $73 + charmap "№", $74 ; Actual characters (from other graphics files) - charmap "|", $31 ; from gfx/stats/stats_tiles + charmap "|", $31 ; from gfx/stats/stats_tiles - charmap "", $3f ; gfx/stats/shiny + charmap "", $3f ; gfx/stats/shiny - charmap "", $60 ; from gfx/mobile/phone_tiles.2bpp - charmap "▲", $61 ; gfx/font/up_arrow.png - charmap "", $62 ; gfx/mobile/overworld_phone_icon.2bpp - charmap "_", $62 ; from gfx/battle/hp_exp_bar_border.1bpp + charmap "", $60 ; from gfx/mobile/phone_tiles.2bpp + charmap "▲", $61 ; gfx/font/up_arrow.png + charmap "", $62 ; gfx/mobile/overworld_phone_icon.2bpp + charmap "_", $62 ; from gfx/battle/hp_exp_bar_border.1bpp - charmap "′", $6e ; gfx/font/feet_inches.png - charmap "″", $6f ; gfx/font/feet_inches.png + charmap "′", $6e ; gfx/font/feet_inches.png + charmap "″", $6f ; gfx/font/feet_inches.png ; Actual characters (from gfx/misc/font.png) - charmap "A", $80 - charmap "B", $81 - charmap "C", $82 - charmap "D", $83 - charmap "E", $84 - charmap "F", $85 - charmap "G", $86 - charmap "H", $87 - charmap "I", $88 - charmap "J", $89 - charmap "K", $8a - charmap "L", $8b - charmap "M", $8c - charmap "N", $8d - charmap "O", $8e - charmap "P", $8f - charmap "Q", $90 - charmap "R", $91 - charmap "S", $92 - charmap "T", $93 - charmap "U", $94 - charmap "V", $95 - charmap "W", $96 - charmap "X", $97 - charmap "Y", $98 - charmap "Z", $99 - - charmap "(", $9a - charmap ")", $9b - charmap ":", $9c - charmap ";", $9d - charmap "[", $9e - charmap "]", $9f - - charmap "a", $a0 - charmap "b", $a1 - charmap "c", $a2 - charmap "d", $a3 - charmap "e", $a4 - charmap "f", $a5 - charmap "g", $a6 - charmap "h", $a7 - charmap "i", $a8 - charmap "j", $a9 - charmap "k", $aa - charmap "l", $ab - charmap "m", $ac - charmap "n", $ad - charmap "o", $ae - charmap "p", $af - charmap "q", $b0 - charmap "r", $b1 - charmap "s", $b2 - charmap "t", $b3 - charmap "u", $b4 - charmap "v", $b5 - charmap "w", $b6 - charmap "x", $b7 - charmap "y", $b8 - charmap "z", $b9 - - charmap "Ä", $c0 - charmap "Ö", $c1 - charmap "Ü", $c2 - charmap "ä", $c3 - charmap "ö", $c4 - charmap "ü", $c5 - - charmap "'d", $d0 - charmap "'l", $d1 - charmap "'m", $d2 - charmap "'r", $d3 - charmap "'s", $d4 - charmap "'t", $d5 - charmap "'v", $d6 - - charmap "←", $df - charmap "'", $e0 - charmap "", $e1 - charmap "", $e2 - charmap "-", $e3 - - charmap "?", $e6 - charmap "!", $e7 - charmap ".", $e8 - charmap "&", $e9 - - charmap "é", $ea - charmap "→", $eb - charmap "▷", $ec - charmap "▶", $ed - charmap "▼", $ee - charmap "♂", $ef - charmap "¥", $f0 - charmap "×", $f1 - charmap "", $f2 ; same as "." in English - charmap "/", $f3 - charmap ",", $f4 - charmap "♀", $f5 - - charmap "0", $f6 - charmap "1", $f7 - charmap "2", $f8 - charmap "3", $f9 - charmap "4", $fa - charmap "5", $fb - charmap "6", $fc - charmap "7", $fd - charmap "8", $fe - charmap "9", $ff + charmap "A", $80 + charmap "B", $81 + charmap "C", $82 + charmap "D", $83 + charmap "E", $84 + charmap "F", $85 + charmap "G", $86 + charmap "H", $87 + charmap "I", $88 + charmap "J", $89 + charmap "K", $8a + charmap "L", $8b + charmap "M", $8c + charmap "N", $8d + charmap "O", $8e + charmap "P", $8f + charmap "Q", $90 + charmap "R", $91 + charmap "S", $92 + charmap "T", $93 + charmap "U", $94 + charmap "V", $95 + charmap "W", $96 + charmap "X", $97 + charmap "Y", $98 + charmap "Z", $99 + + charmap "(", $9a + charmap ")", $9b + charmap ":", $9c + charmap ";", $9d + charmap "[", $9e + charmap "]", $9f + + charmap "a", $a0 + charmap "b", $a1 + charmap "c", $a2 + charmap "d", $a3 + charmap "e", $a4 + charmap "f", $a5 + charmap "g", $a6 + charmap "h", $a7 + charmap "i", $a8 + charmap "j", $a9 + charmap "k", $aa + charmap "l", $ab + charmap "m", $ac + charmap "n", $ad + charmap "o", $ae + charmap "p", $af + charmap "q", $b0 + charmap "r", $b1 + charmap "s", $b2 + charmap "t", $b3 + charmap "u", $b4 + charmap "v", $b5 + charmap "w", $b6 + charmap "x", $b7 + charmap "y", $b8 + charmap "z", $b9 + + charmap "Ä", $c0 + charmap "Ö", $c1 + charmap "Ü", $c2 + charmap "ä", $c3 + charmap "ö", $c4 + charmap "ü", $c5 + + charmap "'d", $d0 + charmap "'l", $d1 + charmap "'m", $d2 + charmap "'r", $d3 + charmap "'s", $d4 + charmap "'t", $d5 + charmap "'v", $d6 + + charmap "←", $df + charmap "'", $e0 + charmap "", $e1 + charmap "", $e2 + charmap "-", $e3 + + charmap "?", $e6 + charmap "!", $e7 + charmap ".", $e8 + charmap "&", $e9 + + charmap "é", $ea + charmap "→", $eb + charmap "▷", $ec + charmap "▶", $ed + charmap "▼", $ee + charmap "♂", $ef + charmap "¥", $f0 + charmap "×", $f1 + charmap "", $f2 ; same as "." in English + charmap "/", $f3 + charmap ",", $f4 + charmap "♀", $f5 + + charmap "0", $f6 + charmap "1", $f7 + charmap "2", $f8 + charmap "3", $f9 + charmap "4", $fa + charmap "5", $fb + charmap "6", $fc + charmap "7", $fd + charmap "8", $fe + charmap "9", $ff ; Japanese kana, for those bits of text that were not translated to English diff --git a/macros/scripts/audio.asm b/macros/scripts/audio.asm index bac979a5f..3766785ba 100644 --- a/macros/scripts/audio.asm +++ b/macros/scripts/audio.asm @@ -26,7 +26,7 @@ cry_header: macro ; MusicCommands indexes (see audio/engine.asm) enum_start $d8 - enum notetype_cmd + enum notetype_cmd ; $d8 octave: macro db notetype_cmd - (\1) endm @@ -39,227 +39,227 @@ notetype: macro endc endm - enum pitchoffset_cmd + enum pitchoffset_cmd ; $d9 pitchoffset: macro db pitchoffset_cmd dn \1, \2 - 1 ; octave, key endm - enum tempo_cmd + enum tempo_cmd ; $da tempo: macro db tempo_cmd bigdw \1 ; tempo endm - enum dutycycle_cmd + enum dutycycle_cmd ; $db dutycycle: macro db dutycycle_cmd db \1 ; duty_cycle endm - enum intensity_cmd + enum intensity_cmd ; $dc intensity: macro db intensity_cmd db \1 ; intensity endm - enum soundinput_cmd + enum soundinput_cmd ; $dd soundinput: macro db soundinput_cmd db \1 ; input endm - enum sound_duty_cmd + enum sound_duty_cmd ; $de sound_duty: macro db sound_duty_cmd db \1 | (\2 << 2) | (\3 << 4) | (\4 << 6) ; duty sequence endm - enum togglesfx_cmd + enum togglesfx_cmd ; $df togglesfx: macro db togglesfx_cmd endm - enum slidepitchto_cmd + enum slidepitchto_cmd ; $e0 slidepitchto: macro db slidepitchto_cmd db \1 - 1 ; duration dn \2, \3 ; octave, pitch endm - enum vibrato_cmd + enum vibrato_cmd ; $e1 vibrato: macro db vibrato_cmd db \1 ; delay db \2 ; extent endm - enum unknownmusic0xe2_cmd + enum unknownmusic0xe2_cmd ; $e2 unknownmusic0xe2: macro db unknownmusic0xe2_cmd db \1 ; unknown endm - enum togglenoise_cmd + enum togglenoise_cmd ; $e3 togglenoise: macro db togglenoise_cmd db \1 ; id endm - enum panning_cmd + enum panning_cmd ; $e4 panning: macro db panning_cmd db \1 ; tracks endm - enum volume_cmd + enum volume_cmd ; $e5 volume: macro db volume_cmd db \1 ; volume endm - enum tone_cmd + enum tone_cmd ; $e6 tone: macro db tone_cmd bigdw \1 ; tone endm - enum unknownmusic0xe7_cmd + enum unknownmusic0xe7_cmd ; $e7 unknownmusic0xe7: macro db unknownmusic0xe7_cmd db \1 ; unknown endm - enum unknownmusic0xe8_cmd + enum unknownmusic0xe8_cmd ; $e8 unknownmusic0xe8: macro db unknownmusic0xe8_cmd db \1 ; unknown endm - enum tempo_relative_cmd + enum tempo_relative_cmd ; $e9 tempo_relative: macro db tempo_relative_cmd bigdw \1 ; value endm - enum restartchannel_cmd + enum restartchannel_cmd ; $ea restartchannel: macro db restartchannel_cmd dw \1 ; address endm - enum newsong_cmd + enum newsong_cmd ; $eb newsong: macro db newsong_cmd bigdw \1 ; id endm - enum sfxpriorityon_cmd + enum sfxpriorityon_cmd ; $ec sfxpriorityon: macro db sfxpriorityon_cmd endm - enum sfxpriorityoff_cmd + enum sfxpriorityoff_cmd ; $ed sfxpriorityoff: macro db sfxpriorityoff_cmd endm - enum unknownmusic0xee_cmd + enum unknownmusic0xee_cmd ; $ee unknownmusic0xee: macro db unknownmusic0xee_cmd dw \1 ; address endm - enum stereopanning_cmd + enum stereopanning_cmd ; $ef stereopanning: macro db stereopanning_cmd db \1 ; tracks endm - enum sfxtogglenoise_cmd + enum sfxtogglenoise_cmd ; $f0 sfxtogglenoise: macro db sfxtogglenoise_cmd db \1 ; id endm - enum music0xf1_cmd + enum music0xf1_cmd ; $f1 music0xf1: macro db music0xf1_cmd endm - enum music0xf2_cmd + enum music0xf2_cmd ; $f2 music0xf2: macro db music0xf2_cmd endm - enum music0xf3_cmd + enum music0xf3_cmd ; $f3 music0xf3: macro db music0xf3_cmd endm - enum music0xf4_cmd + enum music0xf4_cmd ; $f4 music0xf4: macro db music0xf4_cmd endm - enum music0xf5_cmd + enum music0xf5_cmd ; $f5 music0xf5: macro db music0xf5_cmd endm - enum music0xf6_cmd + enum music0xf6_cmd ; $f6 music0xf6: macro db music0xf6_cmd endm - enum music0xf7_cmd + enum music0xf7_cmd ; $f7 music0xf7: macro db music0xf7_cmd endm - enum music0xf8_cmd + enum music0xf8_cmd ; $f8 music0xf8: macro db music0xf8_cmd endm - enum unknownmusic0xf9_cmd + enum unknownmusic0xf9_cmd ; $f9 unknownmusic0xf9: macro db unknownmusic0xf9_cmd endm - enum setcondition_cmd + enum setcondition_cmd ; $fa setcondition: macro db setcondition_cmd db \1 ; condition endm - enum jumpif_cmd + enum jumpif_cmd ; $fb jumpif: macro db jumpif_cmd db \1 ; condition dw \2 ; address endm - enum jumpchannel_cmd + enum jumpchannel_cmd ; $fc jumpchannel: macro db jumpchannel_cmd dw \1 ; address endm - enum loopchannel_cmd + enum loopchannel_cmd ; $fd loopchannel: macro db loopchannel_cmd db \1 ; count dw \2 ; address endm - enum callchannel_cmd + enum callchannel_cmd ; $fe callchannel: macro db callchannel_cmd dw \1 ; address endm - enum endchannel_cmd + enum endchannel_cmd ; $ff endchannel: macro db endchannel_cmd endm diff --git a/macros/scripts/event.asm b/macros/scripts/event.asm index b00b6a6da..c40d6f8fd 100644 --- a/macros/scripts/event.asm +++ b/macros/scripts/event.asm @@ -1,101 +1,101 @@ ; ScriptCommandTable indexes (see engine/scripting.asm) enum_start - enum scall_command + enum scall_command ; $00 scall: macro db scall_command dw \1 ; pointer endm - enum farscall_command + enum farscall_command ; $01 farscall: macro db farscall_command dba \1 endm - enum ptcall_command + enum ptcall_command ; $02 ptcall: macro db ptcall_command dw \1 ; pointer endm - enum jump_command + enum jump_command ; $03 jump: macro db jump_command dw \1 ; pointer endm - enum farjump_command + enum farjump_command ; $04 farjump: macro db farjump_command dba \1 endm - enum ptjump_command + enum ptjump_command ; $05 ptjump: macro db ptjump_command dw \1 ; pointer endm - enum if_equal_command + enum if_equal_command ; $06 if_equal: macro db if_equal_command db \1 ; byte dw \2 ; pointer endm - enum if_not_equal_command + enum if_not_equal_command ; $07 if_not_equal: macro db if_not_equal_command db \1 ; byte dw \2 ; pointer endm - enum iffalse_command + enum iffalse_command ; $08 iffalse: macro db iffalse_command dw \1 ; pointer endm - enum iftrue_command + enum iftrue_command ; $09 iftrue: macro db iftrue_command dw \1 ; pointer endm - enum if_greater_than_command + enum if_greater_than_command ; $0a if_greater_than: macro db if_greater_than_command db \1 ; byte dw \2 ; pointer endm - enum if_less_than_command + enum if_less_than_command ; $0b if_less_than: macro db if_less_than_command db \1 ; byte dw \2 ; pointer endm - enum jumpstd_command + enum jumpstd_command ; $0c jumpstd: macro db jumpstd_command dw \1 ; predefined_script endm - enum callstd_command + enum callstd_command ; $0d callstd: macro db callstd_command dw \1 ; predefined_script endm - enum callasm_command + enum callasm_command ; $0e callasm: macro db callasm_command dba \1 endm - enum special_command + enum special_command ; $0f special: macro db special_command dw (\1Special - SpecialsPointers) / 3 @@ -106,98 +106,98 @@ add_special: MACRO dba \1 ENDM - enum ptcallasm_command + enum ptcallasm_command ; $10 ptcallasm: macro db ptcallasm_command dw \1 ; asm endm - enum checkmaptriggers_command + enum checkmaptriggers_command ; $11 checkmaptriggers: macro db checkmaptriggers_command map \1 ; map endm - enum domaptrigger_command + enum domaptrigger_command ; $12 domaptrigger: macro db domaptrigger_command map \1 ; map db \2 ; trigger_id endm - enum checktriggers_command + enum checktriggers_command ; $13 checktriggers: macro db checktriggers_command endm - enum dotrigger_command + enum dotrigger_command ; $14 dotrigger: macro db dotrigger_command db \1 ; trigger_id endm - enum writebyte_command + enum writebyte_command ; $15 writebyte: macro db writebyte_command db \1 ; value endm - enum addvar_command + enum addvar_command ; $16 addvar: macro db addvar_command db \1 ; value endm - enum random_command + enum random_command ; $17 random: macro db random_command db \1 ; input endm - enum checkver_command + enum checkver_command ; $18 checkver: macro db checkver_command endm - enum copybytetovar_command + enum copybytetovar_command ; $19 copybytetovar: macro db copybytetovar_command dw \1 ; address endm - enum copyvartobyte_command + enum copyvartobyte_command ; $1a copyvartobyte: macro db copyvartobyte_command dw \1 ; address endm - enum loadvar_command + enum loadvar_command ; $1b loadvar: macro db loadvar_command dw \1 ; address db \2 ; value endm - enum checkcode_command + enum checkcode_command ; $1c checkcode: macro db checkcode_command db \1 ; variable_id endm - enum writevarcode_command + enum writevarcode_command ; $1d writevarcode: macro db writevarcode_command db \1 ; variable_id endm - enum writecode_command + enum writecode_command ; $1e writecode: macro db writecode_command db \1 ; variable_id db \2 ; value endm - enum giveitem_command + enum giveitem_command ; $1f giveitem: macro db giveitem_command db \1 ; item @@ -208,7 +208,7 @@ else endc endm - enum takeitem_command + enum takeitem_command ; $20 takeitem: macro db takeitem_command db \1 ; item @@ -219,70 +219,70 @@ else endc endm - enum checkitem_command + enum checkitem_command ; $21 checkitem: macro db checkitem_command db \1 ; item endm - enum givemoney_command + enum givemoney_command ; $22 givemoney: macro db givemoney_command db \1 ; account dt \2 ; money endm - enum takemoney_command + enum takemoney_command ; $23 takemoney: macro db takemoney_command db \1 ; account dt \2 ; money endm - enum checkmoney_command + enum checkmoney_command ; $24 checkmoney: macro db checkmoney_command db \1 ; account dt \2 ; money endm - enum givecoins_command + enum givecoins_command ; $25 givecoins: macro db givecoins_command dw \1 ; coins endm - enum takecoins_command + enum takecoins_command ; $26 takecoins: macro db takecoins_command dw \1 ; coins endm - enum checkcoins_command + enum checkcoins_command ; $27 checkcoins: macro db checkcoins_command dw \1 ; coins endm - enum addcellnum_command + enum addcellnum_command ; $28 addcellnum: macro db addcellnum_command db \1 ; person endm - enum delcellnum_command + enum delcellnum_command ; $29 delcellnum: macro db delcellnum_command db \1 ; person endm - enum checkcellnum_command + enum checkcellnum_command ; $2a checkcellnum: macro db checkcellnum_command db \1 ; person endm - enum checktime_command + enum checktime_command ; $2b checktime: macro db checktime_command db \1 ; time @@ -292,13 +292,13 @@ checkmorn EQUS "checktime MORN" checkday EQUS "checktime DAY" checknite EQUS "checktime NITE" - enum checkpoke_command + enum checkpoke_command ; $2c checkpoke: macro db checkpoke_command db \1 ; pkmn endm - enum givepoke_command + enum givepoke_command ; $2d givepoke: macro db givepoke_command db \1 ; pokemon @@ -319,91 +319,91 @@ givepoke: macro endc endm - enum giveegg_command + enum giveegg_command ; $2e giveegg: macro db giveegg_command db \1 ; pkmn db \2 ; level endm - enum givepokeitem_command + enum givepokeitem_command ; $2f givepokeitem: macro db givepokeitem_command dw \1 ; pointer endm - enum checkpokeitem_command + enum checkpokeitem_command ; $30 checkpokeitem: macro db checkpokeitem_command dw \1 ; pointer endm - enum checkevent_command + enum checkevent_command ; $31 checkevent: macro db checkevent_command dw \1 ; event_flag endm - enum clearevent_command + enum clearevent_command ; $32 clearevent: macro db clearevent_command dw \1 ; event_flag endm - enum setevent_command + enum setevent_command ; $33 setevent: macro db setevent_command dw \1 ; event_flag endm - enum checkflag_command + enum checkflag_command ; $34 checkflag: macro db checkflag_command dw \1 ; engine_flag endm - enum clearflag_command + enum clearflag_command ; $35 clearflag: macro db clearflag_command dw \1 ; engine_flag endm - enum setflag_command + enum setflag_command ; $36 setflag: macro db setflag_command dw \1 ; engine_flag endm - enum wildon_command + enum wildon_command ; $37 wildon: macro db wildon_command endm - enum wildoff_command + enum wildoff_command ; $38 wildoff: macro db wildoff_command endm - enum xycompare_command + enum xycompare_command ; $39 xycompare: macro db xycompare_command dw \1 ; pointer endm - enum warpmod_command + enum warpmod_command ; $3a warpmod: macro db warpmod_command db \1 ; warp_id map \2 ; map endm - enum blackoutmod_command + enum blackoutmod_command ; $3b blackoutmod: macro db blackoutmod_command map \1 ; map endm - enum warp_command + enum warp_command ; $3c warp: macro db warp_command map \1 ; map @@ -411,46 +411,46 @@ warp: macro db \3 ; y endm - enum readmoney_command + enum readmoney_command ; $3d readmoney: macro db readmoney_command db \1 ; account db \2 ; memory endm - enum readcoins_command + enum readcoins_command ; $3e readcoins: macro db readcoins_command db \1 ; memory endm - enum RAM2MEM_command + enum RAM2MEM_command ; $3f RAM2MEM: macro db RAM2MEM_command db \1 ; memory endm - enum pokenamemem_command + enum pokenamemem_command ; $40 pokenamemem: macro db pokenamemem_command db \1 ; pokemon db \2 ; memory endm - enum itemtotext_command + enum itemtotext_command ; $41 itemtotext: macro db itemtotext_command db \1 ; item db \2 ; memory endm - enum mapnametotext_command + enum mapnametotext_command ; $42 mapnametotext: macro db mapnametotext_command db \1 ; memory endm - enum trainertotext_command + enum trainertotext_command ; $43 trainertotext: macro db trainertotext_command db \1 ; trainer_id @@ -458,273 +458,273 @@ trainertotext: macro db \3 ; memory endm - enum stringtotext_command + enum stringtotext_command ; $44 stringtotext: macro db stringtotext_command dw \1 ; text_pointer db \2 ; memory endm - enum itemnotify_command + enum itemnotify_command ; $45 itemnotify: macro db itemnotify_command endm - enum pocketisfull_command + enum pocketisfull_command ; $46 pocketisfull: macro db pocketisfull_command endm - enum opentext_command + enum opentext_command ; $47 opentext: macro db opentext_command endm - enum refreshscreen_command + enum refreshscreen_command ; $48 refreshscreen: macro db refreshscreen_command db \1 ; dummy endm - enum closetext_command + enum closetext_command ; $49 closetext: macro db closetext_command endm - enum loadbytec2cf_command + enum loadbytec2cf_command ; $4a loadbytec2cf: macro db loadbytec2cf_command db \1 ; byte endm - enum farwritetext_command + enum farwritetext_command ; $4b farwritetext: macro db farwritetext_command dba \1 endm - enum writetext_command + enum writetext_command ; $4c writetext: macro db writetext_command dw \1 ; text_pointer endm - enum repeattext_command + enum repeattext_command ; $4d repeattext: macro db repeattext_command db \1 ; byte db \2 ; byte endm - enum yesorno_command + enum yesorno_command ; $4e yesorno: macro db yesorno_command endm - enum loadmenudata_command + enum loadmenudata_command ; $4f loadmenudata: macro db loadmenudata_command dw \1 ; data endm - enum closewindow_command + enum closewindow_command ; $50 closewindow: macro db closewindow_command endm - enum jumptextfaceplayer_command + enum jumptextfaceplayer_command ; $51 jumptextfaceplayer: macro db jumptextfaceplayer_command dw \1 ; text_pointer endm ; IF _CRYSTAL - enum farjumptext_command + enum farjumptext_command ; $52 farjumptext: macro db farjumptext_command dba \1 endm ; ENDC - enum jumptext_command + enum jumptext_command ; $53 jumptext: macro db jumptext_command dw \1 ; text_pointer endm - enum waitbutton_command + enum waitbutton_command ; $54 waitbutton: macro db waitbutton_command endm - enum buttonsound_command + enum buttonsound_command ; $55 buttonsound: macro db buttonsound_command endm - enum pokepic_command + enum pokepic_command ; $56 pokepic: macro db pokepic_command db \1 ; pokemon endm - enum closepokepic_command + enum closepokepic_command ; $57 closepokepic: macro db closepokepic_command endm - enum _2dmenu_command + enum _2dmenu_command ; $58 _2dmenu: macro db _2dmenu_command endm - enum verticalmenu_command + enum verticalmenu_command ; $59 verticalmenu: macro db verticalmenu_command endm - enum loadpikachudata_command + enum loadpikachudata_command ; $5a loadpikachudata: macro db loadpikachudata_command endm - enum randomwildmon_command + enum randomwildmon_command ; $5b randomwildmon: macro db randomwildmon_command endm - enum loadmemtrainer_command + enum loadmemtrainer_command ; $5c loadmemtrainer: macro db loadmemtrainer_command endm - enum loadwildmon_command + enum loadwildmon_command ; $5d loadwildmon: macro db loadwildmon_command db \1 ; pokemon db \2 ; level endm - enum loadtrainer_command + enum loadtrainer_command ; $5e loadtrainer: macro db loadtrainer_command db \1 ; trainer_group db \2 ; trainer_id endm - enum startbattle_command + enum startbattle_command ; $5f startbattle: macro db startbattle_command endm - enum reloadmapafterbattle_command + enum reloadmapafterbattle_command ; $60 reloadmapafterbattle: macro db reloadmapafterbattle_command endm - enum catchtutorial_command + enum catchtutorial_command ; $61 catchtutorial: macro db catchtutorial_command db \1 ; byte endm - enum trainertext_command + enum trainertext_command ; $62 trainertext: macro db trainertext_command db \1 ; which_text endm - enum trainerflagaction_command + enum trainerflagaction_command ; $63 trainerflagaction: macro db trainerflagaction_command db \1 ; action endm - enum winlosstext_command + enum winlosstext_command ; $64 winlosstext: macro db winlosstext_command dw \1 ; win_text_pointer dw \2 ; loss_text_pointer endm - enum scripttalkafter_command + enum scripttalkafter_command ; $65 scripttalkafter: macro db scripttalkafter_command endm - enum end_if_just_battled_command + enum end_if_just_battled_command ; $66 end_if_just_battled: macro db end_if_just_battled_command endm - enum check_just_battled_command + enum check_just_battled_command ; $67 check_just_battled: macro db check_just_battled_command endm - enum setlasttalked_command + enum setlasttalked_command ; $68 setlasttalked: macro db setlasttalked_command db \1 ; person endm - enum applymovement_command + enum applymovement_command ; $69 applymovement: macro db applymovement_command db \1 ; person dw \2 ; data endm - enum applymovement2_command + enum applymovement2_command ; $6a applymovement2: macro db applymovement2_command dw \1 ; data endm - enum faceplayer_command + enum faceplayer_command ; $6b faceplayer: macro db faceplayer_command endm - enum faceperson_command + enum faceperson_command ; $6c faceperson: macro db faceperson_command db \1 ; person1 db \2 ; person2 endm - enum variablesprite_command + enum variablesprite_command ; $6d variablesprite: macro db variablesprite_command db \1 - SPRITE_VARS ; byte db \2 ; sprite endm - enum disappear_command + enum disappear_command ; $6e disappear: macro db disappear_command db \1 ; person endm - enum appear_command + enum appear_command ; $6f appear: macro db appear_command db \1 ; person endm - enum follow_command + enum follow_command ; $70 follow: macro db follow_command db \1 ; person2 db \2 ; person1 endm - enum stopfollow_command + enum stopfollow_command ; $71 stopfollow: macro db stopfollow_command endm - enum moveperson_command + enum moveperson_command ; $72 moveperson: macro db moveperson_command db \1 ; person @@ -732,19 +732,19 @@ moveperson: macro db \3 ; y endm - enum writepersonxy_command + enum writepersonxy_command ; $73 writepersonxy: macro db writepersonxy_command db \1 ; person endm - enum loademote_command + enum loademote_command ; $74 loademote: macro db loademote_command db \1 ; bubble endm - enum showemote_command + enum showemote_command ; $75 showemote: macro db showemote_command db \1 ; bubble @@ -752,34 +752,34 @@ showemote: macro db \3 ; time endm - enum spriteface_command + enum spriteface_command ; $76 spriteface: macro db spriteface_command db \1 ; person db \2 ; facing endm - enum follownotexact_command + enum follownotexact_command ; $77 follownotexact: macro db follownotexact_command db \1 ; person2 db \2 ; person1 endm - enum earthquake_command + enum earthquake_command ; $78 earthquake: macro db earthquake_command db \1 ; param endm - enum changemap_command + enum changemap_command ; $79 changemap: macro db changemap_command db \1 ; map_bank dw \2 ; map_data_pointer endm - enum changeblock_command + enum changeblock_command ; $7a changeblock: macro db changeblock_command db \1 ; x @@ -787,205 +787,205 @@ changeblock: macro db \3 ; block endm - enum reloadmap_command + enum reloadmap_command ; $7b reloadmap: macro db reloadmap_command endm - enum reloadmappart_command + enum reloadmappart_command ; $7c reloadmappart: macro db reloadmappart_command endm - enum writecmdqueue_command + enum writecmdqueue_command ; $7d writecmdqueue: macro db writecmdqueue_command dw \1 ; queue_pointer endm - enum delcmdqueue_command + enum delcmdqueue_command ; $7e delcmdqueue: macro db delcmdqueue_command db \1 ; byte endm - enum playmusic_command + enum playmusic_command ; $7f playmusic: macro db playmusic_command dw \1 ; music_pointer endm - enum encountermusic_command + enum encountermusic_command ; $80 encountermusic: macro db encountermusic_command endm - enum musicfadeout_command + enum musicfadeout_command ; $81 musicfadeout: macro db musicfadeout_command dw \1 ; music db \2 ; fadetime endm - enum playmapmusic_command + enum playmapmusic_command ; $82 playmapmusic: macro db playmapmusic_command endm - enum dontrestartmapmusic_command + enum dontrestartmapmusic_command ; $83 dontrestartmapmusic: macro db dontrestartmapmusic_command endm - enum cry_command + enum cry_command ; $84 cry: macro db cry_command dw \1 ; cry_id endm - enum playsound_command + enum playsound_command ; $85 playsound: macro db playsound_command dw \1 ; sound_pointer endm - enum waitsfx_command + enum waitsfx_command ; $86 waitsfx: macro db waitsfx_command endm - enum warpsound_command + enum warpsound_command ; $87 warpsound: macro db warpsound_command endm - enum specialsound_command + enum specialsound_command ; $88 specialsound: macro db specialsound_command endm - enum passtoengine_command + enum passtoengine_command ; $89 passtoengine: macro db passtoengine_command db \1 ; data_pointer endm - enum newloadmap_command + enum newloadmap_command ; $8a newloadmap: macro db newloadmap_command db \1 ; which_method endm - enum pause_command + enum pause_command ; $8b pause: macro db pause_command db \1 ; length endm - enum deactivatefacing_command + enum deactivatefacing_command ; $8c deactivatefacing: macro db deactivatefacing_command db \1 ; time endm - enum priorityjump_command + enum priorityjump_command ; $8d priorityjump: macro db priorityjump_command dw \1 ; pointer endm - enum warpcheck_command + enum warpcheck_command ; $8e warpcheck: macro db warpcheck_command endm - enum ptpriorityjump_command + enum ptpriorityjump_command ; $8f ptpriorityjump: macro db ptpriorityjump_command dw \1 ; pointer endm - enum return_command + enum return_command ; $90 return: macro db return_command endm - enum end_command + enum end_command ; $91 end: macro db end_command endm - enum reloadandreturn_command + enum reloadandreturn_command ; $92 reloadandreturn: macro db reloadandreturn_command db \1 ; which_method endm - enum end_all_command + enum end_all_command ; $93 end_all: macro db end_all_command endm - enum pokemart_command + enum pokemart_command ; $94 pokemart: macro db pokemart_command db \1 ; dialog_id dw \2 ; mart_id endm - enum elevator_command + enum elevator_command ; $95 elevator: macro db elevator_command dw \1 ; floor_list_pointer endm - enum trade_command + enum trade_command ; $96 trade: macro db trade_command db \1 ; trade_id endm - enum askforphonenumber_command + enum askforphonenumber_command ; $97 askforphonenumber: macro db askforphonenumber_command db \1 ; number endm - enum phonecall_command + enum phonecall_command ; $98 phonecall: macro db phonecall_command dw \1 ; caller_name endm - enum hangup_command + enum hangup_command ; $99 hangup: macro db hangup_command endm - enum describedecoration_command + enum describedecoration_command ; $9a describedecoration: macro db describedecoration_command db \1 ; byte endm - enum fruittree_command + enum fruittree_command ; $9b fruittree: macro db fruittree_command db \1 ; tree_id endm - enum specialphonecall_command + enum specialphonecall_command ; $9c specialphonecall: macro db specialphonecall_command dw \1 ; call_id endm - enum checkphonecall_command + enum checkphonecall_command ; $9d checkphonecall: macro db checkphonecall_command endm - enum verbosegiveitem_command + enum verbosegiveitem_command ; $9e verbosegiveitem: macro db verbosegiveitem_command db \1 ; item @@ -996,31 +996,31 @@ else endc endm - enum verbosegiveitem2_command + enum verbosegiveitem2_command ; $9f verbosegiveitem2: macro db verbosegiveitem2_command db \1 ; item db \2 ; var endm - enum swarm_command + enum swarm_command ; $a0 swarm: macro db swarm_command db \1 ; flag map \2 ; map endm - enum halloffame_command + enum halloffame_command ; $a1 halloffame: macro db halloffame_command endm - enum credits_command + enum credits_command ; $a2 credits: macro db credits_command endm - enum warpfacing_command + enum warpfacing_command ; $a3 warpfacing: macro db warpfacing_command db \1 ; facing @@ -1029,27 +1029,27 @@ warpfacing: macro db \4 ; y endm - enum battletowertext_command + enum battletowertext_command ; $a4 battletowertext: macro db battletowertext_command db \1 ; memory endm - enum landmarktotext_command + enum landmarktotext_command ; $a5 landmarktotext: macro db landmarktotext_command db \1 ; id db \2 ; memory endm - enum trainerclassname_command + enum trainerclassname_command ; $a6 trainerclassname: macro db trainerclassname_command db \1 ; id db \2 ; memory endm - enum name_command + enum name_command ; $a7 name: macro db name_command db \1 ; type @@ -1057,13 +1057,13 @@ name: macro db \3 ; memory endm - enum wait_command + enum wait_command ; $a8 wait: macro db wait_command db \1 ; duration endm - enum check_save_command + enum check_save_command ; $a9 check_save: macro db check_save_command endm diff --git a/macros/scripts/gfx_anim.asm b/macros/scripts/gfx_anim.asm index cb85aba09..a3fa710a0 100644 --- a/macros/scripts/gfx_anim.asm +++ b/macros/scripts/gfx_anim.asm @@ -14,31 +14,31 @@ endc enum_start $fc - enum delanim_command ; fc + enum delanim_command ; $fc delanim: macro ; used for oam db delanim_command endm - enum dorepeat_command ; fd + enum dorepeat_command ; $fd dorepeat: macro db dorepeat_command db \1 ; # endm - enum setrepeat_command ; fe + enum setrepeat_command ; $fe setrepeat: macro db setrepeat_command db \1 ; # endm - enum endanim_command ; ff + enum endanim_command ; $ff endanim: macro db endanim_command endm __enum__ = $fe - enum dorestart_command ; fe + enum dorestart_command ; $fe dorestart: macro ; used for oam db dorestart_command endm diff --git a/macros/scripts/move_anim.asm b/macros/scripts/move_anim.asm index 9859fbd50..7714bb09a 100644 --- a/macros/scripts/move_anim.asm +++ b/macros/scripts/move_anim.asm @@ -8,7 +8,7 @@ endc ; BattleAnimCommands indexes (see battle/anim_commands.asm) enum_start $d0 - enum anim_obj_command ; d0 + enum anim_obj_command ; $d0 anim_obj: macro db anim_obj_command db \1 ; obj @@ -17,20 +17,20 @@ anim_obj: macro db \6 ; param endm - enum anim_1gfx_command ; d1 + enum anim_1gfx_command ; $d1 anim_1gfx: macro db anim_1gfx_command db \1 ; gfx1 endm - enum anim_2gfx_command ; d2 + enum anim_2gfx_command ; $d2 anim_2gfx: macro db anim_2gfx_command db \1 ; gfx1 db \2 ; gfx2 endm - enum anim_3gfx_command ; d3 + enum anim_3gfx_command ; $d3 anim_3gfx: macro db anim_3gfx_command db \1 ; gfx1 @@ -38,7 +38,7 @@ anim_3gfx: macro db \3 ; gfx3 endm - enum anim_4gfx_command ; d4 + enum anim_4gfx_command ; $d4 anim_4gfx: macro db anim_4gfx_command db \1 ; gfx1 @@ -47,7 +47,7 @@ anim_4gfx: macro db \4 ; gfx4 endm - enum anim_5gfx_command ; d5 + enum anim_5gfx_command ; $d5 anim_5gfx: macro db anim_5gfx_command db \1 ; gfx1 @@ -57,147 +57,147 @@ anim_5gfx: macro db \5 ; gfx5 endm - enum anim_incobj_command ; d6 + enum anim_incobj_command ; $d6 anim_incobj: macro db anim_incobj_command db \1 ; id endm - enum anim_setobj_command ; d7 + enum anim_setobj_command ; $d7 anim_setobj: macro db anim_setobj_command db \1 ; id db \2 ; obj endm - enum anim_incbgeffect_command ; d8 + enum anim_incbgeffect_command ; $d8 anim_incbgeffect: macro db anim_incbgeffect_command db \1 ; effect endm - enum anim_enemyfeetobj_command ; d9 + enum anim_enemyfeetobj_command ; $d9 anim_enemyfeetobj: macro db anim_enemyfeetobj_command endm - enum anim_playerheadobj_command ; da + enum anim_playerheadobj_command ; $da anim_playerheadobj: macro db anim_playerheadobj_command endm - enum anim_checkpokeball_command ; db + enum anim_checkpokeball_command ; $db anim_checkpokeball: macro db anim_checkpokeball_command endm - enum anim_transform_command ; dc + enum anim_transform_command ; $dc anim_transform: macro db anim_transform_command endm - enum anim_raisesub_command ; dd + enum anim_raisesub_command ; $dd anim_raisesub: macro db anim_raisesub_command endm - enum anim_dropsub_command ; de + enum anim_dropsub_command ; $de anim_dropsub: macro db anim_dropsub_command endm - enum anim_resetobp0_command ; df + enum anim_resetobp0_command ; $df anim_resetobp0: macro db anim_resetobp0_command endm - enum anim_sound_command ; e0 + enum anim_sound_command ; $e0 anim_sound: macro db anim_sound_command db (\1 << 2) | \2 ; duration, tracks db \3 ; id endm - enum anim_cry_command ; e1 + enum anim_cry_command ; $e1 anim_cry: macro db anim_cry_command db \1 ; pitch endm - enum anim_minimizeopp_command ; e2 + enum anim_minimizeopp_command ; $e2 anim_minimizeopp: macro db anim_minimizeopp_command endm - enum anim_oamon_command ; e3 + enum anim_oamon_command ; $e3 anim_oamon: macro db anim_oamon_command endm - enum anim_oamoff_command ; e4 + enum anim_oamoff_command ; $e4 anim_oamoff: macro db anim_oamoff_command endm - enum anim_clearobjs_command ; e5 + enum anim_clearobjs_command ; $e5 anim_clearobjs: macro db anim_clearobjs_command endm - enum anim_beatup_command ; e6 + enum anim_beatup_command ; $e6 anim_beatup: macro db anim_beatup_command endm - enum anim_0xe7_command ; e7 + enum anim_0xe7_command ; $e7 anim_0xe7: macro db anim_0xe7_command endm - enum anim_updateactorpic_command ; e8 + enum anim_updateactorpic_command ; $e8 anim_updateactorpic: macro db anim_updateactorpic_command endm - enum anim_minimize_command ; e9 + enum anim_minimize_command ; $e9 anim_minimize: macro db anim_minimize_command endm - enum anim_0xea_command ; ea + enum anim_0xea_command ; $ea anim_0xea: macro db anim_0xea_command endm - enum anim_0xeb_command ; eb + enum anim_0xeb_command ; $eb anim_0xeb: macro db anim_0xeb_command endm - enum anim_0xec_command ; ec + enum anim_0xec_command ; $ec anim_0xec: macro db anim_0xec_command endm - enum anim_0xed_command ; ed + enum anim_0xed_command ; $ed anim_0xed: macro db anim_0xed_command endm - enum anim_if_param_and_command ; ee + enum anim_if_param_and_command ; $ee anim_if_param_and: macro db anim_if_param_and_command db \1 ; value dw \2 ; address endm - enum anim_jumpuntil_command ; ef + enum anim_jumpuntil_command ; $ef anim_jumpuntil: macro db anim_jumpuntil_command dw \1 ; address endm - enum anim_bgeffect_command ; f0 + enum anim_bgeffect_command ; $f0 anim_bgeffect: macro db anim_bgeffect_command db \1 ; effect @@ -206,89 +206,89 @@ anim_bgeffect: macro db \4 ; unknown endm - enum anim_bgp_command ; f1 + enum anim_bgp_command ; $f1 anim_bgp: macro db anim_bgp_command db \1 ; colors endm - enum anim_obp0_command ; f2 + enum anim_obp0_command ; $f2 anim_obp0: macro db anim_obp0_command db \1 ; colors endm - enum anim_obp1_command ; f3 + enum anim_obp1_command ; $f3 anim_obp1: macro db anim_obp1_command db \1 ; colors endm - enum anim_clearsprites_command ; f4 + enum anim_clearsprites_command ; $f4 anim_clearsprites: macro db anim_clearsprites_command endm - enum anim_0xf5_command ; f5 + enum anim_0xf5_command ; $f5 anim_0xf5: macro db anim_0xf5_command endm - enum anim_0xf6_command ; f6 + enum anim_0xf6_command ; $f6 anim_0xf6: macro db anim_0xf6_command endm - enum anim_0xf7_command ; f7 + enum anim_0xf7_command ; $f7 anim_0xf7: macro db anim_0xf7_command endm - enum anim_if_param_equal_command ; f8 + enum anim_if_param_equal_command ; $f8 anim_if_param_equal: macro db anim_if_param_equal_command db \1 ; value dw \2 ; address endm - enum anim_setvar_command ; f9 + enum anim_setvar_command ; $f9 anim_setvar: macro db anim_setvar_command db \1 ; value endm - enum anim_incvar_command ; fa + enum anim_incvar_command ; $fa anim_incvar: macro db anim_incvar_command endm - enum anim_if_var_equal_command ; fb + enum anim_if_var_equal_command ; $fb anim_if_var_equal: macro db anim_if_var_equal_command db \1 ; value dw \2 ; address endm - enum anim_jump_command ; fc + enum anim_jump_command ; $fc anim_jump: macro db anim_jump_command dw \1 ; address endm - enum anim_loop_command ; fd + enum anim_loop_command ; $fd anim_loop: macro db anim_loop_command db \1 ; count dw \2 ; address endm - enum anim_call_command ; fe + enum anim_call_command ; $fe anim_call: macro db anim_call_command dw \1 ; address endm - enum anim_ret_command ; ff + enum anim_ret_command ; $ff anim_ret: macro db anim_ret_command endm diff --git a/macros/scripts/movement.asm b/macros/scripts/movement.asm index a2acf1356..28be559a3 100644 --- a/macros/scripts/movement.asm +++ b/macros/scripts/movement.asm @@ -3,138 +3,138 @@ ; Directional movements - enum movement_turn_head + enum movement_turn_head ; $00 turn_head: macro - db movement_turn_head | \1 ; $00 + db movement_turn_head | \1 endm __enum__ = __enum__ + 3 - enum movement_turn_step + enum movement_turn_step ; $04 turn_step: macro - db movement_turn_step | \1 ; $04 + db movement_turn_step | \1 endm __enum__ = __enum__ + 3 - enum movement_slow_step + enum movement_slow_step ; $08 slow_step: macro - db movement_slow_step | \1; $08 + db movement_slow_step | \1 endm __enum__ = __enum__ + 3 - enum movement_step + enum movement_step ; $0c step: macro - db movement_step | \1 ; $0c + db movement_step | \1 endm __enum__ = __enum__ + 3 - enum movement_big_step + enum movement_big_step ; $10 big_step: macro - db movement_big_step | \1 ; $10 + db movement_big_step | \1 endm __enum__ = __enum__ + 3 - enum movement_slow_slide_step + enum movement_slow_slide_step ; $14 slow_slide_step: macro - db movement_slow_slide_step | \1 ; $14 + db movement_slow_slide_step | \1 endm __enum__ = __enum__ + 3 - enum movement_slide_step + enum movement_slide_step ; $18 slide_step: macro - db movement_slide_step | \1 ; $18 + db movement_slide_step | \1 endm __enum__ = __enum__ + 3 - enum movement_fast_slide_step + enum movement_fast_slide_step ; $1c fast_slide_step: macro - db movement_fast_slide_step | \1 ; $1c + db movement_fast_slide_step | \1 endm __enum__ = __enum__ + 3 - enum movement_turn_away + enum movement_turn_away ; $20 turn_away: macro - db movement_turn_away | \1 ; $20 + db movement_turn_away | \1 endm __enum__ = __enum__ + 3 - enum movement_turn_in + enum movement_turn_in ; $24 turn_in: macro - db movement_turn_in | \1 ; $24 + db movement_turn_in | \1 endm __enum__ = __enum__ + 3 - enum movement_turn_waterfall + enum movement_turn_waterfall ; $28 turn_waterfall: macro - db movement_turn_waterfall | \1 ; $28 + db movement_turn_waterfall | \1 endm __enum__ = __enum__ + 3 - enum movement_slow_jump_step + enum movement_slow_jump_step ; $2c slow_jump_step: macro - db movement_slow_jump_step | \1 ; $2c + db movement_slow_jump_step | \1 endm __enum__ = __enum__ + 3 - enum movement_jump_step + enum movement_jump_step ; $30 jump_step: macro - db movement_jump_step | \1 ; $30 + db movement_jump_step | \1 endm __enum__ = __enum__ + 3 - enum movement_fast_jump_step + enum movement_fast_jump_step ; $34 fast_jump_step: macro - db movement_fast_jump_step | \1 ; $34 + db movement_fast_jump_step | \1 endm __enum__ = __enum__ + 3 ; Control - enum movement_remove_sliding + enum movement_remove_sliding ; $38 remove_sliding: macro - db movement_remove_sliding ; $38 + db movement_remove_sliding endm - enum movement_set_sliding + enum movement_set_sliding ; $39 set_sliding: macro - db movement_set_sliding ; $39 + db movement_set_sliding endm - enum movement_remove_fixed_facing + enum movement_remove_fixed_facing ; $3a remove_fixed_facing: macro - db movement_remove_fixed_facing ; $3a + db movement_remove_fixed_facing endm - enum movement_fix_facing + enum movement_fix_facing ; $3b fix_facing: macro - db movement_fix_facing ; $3b + db movement_fix_facing endm - enum movement_show_person + enum movement_show_person ; $3c show_person: macro - db movement_show_person ; $3c + db movement_show_person endm - enum movement_hide_person + enum movement_hide_person ; $3d hide_person: macro - db movement_hide_person ; $3d + db movement_hide_person endm ; Sleep - enum movement_step_sleep + enum movement_step_sleep ; $3e step_sleep: macro if \1 <= 8 db movement_step_sleep + \1 - 1 @@ -145,103 +145,102 @@ endm __enum__ = __enum__ + 8 - enum movement_step_end + enum movement_step_end ; $47 step_end: macro - db movement_step_end ; $47 + db movement_step_end endm -; Whatever Movement_48 is, it takes a one-byte parameter - enum movement_step_48 + enum movement_step_48 ; $48 step_48: macro db movement_step_48 - db \1 + db \1 ; ??? endm - enum movement_remove_person + enum movement_remove_person ; $49 remove_person: macro - db movement_remove_person ; $49 + db movement_remove_person endm - enum movement_step_loop + enum movement_step_loop ; $4a step_loop: macro - db movement_step_loop ; $4a + db movement_step_loop endm - enum movement_step_4b + enum movement_step_4b ; $4b step_4b: macro - db movement_step_4b ; $4b + db movement_step_4b endm - enum movement_teleport_from + enum movement_teleport_from ; $4c teleport_from: macro - db movement_teleport_from ; $4c + db movement_teleport_from endm - enum movement_teleport_to + enum movement_teleport_to ; $4d teleport_to: macro - db movement_teleport_to ; $4d + db movement_teleport_to endm - enum movement_skyfall + enum movement_skyfall ; $4e skyfall: macro - db movement_skyfall ; $4e + db movement_skyfall endm - enum movement_step_dig + enum movement_step_dig ; $4f step_dig: macro - db movement_step_dig ; $4f - db \1 + db movement_step_dig + db \1 ; length endm - enum movement_step_bump + enum movement_step_bump ; $50 step_bump: macro - db movement_step_bump ; $50 + db movement_step_bump endm - enum movement_fish_got_bite + enum movement_fish_got_bite ; $51 fish_got_bite: macro - db movement_fish_got_bite ; $51 + db movement_fish_got_bite endm - enum movement_fish_cast_rod + enum movement_fish_cast_rod ; $52 fish_cast_rod: macro - db movement_fish_cast_rod ; $52 + db movement_fish_cast_rod endm - enum movement_hide_emote + enum movement_hide_emote ; $53 hide_emote: macro - db movement_hide_emote ; $53 + db movement_hide_emote endm - enum movement_show_emote + enum movement_show_emote ; $54 show_emote: macro - db movement_show_emote ; $54 + db movement_show_emote endm - enum movement_step_shake + enum movement_step_shake ; $55 step_shake: macro - db movement_step_shake ; $55 + db movement_step_shake db \1 ; displacement endm - enum movement_tree_shake + enum movement_tree_shake ; $56 tree_shake: macro db movement_tree_shake endm - enum movement_rock_smash + enum movement_rock_smash ; $57 rock_smash: macro - db movement_rock_smash ; $57 - db \1 + db movement_rock_smash + db \1 ; length endm - enum movement_return_dig + enum movement_return_dig ; $58 return_dig: macro - db movement_return_dig ; $58 - db \1 + db movement_return_dig + db \1 ; length endm - enum movement_skyfall_top + enum movement_skyfall_top ; $59 skyfall_top: macro - db movement_skyfall_top ; $59 + db movement_skyfall_top endm diff --git a/macros/scripts/text.asm b/macros/scripts/text.asm index e29f8a511..839f78eb7 100644 --- a/macros/scripts/text.asm +++ b/macros/scripts/text.asm @@ -1,131 +1,131 @@ -text EQUS "db $00," ; Start writing text. -next EQUS "db $4e," ; Move a line down. -line EQUS "db $4f," ; Start writing at the bottom line. -page EQUS "db $50," ; Start a new Pokédex page. -para EQUS "db $51," ; Start a new paragraph. -cont EQUS "db $55," ; Scroll to the next line. -done EQUS "db $57" ; End a text box. -prompt EQUS "db $58" ; Prompt the player to end a text box (initiating some other event). +text EQUS "db \"\"," ; Start writing text. +next EQUS "db \"\"," ; Move a line down. +line EQUS "db \"\"," ; Start writing at the bottom line. +page EQUS "db \"@\"," ; Start a new Pokédex page. +para EQUS "db \"\"," ; Start a new paragraph. +cont EQUS "db \"\"," ; Scroll to the next line. +done EQUS "db \"\"" ; End a text box. +prompt EQUS "db \"\"" ; Prompt the player to end a text box (initiating some other event). ; TextCommands indexes (see home/text.asm) enum_start $01 - enum TX_RAM + enum TX_RAM ; $01 text_from_ram: MACRO db TX_RAM dw \1 ENDM - enum TX_BCD + enum TX_BCD ; $02 text_bcd: macro db TX_BCD dw \1 db \2 ENDM - enum TX_MOVE + enum TX_MOVE ; $03 text_move: macro db TX_MOVE dw \1 ENDM - enum TX_BOX + enum TX_BOX ; $04 text_box: macro db TX_BOX dw \1 db \2, \3 ENDM - enum TX_LOW + enum TX_LOW ; $05 text_low: macro db TX_LOW endm - enum WAIT_BUTTON + enum WAIT_BUTTON ; $06 text_waitbutton: macro db WAIT_BUTTON endm - enum TX_SCROLL + enum TX_SCROLL ; $07 text_scroll: macro db TX_SCROLL endm - enum START_ASM + enum START_ASM ; $08 start_asm: macro db START_ASM endm - enum TX_NUM + enum TX_NUM ; $09 deciram: macro db TX_NUM dw \1 ; address dn \2, \3 ; bytes, digits endm - enum TX_EXIT + enum TX_EXIT ; $0a interpret_data: macro db TX_EXIT endm - enum TX_SOUND_0B + enum TX_SOUND_0B ; $0b sound_dex_fanfare_50_79: macro db TX_SOUND_0B endm - enum TX_DOTS + enum TX_DOTS ; $0c limited_interpret_data: macro db TX_DOTS db \1 endm - enum TX_LINK_WAIT_BUTTON + enum TX_LINK_WAIT_BUTTON ; $0d link_wait_button: macro db TX_LINK_WAIT_BUTTON endm - enum TX_SOUND_0E + enum TX_SOUND_0E ; $0e sound_dex_fanfare_20_49: macro db TX_SOUND_0E endm - enum TX_SOUND_0F + enum TX_SOUND_0F ; $0f sound_item: macro db TX_SOUND_0F endm - enum TX_SOUND_10 + enum TX_SOUND_10 ; $10 sound_caught_mon: macro db TX_SOUND_10 endm - enum TX_SOUND_11 + enum TX_SOUND_11 ; $11 sound_dex_fanfare_80_109: macro db TX_SOUND_11 endm - enum TX_SOUND_12 + enum TX_SOUND_12 ; $12 sound_fanfare: macro db TX_SOUND_12 endm - enum TX_SOUND_13 + enum TX_SOUND_13 ; $13 sound_slot_machine_start: macro db TX_SOUND_13 endm - enum TX_STRINGBUFFER + enum TX_STRINGBUFFER ; $14 text_buffer: macro db TX_STRINGBUFFER db \1 endm - enum TX_DAY + enum TX_DAY ; $15 current_day: macro db TX_DAY endm - enum TX_FAR + enum TX_FAR ; $16 text_jump: MACRO db TX_FAR dw \1 diff --git a/macros/scripts/trade_anim.asm b/macros/scripts/trade_anim.asm index c38dc75d6..4b0291eea 100644 --- a/macros/scripts/trade_anim.asm +++ b/macros/scripts/trade_anim.asm @@ -1,255 +1,255 @@ ; DoTradeAnimation.JumpTable indexes (see engine/trade/animation.asm) enum_start - enum tradeanim_next_command + enum tradeanim_next_command ; $00 tradeanim_next: macro - db tradeanim_next_command ; 00 + db tradeanim_next_command endm - enum tradeanim_show_givemon_data_command + enum tradeanim_show_givemon_data_command ; $01 tradeanim_show_givemon_data: macro - db tradeanim_show_givemon_data_command ; 01 + db tradeanim_show_givemon_data_command endm - enum tradeanim_show_getmon_data_command + enum tradeanim_show_getmon_data_command ; $02 tradeanim_show_getmon_data: macro - db tradeanim_show_getmon_data_command ; 02 + db tradeanim_show_getmon_data_command endm - enum tradeanim_enter_link_tube_command + enum tradeanim_enter_link_tube_command ; $03 tradeanim_enter_link_tube: macro - db tradeanim_enter_link_tube_command ; 03 + db tradeanim_enter_link_tube_command endm __enum__ set $5 - enum tradeanim_exit_link_tube_command + enum tradeanim_exit_link_tube_command ; $05 tradeanim_exit_link_tube: macro - db tradeanim_exit_link_tube_command ; 05 + db tradeanim_exit_link_tube_command endm - enum tradeanim_tube_to_ot_command + enum tradeanim_tube_to_ot_command ; $06 tradeanim_tube_to_ot: macro - db tradeanim_tube_to_ot_command ; 06 + db tradeanim_tube_to_ot_command endm -__enum__ set $e +__enum__ set $0e - enum tradeanim_tube_to_player_command + enum tradeanim_tube_to_player_command ; $0e tradeanim_tube_to_player: macro - db tradeanim_tube_to_player_command ; 0e + db tradeanim_tube_to_player_command endm __enum__ set $16 - enum tradeanim_sent_to_ot_text_command + enum tradeanim_sent_to_ot_text_command ; $16 tradeanim_sent_to_ot_text: macro - db tradeanim_sent_to_ot_text_command ; 16 + db tradeanim_sent_to_ot_text_command endm - enum tradeanim_ot_bids_farewell_command + enum tradeanim_ot_bids_farewell_command ; $17 tradeanim_ot_bids_farewell: macro - db tradeanim_ot_bids_farewell_command ; 17 + db tradeanim_ot_bids_farewell_command endm - enum tradeanim_take_care_of_text_command + enum tradeanim_take_care_of_text_command ; $18 tradeanim_take_care_of_text: macro - db tradeanim_take_care_of_text_command ; 18 + db tradeanim_take_care_of_text_command endm - enum tradeanim_ot_sends_text_1_command + enum tradeanim_ot_sends_text_1_command ; $19 tradeanim_ot_sends_text_1: macro - db tradeanim_ot_sends_text_1_command ; 19 + db tradeanim_ot_sends_text_1_command endm - enum tradeanim_ot_sends_text_2_command + enum tradeanim_ot_sends_text_2_command ; $1a tradeanim_ot_sends_text_2: macro - db tradeanim_ot_sends_text_2_command ; 1a + db tradeanim_ot_sends_text_2_command endm - enum tradeanim_setup_givemon_scroll_command + enum tradeanim_setup_givemon_scroll_command ; $1b tradeanim_setup_givemon_scroll: macro - db tradeanim_setup_givemon_scroll_command ; 1b + db tradeanim_setup_givemon_scroll_command endm - enum tradeanim_do_givemon_scroll_command + enum tradeanim_do_givemon_scroll_command ; $1c tradeanim_do_givemon_scroll: macro - db tradeanim_do_givemon_scroll_command ; 1c + db tradeanim_do_givemon_scroll_command endm - enum tradeanim_frontpic_scroll_command + enum tradeanim_frontpic_scroll_command ; $1d tradeanim_frontpic_scroll: macro - db tradeanim_frontpic_scroll_command ; 1d + db tradeanim_frontpic_scroll_command endm - enum tradeanim_textbox_scroll_command + enum tradeanim_textbox_scroll_command ; $1e tradeanim_textbox_scroll: macro - db tradeanim_textbox_scroll_command ; 1e + db tradeanim_textbox_scroll_command endm - enum tradeanim_scroll_out_right_command + enum tradeanim_scroll_out_right_command ; $1f tradeanim_scroll_out_right: macro - db tradeanim_scroll_out_right_command ; 1f + db tradeanim_scroll_out_right_command endm __enum__ set $21 - enum tradeanim_wait_80_command + enum tradeanim_wait_80_command ; $21 tradeanim_wait_80: macro - db tradeanim_wait_80_command ; 21 + db tradeanim_wait_80_command endm - enum tradeanim_wait_40_command + enum tradeanim_wait_40_command ; $22 tradeanim_wait_40: macro - db tradeanim_wait_40_command ; 22 + db tradeanim_wait_40_command endm - enum tradeanim_rocking_ball_command + enum tradeanim_rocking_ball_command ; $23 tradeanim_rocking_ball: macro - db tradeanim_rocking_ball_command ; 23 + db tradeanim_rocking_ball_command endm - enum tradeanim_drop_ball_command + enum tradeanim_drop_ball_command ; $24 tradeanim_drop_ball: macro - db tradeanim_drop_ball_command ; 24 + db tradeanim_drop_ball_command endm - enum tradeanim_wait_anim_command + enum tradeanim_wait_anim_command ; $25 tradeanim_wait_anim: macro - db tradeanim_wait_anim_command ; 25 + db tradeanim_wait_anim_command endm __enum__ set $27 - enum tradeanim_poof_command + enum tradeanim_poof_command ; $27 tradeanim_poof: macro - db tradeanim_poof_command ; 27 + db tradeanim_poof_command endm - enum tradeanim_bulge_through_tube_command + enum tradeanim_bulge_through_tube_command ; $28 tradeanim_bulge_through_tube: macro - db tradeanim_bulge_through_tube_command ; 28 + db tradeanim_bulge_through_tube_command endm - enum tradeanim_give_trademon_sfx_command + enum tradeanim_give_trademon_sfx_command ; $29 tradeanim_give_trademon_sfx: macro - db tradeanim_give_trademon_sfx_command ; 29 + db tradeanim_give_trademon_sfx_command endm - enum tradeanim_get_trademon_sfx_command + enum tradeanim_get_trademon_sfx_command ; $2a tradeanim_get_trademon_sfx: macro - db tradeanim_get_trademon_sfx_command ; 2a + db tradeanim_get_trademon_sfx_command endm - enum tradeanim_end_command + enum tradeanim_end_command ; $2b tradeanim_end: macro - db tradeanim_end_command ; 2b + db tradeanim_end_command endm - enum tradeanim_animate_frontpic_command + enum tradeanim_animate_frontpic_command ; $2c tradeanim_animate_frontpic: macro - db tradeanim_animate_frontpic_command ; 2c + db tradeanim_animate_frontpic_command endm - enum tradeanim_wait_96_command + enum tradeanim_wait_96_command ; $2d tradeanim_wait_96: macro - db tradeanim_wait_96_command ; 2d + db tradeanim_wait_96_command endm - enum tradeanim_wait_80_if_ot_egg_command + enum tradeanim_wait_80_if_ot_egg_command ; $2e tradeanim_wait_80_if_ot_egg: macro - db tradeanim_wait_80_if_ot_egg_command ; 2e + db tradeanim_wait_80_if_ot_egg_command endm - enum tradeanim_wait_180_if_ot_egg_command + enum tradeanim_wait_180_if_ot_egg_command ; $2f tradeanim_wait_180_if_ot_egg: macro - db tradeanim_wait_180_if_ot_egg_command ; 2f + db tradeanim_wait_180_if_ot_egg_command endm ; Mobile - enum_start 1 + enum_start $01 - enum mobiletradeanim_showgivemon_command + enum mobiletradeanim_showgivemon_command ; $01 mobiletradeanim_showgivemon: macro - db mobiletradeanim_showgivemon_command ; 01 + db mobiletradeanim_showgivemon_command endm - enum mobiletradeanim_02_command + enum mobiletradeanim_02_command ; $02 mobiletradeanim_02: macro - db mobiletradeanim_02_command ; 02 + db mobiletradeanim_02_command endm - enum mobiletradeanim_sendmon_command + enum mobiletradeanim_sendmon_command ; $03 mobiletradeanim_sendmon: macro - db mobiletradeanim_sendmon_command ; 03 + db mobiletradeanim_sendmon_command endm __enum__ set $05 - enum mobiletradeanim_05_command + enum mobiletradeanim_05_command ; $05 mobiletradeanim_05: macro - db mobiletradeanim_05_command ; 05 + db mobiletradeanim_05_command endm - enum mobiletradeanim_06_command + enum mobiletradeanim_06_command ; $06 mobiletradeanim_06: macro - db mobiletradeanim_06_command ; 06 + db mobiletradeanim_06_command endm - enum mobiletradeanim_07_command + enum mobiletradeanim_07_command ; $07 mobiletradeanim_07: macro - db mobiletradeanim_07_command ; 07 + db mobiletradeanim_07_command endm - enum mobiletradeanim_receivemon_command + enum mobiletradeanim_receivemon_command ; $08 mobiletradeanim_receivemon: macro - db mobiletradeanim_receivemon_command ; 08 + db mobiletradeanim_receivemon_command endm __enum__ set $0b - enum mobiletradeanim_showgetmon_command + enum mobiletradeanim_showgetmon_command ; $0b mobiletradeanim_showgetmon: macro - db mobiletradeanim_showgetmon_command ; 0b + db mobiletradeanim_showgetmon_command endm - enum mobiletradeanim_end_command + enum mobiletradeanim_end_command ; $0c mobiletradeanim_end: macro - db mobiletradeanim_end_command ; 0c + db mobiletradeanim_end_command endm - enum mobiletradeanim_showgtsgivemon_command + enum mobiletradeanim_showgtsgivemon_command ; $0d mobiletradeanim_showgtsgivemon: macro - db mobiletradeanim_showgtsgivemon_command ; 0d + db mobiletradeanim_showgtsgivemon_command endm - enum mobiletradeanim_showgtsgetmon_command + enum mobiletradeanim_showgtsgetmon_command ; $0e mobiletradeanim_showgtsgetmon: macro - db mobiletradeanim_showgtsgetmon_command ; 0e + db mobiletradeanim_showgtsgetmon_command endm - enum mobiletradeanim_0f_command + enum mobiletradeanim_0f_command ; $0f mobiletradeanim_0f: macro - db mobiletradeanim_0f_command ; 0f + db mobiletradeanim_0f_command endm - enum mobiletradeanim_10_command + enum mobiletradeanim_10_command ; $10 mobiletradeanim_10: macro - db mobiletradeanim_10_command ; 10 + db mobiletradeanim_10_command endm - enum mobiletradeanim_11_command + enum mobiletradeanim_11_command ; $11 mobiletradeanim_11: macro - db mobiletradeanim_11_command ; 11 + db mobiletradeanim_11_command endm - enum mobiletradeanim_12_command + enum mobiletradeanim_12_command ; $12 mobiletradeanim_12: macro - db mobiletradeanim_12_command ; 12 + db mobiletradeanim_12_command endm - enum mobiletradeanim_showoddegg_command + enum mobiletradeanim_showoddegg_command ; $13 mobiletradeanim_showoddegg: macro - db mobiletradeanim_showoddegg_command ; 13 + db mobiletradeanim_showoddegg_command endm diff --git a/main.asm b/main.asm index e46320dc2..3deb21334 100644 --- a/main.asm +++ b/main.asm @@ -226,12 +226,12 @@ CheckNickErrors:: ; 669f ; table defining which characters are actually text commands ; format: ; ≥ < - db "", $04 + 1 + db "", TX_BOX + 1 db "", $18 + 1 db $1d, "%" + 1 db $35, "" + 1 db "", "" + 1 - db $49, "" + 1 + db "", "" + 1 db "", "┘" + 1 db -1 ; end -- cgit v1.2.3 From d6dc9351e9876d96c4d471aa1da9b722bbae1c9e Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Fri, 15 Dec 2017 00:48:59 -0500 Subject: Start documenting effect commands --- battle/effect_command_pointers.asm | 2 +- constants.asm | 1 - constants/effect_command_constants.asm | 186 ----------------- docs/effect_commands.md | 358 +++++++++++++++++++++++++++++++++ macros.asm | 1 + macros/scripts/effect_commands.asm | 186 +++++++++++++++++ 6 files changed, 546 insertions(+), 188 deletions(-) delete mode 100644 constants/effect_command_constants.asm create mode 100644 docs/effect_commands.md create mode 100644 macros/scripts/effect_commands.asm diff --git a/battle/effect_command_pointers.asm b/battle/effect_command_pointers.asm index 60c658dfc..bcd666c91 100644 --- a/battle/effect_command_pointers.asm +++ b/battle/effect_command_pointers.asm @@ -1,7 +1,7 @@ dw 0 ; padding BattleCommandPointers: ; 3fd28 -; entries correspond to constants/effect_command_constants.asm +; entries correspond to macros/scripts/effect_commands.asm dw BattleCommand_CheckTurn ; 34084 dw BattleCommand_CheckObedience ; 343db dw BattleCommand_UsedMoveText ; 34541 diff --git a/constants.asm b/constants.asm index 16f50bb02..6650b53ca 100644 --- a/constants.asm +++ b/constants.asm @@ -7,7 +7,6 @@ INCLUDE "constants/wram_constants.asm" INCLUDE "constants/pokemon_constants.asm" INCLUDE "constants/type_constants.asm" INCLUDE "constants/move_constants.asm" -INCLUDE "constants/effect_command_constants.asm" INCLUDE "constants/battle_constants.asm" INCLUDE "constants/map_dimension_constants.asm" INCLUDE "constants/map_constants.asm" diff --git a/constants/effect_command_constants.asm b/constants/effect_command_constants.asm deleted file mode 100644 index bc752262f..000000000 --- a/constants/effect_command_constants.asm +++ /dev/null @@ -1,186 +0,0 @@ -command: macro - enum \1_command -\1 equs "db \1_command" -endm - -; BattleCommandPointers indexes (see battle/effect_commands.asm) - enum_start 1 - command checkturn ; 01 - command checkobedience ; 02 - command usedmovetext ; 03 - command doturn ; 04 - command critical ; 05 - command damagestats ; 06 - command stab ; 07 - command damagevariation ; 08 - command checkhit ; 09 - command lowersub ; 0a - command hittargetnosub ; 0b - command raisesub ; 0c - command failuretext ; 0d - command checkfaint ; 0e - command criticaltext ; 0f - command supereffectivetext ; 10 - command checkdestinybond ; 11 - command buildopponentrage ; 12 - command poisontarget ; 13 - command sleeptarget ; 14 - command draintarget ; 15 - command eatdream ; 16 - command burntarget ; 17 - command freezetarget ; 18 - command paralyzetarget ; 19 - command selfdestruct ; 1a - command mirrormove ; 1b - command statup ; 1c - command statdown ; 1d - command payday ; 1e - command conversion ; 1f - command resetstats ; 20 - command storeenergy ; 21 - command unleashenergy ; 22 - command forceswitch ; 23 - command endloop ; 24 - command flinchtarget ; 25 - command ohko ; 26 - command recoil ; 27 - command mist ; 28 - command focusenergy ; 29 - command confuse ; 2a - command confusetarget ; 2b - command heal ; 2c - command transform ; 2d - command screen ; 2e - command poison ; 2f - command paralyze ; 30 - command substitute ; 31 - command rechargenextturn ; 32 - command mimic ; 33 - command metronome ; 34 - command leechseed ; 35 - command splash ; 36 - command disable ; 37 - command cleartext ; 38 - command charge ; 39 - command checkcharge ; 3a - command traptarget ; 3b - command effect0x3c ; 3c - command rampage ; 3d - command checkrampage ; 3e - command constantdamage ; 3f - command counter ; 40 - command encore ; 41 - command painsplit ; 42 - command snore ; 43 - command conversion2 ; 44 - command lockon ; 45 - command sketch ; 46 - command defrostopponent ; 47 - command sleeptalk ; 48 - command destinybond ; 49 - command spite ; 4a - command falseswipe ; 4b - command healbell ; 4c - command kingsrock ; 4d - command triplekick ; 4e - command kickcounter ; 4f - command thief ; 50 - command arenatrap ; 51 - command nightmare ; 52 - command defrost ; 53 - command curse ; 54 - command protect ; 55 - command spikes ; 56 - command foresight ; 57 - command perishsong ; 58 - command startsandstorm ; 59 - command endure ; 5a - command checkcurl ; 5b - command rolloutpower ; 5c - command effect0x5d ; 5d - command furycutter ; 5e - command attract ; 5f - command happinesspower ; 60 - command present ; 61 - command damagecalc ; 62 - command frustrationpower ; 63 - command safeguard ; 64 - command checksafeguard ; 65 - command getmagnitude ; 66 - command batonpass ; 67 - command pursuit ; 68 - command clearhazards ; 69 - command healmorn ; 6a - command healday ; 6b - command healnite ; 6c - command hiddenpower ; 6d - command startrain ; 6e - command startsun ; 6f - command attackup ; 70 - command defenseup ; 71 - command speedup ; 72 - command specialattackup ; 73 - command specialdefenseup ; 74 - command accuracyup ; 75 - command evasionup ; 76 - command attackup2 ; 77 - command defenseup2 ; 78 - command speedup2 ; 79 - command specialattackup2 ; 7a - command specialdefenseup2 ; 7b - command accuracyup2 ; 7c - command evasionup2 ; 7d - command attackdown ; 7e - command defensedown ; 7f - command speeddown ; 80 - command specialattackdown ; 81 - command specialdefensedown ; 82 - command accuracydown ; 83 - command evasiondown ; 84 - command attackdown2 ; 85 - command defensedown2 ; 86 - command speeddown2 ; 87 - command specialattackdown2 ; 88 - command specialdefensedown2 ; 89 - command accuracydown2 ; 8a - command evasiondown2 ; 8b - command statupmessage ; 8c - command statdownmessage ; 8d - command statupfailtext ; 8e - command statdownfailtext ; 8f - command effectchance ; 90 - command statdownanim ; 91 - command statupanim ; 92 - command switchturn ; 93 - command fakeout ; 94 - command bellydrum ; 95 - command psychup ; 96 - command rage ; 97 - command doubleflyingdamage ; 98 - command doubleundergrounddamage ; 99 - command mirrorcoat ; 9a - command checkfuturesight ; 9b - command futuresight ; 9c - command doubleminimizedamage ; 9d - command skipsuncharge ; 9e - command thunderaccuracy ; 9f - command teleport ; a0 - command beatup ; a1 - command ragedamage ; a2 - command resettypematchup ; a3 - command allstatsup ; a4 - command effect0xa5 ; a5 - command raisesubnoanim ; a6 - command lowersubnoanim ; a7 - command effect0xa8 ; a8 - command clearmissdamage ; a9 - command movedelay ; aa - command hittarget ; ab - command tristatuschance ; ac - command supereffectivelooptext ; ad - command startloop ; ae - command curl ; af - - enum_start -1, -1 - command endmove - command endturn diff --git a/docs/effect_commands.md b/docs/effect_commands.md new file mode 100644 index 000000000..172b04b8a --- /dev/null +++ b/docs/effect_commands.md @@ -0,0 +1,358 @@ +# Effect Commands + +Defined in [macros/scripts/effect_commands.asm](/macros/scripts/effect_commands.asm) and [battle/effect_command_pointers.asm:BattleCommandPointers](/battle/effect_command_pointers.asm). + + +## `$01`: `checkturn` + +## `$02`: `checkobedience` + +## `$03`: `usedmovetext` + +## `$04`: `doturn` + +## `$05`: `critical` + +## `$06`: `damagestats` + +## `$07`: `stab` + +## `$08`: `damagevariation` + +## `$09`: `checkhit` + +## `$0A`: `lowersub` + +## `$0B`: `hittargetnosub` + +## `$0C`: `raisesub` + +## `$0D`: `failuretext` + +## `$0E`: `checkfaint` + +## `$0F`: `criticaltext` + +## `$10`: `supereffectivetext` + +## `$11`: `checkdestinybond` + +## `$12`: `buildopponentrage` + +## `$13`: `poisontarget` + +## `$14`: `sleeptarget` + +## `$15`: `draintarget` + +## `$16`: `eatdream` + +## `$17`: `burntarget` + +## `$18`: `freezetarget` + +## `$19`: `paralyzetarget` + +## `$1A`: `selfdestruct` + +## `$1B`: `mirrormove` + +## `$1C`: `statup` + +## `$1D`: `statdown` + +## `$1E`: `payday` + +## `$1F`: `conversion` + +## `$20`: `resetstats` + +## `$21`: `storeenergy` + +## `$22`: `unleashenergy` + +## `$23`: `forceswitch` + +## `$24`: `endloop` + +## `$25`: `flinchtarget` + +## `$26`: `ohko` + +## `$27`: `recoil` + +## `$28`: `mist` + +## `$29`: `focusenergy` + +## `$2A`: `confuse` + +## `$2B`: `confusetarget` + +## `$2C`: `heal` + +## `$2D`: `transform` + +## `$2E`: `screen` + +## `$2F`: `poison` + +## `$30`: `paralyze` + +## `$31`: `substitute` + +## `$32`: `rechargenextturn` + +## `$33`: `mimic` + +## `$34`: `metronome` + +## `$35`: `leechseed` + +## `$36`: `splash` + +## `$37`: `disable` + +## `$38`: `cleartext` + +## `$39`: `charge` + +## `$3A`: `checkcharge` + +## `$3B`: `traptarget` + +## `$3C`: `effect0x3c` + +## `$3D`: `rampage` + +## `$3E`: `checkrampage` + +## `$3F`: `constantdamage` + +## `$40`: `counter` + +## `$41`: `encore` + +## `$42`: `painsplit` + +## `$43`: `snore` + +## `$44`: `conversion2` + +## `$45`: `lockon` + +## `$46`: `sketch` + +## `$47`: `defrostopponent` + +## `$48`: `sleeptalk` + +## `$49`: `destinybond` + +## `$4A`: `spite` + +## `$4B`: `falseswipe` + +## `$4C`: `healbell` + +## `$4D`: `kingsrock` + +## `$4E`: `triplekick` + +## `$4F`: `kickcounter` + +## `$50`: `thief` + +## `$51`: `arenatrap` + +## `$52`: `nightmare` + +## `$53`: `defrost` + +## `$54`: `curse` + +## `$55`: `protect` + +## `$56`: `spikes` + +## `$57`: `foresight` + +## `$58`: `perishsong` + +## `$59`: `startsandstorm` + +## `$5A`: `endure` + +## `$5B`: `checkcurl` + +## `$5C`: `rolloutpower` + +## `$5D`: `effect0x5d` + +## `$5E`: `furycutter` + +## `$5F`: `attract` + +## `$60`: `happinesspower` + +## `$61`: `present` + +## `$62`: `damagecalc` + +## `$63`: `frustrationpower` + +## `$64`: `safeguard` + +## `$65`: `checksafeguard` + +## `$66`: `getmagnitude` + +## `$67`: `batonpass` + +## `$68`: `pursuit` + +## `$69`: `clearhazards` + +## `$6A`: `healmorn` + +## `$6B`: `healday` + +## `$6C`: `healnite` + +## `$6D`: `hiddenpower` + +## `$6E`: `startrain` + +## `$6F`: `startsun` + +## `$70`: `attackup` + +## `$71`: `defenseup` + +## `$72`: `speedup` + +## `$73`: `specialattackup` + +## `$74`: `specialdefenseup` + +## `$75`: `accuracyup` + +## `$76`: `evasionup` + +## `$77`: `attackup2` + +## `$78`: `defenseup2` + +## `$79`: `speedup2` + +## `$7A`: `specialattackup2` + +## `$7B`: `specialdefenseup2` + +## `$7C`: `accuracyup2` + +## `$7D`: `evasionup2` + +## `$7E`: `attackdown` + +## `$7F`: `defensedown` + +## `$80`: `speeddown` + +## `$81`: `specialattackdown` + +## `$82`: `specialdefensedown` + +## `$83`: `accuracydown` + +## `$84`: `evasiondown` + +## `$85`: `attackdown2` + +## `$86`: `defensedown2` + +## `$87`: `speeddown2` + +## `$88`: `specialattackdown2` + +## `$89`: `specialdefensedown2` + +## `$8A`: `accuracydown2` + +## `$8B`: `evasiondown2` + +## `$8C`: `statupmessage` + +## `$8D`: `statdownmessage` + +## `$8E`: `statupfailtext` + +## `$8F`: `statdownfailtext` + +## `$90`: `effectchance` + +## `$91`: `statdownanim` + +## `$92`: `statupanim` + +## `$93`: `switchturn` + +## `$94`: `fakeout` + +## `$95`: `bellydrum` + +## `$96`: `psychup` + +## `$97`: `rage` + +## `$98`: `doubleflyingdamage` + +## `$99`: `doubleundergrounddamage` + +## `$9A`: `mirrorcoat` + +## `$9B`: `checkfuturesight` + +## `$9C`: `futuresight` + +## `$9D`: `doubleminimizedamage` + +## `$9E`: `skipsuncharge` + +## `$9F`: `thunderaccuracy` + +## `$A0`: `teleport` + +## `$A1`: `beatup` + +## `$A2`: `ragedamage` + +## `$A3`: `resettypematchup` + +## `$A4`: `allstatsup` + +## `$A5`: `effect0xa5` + +## `$A6`: `raisesubnoanim` + +## `$A7`: `lowersubnoanim` + +## `$A8`: `effect0xa8` + +## `$A9`: `clearmissdamage` + +## `$AA`: `movedelay` + +## `$AB`: `hittarget` + +## `$AC`: `tristatuschance` + +## `$AD`: `supereffectivelooptext` + +## `$AE`: `startloop` + +## `$AF`: `curl` + +## `$FF`: `endmove` + +## `$00`: `endturn` diff --git a/macros.asm b/macros.asm index 737ac9524..f0dc01fbe 100644 --- a/macros.asm +++ b/macros.asm @@ -14,6 +14,7 @@ INCLUDE "macros/scripts/maps.asm" INCLUDE "macros/scripts/event.asm" INCLUDE "macros/scripts/text.asm" INCLUDE "macros/scripts/movement.asm" +INCLUDE "macros/scripts/effect_commands.asm" INCLUDE "macros/scripts/move_anim.asm" INCLUDE "macros/scripts/trade_anim.asm" INCLUDE "macros/scripts/gfx_anim.asm" diff --git a/macros/scripts/effect_commands.asm b/macros/scripts/effect_commands.asm new file mode 100644 index 000000000..bc752262f --- /dev/null +++ b/macros/scripts/effect_commands.asm @@ -0,0 +1,186 @@ +command: macro + enum \1_command +\1 equs "db \1_command" +endm + +; BattleCommandPointers indexes (see battle/effect_commands.asm) + enum_start 1 + command checkturn ; 01 + command checkobedience ; 02 + command usedmovetext ; 03 + command doturn ; 04 + command critical ; 05 + command damagestats ; 06 + command stab ; 07 + command damagevariation ; 08 + command checkhit ; 09 + command lowersub ; 0a + command hittargetnosub ; 0b + command raisesub ; 0c + command failuretext ; 0d + command checkfaint ; 0e + command criticaltext ; 0f + command supereffectivetext ; 10 + command checkdestinybond ; 11 + command buildopponentrage ; 12 + command poisontarget ; 13 + command sleeptarget ; 14 + command draintarget ; 15 + command eatdream ; 16 + command burntarget ; 17 + command freezetarget ; 18 + command paralyzetarget ; 19 + command selfdestruct ; 1a + command mirrormove ; 1b + command statup ; 1c + command statdown ; 1d + command payday ; 1e + command conversion ; 1f + command resetstats ; 20 + command storeenergy ; 21 + command unleashenergy ; 22 + command forceswitch ; 23 + command endloop ; 24 + command flinchtarget ; 25 + command ohko ; 26 + command recoil ; 27 + command mist ; 28 + command focusenergy ; 29 + command confuse ; 2a + command confusetarget ; 2b + command heal ; 2c + command transform ; 2d + command screen ; 2e + command poison ; 2f + command paralyze ; 30 + command substitute ; 31 + command rechargenextturn ; 32 + command mimic ; 33 + command metronome ; 34 + command leechseed ; 35 + command splash ; 36 + command disable ; 37 + command cleartext ; 38 + command charge ; 39 + command checkcharge ; 3a + command traptarget ; 3b + command effect0x3c ; 3c + command rampage ; 3d + command checkrampage ; 3e + command constantdamage ; 3f + command counter ; 40 + command encore ; 41 + command painsplit ; 42 + command snore ; 43 + command conversion2 ; 44 + command lockon ; 45 + command sketch ; 46 + command defrostopponent ; 47 + command sleeptalk ; 48 + command destinybond ; 49 + command spite ; 4a + command falseswipe ; 4b + command healbell ; 4c + command kingsrock ; 4d + command triplekick ; 4e + command kickcounter ; 4f + command thief ; 50 + command arenatrap ; 51 + command nightmare ; 52 + command defrost ; 53 + command curse ; 54 + command protect ; 55 + command spikes ; 56 + command foresight ; 57 + command perishsong ; 58 + command startsandstorm ; 59 + command endure ; 5a + command checkcurl ; 5b + command rolloutpower ; 5c + command effect0x5d ; 5d + command furycutter ; 5e + command attract ; 5f + command happinesspower ; 60 + command present ; 61 + command damagecalc ; 62 + command frustrationpower ; 63 + command safeguard ; 64 + command checksafeguard ; 65 + command getmagnitude ; 66 + command batonpass ; 67 + command pursuit ; 68 + command clearhazards ; 69 + command healmorn ; 6a + command healday ; 6b + command healnite ; 6c + command hiddenpower ; 6d + command startrain ; 6e + command startsun ; 6f + command attackup ; 70 + command defenseup ; 71 + command speedup ; 72 + command specialattackup ; 73 + command specialdefenseup ; 74 + command accuracyup ; 75 + command evasionup ; 76 + command attackup2 ; 77 + command defenseup2 ; 78 + command speedup2 ; 79 + command specialattackup2 ; 7a + command specialdefenseup2 ; 7b + command accuracyup2 ; 7c + command evasionup2 ; 7d + command attackdown ; 7e + command defensedown ; 7f + command speeddown ; 80 + command specialattackdown ; 81 + command specialdefensedown ; 82 + command accuracydown ; 83 + command evasiondown ; 84 + command attackdown2 ; 85 + command defensedown2 ; 86 + command speeddown2 ; 87 + command specialattackdown2 ; 88 + command specialdefensedown2 ; 89 + command accuracydown2 ; 8a + command evasiondown2 ; 8b + command statupmessage ; 8c + command statdownmessage ; 8d + command statupfailtext ; 8e + command statdownfailtext ; 8f + command effectchance ; 90 + command statdownanim ; 91 + command statupanim ; 92 + command switchturn ; 93 + command fakeout ; 94 + command bellydrum ; 95 + command psychup ; 96 + command rage ; 97 + command doubleflyingdamage ; 98 + command doubleundergrounddamage ; 99 + command mirrorcoat ; 9a + command checkfuturesight ; 9b + command futuresight ; 9c + command doubleminimizedamage ; 9d + command skipsuncharge ; 9e + command thunderaccuracy ; 9f + command teleport ; a0 + command beatup ; a1 + command ragedamage ; a2 + command resettypematchup ; a3 + command allstatsup ; a4 + command effect0xa5 ; a5 + command raisesubnoanim ; a6 + command lowersubnoanim ; a7 + command effect0xa8 ; a8 + command clearmissdamage ; a9 + command movedelay ; aa + command hittarget ; ab + command tristatuschance ; ac + command supereffectivelooptext ; ad + command startloop ; ae + command curl ; af + + enum_start -1, -1 + command endmove + command endturn -- cgit v1.2.3 From d334a331fabe25c4094c4c7e4cd9e270f51c1a30 Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Fri, 15 Dec 2017 00:54:45 -0500 Subject: Correct `endturn` value --- docs/effect_commands.md | 4 ++-- macros/scripts/effect_commands.asm | 7 ++++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/docs/effect_commands.md b/docs/effect_commands.md index 172b04b8a..3112950a9 100644 --- a/docs/effect_commands.md +++ b/docs/effect_commands.md @@ -353,6 +353,6 @@ Defined in [macros/scripts/effect_commands.asm](/macros/scripts/effect_commands. ## `$AF`: `curl` -## `$FF`: `endmove` +## `$FE`: `endturn` -## `$00`: `endturn` +## `$FF`: `endmove` diff --git a/macros/scripts/effect_commands.asm b/macros/scripts/effect_commands.asm index bc752262f..4fd2475b7 100644 --- a/macros/scripts/effect_commands.asm +++ b/macros/scripts/effect_commands.asm @@ -181,6 +181,7 @@ endm command startloop ; ae command curl ; af - enum_start -1, -1 - command endmove - command endturn +__enum__ set $fe + + command endturn ; fe + command endmove ; ff -- cgit v1.2.3 From 2b6dd505c1674e0d99d649515a8efe868035db09 Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Fri, 15 Dec 2017 01:01:57 -0500 Subject: Document another bug Remove an unused file --- battle/magikarp_length.asm | 214 --------------------------------------------- docs/bugs_and_glitches.md | 22 +++++ 2 files changed, 22 insertions(+), 214 deletions(-) delete mode 100644 battle/magikarp_length.asm diff --git a/battle/magikarp_length.asm b/battle/magikarp_length.asm deleted file mode 100644 index 794823f63..000000000 --- a/battle/magikarp_length.asm +++ /dev/null @@ -1,214 +0,0 @@ -CalcMagikarpLength: ; fbbfc -; Return Magikarp's length (in mm) at wMagikarpLength (big endian). -; -; input: -; de: EnemyMonDVs -; bc: PlayerID - -; This function is poorly commented. - -; In short, it generates a value between 190 and 1786 using -; a Magikarp's DVs and its trainer ID. This value is further -; filtered in LoadEnemyMon to make longer Magikarp even rarer. - -; The value is generated from a lookup table. -; The index is determined by the dv xored with the player's trainer id. - -; bc = rrc(dv[0]) ++ rrc(dv[1]) ^ rrc(id) - -; if bc < 10: [wMagikarpLength] = c + 190 -; if bc >= $ff00: [wMagikarpLength] = c + 1370 -; else: [wMagikarpLength] = z * 100 + (bc - x) / y - -; X, Y, and Z depend on the value of b as follows: - -; if b = 0: x = 310, y = 2, z = 3 -; if b = 1: x = 710, y = 4, z = 4 -; if b = 2-9: x = 2710, y = 20, z = 5 -; if b = 10-29: x = 7710, y = 50, z = 6 -; if b = 30-68: x = 17710, y = 100, z = 7 -; if b = 69-126: x = 32710, y = 150, z = 8 -; if b = 127-185: x = 47710, y = 150, z = 9 -; if b = 186-224: x = 57710, y = 100, z = 10 -; if b = 225-243: x = 62710, y = 50, z = 11 -; if b = 244-251: x = 64710, y = 20, z = 12 -; if b = 252-253: x = 65210, y = 5, z = 13 -; if b = 254: x = 65410, y = 2, z = 14 - - - ; bc = rrc(dv[0]) ++ rrc(dv[1]) ^ rrc(id) - - ; id - ld h, b - ld l, c - ld a, [hli] - ld b, a - ld c, [hl] - rrc b - rrc c - - ; dv - ld a, [de] - inc de - rrca - rrca - xor b - ld b, a - - ld a, [de] - rrca - rrca - xor c - ld c, a - - ; if bc < 10: - ; de = bc + 190 - ; break - - ld a, b - and a - jr nz, .no - ld a, c - cp 10 - jr nc, .no - - ld hl, 190 - add hl, bc - ld d, h - ld e, l - jr .done - -.no - - ld hl, .Lengths - ld a, 2 - ld [wd265], a - -.read - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - call .BCLessThanDE - jr nc, .next - - ; c = (bc - de) / [hl] - call .BCMinusDE - ld a, b - ld [hDividend + 0], a - ld a, c - ld [hDividend + 1], a - ld a, [hl] - ld [hDivisor], a - ld b, 2 - call Divide - ld a, [hQuotient + 2] - ld c, a - - ; de = c + 100 * (2 + i) - xor a - ld [hMultiplicand + 0], a - ld [hMultiplicand + 1], a - ld a, 100 - ld [hMultiplicand + 2], a - ld a, [wd265] - ld [hMultiplier], a - call Multiply - ld b, 0 - ld a, [hProduct + 3] - add c - ld e, a - ld a, [hProduct + 2] - adc b - ld d, a - jr .done - -.next - inc hl ; align to next triplet - ld a, [wd265] - inc a - ld [wd265], a - cp 16 - jr c, .read - - call .BCMinusDE - ld hl, 1600 - add hl, bc - ld d, h - ld e, l - -.done - ; hl = de * 10 - ld h, d - ld l, e - add hl, hl - add hl, hl - add hl, de - add hl, hl - - ; hl = hl / 254 - ld de, -254 - ld a, -1 -.div_254 - inc a - add hl, de - jr c, .div_254 - - ; d, e = hl / 12, hl % 12 - ld d, 0 -.mod_12 - cp 12 - jr c, .ok - sub 12 - inc d - jr .mod_12 -.ok - ld e, a - - ld hl, wMagikarpLength - ld [hl], d - inc hl - ld [hl], e - ret -; fbc9a - -.BCLessThanDE: ; fbc9a -; Intention: Return bc < de. -; Reality: Return b < d. - ld a, b - cp d - ret c - ret nc ; whoops - ld a, c - cp e - ret -; fbca1 - -.BCMinusDE: ; fbca1 -; bc -= de - ld a, c - sub e - ld c, a - ld a, b - sbc d - ld b, a - ret -; fbca8 - -.Lengths: ; fbca8 -; ????, divisor - dwb 110, 1 - dwb 310, 2 - dwb 710, 4 - dwb 2710, 20 - dwb 7710, 50 - dwb 17710, 100 - dwb 32710, 150 - dwb 47710, 150 - dwb 57710, 100 - dwb 62710, 50 - dwb 64710, 20 - dwb 65210, 5 - dwb 65410, 2 - dwb 65510, 1 ; not used -; fbcd2 diff --git a/docs/bugs_and_glitches.md b/docs/bugs_and_glitches.md index 31e61dfc0..fe0a973dc 100644 --- a/docs/bugs_and_glitches.md +++ b/docs/bugs_and_glitches.md @@ -27,6 +27,7 @@ - [Dragon Scale, not Dragon Fang, boosts Dragon-type moves](#dragon-scale-not-dragon-fang-boosts-dragon-type-moves) - [Daisy's massages don't always increase happiness](#daisys-massages-dont-always-increase-happiness) - [Magikarp in Lake of Rage are shorter, not longer](#magikarp-in-lake-of-rage-are-shorter-not-longer) +- [Magikarp lengths can be miscalculated](#magikarp-lengths-can-be-miscalculated) - [Battle transitions fail to account for the enemy's level](#battle-transitions-fail-to-account-for-the-enemys-level) - [Slot machine payout sound effects cut each other off](#slot-machine-payout-sound-effects-cut-each-other-off) - [Team Rocket battle music is not used for Executives or Scientists](#team-rocket-battle-music-is-not-used-for-executives-or-scientists) @@ -736,6 +737,27 @@ This is a bug with `LoadEnemyMon.CheckMagikarpArea` in [battle/core.asm](/battle **Fix:** Change both `jr z, .Happiness` to `jr nz, .Happiness`. +## Magikarp lengths can be miscalculated + +This is a bug with `CalcMagikarpLength.BCLessThanDE` in [event/magikarp.asm](/event/magikarp.asm): + +```asm +.BCLessThanDE: ; fbc9a +; Intention: Return bc < de. +; Reality: Return b < d. + ld a, b + cp d + ret c + ret nc ; whoops + ld a, c + cp e + ret +; fbca1 +``` + +**Fix:** Delete `ret nc`. + + ## Battle transitions fail to account for the enemy's level ([Video](https://www.youtube.com/watch?v=eij_1060SMc)) -- cgit v1.2.3 From 94722aa8f08ceaef8233d73a87f534b6c3f0475f Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Fri, 15 Dec 2017 12:31:18 -0500 Subject: Move predef/ files into engine/ Get rid of single-file engine/ subdirectories Move tilesets/ palettes unrelated to individual tilesets into data/palettes/ (more from engine/colors.asm can be moved here too) --- constants/cgb_constants.asm | 2 +- constants/gfx_constants.asm | 3 + data/palettes/bg.pal | 227 +++++ data/palettes/ob.pal | 39 + data/palettes/roof.pal | 161 ++++ engine/breeding.asm | 993 ++++++++++++++++++++++ engine/breeding/egg.asm | 993 ---------------------- engine/cgb_layouts.asm | 1127 +++++++++++++++++++++++++ engine/color.asm | 11 +- engine/crystal_colors.asm | 614 ++++++++++++++ engine/link.asm | 2 +- engine/printer.asm | 2 +- engine/printer/serial.asm | 645 -------------- engine/printer_serial.asm | 645 ++++++++++++++ engine/sgb_layouts.asm | 636 ++++++++++++++ engine/time_capsule.asm | 277 ++++++ engine/time_capsule/conversion.asm | 277 ------ engine/trade/animation.asm | 1628 ------------------------------------ engine/trade_animation.asm | 1628 ++++++++++++++++++++++++++++++++++++ macros.asm | 4 +- main.asm | 6 +- predef/cgb.asm | 1127 ------------------------- predef/crystal.asm | 614 -------------- predef/sgb.asm | 636 -------------- tilesets/bg.pal | 227 ----- tilesets/house.pal | 40 - tilesets/house_1.pal | 40 + tilesets/ob.pal | 39 - tilesets/pokecom.pal | 40 - tilesets/pokecom_center.pal | 40 + tilesets/roof.pal | 161 ---- 31 files changed, 6443 insertions(+), 6441 deletions(-) create mode 100644 data/palettes/bg.pal create mode 100644 data/palettes/ob.pal create mode 100644 data/palettes/roof.pal create mode 100755 engine/breeding.asm delete mode 100755 engine/breeding/egg.asm create mode 100644 engine/cgb_layouts.asm create mode 100755 engine/crystal_colors.asm delete mode 100755 engine/printer/serial.asm create mode 100755 engine/printer_serial.asm create mode 100644 engine/sgb_layouts.asm create mode 100755 engine/time_capsule.asm delete mode 100755 engine/time_capsule/conversion.asm delete mode 100755 engine/trade/animation.asm create mode 100755 engine/trade_animation.asm delete mode 100644 predef/cgb.asm delete mode 100755 predef/crystal.asm delete mode 100644 predef/sgb.asm delete mode 100644 tilesets/bg.pal delete mode 100644 tilesets/house.pal create mode 100644 tilesets/house_1.pal delete mode 100644 tilesets/ob.pal delete mode 100644 tilesets/pokecom.pal create mode 100644 tilesets/pokecom_center.pal delete mode 100644 tilesets/roof.pal diff --git a/constants/cgb_constants.asm b/constants/cgb_constants.asm index c5aef7750..c419cd465 100755 --- a/constants/cgb_constants.asm +++ b/constants/cgb_constants.asm @@ -1,4 +1,4 @@ -; GetSGBLayout arguments (see predef/cgb.asm and predef/sgb.asm) +; GetSGBLayout arguments (see engine/cgb_layouts.asm and engine/sgb_layouts.asm) const_def const SCGB_BATTLE_GRAYSCALE const SCGB_BATTLE_COLORS diff --git a/constants/gfx_constants.asm b/constants/gfx_constants.asm index 445f0d815..4c3b23fc9 100644 --- a/constants/gfx_constants.asm +++ b/constants/gfx_constants.asm @@ -19,3 +19,6 @@ HP_BAR_LENGTH EQU 6 ; tiles HP_BAR_LENGTH_PX EQU HP_BAR_LENGTH * TILE_WIDTH ; pixels EXP_BAR_LENGTH EQU 8 ; tiles EXP_BAR_LENGTH_PX EQU EXP_BAR_LENGTH * TILE_WIDTH ; pixels + + +PALPACKET_LENGTH EQU $10 diff --git a/data/palettes/bg.pal b/data/palettes/bg.pal new file mode 100644 index 000000000..3cd14d142 --- /dev/null +++ b/data/palettes/bg.pal @@ -0,0 +1,227 @@ +; morn + +; gray + RGB 28, 31, 16 + RGB 21, 21, 21 + RGB 13, 13, 13 + RGB 07, 07, 07 +; red + RGB 28, 31, 16 + RGB 31, 19, 24 + RGB 30, 10, 06 + RGB 07, 07, 07 +; green + RGB 22, 31, 10 + RGB 12, 25, 01 + RGB 05, 14, 00 + RGB 07, 07, 07 +; water + RGB 31, 31, 31 + RGB 08, 12, 31 + RGB 01, 04, 31 + RGB 07, 07, 07 +; yellow + RGB 28, 31, 16 + RGB 31, 31, 07 + RGB 31, 16, 01 + RGB 07, 07, 07 +; brown + RGB 28, 31, 16 + RGB 24, 18, 07 + RGB 20, 15, 03 + RGB 07, 07, 07 +; roof + RGB 28, 31, 16 + RGB 15, 31, 31 + RGB 05, 17, 31 + RGB 07, 07, 07 +; text + RGB 31, 31, 16 + RGB 31, 31, 16 + RGB 14, 09, 00 + RGB 00, 00, 00 + +; day + +; gray + RGB 27, 31, 27 + RGB 21, 21, 21 + RGB 13, 13, 13 + RGB 07, 07, 07 +; red + RGB 27, 31, 27 + RGB 31, 19, 24 + RGB 30, 10, 06 + RGB 07, 07, 07 +; green + RGB 22, 31, 10 + RGB 12, 25, 01 + RGB 05, 14, 00 + RGB 07, 07, 07 +; water + RGB 31, 31, 31 + RGB 08, 12, 31 + RGB 01, 04, 31 + RGB 07, 07, 07 +; yellow + RGB 27, 31, 27 + RGB 31, 31, 07 + RGB 31, 16, 01 + RGB 07, 07, 07 +; brown + RGB 27, 31, 27 + RGB 24, 18, 07 + RGB 20, 15, 03 + RGB 07, 07, 07 +; roof + RGB 27, 31, 27 + RGB 15, 31, 31 + RGB 05, 17, 31 + RGB 07, 07, 07 +; text + RGB 31, 31, 16 + RGB 31, 31, 16 + RGB 14, 09, 00 + RGB 00, 00, 00 + +; nite + +; gray + RGB 15, 14, 24 + RGB 11, 11, 19 + RGB 07, 07, 12 + RGB 00, 00, 00 +; red + RGB 15, 14, 24 + RGB 14, 07, 17 + RGB 13, 00, 08 + RGB 00, 00, 00 +; green + RGB 15, 14, 24 + RGB 08, 13, 19 + RGB 00, 11, 13 + RGB 00, 00, 00 +; water + RGB 15, 14, 24 + RGB 05, 05, 17 + RGB 03, 03, 10 + RGB 00, 00, 00 +; yellow + RGB 30, 30, 11 + RGB 16, 14, 18 + RGB 16, 14, 10 + RGB 00, 00, 00 +; brown + RGB 15, 14, 24 + RGB 12, 09, 15 + RGB 08, 04, 05 + RGB 00, 00, 00 +; roof + RGB 15, 14, 24 + RGB 13, 12, 23 + RGB 11, 09, 20 + RGB 00, 00, 00 +; text + RGB 31, 31, 16 + RGB 31, 31, 16 + RGB 14, 09, 00 + RGB 00, 00, 00 + +; dark + +; gray + RGB 01, 01, 02 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 +; red + RGB 01, 01, 02 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 +; green + RGB 01, 01, 02 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 +; water + RGB 01, 01, 02 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 +; yellow + RGB 30, 30, 11 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 +; brown + RGB 01, 01, 02 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 +; roof + RGB 01, 01, 02 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 +; text + RGB 31, 31, 16 + RGB 31, 31, 16 + RGB 14, 09, 00 + RGB 00, 00, 00 + +; indoor + +; gray + RGB 30, 28, 26 + RGB 19, 19, 19 + RGB 13, 13, 13 + RGB 07, 07, 07 +; red + RGB 30, 28, 26 + RGB 31, 19, 24 + RGB 30, 10, 06 + RGB 07, 07, 07 +; green + RGB 18, 24, 09 + RGB 15, 20, 01 + RGB 09, 13, 00 + RGB 07, 07, 07 +; water + RGB 30, 28, 26 + RGB 15, 16, 31 + RGB 09, 09, 31 + RGB 07, 07, 07 +; yellow + RGB 30, 28, 26 + RGB 31, 31, 07 + RGB 31, 16, 01 + RGB 07, 07, 07 +; brown + RGB 26, 24, 17 + RGB 21, 17, 07 + RGB 16, 13, 03 + RGB 07, 07, 07 +; roof + RGB 30, 28, 26 + RGB 17, 19, 31 + RGB 14, 16, 31 + RGB 07, 07, 07 +; text + RGB 31, 31, 16 + RGB 31, 31, 16 + RGB 14, 09, 00 + RGB 00, 00, 00 + +; overworld water + +; morn/day + RGB 23, 23, 31 + RGB 18, 19, 31 + RGB 13, 12, 31 + RGB 07, 07, 07 +; nite + RGB 15, 13, 27 + RGB 10, 09, 20 + RGB 04, 03, 18 + RGB 00, 00, 00 diff --git a/data/palettes/ob.pal b/data/palettes/ob.pal new file mode 100644 index 000000000..a6e20d7f0 --- /dev/null +++ b/data/palettes/ob.pal @@ -0,0 +1,39 @@ + ; morn + RGB 28,31,16, 31,19,10, 31,07,01, 00,00,00 ; red + RGB 28,31,16, 31,19,10, 10,09,31, 00,00,00 ; blue + RGB 28,31,16, 31,19,10, 07,23,03, 00,00,00 ; green + RGB 28,31,16, 31,19,10, 15,10,03, 00,00,00 ; brown + RGB 28,31,16, 31,19,10, 30,10,06, 00,00,00 ; pink + RGB 31,31,31, 31,31,31, 13,13,13, 00,00,00 ; silver + RGB 22,31,10, 12,25,01, 05,14,00, 07,07,07 ; tree + RGB 28,31,16, 24,18,07, 20,15,03, 07,07,07 ; rock + + ; day + RGB 27,31,27, 31,19,10, 31,07,01, 00,00,00 ; red + RGB 27,31,27, 31,19,10, 10,09,31, 00,00,00 ; blue + RGB 27,31,27, 31,19,10, 07,23,03, 00,00,00 ; green + RGB 27,31,27, 31,19,10, 15,10,03, 00,00,00 ; brown + RGB 27,31,27, 31,19,10, 30,10,06, 00,00,00 ; pink + RGB 31,31,31, 31,31,31, 13,13,13, 00,00,00 ; silver + RGB 22,31,10, 12,25,01, 05,14,00, 07,07,07 ; tree + RGB 27,31,27, 24,18,07, 20,15,03, 07,07,07 ; rock + + ; nite + RGB 15,14,24, 31,19,10, 31,07,01, 00,00,00 ; red + RGB 15,14,24, 31,19,10, 10,09,31, 00,00,00 ; blue + RGB 15,14,24, 31,19,10, 07,23,03, 00,00,00 ; green + RGB 15,14,24, 31,19,10, 15,10,03, 00,00,00 ; brown + RGB 15,14,24, 31,19,10, 30,10,06, 00,00,00 ; pink + RGB 31,31,31, 31,31,31, 13,13,13, 00,00,00 ; silver + RGB 15,14,24, 08,13,19, 00,11,13, 00,00,00 ; tree + RGB 15,14,24, 12,09,15, 08,04,05, 00,00,00 ; rock + + ; dark + RGB 01,01,02, 31,19,10, 31,07,01, 00,00,00 ; red + RGB 01,01,02, 31,19,10, 10,09,31, 00,00,00 ; blue + RGB 01,01,02, 31,19,10, 07,23,03, 00,00,00 ; green + RGB 01,01,02, 31,19,10, 15,10,03, 00,00,00 ; brown + RGB 01,01,02, 31,19,10, 30,10,06, 00,00,00 ; pink + RGB 31,31,31, 31,31,31, 13,13,13, 00,00,00 ; silver + RGB 01,01,02, 00,00,00, 00,00,00, 00,00,00 ; tree + RGB 01,01,02, 00,00,00, 00,00,00, 00,00,00 ; rock diff --git a/data/palettes/roof.pal b/data/palettes/roof.pal new file mode 100644 index 000000000..ba65fc7d2 --- /dev/null +++ b/data/palettes/roof.pal @@ -0,0 +1,161 @@ +; group 0 (unused) + RGB 21, 21, 21 + RGB 11, 11, 11 + RGB 21, 21, 21 + RGB 11, 11, 11 + +; group 1 (Olivine) + RGB 14, 17, 31 + RGB 07, 11, 15 + RGB 09, 09, 17 + RGB 05, 07, 13 + +; group 2 (Mahogany) + RGB 12, 19, 00 + RGB 06, 10, 00 + RGB 06, 09, 07 + RGB 04, 05, 06 + +; group 3 + RGB 21, 21, 21 + RGB 11, 11, 11 + RGB 21, 21, 21 + RGB 17, 08, 07 + +; group 4 (Ecruteak) + RGB 31, 19, 00 + RGB 27, 10, 05 + RGB 15, 07, 02 + RGB 11, 04, 02 + +; group 5 (Blackthorn) + RGB 11, 10, 16 + RGB 05, 06, 07 + RGB 03, 04, 08 + RGB 00, 00, 00 + +; group 6 (Cinnabar) + RGB 31, 10, 00 + RGB 18, 06, 00 + RGB 18, 05, 09 + RGB 17, 08, 07 + +; group 7 (Cerulean) + RGB 17, 27, 31 + RGB 05, 15, 31 + RGB 07, 08, 22 + RGB 07, 07, 16 + +; group 8 (Azalea) + RGB 22, 20, 10 + RGB 17, 14, 03 + RGB 11, 11, 05 + RGB 10, 09, 07 + +; group 9 (Lake of Rage) + RGB 31, 08, 04 + RGB 09, 09, 08 + RGB 18, 05, 09 + RGB 09, 09, 08 + +; group 10 (Violet) + RGB 24, 14, 31 + RGB 13, 07, 21 + RGB 12, 03, 18 + RGB 09, 03, 15 + +; group 11 (Goldenrod) + RGB 25, 25, 00 + RGB 20, 17, 08 + RGB 12, 12, 00 + RGB 10, 09, 05 + +; group 12 (Vermilion) + RGB 27, 23, 01 + RGB 23, 11, 00 + RGB 15, 11, 01 + RGB 11, 10, 01 + +; group 13 (Pallet) + RGB 27, 28, 31 + RGB 17, 19, 22 + RGB 14, 14, 18 + RGB 10, 09, 13 + +; group 14 (Pewter) + RGB 19, 19, 16 + RGB 10, 12, 15 + RGB 09, 09, 11 + RGB 04, 05, 07 + +; group 15 (Mount Moon Square) + RGB 14, 17, 31 + RGB 07, 11, 15 + RGB 09, 13, 19 + RGB 07, 07, 16 + +; group 16 (Route 23) + RGB 21, 21, 21 + RGB 13, 13, 13 + RGB 11, 11, 19 + RGB 07, 07, 12 + +; group 17 (Fuchsia) + RGB 31, 18, 29 + RGB 17, 13, 20 + RGB 14, 06, 12 + RGB 11, 03, 10 + +; group 18 (Lavender) + RGB 23, 15, 31 + RGB 16, 05, 31 + RGB 12, 07, 17 + RGB 08, 06, 10 + +; group 19 (Route 28) + RGB 21, 21, 25 + RGB 16, 16, 16 + RGB 13, 13, 13 + RGB 07, 07, 07 + +; group 20 + RGB 21, 21, 21 + RGB 11, 11, 11 + RGB 21, 21, 21 + RGB 11, 11, 11 + +; group 21 (Celadon) + RGB 19, 31, 15 + RGB 31, 22, 02 + RGB 12, 13, 09 + RGB 09, 12, 03 + +; group 22 (Cianwood) + RGB 15, 10, 31 + RGB 07, 05, 15 + RGB 06, 05, 17 + RGB 02, 02, 08 + +; group 23 (Viridian) + RGB 21, 31, 07 + RGB 13, 25, 04 + RGB 09, 14, 08 + RGB 06, 10, 04 + +; group 24 (New Bark) + RGB 20, 31, 14 + RGB 11, 23, 05 + RGB 09, 13, 08 + RGB 06, 09, 04 + +; group 25 (Saffron) + RGB 31, 26, 00 + RGB 31, 15, 00 + RGB 13, 13, 01 + RGB 08, 08, 01 + +; group 26 (Cherrygrove) + RGB 31, 14, 28 + RGB 31, 05, 21 + RGB 14, 07, 17 + RGB 13, 00, 08 diff --git a/engine/breeding.asm b/engine/breeding.asm new file mode 100755 index 000000000..b402f99f1 --- /dev/null +++ b/engine/breeding.asm @@ -0,0 +1,993 @@ +CheckBreedmonCompatibility: ; 16e1d + call .CheckBreedingGroupCompatibility + ld c, $0 + jp nc, .done + ld a, [wBreedMon1Species] + ld [CurPartySpecies], a + ld a, [wBreedMon1DVs] + ld [TempMonDVs], a + ld a, [wBreedMon1DVs + 1] + ld [TempMonDVs + 1], a + ld a, TEMPMON + ld [MonType], a + predef GetGender + jr c, .genderless + ld b, $1 + jr nz, .breedmon2 + inc b + +.breedmon2 + push bc + ld a, [wBreedMon2Species] + ld [CurPartySpecies], a + ld a, [wBreedMon2DVs] + ld [TempMonDVs], a + ld a, [wBreedMon2DVs + 1] + ld [TempMonDVs + 1], a + ld a, $3 + ld [MonType], a + predef GetGender + pop bc + jr c, .genderless + ld a, $1 + jr nz, .compare_gender + inc a + +.compare_gender + cp b + jr nz, .compute + +.genderless + ld c, $0 + ld a, [wBreedMon1Species] + cp DITTO + jr z, .ditto1 + ld a, [wBreedMon2Species] + cp DITTO + jr nz, .done + jr .compute + +.ditto1 + ld a, [wBreedMon2Species] + cp DITTO + jr z, .done + +.compute + call .CheckDVs + ld c, 255 + jp z, .done + ld a, [wBreedMon2Species] + ld b, a + ld a, [wBreedMon1Species] + cp b + ld c, 254 + jr z, .compare_ids + ld c, 128 +.compare_ids + ; Speed up + ld a, [wBreedMon1ID] + ld b, a + ld a, [wBreedMon2ID] + cp b + jr nz, .done + ld a, [wBreedMon1ID + 1] + ld b, a + ld a, [wBreedMon2ID + 1] + cp b + jr nz, .done + ld a, c + sub 77 + ld c, a + +.done + ld a, c + ld [wd265], a + ret +; 16ebc + + +.CheckDVs: ; 16ebc (5:6ebc) +; If Defense DVs match and the lower 3 bits of the Special DVs match, +; avoid breeding + ld a, [wBreedMon1DVs] + and %1111 + ld b, a + ld a, [wBreedMon2DVs] + and %1111 + cp b + ret nz + ld a, [wBreedMon1DVs + 1] + and %111 + ld b, a + ld a, [wBreedMon2DVs + 1] + and %111 + cp b + ret +; 16ed6 + +.CheckBreedingGroupCompatibility: ; 16ed6 +; If either mon is in the No Eggs group, +; they are not compatible. + ld a, [wBreedMon2Species] + ld [CurSpecies], a + call GetBaseData + ld a, [BaseEggGroups] + cp NO_EGGS * $11 + jr z, .Incompatible + + ld a, [wBreedMon1Species] + ld [CurSpecies], a + call GetBaseData + ld a, [BaseEggGroups] + cp NO_EGGS * $11 + jr z, .Incompatible + +; Ditto is automatically compatible with everything. +; If not Ditto, load the breeding groups into b/c and d/e. + ld a, [wBreedMon2Species] + cp DITTO + jr z, .Compatible + ld [CurSpecies], a + call GetBaseData + ld a, [BaseEggGroups] + push af + and $f + ld b, a + pop af + and $f0 + swap a + ld c, a + + ld a, [wBreedMon1Species] + cp DITTO + jr z, .Compatible + ld [CurSpecies], a + push bc + call GetBaseData + pop bc + ld a, [BaseEggGroups] + push af + and $f + ld d, a + pop af + and $f0 + swap a + ld e, a + + ld a, d + cp b + jr z, .Compatible + cp c + jr z, .Compatible + + ld a, e + cp b + jr z, .Compatible + cp c + jr z, .Compatible + +.Incompatible: + and a + ret + +.Compatible: + scf + ret +; 16f3e + +DoEggStep:: ; 16f3e + ld de, PartySpecies + ld hl, PartyMon1Happiness + ld c, 0 +.loop + ld a, [de] + inc de + cp -1 + ret z + cp EGG + jr nz, .next + dec [hl] + jr nz, .next + ld a, 1 + and a + ret + +.next + push de + ld de, PARTYMON_STRUCT_LENGTH + add hl, de + pop de + jr .loop +; 16f5e + +OverworldHatchEgg:: ; 16f5e + call RefreshScreen + call LoadStandardMenuDataHeader + call HatchEggs + call ExitAllMenus + call RestartMapMusic + jp CloseText +; 16f70 + +HatchEggs: ; 16f70 (5:6f70) + ld de, PartySpecies + ld hl, PartyMon1Happiness + xor a + ld [CurPartyMon], a + +.loop ; 16f7a (5:6f7a) + ld a, [de] + inc de + cp -1 + jp z, .done + push de + push hl + cp EGG + jp nz, .next + ld a, [hl] + and a + jp nz, .next + ld [hl], $78 + + push de + + callba SetEggMonCaughtData + callba TrainerRankings_EggsHatched + ld a, [CurPartyMon] + ld hl, PartyMon1Species + ld bc, PARTYMON_STRUCT_LENGTH + call AddNTimes + ld a, [hl] + ld [CurPartySpecies], a + dec a + call SetSeenAndCaughtMon + + ld a, [CurPartySpecies] + cp TOGEPI + jr nz, .nottogepi + ; set the event flag for hatching togepi + ld de, EVENT_TOGEPI_HATCHED + ld b, SET_FLAG + call EventFlagAction +.nottogepi + + pop de + + ld a, [CurPartySpecies] + dec de + ld [de], a + ld [wd265], a + ld [CurSpecies], a + call GetPokemonName + xor a + ld [wd26b], a + call GetBaseData + ld a, [CurPartyMon] + ld hl, PartyMon1 + ld bc, PARTYMON_STRUCT_LENGTH + call AddNTimes + push hl + ld bc, MON_MAXHP + add hl, bc + ld d, h + ld e, l + pop hl + push hl + ld bc, MON_LEVEL + add hl, bc + ld a, [hl] + ld [CurPartyLevel], a + pop hl + push hl + ld bc, MON_STATUS + add hl, bc + xor a + ld [hli], a + ld [hl], a + pop hl + push hl + ld bc, MON_STAT_EXP - 1 + add hl, bc + ld b, $0 + predef CalcPkmnStats + pop bc + ld hl, MON_MAXHP + add hl, bc + ld d, h + ld e, l + ld hl, MON_HP + add hl, bc + ld a, [de] + inc de + ld [hli], a + ld a, [de] + ld [hl], a + ld hl, MON_ID + add hl, bc + ld a, [PlayerID] + ld [hli], a + ld a, [PlayerID + 1] + ld [hl], a + ld a, [CurPartyMon] + ld hl, PartyMonOT + ld bc, NAME_LENGTH + call AddNTimes + ld d, h + ld e, l + ld hl, PlayerName + call CopyBytes + ld hl, .Text_HatchEgg + call PrintText + ld a, [CurPartyMon] + ld hl, PartyMonNicknames + ld bc, PKMN_NAME_LENGTH + call AddNTimes + ld d, h + ld e, l + push de + ld hl, .Text_NicknameHatchling + call PrintText + call YesNoBox + pop de + jr c, .nonickname + + ld a, $1 + ld [wd26b], a + xor a + ld [MonType], a + push de + ld b, $0 + callba NamingScreen + pop hl + ld de, StringBuffer1 + call InitName + jr .next + +.nonickname + ld hl, StringBuffer1 + ld bc, PKMN_NAME_LENGTH + call CopyBytes + +.next ; 1707d (5:707d) + ld hl, CurPartyMon + inc [hl] + pop hl + ld de, PARTYMON_STRUCT_LENGTH + add hl, de + pop de + jp .loop + +.done ; 1708a (5:708a) + ret +; 1708b (5:708b) + +.Text_HatchEgg: ; 0x1708b + ; Huh? @ @ + text_jump UnknownText_0x1c0db0 + start_asm + ld hl, VramState + res 0, [hl] + push hl + push de + push bc + ld a, [CurPartySpecies] + push af + call EggHatch_AnimationSequence + ld hl, .ClearTextbox + call PrintText + pop af + ld [CurPartySpecies], a + pop bc + pop de + pop hl + ld hl, .CameOutOfItsEgg + ret +; 170b0 (5:70b0) + +.ClearTextbox: ; 0x170b0 + ; + text_jump UnknownText_0x1c0db8 + db "@" +; 0x170b5 + +.CameOutOfItsEgg: ; 0x170b5 + ; came out of its EGG!@ @ + text_jump UnknownText_0x1c0dba + db "@" +; 0x170ba + +.Text_NicknameHatchling: ; 0x170ba + ; Give a nickname to @ ? + text_jump UnknownText_0x1c0dd8 + db "@" +; 0x170bf + +InitEggMoves: ; 170bf + call GetHeritableMoves + ld d, h + ld e, l + ld b, NUM_MOVES +.loop + ld a, [de] + and a + jr z, .done + ld hl, wEggMonMoves + ld c, NUM_MOVES +.next + ld a, [de] + cp [hl] + jr z, .skip + inc hl + dec c + jr nz, .next + call GetEggMove + jr nc, .skip + call LoadEggMove + +.skip + inc de + dec b + jr nz, .loop + +.done + ret +; 170e4 + +GetEggMove: ; 170e4 +GLOBAL EggMoves + + push bc + ld a, [wEggMonSpecies] + dec a + ld c, a + ld b, 0 + ld hl, EggMovePointers + add hl, bc + add hl, bc + ld a, BANK(EggMovePointers) + call GetFarHalfword +.loop + ld a, BANK(EggMoves) + call GetFarByte + cp -1 + jr z, .reached_end + ld b, a + ld a, [de] + cp b + jr z, .done_carry + inc hl + jr .loop + +.reached_end + call GetBreedmonMovePointer + ld b, NUM_MOVES +.loop2 + ld a, [de] + cp [hl] + jr z, .found_eggmove + inc hl + dec b + jr z, .inherit_tmhm + jr .loop2 + +.found_eggmove + ld a, [wEggMonSpecies] + dec a + ld c, a + ld b, 0 + ld hl, EvosAttacksPointers + add hl, bc + add hl, bc + ld a, BANK(EvosAttacksPointers) + call GetFarHalfword +.loop3 + ld a, BANK(EvosAttacks) + call GetFarByte + inc hl + and a + jr nz, .loop3 +.loop4 + ld a, BANK(EvosAttacks) + call GetFarByte + and a + jr z, .inherit_tmhm + inc hl + ld a, BANK(EvosAttacks) + call GetFarByte + ld b, a + ld a, [de] + cp b + jr z, .done_carry + inc hl + jr .loop4 + +.inherit_tmhm + ld hl, TMHMMoves +.loop5 + ld a, BANK(TMHMMoves) + call GetFarByte + inc hl + and a + jr z, .done + ld b, a + ld a, [de] + cp b + jr nz, .loop5 + ld [wPutativeTMHMMove], a + predef CanLearnTMHMMove + ld a, c + and a + jr z, .done + +.done_carry + pop bc + scf + ret + +.done + pop bc + and a + ret +; 17169 + +LoadEggMove: ; 17169 + push de + push bc + ld a, [de] + ld b, a + ld hl, wEggMonMoves + ld c, NUM_MOVES +.loop + ld a, [hli] + and a + jr z, .done + dec c + jr nz, .loop + ld de, wEggMonMoves + ld hl, wEggMonMoves + 1 + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + +.done + dec hl + ld [hl], b + ld hl, wEggMonMoves + ld de, wEggMonPP + predef FillPP + pop bc + pop de + ret +; 17197 + +GetHeritableMoves: ; 17197 + ld hl, wBreedMon2Moves + ld a, [wBreedMon1Species] + cp DITTO + jr z, .ditto1 + ld a, [wBreedMon2Species] + cp DITTO + jr z, .ditto2 + ld a, [wBreedMotherOrNonDitto] + and a + ret z + ld hl, wBreedMon1Moves + ret + +.ditto1 + ld a, [CurPartySpecies] + push af + ld a, [wBreedMon2Species] + ld [CurPartySpecies], a + ld a, [wBreedMon2DVs] + ld [TempMonDVs], a + ld a, [wBreedMon2DVs + 1] + ld [TempMonDVs + 1], a + ld a, TEMPMON + ld [MonType], a + predef GetGender + jr c, .inherit_mon2_moves + jr nz, .inherit_mon2_moves + jr .inherit_mon1_moves + +.ditto2 + ld a, [CurPartySpecies] + push af + ld a, [wBreedMon1Species] + ld [CurPartySpecies], a + ld a, [wBreedMon1DVs] + ld [TempMonDVs], a + ld a, [wBreedMon1DVs + 1] + ld [TempMonDVs + 1], a + ld a, TEMPMON + ld [MonType], a + predef GetGender + jr c, .inherit_mon1_moves + jr nz, .inherit_mon1_moves + +.inherit_mon2_moves + ld hl, wBreedMon2Moves + pop af + ld [CurPartySpecies], a + ret + +.inherit_mon1_moves + ld hl, wBreedMon1Moves + pop af + ld [CurPartySpecies], a + ret +; 1720b + +GetBreedmonMovePointer: ; 1720b + ld hl, wBreedMon1Moves + ld a, [wBreedMon1Species] + cp DITTO + ret z + ld a, [wBreedMon2Species] + cp DITTO + jr z, .ditto + ld a, [wBreedMotherOrNonDitto] + and a + ret z + +.ditto + ld hl, wBreedMon2Moves + ret +; 17224 + + +GetEggFrontpic: ; 17224 (5:7224) + push de + ld [CurPartySpecies], a + ld [CurSpecies], a + call GetBaseData + ld hl, BattleMonDVs + predef GetUnownLetter + pop de + predef_jump GetFrontpic + +GetHatchlingFrontpic: ; 1723c (5:723c) + push de + ld [CurPartySpecies], a + ld [CurSpecies], a + call GetBaseData + ld hl, BattleMonDVs + predef GetUnownLetter + pop de + predef_jump FrontpicPredef + +Hatch_UpdateFrontpicBGMapCenter: ; 17254 (5:7254) + push af + call WaitTop + push hl + push bc + hlcoord 0, 0 + ld bc, SCREEN_HEIGHT * SCREEN_WIDTH + ld a, " " + call ByteFill + pop bc + pop hl + ld a, b + ld [hBGMapAddress + 1], a + ld a, c + ld [hGraphicStartTile], a + lb bc, 7, 7 + predef PlaceGraphic + pop af + call Hatch_LoadFrontpicPal + call SetPalettes + jp WaitBGMap + +EggHatch_DoAnimFrame: ; 1727f (5:727f) + push hl + push de + push bc + callab PlaySpriteAnimations + call DelayFrame + pop bc + pop de + pop hl + ret + +EggHatch_AnimationSequence: ; 1728f (5:728f) + ld a, [wd265] + ld [wJumptableIndex], a + ld a, [CurSpecies] + push af + ld de, MUSIC_NONE + call PlayMusic + callba BlankScreen + call DisableLCD + ld hl, EggHatchGFX + ld de, VTiles0 tile $00 + ld bc, $20 + ld a, BANK(EggHatchGFX) + call FarCopyBytes + callba ClearSpriteAnims + ld de, VTiles2 tile $00 + ld a, [wJumptableIndex] + call GetHatchlingFrontpic + ld de, VTiles2 tile $31 + ld a, EGG + call GetEggFrontpic + ld de, MUSIC_EVOLUTION + call PlayMusic + call EnableLCD + hlcoord 7, 4 + ld b, VBGMap0 / $100 + ld c, $31 ; Egg tiles start here + ld a, EGG + call Hatch_UpdateFrontpicBGMapCenter + ld c, 80 + call DelayFrames + xor a + ld [wcf64], a + ld a, [hSCX] + ld b, a +.outerloop + ld hl, wcf64 + ld a, [hl] + inc [hl] + cp 8 + jr nc, .done + ld e, [hl] +.loop +; wobble e times + ld a, 2 + ld [hSCX], a + ld a, -2 + ld [wGlobalAnimXOffset], a + call EggHatch_DoAnimFrame + ld c, 2 + call DelayFrames + ld a, -2 + ld [hSCX], a + ld a, 2 + ld [wGlobalAnimXOffset], a + call EggHatch_DoAnimFrame + ld c, 2 + call DelayFrames + dec e + jr nz, .loop + ld c, 16 + call DelayFrames + call EggHatch_CrackShell + jr .outerloop + +.done + ld de, SFX_EGG_HATCH + call PlaySFX + xor a + ld [hSCX], a + ld [wGlobalAnimXOffset], a + call ClearSprites + call Hatch_InitShellFragments + hlcoord 6, 3 + ld b, VBGMap0 / $100 + ld c, $00 ; Hatchling tiles start here + ld a, [wJumptableIndex] + call Hatch_UpdateFrontpicBGMapCenter + call Hatch_ShellFragmentLoop + call WaitSFX + ld a, [wJumptableIndex] + ld [CurPartySpecies], a + hlcoord 6, 3 + ld d, $0 + ld e, ANIM_MON_HATCH + predef AnimateFrontpic + pop af + ld [CurSpecies], a + ret + +Hatch_LoadFrontpicPal: ; 17363 (5:7363) + ld [PlayerHPPal], a + ld b, SCGB_EVOLUTION + ld c, $0 + jp GetSGBLayout + +EggHatch_CrackShell: ; 1736d (5:736d) + ld a, [wcf64] + dec a + and $7 + cp $7 + ret z + srl a + ret nc + swap a + srl a + add 9 * 8 + 4 + ld d, a + ld e, 11 * 8 + ld a, SPRITE_ANIM_INDEX_EGG_CRACK + call _InitSpriteAnimStruct + ld hl, SPRITEANIMSTRUCT_TILE_ID + add hl, bc + ld [hl], $0 + ld de, SFX_EGG_CRACK + jp PlaySFX +; 17393 (5:7393) + +EggHatchGFX: ; 17393 +INCBIN "gfx/evo/egg_hatch.2bpp" +; 173b3 + +Hatch_InitShellFragments: ; 173b3 (5:73b3) + callba ClearSpriteAnims + ld hl, .SpriteData +.loop + ld a, [hli] + cp -1 + jr z, .done + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + push hl + push bc + + ld a, SPRITE_ANIM_INDEX_EGG_HATCH + call _InitSpriteAnimStruct + + ld hl, SPRITEANIMSTRUCT_TILE_ID + add hl, bc + ld [hl], $0 + + pop de + ld a, e + ld hl, SPRITEANIMSTRUCT_FRAMESET_ID + add hl, bc + add [hl] + ld [hl], a + + ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX + add hl, bc + ld [hl], d + + pop hl + jr .loop +.done + ld de, SFX_EGG_HATCH + call PlaySFX + call EggHatch_DoAnimFrame + ret +; 173ef (5:73ef) + +.SpriteData: ; 173ef +; Probably OAM. + dsprite 10, 4, 9, 0, $00, $3c + dsprite 11, 4, 9, 0, $01, $04 + dsprite 10, 4, 10, 0, $00, $30 + dsprite 11, 4, 10, 0, $01, $10 + dsprite 10, 4, 11, 0, $02, $24 + dsprite 11, 4, 11, 0, $03, $1c + dsprite 10, 0, 9, 4, $00, $36 + dsprite 12, 0, 9, 4, $01, $0a + dsprite 10, 0, 10, 4, $02, $2a + dsprite 12, 0, 10, 4, $03, $16 + db -1 +; 17418 + +Hatch_ShellFragmentLoop: ; 17418 (5:7418) + ld c, 129 +.loop + call EggHatch_DoAnimFrame + dec c + jr nz, .loop + ret + +Special_DayCareMon1: ; 17421 + ld hl, DayCareMon1Text + call PrintText + ld a, [wBreedMon1Species] + call PlayCry + ld a, [wDayCareLady] + bit 0, a + jr z, DayCareMonCursor + call ButtonSound + ld hl, wBreedMon2Nick + call DayCareMonCompatibilityText + jp PrintText + +Special_DayCareMon2: ; 17440 + ld hl, DayCareMon2Text + call PrintText + ld a, [wBreedMon2Species] + call PlayCry + ld a, [wDayCareMan] + bit 0, a + jr z, DayCareMonCursor + call ButtonSound + ld hl, wBreedMon1Nick + call DayCareMonCompatibilityText + jp PrintText + +DayCareMonCursor: ; 1745f + jp WaitPressAorB_BlinkCursor +; 17462 + +DayCareMon2Text: ; 0x17462 + ; It's @ that was left with the DAY-CARE LADY. + text_jump UnknownText_0x1c0df3 + db "@" +; 0x17467 + +DayCareMon1Text: ; 0x17467 + ; It's @ that was left with the DAY-CARE MAN. + text_jump UnknownText_0x1c0e24 + db "@" +; 0x1746c + +DayCareMonCompatibilityText: ; 1746c + push bc + ld de, StringBuffer1 + ld bc, NAME_LENGTH + call CopyBytes + call CheckBreedmonCompatibility + pop bc + ld a, [wd265] + ld hl, .AllAlone + cp -1 + jr z, .done + ld hl, .Incompatible + and a + jr z, .done + ld hl, .HighCompatibility + cp 230 + jr nc, .done + cp 70 + ld hl, .ModerateCompatibility + jr nc, .done + ld hl, .SlightCompatibility + +.done + ret +; 1749c + +.AllAlone: ; 0x1749c + ; It's brimming with energy. + text_jump UnknownText_0x1c0e54 + db "@" +; 0x174a1 + +.Incompatible: ; 0x174a1 + ; It has no interest in @ . + text_jump UnknownText_0x1c0e6f + db "@" +; 0x174a6 + +.HighCompatibility: ; 0x174a6 + ; It appears to care for @ . + text_jump UnknownText_0x1c0e8d + db "@" +; 0x174ab + +.ModerateCompatibility: ; 0x174ab + ; It's friendly with @ . + text_jump UnknownText_0x1c0eac + db "@" +; 0x174b0 + +.SlightCompatibility: ; 0x174b0 + ; It shows interest in @ . + text_jump UnknownText_0x1c0ec6 + db "@" +; 0x174b5 + +DayCareMonPrintEmptyString: ; 174b5 +; unreferenced + ld hl, .string + ret +; 174b9 + +.string ; 174b9 + db "@" +; 174ba + diff --git a/engine/breeding/egg.asm b/engine/breeding/egg.asm deleted file mode 100755 index b402f99f1..000000000 --- a/engine/breeding/egg.asm +++ /dev/null @@ -1,993 +0,0 @@ -CheckBreedmonCompatibility: ; 16e1d - call .CheckBreedingGroupCompatibility - ld c, $0 - jp nc, .done - ld a, [wBreedMon1Species] - ld [CurPartySpecies], a - ld a, [wBreedMon1DVs] - ld [TempMonDVs], a - ld a, [wBreedMon1DVs + 1] - ld [TempMonDVs + 1], a - ld a, TEMPMON - ld [MonType], a - predef GetGender - jr c, .genderless - ld b, $1 - jr nz, .breedmon2 - inc b - -.breedmon2 - push bc - ld a, [wBreedMon2Species] - ld [CurPartySpecies], a - ld a, [wBreedMon2DVs] - ld [TempMonDVs], a - ld a, [wBreedMon2DVs + 1] - ld [TempMonDVs + 1], a - ld a, $3 - ld [MonType], a - predef GetGender - pop bc - jr c, .genderless - ld a, $1 - jr nz, .compare_gender - inc a - -.compare_gender - cp b - jr nz, .compute - -.genderless - ld c, $0 - ld a, [wBreedMon1Species] - cp DITTO - jr z, .ditto1 - ld a, [wBreedMon2Species] - cp DITTO - jr nz, .done - jr .compute - -.ditto1 - ld a, [wBreedMon2Species] - cp DITTO - jr z, .done - -.compute - call .CheckDVs - ld c, 255 - jp z, .done - ld a, [wBreedMon2Species] - ld b, a - ld a, [wBreedMon1Species] - cp b - ld c, 254 - jr z, .compare_ids - ld c, 128 -.compare_ids - ; Speed up - ld a, [wBreedMon1ID] - ld b, a - ld a, [wBreedMon2ID] - cp b - jr nz, .done - ld a, [wBreedMon1ID + 1] - ld b, a - ld a, [wBreedMon2ID + 1] - cp b - jr nz, .done - ld a, c - sub 77 - ld c, a - -.done - ld a, c - ld [wd265], a - ret -; 16ebc - - -.CheckDVs: ; 16ebc (5:6ebc) -; If Defense DVs match and the lower 3 bits of the Special DVs match, -; avoid breeding - ld a, [wBreedMon1DVs] - and %1111 - ld b, a - ld a, [wBreedMon2DVs] - and %1111 - cp b - ret nz - ld a, [wBreedMon1DVs + 1] - and %111 - ld b, a - ld a, [wBreedMon2DVs + 1] - and %111 - cp b - ret -; 16ed6 - -.CheckBreedingGroupCompatibility: ; 16ed6 -; If either mon is in the No Eggs group, -; they are not compatible. - ld a, [wBreedMon2Species] - ld [CurSpecies], a - call GetBaseData - ld a, [BaseEggGroups] - cp NO_EGGS * $11 - jr z, .Incompatible - - ld a, [wBreedMon1Species] - ld [CurSpecies], a - call GetBaseData - ld a, [BaseEggGroups] - cp NO_EGGS * $11 - jr z, .Incompatible - -; Ditto is automatically compatible with everything. -; If not Ditto, load the breeding groups into b/c and d/e. - ld a, [wBreedMon2Species] - cp DITTO - jr z, .Compatible - ld [CurSpecies], a - call GetBaseData - ld a, [BaseEggGroups] - push af - and $f - ld b, a - pop af - and $f0 - swap a - ld c, a - - ld a, [wBreedMon1Species] - cp DITTO - jr z, .Compatible - ld [CurSpecies], a - push bc - call GetBaseData - pop bc - ld a, [BaseEggGroups] - push af - and $f - ld d, a - pop af - and $f0 - swap a - ld e, a - - ld a, d - cp b - jr z, .Compatible - cp c - jr z, .Compatible - - ld a, e - cp b - jr z, .Compatible - cp c - jr z, .Compatible - -.Incompatible: - and a - ret - -.Compatible: - scf - ret -; 16f3e - -DoEggStep:: ; 16f3e - ld de, PartySpecies - ld hl, PartyMon1Happiness - ld c, 0 -.loop - ld a, [de] - inc de - cp -1 - ret z - cp EGG - jr nz, .next - dec [hl] - jr nz, .next - ld a, 1 - and a - ret - -.next - push de - ld de, PARTYMON_STRUCT_LENGTH - add hl, de - pop de - jr .loop -; 16f5e - -OverworldHatchEgg:: ; 16f5e - call RefreshScreen - call LoadStandardMenuDataHeader - call HatchEggs - call ExitAllMenus - call RestartMapMusic - jp CloseText -; 16f70 - -HatchEggs: ; 16f70 (5:6f70) - ld de, PartySpecies - ld hl, PartyMon1Happiness - xor a - ld [CurPartyMon], a - -.loop ; 16f7a (5:6f7a) - ld a, [de] - inc de - cp -1 - jp z, .done - push de - push hl - cp EGG - jp nz, .next - ld a, [hl] - and a - jp nz, .next - ld [hl], $78 - - push de - - callba SetEggMonCaughtData - callba TrainerRankings_EggsHatched - ld a, [CurPartyMon] - ld hl, PartyMon1Species - ld bc, PARTYMON_STRUCT_LENGTH - call AddNTimes - ld a, [hl] - ld [CurPartySpecies], a - dec a - call SetSeenAndCaughtMon - - ld a, [CurPartySpecies] - cp TOGEPI - jr nz, .nottogepi - ; set the event flag for hatching togepi - ld de, EVENT_TOGEPI_HATCHED - ld b, SET_FLAG - call EventFlagAction -.nottogepi - - pop de - - ld a, [CurPartySpecies] - dec de - ld [de], a - ld [wd265], a - ld [CurSpecies], a - call GetPokemonName - xor a - ld [wd26b], a - call GetBaseData - ld a, [CurPartyMon] - ld hl, PartyMon1 - ld bc, PARTYMON_STRUCT_LENGTH - call AddNTimes - push hl - ld bc, MON_MAXHP - add hl, bc - ld d, h - ld e, l - pop hl - push hl - ld bc, MON_LEVEL - add hl, bc - ld a, [hl] - ld [CurPartyLevel], a - pop hl - push hl - ld bc, MON_STATUS - add hl, bc - xor a - ld [hli], a - ld [hl], a - pop hl - push hl - ld bc, MON_STAT_EXP - 1 - add hl, bc - ld b, $0 - predef CalcPkmnStats - pop bc - ld hl, MON_MAXHP - add hl, bc - ld d, h - ld e, l - ld hl, MON_HP - add hl, bc - ld a, [de] - inc de - ld [hli], a - ld a, [de] - ld [hl], a - ld hl, MON_ID - add hl, bc - ld a, [PlayerID] - ld [hli], a - ld a, [PlayerID + 1] - ld [hl], a - ld a, [CurPartyMon] - ld hl, PartyMonOT - ld bc, NAME_LENGTH - call AddNTimes - ld d, h - ld e, l - ld hl, PlayerName - call CopyBytes - ld hl, .Text_HatchEgg - call PrintText - ld a, [CurPartyMon] - ld hl, PartyMonNicknames - ld bc, PKMN_NAME_LENGTH - call AddNTimes - ld d, h - ld e, l - push de - ld hl, .Text_NicknameHatchling - call PrintText - call YesNoBox - pop de - jr c, .nonickname - - ld a, $1 - ld [wd26b], a - xor a - ld [MonType], a - push de - ld b, $0 - callba NamingScreen - pop hl - ld de, StringBuffer1 - call InitName - jr .next - -.nonickname - ld hl, StringBuffer1 - ld bc, PKMN_NAME_LENGTH - call CopyBytes - -.next ; 1707d (5:707d) - ld hl, CurPartyMon - inc [hl] - pop hl - ld de, PARTYMON_STRUCT_LENGTH - add hl, de - pop de - jp .loop - -.done ; 1708a (5:708a) - ret -; 1708b (5:708b) - -.Text_HatchEgg: ; 0x1708b - ; Huh? @ @ - text_jump UnknownText_0x1c0db0 - start_asm - ld hl, VramState - res 0, [hl] - push hl - push de - push bc - ld a, [CurPartySpecies] - push af - call EggHatch_AnimationSequence - ld hl, .ClearTextbox - call PrintText - pop af - ld [CurPartySpecies], a - pop bc - pop de - pop hl - ld hl, .CameOutOfItsEgg - ret -; 170b0 (5:70b0) - -.ClearTextbox: ; 0x170b0 - ; - text_jump UnknownText_0x1c0db8 - db "@" -; 0x170b5 - -.CameOutOfItsEgg: ; 0x170b5 - ; came out of its EGG!@ @ - text_jump UnknownText_0x1c0dba - db "@" -; 0x170ba - -.Text_NicknameHatchling: ; 0x170ba - ; Give a nickname to @ ? - text_jump UnknownText_0x1c0dd8 - db "@" -; 0x170bf - -InitEggMoves: ; 170bf - call GetHeritableMoves - ld d, h - ld e, l - ld b, NUM_MOVES -.loop - ld a, [de] - and a - jr z, .done - ld hl, wEggMonMoves - ld c, NUM_MOVES -.next - ld a, [de] - cp [hl] - jr z, .skip - inc hl - dec c - jr nz, .next - call GetEggMove - jr nc, .skip - call LoadEggMove - -.skip - inc de - dec b - jr nz, .loop - -.done - ret -; 170e4 - -GetEggMove: ; 170e4 -GLOBAL EggMoves - - push bc - ld a, [wEggMonSpecies] - dec a - ld c, a - ld b, 0 - ld hl, EggMovePointers - add hl, bc - add hl, bc - ld a, BANK(EggMovePointers) - call GetFarHalfword -.loop - ld a, BANK(EggMoves) - call GetFarByte - cp -1 - jr z, .reached_end - ld b, a - ld a, [de] - cp b - jr z, .done_carry - inc hl - jr .loop - -.reached_end - call GetBreedmonMovePointer - ld b, NUM_MOVES -.loop2 - ld a, [de] - cp [hl] - jr z, .found_eggmove - inc hl - dec b - jr z, .inherit_tmhm - jr .loop2 - -.found_eggmove - ld a, [wEggMonSpecies] - dec a - ld c, a - ld b, 0 - ld hl, EvosAttacksPointers - add hl, bc - add hl, bc - ld a, BANK(EvosAttacksPointers) - call GetFarHalfword -.loop3 - ld a, BANK(EvosAttacks) - call GetFarByte - inc hl - and a - jr nz, .loop3 -.loop4 - ld a, BANK(EvosAttacks) - call GetFarByte - and a - jr z, .inherit_tmhm - inc hl - ld a, BANK(EvosAttacks) - call GetFarByte - ld b, a - ld a, [de] - cp b - jr z, .done_carry - inc hl - jr .loop4 - -.inherit_tmhm - ld hl, TMHMMoves -.loop5 - ld a, BANK(TMHMMoves) - call GetFarByte - inc hl - and a - jr z, .done - ld b, a - ld a, [de] - cp b - jr nz, .loop5 - ld [wPutativeTMHMMove], a - predef CanLearnTMHMMove - ld a, c - and a - jr z, .done - -.done_carry - pop bc - scf - ret - -.done - pop bc - and a - ret -; 17169 - -LoadEggMove: ; 17169 - push de - push bc - ld a, [de] - ld b, a - ld hl, wEggMonMoves - ld c, NUM_MOVES -.loop - ld a, [hli] - and a - jr z, .done - dec c - jr nz, .loop - ld de, wEggMonMoves - ld hl, wEggMonMoves + 1 - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - -.done - dec hl - ld [hl], b - ld hl, wEggMonMoves - ld de, wEggMonPP - predef FillPP - pop bc - pop de - ret -; 17197 - -GetHeritableMoves: ; 17197 - ld hl, wBreedMon2Moves - ld a, [wBreedMon1Species] - cp DITTO - jr z, .ditto1 - ld a, [wBreedMon2Species] - cp DITTO - jr z, .ditto2 - ld a, [wBreedMotherOrNonDitto] - and a - ret z - ld hl, wBreedMon1Moves - ret - -.ditto1 - ld a, [CurPartySpecies] - push af - ld a, [wBreedMon2Species] - ld [CurPartySpecies], a - ld a, [wBreedMon2DVs] - ld [TempMonDVs], a - ld a, [wBreedMon2DVs + 1] - ld [TempMonDVs + 1], a - ld a, TEMPMON - ld [MonType], a - predef GetGender - jr c, .inherit_mon2_moves - jr nz, .inherit_mon2_moves - jr .inherit_mon1_moves - -.ditto2 - ld a, [CurPartySpecies] - push af - ld a, [wBreedMon1Species] - ld [CurPartySpecies], a - ld a, [wBreedMon1DVs] - ld [TempMonDVs], a - ld a, [wBreedMon1DVs + 1] - ld [TempMonDVs + 1], a - ld a, TEMPMON - ld [MonType], a - predef GetGender - jr c, .inherit_mon1_moves - jr nz, .inherit_mon1_moves - -.inherit_mon2_moves - ld hl, wBreedMon2Moves - pop af - ld [CurPartySpecies], a - ret - -.inherit_mon1_moves - ld hl, wBreedMon1Moves - pop af - ld [CurPartySpecies], a - ret -; 1720b - -GetBreedmonMovePointer: ; 1720b - ld hl, wBreedMon1Moves - ld a, [wBreedMon1Species] - cp DITTO - ret z - ld a, [wBreedMon2Species] - cp DITTO - jr z, .ditto - ld a, [wBreedMotherOrNonDitto] - and a - ret z - -.ditto - ld hl, wBreedMon2Moves - ret -; 17224 - - -GetEggFrontpic: ; 17224 (5:7224) - push de - ld [CurPartySpecies], a - ld [CurSpecies], a - call GetBaseData - ld hl, BattleMonDVs - predef GetUnownLetter - pop de - predef_jump GetFrontpic - -GetHatchlingFrontpic: ; 1723c (5:723c) - push de - ld [CurPartySpecies], a - ld [CurSpecies], a - call GetBaseData - ld hl, BattleMonDVs - predef GetUnownLetter - pop de - predef_jump FrontpicPredef - -Hatch_UpdateFrontpicBGMapCenter: ; 17254 (5:7254) - push af - call WaitTop - push hl - push bc - hlcoord 0, 0 - ld bc, SCREEN_HEIGHT * SCREEN_WIDTH - ld a, " " - call ByteFill - pop bc - pop hl - ld a, b - ld [hBGMapAddress + 1], a - ld a, c - ld [hGraphicStartTile], a - lb bc, 7, 7 - predef PlaceGraphic - pop af - call Hatch_LoadFrontpicPal - call SetPalettes - jp WaitBGMap - -EggHatch_DoAnimFrame: ; 1727f (5:727f) - push hl - push de - push bc - callab PlaySpriteAnimations - call DelayFrame - pop bc - pop de - pop hl - ret - -EggHatch_AnimationSequence: ; 1728f (5:728f) - ld a, [wd265] - ld [wJumptableIndex], a - ld a, [CurSpecies] - push af - ld de, MUSIC_NONE - call PlayMusic - callba BlankScreen - call DisableLCD - ld hl, EggHatchGFX - ld de, VTiles0 tile $00 - ld bc, $20 - ld a, BANK(EggHatchGFX) - call FarCopyBytes - callba ClearSpriteAnims - ld de, VTiles2 tile $00 - ld a, [wJumptableIndex] - call GetHatchlingFrontpic - ld de, VTiles2 tile $31 - ld a, EGG - call GetEggFrontpic - ld de, MUSIC_EVOLUTION - call PlayMusic - call EnableLCD - hlcoord 7, 4 - ld b, VBGMap0 / $100 - ld c, $31 ; Egg tiles start here - ld a, EGG - call Hatch_UpdateFrontpicBGMapCenter - ld c, 80 - call DelayFrames - xor a - ld [wcf64], a - ld a, [hSCX] - ld b, a -.outerloop - ld hl, wcf64 - ld a, [hl] - inc [hl] - cp 8 - jr nc, .done - ld e, [hl] -.loop -; wobble e times - ld a, 2 - ld [hSCX], a - ld a, -2 - ld [wGlobalAnimXOffset], a - call EggHatch_DoAnimFrame - ld c, 2 - call DelayFrames - ld a, -2 - ld [hSCX], a - ld a, 2 - ld [wGlobalAnimXOffset], a - call EggHatch_DoAnimFrame - ld c, 2 - call DelayFrames - dec e - jr nz, .loop - ld c, 16 - call DelayFrames - call EggHatch_CrackShell - jr .outerloop - -.done - ld de, SFX_EGG_HATCH - call PlaySFX - xor a - ld [hSCX], a - ld [wGlobalAnimXOffset], a - call ClearSprites - call Hatch_InitShellFragments - hlcoord 6, 3 - ld b, VBGMap0 / $100 - ld c, $00 ; Hatchling tiles start here - ld a, [wJumptableIndex] - call Hatch_UpdateFrontpicBGMapCenter - call Hatch_ShellFragmentLoop - call WaitSFX - ld a, [wJumptableIndex] - ld [CurPartySpecies], a - hlcoord 6, 3 - ld d, $0 - ld e, ANIM_MON_HATCH - predef AnimateFrontpic - pop af - ld [CurSpecies], a - ret - -Hatch_LoadFrontpicPal: ; 17363 (5:7363) - ld [PlayerHPPal], a - ld b, SCGB_EVOLUTION - ld c, $0 - jp GetSGBLayout - -EggHatch_CrackShell: ; 1736d (5:736d) - ld a, [wcf64] - dec a - and $7 - cp $7 - ret z - srl a - ret nc - swap a - srl a - add 9 * 8 + 4 - ld d, a - ld e, 11 * 8 - ld a, SPRITE_ANIM_INDEX_EGG_CRACK - call _InitSpriteAnimStruct - ld hl, SPRITEANIMSTRUCT_TILE_ID - add hl, bc - ld [hl], $0 - ld de, SFX_EGG_CRACK - jp PlaySFX -; 17393 (5:7393) - -EggHatchGFX: ; 17393 -INCBIN "gfx/evo/egg_hatch.2bpp" -; 173b3 - -Hatch_InitShellFragments: ; 173b3 (5:73b3) - callba ClearSpriteAnims - ld hl, .SpriteData -.loop - ld a, [hli] - cp -1 - jr z, .done - ld e, a - ld a, [hli] - ld d, a - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - push hl - push bc - - ld a, SPRITE_ANIM_INDEX_EGG_HATCH - call _InitSpriteAnimStruct - - ld hl, SPRITEANIMSTRUCT_TILE_ID - add hl, bc - ld [hl], $0 - - pop de - ld a, e - ld hl, SPRITEANIMSTRUCT_FRAMESET_ID - add hl, bc - add [hl] - ld [hl], a - - ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX - add hl, bc - ld [hl], d - - pop hl - jr .loop -.done - ld de, SFX_EGG_HATCH - call PlaySFX - call EggHatch_DoAnimFrame - ret -; 173ef (5:73ef) - -.SpriteData: ; 173ef -; Probably OAM. - dsprite 10, 4, 9, 0, $00, $3c - dsprite 11, 4, 9, 0, $01, $04 - dsprite 10, 4, 10, 0, $00, $30 - dsprite 11, 4, 10, 0, $01, $10 - dsprite 10, 4, 11, 0, $02, $24 - dsprite 11, 4, 11, 0, $03, $1c - dsprite 10, 0, 9, 4, $00, $36 - dsprite 12, 0, 9, 4, $01, $0a - dsprite 10, 0, 10, 4, $02, $2a - dsprite 12, 0, 10, 4, $03, $16 - db -1 -; 17418 - -Hatch_ShellFragmentLoop: ; 17418 (5:7418) - ld c, 129 -.loop - call EggHatch_DoAnimFrame - dec c - jr nz, .loop - ret - -Special_DayCareMon1: ; 17421 - ld hl, DayCareMon1Text - call PrintText - ld a, [wBreedMon1Species] - call PlayCry - ld a, [wDayCareLady] - bit 0, a - jr z, DayCareMonCursor - call ButtonSound - ld hl, wBreedMon2Nick - call DayCareMonCompatibilityText - jp PrintText - -Special_DayCareMon2: ; 17440 - ld hl, DayCareMon2Text - call PrintText - ld a, [wBreedMon2Species] - call PlayCry - ld a, [wDayCareMan] - bit 0, a - jr z, DayCareMonCursor - call ButtonSound - ld hl, wBreedMon1Nick - call DayCareMonCompatibilityText - jp PrintText - -DayCareMonCursor: ; 1745f - jp WaitPressAorB_BlinkCursor -; 17462 - -DayCareMon2Text: ; 0x17462 - ; It's @ that was left with the DAY-CARE LADY. - text_jump UnknownText_0x1c0df3 - db "@" -; 0x17467 - -DayCareMon1Text: ; 0x17467 - ; It's @ that was left with the DAY-CARE MAN. - text_jump UnknownText_0x1c0e24 - db "@" -; 0x1746c - -DayCareMonCompatibilityText: ; 1746c - push bc - ld de, StringBuffer1 - ld bc, NAME_LENGTH - call CopyBytes - call CheckBreedmonCompatibility - pop bc - ld a, [wd265] - ld hl, .AllAlone - cp -1 - jr z, .done - ld hl, .Incompatible - and a - jr z, .done - ld hl, .HighCompatibility - cp 230 - jr nc, .done - cp 70 - ld hl, .ModerateCompatibility - jr nc, .done - ld hl, .SlightCompatibility - -.done - ret -; 1749c - -.AllAlone: ; 0x1749c - ; It's brimming with energy. - text_jump UnknownText_0x1c0e54 - db "@" -; 0x174a1 - -.Incompatible: ; 0x174a1 - ; It has no interest in @ . - text_jump UnknownText_0x1c0e6f - db "@" -; 0x174a6 - -.HighCompatibility: ; 0x174a6 - ; It appears to care for @ . - text_jump UnknownText_0x1c0e8d - db "@" -; 0x174ab - -.ModerateCompatibility: ; 0x174ab - ; It's friendly with @ . - text_jump UnknownText_0x1c0eac - db "@" -; 0x174b0 - -.SlightCompatibility: ; 0x174b0 - ; It shows interest in @ . - text_jump UnknownText_0x1c0ec6 - db "@" -; 0x174b5 - -DayCareMonPrintEmptyString: ; 174b5 -; unreferenced - ld hl, .string - ret -; 174b9 - -.string ; 174b9 - db "@" -; 174ba - diff --git a/engine/cgb_layouts.asm b/engine/cgb_layouts.asm new file mode 100644 index 000000000..7ede2768f --- /dev/null +++ b/engine/cgb_layouts.asm @@ -0,0 +1,1127 @@ +; Replaces the functionality of sgb.asm to work with CGB hardware. + +CheckCGB: ; 8d55 + ld a, [hCGB] + and a + ret +; 8d59 + +Predef_LoadSGBLayoutCGB: ; 8d59 + ld a, b + cp SCGB_RAM + jr nz, .not_ram + ld a, [SGBPredef] +.not_ram + cp SCGB_PARTY_MENU_HP_PALS + jp z, CGB_ApplyPartyMenuHPPals + call ResetBGPals + ld l, a + ld h, 0 + add hl, hl + ld de, .dw + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + ld de, .ReturnFromJumpTable + push de + jp hl +; 8d79 + +.ReturnFromJumpTable: ; 8d79 + ret +; 8d7a + +.dw ; 8d7a + dw _CGB_BattleGrayscale + dw _CGB_BattleColors + dw _CGB_PokegearPals + dw _CGB_StatsScreenHPPals + dw _CGB_Pokedex + dw _CGB_SlotMachine + dw _CGB06 + dw _CGB07 + dw _CGB_Diploma + dw _CGB_MapPals + dw _CGB_PartyMenu + dw _CGB_Evolution + dw _CGB0c + dw _CGB0d + dw _CGB_MoveList + dw _CGB0f + dw _CGB_PokedexSearchOption + dw _CGB11 + dw _CGB_Pokepic + dw _CGB13 + dw _CGB_PackPals + dw _CGB_TrainerCard + dw _CGB_PokedexUnownMode + dw _CGB_BillsPC + dw _CGB_UnownPuzzle + dw _CGB_GamefreakLogo ; called before copyright + dw _CGB_PlayerOrMonFrontpicPals + dw _CGB_TradeTube + dw _CGB_TrainerOrMonFrontpicPals + dw _CGB_MysteryGift + dw _CGB1e +; 8db8 + +_CGB_BattleGrayscale: ; 8db8 + ld hl, PalPacket_9c66 + 1 + ld de, UnknBGPals + ld c, 4 + call CopyPalettes + ld hl, PalPacket_9c66 + 1 + ld de, UnknBGPals palette PAL_BATTLE_BG_EXP + ld c, 4 + call CopyPalettes + ld hl, PalPacket_9c66 + 1 + ld de, UnknOBPals + ld c, 2 + call CopyPalettes + jr _CGB_FinishBattleScreenLayout + +_CGB_BattleColors: ; 8ddb + ld de, UnknBGPals + call GetBattlemonBackpicPalettePointer + push hl + call LoadPalette_White_Col1_Col2_Black ; PAL_BATTLE_BG_PLAYER + call GetEnemyFrontpicPalettePointer + push hl + call LoadPalette_White_Col1_Col2_Black ; PAL_BATTLE_BG_ENEMY + ld a, [EnemyHPPal] + ld l, a + ld h, $0 + add hl, hl + add hl, hl + ld bc, Palettes_a8be + add hl, bc + call LoadPalette_White_Col1_Col2_Black ; PAL_BATTLE_BG_ENEMY_HP + ld a, [PlayerHPPal] + ld l, a + ld h, $0 + add hl, hl + add hl, hl + ld bc, Palettes_a8be + add hl, bc + call LoadPalette_White_Col1_Col2_Black ; PAL_BATTLE_BG_PLAYER_HP + ld hl, Palettes_a8ca + call LoadPalette_White_Col1_Col2_Black ; PAL_BATTLE_BG_EXP + ld de, UnknOBPals + pop hl + call LoadPalette_White_Col1_Col2_Black ; PAL_BATTLE_OB_ENEMY + pop hl + call LoadPalette_White_Col1_Col2_Black ; PAL_BATTLE_OB_PLAYER + ld a, SCGB_BATTLE_COLORS + ld [SGBPredef], a + call ApplyPals +_CGB_FinishBattleScreenLayout: ; 8e23 + call InitPartyMenuBGPal7 + hlcoord 0, 0, AttrMap + ld bc, SCREEN_WIDTH * SCREEN_HEIGHT + ld a, PAL_BATTLE_BG_ENEMY_HP + call ByteFill + hlcoord 0, 4, AttrMap + lb bc, 8, 10 + ld a, PAL_BATTLE_BG_PLAYER + call FillBoxCGB + hlcoord 10, 0, AttrMap + lb bc, 7, 10 + ld a, PAL_BATTLE_BG_ENEMY + call FillBoxCGB + hlcoord 0, 0, AttrMap + lb bc, 4, 10 + ld a, PAL_BATTLE_BG_ENEMY_HP + call FillBoxCGB + hlcoord 10, 7, AttrMap + lb bc, 5, 10 + ld a, PAL_BATTLE_BG_PLAYER_HP + call FillBoxCGB + hlcoord 10, 11, AttrMap + lb bc, 1, 9 + ld a, PAL_BATTLE_BG_EXP + call FillBoxCGB + hlcoord 0, 12, AttrMap + ld bc, 6 * SCREEN_WIDTH + ld a, PAL_BATTLE_BG_TEXT + call ByteFill + ld hl, Palettes_979c + ld de, UnknOBPals palette PAL_BATTLE_OB_GRAY + ld bc, 6 palettes + ld a, $5 + call FarCopyWRAM + call ApplyAttrMap + ret +; 8e85 + + +InitPartyMenuBGPal7: ; 8e85 + callba Function100dc0 +Mobile_InitPartyMenuBGPal7: ; 8e8b + ld hl, Palette_b311 + jr nc, .not_mobile + ld hl, Palette_b309 +.not_mobile + ld de, UnknBGPals palette 7 + ld bc, 1 palettes + ld a, $5 + call FarCopyWRAM + ret +; 8e9f + +InitPartyMenuBGPal0: ; 8e9f + callba Function100dc0 + ld hl, Palette_b311 + jr nc, .not_mobile + ld hl, Palette_b309 +.not_mobile + ld de, UnknBGPals palette 0 + ld bc, 1 palettes + ld a, $5 + call FarCopyWRAM + ret +; 8eb9 + +_CGB_PokegearPals: ; 8eb9 + ld a, [PlayerGender] + bit 0, a + jr z, .male + ld hl, FemalePokegearPals + jr .got_pals + +.male + ld hl, MalePokegearPals +.got_pals + ld de, UnknBGPals + ld bc, 6 palettes + ld a, $5 + call FarCopyWRAM + call ApplyPals + ld a, $1 + ld [hCGBPalUpdate], a + ret +; 8edb + +_CGB_StatsScreenHPPals: ; 8edb + ld de, UnknBGPals + ld a, [wCurHPPal] + ld l, a + ld h, $0 + add hl, hl + add hl, hl + ld bc, Palettes_a8be + add hl, bc + call LoadPalette_White_Col1_Col2_Black ; hp palette + ld a, [CurPartySpecies] + ld bc, TempMonDVs + call GetPlayerOrMonPalettePointer + call LoadPalette_White_Col1_Col2_Black ; mon palette + ld hl, Palettes_a8ca + call LoadPalette_White_Col1_Col2_Black ; exp palette + ld hl, StatsScreenPagePals + ld de, UnknBGPals palette 3 + ld bc, 3 palettes ; pink, green, and blue page palettes + ld a, $5 + call FarCopyWRAM + call WipeAttrMap + + hlcoord 0, 0, AttrMap + lb bc, 8, SCREEN_WIDTH + ld a, $1 ; mon palette + call FillBoxCGB + + hlcoord 10, 16, AttrMap + ld bc, 10 + ld a, $2 ; exp palette + call ByteFill + + hlcoord 13, 5, AttrMap + lb bc, 2, 2 + ld a, $3 ; pink page palette + call FillBoxCGB + + hlcoord 15, 5, AttrMap + lb bc, 2, 2 + ld a, $4 ; green page palette + call FillBoxCGB + + hlcoord 17, 5, AttrMap + lb bc, 2, 2 + ld a, $5 ; blue page palette + call FillBoxCGB + + call ApplyAttrMap + call ApplyPals + ld a, $1 + ld [hCGBPalUpdate], a + ret +; 8f52 + +StatsScreenPagePals: ; 8f52 +; pink + RGB 31, 31, 31 + RGB 31, 19, 31 + RGB 31, 15, 31 + RGB 00, 00, 00 +; green + RGB 31, 31, 31 + RGB 21, 31, 14 + RGB 17, 31, 00 + RGB 00, 00, 00 +; blue + RGB 31, 31, 31 + RGB 17, 31, 31 + RGB 17, 31, 31 + RGB 00, 00, 00 +; 8f6a + +StatsScreenPals: ; 8f6a +; pink + RGB 31, 19, 31 +; green + RGB 21, 31, 14 +; blue + RGB 17, 31, 31 +; 8f70 + +_CGB_Pokedex: ; 8f70 + ld de, UnknBGPals + ld a, $1d + call GetPredefPal + call LoadHLPaletteIntoDE ; dex interface palette + ld a, [CurPartySpecies] + cp $ff + jr nz, .is_pokemon + ld hl, .PokedexQuestionMarkPalette + call LoadHLPaletteIntoDE ; green question mark palette + jr .got_palette + +.is_pokemon + call GetMonPalettePointer_ + call LoadPalette_White_Col1_Col2_Black ; mon palette +.got_palette + call WipeAttrMap + hlcoord 1, 1, AttrMap + lb bc, 7, 7 + ld a, $1 ; green question mark palette + call FillBoxCGB + call InitPartyMenuOBPals + ld hl, .PokedexCursorPalette + ld de, UnknOBPals palette 7 ; green cursor palette + ld bc, 1 palettes + ld a, $5 + call FarCopyWRAM + call ApplyAttrMap + call ApplyPals + ld a, $1 + ld [hCGBPalUpdate], a + ret +; 8fba + +.PokedexQuestionMarkPalette: ; 8fba + RGB 11, 23, 00 + RGB 07, 17, 00 + RGB 06, 16, 03 + RGB 05, 12, 01 + +.PokedexCursorPalette: ; 8fc2 + RGB 00, 00, 00 + RGB 11, 23, 00 + RGB 07, 17, 00 + RGB 00, 00, 00 +; 8fca + +_CGB_BillsPC: ; 8fca + ld de, UnknBGPals + ld a, $1d + call GetPredefPal + call LoadHLPaletteIntoDE + ld a, [CurPartySpecies] + cp $ff + jr nz, .GetMonPalette + ld hl, .BillsPCOrangePalette + call LoadHLPaletteIntoDE + jr .Resume + +.GetMonPalette: + ld bc, TempMonDVs + call GetPlayerOrMonPalettePointer + call LoadPalette_White_Col1_Col2_Black +.Resume: + call WipeAttrMap + hlcoord 1, 4, AttrMap + lb bc, 7, 7 + ld a, $1 + call FillBoxCGB + call InitPartyMenuOBPals + call ApplyAttrMap + call ApplyPals + ld a, $1 + ld [hCGBPalUpdate], a + ret +; 9009 + +.Function9009: ; 9009 + ld hl, .BillsPCOrangePalette + call LoadHLPaletteIntoDE + jr .asm_901a + +.unused + ld bc, TempMonDVs + call GetPlayerOrMonPalettePointer + call LoadPalette_White_Col1_Col2_Black +.asm_901a + call WipeAttrMap + hlcoord 1, 1, AttrMap + lb bc, 7, 7 + ld a, $1 + call FillBoxCGB + call InitPartyMenuOBPals + call ApplyAttrMap + call ApplyPals + ld a, $1 + ld [hCGBPalUpdate], a + ret +; 9036 + +.BillsPCOrangePalette: ; 9036 + RGB 31, 15, 00 + RGB 23, 12, 00 + RGB 15, 07, 00 + RGB 00, 00, 00 +; 903e + +_CGB_PokedexUnownMode: ; 903e + ld de, UnknBGPals + ld a, $1d + call GetPredefPal + call LoadHLPaletteIntoDE + ld a, [CurPartySpecies] + call GetMonPalettePointer_ + call LoadPalette_White_Col1_Col2_Black + call WipeAttrMap + hlcoord 7, 5, AttrMap + lb bc, 7, 7 + ld a, $1 + call FillBoxCGB + call InitPartyMenuOBPals + call ApplyAttrMap + call ApplyPals + ld a, $1 + ld [hCGBPalUpdate], a + ret +; 906e + +_CGB_SlotMachine: ; 906e + ld hl, SlotMachinePals + ld de, UnknBGPals + ld bc, 16 palettes + ld a, $5 + call FarCopyWRAM + call WipeAttrMap + hlcoord 0, 2, AttrMap + lb bc, 10, 3 + ld a, $2 + call FillBoxCGB + hlcoord 17, 2, AttrMap + lb bc, 10, 3 + ld a, $2 + call FillBoxCGB + hlcoord 0, 4, AttrMap + lb bc, 6, 3 + ld a, $3 + call FillBoxCGB + hlcoord 17, 4, AttrMap + lb bc, 6, 3 + ld a, $3 + call FillBoxCGB + hlcoord 0, 6, AttrMap + lb bc, 2, 3 + ld a, $4 + call FillBoxCGB + hlcoord 17, 6, AttrMap + lb bc, 2, 3 + ld a, $4 + call FillBoxCGB + hlcoord 4, 2, AttrMap + lb bc, 2, 12 + ld a, $1 + call FillBoxCGB + hlcoord 3, 2, AttrMap + lb bc, 10, 1 + ld a, $1 + call FillBoxCGB + hlcoord 16, 2, AttrMap + lb bc, 10, 1 + ld a, $1 + call FillBoxCGB + hlcoord 0, 12, AttrMap + ld bc, $78 + ld a, $7 + call ByteFill + call ApplyAttrMap + call ApplyPals + ld a, $1 + ld [hCGBPalUpdate], a + ret +; 90f8 + +_CGB06: ; 90f8 + ld hl, PalPacket_9ca6 + 1 + call CopyFourPalettes + call WipeAttrMap + ld de, UnknOBPals + ld a, $3c + call GetPredefPal + call LoadHLPaletteIntoDE + hlcoord 0, 6, AttrMap + lb bc, 12, SCREEN_WIDTH + ld a, $1 + call FillBoxCGB + call ApplyAttrMap + call ApplyPals + ld a, $1 + ld [hCGBPalUpdate], a + ret +; 9122 + +_CGB07: ; 9122 + ld b, 0 + ld hl, .Jumptable + add hl, bc + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + jp hl +; 912d + +.Jumptable: ; 912d + dw .Function9133 + dw .Function9166 + dw .Function9180 +; 9133 + +.Function9133: ; 9133 + ld hl, .Palette_914e + ld de, UnknBGPals + call LoadHLPaletteIntoDE + ld hl, .Palette_9156 + ld de, UnknOBPals + ld bc, 2 palettes + ld a, $5 + call FarCopyWRAM + call WipeAttrMap + ret +; 914e + +.Palette_914e: ; 914e + RGB 19, 31, 19 + RGB 18, 23, 31 + RGB 11, 21, 28 + RGB 04, 16, 24 + +.Palette_9156: ; 9156 + RGB 29, 29, 29 + RGB 20, 19, 20 + RGB 19, 06, 04 + RGB 03, 04, 06 + + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 00, 00 + RGB 03, 04, 06 +; 9166 + +.Function9166: ; 9166 + ld de, UnknBGPals + ld a, $38 + call GetPredefPal + call LoadHLPaletteIntoDE + + ld de, UnknOBPals + ld a, $39 + call GetPredefPal + call LoadHLPaletteIntoDE + call WipeAttrMap + ret +; 9180 + +.Function9180: ; 9180 + ld hl, PalPacket_9c36 + 1 + call CopyFourPalettes + ld de, UnknOBPals + ld a, $3a + call GetPredefPal + call LoadHLPaletteIntoDE + call WipeAttrMap + ret +; 9195 + +_CGB11: ; 9195 + ld hl, Palettes_b789 + ld de, UnknBGPals + ld bc, 5 palettes + ld a, $5 + call FarCopyWRAM + call ApplyPals + call WipeAttrMap + call ApplyAttrMap + ret +; 91ad + +_CGB_Diploma: ; 91ad + ld hl, DiplomaPalettes + ld de, UnknBGPals + ld bc, 16 palettes + ld a, $5 + call FarCopyWRAM + + ld hl, PalPacket_9cb6 + 1 + call CopyFourPalettes + call WipeAttrMap + call ApplyAttrMap + ret +; 91c8 + +_CGB_MapPals: ; 91c8 + call LoadMapPals + ld a, SCGB_MAPPALS + ld [SGBPredef], a + ret +; 91d1 + +_CGB_PartyMenu: ; 91d1 + ld hl, PalPacket_9c56 + 1 + call CopyFourPalettes + call InitPartyMenuBGPal0 + call InitPartyMenuBGPal7 + call InitPartyMenuOBPals + call ApplyAttrMap + ret +; 91e4 + +_CGB_Evolution: ; 91e4 + ld de, UnknBGPals + ld a, c + and a + jr z, .pokemon + ld a, $1a + call GetPredefPal + call LoadHLPaletteIntoDE + jr .got_palette + +.pokemon + ld hl, PartyMon1DVs + ld bc, PARTYMON_STRUCT_LENGTH + ld a, [CurPartyMon] + call AddNTimes + ld c, l + ld b, h + ld a, [PlayerHPPal] + call GetPlayerOrMonPalettePointer + call LoadPalette_White_Col1_Col2_Black + ld hl, Palettes_979c + ld de, UnknOBPals palette 2 + ld bc, 6 palettes + ld a, $5 + call FarCopyWRAM + +.got_palette + call WipeAttrMap + call ApplyAttrMap + call ApplyPals + ld a, $1 + ld [hCGBPalUpdate], a + ret +; 9228 + +_CGB0c: ; 9228 + ld hl, Palettes_b6f1 + ld de, UnknBGPals + ld bc, 5 palettes + ld a, $5 + call FarCopyWRAM + ld hl, Palettes_b719 + ld de, UnknOBPals + ld bc, 2 palettes + ld a, $5 + call FarCopyWRAM + ld a, SCGB_DIPLOMA + ld [SGBPredef], a + call ApplyPals + ld a, $1 + ld [hCGBPalUpdate], a + ret +; 9251 + +_CGB0d: ; 9251 + ld hl, PalPacket_9cb6 + 1 + call CopyFourPalettes + call WipeAttrMap + call ApplyAttrMap + ret +; 925e + +_CGB_UnownPuzzle: ; 925e + ld hl, PalPacket_9bc6 + 1 + call CopyFourPalettes + ld de, UnknOBPals + ld a, $4c + call GetPredefPal + call LoadHLPaletteIntoDE + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld hl, UnknOBPals + ld a, $1f + ld [hli], a + ld a, $0 + ld [hl], a + pop af + ld [rSVBK], a + call WipeAttrMap + call ApplyAttrMap + ret +; 9289 + +_CGB_TrainerCard: ; 9289 + ld de, UnknBGPals + xor a ; CHRIS + call GetTrainerPalettePointer + call LoadPalette_White_Col1_Col2_Black + ld a, FALKNER ; KRIS + call GetTrainerPalettePointer + call LoadPalette_White_Col1_Col2_Black + ld a, BUGSY + call GetTrainerPalettePointer + call LoadPalette_White_Col1_Col2_Black + ld a, WHITNEY + call GetTrainerPalettePointer + call LoadPalette_White_Col1_Col2_Black + ld a, MORTY + call GetTrainerPalettePointer + call LoadPalette_White_Col1_Col2_Black + ld a, CHUCK + call GetTrainerPalettePointer + call LoadPalette_White_Col1_Col2_Black + ld a, JASMINE + call GetTrainerPalettePointer + call LoadPalette_White_Col1_Col2_Black + ld a, PRYCE + call GetTrainerPalettePointer + call LoadPalette_White_Col1_Col2_Black + ld a, $24 + call GetPredefPal + call LoadHLPaletteIntoDE + + ; fill screen with opposite-gender palette for the card border + hlcoord 0, 0, AttrMap + ld bc, SCREEN_WIDTH * SCREEN_HEIGHT + ld a, [PlayerGender] + and a + ld a, $1 ; kris + jr z, .got_gender + ld a, $0 ; chris +.got_gender + call ByteFill + ; fill trainer sprite area with same-gender palette + hlcoord 14, 1, AttrMap + lb bc, 7, 5 + ld a, [PlayerGender] + and a + ld a, $0 ; chris + jr z, .got_gender2 + ld a, $1 ; kris +.got_gender2 + call FillBoxCGB + ; top-right corner still uses the border's palette + hlcoord 18, 1, AttrMap + ld [hl], $1 + hlcoord 2, 11, AttrMap + lb bc, 2, 4 + ld a, $1 ; falkner + call FillBoxCGB + hlcoord 6, 11, AttrMap + lb bc, 2, 4 + ld a, $2 ; bugsy + call FillBoxCGB + hlcoord 10, 11, AttrMap + lb bc, 2, 4 + ld a, $3 ; whitney + call FillBoxCGB + hlcoord 14, 11, AttrMap + lb bc, 2, 4 + ld a, $4 ; morty + call FillBoxCGB + hlcoord 2, 14, AttrMap + lb bc, 2, 4 + ld a, $5 ; chuck + call FillBoxCGB + hlcoord 6, 14, AttrMap + lb bc, 2, 4 + ld a, $6 ; jasmine + call FillBoxCGB + hlcoord 10, 14, AttrMap + lb bc, 2, 4 + ld a, $7 ; pryce + call FillBoxCGB + ; clair uses kris's palette + ld a, [PlayerGender] + and a + push af + jr z, .got_gender3 + hlcoord 14, 14, AttrMap + lb bc, 2, 4 + ld a, $1 + call FillBoxCGB +.got_gender3 + pop af + ld c, $0 + jr nz, .got_gender4 + inc c +.got_gender4 + ld a, c + hlcoord 18, 1, AttrMap + ld [hl], a + call ApplyAttrMap + call ApplyPals + ld a, $1 + ld [hCGBPalUpdate], a + ret +; 9373 + +_CGB_MoveList: ; 9373 + ld de, UnknBGPals + ld a, $10 + call GetPredefPal + call LoadHLPaletteIntoDE + ld a, [PlayerHPPal] + ld l, a + ld h, 0 + add hl, hl + add hl, hl + ld bc, Palettes_a8be + add hl, bc + call LoadPalette_White_Col1_Col2_Black + call WipeAttrMap + hlcoord 11, 1, AttrMap + lb bc, 2, 9 + ld a, $1 + call FillBoxCGB + call ApplyAttrMap + call ApplyPals + ld a, $1 + ld [hCGBPalUpdate], a + ret +; 93a6 + +_CGB0f: ; 93a6 + ld hl, PalPacket_9c46 + 1 + call CopyFourPalettes + call WipeAttrMap + call ApplyAttrMap + call ApplyPals + ld a, $1 + ld [hCGBPalUpdate], a + ret +; 93ba + +_CGB_PokedexSearchOption: ; 93ba + ld de, UnknBGPals + ld a, $1d + call GetPredefPal + call LoadHLPaletteIntoDE + call WipeAttrMap + call ApplyAttrMap + call ApplyPals + ld a, $1 + ld [hCGBPalUpdate], a + ret +; 93d3 + +_CGB_PackPals: ; 93d3 +; pack pals + ld a, [BattleType] + cp BATTLETYPE_TUTORIAL + jr z, .tutorial_male + + ld a, [PlayerGender] + bit 0, a + jr z, .tutorial_male + + ld hl, .KrisPackPals + jr .got_gender + +.tutorial_male + ld hl, .ChrisPackPals + +.got_gender + ld de, UnknBGPals + ld bc, 8 palettes ; 6 palettes? + ld a, $5 + call FarCopyWRAM + call WipeAttrMap + hlcoord 0, 0, AttrMap + lb bc, 1, 10 + ld a, $1 + call FillBoxCGB + hlcoord 10, 0, AttrMap + lb bc, 1, 10 + ld a, $2 + call FillBoxCGB + hlcoord 7, 2, AttrMap + lb bc, 9, 1 + ld a, $3 + call FillBoxCGB + hlcoord 0, 7, AttrMap + lb bc, 3, 5 + ld a, $4 + call FillBoxCGB + hlcoord 0, 3, AttrMap + lb bc, 3, 5 + ld a, $5 + call FillBoxCGB + call ApplyAttrMap + call ApplyPals + ld a, $1 + ld [hCGBPalUpdate], a + ret +; 9439 + +.ChrisPackPals: ; 9439 + RGB 31, 31, 31 + RGB 15, 15, 31 + RGB 00, 00, 31 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 15, 15, 31 + RGB 00, 00, 31 + RGB 00, 00, 00 + + RGB 31, 11, 31 + RGB 15, 15, 31 + RGB 00, 00, 31 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 15, 15, 31 + RGB 00, 00, 31 + RGB 31, 00, 00 + + RGB 31, 31, 31 + RGB 15, 15, 31 + RGB 31, 00, 00 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 07, 19, 07 + RGB 07, 19, 07 + RGB 00, 00, 00 +; 9469 + +.KrisPackPals: ; 9469 + RGB 31, 31, 31 + RGB 31, 14, 31 + RGB 31, 07, 31 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 31, 14, 31 + RGB 31, 07, 31 + RGB 00, 00, 00 + + RGB 15, 15, 31 + RGB 31, 14, 31 + RGB 31, 07, 31 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 31, 14, 31 + RGB 31, 07, 31 + RGB 31, 00, 00 + + RGB 31, 31, 31 + RGB 31, 14, 31 + RGB 31, 00, 00 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 07, 19, 07 + RGB 07, 19, 07 + RGB 00, 00, 00 +; 9499 + +_CGB_Pokepic: ; 9499 + call _CGB_MapPals + ld de, SCREEN_WIDTH + hlcoord 0, 0, AttrMap + ld a, [wMenuBorderTopCoord] +.loop + and a + jr z, .found_top + dec a + add hl, de + jr .loop + +.found_top + ld a, [wMenuBorderLeftCoord] + ld e, a + ld d, $0 + add hl, de + ld a, [wMenuBorderTopCoord] + ld b, a + ld a, [wMenuBorderBottomCoord] + inc a + sub b + ld b, a + ld a, [wMenuBorderLeftCoord] + ld c, a + ld a, [wMenuBorderRightCoord] + sub c + inc a + ld c, a + ld a, $0 + call FillBoxCGB + call ApplyAttrMap + ret +; 94d0 + +_CGB13: ; 94d0 + ld hl, PalPacket_9ba6 + 1 + call CopyFourPalettes + call WipeAttrMap + hlcoord 0, 4, AttrMap + lb bc, 10, SCREEN_WIDTH + ld a, $2 + call FillBoxCGB + hlcoord 0, 6, AttrMap + lb bc, 6, SCREEN_WIDTH + ld a, $1 + call FillBoxCGB + call ApplyAttrMap + call ApplyPals + ld a, $1 + ld [hCGBPalUpdate], a + ret +; 94fa + +_CGB_GamefreakLogo: ; 94fa + ld de, UnknBGPals + ld a, $4e + call GetPredefPal + call LoadHLPaletteIntoDE + ld hl, .Palette + ld de, UnknOBPals + call LoadHLPaletteIntoDE + ld hl, .Palette + ld de, UnknOBPals palette 1 + call LoadHLPaletteIntoDE + call WipeAttrMap + call ApplyAttrMap + call ApplyPals + ret +; 9521 + +.Palette: ; 9521 + RGB 31, 31, 31 + RGB 13, 11, 00 + RGB 23, 12, 28 + RGB 00, 00, 00 +; 9529 + +_CGB_PlayerOrMonFrontpicPals: ; 9529 + ld de, UnknBGPals + ld a, [CurPartySpecies] + ld bc, TempMonDVs + call GetPlayerOrMonPalettePointer + call LoadPalette_White_Col1_Col2_Black + call WipeAttrMap + call ApplyAttrMap + call ApplyPals + ret +; 9542 + +_CGB1e: ; 9542 + ld de, UnknBGPals + ld a, [CurPartySpecies] + call GetMonPalettePointer_ + call LoadPalette_White_Col1_Col2_Black + call WipeAttrMap + call ApplyAttrMap + ret +; 9555 + +_CGB_TradeTube: ; 9555 + ld hl, PalPacket_9cc6 + 1 + call CopyFourPalettes + ld hl, Palettes_b681 + ld de, UnknOBPals + ld bc, 1 palettes + ld a, $5 + call FarCopyWRAM + ld de, UnknOBPals palette 7 + ld a, $1c + call GetPredefPal + call LoadHLPaletteIntoDE + call WipeAttrMap + ret +; 9578 + +_CGB_TrainerOrMonFrontpicPals: ; 9578 + ld de, UnknBGPals + ld a, [CurPartySpecies] + ld bc, TempMonDVs + call GetFrontpicPalettePointer + call LoadPalette_White_Col1_Col2_Black + call WipeAttrMap + call ApplyAttrMap + call ApplyPals + ret +; 9591 + +_CGB_MysteryGift: ; 9591 + ld hl, .Palettes + ld de, UnknBGPals + ld bc, 2 palettes + ld a, $5 + call FarCopyWRAM + call ApplyPals + call WipeAttrMap + hlcoord 3, 7, AttrMap + lb bc, 8, 14 + ld a, $1 + call FillBoxCGB + hlcoord 1, 5, AttrMap + lb bc, 1, 18 + ld a, $1 + call FillBoxCGB + hlcoord 1, 16, AttrMap + lb bc, 1, 18 + ld a, $1 + call FillBoxCGB + hlcoord 0, 0, AttrMap + lb bc, 17, 2 + ld a, $1 + call FillBoxCGB + hlcoord 18, 5, AttrMap + lb bc, 12, 1 + ld a, $1 + call FillBoxCGB + call ApplyAttrMap + ret +; 95e0 + +.Palettes: ; 95e0 + RGB 31, 31, 31 + RGB 16, 31, 14 + RGB 05, 14, 21 + RGB 05, 13, 10 + + RGB 31, 31, 31 + RGB 11, 21, 25 + RGB 05, 14, 21 + RGB 00, 03, 19 +; 95f0 diff --git a/engine/color.asm b/engine/color.asm index add8c24ac..e339b30be 100644 --- a/engine/color.asm +++ b/engine/color.asm @@ -1,5 +1,4 @@ -PALPACKET_LENGTH EQU $10 -INCLUDE "predef/sgb.asm" +INCLUDE "engine/sgb_layouts.asm" SHINY_ATK_BIT EQU 5 SHINY_DEF_VAL EQU 10 @@ -500,7 +499,7 @@ LoadMailPalettes: RGB 00, 21, 00 RGB 00, 00, 00 -INCLUDE "predef/cgb.asm" +INCLUDE "engine/cgb_layouts.asm" Function95f0: ; XXX @@ -2027,13 +2026,13 @@ Palette_b311: ; b311 not mobile RGB 00, 00, 00 TilesetBGPalette: -INCLUDE "tilesets/bg.pal" +INCLUDE "data/palettes/bg.pal" MapObjectPals:: -INCLUDE "tilesets/ob.pal" +INCLUDE "data/palettes/ob.pal" RoofPals: -INCLUDE "tilesets/roof.pal" +INCLUDE "data/palettes/roof.pal" DiplomaPalettes: RGB 27, 31, 27 diff --git a/engine/crystal_colors.asm b/engine/crystal_colors.asm new file mode 100755 index 000000000..125fee8bc --- /dev/null +++ b/engine/crystal_colors.asm @@ -0,0 +1,614 @@ +GetMysteryGift_MobileAdapterLayout: ; 4930f (mobile) + ld a, b + cp SCGB_RAM + jr nz, .not_ram + ld a, [SGBPredef] +.not_ram + push af + callba ResetBGPals + pop af + ld l, a + ld h, 0 + add hl, hl + ld de, .dw + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + ld de, .done + push de + jp hl +.done + ret +; 49330 (12:5330) + +.dw ; 49330 + + dw MG_Mobile_Layout00 + dw MG_Mobile_Layout01 + dw MG_Mobile_Layout02 +; 49336 + +MG_Mobile_Layout_FillBox: ; 49336 +.row + push bc + push hl +.col + ld [hli], a + dec c + jr nz, .col + pop hl + ld bc, SCREEN_WIDTH + add hl, bc + pop bc + dec b + jr nz, .row + ret +; 49346 + +MG_Mobile_Layout_WipeAttrMap: ; 49346 (12:5346) + hlcoord 0, 0, AttrMap + ld bc, SCREEN_HEIGHT * SCREEN_WIDTH + xor a + call ByteFill + ret + +MG_Mobile_Layout_LoadPals: ; 49351 (12:5351) + ld de, UnknBGPals + ld hl, Palette_493e1 + ld bc, 5 palettes + ld a, $5 ; BANK(UnknBGPals) + call FarCopyWRAM + ld de, UnknBGPals + 7 palettes + ld hl, Palette_TextBG7 + ld bc, 1 palettes + ld a, $5 ; BANK(UnknBGPals) + call FarCopyWRAM + ret + +MG_Mobile_Layout00: ; 4936e (12:536e) + call MG_Mobile_Layout_LoadPals + call MG_Mobile_Layout_WipeAttrMap + call MG_Mobile_Layout_CreatePalBoxes + callba ApplyAttrMap + callba ApplyPals + ret + +MG_Mobile_Layout_CreatePalBoxes: ; 49384 (12:5384) + hlcoord 0, 0, AttrMap + lb bc, 4, 1 + ld a, $1 + call MG_Mobile_Layout_FillBox + lb bc, 2, 1 + ld a, $2 + call MG_Mobile_Layout_FillBox + lb bc, 6, 1 + ld a, $3 + call MG_Mobile_Layout_FillBox + hlcoord 1, 0, AttrMap + ld a, $1 + lb bc, 3, 18 + call MG_Mobile_Layout_FillBox + lb bc, 2, 18 + ld a, $2 + call MG_Mobile_Layout_FillBox + lb bc, 12, 18 + ld a, $3 + call MG_Mobile_Layout_FillBox + hlcoord 19, 0, AttrMap + lb bc, 4, 1 + ld a, $1 + call MG_Mobile_Layout_FillBox + lb bc, 2, 1 + ld a, $2 + call MG_Mobile_Layout_FillBox + lb bc, 6, 1 + ld a, $3 + call MG_Mobile_Layout_FillBox + hlcoord 0, 12, AttrMap + ld bc, 6 * SCREEN_WIDTH + ld a, $7 + call ByteFill + ret +; 493e1 (12:53e1) + +Palette_493e1: ; 493e1 + RGB 03, 07, 09 + RGB 26, 31, 00 + RGB 20, 16, 03 + RGB 31, 31, 31 + + RGB 13, 24, 29 + RGB 11, 16, 30 + RGB 07, 11, 22 + RGB 05, 06, 18 + + RGB 31, 31, 31 + RGB 20, 26, 31 + RGB 13, 24, 29 + RGB 11, 16, 30 + + RGB 31, 31, 31 + RGB 20, 26, 31 + RGB 00, 00, 00 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 20, 16, 08 + RGB 31, 00, 00 + RGB 00, 00, 00 +; 49409 + +LoadOW_BGPal7:: ; 49409 + ld hl, Palette_TextBG7 + ld de, UnknBGPals + 8 * 7 + ld bc, 8 + ld a, $5 + call FarCopyWRAM + ret +; 49418 + +Palette_TextBG7: ; 49418 + RGB 31, 31, 31 + RGB 08, 19, 28 + RGB 05, 05, 16 + RGB 00, 00, 00 +; 49420 + +Function49420:: ; 49420 (12:5420) + ld hl, MansionPalette4 + ld de, UnknBGPals + $30 + ld bc, $8 + ld a, $5 ; BANK(UnknBGPals) + call FarCopyWRAM + ret +; 4942f (12:542f) + +MG_Mobile_Layout01: ; 4942f + call MG_Mobile_Layout_LoadPals + ld de, UnknBGPals + $38 + ld hl, Palette_49478 + ld bc, $8 + ld a, $5 ; BANK(UnknBGPals) + call FarCopyWRAM + call MG_Mobile_Layout_WipeAttrMap + hlcoord 0, 0, AttrMap + ld bc, SCREEN_WIDTH * SCREEN_HEIGHT + xor a + call ByteFill + hlcoord 0, 14, AttrMap + ld bc, 4 * SCREEN_WIDTH + ld a, $7 + call ByteFill + ld a, [wd002] + bit 6, a + jr z, .asm_49464 + call Function49480 + jr .asm_49467 + +.asm_49464 + call Function49496 + +.asm_49467 + callba ApplyAttrMap + callba ApplyPals + ld a, $1 + ld [hCGBPalUpdate], a + ret +; 49478 + +Palette_49478: ; 49478 + RGB 31, 31, 31 + RGB 26, 31, 00 + RGB 20, 16, 03 + RGB 00, 00, 00 +; 49480 + +Function49480: ; 49480 + hlcoord 0, 0, AttrMap + lb bc, 4, SCREEN_WIDTH + ld a, $7 + call MG_Mobile_Layout_FillBox + hlcoord 0, 2, AttrMap + ld a, $4 + ld [hl], a + hlcoord 19, 2, AttrMap + ld [hl], a + ret +; 49496 + +Function49496: ; 49496 + hlcoord 0, 0, AttrMap + lb bc, 2, SCREEN_WIDTH + ld a, $7 + call MG_Mobile_Layout_FillBox + hlcoord 0, 1, AttrMap + ld a, $4 + ld [hl], a + hlcoord 19, 1, AttrMap + ld [hl], a + ret +; 494ac + +LoadSpecialMapPalette: ; 494ac + ld a, [wTileset] + cp TILESET_POKECOM_CENTER + jr z, .pokecom_2f + cp TILESET_BATTLE_TOWER + jr z, .battle_tower + cp TILESET_ICE_PATH + jr z, .ice_path + cp TILESET_HOUSE_1 + jr z, .house + cp TILESET_RADIO_TOWER + jr z, .radio_tower + cp TILESET_CELADON_MANSION + jr z, .mansion_mobile + jr .do_nothing + +.pokecom_2f + call LoadPokeComPalette + scf + ret + +.battle_tower + call LoadBattleTowerPalette + scf + ret + +.ice_path + ld a, [wPermission] ; permission + and 7 + cp 3 ; Hall of Fame + jr z, .do_nothing + call LoadIcePathPalette + scf + ret + +.house + call LoadHousePalette + scf + ret + +.radio_tower + call LoadRadioTowerPalette + scf + ret + +.mansion_mobile + call LoadMansionPalette + scf + ret + +.do_nothing + and a + ret +; 494f2 + +LoadPokeComPalette: ; 494f2 + ld a, $5 + ld de, UnknBGPals + ld hl, PokeComPalette + ld bc, 8 palettes + call FarCopyWRAM + ret +; 49501 + +PokeComPalette: ; 49501 +INCLUDE "tilesets/pokecom_center.pal" +; 49541 + +LoadBattleTowerPalette: ; 49541 + ld a, $5 + ld de, UnknBGPals + ld hl, BattleTowerPalette + ld bc, 8 palettes + call FarCopyWRAM + ret +; 49550 + +BattleTowerPalette: ; 49550 +INCLUDE "tilesets/battle_tower.pal" +; 49590 + +LoadIcePathPalette: ; 49590 + ld a, $5 + ld de, UnknBGPals + ld hl, IcePathPalette + ld bc, 8 palettes + call FarCopyWRAM + ret +; 4959f + +IcePathPalette: ; 4959f +INCLUDE "tilesets/ice_path.pal" +; 495df + +LoadHousePalette: ; 495df + ld a, $5 + ld de, UnknBGPals + ld hl, HousePalette + ld bc, 8 palettes + call FarCopyWRAM + ret +; 495ee + +HousePalette: ; 495ee +INCLUDE "tilesets/house_1.pal" +; 4962e + +LoadRadioTowerPalette: ; 4962e + ld a, $5 + ld de, UnknBGPals + ld hl, RadioTowerPalette + ld bc, 8 palettes + call FarCopyWRAM + ret +; 4963d + +RadioTowerPalette: ; 4963d +INCLUDE "tilesets/radio_tower.pal" +; 4967d + +MansionPalette1: ; 4967d + RGB 30, 28, 26 + RGB 19, 19, 19 + RGB 13, 13, 13 + RGB 07, 07, 07 + + RGB 30, 28, 26 + RGB 31, 19, 24 + RGB 30, 10, 06 + RGB 07, 07, 07 + + RGB 18, 24, 09 + RGB 15, 20, 01 + RGB 09, 13, 00 + RGB 07, 07, 07 + + RGB 30, 28, 26 + RGB 15, 16, 31 + RGB 09, 09, 31 + RGB 07, 07, 07 + + RGB 30, 28, 26 + RGB 31, 31, 07 + RGB 31, 16, 01 + RGB 07, 07, 07 + + RGB 26, 24, 17 + RGB 21, 17, 07 + RGB 16, 13, 03 + RGB 07, 07, 07 + +MansionPalette3: ; 496ad + RGB 30, 28, 26 + RGB 17, 19, 31 + RGB 14, 16, 31 + RGB 07, 07, 07 + + RGB 31, 31, 16 + RGB 31, 31, 16 + RGB 14, 09, 00 + RGB 00, 00, 00 +; 496bd + +MansionPalette4: ; 496bd + RGB 05, 05, 16 + RGB 08, 19, 28 + RGB 00, 00, 00 + RGB 31, 31, 31 +; 496c5 + +LoadMansionPalette: ; 496c5 + ld a, $5 + ld de, UnknBGPals + ld hl, MansionPalette1 + ld bc, 8 palettes + call FarCopyWRAM + ld a, $5 + ld de, UnknBGPals + 4 palettes + ld hl, MansionPalette2 + ld bc, 1 palettes + call FarCopyWRAM + ld a, $5 + ld de, UnknBGPals + 3 palettes + ld hl, MansionPalette3 + ld bc, 1 palettes + call FarCopyWRAM + ld a, $5 + ld de, UnknBGPals + 6 palettes + ld hl, MansionPalette4 + ld bc, 1 palettes + call FarCopyWRAM + ret +; 496fe + +MansionPalette2: ; 496fe + RGB 25, 24, 23 + RGB 20, 19, 19 + RGB 14, 16, 31 + RGB 07, 07, 07 +; 49706 + +MG_Mobile_Layout02: ; 49706 + ld hl, Palette_49732 + ld de, UnknBGPals + ld bc, 1 palettes + ld a, $5 + call FarCopyWRAM + callba ApplyPals + call MG_Mobile_Layout_WipeAttrMap + callba ApplyAttrMap + ld hl, Palette_4973a + ld de, UnknOBPals + ld bc, 1 palettes + ld a, $5 + call FarCopyWRAM + ret +; 49732 + +Palette_49732: ; 49732 + RGB 31, 31, 31 + RGB 23, 16, 07 + RGB 23, 07, 07 + RGB 03, 07, 20 +; 4973a + +Palette_4973a: ; 4973a + RGB 00, 00, 00 + RGB 07, 05, 31 + RGB 14, 18, 31 + RGB 31, 31, 31 +; 49742 + +Function49742: ; 49742 + ld hl, Palette_49757 + ld de, UnknBGPals + ld bc, $40 + ld a, $5 + call FarCopyWRAM + callba ApplyPals + ret +; 49757 + +Palette_49757: ; 49757 + RGB 31, 31, 63 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + + RGB 31, 31, 63 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + + RGB 04, 02, 15 + RGB 21, 00, 21 + RGB 31, 00, 00 + RGB 31, 31, 31 + + RGB 04, 02, 15 + RGB 21, 00, 21 + RGB 30, 16, 26 + RGB 31, 31, 31 + + RGB 04, 02, 15 + RGB 21, 00, 21 + RGB 16, 16, 16 + RGB 31, 31, 31 + + RGB 04, 02, 15 + RGB 21, 00, 21 + RGB 31, 12, 12 + RGB 31, 31, 31 + + RGB 04, 02, 15 + RGB 21, 00, 21 + RGB 07, 08, 31 + RGB 31, 31, 31 + + RGB 04, 02, 15 + RGB 21, 00, 21 + RGB 29, 28, 09 + RGB 31, 31, 31 +; 49797 + +_InitMG_Mobile_LinkTradePalMap: ; 49797 + hlcoord 0, 0, AttrMap + lb bc, 16, 2 + ld a, $4 + call MG_Mobile_Layout_FillBox + ld a, $3 + ldcoord_a 0, 1, AttrMap + ldcoord_a 0, 14, AttrMap + hlcoord 2, 0, AttrMap + lb bc, 8, 18 + ld a, $5 + call MG_Mobile_Layout_FillBox + hlcoord 2, 8, AttrMap + lb bc, 8, 18 + ld a, $6 + call MG_Mobile_Layout_FillBox + hlcoord 0, 16, AttrMap + lb bc, 2, SCREEN_WIDTH + ld a, $4 + call MG_Mobile_Layout_FillBox + ld a, $3 + lb bc, 6, 1 + hlcoord 6, 1, AttrMap + call MG_Mobile_Layout_FillBox + ld a, $3 + lb bc, 6, 1 + hlcoord 17, 1, AttrMap + call MG_Mobile_Layout_FillBox + ld a, $3 + lb bc, 6, 1 + hlcoord 6, 9, AttrMap + call MG_Mobile_Layout_FillBox + ld a, $3 + lb bc, 6, 1 + hlcoord 17, 9, AttrMap + call MG_Mobile_Layout_FillBox + ld a, $2 + hlcoord 2, 16, AttrMap + ld [hli], a + ld a, $7 + ld [hli], a + ld [hli], a + ld [hli], a + ld a, $2 + ld [hl], a + hlcoord 2, 17, AttrMap + ld a, $3 + ld bc, 6 + call ByteFill + ret +; 49811 + +LoadTradeRoomBGPals: ; 49811 + ld hl, Palette_49826 + ld de, UnknBGPals + $10 + ld bc, $30 + ld a, $5 + call FarCopyWRAM + callba ApplyPals + ret +; 49826 + +Palette_49826: ; 49826 + RGB 04, 02, 15 + RGB 07, 09, 31 + RGB 31, 00, 00 + RGB 31, 31, 31 + + RGB 04, 02, 15 + RGB 07, 09, 31 + RGB 15, 23, 30 + RGB 31, 31, 31 + + RGB 04, 02, 15 + RGB 07, 09, 31 + RGB 16, 16, 16 + RGB 31, 31, 31 + + RGB 04, 02, 15 + RGB 07, 09, 31 + RGB 25, 07, 04 + RGB 31, 31, 31 + + RGB 04, 02, 15 + RGB 07, 09, 31 + RGB 03, 22, 08 + RGB 31, 31, 31 + + RGB 04, 02, 15 + RGB 07, 09, 31 + RGB 29, 28, 09 + RGB 31, 31, 31 +; 49856 + +InitMG_Mobile_LinkTradePalMap: ; 49856 + call _InitMG_Mobile_LinkTradePalMap + ret +; 4985a diff --git a/engine/link.asm b/engine/link.asm index 7bca8b891..5be841394 100755 --- a/engine/link.asm +++ b/engine/link.asm @@ -2034,7 +2034,7 @@ Function28f09: ; 28f09 ret ; 28f24 -INCLUDE "engine/trade/animation.asm" +INCLUDE "engine/trade_animation.asm" Special_CheckTimeCapsuleCompatibility: ; 29bfb ; Checks to see if your Party is compatible with the generation 1 games. Returns the following in ScriptVar: diff --git a/engine/printer.asm b/engine/printer.asm index 7dd2d4f4a..777ea9269 100755 --- a/engine/printer.asm +++ b/engine/printer.asm @@ -1,4 +1,4 @@ -INCLUDE "engine/printer/serial.asm" +INCLUDE "engine/printer_serial.asm" SendScreenToPrinter: ; 843f0 .loop diff --git a/engine/printer/serial.asm b/engine/printer/serial.asm deleted file mode 100755 index 6909a38b2..000000000 --- a/engine/printer/serial.asm +++ /dev/null @@ -1,645 +0,0 @@ -Printer_StartTransmission: ; 84000 - ld hl, wGameboyPrinterRAM - ld bc, wGameboyPrinterRAMEnd - wGameboyPrinterRAM - xor a - call Printer_ByteFill - xor a - ld [rSB], a - ld [rSC], a - ld [wPrinterOpcode], a - ld hl, wPrinterConnectionOpen - set 0, [hl] - ld a, [GBPrinter] - ld [wGBPrinterSettings], a - xor a - ld [wJumptableIndex], a - ret -; 84022 - -PrinterJumptableIteration: ; 84022 - ld a, [wJumptableIndex] - ld e, a - ld d, 0 - ld hl, .Jumptable - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp hl -; 84031 - - -.Jumptable: ; 84031 (21:4031) - - dw Print_InitPrinterHandshake ; 00 - dw Printer_CheckConnectionStatus ; 01 - dw Printer_WaitSerial ; 02 - dw Printer_StartTransmittingTilemap ; 03 - dw Printer_TransmissionLoop ; 04 - dw Printer_WaitSerialAndLoopBack2 ; 05 - - dw Printer_EndTilemapTransmission ; 06 - dw Printer_TransmissionLoop ; 07 - dw Printer_WaitSerial ; 08 - dw Printer_SignalSendHeader ; 09 - dw Printer_TransmissionLoop ; 0a - dw Printer_WaitSerial ; 0b - dw Printer_WaitUntilFinished ; 0c - dw Printer_Quit ; 0d - - dw Printer_NextSection_ ; 0e - dw Printer_WaitSerial ; 0f - dw Printer_SignalLoopBack ; 10 - dw Printer_SectionOne ; 11 - dw Printer_WaitLoopBack ; 12 - dw Printer_WaitLoopBack_ ; 13 - - -Printer_NextSection: ; 84059 (21:4059) - ld hl, wJumptableIndex - inc [hl] - ret - -Printer_PrevSection: ; 8405e (21:405e) - ld hl, wJumptableIndex - dec [hl] - ret - -Printer_Quit: ; 84063 (21:4063) - xor a - ld [wPrinterStatusFlags], a - ld hl, wJumptableIndex - set 7, [hl] - ret - -Printer_NextSection_: ; 8406d (21:406d) - call Printer_NextSection - ret - -Printer_SectionOne: ; 84071 (21:4071) - ld a, $1 - ld [wJumptableIndex], a - ret - -Print_InitPrinterHandshake: ; 84077 (21:4077) - call Printer_ResetData - ld hl, PrinterDataPacket1 - call Printer_CopyPacket - xor a - ld [wPrinterSendByteCounter], a - ld [wPrinterSendByteCounter + 1], a - ld a, [wPrinterQueueLength] - ld [wPrinterRowIndex], a - call Printer_NextSection - call Printer_WaitHandshake - ld a, PRINTER_STATUS_CHECKING - ld [wPrinterStatus], a - ret - -Printer_StartTransmittingTilemap: ; 84099 (21:4099) - call Printer_ResetData - ; check ??? - ld hl, wPrinterRowIndex - ld a, [hl] - and a - jr z, Printer_EndTilemapTransmission - ; send packet 3 - ld hl, PrinterDataPacket3 ; signal start of transmission - call Printer_CopyPacket - ; prepare to send 40 tiles - call Printer_Convert2RowsTo2bpp - ld a, (40 tiles) % $100 - ld [wPrinterSendByteCounter], a - ld a, (40 tiles) / $100 - ld [wPrinterSendByteCounter + 1], a - ; compute the checksum - call Printer_ComputeChecksum - call Printer_NextSection - call Printer_WaitHandshake - ld a, PRINTER_STATUS_TRANSMITTING - ld [wPrinterStatus], a - ret - -Printer_EndTilemapTransmission: ; 840c5 (21:40c5) - ; ensure that we go from here to routine 7 - ld a, $6 - ld [wJumptableIndex], a - ; send packet 4 - ld hl, PrinterDataPacket4 ; signal no transmission - call Printer_CopyPacket - ; send no tile data - xor a - ld [wPrinterSendByteCounter], a - ld [wPrinterSendByteCounter + 1], a - call Printer_NextSection - call Printer_WaitHandshake - ret - -Printer_SignalSendHeader: ; 840de (21:40de) - call Printer_ResetData - ld hl, PrinterDataPacket2 ; signal request print - call Printer_CopyPacket - ; prepare to send 1 tile - call Printer_StageHeaderForSend - ld a, 4 % $100 - ld [wPrinterSendByteCounter], a - ld a, 4 / $100 - ld [wPrinterSendByteCounter + 1], a - ; compute the checksum - call Printer_ComputeChecksum - call Printer_NextSection - call Printer_WaitHandshake - ld a, PRINTER_STATUS_PRINTING - ld [wPrinterStatus], a - ret - -Printer_SignalLoopBack: ; 84103 (21:4103) - call Printer_ResetData - ; send packet 1 - ld hl, PrinterDataPacket1 ; signal no transmission - call Printer_CopyPacket - ; send no tile data - xor a - ld [wPrinterSendByteCounter], a - ld [wPrinterSendByteCounter + 1], a - ld a, [wPrinterQueueLength] - ld [wPrinterRowIndex], a - call Printer_NextSection - call Printer_WaitHandshake - ret - -Printer_WaitSerial: ; 84120 (21:4120) - ld hl, wPrinterSerialFrameDelay - inc [hl] - ld a, [hl] - cp $6 - ret c - xor a - ld [hl], a - call Printer_NextSection - ret - -Printer_WaitSerialAndLoopBack2: ; 8412e (21:412e) - ld hl, wPrinterSerialFrameDelay - inc [hl] - ld a, [hl] - cp $6 - ret c - xor a - ld [hl], a - ld hl, wPrinterRowIndex - dec [hl] - call Printer_PrevSection - call Printer_PrevSection - ret - -Printer_CheckConnectionStatus: ; 84143 (21:4143) - ld a, [wPrinterOpcode] - and a - ret nz - ld a, [wPrinterHandshake] - cp $ff - jr nz, .printer_connected - ld a, [wPrinterStatusFlags] - cp $ff - jr z, .printer_error - -.printer_connected - ld a, [wPrinterHandshake] - cp $81 - jr nz, .printer_error - ld a, [wPrinterStatusFlags] - cp $0 - jr nz, .printer_error - ld hl, wPrinterConnectionOpen - set 1, [hl] - ld a, $5 - ld [wHandshakeFrameDelay], a - call Printer_NextSection - ret - -.printer_error - ld a, $ff - ld [wPrinterHandshake], a - ld [wPrinterStatusFlags], a - ld a, $e - ld [wJumptableIndex], a - ret - -Printer_TransmissionLoop: ; 84180 (21:4180) - ld a, [wPrinterOpcode] - and a - ret nz - ld a, [wPrinterStatusFlags] - and $f0 - jr nz, .enter_wait_loop - ld a, [wPrinterStatusFlags] - and $1 - jr nz, .cycle_back - call Printer_NextSection - ret - -.cycle_back - call Printer_PrevSection - ret - -.enter_wait_loop - ld a, $12 ; Printer_WaitLoopBack - ld [wJumptableIndex], a - ret - -Printer_WaitUntilFinished: ; 841a1 (21:41a1) - ld a, [wPrinterOpcode] - and a - ret nz - ld a, [wPrinterStatusFlags] - and $f3 - ret nz - call Printer_NextSection - ret - -Printer_WaitLoopBack: ; 841b0 (21:41b0) - call Printer_NextSection -Printer_WaitLoopBack_: ; 841b3 (21:41b3) - ld a, [wPrinterOpcode] - and a - ret nz - ld a, [wPrinterStatusFlags] - and $f0 - ret nz - xor a - ld [wJumptableIndex], a - ret - -Printer_WaitHandshake: ; 841c3 (21:41c3) -.loop - ld a, [wPrinterOpcode] - and a - jr nz, .loop - xor a - ld [wPrinterSendByteOffset], a - ld [wPrinterSendByteOffset + 1], a - ld a, $1 - ld [wPrinterOpcode], a - ld a, $88 - ld [rSB], a - ld a, $1 - ld [rSC], a - ld a, $81 - ld [rSC], a - ret - -Printer_CopyPacket: ; 841e2 (21:41e2) - ld a, [hli] - ld [wPrinterData], a - ld a, [hli] - ld [wPrinterData + 1], a - ld a, [hli] - ld [wPrinterData + 2], a - ld a, [hli] - ld [wPrinterData + 3], a - ld a, [hli] - ld [wPrinterChecksum], a - ld a, [hl] - ld [wPrinterChecksum + 1], a - ret - -Printer_ResetData: ; 841fb (21:41fb) - xor a - ld hl, wPrinterData - ld [hli], a - ld [hli], a - ld [hli], a - ld [hl], a - ld hl, wPrinterChecksum - ld [hli], a - ld [hl], a - xor a - ld [wPrinterSendByteCounter], a - ld [wPrinterSendByteCounter + 1], a - ld hl, wGameboyPrinterRAM - ld bc, wGameboyPrinter2bppSourceEnd - wGameboyPrinter2bppSource - call Printer_ByteFill - ret - -Printer_ComputeChecksum: ; 84219 (21:4219) - ld hl, 0 - ld bc, 4 - ld de, wPrinterData - call .ComputeChecksum - ld a, [wPrinterSendByteCounter] - ld c, a - ld a, [wPrinterSendByteCounter + 1] - ld b, a - ld de, wGameboyPrinterRAM - call .ComputeChecksum - ld a, l - ld [wPrinterChecksum], a - ld a, h - ld [wPrinterChecksum + 1], a - ret - -.ComputeChecksum: ; 8423c (21:423c) -.loop - ld a, [de] - inc de - add l - jr nc, .no_overflow - inc h -.no_overflow - ld l, a - dec bc - ld a, c - or b - jr nz, .loop - ret - -Printer_StageHeaderForSend: ; 84249 (21:4249) - ld a, $1 - ld [wGameboyPrinter2bppSource + 0], a - ld a, [wcbfa] - ld [wGameboyPrinter2bppSource + 1], a - ld a, %11100100 - ld [wGameboyPrinter2bppSource + 2], a - ld a, [wGBPrinterSettings] - ld [wGameboyPrinter2bppSource + 3], a - ret - -Printer_Convert2RowsTo2bpp: ; 84260 (21:4260) - ; de = wPrinterTileMapBuffer + 2 * SCREEN_WIDTH * ([wPrinterQueueLength] - [wPrinterRowIndex]) - ld a, [wPrinterRowIndex] - xor $ff - ld d, a - ld a, [wPrinterQueueLength] - inc a - add d - ld hl, wPrinterTileMapBuffer - ld de, 2 * SCREEN_WIDTH -.loop1 - and a - jr z, .okay1 - add hl, de - dec a - jr .loop1 -.okay1 - ld e, l - ld d, h - ld hl, wGameboyPrinter2bppSource - ld c, 2 * SCREEN_WIDTH -.loop2 - ld a, [de] - inc de - push bc - push de - push hl - ; convert tile index to vram address - swap a - ld d, a - and $f0 - ld e, a - ld a, d - and $f - ld d, a - and $8 - ld a, d - jr nz, .vtiles_8xxx - or $90 - jr .got_vtile_addr - -.vtiles_8xxx - or $80 -.got_vtile_addr - ld d, a - ; copy 1 vtile to hl - lb bc, BANK(Printer_Convert2RowsTo2bpp), 1 - call Request2bpp - pop hl - ld de, 1 tiles - add hl, de - pop de - pop bc - dec c - jr nz, .loop2 - ret - -Printer_ByteFill: ; 842ab - push de - ld e, a -.loop - ld [hl], e - inc hl - dec bc - ld a, c - or b - jr nz, .loop - ld a, e - pop de - ret -; 842b7 - -PrinterDataPacket1: - db 1, 0, $00, 0 - dw 1 -PrinterDataPacket2: - db 2, 0, $04, 0 - dw 0 -PrinterDataPacket3: - db 4, 0, $80, 2 - dw 0 -PrinterDataPacket4: - db 4, 0, $00, 0 - dw 4 -PrinterDataPacket5: ; unused - db 8, 0, $00, 0 - dw 8 -PrinterDataPacket6: ; unused - db 15, 0, $00, 0 - dw 15 -; 842db - -_PrinterReceive:: ; 842db - ld a, [wPrinterOpcode] - add a - ld e, a - ld d, 0 - ld hl, .Jumptable - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp hl -; 842ea - - -.Jumptable: ; 842ea (21:42ea) - dw Printer_DoNothing ; 00 - - dw Printer_Send0x33 ; 01 - dw Printer_SendPrinterData1 ; 02 - dw Printer_SendPrinterData2 ; 03 - dw Printer_SendPrinterData3 ; 04 - dw Printer_SendPrinterData4 ; 05 - dw Printer_SendNextByte ; 06 - dw Printer_SendwPrinterChecksumLo ; 07 - dw Printer_SendwPrinterChecksumHi ; 08 - dw Printer_Send0x00 ; 09 - dw Printer_ReceiveTowPrinterHandshakeAndSend0x00 ; 0a - dw Printer_ReceiveTowPrinterStatusFlagsAndExitSendLoop ; 0b - - dw Printer_Send0x33 ; 0c triggered by AskSerial - dw Printer_Send0x0f ; 0d - dw Printer_Send0x00_ ; 0e - dw Printer_Send0x00_ ; 0f - dw Printer_Send0x00_ ; 10 - dw Printer_Send0x0f ; 11 - dw Printer_Send0x00_ ; 12 - dw Printer_Send0x00 ; 13 - dw Printer_ReceiveTowPrinterHandshakeAndSend0x00 ; 14 - dw Printer_ReceiveTowPrinterStatusFlagsAndExitSendLoop_ ; 15 - - dw Printer_Send0x33 ; 16 triggered by pressing B - dw Printer_Send0x08 ; 17 - dw Printer_Send0x00_ ; 18 - dw Printer_Send0x00_ ; 19 - dw Printer_Send0x00_ ; 1a - dw Printer_Send0x08 ; 1b - dw Printer_Send0x00_ ; 1c - dw Printer_Send0x00 ; 1d - dw Printer_ReceiveTowPrinterHandshakeAndSend0x00 ; 1e - dw Printer_ReceiveTowPrinterStatusFlagsAndExitSendLoop ; 1f - - -Printer_NextInstruction: ; 8432a (21:432a) - ld hl, wPrinterOpcode - inc [hl] - ret - -Printer_DoNothing: ; 8432f (21:432f) - ret - -Printer_Send0x33: ; 84330 (21:4330) - ld a, $33 - call Printer_SerialSend - call Printer_NextInstruction - ret - -Printer_SendPrinterData1: ; 84339 (21:4339) - ld a, [wPrinterData] - call Printer_SerialSend - call Printer_NextInstruction - ret - -Printer_SendPrinterData2: ; 84343 (21:4343) - ld a, [wPrinterData + 1] - call Printer_SerialSend - call Printer_NextInstruction - ret - -Printer_SendPrinterData3: ; 8434d (21:434d) - ld a, [wPrinterData + 2] - call Printer_SerialSend - call Printer_NextInstruction - ret - -Printer_SendPrinterData4: ; 84357 (21:4357) - ld a, [wPrinterData + 3] - call Printer_SerialSend - call Printer_NextInstruction - ret - -Printer_SendNextByte: ; 84361 (21:4361) - ; decrement 16-bit counter - ld hl, wPrinterSendByteCounter - ld a, [hli] - ld d, [hl] - ld e, a - or d - jr z, .done - dec de - ld [hl], d - dec hl - ld [hl], e - - ld a, [wPrinterSendByteOffset] - ld e, a - ld a, [wPrinterSendByteOffset + 1] - ld d, a - ld hl, wGameboyPrinterRAM - add hl, de - inc de - ld a, e - ld [wPrinterSendByteOffset], a - ld a, d - ld [wPrinterSendByteOffset + 1], a - ld a, [hl] - call Printer_SerialSend - ret - -.done - call Printer_NextInstruction -Printer_SendwPrinterChecksumLo: ; 8438b (21:438b) - ld a, [wPrinterChecksum] - call Printer_SerialSend - call Printer_NextInstruction - ret - -Printer_SendwPrinterChecksumHi: ; 84395 (21:4395) - ld a, [wPrinterChecksum + 1] - call Printer_SerialSend - call Printer_NextInstruction - ret - -Printer_Send0x00: ; 8439f (21:439f) - ld a, $0 - call Printer_SerialSend - call Printer_NextInstruction - ret - -Printer_ReceiveTowPrinterHandshakeAndSend0x00: ; 843a8 (21:43a8) - ld a, [rSB] - ld [wPrinterHandshake], a - ld a, $0 - call Printer_SerialSend - call Printer_NextInstruction - ret - -Printer_ReceiveTowPrinterStatusFlagsAndExitSendLoop: ; 843b6 (21:43b6) - ld a, [rSB] - ld [wPrinterStatusFlags], a - xor a - ld [wPrinterOpcode], a - ret - -Printer_Send0x0f: ; 843c0 (21:43c0) - ld a, $f - call Printer_SerialSend - call Printer_NextInstruction - ret - -Printer_Send0x00_: ; 843c9 (21:43c9) - ld a, $0 - call Printer_SerialSend - call Printer_NextInstruction - ret - -Printer_Send0x08: ; 843d2 (21:43d2) - ld a, $8 - call Printer_SerialSend - call Printer_NextInstruction - ret - -Printer_SerialSend: ; 843db (21:43db) - ld [rSB], a - ld a, $1 ; switch to internal clock - ld [rSC], a - ld a, $81 ; start transfer - ld [rSC], a - ret - -Printer_ReceiveTowPrinterStatusFlagsAndExitSendLoop_: ; 843e6 (21:43e6) - ld a, [rSB] - ld [wPrinterStatusFlags], a - xor a - ld [wPrinterOpcode], a - ret diff --git a/engine/printer_serial.asm b/engine/printer_serial.asm new file mode 100755 index 000000000..6909a38b2 --- /dev/null +++ b/engine/printer_serial.asm @@ -0,0 +1,645 @@ +Printer_StartTransmission: ; 84000 + ld hl, wGameboyPrinterRAM + ld bc, wGameboyPrinterRAMEnd - wGameboyPrinterRAM + xor a + call Printer_ByteFill + xor a + ld [rSB], a + ld [rSC], a + ld [wPrinterOpcode], a + ld hl, wPrinterConnectionOpen + set 0, [hl] + ld a, [GBPrinter] + ld [wGBPrinterSettings], a + xor a + ld [wJumptableIndex], a + ret +; 84022 + +PrinterJumptableIteration: ; 84022 + ld a, [wJumptableIndex] + ld e, a + ld d, 0 + ld hl, .Jumptable + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp hl +; 84031 + + +.Jumptable: ; 84031 (21:4031) + + dw Print_InitPrinterHandshake ; 00 + dw Printer_CheckConnectionStatus ; 01 + dw Printer_WaitSerial ; 02 + dw Printer_StartTransmittingTilemap ; 03 + dw Printer_TransmissionLoop ; 04 + dw Printer_WaitSerialAndLoopBack2 ; 05 + + dw Printer_EndTilemapTransmission ; 06 + dw Printer_TransmissionLoop ; 07 + dw Printer_WaitSerial ; 08 + dw Printer_SignalSendHeader ; 09 + dw Printer_TransmissionLoop ; 0a + dw Printer_WaitSerial ; 0b + dw Printer_WaitUntilFinished ; 0c + dw Printer_Quit ; 0d + + dw Printer_NextSection_ ; 0e + dw Printer_WaitSerial ; 0f + dw Printer_SignalLoopBack ; 10 + dw Printer_SectionOne ; 11 + dw Printer_WaitLoopBack ; 12 + dw Printer_WaitLoopBack_ ; 13 + + +Printer_NextSection: ; 84059 (21:4059) + ld hl, wJumptableIndex + inc [hl] + ret + +Printer_PrevSection: ; 8405e (21:405e) + ld hl, wJumptableIndex + dec [hl] + ret + +Printer_Quit: ; 84063 (21:4063) + xor a + ld [wPrinterStatusFlags], a + ld hl, wJumptableIndex + set 7, [hl] + ret + +Printer_NextSection_: ; 8406d (21:406d) + call Printer_NextSection + ret + +Printer_SectionOne: ; 84071 (21:4071) + ld a, $1 + ld [wJumptableIndex], a + ret + +Print_InitPrinterHandshake: ; 84077 (21:4077) + call Printer_ResetData + ld hl, PrinterDataPacket1 + call Printer_CopyPacket + xor a + ld [wPrinterSendByteCounter], a + ld [wPrinterSendByteCounter + 1], a + ld a, [wPrinterQueueLength] + ld [wPrinterRowIndex], a + call Printer_NextSection + call Printer_WaitHandshake + ld a, PRINTER_STATUS_CHECKING + ld [wPrinterStatus], a + ret + +Printer_StartTransmittingTilemap: ; 84099 (21:4099) + call Printer_ResetData + ; check ??? + ld hl, wPrinterRowIndex + ld a, [hl] + and a + jr z, Printer_EndTilemapTransmission + ; send packet 3 + ld hl, PrinterDataPacket3 ; signal start of transmission + call Printer_CopyPacket + ; prepare to send 40 tiles + call Printer_Convert2RowsTo2bpp + ld a, (40 tiles) % $100 + ld [wPrinterSendByteCounter], a + ld a, (40 tiles) / $100 + ld [wPrinterSendByteCounter + 1], a + ; compute the checksum + call Printer_ComputeChecksum + call Printer_NextSection + call Printer_WaitHandshake + ld a, PRINTER_STATUS_TRANSMITTING + ld [wPrinterStatus], a + ret + +Printer_EndTilemapTransmission: ; 840c5 (21:40c5) + ; ensure that we go from here to routine 7 + ld a, $6 + ld [wJumptableIndex], a + ; send packet 4 + ld hl, PrinterDataPacket4 ; signal no transmission + call Printer_CopyPacket + ; send no tile data + xor a + ld [wPrinterSendByteCounter], a + ld [wPrinterSendByteCounter + 1], a + call Printer_NextSection + call Printer_WaitHandshake + ret + +Printer_SignalSendHeader: ; 840de (21:40de) + call Printer_ResetData + ld hl, PrinterDataPacket2 ; signal request print + call Printer_CopyPacket + ; prepare to send 1 tile + call Printer_StageHeaderForSend + ld a, 4 % $100 + ld [wPrinterSendByteCounter], a + ld a, 4 / $100 + ld [wPrinterSendByteCounter + 1], a + ; compute the checksum + call Printer_ComputeChecksum + call Printer_NextSection + call Printer_WaitHandshake + ld a, PRINTER_STATUS_PRINTING + ld [wPrinterStatus], a + ret + +Printer_SignalLoopBack: ; 84103 (21:4103) + call Printer_ResetData + ; send packet 1 + ld hl, PrinterDataPacket1 ; signal no transmission + call Printer_CopyPacket + ; send no tile data + xor a + ld [wPrinterSendByteCounter], a + ld [wPrinterSendByteCounter + 1], a + ld a, [wPrinterQueueLength] + ld [wPrinterRowIndex], a + call Printer_NextSection + call Printer_WaitHandshake + ret + +Printer_WaitSerial: ; 84120 (21:4120) + ld hl, wPrinterSerialFrameDelay + inc [hl] + ld a, [hl] + cp $6 + ret c + xor a + ld [hl], a + call Printer_NextSection + ret + +Printer_WaitSerialAndLoopBack2: ; 8412e (21:412e) + ld hl, wPrinterSerialFrameDelay + inc [hl] + ld a, [hl] + cp $6 + ret c + xor a + ld [hl], a + ld hl, wPrinterRowIndex + dec [hl] + call Printer_PrevSection + call Printer_PrevSection + ret + +Printer_CheckConnectionStatus: ; 84143 (21:4143) + ld a, [wPrinterOpcode] + and a + ret nz + ld a, [wPrinterHandshake] + cp $ff + jr nz, .printer_connected + ld a, [wPrinterStatusFlags] + cp $ff + jr z, .printer_error + +.printer_connected + ld a, [wPrinterHandshake] + cp $81 + jr nz, .printer_error + ld a, [wPrinterStatusFlags] + cp $0 + jr nz, .printer_error + ld hl, wPrinterConnectionOpen + set 1, [hl] + ld a, $5 + ld [wHandshakeFrameDelay], a + call Printer_NextSection + ret + +.printer_error + ld a, $ff + ld [wPrinterHandshake], a + ld [wPrinterStatusFlags], a + ld a, $e + ld [wJumptableIndex], a + ret + +Printer_TransmissionLoop: ; 84180 (21:4180) + ld a, [wPrinterOpcode] + and a + ret nz + ld a, [wPrinterStatusFlags] + and $f0 + jr nz, .enter_wait_loop + ld a, [wPrinterStatusFlags] + and $1 + jr nz, .cycle_back + call Printer_NextSection + ret + +.cycle_back + call Printer_PrevSection + ret + +.enter_wait_loop + ld a, $12 ; Printer_WaitLoopBack + ld [wJumptableIndex], a + ret + +Printer_WaitUntilFinished: ; 841a1 (21:41a1) + ld a, [wPrinterOpcode] + and a + ret nz + ld a, [wPrinterStatusFlags] + and $f3 + ret nz + call Printer_NextSection + ret + +Printer_WaitLoopBack: ; 841b0 (21:41b0) + call Printer_NextSection +Printer_WaitLoopBack_: ; 841b3 (21:41b3) + ld a, [wPrinterOpcode] + and a + ret nz + ld a, [wPrinterStatusFlags] + and $f0 + ret nz + xor a + ld [wJumptableIndex], a + ret + +Printer_WaitHandshake: ; 841c3 (21:41c3) +.loop + ld a, [wPrinterOpcode] + and a + jr nz, .loop + xor a + ld [wPrinterSendByteOffset], a + ld [wPrinterSendByteOffset + 1], a + ld a, $1 + ld [wPrinterOpcode], a + ld a, $88 + ld [rSB], a + ld a, $1 + ld [rSC], a + ld a, $81 + ld [rSC], a + ret + +Printer_CopyPacket: ; 841e2 (21:41e2) + ld a, [hli] + ld [wPrinterData], a + ld a, [hli] + ld [wPrinterData + 1], a + ld a, [hli] + ld [wPrinterData + 2], a + ld a, [hli] + ld [wPrinterData + 3], a + ld a, [hli] + ld [wPrinterChecksum], a + ld a, [hl] + ld [wPrinterChecksum + 1], a + ret + +Printer_ResetData: ; 841fb (21:41fb) + xor a + ld hl, wPrinterData + ld [hli], a + ld [hli], a + ld [hli], a + ld [hl], a + ld hl, wPrinterChecksum + ld [hli], a + ld [hl], a + xor a + ld [wPrinterSendByteCounter], a + ld [wPrinterSendByteCounter + 1], a + ld hl, wGameboyPrinterRAM + ld bc, wGameboyPrinter2bppSourceEnd - wGameboyPrinter2bppSource + call Printer_ByteFill + ret + +Printer_ComputeChecksum: ; 84219 (21:4219) + ld hl, 0 + ld bc, 4 + ld de, wPrinterData + call .ComputeChecksum + ld a, [wPrinterSendByteCounter] + ld c, a + ld a, [wPrinterSendByteCounter + 1] + ld b, a + ld de, wGameboyPrinterRAM + call .ComputeChecksum + ld a, l + ld [wPrinterChecksum], a + ld a, h + ld [wPrinterChecksum + 1], a + ret + +.ComputeChecksum: ; 8423c (21:423c) +.loop + ld a, [de] + inc de + add l + jr nc, .no_overflow + inc h +.no_overflow + ld l, a + dec bc + ld a, c + or b + jr nz, .loop + ret + +Printer_StageHeaderForSend: ; 84249 (21:4249) + ld a, $1 + ld [wGameboyPrinter2bppSource + 0], a + ld a, [wcbfa] + ld [wGameboyPrinter2bppSource + 1], a + ld a, %11100100 + ld [wGameboyPrinter2bppSource + 2], a + ld a, [wGBPrinterSettings] + ld [wGameboyPrinter2bppSource + 3], a + ret + +Printer_Convert2RowsTo2bpp: ; 84260 (21:4260) + ; de = wPrinterTileMapBuffer + 2 * SCREEN_WIDTH * ([wPrinterQueueLength] - [wPrinterRowIndex]) + ld a, [wPrinterRowIndex] + xor $ff + ld d, a + ld a, [wPrinterQueueLength] + inc a + add d + ld hl, wPrinterTileMapBuffer + ld de, 2 * SCREEN_WIDTH +.loop1 + and a + jr z, .okay1 + add hl, de + dec a + jr .loop1 +.okay1 + ld e, l + ld d, h + ld hl, wGameboyPrinter2bppSource + ld c, 2 * SCREEN_WIDTH +.loop2 + ld a, [de] + inc de + push bc + push de + push hl + ; convert tile index to vram address + swap a + ld d, a + and $f0 + ld e, a + ld a, d + and $f + ld d, a + and $8 + ld a, d + jr nz, .vtiles_8xxx + or $90 + jr .got_vtile_addr + +.vtiles_8xxx + or $80 +.got_vtile_addr + ld d, a + ; copy 1 vtile to hl + lb bc, BANK(Printer_Convert2RowsTo2bpp), 1 + call Request2bpp + pop hl + ld de, 1 tiles + add hl, de + pop de + pop bc + dec c + jr nz, .loop2 + ret + +Printer_ByteFill: ; 842ab + push de + ld e, a +.loop + ld [hl], e + inc hl + dec bc + ld a, c + or b + jr nz, .loop + ld a, e + pop de + ret +; 842b7 + +PrinterDataPacket1: + db 1, 0, $00, 0 + dw 1 +PrinterDataPacket2: + db 2, 0, $04, 0 + dw 0 +PrinterDataPacket3: + db 4, 0, $80, 2 + dw 0 +PrinterDataPacket4: + db 4, 0, $00, 0 + dw 4 +PrinterDataPacket5: ; unused + db 8, 0, $00, 0 + dw 8 +PrinterDataPacket6: ; unused + db 15, 0, $00, 0 + dw 15 +; 842db + +_PrinterReceive:: ; 842db + ld a, [wPrinterOpcode] + add a + ld e, a + ld d, 0 + ld hl, .Jumptable + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp hl +; 842ea + + +.Jumptable: ; 842ea (21:42ea) + dw Printer_DoNothing ; 00 + + dw Printer_Send0x33 ; 01 + dw Printer_SendPrinterData1 ; 02 + dw Printer_SendPrinterData2 ; 03 + dw Printer_SendPrinterData3 ; 04 + dw Printer_SendPrinterData4 ; 05 + dw Printer_SendNextByte ; 06 + dw Printer_SendwPrinterChecksumLo ; 07 + dw Printer_SendwPrinterChecksumHi ; 08 + dw Printer_Send0x00 ; 09 + dw Printer_ReceiveTowPrinterHandshakeAndSend0x00 ; 0a + dw Printer_ReceiveTowPrinterStatusFlagsAndExitSendLoop ; 0b + + dw Printer_Send0x33 ; 0c triggered by AskSerial + dw Printer_Send0x0f ; 0d + dw Printer_Send0x00_ ; 0e + dw Printer_Send0x00_ ; 0f + dw Printer_Send0x00_ ; 10 + dw Printer_Send0x0f ; 11 + dw Printer_Send0x00_ ; 12 + dw Printer_Send0x00 ; 13 + dw Printer_ReceiveTowPrinterHandshakeAndSend0x00 ; 14 + dw Printer_ReceiveTowPrinterStatusFlagsAndExitSendLoop_ ; 15 + + dw Printer_Send0x33 ; 16 triggered by pressing B + dw Printer_Send0x08 ; 17 + dw Printer_Send0x00_ ; 18 + dw Printer_Send0x00_ ; 19 + dw Printer_Send0x00_ ; 1a + dw Printer_Send0x08 ; 1b + dw Printer_Send0x00_ ; 1c + dw Printer_Send0x00 ; 1d + dw Printer_ReceiveTowPrinterHandshakeAndSend0x00 ; 1e + dw Printer_ReceiveTowPrinterStatusFlagsAndExitSendLoop ; 1f + + +Printer_NextInstruction: ; 8432a (21:432a) + ld hl, wPrinterOpcode + inc [hl] + ret + +Printer_DoNothing: ; 8432f (21:432f) + ret + +Printer_Send0x33: ; 84330 (21:4330) + ld a, $33 + call Printer_SerialSend + call Printer_NextInstruction + ret + +Printer_SendPrinterData1: ; 84339 (21:4339) + ld a, [wPrinterData] + call Printer_SerialSend + call Printer_NextInstruction + ret + +Printer_SendPrinterData2: ; 84343 (21:4343) + ld a, [wPrinterData + 1] + call Printer_SerialSend + call Printer_NextInstruction + ret + +Printer_SendPrinterData3: ; 8434d (21:434d) + ld a, [wPrinterData + 2] + call Printer_SerialSend + call Printer_NextInstruction + ret + +Printer_SendPrinterData4: ; 84357 (21:4357) + ld a, [wPrinterData + 3] + call Printer_SerialSend + call Printer_NextInstruction + ret + +Printer_SendNextByte: ; 84361 (21:4361) + ; decrement 16-bit counter + ld hl, wPrinterSendByteCounter + ld a, [hli] + ld d, [hl] + ld e, a + or d + jr z, .done + dec de + ld [hl], d + dec hl + ld [hl], e + + ld a, [wPrinterSendByteOffset] + ld e, a + ld a, [wPrinterSendByteOffset + 1] + ld d, a + ld hl, wGameboyPrinterRAM + add hl, de + inc de + ld a, e + ld [wPrinterSendByteOffset], a + ld a, d + ld [wPrinterSendByteOffset + 1], a + ld a, [hl] + call Printer_SerialSend + ret + +.done + call Printer_NextInstruction +Printer_SendwPrinterChecksumLo: ; 8438b (21:438b) + ld a, [wPrinterChecksum] + call Printer_SerialSend + call Printer_NextInstruction + ret + +Printer_SendwPrinterChecksumHi: ; 84395 (21:4395) + ld a, [wPrinterChecksum + 1] + call Printer_SerialSend + call Printer_NextInstruction + ret + +Printer_Send0x00: ; 8439f (21:439f) + ld a, $0 + call Printer_SerialSend + call Printer_NextInstruction + ret + +Printer_ReceiveTowPrinterHandshakeAndSend0x00: ; 843a8 (21:43a8) + ld a, [rSB] + ld [wPrinterHandshake], a + ld a, $0 + call Printer_SerialSend + call Printer_NextInstruction + ret + +Printer_ReceiveTowPrinterStatusFlagsAndExitSendLoop: ; 843b6 (21:43b6) + ld a, [rSB] + ld [wPrinterStatusFlags], a + xor a + ld [wPrinterOpcode], a + ret + +Printer_Send0x0f: ; 843c0 (21:43c0) + ld a, $f + call Printer_SerialSend + call Printer_NextInstruction + ret + +Printer_Send0x00_: ; 843c9 (21:43c9) + ld a, $0 + call Printer_SerialSend + call Printer_NextInstruction + ret + +Printer_Send0x08: ; 843d2 (21:43d2) + ld a, $8 + call Printer_SerialSend + call Printer_NextInstruction + ret + +Printer_SerialSend: ; 843db (21:43db) + ld [rSB], a + ld a, $1 ; switch to internal clock + ld [rSC], a + ld a, $81 ; start transfer + ld [rSC], a + ret + +Printer_ReceiveTowPrinterStatusFlagsAndExitSendLoop_: ; 843e6 (21:43e6) + ld a, [rSB] + ld [wPrinterStatusFlags], a + xor a + ld [wPrinterOpcode], a + ret diff --git a/engine/sgb_layouts.asm b/engine/sgb_layouts.asm new file mode 100644 index 000000000..dc174e86f --- /dev/null +++ b/engine/sgb_layouts.asm @@ -0,0 +1,636 @@ +Predef_LoadSGBLayout: ; 864c +; LoadSGBLayout + call CheckCGB + jp nz, Predef_LoadSGBLayoutCGB + + ld a, b + cp SCGB_RAM + jr nz, .not_ram + ld a, [SGBPredef] +.not_ram + cp SCGB_PARTY_MENU_HP_PALS + jp z, SGB_ApplyPartyMenuHPPals + ld l, a + ld h, 0 + add hl, hl + ld de, .Jumptable + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + ld de, .Finish + push de + jp hl +; 866f + +.Jumptable: ; 866f + dw .SGB_BattleGrayscale + dw .SGB_BattleColors + dw .SGB_PokegearPals + dw .SGB_StatsScreenHPPals + dw .SGB_Pokedex + dw .SGB_SlotMachine + dw .SGB06 + dw .SGB07 + dw .SGB_Diploma + dw .SGB_MapPals + dw .SGB_PartyMenu + dw .SGB_Evolution + dw .SGB0c + dw .SGB0d + dw .SGB_MoveList + dw .SGB0f + dw .SGB_PokedexSearchOption + dw .SGB11 + dw .SGB12 + dw .SGB13 + dw .SGB_PackPals + dw .SGB_TrainerCard + dw .SGB_PokedexUnownMode + dw .SGB_BillsPC + dw .SGB_UnownPuzzle + dw .SGB19 + dw .SGB_PlayerOrMonFrontpicPals + dw .SGB_TradeTube + dw .SGB_TrainerOrMonFrontpicPals + dw .SGB_MysteryGift + dw .SGB1e +; 86ad + +.SGB_BattleGrayscale: ; 86ad + ld hl, PalPacket_9c66 + ld de, BlkPacket_9aa6 + ret +; 86b4 + +.SGB_BattleColors: ; 86b4 + ld hl, BlkPacket_9aa6 + call PushSGBPals_ + + ld hl, PalPacket_9ce6 + ld de, wSGBPals + ld bc, $10 + call CopyBytes + + ld a, [PlayerHPPal] + ld l, a + ld h, 0 + add hl, hl + add hl, hl + ld de, Palettes_a8be + add hl, de + + ld a, [hli] + ld [wSGBPals + 3], a + ld a, [hli] + ld [wSGBPals + 4], a + ld a, [hli] + ld [wSGBPals + 5], a + ld a, [hl] + ld [wSGBPals + 6], a + + ld a, [EnemyHPPal] + ld l, a + ld h, 0 + add hl, hl + add hl, hl + + ld de, Palettes_a8be + add hl, de + ld a, [hli] + ld [wSGBPals + 9], a + ld a, [hli] + ld [wSGBPals + 10], a + ld a, [hli] + ld [wSGBPals + 11], a + ld a, [hl] + ld [wSGBPals + 12], a + + ld hl, PalPacket_9cf6 + ld de, wSGBPals + $10 + ld bc, $10 + call CopyBytes + + call GetBattlemonBackpicPalettePointer + + ld a, [hli] + ld [wSGBPals + $13], a + ld a, [hli] + ld [wSGBPals + $14], a + ld a, [hli] + ld [wSGBPals + $15], a + ld a, [hl] + ld [wSGBPals + $16], a + call GetEnemyFrontpicPalettePointer + ld a, [hli] + ld [wSGBPals + $19], a + ld a, [hli] + ld [wSGBPals + $1a], a + ld a, [hli] + ld [wSGBPals + $1b], a + ld a, [hl] + ld [wSGBPals + $1c], a + + ld hl, wSGBPals + ld de, wSGBPals + $10 + ld a, SCGB_BATTLE_COLORS + ld [SGBPredef], a + ret +; 873c + +.SGB_MoveList: ; 873c + ld hl, PalPacket_9bd6 + ld de, wSGBPals + ld bc, $10 + call CopyBytes + + ld hl, wSGBPals + 1 + ld [hl], $10 + inc hl + inc hl + + ld a, [PlayerHPPal] + add $2f + ld [hl], a + ld hl, wSGBPals + ld de, BlkPacket_9ad6 + ret +; 875c + +.SGB_PokegearPals: ; 875c + ld hl, PalPacket_9c76 + ld de, BlkPacket_9a86 + ret +; 8763 + +.SGB_StatsScreenHPPals: ; 8763 + ld hl, PalPacket_9ce6 + ld de, wSGBPals + ld bc, $10 + call CopyBytes + ld a, [wCurHPPal] + ld l, a + ld h, 0 + add hl, hl + add hl, hl + ld de, Palettes_a8be + add hl, de + ld a, [hli] + ld [wSGBPals + 3], a + ld a, [hli] + ld [wSGBPals + 4], a + ld a, [hli] + ld [wSGBPals + 5], a + ld a, [hl] + ld [wSGBPals + 6], a + ld a, [CurPartySpecies] + ld bc, TempMonDVs + call GetPlayerOrMonPalettePointer + ld a, [hli] + ld [wSGBPals + 9], a + ld a, [hli] + ld [wSGBPals + 10], a + ld a, [hli] + ld [wSGBPals + 11], a + ld a, [hl] + ld [wSGBPals + 12], a + ld hl, wSGBPals + ld de, BlkPacket_9ac6 + ret +; 87ab + +.SGB_PartyMenu: ; 87ab + ld hl, PalPacket_9c56 + ld de, wSGBPals + 1 + ret +; 87b2 + +.SGB_Pokedex: ; 87b2 + ld hl, PalPacket_9ce6 + ld de, wSGBPals + ld bc, $10 + call CopyBytes + ld hl, wSGBPals + 3 + ld [hl], $9f + inc hl + ld [hl], $2a + inc hl + ld [hl], $5a + inc hl + ld [hl], $19 + ld a, [CurPartySpecies] + call GetMonPalettePointer_ + ld a, [hli] + ld [wSGBPals + 9], a + ld a, [hli] + ld [wSGBPals + 10], a + ld a, [hli] + ld [wSGBPals + 11], a + ld a, [hl] + ld [wSGBPals + 12], a + ld hl, wSGBPals + ld de, BlkPacket_9ae6 + ret +; 87e9 + +.SGB_BillsPC: ; 87e9 + ld hl, PalPacket_9ce6 + ld de, wSGBPals + ld bc, $10 + call CopyBytes + ld hl, wSGBPals + 3 + ld [hl], $9f + inc hl + ld [hl], $2a + inc hl + ld [hl], $5a + inc hl + ld [hl], $19 + ld a, [CurPartySpecies] + ld bc, TempMonDVs + call GetPlayerOrMonPalettePointer + ld a, [hli] + ld [wSGBPals + 9], a + ld a, [hli] + ld [wSGBPals + 10], a + ld a, [hli] + ld [wSGBPals + 11], a + ld a, [hl] + ld [wSGBPals + 12], a + ld hl, wSGBPals + ld de, BlkPacket_9ae6 + ret +; 8823 + +.SGB_PokedexUnownMode: ; 8823 + call .SGB_Pokedex + ld de, BlkPacket_9af6 + ret +; 882a + +.SGB_PokedexSearchOption: ; 882a + ld hl, PalPacket_9ce6 + ld de, wSGBPals + ld bc, $10 + call CopyBytes + ld hl, wSGBPals + 3 + ld [hl], $9f + inc hl + ld [hl], $2a + inc hl + ld [hl], $5a + inc hl + ld [hl], $19 + ld hl, wSGBPals + ld de, BlkPacket_9a86 + ret +; 884b + +.SGB_PackPals: ; 884b + ld hl, PalPacket_9c36 + ld de, BlkPacket_9a86 + ret +; 8852 + +.SGB_SlotMachine: ; 8852 + ld hl, PalPacket_9c96 + ld de, BlkPacket_9b06 + ret +; 8859 + +.SGB06: ; 8859 + ld hl, PalPacket_9ca6 + ld de, BlkPacket_9b76 + ret +; 8860 + +.SGB_Diploma: +.SGB_MysteryGift: ; 8860 + ld hl, PalPacket_9cb6 + ld de, BlkPacket_9a86 + ret +; 8867 + +.SGB07: ; 8867 + ld b, 0 + ld hl, .BlkPacketTable_SGB07 +rept 4 + add hl, bc +endr + ld e, [hl] + inc hl + ld d, [hl] + inc hl + ld a, [hli] + ld h, [hl] + ld l, a + ret +; 8878 + +.BlkPacketTable_SGB07: ; 8878 + dw BlkPacket_9a86, PalPacket_9be6 + dw BlkPacket_9a96, PalPacket_9c06 + dw BlkPacket_9a86, PalPacket_9c16 +; 8884 + +.SGB0c: ; 8884 + ld hl, PalPacket_9b96 + ld de, BlkPacket_9b56 + ld a, SCGB_DIPLOMA + ld [SGBPredef], a + ret +; 8890 + +.SGB13: ; 8890 + ld hl, PalPacket_9ba6 + ld de, BlkPacket_9b86 + ret +; 8897 + +.SGB0f: ; 8897 + ld hl, PalPacket_9c46 + ld de, BlkPacket_9a86 + ret +; 889e + +.SGB11: ; 889e + ld hl, BlkPacket_9a86 + ld de, PlayerLightScreenCount + ld bc, $10 + call CopyBytes + ld hl, PalPacket_9bb6 + ld de, BlkPacket_9a86 + ret +; 88b1 + +.SGB_MapPals: ; 88b1 + ld hl, PalPacket_9bd6 + ld de, wSGBPals + ld bc, $10 + call CopyBytes + call .GetMapPalsIndex + ld hl, wSGBPals + 1 + ld [hld], a + ld de, BlkPacket_9a86 + ld a, SCGB_MAPPALS + ld [SGBPredef], a + ret +; 88cd + +.SGB_Evolution: ; 88cd + push bc + ld hl, PalPacket_9ce6 + ld de, wSGBPals + ld bc, $10 + call CopyBytes + pop bc + ld a, c + and a + jr z, .partymon + ; Egg + ld hl, wSGBPals + 3 + ; RGB 7, 7, 7 + ld [hl], $e7 + inc hl + ld [hl], $1c + inc hl + ; RGB 2, 3, 3 + ld [hl], $62 + inc hl + ld [hl], $c + jr .done + +.partymon + ld hl, PartyMon1DVs + ld bc, PARTYMON_STRUCT_LENGTH + ld a, [CurPartyMon] + call AddNTimes + ld c, l + ld b, h + ld a, [PlayerHPPal] + call GetPlayerOrMonPalettePointer + ld a, [hli] + ld [wSGBPals + 3], a + ld a, [hli] + ld [wSGBPals + 4], a + ld a, [hli] + ld [wSGBPals + 5], a + ld a, [hl] + ld [wSGBPals + 6], a + +.done + ld hl, wSGBPals + ld de, BlkPacket_9a86 + ret +; 891a + +.SGB0d: +.SGB_TrainerCard: ; 891a + ld hl, PalPacket_9cb6 + ld de, BlkPacket_9a86 + ret +; 8921 + +.SGB_UnownPuzzle: ; 8921 + ld hl, PalPacket_9bc6 + ld de, BlkPacket_9a86 + ret +; 8928 + +.SGB12: ; 8928 + ld hl, PalPacket_9bd6 + ld de, wSGBPals + ld bc, $10 + call CopyBytes + ld hl, BlkPacket_9a86 + ld de, wSGBPals + $10 + ld bc, $10 + call CopyBytes + call .GetMapPalsIndex + ld hl, wSGBPals + 1 + ld [hl], a + ld hl, wSGBPals + 3 + ld [hl], $2e + ld hl, wSGBPals + $13 + ld a, 5 + ld [hli], a + ld a, [wMenuBorderLeftCoord] + ld [hli], a + ld a, [wMenuBorderTopCoord] + ld [hli], a + ld a, [wMenuBorderRightCoord] + ld [hli], a + ld a, [wMenuBorderBottomCoord] + ld [hl], a + ld hl, wSGBPals + ld de, wSGBPals + $10 + ret +; 8969 + +.SGB1e: ; 8969 + ld hl, PalPacket_9ce6 + ld de, wSGBPals + ld bc, $10 + call CopyBytes + ld a, [CurPartySpecies] + ld l, a + ld h, 0 + add hl, hl + add hl, hl + add hl, hl + ld de, PokemonPalettes + add hl, de + ld a, [wcf65] + and 3 + sla a + sla a + ld c, a + ld b, 0 + add hl, bc + ld a, [hli] + ld [wSGBPals + 3], a + ld a, [hli] + ld [wSGBPals + 4], a + ld a, [hli] + ld [wSGBPals + 5], a + ld a, [hl] + ld [wSGBPals + 6], a + ld hl, wSGBPals + ld de, BlkPacket_9a86 + ret +; 89a6 + +.SGB19: ; 89a6 + ld hl, PalPacket_9cd6 + ld de, BlkPacket_9a86 + ret +; 89ad + +.SGB_PlayerOrMonFrontpicPals: ; 89ad + ld hl, PalPacket_9ce6 + ld de, wSGBPals + ld bc, $10 + call CopyBytes + ld a, [CurPartySpecies] + ld bc, TempMonDVs + call GetPlayerOrMonPalettePointer + ld a, [hli] + ld [wSGBPals + 3], a + ld a, [hli] + ld [wSGBPals + 4], a + ld a, [hli] + ld [wSGBPals + 5], a + ld a, [hl] + ld [wSGBPals + 6], a + ld hl, wSGBPals + ld de, BlkPacket_9a86 + ret +; 89d9 + +.SGB_TradeTube: ; 89d9 + ld hl, PalPacket_9cc6 + ld de, BlkPacket_9a86 + ret +; 89e0 + +.SGB_TrainerOrMonFrontpicPals: ; 89e0 + ld hl, PalPacket_9ce6 + ld de, wSGBPals + ld bc, $10 + call CopyBytes + ld a, [CurPartySpecies] + ld bc, TempMonDVs + call GetFrontpicPalettePointer + ld a, [hli] + ld [wSGBPals + 3], a + ld a, [hli] + ld [wSGBPals + 4], a + ld a, [hli] + ld [wSGBPals + 5], a + ld a, [hl] + ld [wSGBPals + 6], a + ld hl, wSGBPals + ld de, BlkPacket_9a86 + ret +; 8a0c + +.GetMapPalsIndex: ; 8a0c + ld a, [TimeOfDayPal] + cp NITE_F + jr c, .morn_day + ld a, $19 + ret + +.morn_day + ld a, [wPermission] + cp ROUTE + jr z, .route + cp CAVE + jr z, .cave + cp DUNGEON + jr z, .cave + cp PERM_5 + jr z, .perm5 + cp GATE + jr z, .gate + ld a, [MapGroup] + ld e, a + ld d, 0 + ld hl, .SGBRoofPalInds + add hl, de + ld a, [hl] + ret + +.route + ld a, $00 + ret + +.cave + ld a, $18 + ret + +.perm5 + ld a, $06 + ret + +.gate + ld a, $03 + ret +; 8a45 + +.SGBRoofPalInds: ; 8a45 + db $00 ; Unused + db $12 ; Olivine + db $14 ; Mahogany + db $18 ; Various Dungeons + db $11 ; Ecruteak + db $15 ; Blackthorn + db $09 ; Cinnabar + db $04 ; Cerulean + db $0f ; Azalea + db $16 ; Lake Of Rage + db $0e ; Violet + db $10 ; Goldenrod + db $06 ; Vermilion + db $01 ; Palette + db $03 ; Pewter + db $06 ; Fast Ship + db $0b ; Indigo Plateau + db $08 ; Fuchsia + db $05 ; Lavender + db $17 ; Silver Cave Outside + db $08 ; Pokemon Center 2F + db $07 ; Celadon + db $13 ; Cianwood + db $02 ; Viridian + db $0c ; New Bark + db $0a ; Saffron + db $0d ; Cherrygrove +; 8a60 + +.Finish: ; 8a60 + push de + call PushSGBPals_ + pop hl + jp PushSGBPals_ +; 8a68 diff --git a/engine/time_capsule.asm b/engine/time_capsule.asm new file mode 100755 index 000000000..eb8896355 --- /dev/null +++ b/engine/time_capsule.asm @@ -0,0 +1,277 @@ +; These functions seem to be related to backwards compatibility + +ValidateOTTrademon: ; fb57e + ld a, [wd003] + ld hl, OTPartyMon1Species + call GetPartyLocation + push hl + ld a, [wd003] + inc a + ld c, a + ld b, 0 + ld hl, OTPartyCount + add hl, bc + ld a, [hl] + pop hl + cp EGG + jr z, .matching_or_egg + cp [hl] + jr nz, .abnormal + +.matching_or_egg + ld b, h + ld c, l + ld hl, MON_LEVEL + add hl, bc + ld a, [hl] + cp MAX_LEVEL + 1 + jr nc, .abnormal + ld a, [wLinkMode] + cp LINK_TIMECAPSULE + jr nz, .normal + ld hl, OTPartySpecies + ld a, [wd003] + ld c, a + ld b, 0 + add hl, bc + ld a, [hl] + + ; Magnemite and Magneton's types changed + ; from Electric to Electric/Steel. + cp MAGNEMITE + jr z, .normal + cp MAGNETON + jr z, .normal + + ld [CurSpecies], a + call GetBaseData + ld hl, wLinkOTPartyMonTypes + add hl, bc + add hl, bc + ld a, [BaseType1] + cp [hl] + jr nz, .abnormal + inc hl + ld a, [BaseType2] + cp [hl] + jr nz, .abnormal + +.normal + and a + ret + +.abnormal + scf + ret +; fb5dd + +Functionfb5dd: ; fb5dd + ld a, [wd002] + ld d, a + ld a, [PartyCount] + ld b, a + ld c, $0 +.loop + ld a, c + cp d + jr z, .next + push bc + ld a, c + ld hl, PartyMon1HP + call GetPartyLocation + pop bc + ld a, [hli] + or [hl] + jr nz, .done + +.next + inc c + dec b + jr nz, .loop + ld a, [wd003] + ld hl, OTPartyMon1HP + call GetPartyLocation + ld a, [hli] + or [hl] + jr nz, .done + scf + ret + +.done + and a + ret +; fb60d + +PlaceTradePartnerNamesAndParty: ; fb60d + hlcoord 4, 0 + ld de, PlayerName + call PlaceString + ld a, $14 + ld [bc], a + hlcoord 4, 8 + ld de, OTPlayerName + call PlaceString + ld a, $14 + ld [bc], a + hlcoord 7, 1 + ld de, PartySpecies + call .PlaceSpeciesNames + hlcoord 7, 9 + ld de, OTPartySpecies +.PlaceSpeciesNames: ; fb634 + ld c, $0 +.loop + ld a, [de] + cp -1 + ret z + ld [wd265], a + push bc + push hl + push de + push hl + ld a, c + ld [hProduct], a + call GetPokemonName + pop hl + call PlaceString + pop de + inc de + pop hl + ld bc, SCREEN_WIDTH + add hl, bc + pop bc + inc c + jr .loop +; fb656 + + +INCLUDE "data/time_capsule/special_stats.asm" + + +INCLUDE "event/name_rater.asm" + + +PlaySlowCry: ; fb841 + ld a, [ScriptVar] + call LoadCryHeader + jr c, .done + + ld hl, CryPitch + ld a, [hli] + ld h, [hl] + ld l, a + ld bc, -$140 + add hl, bc + ld a, l + ld [CryPitch], a + ld a, h + ld [CryPitch + 1], a + ld hl, CryLength + ld a, [hli] + ld h, [hl] + ld l, a + ld bc, $60 + add hl, bc + ld a, l + ld [CryLength], a + ld a, h + ld [CryLength + 1], a + callba _PlayCryHeader + call WaitSFX + +.done + ret +; fb877 + +NewPokedexEntry: ; fb877 + ld a, [hMapAnims] + push af + xor a + ld [hMapAnims], a + call LowVolume + call ClearBGPalettes + call ClearTileMap + call UpdateSprites + call ClearSprites + ld a, [wPokedexStatus] + push af + ld a, [hSCX] + add $5 + ld [hSCX], a + xor a + ld [wPokedexStatus], a + callba _NewPokedexEntry + call WaitPressAorB_BlinkCursor + ld a, $1 + ld [wPokedexStatus], a + callba DisplayDexEntry + call WaitPressAorB_BlinkCursor + pop af + ld [wPokedexStatus], a + call MaxVolume + call RotateThreePalettesRight + ld a, [hSCX] + add -5 ; 251 ; NUM_POKEMON + ld [hSCX], a + call .ReturnFromDexRegistration + pop af + ld [hMapAnims], a + ret +; fb8c8 + +.ReturnFromDexRegistration: ; fb8c8 + call ClearTileMap + call LoadFontsExtra + call LoadStandardFont + callba Pokedex_PlaceFrontpicTopLeftCorner + call WaitBGMap2 + callba GetEnemyMonDVs + ld a, [hli] + ld [TempMonDVs], a + ld a, [hl] + ld [TempMonDVs + 1], a + ld b, SCGB_TRAINER_OR_MON_FRONTPIC_PALS + call GetSGBLayout + call SetPalettes + ret +; fb8f1 + +ConvertMon_2to1: ; fb8f1 +; Takes the Gen-2 Pokemon number stored in wd265, finds it in the Pokered_MonIndices table, and returns its index in wd265. + push bc + push hl + ld a, [wd265] + ld b, a + ld c, 0 + ld hl, Pokered_MonIndices +.loop + inc c + ld a, [hli] + cp b + jr nz, .loop + ld a, c + ld [wd265], a + pop hl + pop bc + ret +; fb908 + +ConvertMon_1to2: ; fb908 +; Takes the Gen-1 Pokemon number stored in wd265 and returns the corresponding value from Pokered_MonIndices in wd265. + push bc + push hl + ld a, [wd265] + dec a + ld hl, Pokered_MonIndices + ld b, 0 + ld c, a + add hl, bc + ld a, [hl] + ld [wd265], a + pop hl + pop bc + ret +; fb91c + + +INCLUDE "data/time_capsule/mon_order.asm" diff --git a/engine/time_capsule/conversion.asm b/engine/time_capsule/conversion.asm deleted file mode 100755 index eb8896355..000000000 --- a/engine/time_capsule/conversion.asm +++ /dev/null @@ -1,277 +0,0 @@ -; These functions seem to be related to backwards compatibility - -ValidateOTTrademon: ; fb57e - ld a, [wd003] - ld hl, OTPartyMon1Species - call GetPartyLocation - push hl - ld a, [wd003] - inc a - ld c, a - ld b, 0 - ld hl, OTPartyCount - add hl, bc - ld a, [hl] - pop hl - cp EGG - jr z, .matching_or_egg - cp [hl] - jr nz, .abnormal - -.matching_or_egg - ld b, h - ld c, l - ld hl, MON_LEVEL - add hl, bc - ld a, [hl] - cp MAX_LEVEL + 1 - jr nc, .abnormal - ld a, [wLinkMode] - cp LINK_TIMECAPSULE - jr nz, .normal - ld hl, OTPartySpecies - ld a, [wd003] - ld c, a - ld b, 0 - add hl, bc - ld a, [hl] - - ; Magnemite and Magneton's types changed - ; from Electric to Electric/Steel. - cp MAGNEMITE - jr z, .normal - cp MAGNETON - jr z, .normal - - ld [CurSpecies], a - call GetBaseData - ld hl, wLinkOTPartyMonTypes - add hl, bc - add hl, bc - ld a, [BaseType1] - cp [hl] - jr nz, .abnormal - inc hl - ld a, [BaseType2] - cp [hl] - jr nz, .abnormal - -.normal - and a - ret - -.abnormal - scf - ret -; fb5dd - -Functionfb5dd: ; fb5dd - ld a, [wd002] - ld d, a - ld a, [PartyCount] - ld b, a - ld c, $0 -.loop - ld a, c - cp d - jr z, .next - push bc - ld a, c - ld hl, PartyMon1HP - call GetPartyLocation - pop bc - ld a, [hli] - or [hl] - jr nz, .done - -.next - inc c - dec b - jr nz, .loop - ld a, [wd003] - ld hl, OTPartyMon1HP - call GetPartyLocation - ld a, [hli] - or [hl] - jr nz, .done - scf - ret - -.done - and a - ret -; fb60d - -PlaceTradePartnerNamesAndParty: ; fb60d - hlcoord 4, 0 - ld de, PlayerName - call PlaceString - ld a, $14 - ld [bc], a - hlcoord 4, 8 - ld de, OTPlayerName - call PlaceString - ld a, $14 - ld [bc], a - hlcoord 7, 1 - ld de, PartySpecies - call .PlaceSpeciesNames - hlcoord 7, 9 - ld de, OTPartySpecies -.PlaceSpeciesNames: ; fb634 - ld c, $0 -.loop - ld a, [de] - cp -1 - ret z - ld [wd265], a - push bc - push hl - push de - push hl - ld a, c - ld [hProduct], a - call GetPokemonName - pop hl - call PlaceString - pop de - inc de - pop hl - ld bc, SCREEN_WIDTH - add hl, bc - pop bc - inc c - jr .loop -; fb656 - - -INCLUDE "data/time_capsule/special_stats.asm" - - -INCLUDE "event/name_rater.asm" - - -PlaySlowCry: ; fb841 - ld a, [ScriptVar] - call LoadCryHeader - jr c, .done - - ld hl, CryPitch - ld a, [hli] - ld h, [hl] - ld l, a - ld bc, -$140 - add hl, bc - ld a, l - ld [CryPitch], a - ld a, h - ld [CryPitch + 1], a - ld hl, CryLength - ld a, [hli] - ld h, [hl] - ld l, a - ld bc, $60 - add hl, bc - ld a, l - ld [CryLength], a - ld a, h - ld [CryLength + 1], a - callba _PlayCryHeader - call WaitSFX - -.done - ret -; fb877 - -NewPokedexEntry: ; fb877 - ld a, [hMapAnims] - push af - xor a - ld [hMapAnims], a - call LowVolume - call ClearBGPalettes - call ClearTileMap - call UpdateSprites - call ClearSprites - ld a, [wPokedexStatus] - push af - ld a, [hSCX] - add $5 - ld [hSCX], a - xor a - ld [wPokedexStatus], a - callba _NewPokedexEntry - call WaitPressAorB_BlinkCursor - ld a, $1 - ld [wPokedexStatus], a - callba DisplayDexEntry - call WaitPressAorB_BlinkCursor - pop af - ld [wPokedexStatus], a - call MaxVolume - call RotateThreePalettesRight - ld a, [hSCX] - add -5 ; 251 ; NUM_POKEMON - ld [hSCX], a - call .ReturnFromDexRegistration - pop af - ld [hMapAnims], a - ret -; fb8c8 - -.ReturnFromDexRegistration: ; fb8c8 - call ClearTileMap - call LoadFontsExtra - call LoadStandardFont - callba Pokedex_PlaceFrontpicTopLeftCorner - call WaitBGMap2 - callba GetEnemyMonDVs - ld a, [hli] - ld [TempMonDVs], a - ld a, [hl] - ld [TempMonDVs + 1], a - ld b, SCGB_TRAINER_OR_MON_FRONTPIC_PALS - call GetSGBLayout - call SetPalettes - ret -; fb8f1 - -ConvertMon_2to1: ; fb8f1 -; Takes the Gen-2 Pokemon number stored in wd265, finds it in the Pokered_MonIndices table, and returns its index in wd265. - push bc - push hl - ld a, [wd265] - ld b, a - ld c, 0 - ld hl, Pokered_MonIndices -.loop - inc c - ld a, [hli] - cp b - jr nz, .loop - ld a, c - ld [wd265], a - pop hl - pop bc - ret -; fb908 - -ConvertMon_1to2: ; fb908 -; Takes the Gen-1 Pokemon number stored in wd265 and returns the corresponding value from Pokered_MonIndices in wd265. - push bc - push hl - ld a, [wd265] - dec a - ld hl, Pokered_MonIndices - ld b, 0 - ld c, a - add hl, bc - ld a, [hl] - ld [wd265], a - pop hl - pop bc - ret -; fb91c - - -INCLUDE "data/time_capsule/mon_order.asm" diff --git a/engine/trade/animation.asm b/engine/trade/animation.asm deleted file mode 100755 index 7100bd558..000000000 --- a/engine/trade/animation.asm +++ /dev/null @@ -1,1628 +0,0 @@ -TradeAnimation: ; 28f24 - xor a - ld [wcf66], a - ld hl, wPlayerTrademonSenderName - ld de, wOTTrademonSenderName - call LinkTradeAnim_LoadTradePlayerNames - ld hl, wPlayerTrademonSpecies - ld de, wOTTrademonSpecies - call LinkTradeAnim_LoadTradeMonSpecies - ld de, .script - jr RunTradeAnimScript - -.script - tradeanim_setup_givemon_scroll - tradeanim_show_givemon_data - tradeanim_do_givemon_scroll - tradeanim_wait_80 - tradeanim_wait_96 - tradeanim_poof - tradeanim_rocking_ball - tradeanim_enter_link_tube - tradeanim_wait_anim - tradeanim_bulge_through_tube - tradeanim_wait_anim - tradeanim_textbox_scroll - tradeanim_give_trademon_sfx - tradeanim_tube_to_ot - tradeanim_sent_to_ot_text - tradeanim_scroll_out_right - - tradeanim_ot_sends_text_1 - tradeanim_ot_bids_farewell - tradeanim_wait_40 - tradeanim_scroll_out_right - tradeanim_get_trademon_sfx - tradeanim_tube_to_player - tradeanim_enter_link_tube - tradeanim_drop_ball - tradeanim_exit_link_tube - tradeanim_wait_anim - tradeanim_show_getmon_data - tradeanim_poof - tradeanim_wait_anim - tradeanim_frontpic_scroll - tradeanim_animate_frontpic - tradeanim_wait_80_if_ot_egg - tradeanim_textbox_scroll - tradeanim_take_care_of_text - tradeanim_scroll_out_right - tradeanim_end - -TradeAnimationPlayer2: ; 28f63 - xor a - ld [wcf66], a - ld hl, wOTTrademonSenderName - ld de, wPlayerTrademonSenderName - call LinkTradeAnim_LoadTradePlayerNames - ld hl, wOTTrademonSpecies - ld de, wPlayerTrademonSpecies - call LinkTradeAnim_LoadTradeMonSpecies - ld de, .script - jr RunTradeAnimScript - -.script - tradeanim_ot_sends_text_2 - tradeanim_ot_bids_farewell - tradeanim_wait_40 - tradeanim_scroll_out_right - tradeanim_get_trademon_sfx - tradeanim_tube_to_ot - tradeanim_enter_link_tube - tradeanim_drop_ball - tradeanim_exit_link_tube - tradeanim_wait_anim - tradeanim_show_getmon_data - tradeanim_poof - tradeanim_wait_anim - tradeanim_frontpic_scroll - tradeanim_animate_frontpic - tradeanim_wait_180_if_ot_egg - tradeanim_textbox_scroll - tradeanim_take_care_of_text - tradeanim_scroll_out_right - - tradeanim_setup_givemon_scroll - tradeanim_show_givemon_data - tradeanim_do_givemon_scroll - tradeanim_wait_40 - tradeanim_poof - tradeanim_rocking_ball - tradeanim_enter_link_tube - tradeanim_wait_anim - tradeanim_bulge_through_tube - tradeanim_wait_anim - tradeanim_textbox_scroll - tradeanim_give_trademon_sfx - tradeanim_tube_to_player - tradeanim_sent_to_ot_text - tradeanim_scroll_out_right - tradeanim_end - -RunTradeAnimScript: ; 28fa1 - ld hl, wTradeAnimAddress - ld [hl], e - inc hl - ld [hl], d - ld a, [hMapAnims] - push af - xor a - ld [hMapAnims], a - ld hl, VramState - ld a, [hl] - push af - res 0, [hl] - ld hl, Options - ld a, [hl] - push af - set 4, [hl] - call .TradeAnimLayout - ld a, [wcf66] - and a - jr nz, .anim_loop - ld de, MUSIC_EVOLUTION - call PlayMusic2 -.anim_loop - call DoTradeAnimation - jr nc, .anim_loop - pop af - ld [Options], a - pop af - ld [VramState], a - pop af - ld [hMapAnims], a - ret - -; 28fdb - -.TradeAnimLayout: ; 28fdb - xor a - ld [wJumptableIndex], a - call ClearBGPalettes - call ClearSprites - call ClearTileMap - call DisableLCD - call LoadFontsBattleExtra - callab ClearSpriteAnims - ld a, [hCGB] - and a - jr z, .NotCGB - ld a, $1 - ld [rVBK], a - ld hl, VTiles0 - ld bc, sScratch - VTiles0 - xor a - call ByteFill - ld a, $0 - ld [rVBK], a - -.NotCGB: - hlbgcoord 0, 0 - ld bc, sScratch - VBGMap0 - ld a, " " - call ByteFill - ld hl, TradeGameBoyLZ - ld de, VTiles2 tile $31 - call Decompress - ld hl, TradeArrowGFX - ld de, VTiles1 tile $6d - ld bc, $10 - ld a, BANK(TradeArrowGFX) - call FarCopyBytes - ld hl, TradeArrowGFX + $10 - ld de, VTiles1 tile $6e - ld bc, $10 - ld a, BANK(TradeArrowGFX) - call FarCopyBytes - xor a - ld [hSCX], a - ld [hSCY], a - ld a, $7 - ld [hWX], a - ld a, $90 - ld [hWY], a - callba GetTrademonFrontpic - call EnableLCD - call LoadTradeBallAndCableGFX - ld a, [wPlayerTrademonSpecies] - ld hl, wPlayerTrademonDVs - ld de, VTiles0 - call TradeAnim_GetFrontpic - ld a, [wOTTrademonSpecies] - ld hl, wOTTrademonDVs - ld de, VTiles0 tile $31 - call TradeAnim_GetFrontpic - ld a, [wPlayerTrademonSpecies] - ld de, wPlayerTrademonSpeciesName - call TradeAnim_GetNickname - ld a, [wOTTrademonSpecies] - ld de, wOTTrademonSpeciesName - call TradeAnim_GetNickname - call TradeAnim_NormalPals - ret - -; 29082 - -DoTradeAnimation: ; 29082 - ld a, [wJumptableIndex] - bit 7, a - jr nz, .finished - call .DoTradeAnimCommand - callab PlaySpriteAnimations - ld hl, wcf65 - inc [hl] - call DelayFrame - and a - ret - -.finished - call LoadStandardFont - scf - ret - -; 290a0 - -.DoTradeAnimCommand: ; 290a0 - ld a, [wJumptableIndex] - ld e, a - ld d, 0 - ld hl, .JumpTable - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp hl -; 290af - -.JumpTable: ; 290af -; entries correspond to macros/trade_anim.asm enumeration - dw TradeAnim_AdvanceScriptPointer ; 00 - dw TradeAnim_ShowGivemonData ; 01 - dw TradeAnim_ShowGetmonData ; 02 - dw TradeAnim_EnterLinkTube1 ; 03 - dw TradeAnim_EnterLinkTube2 ; 04 - dw TradeAnim_ExitLinkTube ; 05 - dw TradeAnim_TubeToOT1 ; 06 - dw TradeAnim_TubeToOT2 ; 07 - dw TradeAnim_TubeToOT3 ; 08 - dw TradeAnim_TubeToOT4 ; 09 - dw TradeAnim_TubeToOT5 ; 0a - dw TradeAnim_TubeToOT6 ; 0b - dw TradeAnim_TubeToOT7 ; 0c - dw TradeAnim_TubeToOT8 ; 0d - dw TradeAnim_TubeToPlayer1 ; 0e - dw TradeAnim_TubeToPlayer2 ; 0f - dw TradeAnim_TubeToPlayer3 ; 10 - dw TradeAnim_TubeToPlayer4 ; 11 - dw TradeAnim_TubeToPlayer5 ; 12 - dw TradeAnim_TubeToPlayer6 ; 13 - dw TradeAnim_TubeToPlayer7 ; 14 - dw TradeAnim_TubeToPlayer8 ; 15 - dw TradeAnim_SentToOTText ; 16 - dw TradeAnim_OTBidsFarewell ; 17 - dw TradeAnim_TakeCareOfText ; 18 - dw TradeAnim_OTSendsText1 ; 19 - dw TradeAnim_OTSendsText2 ; 1a - dw TradeAnim_SetupGivemonScroll ; 1b - dw TradeAnim_DoGivemonScroll ; 1c - dw TradeAnim_FrontpicScrollStart ; 1d - dw TradeAnim_TextboxScrollStart ; 1e - dw TradeAnim_ScrollOutRight ; 1f - dw TradeAnim_ScrollOutRight2 ; 20 - dw TraideAnim_Wait80 ; 21 - dw TraideAnim_Wait40 ; 22 - dw TradeAnim_RockingBall ; 23 - dw TradeAnim_DropBall ; 24 - dw TradeAnim_WaitAnim ; 25 - dw TradeAnim_WaitAnim2 ; 26 - dw TradeAnim_Poof ; 27 - dw TradeAnim_BulgeThroughTube ; 28 - dw TradeAnim_GiveTrademonSFX ; 29 - dw TradeAnim_GetTrademonSFX ; 2a - dw TradeAnim_End ; 2b - dw TradeAnim_AnimateFrontpic ; 2c - dw TraideAnim_Wait96 ; 2d - dw TraideAnim_Wait80IfOTEgg ; 2e - dw TraideAnim_Wait180IfOTEgg ; 2f -; 2910f - -TradeAnim_IncrementJumptableIndex: ; 2910f - ld hl, wJumptableIndex - inc [hl] - ret - -; 29114 - -TradeAnim_AdvanceScriptPointer: ; 29114 - ld hl, wTradeAnimAddress - ld e, [hl] - inc hl - ld d, [hl] - ld a, [de] - ld [wJumptableIndex], a - inc de - ld [hl], d - dec hl - ld [hl], e - ret - -; 29123 - -TradeAnim_End: ; 29123 - ld hl, wJumptableIndex - set 7, [hl] - ret - -; 29129 - -TradeAnim_TubeToOT1: ; 29129 - ld a, $ed ; >>>>>>>> - call TradeAnim_PlaceTrademonStatsOnTubeAnim - ld a, [wLinkTradeSendmonSpecies] - ld [wd265], a - xor a - depixel 5, 11, 4, 0 - ld b, $0 - jr TradeAnim_InitTubeAnim - -TradeAnim_TubeToPlayer1: ; 2913c - ld a, $ee ; <<<<<<<< - call TradeAnim_PlaceTrademonStatsOnTubeAnim - ld a, [wLinkTradeGetmonSpecies] - ld [wd265], a - ld a, $2 - depixel 9, 18, 4, 4 - ld b, $4 -TradeAnim_InitTubeAnim: ; 2914e - push bc - push de - push bc - push de - - push af - call DisableLCD - callab ClearSpriteAnims - hlbgcoord 20, 3 - ld bc, 12 - ld a, $60 - call ByteFill - pop af - - call TradeAnim_TubeAnimJumptable - - xor a - ld [hSCX], a - ld a, $7 - ld [hWX], a - ld a, $70 - ld [hWY], a - call EnableLCD - call LoadTradeBubbleGFX - - pop de - ld a, SPRITE_ANIM_INDEX_TRADEMON_ICON - call _InitSpriteAnimStruct - - ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX - add hl, bc - pop bc - ld [hl], b - - pop de - ld a, SPRITE_ANIM_INDEX_TRADEMON_BUBBLE - call _InitSpriteAnimStruct - - ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX - add hl, bc - pop bc - ld [hl], b - - call WaitBGMap - ld b, SCGB_TRADE_TUBE - call GetSGBLayout - ld a, %11100100 ; 3,2,1,0 - call DmgToCgbBGPals - ld a, %11010000 - call DmgToCgbObjPal0 - - call TradeAnim_IncrementJumptableIndex - ld a, $5c - ld [wcf64], a - ret - -; 291af - -TradeAnim_TubeToOT2: ; 291af - call TradeAnim_FlashBGPals - ld a, [hSCX] - add $2 - ld [hSCX], a - cp $50 - ret nz - ld a, $1 - call TradeAnim_TubeAnimJumptable - call TradeAnim_IncrementJumptableIndex - ret - -; 291c4 - -TradeAnim_TubeToOT3: ; 291c4 - call TradeAnim_FlashBGPals - ld a, [hSCX] - add $2 - ld [hSCX], a - cp $a0 - ret nz - ld a, $2 - call TradeAnim_TubeAnimJumptable - call TradeAnim_IncrementJumptableIndex - ret - -; 291d9 - -TradeAnim_TubeToOT4: ; 291d9 - call TradeAnim_FlashBGPals - ld a, [hSCX] - add $2 - ld [hSCX], a - and a - ret nz - call TradeAnim_IncrementJumptableIndex - ret - -; 291e8 - -TradeAnim_TubeToPlayer3: ; 291e8 - call TradeAnim_FlashBGPals - ld a, [hSCX] - sub $2 - ld [hSCX], a - cp $b0 - ret nz - ld a, $1 - call TradeAnim_TubeAnimJumptable - call TradeAnim_IncrementJumptableIndex - ret - -; 291fd - -TradeAnim_TubeToPlayer4: ; 291fd - call TradeAnim_FlashBGPals - ld a, [hSCX] - sub $2 - ld [hSCX], a - cp $60 - ret nz - xor a - call TradeAnim_TubeAnimJumptable - call TradeAnim_IncrementJumptableIndex - ret - -; 29211 - -TradeAnim_TubeToPlayer5: ; 29211 - call TradeAnim_FlashBGPals - ld a, [hSCX] - sub $2 - ld [hSCX], a - and a - ret nz - call TradeAnim_IncrementJumptableIndex - ret - -; 29220 - -TradeAnim_TubeToOT6: -TradeAnim_TubeToPlayer6: ; 29220 - ld a, $80 - ld [wcf64], a - call TradeAnim_IncrementJumptableIndex - ret - -; 29229 - -TradeAnim_TubeToOT8: -TradeAnim_TubeToPlayer8: ; 29229 - call ClearBGPalettes - call ClearTileMap - call ClearSprites - call DisableLCD - callab ClearSpriteAnims - hlbgcoord 0, 0 - ld bc, sScratch - VBGMap0 - ld a, " " - call ByteFill - xor a - ld [hSCX], a - ld a, $90 - ld [hWY], a - call EnableLCD - call LoadTradeBallAndCableGFX - call WaitBGMap - call TradeAnim_NormalPals - call TradeAnim_AdvanceScriptPointer - ret - -; 2925d - -TradeAnim_TubeToOT5: -TradeAnim_TubeToOT7: -TradeAnim_TubeToPlayer2: -TradeAnim_TubeToPlayer7: ; 2925d - call TradeAnim_FlashBGPals - ld hl, wcf64 - ld a, [hl] - and a - jr z, .done - dec [hl] - ret - -.done - call TradeAnim_IncrementJumptableIndex - ret - -; 2926d - -TradeAnim_GiveTrademonSFX: ; 2926d - call TradeAnim_AdvanceScriptPointer - ld de, SFX_GIVE_TRADEMON - call PlaySFX - ret - -; 29277 - -TradeAnim_GetTrademonSFX: ; 29277 - call TradeAnim_AdvanceScriptPointer - ld de, SFX_GET_TRADEMON - call PlaySFX - ret - -; 29281 - -TradeAnim_TubeAnimJumptable: ; 29281 - and 3 - ld e, a - ld d, 0 - ld hl, .Jumptable - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp hl -; 2928f - -.Jumptable: ; 2928f - dw .Zero - dw .One - dw .Two - dw .Three -; 29297 - -.Zero: ; 29297 -.Three: ; 29297 - call TradeAnim_BlankTileMap - hlcoord 9, 3 - ld [hl], $5b - inc hl - ld bc, 10 - ld a, $60 - call ByteFill - hlcoord 3, 2 - call TradeAnim_CopyTradeGameBoyTilemap - ret - -; 292af - -.One: ; 292af - call TradeAnim_BlankTileMap - hlcoord 0, 3 - ld bc, SCREEN_WIDTH - ld a, $60 - call ByteFill - ret - -; 292be - -.Two: ; 292be - call TradeAnim_BlankTileMap - hlcoord 0, 3 - ld bc, $11 - ld a, $60 - call ByteFill - hlcoord 17, 3 - ld a, $5d - ld [hl], a - - ld a, $61 - ld de, SCREEN_WIDTH - ld c, $3 -.loop - add hl, de - ld [hl], a - dec c - jr nz, .loop - - add hl, de - ld a, $5f - ld [hld], a - ld a, $5b - ld [hl], a - hlcoord 10, 6 - call TradeAnim_CopyTradeGameBoyTilemap - ret - -; 292ec - -TradeAnim_CopyTradeGameBoyTilemap: ; 292ec - ld de, TradeGameBoyTilemap - lb bc, 8, 6 - call TradeAnim_CopyBoxFromDEtoHL - ret - -; 292f6 - -TradeAnim_PlaceTrademonStatsOnTubeAnim: ; 292f6 - push af - call ClearBGPalettes - call WaitTop - ld a, VBGMap1 / $100 - ld [hBGMapAddress + 1], a - call ClearTileMap - hlcoord 0, 0 - ld bc, SCREEN_WIDTH - ld a, "─" - call ByteFill - hlcoord 0, 1 - ld de, wLinkPlayer1Name - call PlaceString - ld hl, wLinkPlayer2Name - ld de, 0 -.find_name_end_loop - ld a, [hli] - cp "@" - jr z, .done - dec de - jr .find_name_end_loop - -.done - hlcoord 0, 4 - add hl, de - ld de, wLinkPlayer2Name - call PlaceString - hlcoord 7, 2 - ld bc, 6 - pop af - call ByteFill - call WaitBGMap - call WaitTop - ld a, VBGMap0 / $100 - ld [hBGMapAddress + 1], a - call ClearTileMap - ret - -; 29348 - -TradeAnim_EnterLinkTube1: ; 29348 - call ClearTileMap - call WaitTop - ld a, $a0 - ld [hSCX], a - call DelayFrame - hlcoord 8, 2 - ld de, TradeLinkTubeTilemap - lb bc, 3, 12 - call TradeAnim_CopyBoxFromDEtoHL - call WaitBGMap - ld b, SCGB_TRADE_TUBE - call GetSGBLayout - ld a, %11100100 ; 3,2,1,0 - call DmgToCgbBGPals - lb de, %11100100, %11100100 ; 3,2,1,0, 3,2,1,0 - call DmgToCgbObjPals - ld de, SFX_POTION - call PlaySFX - call TradeAnim_IncrementJumptableIndex - ret - -; 2937e - -TradeAnim_EnterLinkTube2: ; 2937e - ld a, [hSCX] - and a - jr z, .done - add $4 - ld [hSCX], a - ret - -.done - ld c, 80 - call DelayFrames - call TradeAnim_AdvanceScriptPointer - ret - -; 29391 - -TradeAnim_ExitLinkTube: ; 29391 - ld a, [hSCX] - cp $a0 - jr z, .done - sub $4 - ld [hSCX], a - ret - -.done - call ClearTileMap - xor a - ld [hSCX], a - call TradeAnim_AdvanceScriptPointer - ret - -; 293a6 - -TradeAnim_SetupGivemonScroll: ; 293a6 - ld a, $8f - ld [hWX], a - ld a, $88 - ld [hSCX], a - ld a, $50 - ld [hWY], a - call TradeAnim_AdvanceScriptPointer - ret - -; 293b6 - -TradeAnim_DoGivemonScroll: ; 293b6 - ld a, [hWX] - cp $7 - jr z, .done - sub $4 - ld [hWX], a - ld a, [hSCX] - sub $4 - ld [hSCX], a - ret - -.done - ld a, $7 - ld [hWX], a - xor a - ld [hSCX], a - call TradeAnim_AdvanceScriptPointer - ret - -; 293d2 - -TradeAnim_FrontpicScrollStart: ; 293d2 - ld a, $7 - ld [hWX], a - ld a, $50 - ld [hWY], a - call TradeAnim_AdvanceScriptPointer - ret - -; 293de - -TradeAnim_TextboxScrollStart: ; 293de - ld a, $7 - ld [hWX], a - ld a, $90 - ld [hWY], a - call TradeAnim_AdvanceScriptPointer - ret - -; 293ea - -TradeAnim_ScrollOutRight: ; 293ea - call WaitTop - ld a, VBGMap1 / $100 - ld [hBGMapAddress + 1], a - call WaitBGMap - ld a, $7 - ld [hWX], a - xor a - ld [hWY], a - call DelayFrame - call WaitTop - ld a, VBGMap0 / $100 - ld [hBGMapAddress + 1], a - call ClearTileMap - call TradeAnim_IncrementJumptableIndex - ret - -; 2940c - -TradeAnim_ScrollOutRight2: ; 2940c - ld a, [hWX] - cp $a1 - jr nc, .done - add $4 - ld [hWX], a - ret - -.done - ld a, VBGMap1 / $100 - ld [hBGMapAddress + 1], a - call WaitBGMap - ld a, $7 - ld [hWX], a - ld a, $90 - ld [hWY], a - ld a, VBGMap0 / $100 - ld [hBGMapAddress + 1], a - call TradeAnim_AdvanceScriptPointer - ret - -; 2942e - -TradeAnim_ShowGivemonData: ; 2942e - call ShowPlayerTrademonStats - ld a, [wPlayerTrademonSpecies] - ld [CurPartySpecies], a - ld a, [wPlayerTrademonDVs] - ld [TempMonDVs], a - ld a, [wPlayerTrademonDVs + 1] - ld [TempMonDVs + 1], a - ld b, SCGB_PLAYER_OR_MON_FRONTPIC_PALS - call GetSGBLayout - ld a, %11100100 ; 3,2,1,0 - call DmgToCgbBGPals - call TradeAnim_ShowGivemonFrontpic - - ld a, [wPlayerTrademonSpecies] - call GetCryIndex - jr c, .skip_cry - ld e, c - ld d, b - call PlayCryHeader -.skip_cry - - call TradeAnim_AdvanceScriptPointer - ret - -; 29461 - -TradeAnim_ShowGetmonData: ; 29461 - call ShowOTTrademonStats - ld a, [wOTTrademonSpecies] - ld [CurPartySpecies], a - ld a, [wOTTrademonDVs] - ld [TempMonDVs], a - ld a, [wOTTrademonDVs + 1] - ld [TempMonDVs + 1], a - ld b, SCGB_PLAYER_OR_MON_FRONTPIC_PALS - call GetSGBLayout - ld a, %11100100 ; 3,2,1,0 - call DmgToCgbBGPals - call TradeAnim_ShowGetmonFrontpic - call TradeAnim_AdvanceScriptPointer - ret - -; 29487 - -TradeAnim_AnimateFrontpic: ; 29487 - callba AnimateTrademonFrontpic - call TradeAnim_AdvanceScriptPointer - ret - -; 29491 - -TradeAnim_GetFrontpic: ; 29491 - push de - push af - predef GetUnownLetter - pop af - ld [CurPartySpecies], a - ld [CurSpecies], a - call GetBaseData - pop de - predef GetFrontpic - ret - -; 294a9 - -TradeAnim_GetNickname: ; 294a9 - push de - ld [wd265], a - call GetPokemonName - ld hl, StringBuffer1 - pop de - ld bc, NAME_LENGTH - call CopyBytes - ret - -; 294bb - -TradeAnim_ShowGivemonFrontpic: ; 294bb - ld de, VTiles0 - jr TradeAnim_ShowFrontpic - -TradeAnim_ShowGetmonFrontpic: ; 294c0 - ld de, VTiles0 tile $31 -TradeAnim_ShowFrontpic: ; 294c3 - call DelayFrame - ld hl, VTiles2 - lb bc, 10, $31 - call Request2bpp - call WaitTop - call TradeAnim_BlankTileMap - hlcoord 7, 2 - xor a - ld [hGraphicStartTile], a - lb bc, 7, 7 - predef PlaceGraphic - call WaitBGMap - ret - -; 294e7 - -TraideAnim_Wait80: ; 294e7 - ld c, 80 - call DelayFrames - call TradeAnim_AdvanceScriptPointer - ret - -; 294f0 - -TraideAnim_Wait40: ; 294f0 - ld c, 40 - call DelayFrames - call TradeAnim_AdvanceScriptPointer - ret - -; 294f9 - -TraideAnim_Wait96: ; 294f9 - ld c, 96 - call DelayFrames - call TradeAnim_AdvanceScriptPointer - ret - -; 29502 - -TraideAnim_Wait80IfOTEgg: ; 29502 - call IsOTTrademonEgg - ret nz - ld c, 80 - call DelayFrames - ret - -; 2950c - -TraideAnim_Wait180IfOTEgg: ; 2950c - call IsOTTrademonEgg - ret nz - ld c, 180 - call DelayFrames - ret - -; 29516 - -IsOTTrademonEgg: ; 29516 - call TradeAnim_AdvanceScriptPointer - ld a, [wOTTrademonSpecies] - cp EGG - ret - -; 2951f -ShowPlayerTrademonStats: ; 2951f - ld de, wPlayerTrademonSpecies - ld a, [de] - cp EGG - jr z, TrademonStats_Egg - call TrademonStats_MonTemplate - ld de, wPlayerTrademonSpecies - call TrademonStats_PrintSpeciesNumber - ld de, wPlayerTrademonSpeciesName - call TrademonStats_PrintSpeciesName - ld a, [wPlayerTrademonCaughtData] - ld de, wPlayerTrademonOTName - call TrademonStats_PrintOTName - ld de, wPlayerTrademonID - call TrademonStats_PrintTrademonID - call TrademonStats_WaitBGMap - ret - -; 29549 - -ShowOTTrademonStats: ; 29549 - ld de, wOTTrademonSpecies - ld a, [de] - cp EGG - jr z, TrademonStats_Egg - call TrademonStats_MonTemplate - ld de, wOTTrademonSpecies - call TrademonStats_PrintSpeciesNumber - ld de, wOTTrademonSpeciesName - call TrademonStats_PrintSpeciesName - ld a, [wOTTrademonCaughtData] - ld de, wOTTrademonOTName - call TrademonStats_PrintOTName - ld de, wOTTrademonID - call TrademonStats_PrintTrademonID - call TrademonStats_WaitBGMap - ret - -; 29573 - -TrademonStats_MonTemplate: ; 29573 - call WaitTop - call TradeAnim_BlankTileMap - ld a, VBGMap1 / $100 - ld [hBGMapAddress + 1], a - hlcoord 3, 0 - ld b, $6 - ld c, $d - call TextBox - hlcoord 4, 0 - ld de, .OTMonData - call PlaceString - ret - -; 29591 - -.OTMonData: ; 29591 - db "─── №." - next "" - next "OT/" - next "№.@" -; 295a1 - -TrademonStats_Egg: ; 295a1 - call WaitTop - call TradeAnim_BlankTileMap - ld a, VBGMap1 / $100 - ld [hBGMapAddress + 1], a - hlcoord 3, 0 - ld b, 6 - ld c, 13 - call TextBox - hlcoord 4, 2 - ld de, .EggData - call PlaceString - call TrademonStats_WaitBGMap - ret - -; 295c2 - -.EggData: ; 295c2 - db "EGG" - next "OT/?????" - next "№.?????@" -; 295d8 - -TrademonStats_WaitBGMap: ; 295d8 - call WaitBGMap - call WaitTop - ld a, VBGMap0 / $100 - ld [hBGMapAddress + 1], a - ret - -; 295e3 - -TrademonStats_PrintSpeciesNumber: ; 295e3 - hlcoord 10, 0 - lb bc, PRINTNUM_LEADINGZEROS | 1, 3 - call PrintNum - ld [hl], " " - ret - -; 295ef - -TrademonStats_PrintSpeciesName: ; 295ef - hlcoord 4, 2 - call PlaceString - ret - -; 295f6 - -TrademonStats_PrintOTName: ; 295f6 - cp 3 - jr c, .caught_gender_okay - xor a -.caught_gender_okay - push af - hlcoord 7, 4 - call PlaceString - inc bc - pop af - ld hl, .Gender - ld d, 0 - ld e, a - add hl, de - ld a, [hl] - ld [bc], a - ret - -; 2960e - -.Gender: ; 2960e - db " ", "♂", "♀" -; 29611 - -TrademonStats_PrintTrademonID: ; 29611 - hlcoord 7, 6 - lb bc, PRINTNUM_LEADINGZEROS | 2, 5 - call PrintNum - ret - -; 2961b - -TradeAnim_RockingBall: ; 2961b - depixel 10, 11, 4, 0 - ld a, SPRITE_ANIM_INDEX_TRADE_POKE_BALL - call _InitSpriteAnimStruct - call TradeAnim_AdvanceScriptPointer - ld a, $20 - ld [wcf64], a - ret - -; 2962c - -TradeAnim_DropBall: ; 2962c - depixel 10, 11, 4, 0 - ld a, SPRITE_ANIM_INDEX_TRADE_POKE_BALL - call _InitSpriteAnimStruct - ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX - add hl, bc - ld [hl], $1 - ld hl, SPRITEANIMSTRUCT_YOFFSET - add hl, bc - ld [hl], $dc - call TradeAnim_AdvanceScriptPointer - ld a, $38 - ld [wcf64], a - ret - -; 29649 - -TradeAnim_Poof: ; 29649 - depixel 10, 11, 4, 0 - ld a, SPRITE_ANIM_INDEX_TRADE_POOF - call _InitSpriteAnimStruct - call TradeAnim_AdvanceScriptPointer - ld a, $10 - ld [wcf64], a - ld de, SFX_BALL_POOF - call PlaySFX - ret - -; 29660 - -TradeAnim_BulgeThroughTube: ; 29660 - ld a, %11100100 ; 3,2,1,0 - call DmgToCgbObjPal0 - depixel 5, 11 - ld a, SPRITE_ANIM_INDEX_TRADE_TUBE_BULGE - call _InitSpriteAnimStruct - call TradeAnim_AdvanceScriptPointer - ld a, $40 - ld [wcf64], a - ret - -; 29676 - -TradeAnim_AnimateTrademonInTube: ; 29676 (a:5676) - ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX - add hl, bc - ld e, [hl] - ld d, 0 - ld hl, .Jumptable - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp hl -; 29686 - -.Jumptable: ; 29686 (a:5686) - dw .InitTimer - dw .WaitTimer1 - dw .MoveRight - dw .MoveDown - dw .MoveUp - dw .MoveLeft - dw .WaitTimer2 -; 2969a - -.JumptableNext: ; 29694 (a:5694) - ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX - add hl, bc - inc [hl] - ret - -.InitTimer: ; 2969a (a:569a) - call .JumptableNext - ld hl, SPRITEANIMSTRUCT_0C - add hl, bc - ld [hl], $80 - ret - -.WaitTimer1: ; 296a4 (a:56a4) - ld hl, SPRITEANIMSTRUCT_0C - add hl, bc - ld a, [hl] - dec [hl] - and a - ret nz - call .JumptableNext - -.MoveRight: ; 296af (a:56af) - ld hl, SPRITEANIMSTRUCT_XCOORD - add hl, bc - ld a, [hl] - cp $94 - jr nc, .done_move_right - inc [hl] - ret - -.done_move_right - call .JumptableNext - -.MoveDown: ; 296bd (a:56bd) - ld hl, SPRITEANIMSTRUCT_YCOORD - add hl, bc - ld a, [hl] - cp $4c - jr nc, .done_move_down - inc [hl] - ret - -.done_move_down - ld hl, SPRITEANIMSTRUCT_INDEX - add hl, bc - ld [hl], $0 - ret - -.MoveUp: ; 296cf (a:56cf) - ld hl, SPRITEANIMSTRUCT_YCOORD - add hl, bc - ld a, [hl] - cp $2c - jr z, .done_move_up - dec [hl] - ret - -.done_move_up - call .JumptableNext - -.MoveLeft: ; 296dd (a:56dd) - ld hl, SPRITEANIMSTRUCT_XCOORD - add hl, bc - ld a, [hl] - cp $58 - jr z, .done_move_left - dec [hl] - ret - -.done_move_left - call .JumptableNext - ld hl, SPRITEANIMSTRUCT_0C - add hl, bc - ld [hl], $80 - ret - -.WaitTimer2: ; 296f2 (a:56f2) - ld hl, SPRITEANIMSTRUCT_0C - add hl, bc - ld a, [hl] - dec [hl] - and a - ret nz - ld hl, SPRITEANIMSTRUCT_INDEX - add hl, bc - ld [hl], $0 - ret - -; 29701 (a:5701) - -TradeAnim_SentToOTText: ; 29701 - ld a, [wLinkMode] - cp LINK_TIMECAPSULE - jr z, .time_capsule - ld hl, .Text_MonName - call PrintText - ld c, 189 - call DelayFrames - ld hl, .Text_WasSentTo - call PrintText - call TradeAnim_Wait80Frames - ld c, 128 - call DelayFrames - call TradeAnim_AdvanceScriptPointer - ret - -.time_capsule - ld hl, .Text_WasSentTo - call PrintText - call TradeAnim_Wait80Frames - call TradeAnim_AdvanceScriptPointer - ret - -; 29732 - -.Text_WasSentTo: ; 0x29732 - ; was sent to @ . - text_jump UnknownText_0x1bc6e9 - db "@" -; 0x29737 - -.Text_MonName: ; 0x29737 - ; - text_jump UnknownText_0x1bc701 - db "@" -; 0x2973c - -TradeAnim_OTBidsFarewell: ; 2973c - ld hl, .Text_BidsFarewellToMon - call PrintText - call TradeAnim_Wait80Frames - ld hl, .Text_MonName - call PrintText - call TradeAnim_Wait80Frames - call TradeAnim_AdvanceScriptPointer - ret - -; 29752 - -.Text_BidsFarewellToMon: ; 0x29752 - ; bids farewell to - text_jump UnknownText_0x1bc703 - db "@" -; 0x29757 - -.Text_MonName: ; 0x29757 - ; . - text_jump UnknownText_0x1bc719 - db "@" -; 0x2975c - -TradeAnim_TakeCareOfText: ; 2975c - call WaitTop - hlcoord 0, 10 - ld bc, 8 * SCREEN_WIDTH - ld a, " " - call ByteFill - call WaitBGMap - ld hl, .Text_TakeGoodCareOfMon - call PrintText - call TradeAnim_Wait80Frames - call TradeAnim_AdvanceScriptPointer - ret - -; 2977a - -.Text_TakeGoodCareOfMon: ; 0x2977a - ; Take good care of @ . - text_jump UnknownText_0x1bc71f - db "@" -; 0x2977f - -TradeAnim_OTSendsText1: ; 2977f - ld hl, .Text_ForYourMon - call PrintText - call TradeAnim_Wait80Frames - ld hl, .Text_OTSends - call PrintText - call TradeAnim_Wait80Frames - ld c, 14 - call DelayFrames - call TradeAnim_AdvanceScriptPointer - ret - -; 2979a - -.Text_ForYourMon: ; 0x2979a - ; For @ 's @ , - text_jump UnknownText_0x1bc739 - db "@" -; 0x2979f - -.Text_OTSends: ; 0x2979f - ; sends @ . - text_jump UnknownText_0x1bc74c - db "@" -; 0x297a4 - -TradeAnim_OTSendsText2: ; 297a4 - ld hl, .Text_WillTrade - call PrintText - call TradeAnim_Wait80Frames - ld hl, .Text_ForYourMon - call PrintText - call TradeAnim_Wait80Frames - ld c, 14 - call DelayFrames - call TradeAnim_AdvanceScriptPointer - ret - -; 297bf - -.Text_WillTrade: ; 0x297bf - ; will trade @ @ - text_jump UnknownText_0x1bc75e - db "@" -; 0x297c4 - -.Text_ForYourMon: ; 0x297c4 - ; for @ 's @ . - text_jump UnknownText_0x1bc774 - db "@" -; 0x297c9 - -TradeAnim_Wait80Frames: ; 297c9 - ld c, 80 - call DelayFrames - ret - -; 297cf - -TradeAnim_BlankTileMap: ; 297cf - hlcoord 0, 0 - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT - ld a, " " - call ByteFill - ret - -; 297db - -TradeAnim_CopyBoxFromDEtoHL: ; 297db -.row - push bc - push hl -.col - ld a, [de] - inc de - ld [hli], a - dec c - jr nz, .col - pop hl - ld bc, SCREEN_WIDTH - add hl, bc - pop bc - dec b - jr nz, .row - ret - -; 297ed - -TradeAnim_NormalPals: ; 297ed - ld a, [hSGB] - and a - ld a, %11100100 ; 3,2,1,0 - jr z, .not_sgb - ld a, $f0 - -.not_sgb - call DmgToCgbObjPal0 - ld a, %11100100 ; 3,2,1,0 - call DmgToCgbBGPals - ret - -; 297ff - -LinkTradeAnim_LoadTradePlayerNames: ; 297ff - push de - ld de, wLinkPlayer1Name - ld bc, NAME_LENGTH - call CopyBytes - pop hl - ld de, wLinkPlayer2Name - ld bc, NAME_LENGTH - call CopyBytes - ret - -; 29814 - -LinkTradeAnim_LoadTradeMonSpecies: ; 29814 - ld a, [hl] - ld [wLinkTradeSendmonSpecies], a - ld a, [de] - ld [wLinkTradeGetmonSpecies], a - ret - -; 2981d - -TradeAnim_FlashBGPals: ; 2981d - ld a, [wcf65] - and $7 - ret nz - ld a, [rBGP] - xor %00111100 - call DmgToCgbBGPals - ret - -; 2982b - -LoadTradeBallAndCableGFX: ; 2982b - call DelayFrame - ld de, TradeBallGFX - ld hl, VTiles0 tile $62 - lb bc, BANK(TradeBallGFX), $6 - call Request2bpp - ld de, TradePoofGFX - ld hl, VTiles0 tile $68 - lb bc, BANK(TradePoofGFX), $c - call Request2bpp - ld de, TradeCableGFX - ld hl, VTiles0 tile $74 - lb bc, BANK(TradeCableGFX), $4 - call Request2bpp - xor a - ld hl, wSpriteAnimDict - ld [hli], a - ld [hl], $62 - ret - -; 2985a - -LoadTradeBubbleGFX: ; 2985a - call DelayFrame - ld e, $3 - callab LoadMenuMonIcon - ld de, TradeBubbleGFX - ld hl, VTiles0 tile $72 - lb bc, BANK(TradeBubbleGFX), $4 - call Request2bpp - xor a - ld hl, wSpriteAnimDict - ld [hli], a - ld [hl], $62 - ret - -; 29879 - -TradeAnim_WaitAnim: ; 29879 - ld hl, wcf64 - ld a, [hl] - and a - jr z, .done - dec [hl] - ret - -.done - call TradeAnim_AdvanceScriptPointer - ret - -; 29886 - -TradeAnim_WaitAnim2: ; 29886 - ld hl, wcf64 - ld a, [hl] - and a - jr z, .done - dec [hl] - ret - -.done - call TradeAnim_AdvanceScriptPointer - ret - -; 29893 - - -DebugTrade: ; 29893 -; This function is unreferenced. -; It was meant for use in Japanese versions, so the -; constant used for copy length was changed by accident. - - ld hl, .DebugTradeData - - ld a, [hli] - ld [wPlayerTrademonSpecies], a - ld de, wPlayerTrademonSenderName - ld c, 11 + 2 ; jp: 6 + 2 -.loop1 - ld a, [hli] - ld [de], a - inc de - dec c - jr nz, .loop1 - - ld a, [hli] - ld [wOTTrademonSpecies], a - ld de, wOTTrademonSenderName - ld c, 11 + 2 ; jp: 6 + 2 -.loop2 - ld a, [hli] - ld [de], a - inc de - dec c - jr nz, .loop2 - ret - -; 298b5 - -.DebugTradeData: ; 298b5 - db VENUSAUR, "ゲーフり@@", $23, $01 ; GAME FREAK - db CHARIZARD, "クりーチャ@", $56, $04 ; Creatures Inc. -; 298c7 - - -TradeGameBoyTilemap: ; 298c7 -; 6x8 - db $31, $32, $32, $32, $32, $33 - db $34, $35, $36, $36, $37, $38 - db $34, $39, $3a, $3a, $3b, $38 - db $3c, $3d, $3e, $3e, $3f, $40 - db $41, $42, $43, $43, $44, $45 - db $46, $47, $43, $48, $49, $4a - db $41, $43, $4b, $4c, $4d, $4e - db $4f, $50, $50, $50, $51, $52 -; 297f7 - -TradeLinkTubeTilemap: ; 297f7 -; 12x3 - db $43, $55, $56, $53, $53, $53, $53, $53, $53, $53, $53, $53 - db $43, $57, $58, $54, $54, $54, $54, $54, $54, $54, $54, $54 - db $43, $59, $5a, $43, $43, $43, $43, $43, $43, $43, $43, $43 -; 2991b - -TradeArrowGFX: INCBIN "gfx/trade/arrow.2bpp" -TradeCableGFX: INCBIN "gfx/trade/cable.2bpp" -TradeBubbleGFX: INCBIN "gfx/trade/bubble.2bpp" -TradeGameBoyLZ: INCBIN "gfx/trade/game_boy.2bpp.lz" -TradeBallGFX: INCBIN "gfx/trade/ball.2bpp" -TradePoofGFX: INCBIN "gfx/trade/poof.2bpp" diff --git a/engine/trade_animation.asm b/engine/trade_animation.asm new file mode 100755 index 000000000..7100bd558 --- /dev/null +++ b/engine/trade_animation.asm @@ -0,0 +1,1628 @@ +TradeAnimation: ; 28f24 + xor a + ld [wcf66], a + ld hl, wPlayerTrademonSenderName + ld de, wOTTrademonSenderName + call LinkTradeAnim_LoadTradePlayerNames + ld hl, wPlayerTrademonSpecies + ld de, wOTTrademonSpecies + call LinkTradeAnim_LoadTradeMonSpecies + ld de, .script + jr RunTradeAnimScript + +.script + tradeanim_setup_givemon_scroll + tradeanim_show_givemon_data + tradeanim_do_givemon_scroll + tradeanim_wait_80 + tradeanim_wait_96 + tradeanim_poof + tradeanim_rocking_ball + tradeanim_enter_link_tube + tradeanim_wait_anim + tradeanim_bulge_through_tube + tradeanim_wait_anim + tradeanim_textbox_scroll + tradeanim_give_trademon_sfx + tradeanim_tube_to_ot + tradeanim_sent_to_ot_text + tradeanim_scroll_out_right + + tradeanim_ot_sends_text_1 + tradeanim_ot_bids_farewell + tradeanim_wait_40 + tradeanim_scroll_out_right + tradeanim_get_trademon_sfx + tradeanim_tube_to_player + tradeanim_enter_link_tube + tradeanim_drop_ball + tradeanim_exit_link_tube + tradeanim_wait_anim + tradeanim_show_getmon_data + tradeanim_poof + tradeanim_wait_anim + tradeanim_frontpic_scroll + tradeanim_animate_frontpic + tradeanim_wait_80_if_ot_egg + tradeanim_textbox_scroll + tradeanim_take_care_of_text + tradeanim_scroll_out_right + tradeanim_end + +TradeAnimationPlayer2: ; 28f63 + xor a + ld [wcf66], a + ld hl, wOTTrademonSenderName + ld de, wPlayerTrademonSenderName + call LinkTradeAnim_LoadTradePlayerNames + ld hl, wOTTrademonSpecies + ld de, wPlayerTrademonSpecies + call LinkTradeAnim_LoadTradeMonSpecies + ld de, .script + jr RunTradeAnimScript + +.script + tradeanim_ot_sends_text_2 + tradeanim_ot_bids_farewell + tradeanim_wait_40 + tradeanim_scroll_out_right + tradeanim_get_trademon_sfx + tradeanim_tube_to_ot + tradeanim_enter_link_tube + tradeanim_drop_ball + tradeanim_exit_link_tube + tradeanim_wait_anim + tradeanim_show_getmon_data + tradeanim_poof + tradeanim_wait_anim + tradeanim_frontpic_scroll + tradeanim_animate_frontpic + tradeanim_wait_180_if_ot_egg + tradeanim_textbox_scroll + tradeanim_take_care_of_text + tradeanim_scroll_out_right + + tradeanim_setup_givemon_scroll + tradeanim_show_givemon_data + tradeanim_do_givemon_scroll + tradeanim_wait_40 + tradeanim_poof + tradeanim_rocking_ball + tradeanim_enter_link_tube + tradeanim_wait_anim + tradeanim_bulge_through_tube + tradeanim_wait_anim + tradeanim_textbox_scroll + tradeanim_give_trademon_sfx + tradeanim_tube_to_player + tradeanim_sent_to_ot_text + tradeanim_scroll_out_right + tradeanim_end + +RunTradeAnimScript: ; 28fa1 + ld hl, wTradeAnimAddress + ld [hl], e + inc hl + ld [hl], d + ld a, [hMapAnims] + push af + xor a + ld [hMapAnims], a + ld hl, VramState + ld a, [hl] + push af + res 0, [hl] + ld hl, Options + ld a, [hl] + push af + set 4, [hl] + call .TradeAnimLayout + ld a, [wcf66] + and a + jr nz, .anim_loop + ld de, MUSIC_EVOLUTION + call PlayMusic2 +.anim_loop + call DoTradeAnimation + jr nc, .anim_loop + pop af + ld [Options], a + pop af + ld [VramState], a + pop af + ld [hMapAnims], a + ret + +; 28fdb + +.TradeAnimLayout: ; 28fdb + xor a + ld [wJumptableIndex], a + call ClearBGPalettes + call ClearSprites + call ClearTileMap + call DisableLCD + call LoadFontsBattleExtra + callab ClearSpriteAnims + ld a, [hCGB] + and a + jr z, .NotCGB + ld a, $1 + ld [rVBK], a + ld hl, VTiles0 + ld bc, sScratch - VTiles0 + xor a + call ByteFill + ld a, $0 + ld [rVBK], a + +.NotCGB: + hlbgcoord 0, 0 + ld bc, sScratch - VBGMap0 + ld a, " " + call ByteFill + ld hl, TradeGameBoyLZ + ld de, VTiles2 tile $31 + call Decompress + ld hl, TradeArrowGFX + ld de, VTiles1 tile $6d + ld bc, $10 + ld a, BANK(TradeArrowGFX) + call FarCopyBytes + ld hl, TradeArrowGFX + $10 + ld de, VTiles1 tile $6e + ld bc, $10 + ld a, BANK(TradeArrowGFX) + call FarCopyBytes + xor a + ld [hSCX], a + ld [hSCY], a + ld a, $7 + ld [hWX], a + ld a, $90 + ld [hWY], a + callba GetTrademonFrontpic + call EnableLCD + call LoadTradeBallAndCableGFX + ld a, [wPlayerTrademonSpecies] + ld hl, wPlayerTrademonDVs + ld de, VTiles0 + call TradeAnim_GetFrontpic + ld a, [wOTTrademonSpecies] + ld hl, wOTTrademonDVs + ld de, VTiles0 tile $31 + call TradeAnim_GetFrontpic + ld a, [wPlayerTrademonSpecies] + ld de, wPlayerTrademonSpeciesName + call TradeAnim_GetNickname + ld a, [wOTTrademonSpecies] + ld de, wOTTrademonSpeciesName + call TradeAnim_GetNickname + call TradeAnim_NormalPals + ret + +; 29082 + +DoTradeAnimation: ; 29082 + ld a, [wJumptableIndex] + bit 7, a + jr nz, .finished + call .DoTradeAnimCommand + callab PlaySpriteAnimations + ld hl, wcf65 + inc [hl] + call DelayFrame + and a + ret + +.finished + call LoadStandardFont + scf + ret + +; 290a0 + +.DoTradeAnimCommand: ; 290a0 + ld a, [wJumptableIndex] + ld e, a + ld d, 0 + ld hl, .JumpTable + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp hl +; 290af + +.JumpTable: ; 290af +; entries correspond to macros/trade_anim.asm enumeration + dw TradeAnim_AdvanceScriptPointer ; 00 + dw TradeAnim_ShowGivemonData ; 01 + dw TradeAnim_ShowGetmonData ; 02 + dw TradeAnim_EnterLinkTube1 ; 03 + dw TradeAnim_EnterLinkTube2 ; 04 + dw TradeAnim_ExitLinkTube ; 05 + dw TradeAnim_TubeToOT1 ; 06 + dw TradeAnim_TubeToOT2 ; 07 + dw TradeAnim_TubeToOT3 ; 08 + dw TradeAnim_TubeToOT4 ; 09 + dw TradeAnim_TubeToOT5 ; 0a + dw TradeAnim_TubeToOT6 ; 0b + dw TradeAnim_TubeToOT7 ; 0c + dw TradeAnim_TubeToOT8 ; 0d + dw TradeAnim_TubeToPlayer1 ; 0e + dw TradeAnim_TubeToPlayer2 ; 0f + dw TradeAnim_TubeToPlayer3 ; 10 + dw TradeAnim_TubeToPlayer4 ; 11 + dw TradeAnim_TubeToPlayer5 ; 12 + dw TradeAnim_TubeToPlayer6 ; 13 + dw TradeAnim_TubeToPlayer7 ; 14 + dw TradeAnim_TubeToPlayer8 ; 15 + dw TradeAnim_SentToOTText ; 16 + dw TradeAnim_OTBidsFarewell ; 17 + dw TradeAnim_TakeCareOfText ; 18 + dw TradeAnim_OTSendsText1 ; 19 + dw TradeAnim_OTSendsText2 ; 1a + dw TradeAnim_SetupGivemonScroll ; 1b + dw TradeAnim_DoGivemonScroll ; 1c + dw TradeAnim_FrontpicScrollStart ; 1d + dw TradeAnim_TextboxScrollStart ; 1e + dw TradeAnim_ScrollOutRight ; 1f + dw TradeAnim_ScrollOutRight2 ; 20 + dw TraideAnim_Wait80 ; 21 + dw TraideAnim_Wait40 ; 22 + dw TradeAnim_RockingBall ; 23 + dw TradeAnim_DropBall ; 24 + dw TradeAnim_WaitAnim ; 25 + dw TradeAnim_WaitAnim2 ; 26 + dw TradeAnim_Poof ; 27 + dw TradeAnim_BulgeThroughTube ; 28 + dw TradeAnim_GiveTrademonSFX ; 29 + dw TradeAnim_GetTrademonSFX ; 2a + dw TradeAnim_End ; 2b + dw TradeAnim_AnimateFrontpic ; 2c + dw TraideAnim_Wait96 ; 2d + dw TraideAnim_Wait80IfOTEgg ; 2e + dw TraideAnim_Wait180IfOTEgg ; 2f +; 2910f + +TradeAnim_IncrementJumptableIndex: ; 2910f + ld hl, wJumptableIndex + inc [hl] + ret + +; 29114 + +TradeAnim_AdvanceScriptPointer: ; 29114 + ld hl, wTradeAnimAddress + ld e, [hl] + inc hl + ld d, [hl] + ld a, [de] + ld [wJumptableIndex], a + inc de + ld [hl], d + dec hl + ld [hl], e + ret + +; 29123 + +TradeAnim_End: ; 29123 + ld hl, wJumptableIndex + set 7, [hl] + ret + +; 29129 + +TradeAnim_TubeToOT1: ; 29129 + ld a, $ed ; >>>>>>>> + call TradeAnim_PlaceTrademonStatsOnTubeAnim + ld a, [wLinkTradeSendmonSpecies] + ld [wd265], a + xor a + depixel 5, 11, 4, 0 + ld b, $0 + jr TradeAnim_InitTubeAnim + +TradeAnim_TubeToPlayer1: ; 2913c + ld a, $ee ; <<<<<<<< + call TradeAnim_PlaceTrademonStatsOnTubeAnim + ld a, [wLinkTradeGetmonSpecies] + ld [wd265], a + ld a, $2 + depixel 9, 18, 4, 4 + ld b, $4 +TradeAnim_InitTubeAnim: ; 2914e + push bc + push de + push bc + push de + + push af + call DisableLCD + callab ClearSpriteAnims + hlbgcoord 20, 3 + ld bc, 12 + ld a, $60 + call ByteFill + pop af + + call TradeAnim_TubeAnimJumptable + + xor a + ld [hSCX], a + ld a, $7 + ld [hWX], a + ld a, $70 + ld [hWY], a + call EnableLCD + call LoadTradeBubbleGFX + + pop de + ld a, SPRITE_ANIM_INDEX_TRADEMON_ICON + call _InitSpriteAnimStruct + + ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX + add hl, bc + pop bc + ld [hl], b + + pop de + ld a, SPRITE_ANIM_INDEX_TRADEMON_BUBBLE + call _InitSpriteAnimStruct + + ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX + add hl, bc + pop bc + ld [hl], b + + call WaitBGMap + ld b, SCGB_TRADE_TUBE + call GetSGBLayout + ld a, %11100100 ; 3,2,1,0 + call DmgToCgbBGPals + ld a, %11010000 + call DmgToCgbObjPal0 + + call TradeAnim_IncrementJumptableIndex + ld a, $5c + ld [wcf64], a + ret + +; 291af + +TradeAnim_TubeToOT2: ; 291af + call TradeAnim_FlashBGPals + ld a, [hSCX] + add $2 + ld [hSCX], a + cp $50 + ret nz + ld a, $1 + call TradeAnim_TubeAnimJumptable + call TradeAnim_IncrementJumptableIndex + ret + +; 291c4 + +TradeAnim_TubeToOT3: ; 291c4 + call TradeAnim_FlashBGPals + ld a, [hSCX] + add $2 + ld [hSCX], a + cp $a0 + ret nz + ld a, $2 + call TradeAnim_TubeAnimJumptable + call TradeAnim_IncrementJumptableIndex + ret + +; 291d9 + +TradeAnim_TubeToOT4: ; 291d9 + call TradeAnim_FlashBGPals + ld a, [hSCX] + add $2 + ld [hSCX], a + and a + ret nz + call TradeAnim_IncrementJumptableIndex + ret + +; 291e8 + +TradeAnim_TubeToPlayer3: ; 291e8 + call TradeAnim_FlashBGPals + ld a, [hSCX] + sub $2 + ld [hSCX], a + cp $b0 + ret nz + ld a, $1 + call TradeAnim_TubeAnimJumptable + call TradeAnim_IncrementJumptableIndex + ret + +; 291fd + +TradeAnim_TubeToPlayer4: ; 291fd + call TradeAnim_FlashBGPals + ld a, [hSCX] + sub $2 + ld [hSCX], a + cp $60 + ret nz + xor a + call TradeAnim_TubeAnimJumptable + call TradeAnim_IncrementJumptableIndex + ret + +; 29211 + +TradeAnim_TubeToPlayer5: ; 29211 + call TradeAnim_FlashBGPals + ld a, [hSCX] + sub $2 + ld [hSCX], a + and a + ret nz + call TradeAnim_IncrementJumptableIndex + ret + +; 29220 + +TradeAnim_TubeToOT6: +TradeAnim_TubeToPlayer6: ; 29220 + ld a, $80 + ld [wcf64], a + call TradeAnim_IncrementJumptableIndex + ret + +; 29229 + +TradeAnim_TubeToOT8: +TradeAnim_TubeToPlayer8: ; 29229 + call ClearBGPalettes + call ClearTileMap + call ClearSprites + call DisableLCD + callab ClearSpriteAnims + hlbgcoord 0, 0 + ld bc, sScratch - VBGMap0 + ld a, " " + call ByteFill + xor a + ld [hSCX], a + ld a, $90 + ld [hWY], a + call EnableLCD + call LoadTradeBallAndCableGFX + call WaitBGMap + call TradeAnim_NormalPals + call TradeAnim_AdvanceScriptPointer + ret + +; 2925d + +TradeAnim_TubeToOT5: +TradeAnim_TubeToOT7: +TradeAnim_TubeToPlayer2: +TradeAnim_TubeToPlayer7: ; 2925d + call TradeAnim_FlashBGPals + ld hl, wcf64 + ld a, [hl] + and a + jr z, .done + dec [hl] + ret + +.done + call TradeAnim_IncrementJumptableIndex + ret + +; 2926d + +TradeAnim_GiveTrademonSFX: ; 2926d + call TradeAnim_AdvanceScriptPointer + ld de, SFX_GIVE_TRADEMON + call PlaySFX + ret + +; 29277 + +TradeAnim_GetTrademonSFX: ; 29277 + call TradeAnim_AdvanceScriptPointer + ld de, SFX_GET_TRADEMON + call PlaySFX + ret + +; 29281 + +TradeAnim_TubeAnimJumptable: ; 29281 + and 3 + ld e, a + ld d, 0 + ld hl, .Jumptable + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp hl +; 2928f + +.Jumptable: ; 2928f + dw .Zero + dw .One + dw .Two + dw .Three +; 29297 + +.Zero: ; 29297 +.Three: ; 29297 + call TradeAnim_BlankTileMap + hlcoord 9, 3 + ld [hl], $5b + inc hl + ld bc, 10 + ld a, $60 + call ByteFill + hlcoord 3, 2 + call TradeAnim_CopyTradeGameBoyTilemap + ret + +; 292af + +.One: ; 292af + call TradeAnim_BlankTileMap + hlcoord 0, 3 + ld bc, SCREEN_WIDTH + ld a, $60 + call ByteFill + ret + +; 292be + +.Two: ; 292be + call TradeAnim_BlankTileMap + hlcoord 0, 3 + ld bc, $11 + ld a, $60 + call ByteFill + hlcoord 17, 3 + ld a, $5d + ld [hl], a + + ld a, $61 + ld de, SCREEN_WIDTH + ld c, $3 +.loop + add hl, de + ld [hl], a + dec c + jr nz, .loop + + add hl, de + ld a, $5f + ld [hld], a + ld a, $5b + ld [hl], a + hlcoord 10, 6 + call TradeAnim_CopyTradeGameBoyTilemap + ret + +; 292ec + +TradeAnim_CopyTradeGameBoyTilemap: ; 292ec + ld de, TradeGameBoyTilemap + lb bc, 8, 6 + call TradeAnim_CopyBoxFromDEtoHL + ret + +; 292f6 + +TradeAnim_PlaceTrademonStatsOnTubeAnim: ; 292f6 + push af + call ClearBGPalettes + call WaitTop + ld a, VBGMap1 / $100 + ld [hBGMapAddress + 1], a + call ClearTileMap + hlcoord 0, 0 + ld bc, SCREEN_WIDTH + ld a, "─" + call ByteFill + hlcoord 0, 1 + ld de, wLinkPlayer1Name + call PlaceString + ld hl, wLinkPlayer2Name + ld de, 0 +.find_name_end_loop + ld a, [hli] + cp "@" + jr z, .done + dec de + jr .find_name_end_loop + +.done + hlcoord 0, 4 + add hl, de + ld de, wLinkPlayer2Name + call PlaceString + hlcoord 7, 2 + ld bc, 6 + pop af + call ByteFill + call WaitBGMap + call WaitTop + ld a, VBGMap0 / $100 + ld [hBGMapAddress + 1], a + call ClearTileMap + ret + +; 29348 + +TradeAnim_EnterLinkTube1: ; 29348 + call ClearTileMap + call WaitTop + ld a, $a0 + ld [hSCX], a + call DelayFrame + hlcoord 8, 2 + ld de, TradeLinkTubeTilemap + lb bc, 3, 12 + call TradeAnim_CopyBoxFromDEtoHL + call WaitBGMap + ld b, SCGB_TRADE_TUBE + call GetSGBLayout + ld a, %11100100 ; 3,2,1,0 + call DmgToCgbBGPals + lb de, %11100100, %11100100 ; 3,2,1,0, 3,2,1,0 + call DmgToCgbObjPals + ld de, SFX_POTION + call PlaySFX + call TradeAnim_IncrementJumptableIndex + ret + +; 2937e + +TradeAnim_EnterLinkTube2: ; 2937e + ld a, [hSCX] + and a + jr z, .done + add $4 + ld [hSCX], a + ret + +.done + ld c, 80 + call DelayFrames + call TradeAnim_AdvanceScriptPointer + ret + +; 29391 + +TradeAnim_ExitLinkTube: ; 29391 + ld a, [hSCX] + cp $a0 + jr z, .done + sub $4 + ld [hSCX], a + ret + +.done + call ClearTileMap + xor a + ld [hSCX], a + call TradeAnim_AdvanceScriptPointer + ret + +; 293a6 + +TradeAnim_SetupGivemonScroll: ; 293a6 + ld a, $8f + ld [hWX], a + ld a, $88 + ld [hSCX], a + ld a, $50 + ld [hWY], a + call TradeAnim_AdvanceScriptPointer + ret + +; 293b6 + +TradeAnim_DoGivemonScroll: ; 293b6 + ld a, [hWX] + cp $7 + jr z, .done + sub $4 + ld [hWX], a + ld a, [hSCX] + sub $4 + ld [hSCX], a + ret + +.done + ld a, $7 + ld [hWX], a + xor a + ld [hSCX], a + call TradeAnim_AdvanceScriptPointer + ret + +; 293d2 + +TradeAnim_FrontpicScrollStart: ; 293d2 + ld a, $7 + ld [hWX], a + ld a, $50 + ld [hWY], a + call TradeAnim_AdvanceScriptPointer + ret + +; 293de + +TradeAnim_TextboxScrollStart: ; 293de + ld a, $7 + ld [hWX], a + ld a, $90 + ld [hWY], a + call TradeAnim_AdvanceScriptPointer + ret + +; 293ea + +TradeAnim_ScrollOutRight: ; 293ea + call WaitTop + ld a, VBGMap1 / $100 + ld [hBGMapAddress + 1], a + call WaitBGMap + ld a, $7 + ld [hWX], a + xor a + ld [hWY], a + call DelayFrame + call WaitTop + ld a, VBGMap0 / $100 + ld [hBGMapAddress + 1], a + call ClearTileMap + call TradeAnim_IncrementJumptableIndex + ret + +; 2940c + +TradeAnim_ScrollOutRight2: ; 2940c + ld a, [hWX] + cp $a1 + jr nc, .done + add $4 + ld [hWX], a + ret + +.done + ld a, VBGMap1 / $100 + ld [hBGMapAddress + 1], a + call WaitBGMap + ld a, $7 + ld [hWX], a + ld a, $90 + ld [hWY], a + ld a, VBGMap0 / $100 + ld [hBGMapAddress + 1], a + call TradeAnim_AdvanceScriptPointer + ret + +; 2942e + +TradeAnim_ShowGivemonData: ; 2942e + call ShowPlayerTrademonStats + ld a, [wPlayerTrademonSpecies] + ld [CurPartySpecies], a + ld a, [wPlayerTrademonDVs] + ld [TempMonDVs], a + ld a, [wPlayerTrademonDVs + 1] + ld [TempMonDVs + 1], a + ld b, SCGB_PLAYER_OR_MON_FRONTPIC_PALS + call GetSGBLayout + ld a, %11100100 ; 3,2,1,0 + call DmgToCgbBGPals + call TradeAnim_ShowGivemonFrontpic + + ld a, [wPlayerTrademonSpecies] + call GetCryIndex + jr c, .skip_cry + ld e, c + ld d, b + call PlayCryHeader +.skip_cry + + call TradeAnim_AdvanceScriptPointer + ret + +; 29461 + +TradeAnim_ShowGetmonData: ; 29461 + call ShowOTTrademonStats + ld a, [wOTTrademonSpecies] + ld [CurPartySpecies], a + ld a, [wOTTrademonDVs] + ld [TempMonDVs], a + ld a, [wOTTrademonDVs + 1] + ld [TempMonDVs + 1], a + ld b, SCGB_PLAYER_OR_MON_FRONTPIC_PALS + call GetSGBLayout + ld a, %11100100 ; 3,2,1,0 + call DmgToCgbBGPals + call TradeAnim_ShowGetmonFrontpic + call TradeAnim_AdvanceScriptPointer + ret + +; 29487 + +TradeAnim_AnimateFrontpic: ; 29487 + callba AnimateTrademonFrontpic + call TradeAnim_AdvanceScriptPointer + ret + +; 29491 + +TradeAnim_GetFrontpic: ; 29491 + push de + push af + predef GetUnownLetter + pop af + ld [CurPartySpecies], a + ld [CurSpecies], a + call GetBaseData + pop de + predef GetFrontpic + ret + +; 294a9 + +TradeAnim_GetNickname: ; 294a9 + push de + ld [wd265], a + call GetPokemonName + ld hl, StringBuffer1 + pop de + ld bc, NAME_LENGTH + call CopyBytes + ret + +; 294bb + +TradeAnim_ShowGivemonFrontpic: ; 294bb + ld de, VTiles0 + jr TradeAnim_ShowFrontpic + +TradeAnim_ShowGetmonFrontpic: ; 294c0 + ld de, VTiles0 tile $31 +TradeAnim_ShowFrontpic: ; 294c3 + call DelayFrame + ld hl, VTiles2 + lb bc, 10, $31 + call Request2bpp + call WaitTop + call TradeAnim_BlankTileMap + hlcoord 7, 2 + xor a + ld [hGraphicStartTile], a + lb bc, 7, 7 + predef PlaceGraphic + call WaitBGMap + ret + +; 294e7 + +TraideAnim_Wait80: ; 294e7 + ld c, 80 + call DelayFrames + call TradeAnim_AdvanceScriptPointer + ret + +; 294f0 + +TraideAnim_Wait40: ; 294f0 + ld c, 40 + call DelayFrames + call TradeAnim_AdvanceScriptPointer + ret + +; 294f9 + +TraideAnim_Wait96: ; 294f9 + ld c, 96 + call DelayFrames + call TradeAnim_AdvanceScriptPointer + ret + +; 29502 + +TraideAnim_Wait80IfOTEgg: ; 29502 + call IsOTTrademonEgg + ret nz + ld c, 80 + call DelayFrames + ret + +; 2950c + +TraideAnim_Wait180IfOTEgg: ; 2950c + call IsOTTrademonEgg + ret nz + ld c, 180 + call DelayFrames + ret + +; 29516 + +IsOTTrademonEgg: ; 29516 + call TradeAnim_AdvanceScriptPointer + ld a, [wOTTrademonSpecies] + cp EGG + ret + +; 2951f +ShowPlayerTrademonStats: ; 2951f + ld de, wPlayerTrademonSpecies + ld a, [de] + cp EGG + jr z, TrademonStats_Egg + call TrademonStats_MonTemplate + ld de, wPlayerTrademonSpecies + call TrademonStats_PrintSpeciesNumber + ld de, wPlayerTrademonSpeciesName + call TrademonStats_PrintSpeciesName + ld a, [wPlayerTrademonCaughtData] + ld de, wPlayerTrademonOTName + call TrademonStats_PrintOTName + ld de, wPlayerTrademonID + call TrademonStats_PrintTrademonID + call TrademonStats_WaitBGMap + ret + +; 29549 + +ShowOTTrademonStats: ; 29549 + ld de, wOTTrademonSpecies + ld a, [de] + cp EGG + jr z, TrademonStats_Egg + call TrademonStats_MonTemplate + ld de, wOTTrademonSpecies + call TrademonStats_PrintSpeciesNumber + ld de, wOTTrademonSpeciesName + call TrademonStats_PrintSpeciesName + ld a, [wOTTrademonCaughtData] + ld de, wOTTrademonOTName + call TrademonStats_PrintOTName + ld de, wOTTrademonID + call TrademonStats_PrintTrademonID + call TrademonStats_WaitBGMap + ret + +; 29573 + +TrademonStats_MonTemplate: ; 29573 + call WaitTop + call TradeAnim_BlankTileMap + ld a, VBGMap1 / $100 + ld [hBGMapAddress + 1], a + hlcoord 3, 0 + ld b, $6 + ld c, $d + call TextBox + hlcoord 4, 0 + ld de, .OTMonData + call PlaceString + ret + +; 29591 + +.OTMonData: ; 29591 + db "─── №." + next "" + next "OT/" + next "№.@" +; 295a1 + +TrademonStats_Egg: ; 295a1 + call WaitTop + call TradeAnim_BlankTileMap + ld a, VBGMap1 / $100 + ld [hBGMapAddress + 1], a + hlcoord 3, 0 + ld b, 6 + ld c, 13 + call TextBox + hlcoord 4, 2 + ld de, .EggData + call PlaceString + call TrademonStats_WaitBGMap + ret + +; 295c2 + +.EggData: ; 295c2 + db "EGG" + next "OT/?????" + next "№.?????@" +; 295d8 + +TrademonStats_WaitBGMap: ; 295d8 + call WaitBGMap + call WaitTop + ld a, VBGMap0 / $100 + ld [hBGMapAddress + 1], a + ret + +; 295e3 + +TrademonStats_PrintSpeciesNumber: ; 295e3 + hlcoord 10, 0 + lb bc, PRINTNUM_LEADINGZEROS | 1, 3 + call PrintNum + ld [hl], " " + ret + +; 295ef + +TrademonStats_PrintSpeciesName: ; 295ef + hlcoord 4, 2 + call PlaceString + ret + +; 295f6 + +TrademonStats_PrintOTName: ; 295f6 + cp 3 + jr c, .caught_gender_okay + xor a +.caught_gender_okay + push af + hlcoord 7, 4 + call PlaceString + inc bc + pop af + ld hl, .Gender + ld d, 0 + ld e, a + add hl, de + ld a, [hl] + ld [bc], a + ret + +; 2960e + +.Gender: ; 2960e + db " ", "♂", "♀" +; 29611 + +TrademonStats_PrintTrademonID: ; 29611 + hlcoord 7, 6 + lb bc, PRINTNUM_LEADINGZEROS | 2, 5 + call PrintNum + ret + +; 2961b + +TradeAnim_RockingBall: ; 2961b + depixel 10, 11, 4, 0 + ld a, SPRITE_ANIM_INDEX_TRADE_POKE_BALL + call _InitSpriteAnimStruct + call TradeAnim_AdvanceScriptPointer + ld a, $20 + ld [wcf64], a + ret + +; 2962c + +TradeAnim_DropBall: ; 2962c + depixel 10, 11, 4, 0 + ld a, SPRITE_ANIM_INDEX_TRADE_POKE_BALL + call _InitSpriteAnimStruct + ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX + add hl, bc + ld [hl], $1 + ld hl, SPRITEANIMSTRUCT_YOFFSET + add hl, bc + ld [hl], $dc + call TradeAnim_AdvanceScriptPointer + ld a, $38 + ld [wcf64], a + ret + +; 29649 + +TradeAnim_Poof: ; 29649 + depixel 10, 11, 4, 0 + ld a, SPRITE_ANIM_INDEX_TRADE_POOF + call _InitSpriteAnimStruct + call TradeAnim_AdvanceScriptPointer + ld a, $10 + ld [wcf64], a + ld de, SFX_BALL_POOF + call PlaySFX + ret + +; 29660 + +TradeAnim_BulgeThroughTube: ; 29660 + ld a, %11100100 ; 3,2,1,0 + call DmgToCgbObjPal0 + depixel 5, 11 + ld a, SPRITE_ANIM_INDEX_TRADE_TUBE_BULGE + call _InitSpriteAnimStruct + call TradeAnim_AdvanceScriptPointer + ld a, $40 + ld [wcf64], a + ret + +; 29676 + +TradeAnim_AnimateTrademonInTube: ; 29676 (a:5676) + ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX + add hl, bc + ld e, [hl] + ld d, 0 + ld hl, .Jumptable + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp hl +; 29686 + +.Jumptable: ; 29686 (a:5686) + dw .InitTimer + dw .WaitTimer1 + dw .MoveRight + dw .MoveDown + dw .MoveUp + dw .MoveLeft + dw .WaitTimer2 +; 2969a + +.JumptableNext: ; 29694 (a:5694) + ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX + add hl, bc + inc [hl] + ret + +.InitTimer: ; 2969a (a:569a) + call .JumptableNext + ld hl, SPRITEANIMSTRUCT_0C + add hl, bc + ld [hl], $80 + ret + +.WaitTimer1: ; 296a4 (a:56a4) + ld hl, SPRITEANIMSTRUCT_0C + add hl, bc + ld a, [hl] + dec [hl] + and a + ret nz + call .JumptableNext + +.MoveRight: ; 296af (a:56af) + ld hl, SPRITEANIMSTRUCT_XCOORD + add hl, bc + ld a, [hl] + cp $94 + jr nc, .done_move_right + inc [hl] + ret + +.done_move_right + call .JumptableNext + +.MoveDown: ; 296bd (a:56bd) + ld hl, SPRITEANIMSTRUCT_YCOORD + add hl, bc + ld a, [hl] + cp $4c + jr nc, .done_move_down + inc [hl] + ret + +.done_move_down + ld hl, SPRITEANIMSTRUCT_INDEX + add hl, bc + ld [hl], $0 + ret + +.MoveUp: ; 296cf (a:56cf) + ld hl, SPRITEANIMSTRUCT_YCOORD + add hl, bc + ld a, [hl] + cp $2c + jr z, .done_move_up + dec [hl] + ret + +.done_move_up + call .JumptableNext + +.MoveLeft: ; 296dd (a:56dd) + ld hl, SPRITEANIMSTRUCT_XCOORD + add hl, bc + ld a, [hl] + cp $58 + jr z, .done_move_left + dec [hl] + ret + +.done_move_left + call .JumptableNext + ld hl, SPRITEANIMSTRUCT_0C + add hl, bc + ld [hl], $80 + ret + +.WaitTimer2: ; 296f2 (a:56f2) + ld hl, SPRITEANIMSTRUCT_0C + add hl, bc + ld a, [hl] + dec [hl] + and a + ret nz + ld hl, SPRITEANIMSTRUCT_INDEX + add hl, bc + ld [hl], $0 + ret + +; 29701 (a:5701) + +TradeAnim_SentToOTText: ; 29701 + ld a, [wLinkMode] + cp LINK_TIMECAPSULE + jr z, .time_capsule + ld hl, .Text_MonName + call PrintText + ld c, 189 + call DelayFrames + ld hl, .Text_WasSentTo + call PrintText + call TradeAnim_Wait80Frames + ld c, 128 + call DelayFrames + call TradeAnim_AdvanceScriptPointer + ret + +.time_capsule + ld hl, .Text_WasSentTo + call PrintText + call TradeAnim_Wait80Frames + call TradeAnim_AdvanceScriptPointer + ret + +; 29732 + +.Text_WasSentTo: ; 0x29732 + ; was sent to @ . + text_jump UnknownText_0x1bc6e9 + db "@" +; 0x29737 + +.Text_MonName: ; 0x29737 + ; + text_jump UnknownText_0x1bc701 + db "@" +; 0x2973c + +TradeAnim_OTBidsFarewell: ; 2973c + ld hl, .Text_BidsFarewellToMon + call PrintText + call TradeAnim_Wait80Frames + ld hl, .Text_MonName + call PrintText + call TradeAnim_Wait80Frames + call TradeAnim_AdvanceScriptPointer + ret + +; 29752 + +.Text_BidsFarewellToMon: ; 0x29752 + ; bids farewell to + text_jump UnknownText_0x1bc703 + db "@" +; 0x29757 + +.Text_MonName: ; 0x29757 + ; . + text_jump UnknownText_0x1bc719 + db "@" +; 0x2975c + +TradeAnim_TakeCareOfText: ; 2975c + call WaitTop + hlcoord 0, 10 + ld bc, 8 * SCREEN_WIDTH + ld a, " " + call ByteFill + call WaitBGMap + ld hl, .Text_TakeGoodCareOfMon + call PrintText + call TradeAnim_Wait80Frames + call TradeAnim_AdvanceScriptPointer + ret + +; 2977a + +.Text_TakeGoodCareOfMon: ; 0x2977a + ; Take good care of @ . + text_jump UnknownText_0x1bc71f + db "@" +; 0x2977f + +TradeAnim_OTSendsText1: ; 2977f + ld hl, .Text_ForYourMon + call PrintText + call TradeAnim_Wait80Frames + ld hl, .Text_OTSends + call PrintText + call TradeAnim_Wait80Frames + ld c, 14 + call DelayFrames + call TradeAnim_AdvanceScriptPointer + ret + +; 2979a + +.Text_ForYourMon: ; 0x2979a + ; For @ 's @ , + text_jump UnknownText_0x1bc739 + db "@" +; 0x2979f + +.Text_OTSends: ; 0x2979f + ; sends @ . + text_jump UnknownText_0x1bc74c + db "@" +; 0x297a4 + +TradeAnim_OTSendsText2: ; 297a4 + ld hl, .Text_WillTrade + call PrintText + call TradeAnim_Wait80Frames + ld hl, .Text_ForYourMon + call PrintText + call TradeAnim_Wait80Frames + ld c, 14 + call DelayFrames + call TradeAnim_AdvanceScriptPointer + ret + +; 297bf + +.Text_WillTrade: ; 0x297bf + ; will trade @ @ + text_jump UnknownText_0x1bc75e + db "@" +; 0x297c4 + +.Text_ForYourMon: ; 0x297c4 + ; for @ 's @ . + text_jump UnknownText_0x1bc774 + db "@" +; 0x297c9 + +TradeAnim_Wait80Frames: ; 297c9 + ld c, 80 + call DelayFrames + ret + +; 297cf + +TradeAnim_BlankTileMap: ; 297cf + hlcoord 0, 0 + ld bc, SCREEN_WIDTH * SCREEN_HEIGHT + ld a, " " + call ByteFill + ret + +; 297db + +TradeAnim_CopyBoxFromDEtoHL: ; 297db +.row + push bc + push hl +.col + ld a, [de] + inc de + ld [hli], a + dec c + jr nz, .col + pop hl + ld bc, SCREEN_WIDTH + add hl, bc + pop bc + dec b + jr nz, .row + ret + +; 297ed + +TradeAnim_NormalPals: ; 297ed + ld a, [hSGB] + and a + ld a, %11100100 ; 3,2,1,0 + jr z, .not_sgb + ld a, $f0 + +.not_sgb + call DmgToCgbObjPal0 + ld a, %11100100 ; 3,2,1,0 + call DmgToCgbBGPals + ret + +; 297ff + +LinkTradeAnim_LoadTradePlayerNames: ; 297ff + push de + ld de, wLinkPlayer1Name + ld bc, NAME_LENGTH + call CopyBytes + pop hl + ld de, wLinkPlayer2Name + ld bc, NAME_LENGTH + call CopyBytes + ret + +; 29814 + +LinkTradeAnim_LoadTradeMonSpecies: ; 29814 + ld a, [hl] + ld [wLinkTradeSendmonSpecies], a + ld a, [de] + ld [wLinkTradeGetmonSpecies], a + ret + +; 2981d + +TradeAnim_FlashBGPals: ; 2981d + ld a, [wcf65] + and $7 + ret nz + ld a, [rBGP] + xor %00111100 + call DmgToCgbBGPals + ret + +; 2982b + +LoadTradeBallAndCableGFX: ; 2982b + call DelayFrame + ld de, TradeBallGFX + ld hl, VTiles0 tile $62 + lb bc, BANK(TradeBallGFX), $6 + call Request2bpp + ld de, TradePoofGFX + ld hl, VTiles0 tile $68 + lb bc, BANK(TradePoofGFX), $c + call Request2bpp + ld de, TradeCableGFX + ld hl, VTiles0 tile $74 + lb bc, BANK(TradeCableGFX), $4 + call Request2bpp + xor a + ld hl, wSpriteAnimDict + ld [hli], a + ld [hl], $62 + ret + +; 2985a + +LoadTradeBubbleGFX: ; 2985a + call DelayFrame + ld e, $3 + callab LoadMenuMonIcon + ld de, TradeBubbleGFX + ld hl, VTiles0 tile $72 + lb bc, BANK(TradeBubbleGFX), $4 + call Request2bpp + xor a + ld hl, wSpriteAnimDict + ld [hli], a + ld [hl], $62 + ret + +; 29879 + +TradeAnim_WaitAnim: ; 29879 + ld hl, wcf64 + ld a, [hl] + and a + jr z, .done + dec [hl] + ret + +.done + call TradeAnim_AdvanceScriptPointer + ret + +; 29886 + +TradeAnim_WaitAnim2: ; 29886 + ld hl, wcf64 + ld a, [hl] + and a + jr z, .done + dec [hl] + ret + +.done + call TradeAnim_AdvanceScriptPointer + ret + +; 29893 + + +DebugTrade: ; 29893 +; This function is unreferenced. +; It was meant for use in Japanese versions, so the +; constant used for copy length was changed by accident. + + ld hl, .DebugTradeData + + ld a, [hli] + ld [wPlayerTrademonSpecies], a + ld de, wPlayerTrademonSenderName + ld c, 11 + 2 ; jp: 6 + 2 +.loop1 + ld a, [hli] + ld [de], a + inc de + dec c + jr nz, .loop1 + + ld a, [hli] + ld [wOTTrademonSpecies], a + ld de, wOTTrademonSenderName + ld c, 11 + 2 ; jp: 6 + 2 +.loop2 + ld a, [hli] + ld [de], a + inc de + dec c + jr nz, .loop2 + ret + +; 298b5 + +.DebugTradeData: ; 298b5 + db VENUSAUR, "ゲーフり@@", $23, $01 ; GAME FREAK + db CHARIZARD, "クりーチャ@", $56, $04 ; Creatures Inc. +; 298c7 + + +TradeGameBoyTilemap: ; 298c7 +; 6x8 + db $31, $32, $32, $32, $32, $33 + db $34, $35, $36, $36, $37, $38 + db $34, $39, $3a, $3a, $3b, $38 + db $3c, $3d, $3e, $3e, $3f, $40 + db $41, $42, $43, $43, $44, $45 + db $46, $47, $43, $48, $49, $4a + db $41, $43, $4b, $4c, $4d, $4e + db $4f, $50, $50, $50, $51, $52 +; 297f7 + +TradeLinkTubeTilemap: ; 297f7 +; 12x3 + db $43, $55, $56, $53, $53, $53, $53, $53, $53, $53, $53, $53 + db $43, $57, $58, $54, $54, $54, $54, $54, $54, $54, $54, $54 + db $43, $59, $5a, $43, $43, $43, $43, $43, $43, $43, $43, $43 +; 2991b + +TradeArrowGFX: INCBIN "gfx/trade/arrow.2bpp" +TradeCableGFX: INCBIN "gfx/trade/cable.2bpp" +TradeBubbleGFX: INCBIN "gfx/trade/bubble.2bpp" +TradeGameBoyLZ: INCBIN "gfx/trade/game_boy.2bpp.lz" +TradeBallGFX: INCBIN "gfx/trade/ball.2bpp" +TradePoofGFX: INCBIN "gfx/trade/poof.2bpp" diff --git a/macros.asm b/macros.asm index f0dc01fbe..48c2ceca4 100644 --- a/macros.asm +++ b/macros.asm @@ -22,5 +22,5 @@ INCLUDE "macros/scripts/gfx_anim.asm" percent EQUS "* $ff / 100" -tiles EQUS "* $10" -tile EQUS "+ $10 *" +tiles EQUS "* LEN_2BPP_TILE" +tile EQUS "+ LEN_2BPP_TILE *" diff --git a/main.asm b/main.asm index 3deb21334..5049540d8 100644 --- a/main.asm +++ b/main.asm @@ -612,7 +612,7 @@ INCLUDE "data/items/marts.asm" INCLUDE "event/mom.asm" INCLUDE "event/daycare.asm" INCLUDE "event/photo.asm" -INCLUDE "engine/breeding/egg.asm" +INCLUDE "engine/breeding.asm" INCLUDE "tilesets/data.asm" @@ -1771,7 +1771,7 @@ CheckCanLearnMoveTutorMove: ; 492b9 db 12, 00 ; start coords db 17, 19 ; end coords -INCLUDE "predef/crystal.asm" +INCLUDE "engine/crystal_colors.asm" Unknown_4985a: ; unreferenced db $ab, $03, $57, $24, $ac, $0e, $13, $32 @@ -5073,7 +5073,7 @@ INCLUDE "engine/crystal_intro.asm" SECTION "bank3E", ROMX INCLUDE "gfx/font.asm" -INCLUDE "engine/time_capsule/conversion.asm" +INCLUDE "engine/time_capsule.asm" INCLUDE "engine/unowndex.asm" INCLUDE "event/magikarp.asm" INCLUDE "battle/hidden_power.asm" diff --git a/predef/cgb.asm b/predef/cgb.asm deleted file mode 100644 index 7ede2768f..000000000 --- a/predef/cgb.asm +++ /dev/null @@ -1,1127 +0,0 @@ -; Replaces the functionality of sgb.asm to work with CGB hardware. - -CheckCGB: ; 8d55 - ld a, [hCGB] - and a - ret -; 8d59 - -Predef_LoadSGBLayoutCGB: ; 8d59 - ld a, b - cp SCGB_RAM - jr nz, .not_ram - ld a, [SGBPredef] -.not_ram - cp SCGB_PARTY_MENU_HP_PALS - jp z, CGB_ApplyPartyMenuHPPals - call ResetBGPals - ld l, a - ld h, 0 - add hl, hl - ld de, .dw - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - ld de, .ReturnFromJumpTable - push de - jp hl -; 8d79 - -.ReturnFromJumpTable: ; 8d79 - ret -; 8d7a - -.dw ; 8d7a - dw _CGB_BattleGrayscale - dw _CGB_BattleColors - dw _CGB_PokegearPals - dw _CGB_StatsScreenHPPals - dw _CGB_Pokedex - dw _CGB_SlotMachine - dw _CGB06 - dw _CGB07 - dw _CGB_Diploma - dw _CGB_MapPals - dw _CGB_PartyMenu - dw _CGB_Evolution - dw _CGB0c - dw _CGB0d - dw _CGB_MoveList - dw _CGB0f - dw _CGB_PokedexSearchOption - dw _CGB11 - dw _CGB_Pokepic - dw _CGB13 - dw _CGB_PackPals - dw _CGB_TrainerCard - dw _CGB_PokedexUnownMode - dw _CGB_BillsPC - dw _CGB_UnownPuzzle - dw _CGB_GamefreakLogo ; called before copyright - dw _CGB_PlayerOrMonFrontpicPals - dw _CGB_TradeTube - dw _CGB_TrainerOrMonFrontpicPals - dw _CGB_MysteryGift - dw _CGB1e -; 8db8 - -_CGB_BattleGrayscale: ; 8db8 - ld hl, PalPacket_9c66 + 1 - ld de, UnknBGPals - ld c, 4 - call CopyPalettes - ld hl, PalPacket_9c66 + 1 - ld de, UnknBGPals palette PAL_BATTLE_BG_EXP - ld c, 4 - call CopyPalettes - ld hl, PalPacket_9c66 + 1 - ld de, UnknOBPals - ld c, 2 - call CopyPalettes - jr _CGB_FinishBattleScreenLayout - -_CGB_BattleColors: ; 8ddb - ld de, UnknBGPals - call GetBattlemonBackpicPalettePointer - push hl - call LoadPalette_White_Col1_Col2_Black ; PAL_BATTLE_BG_PLAYER - call GetEnemyFrontpicPalettePointer - push hl - call LoadPalette_White_Col1_Col2_Black ; PAL_BATTLE_BG_ENEMY - ld a, [EnemyHPPal] - ld l, a - ld h, $0 - add hl, hl - add hl, hl - ld bc, Palettes_a8be - add hl, bc - call LoadPalette_White_Col1_Col2_Black ; PAL_BATTLE_BG_ENEMY_HP - ld a, [PlayerHPPal] - ld l, a - ld h, $0 - add hl, hl - add hl, hl - ld bc, Palettes_a8be - add hl, bc - call LoadPalette_White_Col1_Col2_Black ; PAL_BATTLE_BG_PLAYER_HP - ld hl, Palettes_a8ca - call LoadPalette_White_Col1_Col2_Black ; PAL_BATTLE_BG_EXP - ld de, UnknOBPals - pop hl - call LoadPalette_White_Col1_Col2_Black ; PAL_BATTLE_OB_ENEMY - pop hl - call LoadPalette_White_Col1_Col2_Black ; PAL_BATTLE_OB_PLAYER - ld a, SCGB_BATTLE_COLORS - ld [SGBPredef], a - call ApplyPals -_CGB_FinishBattleScreenLayout: ; 8e23 - call InitPartyMenuBGPal7 - hlcoord 0, 0, AttrMap - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT - ld a, PAL_BATTLE_BG_ENEMY_HP - call ByteFill - hlcoord 0, 4, AttrMap - lb bc, 8, 10 - ld a, PAL_BATTLE_BG_PLAYER - call FillBoxCGB - hlcoord 10, 0, AttrMap - lb bc, 7, 10 - ld a, PAL_BATTLE_BG_ENEMY - call FillBoxCGB - hlcoord 0, 0, AttrMap - lb bc, 4, 10 - ld a, PAL_BATTLE_BG_ENEMY_HP - call FillBoxCGB - hlcoord 10, 7, AttrMap - lb bc, 5, 10 - ld a, PAL_BATTLE_BG_PLAYER_HP - call FillBoxCGB - hlcoord 10, 11, AttrMap - lb bc, 1, 9 - ld a, PAL_BATTLE_BG_EXP - call FillBoxCGB - hlcoord 0, 12, AttrMap - ld bc, 6 * SCREEN_WIDTH - ld a, PAL_BATTLE_BG_TEXT - call ByteFill - ld hl, Palettes_979c - ld de, UnknOBPals palette PAL_BATTLE_OB_GRAY - ld bc, 6 palettes - ld a, $5 - call FarCopyWRAM - call ApplyAttrMap - ret -; 8e85 - - -InitPartyMenuBGPal7: ; 8e85 - callba Function100dc0 -Mobile_InitPartyMenuBGPal7: ; 8e8b - ld hl, Palette_b311 - jr nc, .not_mobile - ld hl, Palette_b309 -.not_mobile - ld de, UnknBGPals palette 7 - ld bc, 1 palettes - ld a, $5 - call FarCopyWRAM - ret -; 8e9f - -InitPartyMenuBGPal0: ; 8e9f - callba Function100dc0 - ld hl, Palette_b311 - jr nc, .not_mobile - ld hl, Palette_b309 -.not_mobile - ld de, UnknBGPals palette 0 - ld bc, 1 palettes - ld a, $5 - call FarCopyWRAM - ret -; 8eb9 - -_CGB_PokegearPals: ; 8eb9 - ld a, [PlayerGender] - bit 0, a - jr z, .male - ld hl, FemalePokegearPals - jr .got_pals - -.male - ld hl, MalePokegearPals -.got_pals - ld de, UnknBGPals - ld bc, 6 palettes - ld a, $5 - call FarCopyWRAM - call ApplyPals - ld a, $1 - ld [hCGBPalUpdate], a - ret -; 8edb - -_CGB_StatsScreenHPPals: ; 8edb - ld de, UnknBGPals - ld a, [wCurHPPal] - ld l, a - ld h, $0 - add hl, hl - add hl, hl - ld bc, Palettes_a8be - add hl, bc - call LoadPalette_White_Col1_Col2_Black ; hp palette - ld a, [CurPartySpecies] - ld bc, TempMonDVs - call GetPlayerOrMonPalettePointer - call LoadPalette_White_Col1_Col2_Black ; mon palette - ld hl, Palettes_a8ca - call LoadPalette_White_Col1_Col2_Black ; exp palette - ld hl, StatsScreenPagePals - ld de, UnknBGPals palette 3 - ld bc, 3 palettes ; pink, green, and blue page palettes - ld a, $5 - call FarCopyWRAM - call WipeAttrMap - - hlcoord 0, 0, AttrMap - lb bc, 8, SCREEN_WIDTH - ld a, $1 ; mon palette - call FillBoxCGB - - hlcoord 10, 16, AttrMap - ld bc, 10 - ld a, $2 ; exp palette - call ByteFill - - hlcoord 13, 5, AttrMap - lb bc, 2, 2 - ld a, $3 ; pink page palette - call FillBoxCGB - - hlcoord 15, 5, AttrMap - lb bc, 2, 2 - ld a, $4 ; green page palette - call FillBoxCGB - - hlcoord 17, 5, AttrMap - lb bc, 2, 2 - ld a, $5 ; blue page palette - call FillBoxCGB - - call ApplyAttrMap - call ApplyPals - ld a, $1 - ld [hCGBPalUpdate], a - ret -; 8f52 - -StatsScreenPagePals: ; 8f52 -; pink - RGB 31, 31, 31 - RGB 31, 19, 31 - RGB 31, 15, 31 - RGB 00, 00, 00 -; green - RGB 31, 31, 31 - RGB 21, 31, 14 - RGB 17, 31, 00 - RGB 00, 00, 00 -; blue - RGB 31, 31, 31 - RGB 17, 31, 31 - RGB 17, 31, 31 - RGB 00, 00, 00 -; 8f6a - -StatsScreenPals: ; 8f6a -; pink - RGB 31, 19, 31 -; green - RGB 21, 31, 14 -; blue - RGB 17, 31, 31 -; 8f70 - -_CGB_Pokedex: ; 8f70 - ld de, UnknBGPals - ld a, $1d - call GetPredefPal - call LoadHLPaletteIntoDE ; dex interface palette - ld a, [CurPartySpecies] - cp $ff - jr nz, .is_pokemon - ld hl, .PokedexQuestionMarkPalette - call LoadHLPaletteIntoDE ; green question mark palette - jr .got_palette - -.is_pokemon - call GetMonPalettePointer_ - call LoadPalette_White_Col1_Col2_Black ; mon palette -.got_palette - call WipeAttrMap - hlcoord 1, 1, AttrMap - lb bc, 7, 7 - ld a, $1 ; green question mark palette - call FillBoxCGB - call InitPartyMenuOBPals - ld hl, .PokedexCursorPalette - ld de, UnknOBPals palette 7 ; green cursor palette - ld bc, 1 palettes - ld a, $5 - call FarCopyWRAM - call ApplyAttrMap - call ApplyPals - ld a, $1 - ld [hCGBPalUpdate], a - ret -; 8fba - -.PokedexQuestionMarkPalette: ; 8fba - RGB 11, 23, 00 - RGB 07, 17, 00 - RGB 06, 16, 03 - RGB 05, 12, 01 - -.PokedexCursorPalette: ; 8fc2 - RGB 00, 00, 00 - RGB 11, 23, 00 - RGB 07, 17, 00 - RGB 00, 00, 00 -; 8fca - -_CGB_BillsPC: ; 8fca - ld de, UnknBGPals - ld a, $1d - call GetPredefPal - call LoadHLPaletteIntoDE - ld a, [CurPartySpecies] - cp $ff - jr nz, .GetMonPalette - ld hl, .BillsPCOrangePalette - call LoadHLPaletteIntoDE - jr .Resume - -.GetMonPalette: - ld bc, TempMonDVs - call GetPlayerOrMonPalettePointer - call LoadPalette_White_Col1_Col2_Black -.Resume: - call WipeAttrMap - hlcoord 1, 4, AttrMap - lb bc, 7, 7 - ld a, $1 - call FillBoxCGB - call InitPartyMenuOBPals - call ApplyAttrMap - call ApplyPals - ld a, $1 - ld [hCGBPalUpdate], a - ret -; 9009 - -.Function9009: ; 9009 - ld hl, .BillsPCOrangePalette - call LoadHLPaletteIntoDE - jr .asm_901a - -.unused - ld bc, TempMonDVs - call GetPlayerOrMonPalettePointer - call LoadPalette_White_Col1_Col2_Black -.asm_901a - call WipeAttrMap - hlcoord 1, 1, AttrMap - lb bc, 7, 7 - ld a, $1 - call FillBoxCGB - call InitPartyMenuOBPals - call ApplyAttrMap - call ApplyPals - ld a, $1 - ld [hCGBPalUpdate], a - ret -; 9036 - -.BillsPCOrangePalette: ; 9036 - RGB 31, 15, 00 - RGB 23, 12, 00 - RGB 15, 07, 00 - RGB 00, 00, 00 -; 903e - -_CGB_PokedexUnownMode: ; 903e - ld de, UnknBGPals - ld a, $1d - call GetPredefPal - call LoadHLPaletteIntoDE - ld a, [CurPartySpecies] - call GetMonPalettePointer_ - call LoadPalette_White_Col1_Col2_Black - call WipeAttrMap - hlcoord 7, 5, AttrMap - lb bc, 7, 7 - ld a, $1 - call FillBoxCGB - call InitPartyMenuOBPals - call ApplyAttrMap - call ApplyPals - ld a, $1 - ld [hCGBPalUpdate], a - ret -; 906e - -_CGB_SlotMachine: ; 906e - ld hl, SlotMachinePals - ld de, UnknBGPals - ld bc, 16 palettes - ld a, $5 - call FarCopyWRAM - call WipeAttrMap - hlcoord 0, 2, AttrMap - lb bc, 10, 3 - ld a, $2 - call FillBoxCGB - hlcoord 17, 2, AttrMap - lb bc, 10, 3 - ld a, $2 - call FillBoxCGB - hlcoord 0, 4, AttrMap - lb bc, 6, 3 - ld a, $3 - call FillBoxCGB - hlcoord 17, 4, AttrMap - lb bc, 6, 3 - ld a, $3 - call FillBoxCGB - hlcoord 0, 6, AttrMap - lb bc, 2, 3 - ld a, $4 - call FillBoxCGB - hlcoord 17, 6, AttrMap - lb bc, 2, 3 - ld a, $4 - call FillBoxCGB - hlcoord 4, 2, AttrMap - lb bc, 2, 12 - ld a, $1 - call FillBoxCGB - hlcoord 3, 2, AttrMap - lb bc, 10, 1 - ld a, $1 - call FillBoxCGB - hlcoord 16, 2, AttrMap - lb bc, 10, 1 - ld a, $1 - call FillBoxCGB - hlcoord 0, 12, AttrMap - ld bc, $78 - ld a, $7 - call ByteFill - call ApplyAttrMap - call ApplyPals - ld a, $1 - ld [hCGBPalUpdate], a - ret -; 90f8 - -_CGB06: ; 90f8 - ld hl, PalPacket_9ca6 + 1 - call CopyFourPalettes - call WipeAttrMap - ld de, UnknOBPals - ld a, $3c - call GetPredefPal - call LoadHLPaletteIntoDE - hlcoord 0, 6, AttrMap - lb bc, 12, SCREEN_WIDTH - ld a, $1 - call FillBoxCGB - call ApplyAttrMap - call ApplyPals - ld a, $1 - ld [hCGBPalUpdate], a - ret -; 9122 - -_CGB07: ; 9122 - ld b, 0 - ld hl, .Jumptable - add hl, bc - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - jp hl -; 912d - -.Jumptable: ; 912d - dw .Function9133 - dw .Function9166 - dw .Function9180 -; 9133 - -.Function9133: ; 9133 - ld hl, .Palette_914e - ld de, UnknBGPals - call LoadHLPaletteIntoDE - ld hl, .Palette_9156 - ld de, UnknOBPals - ld bc, 2 palettes - ld a, $5 - call FarCopyWRAM - call WipeAttrMap - ret -; 914e - -.Palette_914e: ; 914e - RGB 19, 31, 19 - RGB 18, 23, 31 - RGB 11, 21, 28 - RGB 04, 16, 24 - -.Palette_9156: ; 9156 - RGB 29, 29, 29 - RGB 20, 19, 20 - RGB 19, 06, 04 - RGB 03, 04, 06 - - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 00, 00 - RGB 03, 04, 06 -; 9166 - -.Function9166: ; 9166 - ld de, UnknBGPals - ld a, $38 - call GetPredefPal - call LoadHLPaletteIntoDE - - ld de, UnknOBPals - ld a, $39 - call GetPredefPal - call LoadHLPaletteIntoDE - call WipeAttrMap - ret -; 9180 - -.Function9180: ; 9180 - ld hl, PalPacket_9c36 + 1 - call CopyFourPalettes - ld de, UnknOBPals - ld a, $3a - call GetPredefPal - call LoadHLPaletteIntoDE - call WipeAttrMap - ret -; 9195 - -_CGB11: ; 9195 - ld hl, Palettes_b789 - ld de, UnknBGPals - ld bc, 5 palettes - ld a, $5 - call FarCopyWRAM - call ApplyPals - call WipeAttrMap - call ApplyAttrMap - ret -; 91ad - -_CGB_Diploma: ; 91ad - ld hl, DiplomaPalettes - ld de, UnknBGPals - ld bc, 16 palettes - ld a, $5 - call FarCopyWRAM - - ld hl, PalPacket_9cb6 + 1 - call CopyFourPalettes - call WipeAttrMap - call ApplyAttrMap - ret -; 91c8 - -_CGB_MapPals: ; 91c8 - call LoadMapPals - ld a, SCGB_MAPPALS - ld [SGBPredef], a - ret -; 91d1 - -_CGB_PartyMenu: ; 91d1 - ld hl, PalPacket_9c56 + 1 - call CopyFourPalettes - call InitPartyMenuBGPal0 - call InitPartyMenuBGPal7 - call InitPartyMenuOBPals - call ApplyAttrMap - ret -; 91e4 - -_CGB_Evolution: ; 91e4 - ld de, UnknBGPals - ld a, c - and a - jr z, .pokemon - ld a, $1a - call GetPredefPal - call LoadHLPaletteIntoDE - jr .got_palette - -.pokemon - ld hl, PartyMon1DVs - ld bc, PARTYMON_STRUCT_LENGTH - ld a, [CurPartyMon] - call AddNTimes - ld c, l - ld b, h - ld a, [PlayerHPPal] - call GetPlayerOrMonPalettePointer - call LoadPalette_White_Col1_Col2_Black - ld hl, Palettes_979c - ld de, UnknOBPals palette 2 - ld bc, 6 palettes - ld a, $5 - call FarCopyWRAM - -.got_palette - call WipeAttrMap - call ApplyAttrMap - call ApplyPals - ld a, $1 - ld [hCGBPalUpdate], a - ret -; 9228 - -_CGB0c: ; 9228 - ld hl, Palettes_b6f1 - ld de, UnknBGPals - ld bc, 5 palettes - ld a, $5 - call FarCopyWRAM - ld hl, Palettes_b719 - ld de, UnknOBPals - ld bc, 2 palettes - ld a, $5 - call FarCopyWRAM - ld a, SCGB_DIPLOMA - ld [SGBPredef], a - call ApplyPals - ld a, $1 - ld [hCGBPalUpdate], a - ret -; 9251 - -_CGB0d: ; 9251 - ld hl, PalPacket_9cb6 + 1 - call CopyFourPalettes - call WipeAttrMap - call ApplyAttrMap - ret -; 925e - -_CGB_UnownPuzzle: ; 925e - ld hl, PalPacket_9bc6 + 1 - call CopyFourPalettes - ld de, UnknOBPals - ld a, $4c - call GetPredefPal - call LoadHLPaletteIntoDE - ld a, [rSVBK] - push af - ld a, $5 - ld [rSVBK], a - ld hl, UnknOBPals - ld a, $1f - ld [hli], a - ld a, $0 - ld [hl], a - pop af - ld [rSVBK], a - call WipeAttrMap - call ApplyAttrMap - ret -; 9289 - -_CGB_TrainerCard: ; 9289 - ld de, UnknBGPals - xor a ; CHRIS - call GetTrainerPalettePointer - call LoadPalette_White_Col1_Col2_Black - ld a, FALKNER ; KRIS - call GetTrainerPalettePointer - call LoadPalette_White_Col1_Col2_Black - ld a, BUGSY - call GetTrainerPalettePointer - call LoadPalette_White_Col1_Col2_Black - ld a, WHITNEY - call GetTrainerPalettePointer - call LoadPalette_White_Col1_Col2_Black - ld a, MORTY - call GetTrainerPalettePointer - call LoadPalette_White_Col1_Col2_Black - ld a, CHUCK - call GetTrainerPalettePointer - call LoadPalette_White_Col1_Col2_Black - ld a, JASMINE - call GetTrainerPalettePointer - call LoadPalette_White_Col1_Col2_Black - ld a, PRYCE - call GetTrainerPalettePointer - call LoadPalette_White_Col1_Col2_Black - ld a, $24 - call GetPredefPal - call LoadHLPaletteIntoDE - - ; fill screen with opposite-gender palette for the card border - hlcoord 0, 0, AttrMap - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT - ld a, [PlayerGender] - and a - ld a, $1 ; kris - jr z, .got_gender - ld a, $0 ; chris -.got_gender - call ByteFill - ; fill trainer sprite area with same-gender palette - hlcoord 14, 1, AttrMap - lb bc, 7, 5 - ld a, [PlayerGender] - and a - ld a, $0 ; chris - jr z, .got_gender2 - ld a, $1 ; kris -.got_gender2 - call FillBoxCGB - ; top-right corner still uses the border's palette - hlcoord 18, 1, AttrMap - ld [hl], $1 - hlcoord 2, 11, AttrMap - lb bc, 2, 4 - ld a, $1 ; falkner - call FillBoxCGB - hlcoord 6, 11, AttrMap - lb bc, 2, 4 - ld a, $2 ; bugsy - call FillBoxCGB - hlcoord 10, 11, AttrMap - lb bc, 2, 4 - ld a, $3 ; whitney - call FillBoxCGB - hlcoord 14, 11, AttrMap - lb bc, 2, 4 - ld a, $4 ; morty - call FillBoxCGB - hlcoord 2, 14, AttrMap - lb bc, 2, 4 - ld a, $5 ; chuck - call FillBoxCGB - hlcoord 6, 14, AttrMap - lb bc, 2, 4 - ld a, $6 ; jasmine - call FillBoxCGB - hlcoord 10, 14, AttrMap - lb bc, 2, 4 - ld a, $7 ; pryce - call FillBoxCGB - ; clair uses kris's palette - ld a, [PlayerGender] - and a - push af - jr z, .got_gender3 - hlcoord 14, 14, AttrMap - lb bc, 2, 4 - ld a, $1 - call FillBoxCGB -.got_gender3 - pop af - ld c, $0 - jr nz, .got_gender4 - inc c -.got_gender4 - ld a, c - hlcoord 18, 1, AttrMap - ld [hl], a - call ApplyAttrMap - call ApplyPals - ld a, $1 - ld [hCGBPalUpdate], a - ret -; 9373 - -_CGB_MoveList: ; 9373 - ld de, UnknBGPals - ld a, $10 - call GetPredefPal - call LoadHLPaletteIntoDE - ld a, [PlayerHPPal] - ld l, a - ld h, 0 - add hl, hl - add hl, hl - ld bc, Palettes_a8be - add hl, bc - call LoadPalette_White_Col1_Col2_Black - call WipeAttrMap - hlcoord 11, 1, AttrMap - lb bc, 2, 9 - ld a, $1 - call FillBoxCGB - call ApplyAttrMap - call ApplyPals - ld a, $1 - ld [hCGBPalUpdate], a - ret -; 93a6 - -_CGB0f: ; 93a6 - ld hl, PalPacket_9c46 + 1 - call CopyFourPalettes - call WipeAttrMap - call ApplyAttrMap - call ApplyPals - ld a, $1 - ld [hCGBPalUpdate], a - ret -; 93ba - -_CGB_PokedexSearchOption: ; 93ba - ld de, UnknBGPals - ld a, $1d - call GetPredefPal - call LoadHLPaletteIntoDE - call WipeAttrMap - call ApplyAttrMap - call ApplyPals - ld a, $1 - ld [hCGBPalUpdate], a - ret -; 93d3 - -_CGB_PackPals: ; 93d3 -; pack pals - ld a, [BattleType] - cp BATTLETYPE_TUTORIAL - jr z, .tutorial_male - - ld a, [PlayerGender] - bit 0, a - jr z, .tutorial_male - - ld hl, .KrisPackPals - jr .got_gender - -.tutorial_male - ld hl, .ChrisPackPals - -.got_gender - ld de, UnknBGPals - ld bc, 8 palettes ; 6 palettes? - ld a, $5 - call FarCopyWRAM - call WipeAttrMap - hlcoord 0, 0, AttrMap - lb bc, 1, 10 - ld a, $1 - call FillBoxCGB - hlcoord 10, 0, AttrMap - lb bc, 1, 10 - ld a, $2 - call FillBoxCGB - hlcoord 7, 2, AttrMap - lb bc, 9, 1 - ld a, $3 - call FillBoxCGB - hlcoord 0, 7, AttrMap - lb bc, 3, 5 - ld a, $4 - call FillBoxCGB - hlcoord 0, 3, AttrMap - lb bc, 3, 5 - ld a, $5 - call FillBoxCGB - call ApplyAttrMap - call ApplyPals - ld a, $1 - ld [hCGBPalUpdate], a - ret -; 9439 - -.ChrisPackPals: ; 9439 - RGB 31, 31, 31 - RGB 15, 15, 31 - RGB 00, 00, 31 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 15, 15, 31 - RGB 00, 00, 31 - RGB 00, 00, 00 - - RGB 31, 11, 31 - RGB 15, 15, 31 - RGB 00, 00, 31 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 15, 15, 31 - RGB 00, 00, 31 - RGB 31, 00, 00 - - RGB 31, 31, 31 - RGB 15, 15, 31 - RGB 31, 00, 00 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 07, 19, 07 - RGB 07, 19, 07 - RGB 00, 00, 00 -; 9469 - -.KrisPackPals: ; 9469 - RGB 31, 31, 31 - RGB 31, 14, 31 - RGB 31, 07, 31 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 31, 14, 31 - RGB 31, 07, 31 - RGB 00, 00, 00 - - RGB 15, 15, 31 - RGB 31, 14, 31 - RGB 31, 07, 31 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 31, 14, 31 - RGB 31, 07, 31 - RGB 31, 00, 00 - - RGB 31, 31, 31 - RGB 31, 14, 31 - RGB 31, 00, 00 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 07, 19, 07 - RGB 07, 19, 07 - RGB 00, 00, 00 -; 9499 - -_CGB_Pokepic: ; 9499 - call _CGB_MapPals - ld de, SCREEN_WIDTH - hlcoord 0, 0, AttrMap - ld a, [wMenuBorderTopCoord] -.loop - and a - jr z, .found_top - dec a - add hl, de - jr .loop - -.found_top - ld a, [wMenuBorderLeftCoord] - ld e, a - ld d, $0 - add hl, de - ld a, [wMenuBorderTopCoord] - ld b, a - ld a, [wMenuBorderBottomCoord] - inc a - sub b - ld b, a - ld a, [wMenuBorderLeftCoord] - ld c, a - ld a, [wMenuBorderRightCoord] - sub c - inc a - ld c, a - ld a, $0 - call FillBoxCGB - call ApplyAttrMap - ret -; 94d0 - -_CGB13: ; 94d0 - ld hl, PalPacket_9ba6 + 1 - call CopyFourPalettes - call WipeAttrMap - hlcoord 0, 4, AttrMap - lb bc, 10, SCREEN_WIDTH - ld a, $2 - call FillBoxCGB - hlcoord 0, 6, AttrMap - lb bc, 6, SCREEN_WIDTH - ld a, $1 - call FillBoxCGB - call ApplyAttrMap - call ApplyPals - ld a, $1 - ld [hCGBPalUpdate], a - ret -; 94fa - -_CGB_GamefreakLogo: ; 94fa - ld de, UnknBGPals - ld a, $4e - call GetPredefPal - call LoadHLPaletteIntoDE - ld hl, .Palette - ld de, UnknOBPals - call LoadHLPaletteIntoDE - ld hl, .Palette - ld de, UnknOBPals palette 1 - call LoadHLPaletteIntoDE - call WipeAttrMap - call ApplyAttrMap - call ApplyPals - ret -; 9521 - -.Palette: ; 9521 - RGB 31, 31, 31 - RGB 13, 11, 00 - RGB 23, 12, 28 - RGB 00, 00, 00 -; 9529 - -_CGB_PlayerOrMonFrontpicPals: ; 9529 - ld de, UnknBGPals - ld a, [CurPartySpecies] - ld bc, TempMonDVs - call GetPlayerOrMonPalettePointer - call LoadPalette_White_Col1_Col2_Black - call WipeAttrMap - call ApplyAttrMap - call ApplyPals - ret -; 9542 - -_CGB1e: ; 9542 - ld de, UnknBGPals - ld a, [CurPartySpecies] - call GetMonPalettePointer_ - call LoadPalette_White_Col1_Col2_Black - call WipeAttrMap - call ApplyAttrMap - ret -; 9555 - -_CGB_TradeTube: ; 9555 - ld hl, PalPacket_9cc6 + 1 - call CopyFourPalettes - ld hl, Palettes_b681 - ld de, UnknOBPals - ld bc, 1 palettes - ld a, $5 - call FarCopyWRAM - ld de, UnknOBPals palette 7 - ld a, $1c - call GetPredefPal - call LoadHLPaletteIntoDE - call WipeAttrMap - ret -; 9578 - -_CGB_TrainerOrMonFrontpicPals: ; 9578 - ld de, UnknBGPals - ld a, [CurPartySpecies] - ld bc, TempMonDVs - call GetFrontpicPalettePointer - call LoadPalette_White_Col1_Col2_Black - call WipeAttrMap - call ApplyAttrMap - call ApplyPals - ret -; 9591 - -_CGB_MysteryGift: ; 9591 - ld hl, .Palettes - ld de, UnknBGPals - ld bc, 2 palettes - ld a, $5 - call FarCopyWRAM - call ApplyPals - call WipeAttrMap - hlcoord 3, 7, AttrMap - lb bc, 8, 14 - ld a, $1 - call FillBoxCGB - hlcoord 1, 5, AttrMap - lb bc, 1, 18 - ld a, $1 - call FillBoxCGB - hlcoord 1, 16, AttrMap - lb bc, 1, 18 - ld a, $1 - call FillBoxCGB - hlcoord 0, 0, AttrMap - lb bc, 17, 2 - ld a, $1 - call FillBoxCGB - hlcoord 18, 5, AttrMap - lb bc, 12, 1 - ld a, $1 - call FillBoxCGB - call ApplyAttrMap - ret -; 95e0 - -.Palettes: ; 95e0 - RGB 31, 31, 31 - RGB 16, 31, 14 - RGB 05, 14, 21 - RGB 05, 13, 10 - - RGB 31, 31, 31 - RGB 11, 21, 25 - RGB 05, 14, 21 - RGB 00, 03, 19 -; 95f0 diff --git a/predef/crystal.asm b/predef/crystal.asm deleted file mode 100755 index 9aa0fbdf2..000000000 --- a/predef/crystal.asm +++ /dev/null @@ -1,614 +0,0 @@ -GetMysteryGift_MobileAdapterLayout: ; 4930f (mobile) - ld a, b - cp SCGB_RAM - jr nz, .not_ram - ld a, [SGBPredef] -.not_ram - push af - callba ResetBGPals - pop af - ld l, a - ld h, 0 - add hl, hl - ld de, .dw - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - ld de, .done - push de - jp hl -.done - ret -; 49330 (12:5330) - -.dw ; 49330 - - dw MG_Mobile_Layout00 - dw MG_Mobile_Layout01 - dw MG_Mobile_Layout02 -; 49336 - -MG_Mobile_Layout_FillBox: ; 49336 -.row - push bc - push hl -.col - ld [hli], a - dec c - jr nz, .col - pop hl - ld bc, SCREEN_WIDTH - add hl, bc - pop bc - dec b - jr nz, .row - ret -; 49346 - -MG_Mobile_Layout_WipeAttrMap: ; 49346 (12:5346) - hlcoord 0, 0, AttrMap - ld bc, SCREEN_HEIGHT * SCREEN_WIDTH - xor a - call ByteFill - ret - -MG_Mobile_Layout_LoadPals: ; 49351 (12:5351) - ld de, UnknBGPals - ld hl, Palette_493e1 - ld bc, 5 palettes - ld a, $5 ; BANK(UnknBGPals) - call FarCopyWRAM - ld de, UnknBGPals + 7 palettes - ld hl, Palette_TextBG7 - ld bc, 1 palettes - ld a, $5 ; BANK(UnknBGPals) - call FarCopyWRAM - ret - -MG_Mobile_Layout00: ; 4936e (12:536e) - call MG_Mobile_Layout_LoadPals - call MG_Mobile_Layout_WipeAttrMap - call MG_Mobile_Layout_CreatePalBoxes - callba ApplyAttrMap - callba ApplyPals - ret - -MG_Mobile_Layout_CreatePalBoxes: ; 49384 (12:5384) - hlcoord 0, 0, AttrMap - lb bc, 4, 1 - ld a, $1 - call MG_Mobile_Layout_FillBox - lb bc, 2, 1 - ld a, $2 - call MG_Mobile_Layout_FillBox - lb bc, 6, 1 - ld a, $3 - call MG_Mobile_Layout_FillBox - hlcoord 1, 0, AttrMap - ld a, $1 - lb bc, 3, 18 - call MG_Mobile_Layout_FillBox - lb bc, 2, 18 - ld a, $2 - call MG_Mobile_Layout_FillBox - lb bc, 12, 18 - ld a, $3 - call MG_Mobile_Layout_FillBox - hlcoord 19, 0, AttrMap - lb bc, 4, 1 - ld a, $1 - call MG_Mobile_Layout_FillBox - lb bc, 2, 1 - ld a, $2 - call MG_Mobile_Layout_FillBox - lb bc, 6, 1 - ld a, $3 - call MG_Mobile_Layout_FillBox - hlcoord 0, 12, AttrMap - ld bc, 6 * SCREEN_WIDTH - ld a, $7 - call ByteFill - ret -; 493e1 (12:53e1) - -Palette_493e1: ; 493e1 - RGB 03, 07, 09 - RGB 26, 31, 00 - RGB 20, 16, 03 - RGB 31, 31, 31 - - RGB 13, 24, 29 - RGB 11, 16, 30 - RGB 07, 11, 22 - RGB 05, 06, 18 - - RGB 31, 31, 31 - RGB 20, 26, 31 - RGB 13, 24, 29 - RGB 11, 16, 30 - - RGB 31, 31, 31 - RGB 20, 26, 31 - RGB 00, 00, 00 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 20, 16, 08 - RGB 31, 00, 00 - RGB 00, 00, 00 -; 49409 - -LoadOW_BGPal7:: ; 49409 - ld hl, Palette_TextBG7 - ld de, UnknBGPals + 8 * 7 - ld bc, 8 - ld a, $5 - call FarCopyWRAM - ret -; 49418 - -Palette_TextBG7: ; 49418 - RGB 31, 31, 31 - RGB 08, 19, 28 - RGB 05, 05, 16 - RGB 00, 00, 00 -; 49420 - -Function49420:: ; 49420 (12:5420) - ld hl, MansionPalette4 - ld de, UnknBGPals + $30 - ld bc, $8 - ld a, $5 ; BANK(UnknBGPals) - call FarCopyWRAM - ret -; 4942f (12:542f) - -MG_Mobile_Layout01: ; 4942f - call MG_Mobile_Layout_LoadPals - ld de, UnknBGPals + $38 - ld hl, Palette_49478 - ld bc, $8 - ld a, $5 ; BANK(UnknBGPals) - call FarCopyWRAM - call MG_Mobile_Layout_WipeAttrMap - hlcoord 0, 0, AttrMap - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT - xor a - call ByteFill - hlcoord 0, 14, AttrMap - ld bc, 4 * SCREEN_WIDTH - ld a, $7 - call ByteFill - ld a, [wd002] - bit 6, a - jr z, .asm_49464 - call Function49480 - jr .asm_49467 - -.asm_49464 - call Function49496 - -.asm_49467 - callba ApplyAttrMap - callba ApplyPals - ld a, $1 - ld [hCGBPalUpdate], a - ret -; 49478 - -Palette_49478: ; 49478 - RGB 31, 31, 31 - RGB 26, 31, 00 - RGB 20, 16, 03 - RGB 00, 00, 00 -; 49480 - -Function49480: ; 49480 - hlcoord 0, 0, AttrMap - lb bc, 4, SCREEN_WIDTH - ld a, $7 - call MG_Mobile_Layout_FillBox - hlcoord 0, 2, AttrMap - ld a, $4 - ld [hl], a - hlcoord 19, 2, AttrMap - ld [hl], a - ret -; 49496 - -Function49496: ; 49496 - hlcoord 0, 0, AttrMap - lb bc, 2, SCREEN_WIDTH - ld a, $7 - call MG_Mobile_Layout_FillBox - hlcoord 0, 1, AttrMap - ld a, $4 - ld [hl], a - hlcoord 19, 1, AttrMap - ld [hl], a - ret -; 494ac - -LoadSpecialMapPalette: ; 494ac - ld a, [wTileset] - cp TILESET_POKECOM_CENTER - jr z, .pokecom_2f - cp TILESET_BATTLE_TOWER - jr z, .battle_tower - cp TILESET_ICE_PATH - jr z, .ice_path - cp TILESET_HOUSE_1 - jr z, .house - cp TILESET_RADIO_TOWER - jr z, .radio_tower - cp TILESET_CELADON_MANSION - jr z, .mansion_mobile - jr .do_nothing - -.pokecom_2f - call LoadPokeComPalette - scf - ret - -.battle_tower - call LoadBattleTowerPalette - scf - ret - -.ice_path - ld a, [wPermission] ; permission - and 7 - cp 3 ; Hall of Fame - jr z, .do_nothing - call LoadIcePathPalette - scf - ret - -.house - call LoadHousePalette - scf - ret - -.radio_tower - call LoadRadioTowerPalette - scf - ret - -.mansion_mobile - call LoadMansionPalette - scf - ret - -.do_nothing - and a - ret -; 494f2 - -LoadPokeComPalette: ; 494f2 - ld a, $5 - ld de, UnknBGPals - ld hl, PokeComPalette - ld bc, 8 palettes - call FarCopyWRAM - ret -; 49501 - -PokeComPalette: ; 49501 -INCLUDE "tilesets/pokecom.pal" -; 49541 - -LoadBattleTowerPalette: ; 49541 - ld a, $5 - ld de, UnknBGPals - ld hl, BattleTowerPalette - ld bc, 8 palettes - call FarCopyWRAM - ret -; 49550 - -BattleTowerPalette: ; 49550 -INCLUDE "tilesets/battle_tower.pal" -; 49590 - -LoadIcePathPalette: ; 49590 - ld a, $5 - ld de, UnknBGPals - ld hl, IcePathPalette - ld bc, 8 palettes - call FarCopyWRAM - ret -; 4959f - -IcePathPalette: ; 4959f -INCLUDE "tilesets/ice_path.pal" -; 495df - -LoadHousePalette: ; 495df - ld a, $5 - ld de, UnknBGPals - ld hl, HousePalette - ld bc, 8 palettes - call FarCopyWRAM - ret -; 495ee - -HousePalette: ; 495ee -INCLUDE "tilesets/house.pal" -; 4962e - -LoadRadioTowerPalette: ; 4962e - ld a, $5 - ld de, UnknBGPals - ld hl, RadioTowerPalette - ld bc, 8 palettes - call FarCopyWRAM - ret -; 4963d - -RadioTowerPalette: ; 4963d -INCLUDE "tilesets/radio_tower.pal" -; 4967d - -MansionPalette1: ; 4967d - RGB 30, 28, 26 - RGB 19, 19, 19 - RGB 13, 13, 13 - RGB 07, 07, 07 - - RGB 30, 28, 26 - RGB 31, 19, 24 - RGB 30, 10, 06 - RGB 07, 07, 07 - - RGB 18, 24, 09 - RGB 15, 20, 01 - RGB 09, 13, 00 - RGB 07, 07, 07 - - RGB 30, 28, 26 - RGB 15, 16, 31 - RGB 09, 09, 31 - RGB 07, 07, 07 - - RGB 30, 28, 26 - RGB 31, 31, 07 - RGB 31, 16, 01 - RGB 07, 07, 07 - - RGB 26, 24, 17 - RGB 21, 17, 07 - RGB 16, 13, 03 - RGB 07, 07, 07 - -MansionPalette3: ; 496ad - RGB 30, 28, 26 - RGB 17, 19, 31 - RGB 14, 16, 31 - RGB 07, 07, 07 - - RGB 31, 31, 16 - RGB 31, 31, 16 - RGB 14, 09, 00 - RGB 00, 00, 00 -; 496bd - -MansionPalette4: ; 496bd - RGB 05, 05, 16 - RGB 08, 19, 28 - RGB 00, 00, 00 - RGB 31, 31, 31 -; 496c5 - -LoadMansionPalette: ; 496c5 - ld a, $5 - ld de, UnknBGPals - ld hl, MansionPalette1 - ld bc, 8 palettes - call FarCopyWRAM - ld a, $5 - ld de, UnknBGPals + 4 palettes - ld hl, MansionPalette2 - ld bc, 1 palettes - call FarCopyWRAM - ld a, $5 - ld de, UnknBGPals + 3 palettes - ld hl, MansionPalette3 - ld bc, 1 palettes - call FarCopyWRAM - ld a, $5 - ld de, UnknBGPals + 6 palettes - ld hl, MansionPalette4 - ld bc, 1 palettes - call FarCopyWRAM - ret -; 496fe - -MansionPalette2: ; 496fe - RGB 25, 24, 23 - RGB 20, 19, 19 - RGB 14, 16, 31 - RGB 07, 07, 07 -; 49706 - -MG_Mobile_Layout02: ; 49706 - ld hl, Palette_49732 - ld de, UnknBGPals - ld bc, 1 palettes - ld a, $5 - call FarCopyWRAM - callba ApplyPals - call MG_Mobile_Layout_WipeAttrMap - callba ApplyAttrMap - ld hl, Palette_4973a - ld de, UnknOBPals - ld bc, 1 palettes - ld a, $5 - call FarCopyWRAM - ret -; 49732 - -Palette_49732: ; 49732 - RGB 31, 31, 31 - RGB 23, 16, 07 - RGB 23, 07, 07 - RGB 03, 07, 20 -; 4973a - -Palette_4973a: ; 4973a - RGB 00, 00, 00 - RGB 07, 05, 31 - RGB 14, 18, 31 - RGB 31, 31, 31 -; 49742 - -Function49742: ; 49742 - ld hl, Palette_49757 - ld de, UnknBGPals - ld bc, $40 - ld a, $5 - call FarCopyWRAM - callba ApplyPals - ret -; 49757 - -Palette_49757: ; 49757 - RGB 31, 31, 63 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - - RGB 31, 31, 63 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - - RGB 04, 02, 15 - RGB 21, 00, 21 - RGB 31, 00, 00 - RGB 31, 31, 31 - - RGB 04, 02, 15 - RGB 21, 00, 21 - RGB 30, 16, 26 - RGB 31, 31, 31 - - RGB 04, 02, 15 - RGB 21, 00, 21 - RGB 16, 16, 16 - RGB 31, 31, 31 - - RGB 04, 02, 15 - RGB 21, 00, 21 - RGB 31, 12, 12 - RGB 31, 31, 31 - - RGB 04, 02, 15 - RGB 21, 00, 21 - RGB 07, 08, 31 - RGB 31, 31, 31 - - RGB 04, 02, 15 - RGB 21, 00, 21 - RGB 29, 28, 09 - RGB 31, 31, 31 -; 49797 - -_InitMG_Mobile_LinkTradePalMap: ; 49797 - hlcoord 0, 0, AttrMap - lb bc, 16, 2 - ld a, $4 - call MG_Mobile_Layout_FillBox - ld a, $3 - ldcoord_a 0, 1, AttrMap - ldcoord_a 0, 14, AttrMap - hlcoord 2, 0, AttrMap - lb bc, 8, 18 - ld a, $5 - call MG_Mobile_Layout_FillBox - hlcoord 2, 8, AttrMap - lb bc, 8, 18 - ld a, $6 - call MG_Mobile_Layout_FillBox - hlcoord 0, 16, AttrMap - lb bc, 2, SCREEN_WIDTH - ld a, $4 - call MG_Mobile_Layout_FillBox - ld a, $3 - lb bc, 6, 1 - hlcoord 6, 1, AttrMap - call MG_Mobile_Layout_FillBox - ld a, $3 - lb bc, 6, 1 - hlcoord 17, 1, AttrMap - call MG_Mobile_Layout_FillBox - ld a, $3 - lb bc, 6, 1 - hlcoord 6, 9, AttrMap - call MG_Mobile_Layout_FillBox - ld a, $3 - lb bc, 6, 1 - hlcoord 17, 9, AttrMap - call MG_Mobile_Layout_FillBox - ld a, $2 - hlcoord 2, 16, AttrMap - ld [hli], a - ld a, $7 - ld [hli], a - ld [hli], a - ld [hli], a - ld a, $2 - ld [hl], a - hlcoord 2, 17, AttrMap - ld a, $3 - ld bc, 6 - call ByteFill - ret -; 49811 - -LoadTradeRoomBGPals: ; 49811 - ld hl, Palette_49826 - ld de, UnknBGPals + $10 - ld bc, $30 - ld a, $5 - call FarCopyWRAM - callba ApplyPals - ret -; 49826 - -Palette_49826: ; 49826 - RGB 04, 02, 15 - RGB 07, 09, 31 - RGB 31, 00, 00 - RGB 31, 31, 31 - - RGB 04, 02, 15 - RGB 07, 09, 31 - RGB 15, 23, 30 - RGB 31, 31, 31 - - RGB 04, 02, 15 - RGB 07, 09, 31 - RGB 16, 16, 16 - RGB 31, 31, 31 - - RGB 04, 02, 15 - RGB 07, 09, 31 - RGB 25, 07, 04 - RGB 31, 31, 31 - - RGB 04, 02, 15 - RGB 07, 09, 31 - RGB 03, 22, 08 - RGB 31, 31, 31 - - RGB 04, 02, 15 - RGB 07, 09, 31 - RGB 29, 28, 09 - RGB 31, 31, 31 -; 49856 - -InitMG_Mobile_LinkTradePalMap: ; 49856 - call _InitMG_Mobile_LinkTradePalMap - ret -; 4985a diff --git a/predef/sgb.asm b/predef/sgb.asm deleted file mode 100644 index dc174e86f..000000000 --- a/predef/sgb.asm +++ /dev/null @@ -1,636 +0,0 @@ -Predef_LoadSGBLayout: ; 864c -; LoadSGBLayout - call CheckCGB - jp nz, Predef_LoadSGBLayoutCGB - - ld a, b - cp SCGB_RAM - jr nz, .not_ram - ld a, [SGBPredef] -.not_ram - cp SCGB_PARTY_MENU_HP_PALS - jp z, SGB_ApplyPartyMenuHPPals - ld l, a - ld h, 0 - add hl, hl - ld de, .Jumptable - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - ld de, .Finish - push de - jp hl -; 866f - -.Jumptable: ; 866f - dw .SGB_BattleGrayscale - dw .SGB_BattleColors - dw .SGB_PokegearPals - dw .SGB_StatsScreenHPPals - dw .SGB_Pokedex - dw .SGB_SlotMachine - dw .SGB06 - dw .SGB07 - dw .SGB_Diploma - dw .SGB_MapPals - dw .SGB_PartyMenu - dw .SGB_Evolution - dw .SGB0c - dw .SGB0d - dw .SGB_MoveList - dw .SGB0f - dw .SGB_PokedexSearchOption - dw .SGB11 - dw .SGB12 - dw .SGB13 - dw .SGB_PackPals - dw .SGB_TrainerCard - dw .SGB_PokedexUnownMode - dw .SGB_BillsPC - dw .SGB_UnownPuzzle - dw .SGB19 - dw .SGB_PlayerOrMonFrontpicPals - dw .SGB_TradeTube - dw .SGB_TrainerOrMonFrontpicPals - dw .SGB_MysteryGift - dw .SGB1e -; 86ad - -.SGB_BattleGrayscale: ; 86ad - ld hl, PalPacket_9c66 - ld de, BlkPacket_9aa6 - ret -; 86b4 - -.SGB_BattleColors: ; 86b4 - ld hl, BlkPacket_9aa6 - call PushSGBPals_ - - ld hl, PalPacket_9ce6 - ld de, wSGBPals - ld bc, $10 - call CopyBytes - - ld a, [PlayerHPPal] - ld l, a - ld h, 0 - add hl, hl - add hl, hl - ld de, Palettes_a8be - add hl, de - - ld a, [hli] - ld [wSGBPals + 3], a - ld a, [hli] - ld [wSGBPals + 4], a - ld a, [hli] - ld [wSGBPals + 5], a - ld a, [hl] - ld [wSGBPals + 6], a - - ld a, [EnemyHPPal] - ld l, a - ld h, 0 - add hl, hl - add hl, hl - - ld de, Palettes_a8be - add hl, de - ld a, [hli] - ld [wSGBPals + 9], a - ld a, [hli] - ld [wSGBPals + 10], a - ld a, [hli] - ld [wSGBPals + 11], a - ld a, [hl] - ld [wSGBPals + 12], a - - ld hl, PalPacket_9cf6 - ld de, wSGBPals + $10 - ld bc, $10 - call CopyBytes - - call GetBattlemonBackpicPalettePointer - - ld a, [hli] - ld [wSGBPals + $13], a - ld a, [hli] - ld [wSGBPals + $14], a - ld a, [hli] - ld [wSGBPals + $15], a - ld a, [hl] - ld [wSGBPals + $16], a - call GetEnemyFrontpicPalettePointer - ld a, [hli] - ld [wSGBPals + $19], a - ld a, [hli] - ld [wSGBPals + $1a], a - ld a, [hli] - ld [wSGBPals + $1b], a - ld a, [hl] - ld [wSGBPals + $1c], a - - ld hl, wSGBPals - ld de, wSGBPals + $10 - ld a, SCGB_BATTLE_COLORS - ld [SGBPredef], a - ret -; 873c - -.SGB_MoveList: ; 873c - ld hl, PalPacket_9bd6 - ld de, wSGBPals - ld bc, $10 - call CopyBytes - - ld hl, wSGBPals + 1 - ld [hl], $10 - inc hl - inc hl - - ld a, [PlayerHPPal] - add $2f - ld [hl], a - ld hl, wSGBPals - ld de, BlkPacket_9ad6 - ret -; 875c - -.SGB_PokegearPals: ; 875c - ld hl, PalPacket_9c76 - ld de, BlkPacket_9a86 - ret -; 8763 - -.SGB_StatsScreenHPPals: ; 8763 - ld hl, PalPacket_9ce6 - ld de, wSGBPals - ld bc, $10 - call CopyBytes - ld a, [wCurHPPal] - ld l, a - ld h, 0 - add hl, hl - add hl, hl - ld de, Palettes_a8be - add hl, de - ld a, [hli] - ld [wSGBPals + 3], a - ld a, [hli] - ld [wSGBPals + 4], a - ld a, [hli] - ld [wSGBPals + 5], a - ld a, [hl] - ld [wSGBPals + 6], a - ld a, [CurPartySpecies] - ld bc, TempMonDVs - call GetPlayerOrMonPalettePointer - ld a, [hli] - ld [wSGBPals + 9], a - ld a, [hli] - ld [wSGBPals + 10], a - ld a, [hli] - ld [wSGBPals + 11], a - ld a, [hl] - ld [wSGBPals + 12], a - ld hl, wSGBPals - ld de, BlkPacket_9ac6 - ret -; 87ab - -.SGB_PartyMenu: ; 87ab - ld hl, PalPacket_9c56 - ld de, wSGBPals + 1 - ret -; 87b2 - -.SGB_Pokedex: ; 87b2 - ld hl, PalPacket_9ce6 - ld de, wSGBPals - ld bc, $10 - call CopyBytes - ld hl, wSGBPals + 3 - ld [hl], $9f - inc hl - ld [hl], $2a - inc hl - ld [hl], $5a - inc hl - ld [hl], $19 - ld a, [CurPartySpecies] - call GetMonPalettePointer_ - ld a, [hli] - ld [wSGBPals + 9], a - ld a, [hli] - ld [wSGBPals + 10], a - ld a, [hli] - ld [wSGBPals + 11], a - ld a, [hl] - ld [wSGBPals + 12], a - ld hl, wSGBPals - ld de, BlkPacket_9ae6 - ret -; 87e9 - -.SGB_BillsPC: ; 87e9 - ld hl, PalPacket_9ce6 - ld de, wSGBPals - ld bc, $10 - call CopyBytes - ld hl, wSGBPals + 3 - ld [hl], $9f - inc hl - ld [hl], $2a - inc hl - ld [hl], $5a - inc hl - ld [hl], $19 - ld a, [CurPartySpecies] - ld bc, TempMonDVs - call GetPlayerOrMonPalettePointer - ld a, [hli] - ld [wSGBPals + 9], a - ld a, [hli] - ld [wSGBPals + 10], a - ld a, [hli] - ld [wSGBPals + 11], a - ld a, [hl] - ld [wSGBPals + 12], a - ld hl, wSGBPals - ld de, BlkPacket_9ae6 - ret -; 8823 - -.SGB_PokedexUnownMode: ; 8823 - call .SGB_Pokedex - ld de, BlkPacket_9af6 - ret -; 882a - -.SGB_PokedexSearchOption: ; 882a - ld hl, PalPacket_9ce6 - ld de, wSGBPals - ld bc, $10 - call CopyBytes - ld hl, wSGBPals + 3 - ld [hl], $9f - inc hl - ld [hl], $2a - inc hl - ld [hl], $5a - inc hl - ld [hl], $19 - ld hl, wSGBPals - ld de, BlkPacket_9a86 - ret -; 884b - -.SGB_PackPals: ; 884b - ld hl, PalPacket_9c36 - ld de, BlkPacket_9a86 - ret -; 8852 - -.SGB_SlotMachine: ; 8852 - ld hl, PalPacket_9c96 - ld de, BlkPacket_9b06 - ret -; 8859 - -.SGB06: ; 8859 - ld hl, PalPacket_9ca6 - ld de, BlkPacket_9b76 - ret -; 8860 - -.SGB_Diploma: -.SGB_MysteryGift: ; 8860 - ld hl, PalPacket_9cb6 - ld de, BlkPacket_9a86 - ret -; 8867 - -.SGB07: ; 8867 - ld b, 0 - ld hl, .BlkPacketTable_SGB07 -rept 4 - add hl, bc -endr - ld e, [hl] - inc hl - ld d, [hl] - inc hl - ld a, [hli] - ld h, [hl] - ld l, a - ret -; 8878 - -.BlkPacketTable_SGB07: ; 8878 - dw BlkPacket_9a86, PalPacket_9be6 - dw BlkPacket_9a96, PalPacket_9c06 - dw BlkPacket_9a86, PalPacket_9c16 -; 8884 - -.SGB0c: ; 8884 - ld hl, PalPacket_9b96 - ld de, BlkPacket_9b56 - ld a, SCGB_DIPLOMA - ld [SGBPredef], a - ret -; 8890 - -.SGB13: ; 8890 - ld hl, PalPacket_9ba6 - ld de, BlkPacket_9b86 - ret -; 8897 - -.SGB0f: ; 8897 - ld hl, PalPacket_9c46 - ld de, BlkPacket_9a86 - ret -; 889e - -.SGB11: ; 889e - ld hl, BlkPacket_9a86 - ld de, PlayerLightScreenCount - ld bc, $10 - call CopyBytes - ld hl, PalPacket_9bb6 - ld de, BlkPacket_9a86 - ret -; 88b1 - -.SGB_MapPals: ; 88b1 - ld hl, PalPacket_9bd6 - ld de, wSGBPals - ld bc, $10 - call CopyBytes - call .GetMapPalsIndex - ld hl, wSGBPals + 1 - ld [hld], a - ld de, BlkPacket_9a86 - ld a, SCGB_MAPPALS - ld [SGBPredef], a - ret -; 88cd - -.SGB_Evolution: ; 88cd - push bc - ld hl, PalPacket_9ce6 - ld de, wSGBPals - ld bc, $10 - call CopyBytes - pop bc - ld a, c - and a - jr z, .partymon - ; Egg - ld hl, wSGBPals + 3 - ; RGB 7, 7, 7 - ld [hl], $e7 - inc hl - ld [hl], $1c - inc hl - ; RGB 2, 3, 3 - ld [hl], $62 - inc hl - ld [hl], $c - jr .done - -.partymon - ld hl, PartyMon1DVs - ld bc, PARTYMON_STRUCT_LENGTH - ld a, [CurPartyMon] - call AddNTimes - ld c, l - ld b, h - ld a, [PlayerHPPal] - call GetPlayerOrMonPalettePointer - ld a, [hli] - ld [wSGBPals + 3], a - ld a, [hli] - ld [wSGBPals + 4], a - ld a, [hli] - ld [wSGBPals + 5], a - ld a, [hl] - ld [wSGBPals + 6], a - -.done - ld hl, wSGBPals - ld de, BlkPacket_9a86 - ret -; 891a - -.SGB0d: -.SGB_TrainerCard: ; 891a - ld hl, PalPacket_9cb6 - ld de, BlkPacket_9a86 - ret -; 8921 - -.SGB_UnownPuzzle: ; 8921 - ld hl, PalPacket_9bc6 - ld de, BlkPacket_9a86 - ret -; 8928 - -.SGB12: ; 8928 - ld hl, PalPacket_9bd6 - ld de, wSGBPals - ld bc, $10 - call CopyBytes - ld hl, BlkPacket_9a86 - ld de, wSGBPals + $10 - ld bc, $10 - call CopyBytes - call .GetMapPalsIndex - ld hl, wSGBPals + 1 - ld [hl], a - ld hl, wSGBPals + 3 - ld [hl], $2e - ld hl, wSGBPals + $13 - ld a, 5 - ld [hli], a - ld a, [wMenuBorderLeftCoord] - ld [hli], a - ld a, [wMenuBorderTopCoord] - ld [hli], a - ld a, [wMenuBorderRightCoord] - ld [hli], a - ld a, [wMenuBorderBottomCoord] - ld [hl], a - ld hl, wSGBPals - ld de, wSGBPals + $10 - ret -; 8969 - -.SGB1e: ; 8969 - ld hl, PalPacket_9ce6 - ld de, wSGBPals - ld bc, $10 - call CopyBytes - ld a, [CurPartySpecies] - ld l, a - ld h, 0 - add hl, hl - add hl, hl - add hl, hl - ld de, PokemonPalettes - add hl, de - ld a, [wcf65] - and 3 - sla a - sla a - ld c, a - ld b, 0 - add hl, bc - ld a, [hli] - ld [wSGBPals + 3], a - ld a, [hli] - ld [wSGBPals + 4], a - ld a, [hli] - ld [wSGBPals + 5], a - ld a, [hl] - ld [wSGBPals + 6], a - ld hl, wSGBPals - ld de, BlkPacket_9a86 - ret -; 89a6 - -.SGB19: ; 89a6 - ld hl, PalPacket_9cd6 - ld de, BlkPacket_9a86 - ret -; 89ad - -.SGB_PlayerOrMonFrontpicPals: ; 89ad - ld hl, PalPacket_9ce6 - ld de, wSGBPals - ld bc, $10 - call CopyBytes - ld a, [CurPartySpecies] - ld bc, TempMonDVs - call GetPlayerOrMonPalettePointer - ld a, [hli] - ld [wSGBPals + 3], a - ld a, [hli] - ld [wSGBPals + 4], a - ld a, [hli] - ld [wSGBPals + 5], a - ld a, [hl] - ld [wSGBPals + 6], a - ld hl, wSGBPals - ld de, BlkPacket_9a86 - ret -; 89d9 - -.SGB_TradeTube: ; 89d9 - ld hl, PalPacket_9cc6 - ld de, BlkPacket_9a86 - ret -; 89e0 - -.SGB_TrainerOrMonFrontpicPals: ; 89e0 - ld hl, PalPacket_9ce6 - ld de, wSGBPals - ld bc, $10 - call CopyBytes - ld a, [CurPartySpecies] - ld bc, TempMonDVs - call GetFrontpicPalettePointer - ld a, [hli] - ld [wSGBPals + 3], a - ld a, [hli] - ld [wSGBPals + 4], a - ld a, [hli] - ld [wSGBPals + 5], a - ld a, [hl] - ld [wSGBPals + 6], a - ld hl, wSGBPals - ld de, BlkPacket_9a86 - ret -; 8a0c - -.GetMapPalsIndex: ; 8a0c - ld a, [TimeOfDayPal] - cp NITE_F - jr c, .morn_day - ld a, $19 - ret - -.morn_day - ld a, [wPermission] - cp ROUTE - jr z, .route - cp CAVE - jr z, .cave - cp DUNGEON - jr z, .cave - cp PERM_5 - jr z, .perm5 - cp GATE - jr z, .gate - ld a, [MapGroup] - ld e, a - ld d, 0 - ld hl, .SGBRoofPalInds - add hl, de - ld a, [hl] - ret - -.route - ld a, $00 - ret - -.cave - ld a, $18 - ret - -.perm5 - ld a, $06 - ret - -.gate - ld a, $03 - ret -; 8a45 - -.SGBRoofPalInds: ; 8a45 - db $00 ; Unused - db $12 ; Olivine - db $14 ; Mahogany - db $18 ; Various Dungeons - db $11 ; Ecruteak - db $15 ; Blackthorn - db $09 ; Cinnabar - db $04 ; Cerulean - db $0f ; Azalea - db $16 ; Lake Of Rage - db $0e ; Violet - db $10 ; Goldenrod - db $06 ; Vermilion - db $01 ; Palette - db $03 ; Pewter - db $06 ; Fast Ship - db $0b ; Indigo Plateau - db $08 ; Fuchsia - db $05 ; Lavender - db $17 ; Silver Cave Outside - db $08 ; Pokemon Center 2F - db $07 ; Celadon - db $13 ; Cianwood - db $02 ; Viridian - db $0c ; New Bark - db $0a ; Saffron - db $0d ; Cherrygrove -; 8a60 - -.Finish: ; 8a60 - push de - call PushSGBPals_ - pop hl - jp PushSGBPals_ -; 8a68 diff --git a/tilesets/bg.pal b/tilesets/bg.pal deleted file mode 100644 index 3cd14d142..000000000 --- a/tilesets/bg.pal +++ /dev/null @@ -1,227 +0,0 @@ -; morn - -; gray - RGB 28, 31, 16 - RGB 21, 21, 21 - RGB 13, 13, 13 - RGB 07, 07, 07 -; red - RGB 28, 31, 16 - RGB 31, 19, 24 - RGB 30, 10, 06 - RGB 07, 07, 07 -; green - RGB 22, 31, 10 - RGB 12, 25, 01 - RGB 05, 14, 00 - RGB 07, 07, 07 -; water - RGB 31, 31, 31 - RGB 08, 12, 31 - RGB 01, 04, 31 - RGB 07, 07, 07 -; yellow - RGB 28, 31, 16 - RGB 31, 31, 07 - RGB 31, 16, 01 - RGB 07, 07, 07 -; brown - RGB 28, 31, 16 - RGB 24, 18, 07 - RGB 20, 15, 03 - RGB 07, 07, 07 -; roof - RGB 28, 31, 16 - RGB 15, 31, 31 - RGB 05, 17, 31 - RGB 07, 07, 07 -; text - RGB 31, 31, 16 - RGB 31, 31, 16 - RGB 14, 09, 00 - RGB 00, 00, 00 - -; day - -; gray - RGB 27, 31, 27 - RGB 21, 21, 21 - RGB 13, 13, 13 - RGB 07, 07, 07 -; red - RGB 27, 31, 27 - RGB 31, 19, 24 - RGB 30, 10, 06 - RGB 07, 07, 07 -; green - RGB 22, 31, 10 - RGB 12, 25, 01 - RGB 05, 14, 00 - RGB 07, 07, 07 -; water - RGB 31, 31, 31 - RGB 08, 12, 31 - RGB 01, 04, 31 - RGB 07, 07, 07 -; yellow - RGB 27, 31, 27 - RGB 31, 31, 07 - RGB 31, 16, 01 - RGB 07, 07, 07 -; brown - RGB 27, 31, 27 - RGB 24, 18, 07 - RGB 20, 15, 03 - RGB 07, 07, 07 -; roof - RGB 27, 31, 27 - RGB 15, 31, 31 - RGB 05, 17, 31 - RGB 07, 07, 07 -; text - RGB 31, 31, 16 - RGB 31, 31, 16 - RGB 14, 09, 00 - RGB 00, 00, 00 - -; nite - -; gray - RGB 15, 14, 24 - RGB 11, 11, 19 - RGB 07, 07, 12 - RGB 00, 00, 00 -; red - RGB 15, 14, 24 - RGB 14, 07, 17 - RGB 13, 00, 08 - RGB 00, 00, 00 -; green - RGB 15, 14, 24 - RGB 08, 13, 19 - RGB 00, 11, 13 - RGB 00, 00, 00 -; water - RGB 15, 14, 24 - RGB 05, 05, 17 - RGB 03, 03, 10 - RGB 00, 00, 00 -; yellow - RGB 30, 30, 11 - RGB 16, 14, 18 - RGB 16, 14, 10 - RGB 00, 00, 00 -; brown - RGB 15, 14, 24 - RGB 12, 09, 15 - RGB 08, 04, 05 - RGB 00, 00, 00 -; roof - RGB 15, 14, 24 - RGB 13, 12, 23 - RGB 11, 09, 20 - RGB 00, 00, 00 -; text - RGB 31, 31, 16 - RGB 31, 31, 16 - RGB 14, 09, 00 - RGB 00, 00, 00 - -; dark - -; gray - RGB 01, 01, 02 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 -; red - RGB 01, 01, 02 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 -; green - RGB 01, 01, 02 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 -; water - RGB 01, 01, 02 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 -; yellow - RGB 30, 30, 11 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 -; brown - RGB 01, 01, 02 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 -; roof - RGB 01, 01, 02 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 -; text - RGB 31, 31, 16 - RGB 31, 31, 16 - RGB 14, 09, 00 - RGB 00, 00, 00 - -; indoor - -; gray - RGB 30, 28, 26 - RGB 19, 19, 19 - RGB 13, 13, 13 - RGB 07, 07, 07 -; red - RGB 30, 28, 26 - RGB 31, 19, 24 - RGB 30, 10, 06 - RGB 07, 07, 07 -; green - RGB 18, 24, 09 - RGB 15, 20, 01 - RGB 09, 13, 00 - RGB 07, 07, 07 -; water - RGB 30, 28, 26 - RGB 15, 16, 31 - RGB 09, 09, 31 - RGB 07, 07, 07 -; yellow - RGB 30, 28, 26 - RGB 31, 31, 07 - RGB 31, 16, 01 - RGB 07, 07, 07 -; brown - RGB 26, 24, 17 - RGB 21, 17, 07 - RGB 16, 13, 03 - RGB 07, 07, 07 -; roof - RGB 30, 28, 26 - RGB 17, 19, 31 - RGB 14, 16, 31 - RGB 07, 07, 07 -; text - RGB 31, 31, 16 - RGB 31, 31, 16 - RGB 14, 09, 00 - RGB 00, 00, 00 - -; overworld water - -; morn/day - RGB 23, 23, 31 - RGB 18, 19, 31 - RGB 13, 12, 31 - RGB 07, 07, 07 -; nite - RGB 15, 13, 27 - RGB 10, 09, 20 - RGB 04, 03, 18 - RGB 00, 00, 00 diff --git a/tilesets/house.pal b/tilesets/house.pal deleted file mode 100644 index a9f8b74b6..000000000 --- a/tilesets/house.pal +++ /dev/null @@ -1,40 +0,0 @@ -; gray - RGB 30, 28, 26 - RGB 19, 19, 19 - RGB 13, 13, 13 - RGB 07, 07, 07 -; red - RGB 30, 28, 26 - RGB 31, 19, 24 - RGB 30, 10, 06 - RGB 07, 07, 07 -; green - RGB 30, 28, 26 - RGB 15, 20, 01 - RGB 09, 13, 00 - RGB 07, 07, 07 -; water (blue) - RGB 30, 28, 26 - RGB 15, 16, 31 - RGB 09, 09, 31 - RGB 07, 07, 07 -; yellow - RGB 30, 28, 26 - RGB 31, 31, 07 - RGB 31, 16, 01 - RGB 07, 07, 07 -; brown - RGB 26, 24, 17 - RGB 21, 17, 07 - RGB 16, 13, 03 - RGB 07, 07, 07 -; roof (glass) - RGB 30, 28, 26 - RGB 31, 19, 24 - RGB 16, 13, 03 - RGB 07, 07, 07 -; text - RGB 31, 31, 16 - RGB 31, 31, 16 - RGB 14, 09, 00 - RGB 00, 00, 00 diff --git a/tilesets/house_1.pal b/tilesets/house_1.pal new file mode 100644 index 000000000..a9f8b74b6 --- /dev/null +++ b/tilesets/house_1.pal @@ -0,0 +1,40 @@ +; gray + RGB 30, 28, 26 + RGB 19, 19, 19 + RGB 13, 13, 13 + RGB 07, 07, 07 +; red + RGB 30, 28, 26 + RGB 31, 19, 24 + RGB 30, 10, 06 + RGB 07, 07, 07 +; green + RGB 30, 28, 26 + RGB 15, 20, 01 + RGB 09, 13, 00 + RGB 07, 07, 07 +; water (blue) + RGB 30, 28, 26 + RGB 15, 16, 31 + RGB 09, 09, 31 + RGB 07, 07, 07 +; yellow + RGB 30, 28, 26 + RGB 31, 31, 07 + RGB 31, 16, 01 + RGB 07, 07, 07 +; brown + RGB 26, 24, 17 + RGB 21, 17, 07 + RGB 16, 13, 03 + RGB 07, 07, 07 +; roof (glass) + RGB 30, 28, 26 + RGB 31, 19, 24 + RGB 16, 13, 03 + RGB 07, 07, 07 +; text + RGB 31, 31, 16 + RGB 31, 31, 16 + RGB 14, 09, 00 + RGB 00, 00, 00 diff --git a/tilesets/ob.pal b/tilesets/ob.pal deleted file mode 100644 index a6e20d7f0..000000000 --- a/tilesets/ob.pal +++ /dev/null @@ -1,39 +0,0 @@ - ; morn - RGB 28,31,16, 31,19,10, 31,07,01, 00,00,00 ; red - RGB 28,31,16, 31,19,10, 10,09,31, 00,00,00 ; blue - RGB 28,31,16, 31,19,10, 07,23,03, 00,00,00 ; green - RGB 28,31,16, 31,19,10, 15,10,03, 00,00,00 ; brown - RGB 28,31,16, 31,19,10, 30,10,06, 00,00,00 ; pink - RGB 31,31,31, 31,31,31, 13,13,13, 00,00,00 ; silver - RGB 22,31,10, 12,25,01, 05,14,00, 07,07,07 ; tree - RGB 28,31,16, 24,18,07, 20,15,03, 07,07,07 ; rock - - ; day - RGB 27,31,27, 31,19,10, 31,07,01, 00,00,00 ; red - RGB 27,31,27, 31,19,10, 10,09,31, 00,00,00 ; blue - RGB 27,31,27, 31,19,10, 07,23,03, 00,00,00 ; green - RGB 27,31,27, 31,19,10, 15,10,03, 00,00,00 ; brown - RGB 27,31,27, 31,19,10, 30,10,06, 00,00,00 ; pink - RGB 31,31,31, 31,31,31, 13,13,13, 00,00,00 ; silver - RGB 22,31,10, 12,25,01, 05,14,00, 07,07,07 ; tree - RGB 27,31,27, 24,18,07, 20,15,03, 07,07,07 ; rock - - ; nite - RGB 15,14,24, 31,19,10, 31,07,01, 00,00,00 ; red - RGB 15,14,24, 31,19,10, 10,09,31, 00,00,00 ; blue - RGB 15,14,24, 31,19,10, 07,23,03, 00,00,00 ; green - RGB 15,14,24, 31,19,10, 15,10,03, 00,00,00 ; brown - RGB 15,14,24, 31,19,10, 30,10,06, 00,00,00 ; pink - RGB 31,31,31, 31,31,31, 13,13,13, 00,00,00 ; silver - RGB 15,14,24, 08,13,19, 00,11,13, 00,00,00 ; tree - RGB 15,14,24, 12,09,15, 08,04,05, 00,00,00 ; rock - - ; dark - RGB 01,01,02, 31,19,10, 31,07,01, 00,00,00 ; red - RGB 01,01,02, 31,19,10, 10,09,31, 00,00,00 ; blue - RGB 01,01,02, 31,19,10, 07,23,03, 00,00,00 ; green - RGB 01,01,02, 31,19,10, 15,10,03, 00,00,00 ; brown - RGB 01,01,02, 31,19,10, 30,10,06, 00,00,00 ; pink - RGB 31,31,31, 31,31,31, 13,13,13, 00,00,00 ; silver - RGB 01,01,02, 00,00,00, 00,00,00, 00,00,00 ; tree - RGB 01,01,02, 00,00,00, 00,00,00, 00,00,00 ; rock diff --git a/tilesets/pokecom.pal b/tilesets/pokecom.pal deleted file mode 100644 index 9fe7b765a..000000000 --- a/tilesets/pokecom.pal +++ /dev/null @@ -1,40 +0,0 @@ -; gray - RGB 30, 28, 26 - RGB 19, 19, 19 - RGB 13, 13, 13 - RGB 07, 07, 07 -; red - RGB 30, 28, 26 - RGB 31, 19, 24 - RGB 30, 10, 06 - RGB 07, 07, 07 -; green - RGB 18, 24, 09 - RGB 15, 20, 01 - RGB 09, 13, 00 - RGB 07, 07, 07 -; water (blue) - RGB 30, 28, 26 - RGB 17, 19, 31 - RGB 14, 16, 31 - RGB 07, 07, 07 -; yellow - RGB 31, 26, 21 - RGB 31, 20, 01 - RGB 14, 16, 31 - RGB 07, 07, 07 -; brown - RGB 21, 17, 07 - RGB 17, 19, 31 - RGB 16, 13, 03 - RGB 07, 07, 07 -; roof - RGB 05, 05, 16 - RGB 08, 19, 28 - RGB 00, 00, 00 - RGB 31, 31, 31 -; text - RGB 31, 31, 16 - RGB 31, 31, 16 - RGB 14, 09, 00 - RGB 00, 00, 00 diff --git a/tilesets/pokecom_center.pal b/tilesets/pokecom_center.pal new file mode 100644 index 000000000..9fe7b765a --- /dev/null +++ b/tilesets/pokecom_center.pal @@ -0,0 +1,40 @@ +; gray + RGB 30, 28, 26 + RGB 19, 19, 19 + RGB 13, 13, 13 + RGB 07, 07, 07 +; red + RGB 30, 28, 26 + RGB 31, 19, 24 + RGB 30, 10, 06 + RGB 07, 07, 07 +; green + RGB 18, 24, 09 + RGB 15, 20, 01 + RGB 09, 13, 00 + RGB 07, 07, 07 +; water (blue) + RGB 30, 28, 26 + RGB 17, 19, 31 + RGB 14, 16, 31 + RGB 07, 07, 07 +; yellow + RGB 31, 26, 21 + RGB 31, 20, 01 + RGB 14, 16, 31 + RGB 07, 07, 07 +; brown + RGB 21, 17, 07 + RGB 17, 19, 31 + RGB 16, 13, 03 + RGB 07, 07, 07 +; roof + RGB 05, 05, 16 + RGB 08, 19, 28 + RGB 00, 00, 00 + RGB 31, 31, 31 +; text + RGB 31, 31, 16 + RGB 31, 31, 16 + RGB 14, 09, 00 + RGB 00, 00, 00 diff --git a/tilesets/roof.pal b/tilesets/roof.pal deleted file mode 100644 index ba65fc7d2..000000000 --- a/tilesets/roof.pal +++ /dev/null @@ -1,161 +0,0 @@ -; group 0 (unused) - RGB 21, 21, 21 - RGB 11, 11, 11 - RGB 21, 21, 21 - RGB 11, 11, 11 - -; group 1 (Olivine) - RGB 14, 17, 31 - RGB 07, 11, 15 - RGB 09, 09, 17 - RGB 05, 07, 13 - -; group 2 (Mahogany) - RGB 12, 19, 00 - RGB 06, 10, 00 - RGB 06, 09, 07 - RGB 04, 05, 06 - -; group 3 - RGB 21, 21, 21 - RGB 11, 11, 11 - RGB 21, 21, 21 - RGB 17, 08, 07 - -; group 4 (Ecruteak) - RGB 31, 19, 00 - RGB 27, 10, 05 - RGB 15, 07, 02 - RGB 11, 04, 02 - -; group 5 (Blackthorn) - RGB 11, 10, 16 - RGB 05, 06, 07 - RGB 03, 04, 08 - RGB 00, 00, 00 - -; group 6 (Cinnabar) - RGB 31, 10, 00 - RGB 18, 06, 00 - RGB 18, 05, 09 - RGB 17, 08, 07 - -; group 7 (Cerulean) - RGB 17, 27, 31 - RGB 05, 15, 31 - RGB 07, 08, 22 - RGB 07, 07, 16 - -; group 8 (Azalea) - RGB 22, 20, 10 - RGB 17, 14, 03 - RGB 11, 11, 05 - RGB 10, 09, 07 - -; group 9 (Lake of Rage) - RGB 31, 08, 04 - RGB 09, 09, 08 - RGB 18, 05, 09 - RGB 09, 09, 08 - -; group 10 (Violet) - RGB 24, 14, 31 - RGB 13, 07, 21 - RGB 12, 03, 18 - RGB 09, 03, 15 - -; group 11 (Goldenrod) - RGB 25, 25, 00 - RGB 20, 17, 08 - RGB 12, 12, 00 - RGB 10, 09, 05 - -; group 12 (Vermilion) - RGB 27, 23, 01 - RGB 23, 11, 00 - RGB 15, 11, 01 - RGB 11, 10, 01 - -; group 13 (Pallet) - RGB 27, 28, 31 - RGB 17, 19, 22 - RGB 14, 14, 18 - RGB 10, 09, 13 - -; group 14 (Pewter) - RGB 19, 19, 16 - RGB 10, 12, 15 - RGB 09, 09, 11 - RGB 04, 05, 07 - -; group 15 (Mount Moon Square) - RGB 14, 17, 31 - RGB 07, 11, 15 - RGB 09, 13, 19 - RGB 07, 07, 16 - -; group 16 (Route 23) - RGB 21, 21, 21 - RGB 13, 13, 13 - RGB 11, 11, 19 - RGB 07, 07, 12 - -; group 17 (Fuchsia) - RGB 31, 18, 29 - RGB 17, 13, 20 - RGB 14, 06, 12 - RGB 11, 03, 10 - -; group 18 (Lavender) - RGB 23, 15, 31 - RGB 16, 05, 31 - RGB 12, 07, 17 - RGB 08, 06, 10 - -; group 19 (Route 28) - RGB 21, 21, 25 - RGB 16, 16, 16 - RGB 13, 13, 13 - RGB 07, 07, 07 - -; group 20 - RGB 21, 21, 21 - RGB 11, 11, 11 - RGB 21, 21, 21 - RGB 11, 11, 11 - -; group 21 (Celadon) - RGB 19, 31, 15 - RGB 31, 22, 02 - RGB 12, 13, 09 - RGB 09, 12, 03 - -; group 22 (Cianwood) - RGB 15, 10, 31 - RGB 07, 05, 15 - RGB 06, 05, 17 - RGB 02, 02, 08 - -; group 23 (Viridian) - RGB 21, 31, 07 - RGB 13, 25, 04 - RGB 09, 14, 08 - RGB 06, 10, 04 - -; group 24 (New Bark) - RGB 20, 31, 14 - RGB 11, 23, 05 - RGB 09, 13, 08 - RGB 06, 09, 04 - -; group 25 (Saffron) - RGB 31, 26, 00 - RGB 31, 15, 00 - RGB 13, 13, 01 - RGB 08, 08, 01 - -; group 26 (Cherrygrove) - RGB 31, 14, 28 - RGB 31, 05, 21 - RGB 14, 07, 17 - RGB 13, 00, 08 -- cgit v1.2.3 From 253c09949b421ec09a688af2945eb3df1fc00777 Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Fri, 15 Dec 2017 12:38:59 -0500 Subject: Move data/audio/ back into audio/ Keep trainer data together --- audio/engine.asm | 4 +- audio/notes.asm | 27 ++++++++++++++ audio/wave_samples.asm | 14 +++++++ constants/audio_constants.asm | 2 +- constants/trainer_constants.asm | 1 + data/audio/notes.asm | 27 -------------- data/audio/wave_samples.asm | 14 ------- data/trainers/trainer_class_names.asm | 69 +++++++++++++++++++++++++++++++++++ main.asm | 3 +- text/trainer_class_names.asm | 67 ---------------------------------- 10 files changed, 115 insertions(+), 113 deletions(-) create mode 100644 audio/notes.asm create mode 100644 audio/wave_samples.asm delete mode 100644 data/audio/notes.asm delete mode 100644 data/audio/wave_samples.asm create mode 100755 data/trainers/trainer_class_names.asm delete mode 100755 text/trainer_class_names.asm diff --git a/audio/engine.asm b/audio/engine.asm index 4fd618940..da90e19ec 100644 --- a/audio/engine.asm +++ b/audio/engine.asm @@ -2882,9 +2882,9 @@ LoadMusicByte:: ; e8d76 ; e8d80 -INCLUDE "data/audio/notes.asm" +INCLUDE "audio/notes.asm" -INCLUDE "data/audio/wave_samples.asm" +INCLUDE "audio/wave_samples.asm" INCLUDE "audio/drumkits.asm" diff --git a/audio/notes.asm b/audio/notes.asm new file mode 100644 index 000000000..543672a4a --- /dev/null +++ b/audio/notes.asm @@ -0,0 +1,27 @@ +FrequencyTable: ; e8d80 + dw 0 ; __ + dw $f82c ; C_ + dw $f89d ; C# + dw $f907 ; D_ + dw $f96b ; D# + dw $f9ca ; E_ + dw $fa23 ; F_ + dw $fa77 ; F# + dw $fac7 ; G_ + dw $fb12 ; G# + dw $fb58 ; A_ + dw $fb9b ; A# + dw $fbda ; B_ + dw $fc16 ; C_ + dw $fc4e ; C# + dw $fc83 ; D_ + dw $fcb5 ; D# + dw $fce5 ; E_ + dw $fd11 ; F_ + dw $fd3b ; F# + dw $fd63 ; G_ + dw $fd89 ; G# + dw $fdac ; A_ + dw $fdcd ; A# + dw $fded ; B_ +; e8db2 diff --git a/audio/wave_samples.asm b/audio/wave_samples.asm new file mode 100644 index 000000000..8c5bafa75 --- /dev/null +++ b/audio/wave_samples.asm @@ -0,0 +1,14 @@ +WaveSamples: ; e8db2 + ; these are streams of 32 4-bit values used as wavepatterns + ; nothing interesting here! + dn 0, 2, 4, 6, 8, 10, 12, 14, 15, 15, 15, 14, 14, 13, 13, 12, 12, 11, 10, 9, 8, 7, 6, 5, 4, 4, 3, 3, 2, 2, 1, 1 + dn 0, 2, 4, 6, 8, 10, 12, 14, 14, 15, 15, 15, 15, 14, 14, 14, 13, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 2, 1, 1 + dn 1, 3, 6, 9, 11, 13, 14, 14, 14, 14, 15, 15, 15, 15, 14, 13, 13, 14, 15, 15, 15, 15, 14, 14, 14, 14, 13, 11, 9, 6, 3, 1 + dn 0, 2, 4, 6, 8, 10, 12, 13, 14, 15, 15, 14, 13, 14, 15, 15, 14, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 + dn 0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 13, 14, 14, 15, 7, 7, 15, 14, 14, 13, 12, 10, 8, 7, 6, 5, 4, 3, 2, 1, 0 + dn 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 3, 3, 2, 2, 1, 1, 15, 15, 14, 14, 12, 12, 10, 10, 8, 8, 10, 10, 12, 12, 14, 14 + dn 0, 2, 4, 6, 8, 10, 12, 14, 12, 11, 10, 9, 8, 7, 6, 5, 15, 15, 15, 14, 14, 13, 13, 12, 4, 4, 3, 3, 2, 2, 1, 1 + dn 12, 0, 10, 9, 8, 7, 15, 5, 15, 15, 15, 14, 14, 13, 13, 12, 4, 4, 3, 3, 2, 2, 15, 1, 0, 2, 4, 6, 8, 10, 12, 14 + dn 4, 4, 3, 3, 2, 2, 1, 15, 0, 0, 4, 6, 8, 10, 12, 14, 15, 8, 15, 14, 14, 13, 13, 12, 12, 11, 10, 9, 8, 7, 6, 5 + dn 1, 1, 0, 0, 0, 0, 0, 8, 0, 0, 1, 3, 5, 7, 9, 10, 11, 4, 11, 10, 10, 9, 9, 8, 8, 7, 6, 5, 4, 3, 2, 1 +; e8e52 diff --git a/constants/audio_constants.asm b/constants/audio_constants.asm index dd39df20f..e2c62c389 100755 --- a/constants/audio_constants.asm +++ b/constants/audio_constants.asm @@ -1,5 +1,5 @@ ; pitch -; FrequencyTable indexes (see data/audio/notes.asm) +; FrequencyTable indexes (see audio/notes.asm) const_def const __ ; 0 const C_ ; 1 diff --git a/constants/trainer_constants.asm b/constants/trainer_constants.asm index d6e543611..f2fb72714 100644 --- a/constants/trainer_constants.asm +++ b/constants/trainer_constants.asm @@ -7,6 +7,7 @@ ENDM ; `trainerclass` indexes are for: ; - TrainerClassAttributes (see data/trainers/trainer_attributes.asm) ; - TrainerClassDVs (see data/trainers/trainer_dvs.asm) +; - TrainerClassNames (see data/trainers/trainer_class_names.asm) ; - TrainerEncounterMusic (see data/trainers/encounter_music.asm) ; - TrainerGroups (see data/trainers/party_pointers.asm) ; - BTTrainerClassGenders (see data/trainers/gendered_trainers.asm) diff --git a/data/audio/notes.asm b/data/audio/notes.asm deleted file mode 100644 index 543672a4a..000000000 --- a/data/audio/notes.asm +++ /dev/null @@ -1,27 +0,0 @@ -FrequencyTable: ; e8d80 - dw 0 ; __ - dw $f82c ; C_ - dw $f89d ; C# - dw $f907 ; D_ - dw $f96b ; D# - dw $f9ca ; E_ - dw $fa23 ; F_ - dw $fa77 ; F# - dw $fac7 ; G_ - dw $fb12 ; G# - dw $fb58 ; A_ - dw $fb9b ; A# - dw $fbda ; B_ - dw $fc16 ; C_ - dw $fc4e ; C# - dw $fc83 ; D_ - dw $fcb5 ; D# - dw $fce5 ; E_ - dw $fd11 ; F_ - dw $fd3b ; F# - dw $fd63 ; G_ - dw $fd89 ; G# - dw $fdac ; A_ - dw $fdcd ; A# - dw $fded ; B_ -; e8db2 diff --git a/data/audio/wave_samples.asm b/data/audio/wave_samples.asm deleted file mode 100644 index 8c5bafa75..000000000 --- a/data/audio/wave_samples.asm +++ /dev/null @@ -1,14 +0,0 @@ -WaveSamples: ; e8db2 - ; these are streams of 32 4-bit values used as wavepatterns - ; nothing interesting here! - dn 0, 2, 4, 6, 8, 10, 12, 14, 15, 15, 15, 14, 14, 13, 13, 12, 12, 11, 10, 9, 8, 7, 6, 5, 4, 4, 3, 3, 2, 2, 1, 1 - dn 0, 2, 4, 6, 8, 10, 12, 14, 14, 15, 15, 15, 15, 14, 14, 14, 13, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 2, 1, 1 - dn 1, 3, 6, 9, 11, 13, 14, 14, 14, 14, 15, 15, 15, 15, 14, 13, 13, 14, 15, 15, 15, 15, 14, 14, 14, 14, 13, 11, 9, 6, 3, 1 - dn 0, 2, 4, 6, 8, 10, 12, 13, 14, 15, 15, 14, 13, 14, 15, 15, 14, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 - dn 0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 13, 14, 14, 15, 7, 7, 15, 14, 14, 13, 12, 10, 8, 7, 6, 5, 4, 3, 2, 1, 0 - dn 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 3, 3, 2, 2, 1, 1, 15, 15, 14, 14, 12, 12, 10, 10, 8, 8, 10, 10, 12, 12, 14, 14 - dn 0, 2, 4, 6, 8, 10, 12, 14, 12, 11, 10, 9, 8, 7, 6, 5, 15, 15, 15, 14, 14, 13, 13, 12, 4, 4, 3, 3, 2, 2, 1, 1 - dn 12, 0, 10, 9, 8, 7, 15, 5, 15, 15, 15, 14, 14, 13, 13, 12, 4, 4, 3, 3, 2, 2, 15, 1, 0, 2, 4, 6, 8, 10, 12, 14 - dn 4, 4, 3, 3, 2, 2, 1, 15, 0, 0, 4, 6, 8, 10, 12, 14, 15, 8, 15, 14, 14, 13, 13, 12, 12, 11, 10, 9, 8, 7, 6, 5 - dn 1, 1, 0, 0, 0, 0, 0, 8, 0, 0, 1, 3, 5, 7, 9, 10, 11, 4, 11, 10, 10, 9, 9, 8, 8, 7, 6, 5, 4, 3, 2, 1 -; e8e52 diff --git a/data/trainers/trainer_class_names.asm b/data/trainers/trainer_class_names.asm new file mode 100755 index 000000000..48d81f910 --- /dev/null +++ b/data/trainers/trainer_class_names.asm @@ -0,0 +1,69 @@ +TrainerClassNames:: ; 2c1ef +; entries correspond to trainer classes (see constants/trainer_constants.asm) + db "LEADER@" + db "LEADER@" + db "LEADER@" + db "LEADER@" + db "LEADER@" + db "LEADER@" + db "LEADER@" + db "LEADER@" + db "RIVAL@" + db "#MON PROF.@" + db "ELITE FOUR@" + db " TRAINER@" + db "ELITE FOUR@" + db "ELITE FOUR@" + db "ELITE FOUR@" + db "CHAMPION@" + db "LEADER@" + db "LEADER@" + db "LEADER@" + db "SCIENTIST@" + db "LEADER@" + db "YOUNGSTER@" + db "SCHOOLBOY@" + db "BIRD KEEPER@" + db "LASS@" + db "LEADER@" + db "COOLTRAINER@" + db "COOLTRAINER@" + db "BEAUTY@" + db "#MANIAC@" + db "ROCKET@" + db "GENTLEMAN@" + db "SKIER@" + db "TEACHER@" + db "LEADER@" + db "BUG CATCHER@" + db "FISHER@" + db "SWIMMER♂@" + db "SWIMMER♀@" + db "SAILOR@" + db "SUPER NERD@" + db "RIVAL@" + db "GUITARIST@" + db "HIKER@" + db "BIKER@" + db "LEADER@" + db "BURGLAR@" + db "FIREBREATHER@" + db "JUGGLER@" + db "BLACKBELT@" + db "ROCKET@" + db "PSYCHIC@" + db "PICNICKER@" + db "CAMPER@" + db "ROCKET@" + db "SAGE@" + db "MEDIUM@" + db "BOARDER@" + db "#FAN@" + db "KIMONO GIRL@" + db "TWINS@" + db "#FAN@" + db " TRAINER@" + db "LEADER@" + db "OFFICER@" + db "ROCKET@" + db "MYSTICALMAN@" diff --git a/main.asm b/main.asm index 5049540d8..f46b579c5 100644 --- a/main.asm +++ b/main.asm @@ -1172,8 +1172,7 @@ SECTION "bankB", ROMX INCLUDE "battle/trainer_huds.asm" -TrainerClassNames:: ; 2c1ef -INCLUDE "text/trainer_class_names.asm" +INCLUDE "data/trainers/trainer_class_names.asm" INCLUDE "battle/ai/redundant.asm" diff --git a/text/trainer_class_names.asm b/text/trainer_class_names.asm deleted file mode 100755 index 555e6c652..000000000 --- a/text/trainer_class_names.asm +++ /dev/null @@ -1,67 +0,0 @@ - db "LEADER@" - db "LEADER@" - db "LEADER@" - db "LEADER@" - db "LEADER@" - db "LEADER@" - db "LEADER@" - db "LEADER@" - db "RIVAL@" - db "#MON PROF.@" - db "ELITE FOUR@" - db " TRAINER@" - db "ELITE FOUR@" - db "ELITE FOUR@" - db "ELITE FOUR@" - db "CHAMPION@" - db "LEADER@" - db "LEADER@" - db "LEADER@" - db "SCIENTIST@" - db "LEADER@" - db "YOUNGSTER@" - db "SCHOOLBOY@" - db "BIRD KEEPER@" - db "LASS@" - db "LEADER@" - db "COOLTRAINER@" - db "COOLTRAINER@" - db "BEAUTY@" - db "#MANIAC@" - db "ROCKET@" - db "GENTLEMAN@" - db "SKIER@" - db "TEACHER@" - db "LEADER@" - db "BUG CATCHER@" - db "FISHER@" - db "SWIMMER♂@" - db "SWIMMER♀@" - db "SAILOR@" - db "SUPER NERD@" - db "RIVAL@" - db "GUITARIST@" - db "HIKER@" - db "BIKER@" - db "LEADER@" - db "BURGLAR@" - db "FIREBREATHER@" - db "JUGGLER@" - db "BLACKBELT@" - db "ROCKET@" - db "PSYCHIC@" - db "PICNICKER@" - db "CAMPER@" - db "ROCKET@" - db "SAGE@" - db "MEDIUM@" - db "BOARDER@" - db "#FAN@" - db "KIMONO GIRL@" - db "TWINS@" - db "#FAN@" - db " TRAINER@" - db "LEADER@" - db "OFFICER@" - db "ROCKET@" - db "MYSTICALMAN@" -- cgit v1.2.3 From ebf3bfb6b289bf684941a86cafe1286d8ce212fe Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Fri, 15 Dec 2017 12:53:33 -0500 Subject: Move some misc/ files into meaningful directories --- constants/mobile_constants.asm | 4 +- constants/pokemon_constants.asm | 2 +- engine/dma_transfer.asm | 625 +++ engine/gbc_only.asm | 149 + engine/init_gender.asm | 2 +- engine/print_party.asm | 362 ++ engine/unused_title.asm | 556 +++ gfx/emotes.asm | 12 + gfx/mobile/hp.png | Bin 84 -> 0 bytes gfx/mobile/lv.png | Bin 79 -> 0 bytes gfx/printer/hp.png | Bin 0 -> 84 bytes gfx/printer/lv.png | Bin 0 -> 79 bytes main.asm | 40 +- misc/battle_tower_47.asm | 2 +- misc/fixed_words.asm | 4294 ------------------- misc/gbc_only.asm | 149 - misc/gfx_41.asm | 638 --- misc/mobile_12.asm | 1845 -------- misc/mobile_12_2.asm | 936 ----- misc/mobile_22.asm | 4448 -------------------- misc/mobile_22_2.asm | 1162 ----- misc/mobile_40.asm | 8156 ------------------------------------ misc/mobile_41.asm | 1115 ----- misc/mobile_42.asm | 2009 --------- misc/mobile_45.asm | 7690 ---------------------------------- misc/mobile_45_sprite_engine.asm | 922 ---- misc/mobile_46.asm | 7986 ----------------------------------- misc/mobile_5b.asm | 833 ---- misc/mobile_5c.asm | 944 ----- misc/mobile_5f.asm | 5310 ----------------------- misc/mobile_menu.asm | 879 ---- misc/printer_77.asm | 356 -- misc/unused_title.asm | 556 --- mobile/fixed_words.asm | 4294 +++++++++++++++++++ mobile/mobile_12.asm | 1845 ++++++++ mobile/mobile_12_2.asm | 936 +++++ mobile/mobile_22.asm | 4448 ++++++++++++++++++++ mobile/mobile_22_2.asm | 1162 +++++ mobile/mobile_40.asm | 8156 ++++++++++++++++++++++++++++++++++++ mobile/mobile_41.asm | 1115 +++++ mobile/mobile_42.asm | 2009 +++++++++ mobile/mobile_45.asm | 7690 ++++++++++++++++++++++++++++++++++ mobile/mobile_45_sprite_engine.asm | 922 ++++ mobile/mobile_46.asm | 7986 +++++++++++++++++++++++++++++++++++ mobile/mobile_5b.asm | 833 ++++ mobile/mobile_5c.asm | 944 +++++ mobile/mobile_5f.asm | 5310 +++++++++++++++++++++++ mobile/mobile_menu.asm | 879 ++++ 48 files changed, 50255 insertions(+), 50256 deletions(-) create mode 100755 engine/dma_transfer.asm create mode 100644 engine/gbc_only.asm create mode 100755 engine/print_party.asm create mode 100644 engine/unused_title.asm create mode 100644 gfx/emotes.asm delete mode 100644 gfx/mobile/hp.png delete mode 100644 gfx/mobile/lv.png create mode 100644 gfx/printer/hp.png create mode 100644 gfx/printer/lv.png delete mode 100755 misc/fixed_words.asm delete mode 100644 misc/gbc_only.asm delete mode 100755 misc/gfx_41.asm delete mode 100755 misc/mobile_12.asm delete mode 100755 misc/mobile_12_2.asm delete mode 100644 misc/mobile_22.asm delete mode 100644 misc/mobile_22_2.asm delete mode 100644 misc/mobile_40.asm delete mode 100755 misc/mobile_41.asm delete mode 100644 misc/mobile_42.asm delete mode 100644 misc/mobile_45.asm delete mode 100755 misc/mobile_45_sprite_engine.asm delete mode 100755 misc/mobile_46.asm delete mode 100755 misc/mobile_5b.asm delete mode 100755 misc/mobile_5c.asm delete mode 100644 misc/mobile_5f.asm delete mode 100755 misc/mobile_menu.asm delete mode 100755 misc/printer_77.asm delete mode 100644 misc/unused_title.asm create mode 100755 mobile/fixed_words.asm create mode 100755 mobile/mobile_12.asm create mode 100755 mobile/mobile_12_2.asm create mode 100644 mobile/mobile_22.asm create mode 100644 mobile/mobile_22_2.asm create mode 100644 mobile/mobile_40.asm create mode 100755 mobile/mobile_41.asm create mode 100644 mobile/mobile_42.asm create mode 100644 mobile/mobile_45.asm create mode 100755 mobile/mobile_45_sprite_engine.asm create mode 100755 mobile/mobile_46.asm create mode 100755 mobile/mobile_5b.asm create mode 100755 mobile/mobile_5c.asm create mode 100644 mobile/mobile_5f.asm create mode 100755 mobile/mobile_menu.asm diff --git a/constants/mobile_constants.asm b/constants/mobile_constants.asm index 0ac28c94b..b5894b8e9 100644 --- a/constants/mobile_constants.asm +++ b/constants/mobile_constants.asm @@ -1,4 +1,4 @@ -; MobileEZChatCategoryPointers indexes (see misc/fixed_words.asm) +; MobileEZChatCategoryPointers indexes (see mobile/fixed_words.asm) const_def const EZCHAT_POKEMON const EZCHAT_TYPES @@ -16,6 +16,6 @@ const EZCHAT_FAREWELLS const EZCHAT_THISANDTHAT -NUM_KANA EQU 45 ; length of SortedPokemon table (see misc/fixed_words.asm) +NUM_KANA EQU 45 ; length of SortedPokemon table (see mobile/fixed_words.asm) MOBILE_LOGIN_PASSWORD_LENGTH EQU 17 diff --git a/constants/pokemon_constants.asm b/constants/pokemon_constants.asm index 7af42d3d6..13cb577bb 100644 --- a/constants/pokemon_constants.asm +++ b/constants/pokemon_constants.asm @@ -16,7 +16,7 @@ ; - NewPokedexOrder (see data/pokemon/dex_order_new.asm) ; - MonMenuIcons (see data/pokemon/menu_icons.asm) ; - Pokered_MonIndices (see data/time_capsule/mon_order.asm) -; - SortedPokemon (see misc/fixed_words.asm) +; - SortedPokemon (see mobile/fixed_words.asm) const_value set 1 const BULBASAUR ; 01 const IVYSAUR ; 02 diff --git a/engine/dma_transfer.asm b/engine/dma_transfer.asm new file mode 100755 index 000000000..a0dad0dde --- /dev/null +++ b/engine/dma_transfer.asm @@ -0,0 +1,625 @@ +HDMATransferAttrMapAndTileMapToWRAMBank3:: ; 104000 + ld hl, .Function + jp CallInSafeGFXMode + +.Function: + decoord 0, 0, AttrMap + ld hl, wScratchAttrMap + call CutAndPasteAttrMap + decoord 0, 0 + ld hl, wScratchTileMap + call CutAndPasteTilemap + ld a, $0 + ld [rVBK], a + ld hl, wScratchTileMap + call HDMATransferToWRAMBank3 + ld a, $1 + ld [rVBK], a + ld hl, wScratchAttrMap + call HDMATransferToWRAMBank3 + ret +; 10402d + +HDMATransferTileMapToWRAMBank3:: ; 10402d + ld hl, .Function + jp CallInSafeGFXMode + +.Function: + decoord 0, 0 + ld hl, wScratchTileMap + call CutAndPasteTilemap + ld a, $0 + ld [rVBK], a + ld hl, wScratchTileMap + call HDMATransferToWRAMBank3 + ret +; 104047 + +HDMATransferAttrMapToWRAMBank3: ; 104047 + ld hl, .Function + jp CallInSafeGFXMode + +.Function: + decoord 0, 0, AttrMap + ld hl, wScratchAttrMap + call CutAndPasteAttrMap + ld a, $1 + ld [rVBK], a + ld hl, wScratchAttrMap + call HDMATransferToWRAMBank3 + ret +; 104061 + +ReloadMapPart:: ; 104061 + ld hl, .Function + jp CallInSafeGFXMode + +.Function: + decoord 0, 0, AttrMap + ld hl, wScratchAttrMap + call CutAndPasteAttrMap + decoord 0, 0 + ld hl, wScratchTileMap + call CutAndPasteTilemap + call DelayFrame + + di + ld a, [rVBK] + push af + ld a, $1 + ld [rVBK], a + ld hl, wScratchAttrMap + call HDMATransfer_Wait127Scanlines_toBGMap + ld a, $0 + ld [rVBK], a + ld hl, wScratchTileMap + call HDMATransfer_Wait127Scanlines_toBGMap + pop af + ld [rVBK], a + ei + + ret + +Mobile_ReloadMapPart: ; 104099 + ld hl, ReloadMapPart ; useless + ld hl, .Function + jp CallInSafeGFXMode + +.Function: + decoord 0, 0, AttrMap + ld hl, wScratchAttrMap + call CutAndPasteAttrMap + decoord 0, 0 + ld hl, wScratchTileMap + call CutAndPasteTilemap + call DelayFrame + + di + ld a, [rVBK] + push af + ld a, $1 + ld [rVBK], a + ld hl, wScratchAttrMap + call HDMATransfer_NoDI + ld a, $0 + ld [rVBK], a + ld hl, wScratchTileMap + call HDMATransfer_NoDI + pop af + ld [rVBK], a + ei + + ret +; 1040d4 + +; XXX + ld hl, .unreferenced_1040da + jp CallInSafeGFXMode + +.unreferenced_1040da + ld a, $1 + ld [rVBK], a + ld a, $3 + ld [rSVBK], a + ld de, w3_d800 + ld a, [hBGMapAddress + 1] + ld [rHDMA1], a + ld a, [hBGMapAddress] + ld [rHDMA2], a + ld a, d + ld [rHDMA3], a + ld a, e + ld [rHDMA4], a + ld a, $23 + ld [hDMATransfer], a + call WaitDMATransfer + ret +; 1040fb + +; XXX + ld hl, .unreferenced_104101 + jp CallInSafeGFXMode + +.unreferenced_104101 + ld a, $1 + ld [rVBK], a + ld a, $3 + ld [rSVBK], a + ld hl, w3_d800 + call HDMATransferToWRAMBank3 + ret +; 104110 + +OpenAndCloseMenu_HDMATransferTileMapAndAttrMap:: ; 104110 +; OpenText + ld hl, .Function + jp CallInSafeGFXMode + +.Function: + ; Transfer AttrMap and Tilemap to BGMap + ; Fill vBGAttrs with $00 + ; Fill vBGTiles with " " + decoord 0, 0, AttrMap + ld hl, wScratchAttrMap + call CutAndPasteAttrMap + decoord 0, 0 + ld hl, wScratchTileMap + call CutAndPasteTilemap + call DelayFrame + + di + ld a, [rVBK] + push af + ld a, $1 + ld [rVBK], a + ld hl, wScratchAttrMap + call HDMATransfer_Wait123Scanlines_toBGMap + ld a, $0 + ld [rVBK], a + ld hl, wScratchTileMap + call HDMATransfer_Wait123Scanlines_toBGMap + pop af + ld [rVBK], a + ei + ret +; 104148 + +Mobile_OpenAndCloseMenu_HDMATransferTileMapAndAttrMap: ; 104148 (41:4148) + ld hl, .Function + jp CallInSafeGFXMode + +.Function: + ; Transfer AttrMap and Tilemap to BGMap + ; Fill vBGAttrs with $00 + ; Fill vBGTiles with $ff + decoord 0, 0, AttrMap + ld hl, wScratchAttrMap + call CutAndPasteAttrMap + ld c, $ff + decoord 0, 0 + ld hl, wScratchTileMap + call CutAndPasteMap + + ld a, $1 + ld [rVBK], a + ld hl, wScratchAttrMap + call HDMATransfer_Wait127Scanlines_toBGMap + ld a, $0 + ld [rVBK], a + ld hl, wScratchTileMap + call HDMATransfer_Wait127Scanlines_toBGMap + ret +; 104177 + +CallInSafeGFXMode: ; 104177 + ld a, [hBGMapMode] + push af + ld a, [hMapAnims] + push af + xor a + ld [hBGMapMode], a + ld [hMapAnims], a + ld a, [rSVBK] + push af + ld a, $6 + ld [rSVBK], a + ld a, [rVBK] + push af + + call ._hl_ + + pop af + ld [rVBK], a + pop af + ld [rSVBK], a + pop af + ld [hMapAnims], a + pop af + ld [hBGMapMode], a + ret +; 10419c + +._hl_ ; 10419c + jp hl +; 10419d + + +HDMATransferToWRAMBank3: ; 10419d (41:419d) + call _LoadHDMAParameters + ld a, $23 + ld [hDMATransfer], a + +WaitDMATransfer: ; 104a14 +.loop + call DelayFrame + ld a, [hDMATransfer] + and a + jr nz, .loop + ret + +HDMATransfer_Wait127Scanlines_toBGMap: ; 1041ad (41:41ad) +; HDMA transfer from hl to [hBGMapAddress] +; hBGMapAddress -> de +; 2 * SCREEN_HEIGHT -> c + ld a, [hBGMapAddress + 1] + ld d, a + ld a, [hBGMapAddress] + ld e, a + ld c, 2 * SCREEN_HEIGHT + jr HDMATransfer_Wait127Scanlines + +HDMATransfer_Wait123Scanlines_toBGMap: ; 1041b7 (41:41b7) +; HDMA transfer from hl to [hBGMapAddress] +; hBGMapAddress -> de +; 2 * SCREEN_HEIGHT -> c +; $7b --> b + ld a, [hBGMapAddress + 1] + ld d, a + ld a, [hBGMapAddress] + ld e, a + ld c, 2 * SCREEN_HEIGHT + jr HDMATransfer_Wait123Scanlines +; 1041c1 (41:41c1) + +HDMATransfer_NoDI: ; 1041c1 +; HDMA transfer from hl to [hBGMapAddress] +; [hBGMapAddress] --> de +; 2 * SCREEN_HEIGHT --> c + ld a, [hBGMapAddress + 1] + ld d, a + ld a, [hBGMapAddress] + ld e, a + ld c, 2 * SCREEN_HEIGHT + + ; [rHDMA1, rHDMA2] = hl & $fff0 + ld a, h + ld [rHDMA1], a + ld a, l + and $f0 + ld [rHDMA2], a + ; [rHDMA3, rHDMA4] = de & $1ff0 + ld a, d + and $1f + ld [rHDMA3], a + ld a, e + and $f0 + ld [rHDMA4], a + ; b = c | %10000000 + ld a, c + dec c + or $80 + ld b, a + ; d = $7f - c + 1 + ld a, $7f + sub c + ld d, a + ; while [rLY] >= d: pass +.loop1 + ld a, [rLY] + cp d + jr nc, .loop1 + ; while not [rSTAT] & 3: pass +.loop2 + ld a, [rSTAT] + and $3 + jr z, .loop2 + ; load the 5th byte of HDMA + ld a, b + ld [rHDMA5], a + ; wait until rLY advances (c + 1) times + ld a, [rLY] + inc c + ld hl, rLY +.loop3 + cp [hl] + jr z, .loop3 + ld a, [hl] + dec c + jr nz, .loop3 + ld hl, rHDMA5 + res 7, [hl] + ret +; 104205 + +HDMATransfer_Wait123Scanlines: + ld b, $7b + jr _continue_HDMATransfer + + +HDMATransfer_Wait127Scanlines: + ld b, $7f +_continue_HDMATransfer: +; a lot of waiting around for hardware registers + ; [rHDMA1, rHDMA2] = hl & $fff0 + ld a, h + ld [rHDMA1], a + ld a, l + and $f0 ; high nybble + ld [rHDMA2], a + ; [rHDMA3, rHDMA4] = de & $1ff0 + ld a, d + and $1f ; lower 5 bits + ld [rHDMA3], a + ld a, e + and $f0 ; high nybble + ld [rHDMA4], a + ; e = c | %10000000 + ld a, c + dec c + or $80 + ld e, a + ; d = b - c + 1 + ld a, b + sub c + ld d, a + ; while [rLY] >= d: pass +.ly_loop + ld a, [rLY] + cp d + jr nc, .ly_loop + + di + ; while [rSTAT] & 3: pass +.rstat_loop_1 + ld a, [rSTAT] + and $3 + jr nz, .rstat_loop_1 + ; while not [rSTAT] & 3: pass +.rstat_loop_2 + ld a, [rSTAT] + and $3 + jr z, .rstat_loop_2 + ; load the 5th byte of HDMA + ld a, e + ld [rHDMA5], a + ; wait until rLY advances (c + 1) times + ld a, [rLY] + inc c + ld hl, rLY +.final_ly_loop + cp [hl] + jr z, .final_ly_loop + ld a, [hl] + dec c + jr nz, .final_ly_loop + ld hl, rHDMA5 + res 7, [hl] + ei + + ret +; 10424e + + +_LoadHDMAParameters: ; 10424e (41:424e) + ld a, h + ld [rHDMA1], a + ld a, l + ld [rHDMA2], a + ld a, [hBGMapAddress + 1] + and $1f + ld [rHDMA3], a + ld a, [hBGMapAddress] + ld [rHDMA4], a + ret + +CutAndPasteTilemap: ; 10425f (41:425f) + ld c, " " + jr CutAndPasteMap + +CutAndPasteAttrMap: ; 104263 (41:4263) + ld c, $0 + +CutAndPasteMap: ; 104265 (41:4265) +; back up the value of c to hMapObjectIndexBuffer + ld a, [hMapObjectIndexBuffer] + push af + ld a, c + ld [hMapObjectIndexBuffer], a + +; for each row on the screen + ld c, SCREEN_HEIGHT +.loop1 +; for each tile in the row + ld b, SCREEN_WIDTH +.loop2 +; copy from de to hl + ld a, [de] + inc de + ld [hli], a + dec b + jr nz, .loop2 + +; load the original value of c into hl 12 times + ld a, [hMapObjectIndexBuffer] + ld b, BG_MAP_WIDTH - SCREEN_WIDTH +.loop3 + ld [hli], a + dec b + jr nz, .loop3 + + dec c + jr nz, .loop1 + +; restore the original value of hMapObjectIndexBuffer + pop af + ld [hMapObjectIndexBuffer], a + ret + + +_Get2bpp:: ; 104284 + ; 2bpp when [rLCDC] & $80 + ; switch to WRAM bank 6 + ld a, [rSVBK] + push af + ld a, $6 + ld [rSVBK], a + + push bc + push hl + + ; Copy c tiles of the 2bpp from b:de to wScratchTileMap + ld a, b ; bank + ld l, c ; number of tiles + ld h, $0 + ; multiply by 16 (16 bytes of a 2bpp = 8 x 8 tile) + add hl, hl + add hl, hl + add hl, hl + add hl, hl + ld b, h + ld c, l + ld h, d ; address + ld l, e + ld de, wScratchTileMap + call FarCopyBytes + + pop hl + pop bc + + push bc + call DelayFrame + pop bc + + ld d, h + ld e, l + ld hl, wScratchTileMap + call HDMATransfer_Wait127Scanlines + + ; restore the previous bank + pop af + ld [rSVBK], a + ret +; 1042b2 + +_Get1bpp:: ; 1042b2 + ; 1bpp when [rLCDC] & $80 +.loop + ld a, c + cp $10 + jp c, .bankswitch + jp z, .bankswitch + push bc + push hl + push de + ld c, $10 + call .bankswitch + pop de + ld hl, $80 + add hl, de + ld d, h + ld e, l + pop hl + lb bc, 1, 0 + add hl, bc + pop bc + ld a, c + sub $10 + ld c, a + jr .loop +; 1042d6 + +.bankswitch ; 1042d6 + ld a, [rSVBK] + push af + ld a, $6 + ld [rSVBK], a + + push bc + push hl + + ld a, b + ld l, c + ld h, $0 + add hl, hl ; multiply by 8 + add hl, hl ; multiply by 8 + add hl, hl ; multiply by 8 + ld c, l + ld b, h + ld h, d + ld l, e + ld de, wScratchTileMap + call FarCopyBytesDouble_DoubleBankSwitch + + pop hl + pop bc + + push bc + call DelayFrame + pop bc + + ld d, h + ld e, l + ld hl, wScratchTileMap + call HDMATransfer_Wait127Scanlines + + pop af + ld [rSVBK], a + ret +; 104303 + +HDMATransfer_OnlyTopFourRows: ; 104303 + ld hl, .Function + jp CallInSafeGFXMode +; 104309 + +.Function: + ld hl, wScratchTileMap + decoord 0, 0 + call .Copy + ld hl, wScratchTileMap + $80 + decoord 0, 0, AttrMap + call .Copy + ld a, $1 + ld [rVBK], a + ld c, $8 + ld hl, wScratchTileMap + $80 + debgcoord 0, 0, VBGMap1 + call HDMATransfer_Wait127Scanlines + ld a, $0 + ld [rVBK], a + ld c, $8 + ld hl, wScratchTileMap + debgcoord 0, 0, VBGMap1 + call HDMATransfer_Wait127Scanlines + ret + +.Copy: ; 10433a (41:433a) + ld b, 4 +.outer_loop + ld c, SCREEN_WIDTH +.inner_loop + ld a, [de] + ld [hli], a + inc de + dec c + jr nz, .inner_loop + ld a, l + add BG_MAP_WIDTH - SCREEN_WIDTH + ld l, a + ld a, h + adc $0 + ld h, a + dec b + jr nz, .outer_loop + ret +; 104350 diff --git a/engine/gbc_only.asm b/engine/gbc_only.asm new file mode 100644 index 000000000..a77a44d72 --- /dev/null +++ b/engine/gbc_only.asm @@ -0,0 +1,149 @@ +GBCOnlyScreen: ; 4ea82 + + ld a, [hCGB] + and a + ret nz + + ld de, MUSIC_NONE + call PlayMusic + + call ClearTileMap + + ld hl, GBCOnlyGFX + ld de, $d000 + ld a, [rSVBK] + push af + ld a, 0 + ld [rSVBK], a + call Decompress + pop af + ld [rSVBK], a + + ld de, $d000 + ld hl, VTiles2 + lb bc, BANK(GBCOnlyGFX), $54 + call Get2bpp + + ld de, Font + ld hl, VTiles1 + lb bc, BANK(Font), $80 + call Get1bpp + + call DrawGBCOnlyScreen + + call WaitBGMap + +; better luck next time +.loop + call DelayFrame + jr .loop +; 4eac5 + + +DrawGBCOnlyScreen: ; 4eac5 + + call DrawGBCOnlyBorder + + ; Pokemon + hlcoord 3, 2 + ld b, 14 + ld c, 4 + ld a, $8 + call DrawGBCOnlyGraphic + + ; Crystal + hlcoord 5, 6 + ld b, 10 + ld c, 2 + ld a, $40 + call DrawGBCOnlyGraphic + + ld de, GBCOnlyString + hlcoord 1, 10 + call PlaceString + + ret +; 4eaea + + +DrawGBCOnlyBorder: ; 4eaea + + hlcoord 0, 0 + ld [hl], 0 ; top-left + + inc hl + ld a, 1 ; top + call .FillRow + + ld [hl], 2 ; top-right + + hlcoord 0, 1 + ld a, 3 ; left + call .FillColumn + + hlcoord 19, 1 + ld a, 4 ; right + call .FillColumn + + hlcoord 0, 17 + ld [hl], 5 ; bottom-left + + inc hl + ld a, 6 ; bottom + call .FillRow + + ld [hl], 7 ; bottom-right + ret +; 4eb15 + +.FillRow: ; 4eb15 + ld c, SCREEN_WIDTH - 2 +.next_column + ld [hli], a + dec c + jr nz, .next_column + ret +; 4eb1c + +.FillColumn: ; 4eb1c + ld de, SCREEN_WIDTH + ld c, SCREEN_HEIGHT - 2 +.next_row + ld [hl], a + add hl, de + dec c + jr nz, .next_row + ret +; 4eb27 + + +DrawGBCOnlyGraphic: ; 4eb27 + ld de, SCREEN_WIDTH +.y + push bc + push hl +.x + ld [hli], a + inc a + dec b + jr nz, .x + pop hl + add hl, de + pop bc + dec c + jr nz, .y + ret +; 4eb38 + + +GBCOnlyString: ; 4eb38 + db "This Game Pak is" + next "designed only for" + next "use on the" + next "Game Boy Color.@" +; 4eb76 + + +GBCOnlyGFX: ; 4eb76 +INCBIN "gfx/sgb/gbc_only.2bpp.lz" +; 4f0bc diff --git a/engine/init_gender.asm b/engine/init_gender.asm index 3ae856029..dfb3fbdd4 100755 --- a/engine/init_gender.asm +++ b/engine/init_gender.asm @@ -20,7 +20,7 @@ InitCrystalData: ; 48000 ret ; 4802f -INCLUDE "misc/mobile_12.asm" +INCLUDE "mobile/mobile_12.asm" InitGender: ; 48dcb (12:4dcb) call InitGenderScreen diff --git a/engine/print_party.asm b/engine/print_party.asm new file mode 100755 index 000000000..9bf98767b --- /dev/null +++ b/engine/print_party.asm @@ -0,0 +1,362 @@ +PrintPage1: ; 1dc1b0 + hlcoord 0, 0 + decoord 0, 0, wPrinterTileMapBuffer + ld bc, 17 * SCREEN_WIDTH + call CopyBytes + hlcoord 17, 1, wPrinterTileMapBuffer + ld a, $62 + ld [hli], a + inc a + ld [hl], a + hlcoord 17, 2, wPrinterTileMapBuffer + ld a, $64 + ld [hli], a + inc a + ld [hl], a + hlcoord 1, 9, wPrinterTileMapBuffer + ld a, " " + ld [hli], a + ld [hl], a + hlcoord 1, 10, wPrinterTileMapBuffer + ld a, $61 + ld [hli], a + ld [hl], a + hlcoord 2, 11, wPrinterTileMapBuffer + lb bc, 5, 18 + call ClearBox + ld a, [wd265] + dec a + call CheckCaughtMon + push af + ld a, [wd265] + ld b, a + ld c, 1 ; get page 1 + callba GetDexEntryPagePointer + pop af + ld a, b + hlcoord 1, 11, wPrinterTileMapBuffer + call nz, FarString + hlcoord 19, 0, wPrinterTileMapBuffer + ld [hl], $35 + ld de, SCREEN_WIDTH + add hl, de + ld b, $f +.column_loop + ld [hl], $37 + add hl, de + dec b + jr nz, .column_loop + ld [hl], $3a + ret +; 1dc213 + +PrintPage2: ; 1dc213 + hlcoord 0, 0, wPrinterTileMapBuffer + ld bc, 8 * SCREEN_WIDTH + ld a, " " + call ByteFill + hlcoord 0, 0, wPrinterTileMapBuffer + ld a, $36 + ld b, 6 + call .FillColumn + hlcoord 19, 0, wPrinterTileMapBuffer + ld a, $37 + ld b, 6 + call .FillColumn + hlcoord 0, 6, wPrinterTileMapBuffer + ld [hl], $38 + inc hl + ld a, $39 + ld bc, SCREEN_HEIGHT + call ByteFill + ld [hl], $3a + hlcoord 0, 7, wPrinterTileMapBuffer + ld bc, SCREEN_WIDTH + ld a, $32 + call ByteFill + ld a, [wd265] + dec a + call CheckCaughtMon + push af + ld a, [wd265] + ld b, a + ld c, 2 ; get page 2 + callba GetDexEntryPagePointer + pop af + hlcoord 1, 1, wPrinterTileMapBuffer + ld a, b + call nz, FarString + ret +; 1dc26a + +.FillColumn: ; 1dc26a + push de + ld de, SCREEN_WIDTH +.column_loop + ld [hl], a + add hl, de + dec b + jr nz, .column_loop + pop de + ret +; 1dc275 + +GBPrinterStrings: +GBPrinterString_Null: db "@" +GBPrinterString_CheckingLink: next " CHECKING LINK...@" +GBPrinterString_Transmitting: next " TRANSMITTING...@" +GBPrinterString_Printing: next " PRINTING...@" +GBPrinterString_PrinterError1: + db " Printer Error 1" + next "" + next "Check the Game Boy" + next "Printer Manual." + db "@" +GBPrinterString_PrinterError2: + db " Printer Error 2" + next "" + next "Check the Game Boy" + next "Printer Manual." + db "@" +GBPrinterString_PrinterError3: + db " Printer Error 3" + next "" + next "Check the Game Boy" + next "Printer Manual." + db "@" +GBPrinterString_PrinterError4: + db " Printer Error 4" + next "" + next "Check the Game Boy" + next "Printer Manual." + db "@" +; 1dc381 + +PrintPartyMonPage1: ; 1dc381 + call ClearBGPalettes + call ClearTileMap + call ClearSprites + xor a + ld [hBGMapMode], a + call LoadFontsBattleExtra + + ld de, GBPrinterHPIcon + ld hl, VTiles2 tile $71 + lb bc, BANK(GBPrinterHPIcon), 1 + call Request1bpp + + ld de, GBPrinterLvIcon + ld hl, VTiles2 tile $6e + lb bc, BANK(GBPrinterLvIcon), 1 + call Request1bpp + + ld de, ShinyIconGFX + ld hl, VTiles2 tile $3f + lb bc, BANK(ShinyIconGFX), 1 + call Get2bpp + + xor a + ld [MonType], a + callba CopyPkmnToTempMon + hlcoord 0, 7 + ld b, 9 + ld c, 18 + call TextBox + hlcoord 8, 2 + ld a, [TempMonLevel] + call PrintLevel_Force3Digits + hlcoord 12, 2 + ld [hl], "◀" ; Filled left triangle + inc hl + ld de, TempMonMaxHP + lb bc, 2, 3 + call PrintNum + ld a, [CurPartySpecies] + ld [wd265], a + ld [CurSpecies], a + ld hl, PartyMonNicknames + call Function1dc50e + hlcoord 8, 4 + call PlaceString + hlcoord 9, 6 + ld [hl], "/" + call GetPokemonName + hlcoord 10, 6 + call PlaceString + hlcoord 8, 0 + ld [hl], "№" + inc hl + ld [hl], "." + inc hl + ld de, wd265 + lb bc, PRINTNUM_LEADINGZEROS | 1, 3 + call PrintNum + hlcoord 1, 9 + ld de, String1dc550 + call PlaceString + ld hl, PartyMonOT + call Function1dc50e + hlcoord 4, 9 + call PlaceString + hlcoord 1, 11 + ld de, String1dc559 + call PlaceString + hlcoord 4, 11 + ld de, TempMonID + lb bc, PRINTNUM_LEADINGZEROS | 2, 5 + call PrintNum + hlcoord 1, 14 + ld de, String1dc554 + call PlaceString + hlcoord 7, 14 + ld a, [TempMonMoves + 0] + call Function1dc51a + call Function1dc52c + ld hl, TempMonDVs + predef GetUnownLetter + ld hl, wBoxAlignment + xor a + ld [hl], a + ld a, [CurPartySpecies] + cp UNOWN + jr z, .asm_1dc469 + inc [hl] + +.asm_1dc469 + hlcoord 0, 0 + call _PrepMonFrontpic + call WaitBGMap + ld b, SCGB_STATS_SCREEN_HP_PALS + call GetSGBLayout + call SetPalettes + ret +; 1dc47b + +PrintPartyMonPage2: ; 1dc47b + call ClearBGPalettes + call ClearTileMap + call ClearSprites + xor a + ld [hBGMapMode], a + call LoadFontsBattleExtra + xor a + ld [MonType], a + callba CopyPkmnToTempMon + hlcoord 0, 0 + ld b, 15 + ld c, 18 + call TextBox + ld bc, SCREEN_WIDTH + decoord 0, 0 + hlcoord 0, 1 + call CopyBytes + hlcoord 7, 0 + ld a, [TempMonMoves + 1] + call Function1dc51a + hlcoord 7, 2 + ld a, [TempMonMoves + 2] + call Function1dc51a + hlcoord 7, 4 + ld a, [TempMonMoves + 3] + call Function1dc51a + hlcoord 7, 7 + ld de, String1dc55d + call PlaceString + hlcoord 16, 7 + ld de, TempMonAttack + call .PrintTempMonStats + hlcoord 16, 9 + ld de, TempMonDefense + call .PrintTempMonStats + hlcoord 16, 11 + ld de, TempMonSpclAtk + call .PrintTempMonStats + hlcoord 16, 13 + ld de, TempMonSpclDef + call .PrintTempMonStats + hlcoord 16, 15 + ld de, TempMonSpeed + call .PrintTempMonStats + call WaitBGMap + ld b, SCGB_STATS_SCREEN_HP_PALS + call GetSGBLayout + call SetPalettes + ret +; 1dc507 + +.PrintTempMonStats: ; 1dc507 + lb bc, 2, 3 + call PrintNum + ret +; 1dc50e + +Function1dc50e: ; 1dc50e + ld bc, NAME_LENGTH + ld a, [CurPartyMon] + call AddNTimes + ld e, l + ld d, h + ret +; 1dc51a + +Function1dc51a: ; 1dc51a + and a + jr z, .no_move + + ld [wd265], a + call GetMoveName + jr .got_string + +.no_move + ld de, String1dc584 + +.got_string + call PlaceString + ret +; 1dc52c + +Function1dc52c: ; 1dc52c + callba GetGender + ld a, " " + jr c, .got_gender + ld a, "♂" + jr nz, .got_gender + ld a, "♀" + +.got_gender + hlcoord 17, 2 + ld [hl], a + ld bc, TempMonDVs + callba CheckShininess + ret nc + hlcoord 18, 2 + ld [hl], "" + ret +; 1dc550 + +String1dc550: ; 1dc550 + db "OT/@" + +String1dc554: ; 1dc554 + db "MOVE@" + +String1dc559: ; 1dc559 + db "№.@" + +String1dc55d: ; 1dc55d + db "ATTACK" + next "DEFENSE" + next "SPCL.ATK" + next "SPCL.DEF" + next "SPEED" + db "@" + +String1dc584: ; 1dc584 + db "------------@" +; 1dc591 + +GBPrinterHPIcon: ; 1dc591 +INCBIN "gfx/printer/hp.1bpp" + +GBPrinterLvIcon: ; 1dc599 +INCBIN "gfx/printer/lv.1bpp" diff --git a/engine/unused_title.asm b/engine/unused_title.asm new file mode 100644 index 000000000..6cd79237b --- /dev/null +++ b/engine/unused_title.asm @@ -0,0 +1,556 @@ +UnusedTitleScreen: ; 10c000 + + call ClearBGPalettes + call ClearTileMap + call DisableLCD + xor a + ld [hBGMapMode], a + + ld hl, wJumptableIndex + ld [hli], a + ld [hli], a + ld [hli], a + ld [hl], a + + ld hl, UnusedTitleBG_GFX + ld de, VTiles2 + ld bc, VBGMap0 - VTiles2 + call CopyBytes + + ld hl, UnusedTitleBG_GFX + $800 + ld de, VTiles1 + ld bc, VTiles2 - VTiles1 + call CopyBytes + + ld hl, UnusedTitleFG_GFX + ld de, VTiles0 + ld bc, VTiles1 - VTiles0 + call CopyBytes + + ld hl, UnusedTitleBG_Tilemap + debgcoord 0, 0 + ld bc, 32 * 32 +.copy + ld a, 0 + ld [rVBK], a + ld a, [hli] + ld [de], a + ld a, 1 + ld [rVBK], a + ld a, [hli] + ld [de], a + inc de + dec bc + ld a, b + or c + jr nz, .copy + + ld hl, UnusedTitleFG_OAM + ld de, Sprites + ld bc, $a0 + call CopyBytes + + call EnableLCD + ld a, [rLCDC] + set 1, a + set 2, a + ld [rLCDC], a + + call DelayFrame + + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + + ld hl, UnusedTitleBG_Palettes + ld de, UnknBGPals + ld bc, $40 + call CopyBytes + + ld hl, UnusedTitleFG_Palettes + ld de, UnknOBPals + ld bc, $40 + call CopyBytes + + ld hl, UnusedTitleBG_Palettes + ld de, BGPals + ld bc, $40 + call CopyBytes + + ld hl, UnusedTitleFG_Palettes + ld de, OBPals + ld bc, $40 + call CopyBytes + + pop af + ld [rSVBK], a + + ld a, $1 + ld [hCGBPalUpdate], a + + ld de, MUSIC_TITLE + call PlayMusic + + ret +; 10c0b1 + +UnusedTitleBG_GFX: ; 10c0b1 +INCBIN "gfx/title/old_bg.2bpp" +; 10d0b1 + +UnusedTitleBG_Tilemap: ; 10d0b1 +; 32x32 (tile, attributes) + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $01,$00, $02,$01, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $03,$00, $04,$00, $05,$01, $06,$01, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $07,$05, $08,$05, $09,$05, $0a,$05, $0b,$00, $0c,$00, $0d,$00, $0e,$00, $0f,$01, $10,$01, $11,$01, $12,$01, $13,$05, $14,$05, $15,$05, $16,$05, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $17,$04, $18,$04, $19,$04, $1a,$04, $1b,$00, $1c,$00, $1d,$02, $1e,$02, $1f,$07, $20,$07, $21,$01, $22,$01, $23,$04, $24,$04, $25,$04, $26,$04, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $27,$04, $28,$04, $29,$04, $2a,$04, $2b,$00, $2c,$00, $2d,$03, $2e,$01, $2f,$01, $30,$01, $31,$01, $32,$01, $33,$04, $34,$04, $35,$04, $36,$04, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $37,$04, $38,$04, $39,$04, $3a,$04, $3b,$00, $3c,$00, $3d,$01, $00,$00, $00,$00, $3e,$07, $3f,$01, $40,$01, $41,$04, $42,$04, $43,$04, $44,$04, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $45,$04, $46,$04, $47,$04, $48,$04, $49,$00, $3c,$00, $4a,$01, $00,$00, $00,$00, $4b,$07, $3f,$01, $4c,$01, $4d,$06, $4e,$06, $4f,$06, $50,$06, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $51,$04, $52,$06, $53,$06, $54,$06, $55,$00, $3c,$00, $56,$01, $00,$00, $00,$00, $57,$07, $58,$01, $59,$01, $5a,$06, $5b,$06, $5c,$06, $5d,$06, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $5e,$06, $5f,$06, $60,$06, $61,$06, $62,$00, $63,$00, $64,$03, $65,$01, $66,$01, $67,$07, $68,$01, $69,$01, $26,$04, $6a,$06, $26,$04, $26,$04, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $6b,$00, $6c,$05, $6d,$05, $6e,$05, $6f,$00, $70,$02, $71,$02, $72,$01, $73,$00, $74,$02, $75,$01, $76,$01, $77,$05, $78,$05, $79,$05, $6b,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $7a,$00, $7b,$00, $7c,$00, $7d,$00, $0f,$01, $7e,$01, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $a2,$00, $80,$00, $81,$00, $82,$00, $83,$00, $84,$07, $85,$01, $86,$01, $87,$01, $88,$01, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $89,$00, $8a,$00, $8b,$00, $8c,$07, $8d,$01, $8e,$01, $8f,$01, $90,$01, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $91,$01, $92,$01, $93,$01, $94,$01, $95,$01, $00,$00, $00,$00, $00,$00, $96,$05, $97,$05, $98,$05, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $99,$05, $9a,$05, $9b,$05, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $9c,$05, $9d,$05, $9e,$05, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $9f,$05, $a0,$05, $a1,$05, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $6b,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 + db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 +; 10d8b1 + +UnusedTitleBG_Palettes: ; 10d8b1 + RGB 00, 00, 00 + RGB 25, 15, 28 + RGB 22, 11, 28 + RGB 19, 08, 26 + + RGB 00, 00, 00 + RGB 17, 07, 22 + RGB 13, 07, 16 + RGB 19, 08, 26 + + RGB 25, 15, 28 + RGB 22, 11, 28 + RGB 19, 08, 26 + RGB 17, 07, 22 + + RGB 22, 11, 28 + RGB 19, 08, 26 + RGB 17, 07, 22 + RGB 13, 07, 16 + + RGB 00, 00, 00 + RGB 31, 31, 31 + RGB 16, 16, 24 + RGB 02, 13, 21 + + RGB 00, 00, 00 + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 12, 12, 12 + + RGB 00, 00, 00 + RGB 01, 11, 23 + RGB 16, 16, 24 + RGB 02, 13, 21 + + RGB 00, 00, 00 + RGB 22, 10, 31 + RGB 19, 08, 26 + RGB 17, 07, 22 + + + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + + RGB 31, 31, 31 + RGB 20, 04, 20 + RGB 16, 08, 16 + RGB 24, 00, 24 + + rept 54 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + endr +; 10dab1 + +UnusedTitleFG_GFX: ; 10dab1 +INCBIN "gfx/title/old_fg.2bpp" +; 10eab1 + +UnusedTitleFG_Palettes: ; 10eab1 + RGB 00, 00, 00 + RGB 31, 31, 31 + RGB 16, 16, 24 + RGB 02, 13, 21 + + RGB 00, 00, 00 + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 12, 12, 12 + + RGB 00, 00, 00 + RGB 01, 11, 23 + RGB 16, 16, 24 + RGB 02, 13, 21 + + RGB 00, 00, 00 + RGB 31, 22, 00 + RGB 31, 27, 00 + RGB 31, 31, 00 + + RGB 00, 00, 00 + RGB 31, 31, 31 + RGB 16, 16, 24 + RGB 02, 13, 21 + + RGB 00, 00, 00 + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 12, 12, 12 + + RGB 00, 00, 00 + RGB 01, 11, 23 + RGB 16, 16, 24 + RGB 02, 13, 21 + + RGB 16, 31, 00 + RGB 22, 31, 00 + RGB 27, 31, 00 + RGB 31, 31, 00 + + + RGB 31, 00, 18 + RGB 31, 31, 31 + RGB 16, 16, 24 + RGB 02, 13, 21 + + RGB 00, 00, 00 + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 12, 12, 12 + + RGB 00, 00, 00 + RGB 01, 11, 23 + RGB 16, 16, 24 + RGB 02, 13, 21 + + RGB 16, 31, 00 + RGB 22, 31, 00 + RGB 27, 31, 00 + RGB 31, 31, 00 + + RGB 24, 18, 31 + RGB 31, 31, 00 + RGB 31, 31, 01 + RGB 31, 31, 03 + + RGB 31, 31, 05 + RGB 31, 31, 08 + RGB 31, 31, 10 + RGB 31, 31, 12 + + RGB 31, 31, 14 + RGB 31, 31, 16 + RGB 31, 31, 18 + RGB 31, 31, 20 + + RGB 31, 31, 22 + RGB 31, 31, 25 + RGB 31, 31, 27 + RGB 31, 31, 29 + + RGB 24, 06, 06 + RGB 01, 01, 01 + RGB 03, 03, 03 + RGB 05, 05, 05 + + RGB 08, 08, 08 + RGB 10, 10, 10 + RGB 12, 12, 12 + RGB 14, 14, 14 + + RGB 16, 16, 16 + RGB 18, 18, 18 + RGB 20, 20, 20 + RGB 22, 22, 22 + + RGB 25, 25, 25 + RGB 27, 27, 27 + RGB 29, 29, 29 + RGB 31, 31, 31 + + RGB 18, 24, 18 + RGB 31, 29, 01 + RGB 31, 27, 03 + RGB 31, 25, 05 + + RGB 31, 22, 08 + RGB 31, 20, 10 + RGB 31, 18, 12 + RGB 31, 16, 14 + + RGB 31, 14, 16 + RGB 31, 12, 18 + RGB 31, 10, 20 + RGB 31, 08, 22 + + RGB 31, 05, 25 + RGB 31, 03, 27 + RGB 31, 01, 29 + RGB 31, 00, 31 + + RGB 18, 06, 31 + RGB 00, 31, 31 + RGB 00, 31, 29 + RGB 00, 31, 27 + + RGB 00, 31, 25 + RGB 00, 31, 22 + RGB 00, 31, 20 + RGB 00, 31, 18 + + RGB 00, 31, 16 + RGB 00, 31, 14 + RGB 00, 31, 12 + RGB 00, 31, 10 + + RGB 00, 31, 08 + RGB 00, 31, 05 + RGB 00, 31, 03 + RGB 00, 31, 01 + + RGB 12, 31, 06 + RGB 00, 00, 31 + RGB 00, 01, 31 + RGB 00, 03, 31 + + RGB 00, 05, 31 + RGB 00, 08, 31 + RGB 00, 10, 31 + RGB 00, 12, 31 + + RGB 00, 14, 31 + RGB 00, 16, 31 + RGB 00, 18, 31 + RGB 00, 20, 31 + + RGB 00, 22, 31 + RGB 00, 25, 31 + RGB 00, 27, 31 + RGB 00, 29, 31 + + RGB 00, 00, 00 + RGB 06, 00, 04 + RGB 19, 02, 09 + RGB 28, 04, 11 + + RGB 31, 07, 16 + RGB 31, 17, 23 + RGB 31, 26, 30 + RGB 07, 05, 10 + + RGB 14, 10, 18 + RGB 20, 20, 25 + RGB 25, 27, 31 + RGB 09, 05, 06 + + RGB 23, 16, 13 + RGB 30, 23, 22 + RGB 31, 28, 28 + RGB 31, 31, 31 + + RGB 06, 31, 31 + RGB 04, 00, 04 + RGB 11, 02, 04 + RGB 17, 02, 04 + + RGB 24, 05, 04 + RGB 28, 07, 04 + RGB 31, 11, 04 + RGB 02, 01, 15 + + RGB 04, 11, 22 + RGB 12, 25, 25 + RGB 20, 31, 31 + RGB 09, 04, 03 + + RGB 22, 11, 08 + RGB 27, 19, 16 + RGB 30, 28, 26 + RGB 31, 31, 31 + + RGB 06, 18, 06 + RGB 04, 04, 02 + RGB 07, 07, 02 + RGB 18, 18, 04 + + RGB 24, 24, 06 + RGB 27, 27, 11 + RGB 31, 31, 20 + RGB 02, 03, 10 + + RGB 04, 05, 13 + RGB 06, 10, 25 + RGB 08, 15, 31 + RGB 04, 00, 06 + + RGB 11, 07, 14 + RGB 21, 16, 23 + RGB 29, 26, 31 + RGB 31, 31, 31 + + RGB 06, 00, 18 + RGB 00, 04, 03 + RGB 02, 09, 05 + RGB 11, 19, 07 + + RGB 16, 24, 08 + RGB 22, 31, 09 + RGB 24, 31, 18 + RGB 03, 01, 03 + + RGB 10, 04, 10 + RGB 20, 08, 20 + RGB 31, 17, 31 + RGB 01, 03, 06 + + RGB 05, 09, 10 + RGB 15, 21, 21 + RGB 23, 25, 25 + RGB 31, 31, 31 + + RGB 00, 18, 31 + RGB 00, 05, 07 + RGB 00, 08, 13 + RGB 00, 12, 17 + + RGB 01, 20, 24 + RGB 04, 27, 31 + RGB 14, 31, 31 + RGB 04, 02, 02 + + RGB 15, 01, 03 + RGB 26, 04, 07 + RGB 31, 13, 16 + RGB 00, 05, 02 + + RGB 01, 11, 03 + RGB 06, 21, 06 + RGB 13, 31, 16 + RGB 31, 31, 31 + + RGB 00, 06, 06 + RGB 00, 01, 08 + RGB 00, 05, 14 + RGB 00, 08, 19 + + RGB 02, 14, 26 + RGB 04, 21, 31 + RGB 06, 26, 31 + RGB 13, 00, 00 + + RGB 27, 07, 00 + RGB 31, 17, 05 + RGB 31, 25, 16 + RGB 02, 04, 00 + + RGB 07, 11, 03 + RGB 17, 19, 05 + RGB 27, 31, 16 + RGB 31, 31, 31 + + RGB 02, 00, 00 + RGB 04, 01, 06 + RGB 11, 03, 14 + RGB 16, 04, 19 + + RGB 20, 07, 22 + RGB 26, 12, 27 + RGB 26, 20, 31 + RGB 04, 07, 00 + + RGB 16, 20, 07 + RGB 24, 28, 15 + RGB 29, 31, 24 + RGB 05, 02, 02 + + RGB 15, 04, 02 + RGB 24, 11, 10 + RGB 31, 22, 20 + RGB 31, 31, 31 + + RGB 00, 00, 14 + RGB 12, 00, 00 + RGB 27, 05, 00 + RGB 31, 15, 05 + + RGB 31, 26, 13 + RGB 31, 30, 21 + RGB 05, 07, 16 + RGB 04, 16, 20 + + RGB 04, 24, 26 + RGB 08, 31, 31 + RGB 23, 31, 31 + RGB 00, 00, 00 + + RGB 05, 05, 05 + RGB 17, 17, 15 + RGB 28, 28, 24 + RGB 31, 31, 31 +; 10ecb1 + +UnusedTitleFG_OAM: ; 10ecb1 + db $18, $38, $00, $01, $18, $40, $02, $01, $18, $48, $04, $01, $18, $50, $06, $01 + db $18, $58, $08, $01, $18, $60, $0a, $01, $18, $68, $0c, $01, $18, $70, $0e, $01 + + db $28, $38, $10, $00, $28, $40, $12, $00, $28, $48, $14, $00, $28, $50, $16, $00 + db $28, $58, $18, $00, $28, $60, $1a, $00, $28, $68, $1c, $00, $28, $70, $1e, $00 + + db $38, $38, $20, $00, $38, $40, $22, $00, $38, $48, $24, $00, $38, $50, $26, $00 + db $38, $58, $28, $00, $38, $60, $2a, $00, $38, $68, $2c, $00, $38, $70, $2e, $00 + + db $48, $38, $30, $02, $48, $40, $32, $02, $48, $48, $34, $02, $48, $50, $36, $02 + db $48, $58, $38, $02, $48, $60, $3a, $02, $48, $68, $3c, $02, $48, $70, $3e, $02 + + db $58, $38, $40, $01, $58, $40, $42, $01, $58, $48, $44, $01, $58, $50, $46, $01 + db $58, $58, $48, $01, $58, $60, $4a, $01, $58, $68, $4c, $01, $58, $70, $4e, $01 +; 10ed51 + + +Function10ed51: ; 10ed51 + call _TitleScreen +.loop + call JoyTextDelay + ld a, [hJoyLast] + ld b, a + and 1 + jr nz, .done + call SuicuneFrameIterator + call DelayFrame + jr .loop +.done + ret +; 10ed67 diff --git a/gfx/emotes.asm b/gfx/emotes.asm new file mode 100644 index 000000000..1de06de2c --- /dev/null +++ b/gfx/emotes.asm @@ -0,0 +1,12 @@ +ShockEmote: INCBIN "gfx/emotes/shock.2bpp" +QuestionEmote: INCBIN "gfx/emotes/question.2bpp" +HappyEmote: INCBIN "gfx/emotes/happy.2bpp" +SadEmote: INCBIN "gfx/emotes/sad.2bpp" +HeartEmote: INCBIN "gfx/emotes/heart.2bpp" +BoltEmote: INCBIN "gfx/emotes/bolt.2bpp" +SleepEmote: INCBIN "gfx/emotes/sleep.2bpp" +FishEmote: INCBIN "gfx/emotes/fish.2bpp" +JumpShadowGFX: INCBIN "gfx/overworld/shadow.2bpp" +FishingRodGFX: INCBIN "gfx/overworld/fishing_rod.2bpp" +BoulderDustGFX: INCBIN "gfx/overworld/boulder_dust.2bpp" +GrassRustleGFX: INCBIN "gfx/overworld/grass_rustle.2bpp" diff --git a/gfx/mobile/hp.png b/gfx/mobile/hp.png deleted file mode 100644 index 908141634..000000000 Binary files a/gfx/mobile/hp.png and /dev/null differ diff --git a/gfx/mobile/lv.png b/gfx/mobile/lv.png deleted file mode 100644 index 5176fc585..000000000 Binary files a/gfx/mobile/lv.png and /dev/null differ diff --git a/gfx/printer/hp.png b/gfx/printer/hp.png new file mode 100644 index 000000000..908141634 Binary files /dev/null and b/gfx/printer/hp.png differ diff --git a/gfx/printer/lv.png b/gfx/printer/lv.png new file mode 100644 index 000000000..5176fc585 Binary files /dev/null and b/gfx/printer/lv.png differ diff --git a/main.asm b/main.asm index f46b579c5..629e34968 100644 --- a/main.asm +++ b/main.asm @@ -1784,9 +1784,9 @@ Unknown_4985a: ; unreferenced INCLUDE "event/celebi.asm" INCLUDE "engine/main_menu.asm" -INCLUDE "misc/mobile_menu.asm" +INCLUDE "mobile/mobile_menu.asm" INCLUDE "engine/search.asm" -INCLUDE "misc/mobile_12_2.asm" +INCLUDE "mobile/mobile_12_2.asm" ; mobile battle selection AskRememberPassword: ; 4ae12 @@ -3196,7 +3196,7 @@ CheckBattleScene: ; 4ea44 scf ret -INCLUDE "misc/gbc_only.asm" +INCLUDE "engine/gbc_only.asm" INCLUDE "event/poke_seer.asm" @@ -4604,12 +4604,12 @@ INCBIN "gfx/player/kris_back.2bpp" String_89116: db "-----@" -INCLUDE "misc/mobile_22.asm" +INCLUDE "mobile/mobile_22.asm" INCLUDE "event/unown.asm" INCLUDE "event/buena.asm" INCLUDE "event/dratini.asm" INCLUDE "event/battle_tower.asm" -INCLUDE "misc/mobile_22_2.asm" +INCLUDE "mobile/mobile_22_2.asm" SECTION "bank23", ROMX @@ -5088,17 +5088,17 @@ INCLUDE "event/mom_phone.asm" SECTION "mobile_40", ROMX -INCLUDE "misc/mobile_40.asm" +INCLUDE "mobile/mobile_40.asm" SECTION "bank41", ROMX -INCLUDE "misc/gfx_41.asm" - +INCLUDE "engine/dma_transfer.asm" +INCLUDE "gfx/emotes.asm" INCLUDE "engine/warp_connection.asm" INCLUDE "engine/mysterygift.asm" INCLUDE "battle/used_move_text.asm" -INCLUDE "misc/mobile_41.asm" +INCLUDE "mobile/mobile_41.asm" LoadOverworldFont:: ; 106594 ld de, .font @@ -5120,7 +5120,7 @@ INCBIN "gfx/font/space.2bpp" SECTION "mobile_42", ROMX -INCLUDE "misc/mobile_42.asm" +INCLUDE "mobile/mobile_42.asm" SECTION "Intro Logo", ROMX @@ -5131,10 +5131,10 @@ INCBIN "gfx/intro/logo.2bpp.lz" SECTION "bank43", ROMX -INCLUDE "misc/unused_title.asm" +INCLUDE "engine/unused_title.asm" INCLUDE "engine/title.asm" -INCLUDE "misc/mobile_45.asm" -INCLUDE "misc/mobile_46.asm" +INCLUDE "mobile/mobile_45.asm" +INCLUDE "mobile/mobile_46.asm" SECTION "battle_tower_47", ROMX @@ -5144,13 +5144,13 @@ INCLUDE "misc/battle_tower_47.asm" SECTION "bank5B", ROMX -INCLUDE "misc/mobile_5b.asm" +INCLUDE "mobile/mobile_5b.asm" INCLUDE "engine/link_trade.asm" SECTION "mobile_5c", ROMX -INCLUDE "misc/mobile_5c.asm" +INCLUDE "mobile/mobile_5c.asm" SECTION "Crystal Phone Text 2", ROMX @@ -5170,7 +5170,7 @@ _UpdateBattleHUDs: callba FinishBattleAnim ret -INCLUDE "misc/mobile_5f.asm" +INCLUDE "mobile/mobile_5f.asm" SECTION "Common Text 1", ROMX @@ -5210,13 +5210,7 @@ SECTION "bank77", ROMX UnownFont: ; 1dc000 INCBIN "gfx/font/unown_font.2bpp" -INCLUDE "misc/printer_77.asm" - -MobileHPIcon: ; 1dc591 -INCBIN "gfx/mobile/hp.1bpp" - -MobileLvIcon: ; 1dc599 -INCBIN "gfx/mobile/lv.1bpp" +INCLUDE "engine/print_party.asm" SECTION "bank77_2", ROMX diff --git a/misc/battle_tower_47.asm b/misc/battle_tower_47.asm index f9e2ac0ea..d0ca6edd8 100755 --- a/misc/battle_tower_47.asm +++ b/misc/battle_tower_47.asm @@ -85,7 +85,7 @@ ENDC ret ; 11c05d -INCLUDE "misc/fixed_words.asm" +INCLUDE "mobile/fixed_words.asm" BTTrainerClassGenders: ; 11f2f0 db MALE ; FALKNER diff --git a/misc/fixed_words.asm b/misc/fixed_words.asm deleted file mode 100755 index 56e53da91..000000000 --- a/misc/fixed_words.asm +++ /dev/null @@ -1,4294 +0,0 @@ -; These functions seem to be related to the selection of preset phrases -; for use in mobile communications. Annoyingly, they separate the -; Battle Tower function above from the data it references. -Function11c05d: ; 11c05d - ld a, e - or d - jr z, .error - ld a, e - and d - cp $ff - jr z, .error - push hl - call CopyMobileEZChatToC608 - pop hl - call PlaceString - and a - ret - -.error - ld c, l - ld b, h - scf - ret -; 11c075 - -Function11c075: ; 11c075 - push de - ld a, c - call Function11c254 - pop de - ld bc, wcd36 - call Function11c08f - ret -; 11c082 - -Function11c082: ; 11c082 -; XXX - push de - ld a, c - call Function11c254 - pop de - ld bc, wcd36 - call PrintEZChatBattleMessage - ret -; 11c08f - -Function11c08f: ; 11c08f - ld l, e - ld h, d - push hl - ld a, 3 -.loop - push af - ld a, [bc] - ld e, a - inc bc - ld a, [bc] - ld d, a - inc bc - push bc - call Function11c05d - jr c, .okay - inc bc - -.okay - ld l, c - ld h, b - pop bc - pop af - dec a - jr nz, .loop - pop hl - ld de, 2 * SCREEN_WIDTH - add hl, de - ld a, $3 -.loop2 - push af - ld a, [bc] - ld e, a - inc bc - ld a, [bc] - ld d, a - inc bc - push bc - call Function11c05d - jr c, .okay2 - inc bc - -.okay2 - ld l, c - ld h, b - pop bc - pop af - dec a - jr nz, .loop2 - ret -; 11c0c6 - -PrintEZChatBattleMessage: ; 11c0c6 -; Use up to 6 words from bc to print text starting at de. - ; Preserve $cf63, $cf64 - ld a, [wJumptableIndex] - ld l, a - ld a, [wcf64] - ld h, a - push hl - ; reset value at c618 (not preserved) - ld hl, $c618 - ld a, $0 - ld [hli], a - ; preserve de - push de - ; $cf63 keeps track of which line we're on (0, 1, or 2) - ; $cf64 keeps track of how much room we have left in the current line - xor a - ld [wJumptableIndex], a - ld a, 18 - ld [wcf64], a - ld a, $6 ; up to 6 times -.loop - push af - ; load the 2-byte word data pointed to by bc - ld a, [bc] - ld e, a - inc bc - ld a, [bc] - ld d, a - inc bc - ; if $0000, we're done - or e - jr z, .done - ; preserving hl and bc, get the length of the word - push hl - push bc - call CopyMobileEZChatToC608 - call GetLengthOfWordAtC608 - ld e, c - pop bc - pop hl - ; if the functions return 0, we're done - ld a, e - or a - jr z, .done -.loop2 - ; e contains the length of the word - ; add 1 for the space, unless we're at the start of the line - ld a, [wcf64] - cp 18 - jr z, .skip_inc - inc e - -.skip_inc - ; if the word fits, put it on the same line - cp e - jr nc, .same_line - ; otherwise, go to the next line - ld a, [wJumptableIndex] - inc a - ld [wJumptableIndex], a - ; if we're on line 2, insert "" - ld [hl], "" - rra - jr c, .got_line_terminator - ; else, insert "" - ld [hl], "" - -.got_line_terminator - inc hl - ; init the next line, holding on to the same word - ld a, 18 - ld [wcf64], a - dec e - jr .loop2 - -.same_line - ; add the space, unless we're at the start of the line - cp 18 - jr z, .skip_space - ld [hl], " " - inc hl - -.skip_space - ; deduct the length of the word - sub e - ld [wcf64], a - ld de, $c608 -.place_string_loop - ; load the string from de to hl - ld a, [de] - cp "@" - jr z, .done - inc de - ld [hli], a - jr .place_string_loop - -.done - ; next word? - pop af - dec a - jr nz, .loop - ; we're finished, place "" - ld [hl], "" - ; now, let's place the string from c618 to bc - pop bc - ld hl, $c618 - call PlaceHLTextAtBC - ; restore the original values of $cf63 and $cf64 - pop hl - ld a, l - ld [wJumptableIndex], a - ld a, h - ld [wcf64], a - ret -; 11c14a - -GetLengthOfWordAtC608: ; 11c14a - ld c, $0 - ld hl, $c608 -.loop - ld a, [hli] - cp "@" - ret z - inc c - jr .loop -; 11c156 - -CopyMobileEZChatToC608: ; 11c156 - ld a, [rSVBK] - push af - ld a, $1 - ld [rSVBK], a - ld a, "@" - ld hl, $c608 - ld bc, NAME_LENGTH - call ByteFill - ld a, d - and a - jr z, .get_name - ld hl, MobileEZChatCategoryPointers - dec d - sla d - ld c, d - ld b, $0 - add hl, bc - ld a, [hli] - ld c, a - ld a, [hl] - ld b, a - push bc - pop hl - ld c, e - ld b, $0 - sla c - rl b - sla c - rl b - sla c - rl b - add hl, bc - ld bc, 5 ; length of a string -.copy_string - ld de, $c608 - call CopyBytes - ld de, $c608 - pop af - ld [rSVBK], a - ret - -.get_name - ld a, e - ld [wd265], a - call GetPokemonName - ld hl, StringBuffer1 - ld bc, PKMN_NAME_LENGTH - 1 - jr .copy_string -; 11c1ab - -Function11c1ab: ; 11c1ab - ld a, [hInMenu] - push af - ld a, $1 - ld [hInMenu], a - call Function11c1b9 - pop af - ld [hInMenu], a - ret -; 11c1b9 - -Function11c1b9: ; 11c1b9 - call .InitKanaMode - ld a, [rSVBK] - push af - ld a, $5 - ld [rSVBK], a - call EZChat_MasterLoop - pop af - ld [rSVBK], a - ret -; 11c1ca - -.InitKanaMode: ; 11c1ca - xor a - ld [wJumptableIndex], a - ld [wcf64], a - ld [wcf65], a - ld [wcf66], a - ld [wcd23], a - ld [wcd20], a - ld [wcd21], a - ld [wcd22], a - ld [wcd35], a - ld [wcd2b], a - ld a, $ff - ld [wcd24], a - ld a, [wMenuCursorY] - dec a - call Function11c254 - call ClearBGPalettes - call ClearSprites - call ClearScreen - call Function11d323 - call SetPalettes - call DisableLCD - ld hl, GFX_11d67e - ld de, VTiles2 - ld bc, $60 - call CopyBytes - ld hl, LZ_11d6de - ld de, VTiles0 - call Decompress - call EnableLCD - callba ReloadMapPart - callba ClearSpriteAnims - callba LoadPokemonData - callba Pokedex_ABCMode - ld a, [rSVBK] - push af - ld a, $5 - ld [rSVBK], a - ld hl, $c6d0 - ld de, LYOverrides - ld bc, $100 - call CopyBytes - pop af - ld [rSVBK], a - call EZChat_GetCategoryWordsByKana - call EZChat_GetSeenPokemonByKana - ret -; 11c254 - -Function11c254: ; 11c254 - push af - ld a, $4 - call GetSRAMBank - ld hl, $a007 - pop af - sla a - sla a - ld c, a - sla a - add c - ld c, a - ld b, $0 - add hl, bc - ld de, wcd36 - ld bc, 12 - call CopyBytes - call CloseSRAM - ret -; 11c277 - -EZChat_ClearBottom12Rows: ; 11c277 (47:4277) - ld a, " " - hlcoord 0, 6 - ld bc, (SCREEN_HEIGHT - 6) * SCREEN_WIDTH - call ByteFill - ret - -EZChat_MasterLoop: ; 11c283 -.loop - call JoyTextDelay - ld a, [hJoyPressed] - ld [hJoypadPressed], a - ld a, [wJumptableIndex] - bit 7, a - jr nz, .exit - call .DoJumptableFunction - callba PlaySpriteAnimations - callba ReloadMapPart - jr .loop - -.exit - callba ClearSpriteAnims - call ClearSprites - ret -; 11c2ac - -.DoJumptableFunction: ; 11c2ac - jumptable .Jumptable, wJumptableIndex -; 11c2bb - -.Jumptable: ; 11c2bb (47:42bb) - dw .SpawnObjects ; 00 - dw .InitRAM ; 01 - dw Function11c35f ; 02 - dw Function11c373 ; 03 - dw Function11c3c2 ; 04 - dw Function11c3ed ; 05 - dw Function11c52c ; 06 - dw Function11c53d ; 07 - dw Function11c658 ; 08 - dw Function11c675 ; 09 - dw Function11c9bd ; 0a - dw Function11c9c3 ; 0b - dw Function11caad ; 0c - dw Function11cab3 ; 0d - dw Function11cb52 ; 0e - dw Function11cb66 ; 0f - dw Function11cbf5 ; 10 - dw Function11ccef ; 11 - dw Function11cd04 ; 12 - dw Function11cd20 ; 13 - dw Function11cd54 ; 14 - dw Function11ce0b ; 15 - dw Function11ce2b ; 16 - -.SpawnObjects: ; 11c2e9 (47:42e9) - depixel 3, 1, 2, 5 - ld a, SPRITE_ANIM_INDEX_1D - call _InitSpriteAnimStruct - depixel 8, 1, 2, 5 - - ld a, SPRITE_ANIM_INDEX_1D - call _InitSpriteAnimStruct - ld hl, SPRITEANIMSTRUCT_0C - add hl, bc - ld a, $1 - ld [hl], a - - depixel 9, 2, 2, 0 - ld a, SPRITE_ANIM_INDEX_1D - call _InitSpriteAnimStruct - ld hl, SPRITEANIMSTRUCT_0C - add hl, bc - ld a, $3 - ld [hl], a - - depixel 10, 16 - ld a, SPRITE_ANIM_INDEX_1D - call _InitSpriteAnimStruct - ld hl, SPRITEANIMSTRUCT_0C - add hl, bc - ld a, $4 - ld [hl], a - - depixel 10, 4 - ld a, SPRITE_ANIM_INDEX_1D - call _InitSpriteAnimStruct - ld hl, SPRITEANIMSTRUCT_0C - add hl, bc - ld a, $5 - ld [hl], a - - depixel 10, 2 - ld a, SPRITE_ANIM_INDEX_1D - call _InitSpriteAnimStruct - ld hl, SPRITEANIMSTRUCT_0C - add hl, bc - ld a, $2 - ld [hl], a - - ld hl, wcd23 - set 1, [hl] - set 2, [hl] - jp Function11cfb5 - -.InitRAM: ; 11c346 (47:4346) - ld a, $9 - ld [wcd2d], a - ld a, $2 - ld [wcd2e], a - ld [wcd2f], a - ld [wcd30], a - ld de, wcd2d - call Function11cfce - jp Function11cfb5 - -Function11c35f: ; 11c35f (47:435f) - ld hl, wcd2f - inc [hl] - inc [hl] - dec hl - dec hl - dec [hl] - push af - ld de, wcd2d - call Function11cfce - pop af - ret nz - jp Function11cfb5 - -Function11c373: ; 11c373 (47:4373) - ld hl, wcd30 - inc [hl] - inc [hl] - dec hl - dec hl - dec [hl] - push af - ld de, wcd2d - call Function11cfce - pop af - ret nz - call Function11c38a - jp Function11cfb5 - -Function11c38a: ; 11c38a (47:438a) - ld hl, Unknown_11c986 - ld bc, wcd36 - ld a, $6 -.asm_11c392 - push af - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - push hl - push de - pop hl - ld a, [bc] - inc bc - ld e, a - ld a, [bc] - inc bc - ld d, a - push bc - or e - jr z, .asm_11c3af - ld a, e - and d - cp $ff - jr z, .asm_11c3af - call Function11c05d - jr .asm_11c3b5 -.asm_11c3af - ld de, String_11c3bc - call PlaceString -.asm_11c3b5 - pop bc - pop hl - pop af - dec a - jr nz, .asm_11c392 - ret -; 11c3bc (47:43bc) - -String_11c3bc: ; 11c3bc - db "ーーーーー@" -; 11c3c2 - -Function11c3c2: ; 11c3c2 (47:43c2) - call EZChat_ClearBottom12Rows - ld de, Unknown_11cfbe - call Function11d035 - hlcoord 1, 7 - ld de, String_11c4db - call PlaceString - hlcoord 1, 16 - ld de, String_11c51b - call PlaceString - call Function11c4be - ld hl, wcd23 - set 0, [hl] - ld hl, wcd24 - res 0, [hl] - call Function11cfb5 - -Function11c3ed: ; 11c3ed (47:43ed) - ld hl, wcd20 ; wcd20 - ld de, hJoypadPressed ; $ffa3 - ld a, [de] - and $8 - jr nz, .asm_11c426 - ld a, [de] - and $2 - jr nz, .asm_11c41a - ld a, [de] - and $1 - jr nz, .asm_11c42c - ld de, hJoyLast - ld a, [de] - and $40 - jr nz, .asm_11c47c - ld a, [de] - and $80 - jr nz, .asm_11c484 - ld a, [de] - and $20 - jr nz, .asm_11c48c - ld a, [de] - and $10 - jr nz, .asm_11c498 - ret - -.asm_11c41a - call PlayClickSFX -.asm_11c41d - ld hl, wcd24 - set 0, [hl] - ld a, $c - jr .asm_11c475 -.asm_11c426 - ld a, $8 - ld [wcd20], a ; wcd20 - ret - -.asm_11c42c - ld a, [wcd20] ; wcd20 - cp $6 - jr c, .asm_11c472 - sub $6 - jr z, .asm_11c469 - dec a - jr z, .asm_11c41d - ld hl, wcd36 - ld c, $c - xor a -.asm_11c440 - or [hl] - inc hl - dec c - jr nz, .asm_11c440 - and a - jr z, .asm_11c460 - ld de, Unknown_11cfba - call Function11cfce - decoord 1, 2 - ld bc, wcd36 - call Function11c08f - ld hl, wcd24 - set 0, [hl] - ld a, $e - jr .asm_11c475 -.asm_11c460 - ld hl, wcd24 - set 0, [hl] - ld a, $11 - jr .asm_11c475 -.asm_11c469 - ld hl, wcd24 - set 0, [hl] - ld a, $a - jr .asm_11c475 -.asm_11c472 - call Function11c4a5 -.asm_11c475 - ld [wJumptableIndex], a - call PlayClickSFX - ret - -.asm_11c47c - ld a, [hl] - cp $3 - ret c - sub $3 - jr .asm_11c4a3 -.asm_11c484 - ld a, [hl] - cp $6 - ret nc - add $3 - jr .asm_11c4a3 -.asm_11c48c - ld a, [hl] - and a - ret z - cp $3 - ret z - cp $6 - ret z - dec a - jr .asm_11c4a3 -.asm_11c498 - ld a, [hl] - cp $2 - ret z - cp $5 - ret z - cp $8 - ret z - inc a -.asm_11c4a3 - ld [hl], a - ret - -Function11c4a5: ; 11c4a5 (47:44a5) - ld hl, wcd23 - res 0, [hl] - ld a, [wcd2b] - and a - jr nz, .asm_11c4b7 - xor a - ld [wcd21], a - ld a, $6 - ret - -.asm_11c4b7 - xor a - ld [wcd22], a - ld a, $15 - ret - -Function11c4be: ; 11c4be (47:44be) - ld a, $1 - hlcoord 0, 6, AttrMap - ld bc, $a0 - call ByteFill - ld a, $7 - hlcoord 0, 14, AttrMap - ld bc, $28 - call ByteFill - callba ReloadMapPart - ret -; 11c4db (47:44db) - -String_11c4db: ; 11c4db - db "6つのことば¯くみあわせます" - next "かえたいところ¯えらぶと でてくる" - next "ことばのグループから いれかえたい" - next "たんご¯えらんでください" - db "@" -; 11c51b - -String_11c51b: ; 11c51b - db "ぜんぶけす やめる けってい@" -; 11c52c - -Function11c52c: ; 11c52c (47:452c) - call EZChat_ClearBottom12Rows - call EZChat_PlaceCategoryNames - call Function11c618 - ld hl, wcd24 - res 1, [hl] - call Function11cfb5 - -Function11c53d: ; 11c53d (47:453d) - ld hl, wcd21 - ld de, hJoypadPressed ; $ffa3 - - ld a, [de] - and START - jr nz, .start - - ld a, [de] - and SELECT - jr nz, .select - - ld a, [de] - and B_BUTTON - jr nz, .b - - ld a, [de] - and A_BUTTON - jr nz, .a - - ld de, hJoyLast - - ld a, [de] - and D_UP - jr nz, .up - - ld a, [de] - and D_DOWN - jr nz, .down - - ld a, [de] - and D_LEFT - jr nz, .left - - ld a, [de] - and D_RIGHT - jr nz, .right - - ret - -.a - ld a, [wcd21] - cp 15 - jr c, .got_category - sub $f - jr z, .done - dec a - jr z, .mode - jr .b - -.start - ld hl, wcd24 - set 0, [hl] - ld a, $8 - ld [wcd20], a ; wcd20 - -.b - ld a, $4 - jr .go_to_function - -.select - ld a, [wcd2b] - xor $1 - ld [wcd2b], a - ld a, $15 - jr .go_to_function - -.mode - ld a, $13 - jr .go_to_function - -.got_category - ld a, $8 - -.go_to_function - ld hl, wcd24 - set 1, [hl] - ld [wJumptableIndex], a - call PlayClickSFX - ret - -.done - ld a, [wcd20] ; wcd20 - call Function11ca6a - call PlayClickSFX - ret - -.up - ld a, [hl] - cp $3 - ret c - sub $3 - jr .finish_dpad - -.down - ld a, [hl] - cp $f - ret nc - add $3 - jr .finish_dpad - -.left - ld a, [hl] - and a - ret z - cp $3 - ret z - cp $6 - ret z - cp $9 - ret z - cp $c - ret z - cp $f - ret z - dec a - jr .finish_dpad - -.right - ld a, [hl] - cp $2 - ret z - cp $5 - ret z - cp $8 - ret z - cp $b - ret z - cp $e - ret z - cp $11 - ret z - inc a - -.finish_dpad - ld [hl], a - ret -; 11c5f0 - -EZChat_PlaceCategoryNames: ; 11c5f0 (47:45f0) - ld de, MobileEZChatCategoryNames - ld bc, Coords_11c63a - ld a, 15 -.loop - push af - ld a, [bc] - inc bc - ld l, a - ld a, [bc] - inc bc - ld h, a - push bc - call PlaceString - ; The category names are padded with "@". - ; To find the next category, the system must - ; find the first character at de that is not "@". -.find_next_string_loop - inc de - ld a, [de] - cp "@" - jr z, .find_next_string_loop - pop bc - pop af - dec a - jr nz, .loop - hlcoord 1, 17 - ld de, EZChatString_Stop_Mode_Cancel - call PlaceString - ret - -Function11c618: ; 11c618 (47:4618) - ld a, $2 - hlcoord 0, 6, AttrMap - ld bc, $c8 - call ByteFill - callba ReloadMapPart - ret -; 11c62a (47:462a) - -EZChatString_Stop_Mode_Cancel: ; 11c62a - db "けす モード やめる@" -; 11c63a - -Coords_11c63a: ; 11c63a - dwcoord 1, 7 - dwcoord 7, 7 - dwcoord 13, 7 - dwcoord 1, 9 - dwcoord 7, 9 - dwcoord 13, 9 - dwcoord 1, 11 - dwcoord 7, 11 - dwcoord 13, 11 - dwcoord 1, 13 - dwcoord 7, 13 - dwcoord 13, 13 - dwcoord 1, 15 - dwcoord 7, 15 - dwcoord 13, 15 -; 11c658 - -Function11c658: ; 11c658 (47:4658) - call EZChat_ClearBottom12Rows - call Function11c770 - ld de, Unknown_11cfc2 - call Function11d035 - call Function11c9ab - call Function11c7bc - call Function11c86e - ld hl, wcd24 - res 3, [hl] - call Function11cfb5 - -Function11c675: ; 11c675 (47:4675) - ld hl, wMobileCommsJumptableIndex - ld de, hJoypadPressed ; $ffa3 - ld a, [de] - and A_BUTTON - jr nz, .a - ld a, [de] - and B_BUTTON - jr nz, .b - ld a, [de] - and START - jr nz, .start - ld a, [de] - and SELECT - jr z, .select - - ld a, [wcd26] - and a - ret z - sub $c - jr nc, .asm_11c699 - xor a -.asm_11c699 - ld [wcd26], a - jr .asm_11c6c4 - -.start - ld hl, wcd28 - ld a, [wcd26] - add $c - cp [hl] - ret nc - ld [wcd26], a - ld a, [hl] - ld b, a - ld hl, wMobileCommsJumptableIndex - ld a, [wcd26] - add [hl] - jr c, .asm_11c6b9 - cp b - jr c, .asm_11c6c4 -.asm_11c6b9 - ld a, [wcd28] - ld hl, wcd26 - sub [hl] - dec a - ld [wMobileCommsJumptableIndex], a -.asm_11c6c4 - call Function11c992 - call Function11c7bc - call Function11c86e - ret - -.select - ld de, hJoyLast - ld a, [de] - and D_UP - jr nz, .asm_11c708 - ld a, [de] - and D_DOWN - jr nz, .asm_11c731 - ld a, [de] - and D_LEFT - jr nz, .asm_11c746 - ld a, [de] - and D_RIGHT - jr nz, .asm_11c755 - ret - -.a - call Function11c8f6 - ld a, $4 - ld [wcd35], a - jr .asm_11c6fc -.b - ld a, [wcd2b] - and a - jr nz, .asm_11c6fa - ld a, $6 - jr .asm_11c6fc -.asm_11c6fa - ld a, $15 -.asm_11c6fc - ld [wJumptableIndex], a - ld hl, wcd24 - set 3, [hl] - call PlayClickSFX - ret - -.asm_11c708 - ld a, [hl] - cp $3 - jr c, .asm_11c711 - sub $3 - jr .asm_11c76e -.asm_11c711 - ld a, [wcd26] - sub $3 - ret c - ld [wcd26], a - jr .asm_11c6c4 -.asm_11c71c - ld hl, wcd28 - ld a, [wcd26] - add $c - ret c - cp [hl] - ret nc - ld a, [wcd26] - add $3 - ld [wcd26], a - jr .asm_11c6c4 -.asm_11c731 - ld a, [wcd28] - ld b, a - ld a, [wcd26] - add [hl] - add $3 - cp b - ret nc - ld a, [hl] - cp $9 - jr nc, .asm_11c71c - add $3 - jr .asm_11c76e -.asm_11c746 - ld a, [hl] - and a - ret z - cp $3 - ret z - cp $6 - ret z - cp $9 - ret z - dec a - jr .asm_11c76e -.asm_11c755 - ld a, [wcd28] - ld b, a - ld a, [wcd26] - add [hl] - inc a - cp b - ret nc - ld a, [hl] - cp $2 - ret z - cp $5 - ret z - cp $8 - ret z - cp $b - ret z - inc a -.asm_11c76e - ld [hl], a - ret - -Function11c770: ; 11c770 (47:4770) - xor a - ld [wMobileCommsJumptableIndex], a - ld [wcd26], a - ld [wcd27], a - ld a, [wcd2b] - and a - jr nz, .cd2b_is_nonzero - ld a, [wcd21] - and a - jr z, .cd21_is_zero - ; load from data array - dec a - sla a - ld hl, MobileEZChatData_WordAndPageCounts - ld c, a - ld b, 0 - add hl, bc - ld a, [hli] - ld [wcd28], a - ld a, [hl] -.load - ld [wcd29], a - ret - -.cd21_is_zero - ; compute from [wc7d2] - ld a, [wc7d2] - ld [wcd28], a -.div_12 - ld c, 12 - call SimpleDivide - and a - jr nz, .no_need_to_floor - dec b -.no_need_to_floor - ld a, b - jr .load - -.cd2b_is_nonzero - ; compute from [c6a8 + 2 * [cd22]] - ld hl, $c6a8 ; $c68a + 30 - ld a, [wcd22] - ld c, a - ld b, 0 - add hl, bc - add hl, bc - ld a, [hl] - ld [wcd28], a - jr .div_12 - -Function11c7bc: ; 11c7bc (47:47bc) - ld bc, Unknown_11c854 - ld a, [wcd2b] - and a - jr nz, .asm_11c814 - ld a, [wcd21] - ld d, a - and a - jr z, .asm_11c7e9 - ld a, [wcd26] - ld e, a -.asm_11c7d0 - ld a, [bc] - ld l, a - inc bc - ld a, [bc] - ld h, a - inc bc - and l - cp $ff - ret z - push bc - push de - call Function11c05d - pop de - pop bc - inc e - ld a, [wcd28] - cp e - jr nz, .asm_11c7d0 - ret - -.asm_11c7e9 - ld hl, wListPointer - ld a, [wcd26] - ld e, a - add hl, de -.asm_11c7f1 - push de - ld a, [hli] - ld e, a - ld d, $0 - push hl - ld a, [bc] - ld l, a - inc bc - ld a, [bc] - ld h, a - inc bc - and l - cp $ff - jr z, .asm_11c811 - push bc - call Function11c05d - pop bc - pop hl - pop de - inc e - ld a, [wcd28] - cp e - jr nz, .asm_11c7f1 - ret - -.asm_11c811 - pop hl - pop de - ret - -.asm_11c814 - ld hl, $c648 - ld a, [wcd22] - ld e, a - ld d, $0 - add hl, de - add hl, de - ld a, [hli] - ld e, a - ld a, [hl] - ld d, a - push de - pop hl - ld a, [wcd26] - ld e, a - ld d, $0 - add hl, de - add hl, de - ld a, [wcd26] - ld e, a -.asm_11c831 - push de - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - push hl - ld a, [bc] - ld l, a - inc bc - ld a, [bc] - ld h, a - inc bc - and l - cp $ff - jr z, .asm_11c851 - push bc - call Function11c05d - pop bc - pop hl - pop de - inc e - ld a, [wcd28] - cp e - jr nz, .asm_11c831 - ret - -.asm_11c851 - pop hl - pop de - ret -; 11c854 (47:4854) - -Unknown_11c854: ; 11c854 - dwcoord 2, 8 - dwcoord 8, 8 - dwcoord 14, 8 - dwcoord 2, 10 - dwcoord 8, 10 - dwcoord 14, 10 - dwcoord 2, 12 - dwcoord 8, 12 - dwcoord 14, 12 - dwcoord 2, 14 - dwcoord 8, 14 - dwcoord 14, 14 - dw -1 -; 11c86e - -Function11c86e: ; 11c86e (47:486e) - ld a, [wcd26] - and a - jr z, .asm_11c88a - hlcoord 2, 17 - ld de, MobileString_Prev - call PlaceString - hlcoord 6, 17 - ld c, $3 - xor a -.asm_11c883 - ld [hli], a - inc a - dec c - jr nz, .asm_11c883 - jr .asm_11c895 -.asm_11c88a - hlcoord 2, 17 - ld c, $7 - ld a, $7f -.asm_11c891 - ld [hli], a - dec c - jr nz, .asm_11c891 -.asm_11c895 - ld hl, wcd28 - ld a, [wcd26] - add $c - jr c, .asm_11c8b7 - cp [hl] - jr nc, .asm_11c8b7 - hlcoord 16, 17 - ld de, MobileString_Next - call PlaceString - hlcoord 11, 17 - ld a, $3 - ld c, a -.asm_11c8b1 - ld [hli], a - inc a - dec c - jr nz, .asm_11c8b1 - ret - -.asm_11c8b7 - hlcoord 17, 16 - ld a, $7f - ld [hl], a - hlcoord 11, 17 - ld c, $7 -.asm_11c8c2 - ld [hli], a - dec c - jr nz, .asm_11c8c2 - ret -; 11c8c7 (47:48c7) - -BCD2String: ; 11c8c7 - inc a - push af - and $f - ld [hDividend], a - pop af - and $f0 - swap a - ld [hDividend + 1], a - xor a - ld [hDividend + 2], a - push hl - callba Function11a80c - pop hl - ld a, [wcd63] - add "0" - ld [hli], a - ld a, [wcd62] - add "0" - ld [hli], a - ret -; 11c8ec - -MobileString_Page: ; 11c8ec - db "ぺージ@" -; 11c8f0 - -MobileString_Prev: ; 11c8f0 - db "まえ@" -; 11c8f3 - -MobileString_Next: ; 11c8f3 - db "つぎ@" -; 11c8f6 - -Function11c8f6: ; 11c8f6 (47:48f6) - ld a, [wcd20] ; wcd20 - call Function11c95d - push hl - ld a, [wcd2b] - and a - jr nz, .asm_11c938 - ld a, [wcd21] - ld d, a - and a - jr z, .asm_11c927 - ld hl, wcd26 - ld a, [wMobileCommsJumptableIndex] - add [hl] -.asm_11c911 - ld e, a -.asm_11c912 - pop hl - push de - call Function11c05d - pop de - ld a, [wcd20] ; wcd20 - ld c, a - ld b, $0 - ld hl, wcd36 - add hl, bc - add hl, bc - ld [hl], e - inc hl - ld [hl], d - ret - -.asm_11c927 - ld hl, wcd26 - ld a, [wMobileCommsJumptableIndex] - add [hl] - ld c, a - ld b, $0 - ld hl, wListPointer - add hl, bc - ld a, [hl] - jr .asm_11c911 -.asm_11c938 - ld hl, $c648 - ld a, [wcd22] - ld e, a - ld d, $0 - add hl, de - add hl, de - ld a, [hli] - ld e, a - ld a, [hl] - ld d, a - push de - pop hl - ld a, [wcd26] - ld e, a - ld d, $0 - add hl, de - add hl, de - ld a, [wMobileCommsJumptableIndex] - ld e, a - add hl, de - add hl, de - ld a, [hli] - ld e, a - ld a, [hl] - ld d, a - jr .asm_11c912 - -Function11c95d: ; 11c95d (47:495d) - sla a - ld c, a - ld b, 0 - ld hl, Unknown_11c986 - add hl, bc - ld a, [hli] - ld c, a - ld a, [hl] - ld b, a - push bc - push bc - pop hl - ld a, $5 - ld c, a - ld a, $7f -.asm_11c972 - ld [hli], a - dec c - jr nz, .asm_11c972 - dec hl - ld bc, -20 - add hl, bc - ld a, $5 - ld c, a - ld a, $7f -.asm_11c980 - ld [hld], a - dec c - jr nz, .asm_11c980 - pop hl - ret -; 11c986 (47:4986) - -Unknown_11c986: - dwcoord 1, 2 - dwcoord 7, 2 - dwcoord 13, 2 - dwcoord 1, 4 - dwcoord 7, 4 - dwcoord 13, 4 -; 11c992 - -Function11c992: ; 11c992 (47:4992) - ld a, $8 - hlcoord 2, 7 -.asm_11c997 - push af - ld a, $7f - push hl - ld bc, $11 - call ByteFill - pop hl - ld bc, $14 - add hl, bc - pop af - dec a - jr nz, .asm_11c997 - ret - -Function11c9ab: ; 11c9ab (47:49ab) - ld a, $7 - hlcoord 0, 6, AttrMap - ld bc, $c8 - call ByteFill - callba ReloadMapPart - ret - -Function11c9bd: ; 11c9bd (47:49bd) - ld de, String_11ca38 - call Function11ca7f - -Function11c9c3: ; 11c9c3 (47:49c3) - ld hl, wcd2a - ld de, hJoypadPressed ; $ffa3 - ld a, [de] - and $1 - jr nz, .asm_11c9de - ld a, [de] - and $2 - jr nz, .asm_11c9e9 - ld a, [de] - and $40 - jr nz, .asm_11c9f7 - ld a, [de] - and $80 - jr nz, .asm_11c9fc - ret - -.asm_11c9de - ld a, [hl] - and a - jr nz, .asm_11c9e9 - call Function11ca5e - xor a - ld [wcd20], a ; wcd20 -.asm_11c9e9 - ld hl, wcd24 - set 4, [hl] - ld a, $4 - ld [wJumptableIndex], a - call PlayClickSFX - ret - -.asm_11c9f7 - ld a, [hl] - and a - ret z - dec [hl] - ret - -.asm_11c9fc - ld a, [hl] - and a - ret nz - inc [hl] - ret - -Function11ca01: ; 11ca01 (47:4a01) - hlcoord 14, 7, AttrMap - ld de, $14 - ld a, $5 - ld c, a -.asm_11ca0a - push hl - ld a, $6 - ld b, a - ld a, $7 -.asm_11ca10 - ld [hli], a - dec b - jr nz, .asm_11ca10 - pop hl - add hl, de - dec c - jr nz, .asm_11ca0a - -Function11ca19: ; 11ca19 (47:4a19) - hlcoord 0, 12, AttrMap - ld de, $14 - ld a, $6 - ld c, a -.asm_11ca22 - push hl - ld a, $14 - ld b, a - ld a, $7 -.asm_11ca28 - ld [hli], a - dec b - jr nz, .asm_11ca28 - pop hl - add hl, de - dec c - jr nz, .asm_11ca22 - callba ReloadMapPart - ret -; 11ca38 (47:4a38) - -String_11ca38: ; 11ca38 - db "とうろくちゅう", $25, "あいさつ¯ぜんぶ" - next "けしても よろしいですか?@" -; 11ca57 - -String_11ca57: ; 11ca57 - db "はい" - next "いいえ@" -; 11ca5e - -Function11ca5e: ; 11ca5e (47:4a5e) - xor a -.loop - push af - call Function11ca6a - pop af - inc a - cp $6 - jr nz, .loop - ret - -Function11ca6a: ; 11ca6a (47:4a6a) - ld hl, wcd36 - ld c, a - ld b, $0 - add hl, bc - add hl, bc - ld [hl], b - inc hl - ld [hl], b - call Function11c95d - ld de, String_11c3bc - call PlaceString - ret - -Function11ca7f: ; 11ca7f (47:4a7f) - push de - ld de, Unknown_11cfc6 - call Function11cfce - ld de, Unknown_11cfca - call Function11cfce - hlcoord 1, 14 - pop de - call PlaceString - hlcoord 16, 8 - ld de, String_11ca57 - call PlaceString - call Function11ca01 - ld a, $1 - ld [wcd2a], a - ld hl, wcd24 - res 4, [hl] - call Function11cfb5 - ret - -Function11caad: ; 11caad (47:4aad) - ld de, String_11cb1c - call Function11ca7f - -Function11cab3: ; 11cab3 (47:4ab3) - ld hl, wcd2a - ld de, hJoypadPressed ; $ffa3 - ld a, [de] - and $1 - jr nz, .asm_11cace - ld a, [de] - and $2 - jr nz, .asm_11caf9 - ld a, [de] - and $40 - jr nz, .asm_11cb12 - ld a, [de] - and $80 - jr nz, .asm_11cb17 - ret - -.asm_11cace - call PlayClickSFX - ld a, [hl] - and a - jr nz, .asm_11cafc - ld a, [wcd35] - and a - jr z, .asm_11caf3 - cp $ff - jr z, .asm_11caf3 - ld a, $ff - ld [wcd35], a - hlcoord 1, 14 - ld de, String_11cb31 - call PlaceString - ld a, $1 - ld [wcd2a], a - ret - -.asm_11caf3 - ld hl, wJumptableIndex - set 7, [hl] - ret - -.asm_11caf9 - call PlayClickSFX -.asm_11cafc - ld hl, wcd24 - set 4, [hl] - ld a, $4 - ld [wJumptableIndex], a - ld a, [wcd35] - cp $ff - ret nz - ld a, $1 - ld [wcd35], a - ret - -.asm_11cb12 - ld a, [hl] - and a - ret z - dec [hl] - ret - -.asm_11cb17 - ld a, [hl] - and a - ret nz - inc [hl] - ret -; 11cb1c (47:4b1c) - -String_11cb1c: ; 11cb1c - db "あいさつ", $25, "とうろく¯ちゅうし" - next "しますか?@" -; 11cb31 - -String_11cb31: ; 11cb31 - db "とうろくちゅう", $25, "あいさつ", $24, "ほぞん" - next "されません", $4a, "よろしい ですか?@" -; 11cb52 - -Function11cb52: ; 11cb52 (47:4b52) - ld hl, Unknown_11cc01 - ld a, [wMenuCursorY] -.asm_11cb58 - dec a - jr z, .asm_11cb5f - inc hl - inc hl - jr .asm_11cb58 -.asm_11cb5f - ld a, [hli] - ld e, a - ld a, [hl] - ld d, a - call Function11ca7f - -Function11cb66: ; 11cb66 (47:4b66) - ld hl, wcd2a - ld de, hJoypadPressed ; $ffa3 - ld a, [de] - and $1 - jr nz, .asm_11cb81 - ld a, [de] - and $2 - jr nz, .asm_11cbd7 - ld a, [de] - and $40 - jr nz, .asm_11cbeb - ld a, [de] - and $80 - jr nz, .asm_11cbf0 - ret - -.asm_11cb81 - ld a, [hl] - and a - jr nz, .asm_11cbd4 - ld a, $4 - call GetSRAMBank - ld hl, $a007 - ld a, [wMenuCursorY] - dec a - sla a - sla a - ld c, a - sla a - add c - ld c, a - ld b, $0 - add hl, bc - ld de, wcd36 - ld c, $c -.asm_11cba2 - ld a, [de] - ld [hli], a - inc de - dec c - jr nz, .asm_11cba2 - call CloseSRAM - call PlayClickSFX - ld de, Unknown_11cfc6 - call Function11cfce - ld hl, Unknown_11cc7e - ld a, [wMenuCursorY] -.asm_11cbba - dec a - jr z, .asm_11cbc1 - inc hl - inc hl - jr .asm_11cbba -.asm_11cbc1 - ld a, [hli] - ld e, a - ld a, [hl] - ld d, a - hlcoord 1, 14 - call PlaceString - ld hl, wJumptableIndex - inc [hl] - inc hl - ld a, $10 - ld [hl], a - ret - -.asm_11cbd4 - call PlayClickSFX -.asm_11cbd7 - ld de, Unknown_11cfba - call Function11cfce - call Function11c38a - ld hl, wcd24 - set 4, [hl] - ld a, $4 - ld [wJumptableIndex], a - ret - -.asm_11cbeb - ld a, [hl] - and a - ret z - dec [hl] - ret - -.asm_11cbf0 - ld a, [hl] - and a - ret nz - inc [hl] - ret - -Function11cbf5: ; 11cbf5 (47:4bf5) - call WaitSFX - ld hl, wcf64 - dec [hl] - ret nz - dec hl - set 7, [hl] - ret -; 11cc01 (47:4c01) - -Unknown_11cc01: ; 11cc01 - dw String_11cc09 - dw String_11cc23 - dw String_11cc42 - dw String_11cc60 - -String_11cc09: ; 11cc09 - db "じこしょうかい は" - next "この あいさつで いいですか?@" - -String_11cc23: ; 11cc23 - db "たいせん ", $4a, "はじまるとき は" - next "この あいさつで いいですか?@" - -String_11cc42: ; 11cc42 - db "たいせん ", $1d, "かったとき は" - next "この あいさつで いいですか?@" - -String_11cc60: ; 11cc60 - db "たいせん ", $1d, "まけたとき は" - next "この あいさつで いいですか?@" -; 11cc7e - -Unknown_11cc7e: ; 11cc7e - dw String_11cc86 - dw String_11cc9d - dw String_11ccb9 - dw String_11ccd4 - -String_11cc86: ; 11cc86 - db "じこしょうかい の" - next "あいさつ¯とうろくした!@" - -String_11cc9d: ; 11cc9d - db "たいせん ", $4a, "はじまるとき の" - next "あいさつ¯とうろくした!@" - -String_11ccb9: ; 11ccb9 - db "たいせん ", $1d, "かったとき の" - next "あいさつ¯とうろくした!@" - -String_11ccd4: ; 11ccd4 - db "たいせん ", $1d, "まけたとき の" - next "あいさつ¯とうろくした!@" -; 11ccef - -Function11ccef: ; 11ccef (47:4cef) - ld de, Unknown_11cfc6 - call Function11cfce - hlcoord 1, 14 - ld de, String_11cd10 - call PlaceString - call Function11ca19 - call Function11cfb5 - -Function11cd04: ; 11cd04 (47:4d04) - ld de, hJoypadPressed ; $ffa3 - ld a, [de] - and a - ret z - ld a, $4 - ld [wJumptableIndex], a - ret -; 11cd10 (47:4d10) - -String_11cd10: ; 11cd10 - db "なにか ことば¯いれてください@" -; 11cd20 - -Function11cd20: ; 11cd20 (47:4d20) - call EZChat_ClearBottom12Rows - ld de, Unknown_11cfc6 - call Function11cfce - hlcoord 1, 14 - ld a, [wcd2b] - ld [wcd2c], a - and a - jr nz, .asm_11cd3a - ld de, String_11cdc7 - jr .asm_11cd3d -.asm_11cd3a - ld de, String_11cdd9 -.asm_11cd3d - call PlaceString - hlcoord 4, 8 - ld de, String_11cdf5 - call PlaceString - call Function11cdaa - ld hl, wcd24 - res 5, [hl] - call Function11cfb5 - -Function11cd54: ; 11cd54 (47:4d54) - ld hl, wcd2c - ld de, hJoypadPressed ; $ffa3 - ld a, [de] - and A_BUTTON - jr nz, .asm_11cd6f - ld a, [de] - and B_BUTTON - jr nz, .asm_11cd73 - ld a, [de] - and D_UP - jr nz, .asm_11cd8b - ld a, [de] - and D_DOWN - jr nz, .asm_11cd94 - ret - -.asm_11cd6f - ld a, [hl] - ld [wcd2b], a -.asm_11cd73 - ld a, [wcd2b] - and a - jr nz, .asm_11cd7d - ld a, $6 - jr .asm_11cd7f - -.asm_11cd7d - ld a, $15 -.asm_11cd7f - ld [wJumptableIndex], a - ld hl, wcd24 - set 5, [hl] - call PlayClickSFX - ret - -.asm_11cd8b - ld a, [hl] - and a - ret z - dec [hl] - ld de, String_11cdc7 - jr .asm_11cd9b - -.asm_11cd94 - ld a, [hl] - and a - ret nz - inc [hl] - ld de, String_11cdd9 -.asm_11cd9b - push de - ld de, Unknown_11cfc6 - call Function11cfce - pop de - hlcoord 1, 14 - call PlaceString - ret - -Function11cdaa: ; 11cdaa (47:4daa) - ld a, $2 - hlcoord 0, 6, AttrMap - ld bc, 6 * SCREEN_WIDTH - call ByteFill - ld a, $7 - hlcoord 0, 12, AttrMap - ld bc, 4 * SCREEN_WIDTH - call ByteFill - callba ReloadMapPart - ret -; 11cdc7 (47:4dc7) - -String_11cdc7: ; 11cdc7 -; Words will be displayed by category - db "ことば¯しゅるいべつに" - next "えらべます@" -; 11cdd9 - -String_11cdd9: ; 11cdd9 -; Words will be displayed in alphabetical order - db "ことば¯アイウエォ の" - next "じゅんばんで ひょうじ します@" -; 11cdf5 - -String_11cdf5: ; 11cdf5 - db "しゅるいべつ モード" ; Category mode - next "アイウエォ モード@" ; ABC mode -; 11ce0b - -Function11ce0b: ; 11ce0b (47:4e0b) - call EZChat_ClearBottom12Rows - hlcoord 1, 7 - ld de, String_11cf79 - call PlaceString - hlcoord 1, 17 - ld de, EZChatString_Stop_Mode_Cancel - call PlaceString - call Function11c618 - ld hl, wcd24 - res 2, [hl] - call Function11cfb5 - -Function11ce2b: ; 11ce2b (47:4e2b) - ld a, [wcd22] - sla a - sla a - ld c, a - ld b, 0 - ld hl, Unknown_11ceb9 - add hl, bc - - ld de, hJoypadPressed ; $ffa3 - ld a, [de] - and START - jr nz, .start - ld a, [de] - and SELECT - jr nz, .select - ld a, [de] - and A_BUTTON - jr nz, .a - ld a, [de] - and B_BUTTON - jr nz, .b - - ld de, hJoyLast - ld a, [de] - and D_UP - jr nz, .up - ld a, [de] - and D_DOWN - jr nz, .down - ld a, [de] - and D_LEFT - jr nz, .left - ld a, [de] - and D_RIGHT - jr nz, .right - - ret - -.a - ld a, [wcd22] - cp NUM_KANA - jr c, .place - sub NUM_KANA - jr z, .done - dec a - jr z, .mode - jr .b - -.start - ld hl, wcd24 - set 0, [hl] - ld a, $8 - ld [wcd20], a ; wcd20 -.b - ld a, $4 - jr .load - -.select - ld a, [wcd2b] - xor $1 - ld [wcd2b], a - ld a, $6 - jr .load - -.place - ld a, $8 - jr .load - -.mode - ld a, $13 -.load - ld [wJumptableIndex], a - ld hl, wcd24 - set 2, [hl] - call PlayClickSFX - ret - -.done - ld a, [wcd20] ; wcd20 - call Function11ca6a - call PlayClickSFX - ret - -.left - inc hl -.down - inc hl -.right - inc hl -.up - ld a, [hl] - cp $ff - ret z - ld [wcd22], a - ret -; 11ceb9 (47:4eb9) - -Unknown_11ceb9: ; 11ceb9 - ; up left down right - db $ff, $01 - db $05, $ff - db $ff, $02 - db $06, $00 - db $ff, $03 - db $07, $01 - db $ff, $04 - db $08, $02 - db $ff, $14 - db $09, $03 - db $00, $06 - db $0a, $ff - db $01, $07 - db $0b, $05 - db $02, $08 - db $0c, $06 - db $03, $09 - db $0d, $07 - db $04, $19 - db $0e, $08 - db $05, $0b - db $0f, $ff - db $06, $0c - db $10, $0a - db $07, $0d - db $11, $0b - db $08, $0e - db $12, $0c - db $09, $1e - db $13, $0d - db $0a, $10 - db $2d, $ff - db $0b, $11 - db $2d, $0f - db $0c, $12 - db $2d, $10 - db $0d, $13 - db $2d, $11 - db $0e, $26 - db $2d, $12 - db $ff, $15 - db $19, $04 - db $ff, $16 - db $1a, $14 - db $ff, $17 - db $1b, $15 - db $ff, $18 - db $1c, $16 - db $ff, $23 - db $1d, $17 - db $14, $1a - db $1e, $09 - db $15, $1b - db $1f, $19 - db $16, $1c - db $20, $1a - db $17, $1d - db $21, $1b - db $18, $2b - db $22, $1c - db $19, $1f - db $26, $0e - db $1a, $20 - db $27, $1e - db $1b, $21 - db $28, $1f - db $1c, $22 - db $29, $20 - db $1d, $2c - db $2a, $21 - db $ff, $24 - db $2b, $18 - db $ff, $25 - db $2b, $23 - db $ff, $ff - db $2b, $24 - db $1e, $27 - db $2e, $13 - db $1f, $28 - db $2e, $26 - db $20, $29 - db $2e, $27 - db $21, $2a - db $2e, $28 - db $22, $ff - db $2e, $29 - db $23, $ff - db $2c, $1d - db $2b, $ff - db $2f, $22 - db $0f, $2e - db $ff, $ff - db $26, $2f - db $ff, $2d - db $2c, $ff - db $ff, $2e -; 11cf79 - -String_11cf79: ; 11cf79 -; Hiragana table - db "あいうえお なにぬねの や ゆ よ" - next "かきくけこ はひふへほ わ" - next "さしすせそ まみむめも そのた" - next "たちつてと らりるれろ" - db "@" -; 11cfb5 - -Function11cfb5: ; 11cfb5 (47:4fb5) - ld hl, wJumptableIndex - inc [hl] - ret -; 11cfba (47:4fba) - -Unknown_11cfba: - db 0, 0 ; start coords - db 20, 6 ; end coords - -Unknown_11cfbe: - db 0, 14 ; start coords - db 20, 4 ; end coords - -Unknown_11cfc2: - db 0, 6 ; start coords - db 20, 10 ; end coords - -Unknown_11cfc6: - db 0, 12 ; start coords - db 20, 6 ; end coords - -Unknown_11cfca: - db 14, 7 ; start coords - db 6, 5 ; end coords -; 11cfce - -Function11cfce: ; 11cfce (47:4fce) - hlcoord 0, 0 - ld bc, SCREEN_WIDTH - ld a, [de] - inc de - push af - ld a, [de] - inc de - and a -.add_n_times - jr z, .done_add_n_times - add hl, bc - dec a - jr .add_n_times -.done_add_n_times - pop af - ld c, a - ld b, 0 - add hl, bc - push hl - ld a, $79 - ld [hli], a - ld a, [de] - inc de - dec a - dec a - jr z, .skip_fill - ld c, a - ld a, $7a -.fill_loop - ld [hli], a - dec c - jr nz, .fill_loop -.skip_fill - ld a, $7b - ld [hl], a - pop hl - ld bc, SCREEN_WIDTH - add hl, bc - ld a, [de] - dec de - dec a - dec a - jr z, .skip_section - ld b, a -.loop - push hl - ld a, $7c - ld [hli], a - ld a, [de] - dec a - dec a - jr z, .skip_row - ld c, a - ld a, $7f -.row_loop - ld [hli], a - dec c - jr nz, .row_loop -.skip_row - ld a, $7c - ld [hl], a - pop hl - push bc - ld bc, SCREEN_WIDTH - add hl, bc - pop bc - dec b - jr nz, .loop -.skip_section - ld a, $7d - ld [hli], a - ld a, [de] - dec a - dec a - jr z, .skip_remainder - ld c, a - ld a, $7a -.final_loop - ld [hli], a - dec c - jr nz, .final_loop -.skip_remainder - ld a, $7e - ld [hl], a - ret - -Function11d035: ; 11d035 (47:5035) - hlcoord 0, 0 - ld bc, SCREEN_WIDTH - ld a, [de] - inc de - push af - ld a, [de] - inc de - and a -.add_n_times - jr z, .done_add_n_times - add hl, bc - dec a - jr .add_n_times -.done_add_n_times - pop af - ld c, a - ld b, $0 - add hl, bc - push hl - ld a, $79 - ld [hl], a - pop hl - push hl - ld a, [de] - dec a - inc de - ld c, a - add hl, bc - ld a, $7b - ld [hl], a - call .AddNMinusOneTimes - ld a, $7e - ld [hl], a - pop hl - push hl - call .AddNMinusOneTimes - ld a, $7d - ld [hl], a - pop hl - push hl - inc hl - push hl - call .AddNMinusOneTimes - pop bc - dec de - ld a, [de] - cp $2 - jr z, .skip - dec a - dec a -.loop - push af - ld a, $7a - ld [hli], a - ld [bc], a - inc bc - pop af - dec a - jr nz, .loop -.skip - pop hl - ld bc, $14 - add hl, bc - push hl - ld a, [de] - dec a - ld c, a - ld b, $0 - add hl, bc - pop bc - inc de - ld a, [de] - cp $2 - ret z - push bc - dec a - dec a - ld c, a - ld b, a - ld de, $14 -.loop2 - ld a, $7c - ld [hl], a - add hl, de - dec c - jr nz, .loop2 - pop hl -.loop3 - ld a, $7c - ld [hl], a - add hl, de - dec b - jr nz, .loop3 - ret - -.AddNMinusOneTimes: ; 11d0ac (47:50ac) - ld a, [de] - dec a - ld bc, SCREEN_WIDTH -.add_n_minus_one_times - add hl, bc - dec a - jr nz, .add_n_minus_one_times - ret - -AnimateEZChatCursor: ; 11d0b6 (47:50b6) - ld hl, SPRITEANIMSTRUCT_0C - add hl, bc - ld a, [hl] - ld e, a - ld d, 0 - ld hl, .Jumptable - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp hl - -.Jumptable: - dw .zero - dw .one - dw .two - dw .three - dw .four - dw .five - dw .six - dw .seven - dw .eight - dw .nine - dw .ten - -.zero ; 11d0dd (47:50dd) - ld a, [wcd20] ; wcd20 - sla a - ld hl, .Coords_Zero - ld e, $1 - jr .load - -.one ; 11d0e9 (47:50e9) - ld a, [wcd21] - sla a - ld hl, .Coords_One - ld e, $2 - jr .load - -.two ; 11d0f5 (47:50f5) - ld hl, .FramesetsIDs_Two - ld a, [wcd22] - ld e, a - ld d, $0 - add hl, de - ld a, [hl] - call ReinitSpriteAnimFrame - - ld a, [wcd22] - sla a - ld hl, .Coords_Two - ld e, $4 - jr .load - -.three ; 11d10f (47:510f) - ld a, SPRITE_ANIM_FRAMESET_27 - call ReinitSpriteAnimFrame - ld a, [wMobileCommsJumptableIndex] - sla a - ld hl, .Coords_Three - ld e, $8 -.load ; 11d11e (47:511e) - push de - ld e, a - ld d, $0 - add hl, de - push hl - pop de - ld hl, SPRITEANIMSTRUCT_XCOORD - add hl, bc - ld a, [de] - inc de - ld [hli], a - ld a, [de] - ld [hl], a - pop de - ld a, e - call .UpdateObjectFlags - ret - -.four ; 11d134 (47:5134) - ld a, SPRITE_ANIM_FRAMESET_27 - call ReinitSpriteAnimFrame - ld a, [wcd2a] - sla a - ld hl, .Coords_Four - ld e, $10 - jr .load - -.five ; 11d145 (47:5145) - ld a, SPRITE_ANIM_FRAMESET_27 - call ReinitSpriteAnimFrame - ld a, [wcd2c] - sla a - ld hl, .Coords_Five - ld e, $20 - jr .load - -.six ; 11d156 (47:5156) - ld a, SPRITE_ANIM_FRAMESET_2A - call ReinitSpriteAnimFrame - ; X = [wcd4a] * 8 + 24 - ld a, [wcd4a] - sla a - sla a - sla a - add $18 - ld hl, SPRITEANIMSTRUCT_XCOORD - add hl, bc - ld [hli], a - ; Y = 48 - ld a, $30 - ld [hl], a - - ld a, $1 - ld e, a - call .UpdateObjectFlags - ret - -.seven ; 11d175 (47:5175) - ld a, [wEZChatCursorYCoord] - cp $4 - jr z, .frameset_26 - ld a, SPRITE_ANIM_FRAMESET_28 - jr .got_frameset - -.frameset_26 - ld a, SPRITE_ANIM_FRAMESET_26 -.got_frameset - call ReinitSpriteAnimFrame - ld a, [wEZChatCursorYCoord] - cp $4 - jr z, .asm_11d1b1 - ; X = [wEZChatCursorXCoord] * 8 + 32 - ld a, [wEZChatCursorXCoord] - sla a - sla a - sla a - add $20 - ld hl, SPRITEANIMSTRUCT_XCOORD - add hl, bc - ld [hli], a - ; Y = [wEZChatCursorYCoord] * 16 + 72 - ld a, [wEZChatCursorYCoord] - sla a - sla a - sla a - sla a - add $48 - ld [hl], a - ld a, $2 - ld e, a - call .UpdateObjectFlags - ret - -.asm_11d1b1 - ; X = [wEZChatCursorXCoord] * 40 + 24 - ld a, [wEZChatCursorXCoord] - sla a - sla a - sla a - ld e, a - sla a - sla a - add e - add $18 - ld hl, SPRITEANIMSTRUCT_XCOORD - add hl, bc - ld [hli], a - ; Y = 138 - ld a, $8a - ld [hl], a - ld a, $2 - ld e, a - call .UpdateObjectFlags - ret - -.nine ; 11d1d1 (47:51d1) - ld d, -13 * 8 - ld a, SPRITE_ANIM_FRAMESET_2C - jr .eight_nine_load - -.eight ; 11d1d7 (47:51d7) - ld d, 2 * 8 - ld a, SPRITE_ANIM_FRAMESET_2B -.eight_nine_load ; 11d1db (47:51db) - push de - call ReinitSpriteAnimFrame - ld a, [wcd4a] - sla a - sla a - sla a - ld e, a - sla a - add e - add 8 * 8 - ld hl, SPRITEANIMSTRUCT_YCOORD - add hl, bc - ld [hld], a - pop af - ld [hl], a - ld a, $4 - ld e, a - call .UpdateObjectFlags - ret - -.ten ; 11d1fc (47:51fc) - ld a, SPRITE_ANIM_FRAMESET_26 - call ReinitSpriteAnimFrame - ld a, $8 - ld e, a - call .UpdateObjectFlags - ret -; 11d208 (47:5208) - -.Coords_Zero: ; 11d208 - dbpixel 1, 3, 5, 2 - dbpixel 7, 3, 5, 2 - dbpixel 13, 3, 5, 2 - dbpixel 1, 5, 5, 2 - dbpixel 7, 5, 5, 2 - dbpixel 13, 5, 5, 2 - dbpixel 1, 17, 5, 2 - dbpixel 7, 17, 5, 2 - dbpixel 13, 17, 5, 2 - -.Coords_One: ; 11d21a - dbpixel 1, 8, 5, 2 - dbpixel 7, 8, 5, 2 - dbpixel 13, 8, 5, 2 - dbpixel 1, 10, 5, 2 - dbpixel 7, 10, 5, 2 - dbpixel 13, 10, 5, 2 - dbpixel 1, 12, 5, 2 - dbpixel 7, 12, 5, 2 - dbpixel 13, 12, 5, 2 - dbpixel 1, 14, 5, 2 - dbpixel 7, 14, 5, 2 - dbpixel 13, 14, 5, 2 - dbpixel 1, 16, 5, 2 - dbpixel 7, 16, 5, 2 - dbpixel 13, 16, 5, 2 - dbpixel 1, 18, 5, 2 - dbpixel 7, 18, 5, 2 - dbpixel 13, 18, 5, 2 - -.Coords_Two: ; 11d23e - dbpixel 2, 9 ; 00 - dbpixel 3, 9 ; 01 - dbpixel 4, 9 ; 02 - dbpixel 5, 9 ; 03 - dbpixel 6, 9 ; 04 - dbpixel 2, 11 ; 05 - dbpixel 3, 11 ; 06 - dbpixel 4, 11 ; 07 - dbpixel 5, 11 ; 08 - dbpixel 6, 11 ; 09 - dbpixel 2, 13 ; 0a - dbpixel 3, 13 ; 0b - dbpixel 4, 13 ; 0c - dbpixel 5, 13 ; 0d - dbpixel 6, 13 ; 0e - dbpixel 2, 15 ; 0f - dbpixel 3, 15 ; 10 - dbpixel 4, 15 ; 11 - dbpixel 5, 15 ; 12 - dbpixel 6, 15 ; 13 - dbpixel 8, 9 ; 14 - dbpixel 9, 9 ; 15 - dbpixel 10, 9 ; 16 - dbpixel 11, 9 ; 17 - dbpixel 12, 9 ; 18 - dbpixel 8, 11 ; 19 - dbpixel 9, 11 ; 1a - dbpixel 10, 11 ; 1b - dbpixel 11, 11 ; 1c - dbpixel 12, 11 ; 1d - dbpixel 8, 13 ; 1e - dbpixel 9, 13 ; 1f - dbpixel 10, 13 ; 20 - dbpixel 11, 13 ; 21 - dbpixel 12, 13 ; 22 - dbpixel 14, 9 ; 23 - dbpixel 16, 9 ; 24 - dbpixel 18, 9 ; 25 - dbpixel 8, 15 ; 26 - dbpixel 9, 15 ; 27 - dbpixel 10, 15 ; 28 - dbpixel 11, 15 ; 29 - dbpixel 12, 15 ; 2a - dbpixel 14, 11 ; 2b - dbpixel 14, 13 ; 2c - dbpixel 1, 18, 5, 2 ; 2d - dbpixel 7, 18, 5, 2 ; 2e - dbpixel 13, 18, 5, 2 ; 2f - -.Coords_Three: ; 11d29e - dbpixel 2, 10 - dbpixel 8, 10 - dbpixel 14, 10 - dbpixel 2, 12 - dbpixel 8, 12 - dbpixel 14, 12 - dbpixel 2, 14 - dbpixel 8, 14 - dbpixel 14, 14 - dbpixel 2, 16 - dbpixel 8, 16 - dbpixel 14, 16 - -.Coords_Four: ; 11d2b6 - dbpixel 16, 10 - dbpixel 16, 12 - -.Coords_Five: ; 11d2ba - dbpixel 4, 10 - dbpixel 4, 12 - -.FramesetsIDs_Two: ; 11d2be - db SPRITE_ANIM_FRAMESET_28 ; 00 - db SPRITE_ANIM_FRAMESET_28 ; 01 - db SPRITE_ANIM_FRAMESET_28 ; 02 - db SPRITE_ANIM_FRAMESET_28 ; 03 - db SPRITE_ANIM_FRAMESET_28 ; 04 - db SPRITE_ANIM_FRAMESET_28 ; 05 - db SPRITE_ANIM_FRAMESET_28 ; 06 - db SPRITE_ANIM_FRAMESET_28 ; 07 - db SPRITE_ANIM_FRAMESET_28 ; 08 - db SPRITE_ANIM_FRAMESET_28 ; 09 - db SPRITE_ANIM_FRAMESET_28 ; 0a - db SPRITE_ANIM_FRAMESET_28 ; 0b - db SPRITE_ANIM_FRAMESET_28 ; 0c - db SPRITE_ANIM_FRAMESET_28 ; 0d - db SPRITE_ANIM_FRAMESET_28 ; 0e - db SPRITE_ANIM_FRAMESET_28 ; 0f - db SPRITE_ANIM_FRAMESET_28 ; 10 - db SPRITE_ANIM_FRAMESET_28 ; 11 - db SPRITE_ANIM_FRAMESET_28 ; 12 - db SPRITE_ANIM_FRAMESET_28 ; 13 - db SPRITE_ANIM_FRAMESET_28 ; 14 - db SPRITE_ANIM_FRAMESET_28 ; 15 - db SPRITE_ANIM_FRAMESET_28 ; 16 - db SPRITE_ANIM_FRAMESET_28 ; 17 - db SPRITE_ANIM_FRAMESET_28 ; 18 - db SPRITE_ANIM_FRAMESET_28 ; 19 - db SPRITE_ANIM_FRAMESET_28 ; 1a - db SPRITE_ANIM_FRAMESET_28 ; 1b - db SPRITE_ANIM_FRAMESET_28 ; 1c - db SPRITE_ANIM_FRAMESET_28 ; 1d - db SPRITE_ANIM_FRAMESET_28 ; 1e - db SPRITE_ANIM_FRAMESET_28 ; 1f - db SPRITE_ANIM_FRAMESET_28 ; 20 - db SPRITE_ANIM_FRAMESET_28 ; 21 - db SPRITE_ANIM_FRAMESET_28 ; 22 - db SPRITE_ANIM_FRAMESET_28 ; 23 - db SPRITE_ANIM_FRAMESET_28 ; 24 - db SPRITE_ANIM_FRAMESET_28 ; 25 - db SPRITE_ANIM_FRAMESET_28 ; 26 - db SPRITE_ANIM_FRAMESET_28 ; 27 - db SPRITE_ANIM_FRAMESET_28 ; 28 - db SPRITE_ANIM_FRAMESET_28 ; 29 - db SPRITE_ANIM_FRAMESET_28 ; 2a - db SPRITE_ANIM_FRAMESET_28 ; 2b - db SPRITE_ANIM_FRAMESET_29 ; 2c - db SPRITE_ANIM_FRAMESET_26 ; 2d - db SPRITE_ANIM_FRAMESET_26 ; 2e - db SPRITE_ANIM_FRAMESET_26 ; 2f - -.UpdateObjectFlags: ; 11d2ee (47:52ee) - ld hl, wcd24 - and [hl] - jr nz, .update_y_offset - ld a, e - ld hl, wcd23 - and [hl] - jr z, .reset_y_offset - ld hl, SPRITEANIMSTRUCT_0E - add hl, bc - ld a, [hl] - and a - jr z, .flip_bit_0 - dec [hl] - ret - -.flip_bit_0 - ld a, $0 - ld [hld], a - ld a, $1 - xor [hl] - ld [hl], a - and a - jr nz, .update_y_offset -.reset_y_offset - ld hl, SPRITEANIMSTRUCT_YOFFSET - add hl, bc - xor a - ld [hl], a - ret - -.update_y_offset - ld hl, SPRITEANIMSTRUCT_YCOORD - add hl, bc - ld a, $b0 - sub [hl] - ld hl, SPRITEANIMSTRUCT_YOFFSET - add hl, bc - ld [hl], a - ret - -Function11d323: ; 11d323 - ld a, [rSVBK] - push af - ld a, $5 - ld [rSVBK], a - ld hl, Palette_11d33a - ld de, UnknBGPals - ld bc, 16 palettes - call CopyBytes - pop af - ld [rSVBK], a - ret -; 11d33a - -Palette_11d33a: - RGB 31, 31, 31 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - - RGB 31, 16, 31 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - - RGB 23, 17, 31 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 -; 11d3ba - -EZChat_GetSeenPokemonByKana: ; 11d3ba - ld a, [rSVBK] - push af - ld hl, $c648 - ld a, w5_d800 % $100 - ld [wcd2d], a - ld [hli], a - ld a, w5_d800 / $100 - ld [wcd2e], a - ld [hl], a - - ld a, SortedPokemon % $100 - ld [wcd2f], a - ld a, SortedPokemon / $100 - ld [wcd30], a - - ld a, $c6a8 % $100 - ld [wcd31], a - ld a, $c6a8 / $100 - ld [wcd32], a - - ld a, $c64a % $100 - ld [wcd33], a - ld a, $c64a / $100 - ld [wcd34], a - - ld hl, EZChat_SortedWords - ld a, (EZChat_SortedWordsEnd - EZChat_SortedWords) / 4 - -.MasterLoop: ; 11d3ef - push af -; read row -; offset - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a -; size - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a -; save the pointer to the next row - push hl -; add de to w3_d000 - ld hl, w3_d000 - add hl, de -; recover de from wcd2d (default: w5_d800) - ld a, [wcd2d] - ld e, a - ld a, [wcd2e] - ld d, a -; save bc for later - push bc - -.loop1 -; copy 2*bc bytes from 3:hl to 5:de - ld a, $3 - ld [rSVBK], a - ld a, [hli] - push af - ld a, $5 - ld [rSVBK], a - pop af - ld [de], a - inc de - - ld a, $3 - ld [rSVBK], a - ld a, [hli] - push af - ld a, $5 - ld [rSVBK], a - pop af - ld [de], a - inc de - - dec bc - ld a, c - or b - jr nz, .loop1 - -; recover the pointer from wcd2f (default: SortedPokemon) - ld a, [wcd2f] - ld l, a - ld a, [wcd30] - ld h, a -; copy the pointer from [hl] to bc - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a -; store the pointer to the next pointer back in wcd2f - ld a, l - ld [wcd2f], a - ld a, h - ld [wcd30], a -; push pop that pointer to hl - push bc - pop hl - ld c, $0 -.loop2 -; Have you seen this Pokemon? - ld a, [hl] - cp $ff - jr z, .done - call .CheckSeenMon - jr nz, .next -; If not, skip it. - inc hl - jr .loop2 - -.next -; If so, append it to the list at 5:de, and increase the count. - ld a, [hli] - ld [de], a - inc de - xor a - ld [de], a - inc de - inc c - jr .loop2 - -.done -; Remember the original value of bc from the table? -; Well, the stack remembers it, and it's popping it to hl. - pop hl -; Add the number of seen Pokemon from the list. - ld b, $0 - add hl, bc -; Push pop to bc. - push hl - pop bc -; Load the pointer from [wcd31] (default: $c6a8) - ld a, [wcd31] - ld l, a - ld a, [wcd32] - ld h, a -; Save the quantity from bc to [hl] - ld a, c - ld [hli], a - ld a, b - ld [hli], a -; Save the new value of hl to [wcd31] - ld a, l - ld [wcd31], a - ld a, h - ld [wcd32], a -; Recover the pointer from [wcd33] (default: $c64a) - ld a, [wcd33] - ld l, a - ld a, [wcd34] - ld h, a -; Save the current value of de there - ld a, e - ld [wcd2d], a - ld [hli], a - ld a, d - ld [wcd2e], a -; Save the new value of hl back to [wcd33] - ld [hli], a - ld a, l - ld [wcd33], a - ld a, h - ld [wcd34], a -; Next row - pop hl - pop af - dec a - jr z, .ExitMasterLoop - jp .MasterLoop - -.ExitMasterLoop: - pop af - ld [rSVBK], a - ret -; 11d493 - -.CheckSeenMon: ; 11d493 - push hl - push bc - push de - dec a - ld hl, rSVBK - ld e, $1 - ld [hl], e - call CheckSeenMon - ld hl, rSVBK - ld e, $5 - ld [hl], e - pop de - pop bc - pop hl - ret -; 11d4aa - -EZChat_GetCategoryWordsByKana: ; 11d4aa - ld a, [rSVBK] - push af - ld a, $3 - ld [rSVBK], a - - ; load pointers - ld hl, MobileEZChatCategoryPointers - ld bc, MobileEZChatData_WordAndPageCounts - - ; init WRAM registers - xor a - ld [wcd2d], a - inc a - ld [wcd2e], a - - ; enter the first loop - ld a, 14 -.loop1 - push af - - ; load the pointer to the category - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - push hl - - ; skip to the attributes - ld hl, 5 ; length of a string - add hl, de - - ; get the number of words in the category - ld a, [bc] ; number of entries to copy - inc bc - inc bc - push bc - -.loop2 - push af - push hl - - ; load offset at [hl] - ld a, [hli] - ld e, a - ld a, [hl] - ld d, a - - ; add to w3_d000 - ld hl, w3_d000 - add hl, de - - ; copy from wcd2d and increment [wcd2d] in place - ld a, [wcd2d] - ld [hli], a - inc a - ld [wcd2d], a - - ; copy from wcd2e - ld a, [wcd2e] - ld [hl], a - - ; next entry - pop hl - ld de, 8 - add hl, de - pop af - dec a - jr nz, .loop2 - - ; reset and go to next category - ld hl, wcd2d - xor a - ld [hli], a - inc [hl] - pop bc - pop hl - pop af - dec a - jr nz, .loop1 - pop af - ld [rSVBK], a - ret -; 11d4fe - -SortedPokemon: -; Pokemon sorted by kana. -; Notably, Rhydon is missing. - dw .a - dw .i - dw .u - dw .e - dw .o - dw .ka_ga - dw .ki_gi - dw .ku_gu - dw .ke_ge - dw .ko_go - dw .sa_za - dw .shi_ji - dw .su_zu - dw .se_ze - dw .so_zo - dw .ta_da - dw .chi_dhi - dw .tsu_du - dw .te_de - dw .to_do - dw .na - dw .ni - dw .nu - dw .ne - dw .no - dw .ha_ba_pa - dw .hi_bi_pi - dw .fu_bu_pu - dw .he_be_pe - dw .ho_bo_po - dw .ma - dw .mi - dw .mu - dw .me - dw .mo - dw .ya - dw .yu - dw .yo - dw .ra - dw .ri - dw .ru - dw .re - dw .ro - dw .wa - dw .end - -.a: db EKANS, ARBOK, SEAKING, ARIADOS, CROCONAW, UNOWN, -1 -.i: db EEVEE, GEODUDE, SPINARAK, PILOSWINE, ONIX, -1 -.u: db ARCANINE, SUDOWOODO, WEEPINBELL, VICTREEBEL, WOOPER, SWINUB, -1 -.e: db SKARMORY, AIPOM, ESPEON, HITMONCHAN, ELEKID, ELECTABUZZ, ENTEI, -1 -.o: db FERALIGATR, FURRET, OCTILLERY, PRIMEAPE, SENTRET, STANTLER, SPEAROW, FEAROW, OMASTAR, OMANYTE, -1 -.ka_ga db GROWLITHE, MACHAMP, DRAGONITE, PINSIR, SNORLAX, KABUTO, KABUTOPS, HITMONTOP, WARTORTLE, BLASTOISE, FARFETCH_D, CUBONE, MAROWAK, KANGASKHAN, -1 -.ki_gi db SUNFLORA, CATERPIE, GYARADOS, RAPIDASH, NINETALES, GIRAFARIG, BELLOSSOM, KINGDRA, KINGLER, -1 -.ku_gu db GLOOM, PINECO, GLIGAR, KRABBY, GRANBULL, CROBAT, -1 -.ke_ge db ABRA, GENGAR, TAUROS, -1 -.ko_go db MAGIKARP, MAGNEMITE, GASTLY, HAUNTER, MACHOKE, KAKUNA, PSYDUCK, PHANPY, RATTATA, GOLDUCK, GOLBAT, GOLEM, GRAVELER, VENONAT, -1 -.sa_za db RHYHORN, PUPITAR, CORSOLA, HITMONLEE, ZAPDOS, JOLTEON, SANDSHREW, SANDSLASH, -1 ; RHYDON should lead this list -.shi_ji db SEADRA, SHELLDER, VAPOREON, DEWGONG, -1 -.su_zu db SUICUNE, STARMIE, SCYTHER, ZUBAT, BEEDRILL, HYPNO, DROWZEE, -1 -.se_ze db SQUIRTLE, CELEBI, -1 -.so_zo db WOBBUFFET, -1 -.ta_da db DUGTRIO, HORSEA, EXEGGCUTE, -1 -.chi_dhi db CHIKORITA, CHINCHOU, -1 -.tsu_du db SHUCKLE, -1 -.te_de db DIGLETT, REMORAID, DELIBIRD, HOUNDOUR, AMPHAROS, -1 -.to_do db DODUO, DODRIO, SMEARGLE, KOFFING, TENTACRUEL, TOGETIC, TOGEPI, GOLDEEN, METAPOD, DONPHAN, -1 -.na db ODDISH, EXEGGUTOR, -1 -.ni db NIDOKING, NIDOQUEEN, NIDORAN_M, NIDORAN_F, NIDORINA, NIDORINO, MEOWTH, SNEASEL, POLIWHIRL, POLITOED, POLIWRATH, POLIWAG, -1 -.nu db QUAGSIRE, -1 -.ne db NATU, XATU, -1 -.no db DUNSPARCE, -1 -.ha_ba_pa db SEEL, STEELIX, TYPHLOSION, DRAGONAIR, BUTTERFREE, SCIZOR, HOPPIP, BLISSEY, PARAS, PARASECT, QWILFISH, MR__MIME, TYROGUE, CLOYSTER, TYRANITAR, -1 -.hi_bi_pi db CLEFFA, WEEDLE, PIKACHU, CLEFABLE, PIDGEOT, PIDGEOTTO, PICHU, CLEFAIRY, CHARMANDER, STARYU, CYNDAQUIL, SUNKERN, TEDDIURSA, VOLTORB, -1 -.fu_bu_pu db MOLTRES, FLAREON, ALAKAZAM, MAGMAR, FORRETRESS, WIGGLYTUFF, IVYSAUR, BULBASAUR, VENUSAUR, AERODACTYL, MAGBY, IGGLYBUFF, UMBREON, ARTICUNO, JIGGLYPUFF, SNUBBULL, -1 -.he_be_pe db BAYLEEF, GRIMER, MUK, HERACROSS, HOUNDOOM, PERSIAN, LICKITUNG, -1 -.ho_bo_po db HO_OH, HOOTHOOT, PIDGEY, PONYTA, SKIPLOOM, PORYGON, PORYGON2, -1 -.ma db MAGCARGO, SLUGMA, QUILAVA, BELLSPROUT, WEEZING, MARILL, AZUMARILL, ELECTRODE, MANKEY, MANTINE, -1 -.mi db DRATINI, MEW, MEWTWO, MILTANK, -1 -.mu db MISDREAVUS, SMOOCHUM, -1 -.me db MEGANIUM, DITTO, TENTACOOL, MAREEP, -1 -.mo db FLAAFFY, VENOMOTH, TANGELA, -1 -.ya db SLOWKING, SLOWBRO, SLOWPOKE, MURKROW, YANMA, -1 -.yu db KADABRA, -1 -.yo db LARVITAR, NOCTOWL, -1 -.ra db RAIKOU, RAICHU, CHANSEY, RATICATE, LAPRAS, VILEPLUME, LANTURN, -1 -.ri db CHARMELEON, CHARIZARD, URSARING, -1 -.ru db JYNX, LUGIA, -1 -.re db MAGNETON, LEDIAN, LEDYBA, -1 -.ro db VULPIX, -1 -.wa db JUMPLUFF, TOTODILE, MACHOP;, -1 -.end db -1 -; 11d67e - -GFX_11d67e: -INCBIN "gfx/pokedex/select_start.2bpp" -; 11d6de - -LZ_11d6de: -INCBIN "gfx/pokedex/slowpoke.2bpp.lz" -; 11da52 - -MobileEZChatCategoryNames: ; 11da52 -; Fixed message categories - db "ポケモン@@" ; 00 - db "タイプ@@@" ; 01 - db "あいさつ@@" ; 02 - db "ひと@@@@" ; 03 - db "バトル@@@" ; 04 - db "こえ@@@@" ; 05 - db "かいわ@@@" ; 06 - db "きもち@@@" ; 07 - db "じょうたい@" ; 08 - db "せいかつ@@" ; 09 - db "しゅみ@@@" ; 0a - db "こうどう@@" ; 0b - db "じかん@@@" ; 0c - db "むすび@@@" ; 0d - db "あれこれ@@" ; 0e -; 11daac - -MobileEZChatCategoryPointers: ; 11daac -; entries correspond to EZCHAT_* constants - dw .Types ; 01 - dw .Greetings ; 02 - dw .People ; 03 - dw .Battle ; 04 - dw .Exclamations ; 05 - dw .Conversation ; 06 - dw .Feelings ; 07 - dw .Conditions ; 08 - dw .Life ; 09 - dw .Hobbies ; 0a - dw .Actions ; 0b - dw .Time ; 0c - dw .Farewells ; 0d - dw .ThisAndThat ; 0e - -.Types: ; 11dac8 - db "あく@@@", $26, $0, $0 - db "いわ@@@", $aa, $0, $0 - db "エスパー@", $da, $0, $0 - db "かくとう@", $4e, $1, $0 - db "くさ@@@", $ba, $1, $0 - db "ゴースト@", $e4, $1, $0 - db "こおり@@", $e6, $1, $0 - db "じめん@@", $68, $2, $0 - db "タイプ@@", $e8, $2, $0 - db "でんき@@", $8e, $3, $0 - db "どく@@@", $ae, $3, $0 - db "ドラゴン@", $bc, $3, $0 - db "ノーマル@", $22, $4, $0 - db "はがね@@", $36, $4, $0 - db "ひこう@@", $5e, $4, $0 - db "ほのお@@", $b2, $4, $0 - db "みず@@@", $f4, $4, $0 - db "むし@@@", $12, $5, $0 - -.Greetings: ; 11db58 - db "ありがと@", $58, $0, $0 - db "ありがとう", $5a, $0, $0 - db "いくぜ!@", $80, $0, $0 - db "いくよ!@", $82, $0, $0 - db "いくわよ!", $84, $0, $0 - db "いやー@@", $a6, $0, $0 - db "おっす@@", $a, $1, $0 - db "おはつです", $22, $1, $0 - db "おめでとう", $2a, $1, $0 - db "ごめん@@", $f8, $1, $0 - db "ごめんよ@", $fa, $1, $0 - db "こらっ@@", $fc, $1, $0 - db "こんちは!", $a, $2, $0 - db "こんにちは", $10, $2, $0 - db "さようなら", $28, $2, $0 - db "サンキュー", $2e, $2, $0 - db "さんじょう", $30, $2, $0 - db "しっけい@", $48, $2, $0 - db "しつれい@", $4c, $2, $0 - db "じゃーね@", $6c, $2, $0 - db "すいません", $8c, $2, $0 - db "それじゃ@", $ca, $2, $0 - db "どうも@@", $a6, $3, $0 - db "なんじゃ@", $ee, $3, $0 - db "ハーイ@@", $2c, $4, $0 - db "はいはい@", $32, $4, $0 - db "バイバイ@", $34, $4, $0 - db "へイ@@@", $8a, $4, $0 - db "またね@@", $de, $4, $0 - db "もしもし@", $32, $5, $0 - db "やあ@@@", $3e, $5, $0 - db "やっほー@", $4e, $5, $0 - db "よう@@@", $62, $5, $0 - db "ようこそ@", $64, $5, $0 - db "よろしく@", $80, $5, $0 - db "らっしゃい", $94, $5, $0 - -.People: ; 11dc78 - db "あいて@@", $1c, $0, $0 - db "あたし@@", $36, $0, $0 - db "あなた@@", $40, $0, $0 - db "あなたが@", $42, $0, $0 - db "あなたに@", $44, $0, $0 - db "あなたの@", $46, $0, $0 - db "あなたは@", $48, $0, $0 - db "あなたを@", $4a, $0, $0 - db "おかあさん", $e8, $0, $0 - db "おじいさん", $fc, $0, $0 - db "おじさん@", $2, $1, $0 - db "おとうさん", $e, $1, $0 - db "おとこのこ", $10, $1, $0 - db "おとな@@", $14, $1, $0 - db "おにいさん", $16, $1, $0 - db "おねえさん", $18, $1, $0 - db "おばあさん", $1c, $1, $0 - db "おばさん@", $20, $1, $0 - db "おれさま@", $34, $1, $0 - db "おんなのこ", $3a, $1, $0 - db "ガール@@", $40, $1, $0 - db "かぞく@@", $52, $1, $0 - db "かのじょ@", $72, $1, $0 - db "かれ@@@", $7c, $1, $0 - db "きみ@@@", $9a, $1, $0 - db "きみが@@", $9c, $1, $0 - db "きみに@@", $9e, $1, $0 - db "きみの@@", $a0, $1, $0 - db "きみは@@", $a2, $1, $0 - db "きみを@@", $a4, $1, $0 - db "ギャル@@", $ae, $1, $0 - db "きょうだい", $b2, $1, $0 - db "こども@@", $f0, $1, $0 - db "じぶん@@", $54, $2, $0 - db "じぶんが@", $56, $2, $0 - db "じぶんに@", $58, $2, $0 - db "じぶんの@", $5a, $2, $0 - db "じぶんは@", $5c, $2, $0 - db "じぶんを@", $5e, $2, $0 - db "だれ@@@", $18, $3, $0 - db "だれか@@", $1a, $3, $0 - db "だれが@@", $1c, $3, $0 - db "だれに@@", $1e, $3, $0 - db "だれの@@", $20, $3, $0 - db "だれも@@", $22, $3, $0 - db "だれを@@", $24, $3, $0 - db "ちゃん@@", $38, $3, $0 - db "ともだち@", $b8, $3, $0 - db "なかま@@", $d4, $3, $0 - db "ひと@@@", $62, $4, $0 - db "ボーイ@@", $98, $4, $0 - db "ボク@@@", $a0, $4, $0 - db "ボクが@@", $a2, $4, $0 - db "ボクに@@", $a4, $4, $0 - db "ボクの@@", $a6, $4, $0 - db "ボクは@@", $a8, $4, $0 - db "ボクを@@", $aa, $4, $0 - db "みんな@@", $4, $5, $0 - db "みんなが@", $6, $5, $0 - db "みんなに@", $8, $5, $0 - db "みんなの@", $a, $5, $0 - db "みんなは@", $c, $5, $0 - db "ライバル@", $8a, $5, $0 - db "わたし@@", $c2, $5, $0 - db "わたしが@", $c4, $5, $0 - db "わたしに@", $c6, $5, $0 - db "わたしの@", $c8, $5, $0 - db "わたしは@", $ca, $5, $0 - db "わたしを@", $cc, $5, $0 - -.Battle: ; 11dea0 - db "あいしょう", $18, $0, $0 - db "いけ!@@", $88, $0, $0 - db "いちばん@", $96, $0, $0 - db "かくご@@", $4c, $1, $0 - db "かたせて@", $54, $1, $0 - db "かち@@@", $56, $1, $0 - db "かつ@@@", $58, $1, $0 - db "かった@@", $60, $1, $0 - db "かったら@", $62, $1, $0 - db "かって@@", $64, $1, $0 - db "かてない@", $66, $1, $0 - db "かてる@@", $68, $1, $0 - db "かなわない", $70, $1, $0 - db "きあい@@", $84, $1, $0 - db "きめた@@", $a8, $1, $0 - db "きりふだ@", $b6, $1, $0 - db "くらえ@@", $c2, $1, $0 - db "こい!@@", $da, $1, $0 - db "こうげき@", $e0, $1, $0 - db "こうさん@", $e2, $1, $0 - db "こんじょう", $8, $2, $0 - db "さいのう@", $16, $2, $0 - db "さくせん@", $1a, $2, $0 - db "さばき@@", $22, $2, $0 - db "しょうぶ@", $7e, $2, $0 - db "しょうり@", $80, $2, $0 - db "せめ@@@", $b4, $2, $0 - db "センス@@", $b6, $2, $0 - db "たいせん@", $e6, $2, $0 - db "たたかい@", $f6, $2, $0 - db "ちから@@", $32, $3, $0 - db "チャレンジ", $36, $3, $0 - db "つよい@@", $58, $3, $0 - db "つよすぎ@", $5a, $3, $0 - db "つらい@@", $5c, $3, $0 - db "つらかった", $5e, $3, $0 - db "てかげん@", $6c, $3, $0 - db "てき@@@", $6e, $3, $0 - db "てんさい@", $90, $3, $0 - db "でんせつ@", $94, $3, $0 - db "トレーナー", $c6, $3, $0 - db "にげ@@@", $4, $4, $0 - db "ぬるい@@", $10, $4, $0 - db "ねらう@@", $16, $4, $0 - db "バトル@@", $4a, $4, $0 - db "ファイト@", $72, $4, $0 - db "ふっかつ@", $78, $4, $0 - db "ポイント@", $94, $4, $0 - db "ポケモン@", $ac, $4, $0 - db "ほんき@@", $bc, $4, $0 - db "まいった!", $c4, $4, $0 - db "まけ@@@", $c8, $4, $0 - db "まけたら@", $ca, $4, $0 - db "まけて@@", $cc, $4, $0 - db "まける@@", $ce, $4, $0 - db "まもり@@", $ea, $4, $0 - db "みかた@@", $f2, $4, $0 - db "みとめない", $fe, $4, $0 - db "みとめる@", $0, $5, $0 - db "むてき@@", $16, $5, $0 - db "もらった!", $3c, $5, $0 - db "よゆう@@", $7a, $5, $0 - db "よわい@@", $82, $5, $0 - db "よわすぎ@", $84, $5, $0 - db "らくしょう", $8e, $5, $0 - db "りーダー@", $9e, $5, $0 - db "ルール@@", $a0, $5, $0 - db "レべル@@", $a6, $5, $0 - db "わざ@@@", $be, $5, $0 - -.Exclamations: ; 11e0c8 - db "!@@@@", $0, $0, $0 - db "!!@@@", $2, $0, $0 - db "!?@@@", $4, $0, $0 - db "?@@@@", $6, $0, $0 - db "…@@@@", $8, $0, $0 - db "…!@@@", $a, $0, $0 - db "………@@", $c, $0, $0 - db "ー@@@@", $e, $0, $0 - db "ーーー@@", $10, $0, $0 - db "あーあ@@", $14, $0, $0 - db "あーん@@", $16, $0, $0 - db "あははー@", $52, $0, $0 - db "あら@@@", $54, $0, $0 - db "いえ@@@", $72, $0, $0 - db "イエス@@", $74, $0, $0 - db "うう@@@", $ac, $0, $0 - db "うーん@@", $ae, $0, $0 - db "うおー!@", $b0, $0, $0 - db "うおりゃー", $b2, $0, $0 - db "うひょー@", $bc, $0, $0 - db "うふふ@@", $be, $0, $0 - db "うわー@@", $ca, $0, $0 - db "うわーん@", $cc, $0, $0 - db "ええ@@@", $d2, $0, $0 - db "えー@@@", $d4, $0, $0 - db "えーん@@", $d6, $0, $0 - db "えへへ@@", $dc, $0, $0 - db "おいおい@", $e0, $0, $0 - db "おお@@@", $e2, $0, $0 - db "おっと@@", $c, $1, $0 - db "がーん@@", $42, $1, $0 - db "キャー@@", $aa, $1, $0 - db "ギャー@@", $ac, $1, $0 - db "ぐふふふふ", $bc, $1, $0 - db "げっ@@@", $ce, $1, $0 - db "しくしく@", $3e, $2, $0 - db "ちえっ@@", $2e, $3, $0 - db "てへ@@@", $86, $3, $0 - db "ノー@@@", $20, $4, $0 - db "はあー@@", $2a, $4, $0 - db "はい@@@", $30, $4, $0 - db "はっはっは", $48, $4, $0 - db "ひいー@@", $56, $4, $0 - db "ひゃあ@@", $6a, $4, $0 - db "ふっふっふ", $7c, $4, $0 - db "ふにゃ@@", $7e, $4, $0 - db "ププ@@@", $80, $4, $0 - db "ふふん@@", $82, $4, $0 - db "ふん@@@", $88, $4, $0 - db "へっへっへ", $8e, $4, $0 - db "へへー@@", $90, $4, $0 - db "ほーほほほ", $9c, $4, $0 - db "ほら@@@", $b6, $4, $0 - db "まあ@@@", $c0, $4, $0 - db "むきー!!", $10, $5, $0 - db "むふー@@", $18, $5, $0 - db "むふふ@@", $1a, $5, $0 - db "むむ@@@", $1c, $5, $0 - db "よーし@@", $6a, $5, $0 - db "よし!@@", $72, $5, $0 - db "ラララ@@", $98, $5, $0 - db "わーい@@", $ac, $5, $0 - db "わーん!!", $b0, $5, $0 - db "ワォ@@@", $b2, $5, $0 - db "わっ!!@", $ce, $5, $0 - db "わははは!", $d0, $5, $0 - -.Conversation: ; 11e2d8 - db "あのね@@", $50, $0, $0 - db "あんまり@", $6e, $0, $0 - db "いじわる@", $8e, $0, $0 - db "うそ@@@", $b6, $0, $0 - db "うむ@@@", $c4, $0, $0 - db "おーい@@", $e4, $0, $0 - db "おすすめ@", $6, $1, $0 - db "おばかさん", $1e, $1, $0 - db "かなり@@", $6e, $1, $0 - db "から@@@", $7a, $1, $0 - db "きぶん@@", $98, $1, $0 - db "けど@@@", $d6, $1, $0 - db "こそ@@@", $ea, $1, $0 - db "こと@@@", $ee, $1, $0 - db "さあ@@@", $12, $2, $0 - db "さっぱり@", $1e, $2, $0 - db "さて@@@", $20, $2, $0 - db "じゅうぶん", $72, $2, $0 - db "すぐ@@@", $94, $2, $0 - db "すごく@@", $98, $2, $0 - db "すこしは@", $9a, $2, $0 - db "すっっごい", $a0, $2, $0 - db "ぜーんぜん", $b0, $2, $0 - db "ぜったい@", $b2, $2, $0 - db "それで@@", $ce, $2, $0 - db "だけ@@@", $f2, $2, $0 - db "だって@@", $fc, $2, $0 - db "たぶん@@", $6, $3, $0 - db "たら@@@", $14, $3, $0 - db "ちょー@@", $3a, $3, $0 - db "ちょっと@", $3c, $3, $0 - db "ったら@@", $4e, $3, $0 - db "って@@@", $50, $3, $0 - db "ていうか@", $62, $3, $0 - db "でも@@@", $88, $3, $0 - db "どうしても", $9c, $3, $0 - db "とうぜん@", $a0, $3, $0 - db "どうぞ@@", $a2, $3, $0 - db "とりあえず", $be, $3, $0 - db "なあ@@@", $cc, $3, $0 - db "なんて@@", $f4, $3, $0 - db "なんでも@", $fc, $3, $0 - db "なんとか@", $fe, $3, $0 - db "には@@@", $8, $4, $0 - db "バッチり@", $46, $4, $0 - db "ばりばり@", $52, $4, $0 - db "ほど@@@", $b0, $4, $0 - db "ほんと@@", $be, $4, $0 - db "まさに@@", $d0, $4, $0 - db "マジ@@@", $d2, $4, $0 - db "マジで@@", $d4, $4, $0 - db "まったく@", $e4, $4, $0 - db "まで@@@", $e6, $4, $0 - db "まるで@@", $ec, $4, $0 - db "ムード@@", $e, $5, $0 - db "むしろ@@", $14, $5, $0 - db "めちゃ@@", $24, $5, $0 - db "めっぽう@", $28, $5, $0 - db "もう@@@", $2c, $5, $0 - db "モード@@", $2e, $5, $0 - db "もっと@@", $36, $5, $0 - db "もはや@@", $38, $5, $0 - db "やっと@@", $4a, $5, $0 - db "やっぱり@", $4c, $5, $0 - db "より@@@", $7c, $5, $0 - db "れば@@@", $a4, $5, $0 - -.Feelings: ; 11e4e8 - db "あいたい@", $1a, $0, $0 - db "あそびたい", $32, $0, $0 - db "いきたい@", $7c, $0, $0 - db "うかれて@", $b4, $0, $0 - db "うれしい@", $c6, $0, $0 - db "うれしさ@", $c8, $0, $0 - db "エキサイト", $d8, $0, $0 - db "えらい@@", $de, $0, $0 - db "おかしい@", $ec, $0, $0 - db "ォッケー@", $8, $1, $0 - db "かえりたい", $48, $1, $0 - db "がっくし@", $5a, $1, $0 - db "かなしい@", $6c, $1, $0 - db "がんばって", $80, $1, $0 - db "きがしない", $86, $1, $0 - db "きがする@", $88, $1, $0 - db "ききたい@", $8a, $1, $0 - db "きになる@", $90, $1, $0 - db "きのせい@", $96, $1, $0 - db "きらい@@", $b4, $1, $0 - db "くやしい@", $be, $1, $0 - db "くやしさ@", $c0, $1, $0 - db "さみしい@", $24, $2, $0 - db "ざんねん@", $32, $2, $0 - db "しあわせ@", $36, $2, $0 - db "したい@@", $44, $2, $0 - db "したくない", $46, $2, $0 - db "しまった@", $64, $2, $0 - db "しょんぼり", $82, $2, $0 - db "すき@@@", $92, $2, $0 - db "だいきらい", $da, $2, $0 - db "たいくつ@", $dc, $2, $0 - db "だいじ@@", $de, $2, $0 - db "だいすき@", $e4, $2, $0 - db "たいへん@", $ea, $2, $0 - db "たのしい@", $0, $3, $0 - db "たのしすぎ", $2, $3, $0 - db "たべたい@", $8, $3, $0 - db "ダメダメ@", $e, $3, $0 - db "たりない@", $16, $3, $0 - db "ちくしょー", $34, $3, $0 - db "どうしよう", $9e, $3, $0 - db "ドキドキ@", $ac, $3, $0 - db "ナイス@@", $d0, $3, $0 - db "のみたい@", $26, $4, $0 - db "びっくり@", $60, $4, $0 - db "ふあん@@", $74, $4, $0 - db "ふらふら@", $86, $4, $0 - db "ほしい@@", $ae, $4, $0 - db "ボロボロ@", $b8, $4, $0 - db "まだまだ@", $e0, $4, $0 - db "まてない@", $e8, $4, $0 - db "まんぞく@", $f0, $4, $0 - db "みたい@@", $f8, $4, $0 - db "めずらしい", $22, $5, $0 - db "メラメラ@", $2a, $5, $0 - db "やだ@@@", $46, $5, $0 - db "やったー@", $48, $5, $0 - db "やばい@@", $50, $5, $0 - db "やばすぎる", $52, $5, $0 - db "やられた@", $54, $5, $0 - db "やられて@", $56, $5, $0 - db "よかった@", $6e, $5, $0 - db "ラブラブ@", $96, $5, $0 - db "ロマン@@", $a8, $5, $0 - db "ろんがい@", $aa, $5, $0 - db "わから@@", $b4, $5, $0 - db "わかり@@", $b6, $5, $0 - db "わくわく@", $ba, $5, $0 - -.Conditions: ; 11e710 - db "あつい@@", $38, $0, $0 - db "あった@@", $3a, $0, $0 - db "あり@@@", $56, $0, $0 - db "ある@@@", $5e, $0, $0 - db "あわてて@", $6a, $0, $0 - db "いい@@@", $70, $0, $0 - db "いか@@@", $76, $0, $0 - db "イカス@@", $78, $0, $0 - db "いきおい@", $7a, $0, $0 - db "いける@@", $8a, $0, $0 - db "いじょう@", $8c, $0, $0 - db "いそがしい", $90, $0, $0 - db "いっしょに", $9a, $0, $0 - db "いっぱい@", $9c, $0, $0 - db "いない@@", $a0, $0, $0 - db "いや@@@", $a4, $0, $0 - db "いる@@@", $a8, $0, $0 - db "うまい@@", $c0, $0, $0 - db "うまく@@", $c2, $0, $0 - db "おおきい@", $e6, $0, $0 - db "おくれ@@", $f2, $0, $0 - db "おしい@@", $fa, $0, $0 - db "おもしろい", $2c, $1, $0 - db "おもしろく", $2e, $1, $0 - db "かっこいい", $5c, $1, $0 - db "かわいい@", $7e, $1, $0 - db "かんぺき@", $82, $1, $0 - db "けっこう@", $d0, $1, $0 - db "げんき@@", $d8, $1, $0 - db "こわい@@", $6, $2, $0 - db "さいこう@", $14, $2, $0 - db "さむい@@", $26, $2, $0 - db "さわやか@", $2c, $2, $0 - db "しかたない", $38, $2, $0 - db "すごい@@", $96, $2, $0 - db "すごすぎ@", $9c, $2, $0 - db "すてき@@", $a4, $2, $0 - db "たいした@", $e0, $2, $0 - db "だいじょぶ", $e2, $2, $0 - db "たかい@@", $ec, $2, $0 - db "ただしい@", $f8, $2, $0 - db "だめ@@@", $c, $3, $0 - db "ちいさい@", $2c, $3, $0 - db "ちがう@@", $30, $3, $0 - db "つかれ@@", $48, $3, $0 - db "とくい@@", $b0, $3, $0 - db "とまらない", $b6, $3, $0 - db "ない@@@", $ce, $3, $0 - db "なかった@", $d2, $3, $0 - db "なし@@@", $d8, $3, $0 - db "なって@@", $dc, $3, $0 - db "はやい@@", $50, $4, $0 - db "ひかる@@", $5a, $4, $0 - db "ひくい@@", $5c, $4, $0 - db "ひどい@@", $64, $4, $0 - db "ひとりで@", $66, $4, $0 - db "ひま@@@", $68, $4, $0 - db "ふそく@@", $76, $4, $0 - db "へた@@@", $8c, $4, $0 - db "まちがって", $e2, $4, $0 - db "やさしい@", $42, $5, $0 - db "よく@@@", $70, $5, $0 - db "よわって@", $86, $5, $0 - db "らく@@@", $8c, $5, $0 - db "らしい@@", $90, $5, $0 - db "わるい@@", $d4, $5, $0 - -.Life: ; 11e920 - db "アルバイト", $64, $0, $0 - db "うち@@@", $ba, $0, $0 - db "おかね@@", $ee, $0, $0 - db "おこづかい", $f4, $0, $0 - db "おふろ@@", $24, $1, $0 - db "がっこう@", $5e, $1, $0 - db "きねん@@", $92, $1, $0 - db "グループ@", $c6, $1, $0 - db "ゲット@@", $d2, $1, $0 - db "こうかん@", $de, $1, $0 - db "しごと@@", $40, $2, $0 - db "しゅぎょう", $74, $2, $0 - db "じゅぎょう", $76, $2, $0 - db "じゅく@@", $78, $2, $0 - db "しんか@@", $88, $2, $0 - db "ずかん@@", $90, $2, $0 - db "せいかつ@", $ae, $2, $0 - db "せんせい@", $b8, $2, $0 - db "センター@", $ba, $2, $0 - db "タワー@@", $28, $3, $0 - db "つうしん@", $40, $3, $0 - db "テスト@@", $7e, $3, $0 - db "テレビ@@", $8c, $3, $0 - db "でんわ@@", $96, $3, $0 - db "どうぐ@@", $9a, $3, $0 - db "トレード@", $c4, $3, $0 - db "なまえ@@", $e8, $3, $0 - db "ニュース@", $a, $4, $0 - db "にんき@@", $c, $4, $0 - db "パーティー", $2e, $4, $0 - db "べんきょう", $92, $4, $0 - db "マシン@@", $d6, $4, $0 - db "めいし@@", $1e, $5, $0 - db "メッセージ", $26, $5, $0 - db "もようがえ", $3a, $5, $0 - db "ゆめ@@@", $5a, $5, $0 - db "ようちえん", $66, $5, $0 - db "ラジォ@@", $92, $5, $0 - db "ワールド@", $ae, $5, $0 - -.Hobbies: ; 11ea58 - db "アイドル@", $1e, $0, $0 - db "アニメ@@", $4c, $0, $0 - db "うた@@@", $b8, $0, $0 - db "えいが@@", $d0, $0, $0 - db "おかし@@", $ea, $0, $0 - db "おしゃべり", $4, $1, $0 - db "おままごと", $28, $1, $0 - db "おもちゃ@", $30, $1, $0 - db "おんがく@", $38, $1, $0 - db "カード@@", $3e, $1, $0 - db "かいもの@", $46, $1, $0 - db "グルメ@@", $c8, $1, $0 - db "ゲーム@@", $cc, $1, $0 - db "ざっし@@", $1c, $2, $0 - db "さんぽ@@", $34, $2, $0 - db "じてんしゃ", $50, $2, $0 - db "しゅみ@@", $7a, $2, $0 - db "スポーツ@", $a8, $2, $0 - db "ダイエット", $d8, $2, $0 - db "たからもの", $f0, $2, $0 - db "たび@@@", $4, $3, $0 - db "ダンス@@", $2a, $3, $0 - db "つり@@@", $60, $3, $0 - db "デート@@", $6a, $3, $0 - db "でんしゃ@", $92, $3, $0 - db "ぬいぐるみ", $e, $4, $0 - db "パソコン@", $3e, $4, $0 - db "はな@@@", $4c, $4, $0 - db "ヒーロー@", $58, $4, $0 - db "ひるね@@", $6e, $4, $0 - db "ヒロイン@", $70, $4, $0 - db "ぼうけん@", $96, $4, $0 - db "ボード@@", $9a, $4, $0 - db "ボール@@", $9e, $4, $0 - db "ほん@@@", $ba, $4, $0 - db "マンガ@@", $ee, $4, $0 - db "やくそく@", $40, $5, $0 - db "やすみ@@", $44, $5, $0 - db "よてい@@", $74, $5, $0 - -.Actions: ; 11eb90 - db "あう@@@", $20, $0, $0 - db "あきらめ@", $24, $0, $0 - db "あげる@@", $28, $0, $0 - db "あせる@@", $2e, $0, $0 - db "あそび@@", $30, $0, $0 - db "あそぶ@@", $34, $0, $0 - db "あつめ@@", $3e, $0, $0 - db "あるき@@", $60, $0, $0 - db "あるく@@", $62, $0, $0 - db "いく@@@", $7e, $0, $0 - db "いけ@@@", $86, $0, $0 - db "おき@@@", $f0, $0, $0 - db "おこり@@", $f6, $0, $0 - db "おこる@@", $f8, $0, $0 - db "おしえ@@", $fe, $0, $0 - db "おしえて@", $0, $1, $0 - db "おねがい@", $1a, $1, $0 - db "おぼえ@@", $26, $1, $0 - db "かえる@@", $4a, $1, $0 - db "がまん@@", $74, $1, $0 - db "きく@@@", $8c, $1, $0 - db "きたえ@@", $8e, $1, $0 - db "きめ@@@", $a6, $1, $0 - db "くる@@@", $c4, $1, $0 - db "さがし@@", $18, $2, $0 - db "さわぎ@@", $2a, $2, $0 - db "した@@@", $42, $2, $0 - db "しって@@", $4a, $2, $0 - db "して@@@", $4e, $2, $0 - db "しない@@", $52, $2, $0 - db "しまう@@", $60, $2, $0 - db "じまん@@", $66, $2, $0 - db "しらない@", $84, $2, $0 - db "しる@@@", $86, $2, $0 - db "しんじて@", $8a, $2, $0 - db "する@@@", $aa, $2, $0 - db "たべる@@", $a, $3, $0 - db "つかう@@", $42, $3, $0 - db "つかえ@@", $44, $3, $0 - db "つかって@", $46, $3, $0 - db "できない@", $70, $3, $0 - db "できる@@", $72, $3, $0 - db "でない@@", $84, $3, $0 - db "でる@@@", $8a, $3, $0 - db "なげる@@", $d6, $3, $0 - db "なやみ@@", $ea, $3, $0 - db "ねられ@@", $18, $4, $0 - db "ねる@@@", $1a, $4, $0 - db "のがし@@", $24, $4, $0 - db "のむ@@@", $28, $4, $0 - db "はしり@@", $3a, $4, $0 - db "はしる@@", $3c, $4, $0 - db "はたらき@", $40, $4, $0 - db "はたらく@", $42, $4, $0 - db "はまって@", $4e, $4, $0 - db "ぶつけ@@", $7a, $4, $0 - db "ほめ@@@", $b4, $4, $0 - db "みせて@@", $f6, $4, $0 - db "みて@@@", $fc, $4, $0 - db "みる@@@", $2, $5, $0 - db "めざす@@", $20, $5, $0 - db "もって@@", $34, $5, $0 - db "ゆずる@@", $58, $5, $0 - db "ゆるす@@", $5c, $5, $0 - db "ゆるせ@@", $5e, $5, $0 - db "られない@", $9a, $5, $0 - db "られる@@", $9c, $5, $0 - db "わかる@@", $b8, $5, $0 - db "わすれ@@", $c0, $5, $0 - -.Time: ; 11edb8 - db "あき@@@", $22, $0, $0 - db "あさ@@@", $2a, $0, $0 - db "あした@@", $2c, $0, $0 - db "いちにち@", $94, $0, $0 - db "いつか@@", $98, $0, $0 - db "いつも@@", $9e, $0, $0 - db "いま@@@", $a2, $0, $0 - db "えいえん@", $ce, $0, $0 - db "おととい@", $12, $1, $0 - db "おわり@@", $36, $1, $0 - db "かようび@", $78, $1, $0 - db "きのう@@", $94, $1, $0 - db "きょう@@", $b0, $1, $0 - db "きんようび", $b8, $1, $0 - db "げつようび", $d4, $1, $0 - db "このあと@", $f4, $1, $0 - db "このまえ@", $f6, $1, $0 - db "こんど@@", $c, $2, $0 - db "じかん@@", $3c, $2, $0 - db "じゅうねん", $70, $2, $0 - db "すいようび", $8e, $2, $0 - db "スタート@", $9e, $2, $0 - db "ずっと@@", $a2, $2, $0 - db "ストップ@", $a6, $2, $0 - db "そのうち@", $c4, $2, $0 - db "ついに@@", $3e, $3, $0 - db "つぎ@@@", $4a, $3, $0 - db "どようび@", $ba, $3, $0 - db "なつ@@@", $da, $3, $0 - db "にちようび", $6, $4, $0 - db "はじめ@@", $38, $4, $0 - db "はる@@@", $54, $4, $0 - db "ひる@@@", $6c, $4, $0 - db "ふゆ@@@", $84, $4, $0 - db "まいにち@", $c6, $4, $0 - db "もくようび", $30, $5, $0 - db "よなか@@", $76, $5, $0 - db "よる@@@", $7e, $5, $0 - db "らいしゅう", $88, $5, $0 - -.Farewells: ; 11eef0 - db "いたします", $92, $0, $0 - db "おります@", $32, $1, $0 - db "か!?@@", $3c, $1, $0 - db "かい?@@", $44, $1, $0 - db "かしら?@", $50, $1, $0 - db "かな?@@", $6a, $1, $0 - db "かも@@@", $76, $1, $0 - db "くれ@@@", $ca, $1, $0 - db "ございます", $e8, $1, $0 - db "しがち@@", $3a, $2, $0 - db "します@@", $62, $2, $0 - db "じゃ@@@", $6a, $2, $0 - db "じゃん@@", $6e, $2, $0 - db "しよう@@", $7c, $2, $0 - db "ぜ!@@@", $ac, $2, $0 - db "ぞ!@@@", $bc, $2, $0 - db "た@@@@", $d4, $2, $0 - db "だ@@@@", $d6, $2, $0 - db "だからね@", $ee, $2, $0 - db "だぜ@@@", $f4, $2, $0 - db "だった@@", $fa, $2, $0 - db "だね@@@", $fe, $2, $0 - db "だよ@@@", $10, $3, $0 - db "だよねー!", $12, $3, $0 - db "だわ@@@", $26, $3, $0 - db "ッス@@@", $4c, $3, $0 - db "ってかんじ", $52, $3, $0 - db "っぱなし@", $54, $3, $0 - db "つもり@@", $56, $3, $0 - db "ていない@", $64, $3, $0 - db "ている@@", $66, $3, $0 - db "でーす!@", $68, $3, $0 - db "でした@@", $74, $3, $0 - db "でしょ?@", $76, $3, $0 - db "でしょー!", $78, $3, $0 - db "です@@@", $7a, $3, $0 - db "ですか?@", $7c, $3, $0 - db "ですよ@@", $80, $3, $0 - db "ですわ@@", $82, $3, $0 - db "どうなの?", $a4, $3, $0 - db "どうよ?@", $a8, $3, $0 - db "とかいって", $aa, $3, $0 - db "なの@@@", $e0, $3, $0 - db "なのか@@", $e2, $3, $0 - db "なのだ@@", $e4, $3, $0 - db "なのよ@@", $e6, $3, $0 - db "なんだね@", $f2, $3, $0 - db "なんです@", $f8, $3, $0 - db "なんてね@", $fa, $3, $0 - db "ね@@@@", $12, $4, $0 - db "ねー@@@", $14, $4, $0 - db "の@@@@", $1c, $4, $0 - db "の?@@@", $1e, $4, $0 - db "ばっかり@", $44, $4, $0 - db "まーす!@", $c2, $4, $0 - db "ます@@@", $d8, $4, $0 - db "ますわ@@", $da, $4, $0 - db "ません@@", $dc, $4, $0 - db "みたいな@", $fa, $4, $0 - db "よ!@@@", $60, $5, $0 - db "よー@@@", $68, $5, $0 - db "よーん@@", $6c, $5, $0 - db "よね@@@", $78, $5, $0 - db "るよ@@@", $a2, $5, $0 - db "わけ@@@", $bc, $5, $0 - db "わよ!@@", $d2, $5, $0 - -.ThisAndThat: ; 11f100 - db "ああ@@@", $12, $0, $0 - db "あっち@@", $3c, $0, $0 - db "あの@@@", $4e, $0, $0 - db "ありゃ@@", $5c, $0, $0 - db "あれ@@@", $66, $0, $0 - db "あれは@@", $68, $0, $0 - db "あんな@@", $6c, $0, $0 - db "こう@@@", $dc, $1, $0 - db "こっち@@", $ec, $1, $0 - db "この@@@", $f2, $1, $0 - db "こりゃ@@", $fe, $1, $0 - db "これ@@@", $0, $2, $0 - db "これだ!@", $2, $2, $0 - db "これは@@", $4, $2, $0 - db "こんな@@", $e, $2, $0 - db "そう@@@", $be, $2, $0 - db "そっち@@", $c0, $2, $0 - db "その@@@", $c2, $2, $0 - db "そりゃ@@", $c6, $2, $0 - db "それ@@@", $c8, $2, $0 - db "それだ!@", $cc, $2, $0 - db "それは@@", $d0, $2, $0 - db "そんな@@", $d2, $2, $0 - db "どう@@@", $98, $3, $0 - db "どっち@@", $b2, $3, $0 - db "どの@@@", $b4, $3, $0 - db "どりゃ@@", $c0, $3, $0 - db "どれ@@@", $c2, $3, $0 - db "どれを@@", $c8, $3, $0 - db "どんな@@", $ca, $3, $0 - db "なに@@@", $de, $3, $0 - db "なんか@@", $ec, $3, $0 - db "なんだ@@", $f0, $3, $0 - db "なんで@@", $f6, $3, $0 - db "なんなんだ", $0, $4, $0 - db "なんの@@", $2, $4, $0 -; 11f220 - -MobileEZChatData_WordAndPageCounts: -macro_11f220: macro -; parameter: number of words - db \1 -; 12 words per page (0-based indexing) -x = \1 / 12 -if \1 % 12 == 0 -x = x +- 1 -endc - db x -endm - macro_11f220 18 ; 01: Types - macro_11f220 36 ; 02: Greetings - macro_11f220 69 ; 03: People - macro_11f220 69 ; 04: Battle - macro_11f220 66 ; 05: Exclamations - macro_11f220 66 ; 06: Conversation - macro_11f220 69 ; 07: Feelings - macro_11f220 66 ; 08: Conditions - macro_11f220 39 ; 09: Life - macro_11f220 39 ; 0a: Hobbies - macro_11f220 69 ; 0b: Actions - macro_11f220 39 ; 0c: Time - macro_11f220 66 ; 0d: Farewells - macro_11f220 36 ; 0e: ThisAndThat - -EZChat_SortedWords: -; Addresses in WRAM bank 3 where EZChat words beginning -; with the given kana are sorted in memory, and the pre- -; allocated size for each. -; These arrays are expanded dynamically to accomodate -; any Pokemon you've seen that starts with each kana.\ -macro_11f23c: macro - dw x - w3_d000, \1 -x = x + 2 * \1 -endm -x = $d012 - macro_11f23c $2f ; a - macro_11f23c $1e ; i - macro_11f23c $11 ; u - macro_11f23c $09 ; e - macro_11f23c $2e ; o - macro_11f23c $24 ; ka_ga - macro_11f23c $1b ; ki_gi - macro_11f23c $09 ; ku_gu - macro_11f23c $07 ; ke_ge - macro_11f23c $1c ; ko_go - macro_11f23c $12 ; sa_za - macro_11f23c $2b ; shi_ji - macro_11f23c $10 ; su_zu - macro_11f23c $08 ; se_ze - macro_11f23c $0c ; so_zo - macro_11f23c $2c ; ta_da - macro_11f23c $09 ; chi_dhi - macro_11f23c $12 ; tsu_du - macro_11f23c $1b ; te_de - macro_11f23c $1a ; to_do - macro_11f23c $1c ; na - macro_11f23c $05 ; ni - macro_11f23c $02 ; nu - macro_11f23c $05 ; ne - macro_11f23c $07 ; no - macro_11f23c $16 ; ha_ba_pa - macro_11f23c $0e ; hi_bi_pi - macro_11f23c $0c ; fu_bu_pu - macro_11f23c $05 ; he_be_pe - macro_11f23c $16 ; ho_bo_po - macro_11f23c $19 ; ma - macro_11f23c $0e ; mi - macro_11f23c $08 ; mu - macro_11f23c $07 ; me - macro_11f23c $09 ; mo - macro_11f23c $0d ; ya - macro_11f23c $04 ; yu - macro_11f23c $14 ; yo - macro_11f23c $0b ; ra - macro_11f23c $01 ; ri - macro_11f23c $02 ; ru - macro_11f23c $02 ; re - macro_11f23c $02 ; ro - macro_11f23c $15 ; wa -x = $d000 - macro_11f23c $09 ; end -EZChat_SortedWordsEnd: diff --git a/misc/gbc_only.asm b/misc/gbc_only.asm deleted file mode 100644 index a77a44d72..000000000 --- a/misc/gbc_only.asm +++ /dev/null @@ -1,149 +0,0 @@ -GBCOnlyScreen: ; 4ea82 - - ld a, [hCGB] - and a - ret nz - - ld de, MUSIC_NONE - call PlayMusic - - call ClearTileMap - - ld hl, GBCOnlyGFX - ld de, $d000 - ld a, [rSVBK] - push af - ld a, 0 - ld [rSVBK], a - call Decompress - pop af - ld [rSVBK], a - - ld de, $d000 - ld hl, VTiles2 - lb bc, BANK(GBCOnlyGFX), $54 - call Get2bpp - - ld de, Font - ld hl, VTiles1 - lb bc, BANK(Font), $80 - call Get1bpp - - call DrawGBCOnlyScreen - - call WaitBGMap - -; better luck next time -.loop - call DelayFrame - jr .loop -; 4eac5 - - -DrawGBCOnlyScreen: ; 4eac5 - - call DrawGBCOnlyBorder - - ; Pokemon - hlcoord 3, 2 - ld b, 14 - ld c, 4 - ld a, $8 - call DrawGBCOnlyGraphic - - ; Crystal - hlcoord 5, 6 - ld b, 10 - ld c, 2 - ld a, $40 - call DrawGBCOnlyGraphic - - ld de, GBCOnlyString - hlcoord 1, 10 - call PlaceString - - ret -; 4eaea - - -DrawGBCOnlyBorder: ; 4eaea - - hlcoord 0, 0 - ld [hl], 0 ; top-left - - inc hl - ld a, 1 ; top - call .FillRow - - ld [hl], 2 ; top-right - - hlcoord 0, 1 - ld a, 3 ; left - call .FillColumn - - hlcoord 19, 1 - ld a, 4 ; right - call .FillColumn - - hlcoord 0, 17 - ld [hl], 5 ; bottom-left - - inc hl - ld a, 6 ; bottom - call .FillRow - - ld [hl], 7 ; bottom-right - ret -; 4eb15 - -.FillRow: ; 4eb15 - ld c, SCREEN_WIDTH - 2 -.next_column - ld [hli], a - dec c - jr nz, .next_column - ret -; 4eb1c - -.FillColumn: ; 4eb1c - ld de, SCREEN_WIDTH - ld c, SCREEN_HEIGHT - 2 -.next_row - ld [hl], a - add hl, de - dec c - jr nz, .next_row - ret -; 4eb27 - - -DrawGBCOnlyGraphic: ; 4eb27 - ld de, SCREEN_WIDTH -.y - push bc - push hl -.x - ld [hli], a - inc a - dec b - jr nz, .x - pop hl - add hl, de - pop bc - dec c - jr nz, .y - ret -; 4eb38 - - -GBCOnlyString: ; 4eb38 - db "This Game Pak is" - next "designed only for" - next "use on the" - next "Game Boy Color.@" -; 4eb76 - - -GBCOnlyGFX: ; 4eb76 -INCBIN "gfx/sgb/gbc_only.2bpp.lz" -; 4f0bc diff --git a/misc/gfx_41.asm b/misc/gfx_41.asm deleted file mode 100755 index f627c85ff..000000000 --- a/misc/gfx_41.asm +++ /dev/null @@ -1,638 +0,0 @@ -HDMATransferAttrMapAndTileMapToWRAMBank3:: ; 104000 - ld hl, .Function - jp CallInSafeGFXMode - -.Function: - decoord 0, 0, AttrMap - ld hl, wScratchAttrMap - call CutAndPasteAttrMap - decoord 0, 0 - ld hl, wScratchTileMap - call CutAndPasteTilemap - ld a, $0 - ld [rVBK], a - ld hl, wScratchTileMap - call HDMATransferToWRAMBank3 - ld a, $1 - ld [rVBK], a - ld hl, wScratchAttrMap - call HDMATransferToWRAMBank3 - ret -; 10402d - -HDMATransferTileMapToWRAMBank3:: ; 10402d - ld hl, .Function - jp CallInSafeGFXMode - -.Function: - decoord 0, 0 - ld hl, wScratchTileMap - call CutAndPasteTilemap - ld a, $0 - ld [rVBK], a - ld hl, wScratchTileMap - call HDMATransferToWRAMBank3 - ret -; 104047 - -HDMATransferAttrMapToWRAMBank3: ; 104047 - ld hl, .Function - jp CallInSafeGFXMode - -.Function: - decoord 0, 0, AttrMap - ld hl, wScratchAttrMap - call CutAndPasteAttrMap - ld a, $1 - ld [rVBK], a - ld hl, wScratchAttrMap - call HDMATransferToWRAMBank3 - ret -; 104061 - -ReloadMapPart:: ; 104061 - ld hl, .Function - jp CallInSafeGFXMode - -.Function: - decoord 0, 0, AttrMap - ld hl, wScratchAttrMap - call CutAndPasteAttrMap - decoord 0, 0 - ld hl, wScratchTileMap - call CutAndPasteTilemap - call DelayFrame - - di - ld a, [rVBK] - push af - ld a, $1 - ld [rVBK], a - ld hl, wScratchAttrMap - call HDMATransfer_Wait127Scanlines_toBGMap - ld a, $0 - ld [rVBK], a - ld hl, wScratchTileMap - call HDMATransfer_Wait127Scanlines_toBGMap - pop af - ld [rVBK], a - ei - - ret - -Mobile_ReloadMapPart: ; 104099 - ld hl, ReloadMapPart ; useless - ld hl, .Function - jp CallInSafeGFXMode - -.Function: - decoord 0, 0, AttrMap - ld hl, wScratchAttrMap - call CutAndPasteAttrMap - decoord 0, 0 - ld hl, wScratchTileMap - call CutAndPasteTilemap - call DelayFrame - - di - ld a, [rVBK] - push af - ld a, $1 - ld [rVBK], a - ld hl, wScratchAttrMap - call HDMATransfer_NoDI - ld a, $0 - ld [rVBK], a - ld hl, wScratchTileMap - call HDMATransfer_NoDI - pop af - ld [rVBK], a - ei - - ret -; 1040d4 - -; XXX - ld hl, .unreferenced_1040da - jp CallInSafeGFXMode - -.unreferenced_1040da - ld a, $1 - ld [rVBK], a - ld a, $3 - ld [rSVBK], a - ld de, w3_d800 - ld a, [hBGMapAddress + 1] - ld [rHDMA1], a - ld a, [hBGMapAddress] - ld [rHDMA2], a - ld a, d - ld [rHDMA3], a - ld a, e - ld [rHDMA4], a - ld a, $23 - ld [hDMATransfer], a - call WaitDMATransfer - ret -; 1040fb - -; XXX - ld hl, .unreferenced_104101 - jp CallInSafeGFXMode - -.unreferenced_104101 - ld a, $1 - ld [rVBK], a - ld a, $3 - ld [rSVBK], a - ld hl, w3_d800 - call HDMATransferToWRAMBank3 - ret -; 104110 - -OpenAndCloseMenu_HDMATransferTileMapAndAttrMap:: ; 104110 -; OpenText - ld hl, .Function - jp CallInSafeGFXMode - -.Function: - ; Transfer AttrMap and Tilemap to BGMap - ; Fill vBGAttrs with $00 - ; Fill vBGTiles with " " - decoord 0, 0, AttrMap - ld hl, wScratchAttrMap - call CutAndPasteAttrMap - decoord 0, 0 - ld hl, wScratchTileMap - call CutAndPasteTilemap - call DelayFrame - - di - ld a, [rVBK] - push af - ld a, $1 - ld [rVBK], a - ld hl, wScratchAttrMap - call HDMATransfer_Wait123Scanlines_toBGMap - ld a, $0 - ld [rVBK], a - ld hl, wScratchTileMap - call HDMATransfer_Wait123Scanlines_toBGMap - pop af - ld [rVBK], a - ei - ret -; 104148 - -Mobile_OpenAndCloseMenu_HDMATransferTileMapAndAttrMap: ; 104148 (41:4148) - ld hl, .Function - jp CallInSafeGFXMode - -.Function: - ; Transfer AttrMap and Tilemap to BGMap - ; Fill vBGAttrs with $00 - ; Fill vBGTiles with $ff - decoord 0, 0, AttrMap - ld hl, wScratchAttrMap - call CutAndPasteAttrMap - ld c, $ff - decoord 0, 0 - ld hl, wScratchTileMap - call CutAndPasteMap - - ld a, $1 - ld [rVBK], a - ld hl, wScratchAttrMap - call HDMATransfer_Wait127Scanlines_toBGMap - ld a, $0 - ld [rVBK], a - ld hl, wScratchTileMap - call HDMATransfer_Wait127Scanlines_toBGMap - ret -; 104177 - -CallInSafeGFXMode: ; 104177 - ld a, [hBGMapMode] - push af - ld a, [hMapAnims] - push af - xor a - ld [hBGMapMode], a - ld [hMapAnims], a - ld a, [rSVBK] - push af - ld a, $6 - ld [rSVBK], a - ld a, [rVBK] - push af - - call ._hl_ - - pop af - ld [rVBK], a - pop af - ld [rSVBK], a - pop af - ld [hMapAnims], a - pop af - ld [hBGMapMode], a - ret -; 10419c - -._hl_ ; 10419c - jp hl -; 10419d - - -HDMATransferToWRAMBank3: ; 10419d (41:419d) - call _LoadHDMAParameters - ld a, $23 - ld [hDMATransfer], a - -WaitDMATransfer: ; 104a14 -.loop - call DelayFrame - ld a, [hDMATransfer] - and a - jr nz, .loop - ret - -HDMATransfer_Wait127Scanlines_toBGMap: ; 1041ad (41:41ad) -; HDMA transfer from hl to [hBGMapAddress] -; hBGMapAddress -> de -; 2 * SCREEN_HEIGHT -> c - ld a, [hBGMapAddress + 1] - ld d, a - ld a, [hBGMapAddress] - ld e, a - ld c, 2 * SCREEN_HEIGHT - jr HDMATransfer_Wait127Scanlines - -HDMATransfer_Wait123Scanlines_toBGMap: ; 1041b7 (41:41b7) -; HDMA transfer from hl to [hBGMapAddress] -; hBGMapAddress -> de -; 2 * SCREEN_HEIGHT -> c -; $7b --> b - ld a, [hBGMapAddress + 1] - ld d, a - ld a, [hBGMapAddress] - ld e, a - ld c, 2 * SCREEN_HEIGHT - jr HDMATransfer_Wait123Scanlines -; 1041c1 (41:41c1) - -HDMATransfer_NoDI: ; 1041c1 -; HDMA transfer from hl to [hBGMapAddress] -; [hBGMapAddress] --> de -; 2 * SCREEN_HEIGHT --> c - ld a, [hBGMapAddress + 1] - ld d, a - ld a, [hBGMapAddress] - ld e, a - ld c, 2 * SCREEN_HEIGHT - - ; [rHDMA1, rHDMA2] = hl & $fff0 - ld a, h - ld [rHDMA1], a - ld a, l - and $f0 - ld [rHDMA2], a - ; [rHDMA3, rHDMA4] = de & $1ff0 - ld a, d - and $1f - ld [rHDMA3], a - ld a, e - and $f0 - ld [rHDMA4], a - ; b = c | %10000000 - ld a, c - dec c - or $80 - ld b, a - ; d = $7f - c + 1 - ld a, $7f - sub c - ld d, a - ; while [rLY] >= d: pass -.loop1 - ld a, [rLY] - cp d - jr nc, .loop1 - ; while not [rSTAT] & 3: pass -.loop2 - ld a, [rSTAT] - and $3 - jr z, .loop2 - ; load the 5th byte of HDMA - ld a, b - ld [rHDMA5], a - ; wait until rLY advances (c + 1) times - ld a, [rLY] - inc c - ld hl, rLY -.loop3 - cp [hl] - jr z, .loop3 - ld a, [hl] - dec c - jr nz, .loop3 - ld hl, rHDMA5 - res 7, [hl] - ret -; 104205 - -HDMATransfer_Wait123Scanlines: - ld b, $7b - jr _continue_HDMATransfer - - -HDMATransfer_Wait127Scanlines: - ld b, $7f -_continue_HDMATransfer: -; a lot of waiting around for hardware registers - ; [rHDMA1, rHDMA2] = hl & $fff0 - ld a, h - ld [rHDMA1], a - ld a, l - and $f0 ; high nybble - ld [rHDMA2], a - ; [rHDMA3, rHDMA4] = de & $1ff0 - ld a, d - and $1f ; lower 5 bits - ld [rHDMA3], a - ld a, e - and $f0 ; high nybble - ld [rHDMA4], a - ; e = c | %10000000 - ld a, c - dec c - or $80 - ld e, a - ; d = b - c + 1 - ld a, b - sub c - ld d, a - ; while [rLY] >= d: pass -.ly_loop - ld a, [rLY] - cp d - jr nc, .ly_loop - - di - ; while [rSTAT] & 3: pass -.rstat_loop_1 - ld a, [rSTAT] - and $3 - jr nz, .rstat_loop_1 - ; while not [rSTAT] & 3: pass -.rstat_loop_2 - ld a, [rSTAT] - and $3 - jr z, .rstat_loop_2 - ; load the 5th byte of HDMA - ld a, e - ld [rHDMA5], a - ; wait until rLY advances (c + 1) times - ld a, [rLY] - inc c - ld hl, rLY -.final_ly_loop - cp [hl] - jr z, .final_ly_loop - ld a, [hl] - dec c - jr nz, .final_ly_loop - ld hl, rHDMA5 - res 7, [hl] - ei - - ret -; 10424e - - -_LoadHDMAParameters: ; 10424e (41:424e) - ld a, h - ld [rHDMA1], a - ld a, l - ld [rHDMA2], a - ld a, [hBGMapAddress + 1] - and $1f - ld [rHDMA3], a - ld a, [hBGMapAddress] - ld [rHDMA4], a - ret - -CutAndPasteTilemap: ; 10425f (41:425f) - ld c, " " - jr CutAndPasteMap - -CutAndPasteAttrMap: ; 104263 (41:4263) - ld c, $0 - -CutAndPasteMap: ; 104265 (41:4265) -; back up the value of c to hMapObjectIndexBuffer - ld a, [hMapObjectIndexBuffer] - push af - ld a, c - ld [hMapObjectIndexBuffer], a - -; for each row on the screen - ld c, SCREEN_HEIGHT -.loop1 -; for each tile in the row - ld b, SCREEN_WIDTH -.loop2 -; copy from de to hl - ld a, [de] - inc de - ld [hli], a - dec b - jr nz, .loop2 - -; load the original value of c into hl 12 times - ld a, [hMapObjectIndexBuffer] - ld b, BG_MAP_WIDTH - SCREEN_WIDTH -.loop3 - ld [hli], a - dec b - jr nz, .loop3 - - dec c - jr nz, .loop1 - -; restore the original value of hMapObjectIndexBuffer - pop af - ld [hMapObjectIndexBuffer], a - ret - - -_Get2bpp:: ; 104284 - ; 2bpp when [rLCDC] & $80 - ; switch to WRAM bank 6 - ld a, [rSVBK] - push af - ld a, $6 - ld [rSVBK], a - - push bc - push hl - - ; Copy c tiles of the 2bpp from b:de to wScratchTileMap - ld a, b ; bank - ld l, c ; number of tiles - ld h, $0 - ; multiply by 16 (16 bytes of a 2bpp = 8 x 8 tile) - add hl, hl - add hl, hl - add hl, hl - add hl, hl - ld b, h - ld c, l - ld h, d ; address - ld l, e - ld de, wScratchTileMap - call FarCopyBytes - - pop hl - pop bc - - push bc - call DelayFrame - pop bc - - ld d, h - ld e, l - ld hl, wScratchTileMap - call HDMATransfer_Wait127Scanlines - - ; restore the previous bank - pop af - ld [rSVBK], a - ret -; 1042b2 - -_Get1bpp:: ; 1042b2 - ; 1bpp when [rLCDC] & $80 -.loop - ld a, c - cp $10 - jp c, .bankswitch - jp z, .bankswitch - push bc - push hl - push de - ld c, $10 - call .bankswitch - pop de - ld hl, $80 - add hl, de - ld d, h - ld e, l - pop hl - lb bc, 1, 0 - add hl, bc - pop bc - ld a, c - sub $10 - ld c, a - jr .loop -; 1042d6 - -.bankswitch ; 1042d6 - ld a, [rSVBK] - push af - ld a, $6 - ld [rSVBK], a - - push bc - push hl - - ld a, b - ld l, c - ld h, $0 - add hl, hl ; multiply by 8 - add hl, hl ; multiply by 8 - add hl, hl ; multiply by 8 - ld c, l - ld b, h - ld h, d - ld l, e - ld de, wScratchTileMap - call FarCopyBytesDouble_DoubleBankSwitch - - pop hl - pop bc - - push bc - call DelayFrame - pop bc - - ld d, h - ld e, l - ld hl, wScratchTileMap - call HDMATransfer_Wait127Scanlines - - pop af - ld [rSVBK], a - ret -; 104303 - -HDMATransfer_OnlyTopFourRows: ; 104303 - ld hl, .Function - jp CallInSafeGFXMode -; 104309 - -.Function: - ld hl, wScratchTileMap - decoord 0, 0 - call .Copy - ld hl, wScratchTileMap + $80 - decoord 0, 0, AttrMap - call .Copy - ld a, $1 - ld [rVBK], a - ld c, $8 - ld hl, wScratchTileMap + $80 - debgcoord 0, 0, VBGMap1 - call HDMATransfer_Wait127Scanlines - ld a, $0 - ld [rVBK], a - ld c, $8 - ld hl, wScratchTileMap - debgcoord 0, 0, VBGMap1 - call HDMATransfer_Wait127Scanlines - ret - -.Copy: ; 10433a (41:433a) - ld b, 4 -.outer_loop - ld c, SCREEN_WIDTH -.inner_loop - ld a, [de] - ld [hli], a - inc de - dec c - jr nz, .inner_loop - ld a, l - add BG_MAP_WIDTH - SCREEN_WIDTH - ld l, a - ld a, h - adc $0 - ld h, a - dec b - jr nz, .outer_loop - ret -; 104350 - -ShockEmote: INCBIN "gfx/emotes/shock.2bpp" -QuestionEmote: INCBIN "gfx/emotes/question.2bpp" -HappyEmote: INCBIN "gfx/emotes/happy.2bpp" -SadEmote: INCBIN "gfx/emotes/sad.2bpp" -HeartEmote: INCBIN "gfx/emotes/heart.2bpp" -BoltEmote: INCBIN "gfx/emotes/bolt.2bpp" -SleepEmote: INCBIN "gfx/emotes/sleep.2bpp" -FishEmote: INCBIN "gfx/emotes/fish.2bpp" -JumpShadowGFX: INCBIN "gfx/overworld/shadow.2bpp" -FishingRodGFX: INCBIN "gfx/overworld/fishing_rod.2bpp" -BoulderDustGFX: INCBIN "gfx/overworld/boulder_dust.2bpp" -GrassRustleGFX: INCBIN "gfx/overworld/grass_rustle.2bpp" diff --git a/misc/mobile_12.asm b/misc/mobile_12.asm deleted file mode 100755 index efe138162..000000000 --- a/misc/mobile_12.asm +++ /dev/null @@ -1,1845 +0,0 @@ -InitMobileProfile: ; 4802f (12:402f) - xor a - set 6, a - ld [wd002], a - ld hl, wd003 - set 0, [hl] - ld a, c - and a - call z, InitCrystalData - call ClearBGPalettes - call Function48d3d - ld a, [wd479] - bit 1, a - jr z, .not_yet_initialized - ld a, [wd003] - set 0, a - set 1, a - set 2, a - set 3, a - ld [wd003], a -.not_yet_initialized - call Function486bf - call LoadFontsExtra - ld de, GFX_488c3 - ld hl, VTiles2 tile $10 - lb bc, BANK(GFX_488c3), 1 - call Request1bpp - ld de, GFX_488cb - ld hl, VTiles2 tile $11 - lb bc, BANK(GFX_488cb), 1 - call Request1bpp - call Function4a3a7 - call ClearBGPalettes - ld a, [wd002] - bit 6, a - jr z, .asm_4808a - call Function48689 - jr .asm_480d7 -.asm_4808a - ld a, $5 - ld [MusicFade], a - ld a, MUSIC_MOBILE_ADAPTER_MENU % $100 - ld [MusicFadeID], a - ld a, MUSIC_MOBILE_ADAPTER_MENU / $100 - ld [MusicFadeID + 1], a - ld c, 20 - call DelayFrames - ld b, $1 - call GetMysteryGift_MobileAdapterLayout - call ClearBGPalettes - hlcoord 0, 0 - ld b, 2 - ld c, 20 - call ClearBox - hlcoord 0, 1 - ld a, $c - ld [hl], a - ld bc, $13 - add hl, bc - ld [hl], a - ld de, MobileProfileString - hlcoord 1, 1 - call PlaceString - hlcoord 0, 2 - ld b, $a - ld c, $12 - call Function48cdc - hlcoord 2, 4 - ld de, MobileString_Gender - call PlaceString -.asm_480d7 - hlcoord 2, 6 - ld de, MobileString_Age - call PlaceString - hlcoord 2, 8 - ld de, MobileString_Address - call PlaceString - hlcoord 2, 10 - ld de, MobileString_ZipCode - call PlaceString - hlcoord 2, 12 - ld de, MobileString_OK - call PlaceString - ld a, [wd002] - bit 6, a - jr nz, .asm_48113 - ld a, [PlayerGender] - ld hl, Strings_484fb - call GetNthString - ld d, h - ld e, l - hlcoord 11, 4 - call PlaceString -.asm_48113 - hlcoord 11, 6 - call Function487ec - ld a, [wd474] - dec a - ld hl, Prefectures - call GetNthString - ld d, h - ld e, l - hlcoord 11, 8 - call PlaceString - hlcoord 11, 10 - call Function489ea - hlcoord 0, 14 - ld b, $2 - ld c, $12 - call TextBox - hlcoord 1, 16 - ld de, MobileString_PersonalInfo - call PlaceString - call Function48187 - call WaitBGMap2 - call SetPalettes - call StaticMenuJoypad - ld hl, wMenuCursorY - ld b, [hl] - push bc - jr asm_4815f - -Function48157: ; 48157 (12:4157) - call ScrollingMenuJoypad - ld hl, wMenuCursorY - ld b, [hl] - push bc -asm_4815f: ; 4815f (12:415f) - bit A_BUTTON_F, a - jp nz, Function4820d - ld b, a - ld a, [wd002] - bit 6, a - jr z, .dont_check_b_button - ld hl, wd479 - bit 1, [hl] - jr z, .dont_check_b_button - bit B_BUTTON_F, b - jr nz, .b_button -.dont_check_b_button - jp Function48272 - -.b_button - call ClearBGPalettes - call Function48d30 - pop bc - call ClearTileMap - ld a, $ff - ret - -Function48187: ; 48187 (12:4187) - ld a, [wd479] - bit 1, a - jr nz, .asm_481f1 - ld a, [wd003] - ld d, a - call Function48725 - jr c, .asm_481a2 - lb bc, 1, 4 - hlcoord 2, 12 - call ClearBox - jr .asm_481ad -.asm_481a2 - push de - hlcoord 2, 12 - ld de, MobileString_OK - call PlaceString - pop de -.asm_481ad - ld a, [wd002] - bit 6, a - jr nz, .asm_481c1 - bit 0, d - jr nz, .asm_481c1 - lb bc, 1, 8 - hlcoord 11, 4 - call ClearBox -.asm_481c1 - bit 1, d - jr nz, .asm_481ce - lb bc, 1, 8 - hlcoord 11, 6 - call ClearBox -.asm_481ce - bit 2, d - jr nz, .asm_481db - lb bc, 2, 8 - hlcoord 11, 7 - call ClearBox -.asm_481db - bit 3, d - jr nz, .asm_481f1 - ld a, [wd479] - bit 0, a - jr nz, .asm_481f8 - lb bc, 1, 8 - hlcoord 11, 10 - call ClearBox - jr .asm_48201 -.asm_481f1 - ld a, [wd479] - bit 0, a - jr nz, .asm_48201 -.asm_481f8 - hlcoord 11, 10 - ld de, .String_TellLater - call PlaceString -.asm_48201 - ret -; 48202 (12:4202) - -.String_TellLater: ; 48202 - db "Tell Later@" -; 4820d - -Function4820d: ; 4820d (12:420d) - call PlaceHollowCursor - ld hl, wMenuCursorY - ld a, [hl] - push af - ld a, [wd002] - bit 6, a - jr z, .asm_4821f - pop af - inc a - push af -.asm_4821f - pop af - cp $1 - jr z, asm_4828d - cp $2 - jp z, Function4876f - cp $3 - jp z, Function48304 - cp $4 - jp z, Function488d3 - ld a, $2 - call MenuClickSound - ld a, [wd002] - bit 6, a - jr z, .asm_4825c - jr .asm_4825c -; 48241 (12:4241) - - hlcoord 1, 15 - ld b, $2 - ld c, $12 - call ClearBox - ld de, MobileString_ProfileChanged - hlcoord 1, 16 - call PlaceString - call WaitBGMap - ld c, 48 - call DelayFrames - -.asm_4825c - call ClearBGPalettes - call Function48d30 - pop bc - call ClearTileMap - ld b, SCGB_DIPLOMA - call GetSGBLayout - ld hl, wd479 - set 1, [hl] - xor a - ret - -Function48272: ; 48272 (12:4272) - jp Function4840c -; 48275 (12:4275) - -MobileString_PersonalInfo: ; 48275 - db "Personal Info@" -; 48283 - -Function48283: ; 48283 (12:4283) - lb bc, 2, 18 - hlcoord 1, 15 - call ClearBox - ret - -asm_4828d: ; 4828d (12:428d) - call Function48283 - hlcoord 1, 16 - ld de, MobileDesc_Gender - call PlaceString - ld hl, MenuDataHeader_0x484f1 - call LoadMenuDataHeader - call Function4873c - hlcoord 11, 2 - ld b, $4 - ld c, $7 - call Function48cdc - hlcoord 13, 4 - ld de, String_484fb - call PlaceString - hlcoord 13, 6 - ld de, String_484ff - call PlaceString - call WaitBGMap - ld a, [PlayerGender] - inc a - ld [wMenuCursorBuffer], a - call StaticMenuJoypad - call PlayClickSFX - call ExitMenu - bit 0, a - jp z, Function4840c - ld hl, wMenuCursorY - ld a, [hl] - ld hl, Strings_484fb - cp $1 - jr z, .asm_482ed -.asm_482e1 - ld a, [hli] - cp $50 - jr nz, .asm_482e1 - ld a, $1 - ld [PlayerGender], a - jr .asm_482f1 -.asm_482ed - xor a - ld [PlayerGender], a -.asm_482f1 - ld d, h - ld e, l - hlcoord 11, 4 - call PlaceString - ld a, [wd003] - set 0, a - ld [wd003], a - jp Function4840c - -Function48304: ; 48304 (12:4304) - call Function48283 - hlcoord 1, 16 - ld de, MobileDesc_Address - call PlaceString - ld hl, MenuDataHeader_0x48504 - call LoadMenuDataHeader - ld hl, MenuDataHeader_0x48513 - call LoadMenuDataHeader - hlcoord 10, 0 - ld b, $c - ld c, $8 - call Function48cdc - ld a, [wMenuCursorBuffer] - ld b, a - ld a, [wMenuScrollPosition] - ld c, a - push bc - ld a, [wd474] - dec a - cp $29 - jr c, .asm_4833f - sub $29 - inc a - ld [wMenuCursorBuffer], a - ld a, $29 -.asm_4833f - ld [wMenuScrollPosition], a - callba Mobile_OpenAndCloseMenu_HDMATransferTileMapAndAttrMap -.asm_48348 - call ScrollingMenu - ld de, $629 - call Function48383 - jr c, .asm_48348 - ld d, a - pop bc - ld a, b - ld [wMenuCursorBuffer], a - ld a, c - ld [wMenuScrollPosition], a - ld a, d - push af - call ExitMenu - call ExitMenu - pop af - ld a, [hJoyPressed] - bit 0, a - jr z, .asm_48377 - call Function483bb - ld a, [wd003] - set 2, a - ld [wd003], a -.asm_48377 - call Function48187 - callba Mobile_OpenAndCloseMenu_HDMATransferTileMapAndAttrMap - jp Function4840c - -Function48383: ; 48383 (12:4383) - push bc - push af - bit 5, a - jr nz, .asm_48390 - bit 4, a - jr nz, .asm_4839f - and a - jr .asm_483b7 -.asm_48390 - ld a, [wMenuScrollPosition] - sub d - ld [wMenuScrollPosition], a - jr nc, .asm_483af - xor a - ld [wMenuScrollPosition], a - jr .asm_483af -.asm_4839f - ld a, [wMenuScrollPosition] - add d - ld [wMenuScrollPosition], a - cp e - jr c, .asm_483af - ld a, e - ld [wMenuScrollPosition], a - jr .asm_483af -.asm_483af - ld hl, wMenuCursorY - ld a, [hl] - ld [wMenuCursorBuffer], a - scf -.asm_483b7 - pop bc - ld a, b - pop bc - ret - -Function483bb: ; 483bb (12:43bb) - ld hl, wScrollingMenuCursorPosition - ld a, [hl] - inc a - ld [wd474], a - dec a - ld b, a - ld hl, Prefectures -.asm_483c8 - and a - jr z, .asm_483d5 -.asm_483cb - ld a, [hli] - cp "@" - jr nz, .asm_483cb - ld a, b - dec a - ld b, a - jr .asm_483c8 -.asm_483d5 - ld d, h - ld e, l - ld b, $2 - ld c, $8 - hlcoord 11, 7 - call ClearBox - hlcoord 11, 8 - call PlaceString - ret -; 483e8 (12:43e8) - -Function483e8: ; 483e8 - push de - ld hl, Prefectures - ld a, [MenuSelection] - cp $ff - jr nz, .asm_483f8 - ld hl, Wakayama ; last string - jr .asm_48405 - -.asm_483f8 - ld d, a - and a - jr z, .asm_48405 -.asm_483fc - ld a, [hli] - cp "@" - jr nz, .asm_483fc - ld a, d - dec a - jr .asm_483f8 - -.asm_48405 - ld d, h - ld e, l - pop hl - call PlaceString - ret -; 4840c - -Function4840c: ; 4840c (12:440c) - call Function48187 - call Function48283 - hlcoord 1, 16 - ld de, MobileString_PersonalInfo - call PlaceString - call Function486bf - pop bc - ld hl, wMenuCursorY - ld [hl], b - ld a, [wd002] - bit 6, a - jr nz, .narrower_box - ld b, 9 - ld c, 1 - hlcoord 1, 4 - call ClearBox - jp Function48157 - -.narrower_box - ld b, 7 - ld c, 1 - hlcoord 1, 6 - call ClearBox - jp Function48157 - -Mobile12_Bin2Dec: ; 48444 (12:4444) - push bc - push af - push de - push hl - ld hl, .DigitStrings -.loop - and a - jr z, .got_string - inc hl - inc hl - dec a - jr .loop -.got_string - ld d, h - ld e, l - pop hl - call PlaceString - pop de - pop af - pop bc - ret -; 4845d (12:445d) - -.DigitStrings: ; 4845d -; 4845d - db "0@" - db "1@" - db "2@" - db "3@" - db "4@" - db "5@" - db "6@" - db "7@" - db "8@" - db "9@" -; 48471 - -MobileProfileString: db " Mobile Profile@" -MobileString_Gender: db "Gender@" -MobileString_Age: db "Age@" -MobileString_Address: db "Address@" -MobileString_ZipCode: db "Zip Code@" -MobileString_OK: db "OK@" -MobileString_ProfileChanged: db "Profile Changed@" -MobileDesc_Gender: db "Boy or girl?@" -MobileDesc_Age: db "How old are you?@" -MobileDesc_Address: db "Where do you live?@" -MobileDesc_ZipCode: db "Your zip code?@" -; 484f1 - -MenuDataHeader_0x484f1: ; 0x484f1 - db $40 ; flags - db 02, 11 ; start coords - db 07, 19 ; end coords - dw MenuData2_0x484f9 - db 1 ; default option -; 0x484f9 - -MenuData2_0x484f9: ; 0x484f9 - db $a0 ; flags - db 2 ; items -Strings_484fb: -String_484fb: db "Boy@" -String_484ff: db "Girl@" -; 0x48504 - -MenuDataHeader_0x48504: ; 0x48504 - db $40 ; flags - db 00, 10 ; start coords - db 17, 19 ; end coords - -MenuDataHeader_0x48509: ; 0x48509 - db $40 ; flags - db 05, 10 ; start coords - db 07, 19 ; end coords - -MenuDataHeader_0x4850e: ; 0x4850e - db $40 ; flags - db 09, 10 ; start coords - db 11, 19 ; end coords - -MenuDataHeader_0x48513: ; 0x48513 - db $40 ; flags - db 01, 11 ; start coords - db 12, 18 ; end coords - dw MenuData2_0x4851b - db 1 ; default option -; 0x4851b - -MenuData2_0x4851b: ; 0x4851b - db $1d ; flags - db 6 ; items - -Unknown_4851d: ; 4851d - db $00, $01, $12, $2b, $45, $12, $e8, $43, $00, $00, $00, $00, $00, $00, $2e, $00, $01, $02, $03, $04 - db $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f, $10, $11, $12, $13, $14, $15, $16, $17, $18 - db $19, $1a, $1b, $1c, $1d, $1e, $1f, $20, $21, $22, $23, $24, $25, $26, $27, $28, $29, $2a, $2b, $2c - db $2d, $ff - -Prefectures: -Aichi: db "あいちけん@" ; Aichi -Aomori: db "あおもりけん@" ; Aomori -Akita: db "あきたけん@" ; Akita -Ishikawa: db "いしかわけん@" ; Ishikawa -Ibaraki: db "いばらきけん@" ; Ibaraki -Iwate: db "いわてけん@" ; Iwate -Ehime: db "えひめけん@" ; Ehime -Oita: db "おおいたけん@" ; Oita -Osakafu: db "おおさかふ@" ; Osakafu -Okayama: db "おかやまけん@" ; Okayama -Okinawa: db "おきなわけん@" ; Okinawa -Kagawa: db "かがわけん@" ; Kagawa -Kagoshima: db "かごしまけん@" ; Kagoshima -Kanagawa: db "かながわけん@" ; Kanagawa -Gifu: db "ぎふけん@" ; Gifu -Kyotofu: db "きょうとふ@" ; Kyotofu -Kumamoto: db "くまもとけん@" ; Kumamoto -Gunma: db "ぐんまけん@" ; Gunma -Kochi: db "こうちけん@" ; Kochi -Saitama: db "さいたまけん@" ; Saitama -Saga: db "さがけん@" ; Saga -Shiga: db "しがけん@" ; Shiga -Shizuoka: db "しずおかけん@" ; Shizuoka -Shimane: db "しまねけん@" ; Shimane -Chiba: db "ちばけん@" ; Chiba -Tokyo: db "とうきょうと@" ; Tokyo -Tokushima: db "とくしまけん@" ; Tokushima -Tochigi: db "とちぎけん@" ; Tochigi -Tottori: db "とっとりけん@" ; Tottori -Toyama: db "とやまけん@" ; Toyama -Nagasaki: db "ながさきけん@" ; Nagasaki -Nagano: db "ながのけん@" ; Nagano -Naraken: db "ならけん@" ; Naraken -Niigata: db "にいがたけん@" ; Niigata -Hyogo: db "ひょうごけん@" ; Hyogo -Hiroshima: db "ひろしまけん@" ; Hiroshima -Fukui: db "ふくいけん@" ; Fukui -Fukuoka: db "ふくおかけん@" ; Fukuoka -Fukushima: db "ふくしまけん@" ; Fukushima -Hokkaido: db "ほっかいどう@" ; Hokkaido -Mie: db "みえけん@" ; Mie -Miyagi: db "みやぎけん@" ; Miyagi -Miyazaki: db "みやざきけん@" ; Miyazaki -Yamagata: db "やまがたけん@" ; Yamagata -Yamaguchi: db "やまぐちけん@" ; Yamaguchi -Yamanashi: db "やまなしけん@" ; Yamanashi -Wakayama: db "わかやまけん@" ; Wakayama -; 48689 - -Function48689: ; 48689 (12:4689) - ld c, 7 - call DelayFrames - ld b, $1 - call GetMysteryGift_MobileAdapterLayout - call ClearBGPalettes - hlcoord 0, 0 - ld b, 4 - ld c, SCREEN_WIDTH - call ClearBox - hlcoord 0, 2 - ld a, $c - ld [hl], a - ld bc, SCREEN_WIDTH - 1 - add hl, bc - ld [hl], a - ld de, MobileProfileString - hlcoord 1, 2 - call PlaceString - hlcoord 0, 4 - ld b, $8 - ld c, $12 - call Function48cdc - ret - -Function486bf: ; 486bf (12:46bf) - ld hl, w2DMenuCursorInitY - ld a, [wd002] - bit 6, a - jr nz, .start_at_6 - ld a, 4 - ld [hli], a - jr .got_init_y - -.start_at_6 - ld a, 6 - ld [hli], a -.got_init_y - ld a, 1 - ld [hli], a ; init x - ld a, [wd002] - bit 6, a - jr nz, .check_wd479 - call Function48725 - ld a, 4 - jr nc, .got_num_rows_1 - ld a, 5 -.got_num_rows_1 - ld [hli], a - jr .got_num_rows_2 - -.check_wd479 - ld a, [wd479] - bit 1, a - jr nz, .four_rows - call Function48725 - jr c, .four_rows - ld a, 3 - ld [hli], a - jr .got_num_rows_2 - -.four_rows - ld a, 4 - ld [hli], a -.got_num_rows_2 - ld a, 1 - ld [hli], a ; num cols - ld [hl], $0 ; flags 1 - set 5, [hl] - inc hl - xor a - ld [hli], a ; flags 2 - ld a, $20 - ld [hli], a ; cursor offsets - ld a, A_BUTTON - add D_UP - add D_DOWN - push af - ld a, [wd002] - bit 6, a - jr z, .got_joypad_mask - pop af - add B_BUTTON - push af -.got_joypad_mask - pop af - ld [hli], a - ld a, $1 - ld [hli], a ; cursor y - ld [hli], a ; cursor x - xor a - ld [hli], a ; off char - ld [hli], a ; cursor tile - ld [hli], a ; cursor tile + 1 - ret - -Function48725: ; 48725 (12:4725) -; ld a, [wd003] -; and $f -; cp $f -; jr nz, .clear_carry -; scf -; ret -; .clear_carry -; and a -; ret - - ld a, [wd003] - bit 0, a - jr z, .clear_carry - bit 1, a - jr z, .clear_carry - bit 2, a - jr z, .clear_carry - bit 3, a - jr z, .clear_carry - scf - ret - -.clear_carry - and a - ret - -Function4873c: ; 4873c (12:473c) - ld hl, w2DMenuCursorInitY - ld a, 4 - ld [hli], a - ld a, 12 - ld [hli], a ; init x - ld a, 2 - ld [hli], a ; num rows - ld a, 1 - ld [hli], a ; num cols - ld [hl], $0 ; flags 1 - set 5, [hl] - inc hl - xor a - ld [hli], a ; flags 2 - ln a, 2, 0 - ld [hli], a ; cursor offsets - ld a, A_BUTTON - add B_BUTTON - ld [hli], a ; joypad filter - ; ld a, [PlayerGender] - ; xor 1 - ; inc a - ld a, [PlayerGender] - and a - jr z, .male - ld a, 2 - jr .okay_gender - -.male - ld a, 1 -.okay_gender - ld [hli], a ; cursor y - ld a, $1 - ld [hli], a ; cursor x - xor a - ld [hli], a ; off char - ld [hli], a ; cursor tile - ld [hli], a ; cursor tile + 1 - ret - -Function4876f: ; 4876f (12:476f) - call Function48283 - hlcoord 1, 16 - ld de, MobileDesc_Age - call PlaceString - ld hl, MenuDataHeader_0x48509 - call LoadMenuDataHeader - ld a, [hInMenu] - push af - ld a, $1 - ld [hInMenu], a - hlcoord 10, 5 - ld b, $1 - ld c, $8 - call Function48cdc - call WaitBGMap - ld a, [wd473] - and a - jr z, .asm_487ab - cp $64 - jr z, .asm_487b2 - hlcoord 12, 5 - ld [hl], $10 - hlcoord 12, 7 - ld [hl], $11 - jr .asm_487b7 -.asm_487ab - hlcoord 12, 5 - ld [hl], $10 - jr .asm_487b7 -.asm_487b2 - hlcoord 12, 7 - ld [hl], $11 -.asm_487b7 - hlcoord 11, 6 - call Function487ec - ld c, 10 - call DelayFrames - ld a, [wd473] - push af -.asm_487c6 - call JoyTextDelay - call Function4880e - jr nc, .asm_487c6 - ld a, $1 - call MenuClickSound - pop bc - jr nz, .asm_487da - ld a, b - ld [wd473], a -.asm_487da - ld a, [wd473] - call ExitMenu - hlcoord 11, 6 - call Function487ec - pop af - ld [hInMenu], a - jp Function4840c - -Function487ec: ; 487ec (12:47ec) - push hl - ld de, wd473 - call Function487ff - pop hl -rept 4 - inc hl -endr - ld de, String_4880d - call PlaceString - ret - -Function487ff: ; 487ff (12:47ff) - push hl - ld a, " " - ld [hli], a - ld [hl], a - pop hl - ld b, PRINTNUM_LEADINGZEROS | 1 - ld c, 3 - call PrintNum - ret -; 4880d (12:480d) - -String_4880d: ; 4880d - db "@" -; 4880e - -Function4880e: ; 4880e (12:480e) - ld a, [hJoyPressed] - and A_BUTTON - jp nz, Function488b9 - ld a, [hJoyPressed] - and B_BUTTON - jp nz, Function488b4 - ld hl, hJoyLast - ld a, [hl] - and D_UP - jr nz, .asm_48843 - ld a, [hl] - and D_DOWN - jr nz, .asm_48838 - ld a, [hl] - and D_LEFT - jr nz, .asm_4884f - ld a, [hl] - and D_RIGHT - jr nz, .asm_4885f - call DelayFrame - and a - ret -.asm_48838 - ld hl, wd473 - ld a, [hl] - and a - jr z, .asm_48840 - dec a -.asm_48840 - ld [hl], a - jr .asm_4886f -.asm_48843 - ld hl, wd473 - ld a, [hl] - cp $64 - jr nc, .asm_4884c - inc a -.asm_4884c - ld [hl], a - jr .asm_4886f -.asm_4884f - ld a, [wd473] - cp $5b - jr c, .asm_48858 - ld a, $5a -.asm_48858 - add $a - ld [wd473], a - jr .asm_4886f -.asm_4885f - ld a, [wd473] - cp $a - jr nc, .asm_48868 - ld a, $a -.asm_48868 - sub $a - ld [wd473], a - jr .asm_4886f -.asm_4886f - ld a, [wd473] - and a - jr z, .asm_48887 - cp $64 - jr z, .asm_48898 - jr z, .asm_488a7 - hlcoord 12, 5 - ld [hl], $10 - hlcoord 12, 7 - ld [hl], $11 - jr .asm_488a7 -.asm_48887 - hlcoord 10, 5 - ld b, $1 - ld c, $8 - call Function48cdc - hlcoord 12, 5 - ld [hl], $10 - jr .asm_488a7 -.asm_48898 - hlcoord 10, 5 - ld b, $1 - ld c, $8 - call Function48cdc - hlcoord 12, 7 - ld [hl], $11 -.asm_488a7 - hlcoord 11, 6 - call Function487ec - call WaitBGMap - ld a, $1 - and a - ret - -Function488b4: ; 488b4 (12:48b4) - ld a, $0 - and a - scf - ret - -Function488b9: ; 488b9 (12:48b9) - ld a, [wd003] - set 1, a - ld [wd003], a - scf - ret -; 488c3 (12:48c3) - -GFX_488c3: ; 488c3 -INCBIN "gfx/unknown/up_arrow.2bpp" - -GFX_488cb: ; 488cb -INCBIN "gfx/unknown/down_arrow.2bpp" - -Function488d3: ; 488d3 (12:48d3) - call Function48283 - hlcoord 1, 16 - ld de, MobileDesc_ZipCode - call PlaceString - call Function48a3a - jp c, Function4840c - ld hl, MenuDataHeader_0x4850e - call LoadMenuDataHeader - ld a, [hInMenu] - push af - ld a, $1 - ld [hInMenu], a - hlcoord 10, 9 - ld b, $1 - ld c, $8 - call Function48cdc - ld a, [wd475] - and $f - ld d, $0 - hlcoord 11, 10 - call Function489ea - call WaitBGMap - ld a, [wd475] - ld b, a - ld a, [wd476] - ld c, a - ld a, [wd477] - ld d, a - ld a, [wd478] - ld e, a - push de - push bc - ld d, $0 - ld b, $0 - -asm_48922: ; 48922 (12:4922) - push bc - call JoyTextDelay - ld a, [hJoyDown] - and a - jp z, Function4896e - bit 0, a - jp nz, Function4896e - bit 1, a - jp nz, Function4896e - ld a, [wd002] - and %11001111 - res 7, a - ld [wd002], a - pop bc - inc b - ld a, b - cp $5 - push bc - jr c, .asm_4894c - pop bc - ld b, $4 - push bc -.asm_4894c - pop bc - push bc - ld a, b - cp $4 - jr nz, asm_48972 - ld c, 10 - call DelayFrames - jr asm_48972 -; 4895a (12:495a) - -Function4895a: ; 4895a - ld a, [hJoyPressed] - and a - jr z, .asm_48965 - pop bc - ld b, $1 - push bc - jr asm_48972 - -.asm_48965 - ld a, [hJoyLast] - and a - jr z, asm_48972 - - pop bc - ld b, $1 - push bc - -Function4896e: ; 4896e (12:496e) - pop bc - ld b, $0 - push bc - -asm_48972: ; 48972 (12:4972) - call Function48ab5 - push af - cp $f0 - jr z, .asm_48994 - cp $f - jr nz, .asm_48988 - ld a, [wd002] - set 7, a - and $cf - ld [wd002], a -.asm_48988 - hlcoord 11, 10 - ld b, $0 - ld c, d - add hl, bc - ld b, $3 - call Function48c11 -.asm_48994 - call WaitBGMap - pop af - pop bc - jr nc, asm_48922 - jr nz, .asm_489b1 - pop bc - ld a, b - ld [wd475], a - ld a, c - ld [wd476], a - pop bc - ld a, b - ld [wd477], a - ld a, c - ld [wd478], a - jr .asm_489c5 -.asm_489b1 - push af - ld a, [wd479] - set 0, a - ld [wd479], a - ld a, [wd003] - set 3, a - ld [wd003], a - pop af - pop bc - pop bc -.asm_489c5 - push af - push bc - push de - push hl - ld a, $1 - call MenuClickSound - pop hl - pop de - pop bc - pop af - call ExitMenu - hlcoord 11, 10 - call Function489ea - hlcoord 11, 9 - lb bc, 1, 8 - call ClearBox - pop af - ld [hInMenu], a - jp Function4840c - -Function489ea: ; 489ea (12:49ea) - push de - ld a, [wd475] - and $f - call Mobile12_Bin2Dec - ld a, [wd476] - and $f0 - swap a - inc hl - call Mobile12_Bin2Dec - ld a, [wd476] - and $f - inc hl - call Mobile12_Bin2Dec - inc hl - ld de, String_48a38 - call PlaceString - ld a, [wd477] - and $f0 - swap a - inc hl - call Mobile12_Bin2Dec - ld a, [wd477] - and $f - inc hl - call Mobile12_Bin2Dec - ld a, [wd478] - and $f0 - swap a - inc hl - call Mobile12_Bin2Dec - ld a, [wd478] - and $f - inc hl - call Mobile12_Bin2Dec - pop de - ret -; 48a38 (12:4a38) - -String_48a38: ; 48a38 - db "-@" -; 48a3a - -Function48a3a: ; 48a3a (12:4a3a) - ld hl, MenuDataHeader_0x48a9c - call LoadMenuDataHeader - call Function4873c - ld a, $a - ld [w2DMenuCursorInitY], a - ld a, $b - ld [w2DMenuCursorInitX], a - ld a, $1 - ld [wMenuCursorY], a - hlcoord 10, 8 - ld b, $4 - ld c, $8 - call Function48cdc - hlcoord 12, 10 - ld de, String_48aa1 - call PlaceString - call StaticMenuJoypad - push af - call PlayClickSFX - call ExitMenu - pop af - bit 1, a - jp nz, Function48a9a - ld a, [wMenuCursorY] - cp $1 - jr z, .asm_48a98 - ld a, [wd003] - set 3, a - ld [wd003], a - ld a, [wd479] - res 0, a - ld [wd479], a - xor a - ld bc, $4 - ld hl, wd475 - call ByteFill - jr Function48a9a -.asm_48a98 - and a - ret - -Function48a9a: ; 48a9a (12:4a9a) - scf - ret -; 48a9c (12:4a9c) - -MenuDataHeader_0x48a9c: ; 0x48a9c - db $40 ; flags - db 08, 10 ; start coords - db 13, 19 ; end coord - -String_48aa1: ; 48aa1 - db "Tell Now" - next "Tell Later@" -; 48ab5 - - -Function48ab5: ; 48ab5 (12:4ab5) - ld a, [hJoyPressed] - and A_BUTTON - jp nz, Function48c0f - ld a, [hJoyPressed] - and B_BUTTON - jp nz, Function48c0d - ld a, d - and a - jr z, .asm_48adf - cp $1 - jr z, .asm_48ae7 - cp $2 - jr z, .asm_48af1 - cp $3 - jr z, .asm_48af9 - cp $4 - jr z, .asm_48b03 - cp $5 - jr z, .asm_48b0b - cp $6 - jr .asm_48b15 -.asm_48adf - ld hl, wd475 - ld a, [hl] - and $f - jr .asm_48b1d -.asm_48ae7 - ld hl, wd476 - ld a, [hl] - swap a - or $f0 - jr .asm_48b1d -.asm_48af1 - ld hl, wd476 - ld a, [hl] - and $f - jr .asm_48b1d -.asm_48af9 - ld hl, wd477 - ld a, [hl] - swap a - or $f0 - jr .asm_48b1d -.asm_48b03 - ld hl, wd477 - ld a, [hl] - and $f - jr .asm_48b1d -.asm_48b0b - ld hl, wd478 - ld a, [hl] - swap a - or $f0 - jr .asm_48b1d -.asm_48b15 - ld hl, wd478 - ld a, [hl] - and $f - jr .asm_48b1d -.asm_48b1d - push hl - push af - ld e, $0 - hlcoord 11, 10 - ld a, d -.asm_48b25 - and a - jr z, .asm_48b2c - inc e - dec a - jr .asm_48b25 -.asm_48b2c - ld hl, hJoyLast - ld a, [hl] - and D_UP - jr nz, .asm_48b8d - ld a, [hl] - and D_DOWN - jr nz, .asm_48b55 - ld a, [hl] - and D_LEFT - jp nz, Function48bd7 - ld a, [hl] - and D_RIGHT - jr nz, .asm_48b9d - hlcoord 11, 10 - call Function489ea - ld a, [wd002] - bit 7, a - jr nz, .asm_48b51 -.asm_48b51 - pop bc - pop bc - and a - ret -.asm_48b55 - pop af - ld b, a - and $f - and a - ld a, b - jr nz, .asm_48b61 - and $f0 - add $a -.asm_48b61 - dec a -.asm_48b62 - push de - push af - hlcoord 10, 9 - ld b, $1 - ld c, $8 - call Function48cdc - pop af - pop de - hlcoord 11, 10 - ld b, a - ld a, d - cp $3 - jr c, .asm_48b7a - inc hl -.asm_48b7a - ld a, b - pop hl - bit 7, a - jr z, .asm_48b85 - call Function48c4d - jr .asm_48b88 -.asm_48b85 - call Function48c5a -.asm_48b88 - ld a, $f0 - jp Function48c00 -.asm_48b8d - pop af - ld b, a - and $f - cp $9 - ld a, b - jr c, .asm_48b9a - and $f0 - add $ff -.asm_48b9a - inc a - jr .asm_48b62 -.asm_48b9d - push de - hlcoord 10, 9 - ld b, $1 - ld c, $8 - call Function48cdc - pop de - ld a, d - cp $6 - jr nc, .asm_48baf - inc d -.asm_48baf - pop af - pop hl - ld b, a - ld a, d - cp $6 - ld a, b - jr z, .asm_48bc4 - bit 7, a - jr nz, .asm_48bc4 - inc hl - ld a, [hl] - swap a - and $f - jr asm_48bc7 -.asm_48bc4 - ld a, [hl] - and $f - -asm_48bc7: ; 48bc7 (12:4bc7) - hlcoord 11, 10 - push af - ld a, d - cp $3 - pop bc - ld a, b - jr c, .asm_48bd3 - inc hl -.asm_48bd3 - ld a, $f - jr Function48c00 - -Function48bd7: ; 48bd7 (12:4bd7) - push de - hlcoord 10, 9 - ld b, $1 - ld c, $8 - call Function48cdc - pop de - ld a, d - and a - pop af - pop hl - ld b, a - ld a, d - and a - ld a, b - jr z, .asm_48bf3 - bit 7, a - jr z, .asm_48bf8 - dec d - dec hl -.asm_48bf3 - ld a, [hl] - and $f - jr asm_48bc7 -.asm_48bf8 - dec d - ld a, [hl] - swap a - and $f - jr asm_48bc7 - -Function48c00: ; 48c00 (12:4c00) - push af - hlcoord 11, 10 - call Function489ea - ld a, $1 - and a - pop bc - ld a, b - ret - -Function48c0d: ; 48c0d (12:4c0d) - xor a - and a - -Function48c0f: ; 48c0f (12:4c0f) - scf - ret - -Function48c11: ; 48c11 (12:4c11) - ld a, [wd002] - bit 7, a - jr z, .asm_48c20 - ld a, d - cp $3 - jr c, .asm_48c1e - inc hl -.asm_48c1e - ld [hl], $7f -.asm_48c20 - ld a, [wd002] - swap a - and $3 - inc a - cp b - jr nz, .asm_48c40 - ld a, [wd002] - bit 7, a - jr z, .asm_48c3a - res 7, a - ld [wd002], a - xor a - jr .asm_48c40 -.asm_48c3a - set 7, a - ld [wd002], a - xor a -.asm_48c40 - swap a - ld b, a - ld a, [wd002] - and $cf - or b - ld [wd002], a - ret - -Function48c4d: ; 48c4d (12:4c4d) - swap a - and $f0 - push af - ld a, [hl] - and $f - ld [hl], a - pop af - or [hl] - ld [hl], a - ret - -Function48c5a: ; 48c5a (12:4c5a) - push af - ld a, [hl] - and $f0 - ld [hl], a - pop af - or [hl] - ld [hl], a - ret - -Function48c63: ; 48c63 - ld a, "@" - ld [de], a - ld a, c - cp $30 - jr nc, .asm_48c8c - and a - jr z, .asm_48c8c - dec c - push de - ld h, d - ld l, e - ld a, "@" - ld b, 7 -.asm_48c76 - ld [hli], a - dec b - jr nz, .asm_48c76 - ld hl, Prefectures - ld a, c - call GetNthString -.asm_48c81 - ld a, [hli] - ld [de], a - inc de - ld a, [hl] - cp "@" - jr nz, .asm_48c81 - and a - pop de - ret - -.asm_48c8c - scf - ret -; 48c8e - -Function48c8e: ; 48c8e -; unreferenced - ld hl, $d02a - ld d, h - ld e, l - callba Function48c63 - hlcoord 10, 7 - call PlaceString - call WaitBGMap - ret -; 48ca3 - -Function48ca3: ; 48ca3 - push af - push bc - push de - push hl - ld b, 0 - ld c, 0 - ld d, 0 -.asm_48cad - cp 100 - jr c, .asm_48cb6 - sub 100 - inc b - jr .asm_48cad - -.asm_48cb6 - cp 10 - jr c, .asm_48cbf - sub 10 - inc c - jr .asm_48cb6 - -.asm_48cbf - cp 1 - jr c, .asm_48cc7 - dec a - inc d - jr .asm_48cbf - -.asm_48cc7 - ld a, b - call Mobile12_Bin2Dec - inc hl - ld a, c - call Mobile12_Bin2Dec - inc hl - ld a, d - call Mobile12_Bin2Dec - pop hl - pop de - pop bc - pop af - ret -; 48cda - -Function48cda: ; 48cda (12:4cda) - ld h, d - ld l, e - -Function48cdc: ; 48cdc (12:4cdc) - push bc - push hl - call Function48cfd - pop hl - pop bc - ld de, AttrMap - TileMap - add hl, de - inc b - inc b - inc c - inc c - ld a, $0 -.asm_48ced - push bc - push hl -.asm_48cef - ld [hli], a - dec c - jr nz, .asm_48cef - pop hl - ld de, $14 - add hl, de - pop bc - dec b - jr nz, .asm_48ced - ret - -Function48cfd: ; 48cfd (12:4cfd) - push hl - ld a, $4 - ld [hli], a - inc a - call Function48d2a - inc a - ld [hl], a - pop hl - ld de, $14 - add hl, de -.asm_48d0c - push hl - ld a, $7 - ld [hli], a - ld a, $7f - call Function48d2a - ld [hl], $8 - pop hl - ld de, $14 - add hl, de - dec b - jr nz, .asm_48d0c - ld a, $9 - ld [hli], a - ld a, $a - call Function48d2a - ld [hl], $b - ret - -Function48d2a: ; 48d2a (12:4d2a) - ld d, c -.asm_48d2b - ld [hli], a - dec d - jr nz, .asm_48d2b - ret - -Function48d30: ; 48d30 (12:4d30) - ld hl, wd475 - call Function48d4a - ld hl, wd477 - call Function48d4a - ret - -Function48d3d: ; 48d3d (12:4d3d) - ld hl, wd475 - call Function48d94 - ld hl, wd477 - call Function48d94 - ret - -Function48d4a: ; 48d4a (12:4d4a) - inc hl - ld a, [hl] - ld b, a - and $f - ld c, a - srl b - srl b - srl b - srl b - push bc - ld c, 10 - ld a, b - call SimpleMultiply - pop bc - add c - ld [hld], a - xor a - ld [hMultiplicand + 0], a - ld [hMultiplicand + 1], a - ld a, [hl] - srl a - srl a - srl a - srl a - ld c, 10 - call SimpleMultiply - ld b, a - ld a, [hli] - and $f - add b - ld [hMultiplicand + 2], a - ld a, 100 - ld [hMultiplier], a - call Multiply - ld a, [hProduct + 2] - ld b, a - ld a, [hProduct + 3] - ld c, a - ld e, [hl] - add e - ld c, a - ld a, b - adc $0 - ld b, a - ld a, c - ld [hld], a - ld [hl], b - ret - -Function48d94: ; 48d94 (12:4d94) - xor a - ld [hDividend + 0], a - ld [hDividend + 1], a - ld a, [hli] - ld [hDividend + 0], a - ld a, [hl] - ld [hDividend + 1], a - ld a, 100 - ld [hDivisor], a - ld b, 2 - call Divide - ld a, [hRemainder] - ld c, 10 - call SimpleDivide - sla b - sla b - sla b - sla b - or b - ld [hld], a - ld a, [hQuotient + 2] - ld c, 10 - call SimpleDivide - sla b - sla b - sla b - sla b - or b - ld [hl], a - ret diff --git a/misc/mobile_12_2.asm b/misc/mobile_12_2.asm deleted file mode 100755 index 37179c122..000000000 --- a/misc/mobile_12_2.asm +++ /dev/null @@ -1,936 +0,0 @@ -MobileCheckOwnMonAnywhere: ; 4a843 -; Like CheckOwnMonAnywhere, but only check for species. -; OT/ID don't matter. - - ld a, [PartyCount] - and a - ret z - - ld d, a - ld e, 0 - ld hl, PartyMon1Species - ld bc, PartyMonOT -.asm_4a851 - call .CheckMatch - ret c - push bc - ld bc, PARTYMON_STRUCT_LENGTH - add hl, bc - pop bc - call .CopyName - dec d - jr nz, .asm_4a851 - ld a, BANK(sBoxCount) - call GetSRAMBank - ld a, [sBoxCount] - and a - jr z, .asm_4a888 - ld d, a - ld hl, sBoxMon1Species - ld bc, sBoxMonOT -.asm_4a873 - call .CheckMatch - jr nc, .asm_4a87c - call CloseSRAM - ret - -.asm_4a87c - push bc - ld bc, BOXMON_STRUCT_LENGTH - add hl, bc - pop bc - call .CopyName - dec d - jr nz, .asm_4a873 - -.asm_4a888 - call CloseSRAM - ld c, 0 -.asm_4a88d - ld a, [wCurBox] - and $f - cp c - jr z, .asm_4a8d1 - ld hl, .BoxAddrs - ld b, 0 - add hl, bc - add hl, bc - add hl, bc - ld a, [hli] - call GetSRAMBank - ld a, [hli] - ld h, [hl] - ld l, a - ld a, [hl] - and a - jr z, .asm_4a8d1 - push bc - push hl - ld de, sBoxMons - sBoxCount - add hl, de - ld d, h - ld e, l - pop hl - push de - ld de, sBoxMonOT - sBoxCount - add hl, de - ld b, h - ld c, l - pop hl - ld d, a -.asm_4a8ba - call .CheckMatch - jr nc, .asm_4a8c4 - pop bc - call CloseSRAM - ret - -.asm_4a8c4 - push bc - ld bc, BOXMON_STRUCT_LENGTH - add hl, bc - pop bc - call .CopyName - dec d - jr nz, .asm_4a8ba - pop bc - -.asm_4a8d1 - inc c - ld a, c - cp NUM_BOXES - jr c, .asm_4a88d - call CloseSRAM - and a - ret -; 4a8dc - -.CheckMatch: ; 4a8dc - push bc - push hl - push de - ld d, b - ld e, c - ld a, [ScriptVar] - ld b, [hl] - cp b - jr nz, .no_match - jr .match - -.no_match - pop de - pop hl - pop bc - and a - ret - -.match - pop de - pop hl - pop bc - scf - ret -; 4a8f4 - -.BoxAddrs: ; 4a8f4 - dba sBox1 - dba sBox2 - dba sBox3 - dba sBox4 - dba sBox5 - dba sBox6 - dba sBox7 - dba sBox8 - dba sBox9 - dba sBox10 - dba sBox11 - dba sBox12 - dba sBox13 - dba sBox14 -; 4a91e - -.CopyName: ; 4a91e - push hl - ld hl, NAME_LENGTH - add hl, bc - ld b, h - ld c, l - pop hl - ret -; 4a927 - -FindItemInPCOrBag: ; 4a927 - ld a, [ScriptVar] - ld [CurItem], a - ld hl, PCItems - call CheckItem - jr c, .found - - ld a, [ScriptVar] - ld [CurItem], a - ld hl, NumItems - call CheckItem - jr c, .found - - xor a - ld [ScriptVar], a - ret - -.found - ld a, 1 - ld [ScriptVar], a - ret -; 4a94e - -Function4a94e: ; 4a94e - call FadeToMenu - ld a, -1 - ld hl, wd002 - ld bc, 3 - call ByteFill - xor a - ld [wd018], a - ld [wd019], a - ld b, SCGB_PACKPALS - call GetSGBLayout - call SetPalettes - call Function4aa22 - jr c, .asm_4a985 - jr z, .asm_4a9a1 - jr .asm_4a97b - -.asm_4a974 - call Function4aa25 - jr c, .asm_4a985 - jr z, .asm_4a9a1 - -.asm_4a97b - call Function4ac58 - ld hl, wd019 - res 1, [hl] - jr .asm_4a974 - -.asm_4a985 - ld a, [wd018] - and a - jr nz, .asm_4a990 - call Function4aba8 - jr c, .asm_4a974 - -.asm_4a990 - call CloseSubmenu - ld hl, wd002 - ld a, -1 - ld bc, 3 - call ByteFill - scf - jr .asm_4a9af - -.asm_4a9a1 - call Function4a9c3 - jr c, .asm_4a9b0 - call Function4a9d7 - jr c, .asm_4a974 - call CloseSubmenu - and a - -.asm_4a9af - ret - -.asm_4a9b0 - ld de, SFX_WRONG - call PlaySFX - ld hl, UnknownText_0x4a9be - call PrintText - jr .asm_4a974 -; 4a9be - -UnknownText_0x4a9be: ; 0x4a9be - ; Pick three #MON for battle. - text_jump UnknownText_0x1c51d7 - db "@" -; 0x4a9c3 - -Function4a9c3: ; 4a9c3 - ld hl, wd002 - ld a, $ff - cp [hl] - jr z, .asm_4a9d5 - inc hl - cp [hl] - jr z, .asm_4a9d5 - inc hl - cp [hl] - jr z, .asm_4a9d5 - and a - ret - -.asm_4a9d5 - scf - ret -; 4a9d7 - -Function4a9d7: ; 4a9d7 - ld a, [wd002] - ld hl, PartyMonNicknames - call GetNick - ld h, d - ld l, e - ld de, EndFlypoint - ld bc, 6 - call CopyBytes - ld a, [wd003] - ld hl, PartyMonNicknames - call GetNick - ld h, d - ld l, e - ld de, wd00c - ld bc, 6 - call CopyBytes - ld a, [wd004] - ld hl, PartyMonNicknames - call GetNick - ld h, d - ld l, e - ld de, wd012 - ld bc, 6 - call CopyBytes - ld hl, UnknownText_0x4aa1d - call PrintText - call YesNoBox - ret -; 4aa1d - -UnknownText_0x4aa1d: ; 0x4aa1d - ; , @ and @ . Use these three? - text_jump UnknownText_0x1c51f4 - db "@" -; 0x4aa22 - -Function4aa22: ; 4aa22 - call ClearBGPalettes - -Function4aa25: ; 4aa25 - callba LoadPartyMenuGFX - callba InitPartyMenuWithCancel - call Function4aad3 - -Function4aa34: ; 4aa34 - ld a, PARTYMENUACTION_MOBILE - ld [PartyMenuActionText], a - callba WritePartyMenuTilemap - xor a - ld [PartyMenuActionText], a - callba PrintPartyMenuText - call Function4aab6 - call WaitBGMap - call SetPalettes - call DelayFrame - call Function4ab1a - jr z, .asm_4aa66 - push af - call Function4aafb - jr c, .asm_4aa67 - call Function4ab06 - jr c, .asm_4aa67 - pop af - -.asm_4aa66 - ret - -.asm_4aa67 - ld hl, wd019 - set 1, [hl] - pop af - ret -; 4aa6e - -Function4aa6e: ; 4aa6e - pop af - ld de, SFX_WRONG - call PlaySFX - call WaitSFX - jr Function4aa34 -; 4aa7a - -Function4aa7a: ; 4aa7a - ld hl, wd002 - ld d, $3 -.loop - ld e, PARTY_LENGTH - ld a, [hli] - push de - push hl - cp -1 - jr z, .done - ld hl, wSpriteAnimationStructs - inc a - ld d, a -.inner_loop - ld a, [hl] - and a - jr z, .next - cp d - jr z, .same_as_d - jr .next - - ld a, $3 - jr .proceed - -.same_as_d - ld a, $2 - -.proceed - push hl - ld c, l - ld b, h - ld hl, $2 - add hl, bc - ld [hl], a - pop hl - -.next - ld bc, $10 - add hl, bc - dec e - jr nz, .inner_loop - pop hl - pop de - dec d - jr nz, .loop - jr .finished - -.done - pop hl - pop de - -.finished - ret -; 4aab6 - -Function4aab6: ; 4aab6 - ld hl, wd002 - ld d, $3 -.loop - ld a, [hli] - cp -1 - jr z, .done - push de - push hl - hlcoord 0, 1 - ld bc, $28 - call AddNTimes - ld [hl], $ec - pop hl - pop de - dec d - jr nz, .loop - -.done - ret -; 4aad3 - -Function4aad3: ; 4aad3 - ld hl, PartyCount - ld a, [hli] - and a - ret z ; Nothing in your party - - ld c, a - xor a - ld [hObjectStructIndexBuffer], a -.loop - push bc - push hl - ld e, 0 - callba LoadMenuMonIcon - ld a, [hObjectStructIndexBuffer] - inc a - ld [hObjectStructIndexBuffer], a - pop hl - pop bc - dec c - jr nz, .loop - - call Function4aa7a - callba PlaySpriteAnimations - ret -; 4aafb - -Function4aafb: ; 4aafb - ld a, [CurPartySpecies] - cp EGG - jr z, .egg - and a - ret - -.egg - scf - ret -; 4ab06 - -Function4ab06: ; 4ab06 - ld a, [CurPartyMon] - ld bc, PARTYMON_STRUCT_LENGTH - ld hl, PartyMon1HP - call AddNTimes - ld a, [hli] - ld b, a - ld a, [hl] - or b - jr nz, .NotFainted - scf - -.NotFainted: - ret -; 4ab1a - -Function4ab1a: ; 4ab1a -.asm_4ab1a - ld a, $fb - ld [wMenuJoypadFilter], a - ld a, $26 - ld [w2DMenuCursorOffsets], a - ld a, $2 - ld [w2DMenuNumCols], a - call Function4adf7 - call StaticMenuJoypad - call Function4abc3 - jr c, .asm_4ab1a - push af - call Function4ab99 - call nc, PlaceHollowCursor - pop af - bit 1, a - jr nz, .asm_4ab6d - ld a, [PartyCount] - inc a - ld b, a - ld a, [wMenuCursorY] - ld [wPartyMenuCursor], a - cp b - jr z, .asm_4ab7e - ld a, [wMenuCursorY] - dec a - ld [CurPartyMon], a - ld c, a - ld b, $0 - ld hl, PartySpecies - add hl, bc - ld a, [hl] - ld [CurPartySpecies], a - ld de, SFX_READ_TEXT_2 - call PlaySFX - call WaitSFX - ld a, $1 - and a - ret - -.asm_4ab6d - ld a, [wMenuCursorY] - ld [wPartyMenuCursor], a -.asm_4ab73 - ld de, SFX_READ_TEXT_2 - call PlaySFX - call WaitSFX - scf - ret - -.asm_4ab7e - ld a, $1 - ld [wd018], a - ld a, [wMenuCursorX] - cp $2 - jr z, .asm_4ab73 - ld de, SFX_READ_TEXT_2 - call PlaySFX - call WaitSFX - xor a - ld [wd018], a - and a - ret -; 4ab99 - -Function4ab99: ; 4ab99 - bit 1, a - jr z, .asm_4aba6 - ld a, [wd002] - cp $ff - jr z, .asm_4aba6 - scf - ret - -.asm_4aba6 - and a - ret -; 4aba8 - -Function4aba8: ; 4aba8 - ld hl, wd004 - ld a, [hl] - cp $ff - jr nz, .asm_4abbe - dec hl - ld a, [hl] - cp $ff - jr nz, .asm_4abbe - dec hl - ld a, [hl] - cp $ff - jr nz, .asm_4abbe - and a - ret - -.asm_4abbe - ld a, $ff - ld [hl], a - scf - ret -; 4abc3 - -Function4abc3: ; 4abc3 - bit 3, a - jr z, .asm_4abd5 - ld a, [PartyCount] - inc a - ld [wMenuCursorY], a - ld a, $1 - ld [wMenuCursorX], a - jr .asm_4ac29 - -.asm_4abd5 - bit 6, a - jr z, .asm_4abeb - ld a, [wMenuCursorY] - ld [wMenuCursorY], a - and a - jr nz, .asm_4ac29 - ld a, [PartyCount] - inc a - ld [wMenuCursorY], a - jr .asm_4ac29 - -.asm_4abeb - bit 7, a - jr z, .asm_4ac08 - ld a, [wMenuCursorY] - ld [wMenuCursorY], a - ld a, [PartyCount] - inc a - inc a - ld b, a - ld a, [wMenuCursorY] - cp b - jr nz, .asm_4ac29 - ld a, $1 - ld [wMenuCursorY], a - jr .asm_4ac29 - -.asm_4ac08 - bit 4, a - jr nz, .asm_4ac10 - bit 5, a - jr z, .asm_4ac56 - -.asm_4ac10 - ld a, [wMenuCursorY] - ld b, a - ld a, [PartyCount] - inc a - cp b - jr nz, .asm_4ac29 - ld a, [wMenuCursorX] - cp $1 - jr z, .asm_4ac26 - ld a, $1 - jr .asm_4ac29 - -.asm_4ac26 - ld [wMenuCursorX], a - -.asm_4ac29 - hlcoord 0, 1 - lb bc, 13, 1 - call ClearBox - call Function4aab6 - ld a, [PartyCount] - hlcoord 6, 1 -.asm_4ac3b - ld bc, $28 - add hl, bc - dec a - jr nz, .asm_4ac3b - ld [hl], $7f - ld a, [wMenuCursorY] - ld b, a - ld a, [PartyCount] - inc a - cp b - jr z, .asm_4ac54 - ld a, $1 - ld [wMenuCursorX], a - -.asm_4ac54 - scf - ret - -.asm_4ac56 - and a - ret -; 4ac58 - -Function4ac58: ; 4ac58 - lb bc, 2, 18 - hlcoord 1, 15 - call ClearBox - callba FreezeMonIcons - ld hl, MenuDataHeader_0x4aca2 - call LoadMenuDataHeader - ld hl, wd019 - bit 1, [hl] - jr z, .asm_4ac89 - hlcoord 11, 13 - ld b, $3 - ld c, $7 - call TextBox - hlcoord 13, 14 - ld de, String_4ada7 - call PlaceString - jr .asm_4ac96 - -.asm_4ac89 - hlcoord 11, 9 - ld b, $7 - ld c, $7 - call TextBox - call Function4ad68 - -.asm_4ac96 - ld a, $1 - ld [hBGMapMode], a - call Function4acaa - call ExitMenu - and a - ret -; 4aca2 - -MenuDataHeader_0x4aca2: ; 0x4aca2 - db $40 ; flags - db 09, 11 ; start coords - db 17, 19 ; end coords - dw NULL - db 1 ; default option -; 0x4acaa - -Function4acaa: ; 4acaa -.asm_4acaa - ld a, $a0 - ld [wMenuData2Flags], a - ld a, [wd019] - bit 1, a - jr z, .asm_4acc2 - ld a, $2 - ld [wMenuData2Items], a - ld a, $c - ld [wMenuBorderTopCoord], a - jr .asm_4accc - -.asm_4acc2 - ld a, $4 - ld [wMenuData2Items], a - ld a, $8 - ld [wMenuBorderTopCoord], a - -.asm_4accc - ld a, $b - ld [wMenuBorderLeftCoord], a - ld a, $1 - ld [wMenuCursorBuffer], a - call InitVerticalMenuCursor - ld hl, w2DMenuFlags1 - set 6, [hl] - call StaticMenuJoypad - ld de, SFX_READ_TEXT_2 - call PlaySFX - ld a, [hJoyPressed] - bit 0, a - jr nz, .asm_4acf4 - bit 1, a - jr nz, .asm_4acf3 - jr .asm_4acaa - -.asm_4acf3 - ret - -.asm_4acf4 - ld a, [wd019] - bit 1, a - jr nz, .asm_4ad0e - ld a, [wMenuCursorY] - cp $1 - jr z, Function4ad17 - cp $2 - jp z, Function4ad56 - cp $3 - jp z, Function4ad60 - jr .asm_4acf3 - -.asm_4ad0e - ld a, [wMenuCursorY] - cp $1 - jr z, Function4ad56 - jr .asm_4acf3 - -Function4ad17: ; 4ad17 - call Function4adb2 - jr z, .asm_4ad4a - ld hl, wd002 - ld a, $ff - cp [hl] - jr z, .asm_4ad39 - inc hl - cp [hl] - jr z, .asm_4ad39 - inc hl - cp [hl] - jr z, .asm_4ad39 - ld de, SFX_WRONG - call WaitPlaySFX - ld hl, UnknownText_0x4ad51 - call PrintText - ret - -.asm_4ad39 - ld a, [CurPartyMon] - ld [hl], a - call Function4a9c3 - ret c - ld a, [wd019] - set 0, a - ld [wd019], a - ret - -.asm_4ad4a - ld a, $ff - ld [hl], a - call Function4adc2 - ret - -UnknownText_0x4ad51: ; 0x4ad51 - ; Only three #MON may enter. - text_jump UnknownText_0x1c521c - db "@" -; 0x4ad56 - -Function4ad56: ; 4ad56 - callba OpenPartyStats - call WaitBGMap2 - ret -; 4ad60 - -Function4ad60: ; 4ad60 - callba ManagePokemonMoves - ret -; 4ad67 - -Function4ad67: ; 4ad67 - ret -; 4ad68 - -Function4ad68: ; 4ad68 - hlcoord 13, 12 - ld de, String_4ad88 - call PlaceString - call Function4adb2 - jr c, .asm_4ad7e - hlcoord 13, 10 - ld de, String_4ada0 - jr .asm_4ad84 - -.asm_4ad7e - hlcoord 13, 10 - ld de, String_4ad9a - -.asm_4ad84 - call PlaceString - ret -; 4ad88 - -String_4ad88: ; 4ad88 - db "つよさをみる" - next "つかえるわざ" - next "もどる@" -; 4ad9a - -String_4ad9a: ; 4ad9a - db "さんかする@" -; 4ada0 - -String_4ada0: ; 4ada0 - db "さんかしない@" -; 4ada7 - -String_4ada7: ; 4ada7 - db "つよさをみる" - next "もどる@" ; BACK -; 4adb2 - -Function4adb2: ; 4adb2 - ld hl, wd002 - ld a, [CurPartyMon] - cp [hl] - ret z - inc hl - cp [hl] - ret z - inc hl - cp [hl] - ret z - scf - ret -; 4adc2 - -Function4adc2: ; 4adc2 - ld a, [wd002] - cp $ff - jr nz, .skip - ld a, [wd003] - cp $ff - jr nz, .skip2 - ld a, [wd004] - ld [wd002], a - ld a, $ff - ld [wd004], a - jr .skip - -.skip2 - ld [wd002], a - ld a, $ff - ld [wd003], a - -.skip - ld a, [wd003] - cp $ff - ret nz - ld b, a - ld a, [wd004] - ld [wd003], a - ld a, b - ld [wd004], a - ret -; 4adf7 - -Function4adf7: ; 4adf7 - ld a, [wd019] - bit 0, a - ret z - ld a, [PartyCount] - inc a - ld [wMenuCursorY], a - ld a, $1 - ld [wMenuCursorX], a - ld a, [wd019] - res 0, a - ld [wd019], a - ret -; 4ae12 diff --git a/misc/mobile_22.asm b/misc/mobile_22.asm deleted file mode 100644 index 17b526586..000000000 --- a/misc/mobile_22.asm +++ /dev/null @@ -1,4448 +0,0 @@ - -String_8911c: ; 8911c - db "でんわばんごうが ただしく" ; Phone number is not - next "はいって いません!@" ; entered correctly! -; 89135 - -String_89135: ; 89135 - db "データが かわって いますが" ; The data has changed. - next "かきかえないで やめますか?@" ; Quit anyway? -; 89153 - -String_89153: ; 89153 - db "メッセージは ありません@" ; No message -; 89160 - -OpenSRAMBank4: ; 89160 - push af - ld a, $4 - call GetSRAMBank - pop af - ret -; 89168 - - -Function89168: ; 89168 (22:5168) - ld hl, GameTimerPause - set 7, [hl] - ret - -Function8916e: ; 8916e (22:516e) - ld hl, GameTimerPause - res 7, [hl] - ret - -Function89174: ; 89174 (22:5174) - ld hl, GameTimerPause - bit 7, [hl] - ret - -Function8917a: ; 8917a (22:517a) - ld hl, wd002 - ld bc, $32 - xor a - call ByteFill - ret - -Function89185: ; 89185 (22:5185) -; strcmp(hl, de, c) -; Compares c bytes starting at de and hl and incrementing together until a mismatch is found. -; Preserves hl and de. - push de - push hl -.loop - ld a, [de] - inc de - cp [hl] - jr nz, .done - inc hl - dec c - jr nz, .loop -.done - pop hl - pop de - ret - -Function89193: ; 89193 -; copy(hl, de, 4) -; Copies c bytes from hl to de. -; Preserves hl and de. - push de - push hl -.loop - ld a, [hli] - ld [de], a - inc de - dec c - jr nz, .loop - pop hl - pop de - ret -; 8919e - - -Function8919e: ; 8919e (22:519e) -; Searches for the c'th string starting at de. Returns the pointer in de. - ld a, c - and a - ret z -.loop - ld a, [de] - inc de - cp "@" - jr nz, .loop - dec c - jr nz, .loop - ret - -Function891ab: ; 891ab - call Mobile22_SetBGMapMode1 - callba ReloadMapPart - call Mobile22_SetBGMapMode0 - ret -; 891b8 - -Function891b8: ; 891b8 - call Mobile22_SetBGMapMode0 - hlcoord 0, 0 - ld a, " " - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT - call ByteFill - call DelayFrame - ret -; 891ca - - -Function891ca: ; 891ca (22:51ca) - push bc - call Function891b8 - call WaitBGMap - pop bc - ret - -Function891d3: ; 891d3 (22:51d3) - push bc - call Function891ca - ld c, $10 - call DelayFrames - pop bc - ret - -Function891de: ; 891de - call Mobile22_SetBGMapMode0 - call ClearPalettes - hlcoord 0, 0, AttrMap - ld a, $7 - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT - call ByteFill - hlcoord 0, 0 - ld a, " " - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT - call ByteFill - call Function891ab - ret -; 891fe - -Function891fe: ; 891fe - push bc - call Function891de - ld c, $10 - call DelayFrames - pop bc - ret -; 89209 - -Function89209: ; 89209 - ld a, 1 - ld [wSpriteUpdatesEnabled], a - ret -; 8920f - -Function8920f: ; 8920f - ld a, 0 - ld [wSpriteUpdatesEnabled], a - ret -; 89215 - -Function89215: ; 89215 - push hl - push bc - ld bc, AttrMap - TileMap - add hl, bc - ld [hl], a - pop bc - pop hl - ret -; 8921f - - -Function8921f: ; 8921f (22:521f) - push de - ld de, SCREEN_WIDTH - add hl, de - inc hl - ld a, $7f -.loop - push bc - push hl -.asm_89229 - ld [hli], a - dec c - jr nz, .asm_89229 - pop hl - add hl, de - pop bc - dec b - jr nz, .loop - pop de - ret - -Mobile22_ButtonSound: ; 89235 (22:5235) - call JoyWaitAorB - call PlayClickSFX - ret - -Mobile22_SetBGMapMode0: ; 8923c - xor a - ld [hBGMapMode], a - ret -; 89240 - -Mobile22_SetBGMapMode1: ; 89240 - ld a, $1 - ld [hBGMapMode], a - ret -; 89245 - - -Function89245: ; 89245 (22:5245) - callba TryLoadSaveFile - ret c - callba _LoadData - and a - ret - -Function89254: ; 89254 (22:5254) - ld bc, $d07 - jr Function89261 - -Function89259: ; 89259 - ld bc, $0e07 - jr Function89261 - -Function8925e: ; 8925e - ld bc, $0e0c - -Function89261: ; 89261 - push af - push bc - ld hl, MenuDataHeader_0x892a3 - call CopyMenuDataHeader - pop bc - ld hl, wMenuBorderTopCoord - ld a, c - ld [hli], a - ld a, b - ld [hli], a - ld a, c - add $4 - ld [hli], a - ld a, b - add $5 - ld [hl], a - pop af - ld [wMenuCursorBuffer], a - call PushWindow - call Mobile22_SetBGMapMode0 - call Function89209 - call VerticalMenu - push af - ld c, $a - call DelayFrames - call CloseWindow - call Function8920f - pop af - jr c, .done - ld a, [wMenuCursorY] - cp $2 - jr z, .done - and a - ret - -.done - scf - ret -; 892a3 - -MenuDataHeader_0x892a3: ; 0x892a3 - db $40 ; flags - db 05, 10 ; start coords - db 09, 15 ; end coords - dw MenuData2_0x892ab - db 1 ; default option -; 0x892ab - -MenuData2_0x892ab: ; 0x892ab - db $c0 ; flags - db 2 ; items - db "はい@" - db "いいえ@" -; 0x892b4 - -Function892b4: ; 892b4 (22:52b4) - call Function8931b - -Function892b7: ; 892b7 - ld d, b - ld e, c - ld hl, 0 - add hl, bc - ld a, "@" - ld bc, 6 - call ByteFill - ld b, d - ld c, e - ld hl, 6 - add hl, bc - ld a, "@" - ld bc, 6 - call ByteFill - ld b, d - ld c, e - ld hl, 12 - add hl, bc - xor a - ld [hli], a - ld [hl], a - ld hl, 14 - add hl, bc - ld [hli], a - ld [hl], a - ld hl, 16 - add hl, bc - ld [hl], a - ld hl, 17 - add hl, bc - ld a, -1 - ld bc, 8 - call ByteFill - ld b, d - ld c, e - ld e, 6 - ld hl, 25 - add hl, bc -.loop - ld a, -1 - ld [hli], a - ld a, -1 - ld [hli], a - dec e - jr nz, .loop - ret -; 89305 - - -Function89305: ; 89305 (22:5305) - xor a - ld [MenuSelection], a - ld c, 40 -.loop - ld a, [MenuSelection] - inc a - ld [MenuSelection], a - push bc - call Function892b4 - pop bc - dec c - jr nz, .loop - ret - -Function8931b: ; 8931b - push hl - ld hl, $a03b ; 4:a03b - ld a, [MenuSelection] - dec a - ld bc, 37 - call AddNTimes - ld b, h - ld c, l - pop hl - ret -; 8932d - -Function8932d: ; 8932d - ld hl, 0 - add hl, bc - -Function89331: ; 89331 -; Scans up to 5 characters starting at hl, looking for a nonspace character up to the next terminator. -; Sets carry if it does not find a nonspace character. -; Returns the location of the following character in hl. - push bc - ld c, 5 -.loop - ld a, [hli] - cp "@" - jr z, .terminator - cp " " - jr nz, .nonspace - dec c - jr nz, .loop - -.terminator - scf - jr .done - -.nonspace - and a - -.done - pop bc - ret -; 89346 - - -Function89346: ; 89346 (22:5346) - ld h, b - ld l, c - jr _incave - -Function8934a: ; 8934a - ld hl, 6 - add hl, bc -_incave: -; Scans up to 5 characters starting at hl, looking for a nonspace character up to the next terminator. Sets carry if it does not find a nonspace character. Returns the location of the following character in hl. - push bc - ld c, 5 -.loop - ld a, [hli] - cp "@" - jr z, .terminator - cp " " - jr nz, .nonspace - dec c - jr nz, .loop - -.terminator - scf - jr .done - -.nonspace - and a - -.done - pop bc - ret -; 89363 - -Function89363: ; 89363 -; Scans six byte pairs starting at bc to find $ff. Sets carry if it does not find a $ff. Returns the location of the byte after the first $ff found in hl. - ld h, b - ld l, c - jr ._incave - - ld hl, 25 - add hl, bc - -._incave - push de - ld e, 6 -.loop - ld a, [hli] - cp -1 - jr nz, .ok - ld a, [hli] - cp -1 - jr nz, .ok - dec e - jr nz, .loop - scf - jr .done - -.ok - and a - -.done - pop de - ret -; 89381 - -Function89381: ; 89381 - push bc - push de - call Function89b45 - jr c, .ok - push hl - ld a, -1 - ld bc, 8 - call ByteFill - pop hl - -.ok - pop de - ld c, 8 - call Function89193 - pop bc - ret -; 8939a - -Function8939a: ; 8939a - push bc - ld hl, 0 - add hl, bc - ld de, wd002 - ld c, 6 - call Function89193 - pop bc - ld hl, 17 - add hl, bc - ld de, wd008 - call Function89381 - ret -; 893b3 - - -Function893b3: ; 893b3 (22:53b3) - call DisableLCD - call ClearSprites - call LoadStandardFont - call LoadFontsExtra - call Function893ef - call Function8942b - call Function89455 - call EnableLCD - ret - -Function893cc: ; 893cc - call DisableLCD - call ClearSprites - call LoadStandardFont - call LoadFontsExtra - call Function893ef - call Function89464 - call EnableLCD - ret -; 893e2 - - -Function893e2: ; 893e2 (22:53e2) - call Function89b1e - call Function893b3 - call Function8a5b6 - call Function8949c - ret - -Function893ef: ; 893ef - ld de, VTiles0 - ld hl, GFX_8940b - ld bc, $20 - ld a, BANK(GFX_8940b) - call FarCopyBytes - ret -; 893fe - -Function893fe: ; 893fe - call DisableLCD - call Function893ef - call EnableLCD - call DelayFrame - ret -; 8940b - -GFX_8940b: ; 8940b -INCBIN "gfx/unknown/08940b.2bpp" -; 8942b - -Function8942b: ; 8942b (22:542b) - ld de, VTiles0 tile $02 - ld hl, MobileAdapterGFX + $7d0 - ld bc, $80 - ld a, BANK(MobileAdapterGFX) - call FarCopyBytes - ld de, VTiles0 tile $0a - ld hl, MobileAdapterGFX + $c60 - ld bc, $40 - ld a, BANK(MobileAdapterGFX) - call FarCopyBytes - ret - -Function89448: ; 89448 (22:5448) -; Clears the Sprites array - push af - ld hl, Sprites - ld d, $10 * 6 - xor a -.loop - ld [hli], a - dec d - jr nz, .loop - pop af - ret - -Function89455: ; 89455 (22:5455) - ld hl, MobileAdapterGFX + $7d0 - ld de, VTiles2 tile $0c - ld bc, $490 - ld a, BANK(MobileAdapterGFX) - call FarCopyBytes - ret - -Function89464: ; 89464 - ld hl, MobileAdapterGFX - ld de, VTiles2 - ld bc, $200 - ld a, BANK(MobileAdapterGFX) - call FarCopyBytes - ld hl, MobileAdapterGFX + $660 - ld de, VTiles2 tile $20 - ld bc, $170 - ld a, BANK(MobileAdapterGFX) - call FarCopyBytes - ret -; 89481 - -Function89481: ; 89481 - ld d, 2 - call Function8934a - ret c - ld d, 0 - ld hl, 16 - add hl, bc - bit 0, [hl] - ret z - inc d - ret -; 89492 - - -Function89492: ; 89492 (22:5492) - ld d, 0 - ld a, [PlayerGender] - bit 0, a - ret z - inc d - ret - -Function8949c: ; 8949c - ld a, [rSVBK] - push af - ld a, 5 - ld [rSVBK], a - ld hl, Palette_894b3 - ld de, UnknBGPals + 8 * 7 - ld bc, 8 - call CopyBytes - pop af - ld [rSVBK], a - ret -; 894b3 - -Palette_894b3: ; 894b3 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 00, 00, 00 -; 894bb - -Function894bb: ; 894bb - call Function894dc - push bc - call Function8956f - call Function8949c - call Function8a60d - pop bc - ret -; 894ca - - -Function894ca: ; 894ca (22:54ca) - push bc - call Function894dc - call Function895c7 - call Function8949c - call Function8a60d - call SetPalettes - pop bc - ret - -Function894dc: ; 894dc - push bc - ld a, [rSVBK] - push af - ld a, 5 - ld [rSVBK], a - - ld c, d - ld b, 0 - ld hl, .PalettePointers - add hl, bc - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - ld de, UnknBGPals - ld bc, 3 palettes - call CopyBytes - ld hl, .Pals345 - ld de, UnknBGPals + 3 palettes - ld bc, 3 palettes - call CopyBytes - - pop af - ld [rSVBK], a - pop bc - ret -; 89509 - -.PalettePointers: ; 89509 - dw .Pals012a - dw .Pals012b - dw .Pals012c -; 8950f - -.Pals012a: ; 8950f - RGB 31, 31, 31 - RGB 10, 17, 13 - RGB 10, 08, 22 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 16, 20, 31 - RGB 10, 08, 22 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 16, 20, 31 - RGB 10, 17, 13 - RGB 00, 00, 00 - -.Pals012b: ; 89527 - RGB 31, 31, 31 - RGB 30, 22, 11 - RGB 31, 08, 15 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 16, 20, 31 - RGB 31, 08, 15 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 16, 20, 31 - RGB 30, 22, 11 - RGB 00, 00, 00 - -.Pals012c: ; 8953f - RGB 31, 31, 31 - RGB 15, 20, 26 - RGB 25, 07, 20 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 16, 20, 31 - RGB 25, 07, 20 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 16, 20, 31 - RGB 15, 20, 26 - RGB 00, 00, 00 - -.Pals345: ; 89557 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 13, 00 - RGB 14, 08, 00 - - RGB 31, 31, 31 - RGB 16, 16, 31 - RGB 00, 00, 31 - RGB 00, 00, 00 - - RGB 19, 31, 11 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 -; 8956f - -Function8956f: ; 8956f - push bc - ld hl, 16 - add hl, bc - ld d, h - ld e, l - ld hl, $000c - add hl, bc - ld b, h - ld c, l - callba GetMobileOTTrainerClass - ld a, c - ld [TrainerClass], a - ld a, [rSVBK] - push af - ld a, 5 - ld [rSVBK], a - ld hl, wd030 - ld a, -1 - ld [hli], a - ld a, " " - ld [hl], a - pop af - ld [rSVBK], a - ld a, [TrainerClass] - ld h, 0 - ld l, a - add hl, hl - add hl, hl - ld de, TrainerPalettes - add hl, de - ld a, [rSVBK] - push af - ld a, $5 - ld [rSVBK], a - ld de, wd032 - ld c, 4 -.loop - ld a, BANK(TrainerPalettes) - call GetFarByte - ld [de], a - inc de - inc hl - dec c - jr nz, .loop - ld hl, wd036 - xor a - ld [hli], a - ld [hl], a - pop af - ld [rSVBK], a - pop bc - ret -; 895c7 - - -Function895c7: ; 895c7 (22:55c7) - ld a, [rSVBK] - push af - ld a, 5 - ld [rSVBK], a - ld hl, Palette_895de - ld de, wd030 - ld bc, 8 - call CopyBytes - pop af - ld [rSVBK], a - ret -; 895de (22:55de) - -Palette_895de: ; 895de - RGB 31, 31, 31 - RGB 07, 07, 06 - RGB 07, 07, 06 - RGB 00, 00, 00 -; 895e6 - -Function895e6: ; 895e6 - ld a, 7 - hlcoord 0, 0, AttrMap - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT - call ByteFill - ret -; 895f2 - -Function895f2: ; 895f2 - push bc - xor a - hlcoord 0, 0, AttrMap - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT - call ByteFill - call Function89605 - call Function89655 - pop bc - ret -; 89605 - -Function89605: ; 89605 - hlcoord 19, 2, AttrMap - ld a, 1 - ld de, SCREEN_WIDTH - ld c, 14 -.loop - ld [hl], a - dec c - jr z, .done - add hl, de - inc a - ld [hl], a - dec a - add hl, de - dec c - jr nz, .loop - -.done - hlcoord 0, 16, AttrMap - ld c, 10 - ld a, 2 -.loop2 - ld [hli], a - dec a - ld [hli], a - inc a - dec c - jr nz, .loop2 - hlcoord 1, 11, AttrMap - ld a, 4 - ld bc, 4 - call ByteFill - ld a, 5 - ld bc, 14 - call ByteFill - ret -; 8963d - -Function8963d: ; 8963d - hlcoord 12, 3, AttrMap - ld a, 6 - ld de, SCREEN_WIDTH - lb bc, 7, 7 -.loop - push hl - ld c, 7 -.next - ld [hli], a - dec c - jr nz, .next - pop hl - add hl, de - dec b - jr nz, .loop - ret -; 89655 - -Function89655: ; 89655 - hlcoord 1, 12, AttrMap - ld de, SCREEN_WIDTH - ld a, 5 - ld b, 4 -.loop - ld c, 18 - push hl -.next - ld [hli], a - dec c - jr nz, .next - pop hl - add hl, de - dec b - jr nz, .loop - ret -; 8966c - -Function8966c: ; 8966c - push bc - call Function89688 - hlcoord 4, 0 - ld c, 8 - call Function896f5 - pop bc - ret -; 8967a - - -Function8967a: ; 8967a (22:567a) - push bc - call Function89688 - hlcoord 2, 0 - ld c, 12 - call Function896f5 - pop bc - ret - -Function89688: ; 89688 - hlcoord 0, 0 - ld a, 1 - ld e, SCREEN_WIDTH - call Function896e1 - ld a, 2 - ld e, SCREEN_WIDTH - call Function896eb - ld a, 3 - ld [hli], a - ld a, 4 - ld e, SCREEN_HEIGHT - call Function896e1 - ld a, 6 - ld [hli], a - push bc - ld c, 13 -.loop - call Function896cb - dec c - jr z, .done - call Function896d6 - dec c - jr nz, .loop - -.done - pop bc - ld a, 25 - ld [hli], a - ld a, 26 - ld e, SCREEN_HEIGHT - call Function896e1 - ld a, 28 - ld [hli], a - ld a, 2 - ld e, SCREEN_WIDTH - call Function896eb - ret -; 896cb - -Function896cb: ; 896cb - ld de, SCREEN_WIDTH - 1 - ld a, 7 - ld [hl], a - add hl, de - ld a, 9 - ld [hli], a - ret -; 896d6 - -Function896d6: ; 896d6 - ld de, SCREEN_WIDTH - 1 - ld a, 10 - ld [hl], a - add hl, de - ld a, 11 - ld [hli], a - ret -; 896e1 - -Function896e1: ; 896e1 -.loop - ld [hli], a - inc a - dec e - ret z - ld [hli], a - dec a - dec e - jr nz, .loop - ret -; 896eb - -Function896eb: ; 896eb -.loop - ld [hli], a - dec a - dec e - ret z - ld [hli], a - inc a - dec e - jr nz, .loop - ret -; 896f5 - -Function896f5: ; 896f5 - call Function8971f - call Function89736 - inc hl - inc hl - ld b, 2 - -ClearScreenArea: ; 0x896ff -; clears an area of the screen -; INPUT: -; hl = address of upper left corner of the area -; b = height -; c = width - - ld a, " " ; blank tile - ld de, 20 ; screen width -.loop - push bc - push hl -.innerLoop - ld [hli], a - dec c - jr nz, .innerLoop - pop hl - pop bc - add hl, de - dec b - jr nz, .loop - - dec hl - inc c - inc c -.asm_89713 - ld a, $36 - ld [hli], a - dec c - ret z - ld a, $18 - ld [hli], a - dec c - jr nz, .asm_89713 ; 0x8971c $f5 - ret -; 0x8971f - -Function8971f: ; 8971f - ld a, $2c - ld [hli], a - ld a, $2d - ld [hld], a - push hl - ld de, SCREEN_WIDTH - add hl, de - ld a, $31 - ld [hli], a - ld a, $32 - ld [hld], a - add hl, de - ld a, $35 - ld [hl], a - pop hl - ret -; 89736 - -Function89736: ; 89736 - push hl - inc hl - inc hl - ld e, c - ld d, $0 - add hl, de - ld a, $2f - ld [hli], a - ld a, $30 - ld [hld], a - ld de, SCREEN_WIDTH - add hl, de - ld a, $33 - ld [hli], a - ld a, $34 - ld [hl], a - add hl, de - ld a, $1f - ld [hl], a - pop hl - ret -; 89753 - -Function89753: ; 89753 - ld a, $c - ld [hl], a - xor a - call Function89215 - ret -; 8975b - -Function8975b: ; 8975b - ld a, $1d - ld [hli], a - inc a - ld [hli], a - ld a, $d - ld [hl], a - dec hl - dec hl - ld a, $4 - ld e, $3 -.asm_89769 - call Function89215 - inc hl - dec e - jr nz, .asm_89769 - ret -; 89771 - -Function89771: ; 89771 - ld a, $12 - ld [hl], a - ld a, $3 - call Function89215 - ret -; 8977a - -Function8977a: ; 8977a - ld e, $4 - ld d, $13 -.asm_8977e - ld a, d - ld [hl], a - ld a, $4 - call Function89215 - inc hl - inc d - dec e - jr nz, .asm_8977e - ld e, $e -.asm_8978c - ld a, d - ld [hl], a - xor a - call Function89215 - inc hl - dec e - jr nz, .asm_8978c - ret -; 89797 - -Function89797: ; 89797 - push bc - ld a, $e - ld [hl], a - ld bc, SCREEN_WIDTH - add hl, bc - ld a, $11 - ld [hli], a - ld a, $10 - ld c, $8 -.asm_897a6 - ld [hli], a - dec c - jr nz, .asm_897a6 - ld a, $f - ld [hl], a - pop bc - ret -; 897af - -Function897af: ; 897af - push bc - ld hl, $0010 - add hl, bc - ld d, h - ld e, l - ld hl, $000c - add hl, bc - ld b, h - ld c, l - callba GetMobileOTTrainerClass - ld a, c - ld [TrainerClass], a - xor a - ld [CurPartySpecies], a - ld de, VTiles2 tile $37 - callba GetTrainerPic - pop bc - ret -; 897d5 - -Function897d5: ; 897d5 - push bc - call Function8934a - jr nc, .asm_897f3 - hlcoord 12, 3, AttrMap - xor a - ld de, SCREEN_WIDTH - lb bc, 7, 7 -.asm_897e5 - push hl - ld c, $7 -.asm_897e8 - ld [hli], a - dec c - jr nz, .asm_897e8 - pop hl - add hl, de - dec b - jr nz, .asm_897e5 - pop bc - ret - -.asm_897f3 - ld a, $37 - ld [hGraphicStartTile], a - hlcoord 12, 3 - lb bc, 7, 7 - predef PlaceGraphic - call Function8963d - pop bc - ret -; 89807 - - -Function89807: ; 89807 (22:5807) - ld hl, MobileAdapterGFX + $200 - ld a, [PlayerGender] - bit 0, a - jr z, .asm_89814 - ld hl, MobileAdapterGFX + $200 + $230 -.asm_89814 - call DisableLCD - ld de, VTiles2 tile $37 - ld bc, $230 - ld a, BANK(MobileAdapterGFX) - call FarCopyBytes - call EnableLCD - call DelayFrame - ret - -Function89829: ; 89829 (22:5829) - push bc - ld bc, $705 - ld de, $14 - ld a, $37 -.asm_89832 - push bc - push hl -.asm_89834 - ld [hli], a - inc a - dec c - jr nz, .asm_89834 - pop hl - add hl, de - pop bc - dec b - jr nz, .asm_89832 - call Function8963d - pop bc - ret - -Function89844: ; 89844 - call Function89481 - call Function894bb - call Function897af - push bc - call WaitBGMap2 - call SetPalettes - pop bc - ret -; 89856 - -Function89856: ; 89856 - push bc - call Function891b8 - pop bc - call Function895f2 - call Function8966c - call Function899d3 - call Function898aa - call Function898be - call Function898dc - call Function898f3 - push bc - ld bc, wd008 - hlcoord 2, 10 - call Function89975 - pop bc - call Function897d5 - ret -; 8987f - - -Function8987f: ; 8987f (22:587f) - call Function891b8 - call Function895f2 - call Function8967a - call Function899d3 - hlcoord 5, 1 - call Function8999c - hlcoord 13, 3 - call Function89829 - call Function899b2 - hlcoord 5, 5 - call Function899c9 - ld bc, wd008 - hlcoord 2, 10 - call Function89975 - ret - -Function898aa: ; 898aa - ld a, [MenuSelection] - and a - ret z - push bc - hlcoord 6, 1 - ld de, MenuSelection - lb bc, PRINTNUM_LEADINGZEROS | 1, 2 - call PrintNum - pop bc - ret -; 898be - -Function898be: ; 898be - push bc - ld de, wd002 - ld hl, wd002 - call Function89331 - jr nc, .asm_898cd - ld de, String_89116 - -.asm_898cd - hlcoord 9, 1 - ld a, [MenuSelection] - and a - jr nz, .asm_898d7 - dec hl - -.asm_898d7 - call PlaceString - pop bc - ret -; 898dc - -Function898dc: ; 898dc - ld hl, $0006 - add hl, bc - push bc - ld d, h - ld e, l - call Function8934a - jr nc, .asm_898eb - ld de, String_89116 - -.asm_898eb - hlcoord 6, 4 - call PlaceString - pop bc - ret -; 898f3 - -Function898f3: ; 898f3 - push bc - ld hl, $000c - add hl, bc - ld d, h - ld e, l - call Function8934a - jr c, .asm_8990a - hlcoord 5, 5 - lb bc, PRINTNUM_LEADINGZEROS | 2, 5 - call PrintNum - jr .asm_89913 - -.asm_8990a - hlcoord 5, 5 - ld de, String_89116 - call PlaceString - -.asm_89913 - pop bc - ret -; 89915 - -Function89915: ; 89915 - push bc - push hl - ld de, Unknown_89942 - ld c, $8 -.asm_8991c - ld a, [de] - ld [hl], a - ld a, $4 - call Function89215 - inc hl - inc de - dec c - jr nz, .asm_8991c - pop hl - ld b, $4 - ld c, $2b - ld a, $8 - ld de, Unknown_8994a -.asm_89932 - push af - ld a, [de] - cp [hl] - jr nz, .asm_8993b - call Function8994e - inc de - -.asm_8993b - inc hl - pop af - dec a - jr nz, .asm_89932 - pop bc - ret -; 89942 - -Unknown_89942: ; 89942 - db $24, $25, $26, " ", $27, $28, $29, $2a -Unknown_8994a: ; 8994a - db $24, $27, $29, $ff -; 8994e - -Function8994e: ; 8994e - push hl - push de - ld de, SCREEN_WIDTH - ld a, l - sub e - ld l, a - ld a, h - sbc d - ld h, a - ld a, c - ld [hl], a - ld a, b - call Function89215 - pop de - pop hl - ret -; 89962 - -Function89962: ; 89962 - push bc - ld c, $4 - ld b, $20 -.asm_89967 - ld a, b - ld [hl], a - ld a, $4 - call Function89215 - inc hl - inc b - dec c - jr nz, .asm_89967 - pop bc - ret -; 89975 - -Function89975: ; 89975 - push bc - ld e, $8 -.asm_89978 - ld a, [bc] - ld d, a - call Function8998b - swap d - inc hl - ld a, d - call Function8998b - inc bc - inc hl - dec e - jr nz, .asm_89978 - pop bc - ret -; 8998b - -Function8998b: ; 8998b - push bc - and $f - cp $a - jr nc, .asm_89997 - ld c, $f6 - add c - jr .asm_89999 - -.asm_89997 - ld a, $7f - -.asm_89999 - ld [hl], a - pop bc - ret -; 8999c - - -Function8999c: ; 8999c (22:599c) - ld de, PlayerName - call PlaceString - inc bc - ld h, b - ld l, c - ld de, String_899ac - call PlaceString - ret -; 899ac (22:59ac) - -String_899ac: ; 899ac - db "の めいし@" -; 899b2 - -Function899b2: ; 899b2 (22:59b2) - ld bc, PlayerName - call Function89346 - jr c, .asm_899bf - ld de, PlayerName - jr .asm_899c2 -.asm_899bf - ld de, String_89116 -.asm_899c2 - hlcoord 6, 4 - call PlaceString - ret - -Function899c9: ; 899c9 (22:59c9) - ld de, PlayerID - lb bc, PRINTNUM_LEADINGZEROS | 2, 5 - call PrintNum - ret - -Function899d3: ; 899d3 - hlcoord 1, 4 - call Function89753 - hlcoord 2, 5 - call Function8975b - hlcoord 1, 9 - call Function89771 - hlcoord 1, 11 - call Function8977a - hlcoord 1, 5 - call Function89797 - hlcoord 2, 4 - call Function89962 - hlcoord 2, 9 - call Function89915 - ret -; 899fe - -Function899fe: ; 899fe - push bc - push hl - ld hl, $0019 - add hl, bc - ld b, h - ld c, l - pop hl - call Function89a0c - pop bc - ret -; 89a0c - -Function89a0c: ; 89a0c - push hl - call Function89363 - pop hl - jr c, .asm_89a1c - ld d, h - ld e, l - callba Function11c08f - ret - -.asm_89a1c - ld de, String_89153 - call PlaceString - ret -; 89a23 - - -Function89a23: ; 89a23 (22:5a23) - hlcoord 0, 11 - ld b, $4 - ld c, $12 - call Function8921f - ret - -Function89a2e: ; 89a2e (22:5a2e) - hlcoord 11, 12 - ld b, $2 - ld c, $6 - call TextBox - hlcoord 13, 13 - ld de, String_89a4e - call PlaceString - hlcoord 13, 14 - ld de, String_89a53 - call PlaceString - call Function89655 - ret -; 89a4e (22:5a4e) - -String_89a4e: ; 89a4e - db "けってい@" -; 89a53 - -String_89a53: ; 89a53 - db "やめる@" -; 89a57 - -Function89a57: ; 89a57 - call JoyTextDelay_ForcehJoyDown ; joypad - bit D_UP_F, c - jr nz, .d_up - bit D_DOWN_F, c - jr nz, .d_down - bit A_BUTTON_F, c - jr nz, .a_b_button - bit B_BUTTON_F, c - jr nz, .a_b_button - bit START_F, c - jr nz, .start_button - scf - ret - -.a_b_button - ld a, $1 - and a - ret - -.start_button - ld a, $2 - and a - ret - -.d_up - call .MoveCursorUp - call nc, .PlayPocketSwitchSFX - ld a, $0 - ret - -.d_down - call .MoveCursorDown - call nc, .PlayPocketSwitchSFX - ld a, $0 - ret -; 89a8a - -.PlayPocketSwitchSFX: ; 89a8a - push af - ld de, SFX_SWITCH_POCKETS - call PlaySFX - pop af - ret -; 89a93 - -.MoveCursorDown: ; 89a93 - ld d, 40 - ld e, 1 - call .ApplyCursorMovement - ret -; 89a9b - -.MoveCursorUp: ; 89a9b - ld d, 1 - ld e, -1 - call .ApplyCursorMovement - ret -; 89aa3 - -.ApplyCursorMovement: ; 89aa3 - ld a, [MenuSelection] - ld c, a - push bc -.loop - ld a, [MenuSelection] - cp d - jr z, .equal_to_d - add e - jr nz, .not_zero - inc a - -.not_zero - ld [MenuSelection], a - call .Function89ac7 ; BCD conversion of data in SRAM? - jr nc, .loop - call .Function89ae6 ; split [MenuSelection] into [wd030] + [wd031] where [wd030] <= 5 - pop bc - and a - ret - -.equal_to_d - pop bc - ld a, c - ld [MenuSelection], a - scf - ret -; 89ac7 - -.Function89ac7: ; 89ac7 - call OpenSRAMBank4 - call Function8931b - call .Function89ad4 - call CloseSRAM - ret -; 89ad4 - -.Function89ad4: ; 89ad4 - push de - call Function8932d ; find a non-space character within 5 bytes of bc - jr c, .no_nonspace_character - ld hl, 17 - add hl, bc - call Function89b45 - jr c, .finish_decode - -.no_nonspace_character - and a - -.finish_decode - pop de - ret -; 89ae6 - -.Function89ae6: ; 89ae6 - ld hl, wd031 - xor a - ld [hl], a - ld a, [MenuSelection] -.loop2 - cp 6 - jr c, .load_and_ret - sub 5 - ld c, a - ld a, [hl] - add 5 - ld [hl], a - ld a, c - jr .loop2 - -.load_and_ret - ld [wd030], a - ret -; 89b00 - - -Function89b00: ; 89b00 (22:5b00) - callba MG_Mobile_Layout_LoadPals - ret -; 89b07 (22:5b07) - -Function89b07: ; 89b07 - call Mobile22_SetBGMapMode0 - call DelayFrame - callba Function4a3a7 - ret -; 89b14 - -Function89b14: ; 89b14 - call ClearBGPalettes - call Function89b07 - call Function89b00 - ret -; 89b1e - -Function89b1e: ; 89b1e (22:5b1e) - callba Function4a485 - call Function89b00 - ret - -Function89b28: ; 89b28 (22:5b28) - call Function891de - call ClearBGPalettes - call Function893e2 - call Call_ExitMenu - call Function891ab - call SetPalettes - ret - -Function89b3b: ; 89b3b (22:5b3b) - call Mobile22_SetBGMapMode0 - callba Function48cda - ret - -Function89b45: ; 89b45 - ; some sort of decoder? - ; BCD? - push hl - push bc - ld c, $10 - ld e, $0 -.loop - ld a, [hli] - ld b, a - and $f - cp 10 - jr c, .low_nybble_less_than_10 - ld a, c - cp $b - jr nc, .clear_carry - jr .set_carry - -.low_nybble_less_than_10 - dec c - swap b - inc e - ld a, b - and $f - cp 10 - jr c, .high_nybble_less_than_10 - ld a, c - cp $b - jr nc, .clear_carry - jr .set_carry - -.high_nybble_less_than_10 - inc e - dec c - jr nz, .loop - dec e - -.set_carry - scf - jr .finish - -.clear_carry - and a - -.finish - pop bc - pop hl - ret -; 89b78 - - -Function89b78: ; 89b78 (22:5b78) - push bc - ld a, [wd010] - cp $10 - jr c, .asm_89b8c - ld a, e - and a - jr z, .asm_89b89 - ld c, e -.asm_89b85 - inc hl - dec c - jr nz, .asm_89b85 -.asm_89b89 - ld a, $7f - ld [hl], a -.asm_89b8c - ld a, [wd010] - inc a - and $1f - ld [wd010], a - pop bc - ret - -Function89b97: ; 89b97 (22:5b97) - call Function89c34 - jr c, .asm_89ba0 - call Function89448 - ret -.asm_89ba0 - ld a, [wd011] - ld hl, Unknown_89bd8 - and a - jr z, .asm_89bae -.asm_89ba9 - inc hl - inc hl - dec a - jr nz, .asm_89ba9 -.asm_89bae - ld a, [hli] - ld h, [hl] - ld l, a - ld de, Sprites -.asm_89bb4 - ld a, [hli] - cp $ff - ret z - ld c, a - ld b, $0 -.asm_89bbb - push hl - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - add b - ld [de], a - inc de - ld a, $8 - add b - ld b, a - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - inc de - pop hl - dec c - jr nz, .asm_89bbb - ld b, $0 - ld c, $4 - add hl, bc - jr .asm_89bb4 -; 89bd8 (22:5bd8) - -Unknown_89bd8: ; 89bd8 - dw Unknown_89be0 - dw Unknown_89bf5 - dw Unknown_89c0a - dw Unknown_89c1f -; 89be0 - -Unknown_89be0: ; 89be0 - db $01, $12, $4e, $01, $00 - db $01, $19, $4e, $01, $40 - db $01, $12, $72, $01, $20 - db $01, $19, $72, $01, $60 - db $ff - -Unknown_89bf5: ; 89bf5 - db $01, $60, $16, $01, $00 - db $01, $62, $16, $01, $40 - db $01, $60, $92, $01, $20 - db $01, $62, $92, $01, $60 - db $ff - -Unknown_89c0a: ; 89c0a - db $01, $78, $66, $01, $00 - db $01, $78, $66, $01, $40 - db $01, $78, $92, $01, $20 - db $01, $78, $92, $01, $60 - db $ff - -Unknown_89c1f: ; 89c1f - db $01, $80, $66, $01, $00 - db $01, $80, $66, $01, $40 - db $01, $80, $92, $01, $20 - db $01, $80, $92, $01, $60 - db $ff -; 89c34 - -Function89c34: ; 89c34 (22:5c34) - push bc - ld a, [wd012] - ld c, a - inc a - and $f - ld [wd012], a - ld a, c - cp $8 - pop bc - ret - -Function89c44: ; 89c44 (22:5c44) - call Function89c34 - jr c, .asm_89c4f - push de - call Function89448 - pop de - ret -.asm_89c4f - ld hl, Sprites - push de - ld a, b - ld [hli], a - ld d, $8 - ld a, e - and a - ld a, c - jr z, .asm_89c60 -.asm_89c5c - add d - dec e - jr nz, .asm_89c5c -.asm_89c60 - pop de - ld [hli], a - ld a, d - ld [hli], a - xor a - ld [hli], a - ret - -Function89c67: ; 89c67 (22:5c67) -; menu scrolling? - call JoyTextDelay_ForcehJoyDown ; joypad - ld b, $0 - bit A_BUTTON_F, c - jr z, .not_a_button - ld b, $1 - and a - ret - -.not_a_button - bit B_BUTTON_F, c - jr z, .not_b_button - scf - ret - -.not_b_button - xor a - bit D_UP_F, c - jr z, .not_d_up - ld a, $1 -.not_d_up - bit D_DOWN_F, c - jr z, .not_d_down - ld a, $2 -.not_d_down - bit D_LEFT_F, c - jr z, .not_d_left - ld a, $3 -.not_d_left - bit D_RIGHT_F, c - jr z, .not_d_right - ld a, $4 -.not_d_right - and a - ret z ; no dpad pressed - dec a - ld c, a - ld d, $0 - ld hl, .ScrollData0 - ld a, [wd02f] - and a - jr z, .got_data - ld hl, .ScrollData1 -.got_data - ld a, [wd011] - and a - jr z, .got_row - ld e, $4 -.add_n_times - add hl, de - dec a - jr nz, .add_n_times -.got_row - ld e, c - add hl, de - ld a, [hl] - and a - ret z - dec a - ld [wd011], a - xor a - ld [wd012], a - ret -; 89cbf (22:5cbf) - -.ScrollData0: ; 89cbf - db 0, 2, 0, 0 - db 1, 3, 0, 0 - db 2, 4, 0, 0 - db 3, 0, 0, 0 - -.ScrollData1: ; 89ccf - db 0, 0, 0, 0 - db 0, 3, 0, 0 - db 2, 4, 0, 0 - db 3, 0, 0, 0 -; 89cdf - -Function89cdf: ; 89cdf (22:5cdf) - ld a, $10 - add b - ld b, a - ld a, $8 - add c - ld c, a - ld e, $2 - ld a, $2 - ld hl, Sprites -.asm_89cee - push af - push bc - ld d, $4 -.asm_89cf2 - ld a, b - ld [hli], a - ld a, c - ld [hli], a - ld a, e - ld [hli], a - ld a, $1 - ld [hli], a - ld a, $8 - add c - ld c, a - inc e - dec d - jr nz, .asm_89cf2 - pop bc - ld a, $8 - add b - ld b, a - pop af - dec a - jr nz, .asm_89cee - ret - -Function89d0d: ; 89d0d (22:5d0d) - call Mobile22_SetBGMapMode0 - ld a, [rSVBK] - push af - ld a, $5 - ld [rSVBK], a - - ld c, 8 - ld de, UnknBGPals -.loop - push bc - ld hl, .Palette1 - ld bc, 1 palettes - call CopyBytes - pop bc - dec c - jr nz, .loop - - ld hl, .Palette2 - ld de, UnknBGPals + 2 palettes - ld bc, 1 palettes - call CopyBytes - - pop af - ld [rSVBK], a - - call SetPalettes - callba PrintMail_ - call Mobile22_SetBGMapMode1 - ld c, 24 - call DelayFrames - call RestartMapMusic - ret -; 89d4e (22:5d4e) - -.Palette1: ; 89d4e - RGB 31, 31, 31 - RGB 19, 19, 19 - RGB 15, 15, 15 - RGB 00, 00, 00 -; 89d56 - -.Palette2: ; 89d56 - RGB 31, 31, 31 - RGB 19, 19, 19 - RGB 19, 19, 19 - RGB 00, 00, 00 -; 89d5e - -Function89d5e: ; 89d5e (22:5d5e) - push af - call CopyMenuDataHeader - pop af - ld [wMenuCursorBuffer], a - call Mobile22_SetBGMapMode0 - call PlaceVerticalMenuItems - call InitVerticalMenuCursor - ld hl, w2DMenuFlags1 - set 7, [hl] - ret - -Function89d75: ; 89d75 (22:5d75) - push hl - call Mobile22_SetBGMapMode0 - call _hl_ - callba Mobile_OpenAndCloseMenu_HDMATransferTileMapAndAttrMap - pop hl - jr asm_89d90 - -Function89d85: ; 89d85 (22:5d85) - push hl - call Mobile22_SetBGMapMode0 - call _hl_ - call CGBOnly_LoadEDTile - pop hl - -asm_89d90: ; 89d90 (22:5d90) - call Mobile22_SetBGMapMode0 - push hl - call _hl_ - call Function89dab - ld a, [wMenuCursorY] - push af - call Function891ab - pop af - pop hl - jr c, .asm_89da9 - jr z, asm_89d90 - scf - ret -.asm_89da9 - and a - ret - -Function89dab: ; 89dab (22:5dab) - call Mobile22_SetBGMapMode0 - callba MobileMenuJoypad - call Mobile22_SetBGMapMode0 - ld a, c - ld hl, wMenuJoypadFilter - and [hl] - ret z - bit 0, a - jr nz, .asm_89dc7 - bit 1, a - jr nz, .asm_89dd9 - xor a - ret -.asm_89dc7 - call PlayClickSFX - ld a, [w2DMenuNumRows] - ld c, a - ld a, [wMenuCursorY] - cp c - jr z, .asm_89dd9 - call PlaceHollowCursor - scf - ret -.asm_89dd9 - call PlayClickSFX - ld a, $1 - and a - ret - -Function89de0: ; 89de0 (22:5de0) - call ClearSprites - call Function89e0a - jr c, .asm_89e00 - ld c, $1 -.asm_89dea - call Function8a31c - jr z, .asm_89dfd - ld a, [wMenuCursorY] - ld c, a - push bc - ld hl, Jumptable_89e04 - ld a, e - dec a - rst JumpTable - pop bc - jr .asm_89dea -.asm_89dfd - call Function891fe -.asm_89e00 - call Function8917a - ret - -Jumptable_89e04: ; 89e04 (22:5e04) - dw Function8a62c - dw Function8a999 - dw Function8ab93 - - -Function89e0a: ; 89e0a (22:5e0a) - call OpenSRAMBank4 - call Function8b3b0 - call CloseSRAM - ld hl, Jumptable_89e18 - rst JumpTable - ret - -Jumptable_89e18: ; 89e18 (22:5e18) - dw Function89e1e - dw Function8a116 - dw Function8a2aa - - -Function89e1e: ; 89e1e (22:5e1e) - call OpenSRAMBank4 - ld bc, $a037 ; 4:a037 - call Function8b36c - call CloseSRAM - xor a - ld [wd02d], a - -asm_89e2e: ; 89e2e (22:5e2e) - ld a, [wd02d] - ld hl, Jumptable_89e3c - rst JumpTable - ret - -Function89e36: ; 89e36 (22:5e36) - ld hl, wd02d - inc [hl] - jr asm_89e2e - -Jumptable_89e3c: ; 89e3c (22:5e3c) - dw Function89e6f - dw Function89fed - dw Function89ff6 - dw Function8a03d - dw Function89eb9 - dw Function89efd - dw Function89fce - dw Function8a04c - dw Function8a055 - dw Function8a0e6 - dw Function8a0ec - dw Function8a0f5 - dw Function89e58 - dw Function89e68 - - -Function89e58: ; 89e58 (22:5e58) - ld a, $1 - call Function8a2fe - call Function891fe - call Function893e2 - call Function89168 - and a - ret - -Function89e68: ; 89e68 (22:5e68) - call Function891fe - ld a, $1 - scf - ret - -Function89e6f: ; 89e6f (22:5e6f) - call Function891de - call Function89245 - call Function89ee1 - call Function89e9a - hlcoord 7, 4 - call Function8a58d - ld a, $5 - hlcoord 7, 4, AttrMap - call Function8a5a3 - ld a, $6 - hlcoord 10, 4, AttrMap - call Function8a5a3 - call Function891ab - call SetPalettes - jp Function89e36 - -Function89e9a: ; 89e9a (22:5e9a) - ld a, [rSVBK] - push af - ld a, $5 - ld [rSVBK], a - ld hl, Palette_89eb1 - ld de, UnknBGPals + 5 palettes - ld bc, 1 palettes - call CopyBytes - pop af - ld [rSVBK], a - ret -; 89eb1 (22:5eb1) - -Palette_89eb1: ; 89eb1 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 27, 19, 00 - RGB 00, 00, 00 -; 89eb9 - -Function89eb9: ; 89eb9 (22:5eb9) - call Function891fe - call Function89ee1 - call Function89e9a - hlcoord 7, 4 - call Function8a58d - ld a, $5 - hlcoord 7, 4, AttrMap - call Function8a5a3 - ld a, $6 - hlcoord 10, 4, AttrMap - call Function8a5a3 - call Function891ab - call SetPalettes - jp Function89e36 - -Function89ee1: ; 89ee1 (22:5ee1) - call ClearBGPalettes - call Function893e2 - call Mobile22_SetBGMapMode0 - callba Function4a3a7 - callba MG_Mobile_Layout_CreatePalBoxes - hlcoord 1, 0 - call Function8a53d - ret - -Function89efd: ; 89efd (22:5efd) - ld hl, wd012 - ld a, $ff - ld [hli], a - xor a -rept 4 - ld [hli], a -endr - ld [hl], a -.asm_89f09 - ld hl, wd012 - inc [hl] - ld a, [hli] - and $3 - jr nz, .asm_89f2e - ld a, [hl] - cp $4 - jr nc, .asm_89f2e - ld b, $32 - inc [hl] - ld a, [hl] - dec a - jr z, .asm_89f26 - ld c, a -.asm_89f1f - ld a, $b - add b - ld b, a - dec c - jr nz, .asm_89f1f -.asm_89f26 - ld c, $e8 - ld a, [wd013] - call Function89fa5 -.asm_89f2e - ld a, [wd013] - and a - jr z, .asm_89f58 -.asm_89f34 - call Function89f6a - ld e, a - ld a, c - cp $a8 - jr nc, .asm_89f4d - cp $46 - jr c, .asm_89f4d - ld d, $0 - dec e - ld hl, wd014 - add hl, de - set 0, [hl] - inc e - jr .asm_89f51 -.asm_89f4d - ld a, $2 - add c - ld c, a -.asm_89f51 - ld a, e - call Function89f77 - dec a - jr nz, .asm_89f34 -.asm_89f58 - call DelayFrame - ld hl, wd014 - ld c, $4 -.asm_89f60 - ld a, [hli] - and a - jr z, .asm_89f09 - dec c - jr nz, .asm_89f60 - jp Function89e36 - -Function89f6a: ; 89f6a (22:5f6a) - push af - ld de, $10 - call Function89f9a - ld a, [hli] - ld b, a - ld a, [hl] - ld c, a - pop af - ret - -Function89f77: ; 89f77 (22:5f77) - push af - ld de, $10 - call Function89f9a - ld d, $2 -.asm_89f80 - push bc - ld e, $2 -.asm_89f83 - ld a, b - ld [hli], a - ld a, c - ld [hli], a - inc hl - inc hl - ld a, $8 - add c - ld c, a - dec e - jr nz, .asm_89f83 - pop bc - ld a, $8 - add b - ld b, a - dec d - jr nz, .asm_89f80 - pop af - ret - -Function89f9a: ; 89f9a (22:5f9a) - dec a - ld hl, Sprites - and a - ret z -.asm_89fa0 - add hl, de - dec a - jr nz, .asm_89fa0 - ret - -Function89fa5: ; 89fa5 (22:5fa5) - ld de, $10 - call Function89f9a - ld e, $2 - ld d, $a -.asm_89faf - push bc - ld a, $2 -.asm_89fb2 - push af - ld a, b - ld [hli], a - ld a, c - ld [hli], a - ld a, d - inc d - ld [hli], a - ld a, $1 - ld [hli], a - ld a, $8 - add c - ld c, a - pop af - dec a - jr nz, .asm_89fb2 - pop bc - ld a, $8 - add b - ld b, a - dec e - jr nz, .asm_89faf - ret - -Function89fce: ; 89fce (22:5fce) - call Function8a5b6 - ld a, $5 - hlcoord 7, 4, AttrMap - call Function8a5a3 - ld a, $6 - hlcoord 10, 4, AttrMap - call Function8a5a3 - call Function89448 - call SetPalettes - call Function891ab - jp Function89e36 - -Function89fed: ; 89fed (22:5fed) - ld hl, UnknownText_0x8a102 - call PrintText - jp Function89e36 - -Function89ff6: ; 89ff6 (22:5ff6) - call Function891fe - call ClearBGPalettes - call Function893cc - call Function89807 - call Function89492 - call Function894ca - call OpenSRAMBank4 - ld hl, $a603 - ld a, -1 - ld bc, 8 - call ByteFill - ld hl, $a603 - ld de, wd008 - call Function89381 - call CloseSRAM - call Function8987f - call OpenSRAMBank4 - hlcoord 1, 13 - ld bc, $a007 - call Function89a0c - call CloseSRAM - call Function891ab - call Mobile22_ButtonSound - jp Function89e36 - -Function8a03d: ; 8a03d (22:603d) - ld hl, UnknownText_0x8a107 - call Function89209 - call PrintText - call Function8920f - jp Function89e36 - -Function8a04c: ; 8a04c (22:604c) - ld hl, UnknownText_0x8a10c - call PrintText - jp Function89e36 - -Function8a055: ; 8a055 (22:6055) - ld c, $7 - ld b, $4 -.asm_8a059 - call Function8a0a1 - inc c - call Function8a0c9 - push bc - call Function8a58d - pop bc - call Function8a0de - push bc - push hl - ld a, $5 - call Function8a5a3 - pop hl - inc hl - inc hl - inc hl - ld a, $6 - call Function8a5a3 - call CGBOnly_LoadEDTile - pop bc - ld a, c - cp $b - jr nz, .asm_8a059 - call Function8a0a1 - hlcoord 12, 4 - call Function8a58d - ld a, $5 - hlcoord 12, 4, AttrMap - call Function8a5a3 - pop hl - ld a, $6 - hlcoord 15, 4, AttrMap - call Function8a5a3 - call CGBOnly_LoadEDTile - jp Function89e36 - -Function8a0a1: ; 8a0a1 (22:60a1) - call Mobile22_SetBGMapMode0 - push bc - call Function8a0c9 - ld e, $6 -.asm_8a0aa - push hl - ld bc, $6 - add hl, bc - ld d, [hl] - call Function8a0c1 - pop hl - ld [hl], d - call Function89215 - ld bc, $14 - add hl, bc - dec e - jr nz, .asm_8a0aa - pop bc - ret - -Function8a0c1: ; 8a0c1 (22:60c1) - push hl - ld bc, AttrMap - TileMap - add hl, bc - ld a, [hl] - pop hl - ret - -Function8a0c9: ; 8a0c9 (22:60c9) - push bc - hlcoord 0, 0 - ld de, $14 - ld a, b - and a - jr z, .asm_8a0d8 -.asm_8a0d4 - add hl, de - dec b - jr nz, .asm_8a0d4 -.asm_8a0d8 - ld d, $0 - ld e, c - add hl, de - pop bc - ret - -Function8a0de: ; 8a0de (22:60de) - call Function8a0c9 - ld de, AttrMap - TileMap - add hl, de - ret - -Function8a0e6: ; 8a0e6 (22:60e6) - call Function8b539 - jp Function89e36 - -Function8a0ec: ; 8a0ec (22:60ec) - ld hl, UnknownText_0x8a111 - call PrintText - jp Function89e36 - -Function8a0f5: ; 8a0f5 (22:60f5) - call Function8b555 - jp nc, Function8a0ff - ld hl, wd02d - inc [hl] - -Function8a0ff: ; 8a0ff (22:60ff) - jp Function89e36 -; 8a102 (22:6102) - -UnknownText_0x8a102: ; 0x8a102 - ; The CARD FOLDER stores your and your friends' CARDS. A CARD contains information like the person's name, phone number and profile. - text_jump UnknownText_0x1c5238 - db "@" -; 0x8a107 - -UnknownText_0x8a107: ; 0x8a107 - ; This is your CARD. Once you've entered your phone number, you can trade CARDS with your friends. - text_jump UnknownText_0x1c52bc - db "@" -; 0x8a10c - -UnknownText_0x8a10c: ; 0x8a10c - ; If you have your friend's CARD, you can use it to make a call from a mobile phone on the 2nd floor of a #MON CENTER. - text_jump UnknownText_0x1c531e - db "@" -; 0x8a111 - -UnknownText_0x8a111: ; 0x8a111 - ; To safely store your collection of CARDS, you must set a PASSCODE for your CARD FOLDER. - text_jump UnknownText_0x1c5394 - db "@" -; 0x8a116 - -Function8a116: ; 8a116 (22:6116) - ld a, $1 - ld [wd030], a - ld hl, MenuDataHeader_0x8a176 - call LoadMenuDataHeader -.asm_8a121 - call Mobile22_SetBGMapMode0 - call Function8a17b - jr c, .asm_8a16b - ld a, [wMenuCursorY] - ld [wd030], a - dec d - jr z, .asm_8a140 - call Function8a20d - jr c, .asm_8a121 - xor a - call Function8a2fe - call Function8916e - jr .asm_8a16b -.asm_8a140 - call Function89174 - jr nz, .asm_8a14c - call Function8a241 - jr c, .asm_8a121 - jr .asm_8a15a -.asm_8a14c - call WaitSFX - ld de, SFX_TWINKLE - call PlaySFX - ld c, $10 - call DelayFrames -.asm_8a15a - call ExitMenu - call Function891de - call Function893e2 - call Function89245 - call Function89168 - and a - ret -.asm_8a16b - call Function89209 - call CloseWindow - call Function8920f - scf - ret -; 8a176 (22:6176) - -MenuDataHeader_0x8a176: ; 0x8a176 - db $40 ; flags - db 00, 14 ; start coords - db 06, 19 ; end coords -; 8a17b - -Function8a17b: ; 8a17b (22:617b) - decoord 14, 0 - ld b, $5 - ld c, $4 - call Function89b3b - ld hl, MenuDataHeader_0x8a19a - ld a, [wd030] - call Function89d5e - ld hl, Function8a1b0 - call Function89d75 - jr nc, .asm_8a198 - ld a, $0 -.asm_8a198 - ld d, a - ret -; 8a19a (22:619a) - -MenuDataHeader_0x8a19a: ; 0x8a19a - db $40 ; flags - db 00, 14 ; start coords - db 06, 19 ; end coords - dw MenuData2_0x8a1a2 - db 1 ; default option -; 0x8a1a2 - -MenuData2_0x8a1a2: ; 0x8a1a2 - db $e0 ; flags - db 3 ; items - db "ひらく@" - db "すてる@" - db "もどる@" -; 0x8a1b0 - -Function8a1b0: ; 8a1b0 - hlcoord 0, 12 - ld b, $4 - ld c, $12 - call TextBox - hlcoord 1, 14 - ld a, [wMenuCursorY] - ld de, Strings_8a1cc - dec a - ld c, a - call Function8919e - call PlaceString - ret -; 8a1cc - -Strings_8a1cc: ; 8a1cc - db "めいし", $25, "せいりと へんしゅうを" - next "おこないます" - db "@" - - db "めいしフ,ルダー", $25, "めいしと" - next "あんしょうばんごう", $1f, "けします" - db "@" - - db "まえ", $25, "がめん", $1d, "もどります" - db "@" -; 8a20d - - -Function8a20d: ; 8a20d (22:620d) - ld hl, UnknownText_0x8a232 - call PrintText - ld a, $2 - call Function89259 - ret c - ld hl, UnknownText_0x8a237 - call PrintText - ld a, $2 - call Function89259 - ret c - xor a - call Function8a2fe - ld hl, UnknownText_0x8a23c - call PrintText - xor a - and a - ret -; 8a232 (22:6232) - -UnknownText_0x8a232: ; 0x8a232 - ; If the CARD FOLDER is deleted, all its CARDS and the PASSCODE will also be deleted. Beware--a deleted CARD FOLDER can't be restored. Want to delete your CARD FOLDER? - text_jump UnknownText_0x1c53ee - db "@" -; 0x8a237 - -UnknownText_0x8a237: ; 0x8a237 - ; Are you sure you want to delete it? - text_jump UnknownText_0x1c5494 - db "@" -; 0x8a23c - -UnknownText_0x8a23c: ; 0x8a23c - ; The CARD FOLDER has been deleted. - text_jump UnknownText_0x1c54b9 - db "@" -; 0x8a241 - -Function8a241: ; 8a241 (22:6241) - call LoadStandardMenuDataHeader - call Function891fe - call Function8a262 - jr nc, .asm_8a254 - call Function891fe - call Function89b28 - scf - ret -.asm_8a254 - call Function891de - call ClearBGPalettes - call Call_ExitMenu - call Function891de - and a - ret - -Function8a262: ; 8a262 (22:6262) - call ClearBGPalettes - call Function893e2 - call Mobile22_SetBGMapMode0 - callba Function4a3a7 - callba MG_Mobile_Layout_CreatePalBoxes - hlcoord 1, 0 - call Function8a53d - hlcoord 12, 4 - call Function8a58d - ld a, $5 - hlcoord 12, 4, AttrMap - call Function8a5a3 - ld a, $6 - hlcoord 15, 4, AttrMap - call Function8a5a3 - xor a - ld [wd02e], a - ld bc, wd013 - call Function8b36c - call Function8b493 - call Function891ab - call SetPalettes - call Function8b5e7 - ret - -Function8a2aa: ; 8a2aa (22:62aa) - ld hl, MenuDataHeader_0x8a2ef - call LoadMenuDataHeader - ld hl, UnknownText_0x8a2f4 - call PrintText - ld a, $1 - call Function89259 - jr nc, .asm_8a2cf - ld hl, UnknownText_0x8a2f9 - call PrintText - ld a, $2 - call Function89259 - jr c, .asm_8a2ea - call Function8a20d - jr .asm_8a2ea -.asm_8a2cf - call ExitMenu - call Function8a241 - jr c, .asm_8a2ed - ld a, $1 - call Function8a313 - call CloseSRAM - call Function891de - call Function89245 - call Function89168 - and a - ret -.asm_8a2ea - call CloseWindow -.asm_8a2ed - scf - ret -; 8a2ef (22:62ef) - -MenuDataHeader_0x8a2ef: ; 0x8a2ef - db $40 ; flags - db 12, 00 ; start coords - db 17, 19 ; end coords -; 8a2f4 - -UnknownText_0x8a2f4: ; 0x8a2f4 - ; There is an older CARD FOLDER from a previous journey. Do you want to open it? - text_jump UnknownText_0x1c54dd - db "@" -; 0x8a2f9 - -UnknownText_0x8a2f9: ; 0x8a2f9 - ; Delete the old CARD FOLDER? - text_jump UnknownText_0x1c552d - db "@" -; 0x8a2fe - -Function8a2fe: ; 8a2fe (22:62fe) - call Function8a313 - call Function89305 - ld hl, $a603 - ld bc, $8 - ld a, -1 - call ByteFill - call CloseSRAM - ret - -Function8a313: ; 8a313 (22:6313) - ld c, a - call OpenSRAMBank4 - ld a, c - ld [$a60b], a - ret - -Function8a31c: ; 8a31c (22:631c) - push bc - call Mobile22_SetBGMapMode0 - callba Function4a3a7 - callba MG_Mobile_Layout_CreatePalBoxes - hlcoord 1, 0 - call Function8a53d - hlcoord 12, 4 - call Function8a58d - call Function8a3b2 - pop bc - ld a, c - ld [wMenuCursorBuffer], a - ld [MenuSelection], a - call PlaceVerticalMenuItems - call InitVerticalMenuCursor - ld hl, w2DMenuFlags1 - set 7, [hl] -.asm_8a34e - call Function8a3a2 - call Mobile22_SetBGMapMode0 - call Function8a453 - call Function8a4d3 - call Function8a4fc - call Function891ab - call SetPalettes - call Function8a383 - jr c, .asm_8a370 - jr z, .asm_8a34e -.asm_8a36a - call Function89448 - xor a - ld e, a - ret -.asm_8a370 - call Function89448 - call PlaceHollowCursor - call Function8a3a2 - ld a, [MenuSelection] - cp $ff - jr z, .asm_8a36a - ld e, a - and a - ret - -Function8a383: ; 8a383 (22:6383) - callba MobileMenuJoypad - ld a, c - ld hl, wMenuJoypadFilter - and [hl] - ret z - bit 0, a - jr nz, .asm_8a399 - bit 1, a - jr nz, .asm_8a39e - xor a - ret -.asm_8a399 - call PlayClickSFX - scf - ret -.asm_8a39e - call PlayClickSFX - ret - -Function8a3a2: ; 8a3a2 (22:63a2) - ld a, [wMenuCursorY] - dec a - ld hl, wd002 - ld e, a - ld d, $0 - add hl, de - ld a, [hl] - ld [MenuSelection], a - ret - -Function8a3b2: ; 8a3b2 (22:63b2) - ld a, $1 - ld [MenuSelection], a - call Function8a4fc - call Function8a3df - jr nc, .asm_8a3ce - decoord 0, 2 - ld b, $6 - ld c, $9 - call Function89b3b - ld hl, MenuDataHeader_0x8a435 - jr .asm_8a3db -.asm_8a3ce - decoord 0, 2 - ld b, $8 - ld c, $9 - call Function89b3b - ld hl, MenuDataHeader_0x8a40f -.asm_8a3db - call CopyMenuDataHeader - ret - -Function8a3df: ; 8a3df (22:63df) - call OpenSRAMBank4 - ld hl, $a603 - call Function89b45 - call CloseSRAM - ld hl, wd002 - jr c, .asm_8a3f8 - ld de, Unknown_8a408 - call Function8a400 - scf - ret -.asm_8a3f8 - ld de, Unknown_8a40b - call Function8a400 - and a - ret - -Function8a400: ; 8a400 (22:6400) - ld a, [de] - inc de - ld [hli], a - cp $ff - jr nz, Function8a400 - ret -; 8a408 (22:6408) - -Unknown_8a408: db 1, 2, -1 -Unknown_8a40b: db 1, 2, 3, -1 - -MenuDataHeader_0x8a40f: ; 0x8a40f - db $40 ; flags - db 02, 00 ; start coords - db 11, 10 ; end coords - dw MenuData2_0x8a417 - db 1 ; default option -; 0x8a417 - -MenuData2_0x8a417: ; 0x8a417 - db $a0 ; flags - db 4 ; items - db "めいしりスト@" - db "じぶんの めいし@" - db "めいしこうかん@" - db "やめる@" -; 0x8a435 - -MenuDataHeader_0x8a435: ; 0x8a435 - db $40 ; flags - db 02, 00 ; start coords - db 09, 10 ; end coords - dw MenuData2_0x8a43d - db 1 ; default option -; 0x8a43d - -MenuData2_0x8a43d: ; 0x8a43d - db $a0 ; flags - db 3 ; items - db "めいしりスト@" - db "じぶんの めいし@" - db "やめる@" -; 0x8a453 - -Function8a453: ; 8a453 (22:6453) - hlcoord 0, 12 - ld b, $4 - ld c, $12 - call TextBox - hlcoord 1, 14 - ld de, String_8a476 - ld a, [MenuSelection] - cp $ff - jr z, .asm_8a472 - ld de, Strings_8a483 - dec a - ld c, a - call Function8919e -.asm_8a472 - call PlaceString - ret -; 8a476 (22:6476) - -String_8a476: ; 8a476 - db "まえ", $25, "がめん", $1d, "もどります@" -; 8a483 - -Strings_8a483: ; 8a483 - db "おともだち", $25, "めいしは" - next "ここ", $1d, "いれておきます@" - - db "でんわばんごう", $1f, "いれると" - next "めいしこうかん", $4a, "できます@" - - db "ともだちと じぶん", $25, "めいしを" - next "せきがいせんで こうかん します@" -; 8a4d3 - -Function8a4d3: ; 8a4d3 (22:64d3) - ld a, [MenuSelection] - cp $1 - jr nz, .asm_8a4eb - ld a, $5 - hlcoord 12, 4, AttrMap - call Function8a5a3 - ld a, $7 - hlcoord 15, 4, AttrMap - call Function8a5a3 - ret -.asm_8a4eb - ld a, $7 - hlcoord 12, 4, AttrMap - call Function8a5a3 - ld a, $6 - hlcoord 15, 4, AttrMap - call Function8a5a3 - ret - -Function8a4fc: ; 8a4fc (22:64fc) - ld a, [MenuSelection] - cp $3 - jr nz, asm_8a529 - ld hl, wd012 - ld a, [hli] - ld b, a - ld a, [hld] - add b - ld [hl], a - ld b, a - ld c, $80 - call Function89cdf - call Function8a515 - ret - -Function8a515: ; 8a515 (22:6515) - ld hl, wd012 - ld a, [hl] - cp $38 - jr c, .asm_8a520 - cp $3c - ret c -.asm_8a520 - ld a, [wd013] - cpl - inc a - ld [wd013], a - ret - -asm_8a529: ; 8a529 (22:6529) - ld hl, wd012 - ld a, $3c - ld [hli], a - ld a, $ff - ld [hli], a - ld hl, Sprites - xor a - ld bc, $20 - call ByteFill - ret - -Function8a53d: ; 8a53d (22:653d) - push hl - ld a, $15 - ld c, $8 - ld de, $14 - call Function8a573 - ld a, $1d - ld c, $9 - call Function8a57c - inc a - ld [hl], a - call Function8a584 - pop hl - add hl, de - ld a, $1f - ld c, $8 - call Function8a573 - dec hl - ld a, $51 - ld [hli], a - ld a, $26 - ld c, $1 - call Function8a57c - ld a, $52 - ld c, $3 - call Function8a573 - ld a, $27 - ld c, $6 - -Function8a573: ; 8a573 (22:6573) - ld [hl], a - call Function8a584 - inc a - dec c - jr nz, Function8a573 - ret - -Function8a57c: ; 8a57c (22:657c) - ld [hl], a - call Function8a584 - dec c - jr nz, Function8a57c - ret - -Function8a584: ; 8a584 (22:6584) - push af - ld a, $4 - call Function89215 - inc hl - pop af - ret - -Function8a58d: ; 8a58d (22:658d) - ld a, $2d - ld bc, $606 - ld de, $14 -.asm_8a595 - push bc - push hl -.asm_8a597 - ld [hli], a - inc a - dec c - jr nz, .asm_8a597 - pop hl - add hl, de - pop bc - dec b - jr nz, .asm_8a595 - ret - -Function8a5a3: ; 8a5a3 (22:65a3) - ld bc, $603 - ld de, $14 -.asm_8a5a9 - push bc - push hl -.asm_8a5ab - ld [hli], a - dec c - jr nz, .asm_8a5ab - pop hl - add hl, de - pop bc - dec b - jr nz, .asm_8a5a9 - ret - -Function8a5b6: ; 8a5b6 (22:65b6) - ld a, [rSVBK] - push af - ld a, $5 - ld [rSVBK], a - ld hl, Palette_8a5e5 - ld de, UnknBGPals + 4 palettes - ld bc, 3 palettes - call CopyBytes - ld hl, Palette_8a5fd - ld de, UnknOBPals - ld bc, 1 palettes - call CopyBytes - ld hl, Palette_8a605 - ld de, UnknOBPals + 1 palettes - ld bc, 1 palettes - call CopyBytes - pop af - ld [rSVBK], a - ret -; 8a5e5 (22:65e5) - -Palette_8a5e5: ; 8a5e5 - RGB 31, 31, 31 - RGB 27, 19, 00 - RGB 07, 11, 22 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 16, 16, 31 - RGB 27, 19, 00 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 31, 00, 00 - RGB 27, 19, 00 - RGB 00, 00, 00 -; 8a5fd - -Palette_8a5fd: ; 8a5fd - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 31, 31, 31 -; 8a605 - -Palette_8a605: ; 8a605 - RGB 00, 00, 00 - RGB 14, 18, 31 - RGB 16, 16, 31 - RGB 31, 31, 31 -; 8a60d - -Function8a60d: ; 8a60d - ld a, [rSVBK] - push af - ld a, $5 - ld [rSVBK], a - ld hl, Palette_8a624 - ld de, UnknOBPals - ld bc, 1 palettes - call CopyBytes - pop af - ld [rSVBK], a - ret -; 8a624 - -Palette_8a624: ; 8a624 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 00, 00, 00 -; 8a62c - -Function8a62c: ; 8a62c (22:662c) - call LoadStandardMenuDataHeader - call Function891fe - xor a - call Function8b94a - call Function8b677 -.asm_8a639 - xor a - ld [wd033], a - ld [wd032], a - ld [wd0e3], a - call Function8b7bd - ld a, c - and a - jr z, .asm_8a66a - ld [MenuSelection], a - ld b, a - ld a, [wScrollingMenuCursorPosition] - inc a - ld [wd034], a - push bc - call Function8b960 - ld a, c - pop bc - jr z, .asm_8a639 - ld c, a - ld hl, Jumptable_8a671 - ld a, b - ld [MenuSelection], a - ld a, c - dec a - rst JumpTable - jr .asm_8a639 -.asm_8a66a - call Function891fe - call Function89b28 - ret - -Jumptable_8a671: ; 8a671 (22:6671) - dw Function8a679 - dw Function8a6cd - dw Function8a8c3 - dw Function8a930 - - -Function8a679: ; 8a679 (22:6679) - call Function891de - call ClearBGPalettes - call Function893cc - call OpenSRAMBank4 - call Function8931b - call Function89844 - call CloseSRAM - call OpenSRAMBank4 - call Function8939a - call Function89856 - hlcoord 1, 13 - call Function899fe - call Function891ab - call CloseSRAM -.asm_8a6a3 - call Function89a57 - jr c, .asm_8a6a3 - and a - jr z, Function8a679 - ld hl, Jumptable_8a6bc - dec a - rst JumpTable - jr c, Function8a679 - call Function891fe - call Function8b677 - call Function89448 - ret - -Jumptable_8a6bc: ; 8a6bc (22:66bc) - dw Function8a6c0 - dw Function8a6c5 - - -Function8a6c0: ; 8a6c0 (22:66c0) - call PlayClickSFX - and a - ret - -Function8a6c5: ; 8a6c5 (22:66c5) - call PlayClickSFX - call Function89d0d - scf - ret - -Function8a6cd: ; 8a6cd (22:66cd) - call Function891de - call ClearBGPalettes - call Function893cc - call OpenSRAMBank4 - call Function8931b - call Function89844 - call Function8a757 - call CloseSRAM -.asm_8a6e5 - call OpenSRAMBank4 - call Function8931b - call Function89856 - call Function89a2e - call Function891ab - xor a - ld [wd02f], a - call CloseSRAM -.asm_8a6fb - call Function89b97 - call Function89c67 - jr c, .asm_8a718 - ld a, b - and a - jr z, .asm_8a6fb - call PlayClickSFX - call Function89448 - ld a, [wd011] - ld hl, Jumptable_8a74f - rst JumpTable - jr nc, .asm_8a6e5 - jr .asm_8a742 -.asm_8a718 - call OpenSRAMBank4 - call Function8a765 - call CloseSRAM - jr nc, .asm_8a73f - call Mobile22_SetBGMapMode0 - call Function89448 - call Function89a23 - hlcoord 1, 13 - ld de, String_89135 - call PlaceString - call WaitBGMap - ld a, $2 - call Function89254 - jr c, .asm_8a6e5 -.asm_8a73f - call CloseSRAM -.asm_8a742 - call ClearBGPalettes - call Function89448 - call Function891d3 - call Function8b677 - ret - -Jumptable_8a74f: ; 8a74f (22:674f) - dw Function8a78c - dw Function8a7cb - dw Function8a818 - dw Function8a8a1 - - -Function8a757: ; 8a757 (22:6757) - call Function8939a - xor a - ld [wd010], a - ld [wd011], a - ld [wd012], a - ret - -Function8a765: ; 8a765 (22:6765) - call Function8931b - push bc - ld hl, $0 - add hl, bc - ld de, wd002 - ld c, $6 - call Function89185 - pop bc - jr nz, .asm_8a78a - push bc - ld hl, $11 - add hl, bc - ld de, wd008 - ld c, $8 - call Function89185 - pop bc - jr nz, .asm_8a78a - and a - ret -.asm_8a78a - scf - ret - -Function8a78c: ; 8a78c (22:678c) - call Function891fe - ld de, wd002 - ld b, $5 - callba NamingScreen - call OpenSRAMBank4 - call Function8931b - push bc - ld hl, $0 - add hl, bc - ld d, h - ld e, l - ld hl, wd002 - call InitName - call CloseSRAM - call DelayFrame - call JoyTextDelay - call Function891de - call ClearBGPalettes - call Function893cc - call OpenSRAMBank4 - pop bc - call Function89844 - call CloseSRAM - and a - ret - -Function8a7cb: ; 8a7cb (22:67cb) - ld a, [MenuSelection] - push af - call Function891de - ld de, wd008 - ld c, $0 - callba Function17a68f - jr c, .asm_8a7f4 - ld hl, wd008 - ld a, $ff - ld bc, $8 - call ByteFill - ld h, d - ld l, e - ld de, wd008 - ld c, $8 - call Function89193 -.asm_8a7f4 - pop af - ld [MenuSelection], a - call Function891de - call ClearBGPalettes - call Function893cc - call OpenSRAMBank4 - call Function8931b - call Function89844 - call Function89856 - call Function89a2e - call Function891ab - call CloseSRAM - and a - ret - -Function8a818: ; 8a818 (22:6818) - call Function89a23 - ld hl, wd002 - call Function89331 - jr c, .asm_8a875 - ld hl, wd008 - call Function89b45 - jr nc, .asm_8a87a - call OpenSRAMBank4 - call Function8a765 - jr nc, .asm_8a863 - call Function8931b - push bc - ld hl, $0 - add hl, bc - ld d, h - ld e, l - ld hl, wd002 - ld c, $6 - call Function89193 - pop bc - ld hl, $11 - add hl, bc - ld d, h - ld e, l - ld hl, wd008 - ld c, $8 - call Function89193 - hlcoord 1, 13 - ld de, .string_8a868 - call PlaceString - call WaitBGMap - call JoyWaitAorB -.asm_8a863 - call CloseSRAM - scf - ret -; 8a868 (22:6868) - -.string_8a868 - db "めいし", $1f, "かきかえ まし", $22, "@" - -.asm_8a875 - ld de, String_8a88b - jr .asm_8a87d -.asm_8a87a - ld de, String_8911c -.asm_8a87d - hlcoord 1, 13 - call PlaceString - call WaitBGMap - call JoyWaitAorB - and a - ret -; 8a88b (22:688b) - -String_8a88b: ; 8a88b - db "おともだち", $25, "なまえが" - next "かかれて いません!@" -; 8a8a1 - -Function8a8a1: ; 8a8a1 (22:68a1) - call OpenSRAMBank4 - call Function8a765 - call CloseSRAM - jr nc, .asm_8a8bf - call Function89a23 - hlcoord 1, 13 - ld de, String_89135 - call PlaceString - ld a, $2 - call Function89254 - jr c, .asm_8a8c1 -.asm_8a8bf - scf - ret -.asm_8a8c1 - and a - ret - -Function8a8c3: ; 8a8c3 (22:68c3) - call Function891de - call ClearBGPalettes - call Function893cc - call OpenSRAMBank4 - call Function8931b - call Function89844 - call Function8939a - call Function89856 - call CloseSRAM - call Function891ab - hlcoord 1, 13 - ld de, String_8a919 - call PlaceString - ld a, $2 - call Function89254 - jr c, .asm_8a90f - call OpenSRAMBank4 - call Function892b4 - call CloseSRAM - call Function89a23 - call Mobile22_SetBGMapMode0 - hlcoord 1, 13 - ld de, String_8a926 - call PlaceString - call WaitBGMap - call JoyWaitAorB -.asm_8a90f - call Function89448 - call Function891fe - call Function8b677 - ret -; 8a919 (22:6919) - -String_8a919: ; 8a919 - db "このデータ", $1f, "けしますか?@" -; 8a926 - -String_8a926: ; 8a926 - db "データ", $1f, "けしまし", $22, "@" -; 8a930 - -Function8a930: ; 8a930 (22:6930) - ld a, [MenuSelection] - push af - xor a - ld [wd032], a - ld a, $1 - ld [wd033], a - ld a, [wd034] - ld [wd0e3], a -.asm_8a943 - call Function8b7bd - ld a, [wMenuJoypad] - and $1 - jr nz, .asm_8a953 - ld a, c - and a - jr nz, .asm_8a943 - pop af - ret -.asm_8a953 - call OpenSRAMBank4 - pop af - cp c - jr z, .asm_8a995 - push bc - ld [MenuSelection], a - call Function8931b - push bc - ld h, b - ld l, c - ld de, wd002 - ld bc, $25 - call CopyBytes - pop de - pop bc - ld a, c - ld [MenuSelection], a - call Function8931b - push bc - ld h, b - ld l, c - ld bc, $25 - call CopyBytes - pop de - ld hl, wd002 - ld bc, $25 - call CopyBytes - ld de, SFX_SWITCH_POKEMON - call WaitPlaySFX - ld de, SFX_SWITCH_POKEMON - call WaitPlaySFX -.asm_8a995 - call CloseSRAM - ret - -Function8a999: ; 8a999 (22:6999) - ld hl, MenuDataHeader_0x8a9c9 - call LoadMenuDataHeader - ld c, $1 -.asm_8a9a1 - call Function8a9ce - jr c, .asm_8a9bb - push bc - push de - call LoadStandardMenuDataHeader - pop de - dec e - ld a, e - ld hl, Jumptable_8a9c5 - rst JumpTable - call Function891fe - call Function89b28 - pop bc - jr .asm_8a9a1 -.asm_8a9bb - call Function89209 - call CloseWindow - call Function8920f - ret - -Jumptable_8a9c5: ; 8a9c5 (22:69c5) - dw Function8aa0a - dw Function8ab3b -; 8a9c9 (22:69c9) - -MenuDataHeader_0x8a9c9: ; 0x8a9c9 - db $40 ; flags - db 04, 11 ; start coords - db 11, 18 ; end coords -; 8a9ce - -Function8a9ce: ; 8a9ce (22:69ce) - push bc - decoord 11, 4 - ld b, $6 - ld c, $6 - call Function89b3b - pop bc - ld a, c - ld hl, MenuDataHeader_0x8a9f2 - call Function89d5e - ld hl, Function8aa09 - call Function89d85 - jr c, .asm_8a9ed - ld c, a - ld e, a - and a - ret -.asm_8a9ed - ld c, a - ld e, $0 - scf - ret -; 8a9f2 (22:69f2) - -MenuDataHeader_0x8a9f2: ; 0x8a9f2 - db $40 ; flags - db 04, 11 ; start coords - db 11, 18 ; end coords - dw MenuData2_0x8a9fa - db 1 ; default option -; 0x8a9fa - -MenuData2_0x8a9fa: ; 0x8a9fa - db $a0 ; flags - db 3 ; items - db "へんしゅう@" - db "みる@" - db "やめる@" -; 0x8aa09 - -Function8aa09: ; 8aa09 - ret -; 8aa0a - -Function8aa0a: ; 8aa0a (22:6a0a) - ld a, $1 - ld [wd02f], a - ld [wd011], a - xor a - ld [wd010], a - ld [wd012], a - call OpenSRAMBank4 - ld hl, $a603 - ld de, wd008 - call Function89381 - call CloseSRAM - call Function891fe - call ClearBGPalettes - call Function893cc - call Function89807 - call Function89492 - call Function894ca -.asm_8aa3a - call Function8987f - call Function89a2e - call Function891ab -.asm_8aa43 - call Function89b97 - call Function89c67 - jr c, .asm_8aa61 - ld a, b - and a - jr z, .asm_8aa43 - call PlayClickSFX - call Function89448 - ld a, [wd011] - dec a - ld hl, Jumptable_8aa6d - rst JumpTable - jr nc, .asm_8aa3a - jr .asm_8aa69 -.asm_8aa61 - call Function89448 - call Function8ab11 - jr nc, .asm_8aa3a -.asm_8aa69 - call Function89448 - ret - -Jumptable_8aa6d: ; 8aa6d (22:6a6d) - dw Function8aa73 - dw Function8aab6 - dw Function8ab11 - - -Function8aa73: ; 8aa73 (22:6a73) - ld a, [MenuSelection] - ld e, a - push de - call Function891de - ld de, wd008 - ld c, $0 - callba Function17a68f - jr c, .asm_8aa9d - ld hl, wd008 - ld a, $ff - ld bc, $8 - call ByteFill - ld h, d - ld l, e - ld de, wd008 - ld c, $8 - call Function89193 -.asm_8aa9d - call Function891fe - call ClearBGPalettes - call Function893cc - call Function89807 - call Function89492 - call Function894ca - pop de - ld a, e - ld [MenuSelection], a - and a - ret - -Function8aab6: ; 8aab6 (22:6ab6) - call Function89a23 - ld hl, wd008 - call Function89b45 - jr nc, Function8ab00 - call OpenSRAMBank4 - ld de, wd008 - ld hl, $a603 - ld c, $8 - call Function89185 - jr z, .asm_8aaeb - ld hl, wd008 - ld de, $a603 - ld c, $8 - call Function89193 - hlcoord 1, 13 - ld de, String_8aaf0 - call PlaceString - call WaitBGMap - call JoyWaitAorB -.asm_8aaeb - call CloseSRAM - scf - ret -; 8aaf0 (22:6af0) - -String_8aaf0: ; 8aaf0 - db "あたらしい めいしできまし@" -; 8ab00 - -Function8ab00: ; 8ab00 - ld de, String_8911c - hlcoord 1, 13 - call PlaceString - call WaitBGMap - call Mobile22_ButtonSound - and a - ret - -Function8ab11: ; 8ab11 (22:6b11) - call OpenSRAMBank4 - ld hl, $a603 - ld de, wd008 - ld c, $8 - call Function89185 - call CloseSRAM - jr z, .asm_8ab37 - call Function89a23 - hlcoord 1, 13 - ld de, String_89135 - call PlaceString - ld a, $2 - call Function89254 - jr c, .asm_8ab39 -.asm_8ab37 - scf - ret -.asm_8ab39 - and a - ret - -Function8ab3b: ; 8ab3b (22:6b3b) -.pressed_start - call Function891fe - call ClearBGPalettes - call Function893cc - call Function89807 - call Function89492 - call Function894ca - call OpenSRAMBank4 - ld hl, $a603 - ld de, wd008 - call Function89381 - call CloseSRAM - call Function8987f - call OpenSRAMBank4 - hlcoord 1, 13 - ld bc, $a007 - call Function89a0c - call CloseSRAM - call Function891ab - call .JoypadLoop - jr c, .pressed_start - ret - -.JoypadLoop: ; 8ab77 (22:6b77) - call JoyTextDelay_ForcehJoyDown - bit A_BUTTON_F, c - jr nz, .a_b_button - bit B_BUTTON_F, c - jr nz, .a_b_button - bit START_F, c - jr z, .JoypadLoop - call PlayClickSFX - call Function89d0d - scf - ret - -.a_b_button - call PlayClickSFX - and a - ret - -Function8ab93: ; 8ab93 (22:6b93) - call ClearBGPalettes - call LoadStandardMenuDataHeader - callba Function105688 - call ClearSprites - call Function891fe - call Function89b28 - ret -; 8aba9 (22:6ba9) - -Function8aba9: ; 8aba9 - ld a, $2 - call Function8b94a - ld a, $1 - ld [wd032], a -.asm_8abb3 - call Function891fe - call Function8b677 -.asm_8abb9 - call Function8b7bd - jr z, .asm_8abdf - ld a, c - ld [MenuSelection], a - call OpenSRAMBank4 - call Function8931b - ld hl, $0011 - add hl, bc - call Function89b45 - call CloseSRAM - jr c, .asm_8abe2 - ld de, SFX_WRONG - call WaitPlaySFX - call CloseSRAM - jr .asm_8abb9 - -.asm_8abdf - xor a - ld c, a - ret - -.asm_8abe2 - call PlayClickSFX -.asm_8abe5 - call Function891de - call ClearBGPalettes - call Function893cc - call OpenSRAMBank4 - call Function8931b - call Function89844 - call CloseSRAM - call OpenSRAMBank4 - call Function8939a - call Function89856 - hlcoord 1, 13 - call Function899fe - call CloseSRAM - call Function891ab -.asm_8ac0f - call Function89a57 - jr c, .asm_8ac0f - and a - jr z, .asm_8abe5 - cp $2 - jr z, .asm_8ac0f - hlcoord 0, 12 - ld b, $4 - ld c, $12 - call TextBox - hlcoord 1, 14 - ld de, String_8ac3b - call PlaceString - ld a, $1 - call Function8925e - jp c, .asm_8abb3 - ld a, [MenuSelection] - ld c, a - ret -; 8ac3b - -String_8ac3b: ; 8ac3b - db "こ", $25, "ともだち", $1d, "でんわを" - next "かけますか?@" -; 8ac4e - -Function8ac4e: ; 8ac4e - xor a - ld [MenuSelection], a - push de - call Function891de - call ClearBGPalettes - call Function893cc - pop bc - call Function89844 - call Function8939a - call Function89856 - hlcoord 1, 13 - call Function899fe - call Function891ab - ret -; 8ac70 - -Function8ac70: ; 8ac70 - push de - ld a, $3 - call Function8b94a - -Function8ac76: ; 8ac76 - call Function891fe - call Function8b677 - -Function8ac7c: ; 8ac7c - call Function8b7bd - jr z, .asm_8acf0 - ld a, c - ld [wd02f], a - ld [MenuSelection], a - call OpenSRAMBank4 - call Function8931b - call Function8932d - call CloseSRAM - jr nc, .asm_8acb0 - call OpenSRAMBank4 - ld hl, $0011 - add hl, bc - call Function89b45 - call CloseSRAM - jr nc, .asm_8accc - call OpenSRAMBank4 - call Function892b7 - call CloseSRAM - jr .asm_8accc - -.asm_8acb0 - call Function8ad0b - jr c, Function8ac76 - and a - jr nz, .asm_8accc - call OpenSRAMBank4 - ld h, b - ld l, c - ld d, $0 - ld e, $6 - add hl, de - ld d, h - ld e, l - pop hl - ld c, $1f - call Function89193 - jr .asm_8ace4 - -.asm_8accc - pop hl - call OpenSRAMBank4 - ld d, b - ld e, c - ld c, $6 - call Function89193 - ld a, $6 - add e - ld e, a - ld a, $0 - adc d - ld d, a - ld c, $1f - call Function89193 - -.asm_8ace4 - call CloseSRAM - call LoadStandardFont - ld a, [wd02f] - ld c, a - and a - ret - -.asm_8acf0 - ld hl, UnknownText_0x8ad06 - call PrintText - ld a, $2 - call Function89259 - jp c, Function8ac7c - call LoadStandardFont - pop de - ld c, $0 - scf - ret -; 8ad06 - -UnknownText_0x8ad06: ; 0x8ad06 - ; Finish registering CARDS? - text_jump UnknownText_0x1c554a - db "@" -; 0x8ad0b - -Function8ad0b: ; 8ad0b -.asm_8ad0b - ld a, [MenuSelection] - ld [wd02f], a - call Function891de - call ClearBGPalettes - call Function893cc - call OpenSRAMBank4 - call Function8931b - push bc - call Function89844 - call Function8939a - call Function89856 - hlcoord 1, 13 - call Function899fe - call CloseSRAM - call Function891ab - pop bc -.asm_8ad37 - push bc - call Function89a57 - pop bc - jr c, .asm_8ad37 - and a - jr z, .asm_8ad0b - cp $2 - jr z, .asm_8ad37 - call Mobile22_SetBGMapMode0 - push bc - hlcoord 0, 12 - ld b, $4 - ld c, $12 - call TextBox - ld de, String_8ad89 - hlcoord 1, 14 - call PlaceString - ld a, $2 - call Function8925e - jr c, .asm_8ad87 - call Mobile22_SetBGMapMode0 - hlcoord 0, 12 - ld b, $4 - ld c, $12 - call TextBox - ld de, String_8ad9c - hlcoord 1, 14 - call PlaceString - ld a, $1 - call Function8925e - jr c, .asm_8ad84 - ld a, $0 - jr .asm_8ad86 - -.asm_8ad84 - ld a, $1 - -.asm_8ad86 - and a - -.asm_8ad87 - pop bc - ret -; 8ad89 - -String_8ad89: ; 8ad89 - db "こ", $25, "めいし", $1f, "けして" - next "いれかえますか?@" -; 8ad9c - -String_8ad9c: ; 8ad9c - db "おともだち", $25, "なまえを" - next "のこして おきますか?@" -; 8adb3 - -Function8adb3: ; 8adb3 - call Function891de - call Function8a262 - push af - call Function891de - pop af - ret -; 8adbf - -Function8adbf: ; 8adbf - call OpenSRAMBank4 - ld hl, $a603 - call Function89b45 - call CloseSRAM - ret -; 8adcc - -Function8adcc: ; 8adcc - call OpenSRAMBank4 - call Function8b3b0 - call CloseSRAM - ret nc - cp $2 - ret z - scf - ret -; 8addb diff --git a/misc/mobile_22_2.asm b/misc/mobile_22_2.asm deleted file mode 100644 index 321998dc7..000000000 --- a/misc/mobile_22_2.asm +++ /dev/null @@ -1,1162 +0,0 @@ -Function8b342:: ; 8b342 -; Loads the secondary map header pointer, then runs through a -; dw with three dummy functions. Spends a lot of energy -; doing pretty much nothing. - call GetSecondaryMapHeaderPointer - ld d, h - ld e, l - -; Everything between here and "ret" is useless. - xor a -.loop - push af - ld hl, .dw - rst JumpTable - pop af - inc a - cp 3 - jr nz, .loop - ret -; 8b354 - -.dw ; 8b354 - dw .zero - dw .one - dw .two -; 8b35a - -.zero ; 8b35a - mobile -; 8b35b - -.one ; 8b35b - mobile -; 8b35c - -.two ; 8b35c - mobile -; 8b35d - -Function8b35d: ; 8b35d - ld a, h - cp d - ret nz - ld a, l - cp e - ret -; 8b363 - -Function8b363: ; 8b363 - push bc - callba Mobile_AlwaysReturnNotCarry - pop bc - ret -; 8b36c - -Function8b36c: ; 8b36c (22:736c) - ; [bc + (0:4)] = -1 - push bc - ld h, b - ld l, c - ld bc, 4 - ld a, -1 - call ByteFill - pop bc - ret - -Function8b379: ; 8b379 (22:7379) - ; d = [bc + e] - push bc - ld a, c - add e - ld c, a - ld a, $0 - adc b - ld b, a - ld a, [bc] - ld d, a - pop bc - ret - -Function8b385: ; 8b385 (22:7385) - ; [bc + e] = d - push bc - ld a, c - add e - ld c, a - ld a, $0 - adc b - ld b, a - ld a, d - ld [bc], a - pop bc - ret - -Function8b391: ; 8b391 (22:7391) - ; find first e in range(4) such that [bc + e] == -1 - ; if none exist, return carry - push bc - ld e, 0 - ld d, 4 -.loop - ld a, [bc] - inc bc - cp -1 - jr z, .done - inc e - dec d - jr nz, .loop - dec e - scf -.done - pop bc - ret - -Function8b3a4: ; 8b3a4 (22:73a4) - ; strcmp(hl, bc, 4) - push de - push bc - ld d, b - ld e, c - ld c, 4 - call Function89185 - pop bc - pop de - ret - -Function8b3b0: ; 8b3b0 (22:73b0) - ld bc, $a037 ; 4:a037 - ld a, [$a60b] - and a - jr z, .asm_8b3c2 - cp $3 - jr nc, .asm_8b3c2 - call Function8b391 - jr c, .asm_8b3c9 -.asm_8b3c2 - call Function8b36c - xor a - ld [$a60b], a -.asm_8b3c9 - ld a, [$a60b] - ret - -Function8b3cd: ; 8b3cd (22:73cd) - push de - push bc - ld e, $4 -.asm_8b3d1 - ld a, [bc] - inc bc - call Function8998b - inc hl - dec e - jr nz, .asm_8b3d1 - pop bc - pop de - ret - -Function8b3dd: ; 8b3dd (22:73dd) - push de - push bc - call JoyTextDelay_ForcehJoyDown ; joypad - ld a, c - pop bc - pop de - bit A_BUTTON_F, a - jr nz, .a_button - bit B_BUTTON_F, a - jr nz, .b_button - bit D_UP_F, a - jr nz, .d_up - bit D_DOWN_F, a - jr nz, .d_down - and a - ret - -.a_button - ld a, e - cp $3 - jr z, .e_is_zero - inc e - ld d, 0 - call Function8b385 - xor a - ld [wd010], a - ret - -.e_is_zero - call PlayClickSFX - ld d, $0 - scf - ret - -.b_button - ld a, e - and a - jr nz, .e_is_not_zero - call PlayClickSFX - ld d, -1 - call Function8b385 - ld d, 1 - scf - ret - -.e_is_not_zero - ld d, -1 - call Function8b385 - dec e - xor a - ld [wd010], a - ret - -.d_up - call Function8b379 - ld a, d - cp $a - jr c, .less_than_10_up_1 - ld d, $9 -.less_than_10_up_1 - inc d - ld a, d - cp $a - jr c, .less_than_10_up_2 - ld d, $0 -.less_than_10_up_2 - call Function8b385 - xor a - ld [wd010], a - ret - -.d_down - call Function8b379 - ld a, d - cp $a - jr c, .less_than_10_down - ld d, $0 -.less_than_10_down - ld a, d - dec d - and a - jr nz, .nonzero_down - ld d, $9 -.nonzero_down - call Function8b385 - xor a - ld [wd010], a - ret - -Function8b45c: ; 8b45c (22:745c) - call Function8b36c - xor a - ld [wd010], a - ld [wd012], a - call Function8b391 - ld d, $0 - call Function8b385 -.asm_8b46e - call Mobile22_SetBGMapMode0 - call Function8b493 - call Function8b4cc - call Function8b518 - call Function89b78 - push bc - call Function8b4fd - call Function89c44 - ld a, $1 - ld [hBGMapMode], a - pop bc - call Function8b3dd - jr nc, .asm_8b46e - ld a, d - and a - ret z - scf - ret - -Function8b493: ; 8b493 (22:7493) - push bc - call Mobile22_SetBGMapMode0 - call Function8b521 - ld hl, Jumptable_8b4a0 - pop bc - rst JumpTable - ret - -Jumptable_8b4a0: ; 8b4a0 (22:74a0) - dw Function8b4a4 - dw Function8b4b8 - - -Function8b4a4: ; 8b4a4 (22:74a4) - push bc - push de - call Function8b4d8 - call TextBox - pop de - pop bc - call Function8b4cc - call Function8b518 - call Function8b3cd - ret - -Function8b4b8: ; 8b4b8 (22:74b8) - push bc - push de - call Function8b4ea - call Function89b3b - pop de - pop bc - call Function8b4cc - call Function8b518 - call Function8b3cd - ret - -Function8b4cc: ; 8b4cc (22:74cc) - push bc - ld hl, Unknown_8b529 - call Function8b50a - ld a, [hli] - ld h, [hl] - ld l, a - pop bc - ret - -Function8b4d8: ; 8b4d8 (22:74d8) - ld hl, Unknown_8b529 - call Function8b50a - push hl - inc hl - inc hl - ld a, [hli] - ld b, a - ld a, [hl] - ld c, a - pop hl - ld a, [hli] - ld h, [hl] - ld l, a - ret - -Function8b4ea: ; 8b4ea (22:74ea) - ld hl, Unknown_8b529 - call Function8b50a - push hl - inc hl - inc hl - ld a, [hli] - ld b, a - ld a, [hl] - ld c, a - pop hl - ld a, [hli] - ld e, a - ld a, [hl] - ld d, a - ret - -Function8b4fd: ; 8b4fd (22:74fd) - ld hl, Unknown_8b529 + 4 - call Function8b50a - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - ld a, [hli] - ld d, a - ret - -Function8b50a: ; 8b50a (22:750a) - ld a, [wd02e] - and a - ret z - ld b, $0 - ld c, $8 -.asm_8b513 - add hl, bc - dec a - jr nz, .asm_8b513 - ret - -Function8b518: ; 8b518 (22:7518) - push de - ld d, $0 - ld e, $14 - add hl, de - inc hl - pop de - ret - -Function8b521: ; 8b521 (22:7521) - ld hl, Unknown_8b529 + 7 - call Function8b50a - ld a, [hl] - ret -; 8b529 (22:7529) - -Unknown_8b529: ; 8b529 - dwcoord 2, 5 - db 1, 4, $20, $49, 0, 1 - dwcoord 7, 4 - db 1, 4, $48, $41, 0, 0 -; 8b539 - -Function8b539: ; 8b539 (22:7539) - ld bc, wd017 - call Function8b36c - xor a - ld [wd012], a - ld [wd02e], a - call Function8b493 - call Function8b4fd - ld e, $0 - call Function89c44 - call CGBOnly_LoadEDTile - ret - -Function8b555: ; 8b555 (22:7555) -.loop - ld hl, UnknownText_0x8b5ce - call PrintText - ld bc, wd017 - call Function8b45c - jr c, .asm_8b5c8 - call Function89448 - ld bc, wd017 - call Function8b493 - ld bc, wd017 - call Function8b664 - jr nz, .asm_8b57c - ld hl, UnknownText_0x8b5e2 - call PrintText - jr .loop - -.asm_8b57c - ld hl, UnknownText_0x8b5d3 - call PrintText - ld bc, wd013 - call Function8b45c - jr c, .loop - ld bc, wd017 - ld hl, wd013 - call Function8b3a4 - jr z, .strings_equal - call Function89448 - ld bc, wd013 - call Function8b493 - ld hl, UnknownText_0x8b5d8 - call PrintText - jr .asm_8b57c - -.strings_equal - call OpenSRAMBank4 - ld hl, wd013 - ld de, $a037 ; 4:a037 - ld bc, $4 - call CopyBytes - call CloseSRAM - call Function89448 - ld bc, wd013 - call Function8b493 - ld hl, UnknownText_0x8b5dd - call PrintText - and a -.asm_8b5c8 - push af - call Function89448 - pop af - ret -; 8b5ce (22:75ce) - -UnknownText_0x8b5ce: ; 0x8b5ce - ; Please enter any four-digit number. - text_jump UnknownText_0x1bc187 - db "@" -; 0x8b5d3 - -UnknownText_0x8b5d3: ; 0x8b5d3 - ; Enter the same number to confirm. - text_jump UnknownText_0x1bc1ac - db "@" -; 0x8b5d8 - -UnknownText_0x8b5d8: ; 0x8b5d8 - ; That's not the same number. - text_jump UnknownText_0x1bc1cf - db "@" -; 0x8b5dd - -UnknownText_0x8b5dd: ; 0x8b5dd - ; Your PASSCODE has been set. Enter this number next time to open the CARD FOLDER. - text_jump UnknownText_0x1bc1eb - db "@" -; 0x8b5e2 - -UnknownText_0x8b5e2: ; 0x8b5e2 - ; 0000 is invalid! - text_jump UnknownText_0x1bc23e - db "@" -; 0x8b5e7 - -Function8b5e7: ; 8b5e7 (22:75e7) - ld bc, wd013 - call Function8b36c - xor a - ld [wd012], a - ld [wd02e], a - call Function8b493 - call Function891ab - call Function8b4fd - ld e, $0 - call Function89c44 -.asm_8b602 - ld hl, UnknownText_0x8b642 - call PrintText - ld bc, wd013 - call Function8b45c - jr c, .asm_8b63c - call Function89448 - ld bc, wd013 - call Function8b493 - call OpenSRAMBank4 - ld hl, $a037 ; 4:a037 - call Function8b3a4 - call CloseSRAM - jr z, .asm_8b635 - ld hl, UnknownText_0x8b647 - call PrintText - ld bc, wd013 - call Function8b36c - jr .asm_8b602 -.asm_8b635 - ld hl, UnknownText_0x8b64c - call PrintText - and a -.asm_8b63c - push af - call Function89448 - pop af - ret -; 8b642 (22:7642) - -UnknownText_0x8b642: ; 0x8b642 - ; Enter the CARD FOLDER PASSCODE. - text_jump UnknownText_0x1bc251 - db "@" -; 0x8b647 - -UnknownText_0x8b647: ; 0x8b647 - ; Incorrect PASSCODE! - text_jump UnknownText_0x1bc272 - db "@" -; 0x8b64c - -UnknownText_0x8b64c: ; 0x8b64c - ; CARD FOLDER open.@ @ - text_jump UnknownText_0x1bc288 - start_asm - ld de, SFX_TWINKLE - call PlaySFX - call WaitSFX - ld c, $8 - call DelayFrames - ld hl, .string_8b663 - ret -.string_8b663 - db "@" -; 8b664 - -Function8b664: ; 8b664 (22:7664) - push bc - ld de, $4 -.asm_8b668 - ld a, [bc] - cp $0 - jr nz, .asm_8b66e - inc d -.asm_8b66e - inc bc - dec e - jr nz, .asm_8b668 - pop bc - ld a, d - cp $4 - ret - -Function8b677: ; 8b677 - call ClearBGPalettes - call DisableLCD - call Function8b690 - call Function8b6bb - call Function8b6ed - call EnableLCD - call Function891ab - call SetPalettes - ret -; 8b690 - -Function8b690: ; 8b690 - ld hl, GFX_17afa5 + $514 - ld de, VTiles2 - ld bc, $160 - ld a, BANK(GFX_17afa5) - call FarCopyBytes - ld hl, GFX_17afa5 + $514 + $160 - $10 - ld de, VTiles2 tile $61 - ld bc, $10 - ld a, BANK(GFX_17afa5) - call FarCopyBytes - ld hl, GFX_17afa5 + $514 + $160 - ld de, VTiles1 tile $6e - ld bc, $10 - ld a, BANK(GFX_17afa5) - call FarCopyBytes - ret -; 8b6bb - -Function8b6bb: ; 8b6bb - ld a, [rSVBK] - push af - ld a, $5 - ld [rSVBK], a - ld hl, Palette_8b6d5 - ld de, UnknBGPals - ld bc, $0018 - call CopyBytes - pop af - ld [rSVBK], a - call Function8949c - ret -; 8b6d5 - -Palette_8b6d5: ; 8b6d5 - RGB 31, 31, 31 - RGB 31, 21, 00 - RGB 14, 07, 03 - RGB 00, 00, 00 - RGB 31, 31, 31 - RGB 31, 21, 00 - RGB 22, 09, 17 - RGB 00, 00, 00 - RGB 31, 31, 31 - RGB 31, 21, 00 - RGB 06, 24, 08 - RGB 00, 00, 00 -; 8b6ed - -Function8b6ed: ; 8b6ed - hlcoord 0, 0, AttrMap - ld bc, $012c - xor a - call ByteFill - hlcoord 0, 14, AttrMap - ld bc, $0050 - ld a, $7 - call ByteFill - ret -; 8b703 - -Function8b703: ; 8b703 - call Mobile22_SetBGMapMode0 - push hl - ld a, $c - ld [hli], a - inc a - call Function8b73e - inc a - ld [hl], a - pop hl - push hl - push bc - ld de, SCREEN_WIDTH - add hl, de -.asm_8b717 - push hl - ld a, $f - ld [hli], a - ld a, $7f - call Function8b73e - ld a, $11 - ld [hl], a - pop hl - ld de, SCREEN_WIDTH - add hl, de - dec b - jr nz, .asm_8b717 - call Function8b732 - pop bc - pop hl - jr Function8b744 -; 8b732 - -Function8b732: ; 8b732 - ld a, $12 - ld [hli], a - ld a, $13 - call Function8b73e - ld a, $14 - ld [hl], a - ret -; 8b73e - -Function8b73e: ; 8b73e - ld d, c -.asm_8b73f - ld [hli], a - dec d - jr nz, .asm_8b73f - ret -; 8b744 - -Function8b744: ; 8b744 - ld de, AttrMap - TileMap - add hl, de - inc b - inc b - inc c - inc c - xor a -.asm_8b74d - push bc - push hl -.asm_8b74f - ld [hli], a - dec c - jr nz, .asm_8b74f - pop hl - ld de, SCREEN_WIDTH - add hl, de - pop bc - dec b - jr nz, .asm_8b74d - ret -; 8b75d - -Function8b75d: ; 8b75d - call Mobile22_SetBGMapMode0 - hlcoord 0, 0 - ld a, $1 - ld bc, SCREEN_WIDTH - call ByteFill - hlcoord 0, 1 - ld a, $2 - ld [hl], a - hlcoord 9, 1 - ld c, $b - call Function8b788 - hlcoord 1, 1 - ld a, $4 - ld e, $8 -.asm_8b780 - ld [hli], a - inc a - dec e - jr nz, .asm_8b780 - jr Function8b79e -; 8b787 - -Function8b787: ; 8b787 - ret -; 8b788 - -Function8b788: ; 8b788 -.asm_8b788 - ld a, $2 - ld [hli], a - dec c - ret z - ld a, $1 - ld [hli], a - dec c - ret z - ld a, $3 - ld [hli], a - dec c - ret z - ld a, $1 - ld [hli], a - dec c - jr nz, .asm_8b788 - ret -; 8b79e - -Function8b79e: ; 8b79e - hlcoord 0, 1, AttrMap - ld a, $1 - ld [hli], a - hlcoord 9, 1, AttrMap - ld e, $b -.asm_8b7a9 - ld a, $2 - ld [hli], a - dec e - ret z - xor a - ld [hli], a - dec e - ret z - ld a, $1 - ld [hli], a - dec e - ret z - xor a - ld [hli], a - dec e - jr nz, .asm_8b7a9 - ret -; 8b7bd - -Function8b7bd: ; 8b7bd - call Function8b855 - ld hl, MenuDataHeader_0x8b867 - call CopyMenuDataHeader - ld a, [wd030] - ld [wMenuCursorBuffer], a - ld a, [wd031] - ld [wMenuScrollPosition], a - ld a, [wd032] - and a - jr z, .asm_8b7e0 - ld a, [wMenuFlags] - set 3, a - ld [wMenuFlags], a - -.asm_8b7e0 - ld a, [wd0e3] - and a - jr z, .asm_8b7ea - dec a - ld [wScrollingMenuCursorPosition], a - -.asm_8b7ea - hlcoord 0, 2 - ld b, $b - ld c, $12 - call Function8b703 - call Function8b75d - call UpdateSprites - call Function89209 - call ScrollingMenu - call Function8920f - ld a, [wMenuJoypad] - cp $2 - jr z, .asm_8b823 - cp $20 - jr nz, .asm_8b813 - call Function8b832 - jr .asm_8b7ea - -.asm_8b813 - cp $10 - jr nz, .asm_8b81c - call Function8b83e - jr .asm_8b7ea - -.asm_8b81c - ld a, [MenuSelection] - cp $ff - jr nz, .asm_8b824 - -.asm_8b823 - xor a - -.asm_8b824 - ld c, a - ld a, [wMenuCursorY] - ld [wd030], a - ld a, [wMenuScrollPosition] - ld [wd031], a - ret -; 8b832 - -Function8b832: ; 8b832 - ld a, [wMenuScrollPosition] - ld hl, wMenuData2Items - sub [hl] - jr nc, Function8b84b - xor a - jr Function8b84b -; 8b83e - -Function8b83e: ; 8b83e - ld a, [wMenuScrollPosition] - ld hl, wMenuData2Items - add [hl] - cp $24 - jr c, Function8b84b - ld a, $24 - -Function8b84b: ; 8b84b - ld [wMenuScrollPosition], a - ld a, [wMenuCursorY] - ld [wMenuCursorBuffer], a - ret -; 8b855 - -Function8b855: ; 8b855 - ld a, $28 - ld hl, wd002 - ld [hli], a - ld c, $28 - xor a -.asm_8b85e - inc a - ld [hli], a - dec c - jr nz, .asm_8b85e - ld a, $ff - ld [hl], a - ret -; 8b867 - -MenuDataHeader_0x8b867: ; 0x8b867 - db $40 ; flags - db 03, 01 ; start coords - db 13, 18 ; end coords - dw MenuData2_0x8b870 - db 1 ; default option -; 0x8b86f - - db 0 - -MenuData2_0x8b870: ; 0x8b870 - db $3c ; flags - db 5 ; items - db 3, 1 - dbw 0, wd002 - dba Function8b880 - dba Function8b88c - dba Function8b8c8 -; 8b880 - -Function8b880: ; 8b880 - ld h, d - ld l, e - ld de, MenuSelection - lb bc, PRINTNUM_LEADINGZEROS | 1, 2 - call PrintNum - ret -; 8b88c - -Function8b88c: ; 8b88c - call OpenSRAMBank4 - ld h, d - ld l, e - push hl - ld de, String_89116 - call Function8931b - call Function8932d - jr c, .asm_8b8a3 - ld hl, 0 - add hl, bc - ld d, h - ld e, l - -.asm_8b8a3 - pop hl - push hl - call PlaceString - pop hl - ld d, $0 - ld e, $6 - add hl, de - push hl - ld de, String_89116 - call Function8931b - call Function8934a - jr c, .asm_8b8c0 - ld hl, $0006 - add hl, bc - ld d, h - ld e, l - -.asm_8b8c0 - pop hl - call PlaceString - call CloseSRAM - ret -; 8b8c8 - -Function8b8c8: ; 8b8c8 - hlcoord 0, 14 - ld b, $2 - ld c, $12 - call TextBox - ld a, [wd033] - ld b, 0 - ld c, a - ld hl, Unknown_8b903 - add hl, bc - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - ld d, h - ld e, l - hlcoord 1, 16 - call PlaceString - hlcoord 0, 13 - ld a, $f - ld [hl], a - hlcoord 19, 13 - ld a, $11 - ld [hl], a - ld a, [wMenuScrollPosition] - cp $24 - ret c - hlcoord 0, 13 - ld c, $12 - call Function8b732 - ret -; 8b903 - -Unknown_8b903: ; 8b903 - dw String_8b90b - dw String_8b919 - dw String_8b92a - dw String_8b938 - -String_8b90b: db "めいしを えらんでください@" ; Please select a noun. -String_8b919: db "どの めいしと いれかえますか?@" ; OK to swap with any noun? -String_8b92a: db "あいてを えらんでください@" ; Please select an opponent. -String_8b938: db "いれる ところを えらんでください@" ; Please select a location. -; 8b94a - -Function8b94a: ; 8b94a - ld [wd033], a - xor a - ld [wMenuScrollPosition], a - ld [wd032], a - ld [wd0e3], a - ld [wd031], a - ld a, $1 - ld [wd030], a - ret -; 8b960 - - -Function8b960: ; 8b960 (22:7960) - ld hl, MenuDataHeader_0x8b9ac - call LoadMenuDataHeader - call Function8b9e9 - jr c, .asm_8b97a - hlcoord 11, 0 - ld b, $6 - ld c, $7 - call Function8b703 - ld hl, MenuDataHeader_0x8b9b1 - jr .asm_8b987 -.asm_8b97a - hlcoord 11, 0 - ld b, $a - ld c, $7 - call Function8b703 - ld hl, MenuDataHeader_0x8b9ca -.asm_8b987 - ld a, $1 - call Function89d5e - ld hl, Function8b9ab - call Function89d85 - call ExitMenu - jr c, .asm_8b99c - call Function8b99f - jr nz, .asm_8b99d -.asm_8b99c - xor a -.asm_8b99d - ld c, a - ret - -Function8b99f: ; 8b99f (22:799f) - ld hl, wd002 - dec a - ld c, a - ld b, $0 - add hl, bc - ld a, [hl] - cp $ff - ret -; 8b9ab (22:79ab) - -Function8b9ab: ; 8b9ab - ret -; 8b9ac - -MenuDataHeader_0x8b9ac: ; 0x8b9ac - db $40 ; flags - db 00, 11 ; start coords - db 11, 19 ; end coords - -MenuDataHeader_0x8b9b1: ; 0x8b9b1 - db $40 ; flags - db 00, 11 ; start coords - db 07, 19 ; end coords - dw MenuData2_0x8b9b9 - db 1 ; default option -; 0x8b9b9 - -MenuData2_0x8b9b9: ; 0x8b9b9 - db $a0 ; flags - db 3 ; items - db "へんしゅう@" ; EDIT - db "いれかえ@" ; REPLACE - db "やめる@" ; QUIT -; 0x8b9ca - -MenuDataHeader_0x8b9ca: ; 0x8b9ca - db $40 ; flags - db 00, 11 ; start coords - db 11, 19 ; end coords - dw MenuData2_0x8b9d2 - db 1 ; default option -; 0x8b9d2 - -MenuData2_0x8b9d2: ; 0x8b9d2 - db $a0 ; flags - db 5 ; items - db "みる@" ; VIEW - db "へんしゅう@" ; EDIT - db "いれかえ@" ; REPLACE - db "けす@" ; ERASE - db "やめる@" ; QUIT -; 0x8b9e9 - -Function8b9e9: ; 8b9e9 (22:79e9) - call OpenSRAMBank4 - call Function8931b - call Function8932d - jr nc, .asm_8b9f6 - jr .asm_8b9ff -.asm_8b9f6 - ld hl, $11 - add hl, bc - call Function89b45 - jr c, .asm_8ba08 -.asm_8b9ff - call Function892b4 - and a - ld de, Unknown_8ba1c - jr .asm_8ba0c -.asm_8ba08 - ld de, Unknown_8ba1f - scf -.asm_8ba0c - push af - ld hl, wd002 -.asm_8ba10 - ld a, [de] - inc de - ld [hli], a - cp $ff - jr nz, .asm_8ba10 - call CloseSRAM - pop af - ret -; 8ba1c (22:7a1c) - -Unknown_8ba1c: ; 8b1ac - db 2, 4, -1 - -Unknown_8ba1f: ; 8ba1f - db 1, 2, 4, 3, -1 -; 8ba24 diff --git a/misc/mobile_40.asm b/misc/mobile_40.asm deleted file mode 100644 index fa6a39fdf..000000000 --- a/misc/mobile_40.asm +++ /dev/null @@ -1,8156 +0,0 @@ -Function100000: ; 100000 -; d: 1 or 2 -; e: bank -; bc: addr - ld a, [rSVBK] - push af - ld a, 1 - ld [rSVBK], a - - call Function100022 - call Function1000ba - call Function100675 - call Function100057 - call Function10016f - call Function100276 - - push bc - call Function100301 - pop bc - - pop af - ld [rSVBK], a - ret -; 100022 - -Function100022: ; 100022 - push de - push bc - call SetRAMStateForMobile - pop bc - pop de - ld a, d - ld [wcd21], a - ld a, e - ld [wcd22], a - ld a, c - ld [wcd23], a - ld a, b - ld [wcd24], a - callba Function10127e - callba MobileFunc_106462 - callba Function106464 ; load broken gfx - callba Function11615a ; init RAM - ld hl, VramState - set 1, [hl] - ret -; 100057 - -Function100057: ; 100057 - call DisableMobile - call ReturnToMapFromSubmenu - ld hl, VramState - res 1, [hl] - ret -; 100063 - -SetRAMStateForMobile: ; 100063 - xor a - ld hl, BGMapBuffer - ld bc, $65 - call ByteFill - xor a - ld hl, wc300 - ld bc, $100 - call ByteFill - ld a, [rIE] - ld [BGMapBuffer], a - xor a - ld [hMapAnims], a - ld [hLCDCPointer], a - ret -; 100082 - -EnableMobile: ; 100082 - xor a - ld hl, OverworldMap - ld bc, OverworldMapEnd - OverworldMap - call ByteFill - - di - call DoubleSpeed - xor a - ld [rIF], a - ld a, 1 << VBLANK + 1 << LCD_STAT + 1 << TIMER + 1 << SERIAL - ld [rIE], a - xor a - ld [hMapAnims], a - ld [hLCDCPointer], a - ld a, $01 - ld [hMobileReceive], a - ld [hMobile], a - ei - - ret -; 0x1000a4 - -DisableMobile: ; 1000a4 - di - xor a - ld [hMobileReceive], a - ld [hMobile], a - xor a - ld [hVBlank], a - call NormalSpeed - xor a - ld [rIF], a - ld a, [BGMapBuffer] - ld [rIE], a - ei - ret -; 1000ba - -Function1000ba: ; 1000ba -.loop - ; call [wcd22]:([wcd23][wcd24] + [wMobileCommsJumptableIndex]) - ld hl, wcd23 - ld a, [hli] - ld h, [hl] - ld l, a - ld a, [wMobileCommsJumptableIndex] - ld e, a - ld d, 0 - add hl, de - add hl, de - ld a, [wcd22] - call GetFarHalfword - ld a, [wcd22] - rst FarCall - - call Function1000e8 - call Function1000fa - call Function100144 - call Function100163 - ld a, [wcd2b] - and a - jr z, .loop - call DelayFrame - ret -; 1000e8 - -Function1000e8: ; 1000e8 - ld hl, wcd29 - bit 7, [hl] - ret z - callba Function115dd3 - ld hl, wcd29 - set 6, [hl] - ret -; 1000fa - -Function1000fa: ; 1000fa - ld a, [wc30d] - and a - ret z - ld hl, wcd29 - bit 4, [hl] - ret z - ld a, [wcd2b] - and a - jr nz, .asm_100117 - callba Function11619d - ld hl, wcd29 - set 6, [hl] - ret - -.asm_100117 - di - xor a - ld [rIF], a - ld a, [rIE] - and $13 - ld [rIE], a - xor a - ld [hMobileReceive], a - ld [hMobile], a - ei - - ld a, [wLinkMode] - push af - xor a - ld [wLinkMode], a - ld a, $04 - ld [wc314 + 5], a - callba Function11619d - ld hl, wcd29 - set 6, [hl] - pop af - ld [wLinkMode], a - ret -; 100144 - -Function100144: ; 100144 - ld hl, wcd29 - bit 5, [hl] - jr z, .asm_100155 - res 5, [hl] - res 2, [hl] - res 6, [hl] - call Function100320 - ret - -.asm_100155 - bit 2, [hl] - ret z - res 2, [hl] - res 6, [hl] - callba HDMATransferTileMapToWRAMBank3 - ret -; 100163 - -Function100163: ; 100163 - ld hl, wcd29 - bit 6, [hl] - ret z - res 6, [hl] - call DelayFrame - ret -; 10016f - -Function10016f: ; 10016f - ld a, [wcd2b] - cp $01 - ret z - cp $02 - ret z - cp $ff - jp z, .asm_1001f5 - cp $fe - jr z, .asm_1001c4 - cp $f5 - jr z, .asm_1001e7 - cp $f6 - jr z, .asm_1001b6 - cp $fa - jp z, .asm_1001bd - cp $f7 - jp z, .asm_1001ee - cp $f4 - jr z, .asm_1001d2 - cp $f3 - jr z, .asm_1001cb - cp $f1 - jr z, .asm_1001c4 - cp $f2 - jr z, .asm_1001c4 - cp $fc - jr z, .asm_1001e6 - cp $fb - jr z, .asm_1001af - cp $f8 - ret z - ret ; ???????????????????????????? - -.asm_1001af - ld a, $d7 - ld de, 0 - jr .asm_1001d7 - -.asm_1001b6 - ld a, $d5 - ld de, 0 - jr .asm_1001d7 - -.asm_1001bd - ld a, $d6 - ld de, 0 - jr .asm_1001d7 - -.asm_1001c4 - ld a, $d2 - ld de, 2 - jr .asm_1001d7 - -.asm_1001cb - ld a, $d1 - ld de, 1 - jr .asm_1001d7 - -.asm_1001d2 - ld a, $d0 - ld de, 0 - -.asm_1001d7 - ld [wc300], a - ld a, d - ld [wc302], a - ld a, e - ld [wc301], a - call Function10020b - ret - -.asm_1001e6 - ret - -.asm_1001e7 - ld de, String10025e - call Function100232 - ret - -.asm_1001ee - ld de, String10024d - call Function100232 - ret - -.asm_1001f5 - ld a, [wcd2c] - ld [wc300], a - ld a, [wcd2d] - ld [wc302], a - ld a, [wcd2d] - ld [wc301], a - call Function10020b - ret -; 10020b - -Function10020b: ; 10020b - xor a - ld [wc303], a - callba FadeOutPalettes - callba Function106464 - call HideSprites - call DelayFrame - - ld a, [rSVBK] - push af - ld a, $01 - ld [rSVBK], a - - callba DisplayMobileError - - pop af - ld [rSVBK], a - ret -; 100232 - -Function100232: ; 100232 - push de - callba Function106464 - call Function3f20 - call UpdateSprites - hlcoord 1, 2 - pop de - call PlaceString - call Function100320 - call JoyWaitAorB - ret -; 10024d - -String10024d: ; 10024d - db "つうしんを キャンセル しました@" -; 10025e - -String10025e: ; 10025e - db "おともだちと えらんだ へやが" - next "ちがうようです@" -; 100276 - -Function100276: ; 100276 - ld a, [wcd2b] - cp $01 - jr z, .asm_10029f - cp $02 - jr z, .asm_100296 - cp $f5 - jr z, .asm_1002a5 - cp $f6 - jr z, .asm_1002a5 - cp $f7 - jr z, .asm_100293 - cp $f8 - jr z, .asm_1002b1 - jr .asm_1002c0 - -.asm_100293 - ld c, $02 - ret - -.asm_100296 - callba Script_reloadmappart - ld c, $04 - ret - -.asm_10029f - call Function1002dc - ld c, 0 - ret - -.asm_1002a5 - callba Script_reloadmappart - call Function1002ed - ld c, $03 - ret - -.asm_1002b1 - call Function1002c9 - call Function1002dc - ld de, String10024d - call Function100232 - ld c, $02 - ret - -.asm_1002c0 - call Function1002c9 - call Function1002dc - ld c, $01 - ret -; 1002c9 - -Function1002c9: ; 1002c9 - ld hl, wcd2a - bit 0, [hl] - ret z - callba CleanUpBattleRAM - callba LoadPokemonData - ret -; 1002dc - -Function1002dc: ; 1002dc - ld a, MAPSETUP_LINKRETURN - ld [hMapEntryMethod], a - callba RunMapSetupScript - xor a - ld [hMapEntryMethod], a - call LoadStandardFont - ret -; 1002ed - -Function1002ed: ; 1002ed - callba LoadOW_BGPal7 - callba ApplyPals - ld a, $01 - ld [hCGBPalUpdate], a - call DelayFrame - ret -; 100301 - -Function100301: ; 100301 - ld hl, wcd2a - bit 1, [hl] - ret z - callba Function106464 - callba Function10202c - callba Function115dd3 - call Function100320 - call JoyWaitAorB - ret -; 100320 - -Function100320: ; 100320 - callba Mobile_ReloadMapPart - ret -; 100327 - -Function100327: ; 100327 - callba HDMATransferTileMapToWRAMBank3 - ret -; 100327 - - -Function10032e: ; 10032e - call Function10034d - ld e, a - ret nc - ld [wcd2b], a - ret -; 100337 - -Function100337: ; 100337 - call Function10032e - ret c - ld a, [wc821] - bit 4, a - jr z, .asm_100345 - ld a, e - and a - ret - -.asm_100345 - ld a, $f9 - ld e, a - ld [wcd2b], a - scf - ret -; 10034d - -Function10034d: ; 10034d - ld a, [wc821] - bit 1, a - jr nz, .asm_10036a - bit 2, a - jr nz, .asm_10037e - bit 3, a - jr nz, .asm_100366 - bit 0, a - jr nz, .asm_100364 - ld a, $01 - and a - ret - -.asm_100364 - xor a - ret - -.asm_100366 - ld a, $02 - and a - ret - -.asm_10036a - ld a, 0 - call Function3e32 - ld [wcd2c], a - ld a, h - ld [wcd2d], a - ld a, l - ld [wcd2e], a - ld a, $ff - scf - ret - -.asm_10037e - ld a, $fe - scf - ret -; 100382 - -Function100382: ; 100382 - ld a, [wcd27] - ld hl, Jumptable_10044e - rst JumpTable - ret -; 10038a - -Function10038a: ; 10038a - ld hl, wccb4 - ld a, $2e - call Function3e32 - ret -; 100393 - -Function100393: ; 100393 - ld hl, wcc60 - ld a, $3a - call Function3e32 - ret -; 10039c - -Function10039c: ; 10039c - ld hl, wcc60 - ld de, w3_d000 - ld bc, $54 - ld a, $03 - call FarCopyWRAM - ret -; 1003ab - -Function1003ab: ; 1003ab - ld hl, w3_d000 - ld de, wcc60 - ld bc, $54 - ld a, $03 - call FarCopyWRAM - ret -; 1003ba - -Function1003ba: ; 1003ba - ld hl, wccb4 - ld de, w3_d080 - ld bc, $54 - ld a, $03 - call FarCopyWRAM - ret -; 1003c9 - -Function1003c9: ; 1003c9 - ld hl, w3_d080 - ld de, wccb4 - ld bc, $54 - ld a, $03 - call FarCopyWRAM - ret -; 1003d8 - -Function1003d8: ; 1003d8 - ld hl, wccb4 - ld a, [hli] - ld c, a - ld b, 0 - push hl - add hl, bc - ld a, [BGMapPalBuffer] - ld [hl], a - pop hl - inc bc - call Function10043a - add hl, bc - ld [hl], e - inc hl - ld [hl], d - ld a, c - add $02 - ld [wccb4], a - ret -; 1003f5 - -Function1003f5: ; 1003f5 - ld a, [wcc60] - sub $03 - ld [wcc60], a - ld a, [wccb4] - sub $03 - ld [wccb4], a - ret -; 100406 - -Function100406: ; 100406 - ld a, [wcc60] - sub $02 - ld c, a - ld b, 0 - ld hl, wcc61 - call Function10043a - add hl, bc - ld a, [hli] - cp e - jr nz, .asm_100426 - ld a, [hld] - cp d - jr nz, .asm_100426 - dec hl - ld a, [BGMapPalBuffer] - cp [hl] - jr nz, .asm_10042d - xor a - ret - -.asm_100426 - ld a, $f4 - ld [wcd2b], a - jr .asm_100432 - -.asm_10042d - ld a, $f3 - ld [wcd2b], a - -.asm_100432 - push hl - ld hl, wcd7c - inc [hl] - pop hl - scf - ret -; 10043a - -Function10043a: ; 10043a - push hl - push bc - ld de, 0 -.asm_10043f - ld a, [hli] - add e - ld e, a - ld a, d - adc 0 - ld d, a - dec bc - ld a, b - or c - jr nz, .asm_10043f - pop bc - pop hl - ret -; 10044e - - -Jumptable_10044e: ; 10044e (40:444e) - dw Function10046a - dw Function10047c - dw Function100493 - dw Function1004ba - dw Function1004f4 - dw Function1004ce - dw Function1004de - dw Function1004a4 - dw Function100495 - dw Function1004ce - dw Function1004de - dw Function1004e9 - dw Function1004f4 - dw Function1004a4 - -Function10046a: ; 10046a - ld hl, BGMapPalBuffer - inc [hl] - call Function1003d8 - call Function1003ba - ld a, [wcd27] - inc a - ld [wcd27], a - ret -; 10047c - -Function10047c: ; 10047c - call Function100337 - ret c - ret z - cp $02 - jr z, .asm_100487 - jr .asm_10048d - -.asm_100487 - ld a, $08 - ld [wcd27], a - ret - -.asm_10048d - ld a, $02 - ld [wcd27], a - ret -; 100493 - -Function100493: ; 100493 - jr asm_100497 - -Function100495: ; 100495 - jr asm_100497 - -asm_100497 - call Function100337 - ret c - ret z - ld a, [wcd27] - inc a - ld [wcd27], a - ret -; 1004a4 - -Function1004a4: ; 1004a4 - call Function100406 - jr c, .asm_1004b8 - call Function1003c9 - call Function1003f5 - ld a, [wcd27] - set 7, a - ld [wcd27], a - ret - -.asm_1004b8 - scf - ret -; 1004ba - -Function1004ba: ; 1004ba - call Function10038a - and a - jr nz, .asm_1004c8 - ld a, [wcd27] - inc a - ld [wcd27], a - ret - -.asm_1004c8 - ld a, $08 - ld [wcd27], a - ret -; 1004ce - -Function1004ce: ; 1004ce - call Function100337 - ret c - ret z - cp $02 - ret nz - ld a, [wcd27] - inc a - ld [wcd27], a - ret -; 1004de - -Function1004de: ; 1004de - call Function100393 - ld a, [wcd27] - inc a - ld [wcd27], a - ret -; 1004e9 - -Function1004e9: ; 1004e9 - call Function10038a - ld a, [wcd27] - inc a - ld [wcd27], a - ret -; 1004f4 - -Function1004f4: ; 1004f4 - call Function100337 - ret c - ret z - ld a, [wcd27] - inc a - ld [wcd27], a - call Function10039c - ret -; 100504 - -Function100504: ; 100504 - push de - call Function3f20 - call UpdateSprites - pop de - hlcoord 4, 2 - call PlaceString - ret -; 100513 - -Function100513: ; 100513 - call Function3f7c - call PlaceVerticalMenuItems - call InitVerticalMenuCursor - ld hl, w2DMenuFlags1 - set 7, [hl] - ret -; 100522 - -Function100522: ; 100522 - ld a, [wcd28] - ld hl, Jumptable_10052a - rst JumpTable - ret -; 10052a - -Jumptable_10052a: ; 10052a - dw Function100534 - dw Function100545 - dw Function100545 - dw Function100545 - dw Function10054d -; 100534 - -Function100534: ; 100534 - call Function100513 - call UpdateSprites - call ApplyTilemap - ld a, [wcd28] - inc a - ld [wcd28], a - ret -; 100545 - -Function100545: ; 100545 - ld a, [wcd28] - inc a - ld [wcd28], a - ret -; 10054d - -Function10054d: ; 10054d - callba MobileMenuJoypad - ld a, c - ld hl, wMenuJoypadFilter - and [hl] - ret z - call MenuClickSound - bit 0, a - jr nz, .asm_100565 - bit 1, a - jr nz, .asm_10056f - ret - -.asm_100565 - ld a, [wcd28] - set 7, a - ld [wcd28], a - and a - ret - -.asm_10056f - ld a, [wcd28] - set 7, a - ld [wcd28], a - scf - ret -; 100579 - -Function100579: ; 100579 - ld a, [wcd26] - ld hl, Jumptable_100581 - rst JumpTable - ret -; 100581 - -Jumptable_100581: ; 100581 - dw Function100585 - dw Function100597 -; 100585 - -Function100585: ; 100585 - ld hl, MenuDataHeader_1005b2 - call LoadMenuDataHeader - ld a, 0 - ld [wcd28], a - ld a, [wcd26] - inc a - ld [wcd26], a - -Function100597: ; 100597 - call Function100522 - ld a, [wcd28] - bit 7, a - ret z - jr nc, .asm_1005a6 - xor a - ld [wMenuCursorY], a - -.asm_1005a6 - call ExitMenu - ld a, [wcd26] - set 7, a - ld [wcd26], a - ret -; 1005b2 - -MenuDataHeader_1005b2: ; 1005b2 - db $40 ; flags - db 6, 14 - db 10, 19 - dw MenuData2_1005ba - db 1 ; default option - -MenuData2_1005ba: - db $c0 ; flags - db 2 - db "はい@" - db "いいえ@" -; 1005c3 - -Function1005c3: ; 1005c3 - ld a, [wcd26] - ld hl, Jumptable_1005cb - rst JumpTable - ret -; 1005cb - -Jumptable_1005cb: ; 1005cb - dw Function1005cf - dw Function1005e1 -; 1005cf - -Function1005cf: ; 1005cf - ld hl, MenuDataHeader_1005fc - call LoadMenuDataHeader - ld a, 0 - ld [wcd28], a - ld a, [wcd26] - inc a - ld [wcd26], a - -Function1005e1: ; 1005e1 - call Function100522 - ld a, [wcd28] - bit 7, a - ret z - jr nc, .asm_1005f0 - xor a - ld [wMenuCursorY], a -.asm_1005f0 - call ExitMenu - ld a, [wcd26] - set 7, a - ld [wcd26], a - ret -; 1005fc - -MenuDataHeader_1005fc: ; 1005fc - db $40 ; flags - db 6, 14 - db 10, 19 - dw MenuData2_100604 - db 1 ; default option - -MenuData2_100604: ; 100604 - db $c0 ; flags - db 2 - db "かける@" - db "まつ@" -; 10060d - -Mobile_CommunicationStandby: ; 10060d - hlcoord 3, 10 - ld b, 1 - ld c, 11 - call Function3eea - ld de, .String - hlcoord 4, 11 - call PlaceString - ret -; 100621 - -.String: ; 100621 - db "つうしんたいきちゅう!@" -; 10062d - -AdvanceMobileInactivityTimerAndCheckExpired: ; 10062d - push bc - call IncrementMobileInactivityTimerByCFrames - pop bc - ld a, [wMobileInactivityTimerMinutes] - cp b - jr nc, .timed_out - and a - ret - -.timed_out - ld a, $fa - ld [wcd2b], a - scf - ret -; 100641 - -StartMobileInactivityTimer: ; 100641 - xor a - ld [wMobileInactivityTimerMinutes], a - ld [wMobileInactivityTimerSeconds], a - ld [wMobileInactivityTimerFrames], a - ret -; 10064c - -IncrementMobileInactivityTimerBy1Frame: ; 10064c - ld c, 1 -IncrementMobileInactivityTimerByCFrames: ; 10064e - ld hl, wMobileInactivityTimerFrames ; timer? - ld a, [hl] - add c - cp 60 - jr c, .seconds - xor a - -.seconds - ld [hld], a - ret c - ld a, [hl] - inc a - cp 60 - jr c, .minutes - xor a - -.minutes - ld [hld], a - ret c - inc [hl] - ret -; 100665 - -Function100665: ; 100665 - call UpdateTime - ld hl, wcd36 - ld a, [hHours] - ld [hli], a - ld a, [hMinutes] - ld [hli], a - ld a, [hSeconds] - ld [hl], a - ret -; 100675 - -Function100675: ; 100675 - ld hl, wcd2a - bit 2, [hl] - set 2, [hl] - ret nz - call Function1006d3 - ret -; 100681 - -Function100681: ; 100681 - push hl - ld hl, wcd2a - bit 2, [hl] - ld hl, wcd2a - set 2, [hl] - pop hl - jr nz, .asm_100694 - push hl - call Function1006d3 - pop hl -.asm_100694 - ld de, wcd32 - -Function100697: ; 100697 - ld a, [de] - and a - jr nz, .asm_1006bb - inc de - push de - call .asm_1006b4 - ld de, String1006c2 - call PlaceString - ld h, b - ld l, c - pop de - inc de - call .asm_1006b4 - ld de, String1006c6 - call PlaceString - ret - -.asm_1006b4 - lb bc, PRINTNUM_LEADINGZEROS | 1, 2 - call PrintNum - ret - -.asm_1006bb - ld de, String1006ca - call PlaceString - ret -; 1006c2 - -String1006c2: ; 1006c2 - db "ふん @" -String1006c6: ; 1006c6 - db "びょう@" -String1006ca: ; 1006ca - db "1じかんいじょう@" -; 1006d3 - -Function1006d3: ; 1006d3 - call UpdateTime - ld de, wcd34 - ld hl, wcd38 - -Function1006dc: ; 1006dc - ld a, [hld] - ld c, a - ld a, [hSeconds] - sub c - jr nc, .asm_1006e5 - add $3c - -.asm_1006e5 - ld [de], a - dec de - ld a, [hld] - ld c, a - ld a, [hMinutes] - sbc c - jr nc, .asm_1006f0 - add $3c - -.asm_1006f0 - ld [de], a - dec de - ld a, [hl] - ld c, a - ld a, [hHours] - sbc c - jr nc, .asm_1006fb - add $18 - -.asm_1006fb - ld [de], a - ret -; 1006fd - -Function1006fd: ; 1006fd - ld a, $04 - ld hl, $a800 - call GetSRAMBank - xor a - ld [hli], a - ld [hli], a - ld [hli], a - call CloseSRAM - ret -; 10070d - -Function10070d: ; 10070d - ld a, $04 - ld hl, $a800 - call GetSRAMBank - xor a - ld [hli], a - ld a, $0a - ld [hli], a - xor a - ld [hli], a - call CloseSRAM - ret -; 100720 - -Function100720: ; 100720 - xor a - ld [wcd6a], a - call UpdateTime - ld a, [hHours] - ld [wcd72], a - ld a, [hMinutes] - ld [wcd73], a - ld a, [hSeconds] - ld [wcd74], a - ld a, $04 - ld hl, $a800 - call GetSRAMBank - ld a, [hli] - ld [wcd6c], a - ld a, [hli] - ld [wcd6d], a - ld a, [hli] - ld [wcd6e], a - call CloseSRAM - ld a, [wcd6d] - ld [wcd6b], a - ret -; 100754 - -Function100754: ; 100754 - call UpdateTime - ld a, [hHours] - ld [wcd72], a - ld a, [hMinutes] - ld [wcd73], a - ld a, [hSeconds] - ld [wcd74], a - ld a, [wcd6d] - ld [wcd6b], a - ld hl, wcd2a - res 6, [hl] - ret -; 100772 - -Function100772: ; 100772 - push de - ld hl, wcd6c - ld a, [de] - cp [hl] - jr c, .asm_10079a - jr nz, .asm_10078c - inc hl - inc de - ld a, [de] - cp [hl] - jr c, .asm_10079a - jr nz, .asm_10078c - inc hl - inc de - ld a, [de] - cp [hl] - jr c, .asm_10079a - jr z, .asm_10079a - -.asm_10078c - pop hl - ld a, [hli] - ld [wcd6c], a - ld a, [hli] - ld [wcd6d], a - ld a, [hli] - ld [wcd6e], a - ret - -.asm_10079a - pop de - ret -; 10079c - - -Function10079c: ; 10079c - ld a, [wcd21] - cp $01 - jr nz, .dont_quit - ld hl, wcd2a - bit 5, [hl] - jr nz, .dont_quit - ld hl, wcd2a - bit 6, [hl] - jr nz, .dont_quit - ld a, [wcd6a] - add c - cp 60 - jr nc, .overflow - ld [wcd6a], a - and a - ret - -.overflow - sub 60 - ld [wcd6a], a - ld d, b - push de - call Function1007f6 - pop de - jr c, .quit - ld a, c - and a - jr nz, .quit - ld a, b - cp 10 - jr nc, .quit - ld a, d - and a - ret z - ld a, [wcd6b] - cp b - ret z - ld a, b - ld [wcd6b], a - call Function1008e0 - and a - ret - -.quit - call Function1008e0 - ld hl, wcd2a - set 4, [hl] - ld a, $fc - ld [wcd2b], a - scf - ret - -.dont_quit - and a - ret -; 1007f6 - -Function1007f6: ; 1007f6 - call UpdateTime - ld hl, wcd74 - ld de, wcd71 - call Function1006dc - ld a, $04 - call GetSRAMBank - ld hl, $a802 - call Function100826 - call CloseSRAM - ld hl, wcd6e - call Function100826 - ld a, [hHours] - ld [wcd72], a - ld a, [hMinutes] - ld [wcd73], a - ld a, [hSeconds] - ld [wcd74], a - ret -; 100826 - -Function100826: ; 100826 - ld a, [wcd71] - add [hl] - sub $3c - jr nc, .asm_100830 - add $3c - -.asm_100830 - ld [hld], a - ccf - ld a, [BGMapBufferPtrs] - adc [hl] - sub $3c - jr nc, .asm_10083c - add $3c - -.asm_10083c - ld [hld], a - ld b, a - ccf - ld a, [wcd6f] - adc [hl] - ld [hl], a - ld c, a - ret -; 100846 - -Function100846: ; 100846 - ld hl, wcd2a - bit 5, [hl] - jr nz, .asm_10087c - ld a, [wcd6e] - ld c, a - ld a, 0 - sub c - jr nc, .asm_100858 - add $3c - -.asm_100858 - ld [StringBuffer2 + 2], a - ld a, [wcd6d] - ld c, a - ld a, $0a - sbc c - ld [StringBuffer2 + 1], a - xor a - ld [StringBuffer2], a - ld de, String_10088e - hlcoord 1, 14 - call PlaceString - ld de, StringBuffer2 - hlcoord 4, 16 - call Function100697 - ret - -.asm_10087c - ld de, String_10088e - hlcoord 1, 14 - call PlaceString - ld h, b - ld l, c - ld de, String_10089f - call PlaceString - ret -; 10088e - -String_10088e: ; 10088e - db "モバイルたいせん できる" - next "じかん@" -; 10089f - -String_10089f: ; 10089f - db " むせいげん@" -; 1008a6 - -Function1008a6: ; 1008a6 - ld a, $04 - ld hl, $a800 - call GetSRAMBank - ld a, [hli] - ld [StringBuffer2], a - ld a, [hli] - ld [StringBuffer2 + 1], a - ld a, [hli] - ld [StringBuffer2 + 2], a - call CloseSRAM - ld a, [StringBuffer2 + 2] - ld b, a - ld a, 0 - sub b - jr nc, .asm_1008c8 - add $3c - -.asm_1008c8 - ld b, a - ld a, [StringBuffer2 + 1] - ld c, a - ld a, $0a - sbc c - ld c, a - jr c, .asm_1008da - ld a, [StringBuffer2] - and a - jr nz, .asm_1008da - ret - -.asm_1008da - call Function10070d - ld c, 0 - ret -; 1008e0 - - -Function1008e0: ; 1008e0 - ld a, [hBGMapMode] - ld b, a - ld a, [hVBlank] - ld c, a - push bc - xor a - ld [hBGMapMode], a - ld a, $03 - ld [hVBlank], a - call Function100970 - call Function100902 - call Function100989 - call DelayFrame - pop bc - ld a, c - ld [hVBlank], a - ld a, b - ld [hBGMapMode], a - ret -; 100902 - -Function100902: ; 100902 - hlcoord 3, 10 - ld b, $01 - ld c, $0b - call TextBox - ld a, [wcd6d] - ld c, a - ld a, $0a - sub c - ld [StringBuffer2], a - jr z, .asm_10093f - ld de, .string_100966 - hlcoord 4, 11 - call PlaceString - hlcoord 8, 11 - lb bc, 1, 2 - ld de, StringBuffer2 - call PrintNum - ld de, SFX_TWO_PC_BEEPS - call PlaySFX - callba ReloadMapPart - ld c, $3c - call DelayFrames - ret - -.asm_10093f - ld de, .string_10095a - hlcoord 4, 11 - call PlaceString - ld de, SFX_4_NOTE_DITTY - call PlaySFX - callba ReloadMapPart - ld c, 120 - call DelayFrames - ret -; 10095a - -.string_10095a ; 10095a - db "たいせん しゅうりょう@" -.string_100966 ; 100966 - db "のこり ふん", $e7, "@" -; 100970 - - -Function100970: ; 100970 - hlcoord 0, 0 - ld de, w3_dc00 - call Function1009a5 - hlcoord 0, 0, AttrMap - ld de, w3_dd68 - call Function1009a5 - call Function1009d2 - call Function1009ae - ret -; 100989 - -Function100989: ; 100989 - ld hl, w3_dc00 - decoord 0, 0 - call Function1009a5 - call Function1009ae - callba ReloadMapPart - ld hl, w3_dd68 - decoord 0, 0, AttrMap - call Function1009a5 - ret -; 1009a5 - -Function1009a5: ; 1009a5 - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT - ld a, $03 - call FarCopyWRAM - ret -; 1009ae - -Function1009ae: ; 1009ae - ld a, [rSVBK] - push af - ld a, $03 - ld [rSVBK], a - - ld hl, w3_d800 - decoord 0, 0, AttrMap - ld c, SCREEN_WIDTH - ld b, SCREEN_HEIGHT -.loop_row - push bc -.loop_col - ld a, [hli] - ld [de], a - inc de - dec c - jr nz, .loop_col - ld bc, BG_MAP_WIDTH - SCREEN_WIDTH - add hl, bc - pop bc - dec b - jr nz, .loop_row - - pop af - ld [rSVBK], a - ret -; 1009d2 - -Function1009d2: ; 1009d2 - ld a, [rSVBK] - push af - ld a, $03 - ld [rSVBK], a - - ld a, [rVBK] - push af - ld a, $01 - ld [rVBK], a - - ld hl, w3_d800 - debgcoord 0, 0 - lb bc, $03, $24 - call Get2bpp - - pop af - ld [rVBK], a - - pop af - ld [rSVBK], a - ret -; 1009f3 - -Function1009f3: ; 1009f3 - ld a, [hJoyDown] - and SELECT + A_BUTTON - cp SELECT + A_BUTTON - jr nz, .select_a - ld hl, wcd2a - set 4, [hl] - ld a, $f8 - ld [wcd2b], a - scf - ret - -.select_a - xor a - ret -; 100a09 - -_LinkBattleSendReceiveAction: ; 100a09 - call .StageForSend - ld [wd431], a - callba PlaceWaitingText - ld a, [wLinkMode] - cp LINK_MOBILE - jr nz, .not_mobile - - call .MobileBattle_SendReceiveAction - call Function100da5 - callba FinishBattleAnim - jr .done - -.not_mobile - call .LinkBattle_SendReceiveAction - -.done - ret -; 100a2e - -.StageForSend: ; 100a2e - ld a, [wPlayerAction] - and a - jr nz, .switch - ld a, [CurPlayerMove] - ld b, BATTLEACTION_E - cp STRUGGLE - jr z, .struggle - ld b, BATTLEACTION_D - cp $ff - jr z, .struggle - ld a, [CurMoveNum] - jr .use_move - -.switch - ld a, [CurPartyMon] - add BATTLEACTION_SWITCH1 - jr .use_move - -.struggle - ld a, b - -.use_move - and $0f - ret -; 100a53 - -.LinkBattle_SendReceiveAction: ; 100a53 - ld a, [wd431] - ld [wPlayerLinkAction], a - ld a, $ff - ld [wOtherPlayerLinkAction], a -.waiting - call LinkTransfer - call DelayFrame - ld a, [wOtherPlayerLinkAction] - inc a - jr z, .waiting - - ld b, 10 -.receive - call DelayFrame - call LinkTransfer - dec b - jr nz, .receive - - ld b, 10 -.acknowledge - call DelayFrame - call LinkDataReceived - dec b - jr nz, .acknowledge - - ld a, [wOtherPlayerLinkAction] - ld [wBattleAction], a - ret -; 100a87 - -.MobileBattle_SendReceiveAction: ; 100a87 - call Function100acf - call StartMobileInactivityTimer - ld a, 0 - ld [wcd27], a -.asm_100a92 - call DelayFrame - call GetJoypad - callba Function100382 - ld c, $01 - ld b, $03 - push bc - call AdvanceMobileInactivityTimerAndCheckExpired - pop bc - jr c, .asm_100ac7 - ld b, $01 - call Function10079c - jr c, .asm_100ac7 - call Function1009f3 - jr c, .asm_100ac7 - ld a, [wcd2b] - and a - jr nz, .asm_100ac7 - ld a, [wcd27] - bit 7, a - jr z, .asm_100a92 - call Function100ae7 - jr .asm_100ace - -.asm_100ac7 - ld a, $0f - ld [wd430], a - jr .asm_100ace - -.asm_100ace - ret -; 100acf - -Function100acf: ; 100acf - ld de, Unknown_100b0a - ld hl, wccb5 - ld a, [wd431] - ld [hli], a - ld c, $01 -.asm_100adb - ld a, [de] - inc de - ld [hli], a - inc c - and a - jr nz, .asm_100adb - ld a, c - ld [wccb4], a - ret -; 100ae7 - -Function100ae7: ; 100ae7 - ld de, Unknown_100b0a - ld hl, wcc62 -.asm_100aed - ld a, [de] - inc de - and a - jr z, .asm_100af8 - cp [hl] - jr nz, .asm_100aff - inc hl - jr .asm_100aed - -.asm_100af8 - ld a, [wcc61] - ld [wd430], a - ret - -.asm_100aff - ld a, $0f - ld [wd430], a - ld a, $f1 - ld [wcd2b], a - ret -; 100b0a - - -SECTION "tetsuji", ROMX - - charmap " ", $20 ; revert to ascii - -Unknown_100b0a: ; 100b0a - db "tetsuji", 0 -; 100b12 - - -SECTION "bank40_2", ROMX - -Function100b12: ; 100b12 - call Function100dd8 - ret c - ld hl, BattleMenuDataHeader - ld a, BANK(BattleMenuDataHeader) - ld de, LoadMenuDataHeader - call FarCall_de - ld a, BANK(BattleMenuDataHeader) - ld [wMenuData2_2DMenuItemStringsBank], a - ld a, [wBattleMenuCursorBuffer] - ld [wMenuCursorBuffer], a - call Function100e72 - call Function100b45 - callba InitPartyMenuBGPal7 - call Function100ed4 - ld a, [wMenuCursorBuffer] - ld [wBattleMenuCursorBuffer], a - call ExitMenu - ret -; 100b45 - -Function100b45: ; 100b45 - call Function100b7a -.loop - call Mobile_SetOverworldDelay - callba MobileMenuJoypad - push bc - callba HDMATransferTileMapToWRAMBank3 - call Function100e2d - pop bc - jr c, .asm_100b6b - ld a, [wMenuJoypadFilter] - and c - jr z, .loop - callba Mobile_GetMenuSelection - ret - -.asm_100b6b - ld a, [w2DMenuNumCols] - ld c, a - ld a, [w2DMenuNumRows] - call SimpleMultiply - ld [wMenuCursorBuffer], a - and a - ret -; 100b7a - -Function100b7a: ; 100b7a - ld hl, CopyMenuData2 - ld a, [wMenuData2_2DMenuItemStringsBank] - rst FarCall - callba Draw2DMenu - callba MobileTextBorder - call UpdateSprites - call ApplyTilemap - callba Init2DMenuCursorPosition - ld hl, w2DMenuFlags1 - set 7, [hl] - ret -; 100b9f - -MobileMoveSelectionScreen: ; 100b9f - xor a - ld [wMoveSwapBuffer], a - callba CheckPlayerHasUsableMoves - ret z - call Function100dd8 - jp c, xor_a_dec_a - call Function100e72 - call .GetMoveSelection - push af - callba InitPartyMenuBGPal7 - call Function100ed4 - pop af - ret -; 100bc2 - -.GetMoveSelection: ; 100bc2 - xor a - ld [hBGMapMode], a - call Function100c74 - call Function100c98 -.master_loop - callba MoveInfoBox -.loop - call Mobile_SetOverworldDelay - callba MobileMenuJoypad - push bc - callba HDMATransferTileMapToWRAMBank3 - call Function100e2d - pop bc - jr c, .b_button - ld a, [wMenuJoypadFilter] - and c - bit D_UP_F, a - jp nz, .d_up - bit D_DOWN_F, a - jp nz, .d_down - bit A_BUTTON_F, a - jr nz, .a_button - bit B_BUTTON_F, a - jr nz, .b_button - jr .loop - -.d_up - ld a, [wMenuCursorY] - and a - jp nz, .master_loop - ld a, [wNumMoves] - inc a - ld [wMenuCursorY], a - jp .master_loop - -.d_down - ld a, [wMenuCursorY] - ld b, a - ld a, [wNumMoves] - inc a - inc a - cp b - jp nz, .master_loop - ld a, $01 - ld [wMenuCursorY], a - jp .master_loop - -.b_button - ld a, [wMenuCursorY] - dec a - ld [CurMoveNum], a - ld a, $01 - and a - ret - -.a_button - ld a, [wMenuCursorY] - dec a - ld [CurMoveNum], a - ld a, [wMenuCursorY] - dec a - ld c, a - ld b, 0 - ld hl, BattleMonPP - add hl, bc - ld a, [hl] - and $3f - jr z, .no_pp_left - ld a, [PlayerDisableCount] - swap a - and $0f - dec a - cp c - jr z, .move_disabled - ld a, [wMenuCursorY] - dec a - ld c, a - ld b, 0 - ld hl, BattleMonMoves - add hl, bc - ld a, [hl] - ld [CurPlayerMove], a - xor a - ret - -.move_disabled - ld hl, BattleText_TheMoveIsDisabled - jr .print_text - -.no_pp_left - ld hl, BattleText_TheresNoPPLeftForThisMove - -.print_text - call StdBattleTextBox - call Call_LoadTempTileMapToTileMap - jp .GetMoveSelection -; 100c74 - -Function100c74: ; 100c74 - hlcoord 0, 8 - ld b, 8 - ld c, 8 - call TextBox - ld hl, BattleMonMoves - ld de, wListMoves_MoveIndicesBuffer - ld bc, NUM_MOVES - call CopyBytes - ld a, SCREEN_WIDTH * 2 - ld [Buffer1], a - hlcoord 2, 10 - predef ListMoves - ret -; 100c98 - -Function100c98: ; 100c98 - ld de, .attrs - call SetMenuAttributes - ld a, [wNumMoves] - inc a - ld [w2DMenuNumRows], a - ld a, [CurMoveNum] - inc a - ld [wMenuCursorY], a - ret -; 100cad - -.attrs ; 100cad - db 10, 1 - db 255, 1 - db $a0, $00 - dn 2, 0 - db D_UP | D_DOWN | A_BUTTON | B_BUTTON - -Mobile_PartyMenuSelect: ; 100cb5 - call Function100dd8 - ret c - ld hl, w2DMenuFlags1 - set 7, [hl] - res 6, [hl] -.loop - call Mobile_SetOverworldDelay - callba MobileMenuJoypad - push bc - callba PlaySpriteAnimations - callba HDMATransferTileMapToWRAMBank3 - call MobileComms_CheckInactivityTimer - pop bc - jr c, .done - ld a, [wMenuJoypadFilter] - and c - jr z, .loop - call PlaceHollowCursor - ld a, [PartyCount] - inc a - ld b, a - ld a, [wMenuCursorY] - cp b - jr z, .done - ld [wPartyMenuCursor], a - ld a, [hJoyLast] - ld b, a - bit 1, b - jr nz, .done - ld a, [wMenuCursorY] - dec a - ld [CurPartyMon], a - ld c, a - ld b, 0 - ld hl, PartySpecies - add hl, bc - ld a, [hl] - ld [CurPartySpecies], a - ld de, SFX_READ_TEXT_2 - call PlaySFX - call WaitSFX - and a - ret - -.done - ld de, SFX_READ_TEXT_2 - call PlaySFX - call WaitSFX - scf - ret -; 100d22 - -MobileBattleMonMenu: ; 100d22 - call Function100dd8 - ret c - call Function100d67 - ld hl, w2DMenuFlags1 - set 7, [hl] - res 6, [hl] -.asm_100d30 - call Mobile_SetOverworldDelay - callba MobileMenuJoypad - push bc - callba PlaySpriteAnimations - callba HDMATransferTileMapToWRAMBank3 - call MobileComms_CheckInactivityTimer - pop bc - jr c, .asm_100d54 - ld a, [wMenuJoypadFilter] - and c - jr nz, .asm_100d56 - jr .asm_100d30 - -.asm_100d54 - scf - ret - -.asm_100d56 - push af - ld de, SFX_READ_TEXT_2 - call PlaySFX - pop af - bit 1, a - jr z, .asm_100d65 - ret z - scf - ret - -.asm_100d65 - and a - ret -; 100d67 - -Function100d67: ; 100d67 - ld hl, .MenuDataHeader - call CopyMenuDataHeader - xor a - ld [hBGMapMode], a - call MenuBox - call UpdateSprites - call PlaceVerticalMenuItems - call WaitBGMap - call CopyMenuData2 - call InitVerticalMenuCursor - ld hl, w2DMenuFlags1 - set 6, [hl] - ret -; 100d88 - -.MenuDataHeader: ; 100d88 - db 0 ; flags - db 11, 11 ; start coords - db 17, 19 ; end coords - dw .MenuData2 - db 1 ; default option - -.MenuData2: ; 100d90 - db $c0 ; flags - db 3 - db "いれかえる@" ; TRADE - db "つよさをみる@" ; STATS - db "キャンセル@" ; CANCEL -; 100da5 - -Function100da5: ; 100da5 - ld hl, wcd2a - res 3, [hl] - ld hl, wcd29 - res 0, [hl] - ret -; 100db0 - -Function100db0: ; 100db0 - ld hl, wcd2a - bit 3, [hl] - jr nz, .asm_100dbe - ld hl, wcd2a - set 3, [hl] - scf - ret - -.asm_100dbe - xor a - ret -; 100dc0 - - - -Function100dc0: ; 100dc0 - ld a, [wLinkMode] - cp LINK_MOBILE - jr nz, .mobile - ld hl, wcd2a - bit 3, [hl] - jr z, .mobile - scf - ret - -.mobile - xor a - ret -; 100dd2 - -Mobile_SetOverworldDelay: ; 100dd2 - ld a, 30 - ld [OverworldDelay], a - ret -; 100dd8 - -Function100dd8: ; 100dd8 - ld c, $01 - ld b, $03 - callba AdvanceMobileInactivityTimerAndCheckExpired - jr c, .asm_100dfb - ld c, $3c - ld b, $01 - call Function10079c - jr c, .asm_100dfb - callba Function10032e - ld a, [wcd2b] - and a - jr nz, .asm_100dfb - xor a - ret - -.asm_100dfb - scf - ret -; 100dfd - -MobileComms_CheckInactivityTimer: ; 100dfd - ld a, [OverworldDelay] - ld c, a - ld a, 30 - sub c - ld c, a - ld b, 3 - push bc - callba AdvanceMobileInactivityTimerAndCheckExpired ; useless to farcall - pop bc - jr c, .quit - ld b, 1 - call Function10079c - jr c, .quit - call Function1009f3 - jr c, .quit - callba Function10032e ; useless to farcall - ld a, [wcd2b] - and a - jr nz, .quit - xor a - ret - -.quit - scf - ret -; 100e2d - -Function100e2d: ; 100e2d - ld a, [OverworldDelay] - ld c, a - ld a, 30 - sub c - ld c, a - ld b, 3 - push bc - callba AdvanceMobileInactivityTimerAndCheckExpired - pop bc - jr c, .asm_100e61 - ld b, 1 - call Function10079c - jr c, .asm_100e61 - call Function1009f3 - jr c, .asm_100e61 - callba Function10032e - ld a, [wcd2b] - and a - jr nz, .asm_100e61 - call Function100e63 - call Function100e84 - xor a - ret - -.asm_100e61 - scf - ret -; 100e63 - -Function100e63: ; 100e63 - ld a, e - cp $02 - ret nz - call Function100db0 - ret nc - ld de, SFX_ELEVATOR_END - call PlaySFX - ret -; 100e72 - -Function100e72: ; 100e72 - xor a - ld hl, wcd29 - bit 0, [hl] - jr z, .asm_100e7c - ld a, $0a - -.asm_100e7c - ld [wcd67], a - xor a - ld [wcd68], a - ret -; 100e84 - -Function100e84: ; 100e84 - ld a, [wcd67] - ld hl, Jumptable_100e8c - rst JumpTable - ret -; 100e8c - - -Jumptable_100e8c: ; 100e8c (40:4e8c) - dw Function100ea2 - dw Function100eae - dw Function100eb4 - dw Function100eae - dw Function100eb4 - dw Function100eae - dw Function100eb4 - dw Function100eae - dw Function100eb4 - dw Function100eae - dw Function100ec4 - - -Function100ea2: ; 100ea2 (40:4ea2) - call Function100dc0 - ret nc - ld hl, wcd29 - set 0, [hl] - call Function100ec5 - - -Function100eae: ; 100eae - scf - call Function100eca - jr asm_100eb8 - -Function100eb4: ; 100eb4 - and a - call Function100eca - -asm_100eb8 - ld hl, wcd68 - inc [hl] - ld a, [hl] - cp $02 - ret c - ld [hl], 0 - jr Function100ec5 - -Function100ec4: ; 100ec4 - ret - -Function100ec5 - ld hl, wcd67 - inc [hl] - ret -; 100eca - -Function100eca: ; 100eca - callba Mobile_InitPartyMenuBGPal7 - call Function100ed4 - ret -; 100ed4 - -Function100ed4: ; 100ed4 - callba ApplyPals - ld a, $01 - ld [hCGBPalUpdate], a - ret -; 100edf - -Function100edf: ; 100edf - ld hl, Unknown_100fc0 - ld c, 1 - jr asm_100f02 - -Function100ee6: ; 100ee6 - ld hl, Unknown_100fc0 - ld c, 2 - jr asm_100f02 - -Function100eed: ; 100eed - ld hl, Unknown_100feb - ld c, 1 - jr asm_100f02 - -Function100ef4: ; 100ef4 - ld hl, Unknown_100ff3 - ld c, 1 - jr asm_100f02 - -Function100efb: ; 100efb - ld hl, Unknown_10102c - ld c, 1 - jr asm_100f02 - -asm_100f02: - ld a, c - ld [StringBuffer2], a - ; someting that was previously stored in de gets backed up to here - ld a, e - ld [StringBuffer2 + 1], a - ld a, d - ld [StringBuffer2 + 2], a - ; empty this - xor a - ld [StringBuffer2 + 4], a - ld [StringBuffer2 + 5], a -.loop - ld a, [hl] - cp $ff - jr z, .done - ld [StringBuffer2 + 3], a ; bank - push hl - inc hl - ; addr 1 - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ; size - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - ; addr 2 - ld a, [hli] - ld h, [hl] - ld l, a - call Function100f3d - ; next line - pop hl - ld de, 7 - add hl, de - jr .loop - -.done - ; recover the values into bc - ld a, [StringBuffer2 + 4] - ld c, a - ld a, [StringBuffer2 + 5] - ld b, a - ret -; 100f3d - -Function100f3d: ; 100f3d - ; parameter - ld a, [StringBuffer2] - cp $02 - jr z, .two - cp $01 - jr z, .one - cp $03 - jr z, .three - ret - -.three - ; what was once in de gets copied to hl, - ; modified by Function100f8d, and put back - ; into this backup - ld a, [StringBuffer2 + 1] - ld l, a - ld a, [StringBuffer2 + 2] - ld h, a - call Function100f8d - ld a, l - ld [StringBuffer2 + 1], a - ld a, h - ld [StringBuffer2 + 2], a - ret - -.two - ; hl gets backed up to de, then - ; do the same as in .three - ld d, h - ld e, l - ld a, [StringBuffer2 + 1] - ld l, a - ld a, [StringBuffer2 + 2] - ld h, a - call Function100f8d - ld a, l - ld [StringBuffer2 + 1], a - ld a, h - ld [StringBuffer2 + 2], a - ret - -.one - ; de gets copied to hl, then - ; load the backup into de, - ; finally run Function100f8d - ; and store the de result - ld h, d - ld l, e - ld a, [StringBuffer2 + 1] - ld e, a - ld a, [StringBuffer2 + 2] - ld d, a - call Function100f8d - ld a, e - ld [StringBuffer2 + 1], a - ld a, d - ld [StringBuffer2 + 2], a - ret -; 100f8d - -Function100f8d: ; 100f8d - push hl - ld a, [StringBuffer2 + 4] - ld l, a - ld a, [StringBuffer2 + 5] - ld h, a - add hl, bc - ld a, l - ld [StringBuffer2 + 4], a - ld a, h - ld [StringBuffer2 + 5], a - pop hl - ld a, [StringBuffer2 + 3] - bit 7, a - res 7, a - jr z, .sram - and a - jr nz, .far_wram - call CopyBytes - ret - -.far_wram - and $7f - call FarCopyWRAM - ret - -.sram - call GetSRAMBank - call CopyBytes - call CloseSRAM - ret -; 100fc0 - -Unknown_100fc0: ; 100fc0 - ; first byte: - ; Bit 7 set: Not SRAM - ; Lower 7 bits: Bank - ; Address, size (dw), address - dbwww $80, PlayerName, NAME_LENGTH, OTPlayerName - dbwww $80, PartyCount, 1 + PARTY_LENGTH + 1, OTPartyCount - dbwww $80, PlayerID, 2, OTPlayerID - dbwww $80, PartyMons, PARTYMON_STRUCT_LENGTH * PARTY_LENGTH, OTPartyMons - dbwww $80, PartyMonOT, NAME_LENGTH * PARTY_LENGTH, OTPartyMonOT - dbwww $80, PartyMonNicknames, PKMN_NAME_LENGTH * PARTY_LENGTH, OTPartyMonNicknames - db -1 - -Unknown_100feb: ; 100feb - dbwww $00, sPartyMail, MAIL_STRUCT_LENGTH * PARTY_LENGTH, NULL - db -1 - -Unknown_100ff3: ; 100ff3 - dbwww $80, wdc41, 1, NULL - dbwww $80, PlayerName, NAME_LENGTH, NULL - dbwww $80, PlayerName, NAME_LENGTH, NULL - dbwww $80, PlayerID, 2, NULL - dbwww $80, wSecretID, 2, NULL - dbwww $80, PlayerGender, 1, NULL - dbwww $04, $a603, 8, NULL - dbwww $04, $a007, PARTYMON_STRUCT_LENGTH, NULL - db -1 - -Unknown_10102c: ; 10102c - dbwww $80, OTPlayerName, NAME_LENGTH, NULL - dbwww $80, OTPlayerID, 2, NULL - dbwww $80, OTPartyMonNicknames, PKMN_NAME_LENGTH * PARTY_LENGTH, NULL - dbwww $80, OTPartyMonOT, NAME_LENGTH * PARTY_LENGTH, NULL - dbwww $80, OTPartyMons, PARTYMON_STRUCT_LENGTH * PARTY_LENGTH, NULL - db -1 -; 10104f - -Function101050: ; 101050 - call Function10107d - ld a, [OTPartyCount] -rept 2 ; ??? - ld hl, wc608 -endr - ld bc, wc7bb - wc608 - call Function1010de - ld hl, wc7bb - ld [hl], e - inc hl - ld [hl], d - ld a, $07 - call GetSRAMBank - ld hl, wc608 - ld de, $a001 - ld bc, wc7bd - wc608 - call CopyBytes - call CloseSRAM - ret -; 10107d - -Function10107d: ; 10107d - xor a - ld hl, wc608 - ld bc, wc7bd - wc608 - call ByteFill - ld hl, OTPlayerName - ld de, wc608 - ld bc, NAME_LENGTH - call CopyBytes - ld hl, wd271 - ld a, [hli] - ld [wc608 + 11], a - ld a, [hl] - ld [wc608 + 12], a - ld hl, OTPartyMonNicknames - ld de, wc608 + 13 - ld bc, NAME_LENGTH - call .CopyAllFromOT - ld hl, OTPartyMonOT - ld de, OTClassName + 1 - ld bc, NAME_LENGTH - call .CopyAllFromOT - ld hl, OTPartyMon1Species - ld de, $c699 - ld bc, PARTYMON_STRUCT_LENGTH - call .CopyAllFromOT - ld a, $50 - ld [wc7b9], a - ld a, $33 - ld [wc7ba], a - ret -; 1010cd - -.CopyAllFromOT: ; 1010cd - push hl - ld hl, 0 - ld a, [OTPartyCount] - call AddNTimes - ld b, h - ld c, l - pop hl - call CopyBytes - ret -; 1010de - -Function1010de: ; 1010de - push hl - push bc - ld de, 0 -.loop - ld a, [hli] - add e - ld e, a - ld a, d - adc 0 - ld d, a - dec bc - ld a, b - or c - jr nz, .loop - pop bc - pop hl - ret -; 1010f2 - -LoadSelectedPartiesForColosseum: ; 1010f2 - xor a - ld hl, StringBuffer2 - ld bc, 9 - call ByteFill - ld hl, wPlayerMonSelection - ld de, PartyCount - call .CopyThreeSpecies - ld hl, wPlayerMonSelection - ld de, PartyMon1Species - call .CopyPartyStruct - ld hl, wPlayerMonSelection - ld de, PartyMonOT - call .CopyName - ld hl, wPlayerMonSelection - ld de, PartyMonNicknames - call .CopyName - ld hl, wOTMonSelection - ld de, OTPartyCount - call .CopyThreeSpecies - ld hl, wOTMonSelection - ld de, OTPartyMon1Species - call .CopyPartyStruct - ld hl, wOTMonSelection - ld de, OTPartyMonOT - call .CopyName - ld hl, wOTMonSelection - ld de, OTPartyMonNicknames - call .CopyName - ret -; 101145 - -.CopyThreeSpecies: ; 101145 -; Load the 3 choices to the buffer - push de - ld bc, StringBuffer2 + 6 - xor a -.party_loop - push af - call .GetNthSpecies - ld [bc], a - inc bc - pop af - inc a - cp 3 - jr nz, .party_loop - pop de -; Copy the 3 choices to the party - ld a, 3 - ld [de], a - inc de - ld hl, StringBuffer2 + 6 - ld bc, 3 - call CopyBytes - ld a, $ff - ld [de], a - ret -; 101168 - -.GetNthSpecies: ; 101168 -; Preserves hl and de -; Get the index of the Nth selection - push hl - add l - ld l, a - ld a, h - adc 0 - ld h, a - ld a, [hl] - pop hl -; Get the corresponding species - push de - inc de - add e - ld e, a - ld a, d - adc 0 - ld d, a - ld a, [de] - pop de - ret -; 10117c - -.CopyPartyStruct: ; 10117c - ld bc, PARTYMON_STRUCT_LENGTH - jr .ContinueCopy - -.CopyName: ; 101181 - ld bc, NAME_LENGTH - -.ContinueCopy: - ; Copy, via wc608... - ld a, wc608 % $100 - ld [StringBuffer2], a - ld a, wc608 / $100 - ld [StringBuffer2 + 1], a - ; ... bc bytes... - ld a, c - ld [StringBuffer2 + 2], a - ld a, b - ld [StringBuffer2 + 3], a - ; ... to de... - ld a, e - ld [StringBuffer2 + 4], a - ld a, d - ld [StringBuffer2 + 5], a - ; ... 3 times. - ld a, 3 -.big_copy_loop - push af - ld a, [hli] - push hl - push af - call .GetDestinationAddress - call .GetCopySize - pop af - call AddNTimes - ld a, [StringBuffer2] - ld e, a - ld a, [StringBuffer2 + 1] - ld d, a - call CopyBytes - ld a, e - ld [StringBuffer2], a - ld a, d - ld [StringBuffer2 + 1], a - pop hl - pop af - dec a - jr nz, .big_copy_loop - call .GetCopySize - ld a, 3 - ld hl, 0 - call AddNTimes - ld b, h - ld c, l - call .GetDestinationAddress - ld d, h - ld e, l - ld hl, wc608 - call CopyBytes - ret -; 1011df - -.GetDestinationAddress: ; 1011df - ld a, [StringBuffer2 + 4] - ld l, a - ld a, [StringBuffer2 + 5] - ld h, a - ret -; 1011e8 - -.GetCopySize: ; 1011e8 - ld a, [StringBuffer2 + 2] - ld c, a - ld a, [StringBuffer2 + 3] - ld b, a - ret -; 1011f1 - -Function1011f1: ; 1011f1 - ld a, $04 - call GetSRAMBank - ld a, [$a60c] - ld [wdc41], a - call CloseSRAM - ld hl, wdc41 - res 4, [hl] - ld hl, GameTimerPause - bit 7, [hl] - jr z, .skip - ld hl, wdc41 - set 4, [hl] - -.skip - call Function10209c - xor a - ld [wdc5f], a - ld [wdc60], a - ld a, LINK_MOBILE - ld [wLinkMode], a - ret -; 101220 - -Function101220: ; 101220 - xor a - ld [wLinkMode], a - ret -; 101225 - -Function101225: ; 101225 - ld d, 1 - ld e, BANK(Jumptable_101297) - ld bc, Jumptable_101297 - call Function100000 - jr Function10123d - -Function101231: ; 101231 - ld d, 2 - ld e, BANK(Jumptable_101297) - ld bc, Jumptable_101297 - call Function100000 - jr Function10123d - -Function10123d: ; 10123d - xor a - ld [ScriptVar], a - ld a, c - ld hl, Jumptable_101247 - rst JumpTable - ret -; 101247 - -Jumptable_101247: ; 101247 - dw Function101251 - dw Function10127d - dw Function10127c - dw Function10126c - dw Function101265 -; 101251 - -Function101251: ; 101251 - call UpdateSprites - call RefreshScreen - ld hl, UnknownText_0x1021f4 - call Function1021e0 - call Function1020ea - ret c - call Function102142 - ret -; 101265 - -Function101265: ; 101265 - ld hl, UnknownText_0x1021ef - call Function1021e0 - ret -; 10126c - -Function10126c: ; 10126c - call UpdateSprites - callba Script_reloadmappart - ld hl, UnknownText_0x1021f4 - call Function1021e0 - ret -; 10127c - -Function10127c: ; 10127c - ret -; 10127d - -Function10127d: ; 10127d - ret -; 10127e - -Function10127e: ; 10127e - ld a, [wdc5f] - and a - jr z, .zero - cp 1 - ld c, $27 - jr z, .load - cp 2 - ld c, $37 - jr z, .load -.zero - ld c, 0 -.load - ld a, c - ld [wMobileCommsJumptableIndex], a - ret -; 101297 - -Jumptable_101297: ; 101297 - dw Function101a97 ; 00 - dw Function101ab4 ; 01 - dw Function101475 ; 02 - dw Function101b0f ; 03 - dw Function101438 ; 04 - dw Function101b2b ; 05 - dw Function101b59 ; 06 - dw Function101475 ; 07 - dw Function101b70 ; 08 - dw Function101438 ; 09 - dw Function101b8f ; 0a - dw Function101d7b ; 0b - dw Function101d95 ; 0c - dw Function101475 ; 0d - dw Function101db2 ; 0e - dw Function101e4f ; 0f - dw Function101475 ; 10 - dw Function101e64 ; 11 - dw Function101e4f ; 12 - dw Function101475 ; 13 - dw Function101e64 ; 14 - dw Function101d95 ; 15 - dw Function101475 ; 16 - dw Function101db2 ; 17 - dw Function101dd0 ; 18 - dw Function101de3 ; 19 - dw Function101e39 ; 1a - dw Function101e09 ; 1b - dw Function101e4f ; 1c - dw Function101475 ; 1d - dw Function101e64 ; 1e - dw Function101d95 ; 1f - dw Function101475 ; 20 - dw Function101db2 ; 21 - dw Function101e09 ; 22 - dw Function101e31 ; 23 - dw Function101bc8 ; 24 - dw Function101438 ; 25 - dw Function101be5 ; 26 - dw Function101ac6 ; 27 - dw Function101ab4 ; 28 - dw Function101475 ; 29 - dw Function101c11 ; 2a - dw Function1014f4 ; 2b - dw Function101cc8 ; 2c - dw Function1014e2 ; 2d - dw Function1014e2 ; 2e - dw Function101d10 ; 2f - dw Function101d2a ; 30 - dw Function101d2a ; 31 - dw Function101507 ; 32 - dw Function10156d ; 33 - dw Function101557 ; 34 - dw Function10158a ; 35 - dw Function101c42 ; 36 - dw Function101aed ; 37 - dw Function101ab4 ; 38 - dw Function101475 ; 39 - dw Function101c2b ; 3a - dw Function1014f4 ; 3b - dw Function101cdf ; 3c - dw Function1014e2 ; 3d - dw Function1014e2 ; 3e - dw Function101d1e ; 3f - dw Function101d2a ; 40 - dw Function101d2a ; 41 - dw Function101507 ; 42 - dw Function10156d ; 43 - dw Function101544 ; 44 - dw Function10158a ; 45 - dw Function101c42 ; 46 - dw Function101c50 ; 47 - dw Function1014ce ; 48 - dw Function101cf6 ; 49 - dw Function101826 ; 4a - dw Function1017e4 ; 4b - dw Function1017f1 ; 4c - dw Function1018a8 ; 4d - dw Function1018d6 ; 4e - dw Function1017e4 ; 4f - dw Function1017f1 ; 50 - dw Function1018e1 ; 51 - dw Function1015df ; 52 - dw Function10167d ; 53 - dw Function10168a ; 54 - dw Function10162a ; 55 - dw Function1015be ; 56 - dw Function10167d ; 57 - dw Function10168a ; 58 - dw Function10161f ; 59 - dw Function10159d ; 5a - dw Function10167d ; 5b - dw Function10168a ; 5c - dw Function101600 ; 5d - dw Function101d03 ; 5e - dw Function101d6b ; 5f - dw Function10159d ; 60 - dw Function1014ce ; 61 - dw Function10168e ; 62 - dw Function101600 ; 63 - dw Function101913 ; 64 - dw Function10194b ; 65 - dw _SelectMonsForMobileBattle ; 66 - dw Function1017e4 ; 67 - dw Function1017f5 ; 68 - dw _StartMobileBattle ; 69 - dw Function101537 ; 6a - dw Function101571 ; 6b - dw Function101c92 ; 6c - dw Function10152a ; 6d - dw Function101571 ; 6e - dw Function101a4f ; 6f - dw Function101cbc ; 70 - dw Function101c62 ; 71 - dw Function101537 ; 72 - dw Function101571 ; 73 - dw Function101c92 ; 74 - dw Function10152a ; 75 - dw Function101571 ; 76 - dw Function101ca0 ; 77 - dw Function101475 ; 78 - dw Function101cbc ; 79 -; 10138b - -Function10138b: ; 10138b - callba Function8adcc - ld c, 0 - jr c, .asm_101396 - inc c - -.asm_101396 - sla c - ld a, [wcd2f] - and a - jr z, .asm_10139f - inc c - -.asm_10139f - sla c - ld a, [wcd21] - cp $01 - jr z, .asm_1013a9 - inc c - -.asm_1013a9 - ret -; 1013aa - -Function1013aa: ; 1013aa - call ClearBGPalettes - call Call_ExitMenu - call ReloadTilesetAndPalettes - callba Function106464 - call UpdateSprites - call FinishExitMenu - ret -; 1013c0 - -Function1013c0: ; 1013c0 - callba BlankScreen - callba MobileFunc_106462 - callba Function106464 - call FinishExitMenu - ret -; 1013d6 - -Function1013d6: ; 1013d6 - callba HDMATransferAttrMapAndTileMapToWRAMBank3 - ret -; 1013dd - -Function1013dd: ; 1013dd - call CGBOnly_LoadEDTile - ret -; 1013e1 - -Function1013e1: ; 1013e1 ; unreferenced - push de - inc de - ld b, a - ld c, 0 -.asm_1013e6 - inc c - ld a, [hli] - ld [de], a - inc de - and a - jr z, .asm_1013f1 - dec b - jr nz, .asm_1013e6 - scf - -.asm_1013f1 - pop de - ld a, c - ld [de], a - ret -; 1013f5 - -Function1013f5: ; 1013f5 - ld a, [hli] - ld [de], a - inc de - ld c, a -.asm_1013f9 - ld a, [hli] - ld [de], a - inc de - dec c - jr nz, .asm_1013f9 - ret -; 101400 - -Function101400: ; 101400 ; unreferenced - ld a, [de] - inc de - cp [hl] - jr nz, asm_101416 - inc hl - -Function101406: ; 101406 - ld c, a - ld b, 0 -.asm_101409 - ld a, [de] - inc de - cp [hl] - jr nz, asm_101416 - inc hl - dec bc - ld a, b - or c - jr nz, .asm_101409 - and a - ret - -asm_101416 - scf - ret -; 101418 - -Function101418: ; 101418 - call GetJoypad - ld a, [hJoyDown] - and SELECT + A_BUTTON - cp SELECT + A_BUTTON - jr z, .asm_101425 - xor a - ret - -.asm_101425 - ld a, $f7 - ld [wcd2b], a - scf - ret -; 10142c - -Function10142c: ; 10142c - ld a, $01 - ld [wc305], a - callba Function115e18 - ret -; 101438 - -Function101438: ; 101438 - ld hl, wcd29 - set 6, [hl] - ld a, [wcd26] - ld hl, Jumptable_101457 - rst JumpTable - ld a, [wcd26] - bit 7, a - ret z - ld a, 0 - ld [wcd26], a - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 101457 - -Jumptable_101457: ; 101457 - dw Function10145b - dw Function101467 -; 10145b - -Function10145b: ; 10145b - ld a, $3c - ld [wcd42], a - ld a, [wcd26] - inc a - ld [wcd26], a - -Function101467: ; 101467 - ld hl, wcd42 - dec [hl] - ret nz - ld a, [wcd26] - set 7, a - ld [wcd26], a - ret -; 101475 - -Function101475: ; 101475 - ld hl, wcd29 - set 6, [hl] - ld a, [wcd26] - ld hl, Jumptable_101494 - rst JumpTable - ld a, [wcd26] - bit 7, a - ret z - ld a, 0 - ld [wcd26], a - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 101494 - -Jumptable_101494: ; 101494 - dw Function10149a - dw Function1014a6 - dw Function1014b7 -; 10149a - -Function10149a: ; 10149a - ld a, $28 - ld [wcd42], a - ld a, [wcd26] - inc a - ld [wcd26], a - -Function1014a6: ; 1014a6 - ld hl, wcd42 - dec [hl] - ret nz - ld a, $50 - ld [wcd42], a - ld a, [wcd26] - inc a - ld [wcd26], a - -Function1014b7: ; 1014b7 - call GetJoypad - ld a, [hJoyPressed] - and $03 - jr nz, .asm_1014c5 - ld hl, wcd42 - dec [hl] - ret nz - -.asm_1014c5 - ld a, [wcd26] - set 7, a - ld [wcd26], a - ret -; 1014ce - -Function1014ce: ; 1014ce - callba Function100720 - callba StartMobileInactivityTimer - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 1014e2 - -Function1014e2: ; 1014e2 - ld hl, wcd29 - set 6, [hl] - ld a, 0 - ld [wcd26], a - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 1014f4 - -Function1014f4: ; 1014f4 - callba EnableMobile - ld hl, wcd29 - set 6, [hl] - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 101507 - -Function101507: ; 101507 - ld de, wcd30 - ld hl, $40 - ld bc, $40 - ld a, $02 - call Function3e32 - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 10151d - -Function10151d: ; 10151d ; unreferenced - ld a, $34 - call Function3e32 - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 10152a - -Function10152a: ; 10152a - ld a, $36 - call Function3e32 - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 101537 - -Function101537: ; 101537 - ld a, $0a - call Function3e32 - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 101544 - -Function101544: ; 101544 - callba StartMobileInactivityTimer - ld a, $12 - call Function3e32 - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 101557 - -Function101557: ; 101557 - callba StartMobileInactivityTimer - ld hl, wcd53 - ld a, $08 - call Function3e32 - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 10156d - -Function10156d: ; 10156d - call Function101418 - ret c - -Function101571: ; 101571 - callba Function10032e - ret c - ret z - ld a, e - cp $01 - jr z, .asm_101582 - ld [wcd2b], a - ret - -.asm_101582 - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 10158a - -Function10158a: ; 10158a - callba IncrementMobileInactivityTimerBy1Frame - ld a, [wMobileInactivityTimerMinutes] - cp $0a - jr c, Function10156d - ld a, $fb - ld [wcd2b], a - ret -; 10159d - -Function10159d: ; 10159d - ld de, wc608 - callba Function100edf - ld de, wc608 - ld a, $05 - ld hl, w5_d800 - call Function10174c - ld a, 0 - ld [wcd26], a - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 1015be - -Function1015be: ; 1015be - ld de, wc608 - callba Function100eed - ld de, wc608 - ld a, $05 - ld hl, w5_d800 - call Function10174c - ld a, 0 - ld [wcd26], a - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 1015df - -Function1015df: ; 1015df - ld de, wc608 - callba Function100ef4 - ld de, wc608 - ld a, $05 - ld hl, w5_d800 - call Function10174c - ld a, 0 - ld [wcd26], a - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 101600 - -Function101600: ; 101600 - ld hl, w5_d800 - ld de, wc608 - ld bc, $1e0 - ld a, $05 - call FarCopyWRAM - ld de, wc608 - callba Function100ee6 - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 10161f - -Function10161f: ; 10161f - call Function101649 - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 10162a - -Function10162a: ; 10162a - call Function101663 - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 101635 - -Function101635: ; 101635 - ld de, wc608 - ld bc, $1e0 - call FarCopyWRAM - ret -; 10163f - -Function10163f: ; 10163f - ld hl, wc608 - ld bc, $1e0 - call FarCopyWRAM - ret -; 101649 - -Function101649: ; 101649 - ld a, $05 - ld hl, w5_d800 - call Function101635 - ld a, $05 - ld de, w5_da00 - call Function10163f - ret -; 10165a - -Function10165a: ; 10165a - ld a, $05 - ld hl, w5_da00 - call Function101635 - ret -; 101663 - -Function101663: ; 101663 - ld a, $05 - ld hl, w5_d800 - call Function101635 - ld a, $05 - ld de, w5_dc00 - call Function10163f - ret -; 101674 - -Function101674: ; 101674 ; unreferenced - ld a, $05 - ld hl, w5_dc00 - call Function101635 - ret -; 10167d - -Function10167d: ; 10167d - ld a, 0 - ld [wcd26], a - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 10168a - -Function10168a: ; 10168a - call Function101418 - ret c - -Function10168e: ; 10168e - ld b, 0 - ld c, $01 - callba Function10079c - ret c - ld c, $01 - ld b, $03 - callba AdvanceMobileInactivityTimerAndCheckExpired - ret c - ld a, [wcd26] - ld hl, Jumptable_1016c3 - rst JumpTable - ld hl, wcd29 - set 6, [hl] - ld a, [wcd26] - bit 7, a - ret z - ld a, 0 - ld [wcd26], a - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 1016c3 - -Jumptable_1016c3: ; 1016c3 - dw Function1016cf - dw Function1016de - dw Function1016f8 - dw Function101705 - dw Function101719 - dw Function101724 -; 1016cf - -Function1016cf: ; 1016cf - ld hl, wcd3a - inc [hl] - call Function10176f - ld a, [wcd26] - inc a - ld [wcd26], a - ret -; 1016de - -Function1016de: ; 1016de - call Function10177b - jr nc, .asm_1016eb - ld a, [wcd26] - inc a - ld [wcd26], a - ret - -.asm_1016eb - ld a, $ff - ld [wcd39], a - ld a, [wcd26] - inc a - ld [wcd26], a - ret -; 1016f8 - -Function1016f8: ; 1016f8 - ld a, 0 - ld [wcd27], a - ld a, [wcd26] - inc a - ld [wcd26], a - ret -; 101705 - -Function101705: ; 101705 - callba Function100382 - ld a, [wcd27] - bit 7, a - ret z - ld a, [wcd26] - inc a - ld [wcd26], a - ret -; 101719 - -Function101719: ; 101719 - call Function1017c7 - ld a, [wcd26] - inc a - ld [wcd26], a - ret -; 101724 - -Function101724: ; 101724 - ld a, [wcd39] - cp $ff - jr z, .asm_101731 - ld a, 0 - ld [wcd26], a - ret - -.asm_101731 - ld a, [wcd26] - set 7, a - ld [wcd26], a - ret -; 10173a - -Unknown_10173a: - db $50 - -Function10173b: ; 10173b - push bc - push af - ld a, [hli] - ld h, [hl] - ld l, a - ld a, [Unknown_10173a] - ld c, a - ld b, 0 - pop af - call AddNTimes - pop bc - ret -; 10174c - -Function10174c: ; 10174c - ld [wcd3d], a - ld a, l - ld [wcd3e], a - ld a, h - ld [wcd3f], a - ld a, e - ld [wcd3b], a - ld a, d - ld [wcd3c], a - ld a, c - ld [wcd40], a - ld a, b - ld [wcd41], a - xor a - ld [wcd39], a - ld [wcd3a], a - ret -; 10176f - -Function10176f: ; 10176f - ld hl, wccb4 - ld bc, $54 - ld a, $11 - call ByteFill - ret -; 10177b - -Function10177b: ; 10177b - ld a, [Unknown_10173a] - ld c, a - ld b, 0 - ld a, [wcd3a] - ld hl, 0 - call AddNTimes - ld e, l - ld d, h - ld hl, wcd40 - ld a, [hli] - ld h, [hl] - ld l, a - ld a, l - sub e - ld l, a - ld a, h - sbc d - ld h, a - jr c, .asm_1017a0 - add hl, bc - call Function1017b0 - scf - ret - -.asm_1017a0 - ld a, $ff - ld [wcd39], a - add hl, bc - ld a, h - or l - ret z - ld c, l - ld b, h - call Function1017b0 - xor a - ret -; 1017b0 - -Function1017b0: ; 1017b0 - ld a, c - ld [wccb4], a - push bc - ld a, [wcd3a] - dec a - ld hl, wcd3b - call Function10173b - pop bc - ld de, wccb5 - call CopyBytes - ret -; 1017c7 - -Function1017c7: ; 1017c7 - ld a, [wcc60] - ld c, a - ld b, 0 - ld a, [wcd3a] - dec a - ld hl, wcd3e - call Function10173b - ld e, l - ld d, h - ld hl, wcc61 - ld a, [wcd3d] - call FarCopyWRAM - and a - ret -; 1017e4 - -Function1017e4: ; 1017e4 - ld a, 0 - ld [wcd27], a - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 1017f1 - -Function1017f1: ; 1017f1 - call Function101418 - ret c - -Function1017f5: ; 1017f5 - ld b, 0 - ld c, $01 - callba Function10079c - ret c - ld c, $01 - ld b, $03 - callba AdvanceMobileInactivityTimerAndCheckExpired - ret c - callba Function100382 - ld a, [wcd27] - bit 7, a - jr nz, .next - ld hl, wcd29 - set 6, [hl] - ret - -.next - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 101826 - -Function101826: ; 101826 - ld a, [wcd21] - cp $02 - jr z, .asm_101833 - cp $01 - jr z, .asm_101844 - jr .asm_101869 - -.asm_101833 - ld hl, Unknown_10186f - ld de, wccb4 - call Function1013f5 - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -.asm_101844 - callba Function103654 - ld a, c - ld hl, Unknown_101882 - cp $01 - jr z, .asm_10185b - ld hl, Unknown_101895 - cp $02 - jr z, .asm_10185b - jr .asm_101869 - -.asm_10185b - ld de, wccb4 - call Function1013f5 - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -.asm_101869 - ld a, $fe - ld [wcd2b], a - ret -; 10186f - - -SECTION "ascii 10186f", ROMX - - charmap " ", $20 ; revert to ascii - -Unknown_10186f: - db .end - @ - db $19, $73, $09, $13, "trade_crystal" -.end db 0 - -Unknown_101882: - db .end - @ - db $19, $67, $10, $01, "free__crystal" -.end db 0 - -Unknown_101895: - db .end - @ - db $19, $67, $10, $01, "limit_crystal" -.end db 0 -; 1018a8 - - -SECTION "bank40_3", ROMX - -Function1018a8: ; 1018a8 - ld hl, wccb5 - ld de, wcc61 - ld a, $04 - call Function101406 - jr c, .asm_1018d0 - ld hl, wccb9 - ld de, wcc65 - ld a, $06 - call Function101406 - jr c, .asm_1018ca - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -.asm_1018ca - ld a, $f6 - ld [wcd2b], a - ret - -.asm_1018d0 - ld a, $f5 - ld [wcd2b], a - ret -; 1018d6 - -Function1018d6: ; 1018d6 - call Function1018ec - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 1018e1 - -Function1018e1: ; 1018e1 - call Function1018fb - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 1018ec - -Function1018ec: ; 1018ec - ld a, $0a - ld hl, wccb4 - ld [hli], a - ld c, a -.asm_1018f3 - call Random - ld [hli], a - dec c - jr nz, .asm_1018f3 - ret -; 1018fb - -Function1018fb: ; 1018fb - ld a, [wcd2f] - and a - jr z, .asm_101906 - ld hl, wcc61 - jr .asm_101909 - -.asm_101906 - ld hl, wccb5 - -.asm_101909 - ld de, LinkBattleRNs - ld bc, 10 - call CopyBytes - ret -; 101913 - -Function101913: ; 101913 - ld hl, wcd2a - set 0, [hl] - xor a - ld [wc30d], a - ld hl, wcd29 - res 4, [hl] - xor a - ld [wc305], a - ld hl, wcd29 - res 7, [hl] - ld a, $90 - ld [hWY], a - ld a, [wcd21] - cp $01 - jr z, .asm_10193f - cp $02 - jr z, .asm_101945 - ld a, $71 - ld [wMobileCommsJumptableIndex], a - ret - -.asm_10193f - ld a, $66 - ld [wMobileCommsJumptableIndex], a - ret - -.asm_101945 - ld a, $65 - ld [wMobileCommsJumptableIndex], a - ret -; 10194b - -Function10194b: ; 10194b - call DisableSpriteUpdates - call ClearSprites - callba Function1021f9 - ld hl, wcd29 - bit 3, [hl] - jr nz, .asm_101967 - call Function1013c0 - ld a, $71 - ld [wMobileCommsJumptableIndex], a - ret - -.asm_101967 - ld a, $60 - ld [wMobileCommsJumptableIndex], a - ret -; 10196d - -_SelectMonsForMobileBattle: ; 10196d - callba BlankScreen - callba Mobile_CommunicationStandby - ld hl, wcd29 - set 5, [hl] - ld hl, wcd2a - set 6, [hl] - ld a, $06 - ld [wccb4], a - ld hl, wPlayerMonSelection - ld de, wccb5 - ld bc, 3 - call CopyBytes - ld hl, wcd6c - ld a, [hli] - ld [wccb8], a - ld a, [hli] - ld [wccb9], a - ld a, [hl] - ld [wccba], a - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 1019ab - -_StartMobileBattle: ; 1019ab - call CopyOtherPlayersBattleMonSelection - callba Function100754 - xor a - ld [wdc5f], a - ld [wdc60], a - callba BlankScreen - call SpeechTextBox - callba Function100846 - ld c, 120 - call DelayFrames - callba ClearTileMap - call .CopyOTDetails - call StartMobileBattle - ld a, [wcd2b] - cp $fc - jr nz, .asm_1019e6 - xor a - ld [wcd2b], a -.asm_1019e6 - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 1019ee - -.CopyOTDetails: ; 1019ee - ld a, [rSVBK] - push af - ld a, 5 - ld [rSVBK], a - - ld bc, w5_dc0d - ld de, w5_dc11 - callba GetMobileOTTrainerClass - - pop af - ld [rSVBK], a - - ld a, c - ld [OtherTrainerClass], a - ld hl, OTPlayerName - ld de, OTClassName - ld bc, NAME_LENGTH - call CopyBytes - ld a, [wcd2f] - and a - ld a, 2 - jr z, .got_link_player_number - ld a, 1 -.got_link_player_number - ld [hLinkPlayerNumber], a - ret -; 101a21 - -StartMobileBattle: ; 101a21 - ; force stereo and fast text speed - ld hl, Options - ld a, [hl] - push af - and (1 << STEREO) - or 1 ; 1 frame per character i.e. fast text - ld [hl], a - ld a, 1 - ld [wDisableTextAcceleration], a - callba BattleIntro - callba DoBattle - callba ShowLinkBattleParticipantsAfterEnd - xor a - ld [wDisableTextAcceleration], a - ld a, $ff - ld [hLinkPlayerNumber], a - pop af - ld [Options], a - ret -; 101a4f - -Function101a4f: ; 101a4f - ld a, 1 - ld [wDisableTextAcceleration], a - callba DisplayLinkBattleResult - xor a - ld [wDisableTextAcceleration], a - callba CleanUpBattleRAM - callba LoadPokemonData - call Function1013c0 - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 101a75 - -CopyOtherPlayersBattleMonSelection: ; 101a75 - ld hl, wcc61 - ld de, wOTMonSelection - ld bc, 3 - call CopyBytes - ld de, wcc64 - callba Function100772 - callba Function101050 - callba LoadSelectedPartiesForColosseum - ret -; 101a97 - -Function101a97: ; 101a97 - callba Function115d99 - ld hl, wcd29 - set 7, [hl] - ld c, $02 - call Function10142c - ld hl, wcd29 - set 6, [hl] - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 101ab4 - -Function101ab4: ; 101ab4 - ld e, $01 - call Function101ee4 - ld hl, wcd29 - set 5, [hl] - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 101ac6 - -Function101ac6: ; 101ac6 - callba Function115d99 - ld hl, wcd29 - set 7, [hl] - ld c, $02 - call Function10142c - ld hl, wcd29 - set 6, [hl] - xor a - ld [wcd2f], a - ld de, wdc42 - call Function102068 - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 101aed - -Function101aed: ; 101aed - callba Function115d99 - ld hl, wcd29 - set 7, [hl] - ld c, $02 - call Function10142c - ld hl, wcd29 - set 6, [hl] - ld a, $01 - ld [wcd2f], a - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 101b0f - -Function101b0f: ; 101b0f - ld c, 0 - call Function10142c - ld e, $03 - call Function101ee4 - ld hl, wcd29 - set 5, [hl] - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ld a, 0 - ld [wcd26], a - ret -; 101b2b - -Function101b2b: ; 101b2b - callba Function100579 - ld hl, wcd29 - set 2, [hl] - ld a, [wcd26] - bit 7, a - ret z - call Function1013dd - ld a, 0 - ld [wcd26], a - ld a, [wMenuCursorY] - cp $01 - jr z, .asm_101b51 - ld a, $02 - ld [wcd2b], a - ret - -.asm_101b51 - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 101b59 - -Function101b59: ; 101b59 - ld c, $02 - call Function10142c - ld e, $02 - call Function101ee4 - ld hl, wcd29 - set 5, [hl] - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 101b70 - -Function101b70: ; 101b70 - ld c, $02 - call Function10142c - ld e, $04 - call Function101ee4 - ld hl, wcd29 - set 5, [hl] - call UpdateSprites - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ld a, 0 - ld [wcd26], a - ret -; 101b8f - -Function101b8f: ; 101b8f - callba Function1005c3 - ld hl, wcd29 - set 2, [hl] - ld a, [wcd26] - bit 7, a - ret z - call Function1013dd - ld a, 0 - ld [wcd26], a - ld a, [wMenuCursorY] - cp $01 - jr z, .asm_101bbc - ld a, $01 - ld [wcd2f], a - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -.asm_101bbc - xor a - ld [wcd2f], a - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 101bc8 - -Function101bc8: ; 101bc8 - ld c, $02 - call Function10142c - ld e, $08 - call Function101ee4 - call Function102048 - call Function1013dd - ld a, 0 - ld [wcd26], a - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 101be5 - -Function101be5: ; 101be5 - callba Function100579 - ld hl, wcd29 - set 2, [hl] - ld a, [wcd26] - bit 7, a - ret z - call Function1013dd - ld a, 0 - ld [wcd26], a - ld a, [wMenuCursorY] - cp $01 - jr nz, .asm_101c0b - ld a, $2a - ld [wMobileCommsJumptableIndex], a - ret - -.asm_101c0b - ld a, $02 - ld [wcd2b], a - ret -; 101c11 - -Function101c11: ; 101c11 - ld a, $01 - ld [wdc5f], a - ld e, $09 - call Function101ee4 - call Function102048 - ld hl, wcd29 - set 5, [hl] - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 101c2b - -Function101c2b: ; 101c2b - ld a, $02 - ld [wdc5f], a - ld e, $07 - call Function101ee4 - ld hl, wcd29 - set 5, [hl] - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 101c42 - -Function101c42: ; 101c42 - ld hl, wcd2a - set 1, [hl] - call Function100665 - ld a, $47 - ld [wMobileCommsJumptableIndex], a - ret -; 101c50 - -Function101c50: ; 101c50 - ld e, $0a - call Function101ee4 - ld hl, wcd29 - set 2, [hl] - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 101c62 - -Function101c62: ; 101c62 - callba Function115d99 - ld hl, wcd29 - set 7, [hl] - ld c, $01 - call Function10142c - xor a - ld [wc30d], a - ld hl, wcd29 - res 4, [hl] - ld e, $0b - call Function101ee4 - ld hl, wcd29 - set 5, [hl] - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ld a, 0 - ld [wcd26], a - ret -; 101c92 - -Function101c92: ; 101c92 - callba Function100675 - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 101ca0 - -Function101ca0: ; 101ca0 - ld c, $02 - call Function10142c - ld e, $0c - call Function101ee4 - ld hl, wcd29 - set 5, [hl] - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ld a, 0 - ld [wcd26], a - ret -; 101cbc - -Function101cbc: ; 101cbc - ld a, $01 - ld [wcd2b], a - ret -; 101cc2 - -Function101cc2: ; 101cc2 ; unreferenced - ld a, $02 - ld [wcd2b], a - ret -; 101cc8 - -Function101cc8: ; 101cc8 - ld a, $01 - ld [wc314], a - ld a, $01 - ld [wc30d], a - ld hl, wcd29 - set 4, [hl] - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 101cdf - -Function101cdf: ; 101cdf - ld a, $06 - ld [wc314], a - ld a, $01 - ld [wc30d], a - ld hl, wcd29 - set 4, [hl] - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 101cf6 - -Function101cf6: ; 101cf6 - ld a, $0b - ld [wc314 + 1], a - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 101d03 - -Function101d03: ; 101d03 - ld a, $0e - ld [wc314 + 1], a - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 101d10 - -Function101d10: ; 101d10 - ld c, $01 - call Function10142c - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - jr Function101d2a - -Function101d1e: ; 101d1e - ld c, $03 - call Function10142c - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - -Function101d2a: ; 101d2a - call Function101418 - ret c - ld hl, wcd29 - set 6, [hl] - ld a, [wcd26] - ld hl, Jumptable_101d4d - rst JumpTable - ld a, [wcd26] - bit 7, a - ret z - ld a, 0 - ld [wcd26], a - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 101d4d - -Jumptable_101d4d: ; 101d4d - dw Function101d51 - dw Function101d5d -; 101d51 - -Function101d51: ; 101d51 - ld a, $3c - ld [wcd42], a - ld a, [wcd26] - inc a - ld [wcd26], a - -Function101d5d: ; 101d5d - ld hl, wcd42 - dec [hl] - ret nz - ld a, [wcd26] - set 7, a - ld [wcd26], a - ret -; 101d6b - -Function101d6b: ; 101d6b - ld a, [wc30d] - and a - ret nz - ld hl, wcd29 - res 4, [hl] - ld a, $64 - ld [wMobileCommsJumptableIndex], a - ret -; 101d7b - -Function101d7b: ; 101d7b - callba Function10138b - ld b, 0 - ld hl, Unknown_101d8d - add hl, bc - ld c, [hl] - ld a, c - ld [wMobileCommsJumptableIndex], a - ret -; 101d8d - -Unknown_101d8d: ; 101d8d - db $15, $15, $1f, $1f, $0c, $12, $3a, $3a -; 101d95 - -Function101d95: ; 101d95 - call Function101ee2 - call LoadStandardMenuDataHeader - ld e, $0e - call Function101ee4 - ld hl, wcd29 - set 5, [hl] - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ld a, 0 - ld [wcd26], a - ret -; 101db2 - -Function101db2: ; 101db2 - callba Function103302 - call ExitMenu - ld hl, wcd29 - set 5, [hl] - jr c, .asm_101dca - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -.asm_101dca - ld a, $02 - ld [wcd2b], a - ret -; 101dd0 - -Function101dd0: ; 101dd0 - ld hl, wdc41 - bit 1, [hl] - jr nz, .asm_101ddd - ld a, $19 - ld [wMobileCommsJumptableIndex], a - ret - -.asm_101ddd - ld a, $1b - ld [wMobileCommsJumptableIndex], a - ret -; 101de3 - -Function101de3: ; 101de3 - call Function101ecc - call Function101ead - jr c, .asm_101df3 - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -.asm_101df3 - call Function101e98 - jr c, .asm_101e00 - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -.asm_101e00 - call Function101ed3 - ld a, $02 - ld [wcd2b], a - ret -; 101e09 - -Function101e09: ; 101e09 - call Function101ead - jr c, .asm_101e16 - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -.asm_101e16 - call Function101ecc - call Function101e98 - push af - call Function101ed3 - pop af - jr c, .asm_101e2b - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -.asm_101e2b - ld a, $02 - ld [wcd2b], a - ret -; 101e31 - -Function101e31: ; 101e31 - ld a, $3a - ld [wMobileCommsJumptableIndex], a - jp Function101c2b -; 101e39 - -Function101e39: ; 101e39 - call Function1020bf - push af - call Function101ed3 - pop af - jr c, .asm_101e49 - ld a, $2a - ld [wMobileCommsJumptableIndex], a - ret - -.asm_101e49 - ld a, $02 - ld [wcd2b], a - ret -; 101e4f - -Function101e4f: ; 101e4f - ld e, $06 - call Function101ee4 - call Function1013d6 - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ld a, 0 - ld [wcd26], a - ret -; 101e64 - -Function101e64: ; 101e64 - call Function101ecc - call Function1020a8 - push af - call Function101ed3 - pop af - jr c, .asm_101e77 - ld a, $24 - ld [wMobileCommsJumptableIndex], a - ret - -.asm_101e77 - ld hl, wcd29 - set 5, [hl] - ld a, $02 - ld [wcd2b], a - ret -; 101e82 - -Function101e82: ; 101e82 ; unreferenced - call Function101ecc - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 101e8d - -Function101e8d: ; 101e8d ; unreferenced - call Function101ed3 - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 101e98 - -Function101e98: ; 101e98 - call ClearSprites - callba Function8adb3 - ret c - ld hl, GameTimerPause - set 7, [hl] - ld hl, wdc41 - set 4, [hl] - ret -; 101ead - -Function101ead: ; 101ead - ld hl, GameTimerPause - bit 7, [hl] - jr nz, .asm_101ec8 - ld hl, wdc41 - bit 2, [hl] - jr z, .asm_101eca - ld a, [wcd2f] - and a - jr nz, .asm_101ec8 - ld hl, wdc41 - bit 1, [hl] - jr z, .asm_101eca - -.asm_101ec8 - xor a - ret - -.asm_101eca - scf - ret -; 101ecc - -Function101ecc: ; 101ecc - call Function101ee2 - call FadeToMenu - ret -; 101ed3 - -Function101ed3: ; 101ed3 - call Function1013aa - callba Function115d99 - ld hl, wcd29 - set 7, [hl] - ret -; 101ee2 - -Function101ee2: ; 101ee2 - ld e, 0 - -Function101ee4: ; 101ee4 - ld d, 0 - ld hl, Unknown_101ef5 - add hl, de - add hl, de - ld a, [hli] - ld d, [hl] - ld e, a - callba Function100504 - ret -; 101ef5 - -Unknown_101ef5: ; 101ef5 - dw String_101f13 - dw String_101f14 - dw String_101f32 - dw String_101f4f - dw String_101f69 - dw String_101f81 - dw String_101f93 - dw String_101faa - dw String_101fc5 - dw String_101fd2 - dw String_101fe1 - dw String_101fef - dw String_102000 - dw String_10200c - dw String_102014 - -String_101f13: ; 101f13 - db "@" - -String_101f14: ; 101f14 - db "モバイルアダプタを つかって" - next "おともだちと つうしんします@" - -String_101f32: ; 101f32 - db "でんわを かけるひとには" - next "つうわりょうきんが かかります@" - -String_101f4f: ; 101f4f - db "モバイルアダプタの じゅんびは" - next "できて いますか?@" - -String_101f69: ; 101f69 - db "あなたが おともだちに" - next "でんわを かけますか?@" - -String_101f81: ; 101f81 - db "めいしフ,ルダーを" - next "つかいますか?@" - -String_101f93: ; 101f93 - db "でんわばんごうを にゅうりょく" - next "してください@" - -String_101faa: ; 101faa - db "それでは おともだちからの" - next "でんわを おまちします…@" - -String_101fc5: ; 101fc5 - next "に でんわを かけます@" - -String_101fd2: ; 101fd2 - next "に でんわを かけています@" - -String_101fe1: ; 101fe1 - db "でんわが つながりました!@" - -String_101fef: ; 101fef - db "つうわを" - next "しゅうりょう します…@" - -String_102000: ; 102000 - db "つうしん しゅうりょう@" - -String_10200c: ; 10200c - db "つうわ じかん@" - -String_102014: ; 102014 - db "それでは つうしんの" - next "せっていを してください@" -; 10202c - -Function10202c: ; 10202c - callba Function115d99 - ld hl, wcd29 - set 7, [hl] - ld c, $02 - call Function10142c - ld e, $0d - call Function101ee4 - hlcoord 4, 4 - call Function100681 - ret -; 102048 - -Function102048: ; 102048 - call Function10204c - ret -; 10204c - -Function10204c: ; 10204c - hlcoord 3, 2 - ld c, $10 - ld de, wcd53 -.asm_102054 - ld a, [de] - inc de - and a - jr z, .asm_102067 - sub $30 - jr c, .asm_102067 - cp $0a - jr nc, .asm_102067 - add $f6 - ld [hli], a - dec c - jr nz, .asm_102054 - -.asm_102067 - ret -; 102068 - -Function102068: ; 102068 - ld hl, wcd53 - ld c, $08 -.asm_10206d - ld a, [de] - call Function102080 - jr c, .asm_10207f - ld a, [de] - swap a - call Function102080 - jr c, .asm_10207f - inc de - dec c - jr nz, .asm_10206d - -.asm_10207f - ret -; 102080 - -Function102080: ; 102080 - and $0f - cp $0f - jr z, .asm_10208a - add $30 - ld [hli], a - ret - -.asm_10208a - ld [hl], 0 - scf - ret -; 10208e - -Function10208e: ; 10208e - push de - ld h, d - ld l, e - ld de, wdc42 - ld bc, 8 - call CopyBytes - pop de - ret -; 10209c - -Function10209c: ; 10209c - ld a, $ff - ld hl, wdc42 - ld bc, 8 - call ByteFill - ret -; 1020a8 - -Function1020a8: ; 1020a8 - call Function10209c - ld c, $01 - ld de, wdc42 - callba Function17a68f - ret c - call Function10208e - call Function102068 - xor a - ret -; 1020bf - -Function1020bf: ; 1020bf - call ClearSprites - callba Function8aba9 - ld a, c - and a - jr z, .asm_1020e8 - dec a - ld hl, $a04c - ld bc, $25 - call AddNTimes - ld d, h - ld e, l - ld a, $04 - call GetSRAMBank - call Function10208e - call Function102068 - call CloseSRAM - xor a - ret - -.asm_1020e8 - scf - ret -; 1020ea - -Function1020ea: ; 1020ea - ld hl, wdc41 - bit 4, [hl] - jr z, .quit - ld hl, wdc41 - bit 2, [hl] - jr nz, .quit - call Function10218d - ld hl, wc608 - bit 4, [hl] - jr z, .quit - ld hl, wc608 - bit 2, [hl] - jr nz, .quit - call Function102112 - jr z, .quit - and a - ret - -.quit - scf - ret -; 102112 - -Function102112: ; 102112 - ld a, $04 - call GetSRAMBank - ld hl, $a041 - ld c, 40 -.outer_loop - push hl - ld de, $c60f - ld b, 31 -.inner_loop - ld a, [de] - cp [hl] - jr nz, .not_matching - inc de - inc hl - dec b - jr nz, .inner_loop - pop hl - xor a - jr .done - -.not_matching - pop hl - ld de, 37 - add hl, de - dec c - jr nz, .outer_loop - ld a, $01 - and a - jr .done ; useless jr - -.done - push af - call CloseSRAM - pop af - ret -; 102142 - -Function102142: ; 102142 - call Function10218d - call Function102180 - ld hl, UnknownText_0x1021d1 - call MenuTextBox - ld de, SFX_LEVEL_UP - call PlaySFX - call JoyWaitAorB - call ExitMenu - call Function10219f - ld hl, UnknownText_0x1021d6 - call MenuTextBox - call YesNoBox - call ExitMenu - jr c, .asm_10217c - call Function1021b8 - jr c, .asm_10217c - call Function10218d - call Function102180 - ld hl, UnknownText_0x1021db - call PrintText - -.asm_10217c - call Function1013d6 - ret -; 102180 - -Function102180: ; 102180 - ld hl, wc608 + 1 - ld de, StringBuffer2 - ld bc, 11 - call CopyBytes - ret -; 10218d - -Function10218d: ; 10218d - ld hl, w5_dc00 - ld de, wc608 - ld bc, $26 - ld a, $05 - call FarCopyWRAM - ld de, wc608 + 1 ; useless - ret -; 10219f - -Function10219f: ; 10219f - call FadeToMenu - call Function10218d - ld de, wc608 + 1 - callba Function8ac4e - call JoyWaitAorB - call PlayClickSFX - call Function1013aa - ret -; 1021b8 - -Function1021b8: ; 1021b8 - call FadeToMenu - call Function10218d - ld de, wPlayerMoveStruct - callba Function8ac70 - ld a, c - ld [StringBuffer1], a - push af - call Function1013aa - pop af - ret -; 1021d1 - -UnknownText_0x1021d1: ; 1021d1 - text_jump UnknownText_0x1bd19a - db "@" - -UnknownText_0x1021d6: ; 1021d1 - text_jump UnknownText_0x1bd1ba - db "@" - -UnknownText_0x1021db: ; 1021d1 - text_jump UnknownText_0x1bd1dd - db "@" -; 1021e0 - -Function1021e0: ; 1021e0 - call MenuTextBox - call JoyWaitAorB - call ExitMenu - ret -; 1021ea - -UnknownText_0x1021ea: ; 1021ea - text_jump UnknownText_0x1bd201 - db "@" - -UnknownText_0x1021ef: - text_jump UnknownText_0x1bd211 - db "@" - -UnknownText_0x1021f4: - text_jump UnknownText_0x1bd223 - db "@" -; 1021f9 - -Function1021f9: ; 1021f9 - call Function102233 - ld a, $0 ; Function10234b - ld [wcd49], a - ld hl, wcd29 - bit 3, [hl] - res 3, [hl] - jr z, .asm_10220f - ld a, $1 ; Function102361 - ld [wcd49], a - -.asm_10220f - call Function1022ca - ld a, [wcd49] - ld hl, Jumptable_1022f5 - rst JumpTable - call Function102241 - call Function1022d0 - jr c, .asm_102231 - ld a, [wcd49] - bit 7, a - jr z, .asm_10220f - xor a - ld hl, wcd29 - bit 3, [hl] - ret z - scf - ret - -.asm_102231 - xor a - ret -; 102233 - -Function102233: ; 102233 - ld hl, wcd49 - ld bc, 10 - xor a - call ByteFill - call Function10304f - ret -; 102241 - -Function102241: ; 102241 - call Function10226a - call Function102274 - call Function10224b - ret -; 10224b - -Function10224b: ; 10224b - ld hl, wcd4b - bit 1, [hl] - jr nz, .asm_10225e - bit 2, [hl] - jr nz, .asm_10225e - call DelayFrame - call DelayFrame - xor a - ret - -.asm_10225e - res 1, [hl] - res 2, [hl] - callba Mobile_ReloadMapPart - scf - ret -; 10226a - -Function10226a: ; 10226a - ld hl, wcd4b - bit 0, [hl] - ret z - call Function10305d - ret -; 102274 - -Function102274: ; 102274 - ld hl, wcd4b - bit 3, [hl] - ret z - res 3, [hl] - ld de, 8 - call PlaySFX - ret -; 102283 - -Function102283: ; 102283 - ld a, $01 - ld [AttrMapEnd], a - ld hl, wcd4b - set 0, [hl] - ret -; 10228e - -Function10228e: ; 10228e - xor a - ld [AttrMapEnd], a - ld hl, wcd4b - res 0, [hl] - ret -; 102298 - -Function102298: ; 102298 - ld a, e - cp $02 - ret nz - ld hl, wcd4b - bit 6, [hl] - jr z, .asm_1022b6 - ld hl, wcd4b - bit 7, [hl] - ld hl, wcd4b - set 7, [hl] - ret nz - ld de, SFX_ELEVATOR_END - call PlaySFX - jr .asm_1022c1 - -.asm_1022b6 - ld hl, wcd4b - bit 7, [hl] - ld hl, wcd4b - res 7, [hl] - ret z - -.asm_1022c1 - call Function10304f - ld a, $01 - ld [AttrMapEnd], a - ret -; 1022ca - -Function1022ca: ; 1022ca - ld a, 30 - ld [OverworldDelay], a - ret -; 1022d0 - -Function1022d0: ; 1022d0 - callba Function10032e - ld a, [wcd2b] - and a - jr nz, .asm_1022f3 - call Function102298 - ld a, [OverworldDelay] - ld c, a - ld a, 30 - sub c - ld c, a - ld b, $03 - callba AdvanceMobileInactivityTimerAndCheckExpired - jr c, .asm_1022f3 - xor a - ret - -.asm_1022f3 - scf - ret -; 1022f5 - -Jumptable_1022f5: ; 1022f5 - dw Function10234b ; 00 - dw Function102361 ; 01 - dw Function10236e ; 02 - dw Function102387 ; 03 - dw Function1023a1 ; 04 - dw Function1025c7 ; 05 - dw Function1025dc ; 06 - dw Function1024f6 ; 07 - dw Function10250c ; 08 - dw Function1024a8 ; 09 - dw Function102591 ; 0a - dw Function1024a8 ; 0b - dw Function1025b0 ; 0c - dw Function1025bd ; 0d - dw Function102814 ; 0e - dw Function10283c ; 0f - dw Function102862 ; 10 - dw Function10286f ; 11 - dw Function1024a8 ; 12 - dw Function1028a5 ; 13 - dw Function1028ab ; 14 - dw Function1023b5 ; 15 - dw Function1023c6 ; 16 - dw Function1024af ; 17 - dw Function102416 ; 18 - dw Function102423 ; 19 - dw Function10244b ; 1a - dw Function1024af ; 1b - dw Function10246a ; 1c - dw Function102652 ; 1d - dw Function10266b ; 1e - dw Function1025e9 ; 1f - dw Function1025ff ; 20 - dw Function102738 ; 21 - dw Function102754 ; 22 - dw Function1026b7 ; 23 - dw Function1026c8 ; 24 - dw Function1028bf ; 25 - dw Function1028c6 ; 26 - dw Function1028d3 ; 27 - dw Function1028da ; 28 - dw Function1024a8 ; 29 - dw Function10248d ; 2a -; 10234b - -Function10234b: ; 10234b - call Function102d9a - call Function102dd3 - call Function102dec - ld hl, wcd4b - set 1, [hl] - ld a, [wcd49] - inc a - ld [wcd49], a - ret -; 102361 - -Function102361: ; 102361 - ld a, $cc - call Function1028e8 - ld a, [wcd49] - inc a - ld [wcd49], a - ret -; 10236e - -Function10236e: ; 10236e - call Function1028fc - ret nc - ld a, [wcd51] - cp $cc - jr z, .asm_10237f - ld a, $f2 - ld [wcd2b], a - ret - -.asm_10237f - ld a, [wcd49] - inc a - ld [wcd49], a - ret -; 102387 - -Function102387: ; 102387 - ld hl, wcd4b - set 6, [hl] - xor a - ld [wdc5f], a - ld de, MUSIC_ROUTE_30 - call PlayMusic - call Function102d9a - call Function102dd3 - ld a, $01 - ld [wMenuCursorY], a - -Function1023a1: ; 1023a1 - call Function102283 - call Function102db7 - call Function102dec - ld hl, wcd4b - set 1, [hl] - ld a, $1d - ld [wcd49], a - ret -; 1023b5 - -Function1023b5: ; 1023b5 - call Function10228e - call Function102a3b - call Function102b12 - ld a, [wcd49] - inc a - ld [wcd49], a - ret -; 1023c6 - -Function1023c6: ; 1023c6 - call Function102c48 - call Function102c87 - ld a, [wcd4c] - dec a - ld [CurPartyMon], a - xor a - ld [wPokemonWithdrawDepositParameter], a - callba RemoveMonFromPartyOrBox - ld hl, PartyCount - inc [hl] - ld a, [hli] - ld c, a - ld b, 0 - add hl, bc - ld [hl], $ff - ld a, [PartyCount] - ld [wcd4c], a - call Function102c07 - call Function102d48 - call Function102b32 - call Function102f50 - ld hl, wcd4b - set 1, [hl] - ld a, $14 - ld [wcd4e], a - ld a, 0 - ld [wcd4f], a - ld a, 0 - ld [wcd4a], a - ld a, [wcd49] - inc a - ld [wcd49], a - ret -; 102416 - -Function102416: ; 102416 - ld a, $aa - call Function1028e8 - ld a, [wcd49] - inc a - ld [wcd49], a - ret -; 102423 - -Function102423: ; 102423 - call Function102921 - ret nc - callba SaveAfterLinkTrade - callba TrainerRankings_Trades - callba BackupMobileEventIndex - ld hl, wcd4b - set 1, [hl] - ld a, 0 - ld [wcd4a], a - ld a, [wcd49] - inc a - ld [wcd49], a - ret -; 10244b - -Function10244b: ; 10244b - call Function102f32 - ld hl, wcd4b - set 1, [hl] - ld a, $19 - ld [wcd4e], a - ld a, 0 - ld [wcd4f], a - ld a, 0 - ld [wcd4a], a - ld a, [wcd49] - inc a - ld [wcd49], a - ret -; 10246a - -Function10246a: ; 10246a - call Function102d9a - ld hl, wcd29 - set 3, [hl] - call Function102e07 - ld hl, wcd4b - set 1, [hl] - ld a, $2a - ld [wcd49], a - ret -; 102480 - -Function102480: ; 102480 - ld c, $32 - call DelayFrames - ld a, [wcd49] - inc a - ld [wcd49], a - ret -; 10248d - -Function10248d: ; 10248d - ld a, [wcd49] - set 7, a - ld [wcd49], a - ret -; 102496 - -Function102496: ; 102496 - ld hl, wcd4e - dec [hl] - ret nz - ld a, 0 - ld [wcd4a], a - ld a, [wcd49] - inc a - ld [wcd49], a - ret -; 1024a8 - -Function1024a8: ; 1024a8 - callba Function1009f3 - ret c - -Function1024af: ; 1024af - call GetJoypad - ld a, [wcd4a] - ld hl, Jumptable_1024ba - rst JumpTable - ret -; 1024ba - -Jumptable_1024ba: ; 1024ba - dw Function1024c0 - dw Function1024cb - dw Function1024de -; 1024c0 - -Function1024c0: ; 1024c0 - ld hl, wcd4e - inc [hl] - ld a, [wcd4a] - inc a - ld [wcd4a], a - -Function1024cb: ; 1024cb - ld hl, wcd4e - dec [hl] - ret nz - ld a, [wcd4f] - inc a - ld [wcd4e], a - ld a, [wcd4a] - inc a - ld [wcd4a], a - -Function1024de: ; 1024de - ld hl, wcd4e - dec [hl] - jr z, .asm_1024e9 - ld a, [hJoyPressed] - and A_BUTTON | B_BUTTON - ret z - -.asm_1024e9 - ld a, 0 - ld [wcd4a], a - ld a, [wcd49] - inc a - ld [wcd49], a - ret -; 1024f6 - -Function1024f6: ; 1024f6 - call PlaceHollowCursor - ld hl, wcd4b - set 1, [hl] - ld a, [wcd4c] - call Function1028e8 - ld a, [wcd49] - inc a - ld [wcd49], a - ret -; 10250c - -Function10250c: ; 10250c - call Function1028fc - ret nc - ld a, [wcd51] - cp $0f - jr z, .asm_10254b - and a - jr z, .asm_102572 - cp $aa - jr z, .asm_102572 - cp $07 - jr nc, .asm_102572 - ld [wcd4d], a - dec a - ld [wd003], a - ld a, [wcd4c] - dec a - ld [wd002], a - call Function102b9c - call Function102bdc - jr c, .asm_10256d - callba Functionfb5dd - jr c, .asm_102568 - ld hl, wcd4b - set 1, [hl] - ld a, $0e - ld [wcd49], a - ret - -.asm_10254b - call Function103021 - ld hl, wcd4b - set 1, [hl] - ld a, 0 - ld [wcd4a], a - ld a, $1e - ld [wcd4e], a - ld a, $1e - ld [wcd4f], a - ld a, $29 - ld [wcd49], a - ret - -.asm_102568 - call Function102ff5 - jr .asm_102577 - -.asm_10256d - call Function102f85 - jr .asm_102577 - -.asm_102572 - call Function102fce - jr .asm_102577 - -.asm_102577 - ld hl, wcd4b - set 1, [hl] - ld a, 0 - ld [wcd4a], a - ld a, $1e - ld [wcd4e], a - ld a, $3c - ld [wcd4f], a - ld a, $09 - ld [wcd49], a - ret -; 102591 - -Function102591: ; 102591 - call Function102ee7 - ld hl, wcd4b - set 1, [hl] - ld a, 0 - ld [wcd4a], a - ld a, $1e - ld [wcd4e], a - ld a, $3c - ld [wcd4f], a - ld a, [wcd49] - inc a - ld [wcd49], a - ret -; 1025b0 - -Function1025b0: ; 1025b0 - ld a, $09 - call Function1028e8 - ld a, [wcd49] - inc a - ld [wcd49], a - ret -; 1025bd - -Function1025bd: ; 1025bd - call Function1028fc - ret nc - ld a, $04 - ld [wcd49], a - ret -; 1025c7 - -Function1025c7: ; 1025c7 - call Function102f6d - ld hl, wcd4b - set 1, [hl] - ld a, $0f - call Function1028e8 - ld a, [wcd49] - inc a - ld [wcd49], a - ret -; 1025dc - -Function1025dc: ; 1025dc - call Function1028fc - ret nc - ld a, [wcd49] - set 7, a - ld [wcd49], a - ret -; 1025e9 - -Function1025e9: ; 1025e9 - nop - ld hl, wcd4b - set 6, [hl] - call Function102b4e - ld hl, wcd4b - set 1, [hl] - ld a, [wcd49] - inc a - ld [wcd49], a - ret -; 1025ff - -Function1025ff: ; 1025ff - ld hl, wcd4b - set 2, [hl] - callba Function1009f3 - ret c - callba MobileMenuJoypad - ld a, [wMenuJoypadFilter] - and c - ret z - bit A_BUTTON_F, c - jr nz, .a_button - bit D_UP_F, c - jr nz, .d_up - bit D_DOWN_F, c - jr nz, .d_down - ret - -.a_button - ld hl, wcd4b - set 3, [hl] - ld a, $27 ; Function1028d3 - ld [wcd49], a - ret - -.d_up - ld a, [wMenuCursorY] - ld b, a - ld a, [OTPartyCount] - cp b - ret nz - call HideCursor - ld a, [PartyCount] - ld [wMenuCursorY], a - ld a, $1d ; Function102652 - ld [wcd49], a - ret - -.d_down - ld a, [wMenuCursorY] - cp $01 - ret nz - ld a, $23 ; Function1026b7 - ld [wcd49], a - ret -; 102652 - -Function102652: ; 102652 - nop - ld hl, wcd4b - set 6, [hl] - nop - call Function102b7b - nop - ld hl, wcd4b - set 1, [hl] - nop - ld a, [wcd49] - inc a - ld [wcd49], a - ret -; 10266b - -Function10266b: ; 10266b - ld hl, wcd4b - set 2, [hl] - callba Function1009f3 - ret c - callba MobileMenuJoypad - ld a, [wMenuJoypadFilter] - and c - ret z - bit A_BUTTON_F, c - jr nz, .a_button - bit D_DOWN_F, c - jr nz, .d_down - bit D_UP_F, c - jr nz, .d_up - ret - -.a_button - ld hl, wcd4b - set 3, [hl] - ld a, $21 ; Function102738 - ld [wcd49], a - ret - -.d_down - ld a, [wMenuCursorY] - dec a - ret nz - call HideCursor - ld a, $1f ; Function1025e9 - ld [wcd49], a - ret - -.d_up - ld a, [wMenuCursorY] - ld b, a - ld a, [PartyCount] - cp b - ret nz - ld a, $23 ; Function1026b7 - ld [wcd49], a - ret -; 1026b7 - -Function1026b7: ; 1026b7 - ld hl, wcd4b - set 6, [hl] - ld a, [wcd49] - inc a - ld [wcd49], a - ld a, 0 - ld [wcd4a], a - -Function1026c8: ; 1026c8 - call GetJoypad - callba Function1009f3 - ret c - ld a, [wcd4a] - ld hl, Jumptable_1026da - rst JumpTable - ret -; 1026da - -Jumptable_1026da: ; 1026da - dw Function1026de - dw Function1026f3 -; 1026de - -Function1026de: ; 1026de - call HideCursor - hlcoord 9, 17 - ld [hl], $ed - ld a, [wcd4a] - inc a - ld [wcd4a], a - ld hl, wcd4b - set 1, [hl] - ret -; 1026f3 - -Function1026f3: ; 1026f3 - ld a, [hJoyPressed] - bit A_BUTTON_F, a - jr nz, .asm_102723 - bit D_UP_F, a - jr nz, .asm_102712 - bit D_DOWN_F, a - jr nz, .asm_102702 - ret - -.asm_102702 - hlcoord 9, 17 - ld [hl], " " - ld a, $01 - ld [wMenuCursorY], a - ld a, $1d ; Function102652 - ld [wcd49], a - ret - -.asm_102712 - hlcoord 9, 17 - ld [hl], " " - ld a, [OTPartyCount] - ld [wMenuCursorY], a - ld a, $1f ; Function1025e9 - ld [wcd49], a - ret - -.asm_102723 - hlcoord 9, 17 - ld [hl], "▷" - ld hl, wcd4b - set 3, [hl] - ld hl, wcd4b - set 2, [hl] - ld a, $5 ; Function1025c7 - ld [wcd49], a - ret -; 102738 - -Function102738: ; 102738 - ld hl, wcd4b - set 6, [hl] - call PlaceHollowCursor - call Function1027eb - ld hl, wcd4b - set 1, [hl] - ld a, [wcd49] - inc a - ld [wcd49], a - ld a, 0 - ld [wcd4a], a - -Function102754: ; 102754 - call GetJoypad - callba Function1009f3 - ret c - ld a, [wcd4a] - ld hl, Jumptable_102766 - rst JumpTable - ret -; 102766 - -Jumptable_102766: ; 102766 - dw Function102770 - dw Function102775 - dw Function10278c - dw Function1027a0 - dw Function1027b7 -; 102770 - -Function102770: ; 102770 - ld a, $01 - ld [wcd4a], a - -Function102775: ; 102775 - hlcoord 1, 16 - ld [hl], "▶" - hlcoord 11, 16 - ld [hl], " " - ld hl, wcd4b - set 2, [hl] - ld a, [wcd4a] - inc a - ld [wcd4a], a - ret -; 10278c - -Function10278c: ; 10278c - ld a, [hJoyPressed] - bit A_BUTTON_F, a - jr nz, asm_1027c6 - bit B_BUTTON_F, a - jr nz, asm_1027e2 - bit D_RIGHT_F, a - jr nz, .asm_10279b - ret - -.asm_10279b - ld a, $03 - ld [wcd4a], a -Function1027a0: ; 1027a0 - hlcoord 1, 16 - ld [hl], " " - hlcoord 11, 16 - ld [hl], "▶" - ld hl, wcd4b - set 2, [hl] - ld a, [wcd4a] - inc a - ld [wcd4a], a - ret - -Function1027b7: ; 1027b7 - ld a, [hJoyPressed] - bit A_BUTTON_F, a - jr nz, asm_1027d1 - bit B_BUTTON_F, a - jr nz, asm_1027e2 - bit D_LEFT_F, a - jr nz, Function102770 - ret - -asm_1027c6: - ld hl, wcd4b - set 3, [hl] - ld a, $25 ; Function1028bf - ld [wcd49], a - ret - -asm_1027d1: - ld hl, wcd4b - set 3, [hl] - ld a, [wMenuCursorY] - ld [wcd4c], a - ld a, $7 ; Function1024f6 - ld [wcd49], a - ret - -asm_1027e2: - call Function102db7 - ld a, $1d ; Function102652 - ld [wcd49], a - ret -; 1027eb - -Function1027eb: ; 1027eb - hlcoord 0, 14 - ld b, 2 - ld c, 18 - ld d, h - ld e, l - callba _LinkTextbox - ld de, .Stats_Trade - hlcoord 2, 16 - call PlaceString - ret -; 102804 - -.Stats_Trade: ; 102804 - db "STATS TRADE@" -; 102814 - -Function102814: ; 102814 - ld a, [wMenuCursorY] - ld [wcd52], a - ld a, [wcd4c] - dec a - ld [wd002], a - ld a, [wcd4d] - dec a - ld [wd003], a - call Function102ea8 - ld a, [wcd49] - inc a - ld [wcd49], a - ld a, 0 - ld [wcd4a], a - ld hl, wcd4b - set 1, [hl] - -Function10283c: ; 10283c - ld hl, wcd4b - set 2, [hl] - call Function1029c3 - ret z - jr c, .asm_102852 - ld a, $10 ; Function102862 - ld [wcd49], a - ld hl, wcd4b - set 1, [hl] - ret - -.asm_102852 - ld a, $14 ; Function1028ab - ld [wcd49], a - ld hl, wcd4b - set 3, [hl] - ld hl, wcd4b - set 1, [hl] - ret -; 102862 - -Function102862: ; 102862 - ld a, $08 - call Function1028e8 - ld a, [wcd49] - inc a - ld [wcd49], a - ret -; 10286f - -Function10286f: ; 10286f - call Function1028fc - ret nc - ld a, [wcd52] - ld [wMenuCursorY], a - ld a, [wcd51] - cp $08 - jr nz, .asm_102886 - ld a, $15 ; Function1023b5 - ld [wcd49], a - ret - -.asm_102886 - call Function102ee7 - ld hl, wcd4b - set 1, [hl] - ld a, $1e - ld [wcd4e], a - ld a, $3c - ld [wcd4f], a - ld a, 0 - ld [wcd4a], a - ld a, [wcd49] - inc a - ld [wcd49], a - ret -; 1028a5 - -Function1028a5: ; 1028a5 - ld a, $4 ; Function1023a1 - ld [wcd49], a - ret -; 1028ab - -Function1028ab: ; 1028ab - ld a, [wcd52] - ld [wMenuCursorY], a - call Function102f15 - ld hl, wcd4b - set 1, [hl] - ld a, $c ; Function1025b0 - ld [wcd49], a - ret -; 1028bf - -Function1028bf: ; 1028bf - ld a, [wcd49] - inc a - ld [wcd49], a - -Function1028c6: ; 1028c6 - xor a - ld [MonType], a - call Function102bac - ld a, $1d ; Function102652 - ld [wcd49], a - ret -; 1028d3 - -Function1028d3: ; 1028d3 - ld a, [wcd49] - inc a - ld [wcd49], a - -Function1028da: ; 1028da - ld a, OTPARTYMON - ld [MonType], a - call Function102bac - ld a, $1f ; Function1025e9 - ld [wcd49], a - ret -; 1028e8 - -Function1028e8: ; 1028e8 - ld hl, wcd4b - res 6, [hl] - ld [wcd50], a - callba StartMobileInactivityTimer - ld a, 0 - ld [wcd4a], a - ret -; 1028fc - -Function1028fc: ; 1028fc - call GetJoypad - callba Function1009f3 - jr nc, .asm_102909 - and a - ret - -.asm_102909 - ld a, [wcd4a] - ld hl, Jumptable_102917 - rst JumpTable - ret nc - ld a, 0 - ld [wcd4a], a - ret -; 102917 - -Jumptable_102917: ; 102917 - dw Function102933 - dw Function10294f - dw Function10295d - dw Function10296e - dw Function102996 -; 102921 - -Function102921: ; 102921 - ld a, [wcd4a] - ld hl, Jumptable_10292f - rst JumpTable - ret nc - ld a, 0 - ld [wcd4a], a - ret -; 10292f - -Jumptable_10292f: ; 10292f - dw Function10295d - dw Function102984 -; 102933 - -Function102933: ; 102933 - ld hl, MenuDataHeader_1029bb - call LoadMenuDataHeader - call Function102e07 - ld a, $32 - ld [TextDelayFrames], a - ld hl, wcd4b - set 1, [hl] - ld a, [wcd4a] - inc a - ld [wcd4a], a - and a - ret -; 10294f - -Function10294f: ; 10294f - ld a, [TextDelayFrames] - and a - ret nz - ld a, [wcd4a] - inc a - ld [wcd4a], a - and a - ret -; 10295d - -Function10295d: ; 10295d - call Function10299e - ld a, 0 - ld [wcd27], a - ld a, [wcd4a] - inc a - ld [wcd4a], a - and a - ret -; 10296e - -Function10296e: ; 10296e - callba Function100382 - and a - ld a, [wcd27] - bit 7, a - ret z - ld a, [wcd4a] - inc a - ld [wcd4a], a - and a - ret -; 102984 - -Function102984: ; 102984 - callba Function100382 - and a - ld a, [wcd27] - bit 7, a - ret z - call Function1029af - scf - ret -; 102996 - -Function102996: ; 102996 - call Function1029af - call ExitMenu - scf - ret -; 10299e - -Function10299e: ; 10299e - ld a, $01 - ld [wccb4], a - ld a, [wcd50] - ld [wccb5], a - ld a, $aa - ld [wcd51], a - ret -; 1029af - -Function1029af: ; 1029af - ld hl, wcd4b - res 7, [hl] - ld a, [wcc61] - ld [wcd51], a - ret -; 1029bb - -MenuDataHeader_1029bb: ; 1029bb - db $40 ; flags - db 10, 3 ; start coords - db 12, 15 ; end coords - dw NULL - db 1 ; default option -; 1029c3 - -Function1029c3: ; 1029c3 - ld a, [wcd4a] - ld hl, Jumptable_1029cb - rst JumpTable - ret -; 1029cb - -Jumptable_1029cb: ; 1029cb - dw Function1029cf - dw Function1029fe -; 1029cf - -Function1029cf: ; 1029cf - call LoadStandardMenuDataHeader - hlcoord 10, 7 - ld b, 3 - ld c, 8 - ld d, h - ld e, l - callba _LinkTextbox - ld de, String_102a26 - hlcoord 12, 8 - call PlaceString - ld hl, wcd4b - set 1, [hl] - ld de, MenuData3_102a33 - call SetMenuAttributes - ld a, [wcd4a] - inc a - ld [wcd4a], a - xor a - ret -; 1029fe - -Function1029fe: ; 1029fe - callba Function1009f3 - ret c - callba MobileMenuJoypad - ld a, c - ld hl, wMenuJoypadFilter - and [hl] - ret z - push af - call ExitMenu - pop af - ld a, [wMenuCursorY] - cp $01 - jr nz, .asm_102a21 - ld a, $01 - and a - ret - -.asm_102a21 - ld a, $01 - and a - scf - ret -; 102a26 - -String_102a26: ; 102a26 - db "TRADE" - next "CANCEL" - db "@" -; 102a33 - -MenuData3_102a33: - db 8, 11 - db 2, 1 - db $80, $00 - dn 2, 0 - db A_BUTTON - -Function102a3b: ; 102a3b - ld a, [wcd30] - ld [wc74e], a - ld hl, PlayerName - ld de, wPlayerTrademonSenderName - ld bc, NAME_LENGTH - call CopyBytes - ld a, [wcd4c] - dec a - ld c, a - ld b, 0 - ld hl, PartySpecies - add hl, bc - ld a, [hl] - ld [wPlayerTrademonSpecies], a - ld a, [wcd4c] - dec a - ld hl, PartyMonOT - call SkipNames - ld de, wPlayerTrademonOTName - ld bc, NAME_LENGTH - call CopyBytes - ld a, [wcd4c] - dec a - ld hl, PartyMon1ID - call GetPartyLocation - ld a, [hli] - ld [wPlayerTrademonID], a - ld a, [hl] - ld [wPlayerTrademonID + 1], a - ld a, [wcd4c] - dec a - ld hl, PartyMon1DVs - call GetPartyLocation - ld a, [hli] - ld [wPlayerTrademonDVs], a - ld a, [hl] - ld [wPlayerTrademonDVs + 1], a - ld a, [wcd4c] - dec a - ld hl, PartyMon1Species - call GetPartyLocation - ld b, h - ld c, l - callba GetCaughtGender - ld a, c - ld [wPlayerTrademonCaughtData], a - ld hl, OTPlayerName - ld de, wOTTrademonSenderName - ld bc, NAME_LENGTH - call CopyBytes - - ld a, [wcd4d] - dec a - ld c, a - ld b, 0 - ld hl, OTPartySpecies - add hl, bc - ld a, [hl] - ld [wOTTrademonSpecies], a - ld a, [wcd4d] - dec a - ld hl, OTPartyMonOT - call SkipNames - ld de, wOTTrademonOTName - ld bc, NAME_LENGTH - call CopyBytes - ld a, [wcd4d] - dec a - ld hl, OTPartyMon1ID - call GetPartyLocation - ld a, [hli] - ld [wOTTrademonID], a - ld a, [hl] - ld [wOTTrademonID + 1], a - ld a, [wcd4d] - dec a - ld hl, OTPartyMon1DVs - call GetPartyLocation - ld a, [hli] - ld [wOTTrademonDVs], a - ld a, [hl] - ld [wOTTrademonDVs + 1], a - ld a, [wcd4d] - dec a - ld hl, OTPartyMon1Species - call GetPartyLocation - ld b, h - ld c, l - callba GetCaughtGender - ld a, c - ld [wOTTrademonCaughtData], a - ret -; 102b12 - -Function102b12: ; 102b12 - ld c, 100 - call DelayFrames - call Function102d9a - call LoadFontsBattleExtra - ld a, [wcd2f] - and a - jr nz, .asm_102b2b - callba Function108026 - jr .asm_102b31 - -.asm_102b2b - callba Function10802a - -.asm_102b31 - ret -; 102b32 - -Function102b32: ; 102b32 - ld a, [wcd4c] - dec a - ld [CurPartyMon], a - ld a, $01 - ld [wForceEvolution], a - callba EvolvePokemon - call Function102d9a - call Function102dd3 - call Function102dec - ret -; 102b4e - -Function102b4e: ; 102b4e - ld a, OTPARTYMON - ld [MonType], a - ld a, [wMenuCursorY] - push af - ld de, Unknown_102b73 - call SetMenuAttributes - pop af - ld [wMenuCursorY], a - ld a, [OTPartyCount] - ld [w2DMenuNumRows], a - ret -; 102b68 - -Function102b68: ; 102b68 ; unreferenced - xor a - ld hl, wWindowStackPointer - ld bc, $10 - call ByteFill - ret -; 102b73 - -Unknown_102b73: - db 9, 6 - db 255, 1 - db $a0, $00 - dn 1, 0 - db D_UP | D_DOWN | A_BUTTON - -Function102b7b: ; 102b7b - xor a - ld [MonType], a - ld a, [wMenuCursorY] - push af - ld de, Unknown_102b94 - call SetMenuAttributes - pop af - ld [wMenuCursorY], a - ld a, [PartyCount] - ld [w2DMenuNumRows], a - ret -; 102b94 - -Unknown_102b94: - db 1, 6 - db 255, 1 - db $a0, $00 - dn 1, 0 - db D_UP | D_DOWN | A_BUTTON - -Function102b9c: ; 102b9c - ld a, [wcd4d] - dec a - hlcoord 6, 9 - ld bc, $14 - call AddNTimes - ld [hl], $ec - ret -; 102bac - -Function102bac: ; 102bac - ld a, [wMenuCursorY] - dec a - ld [CurPartyMon], a - call LowVolume - call ClearSprites - callba _MobileStatsScreenInit - ld a, [CurPartyMon] - inc a - ld [wMenuCursorY], a - call Function102d9a - call ClearPalettes - call DelayFrame - call MaxVolume - call Function102dd3 - call Function102dec - call Function102db7 - ret -; 102bdc - -Function102bdc: ; 102bdc - ld a, [wcd4d] - dec a - ld hl, OTPartyMon1Species - call GetPartyLocation - push hl - ld a, [wcd4d] - ld c, a - ld b, 0 - ld hl, OTPartyCount - add hl, bc - ld a, [hl] - pop hl - cp EGG - jr z, .asm_102bfa - cp [hl] - jr nz, .asm_102c05 - -.asm_102bfa - ld bc, MON_LEVEL - add hl, bc - ld a, [hl] - cp MAX_LEVEL + 1 - jr nc, .asm_102c05 - and a - ret - -.asm_102c05 - scf - ret -; 102c07 - -Function102c07: ; 102c07 - call Function102c14 - call Function102c3b - call Function102c21 - call Function102c2e - ret -; 102c14 - -Function102c14: ; 102c14 - ld hl, PartySpecies - ld de, OTPartySpecies - ld bc, 1 - call Function102c71 - ret -; 102c21 - -Function102c21: ; 102c21 - ld hl, PartyMonNicknames - ld de, OTPartyMonNicknames - ld bc, 11 - call Function102c71 - ret -; 102c2e - -Function102c2e: ; 102c2e - ld hl, PartyMonOT - ld de, OTPartyMonOT - ld bc, 11 - call Function102c71 - ret -; 102c3b - -Function102c3b: ; 102c3b - ld hl, PartyMon1 - ld de, OTPartyMon1 - ld bc, $30 - call Function102c71 - ret -; 102c48 - -Function102c48: ; 102c48 - callba Function10165a - ld a, 0 - call GetSRAMBank - ld hl, $a600 - ld de, wc608 - ld bc, $2f - call Function102c71 - call CloseSRAM - ld hl, wc608 - ld de, w5_da00 - ld bc, $1e0 - ld a, $05 - call FarCopyWRAM - ret -; 102c71 - -Function102c71: ; 102c71 - ld a, [wcd4c] - dec a - call AddNTimes - push hl - ld h, d - ld l, e - ld a, [wcd4d] - dec a - call AddNTimes - pop de - call SwapBytes - ret -; 102c87 - -Function102c87: ; 102c87 - ld a, [wJumptableIndex] - push af - ld a, [wcf64] - push af - ld a, [wcd4c] - ld [wJumptableIndex], a - ld a, [PartyCount] - ld [wcf64], a - ld a, 0 - ld hl, $a600 - ld de, wc608 - ld bc, $11a - call Function102d3e - call Function102cee - ld a, 0 - ld hl, wc608 - ld de, $a600 - ld bc, $11a - call Function102d3e - ld a, [wcd4d] - ld [wJumptableIndex], a - ld a, [OTPartyCount] - ld [wcf64], a - ld a, $05 - ld hl, w5_da00 - ld de, wc608 - ld bc, $11a - call FarCopyWRAM - call Function102cee - ld a, $05 - ld hl, wc608 - ld de, w5_da00 - ld bc, $11a - call FarCopyWRAM - pop af - ld [wcf64], a - pop af - ld [wJumptableIndex], a - ret -; 102cee - -Function102cee: ; 102cee - ld a, [wJumptableIndex] - dec a - call Function102d34 - ld de, wd002 - ld bc, $2f - call CopyBytes - ld a, [wJumptableIndex] - ld c, a - ld a, $06 - sub c - ret z - ld bc, $2f - ld hl, 0 - call AddNTimes - push hl - ld a, [wJumptableIndex] - dec a - call Function102d34 - ld d, h - ld e, l - ld hl, $2f - add hl, de - pop bc - call CopyBytes - ld a, [wcf64] - dec a - call Function102d34 - ld d, h - ld e, l - ld hl, wd002 - ld bc, $2f - call CopyBytes - ret -; 102d34 - -Function102d34: ; 102d34 - ld hl, wc608 - ld bc, $2f - call AddNTimes - ret -; 102d3e - -Function102d3e: ; 102d3e - call GetSRAMBank - call CopyBytes - call CloseSRAM - ret -; 102d48 - -Function102d48: ; 102d48 - ld a, [wcd4c] - ld e, a - ld d, 0 - ld hl, PartyCount - add hl, de - ld a, [hl] - ld [wd265], a - cp EGG - jr z, .asm_102d6d - dec a - call SetSeenAndCaughtMon - ld a, [wcd4c] - dec a - ld bc, PARTYMON_STRUCT_LENGTH - ld hl, PartyMon1Happiness - call AddNTimes - ld [hl], BASE_HAPPINESS - -.asm_102d6d - ld a, [wd265] - cp UNOWN - jr nz, .asm_102d98 - ld a, [wcd4c] - dec a - ld bc, PARTYMON_STRUCT_LENGTH - ld hl, PartyMon1DVs - call AddNTimes - predef GetUnownLetter - callba UpdateUnownDex - ld a, [wFirstUnownSeen] - and a - jr nz, .asm_102d98 - ld a, [UnownLetter] - ld [wFirstUnownSeen], a - -.asm_102d98 - and a - ret -; 102d9a - -Function102d9a: ; 102d9a - ld a, " " - hlcoord 0, 0 - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT - call ByteFill - ld a, $07 - hlcoord 0, 0, AttrMap - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT - call ByteFill - callba HDMATransferAttrMapAndTileMapToWRAMBank3 - ret -; 102db7 - -Function102db7: ; 102db7 - call Function102e4f - call Function102e3e - ld hl, wcd4b - set 1, [hl] - ret -; 102dc3 - -Function102dc3: ; 102dc3 - hlcoord 0, 12 - ld b, 4 - ld c, 18 - ld d, h - ld e, l - callba _LinkTextbox - ret -; 102dd3 - -Function102dd3: ; 102dd3 - call DisableLCD - ld de, GFX_1032a2 - ld hl, VTiles0 - lb bc, BANK(GFX_1032a2), 4 - call Get2bpp - callba __LoadTradeScreenBorder - call EnableLCD - ret -; 102dec - -Function102dec: ; 102dec - ld hl, Palettes_1032e2 - ld de, UnknOBPals - ld bc, 4 palettes - ld a, $05 - call FarCopyWRAM - callba Function49742 - call SetPalettes - call DelayFrame - ret -; 102e07 - -Function102e07: ; 102e07 - hlcoord 3, 10 - ld b, 1 - ld c, 11 - ld a, [wBattleMode] - and a - jr z, .link_battle - call TextBox - jr .okay - -.link_battle -; this is idiotic - hlcoord 3, 10 - ld b, 1 - ld c, 11 - ld d, h - ld e, l - callba _LinkTextbox - -.okay - ld de, .waiting - hlcoord 4, 11 - call PlaceString - ret -; 102e32 - -.waiting ; 102e32 - db "Waiting...!@" -; 102e3e - -Function102e3e: ; 102e3e - ld de, .CANCEL - hlcoord 10, 17 - call PlaceString - ret -; 102e48 - -.CANCEL: ; 102e48 - db "CANCEL@" -; 102e4f - -Function102e4f: ; 102e4f - callba Function16d42e - callba _InitMG_Mobile_LinkTradePalMap - ld de, PlayerName - hlcoord 4, 0 - call PlaceString - ld a, $14 - ld [bc], a - ld de, OTPlayerName - hlcoord 4, 8 - call PlaceString - ld a, $14 - ld [bc], a - hlcoord 7, 1 - ld de, PartySpecies - call .PlaceSpeciesNames - hlcoord 7, 9 - ld de, OTPartySpecies - call .PlaceSpeciesNames - ret -; 102e86 - -.PlaceSpeciesNames: ; 102e86 - ld c, 0 -.count_loop - ld a, [de] - cp $ff - ret z - ld [wd265], a - push bc - push hl - push de - push hl - ld a, c - ld [hDividend], a - call GetPokemonName - pop hl - call PlaceString - pop de - inc de - pop hl - ld bc, SCREEN_WIDTH - add hl, bc - pop bc - inc c - jr .count_loop -; 102ea8 - -Function102ea8: ; 102ea8 - call Function102dc3 - ld a, [wcd4c] - dec a - ld c, a - ld b, 0 - ld hl, PartySpecies - add hl, bc - ld a, [hl] - ld [wd265], a - call GetPokemonName - ld hl, StringBuffer1 - ld de, StringBuffer2 - ld bc, 11 - call CopyBytes - ld a, [wcd4d] - dec a - ld c, a - ld b, 0 - ld hl, OTPartySpecies - add hl, bc - ld a, [hl] - ld [wd265], a - call GetPokemonName - ld hl, UnknownText_0x102ee2 - call PrintTextBoxText - ret -; 102ee2 - -UnknownText_0x102ee2: ; 102ee2 - text_jump UnknownText_0x1bd286 - db "@" - -Function102ee7: ; 102ee7 - call Function102dc3 - ld de, String_102ef4 - hlcoord 1, 14 - call PlaceString - ret -; 102ef4 - -String_102ef4: ; 102ef4 - db "Too bad! The trade" - next "was canceled!" - db "@" -; 102f15 - -Function102f15: ; 102f15 - call Function102dc3 - ld de, .TooBadTheTradeWasCanceled - hlcoord 1, 14 - call PlaceString - ret -; 102f22 - -.TooBadTheTradeWasCanceled: ; 102f22 - db "こうかんを キャンセルしました@" -; 102f32 - -Function102f32: ; 102f32 - call Function102dc3 - ld de, .TradeCompleted - hlcoord 1, 14 - call PlaceString - ret -; 102f3f - -.TradeCompleted: ; 102f3f - db "Trade completed!@" -; 102f50 - -Function102f50: ; 102f50 - call Function102dc3 - ld de, .PleaseWait - hlcoord 1, 14 - call PlaceString - ret -; 102f5d - -.PleaseWait: ; 102f5d - db "しょうしょう おまち ください@" -; 102f6d - -Function102f6d: ; 102f6d - call Function102dc3 - ld de, .Finished - hlcoord 1, 14 - call PlaceString - ret -; 102f7a - -.Finished: ; 102f7a - db "しゅうりょう します@" -; 102f85 - -Function102f85: ; 102f85 - ld a, [wd003] - ld c, a - ld b, 0 - ld hl, OTPartySpecies - add hl, bc - ld a, [hl] - ld [wd265], a - call GetPokemonName - call Function102dc3 - ld de, String_102fb2 - hlcoord 1, 14 - call PlaceString - ld de, StringBuffer1 - hlcoord 13, 14 - call PlaceString - ld de, String_102fcc - call PlaceString - ret -; 102fb2 - -String_102fb2: ; 102fb2 - db "あいてがわえらんだ " - next "いじょうあるようです!!" - db "@" -; 102fcc - -String_102fcc: ; 102fcc - db "に@" -; 102fce - -Function102fce: ; 102fce - call Function102dc3 - ld de, String_102fdb - hlcoord 1, 14 - call PlaceString - ret -; 102fdb - -String_102fdb: ; 102fdb - db "あいてがわ%せんたくに" - next "いじょうあるようです!!" - done -; 102ff5 - -Function102ff5: ; 102ff5 - call Function102dc3 - ld de, String_103002 - hlcoord 1, 14 - call PlaceString - ret -; 103002 - -String_103002: ; 103002 - db "その#を こうかんすると" - next "せんとう できなく なっちゃうよ!" - db "@" -; 103021 - -Function103021: ; 103021 - call Function102dc3 - ld de, String_10302e - hlcoord 1, 14 - call PlaceString - ret -; 10302e - -String_10302e: ; 10302e - db "あいてが ちゅうしを えらんだので" - next "こうかんを ちゅうし します" - db "@" -; 10304f - -Function10304f: ; 10304f - xor a - ld [AttrMapEnd], a - ld [wcf42], a - ld [wcf44], a - ld [wcf45], a - ret -; 10305d - -Function10305d: ; 10305d - nop - ld a, [AttrMapEnd] - and a - ret z - call Function10307f - ret c - call Function103094 - call Function10306e - ret -; 10306e - -Function10306e: ; 10306e - ld a, $01 - ld [hOAMUpdate], a - call ClearSprites - ld de, Sprites - call Function1030cd - xor a - ld [hOAMUpdate], a - ret -; 10307f - -Function10307f: ; 10307f - ld c, $02 - ld hl, wcd4b - bit 7, [hl] - jr z, .asm_10308a - ld c, $01 - -.asm_10308a - ld hl, wcf45 - inc [hl] - ld a, [hl] - cp c - ret c - xor a - ld [hl], a - ret -; 103094 - -Function103094: ; 103094 - ld hl, wcd4b - bit 7, [hl] - jr nz, .asm_1030c0 - ld a, [wcf42] - bit 7, a - jr nz, .asm_1030b2 - ld a, [wcf44] - inc a - ld [wcf44], a - cp $2c - ret nz - ld hl, wcf42 - set 7, [hl] - ret - -.asm_1030b2 - ld a, [wcf44] - dec a - ld [wcf44], a - ret nz - ld hl, wcf42 - res 7, [hl] - ret - -.asm_1030c0 - ld hl, wcf44 - ld a, [hl] - and a - jr z, .asm_1030ca - dec a - ld [hl], a - ret nz - -.asm_1030ca - ld [hl], $2c - ret -; 1030cd - -Function1030cd: ; 1030cd - ld a, [wcf44] - ld l, a - ld h, 0 - add hl, hl - add hl, hl - add hl, hl - ld bc, Unknown_103112 - add hl, bc - ld b, $30 - ld c, $08 -.asm_1030de - push hl - ld hl, wcd4b - bit 7, [hl] - pop hl - ld a, 0 - jr z, .asm_1030eb - ld a, $05 -.asm_1030eb - - add [hl] - inc hl - push hl - - add a - add a - - add Unknown_10327a % $100 - ld l, a - ld a, Unknown_10327a / $100 - adc 0 - ld h, a - - ld a, b - add [hl] - inc hl - ld [de], a - inc de - ld a, $0a - add [hl] - inc hl - ld [de], a - inc de - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - inc de - pop hl - ld a, b - add $08 - ld b, a - dec c - jr nz, .asm_1030de - ret -; 103112 - -Unknown_103112: ; 103112 - db $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00 - db $01, $00, $00, $00, $00, $00, $00, $00 - db $02, $01, $00, $00, $00, $00, $00, $00 - db $03, $02, $01, $00, $00, $00, $00, $00 - db $04, $03, $02, $01, $00, $00, $00, $00 - db $04, $04, $03, $02, $01, $00, $00, $00 - db $04, $04, $04, $03, $02, $01, $00, $00 - db $04, $04, $04, $04, $03, $02, $01, $00 - db $04, $04, $04, $04, $04, $03, $02, $01 - db $04, $04, $04, $04, $04, $04, $03, $02 - db $04, $04, $04, $04, $04, $04, $04, $03 - db $04, $04, $04, $04, $04, $04, $04, $04 - db $04, $04, $04, $04, $04, $04, $04, $04 - db $04, $04, $04, $04, $04, $04, $04, $04 - db $04, $04, $04, $04, $04, $04, $04, $04 - db $04, $04, $04, $04, $04, $04, $04, $04 - db $04, $04, $04, $04, $04, $04, $04, $04 - db $04, $04, $04, $04, $04, $04, $04, $04 - db $04, $04, $04, $04, $04, $04, $04, $04 - db $03, $04, $04, $04, $04, $04, $04, $04 - db $02, $03, $04, $04, $04, $04, $04, $04 - db $01, $02, $03, $04, $04, $04, $04, $04 - db $00, $01, $02, $03, $04, $04, $04, $04 - db $00, $00, $01, $02, $03, $04, $04, $04 - db $00, $00, $00, $01, $02, $03, $04, $04 - db $00, $00, $00, $00, $01, $02, $03, $04 - db $00, $00, $00, $00, $00, $01, $02, $03 - db $00, $00, $00, $00, $00, $00, $01, $02 - db $00, $00, $00, $00, $00, $00, $00, $01 - db $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00 -; 10327a - -Unknown_10327a: ; 10327a - db $00, $00, $00, $00 - db $00, $00, $01, $00 - db $00, $00, $02, $00 - db $00, $00, $03, $00 - db $00, $00, $01, $01 - db $00, $00, $00, $00 - db $00, $00, $01, $02 - db $00, $00, $02, $02 - db $00, $00, $03, $02 - db $00, $00, $01, $03 - -GFX_1032a2: -INCBIN "gfx/unknown/1032a2.2bpp" - -Palettes_1032e2: - RGB 0, 0, 0 - RGB 31, 31, 7 - RGB 20, 31, 6 - RGB 13, 20, 16 - - RGB 0, 0, 0 - RGB 7, 11, 17 - RGB 0, 0, 0 - RGB 0, 0, 0 - - RGB 0, 0, 0 - RGB 31, 24, 4 - RGB 25, 12, 0 - RGB 31, 7, 4 - - RGB 0, 0, 0 - RGB 25, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - -; 103302 - -Function103302: ; 103302 - call Function103309 - call Function103362 - ret -; 103309 - -Function103309: ; 103309 - xor a - ld [hBGMapMode], a - ld hl, Buffer1 - ld bc, 10 - xor a - call ByteFill - ld a, $04 - call GetSRAMBank - ld a, [wdc41] - ld [$a60c], a - ld [Buffer1], a - call CloseSRAM - call Function1035c6 - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - ld a, [hli] - ld [wd1ef], a - ld a, [hli] - ld [wd1ec], a - ld a, [hli] - ld [wd1ed], a - ld h, d - ld l, e - call Function3eea - ld hl, wd1ec - ld a, [hli] - ld h, [hl] - ld l, a - ld a, [hl] - ld [wd1ee], a - call Function1034be - call UpdateSprites - callba HDMATransferAttrMapAndTileMapToWRAMBank3 - ld a, $01 - ld [wd1f0], a - call Function10339a - ret -; 103362 - -Function103362: ; 103362 -.asm_103362 - ld a, [wd1f0] - ld [wd1f1], a - call Function1033af - call Function10339a - call Function10342c - callba HDMATransferTileMapToWRAMBank3 - ld a, [Buffer2] - bit 7, a - jr z, .asm_103362 - ld hl, Buffer2 - bit 6, [hl] - jr z, .asm_103398 - ld a, $04 - call GetSRAMBank - ld a, [Buffer1] - ld [$a60c], a - ld [wdc41], a - call CloseSRAM - xor a - ret - -.asm_103398 - scf - ret -; 10339a - -Function10339a: ; 10339a - ld a, [wd1f0] - ld [wd1f2], a - ld c, a - ld b, 0 - ld hl, wd1ec - ld a, [hli] - ld h, [hl] - ld l, a - add hl, bc - ld a, [hl] - ld [wd1f3], a - ret -; 1033af - -Function1033af: ; 1033af - call GetJoypad - ld a, [hJoyPressed] - bit D_LEFT_F, a - jr nz, .left - bit D_RIGHT_F, a - jr nz, .right - bit B_BUTTON_F, a - jr nz, .b - bit A_BUTTON_F, a - jr nz, .a - bit D_UP_F, a - jr nz, .up - bit D_DOWN_F, a - jr nz, .down - ret - -.up - ld a, [wd1f0] - dec a - ld [wd1f0], a - cp 1 - ret nc - ld a, [wd1ee] - ld [wd1f0], a - ret - -.down - ld a, [wd1f0] - inc a - ld [wd1f0], a - ld c, a - ld a, [wd1ee] - cp c - ret nc - ld a, 1 - ld [wd1f0], a - ret - -.b - call PlayClickSFX - ld hl, Buffer2 - set 7, [hl] - ret - -.a - ld a, [wd1f3] - cp 3 - jr nz, .a_return - ld de, SFX_TRANSACTION - call PlaySFX - ld hl, Buffer2 - set 7, [hl] - ld hl, Buffer2 - set 6, [hl] - ret - -.left -.right -.a_return - ld a, [wd1f3] - cp 3 - ret z - ld de, SFX_PUSH_BUTTON - call PlaySFX - ld bc, 8 - call Function10350f - ld a, [Buffer1] - xor e - ld [Buffer1], a - ret -; 10342c - -Function10342c: ; 10342c - ld a, [wd1f0] - ld [wd1f2], a - call Function103490 - call Function10343c - call Function1034a7 - ret -; 10343c - -Function10343c: ; 10343c - ld a, [wd1f3] - cp $02 - jr nz, .asm_103452 - ld bc, 1 - call Function1034f7 - ld c, $12 - ld b, $01 - call Function1034e0 - jr .asm_10345f - -.asm_103452 - ld bc, $ffed - call Function1034f7 - ld c, $12 - ld b, $02 - call Function1034e0 - -.asm_10345f - ld bc, 0 - call Function10350f - ld bc, 1 - call Function103487 - ld bc, 8 - call Function10350f - ld a, [Buffer1] - and e - ld bc, 2 - jr z, .asm_10347d - ld bc, 4 - -.asm_10347d - call Function10350f - ld bc, 11 - call Function103487 - ret -; 103487 - -Function103487: ; 103487 - push de - call Function1034f7 - pop de - call PlaceString - ret -; 103490 - -Function103490: ; 103490 - hlcoord 0, 15 - ld c, $14 - ld b, $03 - call Function1034e0 - ld bc, 6 - call Function10350f - hlcoord 1, 16 - call PlaceString - ret -; 1034a7 - -Function1034a7: ; 1034a7 - ld a, [wd1f1] - ld [wd1f2], a - ld bc, 10 - call Function1034f7 - ld [hl], $7f - ld bc, 10 - call Function1034f1 - ld [hl], $ed - ret -; 1034be - -Function1034be: ; 1034be - ld a, $01 - ld [wd1f2], a - ld hl, wd1ec - ld a, [hli] - ld h, [hl] - ld l, a - ld a, [hli] -.asm_1034ca - push af - ld a, [hli] - push hl - ld [wd1f3], a - call Function10343c - ld hl, wd1f2 - inc [hl] - pop hl - pop af - dec a - jr nz, .asm_1034ca - call Function103490 - ret -; 1034e0 - -Function1034e0: ; 1034e0 - push bc - push hl - call ClearBox - pop hl - ld bc, AttrMap - TileMap - add hl, bc - pop bc - ld a, $06 - call FillBoxWithByte - ret -; 1034f1 - -Function1034f1: ; 1034f1 - ld a, [wd1f0] - ld [wd1f2], a - -Function1034f7: ; 10134f7 - hlcoord 0, 0 - add hl, bc - ld a, [wd1ef] - ld bc, SCREEN_WIDTH - call AddNTimes - ld a, [wd1f2] - dec a - ld bc, 40 - call AddNTimes - ret -; 10350f - -Function10350f: ; 10350f - ld a, [wd1f3] - push bc - ld hl, Unknown_103522 - ld bc, 9 - call AddNTimes - pop bc - add hl, bc - ld a, [hli] - ld d, [hl] - ld e, a - ret -; 103522 - -Unknown_103522: ; 103522 - dw String_103546 - dw String_103598 - dw String_1035a0 - dw String_10355f - db $01 - dw String_10354f - dw String_1035a8 - dw String_1035b1 - dw String_103571 - db $02 - dw String_103557 - dw String_1035ba - dw String_1035bd - dw String_103585 - db $04 - dw String_103545 - dw String_1035c1 - dw String_1035c1 - dw String_103545 - -String_103545: db "@" -String_103546: db "せんとう アニメ@" -String_10354f: db "でんわばんごう@" -String_103557: db "めいしこうかん@" -String_10355f: db "でんわを かけるひとが きめられる@" -String_103571: db "でんわばんごうの にゅうりょくのしかた@" -String_103585: db "あたらしいめいしが あれば こうかん@" -String_103598: db "とばして みる@" -String_1035a0: db "じっくり みる@" -String_1035a8: db "めいしからえらぶ@" -String_1035b1: db "すうじで いれる@" -String_1035ba: db "する@" -String_1035bd: db "しない@" -String_1035c1: db "けってい@" -; 1035c6 - -Function1035c6: ; 1035c6 - callba Function10138b - ld b, 0 - ld hl, Unknown_1035d7 - add hl, bc - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - ret -; 1035d7 - -Unknown_1035d7: ; 1035d7 - dw Unknown_1035e7 - dw Unknown_1035f3 - dw Unknown_103608 - dw Unknown_103608 - dw Unknown_1035fe - dw AskMobileOrCable - dw AskMobileOrCable - dw AskMobileOrCable - -Unknown_1035e7: ; 1035e7 - dwcoord 0, 6 - db $12, $07, $07 - dw .this -.this - db 4, 2, 1, 0, 3 - -Unknown_1035f3: ; 1035f3 - dwcoord 0, 7 - db $12, $06, $09 - dw .this -.this - db 3, 2, 1, 3 - -Unknown_1035fe: ; 1035fe - dwcoord 0, 9 - db $12, $04, $0b - dw .this -.this - db 2, 0, 3 - -Unknown_103608: ; 103608 - dwcoord 0, 9 - db $12, $04, $0b - dw .this -.this - db 2, 2, 3 -; 103612 - -AskMobileOrCable: ; 103612 - ld hl, MenuDataHeader_103640 - call LoadMenuDataHeader - ld a, [wMobileOrCable_LastSelection] - and $0f - jr z, .skip_load - ld [wMenuCursorBuffer], a - -.skip_load - call VerticalMenu - call CloseWindow - jr c, .pressed_b - ld a, [wMenuCursorY] - ld [ScriptVar], a - ld c, a - ld a, [wMobileOrCable_LastSelection] - and $f0 - or c - ld [wMobileOrCable_LastSelection], a - ret - -.pressed_b - xor a - ld [ScriptVar], a - ret -; 103640 - -MenuDataHeader_103640: ; 103640 - db $40 ; flags - db 6, 13 ; start coords - db 11, 19 ; end coords - dw MenuData2_103648 - db 1 ; default option - -MenuData2_103648: ; 103648 - db $80 ; flags - db 2 - db "モバイル@" - db "ケーブル@" -; 103654 - -Function103654: ; 103654 - callba Mobile_AlwaysReturnNotCarry - bit 7, c - jr nz, .asm_103666 - ld hl, wcd2a - res 5, [hl] - ld c, $02 - ret - -.asm_103666 - ld hl, wcd2a - set 5, [hl] - ld c, $01 - ret -; 10366e - -Mobile_SelectThreeMons: ; 10366e - callba Mobile_AlwaysReturnNotCarry - bit 7, c - jr z, .asm_10369b - ld hl, UnknownText_0x10375d - call PrintText - call YesNoBox - jr c, .asm_103696 - callba CheckForMobileBattleRules - jr nc, .asm_103690 - call JoyWaitAorB - jr .asm_103696 - -.asm_103690 - ld a, $01 - ld [ScriptVar], a - ret - -.asm_103696 - xor a - ld [ScriptVar], a - ret - -.asm_10369b - ld hl, wMobileOrCable_LastSelection - bit 7, [hl] - set 7, [hl] - jr nz, .asm_1036b5 - ld hl, UnknownText_0x103762 - call PrintText - call YesNoBox - jr c, .asm_1036b5 - call Function1036f9 - call JoyWaitAorB - -.asm_1036b5 - call Function103700 - jr c, .asm_1036f4 - ld hl, MenuDataHeader_103747 - call LoadMenuDataHeader - call VerticalMenu - call ExitMenu - jr c, .asm_1036f4 - ld a, [wMenuCursorY] - cp $01 - jr z, .asm_1036d9 - cp $02 - jr z, .asm_1036f4 - cp $03 - jr z, .asm_1036ec - jr .asm_1036b5 - -.asm_1036d9 - callba CheckForMobileBattleRules - jr nc, .asm_1036e6 - call JoyWaitAorB - jr .asm_1036f4 - -.asm_1036e6 - ld a, $01 - ld [ScriptVar], a - ret - -.asm_1036ec - call Function1036f9 - call JoyWaitAorB - jr .asm_1036b5 - -.asm_1036f4 - xor a - ld [ScriptVar], a - ret -; 1036f9 - -Function1036f9: ; 1036f9 - ld hl, UnknownText_0x103767 - call PrintText - ret -; 103700 - -Function103700: ; 103700 - ld c, $0a - ld hl, SwarmFlags - bit 4, [hl] - jr z, .asm_10370f - callba Function1008a6 - -.asm_10370f - ld a, c - ld [StringBuffer2], a - ld a, [StringBuffer2] - cp $05 - jr nc, .asm_103724 - cp $02 - jr nc, .asm_10372c - cp $01 - jr nc, .asm_103734 - jr .asm_10373c - -.asm_103724 - ld hl, UnknownText_0x10376c - call PrintText - and a - ret - -.asm_10372c - ld hl, UnknownText_0x103771 - call PrintText - and a - ret - -.asm_103734 - ld hl, UnknownText_0x103776 - call PrintText - and a - ret - -.asm_10373c - ld hl, UnknownText_0x10377b - call PrintText - call JoyWaitAorB - scf - ret -; 103747 - -MenuDataHeader_103747: ; 103747 - db $40 ; flags - db 5, 13 ; start coords - db 11, 19 ; end coords - dw MenuData2_10374f - db 1 ; default option - -MenuData2_10374f: ; 10374f - db $c0 ; flags - db 3 - db "はい@" - db "やめる@" - db "せつめい@" -; 10375d - -UnknownText_0x10375d: ; 0x10375d - text_jump UnknownText_0x1c422a - db "@" -; 0x103762 -UnknownText_0x103762: ; 0x103762 - text_jump UnknownText_0x1c4275 - db "@" -; 0x103767 -UnknownText_0x103767: ; 0x103767 - text_jump UnknownText_0x1c4298 - db "@" -; 0x10376c -UnknownText_0x10376c: ; 0x10376c - text_jump UnknownText_0x1c439c - db "@" -; 0x103771 -UnknownText_0x103771: ; 0x103771 - text_jump UnknownText_0x1c43dc - db "@" -; 0x103776 -UnknownText_0x103776: ; 0x103776 - text_jump UnknownText_0x1c4419 - db "@" -; 0x10377b -UnknownText_0x10377b: ; 0x10377b - text_jump UnknownText_0x1c445a - db "@" -; 0x103780 - -Function103780: ; 103780 - ld a, [wd265] - push af - call Function10378c - pop af - ld [wd265], a - ret -; 10378c - -Function10378c: ; 10378c - ld c, 0 - ld hl, SwarmFlags - bit 4, [hl] - jr nz, .already_set - ld c, $01 - ld hl, SwarmFlags - set 4, [hl] - -.already_set - push bc - callba Link_SaveGame - pop bc - jr c, .failed_to_save - ld a, $01 - ld [ScriptVar], a - ld a, c - and a - ret z - callba Function1006fd - ret - -.failed_to_save - xor a - ld [ScriptVar], a - ld a, c - and a - ret z - ld hl, SwarmFlags - res 4, [hl] - ret -; 1037c2 - -Function1037c2: ; 1037c2 - call Function103823 - jr c, .nope - ld a, [wdc5f] - and a - jr z, .nope - ld hl, UnknownText_0x1037e6 - call PrintText - call YesNoBox - jr c, .nope - ld a, $01 - ld [ScriptVar], a - ret - -.nope - xor a - ld [wdc5f], a - ld [ScriptVar], a - ret -; 1037e6 - -UnknownText_0x1037e6: ; 0x1037e6 - text_jump UnknownText_0x1c449c - db "@" -; 0x1037eb - -Function1037eb: ; 1037eb - call Function103823 - jr nc, .asm_103807 - ld hl, UnknownText_0x103819 - call PrintText - call JoyWaitAorB - ld hl, UnknownText_0x10381e - call PrintText - call JoyWaitAorB - xor a - ld [ScriptVar], a - ret - -.asm_103807 - ld a, [wdc60] - and a - jr nz, .asm_103813 - ld a, $01 - ld [ScriptVar], a - ret - -.asm_103813 - ld a, $02 - ld [ScriptVar], a - ret -; 103819 - -UnknownText_0x103819: ; 0x103819 - text_jump UnknownText_0x1c44c0 - db "@" -; 0x10381e - -UnknownText_0x10381e: ; 0x10381e - text_jump UnknownText_0x1c44e7 - db "@" -; 0x103823 - -Function103823: ; 103823 - callba Mobile_AlwaysReturnNotCarry - bit 7, c - jr nz, .asm_103838 - callba Function1008a6 - ld a, c - cp $01 - jr c, .asm_10383a - -.asm_103838 - xor a - ret - -.asm_10383a - scf - ret -; 10383c - -Function10383c: ; 10383c - ld a, $01 - ld [wdc60], a - xor a - ld hl, wPlayerMonSelection - ld [hli], a - ld [hli], a - ld [hl], a - ld hl, UnknownText_0x103876 - call PrintText - call JoyWaitAorB - callba Script_reloadmappart - callba Function4a94e - jr c, .asm_103870 - ld hl, wd002 - ld de, wPlayerMonSelection - ld bc, 3 - call CopyBytes - xor a - ld [ScriptVar], a - ret - -.asm_103870 - ld a, $01 - ld [ScriptVar], a - ret -; 103876 - -UnknownText_0x103876: ; 0x103876 - text_jump UnknownText_0x1c4508 - db "@" -; 0x10387b - -Function10387b: ; 10387b - callba Mobile_AlwaysReturnNotCarry - bit 7, c - ret nz - callba Function1008a6 - ld a, c - ld [StringBuffer2], a - ld hl, UnknownText_0x103898 - call PrintText - call JoyWaitAorB - ret -; 103898 - -UnknownText_0x103898: ; 0x103898 - text_jump UnknownText_0x1c4525 - db "@" -; 0x10389d diff --git a/misc/mobile_41.asm b/misc/mobile_41.asm deleted file mode 100755 index 37e10a01e..000000000 --- a/misc/mobile_41.asm +++ /dev/null @@ -1,1115 +0,0 @@ -SECTION "bank41_2", ROMX - -; These functions deal with miscellaneous statistics -; which were used for Trainer Rankings in Pokémon News. - -; Copies certain values at the time the player enters the Hall of Fame. -TrainerRankings_HallOfFame2:: mobile ; 0x105ef6 - ld a, BANK(sTrainerRankingGameTimeHOF) - call GetSRAMBank - - ld hl, GameTimeHours - ld de, sTrainerRankingGameTimeHOF - ld bc, 4 - call CopyBytes - - ld hl, sTrainerRankingStepCount - ld de, sTrainerRankingStepCountHOF - ld bc, 4 - call CopyBytes - - ; sTrainerRankingHealings is only a 3-byte value. - ; One extraneous byte is copied from sTrainerRankingMysteryGift. - ld hl, sTrainerRankingHealings - ld de, sTrainerRankingHealingsHOF - ld bc, 4 - call CopyBytes - - ld hl, sTrainerRankingBattles - ld de, sTrainerRankingBattlesHOF - ld bc, 3 - call CopyBytes - - call UpdateTrainerRankingsChecksum - call CloseSRAM - ret -; 105f33 - -TrainerRankings_MagikarpLength: mobile ; 105f33 - ld a, BANK(sTrainerRankingLongestMagikarp) - call GetSRAMBank - ld de, Buffer1 - ld hl, sTrainerRankingLongestMagikarp - - ; Is this Magikarp the longest measured? - ld a, [de] - cp [hl] - jr z, .isLowByteHigher - jr nc, .newRecordLongest - jr .checkShortest - -.isLowByteHigher - inc hl - inc de - ld a, [de] - cp [hl] - dec hl - dec de - jr c, .checkShortest - -.newRecordLongest - ld a, [de] - inc de - ld [hli], a - ld a, [de] - dec de - ld [hl], a - -.checkShortest - ; First, check if the record for shortest Magikarp is 0. - ; This seems unnecessary, because the value is initialized to 100.0 cm. - ld hl, sTrainerRankingShortestMagikarp - ld a, [hli] - or [hl] - dec hl - jr z, .newRecordShortest - - ; Now check if this Magikarp is the shortest - ld a, [de] - cp [hl] - jr z, .isLowByteLower - jr c, .newRecordShortest - jr .done - -.isLowByteLower - inc hl - inc de - ld a, [de] - cp [hl] - jr nc, .done - dec hl - dec de - -.newRecordShortest - ld a, [de] - inc de - ld [hli], a - ld a, [de] - ld [hl], a - -.done - call UpdateTrainerRankingsChecksum - call CloseSRAM - ret -; 105f79 - -TrainerRankings_BugContestScore: mobile ; 105f79 - ld a, BANK(sTrainerRankingBugContestScore) - call GetSRAMBank - ld a, [hProduct] - ld hl, sTrainerRankingBugContestScore - cp [hl] - jr z, .isLowByteHigher - jr nc, .newHighScore - jr .done - -.isLowByteHigher - inc hl - ld a, [hMultiplicand] - cp [hl] - jr c, .done - dec hl - -.newHighScore - ld a, [hProduct] - ld [hli], a - ld a, [hMultiplicand] - ld [hl], a - -.done - call UpdateTrainerRankingsChecksum - call CloseSRAM - ret -; 105f9f - -TrainerRankings_AddToSlotsWinStreak: mobile ; 105f9f - ld a, BANK(sTrainerRankingCurrentSlotsStreak) - call GetSRAMBank - - ; Increment the current streak - ld hl, sTrainerRankingCurrentSlotsStreak + 1 - inc [hl] - jr nz, .noCarry - dec hl - inc [hl] - inc hl - -.noCarry - dec hl - ; Now check if this is a new record for longest streak - ld a, [sTrainerRankingLongestSlotsStreak] - cp [hl] - jr z, .isLowByteHigher - jr c, .newRecordStreak - jr .done - -.isLowByteHigher - inc hl - ld a, [sTrainerRankingLongestSlotsStreak + 1] - cp [hl] - jr nc, .done - dec hl - -.newRecordStreak - ld a, [hli] - ld [sTrainerRankingLongestSlotsStreak], a - ld a, [hl] - ld [sTrainerRankingLongestSlotsStreak + 1], a - -.done - call UpdateTrainerRankingsChecksum - call CloseSRAM - ret -; 105fd0 - -TrainerRankings_EndSlotsWinStreak: mobile ; 105fd0 - ld a, BANK(sTrainerRankingCurrentSlotsStreak) - call GetSRAMBank - ld hl, sTrainerRankingCurrentSlotsStreak - xor a - ld [hli], a - ld [hl], a - call UpdateTrainerRankingsChecksum - call CloseSRAM - ret -; 105fe3 - -TrainerRankings_AddToSlotsPayouts: mobile ; 105fe3 - ld a, BANK(sTrainerRankingTotalSlotsPayouts) - call GetSRAMBank - ld hl, sTrainerRankingTotalSlotsPayouts + 3 - ld a, e - add [hl] - ld [hld], a - ld a, d - adc [hl] - ld [hld], a - jr nc, .done - inc [hl] - jr nz, .done - dec hl - inc [hl] - jr nz, .done - ld a, $ff - ld [hli], a - ld [hli], a - ld [hli], a - ld [hl], a - -.done - call UpdateTrainerRankingsChecksum - call CloseSRAM - ret -; 106008 - -TrainerRankings_AddToBattlePayouts: mobile ; 106008 - ld a, BANK(sTrainerRankingTotalBattlePayouts) - call GetSRAMBank - ld hl, sTrainerRankingTotalBattlePayouts + 3 - ld a, [bc] - dec bc - add [hl] - ld [hld], a - ld a, [bc] - dec bc - adc [hl] - ld [hld], a - ld a, [bc] - adc [hl] - ld [hld], a - jr nc, .done - inc [hl] - jr nz, .done - ld a, $ff - ld [hli], a - ld [hli], a - ld [hli], a - ld [hl], a - -.done - call UpdateTrainerRankingsChecksum - call CloseSRAM - ret -; 10602e - -TrainerRankings_StepCount: mobile ; 10602e (41:602e) - ld hl, sTrainerRankingStepCount - jp TrainerRankings_Increment4Byte - -; Unreferenced in English version. -TrainerRankings_BattleTowerWins: mobile ; 106035 - ld a, $5 - call GetSRAMBank - ld a, [$aa8d] - and a - call CloseSRAM - ret nz - ld hl, sTrainerRankingBattleTowerWins - jp TrainerRankings_Increment2Byte - -TrainerRankings_TMsHMsTaught: mobile ; 106049 - ld hl, sTrainerRankingTMsHMsTaught - jp TrainerRankings_Increment3Byte - -TrainerRankings_Battles: mobile ; 106050 - ld a, [BattleType] - cp BATTLETYPE_TUTORIAL ; Exclude the Dude’s tutorial battle - ret z - ld hl, sTrainerRankingBattles - jp TrainerRankings_Increment3Byte - -TrainerRankings_WildBattles: mobile ; 10605d - ld a, [BattleType] - cp BATTLETYPE_TUTORIAL ; Exclude the Dude’s tutorial battle - ret z - ld hl, sTrainerRankingWildBattles - jp TrainerRankings_Increment3Byte - -TrainerRankings_TrainerBattles: mobile ; 10606a - ld hl, sTrainerRankingTrainerBattles - jp TrainerRankings_Increment3Byte - -TrainerRankings_Unused1: mobile ; 106071 - ld hl, sTrainerRankingUnused1 - jp TrainerRankings_Increment3Byte - -TrainerRankings_HallOfFame:: mobile ; 0x106078 - ld hl, sTrainerRankingHOFEntries - jp TrainerRankings_Increment3Byte - -TrainerRankings_WildMonsCaught: mobile ; 10607f (41:607f) - ld hl, sTrainerRankingWildMonsCaught - jp TrainerRankings_Increment3Byte - -TrainerRankings_HookedEncounters: mobile ; 106086 - ld hl, sTrainerRankingHookedEncounters - jp TrainerRankings_Increment3Byte - -TrainerRankings_EggsHatched: mobile ; 10608d (41:608d) - ld hl, sTrainerRankingEggsHatched - jp TrainerRankings_Increment3Byte - -TrainerRankings_MonsEvolved: mobile ; 106094 - ld hl, sTrainerRankingMonsEvolved - jp TrainerRankings_Increment3Byte - -TrainerRankings_FruitPicked: mobile ; 10609b - ld hl, sTrainerRankingFruitPicked - jp TrainerRankings_Increment3Byte - -TrainerRankings_Healings: mobile ; 1060a2 - ld hl, sTrainerRankingHealings - jp TrainerRankings_Increment3Byte - -TrainerRankings_MysteryGift: mobile ; 1060a9 (41:60a9) - ld hl, sTrainerRankingMysteryGift - jr TrainerRankings_Increment3Byte - -TrainerRankings_Trades: mobile ; 1060af - ld hl, sTrainerRankingTrades - jr TrainerRankings_Increment3Byte - -TrainerRankings_Fly: mobile ; 1060b5 - ld hl, sTrainerRankingFly - jr TrainerRankings_Increment3Byte - -TrainerRankings_Surf: mobile ; 1060bb - ld hl, sTrainerRankingSurf - jr TrainerRankings_Increment3Byte - -TrainerRankings_Waterfall: mobile ; 1060c1 - ld hl, sTrainerRankingWaterfall - jr TrainerRankings_Increment3Byte - -TrainerRankings_WhiteOuts: mobile ; 1060c7 - ld hl, sTrainerRankingWhiteOuts - jr TrainerRankings_Increment3Byte - -TrainerRankings_LuckyNumberShow: mobile ; 1060cd - ld hl, sTrainerRankingLuckyNumberShow - jr TrainerRankings_Increment2Byte - -TrainerRankings_PhoneCalls: mobile ; 1060d3 - ld hl, sTrainerRankingPhoneCalls - jr TrainerRankings_Increment3Byte - -TrainerRankings_Unused2: mobile ; 1060df - ld hl, sTrainerRankingUnused2 - jr TrainerRankings_Increment3Byte - -TrainerRankings_LinkBattles: mobile ; 1060df - ld hl, sTrainerRankingLinkBattles - jr TrainerRankings_Increment3Byte - -TrainerRankings_Splash: mobile ; 1060e5 - ; Only counts if it’s the player’s turn - ld a, [hBattleTurn] - and a - ret nz - ld hl, sTrainerRankingSplash - jr TrainerRankings_Increment3Byte - -TrainerRankings_TreeEncounters: mobile ; 1060ef - ld hl, sTrainerRankingTreeEncounters - jr TrainerRankings_Increment3Byte - -TrainerRankings_Unused3: mobile ; 1060f5 - ld hl, sTrainerRankingUnused3 - jr TrainerRankings_Increment3Byte - -TrainerRankings_ColosseumWins: mobile ; win - ld hl, sTrainerRankingColosseumWins - jr TrainerRankings_Increment3Byte - -TrainerRankings_ColosseumLosses: mobile ; lose - ld hl, sTrainerRankingColosseumLosses - jr TrainerRankings_Increment3Byte -; 106107 - -TrainerRankings_ColosseumDraws: mobile ; draw - ld hl, sTrainerRankingColosseumDraws - jr TrainerRankings_Increment3Byte -; 10610d - -; Counts uses of both Selfdestruct and Explosion. -TrainerRankings_Selfdestruct: mobile ; 10610d - ; Only counts if it’s the player’s turn - ld a, [hBattleTurn] - and a - ret nz - ld hl, sTrainerRankingSelfdestruct - jr TrainerRankings_Increment3Byte -; 106117 - -TrainerRankings_Increment4Byte: ; 106117 - push bc - ld bc, 3 - jr TrainerRankings_Increment -; 10611d - -TrainerRankings_Increment3Byte: ; 10611d - push bc - ld bc, 2 - jr TrainerRankings_Increment -; 106123 - -TrainerRankings_Increment2Byte: ; 106123 - push bc - ld bc, 1 - jr TrainerRankings_Increment -; 106129 - -; unused -TrainerRankings_Increment1Byte: ; 106129 - push bc - ld bc, 0 - -; Increments a big-endian value of bc + 1 bytes at hl -TrainerRankings_Increment: ; 10612d - ld a, BANK(sTrainerRankings) - call GetSRAMBank - push hl - push de - ld e, c - inc e -.asm_106136 - ld a, [hli] - inc a - jr nz, .asm_10613d - dec e - jr nz, .asm_106136 - -.asm_10613d - pop de - pop hl - jr z, .asm_10614d - add hl, bc -.asm_106142 - inc [hl] - jr nz, .asm_10614d - ld a, c - and a - jr z, .asm_10614d - dec hl - dec c - jr .asm_106142 - -.asm_10614d - call UpdateTrainerRankingsChecksum - call CloseSRAM - pop bc - ret -; 106155 - -; Used when SRAM bank 5 isn’t already loaded — what’s the point of this? -UpdateTrainerRankingsChecksum2: mobile ; 106155 - ld a, BANK(sTrainerRankings) - call GetSRAMBank - call UpdateTrainerRankingsChecksum - call CloseSRAM - ret -; 106162 - -UpdateTrainerRankingsChecksum: ; 106162 - push de - call CalculateTrainerRankingsChecksum - ld hl, sTrainerRankingsChecksum - ld [hl], d - inc hl - ld [hl], e - pop de - ret -; 10616e - -CalculateTrainerRankingsChecksum: ; 10616e - push bc - ld hl, sTrainerRankings - ld bc, sTrainerRankingsChecksum - sTrainerRankings - xor a - ld de, 0 -.asm_106179 - ld a, e - add [hl] - ld e, a - jr nc, .asm_10617f - inc d - -.asm_10617f - inc hl - dec bc - ld a, b - or c - jr nz, .asm_106179 - pop bc - ret -; 106187 - - -BackupMobileEventIndex: ; 106187 - ld a, BANK(sMobileEventIndex) - call GetSRAMBank - ld a, [sMobileEventIndex] - push af - ld a, BANK(sMobileEventIndexBackup) - call GetSRAMBank - pop af - ld [sMobileEventIndexBackup], a - call CloseSRAM - ret -; 10619d - - -RestoreMobileEventIndex: ; 10619d (41:619d) - ld a, BANK(sMobileEventIndexBackup) - call GetSRAMBank - ld a, [sMobileEventIndexBackup] - push af - ld a, BANK(sMobileEventIndex) - call GetSRAMBank - pop af - ld [sMobileEventIndex], a - call CloseSRAM - ret -; 1061b3 (41:61b3) - -; Unreferenced in English version. -VerifyTrainerRankingsChecksum: ; 1061b3 - call CalculateTrainerRankingsChecksum - ld hl, sTrainerRankingsChecksum - ld a, d - cp [hl] - ret nz - inc hl - ld a, e - cp [hl] - ret -; 1061c0 - -DeleteMobileEventIndex: ; 1061c0 (41:61c0) - ld a, BANK(sMobileEventIndex) - call GetSRAMBank - xor a - ld [sMobileEventIndex], a - call CloseSRAM - ret -; 1061cd (41:61cd) - -; Used in the Japanese version to initialize Trainer Rankings data -; for a new save file. Unreferenced in the English version. -InitializeTrainerRankings: - ld hl, sTrainerRankings - ld bc, sTrainerRankingsEnd - sTrainerRankings - xor a - call ByteFill - - ; Initialize the shortest Magikarp to 100.0 cm - ld hl, sTrainerRankingShortestMagikarp - ld a, $3 - ld [hli], a - ld [hl], $e8 - - call UpdateTrainerRankingsChecksum - ld hl, sTrainerRankings - ld de, sTrainerRankingsBackup - ld bc, sTrainerRankingsEnd - sTrainerRankings - call CopyBytes - ret -; 1061ef - - -_MobilePrintNum:: ; 1061ef -; Supports signed 31-bit integers (up to 10 digits) -; b: Bits 0-4 = # bytes -; Bit 7 = set if negative -; c: Number of digits -; de: highest byte of number to convert -; hl: where to print the converted string - push bc - xor a - ld [hPrintNum1], a - ld [hPrintNum2], a - ld [hPrintNum3], a - ld a, b - and $f - cp $1 - jr z, .one_byte - cp $2 - jr z, .two_bytes - cp $3 - jr z, .three_bytes -; four bytes - ld a, [de] - ld [hPrintNum1], a - inc de - -.three_bytes - ld a, [de] - ld [hPrintNum2], a - inc de - -.two_bytes - ld a, [de] - ld [hPrintNum3], a - inc de - -.one_byte - ld a, [de] - ld [hPrintNum4], a - inc de - - push de - xor a - ld [hPrintNum9], a - ld a, b - ld [hPrintNum10], a - ld a, c - cp 2 - jr z, .two_digits - ld de, ._2 - cp 3 - jr z, .three_to_nine_digits - ld de, ._3 - cp 4 - jr z, .three_to_nine_digits - ld de, ._4 - cp 5 - jr z, .three_to_nine_digits - ld de, ._5 - cp 6 - jr z, .three_to_nine_digits - ld de, ._6 - cp 7 - jr z, .three_to_nine_digits - ld de, ._7 - cp 8 - jr z, .three_to_nine_digits - ld de, ._8 - cp 9 - jr z, .three_to_nine_digits - ld de, ._9 - -.three_to_nine_digits - inc de - inc de - inc de - dec a - dec a - -.digit_loop - push af - call .Function1062b2 - call .Function1062ff -rept 4 - inc de -endr - pop af - dec a - jr nz, .digit_loop - -.two_digits - ld c, 0 - ld a, [hPrintNum4] -.mod_ten_loop - cp 10 - jr c, .simple_divide_done - sub 10 - inc c - jr .mod_ten_loop - -.simple_divide_done - ld b, a - ld a, [hPrintNum9] - or c - ld [hPrintNum9], a - jr nz, .create_digit - call .LoadMinusTenIfNegative - jr .done - -.create_digit - ld a, "0" - add c - ld [hl], a - -.done - call .Function1062ff - ld a, "0" - add b - ld [hli], a - pop de - pop bc - ret -; 106292 - -._9 dd 1000000000 -._8 dd 100000000 -._7 dd 10000000 -._6 dd 1000000 -._5 dd 100000 -._4 dd 10000 -._3 dd 1000 -._2 dd 100 -; 1062b2 - -.Function1062b2: ; 1062b2 - ld c, $0 -.asm_1062b4 - ld a, [de] - dec de - ld b, a - ld a, [hPrintNum4] - sub b - ld [hPrintNum8], a - ld a, [de] - dec de - ld b, a - ld a, [hPrintNum3] - sbc b - ld [hPrintNum7], a - ld a, [de] - dec de - ld b, a - ld a, [hPrintNum2] - sbc b - ld [hPrintNum6], a - ld a, [de] - inc de - inc de - inc de - ld b, a - ld a, [hPrintNum1] - sbc b - ld [hPrintNum5], a - jr c, .asm_1062eb - ld a, [hPrintNum5] - ld [hPrintNum1], a - ld a, [hPrintNum6] - ld [hPrintNum2], a - ld a, [hPrintNum7] - ld [hPrintNum3], a - ld a, [hPrintNum8] - ld [hPrintNum4], a - inc c - jr .asm_1062b4 - -.asm_1062eb - ld a, [hPrintNum9] - or c - jr z, .LoadMinusTenIfNegative - ld a, -10 - add c - ld [hl], a - ld [hPrintNum9], a - ret - -.LoadMinusTenIfNegative: - ld a, [hPrintNum10] - bit 7, a - ret z - - ld [hl], -10 - ret -; 1062ff - -.Function1062ff: ; 1062ff - ld a, [hPrintNum10] - bit 7, a - jr nz, .asm_10630d - bit 6, a - jr z, .asm_10630d - ld a, [hPrintNum9] - and a - ret z - -.asm_10630d - inc hl - ret -; 10630f - -; functions related to the cable club and various NPC scripts referencing mobile communications - -Mobile_DummyReturnFalse: ; 10630f - xor a - ld [ScriptVar], a - ret -; 106314 - -MobileFn_106314: mobile ; 106314 - ld a, $4 - call GetSRAMBank - ld a, c - cpl - ld [$b000], a - call CloseSRAM - ld a, $7 - call GetSRAMBank - ld a, c - ld [$a800], a - call CloseSRAM - ret -; 10632f - -Mobile_AlwaysReturnNotCarry: ; 10632f - or a - ret - -Function106331: ; 106331 - called by Mobile_DummyReturnFalse in Crystal-J - ; check ~[4:b000] == [7:a800] - ld a, $4 - call GetSRAMBank - ld a, [$b000] - cpl - ld b, a - call CloseSRAM - ld a, $7 - call GetSRAMBank - ld a, [$a800] - ld c, a - call CloseSRAM - ld a, c - cp b - jr nz, .nope - - ; check [7:a800] != 0 - and a - jr z, .nope - - ; check !([7:a800] & %01110000) - and %10001111 - cp c - jr nz, .nope - - ld c, a - scf - ret - -.nope - xor a - ld c, a - ret -; 10635c - -Function10635c: ; 10635c - ld a, [wMobileCommsJumptableIndex] - bit 7, a - ret nz - ld a, [wMobileCommsJumptableIndex] - ld hl, .Jumptable - rst JumpTable - ret -; 10636a - -.Jumptable: ; 10636a - dw .init - dw Function106392 - dw Function1063cc - dw Function1063d8 - dw Function1063e5 - dw Function1063f3 - dw Function106403 - dw Function106442 - dw Function106453 -; 10637c - -.init: ; 10637c - ld de, wcd30 - ld hl, $41 - ld bc, $41 - ld a, $40 - call Function3e32 - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 106392 - -Function106392: ; 106392 - xor a - ld [wcf64], a - ld a, [wc821] - bit 1, a - jr nz, .asm_1063a2 - bit 0, a - jr z, .asm_1063bf - ret - -.asm_1063a2 - call Mobile_AlwaysReturnNotCarry - ld a, c - and a - jr nz, .asm_1063b4 - ld a, $b - ld [wcf64], a - ld a, $7 - ld [wMobileCommsJumptableIndex], a - ret - -.asm_1063b4 - ld a, $7 - ld [wcf64], a - ld a, $7 - ld [wMobileCommsJumptableIndex], a - ret - -.asm_1063bf - ld a, $1 - ld [wcf64], a - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 1063cc - -Function1063cc: ; 1063cc - ld a, $78 - ld [wcd42], a - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - -Function1063d8: ; 1063d8 - ld hl, wcd42 - dec [hl] - ret nz - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 1063e5 - -Function1063e5: ; 1063e5 - ld a, [wcf64] - cp $3 - ret nz - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 1063f3 - -Function1063f3: ; 1063f3 - ld de, wcd31 - ld a, $32 - call Function3e32 - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 106403 - -Function106403: ; 106403 - ld a, [wc821] - bit 1, a - jr nz, .asm_106426 - bit 0, a - jr z, .asm_10640f - ret - -.asm_10640f - ld a, [wcd31] - and $80 - ld c, a - ld a, [wcd30] - or c - inc a - ld c, a - call MobileFn_106314 - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -.asm_106426 - call Mobile_AlwaysReturnNotCarry - ld a, c - and a - jr z, .asm_106435 - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -.asm_106435 - ld c, $0 - call MobileFn_106314 - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret -; 106442 - -Function106442: ; 106442 - ld a, $36 - call Function3e32 - xor a - ld [hMobile], a - ld [hMobileReceive], a - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - -Function106453: ; 106453 - ld a, [wMobileCommsJumptableIndex] - set 7, a - ld [wMobileCommsJumptableIndex], a - nop - ld a, $4 - ld [wcf64], a - ret -; 106462 - -MobileFunc_106462: mobile - ret -; 106464 - -Function106464:: ; 106464 - ld de, MobilePhoneTilesGFX - ld hl, VTiles2 tile $60 - lb bc, BANK(MobilePhoneTilesGFX), 1 - call Get2bpp - ld de, FontsExtra2_UpArrowGFX - ld hl, VTiles2 tile $61 - lb bc, BANK(FontsExtra2_UpArrowGFX), 1 - call Get2bpp - ld de, GFX_106514 - ld hl, VTiles2 tile $62 - ld c, 9 - ld b, BANK(GFX_106514) - call Get2bpp - ld de, $40b0 - ld hl, VTiles2 tile $6b - ld b, $f ; XXX no graphics at 0f:40b0 - call Get2bpp - callba LoadFrame - ret -; 10649b - -Function10649b: ; 10649b - ld a, [TextBoxFrame] - and $7 - ld bc, 3 tiles - ld hl, Frames - call AddNTimes - ld d, h - ld e, l - ld hl, VTiles2 tile $79 - ld c, 6 - ld b, BANK(Frames) - call Function1064c3 - ld hl, VTiles2 tile $7f - ld de, TextBoxSpaceGFX - ld c, 1 - ld b, BANK(TextBoxSpaceGFX) - call Function1064c3 - ret -; 1064c3 - -Function1064c3: ; 1064c3 - ld a, [rSVBK] - push af - ld a, $6 - ld [rSVBK], a - push bc - push hl - ld hl, Function3f88 - ld a, b - rst FarCall - pop hl - pop bc - pop af - ld [rSVBK], a - jr asm_1064ed - -Function1064d8: ; 1064d8 - ld a, [rSVBK] - push af - ld a, $6 - ld [rSVBK], a - push bc - push hl - ld hl, Function3f9f - ld a, b - rst FarCall - pop hl - pop bc - pop af - ld [rSVBK], a - jr asm_1064ed - -asm_1064ed - ld de, wDecompressScratch - ld b, $0 - ld a, [rSVBK] - push af - ld a, $6 - ld [rSVBK], a - ld a, [rVBK] - push af - ld a, $1 - ld [rVBK], a - call Get2bpp - pop af - ld [rVBK], a - pop af - ld [rSVBK], a - ret -; 10650a - -Function10650a: ; 10650a - ld de, MobilePhoneTilesGFX + $20 - lb bc, BANK(MobilePhoneTilesGFX), $11 - call Get2bpp - ret -; 106514 - -GFX_106514: -INCBIN "gfx/unknown/106514.2bpp" diff --git a/misc/mobile_42.asm b/misc/mobile_42.asm deleted file mode 100644 index b625d6bcf..000000000 --- a/misc/mobile_42.asm +++ /dev/null @@ -1,2009 +0,0 @@ -MobileTradeAnimation_SendGivemonToGTS: ; 108000 - ld a, $80 - ld [wcf65], a - ld de, .TradeAnimScript - jp RunMobileTradeAnim_NoFrontpics -; 10800b - -.TradeAnimScript: - mobiletradeanim_showgtsgivemon - mobiletradeanim_12 - mobiletradeanim_10 - mobiletradeanim_sendmon - mobiletradeanim_06 - mobiletradeanim_0f - mobiletradeanim_end - -MobileTradeAnimation_RetrieveGivemonFromGTS: - ld a, $80 - jr asm_108018 - -MobileTradeAnimation_ReceiveGetmonFromGTS: ; 108016 - ld a, $0 -asm_108018: - ld [wcf65], a - ld de, .TradeAnimScript - jp RunMobileTradeAnim_NoFrontpics -; 108021 - -.TradeAnimScript: - mobiletradeanim_11 - mobiletradeanim_07 - mobiletradeanim_receivemon - mobiletradeanim_showgtsgetmon - mobiletradeanim_end - -Function108026: ; 108026 - ld a, $0 - jr asm_10802c - -Function10802a: ; 10802a - ld a, $1 - -asm_10802c: - ld [wcf65], a - ld de, .TradeAnimScript - jp RunMobileTradeAnim_Frontpics -; 108035 - -.TradeAnimScript: ; trade - mobiletradeanim_showgivemon - mobiletradeanim_12 - mobiletradeanim_02 - mobiletradeanim_sendmon - mobiletradeanim_05 - mobiletradeanim_receivemon - mobiletradeanim_showgetmon - mobiletradeanim_end - -Function10803d: ; 10803d - ld a, $0 - ld [wcf65], a - ld de, .TradeAnimScript - jp RunMobileTradeAnim_NoFrontpics -; 108048 - -.TradeAnimScript: - mobiletradeanim_11 - mobiletradeanim_07 - mobiletradeanim_receivemon - mobiletradeanim_showoddegg - mobiletradeanim_end - -Function10804d: ; 10804d - ld a, $0 - ld [wcf65], a - ld de, .TradeAnimScript - jp RunMobileTradeAnim_NoFrontpics -; 108058 - -.TradeAnimScript: - mobiletradeanim_11 - mobiletradeanim_showgtsgetmon - mobiletradeanim_end - -RunMobileTradeAnim_Frontpics: ; 10805b - ld hl, wTradeAnimAddress - ld [hl], e - inc hl - ld [hl], d - ld a, [hMapAnims] - push af - xor a - ld [hMapAnims], a - ld hl, VramState - ld a, [hl] - push af - res 0, [hl] - ld hl, Options - ld a, [hl] - push af - set NO_TEXT_SCROLL, [hl] - call Function1080b7 -.loop - call MobileTradeAnim_JumptableLoop - jr nc, .loop - pop af - ld [Options], a - pop af - ld [VramState], a - pop af - ld [hMapAnims], a - ret -; 108089 - -RunMobileTradeAnim_NoFrontpics: ; 108089 - ld hl, wTradeAnimAddress - ld [hl], e - inc hl - ld [hl], d - ld a, [hMapAnims] - push af - xor a - ld [hMapAnims], a - ld hl, VramState - ld a, [hl] - push af - res 0, [hl] - ld hl, Options - ld a, [hl] - push af - set NO_TEXT_SCROLL, [hl] - call Function108157 -.loop - call MobileTradeAnim_JumptableLoop - jr nc, .loop - pop af - ld [Options], a - pop af - ld [VramState], a - pop af - ld [hMapAnims], a - ret -; 1080b7 - -Function1080b7: ; 1080b7 - xor a - ld [wJumptableIndex], a - call ClearBGPalettes - call ClearSprites - call ClearTileMap - call DisableLCD - call MobileTradeAnim_ClearVTiles - call MobileTradeAnim_ClearBGMap - call LoadStandardFont - call LoadFontsBattleExtra - - ld a, $1 - ld [rVBK], a - ld hl, LZ_108da7 - ld de, VTiles2 - call Decompress - - ld a, $0 - ld [rVBK], a - ld hl, LZ_108d27 - ld de, VTiles0 tile $20 - call Decompress - - call EnableLCD - - xor a - ld [hSCX], a - ld [hSCY], a - ld a, $7 - ld [hWX], a - ld a, $90 - ld [hWY], a - callba ClearSpriteAnims - - call DelayFrame - - ld de, TradeBallGFX - ld hl, VTiles0 - lb bc, BANK(TradeBallGFX), $06 - call Request2bpp - - ld de, TradePoofGFX - ld hl, VTiles0 tile $06 - lb bc, BANK(TradePoofGFX), $0c - call Request2bpp - - xor a - ld hl, wSpriteAnimDict - ld [hli], a - ld [hl], $0 - - ld a, [wPlayerTrademonSpecies] - ld hl, wPlayerTrademonDVs - ld de, VTiles0 tile $30 - call MobileTradeAnim_GetFrontpic - - ld a, [wOTTrademonSpecies] - ld hl, wOTTrademonDVs - ld de, VTiles2 tile $31 - call MobileTradeAnim_GetFrontpic - - ld a, [wPlayerTrademonSpecies] - ld de, wPlayerTrademonSpeciesName - call MobileTradeAnim_InitSpeciesName - - ld a, [wOTTrademonSpecies] - ld de, wOTTrademonSpeciesName - call MobileTradeAnim_InitSpeciesName - - xor a - call Function108b98 - call Function108af4 - ret -; 108157 - -Function108157: ; 108157 - xor a - ld [wJumptableIndex], a - call ClearBGPalettes - call ClearSprites - call ClearTileMap - call DisableLCD - call MobileTradeAnim_ClearVTiles - call MobileTradeAnim_ClearBGMap - call LoadStandardFont - call LoadFontsBattleExtra - call EnableLCD - xor a - ld [hSCX], a - ld [hSCY], a - ld a, $7 - ld [hWX], a - ld a, $90 - ld [hWY], a - callba ClearSpriteAnims - xor a - ld hl, wSpriteAnimDict - ld [hli], a - ld [hl], $0 - call DelayFrame - ld a, [wPlayerTrademonSpecies] - ld de, wPlayerTrademonSpeciesName - call MobileTradeAnim_InitSpeciesName - ld a, [wOTTrademonSpecies] - ld de, wOTTrademonSpeciesName - call MobileTradeAnim_InitSpeciesName - xor a - call Function108b98 - call Function108af4 - ret -; 1081ad - -MobileTradeAnim_ClearVTiles: ; 1081ad - ld a, $1 - ld [rVBK], a - ld hl, VTiles0 - ld bc, 3 * $80 tiles - xor a - call ByteFill - ld a, $0 - ld [rVBK], a - ld hl, VTiles0 - ld bc, 3 * $80 tiles - xor a - call ByteFill - ret -; 1081ca - -MobileTradeAnim_ClearBGMap: ; 1081ca - ld a, $1 - ld [rVBK], a - hlbgcoord 0, 0 - ld bc, 2 * BG_MAP_HEIGHT * BG_MAP_WIDTH - ld a, $0 - call ByteFill - ld a, $0 - ld [rVBK], a - hlbgcoord 0, 0 - ld bc, 2 * BG_MAP_HEIGHT * BG_MAP_WIDTH - ld a, $7f - call ByteFill - ret -; 1081e9 - -MobileTradeAnim_GetFrontpic: ; 1081e9 - push de - push af - predef GetUnownLetter - pop af - ld [CurPartySpecies], a - ld [CurSpecies], a - call GetBaseData - pop de - predef GetFrontpic - ret -; 108201 - -Function108201: ; 108201 - push de - push af - predef GetUnownLetter - pop af - ld [CurPartySpecies], a - ld [CurSpecies], a - call GetBaseData - pop de - predef FrontpicPredef - ret -; 108219 - -Function108219: ; 108219 - ld [CurPartySpecies], a - hlcoord 7, 2 - ld d, $0 - ld e, ANIM_MON_TRADE - predef AnimateFrontpic - ret -; 108229 - -Function108229: ; 108229 - ld [CurPartySpecies], a - hlcoord 7, 2 - ld d, $0 - ld e, ANIM_MON_TRADE - predef LoadMonAnimation - ret -; 108239 - -MobileTradeAnim_InitSpeciesName: ; 108239 - push de - ld [wd265], a - call GetPokemonName - ld hl, StringBuffer1 - pop de - ld bc, PKMN_NAME_LENGTH - call CopyBytes - ret -; 10824b - -MobileTradeAnim_JumptableLoop: ; 10824b - ld a, [wJumptableIndex] - bit 7, a - jr nz, .StopAnim - call .ExecuteMobileTradeAnimCommand - call DelayFrame - and a - ret - -.StopAnim: - xor a - ld [hSCX], a - ld [hSCY], a - ld a, $7 - ld [hWX], a - ld a, $90 - ld [hWY], a - call LoadStandardFont - call LoadFontsBattleExtra - callba MobileFunc_106462 - callba Function106464 - scf - ret -; 10827b - -.ExecuteMobileTradeAnimCommand: ; 10827b - ld a, [wJumptableIndex] - ld e, a - ld d, 0 - ld hl, .Jumptable - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp hl -; 10828a - -.Jumptable: ; 10828a - - dw GetMobileTradeAnimByte ; 00 - dw MobileTradeAnim_ShowPlayerMonToBeSent ; 01 - dw MobileTradeAnim_02 ; 02 - dw MobileTradeAnim_GiveTrademon1 ; 03 - dw MobileTradeAnim_GiveTrademon2 ; 04 - dw MobileTradeAnim_05 ; 05 - dw MobileTradeAnim_06 ; 06 - dw MobileTradeAnim_07 ; 07 - dw MobileTradeAnim_GetTrademon1 ; 08 - dw MobileTradeAnim_GetTrademon2 ; 09 - dw MobileTradeAnim_GetTrademon3 ; 0a - dw MobileTradeAnim_ShowOTMonFromTrade ; 0b - dw EndMobileTradeAnim ; 0c - dw MobileTradeAnim_ShowPlayerMonForGTS ; 0d - dw MobileTradeAnim_ShowOTMonFromGTS ; 0e - dw MobileTradeAnim_0f ; 0f - dw MobileTradeAnim_10 ; 10 - dw MobileTradeAnim_11 ; 11 - dw MobileTradeAnim_FadeToBlack ; 12 - dw MobileTradeAnim_GetOddEgg ; 13 get odd egg -; 1082b2 - -MobileTradeAnim_Next: ; 1082b2 - ld hl, wJumptableIndex - inc [hl] - ret -; 1082b7 - -GetMobileTradeAnimByte: ; 1082b7 - ld hl, wTradeAnimAddress - ld e, [hl] - inc hl - ld d, [hl] - ld a, [de] - ld [wJumptableIndex], a - inc de - ld [hl], d - dec hl - ld [hl], e - ret -; 1082c6 - -EndMobileTradeAnim: ; 1082c6 - ld hl, wJumptableIndex - set 7, [hl] - ret -; 1082cc - -WaitMobileTradeSpriteAnims: ; 1082cc -.loop - push bc - callba PlaySpriteAnimations - pop bc - call DelayFrame - dec c - jr nz, .loop - ret -; 1082db - -Function1082db: ; 1082db -.loop - callba PlaySpriteAnimations - callba SetUpPokeAnim - callba HDMATransferTileMapToWRAMBank3 - jr nc, .loop - ret -; 1082f0 - -Function1082f0: ; 1082f0 -.loop - call Function108b78 - call DelayFrame - dec c - jr nz, .loop - ret -; 1082fa - -Function1082fa: ; 1082fa -.loop - call Function108b78 - push hl - push bc - callba PlaySpriteAnimations - pop bc - pop hl - call DelayFrame - dec c - jr nz, .loop - ret -; 10830e - -MobileTradeAnim_ShowPlayerMonToBeSent: ; 10830e - ld de, MUSIC_EVOLUTION - call PlayMusic2 - ld a, $80 - ld [hSCX], a - xor a - ld [hSCY], a - ld a, $87 - ld [hWX], a - ld a, $50 - ld [hWY], a - call MobileTradeAnim_DisplayMonToBeSent - ld a, [wPlayerTrademonSpecies] - ld [CurPartySpecies], a - call Function10895e - ld a, [wPlayerTrademonDVs] - ld [TempMonDVs], a - ld a, [wPlayerTrademonDVs + 1] - ld [TempMonDVs + 1], a - ld b, SCGB_PLAYER_OR_MON_FRONTPIC_PALS - call GetSGBLayout - ld a, %11100100 ; 3,2,1,0 - call DmgToCgbBGPals - call WaitBGMap -.loop - ld a, [hWX] - cp $7 - jr z, .okay - sub $4 - ld [hWX], a - ld a, [hSCX] - sub $4 - ld [hSCX], a - call DelayFrame - jr .loop - -.okay - ld a, $7 - ld [hWX], a - xor a - ld [hSCX], a - ld a, [wPlayerTrademonSpecies] - call GetCryIndex - jr c, .skip_cry - ld e, c - ld d, b - call PlayCryHeader - -.skip_cry - ld c, 80 - call DelayFrames - call Function108bec - depixel 10, 11, 4, 0 - ld a, SPRITE_ANIM_INDEX_MOBILE_TRADE_SENT_BALL - call _InitSpriteAnimStruct - ld de, SFX_BALL_POOF - call PlaySFX - hlcoord 0, 0 - ld bc, 12 * SCREEN_WIDTH - ld a, " " - call ByteFill - ld c, 80 - call WaitMobileTradeSpriteAnims - call GetMobileTradeAnimByte - ret -; 10839b - -MobileTradeAnim_ShowOTMonFromTrade: ; 10839b - call ClearBGPalettes - call ClearSprites - call ClearTileMap - call DisableLCD - call MobileTradeAnim_ClearBGMap - ld a, [wOTTrademonSpecies] - ld [CurPartySpecies], a - ld hl, wOTTrademonDVs - ld de, VTiles2 - call Function108201 - call EnableLCD - callba DeinitializeAllSprites - xor a - ld [hSCX], a - ld [hSCY], a - ld a, $7 - ld [hWX], a - ld a, $90 - ld [hWY], a - depixel 10, 11, 4, 0 - ld a, SPRITE_ANIM_INDEX_MOBILE_TRADE_OT_BALL - call _InitSpriteAnimStruct - call Function108b45 - ld a, $1 - call Function108b98 - call Function108af4 - ld c, 48 - call WaitMobileTradeSpriteAnims - ld de, SFX_BALL_POOF - call PlaySFX - call MobileTradeAnim_DisplayReceivedMon - xor a - ld [hSCX], a - ld [hSCY], a - ld a, $7 - ld [hWX], a - ld a, $50 - ld [hWY], a - ld a, [wOTTrademonSpecies] - ld [CurPartySpecies], a - ld a, [wOTTrademonDVs] - ld [TempMonDVs], a - ld a, [wOTTrademonDVs + 1] - ld [TempMonDVs + 1], a - ld b, SCGB_PLAYER_OR_MON_FRONTPIC_PALS - call GetSGBLayout - ld a, %11100100 ; 3,2,1,0 - call DmgToCgbBGPals - call Function108963 - ld a, [wOTTrademonSpecies] - call Function108229 - call Function1082db - call Function108c16 - call GetMobileTradeAnimByte - ret -; 10842c - -MobileTradeAnim_ShowPlayerMonForGTS: ; 10842c - ld de, MUSIC_EVOLUTION - call PlayMusic2 - ld a, $80 - ld [hSCX], a - xor a - ld [hSCY], a - ld a, $87 - ld [hWX], a - ld a, $50 - ld [hWY], a - call MobileTradeAnim_DisplayMonToBeSent - ld a, [wPlayerTrademonSpecies] - ld [CurPartySpecies], a - ld hl, wPlayerTrademonDVs - call Function10898a - call DelayFrame - ld de, TradeBallGFX - ld hl, VTiles0 - lb bc, BANK(TradeBallGFX), $06 - call Request2bpp - ld de, TradePoofGFX - ld hl, VTiles0 tile $06 - lb bc, BANK(TradePoofGFX), $0c - call Request2bpp - ld a, [wPlayerTrademonDVs] - ld [TempMonDVs], a - ld a, [wPlayerTrademonDVs + 1] - ld [TempMonDVs + 1], a - ld b, SCGB_PLAYER_OR_MON_FRONTPIC_PALS - call GetSGBLayout - ld a, %11100100 ; 3,2,1,0 - call DmgToCgbBGPals - call WaitBGMap -.loop - ld a, [hWX] - cp $7 - jr z, .done - sub $4 - ld [hWX], a - ld a, [hSCX] - sub $4 - ld [hSCX], a - call DelayFrame - jr .loop - -.done - ld a, $7 - ld [hWX], a - xor a - ld [hSCX], a - ld a, [wPlayerTrademonSpecies] - call GetCryIndex - jr c, .skip_cry - ld e, c - ld d, b - call PlayCryHeader - -.skip_cry - ld c, 80 - call DelayFrames - call Function108c2b - depixel 10, 11, 4, 0 - ld a, SPRITE_ANIM_INDEX_MOBILE_TRADE_SENT_BALL - call _InitSpriteAnimStruct - ld de, SFX_BALL_POOF - call PlaySFX - hlcoord 0, 0 - ld bc, 12 * SCREEN_WIDTH - ld a, " " - call ByteFill - ld c, 80 - call WaitMobileTradeSpriteAnims - call GetMobileTradeAnimByte - ret -; 1084d7 - -MobileTradeAnim_ShowOTMonFromGTS: ; 1084d7 - call ClearBGPalettes - call ClearSprites - call ClearTileMap - call DisableLCD - call MobileTradeAnim_ClearBGMap - ld a, [wOTTrademonSpecies] - ld [CurPartySpecies], a - ld hl, wOTTrademonDVs - ld de, VTiles2 - call Function108201 - call EnableLCD - callba DeinitializeAllSprites - call DelayFrame - ld de, TradeBallGFX - ld hl, VTiles0 - lb bc, BANK(TradeBallGFX), $06 - call Request2bpp - ld de, TradePoofGFX - ld hl, VTiles0 tile $06 - lb bc, BANK(TradePoofGFX), $0c - call Request2bpp - xor a - ld [hSCX], a - ld [hSCY], a - ld a, $7 - ld [hWX], a - ld a, $90 - ld [hWY], a - depixel 10, 11, 4, 0 - ld a, SPRITE_ANIM_INDEX_MOBILE_TRADE_OT_BALL - call _InitSpriteAnimStruct - call Function108b45 - ld a, $1 - call Function108b98 - call Function108af4 - ld c, 48 - call WaitMobileTradeSpriteAnims - ld de, SFX_BALL_POOF - call PlaySFX - call MobileTradeAnim_DisplayReceivedMon - xor a - ld [hSCX], a - ld [hSCY], a - ld a, $7 - ld [hWX], a - ld a, $50 - ld [hWY], a - ld a, [wOTTrademonSpecies] - ld [CurPartySpecies], a - ld a, [wOTTrademonDVs] - ld [TempMonDVs], a - ld a, [wOTTrademonDVs + 1] - ld [TempMonDVs + 1], a - ld b, SCGB_PLAYER_OR_MON_FRONTPIC_PALS - call GetSGBLayout - ld a, %11100100 ; 3,2,1,0 - call DmgToCgbBGPals - ld a, [wOTTrademonSpecies] - ld hl, wOTTrademonDVs - call Function10898a - ld a, [wOTTrademonSpecies] - call Function108229 - call Function1082db - call Function108c40 - call GetMobileTradeAnimByte - ret -; 108589 - -MobileTradeAnim_GetOddEgg: ; 108589 - call ClearBGPalettes - call ClearSprites - call ClearTileMap - call DisableLCD - call MobileTradeAnim_ClearBGMap - ld a, [wOTTrademonSpecies] - ld [CurPartySpecies], a - ld hl, wOTTrademonDVs - ld de, VTiles2 - call Function108201 - call EnableLCD - callba DeinitializeAllSprites - call DelayFrame - ld de, TradeBallGFX - ld hl, VTiles0 - lb bc, BANK(TradeBallGFX), $06 - call Request2bpp - ld de, TradePoofGFX - ld hl, VTiles0 tile $06 - lb bc, BANK(TradePoofGFX), $0c - call Request2bpp - xor a - ld [hSCX], a - ld [hSCY], a - ld a, $7 - ld [hWX], a - ld a, $90 - ld [hWY], a - depixel 10, 11, 4, 0 - ld a, SPRITE_ANIM_INDEX_MOBILE_TRADE_OT_BALL - call _InitSpriteAnimStruct - call Function108b45 - ld a, $1 - call Function108b98 - call Function108af4 - ld c, 48 - call WaitMobileTradeSpriteAnims - ld de, SFX_BALL_POOF - call PlaySFX - call Function108a33 - xor a - ld [hSCX], a - ld [hSCY], a - ld a, $7 - ld [hWX], a - ld a, $50 - ld [hWY], a - ld a, [wOTTrademonSpecies] - ld [CurPartySpecies], a - ld a, [wOTTrademonDVs] - ld [TempMonDVs], a - ld a, [wOTTrademonDVs + 1] - ld [TempMonDVs + 1], a - ld b, SCGB_PLAYER_OR_MON_FRONTPIC_PALS - call GetSGBLayout - ld a, %11100100 ; 3,2,1,0 - call DmgToCgbBGPals - ld a, [wOTTrademonSpecies] - ld hl, wOTTrademonDVs - call Function10898a - ld a, [wOTTrademonSpecies] - call Function108229 - call Function1082db - call GetMobileTradeAnimByte - ret -; 108638 - -MobileTradeAnim_02: ; 108638 - callba DeinitializeAllSprites - call ClearBGPalettes - call ClearSprites - call ClearTileMap - xor a - ld [hBGMapMode], a - call DisableLCD - call MobileTradeAnim_ClearBGMap - call Function108c80 - call Function108c6d - call EnableLCD - ld a, $c - ld [hSCX], a - ld a, $78 - ld [hSCY], a - ld a, $7 - ld [hWX], a - ld a, $90 - ld [hWY], a - ld a, [rSVBK] - push af - ld a, $5 - ld [rSVBK], a - ld hl, Palette_109107 - ld de, UnknBGPals - ld bc, 8 palettes - call CopyBytes - pop af - ld [rSVBK], a - call Function108d07 - call Function108af4 - call GetMobileTradeAnimByte - ret -; 108689 - -MobileTradeAnim_10: ; 108689 - callba DeinitializeAllSprites - call ClearBGPalettes - call ClearSprites - call ClearTileMap - xor a - ld [hBGMapMode], a - call DisableLCD - call MobileTradeAnim_ClearBGMap - ld a, $1 - ld [rVBK], a - ld hl, LZ_108da7 - ld de, VTiles2 - call Decompress - ld a, $0 - ld [rVBK], a - ld hl, LZ_108d27 - ld de, VTiles0 tile $20 - call Decompress - call Function108c80 - call Function108c6d - call EnableLCD - ld a, $c - ld [hSCX], a - ld a, $78 - ld [hSCY], a - ld a, $7 - ld [hWX], a - ld a, $90 - ld [hWY], a - ld a, [rSVBK] - push af - ld a, $5 - ld [rSVBK], a - ld hl, Palette_109107 - ld de, UnknBGPals - ld bc, 8 palettes - call CopyBytes - pop af - ld [rSVBK], a - call Function108d07 - call Function108af4 - call GetMobileTradeAnimByte - ret -; 1086f4 - -MobileTradeAnim_11: ; 1086f4 - call ClearBGPalettes - call ClearSprites - call ClearTileMap - xor a - ld [hBGMapMode], a - call DisableLCD - ld a, $1 - ld [rVBK], a - ld hl, LZ_108da7 - ld de, VTiles2 - call Decompress - ld a, $0 - ld [rVBK], a - ld hl, LZ_108d27 - ld de, VTiles0 tile $20 - call Decompress - call Function108c80 - call Function108c6d - call EnableLCD - ld a, $80 - ld [hSCX], a - ld a, $90 - ld [hSCY], a - ld a, $7 - ld [hWX], a - ld a, $90 - ld [hWY], a - ld a, [rSVBK] - push af - ld a, $5 - ld [rSVBK], a - ld hl, Palette_109107 - ld de, UnknBGPals - ld bc, 8 palettes - call CopyBytes - pop af - ld [rSVBK], a - call Function108d07 - call Function108af4 - call Function108b5a - ld a, $e0 - ld [hSCX], a - ld de, MUSIC_EVOLUTION - call PlayMusic2 - call GetMobileTradeAnimByte - ret -; 108763 - -MobileTradeAnim_GiveTrademon1: ; 108763 - ld de, SFX_GIVE_TRADEMON - call PlaySFX - ld c, 40 - ld hl, BGPals + 6 palettes - call Function1082f0 - call Function108af4 -.loop - ld a, [hSCX] - cp $e0 - jr z, .loop2 - dec a - dec a - ld [hSCX], a - cp $f8 - jr nz, .next - depixel 10, 11, 4, 0 - ld a, SPRITE_ANIM_INDEX_MOBILE_22 - call _InitSpriteAnimStruct - -.next - ld c, 1 - call WaitMobileTradeSpriteAnims - jr .loop - -.loop2 - ld a, [hSCY] - cp $f8 - jr z, .done - dec a - dec a - ld [hSCY], a - cp $40 - jr z, .init - cp $30 - jr z, .delete - cp $68 - jr z, .replace - jr .next2 - -.init - depixel 10, 11, 4, 0 - ld a, SPRITE_ANIM_INDEX_MOBILE_22 - call _InitSpriteAnimStruct - xor a - call Function108ad4 - jr .next2 - -.delete - call MobileTradeAnim_DeleteSprites - jr .next2 - -.replace - call MobileTradeAnim_DeleteSprites - ld a, $1 - call Function108ad4 -.next2 - ld c, 1 - call WaitMobileTradeSpriteAnims - jr .loop2 - -.done - call MobileTradeAnim_Next - ret -; 1087cf - -MobileTradeAnim_GiveTrademon2: ; 1087cf - ld c, 40 - ld hl, BGPals + 1 palettes - call Function1082f0 - call Function108af4 - call Function108b5a - depixel 9, 10, 2, 0 - ld a, SPRITE_ANIM_INDEX_MOBILE_25 - call _InitSpriteAnimStruct - ld de, SFX_FORESIGHT - call PlaySFX - ld c, 10 - call WaitMobileTradeSpriteAnims - xor a - ld [wcf64], a - depixel 9, 10, 2, 0 - ld a, SPRITE_ANIM_INDEX_MOBILE_23 - call _InitSpriteAnimStruct -.loop - ld a, [hSCY] - cp $90 - jr z, .done - sub $8 - ld [hSCY], a - ld c, 1 - call WaitMobileTradeSpriteAnims - jr .loop - -.done - call GetMobileTradeAnimByte - ret -; 108811 - -MobileTradeAnim_05: ; 108811 - ld c, 40 - call WaitMobileTradeSpriteAnims - ld a, $1 - ld [wcf64], a - ld de, SFX_SHARPEN - call PlaySFX - ld c, 60 - call WaitMobileTradeSpriteAnims - depixel 30, 10, 2, 0 - ld a, SPRITE_ANIM_INDEX_MOBILE_24 - call _InitSpriteAnimStruct - call GetMobileTradeAnimByte - ld de, SFX_THROW_BALL - call PlaySFX - ret -; 108838 - -MobileTradeAnim_06: ; 108838 - ld c, 40 - call WaitMobileTradeSpriteAnims - ld a, $1 - ld [wcf64], a - ld de, SFX_SHARPEN - call PlaySFX - call GetMobileTradeAnimByte - ret -; 10884c - -MobileTradeAnim_07: ; 10884c - ld c, 80 - call DelayFrames - depixel 30, 10, 2, 0 - ld a, SPRITE_ANIM_INDEX_MOBILE_24 - call _InitSpriteAnimStruct - call GetMobileTradeAnimByte - ld de, SFX_THROW_BALL - call PlaySFX - ret -; 108863 - -MobileTradeAnim_GetTrademon1: ; 108863 - ld c, 40 - call WaitMobileTradeSpriteAnims -.loop - ld a, [hSCY] - cp $f8 - jr z, .done - add $8 - ld [hSCY], a - ld c, 1 - call WaitMobileTradeSpriteAnims - jr .loop - -.done - callba DeinitializeAllSprites - depixel 9, 10, 2, 0 - ld a, SPRITE_ANIM_INDEX_MOBILE_25 - call _InitSpriteAnimStruct - ld de, SFX_GLASS_TING_2 - call PlaySFX - call Function108af4 - call MobileTradeAnim_Next - ret -; 108894 - -MobileTradeAnim_GetTrademon2: ; 108894 - ld c, 20 - ld hl, BGPals + 1 palettes - call Function1082fa - ld de, SFX_GIVE_TRADEMON - call PlaySFX - ld c, 20 - ld hl, BGPals + 1 palettes - call Function1082fa - call Function108af4 -.asm_1088ad - ld a, [hSCY] - cp $78 - jr z, .asm_1088ee - inc a - inc a - ld [hSCY], a - cp $30 - jr z, .asm_1088c5 - cp $40 - jr z, .asm_1088dd - cp $68 - jr z, .asm_1088cf - jr .asm_1088e7 - -.asm_1088c5 - depixel 10, 11, 4, 0 - ld a, SPRITE_ANIM_INDEX_MOBILE_22 - call _InitSpriteAnimStruct - jr .asm_1088e7 - -.asm_1088cf - depixel 10, 11, 4, 0 - ld a, SPRITE_ANIM_INDEX_MOBILE_22 - call _InitSpriteAnimStruct - xor a - call Function108ad4 - jr .asm_1088e7 - -.asm_1088dd - call MobileTradeAnim_DeleteSprites - ld a, $1 - call Function108ad4 - jr .asm_1088e7 - -.asm_1088e7 - ld c, 1 - call WaitMobileTradeSpriteAnims - jr .asm_1088ad - -.asm_1088ee - ld a, [hSCX] - cp $c - jr z, .asm_108906 - inc a - inc a - ld [hSCX], a - cp -8 - jr nz, .asm_1088e7 - call MobileTradeAnim_DeleteSprites - ld c, 1 - call WaitMobileTradeSpriteAnims - jr .asm_1088ee - -.asm_108906 - call MobileTradeAnim_Next - ret -; 10890a - -MobileTradeAnim_GetTrademon3: ; 10890a - ld c, 40 - ld hl, BGPals + 6 palettes - call Function1082f0 - call Function108af4 - call GetMobileTradeAnimByte - ret -; 108919 - -MobileTradeAnim_0f: ; 108919 - ld c, 40 - call WaitMobileTradeSpriteAnims - callba DeinitializeAllSprites - call ClearBGPalettes - call ClearSprites - call ClearTileMap - call DisableLCD - call MobileTradeAnim_ClearVTiles - call MobileTradeAnim_ClearBGMap - call EnableLCD - call GetMobileTradeAnimByte - ret -; 10893d - -MobileTradeAnim_FadeToBlack: ; 10893d -.loop - ld a, [rBGP] - and a - jr z, .blank - sla a - sla a - call DmgToCgbBGPals - call DmgToCgbObjPal0 - ld c, 4 - call DelayFrames - jr .loop - -.blank - xor a - call DmgToCgbBGPals - call DmgToCgbObjPal0 - call GetMobileTradeAnimByte - ret -; 10895e - -Function10895e: ; 10895e - ld de, VTiles0 tile $30 - jr asm_108966 - -Function108963: - ld de, VTiles2 tile $31 -asm_108966 - call DelayFrame - ld hl, VTiles2 - lb bc, $a, $31 ; $a is the bank of ????? - call Request2bpp - call WaitTop - call MobileTradeAnim_ClearTilemap - hlcoord 7, 2 - xor a - ld [hGraphicStartTile], a - lb bc, 7, 7 - predef PlaceGraphic - call WaitBGMap - ret -; 10898a - -Function10898a: ; 10898a - ld de, VTiles2 - call MobileTradeAnim_GetFrontpic - call WaitTop - call MobileTradeAnim_ClearTilemap - hlcoord 7, 2 - xor a - ld [hGraphicStartTile], a - lb bc, 7, 7 - predef PlaceGraphic - call WaitBGMap - ret -; 1089a8 - -MobileTradeAnim_DisplayMonToBeSent: ; 1089a8 - ld de, wPlayerTrademonSpecies - ld a, [de] - cp EGG - jr z, MobileTradeAnim_DisplayEggData - call MobileTradeAnim_LoadMonTemplate - ld de, wPlayerTrademonSpecies - call MobileTradeAnim_MonDisplay_PrintSpeciesNumber - ld de, wPlayerTrademonSpeciesName - call MobileTradeAnim_MonDisplay_PrintSpeciesName - ld a, [wPlayerTrademonCaughtData] - ld de, wPlayerTrademonOTName - call MobileTradeAnim_MonDisplay_PrintOTNameAndGender - ld de, wPlayerTrademonID - call MobileTradeAnim_MonDisplay_PrintIDNumber - call MobileTradeAnim_MonDisplay_UpdateBGMap - ret - -MobileTradeAnim_DisplayReceivedMon: - ld de, wOTTrademonSpecies - ld a, [de] - cp EGG - jr z, MobileTradeAnim_DisplayEggData - call MobileTradeAnim_LoadMonTemplate - ld de, wOTTrademonSpecies - call MobileTradeAnim_MonDisplay_PrintSpeciesNumber - ld de, wOTTrademonSpeciesName - call MobileTradeAnim_MonDisplay_PrintSpeciesName - ld a, [wOTTrademonCaughtData] - ld de, wOTTrademonOTName - call MobileTradeAnim_MonDisplay_PrintOTNameAndGender - ld de, wOTTrademonID - call MobileTradeAnim_MonDisplay_PrintIDNumber - call MobileTradeAnim_MonDisplay_UpdateBGMap - ret - -MobileTradeAnim_DisplayEggData - call WaitTop - call MobileTradeAnim_ClearTilemap - ld a, VBGMap1 / $100 - ld [hBGMapAddress + 1], a - hlcoord 5, 0 - ld b, 6 - ld c, 9 - call TextBox - hlcoord 6, 2 - ld de, .EggTemplate - call PlaceString - call MobileTradeAnim_MonDisplay_UpdateBGMap - ret -; 108a1d - -.EggTemplate: ; 108a1d - db "タマゴ" - next "おや/?????" - next "?????" - db "@" -; 108a33 - -Function108a33: ; 108a33 - call WaitTop - call MobileTradeAnim_ClearTilemap - ld a, VBGMap1 / $100 - ld [hBGMapAddress + 1], a - hlcoord 5, 0 - ld b, 6 - ld c, 9 - call TextBox - hlcoord 7, 4 - ld de, .OddEgg - call PlaceString - call MobileTradeAnim_MonDisplay_UpdateBGMap - ret -; 108a54 - -.OddEgg: ; 108a54 - db "なぞのタマゴ@" -; 108a5b - -MobileTradeAnim_LoadMonTemplate: ; 108a5b - call WaitTop - call MobileTradeAnim_ClearTilemap - ld a, VBGMap1 / $100 - ld [hBGMapAddress + 1], a - hlcoord 4, 0 - ld b, 6 - ld c, 10 - call TextBox - hlcoord 5, 0 - ld de, .MonTemplate - call PlaceString - ret -; 108a79 - -.MonTemplate: ; 108a79 - db "─ №" - next "" - next "おや/" - next "" - db "@" -; 108a87 - -MobileTradeAnim_MonDisplay_UpdateBGMap: ; 108a87 - call WaitBGMap - call WaitTop - ld a, VBGMap0 / $100 - ld [hBGMapAddress + 1], a - ret -; 108a92 - -MobileTradeAnim_MonDisplay_PrintSpeciesNumber: ; 108a92 - hlcoord 9, 0 - lb bc, PRINTNUM_LEADINGZEROS | 1, 3 - call PrintNum - ret -; 108a9c - -MobileTradeAnim_MonDisplay_PrintSpeciesName: ; 108a9c - hlcoord 5, 2 - call PlaceString - ret -; 108aa3 - -MobileTradeAnim_MonDisplay_PrintOTNameAndGender: ; 108aa3 - cp $3 - jr c, .got_gender - xor a -.got_gender - push af - hlcoord 8, 4 - call PlaceString - inc bc - pop af - ld hl, .GenderChars - ld d, 0 - ld e, a - add hl, de - ld a, [hl] - ld [bc], a - ret -; 108abb - -.GenderChars: ; 108abb - db " " - db "♂" - db "♀" -; 108abe - -MobileTradeAnim_MonDisplay_PrintIDNumber: ; 108abe - hlcoord 8, 6 - lb bc, PRINTNUM_LEADINGZEROS | 2, 5 - call PrintNum - ret -; 108ac8 - -MobileTradeAnim_ClearTilemap: ; 108ac8 - hlcoord 0, 0 - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT - ld a, " " - call ByteFill - ret -; 108ad4 - -Function108ad4: ; 108ad4 - and a - jr z, .asm_108adc - ld de, GFX_1092c7 - jr .asm_108adf - -.asm_108adc - ld de, GFX_1091c7 -.asm_108adf - ld a, $1 - ld [rVBK], a - ld hl, VTiles2 tile $4a - lb bc, BANK(GFX_1092c7), 16 - call Get2bpp_2 - call DelayFrame - ld a, $0 - ld [rVBK], a - ret -; 108af4 - -Function108af4: ; 108af4 - ld a, [rSVBK] - push af - ld a, $5 - ld [rSVBK], a - ld a, [wcf65] - and $1 - jr z, .copy_palette_109147 - ld hl, Palette_109187 - ld de, UnknOBPals - ld bc, 8 palettes - call CopyBytes - ld hl, Palette_109187 - ld de, OBPals - ld bc, 8 palettes - call CopyBytes - jr .done_copy - -.copy_palette_109147 - ld hl, Palette_109147 - ld de, UnknOBPals - ld bc, 8 palettes - call CopyBytes - ld hl, Palette_109147 - ld de, OBPals - ld bc, 8 palettes - call CopyBytes - -.done_copy - pop af - ld [rSVBK], a - ld a, %11100100 ; 3,2,1,0 - call DmgToCgbObjPal0 - ld a, %11100100 ; 3,2,1,0 - call DmgToCgbBGPals - call DelayFrame - ret -; 108b45 - -Function108b45: ; 108b45 - ld a, [rSVBK] - push af - ld a, $5 - ld [rSVBK], a - ld de, (31 << 10) + (31 << 5) + 31 ; $7fff - ld hl, UnknBGPals - ld a, e - ld [hli], a - ld d, a - ld [hli], a - pop af - ld [rSVBK], a - ret -; 108b5a - -Function108b5a: ; 108b5a - ld a, [rSVBK] - push af - ld a, $5 - ld [rSVBK], a - ld de, (15 << 10) + (31 << 5) + 18 ; $3ff2 - ld hl, BGPals + 4 palettes - ld c, $10 -.loop - ld a, e - ld [hli], a - ld a, d - ld [hli], a - dec c - jr nz, .loop - pop af - ld [rSVBK], a - ld a, $1 - ld [hCGBPalUpdate], a - ret -; 108b78 - -Function108b78: ; 108b78 - ld a, [rSVBK] - push af - ld a, $5 - ld [rSVBK], a - ld a, c - and $2 - jr z, .Orange - ld de, (31 << 10) + (31 << 5) + 31 ; $7fff - jr .load_pal - -.Orange: - ld de, ( 1 << 10) + (15 << 5) + 31 ; $05ff -.load_pal - ld a, e - ld [hli], a - ld a, d - ld [hld], a - pop af - ld [rSVBK], a - ld a, $1 - ld [hCGBPalUpdate], a - ret -; 108b98 - -Palette_108b98: -; removed - -Function108b98: ; 108b98 - ld d, a - ld a, [rSVBK] - push af - ld a, $5 - ld [rSVBK], a - ld a, [wcf65] - and $1 - xor d - jr z, .asm_108bad - ld hl, Palette_108b98 + 1 palettes - jr .asm_108bb0 - -.asm_108bad - ld hl, Palette_108b98 -.asm_108bb0 - ld de, UnknBGPals + 7 palettes - ld bc, 8 palettes - call CopyBytes - pop af - ld [rSVBK], a - ret -; 108bbd - -MobileTradeAnim_DeleteSprites: ; 108bbd - callba DeinitializeAllSprites - call ClearSprites - ret -; 108bc7 - -Function108bc7: ; 108bc7 (42:4bc7) - ld a, [wcf64] - and a - ret z - ld hl, SPRITEANIMSTRUCT_YCOORD - add hl, bc - ld a, [hl] - cp -1 * 8 - 6 - jr z, .delete - sub 1 * 8 - ld [hl], a - ret - -.delete - callba DeinitializeSprite - ret - -Function108be0: ; 108be0 (42:4be0) - ld hl, SPRITEANIMSTRUCT_YCOORD - add hl, bc - ld a, [hl] - cp 9 * 8 + 2 - ret z - add 1 * 8 - ld [hl], a - ret -; 108bec (42:4bec) - -Function108bec: ; 108bec - ld a, $90 - ld [hWY], a - ld hl, .PlayerWillTradeMon - call PrintText - ld c, 80 - call DelayFrames - ld hl, .ForPartnersMon - call PrintText - ld c, 80 - call DelayFrames - ret -; 108c07 - -.PlayerWillTradeMon: ; 0x108c07 - text_jump UnknownText_0x1bc787 - db "@" -; 0x108c0c - -.ForPartnersMon: ; 0x108c0c - text_jump UnknownText_0x1bc79d - db "@" -; 0x108c11 - -.UnusedTextPlayersMonTrade: ; 0x108c11 - text_jump UnknownText_0x1bc7b0 - db "@" -; 0x108c16 - -Function108c16: ; 108c16 - ld a, $90 - ld [hWY], a - ld hl, .TakeGoodCareOfMon - call PrintText - ld c, 80 - call DelayFrames - ret -; 108c26 - -.TakeGoodCareOfMon: ; 0x108c26 - text_jump UnknownText_0x1bc7c3 - db "@" -; 0x108c2b - -Function108c2b: ; 108c2b - ld a, $90 - ld [hWY], a - ld hl, .PlayersMonTrade - call PrintText - ld c, 80 - call DelayFrames - ret -; 108c3b - -.PlayersMonTrade: ; 0x108c3b - text_jump UnknownText_0x1bc7dd - db "@" -; 0x108c40 - -Function108c40: ; 108c40 - ld a, $90 - ld [hWY], a - ld a, [wcf65] - and %10000000 - jr z, .Getmon - ld hl, .CameBack - call PrintText - ld c, 80 - call DelayFrames - ret - -.Getmon: - ld hl, .TakeGoodCareOf - call PrintText - ld c, 80 - call DelayFrames - ret -; 108c63 - -.TakeGoodCareOf: ; 0x108c63 - text_jump UnknownText_0x1bc7f0 - db "@" -; 0x108c68 - -.CameBack: ; 0x108c68 - text_jump UnknownText_0x1bc80a - db "@" -; 0x108c6d - -Function108c6d: ; 108c6d - ld hl, LZ_108fe7 - debgcoord 0, 0 - call Decompress - ld hl, LZ_108fe7 - debgcoord 0, 0, VBGMap1 - call Decompress - ret -; 108c80 - -Function108c80: ; 108c80 - ld a, $1 - ld [rVBK], a - ld hl, LZ_1090a7 - debgcoord 0, 0 - call Decompress - ld hl, LZ_1090a7 - debgcoord 0, 0, VBGMap1 - call Decompress - ld a, $0 - ld [rVBK], a - ret -; 108c9b - -DebugMobileTrade: ; 108c9b -; localization error: NAME_LENGTH (11) should be 6 here - - ld hl, .DebugTradeData - ld a, [hli] - ld [wPlayerTrademonSpecies], a - - ld de, wPlayerTrademonSenderName - ld c, NAME_LENGTH -.your_name_loop - ld a, [hli] - ld [de], a - inc de - dec c - jr nz, .your_name_loop - - ld de, wPlayerTrademonID - ld c, 2 -.your_id_loop - ld a, [hli] - ld [de], a - inc de - dec c - jr nz, .your_id_loop - - ld de, wPlayerTrademonOTName - ld c, NAME_LENGTH -.your_ot_loop - ld a, [hli] - ld [de], a - inc de - dec c - jr nz, .your_ot_loop - - ld a, [hli] - ld [wOTTrademonSpecies], a - - ld de, wOTTrademonSenderName - ld c, NAME_LENGTH -.their_name_loop - ld a, [hli] - ld [de], a - inc de - dec c - jr nz, .their_name_loop - - ld de, wOTTrademonID - ld c, 2 -.their_id_loop - ld a, [hli] - ld [de], a - inc de - dec c - jr nz, .their_id_loop - - ld de, wOTTrademonOTName - ld c, NAME_LENGTH -.their_ot_loop - ld a, [hli] - ld [de], a - inc de - dec c - jr nz, .their_ot_loop - - ret -; 108ce9 - -.DebugTradeData: - db VENUSAUR - db "ゲーフり@@" - dw $0123 - db "かびーん@@" - db CHARIZARD - db "クりーチャ@" - dw $0456 - db "マツミヤ@@" -; 108d07 - -Function108d07: ; 108d07 - ld a, [wc74e] - and $7f - cp $8 - jr c, .asm_108d12 - ld a, $7 - -.asm_108d12 - ld bc, 1 palettes - ld hl, Palette_1093c7 - call AddNTimes - ld a, $5 - ld de, UnknBGPals + 4 palettes - ld bc, 1 palettes - call FarCopyWRAM - ret -; 108d27 - -LZ_108d27: -INCBIN "gfx/unknown/108d27.2bpp.lz" - -LZ_108da7: -INCBIN "gfx/unknown/108da7.2bpp.lz" - -LZ_108fe7: -INCBIN "gfx/unknown/108fe7.tilemap.lz" - -LZ_1090a7: -INCBIN "gfx/unknown/1090a7.tilemap.lz" - -Palette_1090f7: -; unreferenced - RGB 31, 31, 31 - RGB 0, 0, 0 - - RGB 31, 0, 25 - RGB 0, 0, 0 - - RGB 31, 31, 31 - RGB 0, 0, 0 - - RGB 9, 19, 31 - RGB 0, 0, 0 - -Palette_109107: - RGB 18, 31, 15 - RGB 20, 20, 20 - RGB 11, 11, 11 - RGB 0, 0, 0 - - RGB 31, 15, 1 - RGB 14, 14, 31 - RGB 12, 9, 31 - RGB 0, 0, 0 - - RGB 18, 31, 15 - RGB 14, 14, 31 - RGB 12, 9, 31 - RGB 0, 0, 0 - - RGB 18, 31, 15 - RGB 20, 20, 20 - RGB 11, 11, 11 - RGB 0, 0, 0 - - RGB 18, 31, 15 - RGB 31, 7, 9 - RGB 18, 0, 1 - RGB 0, 0, 0 - - RGB 18, 31, 15 - RGB 20, 20, 20 - RGB 11, 11, 11 - RGB 0, 0, 0 - - RGB 31, 15, 1 - RGB 18, 0, 30 - RGB 9, 0, 17 - RGB 0, 0, 0 - - RGB 18, 31, 15 - RGB 18, 0, 30 - RGB 9, 0, 17 - RGB 0, 0, 0 - -Palette_109147: - RGB 31, 31, 31 - RGB 31, 31, 12 - RGB 31, 13, 12 - RGB 0, 0, 0 - - RGB 31, 31, 31 - RGB 31, 23, 15 - RGB 31, 18, 7 - RGB 31, 15, 0 - - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 11, 11, 11 - RGB 0, 0, 0 - - RGB 31, 31, 31 - RGB 31, 0, 25 - RGB 31, 0, 25 - RGB 0, 0, 0 - - RGB 31, 31, 31 - RGB 9, 19, 31 - RGB 9, 19, 31 - RGB 0, 0, 0 - - RGB 31, 31, 31 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - - RGB 31, 31, 31 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - - RGB 31, 31, 31 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - -Palette_109187: - RGB 31, 31, 31 - RGB 31, 31, 12 - RGB 31, 13, 12 - RGB 0, 0, 0 - - RGB 31, 31, 31 - RGB 31, 23, 15 - RGB 31, 18, 7 - RGB 31, 15, 0 - - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 11, 11, 11 - RGB 0, 0, 0 - - RGB 31, 31, 31 - RGB 9, 19, 31 - RGB 9, 19, 31 - RGB 0, 0, 0 - - RGB 31, 31, 31 - RGB 31, 0, 25 - RGB 31, 0, 25 - RGB 0, 0, 0 - - RGB 31, 31, 31 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - - RGB 31, 31, 31 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - - RGB 31, 31, 31 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - -GFX_1091c7: -INCBIN "gfx/unknown/1091c7.2bpp" -GFX_1092c7: -INCBIN "gfx/unknown/1092c7.2bpp" - -Palette_1093c7: - RGB 18, 31, 15 - RGB 4, 13, 31 - RGB 0, 0, 31 - RGB 0, 0, 0 - - RGB 18, 31, 15 - RGB 31, 31, 0 - RGB 31, 15, 0 - RGB 0, 0, 0 - - RGB 18, 31, 15 - RGB 9, 24, 0 - RGB 2, 16, 0 - RGB 0, 0, 0 - - RGB 18, 31, 15 - RGB 31, 7, 9 - RGB 18, 0, 1 - RGB 0, 0, 0 - - RGB 18, 31, 15 - RGB 28, 5, 31 - RGB 17, 0, 17 - RGB 0, 0, 0 - - RGB 18, 31, 15 - RGB 9, 9, 9 - RGB 4, 4, 4 - RGB 0, 0, 0 - - RGB 18, 31, 15 - RGB 31, 13, 21 - RGB 27, 7, 12 - RGB 0, 0, 0 - - RGB 18, 31, 15 - RGB 21, 20, 20 - RGB 14, 14, 31 - RGB 0, 0, 0 diff --git a/misc/mobile_45.asm b/misc/mobile_45.asm deleted file mode 100644 index d6743acc2..000000000 --- a/misc/mobile_45.asm +++ /dev/null @@ -1,7690 +0,0 @@ - -SECTION "bank45", ROMX - - charmap " ", $20 ; revert to ascii - -String_114000: - db "---", 0 -String_114004: - db "CGB-AAAA-00", 0, 0 - -Unknown_114011: ; 114011 - dw String_114033 - dw String_11403a - dw String_114043 - dw String_11404e - dw String_114053 - dw String_114058 - dw String_114062 - dw String_114074 - dw String_11408d - dw String_11409f - dw String_1140b8 - dw String_1140e6 - dw String_114110 - dw String_11413f - dw String_114160 - dw String_114160 - dw String_114163 - -String_114033: ; 114033 - db "From: ", 0 -String_11403a: ; 11403a - db "Sender: ", 0 -String_114043: ; 114043 - db "Reply-To: ", 0 -String_11404e: ; 11404e - db "To: ", 0 -String_114053: ; 114053 - db "Cc: ", 0 -String_114058: ; 114058 - db "Subject: ", 0 -String_114062: ; 114062 - db "MIME-Version: 1.0", 0 -String_114074: ; 114074 - db "X-Game-title: XXXXXXXXXX", 0 -String_11408d: ; 11408d - db "X-Game-code: CGB-", 0 -String_11409f: ; 11409f - db "X-GBmail-type: exclusive", 0 -String_1140b8: ; 1140b8 - db "Content-Type: text/plain; charset=iso-2022-jp", 0 -String_1140e6: ; 1140e6 - db "Content-Type: multipart/mixed; boundary=\"", 0 -String_114110: ; 114110 - db "Content-Type: Application/Octet-Stream; name=\"", 0 -String_11413f: ; 11413f - db "Content-Transfer-Encoding:Base64", 0 -String_114160: ; 114160 - db "--", 0 -String_114163: ; 114163 - db ".", 0 -; 114165 - -Jumptable_114165: ; 114165 - dw Function114268 - dw Function114269 - dw Function11433c - dw Function1143b7 - dw Function1144d1 - dw Function114b55 - dw Function114bbc - dw Function114cd9 - dw Function114e62 - dw Function1152b8 - dw Function1154d4 - dw Function1156cc - dw Function1159fb -; 11417f - -Unknown_11417f: ; 11417f - dw .From - dw .Sender - dw .ReplyTo - dw .To - dw .CC - dw .Subject - dw .Date - dw .ContentType - dw .MimeVersion - dw .XMailer - dw .XGameTitle - dw .XGameCode - dw .XGBMailType - -.From: ; 114199 - db "FROM:", 0 -.Sender: ; 11419f - db "SENDER:", 0 -.ReplyTo: ; 1141a7 - db "REPLY-TO:", 0 -.To: ; 1141b1 - db "TO:", 0 -.CC: ; 1141b5 - db "CC:", 0 -.Subject: ; 1141b9 - db "SUBJECT:", 0 -.Date: ; 1141c2 - db "DATE:", 0 -.ContentType: ; 1141c8 - db "CONTENT-TYPE:", 0 -.MimeVersion: ; 1141d6 - db "MIME-VERSION:", 0 -.XMailer: ; 1141e4 - db "X-MAILER:", 0 -.XGameTitle: ; 1141ee - db "X-GAME-TITLE:", 0 -.XGameCode: ; 1141fc - db "X-GAME-CODE:", 0 -.XGBMailType: ; 114209 - db "X-GBMAIL-TYPE:", 0 -; 114218 - -String_114218: ; 114218 - db "NAME=", 0 -String_11421e: ; 11421e - db "MULTIPART", 0 -String_114228: ; 114228 - db "BOUNDARY=", 0 -String_114232: ; 114232 - db "=?ISO-2022-JP?B?", 0 -; 114243 - -Function114243:: ; 114243 - ld a, SRAM_ENABLE - ld [MBC3SRamEnable], a - ld a, [hFF8C] - push af ; if [$dc02] == 0, this is popped to pc. - push de - ld a, [$dc02] - add a - ld e, a - ld d, 0 - ld hl, Jumptable_114165 - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - pop de - jp hl - -; 11425c - -Function11425c: ; 11425c - ld [$dc02], a - pop af - ld [hFF8C], a - ld [hFF8C], a - ld [MBC3SRamBank], a - ret - -; 114268 - -Function114268: mobile - -; 114269 - -Function114269: ; 114269 - ld h, d - ld l, e - xor a - ld [$dc02], a - ld [$dc03], a - ld a, [hli] - ld [$dc00], a - ld [hFF8C], a - ld [MBC3SRamBank], a - ld e, [hl] - inc hl - ld d, [hl] - inc hl - ld c, [hl] - inc hl - ld b, [hl] -.asm_114282 - ld a, [de] - and a - jr z, .asm_1142a4 - ld h, a - ld a, [$dc03] - and a - jr nz, .asm_114292 - ld a, h - cp $80 - jr nc, .asm_1142ae - -.asm_114292 - ld a, h - cp $d - jr z, .asm_1142bb - xor a - ld [$dc02], a -.asm_11429b - inc e - call z, Function114333 - dec bc - ld a, b - or c - jr nz, .asm_114282 - -.asm_1142a4 - ld a, [$dc03] - and a - jr nz, .asm_114303 - ld b, $80 - jr .asm_1142b0 - -.asm_1142ae - ld b, $81 - -.asm_1142b0 - ld a, [$dc00] - ld c, a - ld a, $1 - ld h, d - ld l, e - jp Function11425c - -.asm_1142bb - and a - jr z, .asm_1142a4 - inc e - call z, Function114333 - dec bc - ld a, b - or c - jr z, .asm_1142a4 - ld a, [de] - ld h, a - ld a, [$dc03] - and a - jr nz, .asm_1142d4 - ld a, h - cp $80 - jr nc, .asm_1142ae - -.asm_1142d4 - ld a, h - cp $a - jr nz, .asm_1142ae - ld a, [$dc03] - and a - jr nz, .asm_11430d - ld a, [$dc02] - and a - jr nz, .asm_114309 - ld a, $1 - ld [$dc02], a - inc e - call z, Function114333 - dec bc - ld a, b - or c - jr z, .asm_1142a4 - ld a, [de] - cp $20 - jr z, .asm_11429b - cp $9 - jr z, .asm_11429b - jr .asm_114282 - -.asm_1142fe - xor a - ld b, a - jp Function11425c - -.asm_114303 - xor a - ld b, $1 - jp Function11425c - -.asm_114309 - xor a - ld [$dc02], a - -.asm_11430d - ld a, [$dc02] - and a - jr nz, .asm_1142fe - ld a, $1 - ld [$dc03], a - inc e - call z, Function114333 - dec bc - ld a, b - or c - jr z, .asm_1142a4 - ld a, [de] - and a - jp z, .asm_1142a4 - cp $2e - jp nz, .asm_114282 - ld a, $1 - ld [$dc02], a - jp .asm_11429b - -; 114333 - -Function114333: ; 114333 - push bc - ld bc, $dc00 - call Function115d80 - pop bc - ret - -; 11433c - -Function11433c: ; 11433c - push de - ld h, d - ld l, e - ld c, [hl] - inc hl - ld e, [hl] - inc hl - ld d, [hl] - ld b, $b - call Function1143f3 - cp $2 - jr z, .asm_114358 - and a - jr z, .asm_114360 - pop hl -.asm_114351 - xor a - ld b, $3 - jp Function11425c - -.asm_114357 - pop hl - -.asm_114358 - pop hl - ld a, $1 - ld b, $82 - jp Function11425c - -.asm_114360 - ld a, h - ld [$dc03], a - pop hl - push bc - push de - ld c, [hl] - inc hl - ld e, [hl] - inc hl - ld d, [hl] - inc hl - ld b, $c - call Function1143f3 - cp $2 - jr z, .asm_114357 - and a - jr z, .asm_114381 - xor a - ld b, $2 - pop hl - pop hl - jp Function11425c - -.asm_114381 - pop de - pop bc - ld a, [$dc03] - ld [$dc00], a - ld [hFF8C], a - ld [MBC3SRamBank], a - call Function114c0b - ld hl, String_114004 -.asm_114394 - ld de, $dc24 -.asm_114397 - ld a, [hli] - and a - jr z, .asm_1143ad - ld b, a - ld a, [de] - inc de - cp b - jr z, .asm_114397 -.asm_1143a1 - ld a, [hli] - and a - jr nz, .asm_1143a1 - ld a, [hl] - and a - jr nz, .asm_114394 - ld b, a - jp Function11425c - -.asm_1143ad - ld a, [de] - and a - jr nz, .asm_114351 - xor a - ld b, $1 - jp Function11425c - -; 1143b7 - -Function1143b7: ; 1143b7 - ld a, [de] - ld b, a - inc de - ld a, [de] - ld c, a - inc de - ld a, [de] - ld h, a - inc de - ld a, [de] - inc de - push de - ld d, a - ld e, h - call Function1143f3 - cp $2 - jr z, .asm_1143eb - and a - jr nz, .asm_1143ed - ld a, h - pop hl - push af - ld a, [hli] - ld [wCurrentMapSignpostCount], a - ld [hFF8C], a - ld [MBC3SRamBank], a - ld a, [hli] - ld h, [hl] - ld l, a - pop af - ld [hli], a - ld a, e - ld [hli], a - ld a, d - ld [hli], a - ld a, c - ld [hli], a - ld [hl], b - xor a - jp Function11425c - -.asm_1143eb - ld b, $82 - -.asm_1143ed - ld a, $1 - pop hl - jp Function11425c - -; 1143f3 - -Function1143f3: ; 1143f3 - call Function114412 - and a - jr nz, .asm_11440d - ld a, $4 - cp b - jr c, .asm_114407 - jr z, .asm_114402 -.asm_114400 - xor a - ret - -.asm_114402 - ld a, $0 - cp c - jr nc, .asm_114400 - -.asm_114407 - lb bc, $4, $0 - ld a, $2 - ret - -.asm_11440d - ld a, $1 - ld b, $84 - ret - -; 114412 - -Function114412: ; 114412 - ld a, c - ld [$dc00], a - ld [hFF8C], a - ld [MBC3SRamBank], a - ld hl, Unknown_11417f - ld a, b - add a - ld c, a - ld b, $0 - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - ld c, $0 - jr .asm_11444a - -.asm_11442b - ld a, [de] - and a - jp z, .asm_1144c2 - inc e - call z, Function1144c8 - cp $d ; CR - jr nz, .asm_11442b - ld a, [de] - inc e - call z, Function1144c8 - cp $a ; NL - jr nz, .asm_11442b - ld a, [de] - cp $2e ; . - jr z, .asm_1144ae - cp $d ; CR - jr z, .asm_1144b8 - -.asm_11444a - ld a, [$dc00] - ld [$dc02], a - ld a, [de] - and a - jr z, .asm_1144c2 - inc e - call z, Function1144c8 - cp $61 ; "a" - jr c, .asm_114462 - cp $7b ; "z" + 1 - jr nc, .asm_114462 - sub $20 - -.asm_114462 - ld b, a - ld a, [hl] - and a - jr z, .asm_114476 - cp b - jr nz, .asm_11446e - inc c - inc hl - jr .asm_11444a - -.asm_11446e - ld a, c - and a - jr z, .asm_11442b - dec c - dec hl - jr .asm_11446e - -.asm_114476 - ld a, $20 ; " " - cp b - jr z, .asm_114481 - ld a, $a ; NL - cp b - jr z, .asm_114481 - dec de - -.asm_114481 - ld h, d - ld l, e - ld bc, NULL -.asm_114486 - ld a, [de] - and a - jr z, .asm_1144c2 - inc bc - inc e - call z, Function1144c8 - cp $d ; CR - jr nz, .asm_114486 - ld a, [de] - inc bc - inc e - call z, Function1144c8 - cp $a ; NL - jr nz, .asm_114486 - ld a, [de] - cp $20 ; " " - jr z, .asm_114486 - cp $9 ; TAB - jr z, .asm_114486 - ld d, h - ld e, l - ld a, [$dc02] - ld h, a - xor a - ret - -.asm_1144ae - inc e - call z, Function1144c8 - ld a, [de] - cp $d ; CR - jp nz, .asm_11442b - -.asm_1144b8 - inc e - call z, Function1144c8 - ld a, [de] - cp $a ; NL - jp nz, .asm_11442b - -.asm_1144c2 - ld a, $0 - ld [hl], a - ld a, $1 - ret - -; 1144c8 - -Function1144c8: ; 1144c8 - push bc - ld bc, $dc00 - call Function115d80 - pop bc - ret - -; 1144d1 - -Function1144d1: ; 1144d1 - call Function114561 - dec de - dec de - push de - inc de - inc de - inc de - inc hl - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc hl - ld a, [de] - ld [hld], a - dec de - ld a, [de] - ld [hl], a - xor a - ld [BigDoll], a - ld [$dc17], a - ld a, $2 - ld [$dc0e], a - ld hl, $dc03 - ld c, [hl] - inc hl - ld e, [hl] - inc hl - ld d, [hl] - call Function114576 - cp $2 - jr z, .asm_11455b - and a - jr z, .asm_114511 - ld a, $1 - ld [$dc0d], a - call Function1146fa - and a - jr nz, .asm_11455b - jr .asm_11451c - -.asm_114511 - call Function1146a4 - and a - jr nz, .asm_11455b - ld a, $2 - ld [$dc0d], a - -.asm_11451c - pop hl - ld a, [hli] - ld [wCurrentMapSignpostCount], a - ld [hFF8C], a - ld [MBC3SRamBank], a - ld e, [hl] - inc hl - ld d, [hl] - ld a, [$dc0d] - ld [de], a - ld b, $0 - ld a, [BigDoll] - and a - jr z, .asm_114537 - ld b, $1 - -.asm_114537 - ld hl, $dc06 - ld a, [hl] - ld [wCurrentMapSignpostCount], a - ld [hFF8C], a - ld [MBC3SRamBank], a - ld hl, $dc09 - ld e, [hl] - inc hl - ld d, [hl] - dec de - ld a, d - or e - jr z, .asm_114559 - ld hl, wCurrMapTriggerCount - ld e, [hl] - inc hl - ld d, [hl] - xor a - ld [de], a - jp Function11425c - -.asm_114559 - ld b, $83 - -.asm_11455b - pop hl - ld a, $1 - jp Function11425c - -; 114561 - -Function114561: ; 114561 - ld hl, $dc03 - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hl], a - ret - -; 114576 - -Function114576: ; 114576 - xor a - ld [Bed], a - ld b, $7 - call Function1143f3 - cp $2 - jr z, .asm_1145b6 - and a - jr nz, .asm_1145b4 - ld a, h - ld [$dc00], a - ld [hFF8C], a - ld [MBC3SRamBank], a - push hl - push de - push bc - ld hl, $dc24 - call Function115d53 - call Function1145c5 - pop bc - pop de - pop hl - and a - jr z, .asm_1145bf - ld a, b - and a - jr nz, .asm_1145ba - ld a, h - ld [$dc00], a - ld [hFF8C], a - ld [MBC3SRamBank], a - ld hl, String_114218 - call Function114acf - -.asm_1145b4 - xor a - ret - -.asm_1145b6 - ld b, $82 - jr .asm_1145bc - -.asm_1145ba - ld b, $81 - -.asm_1145bc - ld a, $2 - ret - -.asm_1145bf - ld a, $1 - ld [Bed], a - ret - -; 1145c5 - -Function1145c5: ; 1145c5 - ld hl, $dc24 - ld de, String_11421e - ld c, $0 -.asm_1145cd - ld a, [hli] - and a - jr z, .asm_1145ef - cp $20 - jr z, .asm_1145cd - cp $d - jr z, .asm_1145f8 - cp $61 - jr c, .asm_1145e3 - cp $7b - jr nc, .asm_1145e3 - sub $20 - -.asm_1145e3 - ld b, a - ld a, [de] - and a - jr z, .asm_11460e - inc de - cp b - jr z, .asm_1145cd - dec de - jr .asm_1145cd - -.asm_1145ef - ld b, $0 - jr .asm_1145f5 - -.asm_1145f3 - ld b, $81 - -.asm_1145f5 - ld a, $1 - ret - -.asm_1145f8 - ld a, [hli] - and a - jr z, .asm_1145f3 - cp $a - jr nz, .asm_1145f3 - ld a, [hli] - and a - jr z, .asm_1145f3 - cp $20 - jr z, .asm_1145cd - cp $9 - jr z, .asm_1145cd - jr .asm_1145f3 - -.asm_11460e - ld a, c - and a - jr nz, .asm_114619 - ld c, $1 - ld de, String_114228 - jr .asm_1145cd - -.asm_114619 - dec hl - ld a, [hl] - cp $22 - jr nz, .asm_114620 - inc hl - -.asm_114620 - ld de, $ddc8 - ld b, $0 - ld c, $40 -.asm_114627 - ld a, [hli] - cp $22 - jr z, .asm_114636 - cp $d - jr z, .asm_114636 - ld [de], a - inc de - inc b - dec c - jr nz, .asm_114627 - -.asm_114636 - ld a, b - ld [PartyMon5Defense], a - xor a - ret - -; 11463c - -Function11463c: ; 11463c - ld a, [$dc00] - push af - push de - ld hl, $ddc8 - ld a, [PartyMon5Defense] - ld b, a -.asm_114648 - ld a, [de] - ld c, a - ld a, [hli] - cp c - jr nz, .asm_11468a - inc e - call z, Function11469b - dec b - jr nz, .asm_114648 - ld a, [de] - cp $2d - jr z, .asm_114673 - cp $d - jr nz, .asm_11468a - xor a - ld [Carpet], a -.asm_114662 - inc e - call z, Function11469b - ld a, [de] - cp $a - jr nz, .asm_11468a - inc e - call z, Function11469b - xor a - pop hl - pop hl - ret - -.asm_114673 - inc e - call z, Function11469b - ld a, [de] - cp $2d - jr nz, .asm_11468a - inc e - call z, Function11469b - ld a, $1 - ld [Carpet], a - ld a, [de] - cp $d - jr z, .asm_114662 - -.asm_11468a - pop de - pop af - ld [$dc00], a - ld [hFF8C], a - ld [MBC3SRamBank], a - xor a - ld [Carpet], a - ld a, $1 - ret - -; 11469b - -Function11469b: ; 11469b - push bc - ld bc, $dc00 - call Function115d80 - pop bc - ret - -; 1146a4 - -Function1146a4: ; 1146a4 - call Function114867 - and a - jr nz, .asm_1146e4 - ld hl, $dc03 - ld a, [hli] - ld [$dc00], a - ld [hFF8C], a - ld [MBC3SRamBank], a - ld e, [hl] - inc hl - ld d, [hl] - call Function114a18 - and a - jr nz, .asm_1146e8 - call Function1148c2 - and a - jr nz, .asm_1146e4 - ld hl, $dc03 - ld a, [hli] - ld [$dc00], a - ld [hFF8C], a - ld [MBC3SRamBank], a - ld e, [hl] - inc hl - ld d, [hl] - call Function114a7a - and a - jr nz, .asm_1146e8 -.asm_1146da - dec bc - dec bc - call Function1149cc - and a - jr nz, .asm_1146e4 - xor a - ret - -.asm_1146e4 - ld b, $83 - jr .asm_1146f7 - -.asm_1146e8 - ld a, [$dc17] - and a - jr z, .asm_1146f5 - ld a, $1 - ld [BigDoll], a - jr .asm_1146da - -.asm_1146f5 - ld b, $81 - -.asm_1146f7 - ld a, $1 - ret - -; 1146fa - -Function1146fa: ; 1146fa - call Function114867 - and a - jp nz, .asm_11478a - ld hl, $dc03 - ld a, [hli] - ld [$dc00], a - ld [hFF8C], a - ld [MBC3SRamBank], a - ld e, [hl] - inc hl - ld d, [hl] - call Function114a18 - and a - jp nz, .asm_11478e - call Function1149cc - and a - jp nz, .asm_11478a - ld a, $1 - ld [$dc0e], a - ld a, [$dc00] - ld [hFF8C], a - ld [MBC3SRamBank], a - ld a, $1 - ld [RightOrnament], a - call Function1147cd - and a - jp nz, .asm_1147b7 -.asm_114737 - call Function114843 - cp $1 - jr nz, .asm_114749 - ld a, [$dc17] - and a - jr z, .asm_114794 - ld a, $1 - ld [BigDoll], a - -.asm_114749 - call Function11494d - and a - jr nz, .asm_11478a - ld a, [BigDoll] - and a - jr nz, .asm_114786 - ld hl, $dc03 - ld a, [hli] - ld [$dc00], a - ld [hFF8C], a - ld [MBC3SRamBank], a - ld e, [hl] - inc hl - ld d, [hl] - call Function1147cd - and a - jr nz, .asm_1147b7 - ld a, [$dc0e] - cp $3 - jr nz, .asm_114773 - dec bc - dec bc - -.asm_114773 - call Function1149cc - and a - jr nz, .asm_11478a - ld a, [$dc0d] - inc a - ld [$dc0d], a - ld a, [BigDoll] - and a - jr z, .asm_114799 - -.asm_114786 - ld b, $1 - jr .asm_1147cb - -.asm_11478a - ld b, $83 - jr .asm_114796 - -.asm_11478e - ld a, [$dc17] - and a - jr nz, .asm_114796 - -.asm_114794 - ld b, $81 - -.asm_114796 - ld a, $1 - ret - -.asm_114799 - ld a, [Carpet] - and a - jr z, .asm_114737 - jr .asm_1147cb - - ld hl, $dc03 - ld a, [hli] - ld [$dc00], a - ld [hFF8C], a - ld [MBC3SRamBank], a - call Function114a7a - and a - jr z, .asm_1147cb - xor a - ld [BigDoll], a - -.asm_1147b7 - ld a, [$dc17] - and a - jr z, .asm_114794 - ld a, $1 - ld [BigDoll], a - ld a, [$dc0d] - cp $1 - jr nz, .asm_114773 - ld b, $1 - -.asm_1147cb - xor a - ret - -; 1147cd - -Function1147cd: ; 1147cd - ld bc, NULL - ld a, [RightOrnament] - and a - jr nz, .asm_11480c -.asm_1147d6 - ld a, [de] - and a - jr z, .asm_11482f - inc e - call z, Function11483a - inc bc - cp $d - jr nz, .asm_1147d6 - ld a, [de] - cp $a - jr nz, .asm_11482f -.asm_1147e8 - inc bc - inc e - call z, Function11483a - ld a, [de] - cp $20 - jr z, .asm_114827 - cp $9 - jr z, .asm_114827 - cp $d - jr nz, .asm_11482b - inc e - call z, Function11483a - ld a, [de] - cp $a - jr nz, .asm_11482f - inc e - call z, Function11483a - ld a, h - and a - jr z, .asm_11480c - dec bc - -.asm_11480c - ld a, [de] - cp $2d - jr nz, .asm_1147d6 - inc e - call z, Function11483a - ld a, [de] - cp $2d - jr nz, .asm_1147d6 - inc e - call z, Function11483a - push bc - call Function11463c - pop bc - and a - jr nz, .asm_1147d6 - ret - -.asm_114827 - ld h, $1 - jr .asm_1147e8 - -.asm_11482b - ld h, $0 - jr .asm_11480c - -.asm_11482f - and a - jr nz, .asm_114837 - ld a, $1 - ld [$dc17], a - -.asm_114837 - ld a, $1 - ret - -; 11483a - -Function11483a: ; 11483a - push bc - ld bc, $dc00 - call Function115d80 - pop bc - ret - -; 114843 - -Function114843: ; 114843 - ld a, [$dc00] - push af - push de - ld [hFF8C], a - ld [MBC3SRamBank], a - call Function114a18 - and a - jr nz, .asm_11485f - pop de - pop af - ld [$dc00], a - ld hl, String_114218 - call Function114acf - ret - -.asm_11485f - pop de - pop af - ld [$dc00], a - ld a, $1 - ret - -; 114867 - -Function114867: ; 114867 - ld hl, $dc06 - ld a, [hli] - ld [wCurrentMapSignpostCount], a - ld [hFF8C], a - ld [MBC3SRamBank], a - ld e, [hl] - inc hl - ld d, [hl] - ld a, $2 - ld [de], a - inc e - call z, Function1148b9 - ld a, $1 - ld [de], a - inc e - call z, Function1148b9 - ld hl, $dc03 - ld a, [hli] - ld [de], a - inc e - call z, Function1148b9 - ld a, [hli] - ld [de], a - inc e - call z, Function1148b9 - ld a, [hli] - ld [de], a - inc e - call z, Function1148b9 - ld hl, $dc06 - ld a, [wCurrentMapSignpostCount] - ld [hli], a - ld [hl], e - inc hl - ld [hl], d - inc hl - ld c, [hl] - inc hl - ld b, [hl] - ld d, $5 -.asm_1148a9 - dec bc - ld a, b - or c - jr z, .asm_1148b6 - dec d - jr nz, .asm_1148a9 - ld [hl], b - dec hl - ld [hl], c - xor a - ret - -.asm_1148b6 - ld a, $1 - ret - -; 1148b9 - -Function1148b9: ; 1148b9 - push bc - ld bc, wCurrentMapSignpostCount - call Function115d80 - pop bc - ret - -; 1148c2 - -Function1148c2: ; 1148c2 - ld hl, $dc06 - ld a, [hli] - ld [wCurrentMapSignpostCount], a - ld [hFF8C], a - ld [MBC3SRamBank], a - ld e, [hl] - inc hl - ld d, [hl] - ld a, c - ld [de], a - inc e - call z, Function114944 - ld a, b - ld [de], a - inc e - call z, Function114944 - ld a, [$dc0e] - ld [de], a - inc e - call z, Function114944 - cp $3 - jr nz, .asm_114904 - ld hl, Plant - ld a, [hli] - ld [de], a - inc e - call z, Function114944 - ld a, [hli] - ld [de], a - inc e - call z, Function114944 - ld a, [hli] - ld [de], a - inc e - call z, Function114944 - ld a, [hli] - ld [de], a - inc e - call z, Function114944 - -.asm_114904 - ld hl, $dc03 - ld a, [hli] - ld [de], a - inc e - call z, Function114944 - ld a, [hli] - ld [de], a - inc e - call z, Function114944 - ld a, [hli] - ld [de], a - inc e - call z, Function114944 - ld hl, $dc06 - ld a, [wCurrentMapSignpostCount] - ld [hli], a - ld [hl], e - inc hl - ld [hl], d - inc hl - ld c, [hl] - inc hl - ld b, [hl] - ld a, [$dc0e] - cp $3 - jr z, .asm_114932 - ld d, $6 - jr .asm_114934 - -.asm_114932 - ld d, $a - -.asm_114934 - dec bc - ld a, b - or c - jr z, .asm_114941 - dec d - jr nz, .asm_114934 - ld [hl], b - dec hl - ld [hl], c - xor a - ret - -.asm_114941 - ld a, $1 - ret - -; 114944 - -Function114944: ; 114944 - push bc - ld bc, wCurrentMapSignpostCount - call Function115d80 - pop bc - ret - -; 11494d - -Function11494d: ; 11494d - ld hl, $dc06 - ld a, [hli] - ld [wCurrentMapSignpostCount], a - ld [hFF8C], a - ld [MBC3SRamBank], a - ld e, [hl] - inc hl - ld d, [hl] - ld a, [$dc0e] - ld [de], a - inc e - call z, Function1149c3 - cp $3 - jr nz, .asm_114983 - ld hl, Plant - ld a, [hli] - ld [de], a - inc e - call z, Function1149c3 - ld a, [hli] - ld [de], a - inc e - call z, Function1149c3 - ld a, [hli] - ld [de], a - inc e - call z, Function1149c3 - ld a, [hli] - ld [de], a - inc e - call z, Function1149c3 - -.asm_114983 - ld hl, $dc03 - ld a, [hli] - ld [de], a - inc e - call z, Function1149c3 - ld a, [hli] - ld [de], a - inc e - call z, Function1149c3 - ld a, [hli] - ld [de], a - inc e - call z, Function1149c3 - ld hl, $dc06 - ld a, [wCurrentMapSignpostCount] - ld [hli], a - ld [hl], e - inc hl - ld [hl], d - inc hl - ld c, [hl] - inc hl - ld b, [hl] - ld a, [$dc0e] - cp $3 - jr z, .asm_1149b1 - ld d, $4 - jr .asm_1149b3 - -.asm_1149b1 - ld d, $8 - -.asm_1149b3 - dec bc - ld a, b - or c - jr z, .asm_1149c0 - dec d - jr nz, .asm_1149b3 - ld [hl], b - dec hl - ld [hl], c - xor a - ret - -.asm_1149c0 - ld a, $1 - ret - -; 1149c3 - -Function1149c3: ; 1149c3 - push bc - ld bc, wCurrentMapSignpostCount - call Function115d80 - pop bc - ret - -; 1149cc - -Function1149cc: ; 1149cc - ld hl, $dc06 - ld a, [hl] - ld [wCurrentMapSignpostCount], a - ld [hFF8C], a - ld [MBC3SRamBank], a - push de - ld hl, $dc09 - ld e, [hl] - inc hl - ld d, [hl] - dec de - ld a, d - or e - jr z, .asm_114a0b - dec de - ld a, d - or e - jr z, .asm_114a0b - ld [hl], d - dec hl - ld [hl], e - ld hl, wCurrMapTriggerCount - ld e, [hl] - inc hl - ld d, [hl] - ld a, c - ld [de], a - inc e - call z, Function114a0f - ld a, b - ld [de], a - inc e - call z, Function114a0f - ld hl, $dc06 - ld a, [wCurrentMapSignpostCount] - ld [hli], a - ld [hl], e - inc hl - ld [hl], d - pop de - xor a - ret - -.asm_114a0b - pop de - ld a, $1 - ret - -; 114a0f - -Function114a0f: ; 114a0f - push bc - ld bc, wCurrentMapSignpostCount - call Function115d80 - pop bc - ret - -; 114a18 - -Function114a18: ; 114a18 - ld bc, NULL - ld h, b -.asm_114a1c - inc bc - ld a, [de] - and a - jr z, .asm_114a66 - inc e - call z, Function114a71 - cp $d - jr nz, .asm_114a1c - ld a, [de] - cp $a - jr nz, .asm_114a66 -.asm_114a2e - inc bc - inc e - call z, Function114a71 - ld a, [de] - cp $20 - jr z, .asm_114a5e - cp $9 - jr z, .asm_114a5e - cp $d - jr nz, .asm_114a62 - inc e - call z, Function114a71 - ld a, [de] - cp $a - jr nz, .asm_114a66 - inc e - call z, Function114a71 - ld a, h - and a - jr z, .asm_114a52 - dec bc - -.asm_114a52 - ld hl, $dc03 - ld a, [$dc00] - ld [hli], a - ld [hl], e - inc hl - ld [hl], d - xor a - ret - -.asm_114a5e - ld h, $1 - jr .asm_114a2e - -.asm_114a62 - ld h, $0 - jr .asm_114a1c - -.asm_114a66 - and a - jr nz, .asm_114a6e - ld a, $1 - ld [$dc17], a - -.asm_114a6e - ld a, $1 - ret - -; 114a71 - -Function114a71: ; 114a71 - push bc - ld bc, $dc00 - call Function115d80 - pop bc - ret - -; 114a7a - -Function114a7a: ; 114a7a - ld bc, NULL -.asm_114a7d - inc bc - ld a, [de] - and a - jr z, .asm_114abb - inc e - call z, Function114ac6 - cp $d - jr nz, .asm_114a7d - ld a, [de] - cp $a - jr nz, .asm_114abb - inc e - call z, Function114ac6 - inc bc - ld a, [de] - cp $2e - jr nz, .asm_114a7d - inc e - call z, Function114ac6 - ld a, [de] - cp $d - jr nz, .asm_114a7d - inc e - call z, Function114ac6 - ld a, [de] - cp $a - jr nz, .asm_114abb - inc e - call z, Function114ac6 - ld hl, $dc03 - ld a, [$dc00] - ld [hli], a - ld [hl], e - inc hl - ld [hl], d - xor a - ret - -.asm_114abb - and a - jr nz, .asm_114ac3 - ld a, $1 - ld [$dc17], a - -.asm_114ac3 - ld a, $1 - ret - -; 114ac6 - -Function114ac6: ; 114ac6 - push bc - ld bc, $dc00 - call Function115d80 - pop bc - ret - -; 114acf - -Function114acf: ; 114acf -.asm_114acf - push hl - push bc -.asm_114ad1 - ld a, [hl] - ld b, a - ld a, [de] - inc e - call z, Function114b4c - cp $61 - jr c, .asm_114ae2 - cp $7b - jr nc, .asm_114ae2 - sub $20 - -.asm_114ae2 - cp b - jr z, .asm_114af4 - pop bc - dec bc - push bc - ld a, b - or c - jr nz, .asm_114ad1 -.asm_114aec - ld a, $2 - ld [$dc0e], a - pop bc - pop hl - ret - -.asm_114af4 - inc hl -.asm_114af5 - ld a, [hli] - and a - jr z, .asm_114b19 - ld b, a - ld a, [de] - inc e - call z, Function114b4c - cp $61 - jr c, .asm_114b09 - cp $7b - jr nc, .asm_114b09 - sub $20 - -.asm_114b09 - cp b - jr nz, .asm_114b15 - pop bc - dec bc - push bc - ld a, b - or c - jr nz, .asm_114af5 - jr .asm_114aec - -.asm_114b15 - pop bc - pop hl - jr .asm_114acf - -.asm_114b19 - ld b, $0 - ld c, $40 - ld a, [de] - cp $22 - jr nz, .asm_114b26 - inc e - call z, Function114b4c - -.asm_114b26 - ld hl, Plant - ld a, [$dc00] - ld [hli], a - ld [hl], e - inc hl - ld [hl], d - inc hl -.asm_114b31 - ld a, [de] - cp $22 - jr z, .asm_114b42 - cp $d - jr z, .asm_114b42 - inc e - call z, Function114b4c - inc b - dec c - jr nz, .asm_114b31 - -.asm_114b42 - ld [hl], b - pop bc - pop hl - ld a, $3 - ld [$dc0e], a - xor a - ret - -; 114b4c - -Function114b4c: ; 114b4c - push bc - ld bc, $dc00 - call Function115d80 - pop bc - ret - -; 114b55 - -Function114b55: ; 114b55 - call Function114561 - ld b, $0 - ld hl, $dc03 - ld c, [hl] - inc hl - ld e, [hl] - inc hl - ld d, [hl] - ld hl, $dc24 -.asm_114b65 - push de - push bc - push hl - call Function1143f3 - cp $2 - jr z, .asm_114bb2 - and a - jr nz, .asm_114b8c - ld a, h - pop hl - inc hl - ld [hld], a - ld a, $1 - ld [hli], a - inc hl - ld [hl], e - inc hl - ld [hl], d - inc hl - ld [hl], c - inc hl - ld [hl], b - inc hl -.asm_114b82 - pop bc - pop de - inc b - ld a, b - cp $d - jr z, .asm_114b96 - jr .asm_114b65 - -.asm_114b8c - pop hl - xor a -rept 6 - ld [hli], a -endr - jr .asm_114b82 - -.asm_114b96 - ld hl, $dc06 - ld a, [hli] - ld [wCurrentMapSignpostCount], a - ld [hFF8C], a - ld [MBC3SRamBank], a - ld e, [hl] - inc hl - ld d, [hl] - inc hl - ld bc, $004e - ld hl, $dc24 - call Function115d6a - jp Function11425c - -.asm_114bb2 - ld a, $1 - pop bc - pop bc - pop bc - ld b, $82 - jp Function11425c - -; 114bbc - -Function114bbc: ; 114bbc - ld h, d - ld l, e - ld a, [hli] - ld b, a - ld a, [hli] - ld c, a - ld a, [hli] - ld e, a - ld d, [hl] - inc hl - push hl - call Function1143f3 - cp $2 - jr z, .asm_114c03 - and a - jr nz, .asm_114bff - ld a, h - ld [$dc00], a - ld [hFF8C], a - ld [MBC3SRamBank], a - call Function114c0b - ld hl, $dc24 - call Function114c5e - ld a, b - or c - jr z, .asm_114bff - pop hl - ld a, [hli] - ld [wCurrentMapSignpostCount], a - ld [hFF8C], a - ld [MBC3SRamBank], a - ld a, [hli] - ld e, a - ld d, [hl] - ld hl, $dc24 - push bc - call Function115d6a - pop hl - jp Function11425c - -.asm_114bff - ld b, $84 - jr .asm_114c05 - -.asm_114c03 - ld b, $82 - -.asm_114c05 - ld a, $1 - pop hl - jp Function11425c - -; 114c0b - -Function114c0b: ; 114c0b - ld hl, $dc24 - push bc - call Function115d53 - pop bc - ld hl, $dc24 - ld d, h - ld e, l -.asm_114c18 - ld a, [hli] - cp $d - jr z, .asm_114c34 - ld [de], a - inc de - dec bc - ld a, b - or c - jr nz, .asm_114c18 -.asm_114c24 - xor a - ld [de], a - ld hl, $dc24 - ld bc, NULL -.asm_114c2c - ld a, [hli] - inc bc - and a - jr nz, .asm_114c2c - dec bc - xor a - ret - -.asm_114c34 - dec bc - ld a, b - or c - jr z, .asm_114c24 - ld a, [hli] - cp $a - jr nz, .asm_114c18 - dec bc - ld a, b - or c - jr z, .asm_114c24 - ld a, [hli] - cp $20 - jr z, .asm_114c4e - cp $9 - jr z, .asm_114c4e - jr .asm_114c24 - -.asm_114c4e - dec bc - ld a, b - or c - jr z, .asm_114c24 - jr .asm_114c18 - -; 114c55 - -Function114c55: ; 114c55 - push bc - ld bc, $dc00 - call Function115d80 - pop bc - ret - -; 114c5e - -Function114c5e: ; 114c5e - ld de, PartyMon5Defense - push hl -.asm_114c62 - ld a, [hli] - ld [de], a - inc de - and a - jr z, .asm_114cc6 - cp $3d - jr nz, .asm_114c62 - ld a, [hli] - ld [de], a - inc de - cp $3f - jr nz, .asm_114c62 - dec de - dec de -.asm_114c75 - ld a, [hli] - cp $3f - jr nz, .asm_114c75 - ld a, [hli] - cp $42 - jr nz, .asm_114cb8 - inc hl - ld bc, NULL - push hl -.asm_114c84 - inc bc - ld a, [hli] - cp $3f - jr nz, .asm_114c84 - inc bc - ld a, [hli] - cp $3d - jr nz, .asm_114c84 - dec bc - dec bc - ld a, l - ld [$dc03], a - ld a, h - ld [$dc04], a - pop hl - push de - call Function115c49 - pop de - ld h, d - ld l, e - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a -.asm_114ca6 - ld a, [hli] - ld [de], a - inc de - dec bc - ld a, b - or c - jr nz, .asm_114ca6 - ld a, [$dc03] - ld l, a - ld a, [$dc04] - ld h, a - jr .asm_114c62 - -.asm_114cb8 - ld a, $3d - ld [de], a - inc de - ld a, $3f - ld [de], a - inc de -.asm_114cc0 - ld a, [hli] - ld [de], a - inc de - and a - jr nz, .asm_114cc0 - -.asm_114cc6 - ld [de], a - pop hl - ld de, PartyMon5Defense - ld bc, NULL -.asm_114cce - inc bc - ld a, [de] - ld [hli], a - inc de - and a - jr z, .asm_114cd7 - jr .asm_114cce - -.asm_114cd7 - dec bc - ret - -; 114cd9 - -Function114cd9: ; 114cd9 - ld h, d - ld l, e - ld b, [hl] - inc hl - ld c, [hl] - inc hl - ld e, [hl] - inc hl - ld d, [hl] - inc hl - push hl - call Function1143f3 - and a - jr nz, .asm_114d33 - ld [$dc03], a - ld [$dc04], a - ld a, h - ld [$dc00], a - ld [hFF8C], a - ld [MBC3SRamBank], a - ld hl, $dc24 - call Function114d39 - ld hl, $dc24 - call Function114d99 - pop hl - push hl -rept 4 - inc hl -endr - ld a, [hld] - cp b - jr c, .asm_114d2d - jr z, .asm_114d29 -.asm_114d11 - pop hl - ld a, [hli] - ld [wCurrentMapSignpostCount], a - ld [hFF8C], a - ld [MBC3SRamBank], a - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld hl, PartyMon5Defense - call Function115d6a - xor a - jp Function11425c - -.asm_114d29 - ld a, [hli] - cp c - jr nc, .asm_114d11 - -.asm_114d2d - ld b, $83 - jr .asm_114d33 - - ld b, $82 - -.asm_114d33 - pop hl - ld a, $1 - jp Function11425c - -; 114d39 - -Function114d39: ; 114d39 -.asm_114d39 - ld a, [$dc04] - and a - jr nz, .asm_114d4a - ld a, [de] - cp $28 - jr z, .asm_114d55 - cp $22 - jr z, .asm_114d55 - jr .asm_114d7f - -.asm_114d4a - ld a, [de] - cp $29 - jr z, .asm_114d5f - cp $22 - jr z, .asm_114d6f - jr .asm_114d84 - -.asm_114d55 - ld [$dc03], a - ld a, $1 - ld [$dc04], a - jr .asm_114d84 - -.asm_114d5f - ld a, [$dc03] - cp $28 - jr nz, .asm_114d84 - xor a - ld [$dc03], a - ld [$dc04], a - jr .asm_114d84 - -.asm_114d6f - ld a, [$dc03] - cp $22 - jr nz, .asm_114d84 - xor a - ld [$dc03], a - ld [$dc04], a - jr .asm_114d84 - -.asm_114d7f - cp $20 - jr z, .asm_114d84 - ld [hli], a - -.asm_114d84 - dec bc - ld a, b - or c - jr z, .asm_114d96 - inc e - jr nz, .asm_114d39 - push bc - ld bc, $dc00 - call Function115d80 - pop bc - jr .asm_114d39 - -.asm_114d96 - xor a - ld [hli], a - ret - -; 114d99 - -Function114d99: ; 114d99 - ld de, PartyMon5Defense - xor a - ld [de], a -.asm_114d9e - ld a, [hli] - call Function114df1 - and a - jr z, .asm_114dde - cp $40 - jr nz, .asm_114d9e - dec hl -.asm_114daa - dec hl - ld a, [hl] - call Function114e2d - and a - jr z, .asm_114daa - inc hl - push hl - ld b, $0 -.asm_114db6 - ld a, [hli] - cp $40 - jr z, .asm_114dc1 - call Function114e2d - and a - jr nz, .asm_114dc4 - -.asm_114dc1 - inc b - jr .asm_114db6 - -.asm_114dc4 - pop hl - ld a, [PartyMon5Defense] - and a - jr z, .asm_114dd2 - ld a, $2c - inc de - ld [de], a - ld a, [PartyMon5Defense] - -.asm_114dd2 - inc a - ld [PartyMon5Defense], a -.asm_114dd6 - inc de - ld a, [hli] - ld [de], a - dec b - jr nz, .asm_114dd6 - jr .asm_114d9e - -.asm_114dde - inc de - xor a - ld [de], a - ld a, $dd - cpl - ld h, a - ld a, $c8 - cpl - ld l, a - inc hl - add hl, de - ld b, h - ld c, l - inc bc - inc bc - xor a - ret - -; 114df1 - -Function114df1: ; 114df1 - cp $1b - ret nz - ld a, [hli] - and a - jr z, .asm_114e2b - cp $24 - jr nz, .asm_114e09 - ld a, [hli] - and a - jr z, .asm_114e2b - cp $42 - jr z, .asm_114e0b - cp $40 - jr z, .asm_114e0b - dec hl - -.asm_114e09 - dec hl - ret - -.asm_114e0b - ld a, [hli] - and a - jr z, .asm_114e2b - cp $1b - jr nz, .asm_114e0b - ld a, [hli] - and a - jr z, .asm_114e2b - cp $28 - jr nz, .asm_114e0b - ld a, [hli] - and a - jr z, .asm_114e2b - cp $42 - jr z, .asm_114e29 - cp $4a - jr z, .asm_114e29 - jr .asm_114e0b - -.asm_114e29 - ld a, [hli] - ret - -.asm_114e2b - xor a - ret - -; 114e2d - -Function114e2d: ; 114e2d - cp $30 - jr c, .asm_114e45 - cp $40 - jr c, .asm_114e58 - cp $41 - jr c, .asm_114e45 - cp $5b - jr c, .asm_114e58 - cp $61 - jr c, .asm_114e45 - cp $7b - jr c, .asm_114e58 - -.asm_114e45 - cp $20 - jr z, .asm_114e58 - cp $2d - jr z, .asm_114e58 - cp $2e - jr z, .asm_114e58 - cp $5f - jr z, .asm_114e58 -.asm_114e55 - ld a, $1 - ret - -.asm_114e58 - cp $3c - jr z, .asm_114e55 - cp $3e - jr z, .asm_114e55 - xor a - ret - -; 114e62 - -Function114e62: ; 114e62 - ld a, c - and a - jr nz, .asm_114e6f - ld a, [wStartDay] - and a - jp z, Function11425c - jr .asm_114e76 - -.asm_114e6f - xor a - ld [wStartDay], a - call Function114ee9 - -.asm_114e76 - call Function114f0a - cp $ff - jp z, Function11425c - and a - jr nz, .asm_114e99 - call Function114ea0 - and a - jr nz, .asm_114e99 - ld hl, $dc09 - ld a, [hli] - cpl - ld e, a - ld a, [hli] - cpl - ld d, a - inc de - ld a, [hli] - ld h, [hl] - ld l, a - add hl, de - xor a - jp Function11425c - -.asm_114e99 - ld a, $1 - ld b, $83 - jp Function11425c - -; 114ea0 - -Function114ea0: ; 114ea0 - ld hl, $dc06 - ld a, [hli] - ld [wCurrentMapSignpostCount], a - ld [hFF8C], a - ld [MBC3SRamBank], a - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - ld a, $d - ld [de], a - dec bc - ld a, b - or c - jr z, .asm_114edb - inc e - call z, Function114ee0 - ld a, $a - ld [de], a - dec bc - inc e - call z, Function114ee0 - ld hl, $dc06 - ld a, [wCurrentMapSignpostCount] - ld [hli], a - ld a, e - ld [hli], a - ld a, d - ld [hli], a - ld a, c - ld [hli], a - ld [hl], b - xor a - ld [wStartDay], a - ret - -.asm_114edb - ld a, $1 - ld b, $83 - ret - -; 114ee0 - -Function114ee0: ; 114ee0 - push bc - ld bc, wCurrentMapSignpostCount - call Function115d80 - pop bc - ret - -; 114ee9 - -Function114ee9: ; 114ee9 - ld hl, $dc03 - ld a, b - ld [hli], a - ld a, c - ld [hli], a - ld [hli], a - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld c, a - ld [hli], a - inc de - ld a, [de] - ld b, a - ld [hli], a - inc de - ld a, c - ld [hli], a - ld a, b - ld [hli], a - ld a, e - ld [hli], a - ld [hl], d - ret - -; 114f0a - -Function114f0a: ; 114f0a - call Function114f39 - and a - jr nz, .asm_114f26 - ld a, [$dc03] - cp $6 - jr c, .asm_114f21 - cp $c - jr z, .asm_114f23 - call Function114f59 - and a - jr nz, .asm_114f23 - -.asm_114f21 - xor a - ret - -.asm_114f23 - ld a, $1 - ret - -.asm_114f26 - call Function114f59 - and a - jr nz, .asm_114f23 - ld hl, $dc0d - ld e, [hl] - inc hl - ld d, [hl] - ld a, [de] - and a - jr z, .asm_114f21 - ld a, $ff - ret - -; 114f39 - -Function114f39: ; 114f39 - ld hl, $dc0d - ld e, [hl] - inc hl - ld d, [hl] - inc hl - ld a, [de] - and a - jr z, .asm_114f58 - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld hl, $dc0d - ld [hl], e - inc hl - ld [hl], d - ld a, $1 - ret - -.asm_114f58 - ret - -; 114f59 - -Function114f59: ; 114f59 - ld a, [wStartDay] - and a - jr nz, .asm_114f7c - ld a, [$dc03] - cp $11 - jr z, .asm_114fa7 - add a - ld e, a - ld d, 0 - ld hl, Unknown_114011 - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - call Function115020 - and a - jr nz, .asm_114fe7 - ld a, $1 - ld [wStartDay], a - -.asm_114f7c - ld a, [$dc03] - cp $5 - jr c, .asm_114fc9 - jr z, .asm_114fec - cp $8 - jr c, .asm_114fa5 - jr z, .asm_114ff4 - cp $b - jr c, .asm_114fa5 - jr z, .asm_114ffc - cp $c - jr z, .asm_115007 - cp $d - jr z, .asm_114fa5 - cp $10 - jr c, .asm_115015 - jr z, .asm_114fa5 - cp $12 - jr c, .asm_114fa5 - jr .asm_114fe7 - -.asm_114fa5 - xor a - ret - -.asm_114fa7 - ld hl, Bed - ld c, [hl] - inc hl - ld a, [hli] - ld [$dc00], a - ld [hFF8C], a - ld [MBC3SRamBank], a - ld e, [hl] - inc hl - ld d, [hl] - ld hl, $dc24 - call Function115d53 - ld hl, $dc24 - call Function115020 - and a - jr nz, .asm_114fe7 - jr .asm_11501e - -.asm_114fc9 - call Function115062 - and a - jr nz, .asm_114fe7 - ld a, [$dc04] - dec a - ld [$dc04], a - and a - jr z, .asm_114fdf - call Function114f39 - and a - jr nz, .asm_114fc9 - -.asm_114fdf - ld a, [$dc05] - ld [$dc04], a - jr .asm_11501e - -.asm_114fe7 - ld a, $1 - ld b, $83 - ret - -.asm_114fec - call Function115062 - and a - jr nz, .asm_114fe7 - jr .asm_11501e - -.asm_114ff4 - call Function115179 - and a - jr nz, .asm_114fe7 - jr .asm_11501e - -.asm_114ffc - ld hl, String_114000 - call Function115217 - and a - jr nz, .asm_114fe7 - jr .asm_11501e - -.asm_115007 - call Function11528f - ld hl, $dc24 - call Function115217 - and a - jr nz, .asm_114fe7 - jr .asm_11501e - -.asm_115015 - ld hl, String_114000 - call Function115217 - and a - jr nz, .asm_114fe7 - -.asm_11501e - xor a - ret - -; 115020 - -Function115020: ; 115020 - push hl - ld hl, $dc06 - ld a, [hli] - ld [wCurrentMapSignpostCount], a - ld [hFF8C], a - ld [MBC3SRamBank], a - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - pop hl -.asm_115036 - ld a, [hli] - and a - jr z, .asm_115046 - ld [de], a - dec bc - ld a, b - or c - jr z, .asm_115056 - inc e - call z, Function115059 - jr .asm_115036 - -.asm_115046 - ld hl, $dc06 - ld a, [wCurrentMapSignpostCount] - ld [hli], a - ld a, e - ld [hli], a - ld a, d - ld [hli], a - ld a, c - ld [hli], a - ld [hl], b - xor a - ret - -.asm_115056 - ld a, $1 - ret - -; 115059 - -Function115059: ; 115059 - push bc - ld bc, wCurrentMapSignpostCount - call Function115d80 - pop bc - ret - -; 115062 - -Function115062: ; 115062 - ld hl, Bed - ld a, [hli] - and a - jr z, .asm_1150ae - ld c, a - ld a, [hli] - ld [$dc00], a - ld [hFF8C], a - ld [MBC3SRamBank], a - ld e, [hl] - inc hl - ld d, [hl] - ld b, $0 - ld hl, $dc24 - ld a, [wStartDay] - cp $1 - jr z, .asm_11509b - cp $2 - jr z, .asm_115098 - cp $3 - jr nz, .asm_1150b2 - ld a, $2c - ld [hli], a - ld a, $d - ld [hli], a - ld a, $a - ld [hli], a - ld a, $9 - ld [hli], a - jr .asm_11509b - -.asm_115098 - ld a, $2c - ld [hli], a - -.asm_11509b - call Function115d53 - call Function1150b3 - call Function115136 - ld a, [wStartDay] - inc a - cp $4 - jr nz, .asm_1150ae - ld a, $2 - -.asm_1150ae - ld [wStartDay], a - xor a - -.asm_1150b2 - ret - -; 1150b3 - -Function1150b3: ; 1150b3 - ld hl, $dc24 - ld de, PartyMon5Defense - ld b, $0 -.asm_1150bb - ld c, $0 - ld a, [hli] - cp $1b - jr z, .asm_1150c9 - ld [de], a - inc de - and a - jr z, .asm_115133 - jr .asm_1150bb - -.asm_1150c9 - inc c - ld a, [hl] - cp $24 - jr nz, .asm_1150bb - inc hl - inc c - ld a, [hl] - cp $42 - jr z, .asm_1150dc - cp $40 - jr z, .asm_1150dc - jr .asm_1150bb - -.asm_1150dc - push hl -.asm_1150dd - inc c - ld a, [hli] - and a - jr z, .asm_115133 - cp $1b - jr nz, .asm_1150dd - inc c - ld a, [hli] - cp $28 - jr nz, .asm_1150dd - inc c - ld a, [hli] - cp $42 - jr z, .asm_1150f8 - cp $4a - jr z, .asm_1150f8 - jr .asm_1150dd - -.asm_1150f8 - ld a, l - ld [Console], a - ld a, h - ld [LeftOrnament], a - ld hl, String_114232 -.asm_115103 - ld a, [hli] - and a - jr z, .asm_11510b - ld [de], a - inc de - jr .asm_115103 - -.asm_11510b - pop hl - dec hl - dec hl - push de - call Function1158c2 - pop de - ld h, d - ld l, e - ld c, [hl] - inc hl - ld b, [hl] - inc hl -.asm_115119 - ld a, [hli] - ld [de], a - inc de - dec bc - ld a, b - or c - jr nz, .asm_115119 - ld a, $3f - ld [de], a - inc de - ld a, $3d - ld [de], a - inc de - ld a, [Console] - ld l, a - ld a, [LeftOrnament] - ld h, a - jr .asm_1150bb - -.asm_115133 - xor a - ld [de], a - ret - -; 115136 - -Function115136: ; 115136 - ld hl, $dc06 - ld a, [hli] - ld [wCurrentMapSignpostCount], a - ld [hFF8C], a - ld [MBC3SRamBank], a - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - ld hl, PartyMon5Defense -.asm_11514d - ld a, [hli] - and a - jr z, .asm_11515d - ld [de], a - dec bc - ld a, b - or c - jr z, .asm_11516d - inc e - call z, Function115170 - jr .asm_11514d - -.asm_11515d - ld hl, $dc06 - ld a, [wCurrentMapSignpostCount] - ld [hli], a - ld a, e - ld [hli], a - ld a, d - ld [hli], a - ld a, c - ld [hli], a - ld [hl], b - xor a - ret - -.asm_11516d - ld a, $1 - ret - -; 115170 - -Function115170: ; 115170 - push bc - ld bc, wCurrentMapSignpostCount - call Function115d80 - pop bc - ret - -; 115179 - -Function115179: ; 115179 - ld hl, $dc06 - ld a, [hli] - ld [wCurrentMapSignpostCount], a - ld [hFF8C], a - ld [MBC3SRamBank], a - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - ld hl, $013f - ld a, [hli] - ld [de], a - dec bc - ld a, b - or c - jr z, .asm_1151ef - inc e - call z, Function11520e - ld a, [hli] - ld [de], a - dec bc - ld a, b - or c - jr z, .asm_1151ef - inc e - call z, Function11520e - ld a, [hli] - ld [de], a - dec bc - ld a, b - or c - jr z, .asm_1151ef - inc e - call z, Function11520e - ld a, [hli] - ld [de], a - dec bc - ld a, b - or c - jr z, .asm_1151ef - inc e - call z, Function11520e - ld a, $2d - ld [de], a - dec bc - ld a, b - or c - jr z, .asm_1151ef - inc e - call z, Function11520e - ld a, [$014c] - ld h, a - and $f0 - swap a - cp $a - jr nc, .asm_1151d8 - add $30 - jr .asm_1151da - -.asm_1151d8 - add $37 - -.asm_1151da - ld [de], a - dec bc - ld a, b - or c - jr z, .asm_1151ef - inc e - call z, Function11520e - ld a, h - and $f - cp $a - jr nc, .asm_1151f2 - add $30 - jr .asm_1151f4 - -.asm_1151ef - ld a, $1 - ret - -.asm_1151f2 - add $37 - -.asm_1151f4 - ld [de], a - dec bc - ld a, b - or c - jr z, .asm_1151ef - inc e - call z, Function11520e - ld hl, $dc06 - ld a, [wCurrentMapSignpostCount] - ld [hli], a - ld a, e - ld [hli], a - ld a, d - ld [hli], a - ld a, c - ld [hli], a - ld [hl], b - xor a - ret - -; 11520e - -Function11520e: ; 11520e - push bc - ld bc, wCurrentMapSignpostCount - call Function115d80 - pop bc - ret - -; 115217 - -Function115217: ; 115217 - push hl - ld hl, $dc06 - ld a, [hli] - ld [wCurrentMapSignpostCount], a - ld [hFF8C], a - ld [MBC3SRamBank], a - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - pop hl -.asm_11522d - ld a, [hli] - and a - jr z, .asm_11523d - ld [de], a - dec bc - ld a, b - or c - jr z, .asm_115262 - inc e - call z, Function115286 - jr .asm_11522d - -.asm_11523d - ld a, [$dc03] - cp $b - jr z, .asm_115278 - cp $c - jr z, .asm_115278 - cp $e - jr z, .asm_115252 - cp $f - jr z, .asm_115265 - jr .asm_115262 - -.asm_115252 - ld hl, $dc06 - ld a, [wCurrentMapSignpostCount] - ld [hli], a - ld a, e - ld [hli], a - ld a, d - ld [hli], a - ld a, c - ld [hli], a - ld [hl], b - xor a - ret - -.asm_115262 - ld a, $1 - ret - -.asm_115265 - ld h, $2 -.asm_115267 - ld a, $2d - ld [de], a - dec bc - ld a, b - or c - jr z, .asm_115262 - inc e - call z, Function115286 - dec h - jr nz, .asm_115267 - jr .asm_115252 - -.asm_115278 - ld a, $22 - ld [de], a - dec bc - ld a, b - or c - jr z, .asm_115262 - inc e - call z, Function115286 - jr .asm_115252 - -; 115286 - -Function115286: ; 115286 - push bc - ld bc, wCurrentMapSignpostCount - call Function115d80 - pop bc - ret - -; 11528f - -Function11528f: ; 11528f - ld hl, Bed - ld c, [hl] - inc hl - ld a, [hli] - ld [$dc00], a - ld [hFF8C], a - ld [MBC3SRamBank], a - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld hl, $dc24 -.asm_1152a4 - ld a, [de] - ld [hli], a - inc e - call z, Function1152af - dec c - jr nz, .asm_1152a4 - ld [hl], c - ret - -; 1152af - -Function1152af: ; 1152af - push bc - ld bc, $dc00 - call Function115d80 - pop bc - ret - -; 1152b8 - -Function1152b8: ; 1152b8 - push bc - call Function11537d - push de - ld h, d - ld l, e - ld a, [hli] - ld b, a - ld c, $1 - call Function1153d2 - pop de - and a - jr nz, .asm_1152f9 -.asm_1152ca - ld hl, $dc0d - ld e, [hl] - inc hl - ld d, [hl] -.asm_1152d0 - ld a, [$dc03] - cp $3 - jr nz, .asm_1152d8 - push de - -.asm_1152d8 - cp $5 - jr nz, .asm_1152e7 - pop hl - ld a, [hli] - ld b, a - ld c, $3 - call Function1153d2 - and a - jr nz, .asm_1152f9 - -.asm_1152e7 - ld a, [de] - inc de - and a - jr nz, .asm_115301 - ld a, [$dc03] - cp $6 - jr z, .asm_115335 - inc a - ld [$dc03], a - jr .asm_1152d0 - -.asm_1152f9 - pop hl - ld a, $1 - ld b, $83 - jp Function11425c - -.asm_115301 - ld hl, $dc0d - ld [hl], e - inc hl - ld [hl], d -.asm_115307 - ld [$dc05], a - ld a, $1 - ld [$dc04], a - call Function1153b5 - call Function114f59 - and a - jr nz, .asm_1152f9 - ld a, [$dc05] - dec a - jr nz, .asm_115307 - ld a, [$dc03] - inc a - ld [$dc03], a - call Function114ea0 - and a - jr nz, .asm_1152f9 - ld [wStartDay], a - ld a, [$dc03] - cp $6 - jr nz, .asm_1152ca - -.asm_115335 - call Function1153b5 - xor a - ld [wStartDay], a - call Function114f59 - and a - jr nz, .asm_1152f9 - call Function114ea0 - and a - jr nz, .asm_1152f9 - ld a, [$dc03] - inc a - ld [$dc03], a - cp $9 - jr nz, .asm_115335 - pop bc - ld a, b - and a - jr z, .asm_11536b - call Function1153b5 - xor a - ld [wStartDay], a - call Function114f59 - and a - jr nz, .asm_1152f9 - call Function114ea0 - and a - jr nz, .asm_1152f9 - -.asm_11536b - ld hl, $dc09 - ld a, [hli] - cpl - ld e, a - ld a, [hli] - cpl - ld d, a - inc de - ld a, [hli] - ld h, [hl] - ld l, a - add hl, de - xor a - jp Function11425c - -; 11537d - -Function11537d: ; 11537d - ld hl, $dc06 - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - ld b, a - inc de - ld a, [de] - ld [hli], a - inc hl - ld a, [de] - ld [hld], a - ld a, b - ld [hli], a - inc de - ld hl, RightOrnament - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld hl, $dc0d - ld [hl], e - inc hl - ld [hl], d - xor a - ld [$dc03], a - ld [wStartDay], a - ret - -; 1153b5 - -Function1153b5: ; 1153b5 - ld hl, $dc0d - ld e, [hl] - inc hl - ld d, [hl] - inc hl - inc hl - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hl], a - inc de - ld a, [de] - ld [Bed], a - inc de - ld hl, $dc0d - ld [hl], e - inc hl - ld [hl], d - ret - -; 1153d2 - -Function1153d2: ; 1153d2 - ld a, [$dc03] - ld d, a - ld a, [$dc04] - ld e, a - push de - xor a - ld [$dc03], a - ld [$dc04], a - ld a, $24 - ld [Console], a - ld a, $dc - ld [LeftOrnament], a - push bc - jr .asm_1153f4 - -.asm_1153ef - ld a, [hli] - and a - jr z, .asm_115426 - ld b, a - -.asm_1153f4 - push bc -.asm_1153f5 - ld a, [hli] - ld [$dc00], a - ld [hFF8C], a - ld [MBC3SRamBank], a - ld e, [hl] - inc hl - ld d, [hl] - inc hl - ld c, [hl] - inc hl - push hl - ld a, [Console] - ld l, a - ld a, [LeftOrnament] - ld h, a - push bc - ld b, $0 - call Function115d53 - inc hl - ld [hl], a - pop bc - ld a, l - ld e, a - ld [Console], a - ld a, h - ld d, a - ld [LeftOrnament], a - dec b - jr z, .asm_11542b - pop hl - jr .asm_1153f5 - -.asm_115426 - dec c - jr nz, .asm_1153ef - jr .asm_115430 - -.asm_11542b - pop hl - pop bc - dec c - jr nz, .asm_1153ef - -.asm_115430 - ld a, l - ld [Console], a - ld a, h - ld [LeftOrnament], a - xor a - ld [de], a - ld hl, $dc24 -.asm_11543d - ld a, [hli] - and a - jr nz, .asm_11543d - ld a, [hl] - and a - jr z, .asm_115457 - dec hl - ld a, $2c - ld [hli], a - jr .asm_11543d - -.asm_11544b - pop hl - ld a, h - ld [$dc03], a - ld a, l - ld [$dc04], a - ld a, $1 - ret - -.asm_115457 - ld hl, $dc24 - call Function114d99 - ld hl, $ddc8 -.asm_115460 - ld a, [hli] - and a - jr z, .asm_11546d - cp $2c - jr nz, .asm_115460 - dec hl - xor a - ld [hli], a - jr .asm_115460 - -.asm_11546d - pop de - ld a, e - cp $1 - jr z, .asm_115477 - xor a - ld [hli], a - jr .asm_115478 - -.asm_115477 - dec bc - -.asm_115478 - ld hl, $dc18 - ld a, [hli] - ld h, [hl] - ld l, a - ld a, b - cp h - jr c, .asm_11548c - jr nz, .asm_11544b - ld a, c - cp l - jr c, .asm_11548c - jr z, .asm_11548c - jr .asm_11544b - -.asm_11548c - ld hl, $dc18 - ld a, c - cpl - ld e, a - ld a, b - cpl - ld d, a - inc de - ld a, [hli] - ld h, [hl] - ld l, a - add hl, de - ld de, $dc18 - ld a, l - ld [de], a - inc de - ld a, h - ld [de], a - ld hl, RightOrnament - ld a, [hli] - ld [wCurrentMapSignpostCount], a - ld [hFF8C], a - ld [MBC3SRamBank], a - ld e, [hl] - inc hl - ld d, [hl] - ld hl, $ddc8 - call Function115d6a - ld hl, RightOrnament - ld a, [wCurrentMapSignpostCount] - ld [hli], a - ld [hl], e - inc hl - ld [hl], d - ld a, [Console] - ld e, a - ld a, [LeftOrnament] - ld d, a - pop hl - ld a, h - ld [$dc03], a - ld a, l - ld [$dc04], a - xor a - ret - -; 1154d4 - -Function1154d4: ; 1154d4 - xor a - ld [wStartDay], a - call Function1155af - call Function11560a - and a - jr nz, .asm_11552c - call Function1155d1 - ld a, [RightOrnament] - dec a - ld [RightOrnament], a - and a - jp z, .asm_115577 - cp $1 - jr nz, .asm_115531 - xor a - ld [wDailyResetTimer], a -.asm_1154f7 - ld a, [BigDoll] - cp $2 - jr z, .asm_115502 - cp $3 - jr z, .asm_11550f - -.asm_115502 - ld a, $a - ld [$dc03], a - call Function114f59 - and a - jr z, .asm_11551a - jr .asm_11552c - -.asm_11550f - ld a, $c - ld [$dc03], a - call Function114f59 - and a - jr nz, .asm_11552c - -.asm_11551a - call Function114ea0 - and a - jr nz, .asm_11552c - call Function114ea0 - and a - jr nz, .asm_11552c - call Function11560a - and a - jr z, .asm_1155a0 - -.asm_11552c - ld a, $1 - jp Function11425c - -.asm_115531 - ld a, $1 - ld [wDailyResetTimer], a - ld a, $b - ld [$dc03], a - call Function114f59 - and a - jr nz, .asm_11552c - call Function114ea0 - and a - jr nz, .asm_11552c -.asm_115547 - call Function114ea0 - and a - jr nz, .asm_11552c - ld a, $e - ld [$dc03], a - call Function114f59 - and a - jr nz, .asm_11552c - call Function114ea0 - and a - jr nz, .asm_11552c - jr .asm_1154f7 - -.asm_115560 - call Function114ea0 - and a - jr nz, .asm_11552c - ld a, [wDailyResetTimer] - and a - jr z, .asm_11557d - ld a, $f - ld [$dc03], a - call Function114f59 - and a - jr nz, .asm_11552c - -.asm_115577 - call Function114ea0 - and a - jr nz, .asm_11552c - -.asm_11557d - ld a, $10 - ld [$dc03], a - call Function114f59 - and a - jr nz, .asm_11552c - call Function114ea0 - and a - jr nz, .asm_11552c - ld hl, $dc09 - ld a, [hli] - cpl - ld e, a - ld a, [hli] - cpl - ld d, a - inc de - ld a, [hli] - ld h, [hl] - ld l, a - add hl, de - xor a - jp Function11425c - -.asm_1155a0 - ld a, [RightOrnament] - dec a - ld [RightOrnament], a - and a - jr z, .asm_115560 - call Function1155d1 - jr .asm_115547 - -; 1155af - -Function1155af: ; 1155af - ld hl, $dc06 - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - ld b, a - inc de - ld a, [de] - ld [hli], a - ld [hl], b - inc hl - ld [hli], a - inc de - ld a, [de] - ld [RightOrnament], a - inc de - ld a, e - ld [hli], a - ld [hl], d - call Function1155d1 - ret - -; 1155d1 - -Function1155d1: ; 1155d1 - ld a, [$dc0d] - ld l, a - ld a, [$dc0e] - ld h, a - ld a, [hli] - ld [BigDoll], a - cp $3 - jr nz, .asm_1155f0 - ld de, Carpet - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - ld a, [hli] - ld [Bed], a - -.asm_1155f0 - ld de, $dc17 - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - ld a, l - ld [$dc0d], a - ld a, h - ld [$dc0e], a - ret - -; 11560a - -Function11560a: ; 11560a - ld a, [$dc06] - ld [wCurrentMapSignpostCount], a - ld a, [$dc17] - ld [$dc00], a - ld [hFF8C], a - ld [MBC3SRamBank], a - ld hl, $dc1a - ld c, [hl] - inc hl - ld b, [hl] - ld a, [wCurrMapCallbackCount] - cp b - jp c, .asm_1156b1 - jr nz, .asm_115631 - ld a, [$dc09] - cp c - jp c, .asm_1156b1 - -.asm_115631 - ld a, b - or c - jr z, .asm_1156a9 - ld a, [$dc09] - ld l, a - ld a, [wCurrMapCallbackCount] - ld h, a - ld a, c - cpl - ld e, a - ld a, b - cpl - ld d, a - inc de - add hl, de - ld a, l - ld [$dc09], a - ld a, h - ld [wCurrMapCallbackCount], a -.asm_11564d - ld a, $3 - cp b - jr c, .asm_1156b6 - jr nz, .asm_115659 - ld a, $db - cp c - jr c, .asm_1156b6 - -.asm_115659 - ld a, [$dc1a] - ld e, a - ld a, [$dc1b] - ld d, a - ld a, c - cpl - ld l, a - ld a, b - cpl - ld h, a - inc hl - add hl, de - ld a, l - ld [$dc1a], a - ld a, h - ld [$dc1b], a - push bc - ld hl, $dc18 - ld e, [hl] - inc hl - ld d, [hl] - ld hl, $dc24 - call Function115d53 - ld hl, $dc18 - ld [hl], e - inc hl - ld [hl], d - pop bc - ld a, [wCurrentMapSignpostCount] - ld [hFF8C], a - ld [MBC3SRamBank], a - ld hl, wCurrMapTriggerCount - ld e, [hl] - inc hl - ld d, [hl] - ld hl, $dc24 - call Function115d6a - ld hl, wCurrMapTriggerCount - ld [hl], e - inc hl - ld [hl], d - ld hl, $dc1a - ld c, [hl] - inc hl - ld b, [hl] - ld a, b - or c - jr nz, .asm_11564d - -.asm_1156a9 - ld a, [wCurrentMapSignpostCount] - ld [$dc06], a - xor a - ret - -.asm_1156b1 - ld a, $1 - ld b, $83 - ret - -.asm_1156b6 - ld a, $3 - cpl - ld h, a - ld a, $db - cpl - ld l, a - add hl, bc - ld de, $dc1a - ld a, l - ld [de], a - inc de - ld a, h - ld [de], a - ld bc, $03db - jr .asm_115659 - -; 1156cc - -Function1156cc: ; 1156cc - ld a, [wStartDay] - and a - jp z, Function11425c - cp $2 - jr z, .asm_1156fa - cp $3 - jr z, .asm_1156fd - cp $4 - jr z, .asm_1156fd - cp $5 - jr z, .asm_115716 - cp $ff - jr z, .asm_11572b - cp $1 - jp nz, Function11425c - call Function115732 - call Function11575c - ld a, h - ld [Poster], a - ld a, l - ld [Plant], a - -.asm_1156fa - call Function1157d0 - -.asm_1156fd - call Function11581e - and a - jr nz, .asm_11572b - ld a, [wStartDay] - cp $5 - jr z, .asm_115716 - ld a, [Poster] - ld h, a - ld a, [Plant] - ld l, a - xor a - jp Function11425c - -.asm_115716 - ld hl, wCurrMapCallbackCount - ld a, [hli] - cpl - ld e, a - ld a, [hli] - cpl - ld d, a - inc de - ld a, [hli] - ld h, [hl] - ld l, a - add hl, de - xor a - ld [wStartDay], a - jp Function11425c - -.asm_11572b - ld a, $1 - ld b, $83 - jp Function11425c - -; 115732 - -Function115732: ; 115732 - ld hl, $dc02 - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - dec de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - ld a, c - ld [hli], a - ld [hl], b - ret - -; 11575c - -Function11575c: ; 11575c - ld hl, $dc05 - ld a, [hli] - ld h, [hl] - ld l, a - ld e, $10 - ld b, $0 - ld c, b - ld d, b - ld a, $3 -.asm_11576a - rl l - rl h - rl d - cp d - jr c, .asm_11577c - rl c - rl b - dec e - jr nz, .asm_11576a - jr .asm_11578a - -.asm_11577c - ld a, d - sub $3 - ld d, a - ld a, $3 - scf - rl c - rl b - dec e - jr nz, .asm_11576a - -.asm_11578a - ld a, d - and a - jr z, .asm_11578f - inc bc - -.asm_11578f - sla c - rl b - sla c - rl b - ld h, b - ld l, c - push hl - ld e, $10 - ld b, $0 - ld c, b - ld d, b - ld a, $40 -.asm_1157a2 - rl l - rl h - rl d - cp d - jr c, .asm_1157b4 - rl c - rl b - dec e - jr nz, .asm_1157a2 - jr .asm_1157c3 - -.asm_1157b4 - ld a, d - sub $40 - ld d, a - ld a, $40 - scf - rl c - rl b - dec e - jr nz, .asm_1157a2 - inc bc - -.asm_1157c3 - and a - sla c - rl b - pop hl - add hl, bc - ld a, $2 - ld [wStartDay], a - ret - -; 1157d0 - -Function1157d0: ; 1157d0 - ld hl, $dc05 - ld a, [hli] - ld h, [hl] - ld l, a - ld a, [$dc0e] - ld c, a - ld a, [Bed] - ld b, a - cp h - jr c, .asm_1157eb - jr nz, .asm_1157e9 - ld a, c - cp l - jr c, .asm_1157eb - jr z, .asm_1157eb - -.asm_1157e9 - ld b, h - ld c, l - -.asm_1157eb - push bc - ld a, b - cpl - ld b, a - ld a, c - cpl - ld c, a - inc bc - add hl, bc - ld a, l - ld [$dc05], a - ld a, h - ld [$dc06], a - ld a, h - or l - jr nz, .asm_11580f - pop bc - ld a, c - ld [$dc0e], a - ld a, b - ld [Bed], a - ld a, $4 - ld [wStartDay], a - ret - -.asm_11580f - pop bc - ld a, c - ld [$dc0e], a - ld a, b - ld [Bed], a - ld a, $3 - ld [wStartDay], a - ret - -; 11581e - -Function11581e: ; 11581e - ld a, [wStartDay] - and a - ret z - ld a, [$dc0e] - ld c, a - ld a, [Bed] - ld b, a - ld hl, $dc02 - ld a, [hli] - ld [$dc00], a - ld [hFF8C], a - ld [MBC3SRamBank], a - ld e, [hl] - inc hl - ld d, [hl] - ld hl, $dc24 - push bc - call Function115d53 - pop bc - ld hl, $dc02 - ld a, [$dc00] - ld [hli], a - ld [hl], e - inc hl - ld [hl], d - ld hl, $dc24 - ld de, PartyMon5Defense - call Function1158c2 - ld hl, PartyMon5Defense - ld c, [hl] - inc hl - ld b, [hl] - inc hl - push hl - ld a, [wCurrMapCallbackCount] - ld l, a - ld a, [wCurrMapCallbackHeaderPointer] - ld h, a - cp b - jr c, .asm_1158bb - jr nz, .asm_11586e - ld a, l - cp c - jr c, .asm_1158bb - -.asm_11586e - push bc - ld a, b - cpl - ld b, a - ld a, c - cpl - ld c, a - inc bc - add hl, bc - ld a, l - ld [wCurrMapCallbackCount], a - ld a, h - ld [wCurrMapCallbackHeaderPointer], a - pop bc - pop hl - ld hl, wCurrMapTriggerCount - ld a, [hli] - ld [wCurrentMapSignpostCount], a - ld [hFF8C], a - ld [MBC3SRamBank], a - ld e, [hl] - inc hl - ld d, [hl] - ld hl, PartyMon5Speed - call Function115d6a - ld hl, wCurrMapTriggerCount - ld a, [wCurrentMapSignpostCount] - ld [hli], a - ld a, e - ld [hli], a - ld [hl], d - ld a, [wStartDay] - cp $3 - jr z, .asm_1158b4 - cp $4 - jr z, .asm_1158ad - jr .asm_1158bc - -.asm_1158ad - ld a, $5 - ld [wStartDay], a - jr .asm_1158b9 - -.asm_1158b4 - ld a, $2 - ld [wStartDay], a - -.asm_1158b9 - xor a - ret - -.asm_1158bb - pop hl - -.asm_1158bc - ld a, $ff - ld [wStartDay], a - ret - -; 1158c2 - -Function1158c2: ; 1158c2 - ld a, e - ld [SwarmFlags], a - ld a, d - ld [$dc21], a - xor a - ld [$dc22], a - xor a - ld [de], a - inc de - ld [de], a - inc de - ld a, c - ld [$dc19], a - ld a, b - ld [$dc1a], a - ld c, e - ld b, d - ld e, l - ld d, h - ld l, c - ld h, b - xor a - ld [WeeklyFlags], a - -.asm_1158e5 - ld b, $3 - push hl - ld hl, $dc1b -.asm_1158eb - ld a, [de] - inc de - ld [hli], a - dec b - jr nz, .asm_1158eb - ld a, [$dc19] - ld c, a - ld a, [$dc1a] - ld b, a - xor a - or b - jr nz, .asm_115914 - ld a, $2 - cp c - jr c, .asm_115914 - push hl - dec hl - ld a, c - ld [WeeklyFlags], a -.asm_115908 - xor a - ld [hld], a - inc c - ld a, $3 - cp c - jr nz, .asm_115908 - pop hl - ld bc, $0003 - -.asm_115914 - dec bc - dec bc - dec bc - ld a, c - ld [$dc19], a - ld a, b - ld [$dc1a], a - push de - push hl - ld hl, SwarmFlags - ld a, [hli] - ld h, [hl] - ld l, a - ld e, [hl] - inc hl - ld d, [hl] -rept 4 - inc de -endr - ld [hl], d - dec hl - ld [hl], e - pop hl - dec hl - ld c, [hl] - dec hl - ld b, [hl] - dec hl - ld a, [hl] - ld d, a - srl a - srl a - ld [hli], a - ld a, $3 - and d - ld d, a - ld a, $f0 - and b - or d - swap a - ld [hli], a - ld a, $f - and b - ld d, a - ld a, c - and $c0 - or d - rlca - rlca - ld [hli], a - ld a, $3f - and c - ld [hld], a - dec hl - dec hl - pop de - ld b, h - ld c, l - pop hl - ld a, [bc] - inc bc - call Function1159dc - ld [hli], a - ld a, [bc] - inc bc - call Function1159dc - ld [hli], a - ld a, [bc] - inc bc - call Function1159dc - ld [hli], a - ld a, [bc] - inc bc - call Function1159dc - ld [hli], a - ld a, [$dc22] - inc a - cp $10 - jr nz, .asm_1159b1 - push af - push bc - ld a, [$dc19] - ld b, a - ld a, [$dc1a] - or b - jr nz, .asm_115998 - ld a, [$dc05] - ld b, a - ld a, [$dc06] - or b - jr nz, .asm_115998 - pop bc - pop af - jr .asm_1159c4 - -.asm_115998 - pop bc - pop af - ld a, $d - ld [hli], a - ld a, $a - ld [hli], a - push hl - ld hl, SwarmFlags - ld a, [hli] - ld h, [hl] - ld l, a - ld a, [hli] - ld c, a - ld b, [hl] - inc bc - inc bc - ld a, b - ld [hld], a - ld [hl], c - pop hl - xor a - -.asm_1159b1 - ld [$dc22], a - ld a, [$dc19] - cp $0 - jp nz, .asm_1158e5 - ld a, [$dc1a] - cp $0 - jp nz, .asm_1158e5 - -.asm_1159c4 - ld a, [WeeklyFlags] - cp $0 - jr z, .asm_1159d8 - push hl - dec hl - ld b, a -.asm_1159ce - ld a, $3d - ld [hld], a - inc b - ld a, $3 - cp b - jr nz, .asm_1159ce - pop hl - -.asm_1159d8 - ld a, $0 - ld [hl], a - ret - -; 1159dc - -Function1159dc: ; 1159dc - cp $1a - jr c, .asm_1159ef - cp $34 - jr c, .asm_1159f2 - cp $3e - jr c, .asm_1159f5 - cp $3e - jr z, .asm_1159f8 - ld a, $2f - ret - -.asm_1159ef - add $41 - ret - -.asm_1159f2 - add $47 - ret - -.asm_1159f5 - sub $4 - ret - -.asm_1159f8 - ld a, $2b - ret - -; 1159fb - -Function1159fb: ; 1159fb - ld a, [wStartDay] - and a - jp z, Function11425c - cp $2 - jr z, .asm_115a29 - cp $3 - jr z, .asm_115a2c - cp $4 - jr z, .asm_115a2c - cp $5 - jr z, .asm_115a45 - cp $ff - jr z, .asm_115a5a - cp $1 - jp nz, Function11425c - call Function115732 - call Function115a5f - ld a, h - ld [Plant], a - ld a, l - ld [Poster], a - -.asm_115a29 - call Function115ab0 - -.asm_115a2c - call Function115b00 - and a - jr nz, .asm_115a5a - ld a, [wStartDay] - cp $5 - jr z, .asm_115a45 - ld a, [Poster] - ld h, a - ld a, [Plant] - ld l, a - xor a - jp Function11425c - -.asm_115a45 - ld hl, wCurrMapCallbackCount - ld a, [hli] - cpl - ld e, a - ld a, [hli] - cpl - ld d, a - inc de - ld a, [hli] - ld h, [hl] - ld l, a - add hl, de - xor a - ld [wStartDay], a - jp Function11425c - -.asm_115a5a - ld a, $1 - jp Function11425c - -; 115a5f - -Function115a5f: ; 115a5f - ld hl, $dc05 - ld a, [hli] - ld h, [hl] - ld l, a - push hl - ld e, $10 - ld b, $0 - ld c, b - ld d, b - ld a, $42 -.asm_115a6e - rl l - rl h - rl d - cp d - jr c, .asm_115a80 - rl c - rl b - dec e - jr nz, .asm_115a6e - jr .asm_115a8e - -.asm_115a80 - ld a, d - sub $42 - ld d, a - ld a, $42 - scf - rl c - rl b - dec e - jr nz, .asm_115a6e - -.asm_115a8e - sla c - rl b - pop hl - ld a, b - cpl - ld b, a - ld a, c - cpl - ld c, a - inc bc - add hl, bc - srl h - rr l - srl h - rr l - ld b, h - ld c, l - sla c - rl b - add hl, bc - ld a, $2 - ld [wStartDay], a - ret - -; 115ab0 - -Function115ab0: ; 115ab0 - ld hl, $dc05 - ld a, [hli] - ld h, [hl] - ld l, a - ld a, [$dc0e] - ld c, a - ld a, [Bed] - ld b, a - cp h - jr c, .asm_115acb - jr nz, .asm_115ac9 - ld a, c - cp l - jr c, .asm_115acb - jr z, .asm_115acb - -.asm_115ac9 - ld b, h - ld c, l - -.asm_115acb - push bc - ld a, b - cpl - ld b, a - ld a, c - cpl - ld c, a - inc bc - add hl, bc - ld a, l - ld [$dc05], a - ld a, h - ld [$dc06], a - ld a, h - or l - jr nz, .asm_115af0 - pop bc - ld a, c - ld [$dc0e], a - ld a, b - ld [Bed], a - ld a, $4 - ld [wStartDay], a - xor a - ret - -.asm_115af0 - pop bc - ld a, c - ld [$dc0e], a - ld a, b - ld [Bed], a - ld a, $3 - ld [wStartDay], a - xor a - ret - -; 115b00 - -Function115b00: ; 115b00 - ld a, [wStartDay] - and a - ret z - ld a, [$dc0e] - ld c, a - ld a, [Bed] - ld b, a - ld hl, $dc02 - ld a, [hli] - ld [$dc00], a - ld [hFF8C], a - ld [MBC3SRamBank], a - ld e, [hl] - inc hl - ld d, [hl] - ld hl, PartyMon5Defense - push bc - call Function115bc8 - pop hl - and a - jr z, .asm_115b43 - cp $2 - jr z, .asm_115b3b - ld a, [wStartDay] - cp $4 - jr z, .asm_115b43 - inc hl - inc hl - jr .asm_115b43 - -.asm_115b36 - pop hl - ld b, $83 - jr .asm_115b3d - -.asm_115b3b - ld b, $81 - -.asm_115b3d - ld a, $ff - ld [wStartDay], a - ret - -.asm_115b43 - ld a, [Carpet] - add a - cpl - ld c, a - ld b, $ff - inc bc - add hl, bc - ld b, h - ld c, l - ld hl, $dc02 - ld a, [$dc00] - ld [hli], a - ld [hl], e - inc hl - ld [hl], d - ld hl, PartyMon5Defense - ld de, $dc24 - call Function115c49 - ld hl, $dc24 - ld c, [hl] - inc hl - ld b, [hl] - inc hl - push hl - ld a, [wCurrMapCallbackCount] - ld l, a - ld a, [wCurrMapCallbackHeaderPointer] - ld h, a - cp b - jr c, .asm_115b36 - jr nz, .asm_115b7b - ld a, l - cp c - jr c, .asm_115b36 - -.asm_115b7b - push bc - ld a, b - cpl - ld b, a - ld a, c - cpl - ld c, a - inc bc - add hl, bc - ld a, l - ld [wCurrMapCallbackCount], a - ld a, h - ld [wCurrMapCallbackHeaderPointer], a - pop bc - pop hl - ld hl, wCurrMapTriggerCount - ld a, [hli] - ld [wCurrentMapSignpostCount], a - ld [hFF8C], a - ld [MBC3SRamBank], a - ld e, [hl] - inc hl - ld d, [hl] - ld hl, $dc26 - call Function115d6a - ld hl, wCurrMapTriggerCount - ld a, [wCurrentMapSignpostCount] - ld [hli], a - ld a, e - ld [hli], a - ld [hl], d - ld a, [wStartDay] - cp $3 - jr z, .asm_115bc1 - cp $4 - jr z, .asm_115bba - jr .asm_115b3b - -.asm_115bba - ld a, $5 - ld [wStartDay], a - jr .asm_115bc6 - -.asm_115bc1 - ld a, $2 - ld [wStartDay], a - -.asm_115bc6 - xor a - ret - -; 115bc8 - -Function115bc8: ; 115bc8 - xor a - ld [Carpet], a -.asm_115bcc - ld a, [de] - ld [hli], a - inc e - call z, .Function115c3d - dec bc - ld a, b - or c - jr z, .asm_115c46 - ld a, [de] - ld [hli], a - inc e - call z, .Function115c3d - dec bc - ld a, b - or c - jr z, .asm_115c1b - ld a, [de] - ld [hli], a - inc e - call z, .Function115c3d - dec bc - ld a, b - or c - jr z, .asm_115c46 - ld a, [de] - ld [hli], a - inc e - call z, .Function115c3d - dec bc - ld a, b - or c - jr z, .asm_115c3a - ld a, [de] - cp $d - jr nz, .asm_115bcc - inc e - call z, .Function115c3d - ld a, [de] - cp $a - jr nz, .asm_115c46 - inc e - call z, .Function115c3d - dec bc - ld a, b - or c - jr z, .asm_115c46 - ld a, [Carpet] - inc a - ld [Carpet], a - dec bc - ld a, b - or c - jr nz, .asm_115bcc - -.asm_115c1b - ld a, [wStartDay] - cp $4 - jr z, .asm_115c33 - ld a, [de] - ld [hli], a - inc e - call z, .Function115c3d - ld a, [de] - ld [hli], a - inc e - call z, .Function115c3d - xor a - ld [hl], a - ld a, $1 - ret - -.asm_115c33 - dec hl - dec hl - xor a - ld [hl], a - ld a, $1 - ret - -.asm_115c3a - xor a - ld [hl], a - ret - -.Function115c3d: - push bc - ld bc, $dc00 - call Function115d80 - pop bc - ret - -.asm_115c46 - ld a, $2 - ret - -; 115c49 - -Function115c49: ; 115c49 - ld a, e - ld [WeeklyFlags], a - ld a, d - ld [SwarmFlags], a - xor a - ld [de], a - inc de - ld [de], a - inc de - - ld a, c - ld [$dc19], a - ld a, b - ld [$dc1a], a - ld c, e - ld b, d - ld e, l - ld d, h - ld l, c - ld h, b - -.asm_115c64 - ld a, [$dc1a] - or a - jr nz, .asm_115c71 - ld a, [$dc19] - cp $4 - jr c, .asm_115c99 - -.asm_115c71 - ld b, $4 - push hl - ld hl, $dc1b -.asm_115c77 - ld a, [de] - inc de - call Function115cfd - ld [hli], a - dec b - jr nz, .asm_115c77 - ld a, [$dc19] - ld c, a - ld a, [$dc1a] - ld b, a -rept 4 - dec bc -endr -.asm_115c8c - ld a, [de] - cp $d - jr z, .asm_115c95 - cp $a - jr nz, .asm_115c9f - -.asm_115c95 - inc de - dec bc - jr .asm_115c8c - -.asm_115c99 - ld a, $ff - ld [wStartDay], a - ret - -.asm_115c9f - ld a, c - ld [$dc19], a - ld a, b - ld [$dc1a], a - push de - push hl - ld hl, WeeklyFlags - ld a, [hli] - ld h, [hl] - ld l, a - ld e, [hl] - inc hl - ld d, [hl] - inc de - inc de - inc de - ld [hl], d - dec hl - ld [hl], e - pop hl - dec hl - ld d, [hl] - dec hl - ld c, [hl] - dec hl - ld b, [hl] - dec hl - ld a, [hl] - sla b - sla b - sla b - rla - sla b - rla - ld [hli], a - ld [hl], b - inc hl - rrc c - rrc c - ld [hl], c - dec hl - ld a, $f - and c - or [hl] - ld [hli], a - ld a, [hli] - and $c0 - or [hl] - dec hl - ld [hld], a - dec hl - pop de - ld b, h - ld c, l - pop hl - ld a, [bc] - ld [hli], a - inc bc - ld a, [bc] - ld [hli], a - inc bc - ld a, [bc] - ld [hli], a - ld a, [$dc19] - cp $0 - jp nz, .asm_115c64 - ld a, [$dc1a] - cp $0 - jp nz, .asm_115c64 - ret - -; 115cfd - -Function115cfd: ; 115cfd - cp $2b - jr c, .asm_115d27 - jr z, .asm_115d2f - cp $2f - jr c, .asm_115d27 - jr z, .asm_115d32 - cp $30 - jr c, .asm_115d27 - cp $3a - jr c, .asm_115d35 - cp $3d - jr c, .asm_115d27 - jr z, .asm_115d38 - cp $41 - jr c, .asm_115d27 - cp $5b - jr c, .asm_115d4d - cp $61 - jr c, .asm_115d27 - cp $7b - jr c, .asm_115d50 - -.asm_115d27 - pop hl - pop hl - ld a, $ff - ld [wStartDay], a - ret - -.asm_115d2f - ld a, $3e - ret - -.asm_115d32 - ld a, $3f - ret - -.asm_115d35 - add $4 - ret - -.asm_115d38 - push de - push hl - ld a, [WeeklyFlags] - ld l, a - ld a, [SwarmFlags] - ld h, a - ld e, [hl] - inc hl - ld d, [hl] - dec de - ld [hl], d - dec hl - ld [hl], e - pop hl - pop de - xor a - ret - -.asm_115d4d - sub $41 - ret - -.asm_115d50 - sub $47 - ret - -; 115d53 - -Function115d53: ; 115d53 -.asm_115d53 - ld a, [de] - ld [hli], a - inc e - call z, Function115d61 - dec bc - ld a, b - or c - jr nz, .asm_115d53 - xor a - ld [hl], a - ret - -; 115d61 - -Function115d61: ; 115d61 - push bc - ld bc, $dc00 - call Function115d80 - pop bc - ret - -; 115d6a - -Function115d6a: ; 115d6a -.asm_115d6a - ld a, [hli] - ld [de], a - inc e - call z, Function115d77 - dec bc - ld a, b - or c - jr nz, .asm_115d6a - xor a - ret - -; 115d77 - -Function115d77: ; 115d77 - push bc - ld bc, wCurrentMapSignpostCount - call Function115d80 - pop bc - ret - -; 115d80 - -Function115d80: ; 115d80 - ld e, a - ld a, d - cp $bf - jr z, .asm_115d8b - inc d - ld a, e - ld e, $0 - ret - -.asm_115d8b - ld a, [bc] - inc a - ld [bc], a - ld [hFF8C], a - ld [MBC3SRamBank], a - ld a, e - ld d, $a0 - ld e, $0 - ret - -; 115d99 - -INCLUDE "misc/mobile_45_sprite_engine.asm" - -; 116567 - -Function116567: ; 116567 - ld hl, wc3f7 - dec [hl] - ret nz - ld hl, wc3f6 - inc [hl] -.asm_116570 - ld a, $7 - sla a - ld c, a - ld b, 0 - ld hl, Unknown_1167eb - add hl, bc - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - push de - pop hl - ld a, [wc3f6] - sla a - ld c, a - ld b, $0 - add hl, bc - ld a, [hli] - cp $fe - jr nz, .asm_116595 - xor a - ld [wc3f6], a - jr .asm_116570 - -.asm_116595 - ld [wc3f5], a - ld a, [hl] - ld [wc3f7], a - ret - -; 11659d - -Function11659d: ; 11659d - ld a, [wc314] - cp $12 - ret nc - ld e, a - ld d, 0 - ld hl, Jumptable_1165af - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp hl - -; 1165af - -Jumptable_1165af: ; 1165af - dw Function11677e - dw Function1165d5 - dw Function1165d8 - dw Function1165e3 - dw Function1165f5 - dw Function116600 - dw Function116615 - dw Function116618 - dw Function116623 - dw Function116635 - dw Function116640 - dw Function116655 - dw Function11665c - dw Function11668d - dw Function11669f - dw Function1166a2 - dw Function1166c4 - dw Function1166d6 - dw Function1166d6 -; 1165d5 - -Function1165d5: ; 1165d5 - call Function11678e - -Function1165d8: - ld a, $0 - ld c, a - ld a, $ff - ld b, a - ld a, $a8 - call Function1166f4 - -Function1165e3: - call Function116747 - ld a, [wc30e] - cp $e8 - ret nz - ld a, $1 - call Function116780 - ret c - jp Function116797 - -; 1165f5 - -Function1165f5: ; 1165f5 - ld a, $1 - ld c, a - ld a, $1 - ld b, a - ld a, $e8 - call Function1166f4 - -Function116600: - call Function116747 - ld a, [wc30e] - cp $a8 - ret nz - ld a, $1 - call Function116780 - ret c - ld a, $2 - ld [wc314], a - ret - -; 116615 - -Function116615: ; 116615 - call Function11678e - -Function116618: - ld a, $3 - ld c, a - ld a, $1 - ld b, a - ld a, $28 - call Function11671f - -Function116623: - call Function116747 - ld a, [wc30f] - cp $a0 - ret nz - ld a, $6 - call Function116780 - ret c - jp Function116797 - -; 116635 - -Function116635: ; 116635 - ld a, $2 - ld c, a - ld a, $ff - ld b, a - ld a, $a0 - call Function11671f - -Function116640: - call Function116747 - ld a, [wc30f] - cp $28 - ret nz - ld a, $6 - call Function116780 - ret c - ld a, $7 - ld [wc314], a - ret - -; 116655 - -Function116655: ; 116655 - xor a - ld [wc314 + 3], a - call Function11678e - -Function11665c: - ld hl, wc314 + 3 - ld a, $1 - xor [hl] - ld [hl], a - add $4 - ld c, a - call Function11679c - ld a, [wc314 + 3] - and a - jr nz, .asm_116673 - ld a, $48 - jr .asm_116675 - -.asm_116673 - ld a, $78 - -.asm_116675 - ld [wc30f], a - call Random - ld a, [hRandomAdd] - and $7 - sla a - sla a - sla a - add $30 - ld [wc30e], a - call Function116797 - -Function11668d: - ld a, [wc311] - cp $ff - ret nz - ld a, $b - call Function116780 - ret c - ld a, $c - ld [wc314], a - ret - -; 11669f - -Function11669f: ; 11669f - call Function11678e - -Function1166a2: - ld a, $a8 - ld [wc30e], a - ld [wc3f1], a - ld a, $60 - ld [wc30f], a - ld [wc3f3], a - ld a, $ff - ld [wc314 + 2], a - xor a - ld [wc314 + 3], a - ld a, $0 - ld c, a - call Function11679c - call Function116797 - -Function1166c4: - call Function116747 - ld a, [wc30e] - cp $58 - ret nz - ld a, $6 - ld c, a - call Function11679c - call Function116797 - -Function1166d6: - call Function116747 - ld a, [wc30e] - cp $48 - jr nz, .asm_1166e4 - xor a - ld [wc314 + 2], a - -.asm_1166e4 - ld a, [wc311] - cp $ff - ret nz - ld a, $4 - ld [$c319], a - xor a - ld [wc314], a - ret - -; 1166f4 - -Function1166f4: ; 1166f4 - ld [wc30e], a - ld a, b - ld [wc314 + 2], a - xor a - ld [wc314 + 3], a - ld hl, wc30f -.asm_116702 - call Random - ld a, [hRandomAdd] - and $7 - jr z, .asm_11670c - dec a - -.asm_11670c - sla a - sla a - sla a - add $48 - cp [hl] - jr z, .asm_116702 - ld [hl], a - call Function11679c - call Function116797 - ret - -; 11671f - -Function11671f: ; 11671f - ld [wc30f], a - ld a, b - ld [wc314 + 3], a - xor a - ld [wc314 + 2], a - ld hl, wc30e -.asm_11672d - call Random - ld a, [hRandomAdd] - and $7 - sla a - sla a - sla a - add $30 - cp [hl] - jr z, .asm_11672d - ld [hl], a - call Function11679c - call Function116797 - ret - -; 116747 - -Function116747: ; 116747 - ld hl, wc30e - ld a, [wc314 + 2] - add [hl] - ld [hl], a - ld hl, wc30f - ld a, [wc314 + 3] - add [hl] - ld [hl], a - ret - -; 116758 - -Function116758: ; 116758 - ld a, [wc30f] - cp $30 - jr c, .asm_116770 - jr z, .asm_116770 - cp $38 - jr c, .asm_116774 - jr z, .asm_116774 - cp $40 - jr c, .asm_116778 - jr z, .asm_116778 - xor a - jr .asm_11677a - -.asm_116770 - ld a, $c - jr .asm_11677a - -.asm_116774 - ld a, $8 - jr .asm_11677a - -.asm_116778 - ld a, $4 - -.asm_11677a - ld [wc314 + 4], a - ret - -; 11677e - -Function11677e: ; 11677e - ld a, $0 - -Function116780: - ld hl, wc314 + 1 - cp [hl] - jr z, .asm_11678c - ld a, [hl] - ld [wc314], a - scf - ret - -.asm_11678c - and a - ret - -; 11678e - -Function11678e: ; 11678e - ld hl, wc314 - ld a, [hl] - ld [wc314 + 1], a - inc [hl] - ret - -; 116797 - -Function116797: ; 116797 - ld hl, wc314 - inc [hl] - ret - -; 11679c - -Function11679c: - ld a, c - ld [wc311], a - xor a - ld [wc312], a - jr asm_1167af - -Function1167a6: ; 1167a6 - ld hl, wc313 - dec [hl] - ret nz - ld hl, wc312 - inc [hl] - -asm_1167af -.asm_1167af - ld a, [wc311] - cp $ff - ret z - sla a - ld c, a - ld b, 0 - ld hl, Unknown_1167eb - add hl, bc - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - push de - pop hl - ld a, [wc312] - sla a - ld c, a - ld b, $0 - add hl, bc - ld a, [hli] - cp $ff - jr z, .asm_1167dc - cp $fe - jr nz, .asm_1167e3 - xor a - ld [wc312], a - jr .asm_1167af - -.asm_1167dc - ld a, $ff - ld [wc311], a - ld a, $fd - -.asm_1167e3 - ld [wc310], a - ld a, [hl] - ld [wc313], a - ret - -; 1167eb - -Unknown_1167eb: - dw Unknown_1167fb - dw Unknown_116808 - dw Unknown_116867 - dw Unknown_116870 - dw Unknown_116815 - dw Unknown_11683e - dw Unknown_116881 - dw Unknown_1168ae - -Unknown_1167fb: ; 1167fb - db $0, $6 - db $1, $4 - db $2, $4 - db $3, $6 - db $2, $4 - db $1, $4 - db $fe - -Unknown_116808: ; 116808 - db $4, $6 - db $5, $4 - db $6, $4 - db $7, $6 - db $6, $4 - db $5, $4 - db $fe - -Unknown_116815: ; 116815 - db $fd, $20 - db $8, $c - db $9, $24 - db $a, $4 - db $b, $8 - db $a, $4 - db $9, $6 - db $c, $4 - db $d, $8 - db $c, $5 - db $9, $24 - db $a, $4 - db $b, $8 - db $a, $4 - db $9, $6 - db $c, $4 - db $d, $8 - db $c, $5 - db $9, $8 - db $8, $4 - db $ff - -Unknown_11683e: ; 11683e - db $fd, $20 - db $e, $c - db $f, $24 - db $10, $4 - db $11, $8 - db $10, $4 - db $f, $6 - db $12, $4 - db $13, $8 - db $12, $5 - db $f, $24 - db $10, $4 - db $11, $8 - db $10, $4 - db $f, $6 - db $12, $4 - db $13, $8 - db $12, $5 - db $f, $8 - db $e, $4 - db $ff - -Unknown_116867: ; 116867 - db $14, $8 - db $15, $8 - db $16, $8 - db $15, $8 - db $fe - -Unknown_116870: ; 116870 - db $17, $5 - db $18, $5 - db $19, $5 - db $1a, $5 - db $1b, $5 - db $1a, $5 - db $19, $5 - db $18, $5 - db $fe - -Unknown_116881: ; 116881 - db $1c, $7 - db $1d, $7 - db $1e, $a - db $1f, $a - db $20, $5 - db $21, $5 - db $20, $5 - db $21, $5 - db $20, $18 - db $22, $4 - db $23, $2 - db $22, $2 - db $23, $2 - db $22, $1 - db $23, $1 - db $22, $1 - db $23, $4 - db $fd, $1 - db $23, $1 - db $fd, $2 - db $23, $2 - db $fd, $40 - db $ff - -Unknown_1168ae: ; 1168ae - db $24, $4 - db $25, $4 - db $26, $4 - db $27, $4 - db $28, $4 - db $29, $4 - db $2a, $4 - db $2b, $4 - db $2c, $4 - db $2d, $4 - db $2e, $4 - db $fe -; 1168c5 - -Unknown_1168c5: - dw Unknown_116923 - dw Unknown_116960 - dw Unknown_1169a1 - dw Unknown_1169de - dw Unknown_116a1b - dw Unknown_116a58 - dw Unknown_116a99 - dw Unknown_116ad6 - dw Unknown_116d1b - dw Unknown_116d4c - dw Unknown_116d85 - dw Unknown_116dbe - dw Unknown_116df7 - dw Unknown_116e30 - dw Unknown_116e69 - dw Unknown_116e9a - dw Unknown_116ed3 - dw Unknown_116f0c - dw Unknown_116f45 - dw Unknown_116f7e - dw Unknown_116b13 - dw Unknown_116b54 - dw Unknown_116b95 - dw Unknown_116bd6 - dw Unknown_116c17 - dw Unknown_116c58 - dw Unknown_116c99 - dw Unknown_116cda - dw Unknown_116fb7 - dw Unknown_116fec - dw Unknown_117025 - dw Unknown_117056 - dw Unknown_117083 - dw Unknown_1170c0 - dw Unknown_1170fd - dw Unknown_11713a - dw Unknown_117177 - dw Unknown_11719c - dw Unknown_1171c1 - dw Unknown_1171e6 - dw Unknown_11720b - dw Unknown_117230 - dw Unknown_117255 - dw Unknown_11727a - dw Unknown_11729f - dw Unknown_1172c4 - dw Unknown_1172e9 - -Unknown_116923: ; 116923 - db $f - db $0, $0, $1, $a - db $0, $8, $2, $d - db $0, $10, $3, $d - db $0, $18, $4, $d - db $8, $0, $11, $a - db $8, $8, $12, $a - db $8, $10, $13, $a - db $8, $18, $14, $d - db $10, $0, $21, $a - db $10, $8, $22, $a - db $10, $10, $23, $a - db $10, $18, $24, $a - db $18, $0, $31, $a - db $18, $8, $32, $a - db $18, $10, $33, $a - -Unknown_116960: ; 116960 - db $10 - db $1, $0, $1, $a - db $1, $8, $2, $d - db $1, $10, $3, $d - db $1, $18, $4, $d - db $9, $0, $11, $a - db $9, $8, $12, $a - db $9, $10, $13, $a - db $9, $18, $14, $d - db $11, $0, $5, $a - db $11, $8, $6, $a - db $11, $10, $7, $a - db $11, $18, $34, $a - db $19, $0, $15, $a - db $19, $8, $16, $a - db $19, $10, $17, $a - db $19, $18, $35, $a - -Unknown_1169a1: ; 1169a1 - db $f - db $1, $0, $1, $a - db $1, $8, $2, $d - db $1, $10, $3, $d - db $1, $18, $4, $d - db $9, $0, $11, $a - db $9, $8, $12, $a - db $9, $10, $13, $a - db $9, $18, $14, $d - db $11, $0, $25, $a - db $11, $8, $26, $a - db $11, $10, $27, $a - db $11, $18, $34, $a - db $19, $8, $36, $a - db $19, $10, $37, $a - db $19, $18, $35, $a - -Unknown_1169de: ; 1169de - db $f - db $0, $0, $1, $a - db $0, $8, $2, $d - db $0, $10, $3, $d - db $0, $18, $4, $d - db $8, $0, $11, $a - db $8, $8, $12, $a - db $8, $10, $13, $a - db $8, $18, $14, $d - db $10, $0, $10, $a - db $10, $8, $20, $a - db $10, $10, $30, $a - db $10, $18, $24, $a - db $18, $0, $31, $a - db $18, $8, $32, $a - db $18, $10, $33, $a - -Unknown_116a1b: ; 116a1b - db $f - db $0, $0, $4, $2d - db $0, $8, $3, $2d - db $0, $10, $2, $2d - db $0, $18, $1, $2a - db $8, $0, $14, $2d - db $8, $8, $13, $2a - db $8, $10, $12, $2a - db $8, $18, $11, $2a - db $10, $0, $24, $2a - db $10, $8, $23, $2a - db $10, $10, $22, $2a - db $10, $18, $21, $2a - db $18, $8, $33, $2a - db $18, $10, $32, $2a - db $18, $18, $31, $2a - -Unknown_116a58: ; 116a58 - db $10 - db $1, $0, $4, $2d - db $1, $8, $3, $2d - db $1, $10, $2, $2d - db $1, $18, $1, $2a - db $9, $0, $14, $2d - db $9, $8, $13, $2a - db $9, $10, $12, $2a - db $9, $18, $11, $2a - db $11, $0, $34, $2a - db $11, $8, $7, $2a - db $11, $10, $6, $2a - db $11, $18, $5, $2a - db $19, $0, $35, $2a - db $19, $8, $17, $2a - db $19, $10, $16, $2a - db $19, $18, $15, $2a - -Unknown_116a99: ; 116a99 - db $f - db $1, $0, $4, $2d - db $1, $8, $3, $2d - db $1, $10, $2, $2d - db $1, $18, $1, $2a - db $9, $0, $14, $2d - db $9, $8, $13, $2a - db $9, $10, $12, $2a - db $9, $18, $11, $2a - db $11, $0, $34, $2a - db $11, $8, $27, $2a - db $11, $10, $26, $2a - db $11, $18, $25, $2a - db $19, $0, $35, $2a - db $19, $8, $37, $2a - db $19, $10, $36, $2a - -Unknown_116ad6: ; 116ad6 - db $f - db $0, $0, $4, $2d - db $0, $8, $3, $2d - db $0, $10, $2, $2d - db $0, $18, $1, $2a - db $8, $0, $14, $2d - db $8, $8, $13, $2a - db $8, $10, $12, $2a - db $8, $18, $11, $2a - db $10, $0, $24, $2a - db $10, $8, $30, $2a - db $10, $10, $20, $2a - db $10, $18, $10, $2a - db $18, $8, $33, $2a - db $18, $10, $32, $2a - db $18, $18, $31, $2a - -Unknown_116b13: ; 116b13 - db $10 - db $18, $0, $0, $b - db $18, $8, $8, $b - db $18, $10, $5c, $b - db $18, $18, $0, $b - db $10, $0, $0, $b - db $10, $8, $5d, $b - db $10, $10, $5e, $b - db $10, $18, $0, $b - db $8, $0, $50, $b - db $8, $8, $51, $b - db $8, $10, $52, $b - db $8, $18, $50, $2b - db $0, $0, $43, $b - db $0, $8, $44, $b - db $0, $10, $44, $2b - db $0, $18, $43, $2b - -Unknown_116b54: ; 116b54 - db $10 - db $19, $0, $0, $b - db $19, $8, $18, $b - db $19, $10, $c, $b - db $19, $18, $0, $b - db $11, $0, $42, $b - db $11, $8, $3a, $b - db $11, $10, $3a, $2b - db $11, $18, $42, $2b - db $9, $0, $58, $b - db $9, $8, $45, $b - db $9, $10, $45, $2b - db $9, $18, $58, $2b - db $1, $0, $d, $b - db $1, $8, $44, $b - db $1, $10, $44, $2b - db $1, $18, $d, $2b - -Unknown_116b95: ; 116b95 - db $10 - db $18, $0, $0, $b - db $18, $8, $5c, $2b - db $18, $10, $8, $2b - db $18, $18, $0, $b - db $10, $0, $0, $b - db $10, $8, $5e, $2b - db $10, $10, $5d, $2b - db $10, $18, $0, $b - db $8, $0, $50, $b - db $8, $8, $52, $2b - db $8, $10, $51, $2b - db $8, $18, $50, $2b - db $0, $0, $43, $b - db $0, $8, $44, $b - db $0, $10, $44, $2b - db $0, $18, $43, $2b - -Unknown_116bd6: ; 116bd6 - db $10 - db $18, $0, $0, $a - db $18, $8, $56, $a - db $18, $10, $57, $a - db $18, $18, $0, $a - db $10, $0, $64, $a - db $10, $8, $4a, $a - db $10, $10, $4b, $a - db $10, $18, $71, $a - db $8, $0, $54, $a - db $8, $8, $55, $a - db $8, $10, $55, $2a - db $8, $18, $54, $2a - db $0, $0, $48, $a - db $0, $8, $49, $a - db $0, $10, $49, $2a - db $0, $18, $48, $2a - -Unknown_116c17: ; 116c17 - db $10 - db $19, $0, $0, $a - db $19, $8, $76, $a - db $19, $10, $77, $a - db $19, $18, $0, $a - db $11, $0, $64, $a - db $11, $8, $69, $a - db $11, $10, $6a, $a - db $11, $18, $6b, $a - db $9, $0, $6f, $a - db $9, $8, $70, $a - db $9, $10, $70, $2a - db $9, $18, $6f, $2a - db $1, $0, $63, $a - db $1, $8, $19, $a - db $1, $10, $19, $2a - db $1, $18, $63, $2a - -Unknown_116c58: ; 116c58 - db $10 - db $1a, $0, $6c, $a - db $1a, $8, $6d, $a - db $1a, $10, $6e, $a - db $1a, $18, $0, $a - db $12, $0, $5f, $a - db $12, $8, $60, $a - db $12, $10, $61, $a - db $12, $18, $62, $a - db $a, $0, $53, $a - db $a, $8, $55, $a - db $a, $10, $55, $2a - db $a, $18, $53, $2a - db $2, $0, $46, $a - db $2, $8, $47, $a - db $2, $10, $47, $2a - db $2, $18, $46, $2a - -Unknown_116c99: ; 116c99 - db $10 - db $19, $0, $0, $2a - db $19, $8, $77, $2a - db $19, $10, $76, $2a - db $19, $18, $0, $2a - db $11, $0, $6b, $2a - db $11, $8, $6a, $2a - db $11, $10, $69, $2a - db $11, $18, $64, $2a - db $9, $0, $6f, $a - db $9, $8, $70, $a - db $9, $10, $70, $2a - db $9, $18, $6f, $2a - db $1, $0, $63, $a - db $1, $8, $19, $a - db $1, $10, $19, $2a - db $1, $18, $63, $2a - -Unknown_116cda: ; 116cda - db $10 - db $18, $0, $0, $a - db $18, $8, $57, $2a - db $18, $10, $56, $2a - db $18, $18, $0, $a - db $10, $0, $71, $2a - db $10, $8, $4b, $2a - db $10, $10, $4a, $2a - db $10, $18, $64, $2a - db $8, $0, $54, $a - db $8, $8, $55, $a - db $8, $10, $55, $2a - db $8, $18, $54, $2a - db $0, $0, $48, $a - db $0, $8, $49, $a - db $0, $10, $49, $2a - db $0, $18, $48, $2a - -Unknown_116d1b: ; 116d1b - db $c - db $0, $0, $38, $4a - db $0, $8, $39, $4a - db $0, $10, $39, $6a - db $0, $18, $38, $6a - db $8, $0, $28, $4a - db $8, $8, $29, $4a - db $8, $10, $29, $6a - db $8, $18, $28, $6a - db $10, $0, $9, $4d - db $10, $8, $19, $4a - db $10, $10, $19, $6a - db $10, $18, $9, $6d - -Unknown_116d4c: ; 116d4c - db $e - db $0, $8, $3b, $4a - db $0, $10, $3b, $6a - db $8, $0, $2a, $4a - db $8, $8, $2b, $4a - db $8, $10, $2b, $6a - db $8, $18, $2a, $6a - db $10, $0, $1a, $4a - db $10, $8, $1b, $4a - db $10, $10, $1b, $6a - db $10, $18, $1a, $6a - db $18, $0, $a, $4a - db $18, $8, $b, $4a - db $18, $10, $b, $6a - db $18, $18, $a, $6a - -Unknown_116d85: ; 116d85 - db $e - db $0, $0, $35, $2a - db $0, $8, $3c, $4a - db $0, $10, $3d, $4a - db $0, $18, $3e, $4a - db $8, $0, $2c, $4a - db $8, $8, $2d, $4a - db $8, $10, $2e, $4a - db $8, $18, $2f, $4a - db $10, $0, $1c, $4a - db $10, $8, $1d, $4a - db $10, $10, $1e, $4d - db $10, $18, $1f, $4d - db $18, $10, $e, $4d - db $18, $18, $f, $4a - -Unknown_116dbe: ; 116dbe - db $e - db $0, $0, $65, $4a - db $0, $8, $66, $4a - db $0, $10, $67, $4a - db $0, $18, $68, $4a - db $8, $8, $59, $4a - db $8, $10, $5a, $4a - db $8, $18, $5b, $4a - db $10, $0, $4c, $4a - db $10, $8, $4d, $4d - db $10, $10, $4e, $4d - db $10, $18, $4f, $4a - db $18, $0, $3f, $4d - db $18, $8, $40, $4d - db $18, $10, $41, $4d - -Unknown_116df7: ; 116df7 - db $e - db $0, $0, $3e, $6a - db $0, $8, $3d, $6a - db $0, $10, $3c, $6a - db $0, $18, $35, $a - db $8, $0, $2f, $6a - db $8, $8, $2e, $6a - db $8, $10, $2d, $6a - db $8, $18, $2c, $6a - db $10, $0, $1f, $6d - db $10, $8, $1e, $6d - db $10, $10, $1d, $6a - db $10, $18, $1c, $6a - db $18, $0, $f, $6a - db $18, $8, $e, $6d - -Unknown_116e30: ; 116e30 - db $e - db $0, $0, $68, $6a - db $0, $8, $67, $6a - db $0, $10, $66, $6a - db $0, $18, $65, $6a - db $8, $0, $5b, $6a - db $8, $8, $5a, $6a - db $8, $10, $59, $6a - db $10, $0, $4f, $6a - db $10, $8, $4e, $6d - db $10, $10, $4d, $6d - db $10, $18, $4c, $6a - db $18, $8, $41, $6d - db $18, $10, $40, $6d - db $18, $18, $3f, $6d - -Unknown_116e69: ; 116e69 - db $c - db $8, $0, $9, $d - db $8, $8, $19, $a - db $8, $10, $19, $2a - db $8, $18, $9, $2d - db $10, $0, $28, $a - db $10, $8, $29, $a - db $10, $10, $29, $2a - db $10, $18, $28, $2a - db $18, $0, $38, $a - db $18, $8, $39, $a - db $18, $10, $39, $2a - db $18, $18, $38, $2a - -Unknown_116e9a: ; 116e9a - db $e - db $0, $0, $a, $a - db $0, $8, $b, $a - db $0, $10, $b, $2a - db $0, $18, $a, $2a - db $8, $0, $1a, $a - db $8, $8, $1b, $a - db $8, $10, $1b, $2a - db $8, $18, $1a, $2a - db $10, $0, $2a, $a - db $10, $8, $2b, $a - db $10, $10, $2b, $2a - db $10, $18, $2a, $2a - db $18, $8, $3b, $a - db $18, $10, $3b, $2a - -Unknown_116ed3: ; 116ed3 - db $e - db $0, $10, $e, $d - db $0, $18, $f, $a - db $8, $0, $1c, $a - db $8, $8, $1d, $a - db $8, $10, $1e, $d - db $8, $18, $1f, $d - db $10, $0, $2c, $a - db $10, $8, $2d, $a - db $10, $10, $2e, $a - db $10, $18, $2f, $a - db $18, $0, $35, $6a - db $18, $8, $3c, $a - db $18, $10, $3d, $a - db $18, $18, $3e, $a - -Unknown_116f0c: ; 116f0c - db $e - db $0, $0, $3f, $d - db $0, $8, $40, $d - db $0, $10, $41, $d - db $8, $0, $4c, $a - db $8, $8, $4d, $d - db $8, $10, $4e, $d - db $8, $18, $4f, $a - db $10, $8, $59, $a - db $10, $10, $5a, $a - db $10, $18, $5b, $a - db $18, $0, $65, $a - db $18, $8, $66, $a - db $18, $10, $67, $a - db $18, $18, $68, $a - -Unknown_116f45: ; 116f45 - db $e - db $0, $0, $f, $2a - db $0, $8, $e, $2d - db $8, $0, $1f, $2d - db $8, $8, $1e, $2d - db $8, $10, $1d, $2a - db $8, $18, $1c, $2a - db $10, $0, $2f, $2a - db $10, $8, $2e, $2a - db $10, $10, $2d, $2a - db $10, $18, $2c, $2a - db $18, $0, $3e, $2a - db $18, $8, $3d, $2a - db $18, $10, $3c, $2a - db $18, $18, $35, $4a - -Unknown_116f7e: ; 116f7e - db $e - db $0, $8, $41, $2d - db $0, $10, $40, $2d - db $0, $18, $3f, $2d - db $8, $0, $4f, $2a - db $8, $8, $4e, $2d - db $8, $10, $4d, $2d - db $8, $18, $4c, $2a - db $10, $0, $5b, $2a - db $10, $8, $5a, $2a - db $10, $10, $59, $2a - db $18, $0, $68, $2a - db $18, $8, $67, $2a - db $18, $10, $66, $2a - db $18, $18, $65, $2a - -Unknown_116fb7: ; 116fb7 - db $d - db $fa, $0, $72, $a - db $fa, $8, $73, $d - db $fa, $10, $74, $d - db $fa, $18, $75, $d - db $2, $0, $81, $a - db $2, $8, $82, $a - db $2, $10, $83, $a - db $2, $18, $84, $a - db $a, $0, $91, $a - db $a, $8, $92, $a - db $a, $10, $93, $a - db $a, $18, $94, $a - db $12, $10, $a3, $a - -Unknown_116fec: ; 116fec - db $e - db $fd, $0, $85, $d - db $fd, $8, $86, $d - db $5, $0, $95, $d - db $5, $8, $96, $a - db $5, $10, $97, $a - db $5, $18, $98, $a - db $d, $0, $a5, $a - db $d, $8, $a6, $a - db $d, $10, $a7, $a - db $d, $18, $a8, $a - db $15, $0, $b3, $a - db $15, $8, $b4, $a - db $15, $10, $b5, $a - db $15, $18, $b6, $a - -Unknown_117025: ; 117025 - db $c - db $8, $0, $79, $d - db $8, $8, $7a, $d - db $8, $10, $7b, $a - db $8, $18, $7c, $a - db $10, $0, $89, $d - db $10, $8, $8a, $a - db $10, $10, $8b, $a - db $10, $18, $8c, $a - db $18, $0, $99, $a - db $18, $8, $9a, $a - db $18, $10, $9b, $a - db $18, $18, $9c, $a - -Unknown_117056: ; 117056 - db $b - db $8, $0, $7d, $a - db $8, $8, $7e, $d - db $8, $10, $7f, $d - db $8, $18, $80, $a - db $10, $0, $8d, $a - db $10, $8, $8e, $a - db $10, $10, $8f, $a - db $10, $18, $90, $a - db $18, $8, $9e, $a - db $18, $10, $9f, $a - db $18, $18, $a0, $a - -Unknown_117083: ; 117083 - db $f - db $0, $0, $a1, $a - db $0, $8, $a2, $a - db $0, $10, $a2, $2a - db $0, $18, $a1, $2a - db $8, $0, $b1, $a - db $8, $8, $b2, $d - db $8, $10, $b2, $2d - db $8, $18, $b1, $2a - db $10, $0, $ab, $a - db $10, $8, $ac, $a - db $10, $10, $ac, $2a - db $10, $18, $ab, $2a - db $18, $8, $a4, $a - db $18, $10, $87, $a - db $18, $18, $88, $a - -Unknown_1170c0: ; 1170c0 - db $f - db $0, $0, $a1, $a - db $0, $8, $a2, $d - db $0, $10, $a2, $2a - db $0, $18, $a1, $2a - db $8, $0, $b1, $a - db $8, $8, $78, $d - db $8, $10, $78, $2d - db $8, $18, $b1, $2a - db $10, $0, $ab, $a - db $10, $8, $ac, $a - db $10, $10, $ac, $2a - db $10, $18, $ab, $2a - db $18, $8, $a4, $a - db $18, $10, $87, $a - db $18, $18, $88, $a - -Unknown_1170fd: ; 1170fd - db $f - db $0, $0, $a9, $a - db $0, $8, $aa, $a - db $0, $10, $aa, $2a - db $0, $18, $a9, $2a - db $8, $0, $b7, $a - db $8, $8, $b8, $a - db $8, $10, $b8, $2a - db $8, $18, $b7, $2a - db $10, $0, $ab, $a - db $10, $8, $ac, $a - db $10, $10, $ac, $2a - db $10, $18, $ad, $a - db $18, $8, $a4, $a - db $18, $10, $ba, $a - db $18, $18, $bb, $a - -Unknown_11713a: ; 11713a - db $f - db $0, $0, $ae, $c - db $0, $8, $af, $c - db $0, $10, $af, $2c - db $0, $18, $ae, $2c - db $8, $0, $bc, $c - db $8, $8, $bd, $c - db $8, $10, $bd, $2c - db $8, $18, $bc, $2c - db $10, $0, $bf, $c - db $10, $8, $9d, $c - db $10, $10, $9d, $2c - db $10, $18, $b0, $c - db $18, $8, $b9, $c - db $18, $10, $c0, $c - db $18, $18, $be, $c - -Unknown_117177: ; 117177 - db $9 - db $14, $0, $1f, $6 - db $14, $8, $20, $6 - db $14, $10, $21, $6 - db $c, $0, $10, $6 - db $c, $8, $11, $6 - db $c, $10, $12, $6 - db $4, $0, $1, $6 - db $4, $8, $2, $6 - db $4, $10, $3, $6 - -Unknown_11719c: ; 11719c - db $9 - db $14, $0, $22, $6 - db $14, $8, $23, $6 - db $14, $10, $24, $6 - db $c, $0, $13, $6 - db $c, $8, $14, $6 - db $c, $10, $15, $6 - db $4, $0, $4, $6 - db $4, $8, $5, $6 - db $4, $10, $6, $6 - -Unknown_1171c1: ; 1171c1 - db $9 - db $14, $0, $25, $6 - db $14, $8, $26, $6 - db $14, $10, $27, $6 - db $c, $0, $16, $6 - db $c, $8, $17, $6 - db $c, $10, $18, $6 - db $4, $0, $7, $6 - db $4, $8, $8, $6 - db $4, $10, $9, $6 - -Unknown_1171e6: ; 1171e6 - db $9 - db $14, $0, $28, $6 - db $14, $8, $29, $6 - db $14, $10, $2a, $6 - db $c, $0, $19, $6 - db $c, $8, $1a, $6 - db $c, $10, $1b, $6 - db $4, $0, $a, $6 - db $4, $8, $b, $6 - db $4, $10, $c, $6 - -Unknown_11720b: ; 11720b - db $9 - db $14, $0, $2b, $6 - db $14, $8, $2c, $6 - db $14, $10, $2d, $6 - db $c, $0, $1c, $6 - db $c, $8, $1d, $6 - db $c, $10, $1e, $6 - db $4, $0, $d, $6 - db $4, $8, $e, $6 - db $4, $10, $f, $6 - -Unknown_117230: ; 117230 - db $9 - db $14, $0, $47, $6 - db $14, $8, $48, $6 - db $14, $10, $49, $6 - db $c, $0, $3b, $6 - db $c, $8, $3c, $6 - db $c, $10, $3b, $26 - db $4, $0, $2e, $6 - db $4, $8, $2f, $6 - db $4, $10, $30, $6 - -Unknown_117255: ; 117255 - db $9 - db $14, $0, $35, $6 - db $14, $8, $4a, $6 - db $14, $10, $35, $6 - db $c, $0, $3d, $6 - db $c, $8, $35, $6 - db $c, $10, $3d, $26 - db $4, $0, $31, $6 - db $4, $8, $32, $6 - db $4, $10, $31, $26 - -Unknown_11727a: ; 11727a - db $9 - db $14, $0, $4b, $6 - db $14, $8, $4c, $6 - db $14, $10, $4d, $6 - db $c, $0, $3e, $6 - db $c, $8, $3f, $6 - db $c, $10, $40, $6 - db $4, $0, $33, $6 - db $4, $8, $34, $6 - db $4, $10, $35, $6 - -Unknown_11729f: ; 11729f - db $9 - db $14, $0, $4e, $6 - db $14, $8, $4f, $6 - db $14, $10, $50, $6 - db $c, $0, $41, $6 - db $c, $8, $42, $6 - db $c, $10, $43, $6 - db $4, $0, $35, $6 - db $4, $8, $36, $6 - db $4, $10, $37, $6 - -Unknown_1172c4: ; 1172c4 - db $9 - db $14, $0, $51, $6 - db $14, $8, $52, $6 - db $14, $10, $35, $6 - db $c, $0, $44, $6 - db $c, $8, $45, $6 - db $c, $10, $46, $6 - db $4, $0, $38, $6 - db $4, $8, $39, $6 - db $4, $10, $3a, $6 - -Unknown_1172e9: ; 1172e9 - db $9 - db $10, $0, $0, $2 - db $10, $8, $0, $2 - db $10, $10, $0, $2 - db $8, $0, $0, $2 - db $8, $8, $0, $2 - db $c, $10, $1f, $6 - db $0, $0, $0, $2 - db $0, $8, $0, $2 - db $4, $10, $10, $6 -; 11730e - -Palette_11730e: - RGB 31, 31, 31 - RGB 7, 5, 4 - RGB 31, 28, 4 - RGB 31, 5, 5 - RGB 31, 31, 31 - RGB 7, 5, 4 - RGB 31, 23, 0 - RGB 31, 28, 4 - RGB 31, 31, 31 - RGB 16, 19, 31 - RGB 17, 31, 31 - RGB 31, 31, 31 - RGB 5, 5, 5 - RGB 7, 5, 4 - RGB 31, 28, 4 - RGB 19, 11, 6 - RGB 31, 31, 31 - RGB 3, 15, 31 - RGB 4, 25, 25 - RGB 0, 7, 12 - RGB 31, 31, 31 - RGB 0, 16, 0 - RGB 0, 16, 0 - RGB 0, 16, 0 - RGB 4, 11, 22 - RGB 0, 16, 0 - RGB 0, 16, 0 - RGB 0, 16, 0 - RGB 22, 11, 8 - RGB 0, 16, 0 - RGB 0, 16, 0 - RGB 0, 16, 0 - -Palette_11734e: - RGB 31, 30, 30 - RGB 2, 0, 0 - RGB 10, 9, 9 - RGB 15, 14, 14 - -Unknown_117356: ; 117356 - db $c9, $c9, $c9, $c9, $c9, $c9, $c9, $c9, $c9, $c9, $c9, $c9, $c9, $c9, $c9, $c9 - db $c9, $c9, $c9, $c9, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1 - db $c5, $c6, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2 - db $c2, $c2, $c6, $c5, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1 - db $c3, $c4, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2 - db $c2, $c2, $c4, $c3, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1 - db $c3, $c4, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2 - db $c2, $c2, $c4, $c3, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1 - db $c3, $c4, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2 - db $c2, $c2, $c4, $c3, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1 - db $c3, $c4, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2 - db $c2, $c2, $c4, $c3, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1 - db $c3, $c4, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2 - db $c2, $c2, $c4, $c3, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1 - db $c3, $c4, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2 - db $c2, $c2, $c4, $c3, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1 - db $c3, $c4, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2 - db $c2, $c2, $c4, $c3, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1 - db $c3, $c4, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $d8, $c2, $c2, $d8, $c2, $c2, $c2 - db $c2, $c2, $c4, $c3, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1 - db $c7, $c8, $ca, $cb, $cc, $cd, $ce, $c2, $cf, $d0, $d1, $d2, $d3, $c2, $d4, $d5 - db $d6, $d7, $c8, $c7, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1 - db $c9, $c9, $c9, $c9, $c9, $c9, $c9, $c9, $c9, $c9, $c9, $c9, $c9, $c9, $c9, $c9 - db $c9, $c9, $c9, $c9, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1 - - db $8f, $8f, $8f, $8f, $8f, $8f, $8f, $8f, $8f, $8f, $8f, $8f, $8f, $8f, $8f, $8f - db $8f, $8f, $8f, $8f, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 - db $8f, $8f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f - db $0f, $0f, $af, $af, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 - db $8f, $8f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f - db $0f, $0f, $af, $af, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 - db $8f, $8f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f - db $0f, $0f, $af, $af, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 - db $8f, $8f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f - db $0f, $0f, $af, $af, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 - db $8f, $8f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f - db $0f, $0f, $af, $af, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 - db $8f, $8f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f - db $0f, $0f, $af, $af, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 - db $8f, $8f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f - db $0f, $0f, $af, $af, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 - db $8f, $8f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f - db $0f, $0f, $af, $af, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 - db $8f, $8f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $8f, $0f, $0f, $8f, $0f, $0f, $0f - db $0f, $0f, $af, $af, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 - db $8f, $8f, $8f, $8f, $8f, $8f, $8f, $0f, $8f, $8f, $8f, $8f, $8f, $0f, $8f, $8f - db $8f, $8f, $af, $af, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 - db $8f, $8f, $8f, $8f, $8f, $8f, $8f, $8f, $8f, $8f, $8f, $8f, $8f, $8f, $8f, $8f - db $8f, $8f, $8f, $8f, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 -; 117656 - - -SECTION "Mobile Stadium", ROMX - -Special_GiveOddEgg: ; 117656 - callba GiveOddEgg - ret - -; 11765d - -Function11765d: ; 11765d (45:765d) - ld a, [hInMenu] - push af - ld a, $1 - ld [hInMenu], a - call Function11766b - pop af - ld [hInMenu], a - ret - -Function11766b: ; 11766b (45:766b) - call Function117699 - ld a, [rSVBK] - push af - ld a, $5 - ld [rSVBK], a - call Function1176ee - ld a, $5 - call GetSRAMBank - ld hl, $b1f3 - ld de, wcd49 - ld bc, $8 - call CopyBytes - ld de, $c708 - ld bc, $11 - call CopyBytes - call CloseSRAM - pop af - ld [rSVBK], a - ret - -Function117699: ; 117699 (45:7699) - ld a, $5 - call GetSRAMBank - ld hl, wcd49 - ld de, $b1f3 - ld bc, $8 - call CopyBytes - ld hl, $c708 - ld bc, $11 - call CopyBytes - call CloseSRAM - xor a - ld [wcd49], a - ld [wcd4a], a - ld [wcd4b], a - ld [wcd4c], a - ld [wcd4d], a - ld [wcd4e], a - ld [wcd4f], a - ld hl, $c708 - ld bc, $11 - call ByteFill - call ClearBGPalettes - call ClearSprites - callba Function171c87 - callba ReloadMapPart - callba ClearSpriteAnims - ret - -Function1176ee: ; 1176ee (45:76ee) -.loop - call JoyTextDelay - ld a, [wcd49] - bit 7, a - jr nz, .quit - call Function117719 - callba PlaySpriteAnimations - callba ReloadMapPart - jr .loop - -.quit - callba ClearSpriteAnims - call ClearBGPalettes - call ClearScreen - call ClearSprites - ret - -Function117719: ; 117719 (45:7719) - ld a, [wcd49] - ld e, a - ld d, 0 - ld hl, Jumptable_117728 - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp hl - -Jumptable_117728: ; 117728 (45:7728) - dw Function117738 - dw Function117764 - dw Function1178aa - dw Function1178e8 - dw Function117942 - dw Function117976 - dw Function117984 - dw Function1179a7 - - -Function117738: ; 117738 (45:7738) - callba Function171ccd - depixel 6, 3 - ld a, $1d - call _InitSpriteAnimStruct - ld hl, $c - add hl, bc - ld a, $6 - ld [hl], a - depixel 9, 4 - ld a, $1d - call _InitSpriteAnimStruct - ld hl, $c - add hl, bc - ld a, $7 - ld [hl], a - ld a, $3 - ld [wcd23], a - jp MobilePassword_IncrementJumptable - -Function117764: ; 117764 (45:7764) - ld a, [wcd4a] - cp $10 - jr nz, .asm_11776f - ld a, $1 - jr .asm_117770 - -.asm_11776f - xor a -.asm_117770 - ld [wcd24], a - ld hl, hJoyPressed ; $ffa7 - ld a, [hl] - and SELECT - jr nz, Function117764_select - ld a, [hl] - and START - jr nz, Function117764_start - ld a, [hl] - and A_BUTTON - jp nz, Function117764_a_button - ld a, [hl] - and B_BUTTON - jr nz, Function117764_b_button - ld hl, hJoyLast - ld a, [hl] - and D_UP - jr nz, Function117764_d_up - ld a, [hl] - and D_DOWN - jr nz, Function117764_d_down - ld a, [hl] - and D_LEFT - jp nz, Function117764_d_left - ld a, [hl] - and D_RIGHT - jp nz, Function117764_d_right - ret - -Function117764_select: ; 1177a5 (45:77a5) - callba Function171cf0 - ret - -Function117764_start: ; 1177ac (45:77ac) - ld a, $2 - ld [wcd4c], a - ld a, $4 - ld [wcd4d], a - ret - -Function1177b7: ; 1177b7 (45:77b7) - ld a, $3 - ld [wcd24], a - ld a, [wcd4a] - and a - jr z, .asm_1177c5 - jp MobilePassword_IncrementJumptable - -.asm_1177c5 - ld a, $6 - ld [wcd49], a - ret - -Function1177cb: ; 1177cb (45:77cb) - ld a, $80 - ld [wcd49], a - ld [ScriptVar], a - jp MobilePassword_IncrementJumptable - -Function117764_b_button: ; 1177d6 (45:77d6) - call PlayClickSFX - ld a, [wcd4a] - and a - ret z - dec a - ld [wcd4a], a - ld e, a - ld d, $0 - ld hl, $c708 - add hl, de - xor a - ld [hl], a - hlcoord 2, 4 - add hl, de - ld [hl], a - ret - -Function117764_d_up: ; 1177f1 (45:77f1) - ld a, [wcd4d] - and a - ret z - dec a - ld [wcd4d], a - cp $3 - ret nz - ld a, [wcd4c] - ld e, a - sla a - sla a - add e -Function117764_d_vertical_load: ; 117806 (45:7806) - ld [wcd4c], a - ret - -Function117764_d_down: ; 11780a (45:780a) - ld a, [wcd4d] - cp $4 - ret z - inc a - ld [wcd4d], a - cp $4 - ret nz - ld a, [wcd4c] - cp $a - jr nc, .asm_117825 - cp $5 - jr nc, .asm_117829 - xor a - jr Function117764_d_vertical_load - -.asm_117825 - ld a, $2 - jr Function117764_d_vertical_load - -.asm_117829 - ld a, $1 - jr Function117764_d_vertical_load - -Function117764_d_left: ; 11782d (45:782d) - ld a, [wcd4c] - and a - ret z - dec a - ld [wcd4c], a - ret - -Function117764_d_right: ; 117837 (45:7837) - ld e, $d - ld a, [wcd4d] - cp $4 - jr nz, .wrap - ld e, $2 -.wrap - ld a, [wcd4c] - cp e - ret z - inc a - ld [wcd4c], a - ret - -Function117764_a_button: ; 11784c (45:784c) - call PlayClickSFX - ld a, [wcd4d] - cp $4 - jr nz, .not_4 - ld a, [wcd4c] - cp $2 - jp z, Function1177b7 - cp $1 - jp z, Function1177cb - jp Function117764_select - -.not_4 - ld a, [wcd4a] - ld e, a - cp $10 - jp z, Function117764_start - inc a - ld [wcd4a], a - ld d, $0 - ld a, [wcd4b] - and a - jr nz, .ascii_symbols - ld hl, Unknown_117a0f - jr .got_ascii - -.ascii_symbols - ld hl, Unknown_117a47 -.got_ascii - push de - ld a, [wcd4c] - ld b, a - ld a, [wcd4d] - ld c, $e - call SimpleMultiply - add b - ld c, a - ld b, $0 - add hl, bc - ld a, [hl] - ld hl, $c708 - add hl, de - ld [hl], a - pop de - hlcoord 2, 4 - add hl, de - sub $20 - ld [hl], a - ld a, e - cp $f - ret nz - jp Function117764_start - -Function1178aa: ; 1178aa (45:78aa) - ld hl, MenuDataHeader_1179b5 - call LoadMenuDataHeader - call MenuBox - call MenuBoxCoord2Tile - ld hl, MenuDataHeader_1179bd - call LoadMenuDataHeader - call MenuBox - call MenuBoxCoord2Tile - callba ReloadMapPart - hlcoord 16, 8 - ld de, YessNoString_1179c5 - call PlaceString - hlcoord 15, 10 - ld a, "▶" - ld [hl], a - hlcoord 1, 14 - ld de, AskSavePasswordString - call PlaceString - ld a, $1 - ld [wcd4e], a - jp MobilePassword_IncrementJumptable - -Function1178e8: ; 1178e8 (45:78e8) - ld a, [hJoyPressed] - cp B_BUTTON - jr z, .b_button - cp A_BUTTON - jr z, .a_button - cp D_DOWN - jr z, .d_down - cp D_UP - ret nz - ld a, [wcd4e] - and a - ret z - dec a - ld [wcd4e], a - hlcoord 15, 8 - ld a, "▶" - ld [hl], a - hlcoord 15, 10 - ld a, " " - ld [hl], a - ret - -.d_down - ld a, [wcd4e] - and a - ret nz - inc a - ld [wcd4e], a - hlcoord 15, 8 - ld a, " " - ld [hl], a - hlcoord 15, 10 - ld a, "▶" - ld [hl], a - ret - -.a_button - call PlayClickSFX - ld a, [wcd4e] - and a - jr nz, .b_button - call ExitMenu - ld a, $1 - ld [wcd4f], a - jp MobilePassword_IncrementJumptable - -.b_button - call ExitMenu - call ExitMenu - jp MobilePassword_IncrementJumptable - -Function117942: ; 117942 (45:7942) - call SpeechTextBox - hlcoord 1, 14 - ld de, SavedPasswordString - call PlaceString - ld a, $1e - ld [wcd4e], a - ld a, BANK(sMobileLoginPassword) - call GetSRAMBank - ld a, [wcd4f] - ld [sMobileLoginPassword], a - ld hl, $c708 - ld de, sMobileLoginPassword + 1 - ld bc, MOBILE_LOGIN_PASSWORD_LENGTH - call CopyBytes - call CloseSRAM - ld a, [wcd4f] - and a - jr z, asm_11797e - call MobilePassword_IncrementJumptable - -Function117976: ; 117976 (45:7976) - ld hl, wcd4e - dec [hl] - ret nz - call ExitMenu -asm_11797e: ; 11797e (45:797e) - ld a, $80 - ld [wcd49], a - ret - -Function117984: ; 117984 (45:7984) - ld hl, MenuDataHeader_1179b5 - call LoadMenuDataHeader - call MenuBox - call MenuBoxCoord2Tile - callba ReloadMapPart - hlcoord 1, 14 - ld de, NotAPokemonPasswordString - call PlaceString - ld a, $1e - ld [wcd4e], a - call MobilePassword_IncrementJumptable - -Function1179a7: ; 1179a7 (45:79a7) - ld hl, wcd4e - dec [hl] - ret nz - call ExitMenu - ld a, $1 - ld [wcd49], a - ret - -; 1179b5 (45:79b5) - -MenuDataHeader_1179b5: ; 1179b5 - db $40 ; flags - db 12, 0 ; start coords - db 17, 19 ; end coords - dw NULL - db 0 ; default option -; 1179bd - -MenuDataHeader_1179bd: ; 1179bd - db $40 ; flags - db 7, 14 ; start coords - db 11, 19 ; end coords - dw NULL - db 0 ; default option -; 1179c5 - - -YessNoString_1179c5: ; 1179c5 - db "はい" - next "いいえ@" -; 1179cc - -AskSavePasswordString: ; 1179cc - db "こ%パスワード¯ほぞんして" - line "おきますか?@" -; 1179e1 - -NotAPokemonPasswordString: ; 1179e1 - db "パスワードにゅうりょく" - line "されていません!@" -; 1179f7 - -SavedPasswordString: ; 1179f7 - db "ログインパスワード¯ほぞん" - line "しました@" -; 117a0a - -MobilePassword_IncrementJumptable: ; 117a0a (45:7a0a) - ld hl, wcd49 - inc [hl] - ret - -; 117a0f (45:7a0f) - -Unknown_117a0f: -INCBIN "data/mobile/ascii-alpha.txt" - -Unknown_117a47: -INCBIN "data/mobile/ascii-sym.txt" -; 117a7f - - -; everything from here to the end of the bank is related to the -; Mobile Stadium option from the continue/newgame menu. -; XXX better function names -MobileStudium: ; 0x117a7f - ld a, [hInMenu] - push af - ld a, $1 - ld [hInMenu], a - call Function117a8d - pop af - ld [hInMenu], a - ret - -; 0x117a8d - -Function117a8d: ; 0x117a8d - call Function117a94 - call Function117acd - ret - -; 0x117a94 - -Function117a94: ; 0x117a94 - xor a - ld [wJumptableIndex], a - ld [wcf64], a - ld [wcf65], a - ld [wcf66], a - call ClearBGPalettes - call ClearSprites - callba Function172e78 - callba HDMATransferAttrMapAndTileMapToWRAMBank3 - ret - -; 0x117ab4 - -Function117ab4: ; 0x117ab4 - call ClearBGPalettes - call ClearSprites - callba Function172e78 - callba Function172eb9 - callba ReloadMapPart - ret - -; 0x117acd - -Function117acd: ; 0x117acd - call JoyTextDelay - ld a, [wJumptableIndex] - bit 7, a - jr nz, .asm_117ae2 - call Function117ae9 - callba HDMATransferAttrMapAndTileMapToWRAMBank3 - jr Function117acd - -.asm_117ae2 - call ClearBGPalettes - call ClearSprites - ret - -Function117ae9: ; 0x117ae9 - ld a, [wJumptableIndex] - ld e, a - ld d, $0 - ld hl, .Jumptable - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp hl - -.Jumptable: ; 0x117af8 - dw Function117b06 - dw Function117b14 - dw Function117b28 - dw Function117b31 - dw Function117b4f - dw Function117bb6 - dw Function117c4a - -Function117b06: - callba Function172eb9 - ld a, $10 - ld [wcf64], a - jp MobileStudium_JumptableIncrement - -Function117b14: - ld hl, wcf64 - dec [hl] - ret nz - ld hl, MenuDataHeader_117cbc - call LoadMenuDataHeader - call MenuBox - call MenuBoxCoord2Tile - jp MobileStudium_JumptableIncrement - -Function117b28: - ld hl, MobileStadiumEntryText - call PrintText - jp MobileStudium_JumptableIncrement - -Function117b31: - ld hl, MenuDataHeader_117cc4 - call LoadMenuDataHeader - call MenuBox - call MenuBoxCoord2Tile - hlcoord 16, 8 - ld de, YesNo117ccc - call PlaceString - hlcoord 15, 8 - ld a, "▶" - ld [hl], a - jp MobileStudium_JumptableIncrement - -Function117b4f: - ld a, [hJoyPressed] - cp B_BUTTON - jr z, .b_button - cp A_BUTTON - jr z, .a_button - cp D_DOWN - jr z, .d_down - cp D_UP - ret nz - ld a, [wcf64] - and a - ret z - dec a - ld [wcf64], a - hlcoord 15, 8 - ld a, "▶" - ld [hl], a - hlcoord 15, 10 - ld a, " " - ld [hl], a - ret - -.d_down - ld a, [wcf64] - and a - ret nz - inc a - ld [wcf64], a - hlcoord 15, 8 - ld a, " " - ld [hl], a - hlcoord 15, 10 - ld a, "▶" - ld [hl], a - ret - -.a_button - call PlayClickSFX - ld a, [wcf64] - and a - jr nz, .b_button - call ExitMenu - call ExitMenu - callba ReloadMapPart - jp MobileStudium_JumptableIncrement - -.b_button - call ExitMenu - call ExitMenu - callba ReloadMapPart - ld a, $80 - ld [wJumptableIndex], a - ret - -Function117bb6: - call Function117c89 - ld a, $1 - ld [hBGMapMode], a - callba Function118284 - call ClearSprites - ld a, [wc300] - and a - jr z, .asm_117be7 - cp $a - jr z, .asm_117be1 -.asm_117bd0 - ld a, $2 - ld [wc303], a - callba DisplayMobileError - ld a, $80 - ld [wJumptableIndex], a - ret - -.asm_117be1 - ld a, $80 - ld [wJumptableIndex], a - ret - -.asm_117be7 - ld a, [rSVBK] - push af - ld a, $3 - ld [rSVBK], a - ld a, [wcd89] - and $1 - jr nz, .asm_117c16 - ld a, [w3_d000] - cp $fe - jr nz, .asm_117c16 - ld a, [w3_d001] - cp $f - jr nz, .asm_117c16 - ld hl, w3_dfec - ld de, wcd69 - ld c, $10 -.asm_117c0b - ld a, [de] - inc de - cp [hl] - jr nz, .asm_117c16 - inc hl - dec c - jr nz, .asm_117c0b - jr .asm_117c20 - -.asm_117c16 - pop af - ld [rSVBK], a - ld a, $d3 - ld [wc300], a - jr .asm_117bd0 - -.asm_117c20 - pop af - ld [rSVBK], a - callba Function172eb9 - ld a, [rSVBK] - push af - ld a, $3 - ld [rSVBK], a - ld a, $7 - call GetSRAMBank - ld hl, w3_d002 - ld de, $b000 - ld bc, $1000 - call CopyBytes - call CloseSRAM - pop af - ld [rSVBK], a - jp MobileStudium_JumptableIncrement - -Function117c4a: - ld hl, MenuDataHeader_117cbc - call LoadMenuDataHeader - call MenuBox - call MenuBoxCoord2Tile - callba ReloadMapPart - ld hl, MobileStadiumSuccessText - call PrintText - ld a, [rSVBK] - push af - ld a, $5 - ld [rSVBK], a - ld hl, UnknBGPals - ld de, 1 palettes - ld c, 8 -.loop - push hl - ld a, $7fff % $100 - ld [hli], a - ld a, $7fff / $100 - ld [hl], a - pop hl - add hl, de - dec c - jr nz, .loop - call RotateThreePalettesRight - pop af - ld [rSVBK], a - ld a, $80 - ld [wJumptableIndex], a - ret - -Function117c89: - ld a, $7 - call GetSRAMBank - ld l, $0 - ld h, l - ld de, $b000 - ld bc, $0ffc -.asm_117c97 - push bc - ld a, [de] - inc de - ld c, a - ld b, $0 - add hl, bc - pop bc - dec bc - ld a, b - or c - jr nz, .asm_117c97 - ld a, l - ld [wcd83], a - ld a, h - ld [wcd84], a - ld hl, $bfea - ld de, wcd69 - ld bc, $10 - call CopyBytes - call CloseSRAM - ret - -MenuDataHeader_117cbc: ; 0x117cbc - db $40 ; flags - db 12, 0 ; start coords - db 17, 19 ; end coords - dw NULL ; menu data 2 - db 0 ; default option - -MenuDataHeader_117cc4: ; 0x117cc4 - db $40 ; flags - db 7, 14 ; start coords - db 11, 19 ; end coords - dw NULL ; menu data 2 - db 0 ; default item - -YesNo117ccc: ; 0x117ccc - db "はい" - next "いいえ@" - -MobileStadiumEntryText: ; 0x117cd3 - text_jump _MobileStadiumEntryText - db "@" - -MobileStadiumSuccessText: ; 0x117cd8 - text_jump _MobileStadiumSuccessText - db "@" - -MobileStudium_JumptableIncrement: ; 0x117cdd - ld hl, wJumptableIndex - inc [hl] - ret diff --git a/misc/mobile_45_sprite_engine.asm b/misc/mobile_45_sprite_engine.asm deleted file mode 100755 index a85e7fce4..000000000 --- a/misc/mobile_45_sprite_engine.asm +++ /dev/null @@ -1,922 +0,0 @@ -Function115d99: ; 115d99 - ld de, GFX_11601a - ld hl, VTiles0 tile $60 - lb bc, BANK(GFX_11601a), $14 - call Get2bpp - xor a - ld [wc305], a - ld [wc306], a - ld [wc309], a - ld [wc30a], a - ld [wc30b], a - ld [wc30c], a - ld a, $10 - ld [wc307], a - ld a, $18 - ld [wc308], a - ret - -; 115dc3 - -Function115dc3: ; 115dc3 - xor a - ld [wc305], a - ld a, $a0 - ld hl, Sprites + 31 * 4 - ld bc, 8 * 4 - call ByteFill - ret - -; 115dd3 - -Function115dd3: ; 115dd3 - ld a, [wc305] - and a - ret z - ld a, $a0 - ld hl, Sprites + 31 * 4 - ld bc, 8 * 4 - call ByteFill - call Function115e22 - ld a, [wc309] - sla a - ld c, a - ld b, 0 - ld hl, Unknown_115e86 - add hl, bc - ld a, [hli] - ld e, a - ld a, [hl] - ld d, a - push de - pop hl - ld de, Sprites + 31 * 4 - ld a, [wc307] - ld c, a - ld a, [wc308] - ld b, a - ld a, [hli] -.asm_115e04 - push af - ld a, [hli] - add b - ld [de], a - inc de - ld a, [hli] - add c - ld [de], a - inc de - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - inc de - pop af - dec a - jr nz, .asm_115e04 - ret - -; 115e18 - -Function115e18: ; 115e18 - ld a, c - ld [wc30a], a - xor a - ld [wc30b], a - jr Function115e2b - -; 115e22 - -Function115e22: ; 115e22 - ld hl, wc30c - dec [hl] - ret nz - ld hl, wc30b - inc [hl] - -Function115e2b: ; 115e2b - ld a, [wc30a] - sla a - ld c, a - ld b, 0 - ld hl, Unknown_115e59 - add hl, bc - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - push de - pop hl - ld a, [wc30b] - sla a - ld c, a - ld b, $0 - add hl, bc - ld a, [hli] - cp $ff - jr nz, .not_end - xor a - ld [wc30b], a - jr Function115e2b - -.not_end - ld [wc309], a - ld a, [hl] - ld [wc30c], a - ret - -; 115e59 - -Unknown_115e59: - dw Unknown_115e61 - dw Unknown_115e6c - dw Unknown_115e76 - dw Unknown_115e79 - -; OAM idx (see Unknown_115e86), flip flags/duration -Unknown_115e61: ; 115e61 - db $04, $08 - db $05, $08 - db $06, $08 - db $07, $08 - db $08, $08 - db -1 - -Unknown_115e6c: ; 115e6c - db $01, $08 - db $02, $08 - db $03, $08 - db $09, $08 - db $0a, $08 -Unknown_115e76: ; 115e76 - db $00, $08 - db -1 - -Unknown_115e79: ; 115e79 - db $0b, $08 - db $0c, $08 - db $0d, $08 - db $0e, $08 - db $0f, $08 - db $00, $08 - db -1 -; 115e86 - -Unknown_115e86: - dw Unknown_115ea6 - dw Unknown_115eb7 - dw Unknown_115ecc - dw Unknown_115ee1 - dw Unknown_115ef6 - dw Unknown_115f13 - dw Unknown_115f30 - dw Unknown_115f4d - dw Unknown_115f6a - dw Unknown_115f87 - dw Unknown_115f9c - dw Unknown_115fb1 - dw Unknown_115fc6 - dw Unknown_115fdb - dw Unknown_115ff0 - dw Unknown_116005 - -Unknown_115ea6: ; 115ea6 - db 4 - dsprite 1, 0, 0, 0, $60, $01 - dsprite 1, 0, 1, 0, $61, $01 - dsprite 2, 0, 0, 0, $62, $01 - dsprite 2, 0, 1, 0, $63, $01 - -Unknown_115eb7: ; 115eb7 - db 5 - dsprite 0, 0, 1, 0, $64, $00 - dsprite 1, 0, 0, 0, $60, $01 - dsprite 1, 0, 1, 0, $61, $01 - dsprite 2, 0, 0, 0, $62, $01 - dsprite 2, 0, 1, 0, $63, $01 - -Unknown_115ecc: ; 115ecc - db 5 - dsprite 0, 0, 1, 0, $65, $00 - dsprite 1, 0, 0, 0, $60, $01 - dsprite 1, 0, 1, 0, $61, $01 - dsprite 2, 0, 0, 0, $62, $01 - dsprite 2, 0, 1, 0, $63, $01 - -Unknown_115ee1: ; 115ee1 - db 5 - dsprite 0, 0, 1, 0, $66, $00 - dsprite 1, 0, 0, 0, $60, $01 - dsprite 1, 0, 1, 0, $61, $01 - dsprite 2, 0, 0, 0, $62, $01 - dsprite 2, 0, 1, 0, $63, $01 - -Unknown_115ef6: ; 115ef6 - db 7 - dsprite 0, 0, 0, 0, $67, $01 - dsprite 1, 0, 0, 0, $68, $01 - dsprite 2, 0, 0, 0, $6d, $00 - dsprite 2, 0, 1, 0, $69, $00 - dsprite 2, 0, 2, 0, $6a, $00 - dsprite 3, 0, 1, 0, $6b, $00 - dsprite 3, 0, 2, 0, $6c, $00 - -Unknown_115f13: ; 115f13 - db 7 - dsprite 0, 0, 0, 0, $67, $01 - dsprite 1, 0, 0, 0, $68, $01 - dsprite 2, 0, 0, 0, $6e, $00 - dsprite 2, 0, 1, 0, $69, $00 - dsprite 2, 0, 2, 0, $6a, $00 - dsprite 3, 0, 1, 0, $6b, $00 - dsprite 3, 0, 2, 0, $6c, $00 - -Unknown_115f30: ; 115f30 - db 7 - dsprite 0, 0, 0, 0, $67, $01 - dsprite 1, 0, 0, 0, $68, $01 - dsprite 2, 0, 0, 0, $6f, $00 - dsprite 2, 0, 1, 0, $69, $00 - dsprite 2, 0, 2, 0, $6a, $00 - dsprite 3, 0, 1, 0, $6b, $00 - dsprite 3, 0, 2, 0, $6c, $00 - -Unknown_115f4d: ; 115f4d - db 7 - dsprite 0, 0, 0, 0, $67, $01 - dsprite 1, 0, 0, 0, $68, $01 - dsprite 2, 0, 0, 0, $70, $00 - dsprite 2, 0, 1, 0, $69, $00 - dsprite 2, 0, 2, 0, $6a, $00 - dsprite 3, 0, 1, 0, $6b, $00 - dsprite 3, 0, 2, 0, $6c, $00 - -Unknown_115f6a: ; 115f6a - db 7 - dsprite 0, 0, 0, 0, $67, $01 - dsprite 1, 0, 0, 0, $68, $01 - dsprite 2, 0, 0, 0, $71, $00 - dsprite 2, 0, 1, 0, $69, $00 - dsprite 2, 0, 2, 0, $6a, $00 - dsprite 3, 0, 1, 0, $6b, $00 - dsprite 3, 0, 2, 0, $6c, $00 - -Unknown_115f87: ; 115f87 - db 5 - dsprite 0, 0, 1, 0, $72, $00 - dsprite 1, 0, 0, 0, $60, $01 - dsprite 1, 0, 1, 0, $61, $01 - dsprite 2, 0, 0, 0, $62, $01 - dsprite 2, 0, 1, 0, $63, $01 - -Unknown_115f9c: ; 115f9c - db 5 - dsprite 0, 0, 1, 0, $73, $00 - dsprite 1, 0, 0, 0, $60, $01 - dsprite 1, 0, 1, 0, $61, $01 - dsprite 2, 0, 0, 0, $62, $01 - dsprite 2, 0, 1, 0, $63, $01 - -Unknown_115fb1: ; 115fb1 - db 5 - dsprite 0, 1, 1, 0, $64, $60 - dsprite 1, 0, 0, 0, $60, $01 - dsprite 1, 0, 1, 0, $61, $01 - dsprite 2, 0, 0, 0, $62, $01 - dsprite 2, 0, 1, 0, $63, $01 - -Unknown_115fc6: ; 115fc6 - db 5 - dsprite 0, 1, 1, 0, $65, $60 - dsprite 1, 0, 0, 0, $60, $01 - dsprite 1, 0, 1, 0, $61, $01 - dsprite 2, 0, 0, 0, $62, $01 - dsprite 2, 0, 1, 0, $63, $01 - -Unknown_115fdb: ; 115fdb - db 5 - dsprite 0, 1, 1, 0, $66, $60 - dsprite 1, 0, 0, 0, $60, $01 - dsprite 1, 0, 1, 0, $61, $01 - dsprite 2, 0, 0, 0, $62, $01 - dsprite 2, 0, 1, 0, $63, $01 - -Unknown_115ff0: ; 115ff0 - db 5 - dsprite 0, 1, 1, 0, $72, $60 - dsprite 1, 0, 0, 0, $60, $01 - dsprite 1, 0, 1, 0, $61, $01 - dsprite 2, 0, 0, 0, $62, $01 - dsprite 2, 0, 1, 0, $63, $01 - -Unknown_116005: ; 116005 - db 5 - dsprite 0, 1, 1, 0, $73, $60 - dsprite 1, 0, 0, 0, $60, $01 - dsprite 1, 0, 1, 0, $61, $01 - dsprite 2, 0, 0, 0, $62, $01 - dsprite 2, 0, 1, 0, $63, $01 -; 11601a - -GFX_11601a:: ; 11601a -INCBIN "gfx/unknown/11601a.2bpp" - - -Function11615a: ; 11615a - xor a - ld [wc30d], a - ld [$c319], a - ld [wc310], a - ld [wc311], a - ld [wc312], a - ld [wc313], a - ld [wc314], a - ld [wc314 + 1], a - ld [wc314 + 4], a - ld [wc3f6], a - ld [wc3f8], a - ld [wc3f2], a - ld [wc3f4], a - ld a, $24 - ld [wc3f5], a - ld a, $7 - ld [wc3f7], a - ld a, $b0 - ld [wc30e], a - ld [wc3f1], a - ld a, $48 - ld [wc30f], a - ld [wc3f3], a - ret - -; 11619d - -Function11619d: ; 11619d - ld a, [wc30d] - and a - ret z - ld a, [$c319] - cp $2 - jr c, .asm_1161b4 - ld a, $a0 - ld hl, Sprites - ld bc, $0064 - call ByteFill - -.asm_1161b4 - call Function1161b8 - ret - -; 1161b8 - -Function1161b8: ; 1161b8 - ld a, [$c319] - ld e, a - ld d, 0 - ld hl, .Jumptable - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp hl - -; 1161c7 - -.Jumptable: ; 1161c7 - dw Function1161d5 - dw Function116294 - dw Function1162cb - dw Function1162f2 - dw Function1163c0 - dw Function11636e - dw Function116441 -; 1161d5 - -Function1161d5: ; 1161d5 - ld a, [rSVBK] - push af - - ld a, $6 - ld [rSVBK], a - - ld hl, Unknown_117356 - ld de, wDecompressScratch - ld bc, $0300 - call CopyBytes - - di - -.wait_for_vblank -; Wait until a vblank would occur had interrupts not just been disabled. - ld a, [rLY] - cp $91 - jr nz, .wait_for_vblank - - ld a, $d0 - ld [rHDMA1], a - ld a, $0 - ld [rHDMA2], a - ld a, $1c - ld [rHDMA3], a - xor a - ld [rHDMA4], a - ld a, $8 - ld [rHDMA5], a - - ld a, $d0 - ld [rHDMA1], a - ld a, $80 - ld [rHDMA2], a - ld a, $1c - ld [rHDMA3], a - ld a, $80 - ld [rHDMA4], a - ld a, $8 - ld [rHDMA5], a - - ld a, $d1 - ld [rHDMA1], a - ld a, $0 - ld [rHDMA2], a - ld a, $1d - ld [rHDMA3], a - xor a - ld [rHDMA4], a - ld a, $8 - ld [rHDMA5], a - - ld a, $1 - ld [rVBK], a - - ld a, $d1 - ld [rHDMA1], a - ld a, $80 - ld [rHDMA2], a - ld a, $1c - ld [rHDMA3], a - xor a - ld [rHDMA4], a - ld a, $8 - ld [rHDMA5], a - - ld a, $d2 - ld [rHDMA1], a - ld a, $0 - ld [rHDMA2], a - ld a, $1c - ld [rHDMA3], a - ld a, $80 - ld [rHDMA4], a - ld a, $8 - ld [rHDMA5], a - - ld a, $d2 - ld [rHDMA1], a - ld a, $80 - ld [rHDMA2], a - ld a, $1d - ld [rHDMA3], a - xor a - ld [rHDMA4], a - ld a, $8 - ld [rHDMA5], a - - xor a - ld [rVBK], a - - ei - - pop af - ld [rSVBK], a - - callba ReloadMapPart - ld a, $8 - ld [MusicFade], a - ld de, MUSIC_MOBILE_ADAPTER - ld a, e - ld [MusicFadeID], a - ld a, d - ld [MusicFadeID + 1], a - ld a, [$c319] - inc a - ld [$c319], a - ret - -; 11628c - -MenuDataHeader_11628c: ; 11628c - db $40 ; flags - db 6, 0 ; start coords - db 17, 19 ; end coords - dw NULL - db 0 ; default option -; 116294 - -Function116294: ; 116294 - callba Function170d02 - ld a, [$c319] - inc a - ld [$c319], a - ld a, [rSVBK] - push af - ld a, $5 - ld [rSVBK], a - ld hl, UnknBGPals + 8 * 6 - ld de, $c320 - ld bc, 2 palettes - call CopyBytes - ld hl, Palette_11734e - ld de, UnknBGPals + 8 * 7 - ld bc, 1 palettes - call CopyBytes - call SetPalettes - pop af - ld [rSVBK], a - ld a, $30 - ld [hWY], a - ret - -; 1162cb - -Function1162cb: ; 1162cb - callba Function170cc6 - ld a, [$c319] - inc a - ld [$c319], a - ld a, [rSVBK] - push af - ld a, $5 - ld [rSVBK], a - ld hl, Palette_11730e - ld de, UnknOBPals + 2 palettes - ld bc, 6 palettes - call CopyBytes - call SetPalettes - pop af - ld [rSVBK], a - ret - -; 1162f2 - -Function1162f2: ; 1162f2 - call Function11659d - call Function116758 - call Function1167a6 - ld a, [wc310] - cp EGG - ret z - sla a - ld c, a - ld b, 0 - ld hl, Unknown_1168c5 - add hl, bc - ld a, [hli] - ld e, a - ld a, [hl] - ld d, a - push de - pop hl - ld a, [wc30e] - ld c, a - ld a, [wc30f] - ld b, a - ld a, [wc314 + 4] - ld e, a - ld a, [hli] - sub e - ld de, Sprites + $24 -.asm_116321 - push af - ld a, [hli] - add b - ld [de], a - inc de - ld a, [hli] - add c - ld [de], a - inc de - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - inc de - pop af - dec a - jr nz, .asm_116321 - call Function116468 - ld a, [wc3f5] - sla a - ld c, a - ld b, 0 - ld hl, Unknown_1168c5 - add hl, bc - ld a, [hli] - ld e, a - ld a, [hl] - ld d, a - push de - pop hl - ld a, [wc3f1] - ld c, a - ld a, [wc3f3] - ld b, a - ld a, [wc3f8] - ld e, a - ld a, [hli] - sub e - ld de, Sprites -.asm_11635a - push af - ld a, [hli] - add b - ld [de], a - inc de - ld a, [hli] - add c - ld [de], a - inc de - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - inc de - pop af - dec a - jr nz, .asm_11635a - ret - -; 11636e - -Function11636e: ; 11636e - ld a, [rSVBK] - push af - ld a, $5 - ld [rSVBK], a - ld hl, BGPals - ld de, UnknBGPals - ld bc, $0040 - call CopyBytes - pop af - ld [rSVBK], a - call SetPalettes - ld a, [rSVBK] - push af - ld a, $1 - ld [rSVBK], a - ld a, $a0 - ld hl, Sprites - ld bc, 16 * 4 - call ByteFill - ld a, $90 - ld [hWY], a - call UpdateSprites - pop af - ld [rSVBK], a - callba ReloadMapPart - ld a, $8 - ld [MusicFade], a - ld a, [wMapMusic] - ld [MusicFadeID], a - xor a - ld [MusicFadeID + 1], a - xor a - ld [$c319], a - ld [wc30d], a - ret - -; 1163c0 - -Function1163c0: ; 1163c0 - ld a, [rSVBK] - push af - ld a, $1 - ld [rSVBK], a - ld a, $a0 - ld hl, Sprites - ld bc, 16 * 4 - call ByteFill - call DelayFrame - callba Function14146 - ld b, SCGB_MAPPALS - call GetSGBLayout - ld a, [rSVBK] - push af - ld a, $5 - ld [rSVBK], a - ld hl, $c320 - ld de, wd030 - ld bc, $0010 - call CopyBytes - pop af - ld [rSVBK], a - call SetPalettes - call DelayFrame - ld a, $90 - ld [hWY], a - call UpdateSprites - callba Function14157 - pop af - ld [rSVBK], a - callba ReloadMapPart - ld a, [wLinkMode] - cp $4 - jr z, .asm_11642a - ld a, $8 - ld [MusicFade], a - ld a, [wMapMusic] - ld [MusicFadeID], a - xor a - ld [MusicFadeID + 1], a - jr .asm_116439 - -.asm_11642a - ld a, $8 - ld [MusicFade], a - ld a, $0 - ld [MusicFadeID], a - ld a, $0 - ld [MusicFadeID + 1], a - -.asm_116439 - xor a - ld [$c319], a - ld [wc30d], a - ret - -; 116441 - -Function116441: ; 116441 - callba Function17d405 - ld a, $90 - ld [hWY], a - callba ReloadMapPart - ld a, $8 - ld [MusicFade], a - ld a, [wMapMusic] - ld [MusicFadeID], a - xor a - ld [MusicFadeID + 1], a - xor a - ld [$c319], a - ld [wc30d], a - ret - -; 116468 - -Function116468: ; 116468 - call Function116567 - ld a, [wc314] - cp $d - jr nz, .asm_1164a8 - ld hl, wc30e - ld a, [hl] - cp $50 - jr nc, .asm_116484 - ld a, $50 - sub [hl] - add $50 - ld [wc3f1], a - jr .asm_11648d - -.asm_116484 - sub $50 - ld c, a - ld a, $50 - sub c - ld [wc3f1], a - -.asm_11648d - ld hl, wc30f - ld a, [hl] - cp $60 - jr nc, .asm_11649e - ld a, $60 - sub [hl] - add $60 - ld [wc3f3], a - ret - -.asm_11649e - sub $60 - ld c, a - ld a, $60 - sub c - ld [wc3f3], a - ret - -.asm_1164a8 - ld hl, wc30e - ld a, $b0 - cp [hl] - jr nc, .asm_1164b8 - ld a, [wc3f1] - and a - jr z, .asm_11650b - jr .asm_1164f2 - -.asm_1164b8 - ld a, [wc3f1] - sub [hl] - jr nc, .asm_1164c1 - xor $ff - inc a - -.asm_1164c1 - ld b, a - ld c, $0 - ld a, $5 -.asm_1164c6 - srl b - rr c - dec a - jr nz, .asm_1164c6 - ld a, c - ld [wc3fa], a - ld a, b - ld [wc3f9], a - ld a, [wc3f1] - sub [hl] - jr c, .asm_1164f2 - ld c, $0 - ld a, [wc3fa] - xor $ff - add $1 - rl c - ld [wc3fa], a - ld a, [wc3f9] - xor $ff - add c - ld [wc3f9], a - -.asm_1164f2 - ld a, [wc3f2] - ld l, a - ld a, [wc3f1] - ld h, a - ld a, [wc3fa] - ld e, a - ld a, [wc3f9] - ld d, a - add hl, de - ld a, l - ld [wc3f2], a - ld a, h - ld [wc3f1], a - -.asm_11650b - ld hl, wc30f - ld a, $b0 - cp [hl] - jr c, .asm_11654d - ld a, [wc3f3] - sub [hl] - jr nc, .asm_11651c - xor $ff - inc a - -.asm_11651c - ld b, a - ld c, $0 - ld a, $5 -.asm_116521 - srl b - rr c - dec a - jr nz, .asm_116521 - ld a, c - ld [wc3fc], a - ld a, b - ld [wc3fb], a - ld a, [wc3f3] - sub [hl] - jr c, .asm_11654d - ld c, $0 - ld a, [wc3fc] - xor $ff - add $1 - rl c - ld [wc3fc], a - ld a, [wc3fb] - xor $ff - add c - ld [wc3fb], a - -.asm_11654d - ld a, [wc3f4] - ld l, a - ld a, [wc3f3] - ld h, a - ld a, [wc3fc] - ld e, a - ld a, [wc3fb] - ld d, a - add hl, de - ld a, l - ld [wc3f4], a - ld a, h - ld [wc3f3], a - ret diff --git a/misc/mobile_46.asm b/misc/mobile_46.asm deleted file mode 100755 index 48fed0f33..000000000 --- a/misc/mobile_46.asm +++ /dev/null @@ -1,7986 +0,0 @@ -SECTION "bank46", ROMX - -Function118000: ; 118000 - ld a, $1 - ld [wcd38], a - jr asm_11800b - -Function118007: ; 118007 - xor a - ld [wcd38], a - -asm_11800b - call BattleTowerRoomMenu_InitRAM - ld a, $18 - ld [wcd33], a - ld a, $19 - ld [wcd34], a - ld a, $4 - ld [wc3f0], a - ld a, [rSVBK] - push af - ld a, $3 - ld [rSVBK], a -.loop - call JoyTextDelay - call Function118473 - ld a, [wcf66] - cp $1b - jr c, .skip - ld a, [wcd34] - ld [wcf66], a - -.skip - call Function1184a5 - call BattleTowerRoomMenu_WriteMessage - callba Function115dd3 - callba Function11619d - call DelayFrame - ld a, [wcf66] - ld hl, wcd33 - cp [hl] - jr nz, .loop - pop af - ld [rSVBK], a - call BattleTowerRoomMenu_Cleanup - call ReturnToMapFromSubmenu -BattleTowerRoomMenu_DoNothing: ; 11805e (46:405e) - ret -; 11805f - -Function11805f: ; 11805f - ld a, $1 - ld [wcd38], a - call BattleTowerRoomMenu_InitRAM - ld a, $18 - ld [wcd33], a - ld a, $19 - ld [wcd34], a - ld a, $4 - ld [wc3f0], a - ld a, [rSVBK] - push af - ld a, $3 - ld [rSVBK], a -.asm_11807d - call JoyTextDelay - call Function118473 - ld a, [wcf66] - cp $1b - jr c, .asm_118090 - ld a, [wcd34] - ld [wcf66], a - -.asm_118090 - call Function11857c - call BattleTowerRoomMenu_WriteMessage - callba Function115dd3 - callba Function11619d - call DelayFrame - ld a, [wcf66] - ld hl, wcd33 - cp [hl] - jr nz, .asm_11807d - pop af - ld [rSVBK], a - call BattleTowerRoomMenu_Cleanup - call ReturnToMapFromSubmenu - ret -; 1180b8 - -Function1180b8: ; 1180b8 - call BattleTowerRoomMenu_InitRAM - ld a, $22 - ld [wcd33], a - ld a, $23 - ld [wcd34], a - ld a, $4 - ld [wc3f0], a - ld a, [rSVBK] - push af - ld a, $3 - ld [rSVBK], a -.asm_1180d1 - call JoyTextDelay - call Function118473 - ld a, [wcf66] - cp $28 - jr c, .asm_1180e4 - ld a, [wcd34] - ld [wcf66], a - -.asm_1180e4 - ld a, [wcf66] - cp $10 - jr c, .asm_1180f2 - cp $16 - jr nc, .asm_1180f2 - call Function11884c - -.asm_1180f2 - call Function1184ec - call BattleTowerRoomMenu_WriteMessage - callba Function115dd3 - callba Function11619d - call DelayFrame - ld a, [wcf66] - ld hl, wcd33 - cp [hl] - jr nz, .asm_1180d1 - pop af - ld [rSVBK], a - call BattleTowerRoomMenu_Cleanup - call ReturnToMapFromSubmenu - ret -; 11811a - -Function11811a: ; 11811a - ld a, 1 - ld [wcd38], a - jr Function118125 - -_BattleTowerRoomMenu: ; 118121 - xor a - ld [wcd38], a -Function118125: ; 118125 - call BattleTowerRoomMenu_InitRAM - ld a, $3 - ld [wcd33], a - ld a, $d - ld [wcd34], a - ld a, $4 - ld [wc3f0], a - ld a, [rSVBK] - push af - ld a, $3 - ld [rSVBK], a -.loop - call JoyTextDelay - call Function118473 - ld a, [wcf66] - cp $f - jr c, .skip - ld a, [wcd34] - ld [wcf66], a -.skip - call BattleTowerRoomMenu_Jumptable - call BattleTowerRoomMenu_WriteMessage - callba Function115dd3 - callba Function11619d - call DelayFrame - ld a, [wcf66] - ld hl, wcd33 - cp [hl] - jr nz, .loop - xor a - ld [w3_d000], a - pop af - ld [rSVBK], a - call BattleTowerRoomMenu_Cleanup - call Function118180 - call ReturnToMapFromSubmenu - ret -; 118180 - -Function118180: ; 118180 - ld a, [ScriptVar] - and a - ret nz - ld a, [wcd38] - and a - ret z - ld a, $5 - call GetSRAMBank - ld hl, wcd69 - ld de, $a89c - ld bc, $0016 - call CopyBytes - - ld a, [rSVBK] - push af - ld a, $3 - ld [rSVBK], a - - ld de, w3_d202 - ld c, $96 - callba CheckStringForErrors_IgnoreTerminator - jr c, .return_d3 - - ld de, w3_d202 - lb bc, 1, $96 - callba CheckStringContainsLessThanBNextCharacters - jr c, .return_d3 - - ld hl, w3_d202 - ld de, $a8b2 - ld bc, $0096 - call CopyBytes -.reset_banks - pop af - ld [rSVBK], a - call CloseSRAM - ret - -.return_d3 - ld a, $d3 - ld [wc300], a - ld [ScriptVar], a - jr .reset_banks -; 1181da - -Function1181da: ; 1181da - call BattleTowerRoomMenu_InitRAM - ld a, $2 - ld [wcd38], a - ld a, $21 - ld [wcd33], a - ld a, $22 - ld [wcd34], a - ld a, $4 - ld [wc3f0], a - ld a, [rSVBK] - push af - ld a, $3 - ld [rSVBK], a -.asm_1181f8 - call JoyTextDelay - call Function118473 - ld a, [wcf66] - cp $28 - jr c, .asm_11820b - ld a, [wcd34] - ld [wcf66], a - -.asm_11820b - call Function1185c3 - call BattleTowerRoomMenu_WriteMessage - callba Function115dd3 - callba Function11619d - call DelayFrame - ld a, [wcf66] - ld hl, wcd33 - cp [hl] - jr nz, .asm_1181f8 - pop af - ld [rSVBK], a - call BattleTowerRoomMenu_Cleanup - call ReturnToMapFromSubmenu - ret -; 118233 - -Function118233: ; 118233 - call BattleTowerRoomMenu_InitRAM - ld a, $1b - ld [wcd33], a - ld a, $1c - ld [wcd34], a - ld a, $6 - ld [wc3f0], a - ld a, [rSVBK] - push af - ld a, $3 - ld [rSVBK], a -.asm_11824c - call JoyTextDelay - call Function118473 - ld a, [wcf66] - cp $1e - jr c, .asm_11825f - ld a, [wcd34] - ld [wcf66], a - -.asm_11825f - call Function118624 - call BattleTowerRoomMenu_WriteMessage - callba Function115dd3 - callba Function11619d - call DelayFrame - ld a, [wcf66] - ld hl, wcd33 - cp [hl] - jr nz, .asm_11824c - pop af - ld [rSVBK], a - call BattleTowerRoomMenu_Cleanup - ret -; 118284 - -Function118284: ; 118284 - call BattleTowerRoomMenu_InitRAM - ld a, $19 - ld [wcd33], a - ld a, $1e - ld [wcd34], a - ld a, $5 - ld [wc3f0], a - ld a, [rSVBK] - push af - ld a, $3 - ld [rSVBK], a -.asm_11829d - call JoyTextDelay - call Function118473 - ld a, [wcf66] - cp $20 - jr c, .asm_1182b0 - ld a, [wcd34] - ld [wcf66], a -.asm_1182b0 - call Function1186f5 - call BattleTowerRoomMenu_WriteMessage - callba Function115dd3 - callba Function11619d - call DelayFrame - ld a, [wcf66] - ld hl, wcd33 - cp [hl] - jr nz, .asm_11829d - pop af - ld [rSVBK], a - call BattleTowerRoomMenu_Cleanup - ret -; 1182d5 (46:42d5) - - -Function1182d5: ; 1182d5 - call BattleTowerRoomMenu_InitRAM - ld a, $18 - ld [wcd33], a - ld a, $19 - ld [wcd34], a - ld a, $4 - ld [wc3f0], a - ld a, [rSVBK] - push af - ld a, $3 - ld [rSVBK], a -.asm_1182ee - call JoyTextDelay - call Function118473 - ld a, [wcf66] - cp $1b - jr c, .asm_118301 - ld a, [wcd34] - ld [wcf66], a - -.asm_118301 - call Function118746 - call BattleTowerRoomMenu_WriteMessage - callba Function115dd3 - callba Function11619d - call DelayFrame - ld a, [wcf66] - ld hl, wcd33 - cp [hl] - jr nz, .asm_1182ee - pop af - ld [rSVBK], a - call BattleTowerRoomMenu_Cleanup - call ReturnToMapFromSubmenu - ret -; 118329 - -Function118329: ; 118329 - call BattleTowerRoomMenu_InitRAM - ld a, $15 - ld [wcd33], a - ld a, $16 - ld [wcd34], a - ld a, $6 - ld [wc3f0], a - ld a, [rSVBK] - push af - ld a, $3 - ld [rSVBK], a -.asm_118342 - call JoyTextDelay - call Function118473 - ld a, [wcf66] - cp $18 - jr c, .asm_118355 - ld a, [wcd34] - ld [wcf66], a - -.asm_118355 - call Function118671 - call BattleTowerRoomMenu_WriteMessage - callba Function115dd3 - callba Function11619d - call DelayFrame - ld a, [wcf66] - ld hl, wcd33 - cp [hl] - jr nz, .asm_118342 - pop af - ld [rSVBK], a - call BattleTowerRoomMenu_Cleanup - ret -; 11837a - -Function11837a: ; 11837a - call BattleTowerRoomMenu_InitRAM - ld a, $16 - ld [wcd33], a - ld a, $17 - ld [wcd34], a - ld a, $6 - ld [wc3f0], a - ld a, [rSVBK] - push af - ld a, $3 - ld [rSVBK], a -.asm_118393 - call JoyTextDelay - call Function118473 - ld a, [wcf66] - cp $19 - jr c, .asm_1183a6 - ld a, [wcd34] - ld [wcf66], a - -.asm_1183a6 - call Function1186b2 - call BattleTowerRoomMenu_WriteMessage - callba Function115dd3 - callba Function11619d - call DelayFrame - ld a, [wcf66] - ld hl, wcd33 - cp [hl] - jr nz, .asm_118393 - pop af - ld [rSVBK], a - call BattleTowerRoomMenu_Cleanup - ret -; 1183cb - -BattleTowerRoomMenu_InitRAM: ; 1183cb - di - ld a, [rIE] - ld [wcd32], a - call DoubleSpeed - xor a - ld [rIF], a - ld [wc300], a - ld [wc301], a - ld [wc302], a - ld [wcd80], a - ld [wcd65], a - ld [wcd66], a - ld [wcd67], a - ld [wcd68], a - ld [$c31a], a - ld [wcd89], a - ld [wcd8a], a - ld [wcd8b], a - ld [wc3ec], a - ld [wc3ed], a - ld [wc3ee], a - ld [wc3ef], a - ld hl, VramState - ld a, [hl] - ld [wcd7f], a - set 1, [hl] - ld a, $f - ld [rIE], a - ld a, $1 - ld [hMobileReceive], a - ld [hMobile], a - ei - callba MobileFunc_106462 - callba Function106464 - callba Function115d99 - callba Function11615a - ld a, $5 - call GetSRAMBank - xor a - ld [$bfff], a - call CloseSRAM - ret -; 118440 - -Function118440: ; 118440 - push af - ld a, $5 - call GetSRAMBank - ld a, [$bfff] - inc a - ld [$bfff], a - call CloseSRAM - pop af - ret -; 118452 - -BattleTowerRoomMenu_Cleanup: ; 118452 - di - xor a - ld [hMobileReceive], a - ld [hMobile], a - ld [hVBlank], a - call NormalSpeed - xor a - ld [rIF], a - ld a, [wcd32] - ld [rIE], a - ei - ld a, [wcd7f] - ld [VramState], a - ld a, [wc300] - ld [ScriptVar], a - ret -; 118473 - -Function118473: ; 118473 - ld a, [wcd65] - and a - ret z - ld a, [wcd66] - inc a - ld [wcd66], a - cp 60 - ret nz - xor a - ld [wcd66], a - ld a, [wcd67] - inc a - ld [wcd67], a - cp 60 - ret nz - ld a, [wcd68] - inc a - ld [wcd68], a - cp 99 - jr z, .ninety_nine - xor a - ld [wcd67], a - ret - -.ninety_nine - xor a - ld [wcd65], a - ret -; 1184a5 - -Function1184a5: ; 1184a5 - jumptable .Jumptable, wcf66 -; 1184b4 - -.Jumptable: ; 1184b4 - dw Function11886e - dw Function118880 - dw Function11878d - dw Function1188b0 - dw Function11878d - dw Function1188b8 - dw Function11878d - dw Function1188c0 - dw Function11878d - dw Function1188c8 - dw Function11878d - dw Function118903 - dw Function118a8f - dw Function11878d - dw Function118d80 - dw Function118d9b - dw Function11878d - dw Function118ded - dw Function118e6d - dw Function11878d - dw Function11984e - dw Function118e76 - dw Function118e7e - dw Function11878d - dw BattleTowerRoomMenu_DoNothing - dw Function118e76 - dw BattleTowerRoomMenu_CallRoomMenu2 - dw Function118e76 -; 1184ec - -Function1184ec: ; 1184ec - jumptable .Jumptable, wcf66 -; 1184fb - -.Jumptable: ; 1184fb - dw Function11886e - dw Function118880 - dw Function11878d - dw Function1188b0 - dw Function11878d - dw Function1188b8 - dw Function11878d - dw Function1188c0 - dw Function11878d - dw Function1188c8 - dw Function11878d - dw Function118903 - dw Function119954 - dw Function11878d - dw Function119973 - dw Function11878d - dw Function119987 - dw Function11878d - dw Function1199b4 - dw Function1199ca - dw Function11878d - dw Function1199e2 - dw Function119b0d - dw Function11878d - dw Function119b6b - dw Function119b3b - dw Function11878d - dw Function119b52 - dw Function11878d - dw Function118e6d - dw Function11878d - dw Function118e76 - dw Function118e7e - dw Function11878d - dw BattleTowerRoomMenu_DoNothing - dw Function118e76 - dw BattleTowerRoomMenu_CallRoomMenu2 - dw Function119b45 - dw Function11878d - dw Function119ac9 - dw Function118e76 -; 11854d - -BattleTowerRoomMenu_Jumptable: ; 11854d - jumptable .Jumptable, wcf66 -; 11855c - -.Jumptable: ; 11855c - dw BattleTowerRoomMenu_PickLevelMessage - dw BattleTowerRoomMenu_PlacePickLevelMenu - dw BattleTowerRoomMenu_UpdatePickLevelMenu - dw BattleTowerRoomMenu_DoNothing - dw BattleTowerRoomMenu_PartyMonTopsThisLevelMessage - dw BattleTowerRoomMenu_WaitForMessage - dw BattleTowerRoomMenu_DelayRestartMenu - dw BattleTowerRoomMenu_QuitMessage - dw BattleTowerRoomMenu_PlaceYesNoMenu - dw BattleTowerRoomMenu_UpdateYesNoMenu - dw BattleTowerRoomMenu_UberRestrictionMessage - dw BattleTowerRoomMenu_WaitForMessage - dw BattleTowerRoomMenu_DelayRestartMenu - dw Function118e76 ; mobile - dw BattleTowerRoomMenu_CallRoomMenu2 ; mobile - dw Function118e76 ; mobile -; 11857c - -Function11857c: ; 11857c - jumptable .Jumptable, wcf66 -; 11858b - -.Jumptable: ; 11858b - dw Function11886e - dw Function118880 - dw Function11878d - dw Function1188b0 - dw Function11878d - dw Function1188b8 - dw Function11878d - dw Function1188c0 - dw Function11878d - dw Function1188c8 - dw Function11878d - dw Function118903 - dw Function118a7a - dw Function11878d - dw Function11891c - dw Function1198ee - dw Function1198f7 - dw Function11878d - dw Function119937 - dw Function118e6d - dw Function11878d - dw Function118e76 - dw Function118e7e - dw Function11878d - dw BattleTowerRoomMenu_DoNothing - dw Function118e76 - dw BattleTowerRoomMenu_CallRoomMenu2 - dw Function118e76 -; 1185c3 - -Function1185c3: ; 1185c3 - jumptable .Jumptable, wcf66 -; 1185d2 - -.Jumptable: ; 1185d2 - dw Function11886e - dw Function118880 - dw Function11878d - dw Function1188b0 - dw Function11878d - dw Function1188b8 - dw Function11878d - dw Function1188c0 - dw Function11878d - dw Function1188c8 - dw Function11878d - dw Function118903 - dw Function118aa4 - dw Function11878d - dw Function118e92 - dw Function11878d - dw Function118eb0 - dw Function118ec6 - dw Function118f0d - dw Function118f14 - dw Function118f5e - dw Function11878d - dw Function118fc0 - dw Function11878d - dw Function119054 - dw Function1190d0 - dw Function11878d - dw Function1190ec - dw Function118e6d - dw Function11878d - dw Function118e76 - dw Function118e7e - dw Function11878d - dw BattleTowerRoomMenu_DoNothing - dw Function118e76 - dw BattleTowerRoomMenu_CallRoomMenu2 - dw BattleTowerRoomMenu_QuitMessage - dw BattleTowerRoomMenu_PlaceYesNoMenu - dw BattleTowerRoomMenu_UpdateYesNoMenu - dw Function11914e - dw Function118e76 -; 118624 - -Function118624: ; 118624 - jumptable .Jumptable, wcf66 -; 118633 - -.Jumptable: ; 118633 - dw Function118866 - dw Function118880 - dw Function11878d - dw Function1188b0 - dw Function11878d - dw Function1188b8 - dw Function11878d - dw Function1188c0 - dw Function11878d - dw Function1188c8 - dw Function11878d - dw Function118903 - dw Function118aa4 - dw Function11878d - dw Function118e92 - dw Function11878d - dw Function11915d - dw Function118f68 - dw Function11878d - dw Function119009 - dw Function11878d - dw Function119054 - dw Function118e6d - dw Function11878d - dw Function118e76 - dw Function118e7e - dw Function11878d - dw BattleTowerRoomMenu_DoNothing - dw Function118e76 - dw BattleTowerRoomMenu_CallRoomMenu2 - dw Function118e76 -; 118671 - -Function118671: ; 118671 - jumptable .Jumptable, wcf66 -; 118680 - -.Jumptable: ; 118680 - dw Function118866 - dw Function118880 - dw Function11878d - dw Function1188b0 - dw Function11878d - dw Function1188b8 - dw Function11878d - dw Function1188c0 - dw Function11878d - dw Function1188c8 - dw Function11878d - dw Function118903 - dw Function119380 - dw Function119388 - dw Function1193a0 - dw Function11878d - dw Function118e6d - dw Function11878d - dw Function118e76 - dw Function118e7e - dw Function11878d - dw BattleTowerRoomMenu_DoNothing - dw Function118e76 - dw BattleTowerRoomMenu_CallRoomMenu2 - dw Function118e76 -; 1186b2 - -Function1186b2: ; 1186b2 - jumptable .Jumptable, wcf66 -; 1186c1 - -.Jumptable: ; 1186c1 - dw Function118866 - dw Function118880 - dw Function11878d - dw Function1188b0 - dw Function11878d - dw Function1188b8 - dw Function11878d - dw Function1188c0 - dw Function11878d - dw Function1188c8 - dw Function11878d - dw Function118903 - dw Function119380 - dw Function1193e3 - dw Function1193fb - dw Function11878d - dw Function119413 - dw Function118e6d - dw Function11878d - dw Function118e76 - dw Function118e7e - dw Function11878d - dw BattleTowerRoomMenu_DoNothing - dw Function118e76 - dw BattleTowerRoomMenu_CallRoomMenu2 - dw Function118e76 -; 1186f5 - -Function1186f5: ; 1186f5 (46:46f5) - jumptable .Jumptable, wcf66 -; 118704 (46:4704) - -.Jumptable: ; 118704 (46:4704) - dw Function11886a - dw Function118880 - dw Function11878d - dw Function1188b0 - dw Function11878d - dw Function1188b8 - dw Function11878d - dw Function1188c0 - dw Function11878d - dw Function1188c8 - dw Function11878d - dw Function118903 - dw Function118abc - dw Function11878d - dw Function119451 - dw Function1195f8 - dw Function119612 - dw Function119629 - dw Function119648 - dw Function11878d - dw Function118e6d - dw Function11878d - dw Function118e76 - dw Function118e7e - dw Function11878d - dw BattleTowerRoomMenu_DoNothing - dw Function11967d - dw Function119685 - dw Function119665 - dw Function11966d - dw Function118e76 - dw BattleTowerRoomMenu_CallRoomMenu2 - dw Function118e76 -; 118746 (46:4746) - -Function118746: ; 118746 - jumptable .Jumptable, wcf66 -; 118755 - -.Jumptable: ; 118755 - dw Function11886e - dw Function118880 - dw Function11878d - dw Function1188b0 - dw Function11878d - dw Function1188b8 - dw Function11878d - dw Function1188c0 - dw Function11878d - dw Function1188c8 - dw Function11878d - dw Function118903 - dw Function118ad0 - dw Function11878d - dw Function1196f2 - dw Function1197c9 - dw Function1197dc - dw Function11878d - dw Function118e6d - dw Function11878d - dw Function119800 - dw Function118e76 - dw Function118e7e - dw Function11878d - dw BattleTowerRoomMenu_DoNothing - dw Function118e76 - dw BattleTowerRoomMenu_CallRoomMenu2 - dw Function118e76 -; 11878d - -Function11878d: ; 11878d (46:478d) - ld a, [wc821] - bit 1, a - jr nz, .asm_1187af - bit 2, a - jr nz, .asm_1187d1 - bit 0, a - jr nz, .asm_1187aa - ld a, [wcd89] - and $1 - jr z, .asm_1187a7 - ld a, $3 - ld [rSVBK], a -.asm_1187a7 - jp BattleTowerRoomMenu_IncrementJumptable -.asm_1187aa - call Function118821 - ret c - ret -.asm_1187af - ld a, $0 - call Function3e32 - ld [wc300], a - ld a, l - ld [wc301], a - ld a, h - ld [wc302], a - ld a, $a - call Function3e32 - ld a, [wc3f0] - ld [$c319], a - ld a, [wcd34] - ld [wcf66], a - ret -.asm_1187d1 - ld hl, wcd89 - bit 0, [hl] - jr nz, .asm_118803 - set 0, [hl] - ld a, $6 - ld [rSVBK], a - ld de, w3_d000 - ld bc, $1000 - ld a, [hl] - sla a - jr c, .asm_1187f9 - sla a - jr c, .asm_1187fd - sla a - jr c, .asm_1187f5 - ld a, $24 - jr .asm_1187ff -.asm_1187f5 - ld a, $28 - jr .asm_1187ff -.asm_1187f9 - ld a, $2a - jr .asm_1187ff -.asm_1187fd - ld a, $2c -.asm_1187ff - call Function3e32 - ret -.asm_118803 - ld a, $d3 - -Function118805: ; 118805 (46:4805) - ld [wc300], a - xor a - ld [wc301], a - ld [wc302], a - ld a, $a - call Function3e32 - ld a, [wc3f0] - ld [$c319], a - ld a, [wcd34] - ld [wcf66], a - ret - -Function118821: ; 118821 (46:4821) - ld a, [$c319] - cp $3 - jr c, .asm_11884a - cp $4 - jr z, .asm_11884a - ld a, [hJoyDown] - cp $5 - jr nz, .asm_11884a - ld a, $a - call Function3e32 - ld a, $a - ld [wc300], a - ld a, [wc3f0] - ld [$c319], a - ld a, [wcd34] - ld [wcf66], a - scf - ret -.asm_11884a - and a - ret -; 11884c (46:484c) - -Function11884c: ; 11884c - ld a, [hJoyDown] - cp $5 - jr nz, .asm_118864 - ld a, $a - call Function3e32 - ld a, $a - ld [wc300], a - ld a, [wcd34] - ld [wcf66], a - scf - ret - -.asm_118864 - and a - ret -; 118866 - -Function118866: - ld a, 2 - jr asm_11886f - -Function11886a: ; 11886a (46:486a) - ld a, 1 - jr asm_11886f -; 11886e (46:486e) - -Function11886e: - xor a - -asm_11886f - ld [BGMapPalBuffer], a - ld a, $0 - ld [wcd3c], a - call BattleTowerRoomMenu_IncrementJumptable - ld a, [wcd33] - ld [wMobileInactivityTimerSeconds], a - -Function118880: ; 118880 (46:4880) - call BattleTowerRoomMenu2 - ret c - xor a - ld [wcf64], a - ld [wc807], a - ld de, wcd81 - ld hl, $46 - ld a, $2 - jp Function119e2b -; 118896 (46:4896) - -Function118896: ; 118896 - ld a, [wc821] - bit 1, a - jr nz, .asm_1188a5 - bit 2, a - jr nz, .asm_1188a5 - bit 0, a - jr z, .asm_1188aa - -.asm_1188a5 - ld a, $34 - jp Function119e2b - -.asm_1188aa - call BattleTowerRoomMenu_IncrementJumptable - jp BattleTowerRoomMenu_IncrementJumptable -; 1188b0 - -Function1188b0: ; 1188b0 (46:48b0) - ld de, $c346 - ld a, $c - jp Function119e2b - -Function1188b8: ; 1188b8 (46:48b8) - ld de, wc3ac - ld a, $e - jp Function119e2b - -Function1188c0: ; 1188c0 (46:48c0) - ld de, wc3cd - ld a, $10 - jp Function119e2b - -Function1188c8: ; 1188c8 (46:48c8) - ld a, $1 - ld [wcd65], a - call Function1188e7 - ld hl, $c708 -.asm_1188d3 - ld a, [de] - inc de - ld [hli], a - and a - jr nz, .asm_1188d3 - call Function119eb4 - call Function119ec2 - ld hl, $c708 - ld a, $6 - jp Function119e2b - -Function1188e7: ; 1188e7 (46:48e7) - ld de, $c346 - ld a, $5 - call GetSRAMBank - ld a, [$aa4a] - call CloseSRAM - and a - ret z - sla a - ld c, a -.asm_1188fa - ld a, [de] - inc de - and a - jr nz, .asm_1188fa - dec c - jr nz, .asm_1188fa - ret - -Function118903: ; 118903 (46:4903) - ld a, [wc3f0] - ld [$c319], a - ld c, $1 - callba Function115e18 - ld a, $8 - ld [wcd3c], a - call BattleTowerRoomMenu2 - jp BattleTowerRoomMenu_IncrementJumptable - - -Function11891c: ; 11891c - call Function118b42 - jp BattleTowerRoomMenu_IncrementJumptable - - -BattleTowerRoomMenu_PickLevelMessage: ; 118922 - ld a, [wcd38] - and a - jr nz, .asm_11892d - ld hl, Text_WhatLevelDoYouWantToChallenge - jr .asm_118930 - -.asm_11892d - ld hl, Text_CheckBattleRoomListByMaxLevel - -.asm_118930 - call BattleTowerRoomMenu_SetMessage - call BattleTowerRoomMenu_IncrementJumptable - -BattleTowerRoomMenu_PlacePickLevelMenu: - ld a, [$c31a] - and a - ret nz - ld hl, MenuDataHeader_119cf7 - call LoadMenuDataHeader - call MenuBox - call MenuBoxCoord2Tile - call ApplyTilemap - hlcoord 16, 8, AttrMap - ld a, $40 - or [hl] - ld [hl], a - call WaitBGMap2 - ld a, $1 - ld [wcd4f], a - ld a, $1 - ld [rSVBK], a - ld a, [StatusFlags] - bit 6, a ; Hall Of Fame - jr nz, .asm_11896b - ld hl, Strings_Ll0ToL40 ; Address to list of strings with the choosable levels - ld a, 5 ; 4 levels to choose from, including 'Cancel'-option - jr .asm_118970 - -.asm_11896b - ld hl, Strings_L10ToL100 ; Address to list of strings with the choosable levels - ld a, 11 ; 10 levels to choose from, including 'Cancel'-option - -.asm_118970 - ld [wcd4a], a - ld a, l - ld [wcd4b], a - ld a, h - ld [wcd4c], a - ld a, $3 - ld [rSVBK], a - call BattleTowerRoomMenu_IncrementJumptable - -BattleTowerRoomMenu_UpdatePickLevelMenu: - hlcoord 13, 8 - ld de, String_119d07 - call PlaceString - hlcoord 13, 10 - ld de, String_119d07 - call PlaceString - ld a, [wcd4b] - ld l, a - ld a, [wcd4c] - ld h, a - ld d, $0 - ld a, [wcd4f] - dec a - rlca - rlca - rlca - ld e, a - add hl, de - ld a, l - ld e, a - ld a, h - ld d, a - ld a, [rSVBK] - push af - ld a, $1 - ld [rSVBK], a - ld bc, StringBuffer3 -.asm_1189b5 - ld a, [hli] - cp $50 - jr z, .asm_1189c4 - cp $7f - jr z, .asm_1189c2 - ld [bc], a - inc bc - jr .asm_1189b5 - -.asm_1189c2 - ld a, $50 - -.asm_1189c4 - ld [bc], a - pop af - ld [rSVBK], a - hlcoord 13, 9 - call PlaceString - ld hl, hJoyPressed - ld a, [hl] - and B_BUTTON - jr nz, .b_button - ld a, [hl] - and A_BUTTON - jr nz, .a_button - ld a, [hl] - and D_DOWN - jr nz, .d_down - ld a, [hl] - and D_UP - jr nz, .d_up -.asm_1189e5 - ret - -.d_down - ld hl, wcd4f - dec [hl] - jr nz, .asm_1189e5 - ld a, [wcd4a] - ld [hl], a - jr .asm_1189e5 - -.d_up - ld a, [wcd4a] - ld hl, wcd4f - inc [hl] - cp [hl] - jr nc, .asm_1189e5 - ld a, $1 - ld [hl], a - jr .asm_1189e5 - -.a_button - call PlayClickSFX - ld a, [wcd4f] - ld hl, wcd4a - cp [hl] - jr z, .asm_118a3c - dec a - and $fe - srl a - ld [wcf65], a - ld a, [rSVBK] - push af - ld a, $1 - ld [rSVBK], a - call CloseWindow - pop af - ld [rSVBK], a - ld a, [wcd38] - and a - jr nz, .asm_118a30 - call BattleTower_LevelCheck - ret c - call BattleTower_UbersCheck - ret c - -.asm_118a30 - ld a, [wcd4f] - ld [w3_d800], a - jp BattleTowerRoomMenu_IncrementJumptable - -.b_button - call PlayClickSFX - -.asm_118a3c - ld a, [rSVBK] - push af - ld a, $1 - ld [rSVBK], a - call CloseWindow - pop af - ld [rSVBK], a - ld a, $7 - ld [wcf66], a - ld a, $0 - ld [wMobileInactivityTimerFrames], a - ret - - - -Function118a54: ; 118a54 - ld a, [wcd55] - ld l, a - ld a, [wcd56] - ld h, a - ld de, wc3ec - ld bc, $0004 - jp Function118ae4 -; 118a65 - -Function118a65: ; 118a65 - ld hl, BattleDownloadURL - ld de, wcc60 - ld bc, $80 - call CopyBytes - ld de, w3_d000 - ld bc, $1000 - jp Function118b10 -; 118a7a - -Function118a7a: ; 118a7a - ld hl, BattleDownloadURL - ld de, wcc60 - ld bc, $80 - call CopyBytes - ld de, w3_d000 - ld bc, $1000 - jp Function118b10 -; 118a8f - -Function118a8f: ; 118a8f - ld hl, ExchangeDownloadURL - ld de, wcc60 - ld bc, $80 - call CopyBytes - ld de, w3_d000 - ld bc, $1000 - jp Function118b10 -; 118aa4 - -Function118aa4: ; 118aa4 - ld hl, NewsDownloadURL - ld de, wcc60 - ld bc, $80 - call CopyBytes - ld a, $5 - ld [rSVBK], a - ld de, w3_d100 - ld bc, $e00 - jr Function118b10 -; 118abc - -Function118abc: ; 118abc (46:4abc) - ld hl, MenuDownloadURL - ld de, wcc60 - ld bc, $80 - call CopyBytes - ld de, w3_d000 - ld bc, $1000 - jr Function118b10 -; 118ad0 (46:4ad0) - -Function118ad0: - ld hl, IndexDownloadURL - ld de, wcc60 - ld bc, $80 - call CopyBytes - ld de, w3_d000 - ld bc, $1000 - jr Function118b10 - -Function118ae4: - push bc - push de - push hl - ld a, $8 - ld [wcd3c], a - call BattleTowerRoomMenu2 - pop hl - ld c, $0 - ld de, wcc60 -.asm_118af5 - ld a, [hli] - ld [de], a - inc de - and a - jr z, .asm_118b06 - inc c - ld a, c - cp $a6 - jr c, .asm_118af5 - ld a, $da - jp Function118805 - -.asm_118b06 - call Function118b24 - pop de - pop bc - ld a, $2a - jp Function119e2b -; 118b10 - -Function118b10: - push de - push bc - ld a, $8 - ld [wcd3c], a - call BattleTowerRoomMenu2 - call Function118b24 - pop bc - pop de - ld a, $2a - jp Function119e2b - -Function118b24: ; 118b24 (46:4b24) - ld hl, $c346 - ld a, $8 - ld [hli], a - ld a, $c7 - ld [hli], a - ld a, $60 - ld [hli], a - ld a, $cc - ld [hli], a - call Function119eb4 - call Function119ec2 - ld a, $80 - ld [wcd89], a - ld hl, $c346 - ret -; 118b42 (46:4b42) - -Function118b42: ; 118b42 - ld hl, wd002 - ld a, l - ld [wcd51], a - ld a, h - ld [wcd52], a - call Function118b8c - ld a, l - ld [wcd55], a - ld [wcd59], a - ld a, h - ld [wcd56], a - ld [wcd5a], a - call Function118b8c - ld a, l - ld [wcd53], a - ld [wcd5d], a - ld a, h - ld [wcd54], a - ld [wcd5e], a - call Function118b8c - ld a, l - ld [wcd57], a - ld [wcd5b], a - ld a, h - ld [wcd58], a - ld [wcd5c], a - call Function118b8c - ld a, l - ld [wcd5f], a - ld a, h - ld [wcd60], a - ret -; 118b8c - -Function118b8c: ; 118b8c -.asm_118b8c - call Function118b9a - ret nc - ld a, [hli] - cp $d - jr nz, .asm_118b8c - dec hl - xor a - ld [hli], a - ld [hli], a - ret -; 118b9a - -Function118b9a: ; 118b9a - ld a, h - cp $e0 - ret c - ld a, $d3 - call Function118805 - and a - ret -; 118ba5 - - - charmap " ", $20 ; revert to ascii - -ExchangeDownloadURL: ; 0x118ba5 - db "http://gameboy.datacenter.ne.jp/cgb/download?name=/01/CGB-BXTJ/exchange/index.txt", 0 - -BattleDownloadURL: ; 0x118bf7 - db "http://gameboy.datacenter.ne.jp/cgb/download?name=/01/CGB-BXTJ/battle/index.txt", 0 - -NewsDownloadURL: ; 0x118c47 - db "http://gameboy.datacenter.ne.jp/cgb/download?name=/01/CGB-BXTJ/news/index.txt", 0 - -MenuDownloadURL: ; 0x118c95 - db "http://gameboy.datacenter.ne.jp/cgb/download?name=/01/CGB-BXTJ/POKESTA/menu.cgb", 0 - -IndexDownloadURL: ; 0x118ce5 - db "http://gameboy.datacenter.ne.jp/cgb/download?name=/01/CGB-BXTJ/tamago/index.txt", 0 - - -Function118d35: ; 118d35 -; unreferenced - ld hl, $d200 - ld a, [wcd38] - and a - jr nz, .asm_118d6e - ld a, [hli] - cp $94 - jr nz, .asm_118d7b - ld a, [hl] - cp $5 - jr nz, .asm_118d7b - ld a, [wcd4f] - sla a - ld b, a - sla a - sla a - add b - ld b, a - ld a, $5 - call GetSRAMBank - ld a, b - ld [$b2fb], a - call CloseSRAM - callba Function170be4 - callba Function1700c4 - jr .asm_118d78 - -.asm_118d6e - ld a, [hli] - cp $96 - jr nz, .asm_118d7b - ld a, [hl] - cp $0 - jr nz, .asm_118d7b - -.asm_118d78 - jp BattleTowerRoomMenu_IncrementJumptable - -.asm_118d7b - ld a, $d3 - jp Function118805 -; 118d80 - -Function118d80: ; 118d80 - call Function118e06 - ld a, [wcd38] - and a - jr z, .asm_118d8e - call BattleTowerRoomMenu_IncrementJumptable - jr asm_118d9f - -.asm_118d8e - ld a, $9 - ld [wcd3c], a - ld a, $12 - ld [wMobileInactivityTimerSeconds], a - call BattleTowerRoomMenu_IncrementJumptable - -Function118d9b: - call BattleTowerRoomMenu2 - ret c - -asm_118d9f - ld hl, $c608 - call Function119940 - ld a, [wcd38] - and a - jr nz, .asm_118db2 - ld a, $8f - ld [wcd3b], a - jr .asm_118db7 - -.asm_118db2 - ld a, $26 - ld [wcd3b], a - -.asm_118db7 - ld hl, w3_d800 - ld a, $8 - ld [hli], a - ld a, $c6 - ld [hli], a - ld a, [wcd3b] - ld [hli], a - xor a - ld [hli], a - ld a, $8 - ld [hli], a - ld a, $c7 - ld [hli], a - ld a, [wcd39] - ld [hli], a - ld a, [wcd3a] - ld [hli], a - call Function119eb4 - call Function119ec2 - ld a, $40 - ld [wcd89], a - ld hl, w3_d800 - ld de, $de00 - ld bc, $0200 - ld a, $2c - jp Function119e2b -; 118ded - -Function118ded: ; 118ded - ld a, [wcd38] - and a - jr z, .asm_118e03 - ld a, [rSVBK] - push af - ld a, $1 - ld [rSVBK], a - callba Function11b93b - pop af - ld [rSVBK], a - -.asm_118e03 - jp BattleTowerRoomMenu_IncrementJumptable -; 118e06 - -Function118e06: ; 118e06 - ld hl, wd002 - ld a, [wcd38] - and a - jr z, .asm_118e1d -.asm_118e0f - call Function118b9a - ret nc - ld a, [hli] - cp $d - jr nz, .asm_118e0f - ld a, [hli] - cp $a - jr nz, .asm_118e0f - -.asm_118e1d - ld a, l - ld [wcd39], a - ld a, h - ld [wcd3a], a -.asm_118e25 - call Function118b9a - ret nc - ld a, [hli] - cp $d - jr nz, .asm_118e25 - ld a, [hli] - cp $a - jr nz, .asm_118e25 - dec hl - xor a - ld [hld], a - ld [hl], a - jr asm_118e3e - -Function118e39: ; 118e39 (46:4e39) -.asm_118e39 - ld a, [hli] - and a - jr nz, .asm_118e39 - dec hl -asm_118e3e -.asm_118e3e - ld a, [hld] - cp $2f - jr nz, .asm_118e3e - inc hl - inc hl - ld de, wcd85 - ld c, $4 -.asm_118e4a - ld a, [hli] - cp $2e - jr z, .asm_118e63 - cp $30 - jr c, .asm_118e67 - cp $3a - jr nc, .asm_118e67 - sub $30 - add $f6 - ld [de], a - inc de - dec c - jr nz, .asm_118e4a - ld de, wcd85 -.asm_118e63 - ld a, $50 - ld [de], a - ret -.asm_118e67 - ld a, $f3 - ld [de], a - inc de - jr .asm_118e63 - -Function118e6d: ; 118e6d (46:4e6d) - xor a - ld [wcd65], a - ld a, $a - jp Function119e2b - -Function118e76: ; 118e76 (46:4e76) - ; Call $c in BattleTowerRoomMenu2 - ld a, $c - ld [wcd3c], a - jp BattleTowerRoomMenu_IncrementJumptable - -Function118e7e: ; 118e7e (46:4e7e) - call BattleTowerRoomMenu2 - ret c - ld a, $36 - jp Function119e2b - -BattleTowerRoomMenu_CallRoomMenu2: ; 118e87 (46:4e87) - call BattleTowerRoomMenu2 - ret c - ld a, [wcd33] - ld [wcf66], a - ret -; 118e92 (46:4e92) - -Function118e92: ; 118e92 - call Function118440 - call Function1191d3 - ld a, [wcd53] - ld l, a - ld a, [wcd54] - ld h, a - ld de, wcc60 - call Function1191ad - ret c - ld de, w3_d800 - ld bc, $0800 - jp Function118b10 -; 118eb0 - -Function118eb0: ; 118eb0 - call Function118440 - ld hl, $d802 - ld de, BGMapBuffer - ld bc, $000c - call CopyBytes - call Function1192cc - ret c - jp BattleTowerRoomMenu_IncrementJumptable -; 118ec6 - -Function118ec6: ; 118ec6 - call Function118440 - call SpeechTextBox - ld hl, $d80e - ld de, $c320 - ld bc, $0026 - call CopyBytes - xor a - ld [$c31f], a - ld a, $20 - ld [$c31b], a - ld a, $c3 - ld [$c31c], a - hlcoord 1, 14 - ld a, l - ld [$c31d], a - ld a, h - ld [$c31e], a - ld a, $2 - ld [$c31a], a - ld a, $1d - ld [wcd3c], a - ld a, $24 - ld [wMobileInactivityTimerSeconds], a - ld a, $11 - ld [wMobileInactivityTimerFrames], a - ld a, $1c - ld [wcd47], a - jp BattleTowerRoomMenu_IncrementJumptable -; 118f0d - -Function118f0d: ; 118f0d - call BattleTowerRoomMenu2 - ret c - call Function118440 - -Function118f14: - call Function118440 - ld a, [wcd51] - ld l, a - ld a, [wcd52] - ld h, a - ld de, wcc60 - call Function1191ad - ret c - ld a, [wcc60] - and a - jr z, .DontSendSaveFile - ld hl, Text_SaveFileWillBeSent - call BattleTowerRoomMenu_SetMessage - -.DontSendSaveFile: - ld a, [wcd57] - ld l, a - ld a, [wcd58] - ld h, a - ld de, wcc60 - call Function1191ad - ret c - ld hl, wcc60 - call Function118e39 - ld a, $9 - ld [wcd3c], a - ld a, $24 - ld [wMobileInactivityTimerSeconds], a - ld a, $13 - ld [wMobileInactivityTimerFrames], a - ld a, $1c - ld [wcd47], a - jp BattleTowerRoomMenu_IncrementJumptable -; 118f5e - -Function118f5e: ; 118f5e - call BattleTowerRoomMenu2 - ret c - call Function118440 - call DelayFrame - -Function118f68: - call Function119223 - ret c - call Function118440 - ld a, [wcd51] - ld l, a - ld a, [wcd52] - ld h, a - ld de, wcc60 - call Function1191ad - ret c - ld a, [wcc60] - and a - jr z, .asm_118fba - ld hl, $c346 - ld a, $c608 % $100 - ld [hli], a - ld a, $c608 / $100 - ld [hli], a - ld a, [wcd4b] - ld [hli], a - ld a, [wcd4c] - ld [hli], a - ld a, $c708 % $100 - ld [hli], a - ld a, $c708 / $100 - ld [hli], a - ld a, $60 - ld [hli], a - ld a, $cc - ld [hli], a - call Function119eb4 - call Function119ec2 - ld a, $40 - ld [wcd89], a - ld hl, $c346 - ld de, $de00 - ld bc, $0200 - ld a, $2c - jp Function119e2b - -.asm_118fba - call BattleTowerRoomMenu_IncrementJumptable - jp BattleTowerRoomMenu_IncrementJumptable -; 118fc0 - -Function118fc0: ; 118fc0 - call Function118440 - ld a, [wcd55] - ld l, a - ld a, [wcd56] - ld h, a - ld de, wcc60 - call Function1191ad - ret c - ld a, [wcc60] - and a - jr z, .asm_118ffa - ld a, [wcd51] - ld l, a - ld a, [wcd52] - ld h, a - ld de, wcc60 - call Function1191ad - ret c - ld a, [wcc60] - and a - jr z, .asm_118ff2 - ld hl, Text_SentSaveFileReadingNews - jr .asm_118ff5 - -.asm_118ff2 - ld hl, Text_ReadingNews - -.asm_118ff5 - call BattleTowerRoomMenu_SetMessage - jr Function119009 - -.asm_118ffa - ld hl, Text_ReadingNews - call BattleTowerRoomMenu_SetMessage - call BattleTowerRoomMenu_IncrementJumptable - call BattleTowerRoomMenu_IncrementJumptable - jp BattleTowerRoomMenu_IncrementJumptable - -Function119009: - call Function118440 - call Function119300 - ld a, [wcd55] - ld l, a - ld a, [wcd56] - ld h, a - ld de, wcc60 - call Function1191ad - ret c - ld hl, $c346 - ld a, $8 - ld [hli], a - ld a, $c6 - ld [hli], a - ld a, [wcd4b] - ld [hli], a - ld a, [wcd4c] - ld [hli], a - ld a, $8 - ld [hli], a - ld a, $c7 - ld [hli], a - ld a, $60 - ld [hli], a - ld a, $cc - ld [hli], a - call Function119eb4 - call Function119ec2 - ld a, $40 - ld [wcd89], a - ld hl, $c346 - ld de, w3_d000 - ld bc, $1000 - ld a, $2c - jp Function119e2b -; 119054 - -Function119054: ; 119054 - ld a, $6 - call GetSRAMBank - ld hl, wd002 - ld a, [wcd4f] - ld e, a - ld a, [wcd50] - ld d, a - ld a, [w3_d000] - ld c, a - ld a, [w3_d000 + 1] - ld b, a - call Function119192 - ret c - ld a, [wcd89] - and $1 - jr z, .asm_11908a - ld a, $6 - ld [rSVBK], a - ld hl, wd002 - ld a, [w3_d000] - ld c, a - ld a, [w3_d000 + 1] - ld b, a - call Function119192 - ret c - -.asm_11908a - call CloseSRAM - ld a, $3 - ld [rSVBK], a - ld a, $5 - call GetSRAMBank - ld a, [wcd4f] - ld [$b1b3], a - ld a, [wcd50] - ld [$b1b4], a - ld hl, BGMapBuffer - ld de, $aa7f - ld bc, $000c - call CopyBytes - ld a, [rSVBK] - push af - ld a, $1 - ld [rSVBK], a - ld a, [wd474] - ld [$b2f3], a - ld hl, wd475 - ld de, $b2f4 - ld bc, $0004 - call CopyBytes - pop af - ld [rSVBK], a - call CloseSRAM - jp BattleTowerRoomMenu_IncrementJumptable -; 1190d0 - -Function1190d0: ; 1190d0 - ld a, $3 - ld [rSVBK], a - ld a, [wcd57] - ld l, a - ld a, [wcd58] - ld h, a - ld de, wcc60 - call Function1191ad - ret c - ld de, w3_d000 - ld bc, $1000 - jp Function118b10 -; 1190ec - -Function1190ec: ; 1190ec - ld a, $5 - call GetSRAMBank - ld hl, BGMapBuffer - ld de, $aa73 - ld bc, $000c - call CopyBytes - call CloseSRAM - ld a, $5 - call GetSRAMBank - ld a, $1 - ld [$aa72], a - call CloseSRAM - ld a, $6 - call GetSRAMBank - ld a, [w3_d000] - ld c, a - ld a, [w3_d000 + 1] - ld b, a - ld hl, wd002 - ld de, $a000 - call Function119192 - ret c - ld a, [wcd89] - and $1 - jr z, .asm_11913e - ld a, $6 - ld [rSVBK], a - ld a, [w3_d000] - ld c, a - ld a, [w3_d000 + 1] - ld b, a - ld hl, wd002 - call Function119192 - ret c - -.asm_11913e - ld a, $3 - ld [rSVBK], a - call CloseSRAM - ld hl, Text_ReceivedNews - call BattleTowerRoomMenu_SetMessage - jp BattleTowerRoomMenu_IncrementJumptable -; 11914e - -Function11914e: ; 11914e - call BattleTowerRoomMenu2 - ret c - ld a, $1c - ld [wcf66], a - ld a, $a - ld [wc300], a - ret -; 11915d - -Function11915d: ; 11915d - ld hl, $d802 - ld de, BGMapBuffer - ld bc, $000c - call CopyBytes - ld a, $5 - call GetSRAMBank - ld hl, BGMapBuffer - ld de, $aa7f - ld c, $c -.asm_119176 - ld a, [de] - inc de - cp [hl] - jr nz, .asm_119184 - inc hl - dec c - jr nz, .asm_119176 - call BattleTowerRoomMenu_IncrementJumptable - jr .asm_11918e - -.asm_119184 - ld a, $16 - ld [wcf66], a - ld a, $b - ld [wc300], a - -.asm_11918e - call CloseSRAM - ret -; 119192 - -Function119192: ; 119192 - inc b - inc c - jr .asm_11919e - -.asm_119196 - ld a, [hli] - ld [de], a - inc de - ld a, $bf - cp d - jr c, .asm_1191a6 - -.asm_11919e - dec c - jr nz, .asm_119196 - dec b - jr nz, .asm_119196 - and a - ret - -.asm_1191a6 - ld a, $d3 - call Function118805 - scf - ret -; 1191ad - -Function1191ad: ; 1191ad - push bc - ld c, $0 - ld a, $5 - ld [rSVBK], a -.asm_1191b4 - ld a, [hli] - ld [de], a - inc de - and a - jr z, .asm_1191cc - inc c - ld a, c - cp $a6 - jr c, .asm_1191b4 - ld a, $da - call Function118805 - ld a, $3 - ld [rSVBK], a - pop bc - scf - ret - -.asm_1191cc - ld a, $3 - ld [rSVBK], a - pop bc - and a - ret -; 1191d3 - -Function1191d3: ; 1191d3 - ld hl, w3_d100 + 2 - ld a, l - ld [wcd53], a - ld a, h - ld [wcd54], a - call Function11920f - ld a, l - ld [wcd51], a - ld a, [wcd4a] - ld a, h - ld [wcd52], a - call Function11920f - ld a, l - ld [wcd55], a - ld a, [wcd4a] - ld a, h - ld [wcd56], a - call Function11920f - ld a, [wcd49] - ld a, l - ld [wcd57], a - ld a, [wcd4a] - ld a, h - ld [wcd58], a - call Function11920f - ret -; 11920f - -Function11920f: ; 11920f -.asm_11920f - call Function118b9a - ret nc - ld a, [hli] - cp $d - jr nz, .asm_11920f - ld a, [hli] - cp $a - jr nz, .asm_11920f - dec hl - xor a - ld [hld], a - ld [hli], a - inc hl - ret -; 119223 - -Function119223: ; 119223 - xor a - ld [wcd4b], a - ld [wcd4c], a - ld a, $5 - call GetSRAMBank - ld hl, wc3cd - ld de, $b092 - ld bc, $001f - call CopyBytes - dec de - xor a - ld [de], a - ld hl, $d810 -.asm_119241 - ld a, [hli] - cp $50 - jr nz, .asm_119241 - ld a, [hli] - ld [wcd4f], a - ld a, [hli] - ld [wcd50], a - ld a, [hli] - ld [$b1b1], a - ld c, a - ld a, [hli] - ld [$b1b2], a - ld b, a - ld de, $b1d3 - call CopyBytes - call CloseSRAM - ld e, l - ld d, h - ld hl, $c608 -.asm_119266 - ld a, [de] - inc de - cp $ff - jr z, .asm_1192c2 - cp $fe - jr z, .asm_1192a5 - call GetSRAMBank - ld a, [de] - inc de - ld c, a - ld a, [de] - inc de - ld b, a - ld a, [de] - inc de - push de - push af - ld a, [wcd4b] - ld e, a - ld a, [wcd4c] - ld d, a - pop af -.asm_119286 - push af - ld a, [bc] - inc bc - ld [hli], a - inc de - pop af - dec a - jr nz, .asm_119286 - call CloseSRAM - ld a, e - ld [wcd4b], a - ld a, d - ld [wcd4c], a - pop de -.asm_11929b - and a - jr z, .asm_119266 - ld a, $d3 - call Function118805 - scf - ret - -.asm_1192a5 - ld a, [wcd4b] - ld c, a - ld a, [wcd4c] - ld b, a - ld a, [de] - inc de -.asm_1192af - push af - ld a, [de] - inc de - ld [hli], a - inc bc - pop af - dec a - jr nz, .asm_1192af - ld a, c - ld [wcd4b], a - ld a, b - ld [wcd4c], a - jr .asm_11929b - -.asm_1192c2 - ld a, e - ld [wcd4d], a - ld a, d - ld [wcd4e], a - and a - ret -; 1192cc - -Function1192cc: ; 1192cc - ld a, $5 - call GetSRAMBank - ld hl, $aa73 - ld de, $c608 - ld bc, $000c - call CopyBytes - call CloseSRAM - ld hl, $c608 - ld de, BGMapBuffer - ld c, $c -.asm_1192e8 - ld a, [de] - inc de - ld b, a - ld a, [hli] - cp b - jr nz, .asm_1192fe - dec c - jr nz, .asm_1192e8 - ld a, $1f - ld [wcd3c], a - ld a, $27 - ld [wcf66], a - scf - ret - -.asm_1192fe - and a - ret -; 119300 - -Function119300: ; 119300 - xor a - ld [wcd4b], a - ld [wcd4c], a - ld a, [wcd4d] - ld e, a - ld a, [wcd4e] - ld d, a - ld hl, $c608 - ld a, [wcd4b] - ld c, a - ld a, [wcd4c] - ld b, a -.asm_11931a - ld a, [de] - inc de - cp $50 - jr z, .asm_119324 - ld [hli], a - inc bc - jr .asm_11931a - -.asm_119324 - ld a, $3d - ld [hli], a - inc bc - ld a, c - ld [wcd4b], a - ld a, b - ld [wcd4c], a - ld a, [de] - inc de - call GetSRAMBank - ld a, [de] - inc de - ld c, a - ld a, [de] - inc de - ld b, a - ld a, [de] - inc de - push de - push af - ld a, [wcd4b] - ld e, a - ld a, [wcd4c] - ld d, a - pop af -.asm_119348 - push af - ld a, [bc] - and $f0 - swap a - call Function1197bf - ld [hli], a - inc de - ld a, [bc] - inc bc - and $f - call Function1197bf - ld [hli], a - inc de - pop af - dec a - jr nz, .asm_119348 - call CloseSRAM - ld a, e - ld [wcd4b], a - ld a, d - ld [wcd4c], a - pop de - ld a, [de] - cp $50 - jr z, .asm_11937f - ld a, [wcd4b] - ld c, a - ld a, [wcd4c] - ld b, a - ld a, $26 - ld [hli], a - inc bc - jr .asm_11931a - -.asm_11937f - ret -; 119380 - -Function119380: ; 119380 - ld a, $80 - ld [wcd49], a - jp BattleTowerRoomMenu_IncrementJumptable -; 119388 - -Function119388: ; 119388 - ld hl, wcd49 - dec [hl] - ret nz - ld hl, wcc60 - call Function118e39 - ld a, $9 - ld [wcd3c], a - ld a, $10 - ld [wMobileInactivityTimerSeconds], a - call BattleTowerRoomMenu_IncrementJumptable - -Function1193a0: - call BattleTowerRoomMenu2 - ret c - call DelayFrame - ld a, $8 - ld [wcd3c], a - call BattleTowerRoomMenu2 - ld hl, $c346 - ld a, wd000 % $100 - ld [hli], a - ld a, wd000 / $100 - ld [hli], a - ld a, [wcd3b] - ld [hli], a - xor a - ld [hli], a - ld a, $c708 % $100 - ld [hli], a - ld a, $c708 / $100 - ld [hli], a - ld a, $60 - ld [hli], a - ld a, $cc - ld [hli], a - call Function119eb4 - call Function119ec2 - ld a, $40 - ld [wcd89], a - ld hl, $c346 - ld de, $de00 - ld bc, $0200 - ld a, $2c - jp Function119e2b -; 1193e3 - -Function1193e3: ; 1193e3 - ld hl, wcd49 - dec [hl] - ret nz - ld hl, wcc60 - call Function118e39 - ld a, $9 - ld [wcd3c], a - ld a, $11 - ld [wMobileInactivityTimerSeconds], a - call BattleTowerRoomMenu_IncrementJumptable - -Function1193fb: - call BattleTowerRoomMenu2 - ret c - call DelayFrame - ld a, $8 - ld [wcd3c], a - call BattleTowerRoomMenu2 - ld de, w3_d000 - ld bc, $1000 - jp Function118b10 -; 119413 - -Function119413: ; 119413 - ld a, $6 - call GetSRAMBank - ld a, [w3_d000] - ld c, a - ld a, [w3_d000 + 1] - ld b, a - dec bc - dec bc - ld hl, wd002 - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - call Function119192 - ret c - ld a, [wcd89] - and $1 - jr z, .asm_119447 - ld a, $6 - ld [rSVBK], a - ld a, [wd000] - ld c, a - ld a, [w3_d000 + 1] - ld b, a - ld hl, wd002 - call Function119192 - ret c - -.asm_119447 - ld a, $3 - ld [rSVBK], a - call CloseSRAM - jp BattleTowerRoomMenu_IncrementJumptable -; 119451 - -Function119451: ; 119451 (46:5451) - ld a, [wcd89] - and $1 - jr z, .asm_11945d - ld a, $d3 - jp Function118805 -.asm_11945d - xor a - ld [wcd50], a - call Function119694 - ld a, b - ld [wcd49], a - call Function1196cd - ld a, [wd002] - ld hl, wd003 - -Function119471: ; 119471 (46:5471) - push af - ld a, [hli] - ld [$c608], a - ld a, [hli] - ld [$c608 + 3], a - ld a, [hli] - ld [$c608 + 1], a - ld a, [hli] - ld [$c608 + 2], a - ld a, [hli] - ld [$c608 + 4], a - ld a, [hli] - ld [$c608 + 5], a ; $c608 + 5 - push hl - ld a, [$c608] - cp $ff - jr z, .asm_1194a7 - ld a, [$c608 + 2] - cp $ff - jr z, .asm_1194a7 - ld a, [$c608 + 1] - cp $ff - jr nz, .asm_1194a7 - call Function119584 - jr c, .asm_11950c - jr .asm_1194f0 -.asm_1194a7 - ld hl, $c608 - ld de, $c608 + 3 - ld c, $3 -.asm_1194af - ld a, [de] - inc de - cp [hl] - inc hl - jr c, .asm_1194f3 - jr z, .asm_1194b9 - jr nc, .asm_1194bc -.asm_1194b9 - dec c - jr nz, .asm_1194af -.asm_1194bc - ld c, $3 - ld hl, wcd49 - ld de, $c608 -.asm_1194c4 - ld a, [de] - inc de - cp $ff - jr z, .asm_1194d1 - cp [hl] - jr z, .asm_1194d1 - jr c, .asm_1194d5 - jr nc, .asm_1194f0 -.asm_1194d1 - inc hl - dec c - jr nz, .asm_1194c4 -.asm_1194d5 - ld c, $3 - ld hl, wcd49 - ld de, $c608 + 3 -.asm_1194dd - ld a, [de] - inc de - cp $ff - jr z, .asm_1194ea - cp [hl] - jr c, .asm_1194f0 - jr z, .asm_1194ea - jr nc, .asm_11950c -.asm_1194ea - inc hl - dec c - jr nz, .asm_1194dd - jr .asm_11950c -.asm_1194f0 - pop hl - jr .asm_119557 -.asm_1194f3 - ld c, $3 - ld hl, wcd49 - ld de, $c608 -.asm_1194fb - ld a, [de] - inc de - cp $ff - jr z, .asm_119508 - cp [hl] - jr c, .asm_11950c - jr z, .asm_119508 - jr nc, .asm_1194d5 -.asm_119508 - inc hl - dec c - jr nz, .asm_1194fb -.asm_11950c - pop hl - ld a, $1 - ld [wcd50], a - ld a, l - ld [$c608], a - ld a, h - ld [$c608 + 1], a - ld de, wcd69 - ld c, $10 - ld b, $0 -.asm_119521 - ld a, [de] - inc de - cp [hl] - inc hl - jr nz, .asm_119528 - inc b -.asm_119528 - dec c - jr nz, .asm_119521 - ld a, $10 - cp b - jr z, .asm_119536 -rept 4 - inc hl -endr - jr .asm_11957a -.asm_119536 - ld a, [hli] - cp $50 - jr nz, .asm_119552 - ld a, [hli] - cp $33 - jr nz, .asm_119553 - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - ld a, [wcd83] - cp c - jr nz, .asm_119576 - ld a, [wcd84] - cp b - jr nz, .asm_119576 - jr .asm_11955b -.asm_119552 - inc hl -.asm_119553 - inc hl - inc hl - jr .asm_11955b -.asm_119557 - ld de, $14 - add hl, de -.asm_11955b - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - add hl, de - pop af - dec a - jp nz, Function119471 - ld a, [wcd50] - and a - jr z, .asm_119571 - ld a, $1a - ld [wcf66], a - ret -.asm_119571 - ld a, $d8 - jp Function118805 -.asm_119576 - ld a, $10 - jr .asm_11957c -.asm_11957a - ld a, $f -.asm_11957c - ld [wcf66], a - pop af - call Function1195c4 - ret - -Function119584: ; 119584 (46:5584) - ld a, [$c608] - ld b, a - ld a, [$c608 + 3] - ld c, a - cp b - jr c, .asm_11959c - ld a, [wcd49] - cp b - jr c, .asm_1195c2 -.asm_119595 - cp c - jr c, .asm_1195a2 - jr z, .asm_1195a2 - jr .asm_1195c2 -.asm_11959c - ld a, [wcd49] - cp b - jr c, .asm_119595 -.asm_1195a2 - ld a, [$c608 + 2] - ld b, a - ld a, [$c608 + 5] ; $c608 + 5 - ld c, a - cp b - jr c, .asm_1195ba - ld a, [wcd4b] - cp b - jr c, .asm_1195c2 -.asm_1195b3 - cp c - jr c, .asm_1195c0 - jr z, .asm_1195c0 - jr .asm_1195c2 -.asm_1195ba - ld a, [wcd4b] - cp b - jr c, .asm_1195b3 -.asm_1195c0 - scf - ret -.asm_1195c2 - and a - ret - -Function1195c4: ; 1195c4 (46:55c4) - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - ld de, $a5 - ld a, b - cp d - jr c, .asm_1195d9 - jr z, .asm_1195d3 - jr nc, .asm_1195f3 -.asm_1195d3 - ld a, c - cp e - jr z, .asm_1195d9 - jr nc, .asm_1195f3 -.asm_1195d9 - ld de, wcc60 - call CopyBytes - xor a - ld [de], a - ld a, [$c608] - ld l, a - ld a, [$c608 + 1] - ld h, a - ld de, wcd69 - ld bc, $10 - call CopyBytes - ret -.asm_1195f3 - ld a, $d8 - jp Function118805 - -Function1195f8: ; 1195f8 (46:55f8) - ld a, $11 - ld [wcd3c], a - ld a, $1c - ld [wMobileInactivityTimerSeconds], a - ld a, $f - ld [wMobileInactivityTimerFrames], a - ld a, $14 - ld [wcd47], a - call BattleTowerRoomMenu_IncrementJumptable - jp BattleTowerRoomMenu_IncrementJumptable - -Function119612: ; 119612 (46:5612) - ld a, $14 - ld [wcd3c], a - ld a, $1c - ld [wMobileInactivityTimerSeconds], a - ld a, $10 - ld [wMobileInactivityTimerFrames], a - ld a, $14 - ld [wcd47], a - jp BattleTowerRoomMenu_IncrementJumptable - -Function119629: ; 119629 (46:5629) - call BattleTowerRoomMenu2 - ret c - ld a, $60 - ld l, a - ld a, $cc - ld h, a - call Function118e39 - ld a, $9 - ld [wcd3c], a - ld a, $1c - ld [wMobileInactivityTimerSeconds], a - ld a, $14 - ld [wcd47], a - call BattleTowerRoomMenu_IncrementJumptable - -Function119648: ; 119648 (46:5648) - call BattleTowerRoomMenu2 - ret c - call DelayFrame - ld a, $8 - ld [wcd3c], a - call BattleTowerRoomMenu2 - call Function118b24 - ld de, w3_d000 - ld bc, $1000 - ld a, $2a - jp Function119e2b - -Function119665: ; 119665 (46:5665) - ld a, $1a - ld [wcd3c], a - call BattleTowerRoomMenu_IncrementJumptable - -Function11966d: ; 11966d (46:566d) - call BattleTowerRoomMenu2 - ret c - ld a, [wcd47] - ld [wcf66], a - ld a, $a - ld [wc300], a - ret - -Function11967d: ; 11967d (46:567d) - ld a, $18 - ld [wcd3c], a - call BattleTowerRoomMenu_IncrementJumptable - -Function119685: ; 119685 (46:5685) - call BattleTowerRoomMenu2 - ret c - ld a, $14 - ld [wcf66], a - ld a, $a - ld [wc300], a - ret - -Function119694: ; 119694 (46:5694) - ld b, 0 - ld hl, Unknown_1196b8 -.asm_119699 - ld de, $c708 - ld a, [de] - inc de - cp [hl] - inc hl - jr nz, .asm_1196af - ld a, [de] - inc de - cp [hl] - inc hl - jr nz, .asm_1196b0 - ld a, [de] - inc de - cp [hl] - inc hl - jr nz, .asm_1196b1 - ret -.asm_1196af - inc hl -.asm_1196b0 - inc hl -.asm_1196b1 - inc b - ld a, b - cp $7 - jr nz, .asm_119699 - ret -; 1196b8 (46:56b8) - -Unknown_1196b8: ; 1196b8 - db "Mon" - db "Tue" - db "Wed" - db "Thu" - db "Fri" - db "Sat" - db "Sun" -; 1196cd - -SECTION "bank46_2", ROMX -; A hack to use ascii above. - -Function1196cd: ; 1196cd (46:56cd) - ld de, $c719 - call Function1196de - ld [wcd4a], a - inc de - call Function1196de - ld [wcd4b], a - ret - -Function1196de: ; 1196de (46:56de) - ld a, [de] - inc de - ; b = ([de] - 48) * 2 - ; c = ([de] - 48) * 10 - sub $30 - sla a - ld b, a - sla a - sla a - add b - ld c, a - add hl, bc - ld a, [de] - inc de - sub $30 - add c - ret -; 1196f2 (46:56f2) - -Function1196f2: ; 1196f2 - ld hl, wd002 -.asm_1196f5 - call Function118b9a - ret nc - ld a, [hli] - cp $d - jr nz, .asm_1196f5 - ld a, [hl] - cp $a - jr nz, .asm_1196f5 - xor a - ld [hld], a - ld [hli], a - ld a, l - ld [wcd5b], a - ld a, h - ld [wcd5c], a - inc hl - ld e, l - ld d, h - ld a, [de] - inc de - cp $d - jr nz, .asm_119722 - ld a, [de] - inc de - cp $a - jr nz, .asm_119722 - ld a, $b - jp Function118805 - -.asm_119722 - call Random - ld c, $0 - ld b, c -.asm_119728 - call Function119798 - ld a, d - cp $ff - jr nz, .asm_119735 - ld a, e - cp $ff - jr z, .asm_11974c - -.asm_119735 - ld a, [hRandomSub] - cp d - jr c, .asm_11974c - jr z, .asm_11973e - jr .asm_119745 - -.asm_11973e - ld a, [hRandomAdd] - cp e - jr c, .asm_11974c - jr z, .asm_11974c - -.asm_119745 - inc bc - ld a, c - or b - jr z, .asm_119770 - jr .asm_119728 - -.asm_11974c - ld a, [wcd5b] - ld l, a - ld a, [wcd5c] - ld h, a -.asm_119754 - ld a, [hld] - cp $58 - jr nz, .asm_119754 - ld d, $0 -.asm_11975b - inc d - ld a, [hld] - cp $58 - jr z, .asm_11975b - inc hl - inc hl - ld a, d - dec a - jr z, .asm_11978e - dec a - jr z, .asm_119785 - dec a - jr z, .asm_11977e - dec a - jr z, .asm_119775 - -.asm_119770 - ld a, $d3 - jp Function118805 - -.asm_119775 - ld a, b - and $f0 - swap a - call Function1197bf - ld [hli], a - -.asm_11977e - ld a, b - and $f - call Function1197bf - ld [hli], a - -.asm_119785 - ld a, c - and $f0 - swap a - call Function1197bf - ld [hli], a - -.asm_11978e - ld a, c - and $f - call Function1197bf - ld [hli], a - jp BattleTowerRoomMenu_IncrementJumptable -; 119798 - -Function119798: ; 119798 - ld d, $0 - ld e, d - call Function1197b4 - swap a - or d - ld d, a - call Function1197b4 - or d - ld d, a - call Function1197b4 - swap a - or e - ld e, a - call Function1197b4 - or e - ld e, a - ret -; 1197b4 - -Function1197b4: ; 1197b4 - ld a, [hli] - cp $61 - jr nc, .asm_1197bc - sub $30 - ret - -.asm_1197bc - sub $57 - ret -; 1197bf - -Function1197bf: ; 1197bf - cp $a - jr nc, .asm_1197c6 - add $30 - ret - -.asm_1197c6 - add $57 - ret -; 1197c9 - -Function1197c9: ; 1197c9 - ld hl, wd002 - call Function118e39 - ld a, $9 - ld [wcd3c], a - ld a, $12 - ld [wMobileInactivityTimerSeconds], a - call BattleTowerRoomMenu_IncrementJumptable - -Function1197dc: - call BattleTowerRoomMenu2 - ret c - call DelayFrame - ld hl, wd002 - ld de, wcc60 - ld bc, $0080 - call CopyBytes - dec de - xor a - ld [de], a - call Function118b24 - ld de, w3_d000 - ld bc, $1000 - ld a, $2a - jp Function119e2b -; 119800 - -Function119800: ; 119800 - ld a, $fd - ld [$c6d0], a - ld [wOTTrademonSpecies], a - ld a, [wcd81] - ld [wc74e], a - ld a, [wJumptableIndex] - push af - ld a, [wcf64] - push af - ld a, [wcf65] - push af - ld a, [wcf66] - push af - ld a, $1 - ld [rSVBK], a - call FadeToMenu - callba Function10803d - call Function11a9ce - call RestartMapMusic - ld a, $3 - ld [rSVBK], a - pop af - ld [wcf66], a - pop af - ld [wcf65], a - pop af - ld [wcf64], a - pop af - ld [wJumptableIndex], a - callba Function115dc3 - jp BattleTowerRoomMenu_IncrementJumptable -; 11984e - -Function11984e: ; 11984e - ld a, [wcd80] - and a - jr nz, .asm_1198a0 - ld a, [wcd38] - and a - jr nz, .asm_1198a8 - callba Function170000 - ld a, [wJumptableIndex] - push af - ld a, [wcf64] - push af - ld a, [wcf65] - push af - ld a, [wcf66] - push af - ld a, $1 - ld [rSVBK], a - call FadeToMenu - callba MobileTradeAnimation_SendGivemonToGTS - call Function11a9ce - call RestartMapMusic - ld a, $3 - ld [rSVBK], a - pop af - ld [wcf66], a - pop af - ld [wcf65], a - pop af - ld [wcf64], a - pop af - ld [wJumptableIndex], a - callba Function115dc3 - jp BattleTowerRoomMenu_IncrementJumptable - -.asm_1198a0 - ld a, $a - ld [wc300], a - jp BattleTowerRoomMenu_IncrementJumptable - -.asm_1198a8 - callba Function17005a - ld a, [wJumptableIndex] - push af - ld a, [wcf64] - push af - ld a, [wcf65] - push af - ld a, [wcf66] - push af - ld a, $1 - ld [rSVBK], a - call FadeToMenu - callba MobileTradeAnimation_RetrieveGivemonFromGTS - call Function11a9ce - call RestartMapMusic - ld a, $3 - ld [rSVBK], a - pop af - ld [wcf66], a - pop af - ld [wcf65], a - pop af - ld [wcf64], a - pop af - ld [wJumptableIndex], a - callba Function115dc3 - jp BattleTowerRoomMenu_IncrementJumptable -; 1198ee - -Function1198ee: ; 1198ee - ld hl, Text_RegisteringRecord - call BattleTowerRoomMenu_SetMessage - call BattleTowerRoomMenu_IncrementJumptable - -Function1198f7: - ld a, [$c31a] - and a - ret nz - ld hl, $c608 + 2 - call Function119940 - ld hl, w3_d800 - ld a, $c608 % $100 - ld [hli], a - ld a, $c608 / $100 - ld [hli], a - ld a, $f6 - ld [hli], a - xor a - ld [hli], a - ld a, $c708 % $100 - ld [hli], a - ld a, $c708 / $100 - ld [hli], a - ld a, [wcd51] - ld [hli], a - ld a, [wcd52] - ld [hli], a - call Function119eb4 - call Function119ec2 - ld a, $40 - ld [wcd89], a - ld hl, w3_d800 - ld de, $de00 - ld bc, $0200 - ld a, $2c - jp Function119e2b -; 119937 - -Function119937: ; 119937 - callba Function1707f4 - jp BattleTowerRoomMenu_IncrementJumptable -; 119940 - -Function119940: ; 119940 - ld de, wc3cd - ld c, $1e -.asm_119945 - ld a, [de] - inc de - ld [hli], a - dec c - jr z, .asm_119953 - and a - jr nz, .asm_119945 - xor a -.asm_11994f - ld [hli], a - dec c - jr nz, .asm_11994f - -.asm_119953 - ret -; 119954 - -Function119954: ; 119954 - ld a, $1c - ld [wcd3c], a - call BattleTowerRoomMenu2 - ld hl, $c608 - ld de, wc3cd -.asm_119962 - ld a, [de] - inc de - ld [hli], a - and a - jr nz, .asm_119962 - call Function119ec2 - ld hl, $c608 - ld a, $1e - jp Function119e2b -; 119973 - -Function119973: ; 119973 - ld a, $1 - ld [wcf64], a - xor a - ld [wcf65], a - ld [w3_d090], a - ld de, w3_d000 - ld a, $20 - jp Function119e2b -; 119987 - -Function119987: ; 119987 - ld hl, w3_d000 + 1 - ld a, [w3_d000] - or [hl] - jr z, .asm_1199a0 - ld a, [wcf64] - ld l, a - ld a, [wcf65] - ld h, a - ld de, BGPals - ld a, $22 - jp Function119e2b - -.asm_1199a0 - ld a, [w3_d090] - and a - jr z, .asm_1199ae - ld a, $16 - ld [wcf66], a - jp Function119b0d - -.asm_1199ae - ld a, $1b - ld [wcf66], a - ret -; 1199b4 - -Function1199b4: ; 1199b4 - ld a, [wd000 + 130] - and a - jr nz, .asm_1199c7 - ld a, [wd000 + 129] - cp $7 - jr nc, .asm_1199c7 - call BattleTowerRoomMenu_IncrementJumptable - jp Function1199ca - -.asm_1199c7 - jp Function119ac9 -; 1199ca - -Function1199ca: ; 1199ca - ld a, $20 - ld [wcd89], a - ld a, [wcf64] - ld l, a - ld a, [wcf65] - ld h, a - ld de, w3_d100 - ld bc, $0700 - ld a, $28 - jp Function119e2b -; 1199e2 - -Function1199e2: ; 1199e2 - ld c, $c - ld de, XGameCodePrefix - call Function119e4f - jp c, Function119ac9 - ld a, c - cp $1 - jp nz, Function119ac9 - ld hl, w3_d880 - ld bc, XGameCode -.loop - ld a, [bc] - and a - jr z, .game_result_prefix - cp [hl] - jp nz, Function119ac9 - inc bc - inc hl - jr .loop - -.game_result_prefix - ld c, $17 - ld de, XGameResultPrefix - call Function119e4f - jp c, .asm_119aa7 - ld a, c - cp $1 - jp nz, .asm_119aa7 - ld a, [w3_d880] - cp $31 - jp nz, .asm_119aa7 - ld a, [w3_d881] - cp $20 - jp nz, .asm_119aa7 - ld a, [w3_d88a] - cp $20 - jp nz, .asm_119aa7 - ld a, [w3_d894] - cp $20 - jp nz, .asm_119aa7 - xor a - ld [w3_d8a0], a - ld [w3_d8a1], a - ld [w3_d8a2], a - ld [w3_d8a3], a - ld hl, $d8a0 - ld bc, $d889 - call Function119e98 - call Function119e98 - ld hl, $d8a0 - ld a, [wcd2d] - cp [hl] - jr nz, Function119ac9 - inc hl - ld a, [wcd2c] - cp [hl] - jr nz, Function119ac9 - inc hl - ld a, [wcd2b] - cp [hl] - jr nz, Function119ac9 - inc hl - ld a, [wcd2a] - cp [hl] - jr nz, Function119ac9 - xor a - ld [w3_d8a0], a - ld [w3_d8a1], a - ld [w3_d8a2], a - ld [w3_d8a3], a - ld hl, $d8a0 - ld bc, $d88e - call Function119e98 - ld bc, $d893 - call Function119e98 - ld hl, $d8a0 - ld a, [wcd2f] - cp [hl] - jr nz, .asm_119aa7 - inc hl - ld a, [wcd2e] - cp [hl] - jr nz, .asm_119aa7 - inc hl - ld a, [wcd31] - cp [hl] - jr nz, .asm_119aa7 - inc hl - ld a, [wcd30] - cp [hl] - jr z, .asm_119aaf - -.asm_119aa7 - ld a, $25 - ld [wcf66], a - jp Function119b45 - -.asm_119aaf - ld a, [w3_d090] - and a - jr nz, .asm_119aa7 - ld a, [w3_d895] - sub $30 - ld [w3_d090], a - ld a, [wcf64] - ld [w3_d090 + 1], a - ld a, [wcf65] - ld [w3_d090 + 2], a - -Function119ac9: - ld a, [w3_d000] - ld l, a - ld a, [w3_d000 + 1] - ld h, a - dec hl - ld a, l - ld [w3_d000], a - ld a, h - ld [w3_d000 + 1], a - ld a, [wcf64] - ld l, a - ld a, [wcf65] - ld h, a - inc hl - ld a, l - ld [wcf64], a - ld a, h - ld [wcf65], a - ld a, $10 - ld [wcf66], a - ret -; 119af1 - -XGameCode: -INCBIN "data/mobile/x-game-code.txt" -XGameResult: -INCBIN "data/mobile/x-game-result.txt" -; 119b0d - -Function119b0d: ; 119b0d - ld a, $8 - ld [wcd3c], a - call BattleTowerRoomMenu2 - ld a, [w3_d090] - cp $1 - jr z, .asm_119b23 - ld a, $19 - ld [wcf66], a - jr Function119b3b - -.asm_119b23 - ld a, $10 - ld [wcd89], a - ld a, [w3_d090 + 1] - ld l, a - ld a, [w3_d090 + 2] - ld h, a - ld de, w3_d100 - ld bc, $0700 - ld a, $24 - jp Function119e2b - -Function119b3b: - ld a, [w3_d090 + 1] - ld l, a - ld a, [w3_d090 + 2] - ld h, a - jr asm_119b4d - -Function119b45: - ld a, [wcf64] - ld l, a - ld a, [wcf65] - ld h, a - -asm_119b4d - ld a, $26 - jp Function119e2b -; 119b52 - -Function119b52: ; 119b52 - ld a, [w3_d090] - cp $1 - jr nz, .asm_119b66 - ld a, $5 - call GetSRAMBank - ld a, $4 - ld [$a800], a - call CloseSRAM - -.asm_119b66 - ld a, $1c - jp Function119e2b -; 119b6b - -Function119b6b: ; 119b6b - ld a, [w3_d090] - cp $1 - jr z, .asm_119b75 - jp BattleTowerRoomMenu_IncrementJumptable - -.asm_119b75 - ld a, [w3_d100] - ld b, a - ld a, [w3_d100 + 1] - or b - jr z, .asm_119be3 - ld hl, w3_d800 - ld de, w3_d100 + 2 -.asm_119b85 - ld a, [de] - inc de - cp $d - jr nz, .asm_119b85 - inc de - ld a, [de] - cp $d - jr nz, .asm_119b85 - inc de - inc de -.asm_119b93 - ld a, [de] - inc de - cp $d - jr z, .asm_119bfa - call Function119c3e - ret c - ld [hli], a - ld a, [de] - inc de - call Function119c3e - ret c - ld [hli], a - ld a, [de] - inc de - call Function119c3e - ret c - ld [hli], a - ld a, [de] - inc de - call Function119c3e - ret c - ld [hl], a - push de - ld d, [hl] - dec hl - ld c, [hl] - dec hl - ld b, [hl] - dec hl - ld a, [hl] - sla b - sla b - sla b - rla - sla b - rla - ld [hli], a - ld [hl], b - inc hl - rrc c - rrc c - ld [hl], c - dec hl - ld a, $f - and c - or [hl] - ld [hli], a - ld a, [hli] - and $c0 - or [hl] - dec hl - ld [hld], a - dec hl - pop de - inc hl - inc hl - inc hl - ld a, h - cp $e0 - jr c, .asm_119b93 - -.asm_119be3 - ld a, $19 - ld [wcf66], a - ld a, $5 - call GetSRAMBank - ld a, $1 - ld [$a800], a - call CloseSRAM - xor a - ld [w3_d090], a - ret - -.asm_119bfa - inc de - ld a, [de] - cp $d - jr nz, .asm_119b93 - ld a, l - cp (w3_d869) % $100 - jr nz, .asm_119be3 - ld a, h - cp (w3_d869) / $100 - jr nz, .asm_119be3 - ld a, $5 - call GetSRAMBank - ld a, [wcf64] - ld [$b090], a - ld a, [wcf65] - ld [$b091], a - ld hl, w3_d800 - ld de, $b023 - ld bc, $0069 - call CopyBytes - ld a, $3 - ld [$a800], a - call CloseSRAM - ld hl, w3_d800 - ld de, $c608 - ld bc, $0069 - call CopyBytes - jp BattleTowerRoomMenu_IncrementJumptable -; 119c3e - -Function119c3e: ; 119c3e - cp $2b - jr c, .asm_119c68 - jr z, .asm_119c80 - cp $2f - jr c, .asm_119c68 - jr z, .asm_119c84 - cp $30 - jr c, .asm_119c68 - cp $3a - jr c, .asm_119c88 - cp $3d - jr c, .asm_119c68 - jr z, .asm_119c8c - cp $41 - jr c, .asm_119c68 - cp $5b - jr c, .asm_119c8f - cp $61 - jr c, .asm_119c68 - cp $7b - jr c, .asm_119c93 - -.asm_119c68 - ld a, $19 - ld [wcf66], a - ld a, $5 - call GetSRAMBank - ld a, $1 - ld [$a800], a - call CloseSRAM - xor a - ld [w3_d090], a - scf - ret - -.asm_119c80 - ld a, $3e - and a - ret - -.asm_119c84 - ld a, $3f - and a - ret - -.asm_119c88 - add $4 - and a - ret - -.asm_119c8c - xor a - and a - ret - -.asm_119c8f - sub $41 - and a - ret - -.asm_119c93 - sub $47 - and a - ret -; 119c97 - -BattleTowerRoomMenu_UberRestrictionMessage: ; 119c97 - ld hl, Text_UberRestriction - call BattleTowerRoomMenu_SetMessage - call BattleTowerRoomMenu_IncrementJumptable - jr BattleTowerRoomMenu_WaitForMessage - -BattleTowerRoomMenu_PartyMonTopsThisLevelMessage: - ld hl, Text_PartyMonTopsThisLevel - call BattleTowerRoomMenu_SetMessage - call BattleTowerRoomMenu_IncrementJumptable - -BattleTowerRoomMenu_WaitForMessage: - ld a, [$c31a] - and a - ret nz - ld a, $80 - ld [wcd50], a - call BattleTowerRoomMenu_IncrementJumptable - -BattleTowerRoomMenu_DelayRestartMenu: - ; Loops while (--[wcd50] != 0), - ; to create some sort of "delay" after the message is written on the screen, - ; before starting the menu again. - ld hl, wcd50 - dec [hl] - ret nz - ld a, $0 - ld [wcf66], a - ret -; 119cc3 - -BattleTowerRoomMenu_QuitMessage: ; 119cc3 - ld a, [wcd38] - and a - jr z, .asm_119cd1 - dec a - jr z, .asm_119cd6 - ld hl, Text_QuitReadingNews - jr .asm_119cd9 - -.asm_119cd1 - ld hl, Text_CancelBattleRoomChallenge - jr .asm_119cd9 - -.asm_119cd6 - ld hl, Text_ExitGymLeaderHonorRoll - -.asm_119cd9 - call BattleTowerRoomMenu_SetMessage - call BattleTowerRoomMenu_IncrementJumptable - -BattleTowerRoomMenu_PlaceYesNoMenu: - ld a, [$c31a] - and a - ret nz - ld a, $f - ld [wcd3c], a - call BattleTowerRoomMenu_IncrementJumptable - -BattleTowerRoomMenu_UpdateYesNoMenu: - ; Only ever called when [wcd3c] is $10 - call BattleTowerRoomMenu2 - ret c - ld a, [wMobileInactivityTimerFrames] - ld [wcf66], a - ret -; 119cf7 - -MenuDataHeader_119cf7: ; 119cf7 - db $40 ; flags - db 7, 12 ; start coords - db 11, 19 ; end coords - dw NULL - db 0 ; default option -; 119cff - -MenuData_119cff: ; 119cff - db $40 ; flags - db 7, 15 ; start coords - db 11, 19 ; end coords - dw NULL - db 0 ; default option -; 119d07 - -String_119d07: - db " ▼@" - -Strings_L10ToL100: ; 119d0c - db " L:10 @@" - db " L:20 @@" - db " L:30 @@" - db " L:40 @@" - db " L:50 @@" - db " L:60 @@" - db " L:70 @@" - db " L:80 @@" - db " L:90 @@" - db " L:100@@" - db "CANCEL@@" - -Strings_Ll0ToL40: ; 119d64 - db " L:10 @@" - db " L:20 @@" - db " L:30 @@" - db " L:40 @@" - db "CANCEL@@" - -String_119d8c: - db "CANCEL@" -; 119d93 - -BattleTower_LevelCheck: ; 119d93 (46:5d93) - ld a, [rSVBK] - push af - ld a, $1 - ld [rSVBK], a - ld a, [wcd4f] - ld c, 10 - call SimpleMultiply - ld hl, wcd50 - ld [hl], a - ld bc, PARTYMON_STRUCT_LENGTH - ld de, PartyMon1Level - ld a, [PartyCount] -.party_loop - push af - ld a, [de] - push hl - push de - pop hl - add hl, bc - push hl - pop de - pop hl - cp [hl] - jr z, .equal - jr nc, .exceeds -.equal - pop af - dec a - jr nz, .party_loop - pop af - ld [rSVBK], a - and a - ret - -.exceeds - pop af - ld a, $4 - ld [wcf66], a - pop af - ld [rSVBK], a - scf - ret - -BattleTower_UbersCheck: ; 119dd1 (46:5dd1) - ld a, [rSVBK] - push af - ld a, [wcd4f] - cp 70 / 10 - jr nc, .level_70_or_more - ld a, $1 - ld [rSVBK], a - ld hl, PartyMon1Level - ld bc, PARTYMON_STRUCT_LENGTH - ld de, PartySpecies - ld a, [PartyCount] -.loop - push af - ld a, [de] - cp MEWTWO - jr z, .uber - cp MEW - jr z, .uber - cp LUGIA - jr c, .next - cp NUM_POKEMON + 1 - jr nc, .next -.uber - ld a, [hl] - cp 70 - jr c, .uber_under_70 -.next - add hl, bc - inc de - pop af - dec a - jr nz, .loop -.level_70_or_more - pop af - ld [rSVBK], a - and a - ret - -.uber_under_70 - pop af - ld a, [de] - ld [wd265], a - call GetPokemonName - ld hl, StringBuffer1 - ld de, wcd49 - ld bc, PKMN_NAME_LENGTH - call CopyBytes - ld a, $a - ld [wcf66], a - pop af - ld [rSVBK], a - scf - ret -; 119e2b (46:5e2b) - -Function119e2b: ; 119e2b (46:5e2b) - call Function3e32 - -BattleTowerRoomMenu_IncrementJumptable: ; 119e2e (46:5e2e) - ld hl, wcf66 - inc [hl] - ret -; 119e33 (46:5e33) - -XGameCodePrefix: ; 119e33 -INCBIN "data/mobile/x-game-code-prefix.txt" -XGameCodePrefixEnd: -;119e40 - -XGameResultPrefix: ; 119e40 -INCBIN "data/mobile/x-game-result-prefix.txt" -XGameResultPrefixEnd: -; 119e4f - -Function119e4f: ; 119e4f - push bc - ld hl, w3_d100 - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a -.loop - ld a, [de] - cp [hl] - jr z, .found_equality -.next - inc hl - dec bc - ld a, b - or c - jr nz, .loop -.return_carry - pop bc - scf - ret - -.found_equality - push de -.loop2 - ld a, [de] - inc de - cp "\n" - jr z, .newline - cp [hl] - jr nz, .unequal - inc hl - dec bc - ld a, b - or c - jr nz, .loop2 - pop de - jr .return_carry - -.unequal - pop de - jr .next - -.newline - pop de - pop bc - inc hl - ld de, w3_d880 -.loop3 - ld a, [hli] - ld [de], a - inc de - cp $d - jr z, .finish - dec c - jr nz, .loop3 - scf - ret - -.finish - and a - ret -; 119e8e - -Function119e8e: ; 119e8e - cp $60 - jr c, .less_than_0x60 - sub $57 - ret - -.less_than_0x60 - sub $30 - ret -; 119e98 - -Function119e98: ; 119e98 - ld a, $2 -.loop - push af - ld a, [bc] - dec bc - call Function119e8e - or [hl] - ld [hl], a - ld a, [bc] - dec bc - call Function119e8e - rlca - rlca - rlca - rlca - or [hl] - ld [hl], a - inc hl - pop af - dec a - and a - jr nz, .loop - ret -; 119eb4 - -Function119eb4: ; 119eb4 (46:5eb4) - xor a - ld [wc3cc], a - ld de, wc3ac -.loop - ld a, [de] - inc de - ld [hli], a - and a - jr nz, .loop - ret - -Function119ec2: ; 119ec2 (46:5ec2) - ld a, BANK(sMobileLoginPassword) - call GetSRAMBank - xor a - ld [sMobileLoginPassword + MOBILE_LOGIN_PASSWORD_LENGTH], a - ld de, sMobileLoginPassword + 1 -.loop - ld a, [de] - inc de - ld [hli], a - and a - jr nz, .loop - call CloseSRAM - ret - -BattleTowerRoomMenu2: ; 119ed8 (46:5ed8) - ld a, [rSVBK] - ld [wcd8c], a - ld a, $1 - ld [rSVBK], a - - call .RunJumptable - - ld a, [wcd8c] - ld [rSVBK], a - ld a, $1 - ld [hBGMapMode], a - ret - -.RunJumptable: - jumptable .Jumptable, wcd3c - -.Jumptable: - dw Function119f3f - dw Function119f45 - dw Function119f56 - dw Function119f76 - dw Function119f98 - dw Function11a113 - dw Function11a129 - dw Function11a131 - dw Function11a13d - dw Function11a14b - dw Function11a16d - dw Function11a192 - dw Function11a2e6 - dw Function11a302 - dw Function11a33a - dw BattleTowerRoomMenu2_PlaceYesNoMenu - dw BattleTowerRoomMenu2_UpdateYesNoMenu - dw Function11a357 - dw Function11a36b - dw Function11a38d - dw Function11a3c5 - dw Function11a3d9 - dw Function11a3f9 - dw Function11a41b - dw Function11a452 - dw Function11a47a - dw Function11a488 - dw Function11a49e - dw Function11a4db - dw Function11a4e8 - dw Function11a4fe - dw Function11a466 - dw Function11a47a -; 119f3f - -Function119f3f: ; 119f3f - call Function11a5b9 - jp BattleTowerRoomMenu2_IncrementJumptable -; 119f45 - -Function119f45: ; 119f45 - hlcoord 4, 2 - ld de, String_11a661 - call PlaceString - ld a, $80 - ld [wMobileInactivityTimerMinutes], a - jp BattleTowerRoomMenu2_IncrementJumptable -; 119f56 - -Function119f56: ; 119f56 - ld a, [wMobileInactivityTimerMinutes] - and a - jr z, .asm_119f62 - dec a - ld [wMobileInactivityTimerMinutes], a - scf - ret - -.asm_119f62 - call Function11a63c - hlcoord 4, 2 - ld de, String_11a6aa - call PlaceString - ld a, $80 - ld [wMobileInactivityTimerMinutes], a - jp BattleTowerRoomMenu2_IncrementJumptable -; 119f76 - -Function119f76: ; 119f76 - ld a, [wMobileInactivityTimerMinutes] - and a - jr z, .asm_119f82 - dec a - ld [wMobileInactivityTimerMinutes], a - scf - ret - -.asm_119f82 - call Function11a63c - hlcoord 4, 2 - ld de, String_11a679 - call PlaceString - call Function11a5f5 - xor a - ld [wMobileInactivityTimerMinutes], a - jp BattleTowerRoomMenu2_IncrementJumptable -; 119f98 - -Function119f98: ; 119f98 - call Function11a536 - ret c - call PlayClickSFX - ld a, [wMobileInactivityTimerMinutes] - and a - jr nz, .asm_119fef - call ExitMenu - call Function11a63c - xor a - ld [ScriptVar], a - call Function11a00e - ld a, [ScriptVar] - and a - jr z, .asm_119fd4 - call ExitMenu - callba ReloadMapPart - callba Function115dc3 - ld a, [wcd33] - ld [wcf66], a - ld a, $a - ld [wc300], a - scf - ret - -.asm_119fd4 - hlcoord 4, 2 - ld de, String_11a692 - call PlaceString - ld a, $1 - ld [wc30d], a - ld a, $1 - ld [wc314], a - callba ReloadMapPart - and a - ret - -.asm_119fef - call ExitMenu - call ExitMenu - callba ReloadMapPart - ld a, [wMobileInactivityTimerSeconds] - ld [wcf66], a - callba Function115dc3 - ld a, $a - ld [wc300], a - scf - ret -; 11a00e - -Function11a00e: ; 11a00e - ld a, BANK(sMobileLoginPassword) - call GetSRAMBank - ld a, [sMobileLoginPassword] - and a - jr z, .asm_11a02a - ld a, [sMobileLoginPassword + 1] - call CloseSRAM - and a - ret nz - ld a, BANK(sMobileLoginPassword) - call GetSRAMBank - xor a - ld [sMobileLoginPassword], a - -.asm_11a02a - call CloseSRAM - ld a, [BGMapPalBuffer] - and a - jr z, .asm_11a039 - dec a - jr z, .asm_11a081 - jp Function11a0ca - -.asm_11a039 - ld a, $3 - ld [rSVBK], a - ld hl, $c608 - ld de, w3_d800 - ld bc, $00f6 - call CopyBytes - ld a, $1 - ld [rSVBK], a - call FadeToMenu - callba Function11765d - call Function11a9ce - ld a, $3 - ld [rSVBK], a - ld hl, w3_d800 - ld de, $c608 - ld bc, $00f6 - call CopyBytes - ld a, $1 - ld [rSVBK], a - callba Function115d99 - ld c, $0 - callba Function115e18 - ld a, $1 - ld [wc305], a - ret - -.asm_11a081 - xor a - ld [wMenuBorderLeftCoord], a - ld [wMenuBorderTopCoord], a - ld a, $13 - ld [wMenuBorderRightCoord], a - ld a, $5 - ld [wMenuBorderBottomCoord], a - call PushWindow - callba Function11765d - callba Function117ab4 - callba MobileFunc_106462 - callba Function106464 - call ExitMenu - callba ReloadMapPart - callba Function115d99 - ld c, $0 - callba Function115e18 - ld a, $1 - ld [wc305], a - ret -; 11a0ca - -Function11a0ca: ; 11a0ca - xor a - ld [wMenuBorderLeftCoord], a - ld [wMenuBorderTopCoord], a - ld a, $13 - ld [wMenuBorderRightCoord], a - ld a, $11 - ld [wMenuBorderBottomCoord], a - call PushWindow - callba Function11765d - callba Function17d3f6 - callba MobileFunc_106462 - callba Function106464 - call ExitMenu - callba ReloadMapPart - callba Function115d99 - ld c, $0 - callba Function115e18 - ld a, $1 - ld [wc305], a - ret -; 11a113 - -Function11a113: ; 11a113 - call Function11a63c - ld c, $1 - callba Function115e18 - hlcoord 4, 2 - ld de, String_11a6c8 - call PlaceString - and a - ret -; 11a129 - -Function11a129: ; 11a129 - ld a, $80 - ld [wMobileInactivityTimerMinutes], a - jp BattleTowerRoomMenu2_IncrementJumptable -; 11a131 - -Function11a131: ; 11a131 - ld hl, wMobileInactivityTimerMinutes - dec [hl] - ret nz - ld a, [wcd3c] - inc a - ld [wcd3c], a - -Function11a13d: - call Function11a63c - hlcoord 4, 2 - ld de, String_11a6d2 - call PlaceString - and a - ret -; 11a14b - -Function11a14b: ; 11a14b - ld hl, wcd85 - ld a, [hl] - cp $f3 - jr nz, .asm_11a155 - and a - ret - -.asm_11a155 - call Function11a1d6 - ret c - call Function11a63c - hlcoord 4, 2 - ld de, String_11a6f1 - call PlaceString - ld a, $80 - ld [wMobileInactivityTimerMinutes], a - jp BattleTowerRoomMenu2_IncrementJumptable -; 11a16d - -Function11a16d: ; 11a16d - ld a, [wMobileInactivityTimerMinutes] - and a - jr z, .asm_11a179 - dec a - ld [wMobileInactivityTimerMinutes], a - scf - ret - -.asm_11a179 - call Function11a63c - call Function11a1e6 - hlcoord 4, 2 - ld de, $c346 - call PlaceString - call Function11a5f5 - xor a - ld [wMobileInactivityTimerMinutes], a - jp BattleTowerRoomMenu2_IncrementJumptable -; 11a192 - -Function11a192: ; 11a192 - call Function11a536 - ret c - call PlayClickSFX - ld a, [wMobileInactivityTimerMinutes] - and a - jr nz, .asm_11a1b6 - call ExitMenu - callba ReloadMapPart - call Function11a63c - hlcoord 4, 2 - ld de, String_11a6d2 - call PlaceString - and a - ret - -.asm_11a1b6 - call ExitMenu - callba ReloadMapPart - ld a, [wMobileInactivityTimerSeconds] - ld [wcf66], a - ld [wcd80], a - call Function11a63c - hlcoord 4, 2 - ld de, String_11a6d2 - call PlaceString - scf - ret -; 11a1d6 - -Function11a1d6: ; 11a1d6 - ld a, [wcd85] - cp $50 - jr nz, .asm_11a1e4 - ld a, $d3 - call Function118805 - scf - ret - -.asm_11a1e4 - and a - ret -; 11a1e6 - -Function11a1e6: ; 11a1e6 - ld hl, String_11a706 - ld de, $c346 - call Function11a1ff - ld hl, wcd85 - call Function11a1ff - ld hl, String_11a70b - call Function11a1ff - ld a, $50 - ld [de], a - ret -; 11a1ff - -Function11a1ff: ; 11a1ff -.asm_11a1ff - ld a, [hli] - cp $50 - ret z - ld [de], a - inc de - jr .asm_11a1ff -; 11a207 - -BattleTowerRoomMenu2_PlaceYesNoMenu: ; 11a207 - ld hl, MenuDataHeader_11a2de - call LoadMenuDataHeader - call MenuBox - call MenuBoxCoord2Tile - call ApplyTilemap - hlcoord 16, 8 - ld de, String_11a2cf - call PlaceString - hlcoord 16, 10 - ld de, String_11a2d3 - call PlaceString - hlcoord 15, 8 - ld a, $ed - ld [hl], a - xor a - ld [wMobileInactivityTimerMinutes], a - jp BattleTowerRoomMenu2_IncrementJumptable -; 11a235 - -BattleTowerRoomMenu2_UpdateYesNoMenu: ; 11a235 - ld hl, hJoyPressed - ld a, [hl] - and A_BUTTON - jr nz, .a_button - ld a, [hl] - and B_BUTTON - jr nz, .b_button - ld a, [hl] - and D_UP - jr nz, .d_up - ld a, [hl] - and D_DOWN - jr nz, .d_down -.asm_11a24c - call Function11a9f0 - scf - ret - -.d_up - xor a - ld [wcd8a], a - ld [wcd8b], a - ld a, [wMobileInactivityTimerMinutes] - and a - jr z, .asm_11a24c - xor a - ld [wMobileInactivityTimerMinutes], a - hlcoord 15, 8 - ld a, $ed - ld [hl], a - hlcoord 15, 10 - ld a, $7f - ld [hl], a - jr .asm_11a24c - -.d_down - xor a - ld [wcd8a], a - ld [wcd8b], a - ld a, [wMobileInactivityTimerMinutes] - and a - jr nz, .asm_11a24c - inc a - ld [wMobileInactivityTimerMinutes], a - hlcoord 15, 8 - ld a, $7f - ld [hl], a - hlcoord 15, 10 - ld a, $ed - ld [hl], a - jr .asm_11a24c - -.a_button - xor a - ld [wcd8a], a - ld [wcd8b], a - call PlayClickSFX - ld a, [wMobileInactivityTimerMinutes] - and a - jr nz, .exit_no_carry - call ExitMenu - callba ReloadMapPart - ld a, [wMobileInactivityTimerFrames] - cp $0 - jr z, .asm_11a2b4 - ld a, [wcd47] - jr .exit_carry - -.asm_11a2b4 - ld a, [wcd33] - -.exit_carry - ld [wcf66], a - ld a, $a - ld [wc300], a - scf - ret - -.b_button - call PlayClickSFX - -.exit_no_carry - call ExitMenu - callba ReloadMapPart - and a - ret -; 11a2cf - -String_11a2cf: ; 11a2cf - db "YES@" -; 11a2d3 - -String_11a2d3: ; 11a2d3 - db "NO@" -; 11a2d6 - -MenuDataHeader_11a2d6: ; 11a2d6 - db $40 ; flags - db 6, 14 ; start coords - db 10, 19 ; end coords - dw NULL - db 0 ; default option -; 11a2de - -MenuDataHeader_11a2de: ; 11a2de - db $40 ; flags - db 7, 14 ; start coords - db 11, 19 ; end coords - dw NULL - db 0 ; default option -; 11a2e6 - -Function11a2e6: ; 11a2e6 - call Function11a63c - ld c, $2 - callba Function115e18 - hlcoord 4, 2 - ld de, String_11a71e - call PlaceString - ld a, $80 - ld [wMobileInactivityTimerMinutes], a - jp BattleTowerRoomMenu2_IncrementJumptable -; 11a302 - -Function11a302: ; 11a302 - ld a, [wMobileInactivityTimerMinutes] - and a - jr z, .asm_11a30e - dec a - ld [wMobileInactivityTimerMinutes], a - scf - ret - -.asm_11a30e - call Function11a63c - hlcoord 4, 2 - ld de, String_11a72a - call PlaceString - hlcoord 9, 4 - ld de, wcd68 - lb bc, PRINTNUM_LEADINGZEROS | 1, 2 - call PrintNum - hlcoord 14, 4 - ld de, wcd67 - lb bc, PRINTNUM_LEADINGZEROS | 1, 2 - call PrintNum - ld a, $80 - ld [wMobileInactivityTimerMinutes], a - jp BattleTowerRoomMenu2_IncrementJumptable -; 11a33a - -Function11a33a: ; 11a33a - ld a, [wMobileInactivityTimerMinutes] - and a - jr z, .asm_11a346 - dec a - ld [wMobileInactivityTimerMinutes], a - scf - ret - -.asm_11a346 - call ExitMenu - callba ReloadMapPart - callba Function115dc3 - and a - ret -; 11a357 - -Function11a357: ; 11a357 - call Function11a63c - hlcoord 4, 2 - ld de, String_11a743 - call PlaceString - ld a, $80 - ld [wMobileInactivityTimerMinutes], a - jp BattleTowerRoomMenu2_IncrementJumptable -; 11a36b - -Function11a36b: ; 11a36b - ld a, [wMobileInactivityTimerMinutes] - and a - jr z, .asm_11a377 - dec a - ld [wMobileInactivityTimerMinutes], a - scf - ret - -.asm_11a377 - call Function11a63c - hlcoord 4, 2 - ld de, String_11a755 - call PlaceString - call Function11a5f5 - xor a - ld [wMobileInactivityTimerMinutes], a - jp BattleTowerRoomMenu2_IncrementJumptable -; 11a38d - -Function11a38d: ; 11a38d - call Function11a536 - ret c - call PlayClickSFX - ld a, [wMobileInactivityTimerMinutes] - and a - jr nz, .asm_11a3b1 - call ExitMenu - callba ReloadMapPart - call Function11a63c - hlcoord 4, 2 - ld de, String_11a6d2 - call PlaceString - and a - ret - -.asm_11a3b1 - call ExitMenu - callba ReloadMapPart - ld a, [wMobileInactivityTimerSeconds] - ld [wcf66], a - ld [wcd80], a - scf - ret -; 11a3c5 - -Function11a3c5: ; 11a3c5 - call Function11a63c - hlcoord 4, 2 - ld de, String_11a762 - call PlaceString - ld a, $80 - ld [wMobileInactivityTimerMinutes], a - jp BattleTowerRoomMenu2_IncrementJumptable -; 11a3d9 - -Function11a3d9: ; 11a3d9 - ld a, [wMobileInactivityTimerMinutes] - and a - jr z, .asm_11a3e5 - dec a - ld [wMobileInactivityTimerMinutes], a - scf - ret - -.asm_11a3e5 - call Function11a63c - hlcoord 4, 2 - ld de, String_11a779 - call PlaceString - ld a, $80 - ld [wMobileInactivityTimerMinutes], a - jp BattleTowerRoomMenu2_IncrementJumptable -; 11a3f9 - -Function11a3f9: ; 11a3f9 - ld a, [wMobileInactivityTimerMinutes] - and a - jr z, .asm_11a405 - dec a - ld [wMobileInactivityTimerMinutes], a - scf - ret - -.asm_11a405 - call Function11a63c - hlcoord 4, 2 - ld de, String_11a755 - call PlaceString - call Function11a5f5 - xor a - ld [wMobileInactivityTimerMinutes], a - jp BattleTowerRoomMenu2_IncrementJumptable -; 11a41b - -Function11a41b: ; 11a41b - call Function11a536 - ret c - call PlayClickSFX - ld a, [wMobileInactivityTimerMinutes] - and a - jr nz, .asm_11a43f - call ExitMenu - callba ReloadMapPart - call Function11a63c - hlcoord 4, 2 - ld de, String_11a6d2 - call PlaceString - and a - ret - -.asm_11a43f - call ExitMenu - callba ReloadMapPart - ld a, $1c - ld [wcf66], a - ld [wcd80], a - scf - ret -; 11a452 - -Function11a452: ; 11a452 - call Function11a63c - hlcoord 4, 2 - ld de, String_11a791 - call PlaceString - ld a, $80 - ld [wMobileInactivityTimerMinutes], a - jp BattleTowerRoomMenu2_IncrementJumptable -; 11a466 - -Function11a466: ; 11a466 - call Function11a63c - hlcoord 4, 2 - ld de, String_11a7c1 - call PlaceString - ld a, $80 - ld [wMobileInactivityTimerMinutes], a - jp BattleTowerRoomMenu2_IncrementJumptable -; 11a47a - -Function11a47a: ; 11a47a - ld a, [wMobileInactivityTimerMinutes] - and a - jr z, .asm_11a486 - dec a - ld [wMobileInactivityTimerMinutes], a - scf - ret - -.asm_11a486 - and a - ret -; 11a488 - -Function11a488: ; 11a488 - call Function11a63c - hlcoord 4, 2 - ld de, String_11a7ac - call PlaceString - call Function11a5f5 - xor a - ld [wMobileInactivityTimerMinutes], a - jp BattleTowerRoomMenu2_IncrementJumptable -; 11a49e - -Function11a49e: ; 11a49e - call Function11a536 - ret c - call PlayClickSFX - ld a, [wMobileInactivityTimerMinutes] - and a - jr nz, .asm_11a4c7 - call ExitMenu - callba ReloadMapPart - call Function11a63c - hlcoord 4, 2 - ld de, String_11a6d2 - call PlaceString - ld a, $14 - ld [wcf66], a - and a - ret - -.asm_11a4c7 - call ExitMenu - callba ReloadMapPart - ld a, [wMobileInactivityTimerFrames] - ld [wcf66], a - ld [wcd80], a - scf - ret -; 11a4db - -Function11a4db: ; 11a4db - call Function11a63c - ld de, String_11a6db - hlcoord 4, 2 - call PlaceString - ret -; 11a4e8 - -Function11a4e8: ; 11a4e8 - call Function11a63c - hlcoord 4, 2 - ld de, String_11a7d7 - call PlaceString - call Function11a5f5 - xor a - ld [wMobileInactivityTimerMinutes], a - jp BattleTowerRoomMenu2_IncrementJumptable -; 11a4fe - -Function11a4fe: ; 11a4fe - call Function11a536 - ret c - call PlayClickSFX - ld a, [wMobileInactivityTimerMinutes] - and a - jr nz, .asm_11a522 - call ExitMenu - callba ReloadMapPart - call Function11a63c - hlcoord 4, 2 - ld de, String_11a6d2 - call PlaceString - and a - ret - -.asm_11a522 - call ExitMenu - callba ReloadMapPart - ld a, [wMobileInactivityTimerSeconds] - ld [wcf66], a - ld [wcd80], a - scf - ret -; 11a536 - -Function11a536: ; 11a536 - ld hl, hJoyPressed - ld a, [hl] - and $1 - jr nz, .asm_11a5a7 - ld a, [hl] - and $2 - jr nz, .asm_11a5a2 - ld a, [hl] - and $40 - jr nz, .asm_11a564 - ld a, [hl] - and $80 - jr nz, .asm_11a583 -.asm_11a54d - ld a, [wcd3c] - cp $4 - jr z, .asm_11a562 - call Function11a9f0 - jr nz, .asm_11a562 - call ExitMenu - callba ReloadMapPart - -.asm_11a562 - scf - ret - -.asm_11a564 - xor a - ld [wcd8a], a - ld [wcd8b], a - ld a, [wMobileInactivityTimerMinutes] - and a - jr z, .asm_11a54d - xor a - ld [wMobileInactivityTimerMinutes], a - hlcoord 15, 7 - ld a, $ed - ld [hl], a - hlcoord 15, 9 - ld a, $7f - ld [hl], a - jr .asm_11a54d - -.asm_11a583 - xor a - ld [wcd8a], a - ld [wcd8b], a - ld a, [wMobileInactivityTimerMinutes] - and a - jr nz, .asm_11a54d - inc a - ld [wMobileInactivityTimerMinutes], a - hlcoord 15, 7 - ld a, $7f - ld [hl], a - hlcoord 15, 9 - ld a, $ed - ld [hl], a - jr .asm_11a54d - -.asm_11a5a2 - ld a, $1 - ld [wMobileInactivityTimerMinutes], a - -.asm_11a5a7 - xor a - ld [wcd8a], a - ld [wcd8b], a - and a - ret -; 11a5b0 - -BattleTowerRoomMenu2_IncrementJumptable: ; 11a5b0 - ld a, [wcd3c] - inc a - ld [wcd3c], a - scf - ret -; 11a5b9 - -Function11a5b9: ; 11a5b9 - xor a - ld [wMenuBorderLeftCoord], a - ld [wMenuBorderTopCoord], a - ld a, $13 - ld [wMenuBorderRightCoord], a - ld a, $5 - ld [wMenuBorderBottomCoord], a - call PushWindow - hlcoord 0, 0, AttrMap - ld b, $6 - ld c, $14 - hlcoord 0, 0 - ld b, $4 - ld c, $12 - call Function3eea - callba ReloadMapPart - call UpdateSprites - ld c, $0 - callba Function115e18 - ld a, $1 - ld [wc305], a - ret -; 11a5f5 - -Function11a5f5: ; 11a5f5 - ld a, $e - ld [wMenuBorderLeftCoord], a - ld a, $13 - ld [wMenuBorderRightCoord], a - ld a, $6 - ld [wMenuBorderTopCoord], a - ld a, $a - ld [wMenuBorderBottomCoord], a - call PushWindow - hlcoord 14, 6, AttrMap - ld b, $5 - ld c, $6 - hlcoord 14, 6 - ld b, $3 - ld c, $4 - call Function3eea - hlcoord 16, 7 - ld de, String_11a2cf - call PlaceString - hlcoord 16, 9 - ld de, String_11a2d3 - call PlaceString - hlcoord 15, 7 - ld a, $ed - ld [hl], a - callba ReloadMapPart - ret -; 11a63c - -Function11a63c: ; 11a63c - hlcoord 4, 1 - ld de, String_11a7f4 - call PlaceString - hlcoord 4, 2 - ld de, String_11a7f4 - call PlaceString - hlcoord 4, 3 - ld de, String_11a7f4 - call PlaceString - hlcoord 4, 4 - ld de, String_11a7f4 - call PlaceString - ret -; 11a661 - -String_11a661: ; 11a661 - db "これから モバイルセンターに" - next "でんわ", $1f, "かけます@" -; 11a679 - -String_11a679: ; 11a679 - db "モバイルアダプタ", $25, "じゅんびは" - next "できて いますか?@" -; 11a692 - -String_11a692: ; 11a692 - db "でんわ", $1f, "かけています" - next "しばらく おまちください@" -; 11a6aa - -String_11a6aa: ; 11a6aa - db "でんわをかけると つうわりょう" - next "せつぞくりょう", $4a, "かかります@" -; 11a6c8 - -String_11a6c8: ; 11a6c8 - db "せつぞく しました@" -; 11a6d2 - -String_11a6d2: ; 11a6d2 - db "つうしん ちゅう@" -; 11a6db - -String_11a6db: ; 11a6db - db "つうしん ちゅう" - next "セレクト エーでちゅうし@" -; 11a6f1 - -String_11a6f1: ; 11a6f1 - db "この サービスには" - next "つうわりょう", $25, "ほかに@" -; 11a706 - -String_11a706: ; 11a706 - db "おかね", $4a, "@" -; 11a70b - -String_11a70b: ; 11a70b - db "えん" - next "かかります よろしい ですか?@" -; 11a71e - -String_11a71e: ; 11a71e - db "つうしん しゅうりょう@" -; 11a72a - -String_11a72a: ; 11a72a - db "つないだ じかん" - next " やく ふん びょう@" -; 11a743 - -String_11a743: ; 11a743 - db "もっていない データが" - next "あります!@" -; 11a755 - -String_11a755: ; 11a755 - db "データ", $1f, "よみこみますか?@" -; 11a762 - -String_11a762: ; 11a762 - db "おなじ データ", $1f, "よみこんだ" - next "こと", $4a, "ありますが@" -; 11a779 - -String_11a779: ; 11a779 - db "そのデータ", $24, "なくなっているか" - next "こわれて います@" -; 11a791 - -String_11a791: ; 11a791 - db "もっている データと" - next "おなじデータしか ありません!@" -; 11a7ac - -String_11a7ac: ; 11a7ac - db "データ", $25, "よみこみを" - next "ちゅうし しますか?@" -; 11a7c1 - -String_11a7c1: ; 11a7c1 ; new news? - db "あたらしい ニュースは" - next "ありません でした@" -; 11a7d7 - -String_11a7d7: ; 11a7d7 - db "あたらしいニュース", $4a, "あります" - next "ニュース", $1f, "よみこみますか?@" -; 11a7f4 - -String_11a7f4: ; 11a7f4 - db " @" -; 11a804 - -MenuDataHeader_11a804: ; 11a804 - db $40 ; flags - db 0, 0 ; start coords - db 5, 19 ; end coords - dw NULL - db 0 ; default option -; 11a80c - -Function11a80c: ; 11a80c - ld de, hDivisor - ld bc, hDividend - ld hl, Unknown_11a89a - call Function11a88c - ld bc, hQuotient - ld hl, Unknown_11a8ba - call Function11a88c - ld bc, hPrintNum3 - ld hl, Unknown_11a8da - call Function11a88c - xor a - ld b, a - ld a, [hDivisor] - and $f - ld e, a - ld a, [hPrintNum7] - and $f - call Function11a884 - ld e, a - ld a, [hPrintNum9] - and $f - call Function11a884 - ld [wcd62], a - ld e, b - xor a - ld b, a - ld a, [hDivisor] - and $f0 - swap a - call Function11a884 - ld e, a - ld a, [hPrintNum7] - and $f0 - swap a - call Function11a884 - ld e, a - ld a, [hPrintNum9] - and $f0 - swap a - call Function11a884 - ld [wcd63], a - ld e, b - xor a - ld b, a - ld a, [hMathBuffer] - and $f - call Function11a884 - ld e, a - ld a, [hPrintNum8] - and $f - call Function11a884 - ld e, a - ld a, [hPrintNum10] - and $f - call Function11a884 - ld [wcd64], a - ret -; 11a884 - -Function11a884: ; 11a884 - add e - cp $a - ret c - sub $a - inc b - ret -; 11a88c - -Function11a88c: ; 11a88c - ld a, [bc] - sla a - ld c, a - xor a - ld b, a - add hl, bc - ld a, [hli] - ld [de], a - inc de - ld a, [hl] - ld [de], a - inc de - ret -; 11a89a - -Unknown_11a89a: ; 11a89a -x = 0 -rept 16 - bcd x % 100, x / 100 -x = x + 1 -endr - -Unknown_11a8ba: ; 11a8ba -x = 0 -rept 16 - bcd x % 100, x / 100 -x = x + 16 -endr - -Unknown_11a8da: ; 11a8da -x = 0 -rept 16 - bcd x % 100, x / 100 -x = x + 256 -endr -; 11a8fa - -BattleTowerRoomMenu_WriteMessage: ; 11a8fa - jumptable .Jumptable, $c31a -; 11a909 - -.Jumptable: ; 11a909 - dw BattleTowerRoomMenu_WriteMessage_DoNothing - dw Function11a90f - dw Function11a971 -; 11a90f - -Function11a90f: ; 11a90f - ld a, $1 - ld [rSVBK], a - call SpeechTextBox - ld a, $50 - ld hl, $c320 - ld bc, $008c - call ByteFill - ld a, [$c31b] - ld l, a - ld a, [$c31c] - ld h, a - ld de, $c320 -.asm_11a92c - ld a, [hli] - cp $57 - jr z, .asm_11a94f - cp $0 - jr z, .asm_11a92c - cp $50 - jr z, .asm_11a92c - cp $1 - jr z, .asm_11a941 - ld [de], a - inc de - jr .asm_11a92c - -.asm_11a941 - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a -.asm_11a945 - ld a, [bc] - inc bc - cp $50 - jr z, .asm_11a92c - ld [de], a - inc de - jr .asm_11a945 - -.asm_11a94f - xor a - ld [$c31f], a - ld a, $c320 % $100 - ld [$c31b], a - ld a, $c320 / $100 - ld [$c31c], a - hlcoord 1, 14 - ld a, l - ld [$c31d], a - ld a, h - ld [$c31e], a - ld hl, $c31a - inc [hl] - ld a, $3 - ld [rSVBK], a - -BattleTowerRoomMenu_WriteMessage_DoNothing: - ret -; 11a971 - -Function11a971: ; 11a971 - ld hl, $c31f - ld a, [hJoyDown] - and a - jr nz, .asm_11a97f - ld a, [hl] - and a - jr z, .asm_11a97f - dec [hl] - ret - -.asm_11a97f - ld a, [Options] - and $7 - ld [hl], a - ld hl, wcd8d - ld a, [$c31b] - ld e, a - ld a, [$c31c] - ld d, a - ld a, [de] - inc de - ld [hli], a - ld a, e - ld [$c31b], a - ld a, d - ld [$c31c], a - ld a, $50 - ld [hl], a - ld a, [$c31d] - ld l, a - ld a, [$c31e] - ld h, a - ld de, wcd8d - call PlaceString - ld a, c - ld [$c31d], a - ld a, b - ld [$c31e], a - ld a, [wcd8d] - cp $50 - jr nz, .asm_11a9bf - xor a - ld [$c31a], a - -.asm_11a9bf - ret -; 11a9c0 - -BattleTowerRoomMenu_SetMessage: ; 11a9c0 - ld a, l - ld [$c31b], a - ld a, h - ld [$c31c], a - ld a, $1 - ld [$c31a], a - ret -; 11a9ce - -Function11a9ce: ; 11a9ce - call ClearBGPalettes - call ReloadTilesetAndPalettes - call Call_ExitMenu - callba MobileFunc_106462 - callba Function106464 - call ret_d90 - callba FinishExitMenu - call UpdateSprites - ret -; 11a9f0 - -Function11a9f0: ; 11a9f0 - ld a, $1 - and a - ret -; 11a9f4 - -Function11a9f4: ; 11a9f4 - ld a, [wcd8a] - ld l, a - ld a, [wcd8b] - ld h, a - inc hl - ld a, l - ld [wcd8a], a - ld a, h - ld [wcd8b], a - ld de, $d5d0 - add hl, de - bit 7, h - ret nz - ld a, $d6 - call Function118805 - and a - ret -; 11aa13 - -Text_SaveFileWillBeSent: ; 0x11aa13 - text "SAVE FILE will be" - line "sent." - done -; 0x11aa2c - -Text_SentSaveFileReadingNews: ; 0x11aa2c - text "Sent SAVE FILE." - line "Reading NEWS…" - done -; 0x11aa4b - -Text_ReadingNews: ; 0x11aa4b - text "Reading NEWS…" - done -; 0x11aa5a - -Text_ReceivedNews: ; 0x11aa5a - text "Received NEWS!" - done -; 0x11aa6a - -Text_QuitReadingNews: ; 0x11aa6a - text "Quit reading NEWS?" - done -; 0x11aa7e - -Text_CanceledSendingSaveFile: ; 0x11aa7e - text "Canceled sending" - line "SAVE FILE." - done -; 0x11aa9b - -Text_ReceivedOddEgg: ; 0x11aa9b - text "ODD EGG" - line "was received!" - done -; 0x11aab2 - -Text_RegisteringRecord: ; 0x11aab2 - text "Registering your" - line "record…" - done -; 0x11aacc - -Text_BattleRoomVisitLimit: ; 0x11aacc - text "One visit per day" - line "per BATTLE ROOM!" - done -; 0x11aaf0 - -Text_PartyMonTopsThisLevel: ; 0x11aaf0 - text "A party #MON" - line "tops this level." - done -; 0x11ab0f - -Text_UberRestriction: ; 0x11ab0f - text_from_ram wcd49 - text " may go" - line "only to BATTLE" - - para "ROOMS that are" - line "Lv.70 or higher." - done -; 0x11ab4a - -Text_CancelBattleRoomChallenge: ; 0x11ab4a - text "Cancel your BATTLE" - line "ROOM challenge?" - done -; 0x11ab6e - -Text_ExitGymLeaderHonorRoll: ; 0x11ab6e - text "Exit GYM LEADER" - line "HONOR ROLL?" - done -; 0x11ab8b - -Text_LinkingWithCenter: ; 0x11ab8b - text "Linking with the" - line "CENTER…" - done -; 0x11aba5 - -Text_WhatLevelDoYouWantToChallenge: ; 0x11aba5 - text "What level do you" - line "want to challenge?" - done -; 0x11abcb - -Text_CheckBattleRoomListByMaxLevel: ; 0x11abcb - text "Check BATTLE ROOM" - line "list by max level?" - done -; 0x11abf1 - -Text_EnterWhichBattleRoom: ; 0x11abf1 - text "Enter which" - line "BATTLE ROOM?" - done -; 0x11ac0b - -Text_WhichBattleRoom: ; 0x11ac0b - text "Which BATTLE ROOM?" - done -; 0x11ac1f - -Text_ThisBattleRoomPleaseWait: ; 0x11ac1f - text_from_ram StringBuffer3 - text "'s ROOM" - line "@" - text_from_ram StringBuffer4 - text "?" - cont "Please wait…" - done -; 0x11ac3e - -Function11ac3e: ; 11ac3e - call SpeechTextBox - call FadeToMenu - callab ClearSpriteAnims2 - call Function11ac51 - call CloseSubmenu - ret -; 11ac51 - -Function11ac51: ; 11ac51 - xor a - ld [hBGMapMode], a - ld hl, Options - ld a, [hl] - push af - set 4, [hl] - ld a, [VramState] - push af - xor a - ld [VramState], a - ld a, [hInMenu] - push af - ld a, $1 - ld [hInMenu], a - xor a - ld [hMapAnims], a - ld [wcd49], a - ld [wcd4a], a - ld [wcd4c], a - ld [wcd4d], a - ld [wcd4e], a - call Function11ad1b - call DelayFrame -.loop - call JoyTextDelay - ld a, [wJumptableIndex] - bit 7, a - jr nz, .asm_11aca8 - call Function11b314 - call Function11acb7 - call Function11ad6e - ld a, 30 * 4 - ld [wCurrSpriteOAMAddr], a - callba DoNextFrameForAllSprites - callba ReloadMapPart - jr .loop - -.asm_11aca8 - call ClearSprites - pop af - ld [hInMenu], a - pop af - ld [VramState], a - pop af - ld [Options], a - ret -; 11acb7 - -Function11acb7: ; 11acb7 - ld hl, TilemapPack_11ba44 - ld a, [wcd49] - ld c, a - ld b, $0 - sla c - rl b - sla c - rl b - sla c - rl b - add hl, bc - decoord 6, 6 - ld a, [hli] - ld [de], a - decoord 0, 7 - ld bc, 7 - call CopyBytes - ld a, [wcd49] - inc a - ld [wcd49], a - ld a, [hl] - cp $ff - jr nz, .get_the_other - xor a - ld [wcd49], a -.get_the_other - ld hl, TilemapPack_11bb7d - ld a, [wcd4a] - ld c, a - ld b, $0 - sla c - rl b - sla c - rl b - sla c - rl b - add hl, bc - decoord 3, 9 - ld bc, 7 - call CopyBytes - ld a, [wcd4a] - inc a - ld [wcd4a], a - inc hl - ld a, [hl] - cp $ff - ret nz - xor a - ld [wcd4a], a - ret -; 11ad1b - -Function11ad1b: ; 11ad1b - call ClearBGPalettes - call ClearSprites - call ClearTileMap - callba Function17c000 - ld a, [wMenuCursorY] - ld [wcd82], a - dec a - ld [hObjectStructIndexBuffer], a - ld a, $10 - ld [wCurIconTile], a - ld hl, LoadMenuMonIcon - ld a, BANK(LoadMenuMonIcon) - ld e, $4 - rst FarCall - ld hl, LoadMenuMonIcon - ld a, BANK(LoadMenuMonIcon) - ld e, $5 - rst FarCall - ld hl, $c6d0 - ld bc, $0115 - xor a - call ByteFill - xor a - ld [wJumptableIndex], a - ld [wcf64], a - ld [wcf65], a - ld [wcf66], a - ld [wcd30], a - ld a, $2 - ld [wc7d4], a - callba Pokedex_OrderMonsByMode - ret -; 11ad6e - -Function11ad6e: ; 11ad6e - ld a, [wJumptableIndex] - ld hl, Jumptable_11ad78 - call Function11b239 - jp hl -; 11ad78 - -Jumptable_11ad78: ; 11ad78 - dw Function11b082 - dw Function11b0ff - dw Function11ad95 - dw Function11adc4 - dw Function11ae4e - dw Function11ae98 - dw Function11ad8f - dw Function11af04 - dw Function11af4e -; 11ad8a - -Function11ad8a: ; 11ad8a - ld hl, wJumptableIndex - inc [hl] - ret -; 11ad8f - -Function11ad8f: ; 11ad8f - ld hl, wJumptableIndex - set 7, [hl] - ret -; 11ad95 - -Function11ad95: ; 11ad95 - ld hl, MenuDataHeader_11ae38 - call LoadMenuDataHeader - call MenuBox - hlcoord 12, 12 - ld de, String_11ae40 - call PlaceString - hlcoord 10, 10, AttrMap - lb bc, 8, 8 - call Function11afd6 - callba ReloadMapPart - call Function11ad8a - ld a, $1 - ld [wMenuCursorY], a - ld hl, Unknown_11afcc - call Function11afb7 - -Function11adc4: - ld hl, hJoyPressed - ld a, [hl] - and a - ret z - ld a, [hl] - and $40 - jr nz, .asm_11ade6 - ld a, [hl] - and $80 - jr nz, .asm_11aded - ld a, [hl] - and $1 - jr nz, .asm_11ae06 - ld a, [hl] - and $2 - ret z - call PlayClickSFX - xor a - ld [wJumptableIndex], a - jr .asm_11ae2e - -.asm_11ade6 - ld a, [wMenuCursorY] - dec a - ret z - jr .asm_11adf4 - -.asm_11aded - ld a, [wMenuCursorY] - inc a - cp $4 - ret z - -.asm_11adf4 - push af - ld hl, Unknown_11afcc - call Function11afbb - pop af - ld [wMenuCursorY], a - ld hl, Unknown_11afcc - call Function11afb7 - ret - -.asm_11ae06 - call PlayClickSFX - ld a, [wMenuCursorY] - dec a - ld hl, wcd30 - ld [hl], a - and a - jr z, .asm_11ae28 - hlcoord 2, 14 - ld a, [wMenuCursorY] - cp $2 - jr z, .asm_11ae23 - call Function11b272 - jr .asm_11ae2b - -.asm_11ae23 - call Function11b267 - jr .asm_11ae2b - -.asm_11ae28 - ld a, $3 - ld [hl], a - -.asm_11ae2b - call Function11ad8a - -.asm_11ae2e - call ExitMenu - callba ReloadMapPart - ret -; 11ae38 - -MenuDataHeader_11ae38: ; 11ae38 - db $40 ; flags - db 10, 10 ; start coords - db 17, 17 ; end coords - dw NULL - db 0 ; default option -; 11ae40 - -String_11ae40: ; 11ae40 - db "どちらでも" - next "♂ォス" - next "♀メス" - db "@" -; 11ae4e - -Function11ae4e: ; 11ae4e - ld hl, MenuDataHeader_11afe8 - call LoadMenuDataHeader - call MenuBox - hlcoord 10, 14 - ld de, String_11aff0 - call PlaceString - ld hl, MenuDataHeader_11b013 - call LoadMenuDataHeader - call MenuBox - hlcoord 16, 8 - ld de, String_11b01b - call PlaceString - hlcoord 14, 7, AttrMap - lb bc, 5, 6 - call Function11afd6 - hlcoord 9, 12, AttrMap - lb bc, 6, 11 - call Function11afd6 - callba ReloadMapPart - call Function11ad8a - ld a, $1 - ld [wMenuCursorY], a - ld hl, Unknown_11afd2 - call Function11afb7 - -Function11ae98: - ld hl, hJoyPressed - ld a, [hl] - and a - ret z - ld a, [hl] - and D_UP - jr nz, .asm_11aec1 - ld a, [hl] - and D_DOWN - jr nz, .asm_11aec8 - ld a, [hl] - and A_BUTTON - jr nz, .asm_11aee1 - ld a, [hl] - and B_BUTTON - ret z - call PlayClickSFX -.asm_11aeb4 - hlcoord 2, 14 - ld a, $7f - ld [hl], a - ld a, $1 - ld [wJumptableIndex], a - jr .asm_11aef7 - -.asm_11aec1 - ld a, [wMenuCursorY] - dec a - ret z - jr .asm_11aecf - -.asm_11aec8 - ld a, [wMenuCursorY] - inc a - cp $3 - ret z - -.asm_11aecf - push af - ld hl, Unknown_11afd2 - call Function11afbb - pop af - ld [wMenuCursorY], a - ld hl, Unknown_11afd2 - call Function11afb7 - ret - -.asm_11aee1 - call PlayClickSFX - ld a, [wMenuCursorY] - cp $2 - jr z, .asm_11aeb4 - ld a, [wcd4b] - ld [ScriptVar], a - call Function11b022 - call Function11ad8a - -.asm_11aef7 - call ExitMenu - call ExitMenu - callba ReloadMapPart - ret -; 11af04 - -Function11af04: ; 11af04 - ld hl, MenuDataHeader_11afe8 - call LoadMenuDataHeader - call MenuBox - hlcoord 10, 14 - ld de, String_11b003 - call PlaceString - ld hl, MenuDataHeader_11b013 - call LoadMenuDataHeader - call MenuBox - hlcoord 16, 8 - ld de, String_11b01b - call PlaceString - hlcoord 14, 7, AttrMap - lb bc, 5, 6 - call Function11afd6 - hlcoord 9, 12, AttrMap - lb bc, 6, 11 - call Function11afd6 - callba ReloadMapPart - call Function11ad8a - ld a, $2 - ld [wMenuCursorY], a - ld hl, Unknown_11afd2 - call Function11afb7 - -Function11af4e: - ld hl, hJoyPressed - ld a, [hl] - and a - ret z - ld a, [hl] - and D_UP - jr nz, .asm_11af77 - ld a, [hl] - and D_DOWN - jr nz, .asm_11af7e - ld a, [hl] - and A_BUTTON - jr nz, .asm_11af97 - ld a, [hl] - and B_BUTTON - ret z - call PlayClickSFX -.asm_11af6a - hlcoord 2, 14 - ld a, $7f - ld [hl], a - ld a, $1 - ld [wJumptableIndex], a - jr .asm_11afaa - -.asm_11af77 - ld a, [wMenuCursorY] - dec a - ret z - jr .asm_11af85 - -.asm_11af7e - ld a, [wMenuCursorY] - inc a - cp $3 - ret z - -.asm_11af85 - push af - ld hl, Unknown_11afd2 - call Function11afbb - pop af - ld [wMenuCursorY], a - ld hl, Unknown_11afd2 - call Function11afb7 - ret - -.asm_11af97 - call PlayClickSFX - ld a, [wMenuCursorY] - cp $2 - jr z, .asm_11af6a - ld a, $6 - ld [wJumptableIndex], a - xor a - ld [ScriptVar], a - -.asm_11afaa - call ExitMenu - call ExitMenu - callba ReloadMapPart - ret -; 11afb7 - -Function11afb7: ; 11afb7 - ld e, $ed - jr asm_11afbd - -Function11afbb: - ld e, $7f - -asm_11afbd: - ld a, [wMenuCursorY] - dec a - ld c, a - ld b, 0 - add hl, bc - add hl, bc - ld a, e - ld e, [hl] - inc hl - ld d, [hl] - ld [de], a - ret -; 11afcc - -Unknown_11afcc: - dwcoord 11, 12 - dwcoord 11, 14 - dwcoord 11, 16 - -Unknown_11afd2: - dwcoord 15, 8 - dwcoord 15, 10 -; 11afd6 - -Function11afd6: ; 11afd6 - ld de, SCREEN_WIDTH - ld a, $3 -.row - push bc - push hl -.col - ld [hli], a - dec c - jr nz, .col - pop hl - add hl, de - pop bc - dec b - jr nz, .row - ret -; 11afe8 - -MenuDataHeader_11afe8: ; 11afe8 - db $40 ; flags - db 12, 9 ; start coords - db 17, 19 ; end coords - dw NULL - db 0 ; default option -; 11aff0 - -String_11aff0: ; 11aff0 - db "この じょうけんで" - next "よろしいですか?@" -; 11b003 - -String_11b003: ; 11b003 - db "こうかんを" - next "ちゅうししますか?@" -; 11b013 - -MenuDataHeader_11b013: ; 11b013 - db $40 ; flags - db 7, 14 ; start coords - db 11, 19 ; end coords - dw NULL - db 1 ; default option -; 11b01b - -String_11b01b: - db "はい" - next "いいえ@" -; 11b022 - -Function11b022: ; 11b022 - ld a, [wcd2e] - and a - jr z, .asm_11b02e - ld hl, StringBuffer3 - call Function11b03d - -.asm_11b02e - ld a, [wcd30] - and a - ret z - cp $3 - ret z - ld hl, StringBuffer4 - call Function11b03d - ret -; 11b03d - -Function11b03d: ; 11b03d - push hl - push af - ld c, $1 -.loop - ld a, [hli] - cp "♂" - jr z, .gender - cp "♀" - jr z, .gender - cp "@" - jr z, .done - inc c - jr .loop - -.gender - dec hl - ld a, "@" - ld [hli], a - -.done - dec hl - push hl - ld e, 4 - ld d, 0 - add hl, de - ld e, l - ld d, h - pop hl -.loop2 - ld a, [hld] - ld [de], a - dec de - dec c - jr nz, .loop2 - pop af - pop de - cp $1 - jr nz, .female - ld hl, .MaleString - jr .got_string - -.female - ld hl, .FemaleString - -.got_string - ld bc, 4 ; string length - call CopyBytes - ret -; 11b07a - -.MaleString: db "ォスの " -.FemaleString: db "メスの " - -Function11b082: ; 11b082 - call Function11b242 - ld a, $7 - ld [wc7d3], a - call Function11b099 - call Function11b295 - call Function11b275 - call SetPalettes - jp Function11ad8a -; 11b099 - -Function11b099: ; 11b099 - ld c, $6 - hlcoord 11, 1 - ld a, [wc7d3] - add a - ld b, a - xor a - call Function11b236 - ld a, [wc7d0] - ld e, a - ld d, $0 - ld hl, wc6d0 - add hl, de - ld e, l - ld d, h - hlcoord 11, 2 - ld a, [wc7d3] -.loop - push af - ld a, [de] - ld [wd265], a - push de - push hl - call .PlaceMonNameOrPlaceholderString - pop hl - ld de, 2 * SCREEN_WIDTH - add hl, de - pop de - inc de - pop af - dec a - jr nz, .loop - ret -; 11b0cf - -.PlaceMonNameOrPlaceholderString: ; 11b0cf - and a - ret z - - call .CheckSeenFlag - ret c - - call .SetCaughtFlag - push hl - call GetPokemonName - pop hl - call PlaceString - ret -; 11b0e1 - -.SetCaughtFlag: ; 11b0e1 - call CheckCaughtMemMon - jr nz, .okay - inc hl - ret - -.okay - ld a, $1 - ld [hli], a - ret -; 11b0ec - -.CheckSeenFlag: ; 11b0ec - call CheckSeenMemMon - ret nz - - inc hl - ld de, .EmptySlot - call PlaceString - scf - ret -; 11b0f9 - -.EmptySlot: ; 11b0f9 - db "ーーーーー@" -; 11b0ff - -Function11b0ff: ; 11b0ff - ld hl, hJoyPressed - ld a, [hl] - and $2 - jr nz, .asm_11b141 - ld a, [hl] - and $1 - jr nz, .asm_11b131 - call Function11b175 - jr nc, .asm_11b125 - ld a, [wcd4c] - inc a - and $3 - ld [wcd4c], a - xor a - ld [hBGMapMode], a - call Function11b099 - ld a, $1 - ld [hBGMapMode], a - ret - -.asm_11b125 - ld a, [wcd4c] - and a - ret z - inc a - and $3 - ld [wcd4c], a - ret - -.asm_11b131 - call Function11b20b - call CheckSeenMemMon - jr z, .asm_11b13d - ld a, $1 - jr .asm_11b148 - -.asm_11b13d - ld a, $2 - jr .asm_11b148 - -.asm_11b141 - ld hl, wJumptableIndex - ld a, $7 - ld [hl], a - ret - -.asm_11b148 - call PlayClickSFX - ld [wcd4b], a - and a - jr z, .asm_11b16c - ld a, [wcf65] - cp $0 - jr z, .asm_11b163 - cp $fe - jr z, .asm_11b167 - cp $ff - jr z, .asm_11b16b - jp Function11ad8a - -.asm_11b163 - ld a, $1 - jr .asm_11b16c - -.asm_11b167 - ld a, $2 - jr .asm_11b16c - -.asm_11b16b - xor a - -.asm_11b16c - ld [wcd30], a - ld a, $4 - ld [wJumptableIndex], a - ret -; 11b175 - -Function11b175: ; 11b175 - ld a, [wc7d3] - ld d, a - ld a, [wc7d2] - ld e, a - ld hl, hJoyLast - ld a, [hl] - and $40 - jr nz, .asm_11b19a - ld a, [hl] - and $80 - jr nz, .asm_11b1ae - ld a, d - cp e - jr nc, .asm_11b1ed - ld a, [hl] - and $20 - jr nz, .asm_11b1c6 - ld a, [hl] - and $10 - jr nz, .asm_11b1d8 - jr .asm_11b1ed - -.asm_11b19a - ld hl, wc7d1 - ld a, [hl] - and a - jr z, .asm_11b1a4 - dec [hl] - jr .asm_11b1ef - -.asm_11b1a4 - ld hl, wc7d0 - ld a, [hl] - and a - jr z, .asm_11b1ed - dec [hl] - jr .asm_11b1ef - -.asm_11b1ae - ld hl, wc7d1 - ld a, [hl] - inc a - cp e - jr nc, .asm_11b1ed - cp d - jr nc, .asm_11b1bc - inc [hl] - jr .asm_11b1ef - -.asm_11b1bc - ld hl, wc7d0 - add [hl] - cp e - jr nc, .asm_11b1ed - inc [hl] - jr .asm_11b1ef - -.asm_11b1c6 - ld hl, wc7d0 - ld a, [hl] - and a - jr z, .asm_11b1ed - cp d - jr nc, .asm_11b1d4 - xor a - ld [hl], a - jr .asm_11b1ef - -.asm_11b1d4 - sub d - ld [hl], a - jr .asm_11b1ef - -.asm_11b1d8 - ld hl, wc7d0 - ld a, d - add a - add [hl] - jr c, .asm_11b1e3 - cp e - jr c, .asm_11b1e8 - -.asm_11b1e3 - ld a, e - sub d - ld [hl], a - jr .asm_11b1ef - -.asm_11b1e8 - ld a, [hl] - add d - ld [hl], a - jr .asm_11b1ef - -.asm_11b1ed - and a - ret - -.asm_11b1ef - call Function11b295 - call Function11b275 - scf - ret -; 11b1f7 - -Function11b1f7: ; 11b1f7 - hlcoord 0, 0 - ld a, $32 - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT - call ByteFill - ret -; 11b203 - -Function11b203: ; 11b203 -.asm_11b203 - ld a, [de] - cp $ff - ret z - inc de - ld [hli], a - jr .asm_11b203 -; 11b20b - -Function11b20b: ; 11b20b - ld a, [wc7d1] - ld hl, wc7d0 - add [hl] - ld e, a - ld d, $0 - ld hl, $c6d0 - add hl, de - ld a, [hl] - ld [wd265], a - ret -; 11b21e - -CheckCaughtMemMon: ; 11b21e - push de - push hl - ld a, [wd265] - dec a - call CheckCaughtMon - pop hl - pop de - ret -; 11b22a - -CheckSeenMemMon: ; 11b22a - push de - push hl - ld a, [wd265] - dec a - call CheckSeenMon - pop hl - pop de - ret -; 11b236 - -Function11b236: ; 11b236 - jp FillBoxWithByte -; 11b239 - -Function11b239: ; 11b239 - ld e, a - ld d, 0 - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - ret -; 11b242 - -Function11b242: ; 11b242 - hlcoord 3, 4 - ld de, StringBuffer3 - call PlaceString - xor a - ld [MonType], a - callba GetGender - hlcoord 1, 4 - ld a, [CurPartySpecies] - ld bc, wcd2f - ld [bc], a - dec bc - jr c, asm_11b26a - jr z, asm_11b26f - ld a, $1 - ld [bc], a - -Function11b267: - ld [hl], $ef - ret - -asm_11b26a - xor a - ld [bc], a - ld [hl], $7f - ret - -asm_11b26f - ld a, $2 - ld [bc], a - -Function11b272: - ld [hl], $f5 - ret -; 11b275 - -Function11b275: ; 11b275 - call Function11b279 - ret -; 11b279 - -Function11b279: ; 11b279 - ld a, [wd265] - ld [CurSpecies], a - call CheckSeenMemMon - jr z, .asm_11b28f - call GetBaseData - ld a, [BaseGender] - ld [wcf65], a - jr .asm_11b294 - -.asm_11b28f - ld a, $ff - ld [wcf65], a - -.asm_11b294 - ret -; 11b295 - -Function11b295: ; 11b295 - hlcoord 4, 13 - ld de, String_11b308 - call PlaceString - hlcoord 4, 14 - ld de, String_11b308 - call PlaceString - call Function11b20b - call CheckSeenMemMon - jr z, .asm_11b2d1 - ld a, [$c608] - ld c, a - ld a, [$c608 + 1] - ld b, a - ld hl, $0007 - add hl, bc - xor a - ld [hl], a - ld hl, $0003 - add hl, bc - ld e, [hl] - callba FlyFunction_GetMonIcon - hlcoord 4, 14 - push hl - call GetPokemonName - jr .asm_11b2e7 - -.asm_11b2d1 - ld a, [$c608] - ld c, a - ld a, [$c608 + 1] - ld b, a - ld hl, $0007 - add hl, bc - ld a, $50 - ld [hl], a - hlcoord 4, 13 - push hl - ld de, String_11b30e - -.asm_11b2e7 - ld a, $6 - ld bc, StringBuffer4 -.asm_11b2ec - push af - ld a, [de] - ld [bc], a - inc de - inc bc - pop af - dec a - and a - jr nz, .asm_11b2ec - pop hl - ld de, StringBuffer4 - call PlaceString - ret -; 11b2fe - -String_11b2fe: ; 11b2fe - db "あげる#@" -; 11b303 - -String_11b303: ; 11b303 - db "ほしい#@" -; 11b308 - -String_11b308: ; 11b308 - db " @" -; 11b30e - -String_11b30e: ; 11b30e - db "みはっけん@" -; 11b314 - -Function11b314: ; 11b314 - call Function11b31b - call Function11b3d9 - ret -; 11b31b - -Function11b31b: ; 11b31b - ld hl, .Coords - ld a, [wJumptableIndex] - cp 2 - jr c, .tilemap_1 - ld a, [wc7d1] - cp 4 - jr nc, .tilemap_3 - cp 3 - jr c, .tilemap_1 - ld a, [wJumptableIndex] - cp 2 - jr z, .tilemap_1 - cp 3 - jr z, .tilemap_1 - cp 6 - jr z, .tilemap_1 - - ld bc, .Tilemap2 - jr .load_sprites - -.tilemap_3 - ld bc, .Tilemap3 - jr .load_sprites - -.tilemap_1 - ld bc, .Tilemap1 - -.load_sprites - call Function11b397 - ret -; 11b350 - -.Coords: - dbpixel 3, 11, 2, 6 ; 0 - dbpixel 3, 12, 2, 6 ; 1 - dbpixel 3, 13, 2, 6 ; 2 - dbpixel 3, 14, 2, 6 ; 3 - dbpixel 3, 15, 2, 6 ; 4 - dbpixel 3, 16, 2, 6 ; 5 - dbpixel 3, 17, 2, 6 ; 6 - dbpixel 4, 11, 2, 6 ; 7 - dbpixel 4, 12, 2, 6 ; 8 - dbpixel 4, 13, 2, 6 ; 9 - dbpixel 4, 14, 2, 6 ; 10 - dbpixel 4, 15, 2, 6 ; 11 - dbpixel 4, 16, 2, 6 ; 12 - dbpixel 4, 17, 2, 6 ; 13 - db -1 - -.Tilemap1: ; vtiles - db $30 ; 0 - db $31 ; 1 - db $31 ; 2 - db $31 ; 3 - db $31 ; 4 - db $31 ; 5 - db $32 ; 6 - db $40 ; 7 - db $41 ; 8 - db $41 ; 9 - db $41 ; 10 - db $41 ; 11 - db $41 ; 12 - db $42 ; 13 - -.Tilemap2: ; vtiles - db $30 ; 0 - db $31 ; 1 - db $31 ; 2 - db $39 ; 3 - db $39 ; 4 - db $39 ; 5 - db $39 ; 6 - db $40 ; 7 - db $41 ; 8 - db $41 ; 9 - db $39 ; 10 - db $39 ; 11 - db $39 ; 12 - db $39 ; 13 - -.Tilemap3: ; vtiles - db $39 ; 0 - db $39 ; 1 - db $39 ; 2 - db $39 ; 3 - db $39 ; 4 - db $39 ; 5 - db $39 ; 6 - db $39 ; 7 - db $39 ; 8 - db $39 ; 9 - db $39 ; 10 - db $39 ; 11 - db $39 ; 12 - db $39 ; 13 - -Function11b397: ; 11b397 - ld de, Sprites -.loop - ld a, [hl] - cp $ff - ret z - ld a, [wc7d1] - and $7 - swap a - add [hl] - inc hl ; 1 - ld [de], a - inc de - - ld a, [hli] ; 2 - ld [de], a - inc de - - ld a, [bc] - inc bc - ld [de], a - inc de - ld a, $5 ; OBPal 5 - ld [de], a - inc de - jr .loop -; 11b3b6 - -Function11b3b6: ; 11b3b6 -; unreferenced -.loop - ld a, [hl] - cp -1 - ret z - ld a, [wcd4d] - and $7 - swap a - add [hl] - inc hl - ld [de], a - inc de - ld a, [hli] - ld [de], a - inc de - push hl - ld l, c - ld h, b - ld a, [wcd4e] - add [hl] - inc bc - ld [de], a - inc de - pop hl - ld a, $5 - ld [de], a - inc de - jr .loop -; 11b3d9 - -Function11b3d9: ; 11b3d9 - ld de, Sprites + 28 * 4 - push de - ld a, [wc7d2] - dec a - ld e, a - ld a, [wc7d1] - ld hl, wc7d0 - add [hl] - cp e - jr z, .skip - ld hl, 0 - ld bc, $70 - call AddNTimes - ld e, l - ld d, h - ld b, 0 - ld a, d - or e - jr z, .load_sprites - ld a, [wc7d2] - ld c, a -.loop1 - ld a, e - sub c - ld e, a - ld a, d - sbc $0 - ld d, a - jr c, .load_sprites - inc b - jr .loop1 - -.skip - ld b, 14 * 8 - -.load_sprites - ld a, 2 * 8 + 5 - add b - pop hl - ld [hli], a - cp $41 - jr c, .version1 - ld a, [wJumptableIndex] - cp 4 - jr z, .version2 - cp 5 - jr z, .version2 - cp 7 - jr z, .version2 - cp 8 - jr z, .version2 - -.version1 - ld a, 19 * 8 + 3 - ld [hli], a - ld a, [wcd4c] - add $3c - ld [hli], a - ld a, [wcd4c] - add $1 - ld [hl], a - ret - -.version2 - ld a, 19 * 8 + 3 - ld [hli], a - ld a, $39 - ld [hli], a - xor a - ld [hl], a - ret -; 11b444 - -Function11b444: ; 11b444 -; special - call Mobile46_InitJumptable - call Mobile46_RunJumptable - ret -; 11b44b - -Mobile46_InitJumptable: ; 11b44b - xor a - ld [wJumptableIndex], a - ld [wcf64], a - ld [wcf65], a - ld [wcf66], a - call UpdateTime - ret -; 11b45c - -Mobile46_RunJumptable: ; 11b45c -.loop - call .IterateJumptable - call DelayFrame - ld a, [wJumptableIndex] - cp 4 - jr nz, .loop - ret -; 11b46a - -.IterateJumptable: ; 11b46a - jumptable .Jumptable, wJumptableIndex - -.Jumptable: - dw Function11b483 - dw Function11b570 - dw Function11b5c0 - dw Function11b5e0 - dw Function11b5e7 ; unused -; 11b483 - -Function11b483: ; 11b483 - call .InitRAM - ld hl, PlayerName - ld a, $5 ; Japanese Name Length -.loop1 - push af - ld a, [hli] - ld [bc], a - inc bc - pop af - dec a - and a - jr nz, .loop1 - - ld de, PARTYMON_STRUCT_LENGTH - ld hl, PartyMon1Species - ld a, [wcd82] - dec a - push af -.loop2 - and a - jr z, .okay - add hl, de - dec a - jr .loop2 - -.okay - push bc - ld a, PARTYMON_STRUCT_LENGTH -.loop3 - push af - ld a, [hli] - ld [bc], a - inc bc - pop af - dec a - and a - jr nz, .loop3 - - pop de - push bc - ld a, [de] - ld [CurSpecies], a - call GetBaseData - ld hl, MON_LEVEL - add hl, de - ld a, [hl] - ld [CurPartyLevel], a - ld hl, MON_MAXHP - add hl, de - push hl - ld hl, MON_STAT_EXP - 1 - add hl, de - pop de - push de - ld b, OTPARTYMON - predef CalcPkmnStats - pop de - ld h, d - ld l, e - dec hl - dec hl - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hl], a - pop bc - ld de, NAME_LENGTH - ld hl, PartyMonOT - pop af - push af -.loop4 - and a - jr z, .okay2 - add hl, de - dec a - jr .loop4 - -.okay2 - ld a, NAME_LENGTH - 1 -.loop5 - push af - ld a, [hli] - ld [bc], a - inc bc - pop af - dec a - and a - jr nz, .loop5 - ld de, NAME_LENGTH - ld hl, PartyMonNicknames - pop af - push af -.loop6 - and a - jr z, .okay3 - add hl, de - dec a - jr .loop6 - -.okay3 - ld a, NAME_LENGTH - 1 -.loop7 - push af - ld a, [hli] - ld [bc], a - inc bc - pop af - dec a - and a - jr nz, .loop7 - ld de, MAIL_STRUCT_LENGTH - ld hl, sPartyMail - pop af -.loop8 - and a - jr z, .okay4 - add hl, de - dec a - jr .loop8 - -.okay4 - ld a, $0 ; BANK(sPartyMail) - call GetSRAMBank - ld a, MAIL_STRUCT_LENGTH -.loop9 - push af - ld a, [hli] - ld [bc], a - inc bc - pop af - dec a - and a - jr nz, .loop9 - call CloseSRAM - jp Function11ad8a - -.InitRAM: - ld bc, $c626 - ld a, [PlayerID] - ld [wcd2a], a - ld [bc], a - inc bc - - ld a, [PlayerID + 1] - ld [wcd2b], a - ld [bc], a - inc bc - - ld a, [wSecretID] - ld [wcd2c], a - ld [bc], a - inc bc - - ld a, [wSecretID + 1] - ld [wcd2d], a - ld [bc], a - inc bc - - ld a, [wcd2e] - ld [bc], a - inc bc - - ld a, [wcd2f] - ld [bc], a - inc bc - - ld a, [wcd30] - ld [bc], a - inc bc - - ld a, [wd265] - ld [bc], a - inc bc - ret -; 11b570 - -Function11b570: ; 11b570 - call Function118007 - ld a, [ScriptVar] - and a - jr nz, .exit - call .SaveData - jp Function11ad8a - -.exit - ld a, $4 - ld [wJumptableIndex], a - ret - -.SaveData: - ld a, $3 - ld [rSVBK], a - - ld hl, w3_d800 - ld de, $c608 - ld bc, w3_d88f - w3_d800 - call CopyBytes - - ld a, $1 - ld [rSVBK], a - ld a, $5 - call GetSRAMBank - - ld de, $a800 - ld a, $1 - ld [de], a - inc de - ld hl, $c608 - ld bc, w3_d88f - w3_d800 - call CopyBytes - - push de - pop hl - - ld a, [hRTCMinutes] - ld [hli], a - ld a, [hRTCHours] - ld [hli], a - ld a, [hRTCDayLo] - ld [hli], a - ld a, [hRTCDayHi] - ld [hl], a - - call CloseSRAM - ret -; 11b5c0 - -Function11b5c0: ; 11b5c0 - ld a, [wcd82] - dec a - ld [CurPartyMon], a - xor a - ld [wPokemonWithdrawDepositParameter], a - callba RemoveMonFromPartyOrBox - callba Function170807 - callba SaveAfterLinkTrade - jp Function11ad8a -; 11b5e0 - -Function11b5e0: ; 11b5e0 - xor a - ld [ScriptVar], a - jp Function11ad8a -; 11b5e7 - -Function11b5e7: ; 11b5e7 - ret -; 11b5e8 - -Function11b5e8: ; 11b5e8 - ld a, $0 - call GetSRAMBank - ld hl, wRTC - ld de, $c608 - ld bc, 4 - call CopyBytes - call CloseSRAM - ld a, $5 - call GetSRAMBank - ld hl, $c608 - ld de, $b08c - ld bc, 4 - call CopyBytes - ld a, $2 - ld [$a800], a - ld a, [$a81f] - ld [wcd2a], a - ld a, [$a820] - ld [wcd2b], a - ld a, [$a821] - ld [wcd2c], a - ld a, [$a822] - ld [wcd2d], a - ld a, [$a823] - ld [wcd2e], a - ld a, [$a824] - ld [wcd2f], a - ld a, [$a825] - ld [wcd30], a - ld a, [$a826] - ld [wcd31], a - call CloseSRAM - call Mobile46_InitJumptable - call .loop - ret - -.loop - call .RunJumptable - call DelayFrame - ld a, [wJumptableIndex] - cp $1 - jr nz, .loop - ret - -.RunJumptable: - jumptable .Jumptable, wJumptableIndex -.Jumptable: - dw Function11b66d - dw Function11b6b3 -; 11b66d - -Function11b66d: ; 11b66d - call Function1180b8 - ld a, [ScriptVar] - and a - jr nz, .asm_11b6b0 - ld a, [rSVBK] - push af - ld a, $3 - ld [rSVBK], a - ld a, [w3_d090] - ld b, a - pop af - ld [rSVBK], a - ld a, b - and a - jr z, .asm_11b691 - cp $1 - jr nz, .asm_11b6b0 - call Function11b6b4 - jr .asm_11b6b0 - -.asm_11b691 - callba Function17081d - ld a, [ScriptVar] - and a - jr z, .asm_11b6b0 - xor a - ld [ScriptVar], a - ld a, [rSVBK] - push af - ld a, $3 - ld [rSVBK], a - ld a, $2 - ld [w3_d090], a - pop af - ld [rSVBK], a - -.asm_11b6b0 - jp Function11ad8a -; 11b6b3 - -Function11b6b3: ; 11b6b3 - ret -; 11b6b4 - -Function11b6b4: ; 11b6b4 - ld a, $5 - call GetSRAMBank - ld a, [wcd30] - ld [$c708], a - ld a, [wcd31] - ld [$c709], a - - ld a, $c708 % $100 - ld [wMobileMonSpeciesPointerBuffer], a - ld a, $c708 / $100 - ld [wMobileMonSpeciesPointerBuffer + 1], a - - ld a, $c60d % $100 ; Partymon Struct - ld [wMobileMonStructurePointerBuffer], a - ld a, $c60d / $100 - ld [wMobileMonStructurePointerBuffer + 1], a - - ld a, $c63d % $100 ; OT - ld [wMobileMonOTNamePointerBuffer], a - ld a, $c63d / $100 - ld [wMobileMonOTNamePointerBuffer + 1], a - - ld a, $c642 % $100 ; Nickname - ld [wMobileMonNicknamePointerBuffer], a - ld a, $c642 / $100 - ld [wMobileMonNicknamePointerBuffer + 1], a - - ld a, $c647 % $100 ; ??? - ld [wMobileMonMailPointerBuffer], a - ld a, $c647 / $100 - ld [wMobileMonMailPointerBuffer + 1], a - - ld a, $46 - ld [$c628], a - - ld de, $c63d - ld c, 5 - callba CheckStringForErrors - jr nc, .length_check_OT - callba Mobile_CopyDefaultOTName - -.length_check_OT - ld de, $c63d - lb bc, 1, 5 - callba CheckStringContainsLessThanBNextCharacters - jr nc, .error_check_nick - callba Mobile_CopyDefaultOTName - -.error_check_nick - ld de, $c642 - ld c, 5 - callba CheckStringForErrors - jr nc, .length_check_nick - callba Mobile_CopyDefaultNickname - -.length_check_nick - ld de, $c642 - lb bc, 1, 5 - callba CheckStringContainsLessThanBNextCharacters - jr nc, .error_check_mail - callba Mobile_CopyDefaultNickname - -.error_check_mail - ld de, $c647 - ld c, MAIL_MSG_LENGTH + 1 - callba CheckStringForErrors - jr nc, .length_check_mail - callba Mobile_CopyDefaultMail - -.length_check_mail - ld de, $c647 - lb bc, 2, MAIL_MSG_LENGTH + 1 - callba CheckStringContainsLessThanBNextCharacters - jr c, .fix_mail - ld a, b - cp $2 - jr nz, .mail_ok - -.fix_mail - callba Mobile_CopyDefaultMail - -.mail_ok - ld de, $c668 - ld c, $5 - callba CheckStringForErrors - jr nc, .length_check_author - callba Mobile_CopyDefaultMailAuthor - -.length_check_author - ld de, $c668 - lb bc, 1, 5 - callba CheckStringContainsLessThanBNextCharacters - jr nc, .author_okay - callba Mobile_CopyDefaultMailAuthor - -.author_okay - ld a, [$c60e] - cp -1 - jr nz, .item_okay - xor a - ld [$c60e], a - -.item_okay - ld a, [wcd31] - ld [$c60d], a - ld [CurSpecies], a - call GetBaseData - - ld hl, $c60d + MON_LEVEL - ld a, [hl] - cp MIN_LEVEL - ld a, MIN_LEVEL - jr c, .replace_level - ld a, [hl] - cp MAX_LEVEL - jr c, .done_level - ld a, MAX_LEVEL -.replace_level - ld [hl], a -.done_level - ld [CurPartyLevel], a - - ld hl, $c60d + MON_STAT_EXP - 1 - ld de, $c60d + MON_MAXHP - ld b, $1 - predef CalcPkmnStats - ld de, $c60d + MON_MAXHP - ld hl, $c60d + MON_HP - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hl], a - call AddMobileMonToParty - ret -; 11b7e5 - -Function11b7e5: ; 11b7e5 - ld a, [$c60d] ; species - ld [wOTTrademonSpecies], a - ld [CurPartySpecies], a - ld a, [wcd81] - ld [wc74e], a - ld hl, $c63d ; OT - ld de, wOTTrademonOTName - ld bc, 5 - call CopyBytes - ld a, "@" - ld [de], a - ld a, [$c60d + MON_ID] ; id - ld [wOTTrademonID], a - ld a, [$c60d + MON_ID + 1] - ld [wOTTrademonID + 1], a - ld hl, $c60d + MON_DVS ; dvs - ld a, [hli] - ld [wOTTrademonDVs], a - ld a, [hl] - ld [wOTTrademonDVs + 1], a - ld bc, $c60d ; pokemon_data_start - callba GetCaughtGender - ld a, c - ld [wOTTrademonCaughtData], a - call SpeechTextBox - call FadeToMenu - callba MobileTradeAnimation_ReceiveGetmonFromGTS - callba Function17d1f1 - ld a, $1 - ld [wForceEvolution], a - ld a, $2 - ld [wLinkMode], a - callba EvolvePokemon - xor a - ld [wLinkMode], a - callba SaveAfterLinkTrade - ld a, $5 - call GetSRAMBank - ld a, $5 - ld [$a800], a - call CloseSRAM - ld a, [MapGroup] - ld b, a - ld a, [MapNumber] - ld c, a - call GetMapTrigger - ld a, d - or e - jr z, .asm_11b872 - ld a, $1 - ld [de], a - -.asm_11b872 - call CloseSubmenu - call RestartMapMusic - ret -; 11b879 - -Function11b879: ; 11b879 - callba BattleTower_CheckSaveFileExistsAndIsYours - ld a, [ScriptVar] - and a - ret z - ld a, $5 - call GetSRAMBank - ld a, [$a800] - ld [ScriptVar], a - ld a, [$a890] - ld [wcd49], a - ld a, [$a891] - ld [wcd4a], a - ld a, [$a892] - ld [wcd4b], a - ld a, [$a893] - ld [wcd4c], a - call CloseSRAM - ld a, [ScriptVar] - and a - ret z - ld hl, wcd4c - ld a, [hRTCDayHi] - cp [hl] - ret nz - dec hl - ld a, [hRTCDayLo] - cp [hl] - ret nz - ld hl, wcd4a - ld a, [hRTCHours] - cp [hl] - jr nc, .asm_11b8d8 - ld a, $18 - sub [hl] - ld hl, hRTCHours - add [hl] - ld [wcd4c], a - ld a, [hRTCMinutes] - ld [wcd4b], a - xor a - ld [wcd4a], a - jr .asm_11b8e2 - -.asm_11b8d8 - ld a, [hRTCMinutes] - ld [wcd4b], a - ld a, [hRTCHours] - ld [wcd4c], a - -.asm_11b8e2 - xor a - ld l, a - ld h, a - ld b, a - ld d, a - ld a, [wcd4b] - ld e, a - ld a, [wcd4c] - ld c, $3c - call AddNTimes - add hl, de - push hl - xor a - ld l, a - ld h, a - ld b, a - ld d, a - ld a, [wcd49] - ld e, a - ld a, [wcd4a] - ld c, $3c - call AddNTimes - add hl, de - ld a, l - cpl - add $1 - ld e, a - ld a, h - cpl - adc $0 - ld d, a - pop hl - add hl, de - ld de, $ff88 - add hl, de - bit 7, h - ret z - ld a, $2 - ld [ScriptVar], a - ret -; 11b920 - -Function11b920: ; 11b920 - call Mobile46_InitJumptable - ld a, $5 - call GetSRAMBank - ld hl, $a81f - ld de, $c626 - ld bc, 8 - call CopyBytes - call CloseSRAM - call Function118000 - ret -; 11b93b - -Function11b93b: ; 11b93b - ld a, $5 - call GetSRAMBank - xor a - ld [$a800], a - ld hl, $a823 - ld de, $c608 - ld bc, $008f - call CopyBytes - call CloseSRAM - - ld a, $c608 % $100 - ld [wMobileMonSpeciesPointerBuffer], a - ld a, $c608 / $100 - ld [wMobileMonSpeciesPointerBuffer + 1], a - - ld a, $c611 % $100 - ld [wMobileMonStructurePointerBuffer], a - ld a, $c611 / $100 - ld [wMobileMonStructurePointerBuffer + 1], a - - ld a, $c641 % $100 - ld [wMobileMonOTNamePointerBuffer], a - ld a, $c641 / $100 - ld [wMobileMonOTNamePointerBuffer + 1], a - - ld a, $c646 % $100 - ld [wMobileMonNicknamePointerBuffer], a - ld a, $c646 / $100 - ld [wMobileMonNicknamePointerBuffer + 1], a - - ld a, $c64b % $100 - ld [wMobileMonMailPointerBuffer], a - ld a, $c64b / $100 - ld [wMobileMonMailPointerBuffer + 1], a - call AddMobileMonToParty - callba SaveAfterLinkTrade - ret -; 11b98f - -AddMobileMonToParty: ; 11b98f - ld hl, PartyCount - ld a, [hl] - ld e, a - inc [hl] - - ld a, [wMobileMonSpeciesPointerBuffer] - ld l, a - ld a, [wMobileMonSpeciesPointerBuffer + 1] - ld h, a - inc hl - ld bc, PartySpecies - ld d, e -.loop1 - inc bc - dec d - jr nz, .loop1 - ld a, e - ld [CurPartyMon], a - ld a, [hl] - ld [bc], a - inc bc - ld a, -1 - ld [bc], a - - ld hl, PartyMon1Species - ld bc, PARTYMON_STRUCT_LENGTH - ld a, e - ld [wMobileMonSpeciesBuffer], a -.loop2 - add hl, bc - dec a - and a - jr nz, .loop2 - ld e, l - ld d, h - ld a, [wMobileMonStructurePointerBuffer] - ld l, a - ld a, [wMobileMonStructurePointerBuffer + 1] - ld h, a - ld bc, PARTYMON_STRUCT_LENGTH - call CopyBytes - - ld hl, PartyMonOT - ld bc, NAME_LENGTH - ld a, [wMobileMonSpeciesBuffer] -.loop3 - add hl, bc - dec a - and a - jr nz, .loop3 - ld e, l - ld d, h - ld a, [wMobileMonOTNamePointerBuffer] - ld l, a - ld a, [wMobileMonOTNamePointerBuffer + 1] - ld h, a - ld bc, PKMN_NAME_LENGTH - 1 - call CopyBytes - ld a, "@" - ld [de], a - - ld hl, PartyMonNicknames - ld bc, PKMN_NAME_LENGTH - ld a, [wMobileMonSpeciesBuffer] -.loop4 - add hl, bc - dec a - and a - jr nz, .loop4 - ld e, l - ld d, h - ld a, [wMobileMonNicknamePointerBuffer] - ld l, a - ld a, [wMobileMonNicknamePointerBuffer + 1] - ld h, a - ld bc, PKMN_NAME_LENGTH - 1 - call CopyBytes - ld a, "@" - ld [de], a - - ld hl, sPartyMail - ld bc, MAIL_STRUCT_LENGTH - ld a, [wMobileMonSpeciesBuffer] -.loop5 - add hl, bc - dec a - and a - jr nz, .loop5 - ld a, BANK(sPartyMail) - call GetSRAMBank - ld e, l - ld d, h - ld a, [wMobileMonMailPointerBuffer] - ld l, a - ld a, [wMobileMonMailPointerBuffer + 1] - ld h, a - ld bc, MAIL_STRUCT_LENGTH - call CopyBytes - - call CloseSRAM - ret -; 11ba38 - -Function11ba38: ; 11ba38 - callba CheckCurPartyMonFainted - ret c - xor a - ld [ScriptVar], a - ret -; 11ba44 - -TilemapPack_11ba44: - db $47, $30, $0a, $0a, $0a, $0a, $0a, $56 ; 00 - db $46, $2f, $0a, $0a, $0a, $0a, $0a, $55 ; 01 - db $45, $3d, $0a, $0a, $0a, $0a, $0a, $54 ; 02 - db $44, $30, $0a, $0a, $0a, $0a, $0a, $53 ; 03 - db $43, $2f, $0a, $0a, $0a, $0a, $0a, $52 ; 04 - db $4a, $3d, $0a, $0a, $0a, $0a, $0a, $51 ; 05 - db $4a, $30, $0a, $0a, $0a, $0a, $0a, $50 ; 06 - db $4a, $2f, $0a, $0a, $0a, $0a, $0a, $4f ; 07 - db $4a, $3d, $0a, $0a, $0a, $0a, $0a, $4e ; 08 - db $4a, $30, $0a, $0a, $0a, $0a, $4d, $42 ; 09 - db $4a, $2f, $0a, $0a, $0a, $0a, $6b, $58 ; 0a - db $4a, $3d, $0a, $0a, $0a, $0a, $6a, $58 ; 0b - db $4a, $30, $0a, $0a, $0a, $0a, $69, $58 ; 0c - db $4a, $2f, $0a, $0a, $0a, $0a, $68, $58 ; 0d - db $4a, $3d, $0a, $0a, $0a, $66, $67, $58 ; 0e - db $4a, $30, $0a, $0a, $0a, $65, $0a, $58 ; 0f - db $4a, $2f, $0a, $0a, $0a, $64, $0a, $58 ; 10 - db $4a, $3d, $0a, $0a, $0a, $63, $0a, $58 ; 11 - db $4a, $30, $0a, $0a, $61, $62, $0a, $58 ; 12 - db $4a, $2f, $0a, $0a, $5f, $60, $0a, $58 ; 13 - db $4a, $3d, $0a, $61, $62, $0a, $0a, $58 ; 14 - db $4a, $30, $0a, $63, $0a, $0a, $0a, $58 ; 15 - db $4a, $2f, $69, $0a, $0a, $0a, $0a, $58 ; 16 - db $4a, $3d, $81, $0a, $0a, $0a, $0a, $58 ; 17 - db $4a, $30, $80, $0a, $0a, $0a, $0a, $58 ; 18 - db $4a, $2f, $7f, $0a, $0a, $0a, $0a, $58 ; 19 - db $4a, $3d, $0a, $0a, $0a, $0a, $0a, $58 ; 1a - db $4a, $30, $0a, $0a, $0a, $0a, $0a, $58 ; 1b - db $4a, $2f, $68, $87, $88, $89, $0a, $58 ; 1c - db $4a, $3d, $6e, $6f, $70, $75, $76, $58 ; 1d - db $4a, $30, $75, $76, $5c, $5d, $5e, $58 ; 1e - db $4a, $2f, $71, $72, $73, $74, $6d, $58 ; 1f - db $4a, $3d, $75, $76, $77, $8a, $8b, $58 ; 20 - db $4a, $30, $66, $67, $65, $0a, $6a, $58 ; 21 - db $4a, $2f, $83, $84, $0a, $83, $84, $58 ; 22 - db $4a, $3d, $0a, $85, $82, $84, $0a, $58 ; 23 - db $4a, $30, $41, $80, $40, $0a, $0a, $58 ; 24 - db $4a, $2f, $83, $0a, $0a, $0a, $0a, $58 ; 25 - db $4a, $3d, $40, $0a, $0a, $0a, $0a, $58 ; 26 - db -1 - -TilemapPack_11bb7d: - db $0a, $0a, $0a, $0a, $0a, $0a, $16, $00 ; 00 - db $78, $0a, $0a, $0a, $0a, $0a, $8c, $00 ; 01 - db $79, $0a, $0a, $0a, $0a, $0a, $8d, $00 ; 02 - db $7a, $0a, $0a, $0a, $0a, $0a, $8e, $00 ; 03 - db $7b, $0a, $0a, $0a, $0a, $0a, $8c, $00 ; 04 - db $7c, $0a, $0a, $0a, $0a, $0a, $8d, $00 ; 05 - db $7d, $0a, $0a, $0a, $0a, $0a, $8e, $00 ; 06 - db $2e, $7e, $0a, $0a, $0a, $0a, $8c, $00 ; 07 - db $2e, $80, $0a, $0a, $0a, $0a, $8d, $00 ; 08 - db $2e, $81, $0a, $0a, $0a, $0a, $8e, $00 ; 09 - db $2e, $82, $0a, $0a, $0a, $0a, $8c, $00 ; 0a - db $2e, $69, $0a, $0a, $0a, $0a, $8d, $00 ; 0b - db $2e, $6a, $0a, $0a, $0a, $0a, $8e, $00 ; 0c - db $2e, $6b, $0a, $0a, $0a, $0a, $8c, $00 ; 0d - db $2e, $0a, $68, $0a, $0a, $0a, $8d, $00 ; 0e - db $2e, $0a, $69, $0a, $0a, $0a, $8e, $00 ; 0f - db $2e, $0a, $0a, $6a, $0a, $0a, $8c, $00 ; 10 - db $2e, $0a, $0a, $6b, $0a, $0a, $8d, $00 ; 11 - db $2e, $0a, $0a, $0a, $80, $0a, $8e, $00 ; 12 - db $2e, $0a, $0a, $0a, $82, $0a, $8c, $00 ; 13 - db $2e, $0a, $0a, $0a, $6c, $0a, $8d, $00 ; 14 - db $2e, $0a, $0a, $0a, $0a, $83, $8e, $00 ; 15 - db $2e, $0a, $6b, $0a, $0a, $0a, $8c, $00 ; 16 - db $2e, $0a, $0a, $69, $0a, $0a, $8d, $00 ; 17 - db $2e, $0a, $0a, $6a, $0a, $0a, $8e, $00 ; 18 - db $2e, $0a, $0a, $0a, $68, $0a, $8c, $00 ; 19 - db $2e, $0a, $0a, $0a, $63, $0a, $8d, $00 ; 1a - db $2e, $0a, $0a, $61, $62, $0a, $8e, $00 ; 1b - db $2e, $0a, $0a, $0a, $5f, $60, $8c, $00 ; 1c - db $2e, $0a, $0a, $0a, $63, $0a, $8d, $00 ; 1d - db $2e, $0a, $0a, $0a, $0a, $69, $8c, $00 ; 1e - db $2e, $0a, $0a, $0a, $0a, $6b, $8d, $00 ; 1f - db $2e, $0a, $0a, $0a, $0a, $83, $8e, $00 ; 20 - db $2e, $0a, $0a, $0a, $0a, $86, $8c, $00 ; 21 - db $2e, $0a, $85, $0a, $0a, $0a, $8d, $00 ; 22 - db $2e, $0a, $0a, $84, $0a, $0a, $8e, $00 ; 23 - db -1 - - diff --git a/misc/mobile_5b.asm b/misc/mobile_5b.asm deleted file mode 100755 index 679f04342..000000000 --- a/misc/mobile_5b.asm +++ /dev/null @@ -1,833 +0,0 @@ -Function16c000: ; 16c000 -; unreferenced - ; Only for CGB - ld a, [hCGB] - and a - ret z - ; Only do this once per boot cycle - ld a, [hFFEA] - and a - ret z - ; Set some flag, preserving the old state - ld a, [wcfbe] - push af - set 7, a - ld [wcfbe], a - ; Do stuff - call MobileSystemSplashScreen_InitGFX ; Load GFX - callba SetRAMStateForMobile - callba EnableMobile - call .RunJumptable - callba DisableMobile - ; Prevent this routine from running again - ; until the next time the syatem is turned on - xor a - ld [hFFEA], a - ; Restore the flag state - pop af - ld [wcfbe], a - ret -; 16c031 - -.RunJumptable: ; 16c031 - xor a - ld [wJumptableIndex], a - ld [wcf64], a - ld [wd002], a - ld [wd003], a -.loop - call DelayFrame - callba Function10635c - ld a, [wd002] - ld hl, .Jumptable - rst JumpTable - call Function16cb2e - call Function16cbae - ld a, [wd002] - cp $ff - jr nz, .loop - ret -; 16c05c - -.Jumptable: ; 16c05c - dw .init - dw Function16c0ba - dw Function16c089 - dw Function16c09e - dw Function16c0a8 - dw Function16c0dc - dw Function16c0ec - dw Function16c0ba - dw Function16c0ca - dw Function16c0dc - dw Function16c0ec - dw .quit -; 16c074 - -.init ; 16c074 - ld a, [wcf64] - and a - ret z - ld [wd002], a - xor a - ld [wd003], a - ret -; 16c081 - -.quit ; 16c081 - push af - ld a, $ff - ld [wd002], a - pop af - ret -; 16c089 - -Function16c089: ; 16c089 - ld a, $1 - ld [Buffer2], a - ld [wd1f1], a - xor a - ld [hWY], a - call Function16c0fa - ld a, [wd002] - ld [wcf64], a - ret -; 16c09e - -Function16c09e: ; 16c09e - ld a, [wcf64] - cp $4 - ret nz - call Function16c0fa - ret -; 16c0a8 - -Function16c0a8: ; 16c0a8 - xor a - ld [Buffer2], a - ld [wd1f1], a - call ClearSprites - ld a, $90 - ld [hWY], a - call Function16c0fa - ret -; 16c0ba - -Function16c0ba: ; 16c0ba - call Function16c943 - push af - ld a, [wd003] - inc a - ld [wd003], a - pop af - call c, Function16c0fa - ret -; 16c0ca - -Function16c0ca: ; 16c0ca - ld a, [wd003] - cp $28 - push af - ld a, [wd003] - inc a - ld [wd003], a - pop af - call z, Function16c0fa - ret -; 16c0dc - -Function16c0dc: ; 16c0dc - call Function16ca11 - push af - ld a, [wd003] - inc a - ld [wd003], a - pop af - call c, Function16c0fa - ret -; 16c0ec - -Function16c0ec: ; 16c0ec - call ClearBGPalettes - call ClearScreen - push af - ld a, $ff - ld [wd002], a - pop af - ret -; 16c0fa - -Function16c0fa: ; 16c0fa - push af - ld a, [wd002] - inc a - ld [wd002], a - xor a - ld [wd003], a - pop af - ret -; 16c108 - -MobileSystemSplashScreen_InitGFX: ; 16c108 - call DisableLCD - ld hl, VTiles2 - ld de, .Tiles - lb bc, BANK(.Tiles), $68 - call Get2bpp - call .LoadPals - call .LoadTileMap - call .LoadAttrMap - hlbgcoord 0, 0 - call Function16cc73 - call Function16cc02 - xor a - ld [hBGMapMode], a - call EnableLCD - ret -; 16c130 - -.LoadPals: ; 16c130 - ld de, UnknBGPals - ld hl, UnknownMobilePalettes_16c903 - ld bc, 8 - ld a, $5 - call FarCopyWRAM - callba ApplyPals - ret -; 16c145 - -.LoadTileMap: ; 16c145 - hlcoord 0, 0 - ld bc, 20 - xor a - call ByteFill - ld hl, .TileMap - decoord 0, 1 - ld bc, $0154 - call CopyBytes - ret -; 16c15c - -.LoadAttrMap: ; 16c15c - hlcoord 0, 0, AttrMap - ld bc, SCREEN_WIDTH - xor a - call ByteFill - ld hl, .AttrMap - decoord 0, 1, AttrMap - ld bc, 17 * SCREEN_WIDTH - call CopyBytes - ret -; 16c173 - -.Tiles: -INCBIN "gfx/unknown/mobile_splash.2bpp" - -.TileMap: -INCBIN "gfx/unknown/mobile_splash.tilemap" - -.AttrMap: -INCBIN "gfx/unknown/mobile_splash.attrmap" - -UnknownMobilePalettes_16c903: ; 16c903 -INCLUDE "gfx/unknown/16c903.pal" - -; 16c943 - -Function16c943: ; 16c943 - ld a, [wd003] - and a - jr nz, .asm_16c95e - ld a, [rSVBK] - push af - ld a, $5 - ld [rSVBK], a - ld a, $ff - ld bc, $0008 - ld hl, UnknBGPals - call ByteFill - pop af - ld [rSVBK], a - -.asm_16c95e - ld a, [rSVBK] - push af - ld a, $5 - ld [rSVBK], a - ld e, $0 - ld a, $0 -.asm_16c969 - ld hl, UnknownMobilePalettes_16c903 - call Function16cab6 - call Function16cabb - ld d, a - ld hl, UnknBGPals - call Function16cab6 - call Function16cabb - cp d - jr z, .asm_16c991 - ld b, $1 -.asm_16c981 - dec a - cp d - jr z, .asm_16c988 - dec b - jr nz, .asm_16c981 - -.asm_16c988 - ld hl, UnknBGPals - call Function16cab6 - call Function16cadc - -.asm_16c991 - ld hl, UnknownMobilePalettes_16c903 - call Function16cab6 - call Function16cad8 - ld d, a - ld hl, UnknBGPals - call Function16cab6 - call Function16cad8 - cp d - jr z, .asm_16c9b9 - ld b, $1 -.asm_16c9a9 - dec a - cp d - jr z, .asm_16c9b0 - dec b - jr nz, .asm_16c9a9 - -.asm_16c9b0 - ld hl, UnknBGPals - call Function16cab6 - call Function16cb08 - -.asm_16c9b9 - ld hl, UnknownMobilePalettes_16c903 - call Function16cab6 - call Function16cac4 - ld d, a - ld hl, UnknBGPals - call Function16cab6 - call Function16cac4 - cp d - jr z, .asm_16c9e1 - ld b, $1 -.asm_16c9d1 - dec a - cp d - jr z, .asm_16c9d8 - dec b - jr nz, .asm_16c9d1 - -.asm_16c9d8 - ld hl, UnknBGPals - call Function16cab6 - call Function16cae8 - -.asm_16c9e1 - inc e - inc e - ld a, e - cp $8 - jr nz, .asm_16c969 - callba ApplyPals - call SetPalettes - ld a, [rSVBK] - push af - ld a, $1 - ld [rSVBK], a - ld a, [wd003] - cp $1f - jr z, .asm_16ca09 - pop af - ld [rSVBK], a - ld e, $0 - pop af - ld [rSVBK], a - and a - ret - -.asm_16ca09 - pop af - ld [rSVBK], a - pop af - ld [rSVBK], a - scf - ret -; 16ca11 - -Function16ca11: ; 16ca11 - ld a, [wd003] - and a - jr nz, .asm_16ca1d - callba ApplyPals - -.asm_16ca1d - ld a, [rSVBK] - push af - ld a, $5 - ld [rSVBK], a - ld e, $0 - ld a, $0 -.asm_16ca28 - ld hl, UnknBGPals - call Function16cab6 - call Function16cabb - cp $1f - jr z, .asm_16ca48 - ld b, $1 -.asm_16ca37 - inc a - cp $1f - jr z, .asm_16ca3f - dec b - jr nz, .asm_16ca37 - -.asm_16ca3f - ld hl, UnknBGPals - call Function16cab6 - call Function16cadc - -.asm_16ca48 - ld hl, UnknBGPals - call Function16cab6 - call Function16cad8 - cp $1f - jr z, .asm_16ca68 - ld b, $1 -.asm_16ca57 - inc a - cp $1f - jr z, .asm_16ca5f - dec b - jr nz, .asm_16ca57 - -.asm_16ca5f - ld hl, UnknBGPals - call Function16cab6 - call Function16cb08 - -.asm_16ca68 - ld hl, UnknBGPals - call Function16cab6 - call Function16cac4 - cp $1f - jr z, .asm_16ca88 - ld b, $1 -.asm_16ca77 - inc a - cp $1f - jr z, .asm_16ca7f - dec b - jr nz, .asm_16ca77 - -.asm_16ca7f - ld hl, UnknBGPals - call Function16cab6 - call Function16cae8 - -.asm_16ca88 - inc e - inc e - ld a, e - cp $8 - jr nz, .asm_16ca28 - callba ApplyPals - call SetPalettes - ld a, [rSVBK] - push af - ld a, $1 - ld [rSVBK], a - ld a, [wd003] - cp $1f - jr z, .asm_16caae - pop af - ld [rSVBK], a - pop af - ld [rSVBK], a - and a - ret - -.asm_16caae - pop af - ld [rSVBK], a - pop af - ld [rSVBK], a - scf - ret -; 16cab6 - -Function16cab6: ; 16cab6 - ld b, $0 - ld c, e - add hl, bc - ret -; 16cabb - -Function16cabb: ; 16cabb - inc hl - ld a, [hl] - srl a - srl a - and $1f - ret -; 16cac4 - -Function16cac4: ; 16cac4 - inc hl - ld a, [hld] - and $3 - ld b, a - ld a, [hl] - sla a - rl b - sla a - rl b - sla a - rl b - ld a, b - ret -; 16cad8 - -Function16cad8: ; 16cad8 - ld a, [hl] - and $1f - ret -; 16cadc - -Function16cadc: ; 16cadc - sla a - sla a - ld b, a - inc hl - ld a, [hl] - and $83 - or b - ld [hl], a - ret -; 16cae8 - -Function16cae8: ; 16cae8 - ld c, a - srl a - srl a - srl a - ld b, a - inc hl - ld a, [hl] - and $fc - or b - ld [hld], a - ld a, c - sla a - sla a - sla a - sla a - sla a - ld b, a - ld a, [hl] - and $1f - or b - ld [hl], a - ret -; 16cb08 - -Function16cb08: ; 16cb08 - ld b, a - ld a, [hl] - and $e0 - or b - ld [hl], a - ret -; 16cb0f - -Function16cb0f: ; 16cb0f - xor a - ld [Buffer1], a - ld [Buffer2], a - xor a - ld [wd1ec], a - ld a, $70 - ld [wd1ee], a - ld a, $4 - ld [wd1ed], a - ld a, $a0 - ld [wd1ef], a - xor a - ld [wd1f0], a - ret -; 16cb2e - -Function16cb2e: ; 16cb2e - ld a, [Buffer2] - and a - ret z - call Function16cb40 - ld hl, Unknown_16cb86 - ld de, Sprites - call Function16cb5d - ret -; 16cb40 - -Function16cb40: ; 16cb40 - ld hl, wd1ec - inc [hl] - ld a, [hl] - cp $18 - ret c - xor a - ld [hl], a - ld a, [wd1ef] - cp $a0 - jr nz, .asm_16cb57 - ld a, $a7 - ld [wd1ef], a - ret - -.asm_16cb57 - ld a, $a0 - ld [wd1ef], a - ret -; 16cb5d - -Function16cb5d: ; 16cb5d - ld a, [hli] - and a - ret z -.asm_16cb60 - push af - ld a, [wd1ee] - add [hl] - add $10 - ld [de], a - inc hl - inc de - ld a, [wd1ed] - add [hl] - add $8 - ld [de], a - inc hl - inc de - ld a, [wd1ef] - add [hl] - ld [de], a - inc hl - inc de - ld a, [wd1f0] - or [hl] - ld [de], a - inc hl - inc de - pop af - dec a - jr nz, .asm_16cb60 - ret -; 16cb86 - -Unknown_16cb86: - db 7 - db 0, 0, 0, 1 - db 8, 0, 1, 1 - db 8, 8, 2, 0 - db 8, 16, 3, 0 - db 16, 0, 4, 1 - db 16, 8, 5, 0 - db 16, 16, 6, 0 -; 16cba3 - -Function16cba3: ; 16cba3 - xor a - ld [wd1f1], a - ld [wd1f2], a - ld [wd1f3], a - ret -; 16cbae - -Function16cbae: ; 16cbae - ld a, [wd1f1] - and a - ret z - call Function16cbba - call Function16cbd1 - ret -; 16cbba - -Function16cbba: ; 16cbba - ld hl, wd1f2 - inc [hl] - ld a, [hl] - cp $c - ret c - xor a - ld [hl], a - ld a, [wd1f3] - inc a - cp $4 - jr c, .asm_16cbcd - xor a - -.asm_16cbcd - ld [wd1f3], a - ret -; 16cbd1 - -Function16cbd1: ; 16cbd1 - ld a, [wd1f3] - ld c, a - ld b, 0 - ld hl, Unknown_16cbfb - add hl, bc - ld a, [hl] - ld bc, 2 - ld hl, Unknown_16cfa3 - call AddNTimes - ld de, UnknBGPals + 1 palettes + 4 - ld bc, 2 - ld a, $5 - call FarCopyWRAM - callba ApplyPals - ld a, $1 - ld [hCGBPalUpdate], a - ret -; 16cbfb - -Unknown_16cbfb: - db 0, 1, 2, 1, 0, 1, 2 -; 16cc02 - -Function16cc02: ; 16cc02 - call Function16cc18 - call Function16cc49 - call Function16cc62 - call Function16cc25 - call Function16cc6e - call Function16cb0f - call Function16cba3 - ret -; 16cc18 - -Function16cc18: ; 16cc18 - ld hl, VTiles1 - ld de, GFX_16cca3 - lb bc, BANK(GFX_16cca3), $2e - call Get2bpp - ret -; 16cc25 - -Function16cc25: ; 16cc25 - ld hl, Unknown_16cfa9 - ld de, UnknBGPals + 1 palettes - call .CopyPal - ld hl, Unknown_16cfb1 - ld de, UnknOBPals - call .CopyPal - ld hl, Unknown_16cfb9 - ld de, UnknOBPals + 1 palettes - call .CopyPal - ret -; 16cc41 - -.CopyPal: ; 16cc41 - ld bc, 1 palettes - ld a, $5 - jp FarCopyWRAM -; 16cc49 - -Function16cc49: ; 16cc49 - hlcoord 4, 15 - ld a, $80 - call Function16cc5a - hlcoord 4, 16 - ld a, $90 - call Function16cc5a - ret -; 16cc5a - -Function16cc5a: ; 16cc5a - ld c, $10 -.asm_16cc5c - ld [hli], a - inc a - dec c - jr nz, .asm_16cc5c - ret -; 16cc62 - -Function16cc62: ; 16cc62 - hlcoord 0, 15, AttrMap - ld bc, $0028 - ld a, $1 - call ByteFill - ret -; 16cc6e - -Function16cc6e: ; 16cc6e - hlbgcoord 0, 0, VBGMap1 - jr Function16cc73 - -Function16cc73: - ld a, [rVBK] - push af - ld a, $0 - ld [rVBK], a - push hl - decoord 0, 0 - call Function16cc90 - pop hl - ld a, $1 - ld [rVBK], a - decoord 0, 0, AttrMap - call Function16cc90 - pop af - ld [rVBK], a - ret -; 16cc90 - -Function16cc90: ; 16cc90 - ld bc, $1214 -.asm_16cc93 - push bc -.asm_16cc94 - ld a, [de] - inc de - ld [hli], a - dec c - jr nz, .asm_16cc94 - ld bc, $000c - add hl, bc - pop bc - dec b - jr nz, .asm_16cc93 - ret -; 16cca3 - -GFX_16cca3: -INCBIN "gfx/unknown/16cca3.2bpp" - -Unknown_16cfa3: - RGB 31, 31, 31 - RGB 25, 27, 29 - RGB 16, 19, 25 - -Unknown_16cfa9: - RGB 31, 31, 31 - RGB 25, 27, 29 - RGB 31, 31, 31 - RGB 07, 07, 07 - - -Unknown_16cfb1: - RGB 31, 31, 31 - RGB 13, 09, 18 - RGB 26, 21, 16 - RGB 07, 07, 07 - - -Unknown_16cfb9: - RGB 31, 31, 31 - RGB 18, 05, 02 - RGB 27, 11, 12 - RGB 07, 07, 07 - -; 16cfc1 diff --git a/misc/mobile_5c.asm b/misc/mobile_5c.asm deleted file mode 100755 index 5b7418a0f..000000000 --- a/misc/mobile_5c.asm +++ /dev/null @@ -1,944 +0,0 @@ -Function170000: ; 170000 - ld a, [$c62b] - ld [wPlayerTrademonSpecies], a - ld hl, $c62e - ld de, wPlayerTrademonSenderName - ld bc, $0005 - call CopyBytes - ld a, $50 - ld [de], a - ld hl, $c663 - ld de, wPlayerTrademonOTName - ld bc, $0005 - call CopyBytes - ld a, $50 - ld [de], a - ld hl, $c648 - ld a, [hli] - ld [wPlayerTrademonDVs], a - ld a, [hl] - ld [wPlayerTrademonDVs + 1], a - ld hl, $c639 - ld a, [hli] - ld [wPlayerTrademonID], a - ld a, [hl] - ld [wPlayerTrademonID + 1], a - ld bc, $c633 - callba GetCaughtGender - ld a, c - ld [wPlayerTrademonCaughtData], a - ld a, [wcd81] - ld [wc74e], a - ld hl, $c608 - ld de, $d800 - ld bc, $008f - call CopyBytes - ret - -; 17005a - -Function17005a: ; 17005a - ld a, $5 - call GetSRAMBank - ld a, [$a824] - ld [wOTTrademonSpecies], a - ld hl, $a827 - ld de, wOTTrademonSenderName - ld bc, 5 ; Japanese Name Length - call CopyBytes - ld a, "@" - ld [de], a - ld hl, $a85c - ld de, wOTTrademonOTName - ld bc, 5 ; Japanese Name Length - call CopyBytes - ld a, "@" - ld [de], a - ld hl, $a841 - ld a, [hli] - ld [wOTTrademonDVs], a - ld a, [hl] - ld [wOTTrademonDVs + 1], a - ld hl, $a832 - ld a, [hli] - ld [wOTTrademonID], a - ld a, [hl] - ld [wOTTrademonID + 1], a - ld bc, $a82c - callba GetCaughtGender - ld a, c - ld [wOTTrademonCaughtData], a - ld a, [wcd81] - ld [wc74e], a - call CloseSRAM - ret - -; 1700b0 - -INCLUDE "misc/battle_tower_5c.asm" - -Function170be4: ; 170be4 - ld a, $5 - call GetSRAMBank - xor a - ld hl, $a894 - ld bc, $0008 - call ByteFill - call CloseSRAM - ret - -; 170bf7 - -Clears5_a89a: ; 170bf7 - ld a, $5 - call GetSRAMBank - ld hl, $a89a - xor a - ld [hli], a - ld [hl], a - call CloseSRAM - ret - -; 170c06 - -Function170c06: ; 170c06 - ld a, $5 - call GetSRAMBank - ld hl, $a894 - ld a, [wBattleResult] - and a - jr nz, .asm_170c15 - inc [hl] - -.asm_170c15 - inc hl - inc hl - ld a, [$a89b] - add [hl] - ld [hld], a - ld a, [$a89a] - adc [hl] - ld [hli], a - jr nc, .asm_170c27 - ld a, $ff - ld [hld], a - ld [hli], a - -.asm_170c27 - inc hl - push hl - ld de, 0 - xor a - ld [wd265], a -.asm_170c30 - ld hl, PartyMon1HP - ld a, [wd265] - call GetPartyLocation - ld a, [hli] - ld b, a - ld c, [hl] - inc hl - inc hl - ld a, [hld] - sub c - ld c, a - ld a, [hl] - sbc b - ld b, a - push de - pop hl - add hl, bc - push hl - pop de - jr c, .asm_170c58 - ld a, [wd265] - inc a - ld [wd265], a - cp $3 - jr c, .asm_170c30 - jr .asm_170c5b - -.asm_170c58 - ld de, -1 - -.asm_170c5b - pop hl - inc hl - ld a, e - add [hl] - ld [hld], a - ld a, d - adc [hl] - ld [hli], a - jr nc, .asm_170c69 - ld a, $ff - ld [hld], a - ld [hli], a - -.asm_170c69 - inc hl - push hl - ld b, $0 - ld c, $0 -.asm_170c6f - ld hl, PartyMon1HP - ld a, b - push bc - call GetPartyLocation - pop bc - ld a, [hli] - or [hl] - jr nz, .asm_170c7d - inc c - -.asm_170c7d - inc b - ld a, b - cp $3 - jr c, .asm_170c6f - pop hl - ld a, [hl] - add c - ld [hl], a - call CloseSRAM - ret - -; 170c8b - -Function170c8b: ; 170c8b - ld hl, LastEnemyCounterMove - ld b, $5 -.asm_170c90 - ld a, [hl] - xor $ff - ld [hli], a - dec b - jr nz, .asm_170c90 - ret - -; 170c98 - -CheckBTMonMovesForErrors: ; 170c98 - ld c, BATTLETOWER_NROFPKMNS - ld hl, wBT_OTTempPkmn1Moves -.loop - push hl - ld a, [hl] - cp NUM_ATTACKS + 1 - jr c, .okay - ld a, POUND - ld [hl], a - -.okay - inc hl - ld b, NUM_MOVES - 1 -.loop2 - ld a, [hl] - and a - jr z, .loop3 - cp NUM_ATTACKS + 1 - jr c, .next - -.loop3 - xor a - ld [hl], a - inc hl - dec b - jr nz, .loop3 - jr .done - -.next - inc hl - dec b - jr nz, .loop2 - -.done - pop hl - ld de, PARTYMON_STRUCT_LENGTH + PKMN_NAME_LENGTH - add hl, de - dec c - jr nz, .loop - ret - -; 170cc6 - -Function170cc6: ; 170cc6 - ld a, [rSVBK] - push af - ld a, $6 - ld [rSVBK], a - ld hl, LZ_170d16 - ld de, wDecompressScratch - call Decompress - ld a, $1 - ld [rVBK], a - ld de, wd000 - ld hl, VTiles0 - lb bc, $6, $c1 - call Get2bpp - xor a - ld [rVBK], a - ld hl, LZ_1715a4 - ld de, wd000 - call Decompress - ld de, UnknBGPals - ld hl, VTiles0 - lb bc, $6, $53 - call Get2bpp - pop af - ld [rSVBK], a - ret - -; 170d02 - -Function170d02: ; 170d02 - ld a, $1 - ld [rVBK], a - ld de, GFX_171848 - ld hl, VTiles1 tile $41 - lb bc, BANK(GFX_171848), $18 - call Get2bpp - xor a - ld [rVBK], a - ret - -; 170d16 - -LZ_170d16: -INCBIN "gfx/unknown/pichu_animated.2bpp.lz" - -LZ_1715a4: -INCBIN "gfx/unknown/egg_animated.2bpp.lz" - -GFX_171848: -INCBIN "gfx/unknown/171848.2bpp" - -Function1719c8: ; 1719c8 (5c:59c8) - ld a, [hInMenu] - push af - ld a, $1 - ld [hInMenu], a - call Function1719d6 - pop af - ld [hInMenu], a - ret - -Function1719d6: ; 1719d6 (5c:59d6) - callba BattleTowerRoomMenu_InitRAM - call Function1719ed - ld a, [rSVBK] - push af - ld a, $5 - ld [rSVBK], a - call Function171a11 - pop af - ld [rSVBK], a - ret - -Function1719ed: ; 1719ed (5c:59ed) - xor a - ld [wcd49], a - ld [wcd4a], a - dec a - ld [wcd4b], a - call ClearBGPalettes - call ClearSprites - callba Function171d2b - callba ReloadMapPart - callba ClearSpriteAnims - ret - -Function171a11: ; 171a11 (5c:5a11) -.loop - call JoyTextDelay - ld a, [wcd49] - bit 7, a - jr nz, .done - call Function171a36 - callba PlaySpriteAnimations - callba ReloadMapPart - jr .loop -.done - callba ClearSpriteAnims - call ClearSprites - ret - -Function171a36: ; 171a36 (5c:5a36) - ld a, [wcd49] - ld e, a - ld d, 0 - ld hl, Jumptable_171a45 - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp hl - -Jumptable_171a45: ; 171a45 (5c:5a45) - dw Function171a95 - dw Function171ac9 - dw Function171a5d - dw Function171ad7 - dw Function171a5d - dw Function171aec - dw Function171b4b - dw Function171b85 - dw Function171bcc - dw Function171c2c - dw Function171c39 - dw Function171c41 - - -Function171a5d: ; 171a5d (5c:5a5d) - ld a, [wc821] - bit 1, a - jr nz, .asm_171a6a - bit 0, a - ret nz - jp Function171c66 - -.asm_171a6a - ld a, $0 - call Function3e32 - ld [wc300], a - ld a, l - ld [wc301], a - ld a, h - ld [wc302], a - ld a, $a - call Function3e32 - ld a, [rSVBK] - push af - ld a, $1 - ld [rSVBK], a - callba BattleTowerRoomMenu_Cleanup - pop af - ld [rSVBK], a - ld a, $a - ld [wcd49], a - ret - -Function171a95: ; 171a95 (5c:5a95) - callba Function171ccd - hlcoord 2, 8 - ld de, String_171aa7 - call PlaceString - jp Function171c66 - -; 171aa7 (5c:5aa7) - -String_171aa7: ; 171aa7 - db "モバイルアダプタに" - next "せつぞく しています" - next "しばらく おまちください" - db "@" -; 171ac9 - -Function171ac9: ; 171ac9 (5c:5ac9) - ld de, wcd81 - ld hl, $5c - ld a, $2 - call Function3e32 - jp Function171c66 - -Function171ad7: ; 171ad7 (5c:5ad7) - xor a - ld hl, $c608 - ld bc, $66 - call ByteFill - ld de, $c608 - ld a, $c - call Function3e32 - jp Function171c66 - -Function171aec: ; 171aec (5c:5aec) - ld a, [rSVBK] - push af - ld a, $1 - ld [rSVBK], a - callba BattleTowerRoomMenu_Cleanup - pop af - ld [rSVBK], a - hlcoord 2, 6 - ld a, $8 -.asm_171b01 - push af - push hl - xor a - ld bc, $10 - call ByteFill - pop hl - ld de, $14 - add hl, de - pop af - dec a - jr nz, .asm_171b01 - hlcoord 2, 7 - ld a, $3 - ld de, $c608 -.asm_171b1b - push af - push hl - ld a, [de] - and a - jr z, .asm_171b34 - ld a, [wcd4b] - inc a - ld [wcd4b], a - push hl - call Function171b42 - pop hl - ld bc, $ffec - add hl, bc - call Function171b42 -.asm_171b34 - pop hl - ld bc, $14 - add hl, bc - add hl, bc - add hl, bc - pop af - dec a - jr nz, .asm_171b1b - jp Function171c66 - -Function171b42: ; 171b42 (5c:5b42) - ld a, [de] - inc de - and a - ret z - sub $20 - ld [hli], a - jr Function171b42 - -Function171b4b: ; 171b4b (5c:5b4b) - depixel 8, 2 - ld a, SPRITE_ANIM_INDEX_1D - call _InitSpriteAnimStruct - ld hl, SPRITEANIMSTRUCT_0C - add hl, bc - ld a, $8 - ld [hl], a - - depixel 8, 19 - ld a, SPRITE_ANIM_INDEX_1D - call _InitSpriteAnimStruct - ld hl, SPRITEANIMSTRUCT_0C - add hl, bc - ld a, $9 - ld [hl], a - - depixel 17, 14, 2, 0 - ld a, SPRITE_ANIM_INDEX_1D - call _InitSpriteAnimStruct - ld hl, SPRITEANIMSTRUCT_0C - add hl, bc - ld a, $a - ld [hl], a - - ld a, $4 - ld [wcd23], a - ld a, $8 - ld [wcd24], a - jp Function171c66 - -Function171b85: ; 171b85 (5c:5b85) - ld hl, hJoyPressed ; $ffa7 - ld a, [hl] - and $2 - jp nz, Function171b9f - ld a, [hl] - and $1 - jp nz, Function171bbd - ld a, [hl] - and $40 - jr nz, asm_171ba5 - ld a, [hl] - and $80 - jr nz, asm_171baf - ret - -Function171b9f: ; 171b9f (5c:5b9f) - ld a, $80 - ld [wcd49], a - ret - -asm_171ba5: ; 171ba5 (5c:5ba5) - ld a, [wcd4a] - and a - ret z - dec a - ld [wcd4a], a - ret - -asm_171baf: ; 171baf (5c:5baf) - ld a, [wcd4b] - ld c, a - ld a, [wcd4a] - cp c - ret z - inc a - ld [wcd4a], a - ret - -Function171bbd: ; 171bbd (5c:5bbd) - call PlayClickSFX - ld a, $8 - ld [wcd23], a - xor a - ld [wcd24], a - jp Function171c66 - -Function171bcc: ; 171bcc (5c:5bcc) - ld hl, hJoyPressed ; $ffa7 - ld a, [hl] - and $2 - jp nz, Function171bdc - ld a, [hl] - and $1 - jp nz, Function171beb - ret - -Function171bdc: ; 171bdc (5c:5bdc) - ld a, $4 - ld [wcd23], a - ld a, $8 - ld [wcd24], a - ld hl, wcd49 - dec [hl] - ret - -Function171beb: ; 171beb (5c:5beb) - ld a, $5 - call GetSRAMBank - ld a, [wcd4a] - ld [$aa4a], a - call CloseSRAM - ld hl, MenuDataHeader_171c6b - call LoadMenuDataHeader - call MenuBox - call MenuBoxCoord2Tile - callba ReloadMapPart - hlcoord 1, 14 - ld de, String_171c73 - call PlaceString - ld a, [wcd4a] - cp $2 - jr z, .asm_171c1f - ld a, $8 - jr .asm_171c21 -.asm_171c1f - ld a, $c -.asm_171c21 - ld [wcd24], a - ld a, $1e - ld [wcd4c], a - call Function171c66 - -Function171c2c: ; 171c2c (5c:5c2c) - ld hl, wcd4c - dec [hl] - ret nz - call ExitMenu - call ClearBGPalettes - jr asm_171c60 - -Function171c39: ; 171c39 (5c:5c39) - ld a, $28 - ld [wcd4c], a - call Function171c66 - -Function171c41: ; 171c41 (5c:5c41) - ld hl, wcd4c - dec [hl] - ret nz - call ClearBGPalettes - callba MobileFunc_106462 - callba Function106464 - ld a, $2 - ld [wc303], a - callba DisplayMobileError -asm_171c60: ; 171c60 (5c:5c60) - ld a, $80 - ld [wcd49], a - ret - -Function171c66: ; 171c66 (5c:5c66) - ld hl, wcd49 - inc [hl] - ret - -; 171c6b (5c:5c6b) - -MenuDataHeader_171c6b: ; 171c6b - db $40 ; flags - db 12, 0 ; start coords - db 17, 19 ; end coords - dw NULL - db 0 ; default option -; 171c73 - -String_171c73: ; 171c73 - db "モバイルセンターを けってい" - next "しました@" -; 171c87 - -Function171c87: ; 171c87 (5c:5c87) - call DisableLCD - ld hl, GFX_171db1 - ld de, VTiles2 tile $00 - ld bc, $6e0 - call CopyBytes - ld hl, LZ_172abd - ld de, VTiles0 tile $00 - call Decompress - call EnableLCD - ld hl, Tilemap_172491 - decoord 0, 0 - ld bc, $168 - call CopyBytes - ld hl, Attrmap_1727ed - decoord 0, 0, AttrMap - ld bc, $168 - call CopyBytes - hlcoord 3, 2 - ld de, String_172e31 - call PlaceString - hlcoord 3, 16 - ld de, String_172e3f - call PlaceString - ret - -Function171ccd: ; 171ccd (5c:5ccd) - ld a, [rSVBK] - push af - ld a, $5 - ld [rSVBK], a - ld hl, Palette_171d71 - ld de, UnknBGPals - ld bc, $40 - call CopyBytes - ld hl, EngineBuffer5 - ld a, $ff - ld [hli], a - ld a, $7f - ld [hl], a - call SetPalettes - pop af - ld [rSVBK], a - ret - -Function171cf0: ; 171cf0 (5c:5cf0) - xor a - hlcoord 4, 15 - ld [hli], a - ld [hli], a - ld a, [wcd4b] - xor $1 - ld [wcd4b], a - and a - jr nz, .asm_171d16 - ld hl, Tilemap_17251d - decoord 0, 7 - ld bc, $8c - call CopyBytes - hlcoord 3, 16 - ld de, String_172e3f - jp PlaceString - -.asm_171d16 - ld hl, Tilemap_1725f9 - decoord 0, 7 - ld bc, $8c - call CopyBytes - hlcoord 3, 16 - ld de, String_172e4e - jp PlaceString - -Function171d2b: ; 171d2b (5c:5d2b) - call DisableLCD - ld hl, GFX_171db1 - ld de, VTiles2 tile $00 - ld bc, $6e0 - call CopyBytes - ld hl, LZ_172abd - ld de, VTiles0 tile $00 - call Decompress - call EnableLCD - ld hl, Tilemap_172685 - decoord 0, 0 - ld bc, $168 - call CopyBytes - ld hl, Attrmap_172955 - decoord 0, 0, AttrMap - ld bc, $168 - call CopyBytes - hlcoord 2, 2 - ld de, String_172e5d - call PlaceString - hlcoord 14, 16 - ld de, String_172e58 - call PlaceString - ret - -; 171d71 (5c:5d71) - -Palette_171d71: - RGB 0, 0, 0 - RGB 3, 0, 0 - RGB 5, 0, 0 - RGB 31, 31, 29 - RGB 0, 2, 10 - RGB 2, 10, 21 - RGB 0, 0, 0 - RGB 10, 26, 31 - RGB 0, 0, 0 - RGB 0, 7, 8 - RGB 31, 8, 0 - RGB 1, 17, 15 - RGB 31, 16, 0 - RGB 31, 22, 0 - RGB 31, 27, 0 - RGB 31, 31, 0 - RGB 31, 18, 6 - RGB 0, 3, 0 - RGB 0, 9, 0 - RGB 0, 12, 0 - RGB 0, 16, 0 - RGB 0, 22, 0 - RGB 0, 25, 0 - RGB 0, 27, 0 - RGB 5, 5, 16 - RGB 8, 19, 28 - RGB 0, 0, 0 - RGB 31, 31, 31 - RGB 31, 31, 29 - RGB 21, 21, 20 - RGB 11, 11, 10 - RGB 0, 0, 0 - -GFX_171db1: -INCBIN "gfx/unknown/ascii_font.2bpp" -Tilemap_172491: -INCBIN "gfx/unknown/172491.tilemap" -Tilemap_17251d: -INCBIN "gfx/unknown/17251d.tilemap" -Tilemap_1725f9: -INCBIN "gfx/unknown/1725f9.tilemap" -Tilemap_172685: -INCBIN "gfx/unknown/172685.tilemap" -Attrmap_1727ed: -INCBIN "gfx/unknown/1727ed.attrmap" -Attrmap_172955: -INCBIN "gfx/unknown/172955.attrmap" -LZ_172abd: -INCBIN "gfx/pokedex/slowpoke.2bpp.lz" - -String_172e31: ; 172e31 - db "パスワード", $1f, "いれてください@" -String_172e3f: ; 172e3f - db "きりかえ やめる けってい@" -String_172e4e: ; 172e4e - db "きりかえ やめる " -String_172e58: - db "けってい@" -String_172e5d: ; 172e5d - db "せつぞくする モバイルセンターを" - next "えらんで ください@" -; 172e78 - - -Function172e78: ; 172e78 (5c:6e78) - ld a, $7f - hlcoord 0, 0 - ld bc, $168 - call ByteFill - ld a, $7 - hlcoord 0, 0, AttrMap - ld bc, $168 - call ByteFill - call DisableLCD - ld hl, GameBoyN64GFX - ld de, VTiles2 tile $00 - ld bc, $610 - call CopyBytes - call EnableLCD - ld hl, Tilemap_1733af - decoord 0, 0 - ld bc, $168 - call CopyBytes - ld hl, Attrmap_173517 - decoord 0, 0, AttrMap - ld bc, $168 - call CopyBytes - ret - -; 172eb9 (5c:6eb9) - -Function172eb9: - ld a, [rSVBK] - push af - ld a, $5 - ld [rSVBK], a - ld hl, Palette_172edf - ld de, UnknBGPals - ld bc, $40 - call CopyBytes - ld hl, Palette_172edf - ld de, BGPals - ld bc, $40 - call CopyBytes - call SetPalettes - pop af - ld [rSVBK], a - ret - -; 172edf (5c:6edf) - -Palette_172edf: - RGB 5, 12, 17 - RGB 31, 31, 31 - RGB 18, 25, 28 - RGB 10, 17, 21 - RGB 6, 13, 18 - RGB 31, 31, 31 - RGB 20, 26, 28 - RGB 12, 19, 23 - RGB 3, 10, 16 - RGB 31, 31, 31 - RGB 6, 13, 18 - RGB 20, 26, 28 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 5, 5, 16 - RGB 8, 19, 28 - RGB 0, 0, 0 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - -GameBoyN64GFX: -INCBIN "gfx/trade/game_boy_n64.2bpp" - -Tilemap_1733af: -IF DEF(CRYSTAL11) -INCBIN "gfx/unknown/1733af_corrupt.tilemap" -ELSE -INCBIN "gfx/unknown/1733af.tilemap" -ENDC - -Attrmap_173517: -INCBIN "gfx/unknown/173517.attrmap" diff --git a/misc/mobile_5f.asm b/misc/mobile_5f.asm deleted file mode 100644 index 816e23394..000000000 --- a/misc/mobile_5f.asm +++ /dev/null @@ -1,5310 +0,0 @@ - -SECTION "bank5F", ROMX - -Function17c000: ; 17c000 - - call DisableLCD - - ld hl, VTiles2 - ld bc, $31 tiles - xor a - call ByteFill - - call LoadStandardFont - call LoadFontsExtra - - ld hl, HaveWantMap - decoord 0, 0 - bccoord 0, 0, AttrMap - - ld a, SCREEN_HEIGHT -.y - push af - ld a, SCREEN_WIDTH - - push hl -.x - push af - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [bc], a - inc bc - pop af - dec a - jr nz, .x - pop hl - - push bc - ld bc, BG_MAP_WIDTH * 2 - add hl, bc - pop bc - - pop af - dec a - jr nz, .y - - ld a, [rSVBK] - push af - - ld a, 5 ; BANK(UnknBGPals) - ld [rSVBK], a - - ld hl, HaveWantPals - ld de, UnknBGPals - ld bc, $80 - call CopyBytes - - pop af - ld [rSVBK], a - - ld hl, MobileSelectGFX - ld de, VTiles0 tile $30 - ld bc, $20 tiles - call CopyBytes - - ld a, 1 - ld [rVBK], a - - ld hl, HaveWantGFX - ld de, VTiles2 - ld bc, $80 tiles - call CopyBytes - - ld hl, HaveWantGFX + $800 - ld de, VTiles1 - ld bc, $10 tiles - call CopyBytes - - xor a - ld [rVBK], a - - call EnableLCD - callba ReloadMapPart - ret -; 17c083 - -HaveWantGFX: ; 17c083 -INCBIN "gfx/mobile/havewant.2bpp" - -MobileSelectGFX: ; 17c983 -INCBIN "gfx/mobile/select.2bpp" - -HaveWantMap: ; 17cb83 -; Interleaved tile/palette map. -INCBIN "gfx/mobile/havewant_map.bin" - -HaveWantPals: ; 17cff3 -; BG and OBJ palettes. - RGB 0, 0, 0 - RGB 21, 21, 21 - RGB 0, 0, 0 - RGB 0, 0, 0 - - RGB 0, 0, 0 - RGB 4, 17, 29 - RGB 6, 19, 31 - RGB 31, 31, 31 - - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - - RGB 0, 0, 0 - RGB 2, 13, 18 - RGB 6, 19, 31 - RGB 31, 31, 31 - - RGB 0, 0, 0 - RGB 31, 5, 5 - RGB 29, 21, 21 - RGB 31, 31, 31 - - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - - RGB 0, 0, 0 - RGB 4, 17, 29 - RGB 6, 19, 31 - RGB 2, 15, 27 - - RGB 0, 0, 0 - RGB 28, 19, 18 - RGB 25, 9, 0 - RGB 0, 0, 0 - - RGB 0, 0, 0 - RGB 31, 27, 27 - RGB 31, 10, 4 - RGB 29, 0, 0 - - RGB 0, 0, 0 - RGB 31, 31, 31 - RGB 26, 8, 23 - RGB 22, 0, 16 - - RGB 0, 0, 0 - RGB 31, 31, 31 - RGB 20, 8, 31 - RGB 15, 1, 26 - - RGB 0, 0, 0 - RGB 31, 31, 31 - RGB 17, 12, 31 - RGB 12, 6, 31 - - RGB 0, 16, 0 - RGB 11, 11, 14 - RGB 5, 5, 7 - RGB 31, 31, 31 - - RGB 0, 31, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - - RGB 16, 31, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - - -CheckStringForErrors: ; 17d073 -; Valid character ranges: -; $0, $5 - $13, $19 - $1c, $26 - $34, $3a - $3e, $40 - $48, $60 - $ff -.loop - ld a, [de] - inc de - and a - jr z, .NextChar - cp $60 - jr nc, .NextChar - cp $4e - jr z, .NextChar - cp "@" - jr z, .Done - cp $5 - jr c, .Fail - cp "" - jr c, .NextChar - cp $19 - jr c, .Fail - cp $1d - jr c, .NextChar - cp $26 - jr c, .Fail - cp $35 - jr c, .NextChar - cp $3a - jr c, .Fail - cp $3f - jr c, .NextChar - cp $40 - jr c, .Fail - cp $49 - jr c, .NextChar - -.Fail: - scf - ret - -.NextChar: - dec c - jr nz, .loop - -.Done: - and a - ret -; 17d0b3 - -CheckStringForErrors_IgnoreTerminator: ; 17d0b3 -; Find control chars -.loop - ld a, [de] - inc de - and a - jr z, .next - cp "" + 1 - jr nc, .next - cp "" - jr z, .next - cp "@" - jr z, .next - - cp $5 - jr c, .end - cp "" - jr c, .next - cp $19 - jr c, .end - cp $1d - jr c, .next - cp "%" + 1 - jr c, .end - cp $35 - jr c, .next - cp "" + 1 - jr c, .end - cp "" - jr c, .next - cp "" + 1 - jr c, .end - cp "" - jr c, .next - -.end - scf - ret - -.next - dec c - jr nz, .loop - and a - ret -; 17d0f3 - -Function17d0f3: ; 17d0f3 - ld a, [$c608 + 5] - ld [wOTTrademonSpecies], a - ld [CurPartySpecies], a - ld a, [wcd81] - ld [$c74e], a - ld hl, $c63d - ld de, wOTTrademonOTName - ld bc, 5 - call CopyBytes - ld a, "@" - ld [de], a - ld a, [$c608 + 11] - ld [wOTTrademonID], a - ld a, [$c608 + 12] - ld [wOTTrademonID + 1], a - ld hl, $c608 + 26 - ld a, [hli] - ld [wOTTrademonDVs], a - ld a, [hl] - ld [wOTTrademonDVs + 1], a - ld bc, $c608 + 5 - callba GetCaughtGender - ld a, c - ld [wOTTrademonCaughtData], a - call SpeechTextBox - call FadeToMenu - callba Function10804d - callba Function17d1f1 - ld a, $1 - ld [wForceEvolution], a - ld a, $2 - ld [wLinkMode], a - callba EvolvePokemon - xor a - ld [wLinkMode], a - callba SaveAfterLinkTrade - ld a, $5 - call GetSRAMBank - ld a, $5 - ld [$a800], a - call CloseSRAM - ld a, [MapGroup] - ld b, a - ld a, [MapNumber] - ld c, a - call GetMapTrigger - ld a, d - or e - jr z, .asm_17d180 - ld a, $1 - ld [de], a - -.asm_17d180 - call CloseSubmenu - call RestartMapMusic - ret -; 17d187 - -Mobile_CopyDefaultOTName: ; 17d187 - ld hl, Mobile5F_KrissName - ld de, $c63d - ld bc, 5 - call CopyBytes - ret -; 17d194 - -Mobile5F_KrissName: - db "クりス@@" -; 17d198 - -Mobile_CopyDefaultNickname: ; 17d199 - ld hl, .DefaultNickname - ld de, $c642 - ld bc, 5 - call CopyBytes - ret -; 17d1a6 - -.DefaultNickname: - db "?????" - -Mobile_CopyDefaultMail: ; 17d1ab - ld a, "@" - ld hl, $c647 - ld bc, MAIL_MSG_LENGTH + 1 - call ByteFill - ld hl, .DefaultMessage - ld de, $c647 - ld bc, 6 - call CopyBytes - ret -; 17d1c3 - -.DefaultMessage: - db "こんにちは@" -; 17d1c9 - -Mobile_CopyDefaultMailAuthor: ; 17d1c9 - ld a, "@" - ld de, $c668 - ld bc, 5 - call ByteFill - ld hl, Mobile5F_KrissName - ld de, $c668 - ld bc, 5 - call CopyBytes - ret -; 17d1e1 - -CheckStringContainsLessThanBNextCharacters: ; 17d1e1 -.loop - ld a, [de] - inc de - cp "" - jr nz, .next_char - dec b - jr z, .done - -.next_char - dec c - jr nz, .loop - and a - ret - -.done - scf - ret -; 17d1f1 - -Function17d1f1: ; 17d1f1 - ld a, [CurPartySpecies] - dec a - call SetSeenAndCaughtMon - - ld a, [CurPartySpecies] - cp UNOWN - jr nz, .asm_17d223 - - ld hl, PartyMon1DVs - ld a, [PartyCount] - dec a - ld bc, PARTYMON_STRUCT_LENGTH - call AddNTimes - predef GetUnownLetter - callab UpdateUnownDex - ld a, [wFirstUnownSeen] - and a - jr nz, .asm_17d223 - - ld a, [UnownLetter] - ld [wFirstUnownSeen], a - -.asm_17d223 - ret -; 17d224 - - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; Parameter: [ScriptVar] = 0..1 -; -; if [ScriptVar] == 0 -; Show japanese menu options -; - News - News - ??? - Cancel -; if [ScriptVar] == 1 -; Show BattleTower-Menu with 3 options in english language -; - Challenge - Explanation - Cancel -Special_Menu_ChallengeExplanationCancel: ; 17d224 - ld a, [ScriptVar] - and a - jr nz, .English - ld a, $4 - ld [ScriptVar], a - ld hl, MenuDataHeader_17d26a ; Japanese Menu, where you can choose 'News' as an option - jr .Load_Interpret - -.English: - ld a, $4 - ld [ScriptVar], a - ld hl, MenuDataHeader_ChallengeExplanationCancel ; English Menu - -.Load_Interpret: - call LoadMenuDataHeader - call Function17d246 - call CloseWindow - ret -; 17d246 - -Function17d246: ; 17d246 - call VerticalMenu - jr c, .Exit - ld a, [ScriptVar] - cp $5 - jr nz, .UsewMenuCursorY - ld a, [wMenuCursorY] - cp $3 - ret z - jr c, .UsewMenuCursorY - dec a - jr .LoadToScriptVar - -.UsewMenuCursorY: - ld a, [wMenuCursorY] - -.LoadToScriptVar: - ld [ScriptVar], a - ret - -.Exit: - ld a, $4 - ld [ScriptVar], a - ret -; 17d26a - -MenuDataHeader_17d26a: ; 17d26a - db $40 ; flags - db 0, 0 ; start coords - db 9, 14 ; end coords - dw MenuData2_17d272 - db 1 ; default option - -MenuData2_17d272: ; 17d272 - db $a0 ; flags - db 4 - db "ニュース¯よみこむ@" - db "ニュース¯みる@" - db "せつめい@" - db "やめる@" -; 17d28f - -MenuDataHeader_ChallengeExplanationCancel: ; 17d28f - db $40 ; flags - db 0, 0 ; start coords - db 7, 14 ; end coords - dw MenuData2_ChallengeExplanationCancel - db 1 ; default option - -MenuData2_ChallengeExplanationCancel: ; 17d297 - db $a0 ; flags - db 3 - db "Challenge@" - db "Explanation@" - db "Cancel@" -; 17d2b6 - -Function17d2b6: ; 17d2b6 - call Function17d2c0 - callba Function1181da - ret -; 17d2c0 - -Function17d2c0: ; 17d2c0 - xor a - ld [wJumptableIndex], a - ld [wcf64], a - ld [wcf65], a - ld [wcf66], a - ret -; 17d2ce - -Function17d2ce: ; 17d2ce - ld a, $5 - call GetSRAMBank - ld a, [$aa72] - call CloseSRAM - and a - jr nz, .asm_17d2e2 - ld a, $1 - ld [ScriptVar], a - ret - -.asm_17d2e2 - call Function17d314 - ret c - call SpeechTextBox - call FadeToMenu - ld a, [rSVBK] - push af - ld a, $4 - ld [rSVBK], a - call Function17d370 - call Function17d45a - pop af - ld [rSVBK], a - ld de, MUSIC_MOBILE_CENTER - ld a, e - ld [wMapMusic], a - ld [MusicFadeID], a - ld a, d - ld [MusicFadeID + 1], a - call PlayMusic - call ReturnToMapFromSubmenu - call CloseSubmenu - ret -; 17d314 - -Function17d314: ; 17d314 - ld a, $5 - call GetSRAMBank - ld a, [$b1b1] - call CloseSRAM - cp $21 - jr nc, .asm_17d354 - ld a, $6 - call GetSRAMBank - ld l, $0 - ld h, l - ld de, $a006 - ld a, [$a004] - ld c, a - ld a, [$a005] - ld b, a -.asm_17d336 - push bc - ld a, [de] - inc de - ld c, a - ld b, $0 - add hl, bc - pop bc - dec bc - ld a, b - or c - jr nz, .asm_17d336 - ld a, [$a002] - cp l - jr nz, .asm_17d354 - ld a, [$a003] - cp h - jr nz, .asm_17d354 - call CloseSRAM - and a - ret - -.asm_17d354 - call CloseSRAM - ld a, $5 - call GetSRAMBank - xor a - ld hl, $aa73 - ld bc, $c - call ByteFill - call CloseSRAM - ld a, $2 - ld [ScriptVar], a - scf - ret -; 17d370 - -Function17d370: ; 17d370 - xor a - ld [wcd77], a - ld [wcd78], a - ld [wcd79], a - dec a - ld [wcd6c], a - call ClearBGPalettes - call ClearSprites - call ClearScreen - callba ReloadMapPart - call DisableLCD - ld hl, VTiles1 tile $6e - ld de, $c608 - ld bc, 1 tiles - call CopyBytes - ld a, $1 - ld [rVBK], a - ld hl, PokemonNewsGFX - ld de, VTiles1 - ld bc, $48 tiles - call CopyBytes - xor a - ld hl, VTiles2 tile $7f - ld bc, 1 tiles - call ByteFill - ld hl, $c608 - ld de, VTiles1 tile $6e - ld bc, 1 tiles - call CopyBytes - xor a - ld [rVBK], a - ld hl, GFX_17eb7e - ld de, VTiles2 tile $60 - ld bc, 1 tiles - call CopyBytes - call EnableLCD - call Function17d60b - ld a, $0 - ld [BGMapBuffer], a - ld a, $d0 - ld [wcd21], a - ld a, $6 - call GetSRAMBank - ld hl, $a006 - ld de, UnknBGPals - ld bc, $1000 - call CopyBytes - call CloseSRAM - ret -; 17d3f6 - -Function17d3f6: ; 17d3f6 - call ClearBGPalettes - call ClearSprites - call ClearScreen - callba ReloadMapPart - -Function17d405: - call DisableLCD - ld hl, VTiles1 tile $6e - ld de, $c608 - ld bc, 1 tiles - call CopyBytes - ld a, $1 - ld [rVBK], a - ld hl, PokemonNewsGFX - ld de, VTiles1 - ld bc, $48 tiles - call CopyBytes - xor a - ld hl, VTiles2 tile $7f - ld bc, 1 tiles - call ByteFill - ld hl, $c608 - ld de, VTiles1 tile $6e - ld bc, 1 tiles - call CopyBytes - xor a - ld [rVBK], a - call EnableLCD - ld a, [rSVBK] - push af - ld a, $5 - ld [rSVBK], a - ld hl, Palette_17eff6 - ld de, UnknBGPals - ld bc, 8 palettes - call CopyBytes - call SetPalettes - pop af - ld [rSVBK], a - ret -; 17d45a - -Function17d45a: ; 17d45a -.asm_17d45a - call JoyTextDelay - ld a, [wcd77] - bit 7, a - jr nz, .asm_17d46f - call Function17d474 - callba ReloadMapPart - jr .asm_17d45a - -.asm_17d46f - xor a - ld [ScriptVar], a - ret -; 17d474 - -Function17d474: ; 17d474 - jumptable Jumptable_17d483, wcd77 -; 17d483 - -Jumptable_17d483: ; 17d483 - dw Function17d48d - dw Function17d5be - dw Function17d5c4 - dw Function17d6fd - dw Function17e427 -; 17d48d - -Function17d48d: ; 17d48d - ld hl, Palette_17eff6 - ld de, $c608 - ld bc, $40 - call CopyBytes - ld hl, TileAttrmap_17eb8e - decoord 0, 0 - bccoord 0, 0, AttrMap - ld a, $12 -.asm_17d4a4 - push af - ld a, $14 - push hl -.asm_17d4a8 - push af - ld a, [hli] - cp $7f - jr z, .asm_17d4b0 - add $80 - -.asm_17d4b0 - ld [de], a - inc de - ld a, [hli] - ld [bc], a - inc bc - pop af - dec a - jr nz, .asm_17d4a8 - pop hl - push bc - ld bc, $40 - add hl, bc - pop bc - pop af - dec a - jr nz, .asm_17d4a4 - ld a, [BGMapBuffer] - ld l, a - ld a, [wcd21] - ld h, a - ld a, [hli] - ld e, a - ld a, [wcd6c] - cp e - jr z, .asm_17d4e0 - ld a, e - ld [wcd6c], a - ld [wMapMusic], a - ld d, $0 - call PlayMusic2 - -.asm_17d4e0 - ld a, [hli] - ld de, $c608 - ld c, $8 -.asm_17d4e6 - srl a - jr nc, .asm_17d4f6 - ld b, $8 - push af -.asm_17d4ed - ld a, [hli] - ld [de], a - inc de - dec b - jr nz, .asm_17d4ed - pop af - jr .asm_17d4fc - -.asm_17d4f6 - push af - ld a, e - add $8 - ld e, a - pop af - -.asm_17d4fc - dec c - jr nz, .asm_17d4e6 - push hl - call Function17d5f6 - pop hl - ld a, [hli] - and a - jr z, .asm_17d539 -.asm_17d508 - push af - ld a, [hli] - ld [wcd4f], a - ld a, [hli] - ld [wcd50], a - ld a, [hli] - ld [wcd51], a - ld a, [hli] - ld [wcd52], a - ld a, [hli] - sla a - sla a - sla a - add $98 - ld [wcd53], a - ld de, wcd4f - call Function17e613 - ld a, [hli] - ld [wcd53], a - ld de, wcd4f - call Function17e691 - pop af - dec a - jr nz, .asm_17d508 - -.asm_17d539 - ld a, [hli] -.asm_17d53a - push af - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - push hl - pop de - hlcoord 0, 0 - add hl, bc - call PlaceString - push de - pop hl - inc hl - pop af - dec a - jr nz, .asm_17d53a - ld de, CreditsTimer - ld bc, $c - call CopyBytes - xor a - ld [wcd2e], a - ld [wcd2f], a - inc a - ld [wcd30], a - ld [wcd31], a - ld de, wcd32 - ld bc, $10 - call CopyBytes - ld a, [hli] - ld [wcd42], a - ld a, [hli] - ld [wcd43], a - ld a, [hli] - ld [wMobileInactivityTimerMinutes], a - ld a, [hli] - ld [wMobileInactivityTimerSeconds], a - ld a, [hli] - ld [wMobileInactivityTimerFrames], a - ld a, [hli] - and a - jr z, .asm_17d58a - call Function17d6a1 - -.asm_17d58a - ld a, l - ld [wcd49], a - ld a, h - ld [wcd4a], a - ld a, [wcd42] - ld c, a - ld b, $0 - add hl, bc - add hl, bc - ld a, l - ld [wcd4b], a - ld a, h - ld [wcd4c], a - add hl, bc - add hl, bc - ld a, l - ld [wcd4d], a - ld a, h - ld [wcd4e], a - call Function17e451 - call Function17e55b - call Function17e5af - callba ReloadMapPart - jp Function17e438 -; 17d5be - -Function17d5be: ; 17d5be - call SetPalettes - call Function17e438 - -Function17d5c4: - ld a, [hJoyPressed] - and a - ret z - ld c, 0 - ld b, c - ld hl, wcd32 -.loop - srl a - jr c, .got_button - inc c - inc c - jr .loop - -.got_button - add hl, bc - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - and c - cp $ff - ret z - ld a, [wcd20] - ld l, a - ld a, [wcd21] - ld h, a - add hl, bc - ld a, l - ld [wcd78], a - ld a, h - ld [wcd79], a - ld a, $3 - ld [wcd77], a - ret -; 17d5f6 - -Function17d5f6: ; 17d5f6 - ld a, $5 - ld [rSVBK], a - ld hl, $c608 - ld de, UnknBGPals - ld bc, 8 palettes - call CopyBytes - ld a, $4 - ld [rSVBK], a - ret -; 17d60b - -Function17d60b: ; 17d60b - ld a, $5 - call GetSRAMBank - ld hl, $b1d3 - ld de, $c608 - ld bc, $20 - call CopyBytes - ld a, [$b1b1] - ld c, a - ld a, [$b1b2] - ld b, a - ld a, [$b1b3] - ld l, a - ld a, [$b1b4] - ld h, a - call CloseSRAM - ld a, $6 - call GetSRAMBank - ld de, $c708 - ld a, c - and a - jr z, .asm_17d684 -.asm_17d63b - push bc - ld a, l - ld [de], a - inc de - ld a, h - ld [de], a - inc de - ld bc, $a - add hl, bc - pop bc - ld a, [hli] - ld [wcd4a], a - ld a, [hli] - ld [wcd49], a - push hl - push de - ld hl, $c608 - ld e, b - ld d, $0 - add hl, de - ld a, [hli] - ld [wcd4b], a - ld a, [hl] - ld [wcd4c], a - pop de - pop hl - inc b - inc b - dec c - dec c - jr z, .asm_17d684 - push bc - push de - ld a, [wcd49] - ld c, a - ld a, [wcd4a] - ld b, a - ld a, [wcd4b] - ld e, a - ld a, [wcd4c] - ld d, a -.asm_17d67a - add hl, de - dec bc - ld a, c - or b - jr nz, .asm_17d67a - pop de - pop bc - jr .asm_17d63b - -.asm_17d684 - call CloseSRAM - ld a, $5 - call GetSRAMBank - ld hl, $c708 - ld de, $b1b3 - ld a, [$b1b1] - ld c, a - ld a, [$b1b2] - ld b, a - call CopyBytes - call CloseSRAM - ret -; 17d6a1 - - -Function17d6a1: ; 17d6a1 - push hl - ld a, [wcd6e] - ld c, a - ld b, $0 - ld a, $5 - call GetSRAMBank - ld hl, $b1d3 - add hl, bc - add hl, bc - ld a, [hli] - ld [wcd47], a - ld a, [hl] - ld [BGMapPalBuffer], a - ld hl, $b1b3 - add hl, bc - add hl, bc - ld a, [hli] - ld c, a - ld a, [hl] - ld h, a - ld l, c - call CloseSRAM - ld a, $6 - call GetSRAMBank - ld a, l - ld [wcd5e], a - ld a, h - ld [wcd5f], a - ld de, wcd60 - ld bc, $4 - call CopyBytes - inc hl - inc hl - ld de, wcd64 - ld bc, $4 - call CopyBytes - ld a, [hli] - ld [wcd69], a - ld a, [hli] - ld [wcd68], a - ld a, l - ld [wcd6a], a - ld a, h - ld [wcd6b], a - call CloseSRAM - pop hl - ret -; 17d6fd - -Function17d6fd: ; 17d6fd - ld a, [wcd77] - bit 7, a - jr nz, asm_17d721 - ld a, [wcd78] - ld l, a - ld a, [wcd79] - ld h, a - ld a, [hl] - cp $ff - jr z, asm_17d721 - -Function17d711: -.crash_loop - cp $31 - jr nc, .crash_loop - ld e, a - ld d, 0 - ld hl, Jumptable17d72a - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp hl - -asm_17d721 - call Function17e5af - ld a, $2 - ld [wcd77], a - ret -; 17d72a - -Jumptable17d72a: ; 17d72a - dw Function17d78c - dw Function17d78d - dw Function17d7b4 - dw Function17d7c2 - dw Function17d7d3 - dw Function17d7e5 - dw Function17d818 - dw Function17d833 - dw Function17d85d - dw Function17d902 - dw Function17d93a - dw Function17d98b - dw Function17d9e3 - dw Function17da31 - dw Function17da9c - dw Function17dadc - dw Function17db2d - dw Function17db56 - dw Function17db77 - dw Function17dbe9 - dw Function17dc1f - dw Function17dc9f - dw Function17dca9 - dw Function17dccf - dw Function17dd13 - dw Function17dd30 - dw Function17dd49 - dw Function17ddcd - dw Function17de32 - dw Function17de91 - dw Function17ded9 - dw Function17e0fd - dw Function17e133 - dw Function17e165 - dw Function17e1a1 - dw Function17e254 - dw Function17e261 - dw Function17e270 - dw Function17e27f - dw Function17e293 - dw Function17e2a7 - dw Function17e367 - dw Function17e37e - dw Function17e395 - dw Function17e3ac - dw Function17e3c3 - dw Function17e3e0 - dw Function17e3f0 - dw Function17e409 -; 17d78c - -Function17d78c: ; 17d78c - ret -; 17d78d - -Function17d78d: ; 17d78d - call Function17e415 - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - call Function17e41e - ld a, $6 - call GetSRAMBank - ld hl, $a006 - add hl, bc - ld de, UnknBGPals - ld bc, $1000 - call CopyBytes - call CloseSRAM - xor a - ld [wcd77], a - call ClearBGPalettes - ret -; 17d7b4 - -Function17d7b4: ; 17d7b4 - call Function17e415 - ld a, [hli] - ld e, a - ld d, $0 - call PlayMusic2 - call Function17e41e - ret -; 17d7c2 - -Function17d7c2: ; 17d7c2 - call Function17e415 - ld a, [hli] - ld e, a - ld d, $0 - call PlaySFX - call WaitSFX - call Function17e41e - ret -; 17d7d3 - -Function17d7d3: ; 17d7d3 - call Function17e415 - ld a, [hli] - dec a - ld e, a - ld d, $0 - call PlayCryHeader - call WaitSFX - call Function17e41e - ret -; 17d7e5 - -Function17d7e5: ; 17d7e5 - call Function17e415 - ld a, [hli] - ld [wcd4f], a - ld a, [hli] - ld [wcd50], a - ld a, [hli] - ld [wcd51], a - ld a, [hli] - ld [wcd52], a - ld a, [hli] - sla a - sla a - sla a - add $98 - ld [wcd53], a - ld de, wcd4f - call Function17e613 - ld a, [hli] - ld [wcd53], a - ld de, wcd4f - call Function17e691 - call Function17e41e - ret -; 17d818 - -Function17d818: ; 17d818 - call Function17e415 - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - call Function17e41e - call Function17e447 - ld e, l - ld d, h - hlcoord 0, 0 - add hl, bc - call PlaceString - ret -; 17d833 - -Function17d833: ; 17d833 - call Function17e415 - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - call Function17e41e - push de - push bc - call Function17e32b - pop bc - pop de - call Function17e43d - ld c, l - ld b, h - hlcoord 0, 0 - add hl, de - ld e, l - ld d, h - callba Function11c08f - call Function17e349 - ret -; 17d85d - -Function17d85d: ; 17d85d - call Function17e415 - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - push hl - ld hl, UnknBGPals - add hl, de - ld de, wcc60 -.asm_17d86c - ld a, [hli] - ld [de], a - inc de - and a - jr nz, .asm_17d86c - pop hl - ld de, $c608 - ld c, $0 -.asm_17d878 - ld a, [hli] - cp $ff - jr z, .asm_17d8c7 - ld [wcd4f], a - ld a, [hli] - ld [wcd50], a - ld a, [hli] - ld [wcd51], a - ld a, [hli] - ld [wcd52], a - ld a, [wcd51] - push af - cp $c0 - jr c, .asm_17d89b - ld a, [wcd4f] - ld [rSVBK], a - jr .asm_17d8a1 - -.asm_17d89b - ld a, [wcd4f] - call GetSRAMBank - -.asm_17d8a1 - push hl - ld a, [wcd50] - ld l, a - ld a, [wcd51] - ld h, a - ld a, [wcd52] -.asm_17d8ad - push af - ld a, [hli] - ld [de], a - inc de - inc c - pop af - dec a - jr nz, .asm_17d8ad - pop hl - pop af - cp $c0 - jr c, .asm_17d8c2 - ld a, $4 - ld [rSVBK], a - jr .asm_17d878 - -.asm_17d8c2 - call CloseSRAM - jr .asm_17d878 - -.asm_17d8c7 - call Function17e41e - push bc - ld a, $3 - ld [rSVBK], a - ld hl, $c608 - ld de, UnknBGPals - ld b, $0 - call CopyBytes - ld a, $4 - ld [rSVBK], a - call Function17e32b - pop bc - ld a, c - ld [wcd3b], a - xor a - ld [wcf66], a - callba Function118329 - ld a, [wc300] - and a - jr z, .asm_17d8fe - cp $a - jr z, .asm_17d8fe - call Function17e309 - ret - -.asm_17d8fe - call Function17e349 - ret -; 17d902 - -Function17d902: ; 17d902 - call Function17e415 - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - push de - call Function17e41e - call Function17e32b - pop de - ld hl, UnknBGPals - add hl, de - ld de, wcc60 -.asm_17d918 - ld a, [hli] - ld [de], a - inc de - and a - jr nz, .asm_17d918 - xor a - ld [wcf66], a - callba Function11837a - ld a, [wc300] - and a - jr z, .asm_17d936 - cp $a - jr z, .asm_17d936 - call Function17e309 - ret - -.asm_17d936 - call Function17e349 - ret -; 17d93a - -Function17d93a: ; 17d93a - call Function17e415 - ld de, $c708 - ld bc, $5 - call CopyBytes - call Function17e41e - call Function17e32b - ld a, [rSVBK] - push af - ld a, $1 - ld [rSVBK], a - ld a, [$c70c] - call Function17e6de - ld a, [$c70a] - ld [CurPartySpecies], a - ld a, [$c70c] - ld e, a - callba LoadMonPaletteAsNthBGPal - call SetPalettes - ld a, [$c708] - ld l, a - ld a, [$c709] - ld h, a - ld a, [$c70b] - ld c, a - decoord 0, 0 - add hl, de - ld e, l - ld d, h - callba HOF_AnimateFrontpic - pop af - ld [rSVBK], a - call Function17e349 - ret -; 17d98b - -Function17d98b: ; 17d98b - call Function17e415 - ld de, $c708 - ld bc, $4 - call CopyBytes - call Function17e41e - call Function17e32b - ld a, [rSVBK] - push af - ld a, $1 - ld [rSVBK], a - ld a, [$c70b] - call Function17e6de - ld a, [$c70a] - ld [TrainerClass], a - ld a, [$c70b] - ld e, a - callba LoadTrainerClassPaletteAsNthBGPal - call SetPalettes - ld a, [$c708] - ld e, a - ld a, [$c709] - ld d, a - push de - ld de, VTiles2 - callba GetTrainerPic - pop hl - decoord 0, 0 - add hl, de - ld bc, $707 - predef PlaceGraphic - pop af - ld [rSVBK], a - call Function17e349 - ret -; 17d9e3 - -Function17d9e3: ; 17d9e3 - call Function17e415 - ld de, $c708 - ld bc, $7 - call CopyBytes - call Function17e41e - ld a, [$c70b] - push af - cp $c0 - jr c, .asm_17da01 - ld a, [$c70c] - ld [rSVBK], a - jr .asm_17da07 - -.asm_17da01 - ld a, [$c70c] - call GetSRAMBank - -.asm_17da07 - ld a, [$c708] - ld l, a - ld a, [$c709] - ld h, a - ld a, [$c70a] - ld e, a - ld a, [$c70b] - ld d, a - ld a, [$c70d] - ld c, a - ld a, [$c70e] - ld b, a - call CopyBytes - pop af - cp $c0 - jr c, .asm_17da2d - ld a, $4 - ld [rSVBK], a - jr .asm_17da30 - -.asm_17da2d - call CloseSRAM - -.asm_17da30 - ret -; 17da31 - -Function17da31: ; 17da31 - call Function17e415 - ld de, $c708 - ld bc, $4 - call CopyBytes - call Function17e41e - ld a, [$c709] - push af - cp $c0 - jr c, .asm_17da4f - ld a, [$c70a] - ld [rSVBK], a - jr .asm_17da55 - -.asm_17da4f - ld a, [$c70a] - call GetSRAMBank - -.asm_17da55 - ld a, [$c708] - ld e, a - ld a, [$c709] - ld d, a - ld a, [$c70b] - ld c, a - bit 7, c - jr nz, .asm_17da70 - ld hl, Unknown_17da8c - ld b, $0 - add hl, bc - ld a, [de] - or [hl] - ld [de], a - jr .asm_17da7d - -.asm_17da70 - ld hl, Unknown_17da94 - ld a, c - and $7f - ld c, a - ld b, $0 - add hl, bc - ld a, [de] - and [hl] - ld [de], a - -.asm_17da7d - pop af - cp $c0 - jr c, .asm_17da88 - ld a, $4 - ld [rSVBK], a - jr .asm_17da8b - -.asm_17da88 - call CloseSRAM - -.asm_17da8b - ret -; 17da8c - -Unknown_17da8c: -x = 0 - rept 8 - db 1 << x -x = x + 1 - endr - -Unknown_17da94: -x = 0 - rept 8 - db (1 << x) ^ $ff -x = x + 1 - endr -; 17da9c - -Function17da9c: ; 17da9c - ld a, [wcd31] - dec a - jr z, .asm_17dabd - push af - call Function17e566 - pop af - ld [wcd31], a - ld hl, wcd24 - ld a, [wcd2e] - sub [hl] - ld [wcd2e], a - call Function17e55b - call Function17e5af -.asm_17daba - jp Function17e415 - -.asm_17dabd - ld a, [wcd2f] - and a - jr z, .asm_17daba - ld hl, wcd24 - sub [hl] - ld [wcd2f], a - ld a, [wcd2e] - sub [hl] - ld [wcd2e], a - call Function17e451 - call Function17e55b - call Function17e5af - jr .asm_17daba -; 17dadc - -Function17dadc: ; 17dadc - ld a, [wcd2e] - ld hl, wcd24 - add [hl] - ld hl, wcd42 - cp [hl] - jr z, .asm_17db0e - jr nc, .asm_17db0e - ld hl, wcd31 - ld a, [wcd2b] - cp [hl] - jr z, .asm_17db11 - call Function17e566 - ld a, [wcd31] - inc a - ld [wcd31], a - ld hl, wcd24 - ld a, [wcd2e] - add [hl] - ld [wcd2e], a - call Function17e55b - call Function17e5af - -.asm_17db0e - jp Function17e415 - -.asm_17db11 - ld hl, wcd24 - ld a, [wcd2f] - add [hl] - ld [wcd2f], a - ld a, [wcd2e] - add [hl] - ld [wcd2e], a - call Function17e451 - call Function17e55b - call Function17e5af - jr .asm_17db0e -; 17db2d - -Function17db2d: ; 17db2d - ld a, [wcd30] - ld hl, wcd24 - cp [hl] - jr z, .asm_17db53 - ld hl, wcd42 - ld a, [wcd2e] - inc a - cp [hl] - jr z, .asm_17db53 - ld [wcd2e], a - call Function17e566 - ld a, [wcd30] - inc a - ld [wcd30], a - call Function17e55b - call Function17e5af - -.asm_17db53 - jp Function17e415 -; 17db56 - -Function17db56: ; 17db56 - ld a, [wcd30] - cp $1 - jr z, .asm_17db74 - call Function17e566 - ld a, [wcd30] - dec a - ld [wcd30], a - ld a, [wcd2e] - dec a - ld [wcd2e], a - call Function17e55b - call Function17e5af - -.asm_17db74 - jp Function17e415 -; 17db77 - -Function17db77: ; 17db77 - ld hl, wcd2d - ld a, [wcd2f] - add [hl] - ld hl, wcd42 - cp [hl] - jr z, .asm_17dbae - jr nc, .asm_17dbae - call Function17e566 - ld hl, wcd2d - ld a, [wcd2f] - add [hl] - ld [wcd2f], a - ld a, [wcd2e] - add [hl] - ld hl, wcd42 - cp [hl] - jr c, .asm_17db9f - ld a, [hl] - dec a - -.asm_17db9f - ld [wcd2e], a - call Function17dbb1 - call Function17e451 - call Function17e55b - call Function17e5af - -.asm_17dbae - jp Function17e415 -; 17dbb1 - -Function17dbb1: ; 17dbb1 - ld hl, wcd2f - ld a, [wcd42] - sub [hl] - ld hl, wcd2d - cp [hl] - ret nc - ld a, $1 - ld [wcd30], a - ld [wcd31], a - ld a, [wcd24] - ld c, a - ld a, [wcd24] - ld b, a - ld a, [wcd2e] - ld hl, wcd2f - sub [hl] -.asm_17dbd4 - and a - ret z - push af - ld hl, wcd30 - ld a, b - cp [hl] - jr nz, .asm_17dbe4 - ld a, $1 - ld [hl], a - ld hl, wcd31 - -.asm_17dbe4 - inc [hl] - pop af - dec a - jr .asm_17dbd4 -; 17dbe9 - -Function17dbe9: ; 17dbe9 - ld hl, wcd2d - ld a, [wcd2f] - sub [hl] - bit 7, a - jr z, .asm_17dbf5 - xor a - -.asm_17dbf5 - ld [wcd2f], a - ld a, [wcd30] - dec a - ld c, a - ld a, [wcd31] - ld b, a - xor a - ld hl, wcd24 -.asm_17dc05 - dec b - jr z, .asm_17dc0b - add [hl] - jr .asm_17dc05 - -.asm_17dc0b - add c - ld hl, wcd2f - add [hl] - ld [wcd2e], a - call Function17e451 - call Function17e55b - call Function17e5af - jp Function17e415 -; 17dc1f - -Function17dc1f: ; 17dc1f - call Function17e415 - ld de, $c688 - ld bc, $6 - call CopyBytes - call Function17e32b - ld a, [rSVBK] - push af - ld a, $1 - ld [rSVBK], a - ld hl, $c688 - ld a, $40 - ld [$c708], a - ld a, [hli] - ld [$c70a], a - add $5 - ld [$c70c], a - ld a, [hli] - ld [$c709], a - add $4 - ld [$c70b], a - ld a, $96 - ld [$c70d], a - ld a, $5c - ld [$c70e], a - ld a, $1 - ld [$c70f], a - ld hl, $c708 - call LoadMenuDataHeader - call VerticalMenu - jr nc, .asm_17dc6e - ld a, $2 - ld [wMenuCursorY], a - -.asm_17dc6e - call CloseWindow - pop af - ld [rSVBK], a - ld a, [wMenuCursorY] - cp $1 - jr nz, .asm_17dc85 - ld a, [$c68a] - ld l, a - ld a, [$c68a + 1] - ld h, a - jr .asm_17dc8d - -.asm_17dc85 - ld a, [$c68a + 2] - ld l, a - ld a, [$c68a + 3] - ld h, a - -.asm_17dc8d - push hl - call Function17e349 - pop hl - call Function17e40f - ret -; 17dc96 - -MenuData2_17dc96: - db $e0 ; flags - db 2 - db "はい@" - db "いいえ@" -; 17dc9f - -Function17dc9f: ; 17dc9f - call Function17e415 - call Function17e41e - call RotateFourPalettesLeft - ret -; 17dca9 - -Function17dca9: ; 17dca9 - call Function17e415 - call Function17e41e - -Function17dcaf: - ld a, $5 - ld [rSVBK], a - ld hl, UnknBGPals - ld de, $8 - ld c, $8 -.asm_17dcbb - push hl - ld a, $ff - ld [hli], a - ld a, $7f - ld [hl], a - pop hl - add hl, de - dec c - jr nz, .asm_17dcbb - call RotateThreePalettesRight - ld a, $4 - ld [rSVBK], a - ret -; 17dccf - -Function17dccf: ; 17dccf - call Function17e415 - push hl - ld a, [wcd4b] - ld l, a - ld a, [wcd4c] - ld h, a - ld a, [wcd2e] - ld c, a - ld b, $0 - add hl, bc - add hl, bc - ld a, [hli] - ld c, a - ld a, [hl] - ld b, a - call Function17e43d - call Function17e41e -.asm_17dced - ld a, [wcd78] - ld l, a - ld a, [wcd79] - ld h, a - ld a, [hl] - cp $ff - jr z, .asm_17dd0d -.crash_loop - cp $31 - jr nc, .crash_loop - call Function17d711 - ld a, [wcd77] - bit 7, a - jr nz, .asm_17dd0d - and a - jr z, .asm_17dd11 - jr .asm_17dced - -.asm_17dd0d - pop hl - jp Function17e41e - -.asm_17dd11 - pop hl - ret -; 17dd13 - -Function17dd13: ; 17dd13 - call Function17e415 - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - call Function17e41e - call Function17e447 - push hl - hlcoord 0, 0 - add hl, bc - push hl - pop bc - pop hl - call PlaceHLTextAtBC - ret -; 17dd30 - -Function17dd30: ; 17dd30 - call Function17e415 - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [hli] - ld c, a - ld b, $0 - ld a, [hli] - push af - call Function17e41e - pop af - hlcoord 0, 0 - add hl, de - call Function17e600 - ret -; 17dd49 - -Function17dd49: ; 17dd49 - call Function17e415 - ld de, $c708 - ld bc, $a - call CopyBytes - ld a, [$c711] - ld c, a - ld b, $0 - call CopyBytes - ld a, [$c70a] - cp $c0 - jr c, .sram - ld a, [$c708] - ld [rSVBK], a - jr .got_bank - -.sram - ld a, [$c708] - call GetSRAMBank - -.got_bank - ld a, [$c709] - ld l, a - ld a, [$c70a] - ld h, a - ld de, $c688 - ld a, [$c711] - ld c, a - ld b, $0 - call CopyBytes - ld a, [$c70a] - cp $c0 - jr c, .close_sram - ld a, $4 - ld [rSVBK], a - jr .exited_bank - -.close_sram - call CloseSRAM - -.exited_bank - ld a, [$c711] - ld c, a - ld hl, $c712 - ld de, $c688 -.loop - ld a, [de] - inc de - cp [hl] - inc hl - jr z, .next - jr c, .load - jr .load2 - -.next - dec c - jr nz, .loop - ld a, [$c70d] - ld l, a - ld a, [$c70e] - ld h, a - jr .done - -.load2 - ld a, [$c70f] - ld l, a - ld a, [$c710] - ld h, a - jr .done - -.load - ld a, [$c70b] - ld l, a - ld a, [$c70c] - ld h, a - -.done - call Function17e40f - ret -; 17ddcd - -Function17ddcd: ; 17ddcd - call Function17e415 - ld de, $c708 - ld bc, $8 - call CopyBytes - ld a, [$c70a] - cp $c0 - jr c, .asm_17dde7 - ld a, [$c708] - ld [rSVBK], a - jr .asm_17dded - -.asm_17dde7 - ld a, [$c708] - call GetSRAMBank - -.asm_17dded - ld a, [$c709] - ld e, a - ld a, [$c70a] - ld d, a - ld a, [de] - ld [$c710], a - ld a, [$c70b] - ld c, a - ld b, $0 - ld a, [$c70a] - cp $c0 - jr c, .asm_17de0c - ld a, $4 - ld [rSVBK], a - jr .asm_17de0f - -.asm_17de0c - call CloseSRAM - -.asm_17de0f - push hl - ld hl, Unknown_17da8c - add hl, bc - ld a, [hl] - ld hl, $c710 - and [hl] - pop hl - jr nz, .asm_17de26 - ld a, [$c70e] - ld l, a - ld a, [$c70f] - ld h, a - jr .asm_17de2e - -.asm_17de26 - ld a, [$c70c] - ld l, a - ld a, [$c70d] - ld h, a - -.asm_17de2e - call Function17e40f - ret -; 17de32 - -Function17de32: ; 17de32 - call Function17e415 - ld de, $c708 - ld bc, $9 - call CopyBytes - ld a, [$c710] - ld c, a - ld b, $0 - call CopyBytes - ld a, $6 - call GetSRAMBank - call Function17f4f6 - ld a, [$c708] - ld e, a - ld a, [$c709] - ld d, a - add hl, de - ld e, l - ld d, h - ld a, [$c710] - ld c, a - ld hl, $c711 -.asm_17de61 - ld a, [de] - inc de - cp [hl] - inc hl - jr z, .asm_17de6b - jr c, .asm_17de82 - jr .asm_17de78 - -.asm_17de6b - dec c - jr nz, .asm_17de61 - ld a, [$c70c] - ld l, a - ld a, [$c70d] - ld h, a - jr .asm_17de8a - -.asm_17de78 - ld a, [$c70e] - ld l, a - ld a, [$c70f] - ld h, a - jr .asm_17de8a - -.asm_17de82 - ld a, [$c70a] - ld l, a - ld a, [$c70b] - ld h, a - -.asm_17de8a - call CloseSRAM - call Function17e40f - ret -; 17de91 - -Function17de91: ; 17de91 - call Function17e415 - ld de, $c708 - ld bc, $7 - call CopyBytes - ld a, $6 - call GetSRAMBank - call Function17f4f6 - ld a, [$c708] - ld e, a - ld a, [$c709] - ld d, a - add hl, de - ld e, l - ld d, h - ld a, [$c70a] - ld c, a - ld b, $0 - ld hl, Unknown_17da8c - add hl, bc - ld a, [hl] - ld l, e - ld h, d - and [hl] - jr nz, .asm_17deca - ld a, [$c70d] - ld l, a - ld a, [$c70e] - ld h, a - jr .asm_17ded2 - -.asm_17deca - ld a, [$c70b] - ld l, a - ld a, [$c70c] - ld h, a - -.asm_17ded2 - call CloseSRAM - call Function17e40f - ret -; 17ded9 - -Function17ded9: ; 17ded9 - call Function17e415 - ld de, $c708 - ld bc, $1f - call CopyBytes - call Function17e32b - ld a, [rSVBK] - push af - ld a, $1 - ld [rSVBK], a - ld hl, $c708 - ld a, [hli] - ld [CurPartySpecies], a - ld [TempEnemyMonSpecies], a - ld a, [hli] - ld [CurPartyLevel], a - ld a, [hli] - ld b, a - ld a, [PartyCount] - cp $6 - jp nc, Function17e026 - xor a - ld [MonType], a - push hl - push bc - predef TryAddMonToParty - callba SetCaughtData - pop bc - pop hl - bit 1, b - jr z, .asm_17df33 - push bc - push hl - ld a, [PartyCount] - dec a - ld hl, PartyMonNicknames - call SkipNames - ld d, h - ld e, l - pop hl - call CopyBytes - pop bc - jr .asm_17df37 - -.asm_17df33 - ld de, $6 - add hl, de - -.asm_17df37 - bit 2, b - jr z, .asm_17df5a - push bc - push hl - ld a, [PartyCount] - dec a - ld hl, PartyMonOT - call SkipNames - ld d, h - ld e, l - pop hl - call CopyBytes - ld a, [hli] - ld b, a - push hl - callba SetGiftPartyMonCaughtData - pop hl - pop bc - jr .asm_17df5e - -.asm_17df5a - ld de, $7 - add hl, de - -.asm_17df5e - bit 3, b - jr z, .asm_17df79 - push bc - push hl - ld a, [PartyCount] - dec a - ld hl, PartyMon1ID - call GetPartyLocation - ld d, h - ld e, l - pop hl - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - pop bc - jr .asm_17df7b - -.asm_17df79 - inc hl - inc hl - -.asm_17df7b - bit 4, b - jr z, .asm_17dfd0 - push bc - push hl - ld a, [PartyCount] - dec a - ld hl, PartyMon1DVs - call GetPartyLocation - ld d, h - ld e, l - pop hl - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - push hl - ld a, [PartyCount] - dec a - ld hl, PartyMon1Species - call GetPartyLocation - ld a, [hl] - ld [CurSpecies], a - call GetBaseData - ld a, [PartyCount] - dec a - ld hl, PartyMon1MaxHP - call GetPartyLocation - ld d, h - ld e, l - push hl - ld b, $0 - callba CalcPkmnStats - ld a, [PartyCount] - dec a - ld hl, PartyMon1HP - call GetPartyLocation - ld d, h - ld e, l - pop hl - ld a, [hli] - ld [de], a - inc de - ld a, [hl] - ld [de], a - pop hl - pop bc - jr .asm_17dfd2 - -.asm_17dfd0 - inc hl - inc hl - -.asm_17dfd2 - bit 5, b - jr z, .asm_17dfea - push bc - push hl - ld a, [PartyCount] - dec a - ld hl, PartyMon1Item - call GetPartyLocation - ld d, h - ld e, l - pop hl - ld a, [hli] - ld [de], a - pop bc - jr .asm_17dfeb - -.asm_17dfea - inc hl - -.asm_17dfeb - bit 6, b - jr z, .asm_17e01f - push bc - push hl - ld a, [PartyCount] - dec a - ld hl, PartyMon1Moves - call GetPartyLocation - ld d, h - ld e, l - pop hl - push de - ld bc, $4 - call CopyBytes - pop de - push hl - push de - ld a, [PartyCount] - dec a - ld hl, PartyMon1PP - call GetPartyLocation - ld d, h - ld e, l - pop hl - predef FillPP - pop hl - pop bc - jp asm_17e0ee - -.asm_17e01f - ld de, $4 - add hl, de - jp asm_17e0ee -; 17e026 - -Function17e026: ; 17e026 - ld a, BANK(sBoxCount) - call GetSRAMBank - ld a, [sBoxCount] - call CloseSRAM - cp $14 - jp nc, .asm_17e0ea - bit 0, b - jp z, .asm_17e0ea - push bc - push hl - callba LoadEnemyMon - callba SentPkmnIntoBox - callba SetBoxMonCaughtData - pop hl - pop bc - ld a, BANK(sBoxMonNicknames) - call GetSRAMBank - bit 1, b - jr z, .asm_17e067 - push bc - ld bc, $b - ld de, sBoxMonNicknames - call CopyBytes - pop bc - jr .asm_17e06b - -.asm_17e067 - ld de, $6 - add hl, de - -.asm_17e06b - bit 2, b - jr z, .asm_17e08e - push bc - ld bc, $6 - ld de, sBoxMonOT - call CopyBytes - ld a, [hli] - ld b, a - push hl - call CloseSRAM - callba SetGiftBoxMonCaughtData - ld a, $1 - call GetSRAMBank - pop hl - pop bc - jr .asm_17e092 - -.asm_17e08e - ld de, $7 - add hl, de - -.asm_17e092 - bit 3, b - jr z, .asm_17e0a2 - push bc - ld de, sBoxMon1ID - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - pop bc - jr .asm_17e0a4 - -.asm_17e0a2 - inc hl - inc hl - -.asm_17e0a4 - bit 4, b - jr z, .asm_17e0b4 - push bc - ld de, sBoxMon1DVs - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - pop bc - jr .asm_17e0b6 - -.asm_17e0b4 - inc hl - inc hl - -.asm_17e0b6 - bit 5, b - ld a, [hli] - jr z, .asm_17e0be - ld [sBoxMon1Item], a - -.asm_17e0be - bit 6, b - jr z, .asm_17e0e1 - push bc - ld de, sBoxMon1Moves - ld bc, $4 - call CopyBytes - push hl - ld hl, sBoxMon1Moves - ld de, sBoxMon1PP - predef FillPP - call CloseSRAM - pop hl - pop bc - inc hl - inc hl - jr asm_17e0ee - -.asm_17e0e1 - call CloseSRAM - ld de, $6 - add hl, de - jr asm_17e0ee - -.asm_17e0ea - ld bc, $1a - add hl, bc - -asm_17e0ee - ld a, [hli] - ld h, [hl] - ld l, a - pop af - ld [rSVBK], a - push hl - call Function17e349 - pop hl - call Function17e40f - ret -; 17e0fd - -Function17e0fd: ; 17e0fd - call Function17e415 - ld de, $c708 - ld bc, $6 - call CopyBytes - ld a, [rSVBK] - push af - ld a, $1 - ld [rSVBK], a - ld hl, $c708 - ld a, [hli] - ld [CurItem], a - ld a, [hli] - ld [wItemQuantityChangeBuffer], a - push hl - ld hl, NumItems - call ReceiveItem - pop hl - jr c, .asm_17e127 - inc hl - inc hl - -.asm_17e127 - ld a, [hli] - ld b, a - ld a, [hl] - ld h, a - ld l, b - pop af - ld [rSVBK], a - call Function17e40f - ret -; 17e133 - -Function17e133: ; 17e133 - call Function17e415 - ld de, $c708 - ld bc, $5 - call CopyBytes - ld a, [rSVBK] - push af - ld a, $1 - ld [rSVBK], a - ld hl, $c708 - ld a, [hli] - ld [ScriptVar], a - push hl - callba MobileCheckOwnMonAnywhere - pop hl - jr c, .asm_17e159 - inc hl - inc hl - -.asm_17e159 - ld a, [hli] - ld b, a - ld a, [hl] - ld h, a - ld l, b - pop af - ld [rSVBK], a - call Function17e40f - ret -; 17e165 - -Function17e165: ; 17e165 - call Function17e415 - ld de, $c708 - ld bc, $5 - call CopyBytes - ld a, [rSVBK] - push af - ld a, $1 - ld [rSVBK], a - ld hl, $c708 - ld a, [hli] - ld [CurItem], a - push hl - ld hl, NumItems - call CheckItem - pop hl - jr c, .asm_17e195 - push hl - ld hl, PCItems - call CheckItem - pop hl - jr c, .asm_17e195 - inc hl - inc hl - -.asm_17e195 - ld a, [hli] - ld b, a - ld a, [hl] - ld h, a - ld l, b - pop af - ld [rSVBK], a - call Function17e40f - ret -; 17e1a1 - -Function17e1a1: ; 17e1a1 - call Function17e415 - ld de, $c708 - ld bc, $d - call CopyBytes - ld a, [$c70a] - cp $c0 - jr c, .asm_17e1bb - ld a, [$c708] - ld [rSVBK], a - jr .asm_17e1c1 - -.asm_17e1bb - ld a, [$c708] - call GetSRAMBank - -.asm_17e1c1 - ld a, [$c709] - ld l, a - ld a, [$c70a] - ld h, a - ld de, $c608 - ld a, [$c70b] - ld c, a - ld b, $0 - call CopyBytes - ld a, [$c70a] - cp $c0 - jr c, .asm_17e1e2 - ld a, $4 - ld [rSVBK], a - jr .asm_17e1e5 - -.asm_17e1e2 - call CloseSRAM - -.asm_17e1e5 - ld a, [$c70e] - cp $c0 - jr c, .asm_17e1f3 - ld a, [$c70c] - ld [rSVBK], a - jr .asm_17e1f9 - -.asm_17e1f3 - ld a, [$c70c] - call GetSRAMBank - -.asm_17e1f9 - ld a, [$c70d] - ld l, a - ld a, [$c70e] - ld h, a - ld de, $c688 - ld a, [$c70b] - ld c, a - ld b, $0 - call CopyBytes - ld a, [$c70e] - cp $c0 - jr c, .asm_17e21a - ld a, $4 - ld [rSVBK], a - jr .asm_17e21d - -.asm_17e21a - call CloseSRAM - -.asm_17e21d - ld a, [$c70b] - ld c, a - ld hl, $c688 - ld de, $c608 -.asm_17e227 - ld a, [de] - inc de - cp [hl] - inc hl - jr z, .asm_17e231 - jr c, .asm_17e23e - jr .asm_17e248 - -.asm_17e231 - dec c - jr nz, .asm_17e227 - ld a, [$c711] - ld l, a - ld a, [$c712] - ld h, a - jr .asm_17e250 - -.asm_17e23e - ld a, [$c70f] - ld l, a - ld a, [$c710] - ld h, a - jr .asm_17e250 - -.asm_17e248 - ld a, [$c712 + 1] - ld l, a - ld a, [$c712 + 2] - ld h, a - -.asm_17e250 - call Function17e40f - ret -; 17e254 - -Function17e254: ; 17e254 - call Function17e415 - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [hli] - ld [de], a - call Function17e41e - ret -; 17e261 - -Function17e261: ; 17e261 - call Function17e415 - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [de] - add [hl] - ld [de], a - inc hl - call Function17e41e - ret -; 17e270 - -Function17e270: ; 17e270 - call Function17e415 - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [de] - sub [hl] - ld [de], a - inc hl - call Function17e41e - ret -; 17e27f - -Function17e27f: ; 17e27f - call Function17e415 - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - call Function17e41e - ld l, c - ld h, b - ld a, [de] - add [hl] - ld [de], a - ret -; 17e293 - -Function17e293: ; 17e293 - call Function17e415 - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - call Function17e41e - ld l, c - ld h, b - ld a, [de] - sub [hl] - ld [de], a - ret -; 17e2a7 - -Function17e2a7: ; 17e2a7 - call Function17e415 - call Function17e41e - call Function17e32b - xor a - ld [wcf66], a - callba Function118233 - ld de, GFX_17eb7e - ld hl, VTiles2 tile $60 - lb bc, BANK(GFX_17eb7e), 1 - call Get2bpp - ld a, [wc300] - and a - jr z, .asm_17e2d8 - cp $a - jr z, .asm_17e2f7 - cp $b - jr z, .asm_17e300 - call Function17e309 - ret - -.asm_17e2d8 - call Function17d60b - call Function17e349 - xor a - ld [wcd7a], a - ld a, $5 - call GetSRAMBank - ld hl, $aa73 - ld de, $aa7f - ld bc, $c - call CopyBytes - call CloseSRAM - ret - -.asm_17e2f7 - call Function17e349 - ld a, $1 - ld [wcd7a], a - ret - -.asm_17e300 - call Function17e349 - ld a, $2 - ld [wcd7a], a - ret -; 17e309 - -Function17e309: ; 17e309 - ld a, $2 - ld [wc303], a - call Function17dcaf - call ClearScreen - call Function17e349 - call Function17d5f6 - callba DisplayMobileError - call Function17e349 - call Function17dcaf - xor a - ld [wcd77], a - ret -; 17e32b - -Function17e32b: ; 17e32b - ld a, $5 - call GetSRAMBank - ld hl, $c608 - ld de, $b0b1 - ld bc, $40 - call CopyBytes - ld hl, BGMapBuffer - ld bc, $5b - call CopyBytes - call CloseSRAM - ret -; 17e349 - -Function17e349: ; 17e349 - ld a, $5 - call GetSRAMBank - ld hl, $b0b1 - ld de, $c608 - ld bc, $40 - call CopyBytes - ld de, BGMapBuffer - ld bc, $5b - call CopyBytes - call CloseSRAM - ret -; 17e367 - -Function17e367: ; 17e367 - call Function17e415 - call Function17e41e - ld a, [rSVBK] - push af - ld a, $1 - ld [rSVBK], a - callba SaveGameData_ - pop af - ld [rSVBK], a - ret -; 17e37e - -Function17e37e: ; 17e37e - call Function17e415 - call Function17e41e - ld a, [rSVBK] - push af - ld a, $1 - ld [rSVBK], a - callba SaveAfterLinkTrade - pop af - ld [rSVBK], a - ret -; 17e395 - -Function17e395: ; 17e395 - call Function17e415 - call Function17e41e - ld a, [rSVBK] - push af - ld a, $1 - ld [rSVBK], a - callba SaveBox - pop af - ld [rSVBK], a - ret -; 17e3ac - -Function17e3ac: ; 17e3ac - call Function17e415 - call Function17e41e - ld a, [rSVBK] - push af - ld a, $1 - ld [rSVBK], a - callba SaveChecksum - pop af - ld [rSVBK], a - ret -; 17e3c3 - -Function17e3c3: ; 17e3c3 - call Function17e415 - call Function17e41e - ld a, [rSVBK] - push af - ld a, $1 - ld [rSVBK], a - callba UpdateTrainerRankingsChecksum2 - callba BackupMobileEventIndex - pop af - ld [rSVBK], a - ret -; 17e3e0 - -Function17e3e0: ; 17e3e0 - call Function17e415 - ld a, [hli] - ld c, a - call Function17e41e - ld a, $1 - ld [hBGMapMode], a - call DelayFrames - ret -; 17e3f0 - -Function17e3f0: ; 17e3f0 - call Function17e415 - call Function17e41e -.asm_17e3f6 - call JoyTextDelay - ld hl, hJoyPressed - ld a, [hl] - and $1 - ret nz - ld a, [hl] - and $2 - ret nz - call WaitBGMap - jr .asm_17e3f6 -; 17e409 - -Function17e409: ; 17e409 - ld hl, wcd77 - set 7, [hl] - ret -; 17e40f - -Function17e40f: ; 17e40f - ld de, UnknBGPals - add hl, de - jr Function17e41e - -Function17e415: - ld a, [wcd78] - ld l, a - ld a, [wcd79] - ld h, a - inc hl - -Function17e41e: - ld a, l - ld [wcd78], a - ld a, h - ld [wcd79], a - ret -; 17e427 - -Function17e427: ; 17e427 - ld hl, hJoyPressed - ld a, [hl] - and $1 - jr nz, .asm_17e432 - and $2 - ret z - -.asm_17e432 - ld a, $3 - ld [wcd77], a - ret -; 17e438 - -Function17e438: ; 17e438 - ld hl, wcd77 - inc [hl] - ret -; 17e43d - -Function17e43d: ; 17e43d - ld a, [BGMapBuffer] - ld l, a - ld a, [wcd21] - ld h, a - add hl, bc - ret -; 17e447 - -Function17e447: ; 17e447 - ld a, [BGMapBuffer] - ld l, a - ld a, [wcd21] - ld h, a - add hl, de - ret -; 17e451 - -Function17e451: ; 17e451 - ld a, [wcd42] - and a - ret z - call Function17e51b - call Function17e4dd - ld a, [wcd2e] - push af - ld a, [wcd49] - ld l, a - ld a, [wcd4a] - ld h, a - ld a, [wcd2f] - ld [wcd2e], a - ld c, a - ld b, $0 - add hl, bc - add hl, bc - push hl - hlcoord 0, 0 - ld bc, $14 - ld a, [wcd23] - call AddNTimes - ld a, [CreditsTimer] - ld c, a - ld b, $0 - add hl, bc - pop bc - ld a, [wMobileCommsJumptableIndex] -.asm_17e48b - push af - push hl - ld a, [wcd24] -.asm_17e490 - push af - push hl - ld a, [bc] - inc bc - ld e, a - ld a, [bc] - inc bc - ld d, a - push bc - push hl - ld a, [BGMapBuffer] - ld l, a - ld a, [wcd21] - ld h, a - add hl, de - push hl - pop de - pop hl - call PlaceString - pop bc - pop hl - ld a, [wcd26] - ld e, a - ld d, $0 - add hl, de - ld a, [wcd2e] - inc a - ld [wcd2e], a - ld e, a - ld a, [wcd42] - cp e - jr z, .asm_17e4d5 - pop af - dec a - jr nz, .asm_17e490 - pop hl - ld a, [wcd27] - ld de, $14 -.asm_17e4cb - add hl, de - dec a - jr nz, .asm_17e4cb - pop af - dec a - jr nz, .asm_17e48b - jr .asm_17e4d8 - -.asm_17e4d5 - pop af - pop hl - pop af - -.asm_17e4d8 - pop af - ld [wcd2e], a - ret -; 17e4dd - -Function17e4dd: ; 17e4dd - ld a, [wcd2c] - and $1 - ret z - ld a, [wcd29] - hlcoord 0, 0 - ld bc, $14 - call AddNTimes - ld a, [wcd28] - ld c, a - ld b, $0 - add hl, bc - ld a, [wcd2f] - and a - jr z, .asm_17e4ff - ld a, $61 - ld [hl], a - -.asm_17e4ff - ld a, [wcd2a] - ld bc, $14 - call AddNTimes - ld a, [wcd42] - ld c, a - ld a, [wcd2e] - ld b, a - ld a, [wcd24] - add b - cp c - ret z - ret nc - ld a, $ee - ld [hl], a - ret -; 17e51b - -Function17e51b: ; 17e51b - ld a, [wcd28] - ld hl, CreditsTimer - sub [hl] - inc a - ld [wcd4f], a - hlcoord 0, 0 - ld bc, $14 - ld a, [wcd23] - dec a - call AddNTimes - ld a, [CreditsTimer] - ld c, a - ld b, $0 - add hl, bc - ld a, [wMobileCommsJumptableIndex] - ld c, a - ld a, [wcd27] - call SimpleMultiply -.asm_17e544 - push af - push hl - ld a, [wcd4f] - ld c, a - ld b, $0 - ld a, $7f - call ByteFill - pop hl - ld bc, $14 - add hl, bc - pop af - dec a - jr nz, .asm_17e544 - ret -; 17e55b - -Function17e55b: ; 17e55b - ld a, [wcd42] - and a - ret z - ld a, $ed - call Function17e571 - ret -; 17e566 - -Function17e566: ; 17e566 - ld a, [wcd42] - and a - ret z - ld a, $7f - call Function17e571 - ret -; 17e571 - -Function17e571: ; 17e571 - push af - hlcoord 0, 0 - ld bc, $14 - ld a, [wcd23] - call AddNTimes - ld a, [CreditsTimer] - ld c, a - ld b, $0 - add hl, bc - dec hl - push hl - ld a, [wcd31] - dec a - ld c, a - ld a, [wcd27] - call SimpleMultiply - ld l, $0 - ld h, l - ld bc, $14 - call AddNTimes - ld a, [wcd30] - dec a - ld c, a - ld a, [wcd26] - call SimpleMultiply - ld c, a - ld b, $0 - add hl, bc - pop bc - add hl, bc - pop af - ld [hl], a - ret -; 17e5af - -Function17e5af: ; 17e5af - ld a, [wcd2c] - and $2 - ret z - ld a, [wcd43] - ld l, a - ld a, [wMobileInactivityTimerMinutes] - ld h, a - bccoord 0, 0 - add hl, bc - ld bc, $ffec - add hl, bc - ld a, [wMobileInactivityTimerSeconds] - ld c, a - ld b, $0 - ld a, [wMobileInactivityTimerFrames] - call Function17e600 - ld a, [wcd2e] - ld c, a - ld b, $0 - ld a, [wcd4d] - ld l, a - ld a, [wcd4e] - ld h, a - add hl, bc - add hl, bc - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [BGMapBuffer] - ld l, a - ld a, [wcd21] - ld h, a - add hl, de - push hl - pop de - ld a, [wcd43] - ld l, a - ld a, [wMobileInactivityTimerMinutes] - ld h, a - bccoord 0, 0 - add hl, bc - call PlaceString - ret -; 17e600 - -Function17e600: ; 17e600 -.asm_17e600 - push af - push hl - push bc - ld a, $7f - call ByteFill - pop bc - pop hl - ld de, $14 - add hl, de - pop af - dec a - jr nz, .asm_17e600 - ret -; 17e613 - -Function17e613: ; 17e613 - push hl - hlcoord 0, 0 - ld bc, $14 - ld a, [de] - inc de - push af - ld a, [de] - inc de - and a -.asm_17e620 - jr z, .asm_17e626 - add hl, bc - dec a - jr .asm_17e620 - -.asm_17e626 - pop af - ld c, a - ld b, $0 - add hl, bc - push hl - ld a, [wcd53] - ld [hli], a - ld a, [de] - inc de - dec a - dec a - jr z, .asm_17e63f - ld c, a - ld a, [wcd53] - inc a -.asm_17e63b - ld [hli], a - dec c - jr nz, .asm_17e63b - -.asm_17e63f - ld a, [wcd53] - add $2 - ld [hl], a - pop hl - ld bc, $14 - add hl, bc - ld a, [de] - dec de - dec a - dec a - jr z, .asm_17e674 - ld b, a -.asm_17e651 - push hl - ld a, [wcd53] - add $3 - ld [hli], a - ld a, [de] - dec a - dec a - jr z, .asm_17e664 - ld c, a - ld a, $7f -.asm_17e660 - ld [hli], a - dec c - jr nz, .asm_17e660 - -.asm_17e664 - ld a, [wcd53] - add $4 - ld [hl], a - pop hl - push bc - ld bc, $14 - add hl, bc - pop bc - dec b - jr nz, .asm_17e651 - -.asm_17e674 - ld a, [wcd53] - add $5 - ld [hli], a - ld a, [de] - dec a - dec a - jr z, .asm_17e689 - ld c, a - ld a, [wcd53] - add $6 -.asm_17e685 - ld [hli], a - dec c - jr nz, .asm_17e685 - -.asm_17e689 - ld a, [wcd53] - add $7 - ld [hl], a - pop hl - ret -; 17e691 - -Function17e691: ; 17e691 - push hl - ld hl, NULL - ld bc, $14 - ld a, [de] - inc de - push af - ld a, [de] - inc de - inc de - and a -.asm_17e69f - jr z, .asm_17e6a5 - add hl, bc - dec a - jr .asm_17e69f - -.asm_17e6a5 - pop af - ld c, a - ld b, $0 - add hl, bc - ld a, [de] - dec de -.asm_17e6ac - push af - push hl - ld a, [de] -.asm_17e6af - push af - push hl - push hl - bccoord 0, 0 - add hl, bc - ld a, [hl] - cp $7f - jr z, .asm_17e6c2 - ld a, [wcd53] - add $8 - jr .asm_17e6c7 - -.asm_17e6c2 - ld a, [wcd53] - jr .asm_17e6c7 - -.asm_17e6c7 - pop hl - bccoord 0, 0, AttrMap - add hl, bc - ld [hl], a - pop hl - inc hl - pop af - dec a - jr nz, .asm_17e6af - pop hl - ld bc, $14 - add hl, bc - pop af - dec a - jr nz, .asm_17e6ac - pop hl - ret -; 17e6de - -Function17e6de: ; 17e6de - push af - ld a, [$c708] - ld l, a - ld a, [$c709] - ld h, a - decoord 0, 0, AttrMap - add hl, de - pop af - ld b, $7 -.asm_17e6ee - push hl - ld c, $7 -.asm_17e6f1 - ld [hli], a - dec c - jr nz, .asm_17e6f1 - pop hl - ld de, $14 - add hl, de - dec b - jr nz, .asm_17e6ee - ret -; 17e6fe - - -PokemonNewsGFX: ; 17e6fe -INCBIN "gfx/mobile/pokemon_news.2bpp" - -GFX_17eb7e: -INCBIN "gfx/unknown/17eb7e.2bpp" - -TileAttrmap_17eb8e: -INCBIN "gfx/unknown/17eb8e.attrmap" - -Palette_17eff6: - RGB 24, 9, 8 - RGB 4, 9, 18 - RGB 18, 18, 12 - RGB 0, 0, 0 - RGB 24, 24, 18 - RGB 18, 18, 12 - RGB 4, 9, 18 - RGB 0, 0, 0 - RGB 31, 31, 31 - RGB 23, 11, 10 - RGB 13, 6, 5 - RGB 0, 0, 0 - RGB 31, 31, 31 - RGB 15, 25, 5 - RGB 10, 20, 0 - RGB 0, 0, 0 - RGB 31, 31, 31 - RGB 20, 28, 20 - RGB 10, 18, 15 - RGB 0, 0, 0 - RGB 31, 31, 31 - RGB 22, 22, 12 - RGB 17, 12, 5 - RGB 0, 0, 0 - RGB 5, 5, 16 - RGB 8, 19, 28 - RGB 0, 0, 0 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 27, 24, 0 - RGB 24, 16, 3 - RGB 0, 0, 0 - - -Function17f036:: ; 17f036 - ld a, $6 - call GetSRAMBank - inc de -.asm_17f03c - call Function17f047 - jr c, .asm_17f043 - jr .asm_17f03c - -.asm_17f043 - call CloseSRAM - ret -; 17f047 - -Function17f047: ; 17f047 - ld a, [de] - inc de - cp $50 - jr z, .finished - cp $10 - jr nc, .finished - dec a - push de - ld e, a - ld d, 0 - ld hl, .Jumptable - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp hl - -.finished - scf - ret -; 17f061 - -.Jumptable: ; 17f061 - dw Function17f081 ; 0 - dw Function17f0f8 ; 1 - dw Function17f154 ; 2 - dw Function17f181 ; 3 - dw Function17f1d0 ; 4 - dw Function17f220 ; 5 - dw Function17f27b ; 6 - dw Function17f2cb ; 7 - dw Function17f2ff ; 8 - dw Function17f334 ; 9 - dw Function17f382 ; a - dw Function17f3c9 ; b - dw Function17f3f0 ; c - dw Function17f41d ; d - dw Function17f44f ; e - dw Function17f44f ; f -; 17f081 - -Function17f081: ; 17f081 - pop hl - call Function17f524 - jr c, .asm_17f09f - ld de, 4 - add hl, de - ld a, [hli] - inc hl - inc hl - ld e, l - ld d, h - ld l, c - ld h, b - ld c, a - ld b, $0 - add hl, bc - ld a, [de] - cp $50 - jr z, .asm_17f09d - and a - ret - -.asm_17f09d - scf - ret - -.asm_17f09f - push bc - ld de, wcd54 - ld bc, 7 - call CopyBytes - pop bc - push hl - push bc - call Function17f4f6 - pop bc - ld a, [wcd54] - ld e, a - ld a, [wcd55] - ld d, a - add hl, de - ld e, l - ld d, h - ld l, c - ld h, b - push hl - ld a, [wcd56] - ld b, a - ld a, [wcd57] - ld c, a - call MobilePrintNum - ld a, l - ld [wcd52], a - ld a, h - ld [wcd53], a - ld a, [wcd59] - and a - jr z, .asm_17f0ee - ld c, a - ld a, [wcd57] - inc a - ld b, a - ld e, l - ld d, h - dec de -.asm_17f0e0 - ld a, c - cp b - jr z, .asm_17f0ea - ld a, [de] - dec de - ld [hld], a - dec b - jr .asm_17f0e0 - -.asm_17f0ea - ld a, [wcd5a] - ld [hl], a - -.asm_17f0ee - pop hl - ld a, [wcd58] - call Function17f50f - pop de - and a - ret -; 17f0f8 - -Function17f0f8: ; 17f0f8 - pop hl - call Function17f524 - jr c, .asm_17f114 - ld de, $3 - add hl, de - ld a, [hli] - ld e, l - ld d, h - ld l, c - ld h, b - ld c, a - ld b, $0 - add hl, bc - ld a, [de] - cp $50 - jr z, .asm_17f112 - and a - ret - -.asm_17f112 - scf - ret - -.asm_17f114 - push bc - ld de, wcd54 - ld bc, $4 - call CopyBytes - pop bc - push hl - push bc - call Function17f4f6 - ld a, [wcd54] - ld e, a - ld a, [wcd55] - ld d, a - add hl, de - ld de, $c608 - ld a, [wcd56] - ld c, a - ld b, $0 - call CopyBytes - ld a, $50 - ld [de], a - pop hl - ld de, $c608 - call PlaceString - ld a, c - ld [wcd52], a - ld a, b - ld [wcd53], a - ld a, [wcd57] - call Function17f50f - pop de - and a - ret -; 17f154 - -Function17f154: ; 17f154 - pop hl - call Function17f524 - jr c, .asm_17f167 - inc hl - inc hl - ld e, l - ld d, h - ld a, [de] - cp $50 - jr z, .asm_17f165 - and a - ret - -.asm_17f165 - scf - ret - -.asm_17f167 - push bc - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - pop bc - push hl - push bc - call Function17f4f6 - add hl, de - ld c, l - ld b, h - pop de - callba Function11c08f - ld c, l - ld b, h - pop de - and a - ret -; 17f181 - -Function17f181: ; 17f181 - pop hl - call Function17f524 - jr c, .asm_17f19d - ld de, $2 - add hl, de - ld a, [hli] - ld e, l - ld d, h - ld l, c - ld h, b - ld c, a - ld b, $0 - add hl, bc - ld a, [de] - cp $50 - jr z, .asm_17f19b - and a - ret - -.asm_17f19b - scf - ret - -.asm_17f19d - push bc - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [hli] - ld [wcd54], a - pop bc - push hl - push bc - call Function17f4f6 - add hl, de - ld a, [hl] - ld c, a - ld de, $c608 - callba Function48c63 - pop hl - ld de, $c608 - call PlaceString - ld a, c - ld [wcd52], a - ld a, b - ld [wcd53], a - ld a, [wcd54] - call Function17f50f - pop de - and a - ret -; 17f1d0 - -Function17f1d0: ; 17f1d0 - pop hl - call Function17f524 - jr c, .asm_17f1ec - ld de, $2 - add hl, de - ld a, [hli] - ld e, l - ld d, h - ld l, c - ld h, b - ld c, a - ld b, $0 - add hl, bc - ld a, [de] - cp $50 - jr z, .asm_17f1ea - and a - ret - -.asm_17f1ea - scf - ret - -.asm_17f1ec - push bc - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [hli] - ld [wcd54], a - pop bc - push hl - push bc - call Function17f4f6 - add hl, de - ld a, [hl] - ld a, $1 - ld [rSVBK], a - ld [wd265], a - call GetPokemonName - pop hl - call PlaceString - ld a, c - ld [wcd52], a - ld a, b - ld [wcd53], a - ld a, $4 - ld [rSVBK], a - ld a, [wcd54] - call Function17f50f - pop de - and a - ret -; 17f220 - -Function17f220: ; 17f220 - pop hl - call Function17f524 - jr c, .asm_17f23c - ld de, $2 - add hl, de - ld a, [hli] - ld e, l - ld d, h - ld l, c - ld h, b - ld c, a - ld b, $0 - add hl, bc - ld a, [de] - cp $50 - jr z, .asm_17f23a - and a - ret - -.asm_17f23a - scf - ret - -.asm_17f23c - push bc - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [hli] - ld [wcd54], a - pop bc - push hl - push bc - call Function17f4f6 - add hl, de - ld a, [hl] - ld e, a - ld d, 0 - ld hl, .Genders - add hl, de - add hl, de - ld a, [hli] - ld e, a - ld a, [hl] - ld d, a - pop hl - call PlaceString - ld a, c - ld [wcd52], a - ld a, b - ld [wcd53], a - ld a, [wcd54] - call Function17f50f - pop de - and a - ret -; 17f26e - -.Genders: dw .Boy, .Girl -.Boy: db "Boy@" -.Girl: db "Girl@" - -Function17f27b: ; 17f27b - pop hl - call Function17f524 - jr c, .asm_17f297 - ld de, $2 - add hl, de - ld a, [hli] - ld e, l - ld d, h - ld l, c - ld h, b - ld c, a - ld b, $0 - add hl, bc - ld a, [de] - cp $50 - jr z, .asm_17f295 - and a - ret - -.asm_17f295 - scf - ret - -.asm_17f297 - push bc - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [hli] - ld [wcd54], a - pop bc - push hl - push bc - call Function17f4f6 - add hl, de - ld a, [hl] - ld a, $1 - ld [rSVBK], a - ld [wd265], a - call GetItemName - pop hl - call PlaceString - ld a, c - ld [wcd52], a - ld a, b - ld [wcd53], a - ld a, $4 - ld [rSVBK], a - ld a, [wcd54] - call Function17f50f - pop de - and a - ret -; 17f2cb - -Function17f2cb: ; 17f2cb - pop hl - push bc - ld a, [hli] - ld [wcd54], a - ld a, [hli] - ld [wcd55], a - ld a, [wcd2e] - inc a - ld [wcd56], a - pop bc - push hl - ld l, c - ld h, b - push hl - ld de, wcd56 - ld b, $1 - ld a, [wcd54] - ld c, a - call MobilePrintNum - ld a, l - ld [wcd52], a - ld a, h - ld [wcd53], a - pop hl - ld a, [wcd55] - call Function17f50f - pop de - and a - ret -; 17f2ff - -Function17f2ff: ; 17f2ff - pop hl - push bc - ld a, [hli] - ld [wcd54], a - pop bc - push hl - push bc - ld a, $1 - ld [rSVBK], a - ld hl, PlayerName - ld de, $c608 - ld bc, $6 - call CopyBytes - ld a, $4 - ld [rSVBK], a - pop hl - ld de, $c608 - call PlaceString - ld a, c - ld [wcd52], a - ld a, b - ld [wcd53], a - ld a, [wcd54] - call Function17f50f - pop de - and a - ret -; 17f334 - -Function17f334: ; 17f334 - pop hl - push bc - ld a, [hli] - ld [wcd55], a - and $f - ld [wcd54], a - pop bc - push hl - ld l, c - ld h, b - push hl - ld a, [wcd55] - bit 7, a - jr nz, .asm_17f355 - ld a, BANK(sCrystalData) - call GetSRAMBank - ld a, [sCrystalData + 2] - jr .asm_17f35d - -.asm_17f355 - ld a, $5 - call GetSRAMBank - ld a, [$b2f3] - -.asm_17f35d - ld c, a - call CloseSRAM - ld de, $c608 - callba Function48c63 - pop hl - ld de, $c608 - call PlaceString - ld a, c - ld [wcd52], a - ld a, b - ld [wcd53], a - ld a, [wcd54] - call Function17f50f - pop de - and a - ret -; 17f382 - -Function17f382: ; 17f382 - pop hl - push bc - ld a, [hli] - ld [wcd55], a - and $f - ld [wcd54], a - pop bc - push hl - push bc - ld l, c - ld h, b - ld a, [wcd55] - bit 7, a - jr nz, .asm_17f3a3 - ld a, BANK(sCrystalData) - call GetSRAMBank - ld de, sCrystalData + 3 - jr .asm_17f3ab - -.asm_17f3a3 - ld a, $5 - call GetSRAMBank - ld de, $b2f4 - -.asm_17f3ab - ld a, PRINTNUM_LEADINGZEROS | 2 - ld b, a - ld a, 3 - ld c, a - call PrintNum - call CloseSRAM - ld a, l - ld [wcd52], a - ld a, h - ld [wcd53], a - pop hl - ld a, [wcd54] - call Function17f50f - pop de - and a - ret -; 17f3c9 - -Function17f3c9: ; 17f3c9 - push bc - ld hl, wcd36 - ld de, $c708 - ld bc, 12 - call CopyBytes - pop de - ld c, $0 - callba Function11c075 - push hl - ld hl, $c708 - ld de, wcd36 - ld bc, $c - call CopyBytes - pop bc - pop de - and a - ret -; 17f3f0 - -Function17f3f0: ; 17f3f0 - pop hl - push hl - ld a, [hli] - push af - push bc - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [de] - ld c, a - ld b, $0 - add hl, bc - add hl, bc - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld hl, UnknBGPals - add hl, de - ld e, l - ld d, h - pop hl - call PlaceString - pop af - ld e, a - ld d, $0 - pop hl - add hl, de - add hl, de - inc hl - inc hl - inc hl - ld e, l - ld d, h - ld l, c - ld h, b - scf - ret -; 17f41d - -Function17f41d: ; 17f41d - pop hl - ld a, [hli] - push hl - push af - ld l, c - ld h, b - ld bc, -TileMap + $10000 - add hl, bc - ld de, -SCREEN_WIDTH - ld c, $1 -.asm_17f42c - ld a, h - and a - jr nz, .asm_17f435 - ld a, l - cp SCREEN_WIDTH - jr c, .asm_17f439 - -.asm_17f435 - add hl, de - inc c - jr .asm_17f42c - -.asm_17f439 - hlcoord 0, 0 - ld de, SCREEN_WIDTH - ld a, c -.asm_17f440 - and a - jr z, .asm_17f447 - add hl, de - dec a - jr .asm_17f440 - -.asm_17f447 - pop af - ld e, a - ld d, 0 - add hl, de - pop de - and a - ret -; 17f44f - -Function17f44f: ; 17f44f - pop hl - call Function17f524 - jr c, .asm_17f46d - ld de, $5 - add hl, de - ld a, [hli] - inc hl - inc hl - ld e, l - ld d, h - ld l, c - ld h, b - ld c, a - ld b, 0 - add hl, bc - ld a, [de] - cp $50 - jr z, .asm_17f46b - and a - ret - -.asm_17f46b - scf - ret - -.asm_17f46d - push bc - ld de, wcd54 - ld bc, $8 - call CopyBytes - pop bc - push hl - push bc - ld a, [wcd56] - cp $c0 - jr c, .asm_17f488 - ld a, [wcd54] - ld [rSVBK], a - jr .asm_17f48e - -.asm_17f488 - ld a, [wcd54] - call GetSRAMBank - -.asm_17f48e - ld a, [wcd55] - ld l, a - ld a, [wcd56] - ld h, a - ld de, $c608 - ld a, [wcd57] - ld c, a - ld b, $0 - call CopyBytes - ld a, [wcd56] - cp $c0 - jr c, .asm_17f4af - ld a, $4 - ld [rSVBK], a - jr .asm_17f4b7 - -.asm_17f4af - call CloseSRAM - ld a, $6 - call GetSRAMBank - -.asm_17f4b7 - ld de, $c608 - pop hl - push hl - ld a, [wcd57] - ld b, a - ld a, [wcd58] - ld c, a - call MobilePrintNum - ld a, l - ld [wcd52], a - ld a, h - ld [wcd53], a - ld a, [wcd5a] - and a - jr z, .asm_17f4ec - ld c, a - ld a, [wcd58] - inc a - ld b, a - ld e, l - ld d, h - dec de -.asm_17f4de - ld a, c - cp b - jr z, .asm_17f4e8 - ld a, [de] - dec de - ld [hld], a - dec b - jr .asm_17f4de - -.asm_17f4e8 - ld a, [wcd5b] - ld [hl], a - -.asm_17f4ec - pop hl - ld a, [wcd59] - call Function17f50f - pop de - and a - ret -; 17f4f6 - -Function17f4f6: ; 17f4f6 - ld a, [wcd6a] - ld l, a - ld a, [wcd6b] - ld h, a - ld a, [wcd47] - ld c, a - ld a, [BGMapPalBuffer] - ld b, a - ld a, [wcd2e] -.asm_17f509 - and a - ret z - dec a - add hl, bc - jr .asm_17f509 -; 17f50f - -Function17f50f: ; 17f50f - and a - jr z, .asm_17f519 - ld c, a - ld b, $0 - add hl, bc - ld c, l - ld b, h - ret - -.asm_17f519 - ld a, [wcd52] - ld c, a - ld l, a - ld a, [wcd53] - ld b, a - ld h, a - ret -; 17f524 - -Function17f524: ; 17f524 - push hl - push bc - push de - ld a, [wcd42] - dec a - ld b, a - ld a, [wcd2e] - cp b - jr z, .asm_17f53a - ld hl, wcd68 - cp [hl] -.asm_17f536 - pop de - pop bc - pop hl - ret - -.asm_17f53a - scf - jr .asm_17f536 -; 17f53d - -BattleTowerMobileError: ; 17f53d - call FadeToMenu - xor a - ld [wc303], a - ld a, [rSVBK] - push af - ld a, $1 - ld [rSVBK], a - - call DisplayMobileError - - pop af - ld [rSVBK], a - call ExitAllMenus - ret -; 17f555 - -DisplayMobileError: ; 17f555 -.loop - call JoyTextDelay - call .RunJumptable - ld a, [wc303] - bit 7, a - jr nz, .quit - callba HDMATransferAttrMapAndTileMapToWRAMBank3 - jr .loop - -.quit - call .deinit - ret - -.deinit - ld a, [wc300] - cp $22 - jr z, .asm_17f597 - cp $31 - jr z, .asm_17f58a - cp $33 - ret nz - ld a, [wc301] - cp $1 - ret nz - ld a, [wc302] - cp $2 - ret nz - jr .asm_17f5a1 - -.asm_17f58a - ld a, [wc301] - cp $3 - ret nz - ld a, [wc302] - and a - ret nz - jr .asm_17f5a1 - -.asm_17f597 - ld a, [wc301] - and a - ret nz - ld a, [wc302] - and a - ret nz - -.asm_17f5a1 - ld a, BANK(sMobileLoginPassword) - call GetSRAMBank - xor a - ld [sMobileLoginPassword], a - call CloseSRAM - ret -; 17f5ae - -.RunJumptable: ; 17f5ae - jumptable .Jumptable, wc303 -; 17f5bd - -.Jumptable: ; 17f5bd - dw Function17f5c3 - dw Function17ff23 - dw Function17f5d2 -; 17f5c3 - -Function17f5c3: ; 17f5c3 - call Function17f5e4 - callba FinishExitMenu - ld a, $1 - ld [wc303], a - ret -; 17f5d2 - -Function17f5d2: ; 17f5d2 - call Function17f5e4 - callba HDMATransferAttrMapAndTileMapToWRAMBank3 - call SetPalettes - ld a, $1 - ld [wc303], a - ret -; 17f5e4 - -Function17f5e4: ; 17f5e4 - ld a, $8 - ld [MusicFade], a - ld de, MUSIC_NONE - ld a, e - ld [MusicFadeID], a - ld a, d - ld [MusicFadeID + 1], a - ld a, " " - hlcoord 0, 0 - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT - call ByteFill - ld a, $6 - hlcoord 0, 0, AttrMap - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT - call ByteFill - hlcoord 2, 1 - ld b, $1 - ld c, $e - call Function3eea - hlcoord 1, 4 - ld b, $c - ld c, $10 - call Function3eea - hlcoord 3, 2 - ld de, String_17f6dc - call PlaceString - call Function17ff3c - jr nc, .asm_17f632 - hlcoord 11, 2 - call Function17f6b7 - -.asm_17f632 - ld a, [wc300] - cp $d0 - jr nc, .asm_17f684 - cp $10 - jr c, .asm_17f679 - sub $10 - cp $24 - jr nc, .asm_17f679 - ld e, a - ld d, $0 - ld hl, Table_17f706 - add hl, de - add hl, de - ld a, [wc301] - ld e, a - ld a, [wc302] - ld d, a - ld a, [hli] - ld c, a - ld a, [hl] - ld h, a - ld l, c - ld a, [hli] - and a - jr z, .asm_17f679 - ld c, a -.asm_17f65d - ld a, [hli] - ld b, a - ld a, [hli] - cp $ff - jr nz, .asm_17f667 - cp b - jr z, .asm_17f66e - -.asm_17f667 - xor d - jr nz, .asm_17f674 - ld a, b - xor e - jr nz, .asm_17f674 - -.asm_17f66e - ld a, [hli] - ld e, a - ld a, [hl] - ld d, a - jr .asm_17f67d - -.asm_17f674 - inc hl - inc hl - dec c - jr nz, .asm_17f65d - -.asm_17f679 - ld a, $d9 - jr .asm_17f684 - -.asm_17f67d - hlcoord 2, 6 - call PlaceString - ret - -.asm_17f684 - sub $d0 - ld e, a - ld d, 0 - ld hl, Table_17f699 - add hl, de - add hl, de - ld a, [hli] - ld e, a - ld a, [hl] - ld d, a - hlcoord 2, 6 - call PlaceString - ret -; 17f699 - -Table_17f699: ; 17f699 - dw String_17fedf - dw String_17fdd9 - dw String_17fdd9 - dw String_17fe03 - dw String_17fd84 - dw String_17fe63 - dw String_17fdb2 - dw String_17fe4b - dw String_17fe03 - dw String_17fe03 - dw String_17fe03 -; 17f6af - -Palette_17f6af: ; 17f6af - RGB 5, 5, 16 - RGB 8, 19, 28 - RGB 0, 0, 0 - RGB 31, 31, 31 -; 17f6b7 - -Function17f6b7: ; 17f6b7 - ld a, [wc300] - call .bcd_two_digits - inc hl - ld a, [wc302] - and $f - call .bcd_digit - ld a, [wc301] - call .bcd_two_digits - ret -; 17f6cd - -.bcd_two_digits ; 17f6cd - ld c, a - and $f0 - swap a - call .bcd_digit - ld a, c - and $f - -.bcd_digit ; 17f6d8 - add "0" - ld [hli], a - ret -; 17f6dc - -String_17f6dc: ; 17f6dc - db "つうしんエラー ー@" -; 17f6e8 - -String_17f6e8: ; 17f6e8 - db "みていぎ", $25, "エラーです" - next "プログラム", $1f - next "かくにん してください" - db "@" -; 17f706 - -Table_17f706: - dw Unknown_17f74e - dw Unknown_17f753 - dw Unknown_17f758 - dw Unknown_17f75d - dw Unknown_17f762 - dw Unknown_17f767 - dw Unknown_17f778 - dw Unknown_17f77d - dw Unknown_17f782 - dw Unknown_17f782 - dw Unknown_17f782 - dw Unknown_17f782 - dw Unknown_17f782 - dw Unknown_17f782 - dw Unknown_17f782 - dw Unknown_17f782 - dw Unknown_17f782 - dw Unknown_17f787 - dw Unknown_17f78c - dw Unknown_17f791 - dw Unknown_17f796 - dw Unknown_17f79b - dw Unknown_17f7a0 - dw Unknown_17f7a5 - dw Unknown_17f7a5 - dw Unknown_17f7a5 - dw Unknown_17f7a5 - dw Unknown_17f7a5 - dw Unknown_17f7a5 - dw Unknown_17f7a5 - dw Unknown_17f7a5 - dw Unknown_17f7a5 - dw Unknown_17f7a5 - dw Unknown_17f7ea - dw Unknown_17f7ff - dw Unknown_17f844 - -Unknown_17f74e: db 1 - dbbw $0, $0, String_17f891 - -Unknown_17f753: db 1 - dbbw $0, $0, String_17f8d1 - -Unknown_17f758: db 1 - dbbw $0, $0, String_17f913 - -Unknown_17f75d: db 1 - dbbw $0, $0, String_17f8d1 - -Unknown_17f762: db 1 - dbbw $0, $0, String_17fa71 - -Unknown_17f767: db 4 - dbbw $0, $0, String_17f946 - dbbw $1, $0, String_17f946 - dbbw $2, $0, String_17f946 - dbbw $3, $0, String_17f946 - -Unknown_17f778: db 1 - dbbw $0, $0, String_17f98e - -Unknown_17f77d: db 1 - dbbw $0, $0, String_17f98e - -Unknown_17f782: db 1 - dbbw $0, $0, String_17f98e - -Unknown_17f787: db 1 - dbbw $0, $0, String_17f98e - -Unknown_17f78c: db 1 - dbbw $0, $0, String_17f9d0 - -Unknown_17f791: db 1 - dbbw $0, $0, String_17fa14 - -Unknown_17f796: db 1 - dbbw $0, $0, String_17fcbf - -Unknown_17f79b: db 1 - dbbw $0, $0, String_17fa71 - -Unknown_17f7a0: db 1 - dbbw $0, $0, String_17fbfe - -Unknown_17f7a5: db 17 - dbbw $0, $0, String_17f98e - dbbw $21, $2, String_17fcbf - dbbw $21, $4, String_17fcbf - dbbw $50, $4, String_17faf9 - dbbw $51, $4, String_17fcbf - dbbw $52, $4, String_17fcbf - dbbw $0, $5, String_17f98e - dbbw $1, $5, String_17f98e - dbbw $2, $5, String_17f98e - dbbw $3, $5, String_17f98e - dbbw $4, $5, String_17f98e - dbbw $50, $5, String_17faf9 - dbbw $51, $5, String_17faf9 - dbbw $52, $5, String_17fcbf - dbbw $53, $5, String_17faf9 - dbbw $54, $5, String_17fcbf - dbbw $ff, $ff, String_17fcbf - -Unknown_17f7ea: db 5 - dbbw $0, $0, String_17f98e - dbbw $2, $0, String_17fb2a - dbbw $3, $0, String_17fb6e - dbbw $4, $0, String_17f98e - dbbw $ff, $ff, String_17fcbf - -Unknown_17f7ff: db 17 - dbbw $0, $0, String_17f98e - dbbw $1, $3, String_17f98e - dbbw $2, $3, String_17f98e - dbbw $0, $4, String_17f98e - dbbw $1, $4, String_17f98e - dbbw $3, $4, String_17fbb6 - dbbw $4, $4, String_17fbb6 - dbbw $5, $4, String_17f98e - dbbw $6, $4, String_17f98e - dbbw $7, $4, String_17f98e - dbbw $8, $4, String_17fbfe - dbbw $0, $5, String_17fa49 - dbbw $1, $5, String_17f98e - dbbw $2, $5, String_17fa49 - dbbw $3, $5, String_17fab0 - dbbw $4, $5, String_17fa49 - dbbw $ff, $ff, String_17fa49 - -Unknown_17f844: db 19 - dbbw $1, $1, String_17fc3e - dbbw $2, $1, String_17fc88 - dbbw $3, $1, String_17fcff - dbbw $4, $1, String_17fd84 - dbbw $5, $1, String_17fd84 - dbbw $6, $1, String_17fd47 - dbbw $1, $2, String_17fb6e - dbbw $2, $2, String_17f98e - dbbw $3, $2, String_17fd84 - dbbw $4, $2, String_17f98e - dbbw $5, $2, String_17fa49 - dbbw $6, $2, String_17fd84 - dbbw $99, $2, String_17fc88 - dbbw $1, $3, String_17fa49 - dbbw $1, $4, String_17fa49 - dbbw $2, $4, String_17fa49 - dbbw $3, $4, String_17fa49 - dbbw $4, $4, String_17fa49 - dbbw $ff, $ff, String_17fa49 - -String_17f891: ; 17f891 - db "モバイルアダプタが ただしく" - next "さしこまれていません" - next "とりあつかいせつめいしょを" - next "ごらんのうえ しっかりと" - next "さしこんで ください" - db "@" - -String_17f8d1: ; 17f8d1 - db "でんわが うまく かけられないか" - next "でんわかいせんが こんでいるので" - next "つうしん できません" - next "しばらく まって" - next "かけなおして ください" - db "@" - -String_17f913: ; 17f913 - db "でんわかいせんが こんでいるため" - next "でんわが かけられません" - next "しばらく まって" - next "かけなおして ください" - db "@" - -String_17f946: ; 17f946 - db "モバイルアダプタの エラーです" - next "しばらく まって" - next "かけなおして ください" - next "なおらない ときは" - next "モバイルサポートセンターへ" - next "おといあわせください" - db "@" - -String_17f98e: ; 17f98e - db "つうしんエラーです" - next "しばらく まって" - next "かけなおして ください" - next "なおらない ときは" - next "モバイルサポートセンターへ" - next "おといあわせください" - db "@" - -String_17f9d0: ; 17f9d0 - db "ログインパスワードか" - next "ログイン アイディーに" - next "まちがいがあります" - next "パスワードを かくにんして" - next "しばらく まって" - next "かけなおして ください" - db "@" - -String_17fa14: ; 17fa14 - db "でんわが きれました" - next "とりあつかいせつめいしょを" - next "ごらんのうえ" - next "しばらく まって" - next "かけなおして ください" - db "@" - -String_17fa49: ; 17fa49 - db "モバイルセンターの" - next "つうしんエラーです" - next "しばらくまって" - next "かけなおして ください" - db "@" - -String_17fa71: ; 17fa71 - db "モバイルアダプタに" - next "とうろくされた じょうほうが" - next "ただしく ありません" - next "モバイルトレーナーで" - next "しょきとうろくを してください" - db "@" - -String_17fab0: ; 17fab0 - db "モバイルセンターが" - next "こんでいて つながりません" - next "しばらくまって" - next "かけなおして ください" - next "くわしくは とりあつかい" - next "せつめいしょを ごらんください" - db "@" - -String_17faf9: ; 17faf9 - db "あてさき メールアドレスに" - next "まちがいがあります" - next "ただしい メールアドレスを" - next "いれなおしてください" - db "@" - -String_17fb2a: ; 17fb2a - db "メールアドレスに" - next "まちがいが あります" - next "とりあつかいせつめいしょを" - next "ごらんのうえ" - next "モバイルトレーナーで" - next "しょきとうろくを してください" - db "@" - -String_17fb6e: ; 17fb6e - db "ログインパスワードに" - next "まちがいが あるか" - next "モバイルセンターの エラーです" - next "パスワードを かくにんして" - next "しばらく まって" - next "かけなおして ください" - db "@" - -String_17fbb6: ; 17fbb6 - db "データの よみこみが できません" - next "しばらくまって" - next "かけなおして ください" - next "なおらない ときは" - next "モバイルサポートセンターへ" - next "おといあわせください" - db "@" - -String_17fbfe: ; 17fbfe - db "じかんぎれです" - next "でんわが きれました" - next "でんわを かけなおしてください" - next "くわしくは とりあつかい" - next "せつめいしょを ごらんください" - db "@" - -String_17fc3e: ; 17fc3e - db "ごりよう りょうきんの " - next "おしはらいが おくれたばあいには" - next "ごりようが できなくなります" - next "くわしくは とりあつかい" - next "せつめいしょを ごらんください" - db "@" - -String_17fc88: ; 17fc88 - db "おきゃくさまの ごつごうにより" - next "ごりようできません" - next "くわしくは とりあつかい" - next "せつめいしょを ごらんください" - db "@" - -String_17fcbf: ; 17fcbf - db "でんわかいせんが こんでいるか" - next "モバイルセンターの エラーで" - next "つうしんが できません" - next "しばらく まって" - next "かけなおして ください" - db "@" - -String_17fcff: ; 17fcff - db "ごりよう りょうきんが" - next "じょうげんを こえているため" - next "こんげつは ごりようできません" - next "くわしくは とりあつかい" - next "せつめいしょを ごらんください" - db "@" - -String_17fd47: ; 17fd47 - db "げんざい モバイルセンターの" - next "てんけんを しているので" - next "つうしんが できません" - next "しばらく まって" - next "かけなおして ください" - db "@" - -String_17fd84: ; 17fd84 - db "データの よみこみが できません" - next "くわしくは とりあつかい" - next "せつめいしょを ごらんください" - db "@" - - -String_17fdb2: ; 17fdb2 - db "3ぷん いじょう なにも" - next "にゅうりょく しなかったので" - next "でんわが きれました" - db "@" - -String_17fdd9: ; 17fdd9 - db "つうしんが うまく" - next "できませんでした" - next "もういちど はじめから" - next "やりなおしてください" - db "@" - -String_17fe03: ; 17fe03 - db "データの よみこみが できません" - next "しばらくまって" - next "かけなおして ください" - next "なおらない ときは" - next "モバイルサポートセンターへ" - next "おといあわせください" - db "@" - -String_17fe4b: ; 17fe4b - db "まちじかんが ながいので" - next "でんわが きれました" - db "@" - -String_17fe63: ; 17fe63 - db "あいての モバイルアダプタと" - next "タイプが ちがいます" - next "くわしくは とりあつかい" - next "せつめいしょを ごらんください" - db "@" - -String_17fe9a: ; 17fe9a ; unreferenced - db "ポケモンニュースが" - next "あたらしくなっているので" - next "レポートを おくれません" - next "あたらしい ポケモンニュースの" - next "よみこみを さきに してください" - db "@" - -String_17fedf: ; 17fedf - db "つうしんの じょうきょうが" - next "よくないか かけるあいてが" - next "まちがっています" - next "もういちど かくにんをして" - next "でんわを かけなおして ください" - db "@" -; 17ff23 - -Function17ff23: ; 17ff23 - ld a, [hJoyPressed] - and a - ret z - ld a, $8 - ld [MusicFade], a - ld a, [wMapMusic] - ld [MusicFadeID], a - xor a - ld [MusicFadeID + 1], a - ld hl, wc303 - set 7, [hl] - ret -; 17ff3c - -Function17ff3c: ; 17ff3c - nop - ld a, [wc300] - cp $d0 - ret c - hlcoord 10, 2 - ld de, String_17ff68 - call PlaceString - ld a, [wc300] - push af - sub $d0 - inc a - ld [wc300], a - hlcoord 14, 2 - ld de, wc300 - lb bc, PRINTNUM_LEADINGZEROS | 1, 3 - call PrintNum - pop af - ld [wc300], a - and a - ret -; 17ff68 - -String_17ff68: ; 17ff68 - db "101@" -; 17ff6c diff --git a/misc/mobile_menu.asm b/misc/mobile_menu.asm deleted file mode 100755 index 1bee0cced..000000000 --- a/misc/mobile_menu.asm +++ /dev/null @@ -1,879 +0,0 @@ -MainMenu_Mobile: ; 49efc - call ClearBGPalettes - ld a, MUSIC_MOBILE_ADAPTER_MENU - ld [wMapMusic], a - ld de, MUSIC_MOBILE_ADAPTER_MENU - call Function4a6c5 -Function49f0a: ; 49f0a - call ClearBGPalettes - call Function4a3a7 - call Function4a492 - call ClearBGPalettes -Function49f16: ; 49f16 - call MobileMenu_InitMenuBuffers - ld c, 12 - call DelayFrames - hlcoord 4, 0 - ld b, 10 - ld c, 10 - call Function48cdc - hlcoord 6, 2 - ld de, MobileString1 - call PlaceString - hlcoord 0, 12 - ld b, 4 - ld c, SCREEN_HEIGHT - call TextBox - xor a - ld de, String_0x49fe9 - hlcoord 1, 14 - call PlaceString - call WaitBGMap2 - call SetPalettes - call StaticMenuJoypad - ld hl, wMenuCursorY - ld b, [hl] - push bc - jr .check_buttons - -.joy_loop - call ScrollingMenuJoypad - ld hl, wMenuCursorY - ld b, [hl] - push bc - -.check_buttons - bit A_BUTTON_F, a - jr nz, .a_button - bit B_BUTTON_F, a - jr nz, .b_button - jr .next - -.a_button - ld hl, wMenuCursorY - ld a, [hl] - cp 1 - jp z, Function4a098 - cp 2 - jp z, Function4a0b9 - cp 3 - jp z, Function4a0c2 - cp 4 - jp z, Function4a100 - ld a, 1 - call MenuClickSound -.b_button - pop bc - call ClearBGPalettes - call ClearTileMap - ld a, MUSIC_MAIN_MENU - ld [wMapMusic], a - ld de, MUSIC_MAIN_MENU - call Function4a6c5 - ret - -.next - ld hl, wMenuCursorY - ld a, [hl] - dec a - ld hl, MobileStrings2 - call GetNthString - ld d, h - ld e, l - hlcoord 1, 13 - ld b, 4 - ld c, SCREEN_HEIGHT - call ClearBox - hlcoord 1, 14 - call PlaceString - jp .useless_jump - -.useless_jump - call MobileMenu_InitMenuBuffers - pop bc - ld hl, wMenuCursorY - ld [hl], b - ld b, $a - ld c, $1 - hlcoord 5, 1 - call ClearBox - jp .joy_loop -; 49fcc - - -MobileString1: ; 49fcc - db "めいしフ,ルダー" - next "あいさつ" - next "プロフィール" - next "せ", $1e, "い" - next "もどる" - db "@" -; 49fe9 - - -MobileStrings2: - -String_0x49fe9: ; 49fe9 - db "めいし¯つくったり" - next "ほぞんしておける フ,ルダーです@" -; 4a004 - -String_0x4a004: ; 4a004 - db "モバイルたいせんや じぶんのめいしで" - next "つかう あいさつ¯つくります@" -; 4a026 - -String_0x4a026: ; 4a026 - db "あなた%じゅうしょや ねんれいの" - next "せ", $1e, "い¯かえられます@" -; 4a042 - -String_0x4a042: ; 4a042 - db "モバイルセンター", $1d, "せつぞくするとき" - next "ひつような こと¯きめます@" -; 4a062 - -String_0x4a062: ; 4a062 - db "まえ%がめん ", $1d, "もどります" - next "@" -; 4a071 - -MobileMenu_InitMenuBuffers: ; 4a071 (12:6071) - ld hl, w2DMenuCursorInitY - ld a, 2 - ld [hli], a - ld a, 5 ; w2DMenuCursorInitX - ld [hli], a - ld a, 5 ; w2DMenuNumRows - ld [hli], a - ld a, 1 ; w2DMenuNumCols - ld [hli], a - ld [hl], $0 ; w2DMenuFlags1 - set 5, [hl] - inc hl - xor a ; w2DMenuFlags2 - ld [hli], a - ld a, $20 ; w2DMenuCursorOffsets - ld [hli], a - ; this is a stupid way to load $c3 - ld a, A_BUTTON - add D_UP - add D_DOWN - add B_BUTTON - ld [hli], a ; wMenuJoypadFilter - ld a, 1 - ld [hli], a ; wMenuCursorY, wMenuCursorX - ld [hli], a ; wMenuCursorY, wMenuCursorX - ret - -Function4a098: ; 4a098 (12:6098) - ld a, 2 - call MenuClickSound - call PlaceHollowCursor - call WaitBGMap - call LoadStandardMenuDataHeader - callba Function89de0 - call Call_ExitMenu - call MG_Mobile_Layout_LoadPals - call Function4a485 - pop bc - jp Function49f16 - -Function4a0b9: ; 4a0b9 (12:60b9) - ld a, 2 - call MenuClickSound - pop bc - jp Function4a4c4 - -Function4a0c2: ; 4a0c2 (12:60c2) - ld a, 2 - call MenuClickSound - ld a, BANK(sPlayerData) - call GetSRAMBank - ld hl, sPlayerData + PlayerName - wPlayerData - ld de, PlayerName - ld bc, 6 ; japanese name length - call CopyBytes - call CloseSRAM - callba _LoadData - ld c, 2 - call DelayFrames - ld c, $1 - call InitMobileProfile - push af - call ClearBGPalettes - pop af - and a - jr nz, .skip_save - callba _SaveData -.skip_save - ld c, 5 - call DelayFrames - jr asm_4a111 - -Function4a100: ; 4a100 (12:6100) - ld a, 2 - call MenuClickSound - call ClearBGPalettes - call Function4a13b - call ClearBGPalettes - call ClearTileMap - -asm_4a111: ; 4a111 (12:6111) - pop bc - call LoadFontsExtra - jp Function49f0a - -Function4a118: ; 4a118 (12:6118) - ld hl, w2DMenuCursorInitY - ld a, $1 - ld [hli], a - ld a, $d - ld [hli], a - ld a, $3 - ld [hli], a - ld a, $1 - ld [hli], a - ld [hl], $0 - set 5, [hl] - inc hl - xor a - ld [hli], a - ld a, $20 - ld [hli], a - ld a, $1 - add $2 - ld [hli], a - ld a, $1 - ld [hli], a - ld [hli], a - ret - -Function4a13b: ; 4a13b (12:613b) - call Function4a3a7 - call Function4a492 - call Function4a373 - ld c, 10 - call DelayFrames - -Function4a149: ; 4a149 (12:6149) - hlcoord 1, 2 - ld b, $6 - ld c, $10 - call Function48cdc - hlcoord 3, 4 - ld de, String_4a1ef - call PlaceString - hlcoord 0, 12 - ld b, $4 - ld c, $12 - call TextBox - ld a, [wMenuCursorY] - dec a - ld hl, Strings_4a23d - call GetNthString - ld d, h - ld e, l - hlcoord 1, 13 - ld b, $4 - ld c, $12 - call ClearBox - hlcoord 1, 14 - call PlaceString - callba Mobile_OpenAndCloseMenu_HDMATransferTileMapAndAttrMap - call SetPalettes - call StaticMenuJoypad - ld hl, wMenuCursorY - ld b, [hl] - push bc - jr asm_4a19d - -Function4a195: ; 4a195 (12:6195) - call ScrollingMenuJoypad - ld hl, wMenuCursorY - ld b, [hl] - push bc - -asm_4a19d: ; 4a19d (12:619d) - bit 0, a - jr nz, .asm_4a1a7 - bit 1, a - jr nz, .asm_4a1ba - jr .asm_4a1bc -.asm_4a1a7 - ld hl, wMenuCursorY - ld a, [hl] - cp $1 - jp z, Function4a20e - cp $2 - jp z, Function4a221 - ld a, $1 - call MenuClickSound -.asm_4a1ba - pop bc - ret -.asm_4a1bc - ld hl, wMenuCursorY - ld a, [hl] - dec a - ld hl, Strings_4a23d - call GetNthString - ld d, h - ld e, l - hlcoord 1, 13 - ld b, $4 - ld c, $12 - call ClearBox - hlcoord 1, 14 - call PlaceString - jr .asm_4a1db -.asm_4a1db - call Function4a373 - pop bc - ld hl, wMenuCursorY - ld [hl], b - lb bc, 6, 1 - hlcoord 2, 3 - call ClearBox - jp Function4a195 -; 4a1ef (12:61ef) - -String_4a1ef: ; 4a1ef - db "モバイルセンター¯えらぶ" - next "ログインパスワード¯いれる" - next "もどる@" -; 4a20e - -Function4a20e: ; 4a20e (12:620e) - ld a, $1 - call MenuClickSound - callba Function1719c8 - call ClearBGPalettes - call DelayFrame - jr Function4a239 - -Function4a221: ; 4a221 (12:6221) - ld a, $1 - call MenuClickSound - call Function4a28a - jr c, Function4a239 - call Function4a373 - ld a, $2 - ld [wMenuCursorY], a - jr .asm_4a235 -.asm_4a235 - pop bc - jp Function4a149 - -Function4a239: ; 4a239 (12:6239) - pop bc - jp Function4a13b -; 4a23d (12:623d) - -Strings_4a23d: ; 4a23d - db "いつも せつぞく¯する" - next "モバイルセンター¯えらびます@" - - db "モバイルセンター", $1d, "せつぞくするとき" - next "つかうパスワード¯ほぞんできます@" - - db "まえ%がめん ", $1d, "もどります@" - - db "@" -; 4a28a - -Function4a28a: ; 4a28a (12:628a) - hlcoord 2, 3 - lb bc, 6, 1 - ld a, " " - call Function4a6d8 - call PlaceHollowCursor - call WaitBGMap - call LoadStandardMenuDataHeader - ld a, $5 - call GetSRAMBank - ld a, [$aa4b] - call CloseSRAM - and a - jr z, .asm_4a2df - hlcoord 12, 0 - ld b, $5 - ld c, $6 - call Function48cdc - hlcoord 14, 1 - ld de, String_4a34b - call PlaceString - callba Mobile_OpenAndCloseMenu_HDMATransferTileMapAndAttrMap - call Function4a118 - call ScrollingMenuJoypad - push af - call PlayClickSFX - pop af - bit B_BUTTON_F, a - jr nz, .quit - ld a, [wMenuCursorY] - cp $2 - jr z, .DeleteLoginPassword - cp $3 - jr z, .quit -.asm_4a2df - callba Function11765d - call ClearBGPalettes - call Call_ExitMenu - call LoadFontsExtra - scf - ret - -.DeleteLoginPassword: - call PlaceHollowCursor - ld hl, UnknownText_0x4a358 - call PrintText - hlcoord 14, 7 - ld b, 3 - ld c, 4 - call TextBox - callba Mobile_OpenAndCloseMenu_HDMATransferTileMapAndAttrMap - ld hl, DeletePassword_YesNo_MenuDataHeader - call LoadMenuDataHeader - call VerticalMenu - bit B_BUTTON_F, a - jr nz, .dont_delete_password - ld a, [wMenuCursorY] - cp $2 - jr z, .dont_delete_password - ld a, BANK(sMobileLoginPassword) - call GetSRAMBank - ld hl, sMobileLoginPassword - xor a - ld bc, MOBILE_LOGIN_PASSWORD_LENGTH - call ByteFill - call CloseSRAM - ld hl, UnknownText_0x4a35d - call PrintText - call JoyWaitAorB -.dont_delete_password - call ExitMenu -.quit - call Call_ExitMenu - callba Mobile_OpenAndCloseMenu_HDMATransferTileMapAndAttrMap - xor a - ret -; 4a346 (12:6346) - -MenuDataHeader_0x4a346: ; 0x4a346 - db $40 ; flags - db 00, 12 ; start coords - db 06, 19 ; end coords - -String_4a34b: ; 4a34b - db "いれなおす" - next "けす" - next "もどる@" -; 4a358 - -UnknownText_0x4a358: ; 0x4a358 - ; Delete the saved LOG-IN PASSWORD? - text_jump UnknownText_0x1c5196 - db "@" -; 0x4a35d - -UnknownText_0x4a35d: ; 0x4a35d - ; Deleted the LOG-IN PASSWORD. - text_jump UnknownText_0x1c51b9 - db "@" -; 0x4a362 - -DeletePassword_YesNo_MenuDataHeader: ; 0x4a362 - db $40 ; flags - db 07, 14 ; start coords - db 11, 19 ; end coords - dw MenuData2_0x4a36a - db 2 ; default option -; 0x4a36a - -MenuData2_0x4a36a: ; 0x4a36a - db $e0 ; flags - db 2 ; items - db "はい@" - db "いいえ@" -; 0x4a373 - -Function4a373: ; 4a373 (12:6373) - ld hl, w2DMenuCursorInitY - ld a, $4 - ld [hli], a - ld a, $2 - ld [hli], a - ld a, $3 - ld [hli], a - ld a, $1 - ld [hli], a - ld [hl], $0 - set 5, [hl] - inc hl - xor a - ld [hli], a - ld a, $20 - ld [hli], a - ld a, $1 - add $40 - add $80 - add $2 - ld [hli], a - ld a, $1 - ld [hli], a - ld [hli], a - ret -; 4a39a (12:639a) - -Function4a39a: ; 4a39a - call Function4a485 - call Function4a492 - call Function4a3aa - call SetPalettes - ret -; 4a3a7 - -Function4a3a7: ; 4a3a7 (12:63a7) - call Function4a485 -Function4a3aa: ; 4a3aa - hlcoord 0, 0 - lb bc, 3, 1 - xor a - call Function4a6d8 - lb bc, 1, 1 - ld a, $1 - call Function4a6d8 - lb bc, 1, 1 - xor a - call Function4a6d8 - lb bc, 1, 1 - ld a, $1 - call Function4a6d8 - lb bc, 4, 1 - ld a, $2 - call Function4a6d8 - lb bc, 1, 1 - ld a, $3 - call Function4a6d8 - lb bc, 1, 1 - ld a, " " - call Function4a6d8 - hlcoord 1, 0 - ld a, $1 - lb bc, 3, 18 - call Function4a6d8 - lb bc, 1, 18 - ld a, $0 - call Function4a6d8 - lb bc, 1, 18 - ld a, $1 - call Function4a6d8 - lb bc, 1, 18 - ld a, $2 - call Function4a6d8 - lb bc, 11, 18 - ld a, " " - call Function4a6d8 - hlcoord 19, 0 - lb bc, 3, 1 - ld a, $0 - call Function4a6d8 - lb bc, 1, 1 - ld a, $1 - call Function4a6d8 - lb bc, 1, 1 - xor a - call Function4a6d8 - lb bc, 1, 1 - ld a, $1 - call Function4a6d8 - lb bc, 4, 1 - ld a, $2 - call Function4a6d8 - lb bc, 1, 1 - ld a, $3 - call Function4a6d8 - lb bc, 1, 1 - ld a, " " - call Function4a6d8 - ret -; 4a449 (12:6449) - -Function4a449: ; 4a449 - ld bc, 3 * SCREEN_WIDTH - ld a, $0 - hlcoord 0, 0 - call ByteFill - ld bc, 2 * SCREEN_WIDTH - ld a, $1 - call ByteFill - ld bc, 2 * SCREEN_WIDTH - ld a, $0 - call ByteFill - ld bc, 2 * SCREEN_WIDTH - ld a, $1 - call ByteFill - ld bc, SCREEN_WIDTH - ld a, $2 - call ByteFill - ld bc, SCREEN_WIDTH - ld a, $3 - call ByteFill - ld bc, SCREEN_WIDTH - ld a, " " - call ByteFill - ret -; 4a485 - -Function4a485: ; 4a485 (12:6485) - ld de, GFX_49c0c - ld hl, VTiles2 tile $00 - lb bc, BANK(GFX_49c0c), 13 - call Get2bpp - ret - -Function4a492: ; 4a492 (12:6492) - call MG_Mobile_Layout00 - ret - - -MainMenu_MobileStudium: ; 4a496 - ld a, [StartDay] - ld b, a - ld a, [StartHour] - ld c, a - ld a, [StartMinute] - ld d, a - ld a, [StartSecond] - ld e, a - push bc - push de - callba MobileStudium - call ClearBGPalettes - pop de - pop bc - ld a, b - ld [StartDay], a - ld a, c - ld [StartHour], a - ld a, d - ld [StartMinute], a - ld a, e - ld [StartSecond], a - ret -; 4a4c4 - - -Function4a4c4: ; 4a4c4 (12:64c4) - call ClearBGPalettes - call Function4a3a7 - call Function4a492 - call Function4a680 - call ClearBGPalettes - ld c, 20 - call DelayFrames - hlcoord 2, 0 - ld b, $a - ld c, $e - call Function48cdc - hlcoord 4, 2 - ld de, String_4a5c5 - call PlaceString - hlcoord 4, 4 - ld de, String_4a5cd - call PlaceString - hlcoord 4, 6 - ld de, String_4a5da - call PlaceString - hlcoord 4, 8 - ld de, String_4a5e6 - call PlaceString - hlcoord 4, 10 - ld de, String_4a5f2 - call PlaceString - hlcoord 0, 12 - ld b, $4 - ld c, $12 - call TextBox - xor a - ld hl, Strings_4a5f6 - ld d, h - ld e, l - hlcoord 1, 14 - call PlaceString - ld a, $1 - ld hl, Strings_4a5f6 - call GetNthString - ld d, h - ld e, l - hlcoord 1, 16 - call PlaceString - call WaitBGMap2 - call SetPalettes - call StaticMenuJoypad - ld hl, wMenuCursorY - ld b, [hl] - push bc - jr asm_4a54d - -Function4a545: ; 4a545 (12:6545) - call ScrollingMenuJoypad - ld hl, wMenuCursorY - ld b, [hl] - push bc - -asm_4a54d: ; 4a54d (12:654d) - bit 0, a - jr nz, .asm_4a557 - bit 1, a - jr nz, .asm_4a574 - jr .asm_4a57e -.asm_4a557 - ld hl, wMenuCursorY - ld a, [hl] - cp $1 - jp z, Function4a6ab - cp $2 - jp z, Function4a6ab - cp $3 - jp z, Function4a6ab - cp $4 - jp z, Function4a6ab - ld a, $1 - call MenuClickSound -.asm_4a574 - pop bc - call ClearBGPalettes - call ClearTileMap - jp Function49f0a -.asm_4a57e - ld hl, wMenuCursorY - ld a, [hl] - dec a - add a - push af - ld hl, Strings_4a5f6 - call GetNthString - ld d, h - ld e, l - hlcoord 1, 13 - ld b, $4 - ld c, $12 - call ClearBox - hlcoord 1, 14 - call PlaceString - pop af - inc a - ld hl, Strings_4a5f6 - call GetNthString - ld d, h - ld e, l - hlcoord 1, 16 - call PlaceString - jp Function4a5b0 - -Function4a5b0: ; 4a5b0 (12:65b0) - call Function4a680 - pop bc - ld hl, wMenuCursorY - ld [hl], b - ld b, $a - ld c, $1 - hlcoord 3, 1 - call ClearBox - jp Function4a545 -; 4a5c5 (12:65c5) - -String_4a5c5: ; 4a5c5 - db "じこしょうかい@" -String_4a5cd: ; 4a5cd - db "たいせん ", $4a, "はじまるとき@" -String_4a5da: ; 4a5da - db "たいせん ", $1d, "かったとき@" -String_4a5e6: ; 4a5e6 - db "たいせん ", $1d, "まけたとき@" -String_4a5f2: ; 4a5f2 - db "もどる@" -; 4a5f6 - -Strings_4a5f6: ; 4a5f6 - db "めいし や ニュース ", $1d, "のせる@" - db "あなた%あいさつです@" - db "モバイル たいせん", $4a, "はじまるとき@" - db "あいて", $1d, "みえる あいさつです@" - db "モバイル たいせんで かったとき@" - db "あいて", $1d, "みえる あいさつです@" - db "モバイル たいせんで まけたとき@" - db "あいて", $1d, "みえる あいさつです@" - db "まえ%がめん ", $1d, "もどります@" - db "@" -; 4a680 - -Function4a680: ; 4a680 (12:6680) - ld hl, w2DMenuCursorInitY - ld a, $2 - ld [hli], a - ld a, $3 - ld [hli], a - ld a, $5 - ld [hli], a - ld a, $1 - ld [hli], a - ld [hl], $0 - set 5, [hl] - inc hl - xor a - ld [hli], a - ld a, $20 - ld [hli], a - ld a, $1 - add $40 - add $80 - add $2 - ld [hli], a - ld a, $1 - ld [hli], a - ld [hli], a - xor a - ld [hli], a - ld [hli], a - ld [hli], a - ret - -Function4a6ab: ; 4a6ab (12:66ab) - ld a, $2 - call MenuClickSound - call ClearBGPalettes - ld b, SCGB_DIPLOMA - call GetSGBLayout - callba Function11c1ab - pop bc - call LoadFontsExtra - jp Function4a4c4 - -Function4a6c5: ; 4a6c5 (12:66c5) - ld a, $5 - ld [MusicFade], a - ld a, e - ld [MusicFadeID], a - ld a, d - ld [MusicFadeID + 1], a - ld c, 22 - call DelayFrames - ret - -Function4a6d8: ; 4a6d8 (12:66d8) - push bc - push hl -.asm_4a6da - ld [hli], a - dec c - jr nz, .asm_4a6da - pop hl - ld bc, SCREEN_WIDTH - add hl, bc - pop bc - dec b - jr nz, Function4a6d8 - ret diff --git a/misc/printer_77.asm b/misc/printer_77.asm deleted file mode 100755 index 4f67909b0..000000000 --- a/misc/printer_77.asm +++ /dev/null @@ -1,356 +0,0 @@ -PrintPage1: ; 1dc1b0 - hlcoord 0, 0 - decoord 0, 0, wPrinterTileMapBuffer - ld bc, 17 * SCREEN_WIDTH - call CopyBytes - hlcoord 17, 1, wPrinterTileMapBuffer - ld a, $62 - ld [hli], a - inc a - ld [hl], a - hlcoord 17, 2, wPrinterTileMapBuffer - ld a, $64 - ld [hli], a - inc a - ld [hl], a - hlcoord 1, 9, wPrinterTileMapBuffer - ld a, " " - ld [hli], a - ld [hl], a - hlcoord 1, 10, wPrinterTileMapBuffer - ld a, $61 - ld [hli], a - ld [hl], a - hlcoord 2, 11, wPrinterTileMapBuffer - lb bc, 5, 18 - call ClearBox - ld a, [wd265] - dec a - call CheckCaughtMon - push af - ld a, [wd265] - ld b, a - ld c, 1 ; get page 1 - callba GetDexEntryPagePointer - pop af - ld a, b - hlcoord 1, 11, wPrinterTileMapBuffer - call nz, FarString - hlcoord 19, 0, wPrinterTileMapBuffer - ld [hl], $35 - ld de, SCREEN_WIDTH - add hl, de - ld b, $f -.column_loop - ld [hl], $37 - add hl, de - dec b - jr nz, .column_loop - ld [hl], $3a - ret -; 1dc213 - -PrintPage2: ; 1dc213 - hlcoord 0, 0, wPrinterTileMapBuffer - ld bc, 8 * SCREEN_WIDTH - ld a, " " - call ByteFill - hlcoord 0, 0, wPrinterTileMapBuffer - ld a, $36 - ld b, 6 - call .FillColumn - hlcoord 19, 0, wPrinterTileMapBuffer - ld a, $37 - ld b, 6 - call .FillColumn - hlcoord 0, 6, wPrinterTileMapBuffer - ld [hl], $38 - inc hl - ld a, $39 - ld bc, SCREEN_HEIGHT - call ByteFill - ld [hl], $3a - hlcoord 0, 7, wPrinterTileMapBuffer - ld bc, SCREEN_WIDTH - ld a, $32 - call ByteFill - ld a, [wd265] - dec a - call CheckCaughtMon - push af - ld a, [wd265] - ld b, a - ld c, 2 ; get page 2 - callba GetDexEntryPagePointer - pop af - hlcoord 1, 1, wPrinterTileMapBuffer - ld a, b - call nz, FarString - ret -; 1dc26a - -.FillColumn: ; 1dc26a - push de - ld de, SCREEN_WIDTH -.column_loop - ld [hl], a - add hl, de - dec b - jr nz, .column_loop - pop de - ret -; 1dc275 - -GBPrinterStrings: -GBPrinterString_Null: db "@" -GBPrinterString_CheckingLink: next " CHECKING LINK...@" -GBPrinterString_Transmitting: next " TRANSMITTING...@" -GBPrinterString_Printing: next " PRINTING...@" -GBPrinterString_PrinterError1: - db " Printer Error 1" - next "" - next "Check the Game Boy" - next "Printer Manual." - db "@" -GBPrinterString_PrinterError2: - db " Printer Error 2" - next "" - next "Check the Game Boy" - next "Printer Manual." - db "@" -GBPrinterString_PrinterError3: - db " Printer Error 3" - next "" - next "Check the Game Boy" - next "Printer Manual." - db "@" -GBPrinterString_PrinterError4: - db " Printer Error 4" - next "" - next "Check the Game Boy" - next "Printer Manual." - db "@" -; 1dc381 - -PrintPartyMonPage1: ; 1dc381 - call ClearBGPalettes - call ClearTileMap - call ClearSprites - xor a - ld [hBGMapMode], a - call LoadFontsBattleExtra - - ld de, MobileHPIcon - ld hl, VTiles2 tile $71 - lb bc, BANK(MobileHPIcon), 1 - call Request1bpp - - ld de, MobileLvIcon - ld hl, VTiles2 tile $6e - lb bc, BANK(MobileLvIcon), 1 - call Request1bpp - - ld de, ShinyIconGFX - ld hl, VTiles2 tile $3f - lb bc, BANK(ShinyIconGFX), 1 - call Get2bpp - - xor a - ld [MonType], a - callba CopyPkmnToTempMon - hlcoord 0, 7 - ld b, 9 - ld c, 18 - call TextBox - hlcoord 8, 2 - ld a, [TempMonLevel] - call PrintLevel_Force3Digits - hlcoord 12, 2 - ld [hl], "◀" ; Filled left triangle - inc hl - ld de, TempMonMaxHP - lb bc, 2, 3 - call PrintNum - ld a, [CurPartySpecies] - ld [wd265], a - ld [CurSpecies], a - ld hl, PartyMonNicknames - call Function1dc50e - hlcoord 8, 4 - call PlaceString - hlcoord 9, 6 - ld [hl], "/" - call GetPokemonName - hlcoord 10, 6 - call PlaceString - hlcoord 8, 0 - ld [hl], "№" - inc hl - ld [hl], "." - inc hl - ld de, wd265 - lb bc, PRINTNUM_LEADINGZEROS | 1, 3 - call PrintNum - hlcoord 1, 9 - ld de, String1dc550 - call PlaceString - ld hl, PartyMonOT - call Function1dc50e - hlcoord 4, 9 - call PlaceString - hlcoord 1, 11 - ld de, String1dc559 - call PlaceString - hlcoord 4, 11 - ld de, TempMonID - lb bc, PRINTNUM_LEADINGZEROS | 2, 5 - call PrintNum - hlcoord 1, 14 - ld de, String1dc554 - call PlaceString - hlcoord 7, 14 - ld a, [TempMonMoves + 0] - call Function1dc51a - call Function1dc52c - ld hl, TempMonDVs - predef GetUnownLetter - ld hl, wBoxAlignment - xor a - ld [hl], a - ld a, [CurPartySpecies] - cp UNOWN - jr z, .asm_1dc469 - inc [hl] - -.asm_1dc469 - hlcoord 0, 0 - call _PrepMonFrontpic - call WaitBGMap - ld b, SCGB_STATS_SCREEN_HP_PALS - call GetSGBLayout - call SetPalettes - ret -; 1dc47b - -PrintPartyMonPage2: ; 1dc47b - call ClearBGPalettes - call ClearTileMap - call ClearSprites - xor a - ld [hBGMapMode], a - call LoadFontsBattleExtra - xor a - ld [MonType], a - callba CopyPkmnToTempMon - hlcoord 0, 0 - ld b, 15 - ld c, 18 - call TextBox - ld bc, SCREEN_WIDTH - decoord 0, 0 - hlcoord 0, 1 - call CopyBytes - hlcoord 7, 0 - ld a, [TempMonMoves + 1] - call Function1dc51a - hlcoord 7, 2 - ld a, [TempMonMoves + 2] - call Function1dc51a - hlcoord 7, 4 - ld a, [TempMonMoves + 3] - call Function1dc51a - hlcoord 7, 7 - ld de, String1dc55d - call PlaceString - hlcoord 16, 7 - ld de, TempMonAttack - call .PrintTempMonStats - hlcoord 16, 9 - ld de, TempMonDefense - call .PrintTempMonStats - hlcoord 16, 11 - ld de, TempMonSpclAtk - call .PrintTempMonStats - hlcoord 16, 13 - ld de, TempMonSpclDef - call .PrintTempMonStats - hlcoord 16, 15 - ld de, TempMonSpeed - call .PrintTempMonStats - call WaitBGMap - ld b, SCGB_STATS_SCREEN_HP_PALS - call GetSGBLayout - call SetPalettes - ret -; 1dc507 - -.PrintTempMonStats: ; 1dc507 - lb bc, 2, 3 - call PrintNum - ret -; 1dc50e - -Function1dc50e: ; 1dc50e - ld bc, NAME_LENGTH - ld a, [CurPartyMon] - call AddNTimes - ld e, l - ld d, h - ret -; 1dc51a - -Function1dc51a: ; 1dc51a - and a - jr z, .no_move - - ld [wd265], a - call GetMoveName - jr .got_string - -.no_move - ld de, String1dc584 - -.got_string - call PlaceString - ret -; 1dc52c - -Function1dc52c: ; 1dc52c - callba GetGender - ld a, " " - jr c, .got_gender - ld a, "♂" - jr nz, .got_gender - ld a, "♀" - -.got_gender - hlcoord 17, 2 - ld [hl], a - ld bc, TempMonDVs - callba CheckShininess - ret nc - hlcoord 18, 2 - ld [hl], "" - ret -; 1dc550 - -String1dc550: ; 1dc550 - db "OT/@" - -String1dc554: ; 1dc554 - db "MOVE@" - -String1dc559: ; 1dc559 - db "№.@" - -String1dc55d: ; 1dc55d - db "ATTACK" - next "DEFENSE" - next "SPCL.ATK" - next "SPCL.DEF" - next "SPEED" - db "@" - -String1dc584: ; 1dc584 - db "------------@" -; 1dc591 diff --git a/misc/unused_title.asm b/misc/unused_title.asm deleted file mode 100644 index 6cd79237b..000000000 --- a/misc/unused_title.asm +++ /dev/null @@ -1,556 +0,0 @@ -UnusedTitleScreen: ; 10c000 - - call ClearBGPalettes - call ClearTileMap - call DisableLCD - xor a - ld [hBGMapMode], a - - ld hl, wJumptableIndex - ld [hli], a - ld [hli], a - ld [hli], a - ld [hl], a - - ld hl, UnusedTitleBG_GFX - ld de, VTiles2 - ld bc, VBGMap0 - VTiles2 - call CopyBytes - - ld hl, UnusedTitleBG_GFX + $800 - ld de, VTiles1 - ld bc, VTiles2 - VTiles1 - call CopyBytes - - ld hl, UnusedTitleFG_GFX - ld de, VTiles0 - ld bc, VTiles1 - VTiles0 - call CopyBytes - - ld hl, UnusedTitleBG_Tilemap - debgcoord 0, 0 - ld bc, 32 * 32 -.copy - ld a, 0 - ld [rVBK], a - ld a, [hli] - ld [de], a - ld a, 1 - ld [rVBK], a - ld a, [hli] - ld [de], a - inc de - dec bc - ld a, b - or c - jr nz, .copy - - ld hl, UnusedTitleFG_OAM - ld de, Sprites - ld bc, $a0 - call CopyBytes - - call EnableLCD - ld a, [rLCDC] - set 1, a - set 2, a - ld [rLCDC], a - - call DelayFrame - - ld a, [rSVBK] - push af - ld a, $5 - ld [rSVBK], a - - ld hl, UnusedTitleBG_Palettes - ld de, UnknBGPals - ld bc, $40 - call CopyBytes - - ld hl, UnusedTitleFG_Palettes - ld de, UnknOBPals - ld bc, $40 - call CopyBytes - - ld hl, UnusedTitleBG_Palettes - ld de, BGPals - ld bc, $40 - call CopyBytes - - ld hl, UnusedTitleFG_Palettes - ld de, OBPals - ld bc, $40 - call CopyBytes - - pop af - ld [rSVBK], a - - ld a, $1 - ld [hCGBPalUpdate], a - - ld de, MUSIC_TITLE - call PlayMusic - - ret -; 10c0b1 - -UnusedTitleBG_GFX: ; 10c0b1 -INCBIN "gfx/title/old_bg.2bpp" -; 10d0b1 - -UnusedTitleBG_Tilemap: ; 10d0b1 -; 32x32 (tile, attributes) - db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $01,$00, $02,$01, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 - db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $03,$00, $04,$00, $05,$01, $06,$01, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 - db $00,$00, $00,$00, $07,$05, $08,$05, $09,$05, $0a,$05, $0b,$00, $0c,$00, $0d,$00, $0e,$00, $0f,$01, $10,$01, $11,$01, $12,$01, $13,$05, $14,$05, $15,$05, $16,$05, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 - db $00,$00, $00,$00, $17,$04, $18,$04, $19,$04, $1a,$04, $1b,$00, $1c,$00, $1d,$02, $1e,$02, $1f,$07, $20,$07, $21,$01, $22,$01, $23,$04, $24,$04, $25,$04, $26,$04, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 - db $00,$00, $00,$00, $27,$04, $28,$04, $29,$04, $2a,$04, $2b,$00, $2c,$00, $2d,$03, $2e,$01, $2f,$01, $30,$01, $31,$01, $32,$01, $33,$04, $34,$04, $35,$04, $36,$04, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 - db $00,$00, $00,$00, $37,$04, $38,$04, $39,$04, $3a,$04, $3b,$00, $3c,$00, $3d,$01, $00,$00, $00,$00, $3e,$07, $3f,$01, $40,$01, $41,$04, $42,$04, $43,$04, $44,$04, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 - db $00,$00, $00,$00, $45,$04, $46,$04, $47,$04, $48,$04, $49,$00, $3c,$00, $4a,$01, $00,$00, $00,$00, $4b,$07, $3f,$01, $4c,$01, $4d,$06, $4e,$06, $4f,$06, $50,$06, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 - db $00,$00, $00,$00, $51,$04, $52,$06, $53,$06, $54,$06, $55,$00, $3c,$00, $56,$01, $00,$00, $00,$00, $57,$07, $58,$01, $59,$01, $5a,$06, $5b,$06, $5c,$06, $5d,$06, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 - db $00,$00, $00,$00, $5e,$06, $5f,$06, $60,$06, $61,$06, $62,$00, $63,$00, $64,$03, $65,$01, $66,$01, $67,$07, $68,$01, $69,$01, $26,$04, $6a,$06, $26,$04, $26,$04, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 - db $00,$00, $00,$00, $6b,$00, $6c,$05, $6d,$05, $6e,$05, $6f,$00, $70,$02, $71,$02, $72,$01, $73,$00, $74,$02, $75,$01, $76,$01, $77,$05, $78,$05, $79,$05, $6b,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 - db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $7a,$00, $7b,$00, $7c,$00, $7d,$00, $0f,$01, $7e,$01, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 - db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $a2,$00, $80,$00, $81,$00, $82,$00, $83,$00, $84,$07, $85,$01, $86,$01, $87,$01, $88,$01, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 - db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $89,$00, $8a,$00, $8b,$00, $8c,$07, $8d,$01, $8e,$01, $8f,$01, $90,$01, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 - db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $91,$01, $92,$01, $93,$01, $94,$01, $95,$01, $00,$00, $00,$00, $00,$00, $96,$05, $97,$05, $98,$05, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 - db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $99,$05, $9a,$05, $9b,$05, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 - db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $9c,$05, $9d,$05, $9e,$05, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 - db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $9f,$05, $a0,$05, $a1,$05, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 - db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 - db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 - db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 - db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 - db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 - db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 - db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 - db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 - db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 - db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $6b,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 - db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 - db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 - db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 - db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 - db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00 -; 10d8b1 - -UnusedTitleBG_Palettes: ; 10d8b1 - RGB 00, 00, 00 - RGB 25, 15, 28 - RGB 22, 11, 28 - RGB 19, 08, 26 - - RGB 00, 00, 00 - RGB 17, 07, 22 - RGB 13, 07, 16 - RGB 19, 08, 26 - - RGB 25, 15, 28 - RGB 22, 11, 28 - RGB 19, 08, 26 - RGB 17, 07, 22 - - RGB 22, 11, 28 - RGB 19, 08, 26 - RGB 17, 07, 22 - RGB 13, 07, 16 - - RGB 00, 00, 00 - RGB 31, 31, 31 - RGB 16, 16, 24 - RGB 02, 13, 21 - - RGB 00, 00, 00 - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 12, 12, 12 - - RGB 00, 00, 00 - RGB 01, 11, 23 - RGB 16, 16, 24 - RGB 02, 13, 21 - - RGB 00, 00, 00 - RGB 22, 10, 31 - RGB 19, 08, 26 - RGB 17, 07, 22 - - - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - - RGB 31, 31, 31 - RGB 20, 04, 20 - RGB 16, 08, 16 - RGB 24, 00, 24 - - rept 54 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - endr -; 10dab1 - -UnusedTitleFG_GFX: ; 10dab1 -INCBIN "gfx/title/old_fg.2bpp" -; 10eab1 - -UnusedTitleFG_Palettes: ; 10eab1 - RGB 00, 00, 00 - RGB 31, 31, 31 - RGB 16, 16, 24 - RGB 02, 13, 21 - - RGB 00, 00, 00 - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 12, 12, 12 - - RGB 00, 00, 00 - RGB 01, 11, 23 - RGB 16, 16, 24 - RGB 02, 13, 21 - - RGB 00, 00, 00 - RGB 31, 22, 00 - RGB 31, 27, 00 - RGB 31, 31, 00 - - RGB 00, 00, 00 - RGB 31, 31, 31 - RGB 16, 16, 24 - RGB 02, 13, 21 - - RGB 00, 00, 00 - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 12, 12, 12 - - RGB 00, 00, 00 - RGB 01, 11, 23 - RGB 16, 16, 24 - RGB 02, 13, 21 - - RGB 16, 31, 00 - RGB 22, 31, 00 - RGB 27, 31, 00 - RGB 31, 31, 00 - - - RGB 31, 00, 18 - RGB 31, 31, 31 - RGB 16, 16, 24 - RGB 02, 13, 21 - - RGB 00, 00, 00 - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 12, 12, 12 - - RGB 00, 00, 00 - RGB 01, 11, 23 - RGB 16, 16, 24 - RGB 02, 13, 21 - - RGB 16, 31, 00 - RGB 22, 31, 00 - RGB 27, 31, 00 - RGB 31, 31, 00 - - RGB 24, 18, 31 - RGB 31, 31, 00 - RGB 31, 31, 01 - RGB 31, 31, 03 - - RGB 31, 31, 05 - RGB 31, 31, 08 - RGB 31, 31, 10 - RGB 31, 31, 12 - - RGB 31, 31, 14 - RGB 31, 31, 16 - RGB 31, 31, 18 - RGB 31, 31, 20 - - RGB 31, 31, 22 - RGB 31, 31, 25 - RGB 31, 31, 27 - RGB 31, 31, 29 - - RGB 24, 06, 06 - RGB 01, 01, 01 - RGB 03, 03, 03 - RGB 05, 05, 05 - - RGB 08, 08, 08 - RGB 10, 10, 10 - RGB 12, 12, 12 - RGB 14, 14, 14 - - RGB 16, 16, 16 - RGB 18, 18, 18 - RGB 20, 20, 20 - RGB 22, 22, 22 - - RGB 25, 25, 25 - RGB 27, 27, 27 - RGB 29, 29, 29 - RGB 31, 31, 31 - - RGB 18, 24, 18 - RGB 31, 29, 01 - RGB 31, 27, 03 - RGB 31, 25, 05 - - RGB 31, 22, 08 - RGB 31, 20, 10 - RGB 31, 18, 12 - RGB 31, 16, 14 - - RGB 31, 14, 16 - RGB 31, 12, 18 - RGB 31, 10, 20 - RGB 31, 08, 22 - - RGB 31, 05, 25 - RGB 31, 03, 27 - RGB 31, 01, 29 - RGB 31, 00, 31 - - RGB 18, 06, 31 - RGB 00, 31, 31 - RGB 00, 31, 29 - RGB 00, 31, 27 - - RGB 00, 31, 25 - RGB 00, 31, 22 - RGB 00, 31, 20 - RGB 00, 31, 18 - - RGB 00, 31, 16 - RGB 00, 31, 14 - RGB 00, 31, 12 - RGB 00, 31, 10 - - RGB 00, 31, 08 - RGB 00, 31, 05 - RGB 00, 31, 03 - RGB 00, 31, 01 - - RGB 12, 31, 06 - RGB 00, 00, 31 - RGB 00, 01, 31 - RGB 00, 03, 31 - - RGB 00, 05, 31 - RGB 00, 08, 31 - RGB 00, 10, 31 - RGB 00, 12, 31 - - RGB 00, 14, 31 - RGB 00, 16, 31 - RGB 00, 18, 31 - RGB 00, 20, 31 - - RGB 00, 22, 31 - RGB 00, 25, 31 - RGB 00, 27, 31 - RGB 00, 29, 31 - - RGB 00, 00, 00 - RGB 06, 00, 04 - RGB 19, 02, 09 - RGB 28, 04, 11 - - RGB 31, 07, 16 - RGB 31, 17, 23 - RGB 31, 26, 30 - RGB 07, 05, 10 - - RGB 14, 10, 18 - RGB 20, 20, 25 - RGB 25, 27, 31 - RGB 09, 05, 06 - - RGB 23, 16, 13 - RGB 30, 23, 22 - RGB 31, 28, 28 - RGB 31, 31, 31 - - RGB 06, 31, 31 - RGB 04, 00, 04 - RGB 11, 02, 04 - RGB 17, 02, 04 - - RGB 24, 05, 04 - RGB 28, 07, 04 - RGB 31, 11, 04 - RGB 02, 01, 15 - - RGB 04, 11, 22 - RGB 12, 25, 25 - RGB 20, 31, 31 - RGB 09, 04, 03 - - RGB 22, 11, 08 - RGB 27, 19, 16 - RGB 30, 28, 26 - RGB 31, 31, 31 - - RGB 06, 18, 06 - RGB 04, 04, 02 - RGB 07, 07, 02 - RGB 18, 18, 04 - - RGB 24, 24, 06 - RGB 27, 27, 11 - RGB 31, 31, 20 - RGB 02, 03, 10 - - RGB 04, 05, 13 - RGB 06, 10, 25 - RGB 08, 15, 31 - RGB 04, 00, 06 - - RGB 11, 07, 14 - RGB 21, 16, 23 - RGB 29, 26, 31 - RGB 31, 31, 31 - - RGB 06, 00, 18 - RGB 00, 04, 03 - RGB 02, 09, 05 - RGB 11, 19, 07 - - RGB 16, 24, 08 - RGB 22, 31, 09 - RGB 24, 31, 18 - RGB 03, 01, 03 - - RGB 10, 04, 10 - RGB 20, 08, 20 - RGB 31, 17, 31 - RGB 01, 03, 06 - - RGB 05, 09, 10 - RGB 15, 21, 21 - RGB 23, 25, 25 - RGB 31, 31, 31 - - RGB 00, 18, 31 - RGB 00, 05, 07 - RGB 00, 08, 13 - RGB 00, 12, 17 - - RGB 01, 20, 24 - RGB 04, 27, 31 - RGB 14, 31, 31 - RGB 04, 02, 02 - - RGB 15, 01, 03 - RGB 26, 04, 07 - RGB 31, 13, 16 - RGB 00, 05, 02 - - RGB 01, 11, 03 - RGB 06, 21, 06 - RGB 13, 31, 16 - RGB 31, 31, 31 - - RGB 00, 06, 06 - RGB 00, 01, 08 - RGB 00, 05, 14 - RGB 00, 08, 19 - - RGB 02, 14, 26 - RGB 04, 21, 31 - RGB 06, 26, 31 - RGB 13, 00, 00 - - RGB 27, 07, 00 - RGB 31, 17, 05 - RGB 31, 25, 16 - RGB 02, 04, 00 - - RGB 07, 11, 03 - RGB 17, 19, 05 - RGB 27, 31, 16 - RGB 31, 31, 31 - - RGB 02, 00, 00 - RGB 04, 01, 06 - RGB 11, 03, 14 - RGB 16, 04, 19 - - RGB 20, 07, 22 - RGB 26, 12, 27 - RGB 26, 20, 31 - RGB 04, 07, 00 - - RGB 16, 20, 07 - RGB 24, 28, 15 - RGB 29, 31, 24 - RGB 05, 02, 02 - - RGB 15, 04, 02 - RGB 24, 11, 10 - RGB 31, 22, 20 - RGB 31, 31, 31 - - RGB 00, 00, 14 - RGB 12, 00, 00 - RGB 27, 05, 00 - RGB 31, 15, 05 - - RGB 31, 26, 13 - RGB 31, 30, 21 - RGB 05, 07, 16 - RGB 04, 16, 20 - - RGB 04, 24, 26 - RGB 08, 31, 31 - RGB 23, 31, 31 - RGB 00, 00, 00 - - RGB 05, 05, 05 - RGB 17, 17, 15 - RGB 28, 28, 24 - RGB 31, 31, 31 -; 10ecb1 - -UnusedTitleFG_OAM: ; 10ecb1 - db $18, $38, $00, $01, $18, $40, $02, $01, $18, $48, $04, $01, $18, $50, $06, $01 - db $18, $58, $08, $01, $18, $60, $0a, $01, $18, $68, $0c, $01, $18, $70, $0e, $01 - - db $28, $38, $10, $00, $28, $40, $12, $00, $28, $48, $14, $00, $28, $50, $16, $00 - db $28, $58, $18, $00, $28, $60, $1a, $00, $28, $68, $1c, $00, $28, $70, $1e, $00 - - db $38, $38, $20, $00, $38, $40, $22, $00, $38, $48, $24, $00, $38, $50, $26, $00 - db $38, $58, $28, $00, $38, $60, $2a, $00, $38, $68, $2c, $00, $38, $70, $2e, $00 - - db $48, $38, $30, $02, $48, $40, $32, $02, $48, $48, $34, $02, $48, $50, $36, $02 - db $48, $58, $38, $02, $48, $60, $3a, $02, $48, $68, $3c, $02, $48, $70, $3e, $02 - - db $58, $38, $40, $01, $58, $40, $42, $01, $58, $48, $44, $01, $58, $50, $46, $01 - db $58, $58, $48, $01, $58, $60, $4a, $01, $58, $68, $4c, $01, $58, $70, $4e, $01 -; 10ed51 - - -Function10ed51: ; 10ed51 - call _TitleScreen -.loop - call JoyTextDelay - ld a, [hJoyLast] - ld b, a - and 1 - jr nz, .done - call SuicuneFrameIterator - call DelayFrame - jr .loop -.done - ret -; 10ed67 diff --git a/mobile/fixed_words.asm b/mobile/fixed_words.asm new file mode 100755 index 000000000..56e53da91 --- /dev/null +++ b/mobile/fixed_words.asm @@ -0,0 +1,4294 @@ +; These functions seem to be related to the selection of preset phrases +; for use in mobile communications. Annoyingly, they separate the +; Battle Tower function above from the data it references. +Function11c05d: ; 11c05d + ld a, e + or d + jr z, .error + ld a, e + and d + cp $ff + jr z, .error + push hl + call CopyMobileEZChatToC608 + pop hl + call PlaceString + and a + ret + +.error + ld c, l + ld b, h + scf + ret +; 11c075 + +Function11c075: ; 11c075 + push de + ld a, c + call Function11c254 + pop de + ld bc, wcd36 + call Function11c08f + ret +; 11c082 + +Function11c082: ; 11c082 +; XXX + push de + ld a, c + call Function11c254 + pop de + ld bc, wcd36 + call PrintEZChatBattleMessage + ret +; 11c08f + +Function11c08f: ; 11c08f + ld l, e + ld h, d + push hl + ld a, 3 +.loop + push af + ld a, [bc] + ld e, a + inc bc + ld a, [bc] + ld d, a + inc bc + push bc + call Function11c05d + jr c, .okay + inc bc + +.okay + ld l, c + ld h, b + pop bc + pop af + dec a + jr nz, .loop + pop hl + ld de, 2 * SCREEN_WIDTH + add hl, de + ld a, $3 +.loop2 + push af + ld a, [bc] + ld e, a + inc bc + ld a, [bc] + ld d, a + inc bc + push bc + call Function11c05d + jr c, .okay2 + inc bc + +.okay2 + ld l, c + ld h, b + pop bc + pop af + dec a + jr nz, .loop2 + ret +; 11c0c6 + +PrintEZChatBattleMessage: ; 11c0c6 +; Use up to 6 words from bc to print text starting at de. + ; Preserve $cf63, $cf64 + ld a, [wJumptableIndex] + ld l, a + ld a, [wcf64] + ld h, a + push hl + ; reset value at c618 (not preserved) + ld hl, $c618 + ld a, $0 + ld [hli], a + ; preserve de + push de + ; $cf63 keeps track of which line we're on (0, 1, or 2) + ; $cf64 keeps track of how much room we have left in the current line + xor a + ld [wJumptableIndex], a + ld a, 18 + ld [wcf64], a + ld a, $6 ; up to 6 times +.loop + push af + ; load the 2-byte word data pointed to by bc + ld a, [bc] + ld e, a + inc bc + ld a, [bc] + ld d, a + inc bc + ; if $0000, we're done + or e + jr z, .done + ; preserving hl and bc, get the length of the word + push hl + push bc + call CopyMobileEZChatToC608 + call GetLengthOfWordAtC608 + ld e, c + pop bc + pop hl + ; if the functions return 0, we're done + ld a, e + or a + jr z, .done +.loop2 + ; e contains the length of the word + ; add 1 for the space, unless we're at the start of the line + ld a, [wcf64] + cp 18 + jr z, .skip_inc + inc e + +.skip_inc + ; if the word fits, put it on the same line + cp e + jr nc, .same_line + ; otherwise, go to the next line + ld a, [wJumptableIndex] + inc a + ld [wJumptableIndex], a + ; if we're on line 2, insert "" + ld [hl], "" + rra + jr c, .got_line_terminator + ; else, insert "" + ld [hl], "" + +.got_line_terminator + inc hl + ; init the next line, holding on to the same word + ld a, 18 + ld [wcf64], a + dec e + jr .loop2 + +.same_line + ; add the space, unless we're at the start of the line + cp 18 + jr z, .skip_space + ld [hl], " " + inc hl + +.skip_space + ; deduct the length of the word + sub e + ld [wcf64], a + ld de, $c608 +.place_string_loop + ; load the string from de to hl + ld a, [de] + cp "@" + jr z, .done + inc de + ld [hli], a + jr .place_string_loop + +.done + ; next word? + pop af + dec a + jr nz, .loop + ; we're finished, place "" + ld [hl], "" + ; now, let's place the string from c618 to bc + pop bc + ld hl, $c618 + call PlaceHLTextAtBC + ; restore the original values of $cf63 and $cf64 + pop hl + ld a, l + ld [wJumptableIndex], a + ld a, h + ld [wcf64], a + ret +; 11c14a + +GetLengthOfWordAtC608: ; 11c14a + ld c, $0 + ld hl, $c608 +.loop + ld a, [hli] + cp "@" + ret z + inc c + jr .loop +; 11c156 + +CopyMobileEZChatToC608: ; 11c156 + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + ld a, "@" + ld hl, $c608 + ld bc, NAME_LENGTH + call ByteFill + ld a, d + and a + jr z, .get_name + ld hl, MobileEZChatCategoryPointers + dec d + sla d + ld c, d + ld b, $0 + add hl, bc + ld a, [hli] + ld c, a + ld a, [hl] + ld b, a + push bc + pop hl + ld c, e + ld b, $0 + sla c + rl b + sla c + rl b + sla c + rl b + add hl, bc + ld bc, 5 ; length of a string +.copy_string + ld de, $c608 + call CopyBytes + ld de, $c608 + pop af + ld [rSVBK], a + ret + +.get_name + ld a, e + ld [wd265], a + call GetPokemonName + ld hl, StringBuffer1 + ld bc, PKMN_NAME_LENGTH - 1 + jr .copy_string +; 11c1ab + +Function11c1ab: ; 11c1ab + ld a, [hInMenu] + push af + ld a, $1 + ld [hInMenu], a + call Function11c1b9 + pop af + ld [hInMenu], a + ret +; 11c1b9 + +Function11c1b9: ; 11c1b9 + call .InitKanaMode + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + call EZChat_MasterLoop + pop af + ld [rSVBK], a + ret +; 11c1ca + +.InitKanaMode: ; 11c1ca + xor a + ld [wJumptableIndex], a + ld [wcf64], a + ld [wcf65], a + ld [wcf66], a + ld [wcd23], a + ld [wcd20], a + ld [wcd21], a + ld [wcd22], a + ld [wcd35], a + ld [wcd2b], a + ld a, $ff + ld [wcd24], a + ld a, [wMenuCursorY] + dec a + call Function11c254 + call ClearBGPalettes + call ClearSprites + call ClearScreen + call Function11d323 + call SetPalettes + call DisableLCD + ld hl, GFX_11d67e + ld de, VTiles2 + ld bc, $60 + call CopyBytes + ld hl, LZ_11d6de + ld de, VTiles0 + call Decompress + call EnableLCD + callba ReloadMapPart + callba ClearSpriteAnims + callba LoadPokemonData + callba Pokedex_ABCMode + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld hl, $c6d0 + ld de, LYOverrides + ld bc, $100 + call CopyBytes + pop af + ld [rSVBK], a + call EZChat_GetCategoryWordsByKana + call EZChat_GetSeenPokemonByKana + ret +; 11c254 + +Function11c254: ; 11c254 + push af + ld a, $4 + call GetSRAMBank + ld hl, $a007 + pop af + sla a + sla a + ld c, a + sla a + add c + ld c, a + ld b, $0 + add hl, bc + ld de, wcd36 + ld bc, 12 + call CopyBytes + call CloseSRAM + ret +; 11c277 + +EZChat_ClearBottom12Rows: ; 11c277 (47:4277) + ld a, " " + hlcoord 0, 6 + ld bc, (SCREEN_HEIGHT - 6) * SCREEN_WIDTH + call ByteFill + ret + +EZChat_MasterLoop: ; 11c283 +.loop + call JoyTextDelay + ld a, [hJoyPressed] + ld [hJoypadPressed], a + ld a, [wJumptableIndex] + bit 7, a + jr nz, .exit + call .DoJumptableFunction + callba PlaySpriteAnimations + callba ReloadMapPart + jr .loop + +.exit + callba ClearSpriteAnims + call ClearSprites + ret +; 11c2ac + +.DoJumptableFunction: ; 11c2ac + jumptable .Jumptable, wJumptableIndex +; 11c2bb + +.Jumptable: ; 11c2bb (47:42bb) + dw .SpawnObjects ; 00 + dw .InitRAM ; 01 + dw Function11c35f ; 02 + dw Function11c373 ; 03 + dw Function11c3c2 ; 04 + dw Function11c3ed ; 05 + dw Function11c52c ; 06 + dw Function11c53d ; 07 + dw Function11c658 ; 08 + dw Function11c675 ; 09 + dw Function11c9bd ; 0a + dw Function11c9c3 ; 0b + dw Function11caad ; 0c + dw Function11cab3 ; 0d + dw Function11cb52 ; 0e + dw Function11cb66 ; 0f + dw Function11cbf5 ; 10 + dw Function11ccef ; 11 + dw Function11cd04 ; 12 + dw Function11cd20 ; 13 + dw Function11cd54 ; 14 + dw Function11ce0b ; 15 + dw Function11ce2b ; 16 + +.SpawnObjects: ; 11c2e9 (47:42e9) + depixel 3, 1, 2, 5 + ld a, SPRITE_ANIM_INDEX_1D + call _InitSpriteAnimStruct + depixel 8, 1, 2, 5 + + ld a, SPRITE_ANIM_INDEX_1D + call _InitSpriteAnimStruct + ld hl, SPRITEANIMSTRUCT_0C + add hl, bc + ld a, $1 + ld [hl], a + + depixel 9, 2, 2, 0 + ld a, SPRITE_ANIM_INDEX_1D + call _InitSpriteAnimStruct + ld hl, SPRITEANIMSTRUCT_0C + add hl, bc + ld a, $3 + ld [hl], a + + depixel 10, 16 + ld a, SPRITE_ANIM_INDEX_1D + call _InitSpriteAnimStruct + ld hl, SPRITEANIMSTRUCT_0C + add hl, bc + ld a, $4 + ld [hl], a + + depixel 10, 4 + ld a, SPRITE_ANIM_INDEX_1D + call _InitSpriteAnimStruct + ld hl, SPRITEANIMSTRUCT_0C + add hl, bc + ld a, $5 + ld [hl], a + + depixel 10, 2 + ld a, SPRITE_ANIM_INDEX_1D + call _InitSpriteAnimStruct + ld hl, SPRITEANIMSTRUCT_0C + add hl, bc + ld a, $2 + ld [hl], a + + ld hl, wcd23 + set 1, [hl] + set 2, [hl] + jp Function11cfb5 + +.InitRAM: ; 11c346 (47:4346) + ld a, $9 + ld [wcd2d], a + ld a, $2 + ld [wcd2e], a + ld [wcd2f], a + ld [wcd30], a + ld de, wcd2d + call Function11cfce + jp Function11cfb5 + +Function11c35f: ; 11c35f (47:435f) + ld hl, wcd2f + inc [hl] + inc [hl] + dec hl + dec hl + dec [hl] + push af + ld de, wcd2d + call Function11cfce + pop af + ret nz + jp Function11cfb5 + +Function11c373: ; 11c373 (47:4373) + ld hl, wcd30 + inc [hl] + inc [hl] + dec hl + dec hl + dec [hl] + push af + ld de, wcd2d + call Function11cfce + pop af + ret nz + call Function11c38a + jp Function11cfb5 + +Function11c38a: ; 11c38a (47:438a) + ld hl, Unknown_11c986 + ld bc, wcd36 + ld a, $6 +.asm_11c392 + push af + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + push hl + push de + pop hl + ld a, [bc] + inc bc + ld e, a + ld a, [bc] + inc bc + ld d, a + push bc + or e + jr z, .asm_11c3af + ld a, e + and d + cp $ff + jr z, .asm_11c3af + call Function11c05d + jr .asm_11c3b5 +.asm_11c3af + ld de, String_11c3bc + call PlaceString +.asm_11c3b5 + pop bc + pop hl + pop af + dec a + jr nz, .asm_11c392 + ret +; 11c3bc (47:43bc) + +String_11c3bc: ; 11c3bc + db "ーーーーー@" +; 11c3c2 + +Function11c3c2: ; 11c3c2 (47:43c2) + call EZChat_ClearBottom12Rows + ld de, Unknown_11cfbe + call Function11d035 + hlcoord 1, 7 + ld de, String_11c4db + call PlaceString + hlcoord 1, 16 + ld de, String_11c51b + call PlaceString + call Function11c4be + ld hl, wcd23 + set 0, [hl] + ld hl, wcd24 + res 0, [hl] + call Function11cfb5 + +Function11c3ed: ; 11c3ed (47:43ed) + ld hl, wcd20 ; wcd20 + ld de, hJoypadPressed ; $ffa3 + ld a, [de] + and $8 + jr nz, .asm_11c426 + ld a, [de] + and $2 + jr nz, .asm_11c41a + ld a, [de] + and $1 + jr nz, .asm_11c42c + ld de, hJoyLast + ld a, [de] + and $40 + jr nz, .asm_11c47c + ld a, [de] + and $80 + jr nz, .asm_11c484 + ld a, [de] + and $20 + jr nz, .asm_11c48c + ld a, [de] + and $10 + jr nz, .asm_11c498 + ret + +.asm_11c41a + call PlayClickSFX +.asm_11c41d + ld hl, wcd24 + set 0, [hl] + ld a, $c + jr .asm_11c475 +.asm_11c426 + ld a, $8 + ld [wcd20], a ; wcd20 + ret + +.asm_11c42c + ld a, [wcd20] ; wcd20 + cp $6 + jr c, .asm_11c472 + sub $6 + jr z, .asm_11c469 + dec a + jr z, .asm_11c41d + ld hl, wcd36 + ld c, $c + xor a +.asm_11c440 + or [hl] + inc hl + dec c + jr nz, .asm_11c440 + and a + jr z, .asm_11c460 + ld de, Unknown_11cfba + call Function11cfce + decoord 1, 2 + ld bc, wcd36 + call Function11c08f + ld hl, wcd24 + set 0, [hl] + ld a, $e + jr .asm_11c475 +.asm_11c460 + ld hl, wcd24 + set 0, [hl] + ld a, $11 + jr .asm_11c475 +.asm_11c469 + ld hl, wcd24 + set 0, [hl] + ld a, $a + jr .asm_11c475 +.asm_11c472 + call Function11c4a5 +.asm_11c475 + ld [wJumptableIndex], a + call PlayClickSFX + ret + +.asm_11c47c + ld a, [hl] + cp $3 + ret c + sub $3 + jr .asm_11c4a3 +.asm_11c484 + ld a, [hl] + cp $6 + ret nc + add $3 + jr .asm_11c4a3 +.asm_11c48c + ld a, [hl] + and a + ret z + cp $3 + ret z + cp $6 + ret z + dec a + jr .asm_11c4a3 +.asm_11c498 + ld a, [hl] + cp $2 + ret z + cp $5 + ret z + cp $8 + ret z + inc a +.asm_11c4a3 + ld [hl], a + ret + +Function11c4a5: ; 11c4a5 (47:44a5) + ld hl, wcd23 + res 0, [hl] + ld a, [wcd2b] + and a + jr nz, .asm_11c4b7 + xor a + ld [wcd21], a + ld a, $6 + ret + +.asm_11c4b7 + xor a + ld [wcd22], a + ld a, $15 + ret + +Function11c4be: ; 11c4be (47:44be) + ld a, $1 + hlcoord 0, 6, AttrMap + ld bc, $a0 + call ByteFill + ld a, $7 + hlcoord 0, 14, AttrMap + ld bc, $28 + call ByteFill + callba ReloadMapPart + ret +; 11c4db (47:44db) + +String_11c4db: ; 11c4db + db "6つのことば¯くみあわせます" + next "かえたいところ¯えらぶと でてくる" + next "ことばのグループから いれかえたい" + next "たんご¯えらんでください" + db "@" +; 11c51b + +String_11c51b: ; 11c51b + db "ぜんぶけす やめる けってい@" +; 11c52c + +Function11c52c: ; 11c52c (47:452c) + call EZChat_ClearBottom12Rows + call EZChat_PlaceCategoryNames + call Function11c618 + ld hl, wcd24 + res 1, [hl] + call Function11cfb5 + +Function11c53d: ; 11c53d (47:453d) + ld hl, wcd21 + ld de, hJoypadPressed ; $ffa3 + + ld a, [de] + and START + jr nz, .start + + ld a, [de] + and SELECT + jr nz, .select + + ld a, [de] + and B_BUTTON + jr nz, .b + + ld a, [de] + and A_BUTTON + jr nz, .a + + ld de, hJoyLast + + ld a, [de] + and D_UP + jr nz, .up + + ld a, [de] + and D_DOWN + jr nz, .down + + ld a, [de] + and D_LEFT + jr nz, .left + + ld a, [de] + and D_RIGHT + jr nz, .right + + ret + +.a + ld a, [wcd21] + cp 15 + jr c, .got_category + sub $f + jr z, .done + dec a + jr z, .mode + jr .b + +.start + ld hl, wcd24 + set 0, [hl] + ld a, $8 + ld [wcd20], a ; wcd20 + +.b + ld a, $4 + jr .go_to_function + +.select + ld a, [wcd2b] + xor $1 + ld [wcd2b], a + ld a, $15 + jr .go_to_function + +.mode + ld a, $13 + jr .go_to_function + +.got_category + ld a, $8 + +.go_to_function + ld hl, wcd24 + set 1, [hl] + ld [wJumptableIndex], a + call PlayClickSFX + ret + +.done + ld a, [wcd20] ; wcd20 + call Function11ca6a + call PlayClickSFX + ret + +.up + ld a, [hl] + cp $3 + ret c + sub $3 + jr .finish_dpad + +.down + ld a, [hl] + cp $f + ret nc + add $3 + jr .finish_dpad + +.left + ld a, [hl] + and a + ret z + cp $3 + ret z + cp $6 + ret z + cp $9 + ret z + cp $c + ret z + cp $f + ret z + dec a + jr .finish_dpad + +.right + ld a, [hl] + cp $2 + ret z + cp $5 + ret z + cp $8 + ret z + cp $b + ret z + cp $e + ret z + cp $11 + ret z + inc a + +.finish_dpad + ld [hl], a + ret +; 11c5f0 + +EZChat_PlaceCategoryNames: ; 11c5f0 (47:45f0) + ld de, MobileEZChatCategoryNames + ld bc, Coords_11c63a + ld a, 15 +.loop + push af + ld a, [bc] + inc bc + ld l, a + ld a, [bc] + inc bc + ld h, a + push bc + call PlaceString + ; The category names are padded with "@". + ; To find the next category, the system must + ; find the first character at de that is not "@". +.find_next_string_loop + inc de + ld a, [de] + cp "@" + jr z, .find_next_string_loop + pop bc + pop af + dec a + jr nz, .loop + hlcoord 1, 17 + ld de, EZChatString_Stop_Mode_Cancel + call PlaceString + ret + +Function11c618: ; 11c618 (47:4618) + ld a, $2 + hlcoord 0, 6, AttrMap + ld bc, $c8 + call ByteFill + callba ReloadMapPart + ret +; 11c62a (47:462a) + +EZChatString_Stop_Mode_Cancel: ; 11c62a + db "けす モード やめる@" +; 11c63a + +Coords_11c63a: ; 11c63a + dwcoord 1, 7 + dwcoord 7, 7 + dwcoord 13, 7 + dwcoord 1, 9 + dwcoord 7, 9 + dwcoord 13, 9 + dwcoord 1, 11 + dwcoord 7, 11 + dwcoord 13, 11 + dwcoord 1, 13 + dwcoord 7, 13 + dwcoord 13, 13 + dwcoord 1, 15 + dwcoord 7, 15 + dwcoord 13, 15 +; 11c658 + +Function11c658: ; 11c658 (47:4658) + call EZChat_ClearBottom12Rows + call Function11c770 + ld de, Unknown_11cfc2 + call Function11d035 + call Function11c9ab + call Function11c7bc + call Function11c86e + ld hl, wcd24 + res 3, [hl] + call Function11cfb5 + +Function11c675: ; 11c675 (47:4675) + ld hl, wMobileCommsJumptableIndex + ld de, hJoypadPressed ; $ffa3 + ld a, [de] + and A_BUTTON + jr nz, .a + ld a, [de] + and B_BUTTON + jr nz, .b + ld a, [de] + and START + jr nz, .start + ld a, [de] + and SELECT + jr z, .select + + ld a, [wcd26] + and a + ret z + sub $c + jr nc, .asm_11c699 + xor a +.asm_11c699 + ld [wcd26], a + jr .asm_11c6c4 + +.start + ld hl, wcd28 + ld a, [wcd26] + add $c + cp [hl] + ret nc + ld [wcd26], a + ld a, [hl] + ld b, a + ld hl, wMobileCommsJumptableIndex + ld a, [wcd26] + add [hl] + jr c, .asm_11c6b9 + cp b + jr c, .asm_11c6c4 +.asm_11c6b9 + ld a, [wcd28] + ld hl, wcd26 + sub [hl] + dec a + ld [wMobileCommsJumptableIndex], a +.asm_11c6c4 + call Function11c992 + call Function11c7bc + call Function11c86e + ret + +.select + ld de, hJoyLast + ld a, [de] + and D_UP + jr nz, .asm_11c708 + ld a, [de] + and D_DOWN + jr nz, .asm_11c731 + ld a, [de] + and D_LEFT + jr nz, .asm_11c746 + ld a, [de] + and D_RIGHT + jr nz, .asm_11c755 + ret + +.a + call Function11c8f6 + ld a, $4 + ld [wcd35], a + jr .asm_11c6fc +.b + ld a, [wcd2b] + and a + jr nz, .asm_11c6fa + ld a, $6 + jr .asm_11c6fc +.asm_11c6fa + ld a, $15 +.asm_11c6fc + ld [wJumptableIndex], a + ld hl, wcd24 + set 3, [hl] + call PlayClickSFX + ret + +.asm_11c708 + ld a, [hl] + cp $3 + jr c, .asm_11c711 + sub $3 + jr .asm_11c76e +.asm_11c711 + ld a, [wcd26] + sub $3 + ret c + ld [wcd26], a + jr .asm_11c6c4 +.asm_11c71c + ld hl, wcd28 + ld a, [wcd26] + add $c + ret c + cp [hl] + ret nc + ld a, [wcd26] + add $3 + ld [wcd26], a + jr .asm_11c6c4 +.asm_11c731 + ld a, [wcd28] + ld b, a + ld a, [wcd26] + add [hl] + add $3 + cp b + ret nc + ld a, [hl] + cp $9 + jr nc, .asm_11c71c + add $3 + jr .asm_11c76e +.asm_11c746 + ld a, [hl] + and a + ret z + cp $3 + ret z + cp $6 + ret z + cp $9 + ret z + dec a + jr .asm_11c76e +.asm_11c755 + ld a, [wcd28] + ld b, a + ld a, [wcd26] + add [hl] + inc a + cp b + ret nc + ld a, [hl] + cp $2 + ret z + cp $5 + ret z + cp $8 + ret z + cp $b + ret z + inc a +.asm_11c76e + ld [hl], a + ret + +Function11c770: ; 11c770 (47:4770) + xor a + ld [wMobileCommsJumptableIndex], a + ld [wcd26], a + ld [wcd27], a + ld a, [wcd2b] + and a + jr nz, .cd2b_is_nonzero + ld a, [wcd21] + and a + jr z, .cd21_is_zero + ; load from data array + dec a + sla a + ld hl, MobileEZChatData_WordAndPageCounts + ld c, a + ld b, 0 + add hl, bc + ld a, [hli] + ld [wcd28], a + ld a, [hl] +.load + ld [wcd29], a + ret + +.cd21_is_zero + ; compute from [wc7d2] + ld a, [wc7d2] + ld [wcd28], a +.div_12 + ld c, 12 + call SimpleDivide + and a + jr nz, .no_need_to_floor + dec b +.no_need_to_floor + ld a, b + jr .load + +.cd2b_is_nonzero + ; compute from [c6a8 + 2 * [cd22]] + ld hl, $c6a8 ; $c68a + 30 + ld a, [wcd22] + ld c, a + ld b, 0 + add hl, bc + add hl, bc + ld a, [hl] + ld [wcd28], a + jr .div_12 + +Function11c7bc: ; 11c7bc (47:47bc) + ld bc, Unknown_11c854 + ld a, [wcd2b] + and a + jr nz, .asm_11c814 + ld a, [wcd21] + ld d, a + and a + jr z, .asm_11c7e9 + ld a, [wcd26] + ld e, a +.asm_11c7d0 + ld a, [bc] + ld l, a + inc bc + ld a, [bc] + ld h, a + inc bc + and l + cp $ff + ret z + push bc + push de + call Function11c05d + pop de + pop bc + inc e + ld a, [wcd28] + cp e + jr nz, .asm_11c7d0 + ret + +.asm_11c7e9 + ld hl, wListPointer + ld a, [wcd26] + ld e, a + add hl, de +.asm_11c7f1 + push de + ld a, [hli] + ld e, a + ld d, $0 + push hl + ld a, [bc] + ld l, a + inc bc + ld a, [bc] + ld h, a + inc bc + and l + cp $ff + jr z, .asm_11c811 + push bc + call Function11c05d + pop bc + pop hl + pop de + inc e + ld a, [wcd28] + cp e + jr nz, .asm_11c7f1 + ret + +.asm_11c811 + pop hl + pop de + ret + +.asm_11c814 + ld hl, $c648 + ld a, [wcd22] + ld e, a + ld d, $0 + add hl, de + add hl, de + ld a, [hli] + ld e, a + ld a, [hl] + ld d, a + push de + pop hl + ld a, [wcd26] + ld e, a + ld d, $0 + add hl, de + add hl, de + ld a, [wcd26] + ld e, a +.asm_11c831 + push de + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + push hl + ld a, [bc] + ld l, a + inc bc + ld a, [bc] + ld h, a + inc bc + and l + cp $ff + jr z, .asm_11c851 + push bc + call Function11c05d + pop bc + pop hl + pop de + inc e + ld a, [wcd28] + cp e + jr nz, .asm_11c831 + ret + +.asm_11c851 + pop hl + pop de + ret +; 11c854 (47:4854) + +Unknown_11c854: ; 11c854 + dwcoord 2, 8 + dwcoord 8, 8 + dwcoord 14, 8 + dwcoord 2, 10 + dwcoord 8, 10 + dwcoord 14, 10 + dwcoord 2, 12 + dwcoord 8, 12 + dwcoord 14, 12 + dwcoord 2, 14 + dwcoord 8, 14 + dwcoord 14, 14 + dw -1 +; 11c86e + +Function11c86e: ; 11c86e (47:486e) + ld a, [wcd26] + and a + jr z, .asm_11c88a + hlcoord 2, 17 + ld de, MobileString_Prev + call PlaceString + hlcoord 6, 17 + ld c, $3 + xor a +.asm_11c883 + ld [hli], a + inc a + dec c + jr nz, .asm_11c883 + jr .asm_11c895 +.asm_11c88a + hlcoord 2, 17 + ld c, $7 + ld a, $7f +.asm_11c891 + ld [hli], a + dec c + jr nz, .asm_11c891 +.asm_11c895 + ld hl, wcd28 + ld a, [wcd26] + add $c + jr c, .asm_11c8b7 + cp [hl] + jr nc, .asm_11c8b7 + hlcoord 16, 17 + ld de, MobileString_Next + call PlaceString + hlcoord 11, 17 + ld a, $3 + ld c, a +.asm_11c8b1 + ld [hli], a + inc a + dec c + jr nz, .asm_11c8b1 + ret + +.asm_11c8b7 + hlcoord 17, 16 + ld a, $7f + ld [hl], a + hlcoord 11, 17 + ld c, $7 +.asm_11c8c2 + ld [hli], a + dec c + jr nz, .asm_11c8c2 + ret +; 11c8c7 (47:48c7) + +BCD2String: ; 11c8c7 + inc a + push af + and $f + ld [hDividend], a + pop af + and $f0 + swap a + ld [hDividend + 1], a + xor a + ld [hDividend + 2], a + push hl + callba Function11a80c + pop hl + ld a, [wcd63] + add "0" + ld [hli], a + ld a, [wcd62] + add "0" + ld [hli], a + ret +; 11c8ec + +MobileString_Page: ; 11c8ec + db "ぺージ@" +; 11c8f0 + +MobileString_Prev: ; 11c8f0 + db "まえ@" +; 11c8f3 + +MobileString_Next: ; 11c8f3 + db "つぎ@" +; 11c8f6 + +Function11c8f6: ; 11c8f6 (47:48f6) + ld a, [wcd20] ; wcd20 + call Function11c95d + push hl + ld a, [wcd2b] + and a + jr nz, .asm_11c938 + ld a, [wcd21] + ld d, a + and a + jr z, .asm_11c927 + ld hl, wcd26 + ld a, [wMobileCommsJumptableIndex] + add [hl] +.asm_11c911 + ld e, a +.asm_11c912 + pop hl + push de + call Function11c05d + pop de + ld a, [wcd20] ; wcd20 + ld c, a + ld b, $0 + ld hl, wcd36 + add hl, bc + add hl, bc + ld [hl], e + inc hl + ld [hl], d + ret + +.asm_11c927 + ld hl, wcd26 + ld a, [wMobileCommsJumptableIndex] + add [hl] + ld c, a + ld b, $0 + ld hl, wListPointer + add hl, bc + ld a, [hl] + jr .asm_11c911 +.asm_11c938 + ld hl, $c648 + ld a, [wcd22] + ld e, a + ld d, $0 + add hl, de + add hl, de + ld a, [hli] + ld e, a + ld a, [hl] + ld d, a + push de + pop hl + ld a, [wcd26] + ld e, a + ld d, $0 + add hl, de + add hl, de + ld a, [wMobileCommsJumptableIndex] + ld e, a + add hl, de + add hl, de + ld a, [hli] + ld e, a + ld a, [hl] + ld d, a + jr .asm_11c912 + +Function11c95d: ; 11c95d (47:495d) + sla a + ld c, a + ld b, 0 + ld hl, Unknown_11c986 + add hl, bc + ld a, [hli] + ld c, a + ld a, [hl] + ld b, a + push bc + push bc + pop hl + ld a, $5 + ld c, a + ld a, $7f +.asm_11c972 + ld [hli], a + dec c + jr nz, .asm_11c972 + dec hl + ld bc, -20 + add hl, bc + ld a, $5 + ld c, a + ld a, $7f +.asm_11c980 + ld [hld], a + dec c + jr nz, .asm_11c980 + pop hl + ret +; 11c986 (47:4986) + +Unknown_11c986: + dwcoord 1, 2 + dwcoord 7, 2 + dwcoord 13, 2 + dwcoord 1, 4 + dwcoord 7, 4 + dwcoord 13, 4 +; 11c992 + +Function11c992: ; 11c992 (47:4992) + ld a, $8 + hlcoord 2, 7 +.asm_11c997 + push af + ld a, $7f + push hl + ld bc, $11 + call ByteFill + pop hl + ld bc, $14 + add hl, bc + pop af + dec a + jr nz, .asm_11c997 + ret + +Function11c9ab: ; 11c9ab (47:49ab) + ld a, $7 + hlcoord 0, 6, AttrMap + ld bc, $c8 + call ByteFill + callba ReloadMapPart + ret + +Function11c9bd: ; 11c9bd (47:49bd) + ld de, String_11ca38 + call Function11ca7f + +Function11c9c3: ; 11c9c3 (47:49c3) + ld hl, wcd2a + ld de, hJoypadPressed ; $ffa3 + ld a, [de] + and $1 + jr nz, .asm_11c9de + ld a, [de] + and $2 + jr nz, .asm_11c9e9 + ld a, [de] + and $40 + jr nz, .asm_11c9f7 + ld a, [de] + and $80 + jr nz, .asm_11c9fc + ret + +.asm_11c9de + ld a, [hl] + and a + jr nz, .asm_11c9e9 + call Function11ca5e + xor a + ld [wcd20], a ; wcd20 +.asm_11c9e9 + ld hl, wcd24 + set 4, [hl] + ld a, $4 + ld [wJumptableIndex], a + call PlayClickSFX + ret + +.asm_11c9f7 + ld a, [hl] + and a + ret z + dec [hl] + ret + +.asm_11c9fc + ld a, [hl] + and a + ret nz + inc [hl] + ret + +Function11ca01: ; 11ca01 (47:4a01) + hlcoord 14, 7, AttrMap + ld de, $14 + ld a, $5 + ld c, a +.asm_11ca0a + push hl + ld a, $6 + ld b, a + ld a, $7 +.asm_11ca10 + ld [hli], a + dec b + jr nz, .asm_11ca10 + pop hl + add hl, de + dec c + jr nz, .asm_11ca0a + +Function11ca19: ; 11ca19 (47:4a19) + hlcoord 0, 12, AttrMap + ld de, $14 + ld a, $6 + ld c, a +.asm_11ca22 + push hl + ld a, $14 + ld b, a + ld a, $7 +.asm_11ca28 + ld [hli], a + dec b + jr nz, .asm_11ca28 + pop hl + add hl, de + dec c + jr nz, .asm_11ca22 + callba ReloadMapPart + ret +; 11ca38 (47:4a38) + +String_11ca38: ; 11ca38 + db "とうろくちゅう", $25, "あいさつ¯ぜんぶ" + next "けしても よろしいですか?@" +; 11ca57 + +String_11ca57: ; 11ca57 + db "はい" + next "いいえ@" +; 11ca5e + +Function11ca5e: ; 11ca5e (47:4a5e) + xor a +.loop + push af + call Function11ca6a + pop af + inc a + cp $6 + jr nz, .loop + ret + +Function11ca6a: ; 11ca6a (47:4a6a) + ld hl, wcd36 + ld c, a + ld b, $0 + add hl, bc + add hl, bc + ld [hl], b + inc hl + ld [hl], b + call Function11c95d + ld de, String_11c3bc + call PlaceString + ret + +Function11ca7f: ; 11ca7f (47:4a7f) + push de + ld de, Unknown_11cfc6 + call Function11cfce + ld de, Unknown_11cfca + call Function11cfce + hlcoord 1, 14 + pop de + call PlaceString + hlcoord 16, 8 + ld de, String_11ca57 + call PlaceString + call Function11ca01 + ld a, $1 + ld [wcd2a], a + ld hl, wcd24 + res 4, [hl] + call Function11cfb5 + ret + +Function11caad: ; 11caad (47:4aad) + ld de, String_11cb1c + call Function11ca7f + +Function11cab3: ; 11cab3 (47:4ab3) + ld hl, wcd2a + ld de, hJoypadPressed ; $ffa3 + ld a, [de] + and $1 + jr nz, .asm_11cace + ld a, [de] + and $2 + jr nz, .asm_11caf9 + ld a, [de] + and $40 + jr nz, .asm_11cb12 + ld a, [de] + and $80 + jr nz, .asm_11cb17 + ret + +.asm_11cace + call PlayClickSFX + ld a, [hl] + and a + jr nz, .asm_11cafc + ld a, [wcd35] + and a + jr z, .asm_11caf3 + cp $ff + jr z, .asm_11caf3 + ld a, $ff + ld [wcd35], a + hlcoord 1, 14 + ld de, String_11cb31 + call PlaceString + ld a, $1 + ld [wcd2a], a + ret + +.asm_11caf3 + ld hl, wJumptableIndex + set 7, [hl] + ret + +.asm_11caf9 + call PlayClickSFX +.asm_11cafc + ld hl, wcd24 + set 4, [hl] + ld a, $4 + ld [wJumptableIndex], a + ld a, [wcd35] + cp $ff + ret nz + ld a, $1 + ld [wcd35], a + ret + +.asm_11cb12 + ld a, [hl] + and a + ret z + dec [hl] + ret + +.asm_11cb17 + ld a, [hl] + and a + ret nz + inc [hl] + ret +; 11cb1c (47:4b1c) + +String_11cb1c: ; 11cb1c + db "あいさつ", $25, "とうろく¯ちゅうし" + next "しますか?@" +; 11cb31 + +String_11cb31: ; 11cb31 + db "とうろくちゅう", $25, "あいさつ", $24, "ほぞん" + next "されません", $4a, "よろしい ですか?@" +; 11cb52 + +Function11cb52: ; 11cb52 (47:4b52) + ld hl, Unknown_11cc01 + ld a, [wMenuCursorY] +.asm_11cb58 + dec a + jr z, .asm_11cb5f + inc hl + inc hl + jr .asm_11cb58 +.asm_11cb5f + ld a, [hli] + ld e, a + ld a, [hl] + ld d, a + call Function11ca7f + +Function11cb66: ; 11cb66 (47:4b66) + ld hl, wcd2a + ld de, hJoypadPressed ; $ffa3 + ld a, [de] + and $1 + jr nz, .asm_11cb81 + ld a, [de] + and $2 + jr nz, .asm_11cbd7 + ld a, [de] + and $40 + jr nz, .asm_11cbeb + ld a, [de] + and $80 + jr nz, .asm_11cbf0 + ret + +.asm_11cb81 + ld a, [hl] + and a + jr nz, .asm_11cbd4 + ld a, $4 + call GetSRAMBank + ld hl, $a007 + ld a, [wMenuCursorY] + dec a + sla a + sla a + ld c, a + sla a + add c + ld c, a + ld b, $0 + add hl, bc + ld de, wcd36 + ld c, $c +.asm_11cba2 + ld a, [de] + ld [hli], a + inc de + dec c + jr nz, .asm_11cba2 + call CloseSRAM + call PlayClickSFX + ld de, Unknown_11cfc6 + call Function11cfce + ld hl, Unknown_11cc7e + ld a, [wMenuCursorY] +.asm_11cbba + dec a + jr z, .asm_11cbc1 + inc hl + inc hl + jr .asm_11cbba +.asm_11cbc1 + ld a, [hli] + ld e, a + ld a, [hl] + ld d, a + hlcoord 1, 14 + call PlaceString + ld hl, wJumptableIndex + inc [hl] + inc hl + ld a, $10 + ld [hl], a + ret + +.asm_11cbd4 + call PlayClickSFX +.asm_11cbd7 + ld de, Unknown_11cfba + call Function11cfce + call Function11c38a + ld hl, wcd24 + set 4, [hl] + ld a, $4 + ld [wJumptableIndex], a + ret + +.asm_11cbeb + ld a, [hl] + and a + ret z + dec [hl] + ret + +.asm_11cbf0 + ld a, [hl] + and a + ret nz + inc [hl] + ret + +Function11cbf5: ; 11cbf5 (47:4bf5) + call WaitSFX + ld hl, wcf64 + dec [hl] + ret nz + dec hl + set 7, [hl] + ret +; 11cc01 (47:4c01) + +Unknown_11cc01: ; 11cc01 + dw String_11cc09 + dw String_11cc23 + dw String_11cc42 + dw String_11cc60 + +String_11cc09: ; 11cc09 + db "じこしょうかい は" + next "この あいさつで いいですか?@" + +String_11cc23: ; 11cc23 + db "たいせん ", $4a, "はじまるとき は" + next "この あいさつで いいですか?@" + +String_11cc42: ; 11cc42 + db "たいせん ", $1d, "かったとき は" + next "この あいさつで いいですか?@" + +String_11cc60: ; 11cc60 + db "たいせん ", $1d, "まけたとき は" + next "この あいさつで いいですか?@" +; 11cc7e + +Unknown_11cc7e: ; 11cc7e + dw String_11cc86 + dw String_11cc9d + dw String_11ccb9 + dw String_11ccd4 + +String_11cc86: ; 11cc86 + db "じこしょうかい の" + next "あいさつ¯とうろくした!@" + +String_11cc9d: ; 11cc9d + db "たいせん ", $4a, "はじまるとき の" + next "あいさつ¯とうろくした!@" + +String_11ccb9: ; 11ccb9 + db "たいせん ", $1d, "かったとき の" + next "あいさつ¯とうろくした!@" + +String_11ccd4: ; 11ccd4 + db "たいせん ", $1d, "まけたとき の" + next "あいさつ¯とうろくした!@" +; 11ccef + +Function11ccef: ; 11ccef (47:4cef) + ld de, Unknown_11cfc6 + call Function11cfce + hlcoord 1, 14 + ld de, String_11cd10 + call PlaceString + call Function11ca19 + call Function11cfb5 + +Function11cd04: ; 11cd04 (47:4d04) + ld de, hJoypadPressed ; $ffa3 + ld a, [de] + and a + ret z + ld a, $4 + ld [wJumptableIndex], a + ret +; 11cd10 (47:4d10) + +String_11cd10: ; 11cd10 + db "なにか ことば¯いれてください@" +; 11cd20 + +Function11cd20: ; 11cd20 (47:4d20) + call EZChat_ClearBottom12Rows + ld de, Unknown_11cfc6 + call Function11cfce + hlcoord 1, 14 + ld a, [wcd2b] + ld [wcd2c], a + and a + jr nz, .asm_11cd3a + ld de, String_11cdc7 + jr .asm_11cd3d +.asm_11cd3a + ld de, String_11cdd9 +.asm_11cd3d + call PlaceString + hlcoord 4, 8 + ld de, String_11cdf5 + call PlaceString + call Function11cdaa + ld hl, wcd24 + res 5, [hl] + call Function11cfb5 + +Function11cd54: ; 11cd54 (47:4d54) + ld hl, wcd2c + ld de, hJoypadPressed ; $ffa3 + ld a, [de] + and A_BUTTON + jr nz, .asm_11cd6f + ld a, [de] + and B_BUTTON + jr nz, .asm_11cd73 + ld a, [de] + and D_UP + jr nz, .asm_11cd8b + ld a, [de] + and D_DOWN + jr nz, .asm_11cd94 + ret + +.asm_11cd6f + ld a, [hl] + ld [wcd2b], a +.asm_11cd73 + ld a, [wcd2b] + and a + jr nz, .asm_11cd7d + ld a, $6 + jr .asm_11cd7f + +.asm_11cd7d + ld a, $15 +.asm_11cd7f + ld [wJumptableIndex], a + ld hl, wcd24 + set 5, [hl] + call PlayClickSFX + ret + +.asm_11cd8b + ld a, [hl] + and a + ret z + dec [hl] + ld de, String_11cdc7 + jr .asm_11cd9b + +.asm_11cd94 + ld a, [hl] + and a + ret nz + inc [hl] + ld de, String_11cdd9 +.asm_11cd9b + push de + ld de, Unknown_11cfc6 + call Function11cfce + pop de + hlcoord 1, 14 + call PlaceString + ret + +Function11cdaa: ; 11cdaa (47:4daa) + ld a, $2 + hlcoord 0, 6, AttrMap + ld bc, 6 * SCREEN_WIDTH + call ByteFill + ld a, $7 + hlcoord 0, 12, AttrMap + ld bc, 4 * SCREEN_WIDTH + call ByteFill + callba ReloadMapPart + ret +; 11cdc7 (47:4dc7) + +String_11cdc7: ; 11cdc7 +; Words will be displayed by category + db "ことば¯しゅるいべつに" + next "えらべます@" +; 11cdd9 + +String_11cdd9: ; 11cdd9 +; Words will be displayed in alphabetical order + db "ことば¯アイウエォ の" + next "じゅんばんで ひょうじ します@" +; 11cdf5 + +String_11cdf5: ; 11cdf5 + db "しゅるいべつ モード" ; Category mode + next "アイウエォ モード@" ; ABC mode +; 11ce0b + +Function11ce0b: ; 11ce0b (47:4e0b) + call EZChat_ClearBottom12Rows + hlcoord 1, 7 + ld de, String_11cf79 + call PlaceString + hlcoord 1, 17 + ld de, EZChatString_Stop_Mode_Cancel + call PlaceString + call Function11c618 + ld hl, wcd24 + res 2, [hl] + call Function11cfb5 + +Function11ce2b: ; 11ce2b (47:4e2b) + ld a, [wcd22] + sla a + sla a + ld c, a + ld b, 0 + ld hl, Unknown_11ceb9 + add hl, bc + + ld de, hJoypadPressed ; $ffa3 + ld a, [de] + and START + jr nz, .start + ld a, [de] + and SELECT + jr nz, .select + ld a, [de] + and A_BUTTON + jr nz, .a + ld a, [de] + and B_BUTTON + jr nz, .b + + ld de, hJoyLast + ld a, [de] + and D_UP + jr nz, .up + ld a, [de] + and D_DOWN + jr nz, .down + ld a, [de] + and D_LEFT + jr nz, .left + ld a, [de] + and D_RIGHT + jr nz, .right + + ret + +.a + ld a, [wcd22] + cp NUM_KANA + jr c, .place + sub NUM_KANA + jr z, .done + dec a + jr z, .mode + jr .b + +.start + ld hl, wcd24 + set 0, [hl] + ld a, $8 + ld [wcd20], a ; wcd20 +.b + ld a, $4 + jr .load + +.select + ld a, [wcd2b] + xor $1 + ld [wcd2b], a + ld a, $6 + jr .load + +.place + ld a, $8 + jr .load + +.mode + ld a, $13 +.load + ld [wJumptableIndex], a + ld hl, wcd24 + set 2, [hl] + call PlayClickSFX + ret + +.done + ld a, [wcd20] ; wcd20 + call Function11ca6a + call PlayClickSFX + ret + +.left + inc hl +.down + inc hl +.right + inc hl +.up + ld a, [hl] + cp $ff + ret z + ld [wcd22], a + ret +; 11ceb9 (47:4eb9) + +Unknown_11ceb9: ; 11ceb9 + ; up left down right + db $ff, $01 + db $05, $ff + db $ff, $02 + db $06, $00 + db $ff, $03 + db $07, $01 + db $ff, $04 + db $08, $02 + db $ff, $14 + db $09, $03 + db $00, $06 + db $0a, $ff + db $01, $07 + db $0b, $05 + db $02, $08 + db $0c, $06 + db $03, $09 + db $0d, $07 + db $04, $19 + db $0e, $08 + db $05, $0b + db $0f, $ff + db $06, $0c + db $10, $0a + db $07, $0d + db $11, $0b + db $08, $0e + db $12, $0c + db $09, $1e + db $13, $0d + db $0a, $10 + db $2d, $ff + db $0b, $11 + db $2d, $0f + db $0c, $12 + db $2d, $10 + db $0d, $13 + db $2d, $11 + db $0e, $26 + db $2d, $12 + db $ff, $15 + db $19, $04 + db $ff, $16 + db $1a, $14 + db $ff, $17 + db $1b, $15 + db $ff, $18 + db $1c, $16 + db $ff, $23 + db $1d, $17 + db $14, $1a + db $1e, $09 + db $15, $1b + db $1f, $19 + db $16, $1c + db $20, $1a + db $17, $1d + db $21, $1b + db $18, $2b + db $22, $1c + db $19, $1f + db $26, $0e + db $1a, $20 + db $27, $1e + db $1b, $21 + db $28, $1f + db $1c, $22 + db $29, $20 + db $1d, $2c + db $2a, $21 + db $ff, $24 + db $2b, $18 + db $ff, $25 + db $2b, $23 + db $ff, $ff + db $2b, $24 + db $1e, $27 + db $2e, $13 + db $1f, $28 + db $2e, $26 + db $20, $29 + db $2e, $27 + db $21, $2a + db $2e, $28 + db $22, $ff + db $2e, $29 + db $23, $ff + db $2c, $1d + db $2b, $ff + db $2f, $22 + db $0f, $2e + db $ff, $ff + db $26, $2f + db $ff, $2d + db $2c, $ff + db $ff, $2e +; 11cf79 + +String_11cf79: ; 11cf79 +; Hiragana table + db "あいうえお なにぬねの や ゆ よ" + next "かきくけこ はひふへほ わ" + next "さしすせそ まみむめも そのた" + next "たちつてと らりるれろ" + db "@" +; 11cfb5 + +Function11cfb5: ; 11cfb5 (47:4fb5) + ld hl, wJumptableIndex + inc [hl] + ret +; 11cfba (47:4fba) + +Unknown_11cfba: + db 0, 0 ; start coords + db 20, 6 ; end coords + +Unknown_11cfbe: + db 0, 14 ; start coords + db 20, 4 ; end coords + +Unknown_11cfc2: + db 0, 6 ; start coords + db 20, 10 ; end coords + +Unknown_11cfc6: + db 0, 12 ; start coords + db 20, 6 ; end coords + +Unknown_11cfca: + db 14, 7 ; start coords + db 6, 5 ; end coords +; 11cfce + +Function11cfce: ; 11cfce (47:4fce) + hlcoord 0, 0 + ld bc, SCREEN_WIDTH + ld a, [de] + inc de + push af + ld a, [de] + inc de + and a +.add_n_times + jr z, .done_add_n_times + add hl, bc + dec a + jr .add_n_times +.done_add_n_times + pop af + ld c, a + ld b, 0 + add hl, bc + push hl + ld a, $79 + ld [hli], a + ld a, [de] + inc de + dec a + dec a + jr z, .skip_fill + ld c, a + ld a, $7a +.fill_loop + ld [hli], a + dec c + jr nz, .fill_loop +.skip_fill + ld a, $7b + ld [hl], a + pop hl + ld bc, SCREEN_WIDTH + add hl, bc + ld a, [de] + dec de + dec a + dec a + jr z, .skip_section + ld b, a +.loop + push hl + ld a, $7c + ld [hli], a + ld a, [de] + dec a + dec a + jr z, .skip_row + ld c, a + ld a, $7f +.row_loop + ld [hli], a + dec c + jr nz, .row_loop +.skip_row + ld a, $7c + ld [hl], a + pop hl + push bc + ld bc, SCREEN_WIDTH + add hl, bc + pop bc + dec b + jr nz, .loop +.skip_section + ld a, $7d + ld [hli], a + ld a, [de] + dec a + dec a + jr z, .skip_remainder + ld c, a + ld a, $7a +.final_loop + ld [hli], a + dec c + jr nz, .final_loop +.skip_remainder + ld a, $7e + ld [hl], a + ret + +Function11d035: ; 11d035 (47:5035) + hlcoord 0, 0 + ld bc, SCREEN_WIDTH + ld a, [de] + inc de + push af + ld a, [de] + inc de + and a +.add_n_times + jr z, .done_add_n_times + add hl, bc + dec a + jr .add_n_times +.done_add_n_times + pop af + ld c, a + ld b, $0 + add hl, bc + push hl + ld a, $79 + ld [hl], a + pop hl + push hl + ld a, [de] + dec a + inc de + ld c, a + add hl, bc + ld a, $7b + ld [hl], a + call .AddNMinusOneTimes + ld a, $7e + ld [hl], a + pop hl + push hl + call .AddNMinusOneTimes + ld a, $7d + ld [hl], a + pop hl + push hl + inc hl + push hl + call .AddNMinusOneTimes + pop bc + dec de + ld a, [de] + cp $2 + jr z, .skip + dec a + dec a +.loop + push af + ld a, $7a + ld [hli], a + ld [bc], a + inc bc + pop af + dec a + jr nz, .loop +.skip + pop hl + ld bc, $14 + add hl, bc + push hl + ld a, [de] + dec a + ld c, a + ld b, $0 + add hl, bc + pop bc + inc de + ld a, [de] + cp $2 + ret z + push bc + dec a + dec a + ld c, a + ld b, a + ld de, $14 +.loop2 + ld a, $7c + ld [hl], a + add hl, de + dec c + jr nz, .loop2 + pop hl +.loop3 + ld a, $7c + ld [hl], a + add hl, de + dec b + jr nz, .loop3 + ret + +.AddNMinusOneTimes: ; 11d0ac (47:50ac) + ld a, [de] + dec a + ld bc, SCREEN_WIDTH +.add_n_minus_one_times + add hl, bc + dec a + jr nz, .add_n_minus_one_times + ret + +AnimateEZChatCursor: ; 11d0b6 (47:50b6) + ld hl, SPRITEANIMSTRUCT_0C + add hl, bc + ld a, [hl] + ld e, a + ld d, 0 + ld hl, .Jumptable + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp hl + +.Jumptable: + dw .zero + dw .one + dw .two + dw .three + dw .four + dw .five + dw .six + dw .seven + dw .eight + dw .nine + dw .ten + +.zero ; 11d0dd (47:50dd) + ld a, [wcd20] ; wcd20 + sla a + ld hl, .Coords_Zero + ld e, $1 + jr .load + +.one ; 11d0e9 (47:50e9) + ld a, [wcd21] + sla a + ld hl, .Coords_One + ld e, $2 + jr .load + +.two ; 11d0f5 (47:50f5) + ld hl, .FramesetsIDs_Two + ld a, [wcd22] + ld e, a + ld d, $0 + add hl, de + ld a, [hl] + call ReinitSpriteAnimFrame + + ld a, [wcd22] + sla a + ld hl, .Coords_Two + ld e, $4 + jr .load + +.three ; 11d10f (47:510f) + ld a, SPRITE_ANIM_FRAMESET_27 + call ReinitSpriteAnimFrame + ld a, [wMobileCommsJumptableIndex] + sla a + ld hl, .Coords_Three + ld e, $8 +.load ; 11d11e (47:511e) + push de + ld e, a + ld d, $0 + add hl, de + push hl + pop de + ld hl, SPRITEANIMSTRUCT_XCOORD + add hl, bc + ld a, [de] + inc de + ld [hli], a + ld a, [de] + ld [hl], a + pop de + ld a, e + call .UpdateObjectFlags + ret + +.four ; 11d134 (47:5134) + ld a, SPRITE_ANIM_FRAMESET_27 + call ReinitSpriteAnimFrame + ld a, [wcd2a] + sla a + ld hl, .Coords_Four + ld e, $10 + jr .load + +.five ; 11d145 (47:5145) + ld a, SPRITE_ANIM_FRAMESET_27 + call ReinitSpriteAnimFrame + ld a, [wcd2c] + sla a + ld hl, .Coords_Five + ld e, $20 + jr .load + +.six ; 11d156 (47:5156) + ld a, SPRITE_ANIM_FRAMESET_2A + call ReinitSpriteAnimFrame + ; X = [wcd4a] * 8 + 24 + ld a, [wcd4a] + sla a + sla a + sla a + add $18 + ld hl, SPRITEANIMSTRUCT_XCOORD + add hl, bc + ld [hli], a + ; Y = 48 + ld a, $30 + ld [hl], a + + ld a, $1 + ld e, a + call .UpdateObjectFlags + ret + +.seven ; 11d175 (47:5175) + ld a, [wEZChatCursorYCoord] + cp $4 + jr z, .frameset_26 + ld a, SPRITE_ANIM_FRAMESET_28 + jr .got_frameset + +.frameset_26 + ld a, SPRITE_ANIM_FRAMESET_26 +.got_frameset + call ReinitSpriteAnimFrame + ld a, [wEZChatCursorYCoord] + cp $4 + jr z, .asm_11d1b1 + ; X = [wEZChatCursorXCoord] * 8 + 32 + ld a, [wEZChatCursorXCoord] + sla a + sla a + sla a + add $20 + ld hl, SPRITEANIMSTRUCT_XCOORD + add hl, bc + ld [hli], a + ; Y = [wEZChatCursorYCoord] * 16 + 72 + ld a, [wEZChatCursorYCoord] + sla a + sla a + sla a + sla a + add $48 + ld [hl], a + ld a, $2 + ld e, a + call .UpdateObjectFlags + ret + +.asm_11d1b1 + ; X = [wEZChatCursorXCoord] * 40 + 24 + ld a, [wEZChatCursorXCoord] + sla a + sla a + sla a + ld e, a + sla a + sla a + add e + add $18 + ld hl, SPRITEANIMSTRUCT_XCOORD + add hl, bc + ld [hli], a + ; Y = 138 + ld a, $8a + ld [hl], a + ld a, $2 + ld e, a + call .UpdateObjectFlags + ret + +.nine ; 11d1d1 (47:51d1) + ld d, -13 * 8 + ld a, SPRITE_ANIM_FRAMESET_2C + jr .eight_nine_load + +.eight ; 11d1d7 (47:51d7) + ld d, 2 * 8 + ld a, SPRITE_ANIM_FRAMESET_2B +.eight_nine_load ; 11d1db (47:51db) + push de + call ReinitSpriteAnimFrame + ld a, [wcd4a] + sla a + sla a + sla a + ld e, a + sla a + add e + add 8 * 8 + ld hl, SPRITEANIMSTRUCT_YCOORD + add hl, bc + ld [hld], a + pop af + ld [hl], a + ld a, $4 + ld e, a + call .UpdateObjectFlags + ret + +.ten ; 11d1fc (47:51fc) + ld a, SPRITE_ANIM_FRAMESET_26 + call ReinitSpriteAnimFrame + ld a, $8 + ld e, a + call .UpdateObjectFlags + ret +; 11d208 (47:5208) + +.Coords_Zero: ; 11d208 + dbpixel 1, 3, 5, 2 + dbpixel 7, 3, 5, 2 + dbpixel 13, 3, 5, 2 + dbpixel 1, 5, 5, 2 + dbpixel 7, 5, 5, 2 + dbpixel 13, 5, 5, 2 + dbpixel 1, 17, 5, 2 + dbpixel 7, 17, 5, 2 + dbpixel 13, 17, 5, 2 + +.Coords_One: ; 11d21a + dbpixel 1, 8, 5, 2 + dbpixel 7, 8, 5, 2 + dbpixel 13, 8, 5, 2 + dbpixel 1, 10, 5, 2 + dbpixel 7, 10, 5, 2 + dbpixel 13, 10, 5, 2 + dbpixel 1, 12, 5, 2 + dbpixel 7, 12, 5, 2 + dbpixel 13, 12, 5, 2 + dbpixel 1, 14, 5, 2 + dbpixel 7, 14, 5, 2 + dbpixel 13, 14, 5, 2 + dbpixel 1, 16, 5, 2 + dbpixel 7, 16, 5, 2 + dbpixel 13, 16, 5, 2 + dbpixel 1, 18, 5, 2 + dbpixel 7, 18, 5, 2 + dbpixel 13, 18, 5, 2 + +.Coords_Two: ; 11d23e + dbpixel 2, 9 ; 00 + dbpixel 3, 9 ; 01 + dbpixel 4, 9 ; 02 + dbpixel 5, 9 ; 03 + dbpixel 6, 9 ; 04 + dbpixel 2, 11 ; 05 + dbpixel 3, 11 ; 06 + dbpixel 4, 11 ; 07 + dbpixel 5, 11 ; 08 + dbpixel 6, 11 ; 09 + dbpixel 2, 13 ; 0a + dbpixel 3, 13 ; 0b + dbpixel 4, 13 ; 0c + dbpixel 5, 13 ; 0d + dbpixel 6, 13 ; 0e + dbpixel 2, 15 ; 0f + dbpixel 3, 15 ; 10 + dbpixel 4, 15 ; 11 + dbpixel 5, 15 ; 12 + dbpixel 6, 15 ; 13 + dbpixel 8, 9 ; 14 + dbpixel 9, 9 ; 15 + dbpixel 10, 9 ; 16 + dbpixel 11, 9 ; 17 + dbpixel 12, 9 ; 18 + dbpixel 8, 11 ; 19 + dbpixel 9, 11 ; 1a + dbpixel 10, 11 ; 1b + dbpixel 11, 11 ; 1c + dbpixel 12, 11 ; 1d + dbpixel 8, 13 ; 1e + dbpixel 9, 13 ; 1f + dbpixel 10, 13 ; 20 + dbpixel 11, 13 ; 21 + dbpixel 12, 13 ; 22 + dbpixel 14, 9 ; 23 + dbpixel 16, 9 ; 24 + dbpixel 18, 9 ; 25 + dbpixel 8, 15 ; 26 + dbpixel 9, 15 ; 27 + dbpixel 10, 15 ; 28 + dbpixel 11, 15 ; 29 + dbpixel 12, 15 ; 2a + dbpixel 14, 11 ; 2b + dbpixel 14, 13 ; 2c + dbpixel 1, 18, 5, 2 ; 2d + dbpixel 7, 18, 5, 2 ; 2e + dbpixel 13, 18, 5, 2 ; 2f + +.Coords_Three: ; 11d29e + dbpixel 2, 10 + dbpixel 8, 10 + dbpixel 14, 10 + dbpixel 2, 12 + dbpixel 8, 12 + dbpixel 14, 12 + dbpixel 2, 14 + dbpixel 8, 14 + dbpixel 14, 14 + dbpixel 2, 16 + dbpixel 8, 16 + dbpixel 14, 16 + +.Coords_Four: ; 11d2b6 + dbpixel 16, 10 + dbpixel 16, 12 + +.Coords_Five: ; 11d2ba + dbpixel 4, 10 + dbpixel 4, 12 + +.FramesetsIDs_Two: ; 11d2be + db SPRITE_ANIM_FRAMESET_28 ; 00 + db SPRITE_ANIM_FRAMESET_28 ; 01 + db SPRITE_ANIM_FRAMESET_28 ; 02 + db SPRITE_ANIM_FRAMESET_28 ; 03 + db SPRITE_ANIM_FRAMESET_28 ; 04 + db SPRITE_ANIM_FRAMESET_28 ; 05 + db SPRITE_ANIM_FRAMESET_28 ; 06 + db SPRITE_ANIM_FRAMESET_28 ; 07 + db SPRITE_ANIM_FRAMESET_28 ; 08 + db SPRITE_ANIM_FRAMESET_28 ; 09 + db SPRITE_ANIM_FRAMESET_28 ; 0a + db SPRITE_ANIM_FRAMESET_28 ; 0b + db SPRITE_ANIM_FRAMESET_28 ; 0c + db SPRITE_ANIM_FRAMESET_28 ; 0d + db SPRITE_ANIM_FRAMESET_28 ; 0e + db SPRITE_ANIM_FRAMESET_28 ; 0f + db SPRITE_ANIM_FRAMESET_28 ; 10 + db SPRITE_ANIM_FRAMESET_28 ; 11 + db SPRITE_ANIM_FRAMESET_28 ; 12 + db SPRITE_ANIM_FRAMESET_28 ; 13 + db SPRITE_ANIM_FRAMESET_28 ; 14 + db SPRITE_ANIM_FRAMESET_28 ; 15 + db SPRITE_ANIM_FRAMESET_28 ; 16 + db SPRITE_ANIM_FRAMESET_28 ; 17 + db SPRITE_ANIM_FRAMESET_28 ; 18 + db SPRITE_ANIM_FRAMESET_28 ; 19 + db SPRITE_ANIM_FRAMESET_28 ; 1a + db SPRITE_ANIM_FRAMESET_28 ; 1b + db SPRITE_ANIM_FRAMESET_28 ; 1c + db SPRITE_ANIM_FRAMESET_28 ; 1d + db SPRITE_ANIM_FRAMESET_28 ; 1e + db SPRITE_ANIM_FRAMESET_28 ; 1f + db SPRITE_ANIM_FRAMESET_28 ; 20 + db SPRITE_ANIM_FRAMESET_28 ; 21 + db SPRITE_ANIM_FRAMESET_28 ; 22 + db SPRITE_ANIM_FRAMESET_28 ; 23 + db SPRITE_ANIM_FRAMESET_28 ; 24 + db SPRITE_ANIM_FRAMESET_28 ; 25 + db SPRITE_ANIM_FRAMESET_28 ; 26 + db SPRITE_ANIM_FRAMESET_28 ; 27 + db SPRITE_ANIM_FRAMESET_28 ; 28 + db SPRITE_ANIM_FRAMESET_28 ; 29 + db SPRITE_ANIM_FRAMESET_28 ; 2a + db SPRITE_ANIM_FRAMESET_28 ; 2b + db SPRITE_ANIM_FRAMESET_29 ; 2c + db SPRITE_ANIM_FRAMESET_26 ; 2d + db SPRITE_ANIM_FRAMESET_26 ; 2e + db SPRITE_ANIM_FRAMESET_26 ; 2f + +.UpdateObjectFlags: ; 11d2ee (47:52ee) + ld hl, wcd24 + and [hl] + jr nz, .update_y_offset + ld a, e + ld hl, wcd23 + and [hl] + jr z, .reset_y_offset + ld hl, SPRITEANIMSTRUCT_0E + add hl, bc + ld a, [hl] + and a + jr z, .flip_bit_0 + dec [hl] + ret + +.flip_bit_0 + ld a, $0 + ld [hld], a + ld a, $1 + xor [hl] + ld [hl], a + and a + jr nz, .update_y_offset +.reset_y_offset + ld hl, SPRITEANIMSTRUCT_YOFFSET + add hl, bc + xor a + ld [hl], a + ret + +.update_y_offset + ld hl, SPRITEANIMSTRUCT_YCOORD + add hl, bc + ld a, $b0 + sub [hl] + ld hl, SPRITEANIMSTRUCT_YOFFSET + add hl, bc + ld [hl], a + ret + +Function11d323: ; 11d323 + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld hl, Palette_11d33a + ld de, UnknBGPals + ld bc, 16 palettes + call CopyBytes + pop af + ld [rSVBK], a + ret +; 11d33a + +Palette_11d33a: + RGB 31, 31, 31 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + + RGB 31, 16, 31 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + + RGB 23, 17, 31 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 +; 11d3ba + +EZChat_GetSeenPokemonByKana: ; 11d3ba + ld a, [rSVBK] + push af + ld hl, $c648 + ld a, w5_d800 % $100 + ld [wcd2d], a + ld [hli], a + ld a, w5_d800 / $100 + ld [wcd2e], a + ld [hl], a + + ld a, SortedPokemon % $100 + ld [wcd2f], a + ld a, SortedPokemon / $100 + ld [wcd30], a + + ld a, $c6a8 % $100 + ld [wcd31], a + ld a, $c6a8 / $100 + ld [wcd32], a + + ld a, $c64a % $100 + ld [wcd33], a + ld a, $c64a / $100 + ld [wcd34], a + + ld hl, EZChat_SortedWords + ld a, (EZChat_SortedWordsEnd - EZChat_SortedWords) / 4 + +.MasterLoop: ; 11d3ef + push af +; read row +; offset + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a +; size + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a +; save the pointer to the next row + push hl +; add de to w3_d000 + ld hl, w3_d000 + add hl, de +; recover de from wcd2d (default: w5_d800) + ld a, [wcd2d] + ld e, a + ld a, [wcd2e] + ld d, a +; save bc for later + push bc + +.loop1 +; copy 2*bc bytes from 3:hl to 5:de + ld a, $3 + ld [rSVBK], a + ld a, [hli] + push af + ld a, $5 + ld [rSVBK], a + pop af + ld [de], a + inc de + + ld a, $3 + ld [rSVBK], a + ld a, [hli] + push af + ld a, $5 + ld [rSVBK], a + pop af + ld [de], a + inc de + + dec bc + ld a, c + or b + jr nz, .loop1 + +; recover the pointer from wcd2f (default: SortedPokemon) + ld a, [wcd2f] + ld l, a + ld a, [wcd30] + ld h, a +; copy the pointer from [hl] to bc + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a +; store the pointer to the next pointer back in wcd2f + ld a, l + ld [wcd2f], a + ld a, h + ld [wcd30], a +; push pop that pointer to hl + push bc + pop hl + ld c, $0 +.loop2 +; Have you seen this Pokemon? + ld a, [hl] + cp $ff + jr z, .done + call .CheckSeenMon + jr nz, .next +; If not, skip it. + inc hl + jr .loop2 + +.next +; If so, append it to the list at 5:de, and increase the count. + ld a, [hli] + ld [de], a + inc de + xor a + ld [de], a + inc de + inc c + jr .loop2 + +.done +; Remember the original value of bc from the table? +; Well, the stack remembers it, and it's popping it to hl. + pop hl +; Add the number of seen Pokemon from the list. + ld b, $0 + add hl, bc +; Push pop to bc. + push hl + pop bc +; Load the pointer from [wcd31] (default: $c6a8) + ld a, [wcd31] + ld l, a + ld a, [wcd32] + ld h, a +; Save the quantity from bc to [hl] + ld a, c + ld [hli], a + ld a, b + ld [hli], a +; Save the new value of hl to [wcd31] + ld a, l + ld [wcd31], a + ld a, h + ld [wcd32], a +; Recover the pointer from [wcd33] (default: $c64a) + ld a, [wcd33] + ld l, a + ld a, [wcd34] + ld h, a +; Save the current value of de there + ld a, e + ld [wcd2d], a + ld [hli], a + ld a, d + ld [wcd2e], a +; Save the new value of hl back to [wcd33] + ld [hli], a + ld a, l + ld [wcd33], a + ld a, h + ld [wcd34], a +; Next row + pop hl + pop af + dec a + jr z, .ExitMasterLoop + jp .MasterLoop + +.ExitMasterLoop: + pop af + ld [rSVBK], a + ret +; 11d493 + +.CheckSeenMon: ; 11d493 + push hl + push bc + push de + dec a + ld hl, rSVBK + ld e, $1 + ld [hl], e + call CheckSeenMon + ld hl, rSVBK + ld e, $5 + ld [hl], e + pop de + pop bc + pop hl + ret +; 11d4aa + +EZChat_GetCategoryWordsByKana: ; 11d4aa + ld a, [rSVBK] + push af + ld a, $3 + ld [rSVBK], a + + ; load pointers + ld hl, MobileEZChatCategoryPointers + ld bc, MobileEZChatData_WordAndPageCounts + + ; init WRAM registers + xor a + ld [wcd2d], a + inc a + ld [wcd2e], a + + ; enter the first loop + ld a, 14 +.loop1 + push af + + ; load the pointer to the category + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + push hl + + ; skip to the attributes + ld hl, 5 ; length of a string + add hl, de + + ; get the number of words in the category + ld a, [bc] ; number of entries to copy + inc bc + inc bc + push bc + +.loop2 + push af + push hl + + ; load offset at [hl] + ld a, [hli] + ld e, a + ld a, [hl] + ld d, a + + ; add to w3_d000 + ld hl, w3_d000 + add hl, de + + ; copy from wcd2d and increment [wcd2d] in place + ld a, [wcd2d] + ld [hli], a + inc a + ld [wcd2d], a + + ; copy from wcd2e + ld a, [wcd2e] + ld [hl], a + + ; next entry + pop hl + ld de, 8 + add hl, de + pop af + dec a + jr nz, .loop2 + + ; reset and go to next category + ld hl, wcd2d + xor a + ld [hli], a + inc [hl] + pop bc + pop hl + pop af + dec a + jr nz, .loop1 + pop af + ld [rSVBK], a + ret +; 11d4fe + +SortedPokemon: +; Pokemon sorted by kana. +; Notably, Rhydon is missing. + dw .a + dw .i + dw .u + dw .e + dw .o + dw .ka_ga + dw .ki_gi + dw .ku_gu + dw .ke_ge + dw .ko_go + dw .sa_za + dw .shi_ji + dw .su_zu + dw .se_ze + dw .so_zo + dw .ta_da + dw .chi_dhi + dw .tsu_du + dw .te_de + dw .to_do + dw .na + dw .ni + dw .nu + dw .ne + dw .no + dw .ha_ba_pa + dw .hi_bi_pi + dw .fu_bu_pu + dw .he_be_pe + dw .ho_bo_po + dw .ma + dw .mi + dw .mu + dw .me + dw .mo + dw .ya + dw .yu + dw .yo + dw .ra + dw .ri + dw .ru + dw .re + dw .ro + dw .wa + dw .end + +.a: db EKANS, ARBOK, SEAKING, ARIADOS, CROCONAW, UNOWN, -1 +.i: db EEVEE, GEODUDE, SPINARAK, PILOSWINE, ONIX, -1 +.u: db ARCANINE, SUDOWOODO, WEEPINBELL, VICTREEBEL, WOOPER, SWINUB, -1 +.e: db SKARMORY, AIPOM, ESPEON, HITMONCHAN, ELEKID, ELECTABUZZ, ENTEI, -1 +.o: db FERALIGATR, FURRET, OCTILLERY, PRIMEAPE, SENTRET, STANTLER, SPEAROW, FEAROW, OMASTAR, OMANYTE, -1 +.ka_ga db GROWLITHE, MACHAMP, DRAGONITE, PINSIR, SNORLAX, KABUTO, KABUTOPS, HITMONTOP, WARTORTLE, BLASTOISE, FARFETCH_D, CUBONE, MAROWAK, KANGASKHAN, -1 +.ki_gi db SUNFLORA, CATERPIE, GYARADOS, RAPIDASH, NINETALES, GIRAFARIG, BELLOSSOM, KINGDRA, KINGLER, -1 +.ku_gu db GLOOM, PINECO, GLIGAR, KRABBY, GRANBULL, CROBAT, -1 +.ke_ge db ABRA, GENGAR, TAUROS, -1 +.ko_go db MAGIKARP, MAGNEMITE, GASTLY, HAUNTER, MACHOKE, KAKUNA, PSYDUCK, PHANPY, RATTATA, GOLDUCK, GOLBAT, GOLEM, GRAVELER, VENONAT, -1 +.sa_za db RHYHORN, PUPITAR, CORSOLA, HITMONLEE, ZAPDOS, JOLTEON, SANDSHREW, SANDSLASH, -1 ; RHYDON should lead this list +.shi_ji db SEADRA, SHELLDER, VAPOREON, DEWGONG, -1 +.su_zu db SUICUNE, STARMIE, SCYTHER, ZUBAT, BEEDRILL, HYPNO, DROWZEE, -1 +.se_ze db SQUIRTLE, CELEBI, -1 +.so_zo db WOBBUFFET, -1 +.ta_da db DUGTRIO, HORSEA, EXEGGCUTE, -1 +.chi_dhi db CHIKORITA, CHINCHOU, -1 +.tsu_du db SHUCKLE, -1 +.te_de db DIGLETT, REMORAID, DELIBIRD, HOUNDOUR, AMPHAROS, -1 +.to_do db DODUO, DODRIO, SMEARGLE, KOFFING, TENTACRUEL, TOGETIC, TOGEPI, GOLDEEN, METAPOD, DONPHAN, -1 +.na db ODDISH, EXEGGUTOR, -1 +.ni db NIDOKING, NIDOQUEEN, NIDORAN_M, NIDORAN_F, NIDORINA, NIDORINO, MEOWTH, SNEASEL, POLIWHIRL, POLITOED, POLIWRATH, POLIWAG, -1 +.nu db QUAGSIRE, -1 +.ne db NATU, XATU, -1 +.no db DUNSPARCE, -1 +.ha_ba_pa db SEEL, STEELIX, TYPHLOSION, DRAGONAIR, BUTTERFREE, SCIZOR, HOPPIP, BLISSEY, PARAS, PARASECT, QWILFISH, MR__MIME, TYROGUE, CLOYSTER, TYRANITAR, -1 +.hi_bi_pi db CLEFFA, WEEDLE, PIKACHU, CLEFABLE, PIDGEOT, PIDGEOTTO, PICHU, CLEFAIRY, CHARMANDER, STARYU, CYNDAQUIL, SUNKERN, TEDDIURSA, VOLTORB, -1 +.fu_bu_pu db MOLTRES, FLAREON, ALAKAZAM, MAGMAR, FORRETRESS, WIGGLYTUFF, IVYSAUR, BULBASAUR, VENUSAUR, AERODACTYL, MAGBY, IGGLYBUFF, UMBREON, ARTICUNO, JIGGLYPUFF, SNUBBULL, -1 +.he_be_pe db BAYLEEF, GRIMER, MUK, HERACROSS, HOUNDOOM, PERSIAN, LICKITUNG, -1 +.ho_bo_po db HO_OH, HOOTHOOT, PIDGEY, PONYTA, SKIPLOOM, PORYGON, PORYGON2, -1 +.ma db MAGCARGO, SLUGMA, QUILAVA, BELLSPROUT, WEEZING, MARILL, AZUMARILL, ELECTRODE, MANKEY, MANTINE, -1 +.mi db DRATINI, MEW, MEWTWO, MILTANK, -1 +.mu db MISDREAVUS, SMOOCHUM, -1 +.me db MEGANIUM, DITTO, TENTACOOL, MAREEP, -1 +.mo db FLAAFFY, VENOMOTH, TANGELA, -1 +.ya db SLOWKING, SLOWBRO, SLOWPOKE, MURKROW, YANMA, -1 +.yu db KADABRA, -1 +.yo db LARVITAR, NOCTOWL, -1 +.ra db RAIKOU, RAICHU, CHANSEY, RATICATE, LAPRAS, VILEPLUME, LANTURN, -1 +.ri db CHARMELEON, CHARIZARD, URSARING, -1 +.ru db JYNX, LUGIA, -1 +.re db MAGNETON, LEDIAN, LEDYBA, -1 +.ro db VULPIX, -1 +.wa db JUMPLUFF, TOTODILE, MACHOP;, -1 +.end db -1 +; 11d67e + +GFX_11d67e: +INCBIN "gfx/pokedex/select_start.2bpp" +; 11d6de + +LZ_11d6de: +INCBIN "gfx/pokedex/slowpoke.2bpp.lz" +; 11da52 + +MobileEZChatCategoryNames: ; 11da52 +; Fixed message categories + db "ポケモン@@" ; 00 + db "タイプ@@@" ; 01 + db "あいさつ@@" ; 02 + db "ひと@@@@" ; 03 + db "バトル@@@" ; 04 + db "こえ@@@@" ; 05 + db "かいわ@@@" ; 06 + db "きもち@@@" ; 07 + db "じょうたい@" ; 08 + db "せいかつ@@" ; 09 + db "しゅみ@@@" ; 0a + db "こうどう@@" ; 0b + db "じかん@@@" ; 0c + db "むすび@@@" ; 0d + db "あれこれ@@" ; 0e +; 11daac + +MobileEZChatCategoryPointers: ; 11daac +; entries correspond to EZCHAT_* constants + dw .Types ; 01 + dw .Greetings ; 02 + dw .People ; 03 + dw .Battle ; 04 + dw .Exclamations ; 05 + dw .Conversation ; 06 + dw .Feelings ; 07 + dw .Conditions ; 08 + dw .Life ; 09 + dw .Hobbies ; 0a + dw .Actions ; 0b + dw .Time ; 0c + dw .Farewells ; 0d + dw .ThisAndThat ; 0e + +.Types: ; 11dac8 + db "あく@@@", $26, $0, $0 + db "いわ@@@", $aa, $0, $0 + db "エスパー@", $da, $0, $0 + db "かくとう@", $4e, $1, $0 + db "くさ@@@", $ba, $1, $0 + db "ゴースト@", $e4, $1, $0 + db "こおり@@", $e6, $1, $0 + db "じめん@@", $68, $2, $0 + db "タイプ@@", $e8, $2, $0 + db "でんき@@", $8e, $3, $0 + db "どく@@@", $ae, $3, $0 + db "ドラゴン@", $bc, $3, $0 + db "ノーマル@", $22, $4, $0 + db "はがね@@", $36, $4, $0 + db "ひこう@@", $5e, $4, $0 + db "ほのお@@", $b2, $4, $0 + db "みず@@@", $f4, $4, $0 + db "むし@@@", $12, $5, $0 + +.Greetings: ; 11db58 + db "ありがと@", $58, $0, $0 + db "ありがとう", $5a, $0, $0 + db "いくぜ!@", $80, $0, $0 + db "いくよ!@", $82, $0, $0 + db "いくわよ!", $84, $0, $0 + db "いやー@@", $a6, $0, $0 + db "おっす@@", $a, $1, $0 + db "おはつです", $22, $1, $0 + db "おめでとう", $2a, $1, $0 + db "ごめん@@", $f8, $1, $0 + db "ごめんよ@", $fa, $1, $0 + db "こらっ@@", $fc, $1, $0 + db "こんちは!", $a, $2, $0 + db "こんにちは", $10, $2, $0 + db "さようなら", $28, $2, $0 + db "サンキュー", $2e, $2, $0 + db "さんじょう", $30, $2, $0 + db "しっけい@", $48, $2, $0 + db "しつれい@", $4c, $2, $0 + db "じゃーね@", $6c, $2, $0 + db "すいません", $8c, $2, $0 + db "それじゃ@", $ca, $2, $0 + db "どうも@@", $a6, $3, $0 + db "なんじゃ@", $ee, $3, $0 + db "ハーイ@@", $2c, $4, $0 + db "はいはい@", $32, $4, $0 + db "バイバイ@", $34, $4, $0 + db "へイ@@@", $8a, $4, $0 + db "またね@@", $de, $4, $0 + db "もしもし@", $32, $5, $0 + db "やあ@@@", $3e, $5, $0 + db "やっほー@", $4e, $5, $0 + db "よう@@@", $62, $5, $0 + db "ようこそ@", $64, $5, $0 + db "よろしく@", $80, $5, $0 + db "らっしゃい", $94, $5, $0 + +.People: ; 11dc78 + db "あいて@@", $1c, $0, $0 + db "あたし@@", $36, $0, $0 + db "あなた@@", $40, $0, $0 + db "あなたが@", $42, $0, $0 + db "あなたに@", $44, $0, $0 + db "あなたの@", $46, $0, $0 + db "あなたは@", $48, $0, $0 + db "あなたを@", $4a, $0, $0 + db "おかあさん", $e8, $0, $0 + db "おじいさん", $fc, $0, $0 + db "おじさん@", $2, $1, $0 + db "おとうさん", $e, $1, $0 + db "おとこのこ", $10, $1, $0 + db "おとな@@", $14, $1, $0 + db "おにいさん", $16, $1, $0 + db "おねえさん", $18, $1, $0 + db "おばあさん", $1c, $1, $0 + db "おばさん@", $20, $1, $0 + db "おれさま@", $34, $1, $0 + db "おんなのこ", $3a, $1, $0 + db "ガール@@", $40, $1, $0 + db "かぞく@@", $52, $1, $0 + db "かのじょ@", $72, $1, $0 + db "かれ@@@", $7c, $1, $0 + db "きみ@@@", $9a, $1, $0 + db "きみが@@", $9c, $1, $0 + db "きみに@@", $9e, $1, $0 + db "きみの@@", $a0, $1, $0 + db "きみは@@", $a2, $1, $0 + db "きみを@@", $a4, $1, $0 + db "ギャル@@", $ae, $1, $0 + db "きょうだい", $b2, $1, $0 + db "こども@@", $f0, $1, $0 + db "じぶん@@", $54, $2, $0 + db "じぶんが@", $56, $2, $0 + db "じぶんに@", $58, $2, $0 + db "じぶんの@", $5a, $2, $0 + db "じぶんは@", $5c, $2, $0 + db "じぶんを@", $5e, $2, $0 + db "だれ@@@", $18, $3, $0 + db "だれか@@", $1a, $3, $0 + db "だれが@@", $1c, $3, $0 + db "だれに@@", $1e, $3, $0 + db "だれの@@", $20, $3, $0 + db "だれも@@", $22, $3, $0 + db "だれを@@", $24, $3, $0 + db "ちゃん@@", $38, $3, $0 + db "ともだち@", $b8, $3, $0 + db "なかま@@", $d4, $3, $0 + db "ひと@@@", $62, $4, $0 + db "ボーイ@@", $98, $4, $0 + db "ボク@@@", $a0, $4, $0 + db "ボクが@@", $a2, $4, $0 + db "ボクに@@", $a4, $4, $0 + db "ボクの@@", $a6, $4, $0 + db "ボクは@@", $a8, $4, $0 + db "ボクを@@", $aa, $4, $0 + db "みんな@@", $4, $5, $0 + db "みんなが@", $6, $5, $0 + db "みんなに@", $8, $5, $0 + db "みんなの@", $a, $5, $0 + db "みんなは@", $c, $5, $0 + db "ライバル@", $8a, $5, $0 + db "わたし@@", $c2, $5, $0 + db "わたしが@", $c4, $5, $0 + db "わたしに@", $c6, $5, $0 + db "わたしの@", $c8, $5, $0 + db "わたしは@", $ca, $5, $0 + db "わたしを@", $cc, $5, $0 + +.Battle: ; 11dea0 + db "あいしょう", $18, $0, $0 + db "いけ!@@", $88, $0, $0 + db "いちばん@", $96, $0, $0 + db "かくご@@", $4c, $1, $0 + db "かたせて@", $54, $1, $0 + db "かち@@@", $56, $1, $0 + db "かつ@@@", $58, $1, $0 + db "かった@@", $60, $1, $0 + db "かったら@", $62, $1, $0 + db "かって@@", $64, $1, $0 + db "かてない@", $66, $1, $0 + db "かてる@@", $68, $1, $0 + db "かなわない", $70, $1, $0 + db "きあい@@", $84, $1, $0 + db "きめた@@", $a8, $1, $0 + db "きりふだ@", $b6, $1, $0 + db "くらえ@@", $c2, $1, $0 + db "こい!@@", $da, $1, $0 + db "こうげき@", $e0, $1, $0 + db "こうさん@", $e2, $1, $0 + db "こんじょう", $8, $2, $0 + db "さいのう@", $16, $2, $0 + db "さくせん@", $1a, $2, $0 + db "さばき@@", $22, $2, $0 + db "しょうぶ@", $7e, $2, $0 + db "しょうり@", $80, $2, $0 + db "せめ@@@", $b4, $2, $0 + db "センス@@", $b6, $2, $0 + db "たいせん@", $e6, $2, $0 + db "たたかい@", $f6, $2, $0 + db "ちから@@", $32, $3, $0 + db "チャレンジ", $36, $3, $0 + db "つよい@@", $58, $3, $0 + db "つよすぎ@", $5a, $3, $0 + db "つらい@@", $5c, $3, $0 + db "つらかった", $5e, $3, $0 + db "てかげん@", $6c, $3, $0 + db "てき@@@", $6e, $3, $0 + db "てんさい@", $90, $3, $0 + db "でんせつ@", $94, $3, $0 + db "トレーナー", $c6, $3, $0 + db "にげ@@@", $4, $4, $0 + db "ぬるい@@", $10, $4, $0 + db "ねらう@@", $16, $4, $0 + db "バトル@@", $4a, $4, $0 + db "ファイト@", $72, $4, $0 + db "ふっかつ@", $78, $4, $0 + db "ポイント@", $94, $4, $0 + db "ポケモン@", $ac, $4, $0 + db "ほんき@@", $bc, $4, $0 + db "まいった!", $c4, $4, $0 + db "まけ@@@", $c8, $4, $0 + db "まけたら@", $ca, $4, $0 + db "まけて@@", $cc, $4, $0 + db "まける@@", $ce, $4, $0 + db "まもり@@", $ea, $4, $0 + db "みかた@@", $f2, $4, $0 + db "みとめない", $fe, $4, $0 + db "みとめる@", $0, $5, $0 + db "むてき@@", $16, $5, $0 + db "もらった!", $3c, $5, $0 + db "よゆう@@", $7a, $5, $0 + db "よわい@@", $82, $5, $0 + db "よわすぎ@", $84, $5, $0 + db "らくしょう", $8e, $5, $0 + db "りーダー@", $9e, $5, $0 + db "ルール@@", $a0, $5, $0 + db "レべル@@", $a6, $5, $0 + db "わざ@@@", $be, $5, $0 + +.Exclamations: ; 11e0c8 + db "!@@@@", $0, $0, $0 + db "!!@@@", $2, $0, $0 + db "!?@@@", $4, $0, $0 + db "?@@@@", $6, $0, $0 + db "…@@@@", $8, $0, $0 + db "…!@@@", $a, $0, $0 + db "………@@", $c, $0, $0 + db "ー@@@@", $e, $0, $0 + db "ーーー@@", $10, $0, $0 + db "あーあ@@", $14, $0, $0 + db "あーん@@", $16, $0, $0 + db "あははー@", $52, $0, $0 + db "あら@@@", $54, $0, $0 + db "いえ@@@", $72, $0, $0 + db "イエス@@", $74, $0, $0 + db "うう@@@", $ac, $0, $0 + db "うーん@@", $ae, $0, $0 + db "うおー!@", $b0, $0, $0 + db "うおりゃー", $b2, $0, $0 + db "うひょー@", $bc, $0, $0 + db "うふふ@@", $be, $0, $0 + db "うわー@@", $ca, $0, $0 + db "うわーん@", $cc, $0, $0 + db "ええ@@@", $d2, $0, $0 + db "えー@@@", $d4, $0, $0 + db "えーん@@", $d6, $0, $0 + db "えへへ@@", $dc, $0, $0 + db "おいおい@", $e0, $0, $0 + db "おお@@@", $e2, $0, $0 + db "おっと@@", $c, $1, $0 + db "がーん@@", $42, $1, $0 + db "キャー@@", $aa, $1, $0 + db "ギャー@@", $ac, $1, $0 + db "ぐふふふふ", $bc, $1, $0 + db "げっ@@@", $ce, $1, $0 + db "しくしく@", $3e, $2, $0 + db "ちえっ@@", $2e, $3, $0 + db "てへ@@@", $86, $3, $0 + db "ノー@@@", $20, $4, $0 + db "はあー@@", $2a, $4, $0 + db "はい@@@", $30, $4, $0 + db "はっはっは", $48, $4, $0 + db "ひいー@@", $56, $4, $0 + db "ひゃあ@@", $6a, $4, $0 + db "ふっふっふ", $7c, $4, $0 + db "ふにゃ@@", $7e, $4, $0 + db "ププ@@@", $80, $4, $0 + db "ふふん@@", $82, $4, $0 + db "ふん@@@", $88, $4, $0 + db "へっへっへ", $8e, $4, $0 + db "へへー@@", $90, $4, $0 + db "ほーほほほ", $9c, $4, $0 + db "ほら@@@", $b6, $4, $0 + db "まあ@@@", $c0, $4, $0 + db "むきー!!", $10, $5, $0 + db "むふー@@", $18, $5, $0 + db "むふふ@@", $1a, $5, $0 + db "むむ@@@", $1c, $5, $0 + db "よーし@@", $6a, $5, $0 + db "よし!@@", $72, $5, $0 + db "ラララ@@", $98, $5, $0 + db "わーい@@", $ac, $5, $0 + db "わーん!!", $b0, $5, $0 + db "ワォ@@@", $b2, $5, $0 + db "わっ!!@", $ce, $5, $0 + db "わははは!", $d0, $5, $0 + +.Conversation: ; 11e2d8 + db "あのね@@", $50, $0, $0 + db "あんまり@", $6e, $0, $0 + db "いじわる@", $8e, $0, $0 + db "うそ@@@", $b6, $0, $0 + db "うむ@@@", $c4, $0, $0 + db "おーい@@", $e4, $0, $0 + db "おすすめ@", $6, $1, $0 + db "おばかさん", $1e, $1, $0 + db "かなり@@", $6e, $1, $0 + db "から@@@", $7a, $1, $0 + db "きぶん@@", $98, $1, $0 + db "けど@@@", $d6, $1, $0 + db "こそ@@@", $ea, $1, $0 + db "こと@@@", $ee, $1, $0 + db "さあ@@@", $12, $2, $0 + db "さっぱり@", $1e, $2, $0 + db "さて@@@", $20, $2, $0 + db "じゅうぶん", $72, $2, $0 + db "すぐ@@@", $94, $2, $0 + db "すごく@@", $98, $2, $0 + db "すこしは@", $9a, $2, $0 + db "すっっごい", $a0, $2, $0 + db "ぜーんぜん", $b0, $2, $0 + db "ぜったい@", $b2, $2, $0 + db "それで@@", $ce, $2, $0 + db "だけ@@@", $f2, $2, $0 + db "だって@@", $fc, $2, $0 + db "たぶん@@", $6, $3, $0 + db "たら@@@", $14, $3, $0 + db "ちょー@@", $3a, $3, $0 + db "ちょっと@", $3c, $3, $0 + db "ったら@@", $4e, $3, $0 + db "って@@@", $50, $3, $0 + db "ていうか@", $62, $3, $0 + db "でも@@@", $88, $3, $0 + db "どうしても", $9c, $3, $0 + db "とうぜん@", $a0, $3, $0 + db "どうぞ@@", $a2, $3, $0 + db "とりあえず", $be, $3, $0 + db "なあ@@@", $cc, $3, $0 + db "なんて@@", $f4, $3, $0 + db "なんでも@", $fc, $3, $0 + db "なんとか@", $fe, $3, $0 + db "には@@@", $8, $4, $0 + db "バッチり@", $46, $4, $0 + db "ばりばり@", $52, $4, $0 + db "ほど@@@", $b0, $4, $0 + db "ほんと@@", $be, $4, $0 + db "まさに@@", $d0, $4, $0 + db "マジ@@@", $d2, $4, $0 + db "マジで@@", $d4, $4, $0 + db "まったく@", $e4, $4, $0 + db "まで@@@", $e6, $4, $0 + db "まるで@@", $ec, $4, $0 + db "ムード@@", $e, $5, $0 + db "むしろ@@", $14, $5, $0 + db "めちゃ@@", $24, $5, $0 + db "めっぽう@", $28, $5, $0 + db "もう@@@", $2c, $5, $0 + db "モード@@", $2e, $5, $0 + db "もっと@@", $36, $5, $0 + db "もはや@@", $38, $5, $0 + db "やっと@@", $4a, $5, $0 + db "やっぱり@", $4c, $5, $0 + db "より@@@", $7c, $5, $0 + db "れば@@@", $a4, $5, $0 + +.Feelings: ; 11e4e8 + db "あいたい@", $1a, $0, $0 + db "あそびたい", $32, $0, $0 + db "いきたい@", $7c, $0, $0 + db "うかれて@", $b4, $0, $0 + db "うれしい@", $c6, $0, $0 + db "うれしさ@", $c8, $0, $0 + db "エキサイト", $d8, $0, $0 + db "えらい@@", $de, $0, $0 + db "おかしい@", $ec, $0, $0 + db "ォッケー@", $8, $1, $0 + db "かえりたい", $48, $1, $0 + db "がっくし@", $5a, $1, $0 + db "かなしい@", $6c, $1, $0 + db "がんばって", $80, $1, $0 + db "きがしない", $86, $1, $0 + db "きがする@", $88, $1, $0 + db "ききたい@", $8a, $1, $0 + db "きになる@", $90, $1, $0 + db "きのせい@", $96, $1, $0 + db "きらい@@", $b4, $1, $0 + db "くやしい@", $be, $1, $0 + db "くやしさ@", $c0, $1, $0 + db "さみしい@", $24, $2, $0 + db "ざんねん@", $32, $2, $0 + db "しあわせ@", $36, $2, $0 + db "したい@@", $44, $2, $0 + db "したくない", $46, $2, $0 + db "しまった@", $64, $2, $0 + db "しょんぼり", $82, $2, $0 + db "すき@@@", $92, $2, $0 + db "だいきらい", $da, $2, $0 + db "たいくつ@", $dc, $2, $0 + db "だいじ@@", $de, $2, $0 + db "だいすき@", $e4, $2, $0 + db "たいへん@", $ea, $2, $0 + db "たのしい@", $0, $3, $0 + db "たのしすぎ", $2, $3, $0 + db "たべたい@", $8, $3, $0 + db "ダメダメ@", $e, $3, $0 + db "たりない@", $16, $3, $0 + db "ちくしょー", $34, $3, $0 + db "どうしよう", $9e, $3, $0 + db "ドキドキ@", $ac, $3, $0 + db "ナイス@@", $d0, $3, $0 + db "のみたい@", $26, $4, $0 + db "びっくり@", $60, $4, $0 + db "ふあん@@", $74, $4, $0 + db "ふらふら@", $86, $4, $0 + db "ほしい@@", $ae, $4, $0 + db "ボロボロ@", $b8, $4, $0 + db "まだまだ@", $e0, $4, $0 + db "まてない@", $e8, $4, $0 + db "まんぞく@", $f0, $4, $0 + db "みたい@@", $f8, $4, $0 + db "めずらしい", $22, $5, $0 + db "メラメラ@", $2a, $5, $0 + db "やだ@@@", $46, $5, $0 + db "やったー@", $48, $5, $0 + db "やばい@@", $50, $5, $0 + db "やばすぎる", $52, $5, $0 + db "やられた@", $54, $5, $0 + db "やられて@", $56, $5, $0 + db "よかった@", $6e, $5, $0 + db "ラブラブ@", $96, $5, $0 + db "ロマン@@", $a8, $5, $0 + db "ろんがい@", $aa, $5, $0 + db "わから@@", $b4, $5, $0 + db "わかり@@", $b6, $5, $0 + db "わくわく@", $ba, $5, $0 + +.Conditions: ; 11e710 + db "あつい@@", $38, $0, $0 + db "あった@@", $3a, $0, $0 + db "あり@@@", $56, $0, $0 + db "ある@@@", $5e, $0, $0 + db "あわてて@", $6a, $0, $0 + db "いい@@@", $70, $0, $0 + db "いか@@@", $76, $0, $0 + db "イカス@@", $78, $0, $0 + db "いきおい@", $7a, $0, $0 + db "いける@@", $8a, $0, $0 + db "いじょう@", $8c, $0, $0 + db "いそがしい", $90, $0, $0 + db "いっしょに", $9a, $0, $0 + db "いっぱい@", $9c, $0, $0 + db "いない@@", $a0, $0, $0 + db "いや@@@", $a4, $0, $0 + db "いる@@@", $a8, $0, $0 + db "うまい@@", $c0, $0, $0 + db "うまく@@", $c2, $0, $0 + db "おおきい@", $e6, $0, $0 + db "おくれ@@", $f2, $0, $0 + db "おしい@@", $fa, $0, $0 + db "おもしろい", $2c, $1, $0 + db "おもしろく", $2e, $1, $0 + db "かっこいい", $5c, $1, $0 + db "かわいい@", $7e, $1, $0 + db "かんぺき@", $82, $1, $0 + db "けっこう@", $d0, $1, $0 + db "げんき@@", $d8, $1, $0 + db "こわい@@", $6, $2, $0 + db "さいこう@", $14, $2, $0 + db "さむい@@", $26, $2, $0 + db "さわやか@", $2c, $2, $0 + db "しかたない", $38, $2, $0 + db "すごい@@", $96, $2, $0 + db "すごすぎ@", $9c, $2, $0 + db "すてき@@", $a4, $2, $0 + db "たいした@", $e0, $2, $0 + db "だいじょぶ", $e2, $2, $0 + db "たかい@@", $ec, $2, $0 + db "ただしい@", $f8, $2, $0 + db "だめ@@@", $c, $3, $0 + db "ちいさい@", $2c, $3, $0 + db "ちがう@@", $30, $3, $0 + db "つかれ@@", $48, $3, $0 + db "とくい@@", $b0, $3, $0 + db "とまらない", $b6, $3, $0 + db "ない@@@", $ce, $3, $0 + db "なかった@", $d2, $3, $0 + db "なし@@@", $d8, $3, $0 + db "なって@@", $dc, $3, $0 + db "はやい@@", $50, $4, $0 + db "ひかる@@", $5a, $4, $0 + db "ひくい@@", $5c, $4, $0 + db "ひどい@@", $64, $4, $0 + db "ひとりで@", $66, $4, $0 + db "ひま@@@", $68, $4, $0 + db "ふそく@@", $76, $4, $0 + db "へた@@@", $8c, $4, $0 + db "まちがって", $e2, $4, $0 + db "やさしい@", $42, $5, $0 + db "よく@@@", $70, $5, $0 + db "よわって@", $86, $5, $0 + db "らく@@@", $8c, $5, $0 + db "らしい@@", $90, $5, $0 + db "わるい@@", $d4, $5, $0 + +.Life: ; 11e920 + db "アルバイト", $64, $0, $0 + db "うち@@@", $ba, $0, $0 + db "おかね@@", $ee, $0, $0 + db "おこづかい", $f4, $0, $0 + db "おふろ@@", $24, $1, $0 + db "がっこう@", $5e, $1, $0 + db "きねん@@", $92, $1, $0 + db "グループ@", $c6, $1, $0 + db "ゲット@@", $d2, $1, $0 + db "こうかん@", $de, $1, $0 + db "しごと@@", $40, $2, $0 + db "しゅぎょう", $74, $2, $0 + db "じゅぎょう", $76, $2, $0 + db "じゅく@@", $78, $2, $0 + db "しんか@@", $88, $2, $0 + db "ずかん@@", $90, $2, $0 + db "せいかつ@", $ae, $2, $0 + db "せんせい@", $b8, $2, $0 + db "センター@", $ba, $2, $0 + db "タワー@@", $28, $3, $0 + db "つうしん@", $40, $3, $0 + db "テスト@@", $7e, $3, $0 + db "テレビ@@", $8c, $3, $0 + db "でんわ@@", $96, $3, $0 + db "どうぐ@@", $9a, $3, $0 + db "トレード@", $c4, $3, $0 + db "なまえ@@", $e8, $3, $0 + db "ニュース@", $a, $4, $0 + db "にんき@@", $c, $4, $0 + db "パーティー", $2e, $4, $0 + db "べんきょう", $92, $4, $0 + db "マシン@@", $d6, $4, $0 + db "めいし@@", $1e, $5, $0 + db "メッセージ", $26, $5, $0 + db "もようがえ", $3a, $5, $0 + db "ゆめ@@@", $5a, $5, $0 + db "ようちえん", $66, $5, $0 + db "ラジォ@@", $92, $5, $0 + db "ワールド@", $ae, $5, $0 + +.Hobbies: ; 11ea58 + db "アイドル@", $1e, $0, $0 + db "アニメ@@", $4c, $0, $0 + db "うた@@@", $b8, $0, $0 + db "えいが@@", $d0, $0, $0 + db "おかし@@", $ea, $0, $0 + db "おしゃべり", $4, $1, $0 + db "おままごと", $28, $1, $0 + db "おもちゃ@", $30, $1, $0 + db "おんがく@", $38, $1, $0 + db "カード@@", $3e, $1, $0 + db "かいもの@", $46, $1, $0 + db "グルメ@@", $c8, $1, $0 + db "ゲーム@@", $cc, $1, $0 + db "ざっし@@", $1c, $2, $0 + db "さんぽ@@", $34, $2, $0 + db "じてんしゃ", $50, $2, $0 + db "しゅみ@@", $7a, $2, $0 + db "スポーツ@", $a8, $2, $0 + db "ダイエット", $d8, $2, $0 + db "たからもの", $f0, $2, $0 + db "たび@@@", $4, $3, $0 + db "ダンス@@", $2a, $3, $0 + db "つり@@@", $60, $3, $0 + db "デート@@", $6a, $3, $0 + db "でんしゃ@", $92, $3, $0 + db "ぬいぐるみ", $e, $4, $0 + db "パソコン@", $3e, $4, $0 + db "はな@@@", $4c, $4, $0 + db "ヒーロー@", $58, $4, $0 + db "ひるね@@", $6e, $4, $0 + db "ヒロイン@", $70, $4, $0 + db "ぼうけん@", $96, $4, $0 + db "ボード@@", $9a, $4, $0 + db "ボール@@", $9e, $4, $0 + db "ほん@@@", $ba, $4, $0 + db "マンガ@@", $ee, $4, $0 + db "やくそく@", $40, $5, $0 + db "やすみ@@", $44, $5, $0 + db "よてい@@", $74, $5, $0 + +.Actions: ; 11eb90 + db "あう@@@", $20, $0, $0 + db "あきらめ@", $24, $0, $0 + db "あげる@@", $28, $0, $0 + db "あせる@@", $2e, $0, $0 + db "あそび@@", $30, $0, $0 + db "あそぶ@@", $34, $0, $0 + db "あつめ@@", $3e, $0, $0 + db "あるき@@", $60, $0, $0 + db "あるく@@", $62, $0, $0 + db "いく@@@", $7e, $0, $0 + db "いけ@@@", $86, $0, $0 + db "おき@@@", $f0, $0, $0 + db "おこり@@", $f6, $0, $0 + db "おこる@@", $f8, $0, $0 + db "おしえ@@", $fe, $0, $0 + db "おしえて@", $0, $1, $0 + db "おねがい@", $1a, $1, $0 + db "おぼえ@@", $26, $1, $0 + db "かえる@@", $4a, $1, $0 + db "がまん@@", $74, $1, $0 + db "きく@@@", $8c, $1, $0 + db "きたえ@@", $8e, $1, $0 + db "きめ@@@", $a6, $1, $0 + db "くる@@@", $c4, $1, $0 + db "さがし@@", $18, $2, $0 + db "さわぎ@@", $2a, $2, $0 + db "した@@@", $42, $2, $0 + db "しって@@", $4a, $2, $0 + db "して@@@", $4e, $2, $0 + db "しない@@", $52, $2, $0 + db "しまう@@", $60, $2, $0 + db "じまん@@", $66, $2, $0 + db "しらない@", $84, $2, $0 + db "しる@@@", $86, $2, $0 + db "しんじて@", $8a, $2, $0 + db "する@@@", $aa, $2, $0 + db "たべる@@", $a, $3, $0 + db "つかう@@", $42, $3, $0 + db "つかえ@@", $44, $3, $0 + db "つかって@", $46, $3, $0 + db "できない@", $70, $3, $0 + db "できる@@", $72, $3, $0 + db "でない@@", $84, $3, $0 + db "でる@@@", $8a, $3, $0 + db "なげる@@", $d6, $3, $0 + db "なやみ@@", $ea, $3, $0 + db "ねられ@@", $18, $4, $0 + db "ねる@@@", $1a, $4, $0 + db "のがし@@", $24, $4, $0 + db "のむ@@@", $28, $4, $0 + db "はしり@@", $3a, $4, $0 + db "はしる@@", $3c, $4, $0 + db "はたらき@", $40, $4, $0 + db "はたらく@", $42, $4, $0 + db "はまって@", $4e, $4, $0 + db "ぶつけ@@", $7a, $4, $0 + db "ほめ@@@", $b4, $4, $0 + db "みせて@@", $f6, $4, $0 + db "みて@@@", $fc, $4, $0 + db "みる@@@", $2, $5, $0 + db "めざす@@", $20, $5, $0 + db "もって@@", $34, $5, $0 + db "ゆずる@@", $58, $5, $0 + db "ゆるす@@", $5c, $5, $0 + db "ゆるせ@@", $5e, $5, $0 + db "られない@", $9a, $5, $0 + db "られる@@", $9c, $5, $0 + db "わかる@@", $b8, $5, $0 + db "わすれ@@", $c0, $5, $0 + +.Time: ; 11edb8 + db "あき@@@", $22, $0, $0 + db "あさ@@@", $2a, $0, $0 + db "あした@@", $2c, $0, $0 + db "いちにち@", $94, $0, $0 + db "いつか@@", $98, $0, $0 + db "いつも@@", $9e, $0, $0 + db "いま@@@", $a2, $0, $0 + db "えいえん@", $ce, $0, $0 + db "おととい@", $12, $1, $0 + db "おわり@@", $36, $1, $0 + db "かようび@", $78, $1, $0 + db "きのう@@", $94, $1, $0 + db "きょう@@", $b0, $1, $0 + db "きんようび", $b8, $1, $0 + db "げつようび", $d4, $1, $0 + db "このあと@", $f4, $1, $0 + db "このまえ@", $f6, $1, $0 + db "こんど@@", $c, $2, $0 + db "じかん@@", $3c, $2, $0 + db "じゅうねん", $70, $2, $0 + db "すいようび", $8e, $2, $0 + db "スタート@", $9e, $2, $0 + db "ずっと@@", $a2, $2, $0 + db "ストップ@", $a6, $2, $0 + db "そのうち@", $c4, $2, $0 + db "ついに@@", $3e, $3, $0 + db "つぎ@@@", $4a, $3, $0 + db "どようび@", $ba, $3, $0 + db "なつ@@@", $da, $3, $0 + db "にちようび", $6, $4, $0 + db "はじめ@@", $38, $4, $0 + db "はる@@@", $54, $4, $0 + db "ひる@@@", $6c, $4, $0 + db "ふゆ@@@", $84, $4, $0 + db "まいにち@", $c6, $4, $0 + db "もくようび", $30, $5, $0 + db "よなか@@", $76, $5, $0 + db "よる@@@", $7e, $5, $0 + db "らいしゅう", $88, $5, $0 + +.Farewells: ; 11eef0 + db "いたします", $92, $0, $0 + db "おります@", $32, $1, $0 + db "か!?@@", $3c, $1, $0 + db "かい?@@", $44, $1, $0 + db "かしら?@", $50, $1, $0 + db "かな?@@", $6a, $1, $0 + db "かも@@@", $76, $1, $0 + db "くれ@@@", $ca, $1, $0 + db "ございます", $e8, $1, $0 + db "しがち@@", $3a, $2, $0 + db "します@@", $62, $2, $0 + db "じゃ@@@", $6a, $2, $0 + db "じゃん@@", $6e, $2, $0 + db "しよう@@", $7c, $2, $0 + db "ぜ!@@@", $ac, $2, $0 + db "ぞ!@@@", $bc, $2, $0 + db "た@@@@", $d4, $2, $0 + db "だ@@@@", $d6, $2, $0 + db "だからね@", $ee, $2, $0 + db "だぜ@@@", $f4, $2, $0 + db "だった@@", $fa, $2, $0 + db "だね@@@", $fe, $2, $0 + db "だよ@@@", $10, $3, $0 + db "だよねー!", $12, $3, $0 + db "だわ@@@", $26, $3, $0 + db "ッス@@@", $4c, $3, $0 + db "ってかんじ", $52, $3, $0 + db "っぱなし@", $54, $3, $0 + db "つもり@@", $56, $3, $0 + db "ていない@", $64, $3, $0 + db "ている@@", $66, $3, $0 + db "でーす!@", $68, $3, $0 + db "でした@@", $74, $3, $0 + db "でしょ?@", $76, $3, $0 + db "でしょー!", $78, $3, $0 + db "です@@@", $7a, $3, $0 + db "ですか?@", $7c, $3, $0 + db "ですよ@@", $80, $3, $0 + db "ですわ@@", $82, $3, $0 + db "どうなの?", $a4, $3, $0 + db "どうよ?@", $a8, $3, $0 + db "とかいって", $aa, $3, $0 + db "なの@@@", $e0, $3, $0 + db "なのか@@", $e2, $3, $0 + db "なのだ@@", $e4, $3, $0 + db "なのよ@@", $e6, $3, $0 + db "なんだね@", $f2, $3, $0 + db "なんです@", $f8, $3, $0 + db "なんてね@", $fa, $3, $0 + db "ね@@@@", $12, $4, $0 + db "ねー@@@", $14, $4, $0 + db "の@@@@", $1c, $4, $0 + db "の?@@@", $1e, $4, $0 + db "ばっかり@", $44, $4, $0 + db "まーす!@", $c2, $4, $0 + db "ます@@@", $d8, $4, $0 + db "ますわ@@", $da, $4, $0 + db "ません@@", $dc, $4, $0 + db "みたいな@", $fa, $4, $0 + db "よ!@@@", $60, $5, $0 + db "よー@@@", $68, $5, $0 + db "よーん@@", $6c, $5, $0 + db "よね@@@", $78, $5, $0 + db "るよ@@@", $a2, $5, $0 + db "わけ@@@", $bc, $5, $0 + db "わよ!@@", $d2, $5, $0 + +.ThisAndThat: ; 11f100 + db "ああ@@@", $12, $0, $0 + db "あっち@@", $3c, $0, $0 + db "あの@@@", $4e, $0, $0 + db "ありゃ@@", $5c, $0, $0 + db "あれ@@@", $66, $0, $0 + db "あれは@@", $68, $0, $0 + db "あんな@@", $6c, $0, $0 + db "こう@@@", $dc, $1, $0 + db "こっち@@", $ec, $1, $0 + db "この@@@", $f2, $1, $0 + db "こりゃ@@", $fe, $1, $0 + db "これ@@@", $0, $2, $0 + db "これだ!@", $2, $2, $0 + db "これは@@", $4, $2, $0 + db "こんな@@", $e, $2, $0 + db "そう@@@", $be, $2, $0 + db "そっち@@", $c0, $2, $0 + db "その@@@", $c2, $2, $0 + db "そりゃ@@", $c6, $2, $0 + db "それ@@@", $c8, $2, $0 + db "それだ!@", $cc, $2, $0 + db "それは@@", $d0, $2, $0 + db "そんな@@", $d2, $2, $0 + db "どう@@@", $98, $3, $0 + db "どっち@@", $b2, $3, $0 + db "どの@@@", $b4, $3, $0 + db "どりゃ@@", $c0, $3, $0 + db "どれ@@@", $c2, $3, $0 + db "どれを@@", $c8, $3, $0 + db "どんな@@", $ca, $3, $0 + db "なに@@@", $de, $3, $0 + db "なんか@@", $ec, $3, $0 + db "なんだ@@", $f0, $3, $0 + db "なんで@@", $f6, $3, $0 + db "なんなんだ", $0, $4, $0 + db "なんの@@", $2, $4, $0 +; 11f220 + +MobileEZChatData_WordAndPageCounts: +macro_11f220: macro +; parameter: number of words + db \1 +; 12 words per page (0-based indexing) +x = \1 / 12 +if \1 % 12 == 0 +x = x +- 1 +endc + db x +endm + macro_11f220 18 ; 01: Types + macro_11f220 36 ; 02: Greetings + macro_11f220 69 ; 03: People + macro_11f220 69 ; 04: Battle + macro_11f220 66 ; 05: Exclamations + macro_11f220 66 ; 06: Conversation + macro_11f220 69 ; 07: Feelings + macro_11f220 66 ; 08: Conditions + macro_11f220 39 ; 09: Life + macro_11f220 39 ; 0a: Hobbies + macro_11f220 69 ; 0b: Actions + macro_11f220 39 ; 0c: Time + macro_11f220 66 ; 0d: Farewells + macro_11f220 36 ; 0e: ThisAndThat + +EZChat_SortedWords: +; Addresses in WRAM bank 3 where EZChat words beginning +; with the given kana are sorted in memory, and the pre- +; allocated size for each. +; These arrays are expanded dynamically to accomodate +; any Pokemon you've seen that starts with each kana.\ +macro_11f23c: macro + dw x - w3_d000, \1 +x = x + 2 * \1 +endm +x = $d012 + macro_11f23c $2f ; a + macro_11f23c $1e ; i + macro_11f23c $11 ; u + macro_11f23c $09 ; e + macro_11f23c $2e ; o + macro_11f23c $24 ; ka_ga + macro_11f23c $1b ; ki_gi + macro_11f23c $09 ; ku_gu + macro_11f23c $07 ; ke_ge + macro_11f23c $1c ; ko_go + macro_11f23c $12 ; sa_za + macro_11f23c $2b ; shi_ji + macro_11f23c $10 ; su_zu + macro_11f23c $08 ; se_ze + macro_11f23c $0c ; so_zo + macro_11f23c $2c ; ta_da + macro_11f23c $09 ; chi_dhi + macro_11f23c $12 ; tsu_du + macro_11f23c $1b ; te_de + macro_11f23c $1a ; to_do + macro_11f23c $1c ; na + macro_11f23c $05 ; ni + macro_11f23c $02 ; nu + macro_11f23c $05 ; ne + macro_11f23c $07 ; no + macro_11f23c $16 ; ha_ba_pa + macro_11f23c $0e ; hi_bi_pi + macro_11f23c $0c ; fu_bu_pu + macro_11f23c $05 ; he_be_pe + macro_11f23c $16 ; ho_bo_po + macro_11f23c $19 ; ma + macro_11f23c $0e ; mi + macro_11f23c $08 ; mu + macro_11f23c $07 ; me + macro_11f23c $09 ; mo + macro_11f23c $0d ; ya + macro_11f23c $04 ; yu + macro_11f23c $14 ; yo + macro_11f23c $0b ; ra + macro_11f23c $01 ; ri + macro_11f23c $02 ; ru + macro_11f23c $02 ; re + macro_11f23c $02 ; ro + macro_11f23c $15 ; wa +x = $d000 + macro_11f23c $09 ; end +EZChat_SortedWordsEnd: diff --git a/mobile/mobile_12.asm b/mobile/mobile_12.asm new file mode 100755 index 000000000..efe138162 --- /dev/null +++ b/mobile/mobile_12.asm @@ -0,0 +1,1845 @@ +InitMobileProfile: ; 4802f (12:402f) + xor a + set 6, a + ld [wd002], a + ld hl, wd003 + set 0, [hl] + ld a, c + and a + call z, InitCrystalData + call ClearBGPalettes + call Function48d3d + ld a, [wd479] + bit 1, a + jr z, .not_yet_initialized + ld a, [wd003] + set 0, a + set 1, a + set 2, a + set 3, a + ld [wd003], a +.not_yet_initialized + call Function486bf + call LoadFontsExtra + ld de, GFX_488c3 + ld hl, VTiles2 tile $10 + lb bc, BANK(GFX_488c3), 1 + call Request1bpp + ld de, GFX_488cb + ld hl, VTiles2 tile $11 + lb bc, BANK(GFX_488cb), 1 + call Request1bpp + call Function4a3a7 + call ClearBGPalettes + ld a, [wd002] + bit 6, a + jr z, .asm_4808a + call Function48689 + jr .asm_480d7 +.asm_4808a + ld a, $5 + ld [MusicFade], a + ld a, MUSIC_MOBILE_ADAPTER_MENU % $100 + ld [MusicFadeID], a + ld a, MUSIC_MOBILE_ADAPTER_MENU / $100 + ld [MusicFadeID + 1], a + ld c, 20 + call DelayFrames + ld b, $1 + call GetMysteryGift_MobileAdapterLayout + call ClearBGPalettes + hlcoord 0, 0 + ld b, 2 + ld c, 20 + call ClearBox + hlcoord 0, 1 + ld a, $c + ld [hl], a + ld bc, $13 + add hl, bc + ld [hl], a + ld de, MobileProfileString + hlcoord 1, 1 + call PlaceString + hlcoord 0, 2 + ld b, $a + ld c, $12 + call Function48cdc + hlcoord 2, 4 + ld de, MobileString_Gender + call PlaceString +.asm_480d7 + hlcoord 2, 6 + ld de, MobileString_Age + call PlaceString + hlcoord 2, 8 + ld de, MobileString_Address + call PlaceString + hlcoord 2, 10 + ld de, MobileString_ZipCode + call PlaceString + hlcoord 2, 12 + ld de, MobileString_OK + call PlaceString + ld a, [wd002] + bit 6, a + jr nz, .asm_48113 + ld a, [PlayerGender] + ld hl, Strings_484fb + call GetNthString + ld d, h + ld e, l + hlcoord 11, 4 + call PlaceString +.asm_48113 + hlcoord 11, 6 + call Function487ec + ld a, [wd474] + dec a + ld hl, Prefectures + call GetNthString + ld d, h + ld e, l + hlcoord 11, 8 + call PlaceString + hlcoord 11, 10 + call Function489ea + hlcoord 0, 14 + ld b, $2 + ld c, $12 + call TextBox + hlcoord 1, 16 + ld de, MobileString_PersonalInfo + call PlaceString + call Function48187 + call WaitBGMap2 + call SetPalettes + call StaticMenuJoypad + ld hl, wMenuCursorY + ld b, [hl] + push bc + jr asm_4815f + +Function48157: ; 48157 (12:4157) + call ScrollingMenuJoypad + ld hl, wMenuCursorY + ld b, [hl] + push bc +asm_4815f: ; 4815f (12:415f) + bit A_BUTTON_F, a + jp nz, Function4820d + ld b, a + ld a, [wd002] + bit 6, a + jr z, .dont_check_b_button + ld hl, wd479 + bit 1, [hl] + jr z, .dont_check_b_button + bit B_BUTTON_F, b + jr nz, .b_button +.dont_check_b_button + jp Function48272 + +.b_button + call ClearBGPalettes + call Function48d30 + pop bc + call ClearTileMap + ld a, $ff + ret + +Function48187: ; 48187 (12:4187) + ld a, [wd479] + bit 1, a + jr nz, .asm_481f1 + ld a, [wd003] + ld d, a + call Function48725 + jr c, .asm_481a2 + lb bc, 1, 4 + hlcoord 2, 12 + call ClearBox + jr .asm_481ad +.asm_481a2 + push de + hlcoord 2, 12 + ld de, MobileString_OK + call PlaceString + pop de +.asm_481ad + ld a, [wd002] + bit 6, a + jr nz, .asm_481c1 + bit 0, d + jr nz, .asm_481c1 + lb bc, 1, 8 + hlcoord 11, 4 + call ClearBox +.asm_481c1 + bit 1, d + jr nz, .asm_481ce + lb bc, 1, 8 + hlcoord 11, 6 + call ClearBox +.asm_481ce + bit 2, d + jr nz, .asm_481db + lb bc, 2, 8 + hlcoord 11, 7 + call ClearBox +.asm_481db + bit 3, d + jr nz, .asm_481f1 + ld a, [wd479] + bit 0, a + jr nz, .asm_481f8 + lb bc, 1, 8 + hlcoord 11, 10 + call ClearBox + jr .asm_48201 +.asm_481f1 + ld a, [wd479] + bit 0, a + jr nz, .asm_48201 +.asm_481f8 + hlcoord 11, 10 + ld de, .String_TellLater + call PlaceString +.asm_48201 + ret +; 48202 (12:4202) + +.String_TellLater: ; 48202 + db "Tell Later@" +; 4820d + +Function4820d: ; 4820d (12:420d) + call PlaceHollowCursor + ld hl, wMenuCursorY + ld a, [hl] + push af + ld a, [wd002] + bit 6, a + jr z, .asm_4821f + pop af + inc a + push af +.asm_4821f + pop af + cp $1 + jr z, asm_4828d + cp $2 + jp z, Function4876f + cp $3 + jp z, Function48304 + cp $4 + jp z, Function488d3 + ld a, $2 + call MenuClickSound + ld a, [wd002] + bit 6, a + jr z, .asm_4825c + jr .asm_4825c +; 48241 (12:4241) + + hlcoord 1, 15 + ld b, $2 + ld c, $12 + call ClearBox + ld de, MobileString_ProfileChanged + hlcoord 1, 16 + call PlaceString + call WaitBGMap + ld c, 48 + call DelayFrames + +.asm_4825c + call ClearBGPalettes + call Function48d30 + pop bc + call ClearTileMap + ld b, SCGB_DIPLOMA + call GetSGBLayout + ld hl, wd479 + set 1, [hl] + xor a + ret + +Function48272: ; 48272 (12:4272) + jp Function4840c +; 48275 (12:4275) + +MobileString_PersonalInfo: ; 48275 + db "Personal Info@" +; 48283 + +Function48283: ; 48283 (12:4283) + lb bc, 2, 18 + hlcoord 1, 15 + call ClearBox + ret + +asm_4828d: ; 4828d (12:428d) + call Function48283 + hlcoord 1, 16 + ld de, MobileDesc_Gender + call PlaceString + ld hl, MenuDataHeader_0x484f1 + call LoadMenuDataHeader + call Function4873c + hlcoord 11, 2 + ld b, $4 + ld c, $7 + call Function48cdc + hlcoord 13, 4 + ld de, String_484fb + call PlaceString + hlcoord 13, 6 + ld de, String_484ff + call PlaceString + call WaitBGMap + ld a, [PlayerGender] + inc a + ld [wMenuCursorBuffer], a + call StaticMenuJoypad + call PlayClickSFX + call ExitMenu + bit 0, a + jp z, Function4840c + ld hl, wMenuCursorY + ld a, [hl] + ld hl, Strings_484fb + cp $1 + jr z, .asm_482ed +.asm_482e1 + ld a, [hli] + cp $50 + jr nz, .asm_482e1 + ld a, $1 + ld [PlayerGender], a + jr .asm_482f1 +.asm_482ed + xor a + ld [PlayerGender], a +.asm_482f1 + ld d, h + ld e, l + hlcoord 11, 4 + call PlaceString + ld a, [wd003] + set 0, a + ld [wd003], a + jp Function4840c + +Function48304: ; 48304 (12:4304) + call Function48283 + hlcoord 1, 16 + ld de, MobileDesc_Address + call PlaceString + ld hl, MenuDataHeader_0x48504 + call LoadMenuDataHeader + ld hl, MenuDataHeader_0x48513 + call LoadMenuDataHeader + hlcoord 10, 0 + ld b, $c + ld c, $8 + call Function48cdc + ld a, [wMenuCursorBuffer] + ld b, a + ld a, [wMenuScrollPosition] + ld c, a + push bc + ld a, [wd474] + dec a + cp $29 + jr c, .asm_4833f + sub $29 + inc a + ld [wMenuCursorBuffer], a + ld a, $29 +.asm_4833f + ld [wMenuScrollPosition], a + callba Mobile_OpenAndCloseMenu_HDMATransferTileMapAndAttrMap +.asm_48348 + call ScrollingMenu + ld de, $629 + call Function48383 + jr c, .asm_48348 + ld d, a + pop bc + ld a, b + ld [wMenuCursorBuffer], a + ld a, c + ld [wMenuScrollPosition], a + ld a, d + push af + call ExitMenu + call ExitMenu + pop af + ld a, [hJoyPressed] + bit 0, a + jr z, .asm_48377 + call Function483bb + ld a, [wd003] + set 2, a + ld [wd003], a +.asm_48377 + call Function48187 + callba Mobile_OpenAndCloseMenu_HDMATransferTileMapAndAttrMap + jp Function4840c + +Function48383: ; 48383 (12:4383) + push bc + push af + bit 5, a + jr nz, .asm_48390 + bit 4, a + jr nz, .asm_4839f + and a + jr .asm_483b7 +.asm_48390 + ld a, [wMenuScrollPosition] + sub d + ld [wMenuScrollPosition], a + jr nc, .asm_483af + xor a + ld [wMenuScrollPosition], a + jr .asm_483af +.asm_4839f + ld a, [wMenuScrollPosition] + add d + ld [wMenuScrollPosition], a + cp e + jr c, .asm_483af + ld a, e + ld [wMenuScrollPosition], a + jr .asm_483af +.asm_483af + ld hl, wMenuCursorY + ld a, [hl] + ld [wMenuCursorBuffer], a + scf +.asm_483b7 + pop bc + ld a, b + pop bc + ret + +Function483bb: ; 483bb (12:43bb) + ld hl, wScrollingMenuCursorPosition + ld a, [hl] + inc a + ld [wd474], a + dec a + ld b, a + ld hl, Prefectures +.asm_483c8 + and a + jr z, .asm_483d5 +.asm_483cb + ld a, [hli] + cp "@" + jr nz, .asm_483cb + ld a, b + dec a + ld b, a + jr .asm_483c8 +.asm_483d5 + ld d, h + ld e, l + ld b, $2 + ld c, $8 + hlcoord 11, 7 + call ClearBox + hlcoord 11, 8 + call PlaceString + ret +; 483e8 (12:43e8) + +Function483e8: ; 483e8 + push de + ld hl, Prefectures + ld a, [MenuSelection] + cp $ff + jr nz, .asm_483f8 + ld hl, Wakayama ; last string + jr .asm_48405 + +.asm_483f8 + ld d, a + and a + jr z, .asm_48405 +.asm_483fc + ld a, [hli] + cp "@" + jr nz, .asm_483fc + ld a, d + dec a + jr .asm_483f8 + +.asm_48405 + ld d, h + ld e, l + pop hl + call PlaceString + ret +; 4840c + +Function4840c: ; 4840c (12:440c) + call Function48187 + call Function48283 + hlcoord 1, 16 + ld de, MobileString_PersonalInfo + call PlaceString + call Function486bf + pop bc + ld hl, wMenuCursorY + ld [hl], b + ld a, [wd002] + bit 6, a + jr nz, .narrower_box + ld b, 9 + ld c, 1 + hlcoord 1, 4 + call ClearBox + jp Function48157 + +.narrower_box + ld b, 7 + ld c, 1 + hlcoord 1, 6 + call ClearBox + jp Function48157 + +Mobile12_Bin2Dec: ; 48444 (12:4444) + push bc + push af + push de + push hl + ld hl, .DigitStrings +.loop + and a + jr z, .got_string + inc hl + inc hl + dec a + jr .loop +.got_string + ld d, h + ld e, l + pop hl + call PlaceString + pop de + pop af + pop bc + ret +; 4845d (12:445d) + +.DigitStrings: ; 4845d +; 4845d + db "0@" + db "1@" + db "2@" + db "3@" + db "4@" + db "5@" + db "6@" + db "7@" + db "8@" + db "9@" +; 48471 + +MobileProfileString: db " Mobile Profile@" +MobileString_Gender: db "Gender@" +MobileString_Age: db "Age@" +MobileString_Address: db "Address@" +MobileString_ZipCode: db "Zip Code@" +MobileString_OK: db "OK@" +MobileString_ProfileChanged: db "Profile Changed@" +MobileDesc_Gender: db "Boy or girl?@" +MobileDesc_Age: db "How old are you?@" +MobileDesc_Address: db "Where do you live?@" +MobileDesc_ZipCode: db "Your zip code?@" +; 484f1 + +MenuDataHeader_0x484f1: ; 0x484f1 + db $40 ; flags + db 02, 11 ; start coords + db 07, 19 ; end coords + dw MenuData2_0x484f9 + db 1 ; default option +; 0x484f9 + +MenuData2_0x484f9: ; 0x484f9 + db $a0 ; flags + db 2 ; items +Strings_484fb: +String_484fb: db "Boy@" +String_484ff: db "Girl@" +; 0x48504 + +MenuDataHeader_0x48504: ; 0x48504 + db $40 ; flags + db 00, 10 ; start coords + db 17, 19 ; end coords + +MenuDataHeader_0x48509: ; 0x48509 + db $40 ; flags + db 05, 10 ; start coords + db 07, 19 ; end coords + +MenuDataHeader_0x4850e: ; 0x4850e + db $40 ; flags + db 09, 10 ; start coords + db 11, 19 ; end coords + +MenuDataHeader_0x48513: ; 0x48513 + db $40 ; flags + db 01, 11 ; start coords + db 12, 18 ; end coords + dw MenuData2_0x4851b + db 1 ; default option +; 0x4851b + +MenuData2_0x4851b: ; 0x4851b + db $1d ; flags + db 6 ; items + +Unknown_4851d: ; 4851d + db $00, $01, $12, $2b, $45, $12, $e8, $43, $00, $00, $00, $00, $00, $00, $2e, $00, $01, $02, $03, $04 + db $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f, $10, $11, $12, $13, $14, $15, $16, $17, $18 + db $19, $1a, $1b, $1c, $1d, $1e, $1f, $20, $21, $22, $23, $24, $25, $26, $27, $28, $29, $2a, $2b, $2c + db $2d, $ff + +Prefectures: +Aichi: db "あいちけん@" ; Aichi +Aomori: db "あおもりけん@" ; Aomori +Akita: db "あきたけん@" ; Akita +Ishikawa: db "いしかわけん@" ; Ishikawa +Ibaraki: db "いばらきけん@" ; Ibaraki +Iwate: db "いわてけん@" ; Iwate +Ehime: db "えひめけん@" ; Ehime +Oita: db "おおいたけん@" ; Oita +Osakafu: db "おおさかふ@" ; Osakafu +Okayama: db "おかやまけん@" ; Okayama +Okinawa: db "おきなわけん@" ; Okinawa +Kagawa: db "かがわけん@" ; Kagawa +Kagoshima: db "かごしまけん@" ; Kagoshima +Kanagawa: db "かながわけん@" ; Kanagawa +Gifu: db "ぎふけん@" ; Gifu +Kyotofu: db "きょうとふ@" ; Kyotofu +Kumamoto: db "くまもとけん@" ; Kumamoto +Gunma: db "ぐんまけん@" ; Gunma +Kochi: db "こうちけん@" ; Kochi +Saitama: db "さいたまけん@" ; Saitama +Saga: db "さがけん@" ; Saga +Shiga: db "しがけん@" ; Shiga +Shizuoka: db "しずおかけん@" ; Shizuoka +Shimane: db "しまねけん@" ; Shimane +Chiba: db "ちばけん@" ; Chiba +Tokyo: db "とうきょうと@" ; Tokyo +Tokushima: db "とくしまけん@" ; Tokushima +Tochigi: db "とちぎけん@" ; Tochigi +Tottori: db "とっとりけん@" ; Tottori +Toyama: db "とやまけん@" ; Toyama +Nagasaki: db "ながさきけん@" ; Nagasaki +Nagano: db "ながのけん@" ; Nagano +Naraken: db "ならけん@" ; Naraken +Niigata: db "にいがたけん@" ; Niigata +Hyogo: db "ひょうごけん@" ; Hyogo +Hiroshima: db "ひろしまけん@" ; Hiroshima +Fukui: db "ふくいけん@" ; Fukui +Fukuoka: db "ふくおかけん@" ; Fukuoka +Fukushima: db "ふくしまけん@" ; Fukushima +Hokkaido: db "ほっかいどう@" ; Hokkaido +Mie: db "みえけん@" ; Mie +Miyagi: db "みやぎけん@" ; Miyagi +Miyazaki: db "みやざきけん@" ; Miyazaki +Yamagata: db "やまがたけん@" ; Yamagata +Yamaguchi: db "やまぐちけん@" ; Yamaguchi +Yamanashi: db "やまなしけん@" ; Yamanashi +Wakayama: db "わかやまけん@" ; Wakayama +; 48689 + +Function48689: ; 48689 (12:4689) + ld c, 7 + call DelayFrames + ld b, $1 + call GetMysteryGift_MobileAdapterLayout + call ClearBGPalettes + hlcoord 0, 0 + ld b, 4 + ld c, SCREEN_WIDTH + call ClearBox + hlcoord 0, 2 + ld a, $c + ld [hl], a + ld bc, SCREEN_WIDTH - 1 + add hl, bc + ld [hl], a + ld de, MobileProfileString + hlcoord 1, 2 + call PlaceString + hlcoord 0, 4 + ld b, $8 + ld c, $12 + call Function48cdc + ret + +Function486bf: ; 486bf (12:46bf) + ld hl, w2DMenuCursorInitY + ld a, [wd002] + bit 6, a + jr nz, .start_at_6 + ld a, 4 + ld [hli], a + jr .got_init_y + +.start_at_6 + ld a, 6 + ld [hli], a +.got_init_y + ld a, 1 + ld [hli], a ; init x + ld a, [wd002] + bit 6, a + jr nz, .check_wd479 + call Function48725 + ld a, 4 + jr nc, .got_num_rows_1 + ld a, 5 +.got_num_rows_1 + ld [hli], a + jr .got_num_rows_2 + +.check_wd479 + ld a, [wd479] + bit 1, a + jr nz, .four_rows + call Function48725 + jr c, .four_rows + ld a, 3 + ld [hli], a + jr .got_num_rows_2 + +.four_rows + ld a, 4 + ld [hli], a +.got_num_rows_2 + ld a, 1 + ld [hli], a ; num cols + ld [hl], $0 ; flags 1 + set 5, [hl] + inc hl + xor a + ld [hli], a ; flags 2 + ld a, $20 + ld [hli], a ; cursor offsets + ld a, A_BUTTON + add D_UP + add D_DOWN + push af + ld a, [wd002] + bit 6, a + jr z, .got_joypad_mask + pop af + add B_BUTTON + push af +.got_joypad_mask + pop af + ld [hli], a + ld a, $1 + ld [hli], a ; cursor y + ld [hli], a ; cursor x + xor a + ld [hli], a ; off char + ld [hli], a ; cursor tile + ld [hli], a ; cursor tile + 1 + ret + +Function48725: ; 48725 (12:4725) +; ld a, [wd003] +; and $f +; cp $f +; jr nz, .clear_carry +; scf +; ret +; .clear_carry +; and a +; ret + + ld a, [wd003] + bit 0, a + jr z, .clear_carry + bit 1, a + jr z, .clear_carry + bit 2, a + jr z, .clear_carry + bit 3, a + jr z, .clear_carry + scf + ret + +.clear_carry + and a + ret + +Function4873c: ; 4873c (12:473c) + ld hl, w2DMenuCursorInitY + ld a, 4 + ld [hli], a + ld a, 12 + ld [hli], a ; init x + ld a, 2 + ld [hli], a ; num rows + ld a, 1 + ld [hli], a ; num cols + ld [hl], $0 ; flags 1 + set 5, [hl] + inc hl + xor a + ld [hli], a ; flags 2 + ln a, 2, 0 + ld [hli], a ; cursor offsets + ld a, A_BUTTON + add B_BUTTON + ld [hli], a ; joypad filter + ; ld a, [PlayerGender] + ; xor 1 + ; inc a + ld a, [PlayerGender] + and a + jr z, .male + ld a, 2 + jr .okay_gender + +.male + ld a, 1 +.okay_gender + ld [hli], a ; cursor y + ld a, $1 + ld [hli], a ; cursor x + xor a + ld [hli], a ; off char + ld [hli], a ; cursor tile + ld [hli], a ; cursor tile + 1 + ret + +Function4876f: ; 4876f (12:476f) + call Function48283 + hlcoord 1, 16 + ld de, MobileDesc_Age + call PlaceString + ld hl, MenuDataHeader_0x48509 + call LoadMenuDataHeader + ld a, [hInMenu] + push af + ld a, $1 + ld [hInMenu], a + hlcoord 10, 5 + ld b, $1 + ld c, $8 + call Function48cdc + call WaitBGMap + ld a, [wd473] + and a + jr z, .asm_487ab + cp $64 + jr z, .asm_487b2 + hlcoord 12, 5 + ld [hl], $10 + hlcoord 12, 7 + ld [hl], $11 + jr .asm_487b7 +.asm_487ab + hlcoord 12, 5 + ld [hl], $10 + jr .asm_487b7 +.asm_487b2 + hlcoord 12, 7 + ld [hl], $11 +.asm_487b7 + hlcoord 11, 6 + call Function487ec + ld c, 10 + call DelayFrames + ld a, [wd473] + push af +.asm_487c6 + call JoyTextDelay + call Function4880e + jr nc, .asm_487c6 + ld a, $1 + call MenuClickSound + pop bc + jr nz, .asm_487da + ld a, b + ld [wd473], a +.asm_487da + ld a, [wd473] + call ExitMenu + hlcoord 11, 6 + call Function487ec + pop af + ld [hInMenu], a + jp Function4840c + +Function487ec: ; 487ec (12:47ec) + push hl + ld de, wd473 + call Function487ff + pop hl +rept 4 + inc hl +endr + ld de, String_4880d + call PlaceString + ret + +Function487ff: ; 487ff (12:47ff) + push hl + ld a, " " + ld [hli], a + ld [hl], a + pop hl + ld b, PRINTNUM_LEADINGZEROS | 1 + ld c, 3 + call PrintNum + ret +; 4880d (12:480d) + +String_4880d: ; 4880d + db "@" +; 4880e + +Function4880e: ; 4880e (12:480e) + ld a, [hJoyPressed] + and A_BUTTON + jp nz, Function488b9 + ld a, [hJoyPressed] + and B_BUTTON + jp nz, Function488b4 + ld hl, hJoyLast + ld a, [hl] + and D_UP + jr nz, .asm_48843 + ld a, [hl] + and D_DOWN + jr nz, .asm_48838 + ld a, [hl] + and D_LEFT + jr nz, .asm_4884f + ld a, [hl] + and D_RIGHT + jr nz, .asm_4885f + call DelayFrame + and a + ret +.asm_48838 + ld hl, wd473 + ld a, [hl] + and a + jr z, .asm_48840 + dec a +.asm_48840 + ld [hl], a + jr .asm_4886f +.asm_48843 + ld hl, wd473 + ld a, [hl] + cp $64 + jr nc, .asm_4884c + inc a +.asm_4884c + ld [hl], a + jr .asm_4886f +.asm_4884f + ld a, [wd473] + cp $5b + jr c, .asm_48858 + ld a, $5a +.asm_48858 + add $a + ld [wd473], a + jr .asm_4886f +.asm_4885f + ld a, [wd473] + cp $a + jr nc, .asm_48868 + ld a, $a +.asm_48868 + sub $a + ld [wd473], a + jr .asm_4886f +.asm_4886f + ld a, [wd473] + and a + jr z, .asm_48887 + cp $64 + jr z, .asm_48898 + jr z, .asm_488a7 + hlcoord 12, 5 + ld [hl], $10 + hlcoord 12, 7 + ld [hl], $11 + jr .asm_488a7 +.asm_48887 + hlcoord 10, 5 + ld b, $1 + ld c, $8 + call Function48cdc + hlcoord 12, 5 + ld [hl], $10 + jr .asm_488a7 +.asm_48898 + hlcoord 10, 5 + ld b, $1 + ld c, $8 + call Function48cdc + hlcoord 12, 7 + ld [hl], $11 +.asm_488a7 + hlcoord 11, 6 + call Function487ec + call WaitBGMap + ld a, $1 + and a + ret + +Function488b4: ; 488b4 (12:48b4) + ld a, $0 + and a + scf + ret + +Function488b9: ; 488b9 (12:48b9) + ld a, [wd003] + set 1, a + ld [wd003], a + scf + ret +; 488c3 (12:48c3) + +GFX_488c3: ; 488c3 +INCBIN "gfx/unknown/up_arrow.2bpp" + +GFX_488cb: ; 488cb +INCBIN "gfx/unknown/down_arrow.2bpp" + +Function488d3: ; 488d3 (12:48d3) + call Function48283 + hlcoord 1, 16 + ld de, MobileDesc_ZipCode + call PlaceString + call Function48a3a + jp c, Function4840c + ld hl, MenuDataHeader_0x4850e + call LoadMenuDataHeader + ld a, [hInMenu] + push af + ld a, $1 + ld [hInMenu], a + hlcoord 10, 9 + ld b, $1 + ld c, $8 + call Function48cdc + ld a, [wd475] + and $f + ld d, $0 + hlcoord 11, 10 + call Function489ea + call WaitBGMap + ld a, [wd475] + ld b, a + ld a, [wd476] + ld c, a + ld a, [wd477] + ld d, a + ld a, [wd478] + ld e, a + push de + push bc + ld d, $0 + ld b, $0 + +asm_48922: ; 48922 (12:4922) + push bc + call JoyTextDelay + ld a, [hJoyDown] + and a + jp z, Function4896e + bit 0, a + jp nz, Function4896e + bit 1, a + jp nz, Function4896e + ld a, [wd002] + and %11001111 + res 7, a + ld [wd002], a + pop bc + inc b + ld a, b + cp $5 + push bc + jr c, .asm_4894c + pop bc + ld b, $4 + push bc +.asm_4894c + pop bc + push bc + ld a, b + cp $4 + jr nz, asm_48972 + ld c, 10 + call DelayFrames + jr asm_48972 +; 4895a (12:495a) + +Function4895a: ; 4895a + ld a, [hJoyPressed] + and a + jr z, .asm_48965 + pop bc + ld b, $1 + push bc + jr asm_48972 + +.asm_48965 + ld a, [hJoyLast] + and a + jr z, asm_48972 + + pop bc + ld b, $1 + push bc + +Function4896e: ; 4896e (12:496e) + pop bc + ld b, $0 + push bc + +asm_48972: ; 48972 (12:4972) + call Function48ab5 + push af + cp $f0 + jr z, .asm_48994 + cp $f + jr nz, .asm_48988 + ld a, [wd002] + set 7, a + and $cf + ld [wd002], a +.asm_48988 + hlcoord 11, 10 + ld b, $0 + ld c, d + add hl, bc + ld b, $3 + call Function48c11 +.asm_48994 + call WaitBGMap + pop af + pop bc + jr nc, asm_48922 + jr nz, .asm_489b1 + pop bc + ld a, b + ld [wd475], a + ld a, c + ld [wd476], a + pop bc + ld a, b + ld [wd477], a + ld a, c + ld [wd478], a + jr .asm_489c5 +.asm_489b1 + push af + ld a, [wd479] + set 0, a + ld [wd479], a + ld a, [wd003] + set 3, a + ld [wd003], a + pop af + pop bc + pop bc +.asm_489c5 + push af + push bc + push de + push hl + ld a, $1 + call MenuClickSound + pop hl + pop de + pop bc + pop af + call ExitMenu + hlcoord 11, 10 + call Function489ea + hlcoord 11, 9 + lb bc, 1, 8 + call ClearBox + pop af + ld [hInMenu], a + jp Function4840c + +Function489ea: ; 489ea (12:49ea) + push de + ld a, [wd475] + and $f + call Mobile12_Bin2Dec + ld a, [wd476] + and $f0 + swap a + inc hl + call Mobile12_Bin2Dec + ld a, [wd476] + and $f + inc hl + call Mobile12_Bin2Dec + inc hl + ld de, String_48a38 + call PlaceString + ld a, [wd477] + and $f0 + swap a + inc hl + call Mobile12_Bin2Dec + ld a, [wd477] + and $f + inc hl + call Mobile12_Bin2Dec + ld a, [wd478] + and $f0 + swap a + inc hl + call Mobile12_Bin2Dec + ld a, [wd478] + and $f + inc hl + call Mobile12_Bin2Dec + pop de + ret +; 48a38 (12:4a38) + +String_48a38: ; 48a38 + db "-@" +; 48a3a + +Function48a3a: ; 48a3a (12:4a3a) + ld hl, MenuDataHeader_0x48a9c + call LoadMenuDataHeader + call Function4873c + ld a, $a + ld [w2DMenuCursorInitY], a + ld a, $b + ld [w2DMenuCursorInitX], a + ld a, $1 + ld [wMenuCursorY], a + hlcoord 10, 8 + ld b, $4 + ld c, $8 + call Function48cdc + hlcoord 12, 10 + ld de, String_48aa1 + call PlaceString + call StaticMenuJoypad + push af + call PlayClickSFX + call ExitMenu + pop af + bit 1, a + jp nz, Function48a9a + ld a, [wMenuCursorY] + cp $1 + jr z, .asm_48a98 + ld a, [wd003] + set 3, a + ld [wd003], a + ld a, [wd479] + res 0, a + ld [wd479], a + xor a + ld bc, $4 + ld hl, wd475 + call ByteFill + jr Function48a9a +.asm_48a98 + and a + ret + +Function48a9a: ; 48a9a (12:4a9a) + scf + ret +; 48a9c (12:4a9c) + +MenuDataHeader_0x48a9c: ; 0x48a9c + db $40 ; flags + db 08, 10 ; start coords + db 13, 19 ; end coord + +String_48aa1: ; 48aa1 + db "Tell Now" + next "Tell Later@" +; 48ab5 + + +Function48ab5: ; 48ab5 (12:4ab5) + ld a, [hJoyPressed] + and A_BUTTON + jp nz, Function48c0f + ld a, [hJoyPressed] + and B_BUTTON + jp nz, Function48c0d + ld a, d + and a + jr z, .asm_48adf + cp $1 + jr z, .asm_48ae7 + cp $2 + jr z, .asm_48af1 + cp $3 + jr z, .asm_48af9 + cp $4 + jr z, .asm_48b03 + cp $5 + jr z, .asm_48b0b + cp $6 + jr .asm_48b15 +.asm_48adf + ld hl, wd475 + ld a, [hl] + and $f + jr .asm_48b1d +.asm_48ae7 + ld hl, wd476 + ld a, [hl] + swap a + or $f0 + jr .asm_48b1d +.asm_48af1 + ld hl, wd476 + ld a, [hl] + and $f + jr .asm_48b1d +.asm_48af9 + ld hl, wd477 + ld a, [hl] + swap a + or $f0 + jr .asm_48b1d +.asm_48b03 + ld hl, wd477 + ld a, [hl] + and $f + jr .asm_48b1d +.asm_48b0b + ld hl, wd478 + ld a, [hl] + swap a + or $f0 + jr .asm_48b1d +.asm_48b15 + ld hl, wd478 + ld a, [hl] + and $f + jr .asm_48b1d +.asm_48b1d + push hl + push af + ld e, $0 + hlcoord 11, 10 + ld a, d +.asm_48b25 + and a + jr z, .asm_48b2c + inc e + dec a + jr .asm_48b25 +.asm_48b2c + ld hl, hJoyLast + ld a, [hl] + and D_UP + jr nz, .asm_48b8d + ld a, [hl] + and D_DOWN + jr nz, .asm_48b55 + ld a, [hl] + and D_LEFT + jp nz, Function48bd7 + ld a, [hl] + and D_RIGHT + jr nz, .asm_48b9d + hlcoord 11, 10 + call Function489ea + ld a, [wd002] + bit 7, a + jr nz, .asm_48b51 +.asm_48b51 + pop bc + pop bc + and a + ret +.asm_48b55 + pop af + ld b, a + and $f + and a + ld a, b + jr nz, .asm_48b61 + and $f0 + add $a +.asm_48b61 + dec a +.asm_48b62 + push de + push af + hlcoord 10, 9 + ld b, $1 + ld c, $8 + call Function48cdc + pop af + pop de + hlcoord 11, 10 + ld b, a + ld a, d + cp $3 + jr c, .asm_48b7a + inc hl +.asm_48b7a + ld a, b + pop hl + bit 7, a + jr z, .asm_48b85 + call Function48c4d + jr .asm_48b88 +.asm_48b85 + call Function48c5a +.asm_48b88 + ld a, $f0 + jp Function48c00 +.asm_48b8d + pop af + ld b, a + and $f + cp $9 + ld a, b + jr c, .asm_48b9a + and $f0 + add $ff +.asm_48b9a + inc a + jr .asm_48b62 +.asm_48b9d + push de + hlcoord 10, 9 + ld b, $1 + ld c, $8 + call Function48cdc + pop de + ld a, d + cp $6 + jr nc, .asm_48baf + inc d +.asm_48baf + pop af + pop hl + ld b, a + ld a, d + cp $6 + ld a, b + jr z, .asm_48bc4 + bit 7, a + jr nz, .asm_48bc4 + inc hl + ld a, [hl] + swap a + and $f + jr asm_48bc7 +.asm_48bc4 + ld a, [hl] + and $f + +asm_48bc7: ; 48bc7 (12:4bc7) + hlcoord 11, 10 + push af + ld a, d + cp $3 + pop bc + ld a, b + jr c, .asm_48bd3 + inc hl +.asm_48bd3 + ld a, $f + jr Function48c00 + +Function48bd7: ; 48bd7 (12:4bd7) + push de + hlcoord 10, 9 + ld b, $1 + ld c, $8 + call Function48cdc + pop de + ld a, d + and a + pop af + pop hl + ld b, a + ld a, d + and a + ld a, b + jr z, .asm_48bf3 + bit 7, a + jr z, .asm_48bf8 + dec d + dec hl +.asm_48bf3 + ld a, [hl] + and $f + jr asm_48bc7 +.asm_48bf8 + dec d + ld a, [hl] + swap a + and $f + jr asm_48bc7 + +Function48c00: ; 48c00 (12:4c00) + push af + hlcoord 11, 10 + call Function489ea + ld a, $1 + and a + pop bc + ld a, b + ret + +Function48c0d: ; 48c0d (12:4c0d) + xor a + and a + +Function48c0f: ; 48c0f (12:4c0f) + scf + ret + +Function48c11: ; 48c11 (12:4c11) + ld a, [wd002] + bit 7, a + jr z, .asm_48c20 + ld a, d + cp $3 + jr c, .asm_48c1e + inc hl +.asm_48c1e + ld [hl], $7f +.asm_48c20 + ld a, [wd002] + swap a + and $3 + inc a + cp b + jr nz, .asm_48c40 + ld a, [wd002] + bit 7, a + jr z, .asm_48c3a + res 7, a + ld [wd002], a + xor a + jr .asm_48c40 +.asm_48c3a + set 7, a + ld [wd002], a + xor a +.asm_48c40 + swap a + ld b, a + ld a, [wd002] + and $cf + or b + ld [wd002], a + ret + +Function48c4d: ; 48c4d (12:4c4d) + swap a + and $f0 + push af + ld a, [hl] + and $f + ld [hl], a + pop af + or [hl] + ld [hl], a + ret + +Function48c5a: ; 48c5a (12:4c5a) + push af + ld a, [hl] + and $f0 + ld [hl], a + pop af + or [hl] + ld [hl], a + ret + +Function48c63: ; 48c63 + ld a, "@" + ld [de], a + ld a, c + cp $30 + jr nc, .asm_48c8c + and a + jr z, .asm_48c8c + dec c + push de + ld h, d + ld l, e + ld a, "@" + ld b, 7 +.asm_48c76 + ld [hli], a + dec b + jr nz, .asm_48c76 + ld hl, Prefectures + ld a, c + call GetNthString +.asm_48c81 + ld a, [hli] + ld [de], a + inc de + ld a, [hl] + cp "@" + jr nz, .asm_48c81 + and a + pop de + ret + +.asm_48c8c + scf + ret +; 48c8e + +Function48c8e: ; 48c8e +; unreferenced + ld hl, $d02a + ld d, h + ld e, l + callba Function48c63 + hlcoord 10, 7 + call PlaceString + call WaitBGMap + ret +; 48ca3 + +Function48ca3: ; 48ca3 + push af + push bc + push de + push hl + ld b, 0 + ld c, 0 + ld d, 0 +.asm_48cad + cp 100 + jr c, .asm_48cb6 + sub 100 + inc b + jr .asm_48cad + +.asm_48cb6 + cp 10 + jr c, .asm_48cbf + sub 10 + inc c + jr .asm_48cb6 + +.asm_48cbf + cp 1 + jr c, .asm_48cc7 + dec a + inc d + jr .asm_48cbf + +.asm_48cc7 + ld a, b + call Mobile12_Bin2Dec + inc hl + ld a, c + call Mobile12_Bin2Dec + inc hl + ld a, d + call Mobile12_Bin2Dec + pop hl + pop de + pop bc + pop af + ret +; 48cda + +Function48cda: ; 48cda (12:4cda) + ld h, d + ld l, e + +Function48cdc: ; 48cdc (12:4cdc) + push bc + push hl + call Function48cfd + pop hl + pop bc + ld de, AttrMap - TileMap + add hl, de + inc b + inc b + inc c + inc c + ld a, $0 +.asm_48ced + push bc + push hl +.asm_48cef + ld [hli], a + dec c + jr nz, .asm_48cef + pop hl + ld de, $14 + add hl, de + pop bc + dec b + jr nz, .asm_48ced + ret + +Function48cfd: ; 48cfd (12:4cfd) + push hl + ld a, $4 + ld [hli], a + inc a + call Function48d2a + inc a + ld [hl], a + pop hl + ld de, $14 + add hl, de +.asm_48d0c + push hl + ld a, $7 + ld [hli], a + ld a, $7f + call Function48d2a + ld [hl], $8 + pop hl + ld de, $14 + add hl, de + dec b + jr nz, .asm_48d0c + ld a, $9 + ld [hli], a + ld a, $a + call Function48d2a + ld [hl], $b + ret + +Function48d2a: ; 48d2a (12:4d2a) + ld d, c +.asm_48d2b + ld [hli], a + dec d + jr nz, .asm_48d2b + ret + +Function48d30: ; 48d30 (12:4d30) + ld hl, wd475 + call Function48d4a + ld hl, wd477 + call Function48d4a + ret + +Function48d3d: ; 48d3d (12:4d3d) + ld hl, wd475 + call Function48d94 + ld hl, wd477 + call Function48d94 + ret + +Function48d4a: ; 48d4a (12:4d4a) + inc hl + ld a, [hl] + ld b, a + and $f + ld c, a + srl b + srl b + srl b + srl b + push bc + ld c, 10 + ld a, b + call SimpleMultiply + pop bc + add c + ld [hld], a + xor a + ld [hMultiplicand + 0], a + ld [hMultiplicand + 1], a + ld a, [hl] + srl a + srl a + srl a + srl a + ld c, 10 + call SimpleMultiply + ld b, a + ld a, [hli] + and $f + add b + ld [hMultiplicand + 2], a + ld a, 100 + ld [hMultiplier], a + call Multiply + ld a, [hProduct + 2] + ld b, a + ld a, [hProduct + 3] + ld c, a + ld e, [hl] + add e + ld c, a + ld a, b + adc $0 + ld b, a + ld a, c + ld [hld], a + ld [hl], b + ret + +Function48d94: ; 48d94 (12:4d94) + xor a + ld [hDividend + 0], a + ld [hDividend + 1], a + ld a, [hli] + ld [hDividend + 0], a + ld a, [hl] + ld [hDividend + 1], a + ld a, 100 + ld [hDivisor], a + ld b, 2 + call Divide + ld a, [hRemainder] + ld c, 10 + call SimpleDivide + sla b + sla b + sla b + sla b + or b + ld [hld], a + ld a, [hQuotient + 2] + ld c, 10 + call SimpleDivide + sla b + sla b + sla b + sla b + or b + ld [hl], a + ret diff --git a/mobile/mobile_12_2.asm b/mobile/mobile_12_2.asm new file mode 100755 index 000000000..37179c122 --- /dev/null +++ b/mobile/mobile_12_2.asm @@ -0,0 +1,936 @@ +MobileCheckOwnMonAnywhere: ; 4a843 +; Like CheckOwnMonAnywhere, but only check for species. +; OT/ID don't matter. + + ld a, [PartyCount] + and a + ret z + + ld d, a + ld e, 0 + ld hl, PartyMon1Species + ld bc, PartyMonOT +.asm_4a851 + call .CheckMatch + ret c + push bc + ld bc, PARTYMON_STRUCT_LENGTH + add hl, bc + pop bc + call .CopyName + dec d + jr nz, .asm_4a851 + ld a, BANK(sBoxCount) + call GetSRAMBank + ld a, [sBoxCount] + and a + jr z, .asm_4a888 + ld d, a + ld hl, sBoxMon1Species + ld bc, sBoxMonOT +.asm_4a873 + call .CheckMatch + jr nc, .asm_4a87c + call CloseSRAM + ret + +.asm_4a87c + push bc + ld bc, BOXMON_STRUCT_LENGTH + add hl, bc + pop bc + call .CopyName + dec d + jr nz, .asm_4a873 + +.asm_4a888 + call CloseSRAM + ld c, 0 +.asm_4a88d + ld a, [wCurBox] + and $f + cp c + jr z, .asm_4a8d1 + ld hl, .BoxAddrs + ld b, 0 + add hl, bc + add hl, bc + add hl, bc + ld a, [hli] + call GetSRAMBank + ld a, [hli] + ld h, [hl] + ld l, a + ld a, [hl] + and a + jr z, .asm_4a8d1 + push bc + push hl + ld de, sBoxMons - sBoxCount + add hl, de + ld d, h + ld e, l + pop hl + push de + ld de, sBoxMonOT - sBoxCount + add hl, de + ld b, h + ld c, l + pop hl + ld d, a +.asm_4a8ba + call .CheckMatch + jr nc, .asm_4a8c4 + pop bc + call CloseSRAM + ret + +.asm_4a8c4 + push bc + ld bc, BOXMON_STRUCT_LENGTH + add hl, bc + pop bc + call .CopyName + dec d + jr nz, .asm_4a8ba + pop bc + +.asm_4a8d1 + inc c + ld a, c + cp NUM_BOXES + jr c, .asm_4a88d + call CloseSRAM + and a + ret +; 4a8dc + +.CheckMatch: ; 4a8dc + push bc + push hl + push de + ld d, b + ld e, c + ld a, [ScriptVar] + ld b, [hl] + cp b + jr nz, .no_match + jr .match + +.no_match + pop de + pop hl + pop bc + and a + ret + +.match + pop de + pop hl + pop bc + scf + ret +; 4a8f4 + +.BoxAddrs: ; 4a8f4 + dba sBox1 + dba sBox2 + dba sBox3 + dba sBox4 + dba sBox5 + dba sBox6 + dba sBox7 + dba sBox8 + dba sBox9 + dba sBox10 + dba sBox11 + dba sBox12 + dba sBox13 + dba sBox14 +; 4a91e + +.CopyName: ; 4a91e + push hl + ld hl, NAME_LENGTH + add hl, bc + ld b, h + ld c, l + pop hl + ret +; 4a927 + +FindItemInPCOrBag: ; 4a927 + ld a, [ScriptVar] + ld [CurItem], a + ld hl, PCItems + call CheckItem + jr c, .found + + ld a, [ScriptVar] + ld [CurItem], a + ld hl, NumItems + call CheckItem + jr c, .found + + xor a + ld [ScriptVar], a + ret + +.found + ld a, 1 + ld [ScriptVar], a + ret +; 4a94e + +Function4a94e: ; 4a94e + call FadeToMenu + ld a, -1 + ld hl, wd002 + ld bc, 3 + call ByteFill + xor a + ld [wd018], a + ld [wd019], a + ld b, SCGB_PACKPALS + call GetSGBLayout + call SetPalettes + call Function4aa22 + jr c, .asm_4a985 + jr z, .asm_4a9a1 + jr .asm_4a97b + +.asm_4a974 + call Function4aa25 + jr c, .asm_4a985 + jr z, .asm_4a9a1 + +.asm_4a97b + call Function4ac58 + ld hl, wd019 + res 1, [hl] + jr .asm_4a974 + +.asm_4a985 + ld a, [wd018] + and a + jr nz, .asm_4a990 + call Function4aba8 + jr c, .asm_4a974 + +.asm_4a990 + call CloseSubmenu + ld hl, wd002 + ld a, -1 + ld bc, 3 + call ByteFill + scf + jr .asm_4a9af + +.asm_4a9a1 + call Function4a9c3 + jr c, .asm_4a9b0 + call Function4a9d7 + jr c, .asm_4a974 + call CloseSubmenu + and a + +.asm_4a9af + ret + +.asm_4a9b0 + ld de, SFX_WRONG + call PlaySFX + ld hl, UnknownText_0x4a9be + call PrintText + jr .asm_4a974 +; 4a9be + +UnknownText_0x4a9be: ; 0x4a9be + ; Pick three #MON for battle. + text_jump UnknownText_0x1c51d7 + db "@" +; 0x4a9c3 + +Function4a9c3: ; 4a9c3 + ld hl, wd002 + ld a, $ff + cp [hl] + jr z, .asm_4a9d5 + inc hl + cp [hl] + jr z, .asm_4a9d5 + inc hl + cp [hl] + jr z, .asm_4a9d5 + and a + ret + +.asm_4a9d5 + scf + ret +; 4a9d7 + +Function4a9d7: ; 4a9d7 + ld a, [wd002] + ld hl, PartyMonNicknames + call GetNick + ld h, d + ld l, e + ld de, EndFlypoint + ld bc, 6 + call CopyBytes + ld a, [wd003] + ld hl, PartyMonNicknames + call GetNick + ld h, d + ld l, e + ld de, wd00c + ld bc, 6 + call CopyBytes + ld a, [wd004] + ld hl, PartyMonNicknames + call GetNick + ld h, d + ld l, e + ld de, wd012 + ld bc, 6 + call CopyBytes + ld hl, UnknownText_0x4aa1d + call PrintText + call YesNoBox + ret +; 4aa1d + +UnknownText_0x4aa1d: ; 0x4aa1d + ; , @ and @ . Use these three? + text_jump UnknownText_0x1c51f4 + db "@" +; 0x4aa22 + +Function4aa22: ; 4aa22 + call ClearBGPalettes + +Function4aa25: ; 4aa25 + callba LoadPartyMenuGFX + callba InitPartyMenuWithCancel + call Function4aad3 + +Function4aa34: ; 4aa34 + ld a, PARTYMENUACTION_MOBILE + ld [PartyMenuActionText], a + callba WritePartyMenuTilemap + xor a + ld [PartyMenuActionText], a + callba PrintPartyMenuText + call Function4aab6 + call WaitBGMap + call SetPalettes + call DelayFrame + call Function4ab1a + jr z, .asm_4aa66 + push af + call Function4aafb + jr c, .asm_4aa67 + call Function4ab06 + jr c, .asm_4aa67 + pop af + +.asm_4aa66 + ret + +.asm_4aa67 + ld hl, wd019 + set 1, [hl] + pop af + ret +; 4aa6e + +Function4aa6e: ; 4aa6e + pop af + ld de, SFX_WRONG + call PlaySFX + call WaitSFX + jr Function4aa34 +; 4aa7a + +Function4aa7a: ; 4aa7a + ld hl, wd002 + ld d, $3 +.loop + ld e, PARTY_LENGTH + ld a, [hli] + push de + push hl + cp -1 + jr z, .done + ld hl, wSpriteAnimationStructs + inc a + ld d, a +.inner_loop + ld a, [hl] + and a + jr z, .next + cp d + jr z, .same_as_d + jr .next + + ld a, $3 + jr .proceed + +.same_as_d + ld a, $2 + +.proceed + push hl + ld c, l + ld b, h + ld hl, $2 + add hl, bc + ld [hl], a + pop hl + +.next + ld bc, $10 + add hl, bc + dec e + jr nz, .inner_loop + pop hl + pop de + dec d + jr nz, .loop + jr .finished + +.done + pop hl + pop de + +.finished + ret +; 4aab6 + +Function4aab6: ; 4aab6 + ld hl, wd002 + ld d, $3 +.loop + ld a, [hli] + cp -1 + jr z, .done + push de + push hl + hlcoord 0, 1 + ld bc, $28 + call AddNTimes + ld [hl], $ec + pop hl + pop de + dec d + jr nz, .loop + +.done + ret +; 4aad3 + +Function4aad3: ; 4aad3 + ld hl, PartyCount + ld a, [hli] + and a + ret z ; Nothing in your party + + ld c, a + xor a + ld [hObjectStructIndexBuffer], a +.loop + push bc + push hl + ld e, 0 + callba LoadMenuMonIcon + ld a, [hObjectStructIndexBuffer] + inc a + ld [hObjectStructIndexBuffer], a + pop hl + pop bc + dec c + jr nz, .loop + + call Function4aa7a + callba PlaySpriteAnimations + ret +; 4aafb + +Function4aafb: ; 4aafb + ld a, [CurPartySpecies] + cp EGG + jr z, .egg + and a + ret + +.egg + scf + ret +; 4ab06 + +Function4ab06: ; 4ab06 + ld a, [CurPartyMon] + ld bc, PARTYMON_STRUCT_LENGTH + ld hl, PartyMon1HP + call AddNTimes + ld a, [hli] + ld b, a + ld a, [hl] + or b + jr nz, .NotFainted + scf + +.NotFainted: + ret +; 4ab1a + +Function4ab1a: ; 4ab1a +.asm_4ab1a + ld a, $fb + ld [wMenuJoypadFilter], a + ld a, $26 + ld [w2DMenuCursorOffsets], a + ld a, $2 + ld [w2DMenuNumCols], a + call Function4adf7 + call StaticMenuJoypad + call Function4abc3 + jr c, .asm_4ab1a + push af + call Function4ab99 + call nc, PlaceHollowCursor + pop af + bit 1, a + jr nz, .asm_4ab6d + ld a, [PartyCount] + inc a + ld b, a + ld a, [wMenuCursorY] + ld [wPartyMenuCursor], a + cp b + jr z, .asm_4ab7e + ld a, [wMenuCursorY] + dec a + ld [CurPartyMon], a + ld c, a + ld b, $0 + ld hl, PartySpecies + add hl, bc + ld a, [hl] + ld [CurPartySpecies], a + ld de, SFX_READ_TEXT_2 + call PlaySFX + call WaitSFX + ld a, $1 + and a + ret + +.asm_4ab6d + ld a, [wMenuCursorY] + ld [wPartyMenuCursor], a +.asm_4ab73 + ld de, SFX_READ_TEXT_2 + call PlaySFX + call WaitSFX + scf + ret + +.asm_4ab7e + ld a, $1 + ld [wd018], a + ld a, [wMenuCursorX] + cp $2 + jr z, .asm_4ab73 + ld de, SFX_READ_TEXT_2 + call PlaySFX + call WaitSFX + xor a + ld [wd018], a + and a + ret +; 4ab99 + +Function4ab99: ; 4ab99 + bit 1, a + jr z, .asm_4aba6 + ld a, [wd002] + cp $ff + jr z, .asm_4aba6 + scf + ret + +.asm_4aba6 + and a + ret +; 4aba8 + +Function4aba8: ; 4aba8 + ld hl, wd004 + ld a, [hl] + cp $ff + jr nz, .asm_4abbe + dec hl + ld a, [hl] + cp $ff + jr nz, .asm_4abbe + dec hl + ld a, [hl] + cp $ff + jr nz, .asm_4abbe + and a + ret + +.asm_4abbe + ld a, $ff + ld [hl], a + scf + ret +; 4abc3 + +Function4abc3: ; 4abc3 + bit 3, a + jr z, .asm_4abd5 + ld a, [PartyCount] + inc a + ld [wMenuCursorY], a + ld a, $1 + ld [wMenuCursorX], a + jr .asm_4ac29 + +.asm_4abd5 + bit 6, a + jr z, .asm_4abeb + ld a, [wMenuCursorY] + ld [wMenuCursorY], a + and a + jr nz, .asm_4ac29 + ld a, [PartyCount] + inc a + ld [wMenuCursorY], a + jr .asm_4ac29 + +.asm_4abeb + bit 7, a + jr z, .asm_4ac08 + ld a, [wMenuCursorY] + ld [wMenuCursorY], a + ld a, [PartyCount] + inc a + inc a + ld b, a + ld a, [wMenuCursorY] + cp b + jr nz, .asm_4ac29 + ld a, $1 + ld [wMenuCursorY], a + jr .asm_4ac29 + +.asm_4ac08 + bit 4, a + jr nz, .asm_4ac10 + bit 5, a + jr z, .asm_4ac56 + +.asm_4ac10 + ld a, [wMenuCursorY] + ld b, a + ld a, [PartyCount] + inc a + cp b + jr nz, .asm_4ac29 + ld a, [wMenuCursorX] + cp $1 + jr z, .asm_4ac26 + ld a, $1 + jr .asm_4ac29 + +.asm_4ac26 + ld [wMenuCursorX], a + +.asm_4ac29 + hlcoord 0, 1 + lb bc, 13, 1 + call ClearBox + call Function4aab6 + ld a, [PartyCount] + hlcoord 6, 1 +.asm_4ac3b + ld bc, $28 + add hl, bc + dec a + jr nz, .asm_4ac3b + ld [hl], $7f + ld a, [wMenuCursorY] + ld b, a + ld a, [PartyCount] + inc a + cp b + jr z, .asm_4ac54 + ld a, $1 + ld [wMenuCursorX], a + +.asm_4ac54 + scf + ret + +.asm_4ac56 + and a + ret +; 4ac58 + +Function4ac58: ; 4ac58 + lb bc, 2, 18 + hlcoord 1, 15 + call ClearBox + callba FreezeMonIcons + ld hl, MenuDataHeader_0x4aca2 + call LoadMenuDataHeader + ld hl, wd019 + bit 1, [hl] + jr z, .asm_4ac89 + hlcoord 11, 13 + ld b, $3 + ld c, $7 + call TextBox + hlcoord 13, 14 + ld de, String_4ada7 + call PlaceString + jr .asm_4ac96 + +.asm_4ac89 + hlcoord 11, 9 + ld b, $7 + ld c, $7 + call TextBox + call Function4ad68 + +.asm_4ac96 + ld a, $1 + ld [hBGMapMode], a + call Function4acaa + call ExitMenu + and a + ret +; 4aca2 + +MenuDataHeader_0x4aca2: ; 0x4aca2 + db $40 ; flags + db 09, 11 ; start coords + db 17, 19 ; end coords + dw NULL + db 1 ; default option +; 0x4acaa + +Function4acaa: ; 4acaa +.asm_4acaa + ld a, $a0 + ld [wMenuData2Flags], a + ld a, [wd019] + bit 1, a + jr z, .asm_4acc2 + ld a, $2 + ld [wMenuData2Items], a + ld a, $c + ld [wMenuBorderTopCoord], a + jr .asm_4accc + +.asm_4acc2 + ld a, $4 + ld [wMenuData2Items], a + ld a, $8 + ld [wMenuBorderTopCoord], a + +.asm_4accc + ld a, $b + ld [wMenuBorderLeftCoord], a + ld a, $1 + ld [wMenuCursorBuffer], a + call InitVerticalMenuCursor + ld hl, w2DMenuFlags1 + set 6, [hl] + call StaticMenuJoypad + ld de, SFX_READ_TEXT_2 + call PlaySFX + ld a, [hJoyPressed] + bit 0, a + jr nz, .asm_4acf4 + bit 1, a + jr nz, .asm_4acf3 + jr .asm_4acaa + +.asm_4acf3 + ret + +.asm_4acf4 + ld a, [wd019] + bit 1, a + jr nz, .asm_4ad0e + ld a, [wMenuCursorY] + cp $1 + jr z, Function4ad17 + cp $2 + jp z, Function4ad56 + cp $3 + jp z, Function4ad60 + jr .asm_4acf3 + +.asm_4ad0e + ld a, [wMenuCursorY] + cp $1 + jr z, Function4ad56 + jr .asm_4acf3 + +Function4ad17: ; 4ad17 + call Function4adb2 + jr z, .asm_4ad4a + ld hl, wd002 + ld a, $ff + cp [hl] + jr z, .asm_4ad39 + inc hl + cp [hl] + jr z, .asm_4ad39 + inc hl + cp [hl] + jr z, .asm_4ad39 + ld de, SFX_WRONG + call WaitPlaySFX + ld hl, UnknownText_0x4ad51 + call PrintText + ret + +.asm_4ad39 + ld a, [CurPartyMon] + ld [hl], a + call Function4a9c3 + ret c + ld a, [wd019] + set 0, a + ld [wd019], a + ret + +.asm_4ad4a + ld a, $ff + ld [hl], a + call Function4adc2 + ret + +UnknownText_0x4ad51: ; 0x4ad51 + ; Only three #MON may enter. + text_jump UnknownText_0x1c521c + db "@" +; 0x4ad56 + +Function4ad56: ; 4ad56 + callba OpenPartyStats + call WaitBGMap2 + ret +; 4ad60 + +Function4ad60: ; 4ad60 + callba ManagePokemonMoves + ret +; 4ad67 + +Function4ad67: ; 4ad67 + ret +; 4ad68 + +Function4ad68: ; 4ad68 + hlcoord 13, 12 + ld de, String_4ad88 + call PlaceString + call Function4adb2 + jr c, .asm_4ad7e + hlcoord 13, 10 + ld de, String_4ada0 + jr .asm_4ad84 + +.asm_4ad7e + hlcoord 13, 10 + ld de, String_4ad9a + +.asm_4ad84 + call PlaceString + ret +; 4ad88 + +String_4ad88: ; 4ad88 + db "つよさをみる" + next "つかえるわざ" + next "もどる@" +; 4ad9a + +String_4ad9a: ; 4ad9a + db "さんかする@" +; 4ada0 + +String_4ada0: ; 4ada0 + db "さんかしない@" +; 4ada7 + +String_4ada7: ; 4ada7 + db "つよさをみる" + next "もどる@" ; BACK +; 4adb2 + +Function4adb2: ; 4adb2 + ld hl, wd002 + ld a, [CurPartyMon] + cp [hl] + ret z + inc hl + cp [hl] + ret z + inc hl + cp [hl] + ret z + scf + ret +; 4adc2 + +Function4adc2: ; 4adc2 + ld a, [wd002] + cp $ff + jr nz, .skip + ld a, [wd003] + cp $ff + jr nz, .skip2 + ld a, [wd004] + ld [wd002], a + ld a, $ff + ld [wd004], a + jr .skip + +.skip2 + ld [wd002], a + ld a, $ff + ld [wd003], a + +.skip + ld a, [wd003] + cp $ff + ret nz + ld b, a + ld a, [wd004] + ld [wd003], a + ld a, b + ld [wd004], a + ret +; 4adf7 + +Function4adf7: ; 4adf7 + ld a, [wd019] + bit 0, a + ret z + ld a, [PartyCount] + inc a + ld [wMenuCursorY], a + ld a, $1 + ld [wMenuCursorX], a + ld a, [wd019] + res 0, a + ld [wd019], a + ret +; 4ae12 diff --git a/mobile/mobile_22.asm b/mobile/mobile_22.asm new file mode 100644 index 000000000..17b526586 --- /dev/null +++ b/mobile/mobile_22.asm @@ -0,0 +1,4448 @@ + +String_8911c: ; 8911c + db "でんわばんごうが ただしく" ; Phone number is not + next "はいって いません!@" ; entered correctly! +; 89135 + +String_89135: ; 89135 + db "データが かわって いますが" ; The data has changed. + next "かきかえないで やめますか?@" ; Quit anyway? +; 89153 + +String_89153: ; 89153 + db "メッセージは ありません@" ; No message +; 89160 + +OpenSRAMBank4: ; 89160 + push af + ld a, $4 + call GetSRAMBank + pop af + ret +; 89168 + + +Function89168: ; 89168 (22:5168) + ld hl, GameTimerPause + set 7, [hl] + ret + +Function8916e: ; 8916e (22:516e) + ld hl, GameTimerPause + res 7, [hl] + ret + +Function89174: ; 89174 (22:5174) + ld hl, GameTimerPause + bit 7, [hl] + ret + +Function8917a: ; 8917a (22:517a) + ld hl, wd002 + ld bc, $32 + xor a + call ByteFill + ret + +Function89185: ; 89185 (22:5185) +; strcmp(hl, de, c) +; Compares c bytes starting at de and hl and incrementing together until a mismatch is found. +; Preserves hl and de. + push de + push hl +.loop + ld a, [de] + inc de + cp [hl] + jr nz, .done + inc hl + dec c + jr nz, .loop +.done + pop hl + pop de + ret + +Function89193: ; 89193 +; copy(hl, de, 4) +; Copies c bytes from hl to de. +; Preserves hl and de. + push de + push hl +.loop + ld a, [hli] + ld [de], a + inc de + dec c + jr nz, .loop + pop hl + pop de + ret +; 8919e + + +Function8919e: ; 8919e (22:519e) +; Searches for the c'th string starting at de. Returns the pointer in de. + ld a, c + and a + ret z +.loop + ld a, [de] + inc de + cp "@" + jr nz, .loop + dec c + jr nz, .loop + ret + +Function891ab: ; 891ab + call Mobile22_SetBGMapMode1 + callba ReloadMapPart + call Mobile22_SetBGMapMode0 + ret +; 891b8 + +Function891b8: ; 891b8 + call Mobile22_SetBGMapMode0 + hlcoord 0, 0 + ld a, " " + ld bc, SCREEN_WIDTH * SCREEN_HEIGHT + call ByteFill + call DelayFrame + ret +; 891ca + + +Function891ca: ; 891ca (22:51ca) + push bc + call Function891b8 + call WaitBGMap + pop bc + ret + +Function891d3: ; 891d3 (22:51d3) + push bc + call Function891ca + ld c, $10 + call DelayFrames + pop bc + ret + +Function891de: ; 891de + call Mobile22_SetBGMapMode0 + call ClearPalettes + hlcoord 0, 0, AttrMap + ld a, $7 + ld bc, SCREEN_WIDTH * SCREEN_HEIGHT + call ByteFill + hlcoord 0, 0 + ld a, " " + ld bc, SCREEN_WIDTH * SCREEN_HEIGHT + call ByteFill + call Function891ab + ret +; 891fe + +Function891fe: ; 891fe + push bc + call Function891de + ld c, $10 + call DelayFrames + pop bc + ret +; 89209 + +Function89209: ; 89209 + ld a, 1 + ld [wSpriteUpdatesEnabled], a + ret +; 8920f + +Function8920f: ; 8920f + ld a, 0 + ld [wSpriteUpdatesEnabled], a + ret +; 89215 + +Function89215: ; 89215 + push hl + push bc + ld bc, AttrMap - TileMap + add hl, bc + ld [hl], a + pop bc + pop hl + ret +; 8921f + + +Function8921f: ; 8921f (22:521f) + push de + ld de, SCREEN_WIDTH + add hl, de + inc hl + ld a, $7f +.loop + push bc + push hl +.asm_89229 + ld [hli], a + dec c + jr nz, .asm_89229 + pop hl + add hl, de + pop bc + dec b + jr nz, .loop + pop de + ret + +Mobile22_ButtonSound: ; 89235 (22:5235) + call JoyWaitAorB + call PlayClickSFX + ret + +Mobile22_SetBGMapMode0: ; 8923c + xor a + ld [hBGMapMode], a + ret +; 89240 + +Mobile22_SetBGMapMode1: ; 89240 + ld a, $1 + ld [hBGMapMode], a + ret +; 89245 + + +Function89245: ; 89245 (22:5245) + callba TryLoadSaveFile + ret c + callba _LoadData + and a + ret + +Function89254: ; 89254 (22:5254) + ld bc, $d07 + jr Function89261 + +Function89259: ; 89259 + ld bc, $0e07 + jr Function89261 + +Function8925e: ; 8925e + ld bc, $0e0c + +Function89261: ; 89261 + push af + push bc + ld hl, MenuDataHeader_0x892a3 + call CopyMenuDataHeader + pop bc + ld hl, wMenuBorderTopCoord + ld a, c + ld [hli], a + ld a, b + ld [hli], a + ld a, c + add $4 + ld [hli], a + ld a, b + add $5 + ld [hl], a + pop af + ld [wMenuCursorBuffer], a + call PushWindow + call Mobile22_SetBGMapMode0 + call Function89209 + call VerticalMenu + push af + ld c, $a + call DelayFrames + call CloseWindow + call Function8920f + pop af + jr c, .done + ld a, [wMenuCursorY] + cp $2 + jr z, .done + and a + ret + +.done + scf + ret +; 892a3 + +MenuDataHeader_0x892a3: ; 0x892a3 + db $40 ; flags + db 05, 10 ; start coords + db 09, 15 ; end coords + dw MenuData2_0x892ab + db 1 ; default option +; 0x892ab + +MenuData2_0x892ab: ; 0x892ab + db $c0 ; flags + db 2 ; items + db "はい@" + db "いいえ@" +; 0x892b4 + +Function892b4: ; 892b4 (22:52b4) + call Function8931b + +Function892b7: ; 892b7 + ld d, b + ld e, c + ld hl, 0 + add hl, bc + ld a, "@" + ld bc, 6 + call ByteFill + ld b, d + ld c, e + ld hl, 6 + add hl, bc + ld a, "@" + ld bc, 6 + call ByteFill + ld b, d + ld c, e + ld hl, 12 + add hl, bc + xor a + ld [hli], a + ld [hl], a + ld hl, 14 + add hl, bc + ld [hli], a + ld [hl], a + ld hl, 16 + add hl, bc + ld [hl], a + ld hl, 17 + add hl, bc + ld a, -1 + ld bc, 8 + call ByteFill + ld b, d + ld c, e + ld e, 6 + ld hl, 25 + add hl, bc +.loop + ld a, -1 + ld [hli], a + ld a, -1 + ld [hli], a + dec e + jr nz, .loop + ret +; 89305 + + +Function89305: ; 89305 (22:5305) + xor a + ld [MenuSelection], a + ld c, 40 +.loop + ld a, [MenuSelection] + inc a + ld [MenuSelection], a + push bc + call Function892b4 + pop bc + dec c + jr nz, .loop + ret + +Function8931b: ; 8931b + push hl + ld hl, $a03b ; 4:a03b + ld a, [MenuSelection] + dec a + ld bc, 37 + call AddNTimes + ld b, h + ld c, l + pop hl + ret +; 8932d + +Function8932d: ; 8932d + ld hl, 0 + add hl, bc + +Function89331: ; 89331 +; Scans up to 5 characters starting at hl, looking for a nonspace character up to the next terminator. +; Sets carry if it does not find a nonspace character. +; Returns the location of the following character in hl. + push bc + ld c, 5 +.loop + ld a, [hli] + cp "@" + jr z, .terminator + cp " " + jr nz, .nonspace + dec c + jr nz, .loop + +.terminator + scf + jr .done + +.nonspace + and a + +.done + pop bc + ret +; 89346 + + +Function89346: ; 89346 (22:5346) + ld h, b + ld l, c + jr _incave + +Function8934a: ; 8934a + ld hl, 6 + add hl, bc +_incave: +; Scans up to 5 characters starting at hl, looking for a nonspace character up to the next terminator. Sets carry if it does not find a nonspace character. Returns the location of the following character in hl. + push bc + ld c, 5 +.loop + ld a, [hli] + cp "@" + jr z, .terminator + cp " " + jr nz, .nonspace + dec c + jr nz, .loop + +.terminator + scf + jr .done + +.nonspace + and a + +.done + pop bc + ret +; 89363 + +Function89363: ; 89363 +; Scans six byte pairs starting at bc to find $ff. Sets carry if it does not find a $ff. Returns the location of the byte after the first $ff found in hl. + ld h, b + ld l, c + jr ._incave + + ld hl, 25 + add hl, bc + +._incave + push de + ld e, 6 +.loop + ld a, [hli] + cp -1 + jr nz, .ok + ld a, [hli] + cp -1 + jr nz, .ok + dec e + jr nz, .loop + scf + jr .done + +.ok + and a + +.done + pop de + ret +; 89381 + +Function89381: ; 89381 + push bc + push de + call Function89b45 + jr c, .ok + push hl + ld a, -1 + ld bc, 8 + call ByteFill + pop hl + +.ok + pop de + ld c, 8 + call Function89193 + pop bc + ret +; 8939a + +Function8939a: ; 8939a + push bc + ld hl, 0 + add hl, bc + ld de, wd002 + ld c, 6 + call Function89193 + pop bc + ld hl, 17 + add hl, bc + ld de, wd008 + call Function89381 + ret +; 893b3 + + +Function893b3: ; 893b3 (22:53b3) + call DisableLCD + call ClearSprites + call LoadStandardFont + call LoadFontsExtra + call Function893ef + call Function8942b + call Function89455 + call EnableLCD + ret + +Function893cc: ; 893cc + call DisableLCD + call ClearSprites + call LoadStandardFont + call LoadFontsExtra + call Function893ef + call Function89464 + call EnableLCD + ret +; 893e2 + + +Function893e2: ; 893e2 (22:53e2) + call Function89b1e + call Function893b3 + call Function8a5b6 + call Function8949c + ret + +Function893ef: ; 893ef + ld de, VTiles0 + ld hl, GFX_8940b + ld bc, $20 + ld a, BANK(GFX_8940b) + call FarCopyBytes + ret +; 893fe + +Function893fe: ; 893fe + call DisableLCD + call Function893ef + call EnableLCD + call DelayFrame + ret +; 8940b + +GFX_8940b: ; 8940b +INCBIN "gfx/unknown/08940b.2bpp" +; 8942b + +Function8942b: ; 8942b (22:542b) + ld de, VTiles0 tile $02 + ld hl, MobileAdapterGFX + $7d0 + ld bc, $80 + ld a, BANK(MobileAdapterGFX) + call FarCopyBytes + ld de, VTiles0 tile $0a + ld hl, MobileAdapterGFX + $c60 + ld bc, $40 + ld a, BANK(MobileAdapterGFX) + call FarCopyBytes + ret + +Function89448: ; 89448 (22:5448) +; Clears the Sprites array + push af + ld hl, Sprites + ld d, $10 * 6 + xor a +.loop + ld [hli], a + dec d + jr nz, .loop + pop af + ret + +Function89455: ; 89455 (22:5455) + ld hl, MobileAdapterGFX + $7d0 + ld de, VTiles2 tile $0c + ld bc, $490 + ld a, BANK(MobileAdapterGFX) + call FarCopyBytes + ret + +Function89464: ; 89464 + ld hl, MobileAdapterGFX + ld de, VTiles2 + ld bc, $200 + ld a, BANK(MobileAdapterGFX) + call FarCopyBytes + ld hl, MobileAdapterGFX + $660 + ld de, VTiles2 tile $20 + ld bc, $170 + ld a, BANK(MobileAdapterGFX) + call FarCopyBytes + ret +; 89481 + +Function89481: ; 89481 + ld d, 2 + call Function8934a + ret c + ld d, 0 + ld hl, 16 + add hl, bc + bit 0, [hl] + ret z + inc d + ret +; 89492 + + +Function89492: ; 89492 (22:5492) + ld d, 0 + ld a, [PlayerGender] + bit 0, a + ret z + inc d + ret + +Function8949c: ; 8949c + ld a, [rSVBK] + push af + ld a, 5 + ld [rSVBK], a + ld hl, Palette_894b3 + ld de, UnknBGPals + 8 * 7 + ld bc, 8 + call CopyBytes + pop af + ld [rSVBK], a + ret +; 894b3 + +Palette_894b3: ; 894b3 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 00, 00, 00 +; 894bb + +Function894bb: ; 894bb + call Function894dc + push bc + call Function8956f + call Function8949c + call Function8a60d + pop bc + ret +; 894ca + + +Function894ca: ; 894ca (22:54ca) + push bc + call Function894dc + call Function895c7 + call Function8949c + call Function8a60d + call SetPalettes + pop bc + ret + +Function894dc: ; 894dc + push bc + ld a, [rSVBK] + push af + ld a, 5 + ld [rSVBK], a + + ld c, d + ld b, 0 + ld hl, .PalettePointers + add hl, bc + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + ld de, UnknBGPals + ld bc, 3 palettes + call CopyBytes + ld hl, .Pals345 + ld de, UnknBGPals + 3 palettes + ld bc, 3 palettes + call CopyBytes + + pop af + ld [rSVBK], a + pop bc + ret +; 89509 + +.PalettePointers: ; 89509 + dw .Pals012a + dw .Pals012b + dw .Pals012c +; 8950f + +.Pals012a: ; 8950f + RGB 31, 31, 31 + RGB 10, 17, 13 + RGB 10, 08, 22 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 16, 20, 31 + RGB 10, 08, 22 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 16, 20, 31 + RGB 10, 17, 13 + RGB 00, 00, 00 + +.Pals012b: ; 89527 + RGB 31, 31, 31 + RGB 30, 22, 11 + RGB 31, 08, 15 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 16, 20, 31 + RGB 31, 08, 15 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 16, 20, 31 + RGB 30, 22, 11 + RGB 00, 00, 00 + +.Pals012c: ; 8953f + RGB 31, 31, 31 + RGB 15, 20, 26 + RGB 25, 07, 20 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 16, 20, 31 + RGB 25, 07, 20 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 16, 20, 31 + RGB 15, 20, 26 + RGB 00, 00, 00 + +.Pals345: ; 89557 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 13, 00 + RGB 14, 08, 00 + + RGB 31, 31, 31 + RGB 16, 16, 31 + RGB 00, 00, 31 + RGB 00, 00, 00 + + RGB 19, 31, 11 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 +; 8956f + +Function8956f: ; 8956f + push bc + ld hl, 16 + add hl, bc + ld d, h + ld e, l + ld hl, $000c + add hl, bc + ld b, h + ld c, l + callba GetMobileOTTrainerClass + ld a, c + ld [TrainerClass], a + ld a, [rSVBK] + push af + ld a, 5 + ld [rSVBK], a + ld hl, wd030 + ld a, -1 + ld [hli], a + ld a, " " + ld [hl], a + pop af + ld [rSVBK], a + ld a, [TrainerClass] + ld h, 0 + ld l, a + add hl, hl + add hl, hl + ld de, TrainerPalettes + add hl, de + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld de, wd032 + ld c, 4 +.loop + ld a, BANK(TrainerPalettes) + call GetFarByte + ld [de], a + inc de + inc hl + dec c + jr nz, .loop + ld hl, wd036 + xor a + ld [hli], a + ld [hl], a + pop af + ld [rSVBK], a + pop bc + ret +; 895c7 + + +Function895c7: ; 895c7 (22:55c7) + ld a, [rSVBK] + push af + ld a, 5 + ld [rSVBK], a + ld hl, Palette_895de + ld de, wd030 + ld bc, 8 + call CopyBytes + pop af + ld [rSVBK], a + ret +; 895de (22:55de) + +Palette_895de: ; 895de + RGB 31, 31, 31 + RGB 07, 07, 06 + RGB 07, 07, 06 + RGB 00, 00, 00 +; 895e6 + +Function895e6: ; 895e6 + ld a, 7 + hlcoord 0, 0, AttrMap + ld bc, SCREEN_WIDTH * SCREEN_HEIGHT + call ByteFill + ret +; 895f2 + +Function895f2: ; 895f2 + push bc + xor a + hlcoord 0, 0, AttrMap + ld bc, SCREEN_WIDTH * SCREEN_HEIGHT + call ByteFill + call Function89605 + call Function89655 + pop bc + ret +; 89605 + +Function89605: ; 89605 + hlcoord 19, 2, AttrMap + ld a, 1 + ld de, SCREEN_WIDTH + ld c, 14 +.loop + ld [hl], a + dec c + jr z, .done + add hl, de + inc a + ld [hl], a + dec a + add hl, de + dec c + jr nz, .loop + +.done + hlcoord 0, 16, AttrMap + ld c, 10 + ld a, 2 +.loop2 + ld [hli], a + dec a + ld [hli], a + inc a + dec c + jr nz, .loop2 + hlcoord 1, 11, AttrMap + ld a, 4 + ld bc, 4 + call ByteFill + ld a, 5 + ld bc, 14 + call ByteFill + ret +; 8963d + +Function8963d: ; 8963d + hlcoord 12, 3, AttrMap + ld a, 6 + ld de, SCREEN_WIDTH + lb bc, 7, 7 +.loop + push hl + ld c, 7 +.next + ld [hli], a + dec c + jr nz, .next + pop hl + add hl, de + dec b + jr nz, .loop + ret +; 89655 + +Function89655: ; 89655 + hlcoord 1, 12, AttrMap + ld de, SCREEN_WIDTH + ld a, 5 + ld b, 4 +.loop + ld c, 18 + push hl +.next + ld [hli], a + dec c + jr nz, .next + pop hl + add hl, de + dec b + jr nz, .loop + ret +; 8966c + +Function8966c: ; 8966c + push bc + call Function89688 + hlcoord 4, 0 + ld c, 8 + call Function896f5 + pop bc + ret +; 8967a + + +Function8967a: ; 8967a (22:567a) + push bc + call Function89688 + hlcoord 2, 0 + ld c, 12 + call Function896f5 + pop bc + ret + +Function89688: ; 89688 + hlcoord 0, 0 + ld a, 1 + ld e, SCREEN_WIDTH + call Function896e1 + ld a, 2 + ld e, SCREEN_WIDTH + call Function896eb + ld a, 3 + ld [hli], a + ld a, 4 + ld e, SCREEN_HEIGHT + call Function896e1 + ld a, 6 + ld [hli], a + push bc + ld c, 13 +.loop + call Function896cb + dec c + jr z, .done + call Function896d6 + dec c + jr nz, .loop + +.done + pop bc + ld a, 25 + ld [hli], a + ld a, 26 + ld e, SCREEN_HEIGHT + call Function896e1 + ld a, 28 + ld [hli], a + ld a, 2 + ld e, SCREEN_WIDTH + call Function896eb + ret +; 896cb + +Function896cb: ; 896cb + ld de, SCREEN_WIDTH - 1 + ld a, 7 + ld [hl], a + add hl, de + ld a, 9 + ld [hli], a + ret +; 896d6 + +Function896d6: ; 896d6 + ld de, SCREEN_WIDTH - 1 + ld a, 10 + ld [hl], a + add hl, de + ld a, 11 + ld [hli], a + ret +; 896e1 + +Function896e1: ; 896e1 +.loop + ld [hli], a + inc a + dec e + ret z + ld [hli], a + dec a + dec e + jr nz, .loop + ret +; 896eb + +Function896eb: ; 896eb +.loop + ld [hli], a + dec a + dec e + ret z + ld [hli], a + inc a + dec e + jr nz, .loop + ret +; 896f5 + +Function896f5: ; 896f5 + call Function8971f + call Function89736 + inc hl + inc hl + ld b, 2 + +ClearScreenArea: ; 0x896ff +; clears an area of the screen +; INPUT: +; hl = address of upper left corner of the area +; b = height +; c = width + + ld a, " " ; blank tile + ld de, 20 ; screen width +.loop + push bc + push hl +.innerLoop + ld [hli], a + dec c + jr nz, .innerLoop + pop hl + pop bc + add hl, de + dec b + jr nz, .loop + + dec hl + inc c + inc c +.asm_89713 + ld a, $36 + ld [hli], a + dec c + ret z + ld a, $18 + ld [hli], a + dec c + jr nz, .asm_89713 ; 0x8971c $f5 + ret +; 0x8971f + +Function8971f: ; 8971f + ld a, $2c + ld [hli], a + ld a, $2d + ld [hld], a + push hl + ld de, SCREEN_WIDTH + add hl, de + ld a, $31 + ld [hli], a + ld a, $32 + ld [hld], a + add hl, de + ld a, $35 + ld [hl], a + pop hl + ret +; 89736 + +Function89736: ; 89736 + push hl + inc hl + inc hl + ld e, c + ld d, $0 + add hl, de + ld a, $2f + ld [hli], a + ld a, $30 + ld [hld], a + ld de, SCREEN_WIDTH + add hl, de + ld a, $33 + ld [hli], a + ld a, $34 + ld [hl], a + add hl, de + ld a, $1f + ld [hl], a + pop hl + ret +; 89753 + +Function89753: ; 89753 + ld a, $c + ld [hl], a + xor a + call Function89215 + ret +; 8975b + +Function8975b: ; 8975b + ld a, $1d + ld [hli], a + inc a + ld [hli], a + ld a, $d + ld [hl], a + dec hl + dec hl + ld a, $4 + ld e, $3 +.asm_89769 + call Function89215 + inc hl + dec e + jr nz, .asm_89769 + ret +; 89771 + +Function89771: ; 89771 + ld a, $12 + ld [hl], a + ld a, $3 + call Function89215 + ret +; 8977a + +Function8977a: ; 8977a + ld e, $4 + ld d, $13 +.asm_8977e + ld a, d + ld [hl], a + ld a, $4 + call Function89215 + inc hl + inc d + dec e + jr nz, .asm_8977e + ld e, $e +.asm_8978c + ld a, d + ld [hl], a + xor a + call Function89215 + inc hl + dec e + jr nz, .asm_8978c + ret +; 89797 + +Function89797: ; 89797 + push bc + ld a, $e + ld [hl], a + ld bc, SCREEN_WIDTH + add hl, bc + ld a, $11 + ld [hli], a + ld a, $10 + ld c, $8 +.asm_897a6 + ld [hli], a + dec c + jr nz, .asm_897a6 + ld a, $f + ld [hl], a + pop bc + ret +; 897af + +Function897af: ; 897af + push bc + ld hl, $0010 + add hl, bc + ld d, h + ld e, l + ld hl, $000c + add hl, bc + ld b, h + ld c, l + callba GetMobileOTTrainerClass + ld a, c + ld [TrainerClass], a + xor a + ld [CurPartySpecies], a + ld de, VTiles2 tile $37 + callba GetTrainerPic + pop bc + ret +; 897d5 + +Function897d5: ; 897d5 + push bc + call Function8934a + jr nc, .asm_897f3 + hlcoord 12, 3, AttrMap + xor a + ld de, SCREEN_WIDTH + lb bc, 7, 7 +.asm_897e5 + push hl + ld c, $7 +.asm_897e8 + ld [hli], a + dec c + jr nz, .asm_897e8 + pop hl + add hl, de + dec b + jr nz, .asm_897e5 + pop bc + ret + +.asm_897f3 + ld a, $37 + ld [hGraphicStartTile], a + hlcoord 12, 3 + lb bc, 7, 7 + predef PlaceGraphic + call Function8963d + pop bc + ret +; 89807 + + +Function89807: ; 89807 (22:5807) + ld hl, MobileAdapterGFX + $200 + ld a, [PlayerGender] + bit 0, a + jr z, .asm_89814 + ld hl, MobileAdapterGFX + $200 + $230 +.asm_89814 + call DisableLCD + ld de, VTiles2 tile $37 + ld bc, $230 + ld a, BANK(MobileAdapterGFX) + call FarCopyBytes + call EnableLCD + call DelayFrame + ret + +Function89829: ; 89829 (22:5829) + push bc + ld bc, $705 + ld de, $14 + ld a, $37 +.asm_89832 + push bc + push hl +.asm_89834 + ld [hli], a + inc a + dec c + jr nz, .asm_89834 + pop hl + add hl, de + pop bc + dec b + jr nz, .asm_89832 + call Function8963d + pop bc + ret + +Function89844: ; 89844 + call Function89481 + call Function894bb + call Function897af + push bc + call WaitBGMap2 + call SetPalettes + pop bc + ret +; 89856 + +Function89856: ; 89856 + push bc + call Function891b8 + pop bc + call Function895f2 + call Function8966c + call Function899d3 + call Function898aa + call Function898be + call Function898dc + call Function898f3 + push bc + ld bc, wd008 + hlcoord 2, 10 + call Function89975 + pop bc + call Function897d5 + ret +; 8987f + + +Function8987f: ; 8987f (22:587f) + call Function891b8 + call Function895f2 + call Function8967a + call Function899d3 + hlcoord 5, 1 + call Function8999c + hlcoord 13, 3 + call Function89829 + call Function899b2 + hlcoord 5, 5 + call Function899c9 + ld bc, wd008 + hlcoord 2, 10 + call Function89975 + ret + +Function898aa: ; 898aa + ld a, [MenuSelection] + and a + ret z + push bc + hlcoord 6, 1 + ld de, MenuSelection + lb bc, PRINTNUM_LEADINGZEROS | 1, 2 + call PrintNum + pop bc + ret +; 898be + +Function898be: ; 898be + push bc + ld de, wd002 + ld hl, wd002 + call Function89331 + jr nc, .asm_898cd + ld de, String_89116 + +.asm_898cd + hlcoord 9, 1 + ld a, [MenuSelection] + and a + jr nz, .asm_898d7 + dec hl + +.asm_898d7 + call PlaceString + pop bc + ret +; 898dc + +Function898dc: ; 898dc + ld hl, $0006 + add hl, bc + push bc + ld d, h + ld e, l + call Function8934a + jr nc, .asm_898eb + ld de, String_89116 + +.asm_898eb + hlcoord 6, 4 + call PlaceString + pop bc + ret +; 898f3 + +Function898f3: ; 898f3 + push bc + ld hl, $000c + add hl, bc + ld d, h + ld e, l + call Function8934a + jr c, .asm_8990a + hlcoord 5, 5 + lb bc, PRINTNUM_LEADINGZEROS | 2, 5 + call PrintNum + jr .asm_89913 + +.asm_8990a + hlcoord 5, 5 + ld de, String_89116 + call PlaceString + +.asm_89913 + pop bc + ret +; 89915 + +Function89915: ; 89915 + push bc + push hl + ld de, Unknown_89942 + ld c, $8 +.asm_8991c + ld a, [de] + ld [hl], a + ld a, $4 + call Function89215 + inc hl + inc de + dec c + jr nz, .asm_8991c + pop hl + ld b, $4 + ld c, $2b + ld a, $8 + ld de, Unknown_8994a +.asm_89932 + push af + ld a, [de] + cp [hl] + jr nz, .asm_8993b + call Function8994e + inc de + +.asm_8993b + inc hl + pop af + dec a + jr nz, .asm_89932 + pop bc + ret +; 89942 + +Unknown_89942: ; 89942 + db $24, $25, $26, " ", $27, $28, $29, $2a +Unknown_8994a: ; 8994a + db $24, $27, $29, $ff +; 8994e + +Function8994e: ; 8994e + push hl + push de + ld de, SCREEN_WIDTH + ld a, l + sub e + ld l, a + ld a, h + sbc d + ld h, a + ld a, c + ld [hl], a + ld a, b + call Function89215 + pop de + pop hl + ret +; 89962 + +Function89962: ; 89962 + push bc + ld c, $4 + ld b, $20 +.asm_89967 + ld a, b + ld [hl], a + ld a, $4 + call Function89215 + inc hl + inc b + dec c + jr nz, .asm_89967 + pop bc + ret +; 89975 + +Function89975: ; 89975 + push bc + ld e, $8 +.asm_89978 + ld a, [bc] + ld d, a + call Function8998b + swap d + inc hl + ld a, d + call Function8998b + inc bc + inc hl + dec e + jr nz, .asm_89978 + pop bc + ret +; 8998b + +Function8998b: ; 8998b + push bc + and $f + cp $a + jr nc, .asm_89997 + ld c, $f6 + add c + jr .asm_89999 + +.asm_89997 + ld a, $7f + +.asm_89999 + ld [hl], a + pop bc + ret +; 8999c + + +Function8999c: ; 8999c (22:599c) + ld de, PlayerName + call PlaceString + inc bc + ld h, b + ld l, c + ld de, String_899ac + call PlaceString + ret +; 899ac (22:59ac) + +String_899ac: ; 899ac + db "の めいし@" +; 899b2 + +Function899b2: ; 899b2 (22:59b2) + ld bc, PlayerName + call Function89346 + jr c, .asm_899bf + ld de, PlayerName + jr .asm_899c2 +.asm_899bf + ld de, String_89116 +.asm_899c2 + hlcoord 6, 4 + call PlaceString + ret + +Function899c9: ; 899c9 (22:59c9) + ld de, PlayerID + lb bc, PRINTNUM_LEADINGZEROS | 2, 5 + call PrintNum + ret + +Function899d3: ; 899d3 + hlcoord 1, 4 + call Function89753 + hlcoord 2, 5 + call Function8975b + hlcoord 1, 9 + call Function89771 + hlcoord 1, 11 + call Function8977a + hlcoord 1, 5 + call Function89797 + hlcoord 2, 4 + call Function89962 + hlcoord 2, 9 + call Function89915 + ret +; 899fe + +Function899fe: ; 899fe + push bc + push hl + ld hl, $0019 + add hl, bc + ld b, h + ld c, l + pop hl + call Function89a0c + pop bc + ret +; 89a0c + +Function89a0c: ; 89a0c + push hl + call Function89363 + pop hl + jr c, .asm_89a1c + ld d, h + ld e, l + callba Function11c08f + ret + +.asm_89a1c + ld de, String_89153 + call PlaceString + ret +; 89a23 + + +Function89a23: ; 89a23 (22:5a23) + hlcoord 0, 11 + ld b, $4 + ld c, $12 + call Function8921f + ret + +Function89a2e: ; 89a2e (22:5a2e) + hlcoord 11, 12 + ld b, $2 + ld c, $6 + call TextBox + hlcoord 13, 13 + ld de, String_89a4e + call PlaceString + hlcoord 13, 14 + ld de, String_89a53 + call PlaceString + call Function89655 + ret +; 89a4e (22:5a4e) + +String_89a4e: ; 89a4e + db "けってい@" +; 89a53 + +String_89a53: ; 89a53 + db "やめる@" +; 89a57 + +Function89a57: ; 89a57 + call JoyTextDelay_ForcehJoyDown ; joypad + bit D_UP_F, c + jr nz, .d_up + bit D_DOWN_F, c + jr nz, .d_down + bit A_BUTTON_F, c + jr nz, .a_b_button + bit B_BUTTON_F, c + jr nz, .a_b_button + bit START_F, c + jr nz, .start_button + scf + ret + +.a_b_button + ld a, $1 + and a + ret + +.start_button + ld a, $2 + and a + ret + +.d_up + call .MoveCursorUp + call nc, .PlayPocketSwitchSFX + ld a, $0 + ret + +.d_down + call .MoveCursorDown + call nc, .PlayPocketSwitchSFX + ld a, $0 + ret +; 89a8a + +.PlayPocketSwitchSFX: ; 89a8a + push af + ld de, SFX_SWITCH_POCKETS + call PlaySFX + pop af + ret +; 89a93 + +.MoveCursorDown: ; 89a93 + ld d, 40 + ld e, 1 + call .ApplyCursorMovement + ret +; 89a9b + +.MoveCursorUp: ; 89a9b + ld d, 1 + ld e, -1 + call .ApplyCursorMovement + ret +; 89aa3 + +.ApplyCursorMovement: ; 89aa3 + ld a, [MenuSelection] + ld c, a + push bc +.loop + ld a, [MenuSelection] + cp d + jr z, .equal_to_d + add e + jr nz, .not_zero + inc a + +.not_zero + ld [MenuSelection], a + call .Function89ac7 ; BCD conversion of data in SRAM? + jr nc, .loop + call .Function89ae6 ; split [MenuSelection] into [wd030] + [wd031] where [wd030] <= 5 + pop bc + and a + ret + +.equal_to_d + pop bc + ld a, c + ld [MenuSelection], a + scf + ret +; 89ac7 + +.Function89ac7: ; 89ac7 + call OpenSRAMBank4 + call Function8931b + call .Function89ad4 + call CloseSRAM + ret +; 89ad4 + +.Function89ad4: ; 89ad4 + push de + call Function8932d ; find a non-space character within 5 bytes of bc + jr c, .no_nonspace_character + ld hl, 17 + add hl, bc + call Function89b45 + jr c, .finish_decode + +.no_nonspace_character + and a + +.finish_decode + pop de + ret +; 89ae6 + +.Function89ae6: ; 89ae6 + ld hl, wd031 + xor a + ld [hl], a + ld a, [MenuSelection] +.loop2 + cp 6 + jr c, .load_and_ret + sub 5 + ld c, a + ld a, [hl] + add 5 + ld [hl], a + ld a, c + jr .loop2 + +.load_and_ret + ld [wd030], a + ret +; 89b00 + + +Function89b00: ; 89b00 (22:5b00) + callba MG_Mobile_Layout_LoadPals + ret +; 89b07 (22:5b07) + +Function89b07: ; 89b07 + call Mobile22_SetBGMapMode0 + call DelayFrame + callba Function4a3a7 + ret +; 89b14 + +Function89b14: ; 89b14 + call ClearBGPalettes + call Function89b07 + call Function89b00 + ret +; 89b1e + +Function89b1e: ; 89b1e (22:5b1e) + callba Function4a485 + call Function89b00 + ret + +Function89b28: ; 89b28 (22:5b28) + call Function891de + call ClearBGPalettes + call Function893e2 + call Call_ExitMenu + call Function891ab + call SetPalettes + ret + +Function89b3b: ; 89b3b (22:5b3b) + call Mobile22_SetBGMapMode0 + callba Function48cda + ret + +Function89b45: ; 89b45 + ; some sort of decoder? + ; BCD? + push hl + push bc + ld c, $10 + ld e, $0 +.loop + ld a, [hli] + ld b, a + and $f + cp 10 + jr c, .low_nybble_less_than_10 + ld a, c + cp $b + jr nc, .clear_carry + jr .set_carry + +.low_nybble_less_than_10 + dec c + swap b + inc e + ld a, b + and $f + cp 10 + jr c, .high_nybble_less_than_10 + ld a, c + cp $b + jr nc, .clear_carry + jr .set_carry + +.high_nybble_less_than_10 + inc e + dec c + jr nz, .loop + dec e + +.set_carry + scf + jr .finish + +.clear_carry + and a + +.finish + pop bc + pop hl + ret +; 89b78 + + +Function89b78: ; 89b78 (22:5b78) + push bc + ld a, [wd010] + cp $10 + jr c, .asm_89b8c + ld a, e + and a + jr z, .asm_89b89 + ld c, e +.asm_89b85 + inc hl + dec c + jr nz, .asm_89b85 +.asm_89b89 + ld a, $7f + ld [hl], a +.asm_89b8c + ld a, [wd010] + inc a + and $1f + ld [wd010], a + pop bc + ret + +Function89b97: ; 89b97 (22:5b97) + call Function89c34 + jr c, .asm_89ba0 + call Function89448 + ret +.asm_89ba0 + ld a, [wd011] + ld hl, Unknown_89bd8 + and a + jr z, .asm_89bae +.asm_89ba9 + inc hl + inc hl + dec a + jr nz, .asm_89ba9 +.asm_89bae + ld a, [hli] + ld h, [hl] + ld l, a + ld de, Sprites +.asm_89bb4 + ld a, [hli] + cp $ff + ret z + ld c, a + ld b, $0 +.asm_89bbb + push hl + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + add b + ld [de], a + inc de + ld a, $8 + add b + ld b, a + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + pop hl + dec c + jr nz, .asm_89bbb + ld b, $0 + ld c, $4 + add hl, bc + jr .asm_89bb4 +; 89bd8 (22:5bd8) + +Unknown_89bd8: ; 89bd8 + dw Unknown_89be0 + dw Unknown_89bf5 + dw Unknown_89c0a + dw Unknown_89c1f +; 89be0 + +Unknown_89be0: ; 89be0 + db $01, $12, $4e, $01, $00 + db $01, $19, $4e, $01, $40 + db $01, $12, $72, $01, $20 + db $01, $19, $72, $01, $60 + db $ff + +Unknown_89bf5: ; 89bf5 + db $01, $60, $16, $01, $00 + db $01, $62, $16, $01, $40 + db $01, $60, $92, $01, $20 + db $01, $62, $92, $01, $60 + db $ff + +Unknown_89c0a: ; 89c0a + db $01, $78, $66, $01, $00 + db $01, $78, $66, $01, $40 + db $01, $78, $92, $01, $20 + db $01, $78, $92, $01, $60 + db $ff + +Unknown_89c1f: ; 89c1f + db $01, $80, $66, $01, $00 + db $01, $80, $66, $01, $40 + db $01, $80, $92, $01, $20 + db $01, $80, $92, $01, $60 + db $ff +; 89c34 + +Function89c34: ; 89c34 (22:5c34) + push bc + ld a, [wd012] + ld c, a + inc a + and $f + ld [wd012], a + ld a, c + cp $8 + pop bc + ret + +Function89c44: ; 89c44 (22:5c44) + call Function89c34 + jr c, .asm_89c4f + push de + call Function89448 + pop de + ret +.asm_89c4f + ld hl, Sprites + push de + ld a, b + ld [hli], a + ld d, $8 + ld a, e + and a + ld a, c + jr z, .asm_89c60 +.asm_89c5c + add d + dec e + jr nz, .asm_89c5c +.asm_89c60 + pop de + ld [hli], a + ld a, d + ld [hli], a + xor a + ld [hli], a + ret + +Function89c67: ; 89c67 (22:5c67) +; menu scrolling? + call JoyTextDelay_ForcehJoyDown ; joypad + ld b, $0 + bit A_BUTTON_F, c + jr z, .not_a_button + ld b, $1 + and a + ret + +.not_a_button + bit B_BUTTON_F, c + jr z, .not_b_button + scf + ret + +.not_b_button + xor a + bit D_UP_F, c + jr z, .not_d_up + ld a, $1 +.not_d_up + bit D_DOWN_F, c + jr z, .not_d_down + ld a, $2 +.not_d_down + bit D_LEFT_F, c + jr z, .not_d_left + ld a, $3 +.not_d_left + bit D_RIGHT_F, c + jr z, .not_d_right + ld a, $4 +.not_d_right + and a + ret z ; no dpad pressed + dec a + ld c, a + ld d, $0 + ld hl, .ScrollData0 + ld a, [wd02f] + and a + jr z, .got_data + ld hl, .ScrollData1 +.got_data + ld a, [wd011] + and a + jr z, .got_row + ld e, $4 +.add_n_times + add hl, de + dec a + jr nz, .add_n_times +.got_row + ld e, c + add hl, de + ld a, [hl] + and a + ret z + dec a + ld [wd011], a + xor a + ld [wd012], a + ret +; 89cbf (22:5cbf) + +.ScrollData0: ; 89cbf + db 0, 2, 0, 0 + db 1, 3, 0, 0 + db 2, 4, 0, 0 + db 3, 0, 0, 0 + +.ScrollData1: ; 89ccf + db 0, 0, 0, 0 + db 0, 3, 0, 0 + db 2, 4, 0, 0 + db 3, 0, 0, 0 +; 89cdf + +Function89cdf: ; 89cdf (22:5cdf) + ld a, $10 + add b + ld b, a + ld a, $8 + add c + ld c, a + ld e, $2 + ld a, $2 + ld hl, Sprites +.asm_89cee + push af + push bc + ld d, $4 +.asm_89cf2 + ld a, b + ld [hli], a + ld a, c + ld [hli], a + ld a, e + ld [hli], a + ld a, $1 + ld [hli], a + ld a, $8 + add c + ld c, a + inc e + dec d + jr nz, .asm_89cf2 + pop bc + ld a, $8 + add b + ld b, a + pop af + dec a + jr nz, .asm_89cee + ret + +Function89d0d: ; 89d0d (22:5d0d) + call Mobile22_SetBGMapMode0 + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + + ld c, 8 + ld de, UnknBGPals +.loop + push bc + ld hl, .Palette1 + ld bc, 1 palettes + call CopyBytes + pop bc + dec c + jr nz, .loop + + ld hl, .Palette2 + ld de, UnknBGPals + 2 palettes + ld bc, 1 palettes + call CopyBytes + + pop af + ld [rSVBK], a + + call SetPalettes + callba PrintMail_ + call Mobile22_SetBGMapMode1 + ld c, 24 + call DelayFrames + call RestartMapMusic + ret +; 89d4e (22:5d4e) + +.Palette1: ; 89d4e + RGB 31, 31, 31 + RGB 19, 19, 19 + RGB 15, 15, 15 + RGB 00, 00, 00 +; 89d56 + +.Palette2: ; 89d56 + RGB 31, 31, 31 + RGB 19, 19, 19 + RGB 19, 19, 19 + RGB 00, 00, 00 +; 89d5e + +Function89d5e: ; 89d5e (22:5d5e) + push af + call CopyMenuDataHeader + pop af + ld [wMenuCursorBuffer], a + call Mobile22_SetBGMapMode0 + call PlaceVerticalMenuItems + call InitVerticalMenuCursor + ld hl, w2DMenuFlags1 + set 7, [hl] + ret + +Function89d75: ; 89d75 (22:5d75) + push hl + call Mobile22_SetBGMapMode0 + call _hl_ + callba Mobile_OpenAndCloseMenu_HDMATransferTileMapAndAttrMap + pop hl + jr asm_89d90 + +Function89d85: ; 89d85 (22:5d85) + push hl + call Mobile22_SetBGMapMode0 + call _hl_ + call CGBOnly_LoadEDTile + pop hl + +asm_89d90: ; 89d90 (22:5d90) + call Mobile22_SetBGMapMode0 + push hl + call _hl_ + call Function89dab + ld a, [wMenuCursorY] + push af + call Function891ab + pop af + pop hl + jr c, .asm_89da9 + jr z, asm_89d90 + scf + ret +.asm_89da9 + and a + ret + +Function89dab: ; 89dab (22:5dab) + call Mobile22_SetBGMapMode0 + callba MobileMenuJoypad + call Mobile22_SetBGMapMode0 + ld a, c + ld hl, wMenuJoypadFilter + and [hl] + ret z + bit 0, a + jr nz, .asm_89dc7 + bit 1, a + jr nz, .asm_89dd9 + xor a + ret +.asm_89dc7 + call PlayClickSFX + ld a, [w2DMenuNumRows] + ld c, a + ld a, [wMenuCursorY] + cp c + jr z, .asm_89dd9 + call PlaceHollowCursor + scf + ret +.asm_89dd9 + call PlayClickSFX + ld a, $1 + and a + ret + +Function89de0: ; 89de0 (22:5de0) + call ClearSprites + call Function89e0a + jr c, .asm_89e00 + ld c, $1 +.asm_89dea + call Function8a31c + jr z, .asm_89dfd + ld a, [wMenuCursorY] + ld c, a + push bc + ld hl, Jumptable_89e04 + ld a, e + dec a + rst JumpTable + pop bc + jr .asm_89dea +.asm_89dfd + call Function891fe +.asm_89e00 + call Function8917a + ret + +Jumptable_89e04: ; 89e04 (22:5e04) + dw Function8a62c + dw Function8a999 + dw Function8ab93 + + +Function89e0a: ; 89e0a (22:5e0a) + call OpenSRAMBank4 + call Function8b3b0 + call CloseSRAM + ld hl, Jumptable_89e18 + rst JumpTable + ret + +Jumptable_89e18: ; 89e18 (22:5e18) + dw Function89e1e + dw Function8a116 + dw Function8a2aa + + +Function89e1e: ; 89e1e (22:5e1e) + call OpenSRAMBank4 + ld bc, $a037 ; 4:a037 + call Function8b36c + call CloseSRAM + xor a + ld [wd02d], a + +asm_89e2e: ; 89e2e (22:5e2e) + ld a, [wd02d] + ld hl, Jumptable_89e3c + rst JumpTable + ret + +Function89e36: ; 89e36 (22:5e36) + ld hl, wd02d + inc [hl] + jr asm_89e2e + +Jumptable_89e3c: ; 89e3c (22:5e3c) + dw Function89e6f + dw Function89fed + dw Function89ff6 + dw Function8a03d + dw Function89eb9 + dw Function89efd + dw Function89fce + dw Function8a04c + dw Function8a055 + dw Function8a0e6 + dw Function8a0ec + dw Function8a0f5 + dw Function89e58 + dw Function89e68 + + +Function89e58: ; 89e58 (22:5e58) + ld a, $1 + call Function8a2fe + call Function891fe + call Function893e2 + call Function89168 + and a + ret + +Function89e68: ; 89e68 (22:5e68) + call Function891fe + ld a, $1 + scf + ret + +Function89e6f: ; 89e6f (22:5e6f) + call Function891de + call Function89245 + call Function89ee1 + call Function89e9a + hlcoord 7, 4 + call Function8a58d + ld a, $5 + hlcoord 7, 4, AttrMap + call Function8a5a3 + ld a, $6 + hlcoord 10, 4, AttrMap + call Function8a5a3 + call Function891ab + call SetPalettes + jp Function89e36 + +Function89e9a: ; 89e9a (22:5e9a) + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld hl, Palette_89eb1 + ld de, UnknBGPals + 5 palettes + ld bc, 1 palettes + call CopyBytes + pop af + ld [rSVBK], a + ret +; 89eb1 (22:5eb1) + +Palette_89eb1: ; 89eb1 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 27, 19, 00 + RGB 00, 00, 00 +; 89eb9 + +Function89eb9: ; 89eb9 (22:5eb9) + call Function891fe + call Function89ee1 + call Function89e9a + hlcoord 7, 4 + call Function8a58d + ld a, $5 + hlcoord 7, 4, AttrMap + call Function8a5a3 + ld a, $6 + hlcoord 10, 4, AttrMap + call Function8a5a3 + call Function891ab + call SetPalettes + jp Function89e36 + +Function89ee1: ; 89ee1 (22:5ee1) + call ClearBGPalettes + call Function893e2 + call Mobile22_SetBGMapMode0 + callba Function4a3a7 + callba MG_Mobile_Layout_CreatePalBoxes + hlcoord 1, 0 + call Function8a53d + ret + +Function89efd: ; 89efd (22:5efd) + ld hl, wd012 + ld a, $ff + ld [hli], a + xor a +rept 4 + ld [hli], a +endr + ld [hl], a +.asm_89f09 + ld hl, wd012 + inc [hl] + ld a, [hli] + and $3 + jr nz, .asm_89f2e + ld a, [hl] + cp $4 + jr nc, .asm_89f2e + ld b, $32 + inc [hl] + ld a, [hl] + dec a + jr z, .asm_89f26 + ld c, a +.asm_89f1f + ld a, $b + add b + ld b, a + dec c + jr nz, .asm_89f1f +.asm_89f26 + ld c, $e8 + ld a, [wd013] + call Function89fa5 +.asm_89f2e + ld a, [wd013] + and a + jr z, .asm_89f58 +.asm_89f34 + call Function89f6a + ld e, a + ld a, c + cp $a8 + jr nc, .asm_89f4d + cp $46 + jr c, .asm_89f4d + ld d, $0 + dec e + ld hl, wd014 + add hl, de + set 0, [hl] + inc e + jr .asm_89f51 +.asm_89f4d + ld a, $2 + add c + ld c, a +.asm_89f51 + ld a, e + call Function89f77 + dec a + jr nz, .asm_89f34 +.asm_89f58 + call DelayFrame + ld hl, wd014 + ld c, $4 +.asm_89f60 + ld a, [hli] + and a + jr z, .asm_89f09 + dec c + jr nz, .asm_89f60 + jp Function89e36 + +Function89f6a: ; 89f6a (22:5f6a) + push af + ld de, $10 + call Function89f9a + ld a, [hli] + ld b, a + ld a, [hl] + ld c, a + pop af + ret + +Function89f77: ; 89f77 (22:5f77) + push af + ld de, $10 + call Function89f9a + ld d, $2 +.asm_89f80 + push bc + ld e, $2 +.asm_89f83 + ld a, b + ld [hli], a + ld a, c + ld [hli], a + inc hl + inc hl + ld a, $8 + add c + ld c, a + dec e + jr nz, .asm_89f83 + pop bc + ld a, $8 + add b + ld b, a + dec d + jr nz, .asm_89f80 + pop af + ret + +Function89f9a: ; 89f9a (22:5f9a) + dec a + ld hl, Sprites + and a + ret z +.asm_89fa0 + add hl, de + dec a + jr nz, .asm_89fa0 + ret + +Function89fa5: ; 89fa5 (22:5fa5) + ld de, $10 + call Function89f9a + ld e, $2 + ld d, $a +.asm_89faf + push bc + ld a, $2 +.asm_89fb2 + push af + ld a, b + ld [hli], a + ld a, c + ld [hli], a + ld a, d + inc d + ld [hli], a + ld a, $1 + ld [hli], a + ld a, $8 + add c + ld c, a + pop af + dec a + jr nz, .asm_89fb2 + pop bc + ld a, $8 + add b + ld b, a + dec e + jr nz, .asm_89faf + ret + +Function89fce: ; 89fce (22:5fce) + call Function8a5b6 + ld a, $5 + hlcoord 7, 4, AttrMap + call Function8a5a3 + ld a, $6 + hlcoord 10, 4, AttrMap + call Function8a5a3 + call Function89448 + call SetPalettes + call Function891ab + jp Function89e36 + +Function89fed: ; 89fed (22:5fed) + ld hl, UnknownText_0x8a102 + call PrintText + jp Function89e36 + +Function89ff6: ; 89ff6 (22:5ff6) + call Function891fe + call ClearBGPalettes + call Function893cc + call Function89807 + call Function89492 + call Function894ca + call OpenSRAMBank4 + ld hl, $a603 + ld a, -1 + ld bc, 8 + call ByteFill + ld hl, $a603 + ld de, wd008 + call Function89381 + call CloseSRAM + call Function8987f + call OpenSRAMBank4 + hlcoord 1, 13 + ld bc, $a007 + call Function89a0c + call CloseSRAM + call Function891ab + call Mobile22_ButtonSound + jp Function89e36 + +Function8a03d: ; 8a03d (22:603d) + ld hl, UnknownText_0x8a107 + call Function89209 + call PrintText + call Function8920f + jp Function89e36 + +Function8a04c: ; 8a04c (22:604c) + ld hl, UnknownText_0x8a10c + call PrintText + jp Function89e36 + +Function8a055: ; 8a055 (22:6055) + ld c, $7 + ld b, $4 +.asm_8a059 + call Function8a0a1 + inc c + call Function8a0c9 + push bc + call Function8a58d + pop bc + call Function8a0de + push bc + push hl + ld a, $5 + call Function8a5a3 + pop hl + inc hl + inc hl + inc hl + ld a, $6 + call Function8a5a3 + call CGBOnly_LoadEDTile + pop bc + ld a, c + cp $b + jr nz, .asm_8a059 + call Function8a0a1 + hlcoord 12, 4 + call Function8a58d + ld a, $5 + hlcoord 12, 4, AttrMap + call Function8a5a3 + pop hl + ld a, $6 + hlcoord 15, 4, AttrMap + call Function8a5a3 + call CGBOnly_LoadEDTile + jp Function89e36 + +Function8a0a1: ; 8a0a1 (22:60a1) + call Mobile22_SetBGMapMode0 + push bc + call Function8a0c9 + ld e, $6 +.asm_8a0aa + push hl + ld bc, $6 + add hl, bc + ld d, [hl] + call Function8a0c1 + pop hl + ld [hl], d + call Function89215 + ld bc, $14 + add hl, bc + dec e + jr nz, .asm_8a0aa + pop bc + ret + +Function8a0c1: ; 8a0c1 (22:60c1) + push hl + ld bc, AttrMap - TileMap + add hl, bc + ld a, [hl] + pop hl + ret + +Function8a0c9: ; 8a0c9 (22:60c9) + push bc + hlcoord 0, 0 + ld de, $14 + ld a, b + and a + jr z, .asm_8a0d8 +.asm_8a0d4 + add hl, de + dec b + jr nz, .asm_8a0d4 +.asm_8a0d8 + ld d, $0 + ld e, c + add hl, de + pop bc + ret + +Function8a0de: ; 8a0de (22:60de) + call Function8a0c9 + ld de, AttrMap - TileMap + add hl, de + ret + +Function8a0e6: ; 8a0e6 (22:60e6) + call Function8b539 + jp Function89e36 + +Function8a0ec: ; 8a0ec (22:60ec) + ld hl, UnknownText_0x8a111 + call PrintText + jp Function89e36 + +Function8a0f5: ; 8a0f5 (22:60f5) + call Function8b555 + jp nc, Function8a0ff + ld hl, wd02d + inc [hl] + +Function8a0ff: ; 8a0ff (22:60ff) + jp Function89e36 +; 8a102 (22:6102) + +UnknownText_0x8a102: ; 0x8a102 + ; The CARD FOLDER stores your and your friends' CARDS. A CARD contains information like the person's name, phone number and profile. + text_jump UnknownText_0x1c5238 + db "@" +; 0x8a107 + +UnknownText_0x8a107: ; 0x8a107 + ; This is your CARD. Once you've entered your phone number, you can trade CARDS with your friends. + text_jump UnknownText_0x1c52bc + db "@" +; 0x8a10c + +UnknownText_0x8a10c: ; 0x8a10c + ; If you have your friend's CARD, you can use it to make a call from a mobile phone on the 2nd floor of a #MON CENTER. + text_jump UnknownText_0x1c531e + db "@" +; 0x8a111 + +UnknownText_0x8a111: ; 0x8a111 + ; To safely store your collection of CARDS, you must set a PASSCODE for your CARD FOLDER. + text_jump UnknownText_0x1c5394 + db "@" +; 0x8a116 + +Function8a116: ; 8a116 (22:6116) + ld a, $1 + ld [wd030], a + ld hl, MenuDataHeader_0x8a176 + call LoadMenuDataHeader +.asm_8a121 + call Mobile22_SetBGMapMode0 + call Function8a17b + jr c, .asm_8a16b + ld a, [wMenuCursorY] + ld [wd030], a + dec d + jr z, .asm_8a140 + call Function8a20d + jr c, .asm_8a121 + xor a + call Function8a2fe + call Function8916e + jr .asm_8a16b +.asm_8a140 + call Function89174 + jr nz, .asm_8a14c + call Function8a241 + jr c, .asm_8a121 + jr .asm_8a15a +.asm_8a14c + call WaitSFX + ld de, SFX_TWINKLE + call PlaySFX + ld c, $10 + call DelayFrames +.asm_8a15a + call ExitMenu + call Function891de + call Function893e2 + call Function89245 + call Function89168 + and a + ret +.asm_8a16b + call Function89209 + call CloseWindow + call Function8920f + scf + ret +; 8a176 (22:6176) + +MenuDataHeader_0x8a176: ; 0x8a176 + db $40 ; flags + db 00, 14 ; start coords + db 06, 19 ; end coords +; 8a17b + +Function8a17b: ; 8a17b (22:617b) + decoord 14, 0 + ld b, $5 + ld c, $4 + call Function89b3b + ld hl, MenuDataHeader_0x8a19a + ld a, [wd030] + call Function89d5e + ld hl, Function8a1b0 + call Function89d75 + jr nc, .asm_8a198 + ld a, $0 +.asm_8a198 + ld d, a + ret +; 8a19a (22:619a) + +MenuDataHeader_0x8a19a: ; 0x8a19a + db $40 ; flags + db 00, 14 ; start coords + db 06, 19 ; end coords + dw MenuData2_0x8a1a2 + db 1 ; default option +; 0x8a1a2 + +MenuData2_0x8a1a2: ; 0x8a1a2 + db $e0 ; flags + db 3 ; items + db "ひらく@" + db "すてる@" + db "もどる@" +; 0x8a1b0 + +Function8a1b0: ; 8a1b0 + hlcoord 0, 12 + ld b, $4 + ld c, $12 + call TextBox + hlcoord 1, 14 + ld a, [wMenuCursorY] + ld de, Strings_8a1cc + dec a + ld c, a + call Function8919e + call PlaceString + ret +; 8a1cc + +Strings_8a1cc: ; 8a1cc + db "めいし", $25, "せいりと へんしゅうを" + next "おこないます" + db "@" + + db "めいしフ,ルダー", $25, "めいしと" + next "あんしょうばんごう", $1f, "けします" + db "@" + + db "まえ", $25, "がめん", $1d, "もどります" + db "@" +; 8a20d + + +Function8a20d: ; 8a20d (22:620d) + ld hl, UnknownText_0x8a232 + call PrintText + ld a, $2 + call Function89259 + ret c + ld hl, UnknownText_0x8a237 + call PrintText + ld a, $2 + call Function89259 + ret c + xor a + call Function8a2fe + ld hl, UnknownText_0x8a23c + call PrintText + xor a + and a + ret +; 8a232 (22:6232) + +UnknownText_0x8a232: ; 0x8a232 + ; If the CARD FOLDER is deleted, all its CARDS and the PASSCODE will also be deleted. Beware--a deleted CARD FOLDER can't be restored. Want to delete your CARD FOLDER? + text_jump UnknownText_0x1c53ee + db "@" +; 0x8a237 + +UnknownText_0x8a237: ; 0x8a237 + ; Are you sure you want to delete it? + text_jump UnknownText_0x1c5494 + db "@" +; 0x8a23c + +UnknownText_0x8a23c: ; 0x8a23c + ; The CARD FOLDER has been deleted. + text_jump UnknownText_0x1c54b9 + db "@" +; 0x8a241 + +Function8a241: ; 8a241 (22:6241) + call LoadStandardMenuDataHeader + call Function891fe + call Function8a262 + jr nc, .asm_8a254 + call Function891fe + call Function89b28 + scf + ret +.asm_8a254 + call Function891de + call ClearBGPalettes + call Call_ExitMenu + call Function891de + and a + ret + +Function8a262: ; 8a262 (22:6262) + call ClearBGPalettes + call Function893e2 + call Mobile22_SetBGMapMode0 + callba Function4a3a7 + callba MG_Mobile_Layout_CreatePalBoxes + hlcoord 1, 0 + call Function8a53d + hlcoord 12, 4 + call Function8a58d + ld a, $5 + hlcoord 12, 4, AttrMap + call Function8a5a3 + ld a, $6 + hlcoord 15, 4, AttrMap + call Function8a5a3 + xor a + ld [wd02e], a + ld bc, wd013 + call Function8b36c + call Function8b493 + call Function891ab + call SetPalettes + call Function8b5e7 + ret + +Function8a2aa: ; 8a2aa (22:62aa) + ld hl, MenuDataHeader_0x8a2ef + call LoadMenuDataHeader + ld hl, UnknownText_0x8a2f4 + call PrintText + ld a, $1 + call Function89259 + jr nc, .asm_8a2cf + ld hl, UnknownText_0x8a2f9 + call PrintText + ld a, $2 + call Function89259 + jr c, .asm_8a2ea + call Function8a20d + jr .asm_8a2ea +.asm_8a2cf + call ExitMenu + call Function8a241 + jr c, .asm_8a2ed + ld a, $1 + call Function8a313 + call CloseSRAM + call Function891de + call Function89245 + call Function89168 + and a + ret +.asm_8a2ea + call CloseWindow +.asm_8a2ed + scf + ret +; 8a2ef (22:62ef) + +MenuDataHeader_0x8a2ef: ; 0x8a2ef + db $40 ; flags + db 12, 00 ; start coords + db 17, 19 ; end coords +; 8a2f4 + +UnknownText_0x8a2f4: ; 0x8a2f4 + ; There is an older CARD FOLDER from a previous journey. Do you want to open it? + text_jump UnknownText_0x1c54dd + db "@" +; 0x8a2f9 + +UnknownText_0x8a2f9: ; 0x8a2f9 + ; Delete the old CARD FOLDER? + text_jump UnknownText_0x1c552d + db "@" +; 0x8a2fe + +Function8a2fe: ; 8a2fe (22:62fe) + call Function8a313 + call Function89305 + ld hl, $a603 + ld bc, $8 + ld a, -1 + call ByteFill + call CloseSRAM + ret + +Function8a313: ; 8a313 (22:6313) + ld c, a + call OpenSRAMBank4 + ld a, c + ld [$a60b], a + ret + +Function8a31c: ; 8a31c (22:631c) + push bc + call Mobile22_SetBGMapMode0 + callba Function4a3a7 + callba MG_Mobile_Layout_CreatePalBoxes + hlcoord 1, 0 + call Function8a53d + hlcoord 12, 4 + call Function8a58d + call Function8a3b2 + pop bc + ld a, c + ld [wMenuCursorBuffer], a + ld [MenuSelection], a + call PlaceVerticalMenuItems + call InitVerticalMenuCursor + ld hl, w2DMenuFlags1 + set 7, [hl] +.asm_8a34e + call Function8a3a2 + call Mobile22_SetBGMapMode0 + call Function8a453 + call Function8a4d3 + call Function8a4fc + call Function891ab + call SetPalettes + call Function8a383 + jr c, .asm_8a370 + jr z, .asm_8a34e +.asm_8a36a + call Function89448 + xor a + ld e, a + ret +.asm_8a370 + call Function89448 + call PlaceHollowCursor + call Function8a3a2 + ld a, [MenuSelection] + cp $ff + jr z, .asm_8a36a + ld e, a + and a + ret + +Function8a383: ; 8a383 (22:6383) + callba MobileMenuJoypad + ld a, c + ld hl, wMenuJoypadFilter + and [hl] + ret z + bit 0, a + jr nz, .asm_8a399 + bit 1, a + jr nz, .asm_8a39e + xor a + ret +.asm_8a399 + call PlayClickSFX + scf + ret +.asm_8a39e + call PlayClickSFX + ret + +Function8a3a2: ; 8a3a2 (22:63a2) + ld a, [wMenuCursorY] + dec a + ld hl, wd002 + ld e, a + ld d, $0 + add hl, de + ld a, [hl] + ld [MenuSelection], a + ret + +Function8a3b2: ; 8a3b2 (22:63b2) + ld a, $1 + ld [MenuSelection], a + call Function8a4fc + call Function8a3df + jr nc, .asm_8a3ce + decoord 0, 2 + ld b, $6 + ld c, $9 + call Function89b3b + ld hl, MenuDataHeader_0x8a435 + jr .asm_8a3db +.asm_8a3ce + decoord 0, 2 + ld b, $8 + ld c, $9 + call Function89b3b + ld hl, MenuDataHeader_0x8a40f +.asm_8a3db + call CopyMenuDataHeader + ret + +Function8a3df: ; 8a3df (22:63df) + call OpenSRAMBank4 + ld hl, $a603 + call Function89b45 + call CloseSRAM + ld hl, wd002 + jr c, .asm_8a3f8 + ld de, Unknown_8a408 + call Function8a400 + scf + ret +.asm_8a3f8 + ld de, Unknown_8a40b + call Function8a400 + and a + ret + +Function8a400: ; 8a400 (22:6400) + ld a, [de] + inc de + ld [hli], a + cp $ff + jr nz, Function8a400 + ret +; 8a408 (22:6408) + +Unknown_8a408: db 1, 2, -1 +Unknown_8a40b: db 1, 2, 3, -1 + +MenuDataHeader_0x8a40f: ; 0x8a40f + db $40 ; flags + db 02, 00 ; start coords + db 11, 10 ; end coords + dw MenuData2_0x8a417 + db 1 ; default option +; 0x8a417 + +MenuData2_0x8a417: ; 0x8a417 + db $a0 ; flags + db 4 ; items + db "めいしりスト@" + db "じぶんの めいし@" + db "めいしこうかん@" + db "やめる@" +; 0x8a435 + +MenuDataHeader_0x8a435: ; 0x8a435 + db $40 ; flags + db 02, 00 ; start coords + db 09, 10 ; end coords + dw MenuData2_0x8a43d + db 1 ; default option +; 0x8a43d + +MenuData2_0x8a43d: ; 0x8a43d + db $a0 ; flags + db 3 ; items + db "めいしりスト@" + db "じぶんの めいし@" + db "やめる@" +; 0x8a453 + +Function8a453: ; 8a453 (22:6453) + hlcoord 0, 12 + ld b, $4 + ld c, $12 + call TextBox + hlcoord 1, 14 + ld de, String_8a476 + ld a, [MenuSelection] + cp $ff + jr z, .asm_8a472 + ld de, Strings_8a483 + dec a + ld c, a + call Function8919e +.asm_8a472 + call PlaceString + ret +; 8a476 (22:6476) + +String_8a476: ; 8a476 + db "まえ", $25, "がめん", $1d, "もどります@" +; 8a483 + +Strings_8a483: ; 8a483 + db "おともだち", $25, "めいしは" + next "ここ", $1d, "いれておきます@" + + db "でんわばんごう", $1f, "いれると" + next "めいしこうかん", $4a, "できます@" + + db "ともだちと じぶん", $25, "めいしを" + next "せきがいせんで こうかん します@" +; 8a4d3 + +Function8a4d3: ; 8a4d3 (22:64d3) + ld a, [MenuSelection] + cp $1 + jr nz, .asm_8a4eb + ld a, $5 + hlcoord 12, 4, AttrMap + call Function8a5a3 + ld a, $7 + hlcoord 15, 4, AttrMap + call Function8a5a3 + ret +.asm_8a4eb + ld a, $7 + hlcoord 12, 4, AttrMap + call Function8a5a3 + ld a, $6 + hlcoord 15, 4, AttrMap + call Function8a5a3 + ret + +Function8a4fc: ; 8a4fc (22:64fc) + ld a, [MenuSelection] + cp $3 + jr nz, asm_8a529 + ld hl, wd012 + ld a, [hli] + ld b, a + ld a, [hld] + add b + ld [hl], a + ld b, a + ld c, $80 + call Function89cdf + call Function8a515 + ret + +Function8a515: ; 8a515 (22:6515) + ld hl, wd012 + ld a, [hl] + cp $38 + jr c, .asm_8a520 + cp $3c + ret c +.asm_8a520 + ld a, [wd013] + cpl + inc a + ld [wd013], a + ret + +asm_8a529: ; 8a529 (22:6529) + ld hl, wd012 + ld a, $3c + ld [hli], a + ld a, $ff + ld [hli], a + ld hl, Sprites + xor a + ld bc, $20 + call ByteFill + ret + +Function8a53d: ; 8a53d (22:653d) + push hl + ld a, $15 + ld c, $8 + ld de, $14 + call Function8a573 + ld a, $1d + ld c, $9 + call Function8a57c + inc a + ld [hl], a + call Function8a584 + pop hl + add hl, de + ld a, $1f + ld c, $8 + call Function8a573 + dec hl + ld a, $51 + ld [hli], a + ld a, $26 + ld c, $1 + call Function8a57c + ld a, $52 + ld c, $3 + call Function8a573 + ld a, $27 + ld c, $6 + +Function8a573: ; 8a573 (22:6573) + ld [hl], a + call Function8a584 + inc a + dec c + jr nz, Function8a573 + ret + +Function8a57c: ; 8a57c (22:657c) + ld [hl], a + call Function8a584 + dec c + jr nz, Function8a57c + ret + +Function8a584: ; 8a584 (22:6584) + push af + ld a, $4 + call Function89215 + inc hl + pop af + ret + +Function8a58d: ; 8a58d (22:658d) + ld a, $2d + ld bc, $606 + ld de, $14 +.asm_8a595 + push bc + push hl +.asm_8a597 + ld [hli], a + inc a + dec c + jr nz, .asm_8a597 + pop hl + add hl, de + pop bc + dec b + jr nz, .asm_8a595 + ret + +Function8a5a3: ; 8a5a3 (22:65a3) + ld bc, $603 + ld de, $14 +.asm_8a5a9 + push bc + push hl +.asm_8a5ab + ld [hli], a + dec c + jr nz, .asm_8a5ab + pop hl + add hl, de + pop bc + dec b + jr nz, .asm_8a5a9 + ret + +Function8a5b6: ; 8a5b6 (22:65b6) + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld hl, Palette_8a5e5 + ld de, UnknBGPals + 4 palettes + ld bc, 3 palettes + call CopyBytes + ld hl, Palette_8a5fd + ld de, UnknOBPals + ld bc, 1 palettes + call CopyBytes + ld hl, Palette_8a605 + ld de, UnknOBPals + 1 palettes + ld bc, 1 palettes + call CopyBytes + pop af + ld [rSVBK], a + ret +; 8a5e5 (22:65e5) + +Palette_8a5e5: ; 8a5e5 + RGB 31, 31, 31 + RGB 27, 19, 00 + RGB 07, 11, 22 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 16, 16, 31 + RGB 27, 19, 00 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 31, 00, 00 + RGB 27, 19, 00 + RGB 00, 00, 00 +; 8a5fd + +Palette_8a5fd: ; 8a5fd + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 31, 31, 31 +; 8a605 + +Palette_8a605: ; 8a605 + RGB 00, 00, 00 + RGB 14, 18, 31 + RGB 16, 16, 31 + RGB 31, 31, 31 +; 8a60d + +Function8a60d: ; 8a60d + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld hl, Palette_8a624 + ld de, UnknOBPals + ld bc, 1 palettes + call CopyBytes + pop af + ld [rSVBK], a + ret +; 8a624 + +Palette_8a624: ; 8a624 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 00, 00, 00 +; 8a62c + +Function8a62c: ; 8a62c (22:662c) + call LoadStandardMenuDataHeader + call Function891fe + xor a + call Function8b94a + call Function8b677 +.asm_8a639 + xor a + ld [wd033], a + ld [wd032], a + ld [wd0e3], a + call Function8b7bd + ld a, c + and a + jr z, .asm_8a66a + ld [MenuSelection], a + ld b, a + ld a, [wScrollingMenuCursorPosition] + inc a + ld [wd034], a + push bc + call Function8b960 + ld a, c + pop bc + jr z, .asm_8a639 + ld c, a + ld hl, Jumptable_8a671 + ld a, b + ld [MenuSelection], a + ld a, c + dec a + rst JumpTable + jr .asm_8a639 +.asm_8a66a + call Function891fe + call Function89b28 + ret + +Jumptable_8a671: ; 8a671 (22:6671) + dw Function8a679 + dw Function8a6cd + dw Function8a8c3 + dw Function8a930 + + +Function8a679: ; 8a679 (22:6679) + call Function891de + call ClearBGPalettes + call Function893cc + call OpenSRAMBank4 + call Function8931b + call Function89844 + call CloseSRAM + call OpenSRAMBank4 + call Function8939a + call Function89856 + hlcoord 1, 13 + call Function899fe + call Function891ab + call CloseSRAM +.asm_8a6a3 + call Function89a57 + jr c, .asm_8a6a3 + and a + jr z, Function8a679 + ld hl, Jumptable_8a6bc + dec a + rst JumpTable + jr c, Function8a679 + call Function891fe + call Function8b677 + call Function89448 + ret + +Jumptable_8a6bc: ; 8a6bc (22:66bc) + dw Function8a6c0 + dw Function8a6c5 + + +Function8a6c0: ; 8a6c0 (22:66c0) + call PlayClickSFX + and a + ret + +Function8a6c5: ; 8a6c5 (22:66c5) + call PlayClickSFX + call Function89d0d + scf + ret + +Function8a6cd: ; 8a6cd (22:66cd) + call Function891de + call ClearBGPalettes + call Function893cc + call OpenSRAMBank4 + call Function8931b + call Function89844 + call Function8a757 + call CloseSRAM +.asm_8a6e5 + call OpenSRAMBank4 + call Function8931b + call Function89856 + call Function89a2e + call Function891ab + xor a + ld [wd02f], a + call CloseSRAM +.asm_8a6fb + call Function89b97 + call Function89c67 + jr c, .asm_8a718 + ld a, b + and a + jr z, .asm_8a6fb + call PlayClickSFX + call Function89448 + ld a, [wd011] + ld hl, Jumptable_8a74f + rst JumpTable + jr nc, .asm_8a6e5 + jr .asm_8a742 +.asm_8a718 + call OpenSRAMBank4 + call Function8a765 + call CloseSRAM + jr nc, .asm_8a73f + call Mobile22_SetBGMapMode0 + call Function89448 + call Function89a23 + hlcoord 1, 13 + ld de, String_89135 + call PlaceString + call WaitBGMap + ld a, $2 + call Function89254 + jr c, .asm_8a6e5 +.asm_8a73f + call CloseSRAM +.asm_8a742 + call ClearBGPalettes + call Function89448 + call Function891d3 + call Function8b677 + ret + +Jumptable_8a74f: ; 8a74f (22:674f) + dw Function8a78c + dw Function8a7cb + dw Function8a818 + dw Function8a8a1 + + +Function8a757: ; 8a757 (22:6757) + call Function8939a + xor a + ld [wd010], a + ld [wd011], a + ld [wd012], a + ret + +Function8a765: ; 8a765 (22:6765) + call Function8931b + push bc + ld hl, $0 + add hl, bc + ld de, wd002 + ld c, $6 + call Function89185 + pop bc + jr nz, .asm_8a78a + push bc + ld hl, $11 + add hl, bc + ld de, wd008 + ld c, $8 + call Function89185 + pop bc + jr nz, .asm_8a78a + and a + ret +.asm_8a78a + scf + ret + +Function8a78c: ; 8a78c (22:678c) + call Function891fe + ld de, wd002 + ld b, $5 + callba NamingScreen + call OpenSRAMBank4 + call Function8931b + push bc + ld hl, $0 + add hl, bc + ld d, h + ld e, l + ld hl, wd002 + call InitName + call CloseSRAM + call DelayFrame + call JoyTextDelay + call Function891de + call ClearBGPalettes + call Function893cc + call OpenSRAMBank4 + pop bc + call Function89844 + call CloseSRAM + and a + ret + +Function8a7cb: ; 8a7cb (22:67cb) + ld a, [MenuSelection] + push af + call Function891de + ld de, wd008 + ld c, $0 + callba Function17a68f + jr c, .asm_8a7f4 + ld hl, wd008 + ld a, $ff + ld bc, $8 + call ByteFill + ld h, d + ld l, e + ld de, wd008 + ld c, $8 + call Function89193 +.asm_8a7f4 + pop af + ld [MenuSelection], a + call Function891de + call ClearBGPalettes + call Function893cc + call OpenSRAMBank4 + call Function8931b + call Function89844 + call Function89856 + call Function89a2e + call Function891ab + call CloseSRAM + and a + ret + +Function8a818: ; 8a818 (22:6818) + call Function89a23 + ld hl, wd002 + call Function89331 + jr c, .asm_8a875 + ld hl, wd008 + call Function89b45 + jr nc, .asm_8a87a + call OpenSRAMBank4 + call Function8a765 + jr nc, .asm_8a863 + call Function8931b + push bc + ld hl, $0 + add hl, bc + ld d, h + ld e, l + ld hl, wd002 + ld c, $6 + call Function89193 + pop bc + ld hl, $11 + add hl, bc + ld d, h + ld e, l + ld hl, wd008 + ld c, $8 + call Function89193 + hlcoord 1, 13 + ld de, .string_8a868 + call PlaceString + call WaitBGMap + call JoyWaitAorB +.asm_8a863 + call CloseSRAM + scf + ret +; 8a868 (22:6868) + +.string_8a868 + db "めいし", $1f, "かきかえ まし", $22, "@" + +.asm_8a875 + ld de, String_8a88b + jr .asm_8a87d +.asm_8a87a + ld de, String_8911c +.asm_8a87d + hlcoord 1, 13 + call PlaceString + call WaitBGMap + call JoyWaitAorB + and a + ret +; 8a88b (22:688b) + +String_8a88b: ; 8a88b + db "おともだち", $25, "なまえが" + next "かかれて いません!@" +; 8a8a1 + +Function8a8a1: ; 8a8a1 (22:68a1) + call OpenSRAMBank4 + call Function8a765 + call CloseSRAM + jr nc, .asm_8a8bf + call Function89a23 + hlcoord 1, 13 + ld de, String_89135 + call PlaceString + ld a, $2 + call Function89254 + jr c, .asm_8a8c1 +.asm_8a8bf + scf + ret +.asm_8a8c1 + and a + ret + +Function8a8c3: ; 8a8c3 (22:68c3) + call Function891de + call ClearBGPalettes + call Function893cc + call OpenSRAMBank4 + call Function8931b + call Function89844 + call Function8939a + call Function89856 + call CloseSRAM + call Function891ab + hlcoord 1, 13 + ld de, String_8a919 + call PlaceString + ld a, $2 + call Function89254 + jr c, .asm_8a90f + call OpenSRAMBank4 + call Function892b4 + call CloseSRAM + call Function89a23 + call Mobile22_SetBGMapMode0 + hlcoord 1, 13 + ld de, String_8a926 + call PlaceString + call WaitBGMap + call JoyWaitAorB +.asm_8a90f + call Function89448 + call Function891fe + call Function8b677 + ret +; 8a919 (22:6919) + +String_8a919: ; 8a919 + db "このデータ", $1f, "けしますか?@" +; 8a926 + +String_8a926: ; 8a926 + db "データ", $1f, "けしまし", $22, "@" +; 8a930 + +Function8a930: ; 8a930 (22:6930) + ld a, [MenuSelection] + push af + xor a + ld [wd032], a + ld a, $1 + ld [wd033], a + ld a, [wd034] + ld [wd0e3], a +.asm_8a943 + call Function8b7bd + ld a, [wMenuJoypad] + and $1 + jr nz, .asm_8a953 + ld a, c + and a + jr nz, .asm_8a943 + pop af + ret +.asm_8a953 + call OpenSRAMBank4 + pop af + cp c + jr z, .asm_8a995 + push bc + ld [MenuSelection], a + call Function8931b + push bc + ld h, b + ld l, c + ld de, wd002 + ld bc, $25 + call CopyBytes + pop de + pop bc + ld a, c + ld [MenuSelection], a + call Function8931b + push bc + ld h, b + ld l, c + ld bc, $25 + call CopyBytes + pop de + ld hl, wd002 + ld bc, $25 + call CopyBytes + ld de, SFX_SWITCH_POKEMON + call WaitPlaySFX + ld de, SFX_SWITCH_POKEMON + call WaitPlaySFX +.asm_8a995 + call CloseSRAM + ret + +Function8a999: ; 8a999 (22:6999) + ld hl, MenuDataHeader_0x8a9c9 + call LoadMenuDataHeader + ld c, $1 +.asm_8a9a1 + call Function8a9ce + jr c, .asm_8a9bb + push bc + push de + call LoadStandardMenuDataHeader + pop de + dec e + ld a, e + ld hl, Jumptable_8a9c5 + rst JumpTable + call Function891fe + call Function89b28 + pop bc + jr .asm_8a9a1 +.asm_8a9bb + call Function89209 + call CloseWindow + call Function8920f + ret + +Jumptable_8a9c5: ; 8a9c5 (22:69c5) + dw Function8aa0a + dw Function8ab3b +; 8a9c9 (22:69c9) + +MenuDataHeader_0x8a9c9: ; 0x8a9c9 + db $40 ; flags + db 04, 11 ; start coords + db 11, 18 ; end coords +; 8a9ce + +Function8a9ce: ; 8a9ce (22:69ce) + push bc + decoord 11, 4 + ld b, $6 + ld c, $6 + call Function89b3b + pop bc + ld a, c + ld hl, MenuDataHeader_0x8a9f2 + call Function89d5e + ld hl, Function8aa09 + call Function89d85 + jr c, .asm_8a9ed + ld c, a + ld e, a + and a + ret +.asm_8a9ed + ld c, a + ld e, $0 + scf + ret +; 8a9f2 (22:69f2) + +MenuDataHeader_0x8a9f2: ; 0x8a9f2 + db $40 ; flags + db 04, 11 ; start coords + db 11, 18 ; end coords + dw MenuData2_0x8a9fa + db 1 ; default option +; 0x8a9fa + +MenuData2_0x8a9fa: ; 0x8a9fa + db $a0 ; flags + db 3 ; items + db "へんしゅう@" + db "みる@" + db "やめる@" +; 0x8aa09 + +Function8aa09: ; 8aa09 + ret +; 8aa0a + +Function8aa0a: ; 8aa0a (22:6a0a) + ld a, $1 + ld [wd02f], a + ld [wd011], a + xor a + ld [wd010], a + ld [wd012], a + call OpenSRAMBank4 + ld hl, $a603 + ld de, wd008 + call Function89381 + call CloseSRAM + call Function891fe + call ClearBGPalettes + call Function893cc + call Function89807 + call Function89492 + call Function894ca +.asm_8aa3a + call Function8987f + call Function89a2e + call Function891ab +.asm_8aa43 + call Function89b97 + call Function89c67 + jr c, .asm_8aa61 + ld a, b + and a + jr z, .asm_8aa43 + call PlayClickSFX + call Function89448 + ld a, [wd011] + dec a + ld hl, Jumptable_8aa6d + rst JumpTable + jr nc, .asm_8aa3a + jr .asm_8aa69 +.asm_8aa61 + call Function89448 + call Function8ab11 + jr nc, .asm_8aa3a +.asm_8aa69 + call Function89448 + ret + +Jumptable_8aa6d: ; 8aa6d (22:6a6d) + dw Function8aa73 + dw Function8aab6 + dw Function8ab11 + + +Function8aa73: ; 8aa73 (22:6a73) + ld a, [MenuSelection] + ld e, a + push de + call Function891de + ld de, wd008 + ld c, $0 + callba Function17a68f + jr c, .asm_8aa9d + ld hl, wd008 + ld a, $ff + ld bc, $8 + call ByteFill + ld h, d + ld l, e + ld de, wd008 + ld c, $8 + call Function89193 +.asm_8aa9d + call Function891fe + call ClearBGPalettes + call Function893cc + call Function89807 + call Function89492 + call Function894ca + pop de + ld a, e + ld [MenuSelection], a + and a + ret + +Function8aab6: ; 8aab6 (22:6ab6) + call Function89a23 + ld hl, wd008 + call Function89b45 + jr nc, Function8ab00 + call OpenSRAMBank4 + ld de, wd008 + ld hl, $a603 + ld c, $8 + call Function89185 + jr z, .asm_8aaeb + ld hl, wd008 + ld de, $a603 + ld c, $8 + call Function89193 + hlcoord 1, 13 + ld de, String_8aaf0 + call PlaceString + call WaitBGMap + call JoyWaitAorB +.asm_8aaeb + call CloseSRAM + scf + ret +; 8aaf0 (22:6af0) + +String_8aaf0: ; 8aaf0 + db "あたらしい めいしできまし@" +; 8ab00 + +Function8ab00: ; 8ab00 + ld de, String_8911c + hlcoord 1, 13 + call PlaceString + call WaitBGMap + call Mobile22_ButtonSound + and a + ret + +Function8ab11: ; 8ab11 (22:6b11) + call OpenSRAMBank4 + ld hl, $a603 + ld de, wd008 + ld c, $8 + call Function89185 + call CloseSRAM + jr z, .asm_8ab37 + call Function89a23 + hlcoord 1, 13 + ld de, String_89135 + call PlaceString + ld a, $2 + call Function89254 + jr c, .asm_8ab39 +.asm_8ab37 + scf + ret +.asm_8ab39 + and a + ret + +Function8ab3b: ; 8ab3b (22:6b3b) +.pressed_start + call Function891fe + call ClearBGPalettes + call Function893cc + call Function89807 + call Function89492 + call Function894ca + call OpenSRAMBank4 + ld hl, $a603 + ld de, wd008 + call Function89381 + call CloseSRAM + call Function8987f + call OpenSRAMBank4 + hlcoord 1, 13 + ld bc, $a007 + call Function89a0c + call CloseSRAM + call Function891ab + call .JoypadLoop + jr c, .pressed_start + ret + +.JoypadLoop: ; 8ab77 (22:6b77) + call JoyTextDelay_ForcehJoyDown + bit A_BUTTON_F, c + jr nz, .a_b_button + bit B_BUTTON_F, c + jr nz, .a_b_button + bit START_F, c + jr z, .JoypadLoop + call PlayClickSFX + call Function89d0d + scf + ret + +.a_b_button + call PlayClickSFX + and a + ret + +Function8ab93: ; 8ab93 (22:6b93) + call ClearBGPalettes + call LoadStandardMenuDataHeader + callba Function105688 + call ClearSprites + call Function891fe + call Function89b28 + ret +; 8aba9 (22:6ba9) + +Function8aba9: ; 8aba9 + ld a, $2 + call Function8b94a + ld a, $1 + ld [wd032], a +.asm_8abb3 + call Function891fe + call Function8b677 +.asm_8abb9 + call Function8b7bd + jr z, .asm_8abdf + ld a, c + ld [MenuSelection], a + call OpenSRAMBank4 + call Function8931b + ld hl, $0011 + add hl, bc + call Function89b45 + call CloseSRAM + jr c, .asm_8abe2 + ld de, SFX_WRONG + call WaitPlaySFX + call CloseSRAM + jr .asm_8abb9 + +.asm_8abdf + xor a + ld c, a + ret + +.asm_8abe2 + call PlayClickSFX +.asm_8abe5 + call Function891de + call ClearBGPalettes + call Function893cc + call OpenSRAMBank4 + call Function8931b + call Function89844 + call CloseSRAM + call OpenSRAMBank4 + call Function8939a + call Function89856 + hlcoord 1, 13 + call Function899fe + call CloseSRAM + call Function891ab +.asm_8ac0f + call Function89a57 + jr c, .asm_8ac0f + and a + jr z, .asm_8abe5 + cp $2 + jr z, .asm_8ac0f + hlcoord 0, 12 + ld b, $4 + ld c, $12 + call TextBox + hlcoord 1, 14 + ld de, String_8ac3b + call PlaceString + ld a, $1 + call Function8925e + jp c, .asm_8abb3 + ld a, [MenuSelection] + ld c, a + ret +; 8ac3b + +String_8ac3b: ; 8ac3b + db "こ", $25, "ともだち", $1d, "でんわを" + next "かけますか?@" +; 8ac4e + +Function8ac4e: ; 8ac4e + xor a + ld [MenuSelection], a + push de + call Function891de + call ClearBGPalettes + call Function893cc + pop bc + call Function89844 + call Function8939a + call Function89856 + hlcoord 1, 13 + call Function899fe + call Function891ab + ret +; 8ac70 + +Function8ac70: ; 8ac70 + push de + ld a, $3 + call Function8b94a + +Function8ac76: ; 8ac76 + call Function891fe + call Function8b677 + +Function8ac7c: ; 8ac7c + call Function8b7bd + jr z, .asm_8acf0 + ld a, c + ld [wd02f], a + ld [MenuSelection], a + call OpenSRAMBank4 + call Function8931b + call Function8932d + call CloseSRAM + jr nc, .asm_8acb0 + call OpenSRAMBank4 + ld hl, $0011 + add hl, bc + call Function89b45 + call CloseSRAM + jr nc, .asm_8accc + call OpenSRAMBank4 + call Function892b7 + call CloseSRAM + jr .asm_8accc + +.asm_8acb0 + call Function8ad0b + jr c, Function8ac76 + and a + jr nz, .asm_8accc + call OpenSRAMBank4 + ld h, b + ld l, c + ld d, $0 + ld e, $6 + add hl, de + ld d, h + ld e, l + pop hl + ld c, $1f + call Function89193 + jr .asm_8ace4 + +.asm_8accc + pop hl + call OpenSRAMBank4 + ld d, b + ld e, c + ld c, $6 + call Function89193 + ld a, $6 + add e + ld e, a + ld a, $0 + adc d + ld d, a + ld c, $1f + call Function89193 + +.asm_8ace4 + call CloseSRAM + call LoadStandardFont + ld a, [wd02f] + ld c, a + and a + ret + +.asm_8acf0 + ld hl, UnknownText_0x8ad06 + call PrintText + ld a, $2 + call Function89259 + jp c, Function8ac7c + call LoadStandardFont + pop de + ld c, $0 + scf + ret +; 8ad06 + +UnknownText_0x8ad06: ; 0x8ad06 + ; Finish registering CARDS? + text_jump UnknownText_0x1c554a + db "@" +; 0x8ad0b + +Function8ad0b: ; 8ad0b +.asm_8ad0b + ld a, [MenuSelection] + ld [wd02f], a + call Function891de + call ClearBGPalettes + call Function893cc + call OpenSRAMBank4 + call Function8931b + push bc + call Function89844 + call Function8939a + call Function89856 + hlcoord 1, 13 + call Function899fe + call CloseSRAM + call Function891ab + pop bc +.asm_8ad37 + push bc + call Function89a57 + pop bc + jr c, .asm_8ad37 + and a + jr z, .asm_8ad0b + cp $2 + jr z, .asm_8ad37 + call Mobile22_SetBGMapMode0 + push bc + hlcoord 0, 12 + ld b, $4 + ld c, $12 + call TextBox + ld de, String_8ad89 + hlcoord 1, 14 + call PlaceString + ld a, $2 + call Function8925e + jr c, .asm_8ad87 + call Mobile22_SetBGMapMode0 + hlcoord 0, 12 + ld b, $4 + ld c, $12 + call TextBox + ld de, String_8ad9c + hlcoord 1, 14 + call PlaceString + ld a, $1 + call Function8925e + jr c, .asm_8ad84 + ld a, $0 + jr .asm_8ad86 + +.asm_8ad84 + ld a, $1 + +.asm_8ad86 + and a + +.asm_8ad87 + pop bc + ret +; 8ad89 + +String_8ad89: ; 8ad89 + db "こ", $25, "めいし", $1f, "けして" + next "いれかえますか?@" +; 8ad9c + +String_8ad9c: ; 8ad9c + db "おともだち", $25, "なまえを" + next "のこして おきますか?@" +; 8adb3 + +Function8adb3: ; 8adb3 + call Function891de + call Function8a262 + push af + call Function891de + pop af + ret +; 8adbf + +Function8adbf: ; 8adbf + call OpenSRAMBank4 + ld hl, $a603 + call Function89b45 + call CloseSRAM + ret +; 8adcc + +Function8adcc: ; 8adcc + call OpenSRAMBank4 + call Function8b3b0 + call CloseSRAM + ret nc + cp $2 + ret z + scf + ret +; 8addb diff --git a/mobile/mobile_22_2.asm b/mobile/mobile_22_2.asm new file mode 100644 index 000000000..321998dc7 --- /dev/null +++ b/mobile/mobile_22_2.asm @@ -0,0 +1,1162 @@ +Function8b342:: ; 8b342 +; Loads the secondary map header pointer, then runs through a +; dw with three dummy functions. Spends a lot of energy +; doing pretty much nothing. + call GetSecondaryMapHeaderPointer + ld d, h + ld e, l + +; Everything between here and "ret" is useless. + xor a +.loop + push af + ld hl, .dw + rst JumpTable + pop af + inc a + cp 3 + jr nz, .loop + ret +; 8b354 + +.dw ; 8b354 + dw .zero + dw .one + dw .two +; 8b35a + +.zero ; 8b35a + mobile +; 8b35b + +.one ; 8b35b + mobile +; 8b35c + +.two ; 8b35c + mobile +; 8b35d + +Function8b35d: ; 8b35d + ld a, h + cp d + ret nz + ld a, l + cp e + ret +; 8b363 + +Function8b363: ; 8b363 + push bc + callba Mobile_AlwaysReturnNotCarry + pop bc + ret +; 8b36c + +Function8b36c: ; 8b36c (22:736c) + ; [bc + (0:4)] = -1 + push bc + ld h, b + ld l, c + ld bc, 4 + ld a, -1 + call ByteFill + pop bc + ret + +Function8b379: ; 8b379 (22:7379) + ; d = [bc + e] + push bc + ld a, c + add e + ld c, a + ld a, $0 + adc b + ld b, a + ld a, [bc] + ld d, a + pop bc + ret + +Function8b385: ; 8b385 (22:7385) + ; [bc + e] = d + push bc + ld a, c + add e + ld c, a + ld a, $0 + adc b + ld b, a + ld a, d + ld [bc], a + pop bc + ret + +Function8b391: ; 8b391 (22:7391) + ; find first e in range(4) such that [bc + e] == -1 + ; if none exist, return carry + push bc + ld e, 0 + ld d, 4 +.loop + ld a, [bc] + inc bc + cp -1 + jr z, .done + inc e + dec d + jr nz, .loop + dec e + scf +.done + pop bc + ret + +Function8b3a4: ; 8b3a4 (22:73a4) + ; strcmp(hl, bc, 4) + push de + push bc + ld d, b + ld e, c + ld c, 4 + call Function89185 + pop bc + pop de + ret + +Function8b3b0: ; 8b3b0 (22:73b0) + ld bc, $a037 ; 4:a037 + ld a, [$a60b] + and a + jr z, .asm_8b3c2 + cp $3 + jr nc, .asm_8b3c2 + call Function8b391 + jr c, .asm_8b3c9 +.asm_8b3c2 + call Function8b36c + xor a + ld [$a60b], a +.asm_8b3c9 + ld a, [$a60b] + ret + +Function8b3cd: ; 8b3cd (22:73cd) + push de + push bc + ld e, $4 +.asm_8b3d1 + ld a, [bc] + inc bc + call Function8998b + inc hl + dec e + jr nz, .asm_8b3d1 + pop bc + pop de + ret + +Function8b3dd: ; 8b3dd (22:73dd) + push de + push bc + call JoyTextDelay_ForcehJoyDown ; joypad + ld a, c + pop bc + pop de + bit A_BUTTON_F, a + jr nz, .a_button + bit B_BUTTON_F, a + jr nz, .b_button + bit D_UP_F, a + jr nz, .d_up + bit D_DOWN_F, a + jr nz, .d_down + and a + ret + +.a_button + ld a, e + cp $3 + jr z, .e_is_zero + inc e + ld d, 0 + call Function8b385 + xor a + ld [wd010], a + ret + +.e_is_zero + call PlayClickSFX + ld d, $0 + scf + ret + +.b_button + ld a, e + and a + jr nz, .e_is_not_zero + call PlayClickSFX + ld d, -1 + call Function8b385 + ld d, 1 + scf + ret + +.e_is_not_zero + ld d, -1 + call Function8b385 + dec e + xor a + ld [wd010], a + ret + +.d_up + call Function8b379 + ld a, d + cp $a + jr c, .less_than_10_up_1 + ld d, $9 +.less_than_10_up_1 + inc d + ld a, d + cp $a + jr c, .less_than_10_up_2 + ld d, $0 +.less_than_10_up_2 + call Function8b385 + xor a + ld [wd010], a + ret + +.d_down + call Function8b379 + ld a, d + cp $a + jr c, .less_than_10_down + ld d, $0 +.less_than_10_down + ld a, d + dec d + and a + jr nz, .nonzero_down + ld d, $9 +.nonzero_down + call Function8b385 + xor a + ld [wd010], a + ret + +Function8b45c: ; 8b45c (22:745c) + call Function8b36c + xor a + ld [wd010], a + ld [wd012], a + call Function8b391 + ld d, $0 + call Function8b385 +.asm_8b46e + call Mobile22_SetBGMapMode0 + call Function8b493 + call Function8b4cc + call Function8b518 + call Function89b78 + push bc + call Function8b4fd + call Function89c44 + ld a, $1 + ld [hBGMapMode], a + pop bc + call Function8b3dd + jr nc, .asm_8b46e + ld a, d + and a + ret z + scf + ret + +Function8b493: ; 8b493 (22:7493) + push bc + call Mobile22_SetBGMapMode0 + call Function8b521 + ld hl, Jumptable_8b4a0 + pop bc + rst JumpTable + ret + +Jumptable_8b4a0: ; 8b4a0 (22:74a0) + dw Function8b4a4 + dw Function8b4b8 + + +Function8b4a4: ; 8b4a4 (22:74a4) + push bc + push de + call Function8b4d8 + call TextBox + pop de + pop bc + call Function8b4cc + call Function8b518 + call Function8b3cd + ret + +Function8b4b8: ; 8b4b8 (22:74b8) + push bc + push de + call Function8b4ea + call Function89b3b + pop de + pop bc + call Function8b4cc + call Function8b518 + call Function8b3cd + ret + +Function8b4cc: ; 8b4cc (22:74cc) + push bc + ld hl, Unknown_8b529 + call Function8b50a + ld a, [hli] + ld h, [hl] + ld l, a + pop bc + ret + +Function8b4d8: ; 8b4d8 (22:74d8) + ld hl, Unknown_8b529 + call Function8b50a + push hl + inc hl + inc hl + ld a, [hli] + ld b, a + ld a, [hl] + ld c, a + pop hl + ld a, [hli] + ld h, [hl] + ld l, a + ret + +Function8b4ea: ; 8b4ea (22:74ea) + ld hl, Unknown_8b529 + call Function8b50a + push hl + inc hl + inc hl + ld a, [hli] + ld b, a + ld a, [hl] + ld c, a + pop hl + ld a, [hli] + ld e, a + ld a, [hl] + ld d, a + ret + +Function8b4fd: ; 8b4fd (22:74fd) + ld hl, Unknown_8b529 + 4 + call Function8b50a + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + ld a, [hli] + ld d, a + ret + +Function8b50a: ; 8b50a (22:750a) + ld a, [wd02e] + and a + ret z + ld b, $0 + ld c, $8 +.asm_8b513 + add hl, bc + dec a + jr nz, .asm_8b513 + ret + +Function8b518: ; 8b518 (22:7518) + push de + ld d, $0 + ld e, $14 + add hl, de + inc hl + pop de + ret + +Function8b521: ; 8b521 (22:7521) + ld hl, Unknown_8b529 + 7 + call Function8b50a + ld a, [hl] + ret +; 8b529 (22:7529) + +Unknown_8b529: ; 8b529 + dwcoord 2, 5 + db 1, 4, $20, $49, 0, 1 + dwcoord 7, 4 + db 1, 4, $48, $41, 0, 0 +; 8b539 + +Function8b539: ; 8b539 (22:7539) + ld bc, wd017 + call Function8b36c + xor a + ld [wd012], a + ld [wd02e], a + call Function8b493 + call Function8b4fd + ld e, $0 + call Function89c44 + call CGBOnly_LoadEDTile + ret + +Function8b555: ; 8b555 (22:7555) +.loop + ld hl, UnknownText_0x8b5ce + call PrintText + ld bc, wd017 + call Function8b45c + jr c, .asm_8b5c8 + call Function89448 + ld bc, wd017 + call Function8b493 + ld bc, wd017 + call Function8b664 + jr nz, .asm_8b57c + ld hl, UnknownText_0x8b5e2 + call PrintText + jr .loop + +.asm_8b57c + ld hl, UnknownText_0x8b5d3 + call PrintText + ld bc, wd013 + call Function8b45c + jr c, .loop + ld bc, wd017 + ld hl, wd013 + call Function8b3a4 + jr z, .strings_equal + call Function89448 + ld bc, wd013 + call Function8b493 + ld hl, UnknownText_0x8b5d8 + call PrintText + jr .asm_8b57c + +.strings_equal + call OpenSRAMBank4 + ld hl, wd013 + ld de, $a037 ; 4:a037 + ld bc, $4 + call CopyBytes + call CloseSRAM + call Function89448 + ld bc, wd013 + call Function8b493 + ld hl, UnknownText_0x8b5dd + call PrintText + and a +.asm_8b5c8 + push af + call Function89448 + pop af + ret +; 8b5ce (22:75ce) + +UnknownText_0x8b5ce: ; 0x8b5ce + ; Please enter any four-digit number. + text_jump UnknownText_0x1bc187 + db "@" +; 0x8b5d3 + +UnknownText_0x8b5d3: ; 0x8b5d3 + ; Enter the same number to confirm. + text_jump UnknownText_0x1bc1ac + db "@" +; 0x8b5d8 + +UnknownText_0x8b5d8: ; 0x8b5d8 + ; That's not the same number. + text_jump UnknownText_0x1bc1cf + db "@" +; 0x8b5dd + +UnknownText_0x8b5dd: ; 0x8b5dd + ; Your PASSCODE has been set. Enter this number next time to open the CARD FOLDER. + text_jump UnknownText_0x1bc1eb + db "@" +; 0x8b5e2 + +UnknownText_0x8b5e2: ; 0x8b5e2 + ; 0000 is invalid! + text_jump UnknownText_0x1bc23e + db "@" +; 0x8b5e7 + +Function8b5e7: ; 8b5e7 (22:75e7) + ld bc, wd013 + call Function8b36c + xor a + ld [wd012], a + ld [wd02e], a + call Function8b493 + call Function891ab + call Function8b4fd + ld e, $0 + call Function89c44 +.asm_8b602 + ld hl, UnknownText_0x8b642 + call PrintText + ld bc, wd013 + call Function8b45c + jr c, .asm_8b63c + call Function89448 + ld bc, wd013 + call Function8b493 + call OpenSRAMBank4 + ld hl, $a037 ; 4:a037 + call Function8b3a4 + call CloseSRAM + jr z, .asm_8b635 + ld hl, UnknownText_0x8b647 + call PrintText + ld bc, wd013 + call Function8b36c + jr .asm_8b602 +.asm_8b635 + ld hl, UnknownText_0x8b64c + call PrintText + and a +.asm_8b63c + push af + call Function89448 + pop af + ret +; 8b642 (22:7642) + +UnknownText_0x8b642: ; 0x8b642 + ; Enter the CARD FOLDER PASSCODE. + text_jump UnknownText_0x1bc251 + db "@" +; 0x8b647 + +UnknownText_0x8b647: ; 0x8b647 + ; Incorrect PASSCODE! + text_jump UnknownText_0x1bc272 + db "@" +; 0x8b64c + +UnknownText_0x8b64c: ; 0x8b64c + ; CARD FOLDER open.@ @ + text_jump UnknownText_0x1bc288 + start_asm + ld de, SFX_TWINKLE + call PlaySFX + call WaitSFX + ld c, $8 + call DelayFrames + ld hl, .string_8b663 + ret +.string_8b663 + db "@" +; 8b664 + +Function8b664: ; 8b664 (22:7664) + push bc + ld de, $4 +.asm_8b668 + ld a, [bc] + cp $0 + jr nz, .asm_8b66e + inc d +.asm_8b66e + inc bc + dec e + jr nz, .asm_8b668 + pop bc + ld a, d + cp $4 + ret + +Function8b677: ; 8b677 + call ClearBGPalettes + call DisableLCD + call Function8b690 + call Function8b6bb + call Function8b6ed + call EnableLCD + call Function891ab + call SetPalettes + ret +; 8b690 + +Function8b690: ; 8b690 + ld hl, GFX_17afa5 + $514 + ld de, VTiles2 + ld bc, $160 + ld a, BANK(GFX_17afa5) + call FarCopyBytes + ld hl, GFX_17afa5 + $514 + $160 - $10 + ld de, VTiles2 tile $61 + ld bc, $10 + ld a, BANK(GFX_17afa5) + call FarCopyBytes + ld hl, GFX_17afa5 + $514 + $160 + ld de, VTiles1 tile $6e + ld bc, $10 + ld a, BANK(GFX_17afa5) + call FarCopyBytes + ret +; 8b6bb + +Function8b6bb: ; 8b6bb + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld hl, Palette_8b6d5 + ld de, UnknBGPals + ld bc, $0018 + call CopyBytes + pop af + ld [rSVBK], a + call Function8949c + ret +; 8b6d5 + +Palette_8b6d5: ; 8b6d5 + RGB 31, 31, 31 + RGB 31, 21, 00 + RGB 14, 07, 03 + RGB 00, 00, 00 + RGB 31, 31, 31 + RGB 31, 21, 00 + RGB 22, 09, 17 + RGB 00, 00, 00 + RGB 31, 31, 31 + RGB 31, 21, 00 + RGB 06, 24, 08 + RGB 00, 00, 00 +; 8b6ed + +Function8b6ed: ; 8b6ed + hlcoord 0, 0, AttrMap + ld bc, $012c + xor a + call ByteFill + hlcoord 0, 14, AttrMap + ld bc, $0050 + ld a, $7 + call ByteFill + ret +; 8b703 + +Function8b703: ; 8b703 + call Mobile22_SetBGMapMode0 + push hl + ld a, $c + ld [hli], a + inc a + call Function8b73e + inc a + ld [hl], a + pop hl + push hl + push bc + ld de, SCREEN_WIDTH + add hl, de +.asm_8b717 + push hl + ld a, $f + ld [hli], a + ld a, $7f + call Function8b73e + ld a, $11 + ld [hl], a + pop hl + ld de, SCREEN_WIDTH + add hl, de + dec b + jr nz, .asm_8b717 + call Function8b732 + pop bc + pop hl + jr Function8b744 +; 8b732 + +Function8b732: ; 8b732 + ld a, $12 + ld [hli], a + ld a, $13 + call Function8b73e + ld a, $14 + ld [hl], a + ret +; 8b73e + +Function8b73e: ; 8b73e + ld d, c +.asm_8b73f + ld [hli], a + dec d + jr nz, .asm_8b73f + ret +; 8b744 + +Function8b744: ; 8b744 + ld de, AttrMap - TileMap + add hl, de + inc b + inc b + inc c + inc c + xor a +.asm_8b74d + push bc + push hl +.asm_8b74f + ld [hli], a + dec c + jr nz, .asm_8b74f + pop hl + ld de, SCREEN_WIDTH + add hl, de + pop bc + dec b + jr nz, .asm_8b74d + ret +; 8b75d + +Function8b75d: ; 8b75d + call Mobile22_SetBGMapMode0 + hlcoord 0, 0 + ld a, $1 + ld bc, SCREEN_WIDTH + call ByteFill + hlcoord 0, 1 + ld a, $2 + ld [hl], a + hlcoord 9, 1 + ld c, $b + call Function8b788 + hlcoord 1, 1 + ld a, $4 + ld e, $8 +.asm_8b780 + ld [hli], a + inc a + dec e + jr nz, .asm_8b780 + jr Function8b79e +; 8b787 + +Function8b787: ; 8b787 + ret +; 8b788 + +Function8b788: ; 8b788 +.asm_8b788 + ld a, $2 + ld [hli], a + dec c + ret z + ld a, $1 + ld [hli], a + dec c + ret z + ld a, $3 + ld [hli], a + dec c + ret z + ld a, $1 + ld [hli], a + dec c + jr nz, .asm_8b788 + ret +; 8b79e + +Function8b79e: ; 8b79e + hlcoord 0, 1, AttrMap + ld a, $1 + ld [hli], a + hlcoord 9, 1, AttrMap + ld e, $b +.asm_8b7a9 + ld a, $2 + ld [hli], a + dec e + ret z + xor a + ld [hli], a + dec e + ret z + ld a, $1 + ld [hli], a + dec e + ret z + xor a + ld [hli], a + dec e + jr nz, .asm_8b7a9 + ret +; 8b7bd + +Function8b7bd: ; 8b7bd + call Function8b855 + ld hl, MenuDataHeader_0x8b867 + call CopyMenuDataHeader + ld a, [wd030] + ld [wMenuCursorBuffer], a + ld a, [wd031] + ld [wMenuScrollPosition], a + ld a, [wd032] + and a + jr z, .asm_8b7e0 + ld a, [wMenuFlags] + set 3, a + ld [wMenuFlags], a + +.asm_8b7e0 + ld a, [wd0e3] + and a + jr z, .asm_8b7ea + dec a + ld [wScrollingMenuCursorPosition], a + +.asm_8b7ea + hlcoord 0, 2 + ld b, $b + ld c, $12 + call Function8b703 + call Function8b75d + call UpdateSprites + call Function89209 + call ScrollingMenu + call Function8920f + ld a, [wMenuJoypad] + cp $2 + jr z, .asm_8b823 + cp $20 + jr nz, .asm_8b813 + call Function8b832 + jr .asm_8b7ea + +.asm_8b813 + cp $10 + jr nz, .asm_8b81c + call Function8b83e + jr .asm_8b7ea + +.asm_8b81c + ld a, [MenuSelection] + cp $ff + jr nz, .asm_8b824 + +.asm_8b823 + xor a + +.asm_8b824 + ld c, a + ld a, [wMenuCursorY] + ld [wd030], a + ld a, [wMenuScrollPosition] + ld [wd031], a + ret +; 8b832 + +Function8b832: ; 8b832 + ld a, [wMenuScrollPosition] + ld hl, wMenuData2Items + sub [hl] + jr nc, Function8b84b + xor a + jr Function8b84b +; 8b83e + +Function8b83e: ; 8b83e + ld a, [wMenuScrollPosition] + ld hl, wMenuData2Items + add [hl] + cp $24 + jr c, Function8b84b + ld a, $24 + +Function8b84b: ; 8b84b + ld [wMenuScrollPosition], a + ld a, [wMenuCursorY] + ld [wMenuCursorBuffer], a + ret +; 8b855 + +Function8b855: ; 8b855 + ld a, $28 + ld hl, wd002 + ld [hli], a + ld c, $28 + xor a +.asm_8b85e + inc a + ld [hli], a + dec c + jr nz, .asm_8b85e + ld a, $ff + ld [hl], a + ret +; 8b867 + +MenuDataHeader_0x8b867: ; 0x8b867 + db $40 ; flags + db 03, 01 ; start coords + db 13, 18 ; end coords + dw MenuData2_0x8b870 + db 1 ; default option +; 0x8b86f + + db 0 + +MenuData2_0x8b870: ; 0x8b870 + db $3c ; flags + db 5 ; items + db 3, 1 + dbw 0, wd002 + dba Function8b880 + dba Function8b88c + dba Function8b8c8 +; 8b880 + +Function8b880: ; 8b880 + ld h, d + ld l, e + ld de, MenuSelection + lb bc, PRINTNUM_LEADINGZEROS | 1, 2 + call PrintNum + ret +; 8b88c + +Function8b88c: ; 8b88c + call OpenSRAMBank4 + ld h, d + ld l, e + push hl + ld de, String_89116 + call Function8931b + call Function8932d + jr c, .asm_8b8a3 + ld hl, 0 + add hl, bc + ld d, h + ld e, l + +.asm_8b8a3 + pop hl + push hl + call PlaceString + pop hl + ld d, $0 + ld e, $6 + add hl, de + push hl + ld de, String_89116 + call Function8931b + call Function8934a + jr c, .asm_8b8c0 + ld hl, $0006 + add hl, bc + ld d, h + ld e, l + +.asm_8b8c0 + pop hl + call PlaceString + call CloseSRAM + ret +; 8b8c8 + +Function8b8c8: ; 8b8c8 + hlcoord 0, 14 + ld b, $2 + ld c, $12 + call TextBox + ld a, [wd033] + ld b, 0 + ld c, a + ld hl, Unknown_8b903 + add hl, bc + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + ld d, h + ld e, l + hlcoord 1, 16 + call PlaceString + hlcoord 0, 13 + ld a, $f + ld [hl], a + hlcoord 19, 13 + ld a, $11 + ld [hl], a + ld a, [wMenuScrollPosition] + cp $24 + ret c + hlcoord 0, 13 + ld c, $12 + call Function8b732 + ret +; 8b903 + +Unknown_8b903: ; 8b903 + dw String_8b90b + dw String_8b919 + dw String_8b92a + dw String_8b938 + +String_8b90b: db "めいしを えらんでください@" ; Please select a noun. +String_8b919: db "どの めいしと いれかえますか?@" ; OK to swap with any noun? +String_8b92a: db "あいてを えらんでください@" ; Please select an opponent. +String_8b938: db "いれる ところを えらんでください@" ; Please select a location. +; 8b94a + +Function8b94a: ; 8b94a + ld [wd033], a + xor a + ld [wMenuScrollPosition], a + ld [wd032], a + ld [wd0e3], a + ld [wd031], a + ld a, $1 + ld [wd030], a + ret +; 8b960 + + +Function8b960: ; 8b960 (22:7960) + ld hl, MenuDataHeader_0x8b9ac + call LoadMenuDataHeader + call Function8b9e9 + jr c, .asm_8b97a + hlcoord 11, 0 + ld b, $6 + ld c, $7 + call Function8b703 + ld hl, MenuDataHeader_0x8b9b1 + jr .asm_8b987 +.asm_8b97a + hlcoord 11, 0 + ld b, $a + ld c, $7 + call Function8b703 + ld hl, MenuDataHeader_0x8b9ca +.asm_8b987 + ld a, $1 + call Function89d5e + ld hl, Function8b9ab + call Function89d85 + call ExitMenu + jr c, .asm_8b99c + call Function8b99f + jr nz, .asm_8b99d +.asm_8b99c + xor a +.asm_8b99d + ld c, a + ret + +Function8b99f: ; 8b99f (22:799f) + ld hl, wd002 + dec a + ld c, a + ld b, $0 + add hl, bc + ld a, [hl] + cp $ff + ret +; 8b9ab (22:79ab) + +Function8b9ab: ; 8b9ab + ret +; 8b9ac + +MenuDataHeader_0x8b9ac: ; 0x8b9ac + db $40 ; flags + db 00, 11 ; start coords + db 11, 19 ; end coords + +MenuDataHeader_0x8b9b1: ; 0x8b9b1 + db $40 ; flags + db 00, 11 ; start coords + db 07, 19 ; end coords + dw MenuData2_0x8b9b9 + db 1 ; default option +; 0x8b9b9 + +MenuData2_0x8b9b9: ; 0x8b9b9 + db $a0 ; flags + db 3 ; items + db "へんしゅう@" ; EDIT + db "いれかえ@" ; REPLACE + db "やめる@" ; QUIT +; 0x8b9ca + +MenuDataHeader_0x8b9ca: ; 0x8b9ca + db $40 ; flags + db 00, 11 ; start coords + db 11, 19 ; end coords + dw MenuData2_0x8b9d2 + db 1 ; default option +; 0x8b9d2 + +MenuData2_0x8b9d2: ; 0x8b9d2 + db $a0 ; flags + db 5 ; items + db "みる@" ; VIEW + db "へんしゅう@" ; EDIT + db "いれかえ@" ; REPLACE + db "けす@" ; ERASE + db "やめる@" ; QUIT +; 0x8b9e9 + +Function8b9e9: ; 8b9e9 (22:79e9) + call OpenSRAMBank4 + call Function8931b + call Function8932d + jr nc, .asm_8b9f6 + jr .asm_8b9ff +.asm_8b9f6 + ld hl, $11 + add hl, bc + call Function89b45 + jr c, .asm_8ba08 +.asm_8b9ff + call Function892b4 + and a + ld de, Unknown_8ba1c + jr .asm_8ba0c +.asm_8ba08 + ld de, Unknown_8ba1f + scf +.asm_8ba0c + push af + ld hl, wd002 +.asm_8ba10 + ld a, [de] + inc de + ld [hli], a + cp $ff + jr nz, .asm_8ba10 + call CloseSRAM + pop af + ret +; 8ba1c (22:7a1c) + +Unknown_8ba1c: ; 8b1ac + db 2, 4, -1 + +Unknown_8ba1f: ; 8ba1f + db 1, 2, 4, 3, -1 +; 8ba24 diff --git a/mobile/mobile_40.asm b/mobile/mobile_40.asm new file mode 100644 index 000000000..fa6a39fdf --- /dev/null +++ b/mobile/mobile_40.asm @@ -0,0 +1,8156 @@ +Function100000: ; 100000 +; d: 1 or 2 +; e: bank +; bc: addr + ld a, [rSVBK] + push af + ld a, 1 + ld [rSVBK], a + + call Function100022 + call Function1000ba + call Function100675 + call Function100057 + call Function10016f + call Function100276 + + push bc + call Function100301 + pop bc + + pop af + ld [rSVBK], a + ret +; 100022 + +Function100022: ; 100022 + push de + push bc + call SetRAMStateForMobile + pop bc + pop de + ld a, d + ld [wcd21], a + ld a, e + ld [wcd22], a + ld a, c + ld [wcd23], a + ld a, b + ld [wcd24], a + callba Function10127e + callba MobileFunc_106462 + callba Function106464 ; load broken gfx + callba Function11615a ; init RAM + ld hl, VramState + set 1, [hl] + ret +; 100057 + +Function100057: ; 100057 + call DisableMobile + call ReturnToMapFromSubmenu + ld hl, VramState + res 1, [hl] + ret +; 100063 + +SetRAMStateForMobile: ; 100063 + xor a + ld hl, BGMapBuffer + ld bc, $65 + call ByteFill + xor a + ld hl, wc300 + ld bc, $100 + call ByteFill + ld a, [rIE] + ld [BGMapBuffer], a + xor a + ld [hMapAnims], a + ld [hLCDCPointer], a + ret +; 100082 + +EnableMobile: ; 100082 + xor a + ld hl, OverworldMap + ld bc, OverworldMapEnd - OverworldMap + call ByteFill + + di + call DoubleSpeed + xor a + ld [rIF], a + ld a, 1 << VBLANK + 1 << LCD_STAT + 1 << TIMER + 1 << SERIAL + ld [rIE], a + xor a + ld [hMapAnims], a + ld [hLCDCPointer], a + ld a, $01 + ld [hMobileReceive], a + ld [hMobile], a + ei + + ret +; 0x1000a4 + +DisableMobile: ; 1000a4 + di + xor a + ld [hMobileReceive], a + ld [hMobile], a + xor a + ld [hVBlank], a + call NormalSpeed + xor a + ld [rIF], a + ld a, [BGMapBuffer] + ld [rIE], a + ei + ret +; 1000ba + +Function1000ba: ; 1000ba +.loop + ; call [wcd22]:([wcd23][wcd24] + [wMobileCommsJumptableIndex]) + ld hl, wcd23 + ld a, [hli] + ld h, [hl] + ld l, a + ld a, [wMobileCommsJumptableIndex] + ld e, a + ld d, 0 + add hl, de + add hl, de + ld a, [wcd22] + call GetFarHalfword + ld a, [wcd22] + rst FarCall + + call Function1000e8 + call Function1000fa + call Function100144 + call Function100163 + ld a, [wcd2b] + and a + jr z, .loop + call DelayFrame + ret +; 1000e8 + +Function1000e8: ; 1000e8 + ld hl, wcd29 + bit 7, [hl] + ret z + callba Function115dd3 + ld hl, wcd29 + set 6, [hl] + ret +; 1000fa + +Function1000fa: ; 1000fa + ld a, [wc30d] + and a + ret z + ld hl, wcd29 + bit 4, [hl] + ret z + ld a, [wcd2b] + and a + jr nz, .asm_100117 + callba Function11619d + ld hl, wcd29 + set 6, [hl] + ret + +.asm_100117 + di + xor a + ld [rIF], a + ld a, [rIE] + and $13 + ld [rIE], a + xor a + ld [hMobileReceive], a + ld [hMobile], a + ei + + ld a, [wLinkMode] + push af + xor a + ld [wLinkMode], a + ld a, $04 + ld [wc314 + 5], a + callba Function11619d + ld hl, wcd29 + set 6, [hl] + pop af + ld [wLinkMode], a + ret +; 100144 + +Function100144: ; 100144 + ld hl, wcd29 + bit 5, [hl] + jr z, .asm_100155 + res 5, [hl] + res 2, [hl] + res 6, [hl] + call Function100320 + ret + +.asm_100155 + bit 2, [hl] + ret z + res 2, [hl] + res 6, [hl] + callba HDMATransferTileMapToWRAMBank3 + ret +; 100163 + +Function100163: ; 100163 + ld hl, wcd29 + bit 6, [hl] + ret z + res 6, [hl] + call DelayFrame + ret +; 10016f + +Function10016f: ; 10016f + ld a, [wcd2b] + cp $01 + ret z + cp $02 + ret z + cp $ff + jp z, .asm_1001f5 + cp $fe + jr z, .asm_1001c4 + cp $f5 + jr z, .asm_1001e7 + cp $f6 + jr z, .asm_1001b6 + cp $fa + jp z, .asm_1001bd + cp $f7 + jp z, .asm_1001ee + cp $f4 + jr z, .asm_1001d2 + cp $f3 + jr z, .asm_1001cb + cp $f1 + jr z, .asm_1001c4 + cp $f2 + jr z, .asm_1001c4 + cp $fc + jr z, .asm_1001e6 + cp $fb + jr z, .asm_1001af + cp $f8 + ret z + ret ; ???????????????????????????? + +.asm_1001af + ld a, $d7 + ld de, 0 + jr .asm_1001d7 + +.asm_1001b6 + ld a, $d5 + ld de, 0 + jr .asm_1001d7 + +.asm_1001bd + ld a, $d6 + ld de, 0 + jr .asm_1001d7 + +.asm_1001c4 + ld a, $d2 + ld de, 2 + jr .asm_1001d7 + +.asm_1001cb + ld a, $d1 + ld de, 1 + jr .asm_1001d7 + +.asm_1001d2 + ld a, $d0 + ld de, 0 + +.asm_1001d7 + ld [wc300], a + ld a, d + ld [wc302], a + ld a, e + ld [wc301], a + call Function10020b + ret + +.asm_1001e6 + ret + +.asm_1001e7 + ld de, String10025e + call Function100232 + ret + +.asm_1001ee + ld de, String10024d + call Function100232 + ret + +.asm_1001f5 + ld a, [wcd2c] + ld [wc300], a + ld a, [wcd2d] + ld [wc302], a + ld a, [wcd2d] + ld [wc301], a + call Function10020b + ret +; 10020b + +Function10020b: ; 10020b + xor a + ld [wc303], a + callba FadeOutPalettes + callba Function106464 + call HideSprites + call DelayFrame + + ld a, [rSVBK] + push af + ld a, $01 + ld [rSVBK], a + + callba DisplayMobileError + + pop af + ld [rSVBK], a + ret +; 100232 + +Function100232: ; 100232 + push de + callba Function106464 + call Function3f20 + call UpdateSprites + hlcoord 1, 2 + pop de + call PlaceString + call Function100320 + call JoyWaitAorB + ret +; 10024d + +String10024d: ; 10024d + db "つうしんを キャンセル しました@" +; 10025e + +String10025e: ; 10025e + db "おともだちと えらんだ へやが" + next "ちがうようです@" +; 100276 + +Function100276: ; 100276 + ld a, [wcd2b] + cp $01 + jr z, .asm_10029f + cp $02 + jr z, .asm_100296 + cp $f5 + jr z, .asm_1002a5 + cp $f6 + jr z, .asm_1002a5 + cp $f7 + jr z, .asm_100293 + cp $f8 + jr z, .asm_1002b1 + jr .asm_1002c0 + +.asm_100293 + ld c, $02 + ret + +.asm_100296 + callba Script_reloadmappart + ld c, $04 + ret + +.asm_10029f + call Function1002dc + ld c, 0 + ret + +.asm_1002a5 + callba Script_reloadmappart + call Function1002ed + ld c, $03 + ret + +.asm_1002b1 + call Function1002c9 + call Function1002dc + ld de, String10024d + call Function100232 + ld c, $02 + ret + +.asm_1002c0 + call Function1002c9 + call Function1002dc + ld c, $01 + ret +; 1002c9 + +Function1002c9: ; 1002c9 + ld hl, wcd2a + bit 0, [hl] + ret z + callba CleanUpBattleRAM + callba LoadPokemonData + ret +; 1002dc + +Function1002dc: ; 1002dc + ld a, MAPSETUP_LINKRETURN + ld [hMapEntryMethod], a + callba RunMapSetupScript + xor a + ld [hMapEntryMethod], a + call LoadStandardFont + ret +; 1002ed + +Function1002ed: ; 1002ed + callba LoadOW_BGPal7 + callba ApplyPals + ld a, $01 + ld [hCGBPalUpdate], a + call DelayFrame + ret +; 100301 + +Function100301: ; 100301 + ld hl, wcd2a + bit 1, [hl] + ret z + callba Function106464 + callba Function10202c + callba Function115dd3 + call Function100320 + call JoyWaitAorB + ret +; 100320 + +Function100320: ; 100320 + callba Mobile_ReloadMapPart + ret +; 100327 + +Function100327: ; 100327 + callba HDMATransferTileMapToWRAMBank3 + ret +; 100327 + + +Function10032e: ; 10032e + call Function10034d + ld e, a + ret nc + ld [wcd2b], a + ret +; 100337 + +Function100337: ; 100337 + call Function10032e + ret c + ld a, [wc821] + bit 4, a + jr z, .asm_100345 + ld a, e + and a + ret + +.asm_100345 + ld a, $f9 + ld e, a + ld [wcd2b], a + scf + ret +; 10034d + +Function10034d: ; 10034d + ld a, [wc821] + bit 1, a + jr nz, .asm_10036a + bit 2, a + jr nz, .asm_10037e + bit 3, a + jr nz, .asm_100366 + bit 0, a + jr nz, .asm_100364 + ld a, $01 + and a + ret + +.asm_100364 + xor a + ret + +.asm_100366 + ld a, $02 + and a + ret + +.asm_10036a + ld a, 0 + call Function3e32 + ld [wcd2c], a + ld a, h + ld [wcd2d], a + ld a, l + ld [wcd2e], a + ld a, $ff + scf + ret + +.asm_10037e + ld a, $fe + scf + ret +; 100382 + +Function100382: ; 100382 + ld a, [wcd27] + ld hl, Jumptable_10044e + rst JumpTable + ret +; 10038a + +Function10038a: ; 10038a + ld hl, wccb4 + ld a, $2e + call Function3e32 + ret +; 100393 + +Function100393: ; 100393 + ld hl, wcc60 + ld a, $3a + call Function3e32 + ret +; 10039c + +Function10039c: ; 10039c + ld hl, wcc60 + ld de, w3_d000 + ld bc, $54 + ld a, $03 + call FarCopyWRAM + ret +; 1003ab + +Function1003ab: ; 1003ab + ld hl, w3_d000 + ld de, wcc60 + ld bc, $54 + ld a, $03 + call FarCopyWRAM + ret +; 1003ba + +Function1003ba: ; 1003ba + ld hl, wccb4 + ld de, w3_d080 + ld bc, $54 + ld a, $03 + call FarCopyWRAM + ret +; 1003c9 + +Function1003c9: ; 1003c9 + ld hl, w3_d080 + ld de, wccb4 + ld bc, $54 + ld a, $03 + call FarCopyWRAM + ret +; 1003d8 + +Function1003d8: ; 1003d8 + ld hl, wccb4 + ld a, [hli] + ld c, a + ld b, 0 + push hl + add hl, bc + ld a, [BGMapPalBuffer] + ld [hl], a + pop hl + inc bc + call Function10043a + add hl, bc + ld [hl], e + inc hl + ld [hl], d + ld a, c + add $02 + ld [wccb4], a + ret +; 1003f5 + +Function1003f5: ; 1003f5 + ld a, [wcc60] + sub $03 + ld [wcc60], a + ld a, [wccb4] + sub $03 + ld [wccb4], a + ret +; 100406 + +Function100406: ; 100406 + ld a, [wcc60] + sub $02 + ld c, a + ld b, 0 + ld hl, wcc61 + call Function10043a + add hl, bc + ld a, [hli] + cp e + jr nz, .asm_100426 + ld a, [hld] + cp d + jr nz, .asm_100426 + dec hl + ld a, [BGMapPalBuffer] + cp [hl] + jr nz, .asm_10042d + xor a + ret + +.asm_100426 + ld a, $f4 + ld [wcd2b], a + jr .asm_100432 + +.asm_10042d + ld a, $f3 + ld [wcd2b], a + +.asm_100432 + push hl + ld hl, wcd7c + inc [hl] + pop hl + scf + ret +; 10043a + +Function10043a: ; 10043a + push hl + push bc + ld de, 0 +.asm_10043f + ld a, [hli] + add e + ld e, a + ld a, d + adc 0 + ld d, a + dec bc + ld a, b + or c + jr nz, .asm_10043f + pop bc + pop hl + ret +; 10044e + + +Jumptable_10044e: ; 10044e (40:444e) + dw Function10046a + dw Function10047c + dw Function100493 + dw Function1004ba + dw Function1004f4 + dw Function1004ce + dw Function1004de + dw Function1004a4 + dw Function100495 + dw Function1004ce + dw Function1004de + dw Function1004e9 + dw Function1004f4 + dw Function1004a4 + +Function10046a: ; 10046a + ld hl, BGMapPalBuffer + inc [hl] + call Function1003d8 + call Function1003ba + ld a, [wcd27] + inc a + ld [wcd27], a + ret +; 10047c + +Function10047c: ; 10047c + call Function100337 + ret c + ret z + cp $02 + jr z, .asm_100487 + jr .asm_10048d + +.asm_100487 + ld a, $08 + ld [wcd27], a + ret + +.asm_10048d + ld a, $02 + ld [wcd27], a + ret +; 100493 + +Function100493: ; 100493 + jr asm_100497 + +Function100495: ; 100495 + jr asm_100497 + +asm_100497 + call Function100337 + ret c + ret z + ld a, [wcd27] + inc a + ld [wcd27], a + ret +; 1004a4 + +Function1004a4: ; 1004a4 + call Function100406 + jr c, .asm_1004b8 + call Function1003c9 + call Function1003f5 + ld a, [wcd27] + set 7, a + ld [wcd27], a + ret + +.asm_1004b8 + scf + ret +; 1004ba + +Function1004ba: ; 1004ba + call Function10038a + and a + jr nz, .asm_1004c8 + ld a, [wcd27] + inc a + ld [wcd27], a + ret + +.asm_1004c8 + ld a, $08 + ld [wcd27], a + ret +; 1004ce + +Function1004ce: ; 1004ce + call Function100337 + ret c + ret z + cp $02 + ret nz + ld a, [wcd27] + inc a + ld [wcd27], a + ret +; 1004de + +Function1004de: ; 1004de + call Function100393 + ld a, [wcd27] + inc a + ld [wcd27], a + ret +; 1004e9 + +Function1004e9: ; 1004e9 + call Function10038a + ld a, [wcd27] + inc a + ld [wcd27], a + ret +; 1004f4 + +Function1004f4: ; 1004f4 + call Function100337 + ret c + ret z + ld a, [wcd27] + inc a + ld [wcd27], a + call Function10039c + ret +; 100504 + +Function100504: ; 100504 + push de + call Function3f20 + call UpdateSprites + pop de + hlcoord 4, 2 + call PlaceString + ret +; 100513 + +Function100513: ; 100513 + call Function3f7c + call PlaceVerticalMenuItems + call InitVerticalMenuCursor + ld hl, w2DMenuFlags1 + set 7, [hl] + ret +; 100522 + +Function100522: ; 100522 + ld a, [wcd28] + ld hl, Jumptable_10052a + rst JumpTable + ret +; 10052a + +Jumptable_10052a: ; 10052a + dw Function100534 + dw Function100545 + dw Function100545 + dw Function100545 + dw Function10054d +; 100534 + +Function100534: ; 100534 + call Function100513 + call UpdateSprites + call ApplyTilemap + ld a, [wcd28] + inc a + ld [wcd28], a + ret +; 100545 + +Function100545: ; 100545 + ld a, [wcd28] + inc a + ld [wcd28], a + ret +; 10054d + +Function10054d: ; 10054d + callba MobileMenuJoypad + ld a, c + ld hl, wMenuJoypadFilter + and [hl] + ret z + call MenuClickSound + bit 0, a + jr nz, .asm_100565 + bit 1, a + jr nz, .asm_10056f + ret + +.asm_100565 + ld a, [wcd28] + set 7, a + ld [wcd28], a + and a + ret + +.asm_10056f + ld a, [wcd28] + set 7, a + ld [wcd28], a + scf + ret +; 100579 + +Function100579: ; 100579 + ld a, [wcd26] + ld hl, Jumptable_100581 + rst JumpTable + ret +; 100581 + +Jumptable_100581: ; 100581 + dw Function100585 + dw Function100597 +; 100585 + +Function100585: ; 100585 + ld hl, MenuDataHeader_1005b2 + call LoadMenuDataHeader + ld a, 0 + ld [wcd28], a + ld a, [wcd26] + inc a + ld [wcd26], a + +Function100597: ; 100597 + call Function100522 + ld a, [wcd28] + bit 7, a + ret z + jr nc, .asm_1005a6 + xor a + ld [wMenuCursorY], a + +.asm_1005a6 + call ExitMenu + ld a, [wcd26] + set 7, a + ld [wcd26], a + ret +; 1005b2 + +MenuDataHeader_1005b2: ; 1005b2 + db $40 ; flags + db 6, 14 + db 10, 19 + dw MenuData2_1005ba + db 1 ; default option + +MenuData2_1005ba: + db $c0 ; flags + db 2 + db "はい@" + db "いいえ@" +; 1005c3 + +Function1005c3: ; 1005c3 + ld a, [wcd26] + ld hl, Jumptable_1005cb + rst JumpTable + ret +; 1005cb + +Jumptable_1005cb: ; 1005cb + dw Function1005cf + dw Function1005e1 +; 1005cf + +Function1005cf: ; 1005cf + ld hl, MenuDataHeader_1005fc + call LoadMenuDataHeader + ld a, 0 + ld [wcd28], a + ld a, [wcd26] + inc a + ld [wcd26], a + +Function1005e1: ; 1005e1 + call Function100522 + ld a, [wcd28] + bit 7, a + ret z + jr nc, .asm_1005f0 + xor a + ld [wMenuCursorY], a +.asm_1005f0 + call ExitMenu + ld a, [wcd26] + set 7, a + ld [wcd26], a + ret +; 1005fc + +MenuDataHeader_1005fc: ; 1005fc + db $40 ; flags + db 6, 14 + db 10, 19 + dw MenuData2_100604 + db 1 ; default option + +MenuData2_100604: ; 100604 + db $c0 ; flags + db 2 + db "かける@" + db "まつ@" +; 10060d + +Mobile_CommunicationStandby: ; 10060d + hlcoord 3, 10 + ld b, 1 + ld c, 11 + call Function3eea + ld de, .String + hlcoord 4, 11 + call PlaceString + ret +; 100621 + +.String: ; 100621 + db "つうしんたいきちゅう!@" +; 10062d + +AdvanceMobileInactivityTimerAndCheckExpired: ; 10062d + push bc + call IncrementMobileInactivityTimerByCFrames + pop bc + ld a, [wMobileInactivityTimerMinutes] + cp b + jr nc, .timed_out + and a + ret + +.timed_out + ld a, $fa + ld [wcd2b], a + scf + ret +; 100641 + +StartMobileInactivityTimer: ; 100641 + xor a + ld [wMobileInactivityTimerMinutes], a + ld [wMobileInactivityTimerSeconds], a + ld [wMobileInactivityTimerFrames], a + ret +; 10064c + +IncrementMobileInactivityTimerBy1Frame: ; 10064c + ld c, 1 +IncrementMobileInactivityTimerByCFrames: ; 10064e + ld hl, wMobileInactivityTimerFrames ; timer? + ld a, [hl] + add c + cp 60 + jr c, .seconds + xor a + +.seconds + ld [hld], a + ret c + ld a, [hl] + inc a + cp 60 + jr c, .minutes + xor a + +.minutes + ld [hld], a + ret c + inc [hl] + ret +; 100665 + +Function100665: ; 100665 + call UpdateTime + ld hl, wcd36 + ld a, [hHours] + ld [hli], a + ld a, [hMinutes] + ld [hli], a + ld a, [hSeconds] + ld [hl], a + ret +; 100675 + +Function100675: ; 100675 + ld hl, wcd2a + bit 2, [hl] + set 2, [hl] + ret nz + call Function1006d3 + ret +; 100681 + +Function100681: ; 100681 + push hl + ld hl, wcd2a + bit 2, [hl] + ld hl, wcd2a + set 2, [hl] + pop hl + jr nz, .asm_100694 + push hl + call Function1006d3 + pop hl +.asm_100694 + ld de, wcd32 + +Function100697: ; 100697 + ld a, [de] + and a + jr nz, .asm_1006bb + inc de + push de + call .asm_1006b4 + ld de, String1006c2 + call PlaceString + ld h, b + ld l, c + pop de + inc de + call .asm_1006b4 + ld de, String1006c6 + call PlaceString + ret + +.asm_1006b4 + lb bc, PRINTNUM_LEADINGZEROS | 1, 2 + call PrintNum + ret + +.asm_1006bb + ld de, String1006ca + call PlaceString + ret +; 1006c2 + +String1006c2: ; 1006c2 + db "ふん @" +String1006c6: ; 1006c6 + db "びょう@" +String1006ca: ; 1006ca + db "1じかんいじょう@" +; 1006d3 + +Function1006d3: ; 1006d3 + call UpdateTime + ld de, wcd34 + ld hl, wcd38 + +Function1006dc: ; 1006dc + ld a, [hld] + ld c, a + ld a, [hSeconds] + sub c + jr nc, .asm_1006e5 + add $3c + +.asm_1006e5 + ld [de], a + dec de + ld a, [hld] + ld c, a + ld a, [hMinutes] + sbc c + jr nc, .asm_1006f0 + add $3c + +.asm_1006f0 + ld [de], a + dec de + ld a, [hl] + ld c, a + ld a, [hHours] + sbc c + jr nc, .asm_1006fb + add $18 + +.asm_1006fb + ld [de], a + ret +; 1006fd + +Function1006fd: ; 1006fd + ld a, $04 + ld hl, $a800 + call GetSRAMBank + xor a + ld [hli], a + ld [hli], a + ld [hli], a + call CloseSRAM + ret +; 10070d + +Function10070d: ; 10070d + ld a, $04 + ld hl, $a800 + call GetSRAMBank + xor a + ld [hli], a + ld a, $0a + ld [hli], a + xor a + ld [hli], a + call CloseSRAM + ret +; 100720 + +Function100720: ; 100720 + xor a + ld [wcd6a], a + call UpdateTime + ld a, [hHours] + ld [wcd72], a + ld a, [hMinutes] + ld [wcd73], a + ld a, [hSeconds] + ld [wcd74], a + ld a, $04 + ld hl, $a800 + call GetSRAMBank + ld a, [hli] + ld [wcd6c], a + ld a, [hli] + ld [wcd6d], a + ld a, [hli] + ld [wcd6e], a + call CloseSRAM + ld a, [wcd6d] + ld [wcd6b], a + ret +; 100754 + +Function100754: ; 100754 + call UpdateTime + ld a, [hHours] + ld [wcd72], a + ld a, [hMinutes] + ld [wcd73], a + ld a, [hSeconds] + ld [wcd74], a + ld a, [wcd6d] + ld [wcd6b], a + ld hl, wcd2a + res 6, [hl] + ret +; 100772 + +Function100772: ; 100772 + push de + ld hl, wcd6c + ld a, [de] + cp [hl] + jr c, .asm_10079a + jr nz, .asm_10078c + inc hl + inc de + ld a, [de] + cp [hl] + jr c, .asm_10079a + jr nz, .asm_10078c + inc hl + inc de + ld a, [de] + cp [hl] + jr c, .asm_10079a + jr z, .asm_10079a + +.asm_10078c + pop hl + ld a, [hli] + ld [wcd6c], a + ld a, [hli] + ld [wcd6d], a + ld a, [hli] + ld [wcd6e], a + ret + +.asm_10079a + pop de + ret +; 10079c + + +Function10079c: ; 10079c + ld a, [wcd21] + cp $01 + jr nz, .dont_quit + ld hl, wcd2a + bit 5, [hl] + jr nz, .dont_quit + ld hl, wcd2a + bit 6, [hl] + jr nz, .dont_quit + ld a, [wcd6a] + add c + cp 60 + jr nc, .overflow + ld [wcd6a], a + and a + ret + +.overflow + sub 60 + ld [wcd6a], a + ld d, b + push de + call Function1007f6 + pop de + jr c, .quit + ld a, c + and a + jr nz, .quit + ld a, b + cp 10 + jr nc, .quit + ld a, d + and a + ret z + ld a, [wcd6b] + cp b + ret z + ld a, b + ld [wcd6b], a + call Function1008e0 + and a + ret + +.quit + call Function1008e0 + ld hl, wcd2a + set 4, [hl] + ld a, $fc + ld [wcd2b], a + scf + ret + +.dont_quit + and a + ret +; 1007f6 + +Function1007f6: ; 1007f6 + call UpdateTime + ld hl, wcd74 + ld de, wcd71 + call Function1006dc + ld a, $04 + call GetSRAMBank + ld hl, $a802 + call Function100826 + call CloseSRAM + ld hl, wcd6e + call Function100826 + ld a, [hHours] + ld [wcd72], a + ld a, [hMinutes] + ld [wcd73], a + ld a, [hSeconds] + ld [wcd74], a + ret +; 100826 + +Function100826: ; 100826 + ld a, [wcd71] + add [hl] + sub $3c + jr nc, .asm_100830 + add $3c + +.asm_100830 + ld [hld], a + ccf + ld a, [BGMapBufferPtrs] + adc [hl] + sub $3c + jr nc, .asm_10083c + add $3c + +.asm_10083c + ld [hld], a + ld b, a + ccf + ld a, [wcd6f] + adc [hl] + ld [hl], a + ld c, a + ret +; 100846 + +Function100846: ; 100846 + ld hl, wcd2a + bit 5, [hl] + jr nz, .asm_10087c + ld a, [wcd6e] + ld c, a + ld a, 0 + sub c + jr nc, .asm_100858 + add $3c + +.asm_100858 + ld [StringBuffer2 + 2], a + ld a, [wcd6d] + ld c, a + ld a, $0a + sbc c + ld [StringBuffer2 + 1], a + xor a + ld [StringBuffer2], a + ld de, String_10088e + hlcoord 1, 14 + call PlaceString + ld de, StringBuffer2 + hlcoord 4, 16 + call Function100697 + ret + +.asm_10087c + ld de, String_10088e + hlcoord 1, 14 + call PlaceString + ld h, b + ld l, c + ld de, String_10089f + call PlaceString + ret +; 10088e + +String_10088e: ; 10088e + db "モバイルたいせん できる" + next "じかん@" +; 10089f + +String_10089f: ; 10089f + db " むせいげん@" +; 1008a6 + +Function1008a6: ; 1008a6 + ld a, $04 + ld hl, $a800 + call GetSRAMBank + ld a, [hli] + ld [StringBuffer2], a + ld a, [hli] + ld [StringBuffer2 + 1], a + ld a, [hli] + ld [StringBuffer2 + 2], a + call CloseSRAM + ld a, [StringBuffer2 + 2] + ld b, a + ld a, 0 + sub b + jr nc, .asm_1008c8 + add $3c + +.asm_1008c8 + ld b, a + ld a, [StringBuffer2 + 1] + ld c, a + ld a, $0a + sbc c + ld c, a + jr c, .asm_1008da + ld a, [StringBuffer2] + and a + jr nz, .asm_1008da + ret + +.asm_1008da + call Function10070d + ld c, 0 + ret +; 1008e0 + + +Function1008e0: ; 1008e0 + ld a, [hBGMapMode] + ld b, a + ld a, [hVBlank] + ld c, a + push bc + xor a + ld [hBGMapMode], a + ld a, $03 + ld [hVBlank], a + call Function100970 + call Function100902 + call Function100989 + call DelayFrame + pop bc + ld a, c + ld [hVBlank], a + ld a, b + ld [hBGMapMode], a + ret +; 100902 + +Function100902: ; 100902 + hlcoord 3, 10 + ld b, $01 + ld c, $0b + call TextBox + ld a, [wcd6d] + ld c, a + ld a, $0a + sub c + ld [StringBuffer2], a + jr z, .asm_10093f + ld de, .string_100966 + hlcoord 4, 11 + call PlaceString + hlcoord 8, 11 + lb bc, 1, 2 + ld de, StringBuffer2 + call PrintNum + ld de, SFX_TWO_PC_BEEPS + call PlaySFX + callba ReloadMapPart + ld c, $3c + call DelayFrames + ret + +.asm_10093f + ld de, .string_10095a + hlcoord 4, 11 + call PlaceString + ld de, SFX_4_NOTE_DITTY + call PlaySFX + callba ReloadMapPart + ld c, 120 + call DelayFrames + ret +; 10095a + +.string_10095a ; 10095a + db "たいせん しゅうりょう@" +.string_100966 ; 100966 + db "のこり ふん", $e7, "@" +; 100970 + + +Function100970: ; 100970 + hlcoord 0, 0 + ld de, w3_dc00 + call Function1009a5 + hlcoord 0, 0, AttrMap + ld de, w3_dd68 + call Function1009a5 + call Function1009d2 + call Function1009ae + ret +; 100989 + +Function100989: ; 100989 + ld hl, w3_dc00 + decoord 0, 0 + call Function1009a5 + call Function1009ae + callba ReloadMapPart + ld hl, w3_dd68 + decoord 0, 0, AttrMap + call Function1009a5 + ret +; 1009a5 + +Function1009a5: ; 1009a5 + ld bc, SCREEN_WIDTH * SCREEN_HEIGHT + ld a, $03 + call FarCopyWRAM + ret +; 1009ae + +Function1009ae: ; 1009ae + ld a, [rSVBK] + push af + ld a, $03 + ld [rSVBK], a + + ld hl, w3_d800 + decoord 0, 0, AttrMap + ld c, SCREEN_WIDTH + ld b, SCREEN_HEIGHT +.loop_row + push bc +.loop_col + ld a, [hli] + ld [de], a + inc de + dec c + jr nz, .loop_col + ld bc, BG_MAP_WIDTH - SCREEN_WIDTH + add hl, bc + pop bc + dec b + jr nz, .loop_row + + pop af + ld [rSVBK], a + ret +; 1009d2 + +Function1009d2: ; 1009d2 + ld a, [rSVBK] + push af + ld a, $03 + ld [rSVBK], a + + ld a, [rVBK] + push af + ld a, $01 + ld [rVBK], a + + ld hl, w3_d800 + debgcoord 0, 0 + lb bc, $03, $24 + call Get2bpp + + pop af + ld [rVBK], a + + pop af + ld [rSVBK], a + ret +; 1009f3 + +Function1009f3: ; 1009f3 + ld a, [hJoyDown] + and SELECT + A_BUTTON + cp SELECT + A_BUTTON + jr nz, .select_a + ld hl, wcd2a + set 4, [hl] + ld a, $f8 + ld [wcd2b], a + scf + ret + +.select_a + xor a + ret +; 100a09 + +_LinkBattleSendReceiveAction: ; 100a09 + call .StageForSend + ld [wd431], a + callba PlaceWaitingText + ld a, [wLinkMode] + cp LINK_MOBILE + jr nz, .not_mobile + + call .MobileBattle_SendReceiveAction + call Function100da5 + callba FinishBattleAnim + jr .done + +.not_mobile + call .LinkBattle_SendReceiveAction + +.done + ret +; 100a2e + +.StageForSend: ; 100a2e + ld a, [wPlayerAction] + and a + jr nz, .switch + ld a, [CurPlayerMove] + ld b, BATTLEACTION_E + cp STRUGGLE + jr z, .struggle + ld b, BATTLEACTION_D + cp $ff + jr z, .struggle + ld a, [CurMoveNum] + jr .use_move + +.switch + ld a, [CurPartyMon] + add BATTLEACTION_SWITCH1 + jr .use_move + +.struggle + ld a, b + +.use_move + and $0f + ret +; 100a53 + +.LinkBattle_SendReceiveAction: ; 100a53 + ld a, [wd431] + ld [wPlayerLinkAction], a + ld a, $ff + ld [wOtherPlayerLinkAction], a +.waiting + call LinkTransfer + call DelayFrame + ld a, [wOtherPlayerLinkAction] + inc a + jr z, .waiting + + ld b, 10 +.receive + call DelayFrame + call LinkTransfer + dec b + jr nz, .receive + + ld b, 10 +.acknowledge + call DelayFrame + call LinkDataReceived + dec b + jr nz, .acknowledge + + ld a, [wOtherPlayerLinkAction] + ld [wBattleAction], a + ret +; 100a87 + +.MobileBattle_SendReceiveAction: ; 100a87 + call Function100acf + call StartMobileInactivityTimer + ld a, 0 + ld [wcd27], a +.asm_100a92 + call DelayFrame + call GetJoypad + callba Function100382 + ld c, $01 + ld b, $03 + push bc + call AdvanceMobileInactivityTimerAndCheckExpired + pop bc + jr c, .asm_100ac7 + ld b, $01 + call Function10079c + jr c, .asm_100ac7 + call Function1009f3 + jr c, .asm_100ac7 + ld a, [wcd2b] + and a + jr nz, .asm_100ac7 + ld a, [wcd27] + bit 7, a + jr z, .asm_100a92 + call Function100ae7 + jr .asm_100ace + +.asm_100ac7 + ld a, $0f + ld [wd430], a + jr .asm_100ace + +.asm_100ace + ret +; 100acf + +Function100acf: ; 100acf + ld de, Unknown_100b0a + ld hl, wccb5 + ld a, [wd431] + ld [hli], a + ld c, $01 +.asm_100adb + ld a, [de] + inc de + ld [hli], a + inc c + and a + jr nz, .asm_100adb + ld a, c + ld [wccb4], a + ret +; 100ae7 + +Function100ae7: ; 100ae7 + ld de, Unknown_100b0a + ld hl, wcc62 +.asm_100aed + ld a, [de] + inc de + and a + jr z, .asm_100af8 + cp [hl] + jr nz, .asm_100aff + inc hl + jr .asm_100aed + +.asm_100af8 + ld a, [wcc61] + ld [wd430], a + ret + +.asm_100aff + ld a, $0f + ld [wd430], a + ld a, $f1 + ld [wcd2b], a + ret +; 100b0a + + +SECTION "tetsuji", ROMX + + charmap " ", $20 ; revert to ascii + +Unknown_100b0a: ; 100b0a + db "tetsuji", 0 +; 100b12 + + +SECTION "bank40_2", ROMX + +Function100b12: ; 100b12 + call Function100dd8 + ret c + ld hl, BattleMenuDataHeader + ld a, BANK(BattleMenuDataHeader) + ld de, LoadMenuDataHeader + call FarCall_de + ld a, BANK(BattleMenuDataHeader) + ld [wMenuData2_2DMenuItemStringsBank], a + ld a, [wBattleMenuCursorBuffer] + ld [wMenuCursorBuffer], a + call Function100e72 + call Function100b45 + callba InitPartyMenuBGPal7 + call Function100ed4 + ld a, [wMenuCursorBuffer] + ld [wBattleMenuCursorBuffer], a + call ExitMenu + ret +; 100b45 + +Function100b45: ; 100b45 + call Function100b7a +.loop + call Mobile_SetOverworldDelay + callba MobileMenuJoypad + push bc + callba HDMATransferTileMapToWRAMBank3 + call Function100e2d + pop bc + jr c, .asm_100b6b + ld a, [wMenuJoypadFilter] + and c + jr z, .loop + callba Mobile_GetMenuSelection + ret + +.asm_100b6b + ld a, [w2DMenuNumCols] + ld c, a + ld a, [w2DMenuNumRows] + call SimpleMultiply + ld [wMenuCursorBuffer], a + and a + ret +; 100b7a + +Function100b7a: ; 100b7a + ld hl, CopyMenuData2 + ld a, [wMenuData2_2DMenuItemStringsBank] + rst FarCall + callba Draw2DMenu + callba MobileTextBorder + call UpdateSprites + call ApplyTilemap + callba Init2DMenuCursorPosition + ld hl, w2DMenuFlags1 + set 7, [hl] + ret +; 100b9f + +MobileMoveSelectionScreen: ; 100b9f + xor a + ld [wMoveSwapBuffer], a + callba CheckPlayerHasUsableMoves + ret z + call Function100dd8 + jp c, xor_a_dec_a + call Function100e72 + call .GetMoveSelection + push af + callba InitPartyMenuBGPal7 + call Function100ed4 + pop af + ret +; 100bc2 + +.GetMoveSelection: ; 100bc2 + xor a + ld [hBGMapMode], a + call Function100c74 + call Function100c98 +.master_loop + callba MoveInfoBox +.loop + call Mobile_SetOverworldDelay + callba MobileMenuJoypad + push bc + callba HDMATransferTileMapToWRAMBank3 + call Function100e2d + pop bc + jr c, .b_button + ld a, [wMenuJoypadFilter] + and c + bit D_UP_F, a + jp nz, .d_up + bit D_DOWN_F, a + jp nz, .d_down + bit A_BUTTON_F, a + jr nz, .a_button + bit B_BUTTON_F, a + jr nz, .b_button + jr .loop + +.d_up + ld a, [wMenuCursorY] + and a + jp nz, .master_loop + ld a, [wNumMoves] + inc a + ld [wMenuCursorY], a + jp .master_loop + +.d_down + ld a, [wMenuCursorY] + ld b, a + ld a, [wNumMoves] + inc a + inc a + cp b + jp nz, .master_loop + ld a, $01 + ld [wMenuCursorY], a + jp .master_loop + +.b_button + ld a, [wMenuCursorY] + dec a + ld [CurMoveNum], a + ld a, $01 + and a + ret + +.a_button + ld a, [wMenuCursorY] + dec a + ld [CurMoveNum], a + ld a, [wMenuCursorY] + dec a + ld c, a + ld b, 0 + ld hl, BattleMonPP + add hl, bc + ld a, [hl] + and $3f + jr z, .no_pp_left + ld a, [PlayerDisableCount] + swap a + and $0f + dec a + cp c + jr z, .move_disabled + ld a, [wMenuCursorY] + dec a + ld c, a + ld b, 0 + ld hl, BattleMonMoves + add hl, bc + ld a, [hl] + ld [CurPlayerMove], a + xor a + ret + +.move_disabled + ld hl, BattleText_TheMoveIsDisabled + jr .print_text + +.no_pp_left + ld hl, BattleText_TheresNoPPLeftForThisMove + +.print_text + call StdBattleTextBox + call Call_LoadTempTileMapToTileMap + jp .GetMoveSelection +; 100c74 + +Function100c74: ; 100c74 + hlcoord 0, 8 + ld b, 8 + ld c, 8 + call TextBox + ld hl, BattleMonMoves + ld de, wListMoves_MoveIndicesBuffer + ld bc, NUM_MOVES + call CopyBytes + ld a, SCREEN_WIDTH * 2 + ld [Buffer1], a + hlcoord 2, 10 + predef ListMoves + ret +; 100c98 + +Function100c98: ; 100c98 + ld de, .attrs + call SetMenuAttributes + ld a, [wNumMoves] + inc a + ld [w2DMenuNumRows], a + ld a, [CurMoveNum] + inc a + ld [wMenuCursorY], a + ret +; 100cad + +.attrs ; 100cad + db 10, 1 + db 255, 1 + db $a0, $00 + dn 2, 0 + db D_UP | D_DOWN | A_BUTTON | B_BUTTON + +Mobile_PartyMenuSelect: ; 100cb5 + call Function100dd8 + ret c + ld hl, w2DMenuFlags1 + set 7, [hl] + res 6, [hl] +.loop + call Mobile_SetOverworldDelay + callba MobileMenuJoypad + push bc + callba PlaySpriteAnimations + callba HDMATransferTileMapToWRAMBank3 + call MobileComms_CheckInactivityTimer + pop bc + jr c, .done + ld a, [wMenuJoypadFilter] + and c + jr z, .loop + call PlaceHollowCursor + ld a, [PartyCount] + inc a + ld b, a + ld a, [wMenuCursorY] + cp b + jr z, .done + ld [wPartyMenuCursor], a + ld a, [hJoyLast] + ld b, a + bit 1, b + jr nz, .done + ld a, [wMenuCursorY] + dec a + ld [CurPartyMon], a + ld c, a + ld b, 0 + ld hl, PartySpecies + add hl, bc + ld a, [hl] + ld [CurPartySpecies], a + ld de, SFX_READ_TEXT_2 + call PlaySFX + call WaitSFX + and a + ret + +.done + ld de, SFX_READ_TEXT_2 + call PlaySFX + call WaitSFX + scf + ret +; 100d22 + +MobileBattleMonMenu: ; 100d22 + call Function100dd8 + ret c + call Function100d67 + ld hl, w2DMenuFlags1 + set 7, [hl] + res 6, [hl] +.asm_100d30 + call Mobile_SetOverworldDelay + callba MobileMenuJoypad + push bc + callba PlaySpriteAnimations + callba HDMATransferTileMapToWRAMBank3 + call MobileComms_CheckInactivityTimer + pop bc + jr c, .asm_100d54 + ld a, [wMenuJoypadFilter] + and c + jr nz, .asm_100d56 + jr .asm_100d30 + +.asm_100d54 + scf + ret + +.asm_100d56 + push af + ld de, SFX_READ_TEXT_2 + call PlaySFX + pop af + bit 1, a + jr z, .asm_100d65 + ret z + scf + ret + +.asm_100d65 + and a + ret +; 100d67 + +Function100d67: ; 100d67 + ld hl, .MenuDataHeader + call CopyMenuDataHeader + xor a + ld [hBGMapMode], a + call MenuBox + call UpdateSprites + call PlaceVerticalMenuItems + call WaitBGMap + call CopyMenuData2 + call InitVerticalMenuCursor + ld hl, w2DMenuFlags1 + set 6, [hl] + ret +; 100d88 + +.MenuDataHeader: ; 100d88 + db 0 ; flags + db 11, 11 ; start coords + db 17, 19 ; end coords + dw .MenuData2 + db 1 ; default option + +.MenuData2: ; 100d90 + db $c0 ; flags + db 3 + db "いれかえる@" ; TRADE + db "つよさをみる@" ; STATS + db "キャンセル@" ; CANCEL +; 100da5 + +Function100da5: ; 100da5 + ld hl, wcd2a + res 3, [hl] + ld hl, wcd29 + res 0, [hl] + ret +; 100db0 + +Function100db0: ; 100db0 + ld hl, wcd2a + bit 3, [hl] + jr nz, .asm_100dbe + ld hl, wcd2a + set 3, [hl] + scf + ret + +.asm_100dbe + xor a + ret +; 100dc0 + + + +Function100dc0: ; 100dc0 + ld a, [wLinkMode] + cp LINK_MOBILE + jr nz, .mobile + ld hl, wcd2a + bit 3, [hl] + jr z, .mobile + scf + ret + +.mobile + xor a + ret +; 100dd2 + +Mobile_SetOverworldDelay: ; 100dd2 + ld a, 30 + ld [OverworldDelay], a + ret +; 100dd8 + +Function100dd8: ; 100dd8 + ld c, $01 + ld b, $03 + callba AdvanceMobileInactivityTimerAndCheckExpired + jr c, .asm_100dfb + ld c, $3c + ld b, $01 + call Function10079c + jr c, .asm_100dfb + callba Function10032e + ld a, [wcd2b] + and a + jr nz, .asm_100dfb + xor a + ret + +.asm_100dfb + scf + ret +; 100dfd + +MobileComms_CheckInactivityTimer: ; 100dfd + ld a, [OverworldDelay] + ld c, a + ld a, 30 + sub c + ld c, a + ld b, 3 + push bc + callba AdvanceMobileInactivityTimerAndCheckExpired ; useless to farcall + pop bc + jr c, .quit + ld b, 1 + call Function10079c + jr c, .quit + call Function1009f3 + jr c, .quit + callba Function10032e ; useless to farcall + ld a, [wcd2b] + and a + jr nz, .quit + xor a + ret + +.quit + scf + ret +; 100e2d + +Function100e2d: ; 100e2d + ld a, [OverworldDelay] + ld c, a + ld a, 30 + sub c + ld c, a + ld b, 3 + push bc + callba AdvanceMobileInactivityTimerAndCheckExpired + pop bc + jr c, .asm_100e61 + ld b, 1 + call Function10079c + jr c, .asm_100e61 + call Function1009f3 + jr c, .asm_100e61 + callba Function10032e + ld a, [wcd2b] + and a + jr nz, .asm_100e61 + call Function100e63 + call Function100e84 + xor a + ret + +.asm_100e61 + scf + ret +; 100e63 + +Function100e63: ; 100e63 + ld a, e + cp $02 + ret nz + call Function100db0 + ret nc + ld de, SFX_ELEVATOR_END + call PlaySFX + ret +; 100e72 + +Function100e72: ; 100e72 + xor a + ld hl, wcd29 + bit 0, [hl] + jr z, .asm_100e7c + ld a, $0a + +.asm_100e7c + ld [wcd67], a + xor a + ld [wcd68], a + ret +; 100e84 + +Function100e84: ; 100e84 + ld a, [wcd67] + ld hl, Jumptable_100e8c + rst JumpTable + ret +; 100e8c + + +Jumptable_100e8c: ; 100e8c (40:4e8c) + dw Function100ea2 + dw Function100eae + dw Function100eb4 + dw Function100eae + dw Function100eb4 + dw Function100eae + dw Function100eb4 + dw Function100eae + dw Function100eb4 + dw Function100eae + dw Function100ec4 + + +Function100ea2: ; 100ea2 (40:4ea2) + call Function100dc0 + ret nc + ld hl, wcd29 + set 0, [hl] + call Function100ec5 + + +Function100eae: ; 100eae + scf + call Function100eca + jr asm_100eb8 + +Function100eb4: ; 100eb4 + and a + call Function100eca + +asm_100eb8 + ld hl, wcd68 + inc [hl] + ld a, [hl] + cp $02 + ret c + ld [hl], 0 + jr Function100ec5 + +Function100ec4: ; 100ec4 + ret + +Function100ec5 + ld hl, wcd67 + inc [hl] + ret +; 100eca + +Function100eca: ; 100eca + callba Mobile_InitPartyMenuBGPal7 + call Function100ed4 + ret +; 100ed4 + +Function100ed4: ; 100ed4 + callba ApplyPals + ld a, $01 + ld [hCGBPalUpdate], a + ret +; 100edf + +Function100edf: ; 100edf + ld hl, Unknown_100fc0 + ld c, 1 + jr asm_100f02 + +Function100ee6: ; 100ee6 + ld hl, Unknown_100fc0 + ld c, 2 + jr asm_100f02 + +Function100eed: ; 100eed + ld hl, Unknown_100feb + ld c, 1 + jr asm_100f02 + +Function100ef4: ; 100ef4 + ld hl, Unknown_100ff3 + ld c, 1 + jr asm_100f02 + +Function100efb: ; 100efb + ld hl, Unknown_10102c + ld c, 1 + jr asm_100f02 + +asm_100f02: + ld a, c + ld [StringBuffer2], a + ; someting that was previously stored in de gets backed up to here + ld a, e + ld [StringBuffer2 + 1], a + ld a, d + ld [StringBuffer2 + 2], a + ; empty this + xor a + ld [StringBuffer2 + 4], a + ld [StringBuffer2 + 5], a +.loop + ld a, [hl] + cp $ff + jr z, .done + ld [StringBuffer2 + 3], a ; bank + push hl + inc hl + ; addr 1 + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ; size + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + ; addr 2 + ld a, [hli] + ld h, [hl] + ld l, a + call Function100f3d + ; next line + pop hl + ld de, 7 + add hl, de + jr .loop + +.done + ; recover the values into bc + ld a, [StringBuffer2 + 4] + ld c, a + ld a, [StringBuffer2 + 5] + ld b, a + ret +; 100f3d + +Function100f3d: ; 100f3d + ; parameter + ld a, [StringBuffer2] + cp $02 + jr z, .two + cp $01 + jr z, .one + cp $03 + jr z, .three + ret + +.three + ; what was once in de gets copied to hl, + ; modified by Function100f8d, and put back + ; into this backup + ld a, [StringBuffer2 + 1] + ld l, a + ld a, [StringBuffer2 + 2] + ld h, a + call Function100f8d + ld a, l + ld [StringBuffer2 + 1], a + ld a, h + ld [StringBuffer2 + 2], a + ret + +.two + ; hl gets backed up to de, then + ; do the same as in .three + ld d, h + ld e, l + ld a, [StringBuffer2 + 1] + ld l, a + ld a, [StringBuffer2 + 2] + ld h, a + call Function100f8d + ld a, l + ld [StringBuffer2 + 1], a + ld a, h + ld [StringBuffer2 + 2], a + ret + +.one + ; de gets copied to hl, then + ; load the backup into de, + ; finally run Function100f8d + ; and store the de result + ld h, d + ld l, e + ld a, [StringBuffer2 + 1] + ld e, a + ld a, [StringBuffer2 + 2] + ld d, a + call Function100f8d + ld a, e + ld [StringBuffer2 + 1], a + ld a, d + ld [StringBuffer2 + 2], a + ret +; 100f8d + +Function100f8d: ; 100f8d + push hl + ld a, [StringBuffer2 + 4] + ld l, a + ld a, [StringBuffer2 + 5] + ld h, a + add hl, bc + ld a, l + ld [StringBuffer2 + 4], a + ld a, h + ld [StringBuffer2 + 5], a + pop hl + ld a, [StringBuffer2 + 3] + bit 7, a + res 7, a + jr z, .sram + and a + jr nz, .far_wram + call CopyBytes + ret + +.far_wram + and $7f + call FarCopyWRAM + ret + +.sram + call GetSRAMBank + call CopyBytes + call CloseSRAM + ret +; 100fc0 + +Unknown_100fc0: ; 100fc0 + ; first byte: + ; Bit 7 set: Not SRAM + ; Lower 7 bits: Bank + ; Address, size (dw), address + dbwww $80, PlayerName, NAME_LENGTH, OTPlayerName + dbwww $80, PartyCount, 1 + PARTY_LENGTH + 1, OTPartyCount + dbwww $80, PlayerID, 2, OTPlayerID + dbwww $80, PartyMons, PARTYMON_STRUCT_LENGTH * PARTY_LENGTH, OTPartyMons + dbwww $80, PartyMonOT, NAME_LENGTH * PARTY_LENGTH, OTPartyMonOT + dbwww $80, PartyMonNicknames, PKMN_NAME_LENGTH * PARTY_LENGTH, OTPartyMonNicknames + db -1 + +Unknown_100feb: ; 100feb + dbwww $00, sPartyMail, MAIL_STRUCT_LENGTH * PARTY_LENGTH, NULL + db -1 + +Unknown_100ff3: ; 100ff3 + dbwww $80, wdc41, 1, NULL + dbwww $80, PlayerName, NAME_LENGTH, NULL + dbwww $80, PlayerName, NAME_LENGTH, NULL + dbwww $80, PlayerID, 2, NULL + dbwww $80, wSecretID, 2, NULL + dbwww $80, PlayerGender, 1, NULL + dbwww $04, $a603, 8, NULL + dbwww $04, $a007, PARTYMON_STRUCT_LENGTH, NULL + db -1 + +Unknown_10102c: ; 10102c + dbwww $80, OTPlayerName, NAME_LENGTH, NULL + dbwww $80, OTPlayerID, 2, NULL + dbwww $80, OTPartyMonNicknames, PKMN_NAME_LENGTH * PARTY_LENGTH, NULL + dbwww $80, OTPartyMonOT, NAME_LENGTH * PARTY_LENGTH, NULL + dbwww $80, OTPartyMons, PARTYMON_STRUCT_LENGTH * PARTY_LENGTH, NULL + db -1 +; 10104f + +Function101050: ; 101050 + call Function10107d + ld a, [OTPartyCount] +rept 2 ; ??? + ld hl, wc608 +endr + ld bc, wc7bb - wc608 + call Function1010de + ld hl, wc7bb + ld [hl], e + inc hl + ld [hl], d + ld a, $07 + call GetSRAMBank + ld hl, wc608 + ld de, $a001 + ld bc, wc7bd - wc608 + call CopyBytes + call CloseSRAM + ret +; 10107d + +Function10107d: ; 10107d + xor a + ld hl, wc608 + ld bc, wc7bd - wc608 + call ByteFill + ld hl, OTPlayerName + ld de, wc608 + ld bc, NAME_LENGTH + call CopyBytes + ld hl, wd271 + ld a, [hli] + ld [wc608 + 11], a + ld a, [hl] + ld [wc608 + 12], a + ld hl, OTPartyMonNicknames + ld de, wc608 + 13 + ld bc, NAME_LENGTH + call .CopyAllFromOT + ld hl, OTPartyMonOT + ld de, OTClassName + 1 + ld bc, NAME_LENGTH + call .CopyAllFromOT + ld hl, OTPartyMon1Species + ld de, $c699 + ld bc, PARTYMON_STRUCT_LENGTH + call .CopyAllFromOT + ld a, $50 + ld [wc7b9], a + ld a, $33 + ld [wc7ba], a + ret +; 1010cd + +.CopyAllFromOT: ; 1010cd + push hl + ld hl, 0 + ld a, [OTPartyCount] + call AddNTimes + ld b, h + ld c, l + pop hl + call CopyBytes + ret +; 1010de + +Function1010de: ; 1010de + push hl + push bc + ld de, 0 +.loop + ld a, [hli] + add e + ld e, a + ld a, d + adc 0 + ld d, a + dec bc + ld a, b + or c + jr nz, .loop + pop bc + pop hl + ret +; 1010f2 + +LoadSelectedPartiesForColosseum: ; 1010f2 + xor a + ld hl, StringBuffer2 + ld bc, 9 + call ByteFill + ld hl, wPlayerMonSelection + ld de, PartyCount + call .CopyThreeSpecies + ld hl, wPlayerMonSelection + ld de, PartyMon1Species + call .CopyPartyStruct + ld hl, wPlayerMonSelection + ld de, PartyMonOT + call .CopyName + ld hl, wPlayerMonSelection + ld de, PartyMonNicknames + call .CopyName + ld hl, wOTMonSelection + ld de, OTPartyCount + call .CopyThreeSpecies + ld hl, wOTMonSelection + ld de, OTPartyMon1Species + call .CopyPartyStruct + ld hl, wOTMonSelection + ld de, OTPartyMonOT + call .CopyName + ld hl, wOTMonSelection + ld de, OTPartyMonNicknames + call .CopyName + ret +; 101145 + +.CopyThreeSpecies: ; 101145 +; Load the 3 choices to the buffer + push de + ld bc, StringBuffer2 + 6 + xor a +.party_loop + push af + call .GetNthSpecies + ld [bc], a + inc bc + pop af + inc a + cp 3 + jr nz, .party_loop + pop de +; Copy the 3 choices to the party + ld a, 3 + ld [de], a + inc de + ld hl, StringBuffer2 + 6 + ld bc, 3 + call CopyBytes + ld a, $ff + ld [de], a + ret +; 101168 + +.GetNthSpecies: ; 101168 +; Preserves hl and de +; Get the index of the Nth selection + push hl + add l + ld l, a + ld a, h + adc 0 + ld h, a + ld a, [hl] + pop hl +; Get the corresponding species + push de + inc de + add e + ld e, a + ld a, d + adc 0 + ld d, a + ld a, [de] + pop de + ret +; 10117c + +.CopyPartyStruct: ; 10117c + ld bc, PARTYMON_STRUCT_LENGTH + jr .ContinueCopy + +.CopyName: ; 101181 + ld bc, NAME_LENGTH + +.ContinueCopy: + ; Copy, via wc608... + ld a, wc608 % $100 + ld [StringBuffer2], a + ld a, wc608 / $100 + ld [StringBuffer2 + 1], a + ; ... bc bytes... + ld a, c + ld [StringBuffer2 + 2], a + ld a, b + ld [StringBuffer2 + 3], a + ; ... to de... + ld a, e + ld [StringBuffer2 + 4], a + ld a, d + ld [StringBuffer2 + 5], a + ; ... 3 times. + ld a, 3 +.big_copy_loop + push af + ld a, [hli] + push hl + push af + call .GetDestinationAddress + call .GetCopySize + pop af + call AddNTimes + ld a, [StringBuffer2] + ld e, a + ld a, [StringBuffer2 + 1] + ld d, a + call CopyBytes + ld a, e + ld [StringBuffer2], a + ld a, d + ld [StringBuffer2 + 1], a + pop hl + pop af + dec a + jr nz, .big_copy_loop + call .GetCopySize + ld a, 3 + ld hl, 0 + call AddNTimes + ld b, h + ld c, l + call .GetDestinationAddress + ld d, h + ld e, l + ld hl, wc608 + call CopyBytes + ret +; 1011df + +.GetDestinationAddress: ; 1011df + ld a, [StringBuffer2 + 4] + ld l, a + ld a, [StringBuffer2 + 5] + ld h, a + ret +; 1011e8 + +.GetCopySize: ; 1011e8 + ld a, [StringBuffer2 + 2] + ld c, a + ld a, [StringBuffer2 + 3] + ld b, a + ret +; 1011f1 + +Function1011f1: ; 1011f1 + ld a, $04 + call GetSRAMBank + ld a, [$a60c] + ld [wdc41], a + call CloseSRAM + ld hl, wdc41 + res 4, [hl] + ld hl, GameTimerPause + bit 7, [hl] + jr z, .skip + ld hl, wdc41 + set 4, [hl] + +.skip + call Function10209c + xor a + ld [wdc5f], a + ld [wdc60], a + ld a, LINK_MOBILE + ld [wLinkMode], a + ret +; 101220 + +Function101220: ; 101220 + xor a + ld [wLinkMode], a + ret +; 101225 + +Function101225: ; 101225 + ld d, 1 + ld e, BANK(Jumptable_101297) + ld bc, Jumptable_101297 + call Function100000 + jr Function10123d + +Function101231: ; 101231 + ld d, 2 + ld e, BANK(Jumptable_101297) + ld bc, Jumptable_101297 + call Function100000 + jr Function10123d + +Function10123d: ; 10123d + xor a + ld [ScriptVar], a + ld a, c + ld hl, Jumptable_101247 + rst JumpTable + ret +; 101247 + +Jumptable_101247: ; 101247 + dw Function101251 + dw Function10127d + dw Function10127c + dw Function10126c + dw Function101265 +; 101251 + +Function101251: ; 101251 + call UpdateSprites + call RefreshScreen + ld hl, UnknownText_0x1021f4 + call Function1021e0 + call Function1020ea + ret c + call Function102142 + ret +; 101265 + +Function101265: ; 101265 + ld hl, UnknownText_0x1021ef + call Function1021e0 + ret +; 10126c + +Function10126c: ; 10126c + call UpdateSprites + callba Script_reloadmappart + ld hl, UnknownText_0x1021f4 + call Function1021e0 + ret +; 10127c + +Function10127c: ; 10127c + ret +; 10127d + +Function10127d: ; 10127d + ret +; 10127e + +Function10127e: ; 10127e + ld a, [wdc5f] + and a + jr z, .zero + cp 1 + ld c, $27 + jr z, .load + cp 2 + ld c, $37 + jr z, .load +.zero + ld c, 0 +.load + ld a, c + ld [wMobileCommsJumptableIndex], a + ret +; 101297 + +Jumptable_101297: ; 101297 + dw Function101a97 ; 00 + dw Function101ab4 ; 01 + dw Function101475 ; 02 + dw Function101b0f ; 03 + dw Function101438 ; 04 + dw Function101b2b ; 05 + dw Function101b59 ; 06 + dw Function101475 ; 07 + dw Function101b70 ; 08 + dw Function101438 ; 09 + dw Function101b8f ; 0a + dw Function101d7b ; 0b + dw Function101d95 ; 0c + dw Function101475 ; 0d + dw Function101db2 ; 0e + dw Function101e4f ; 0f + dw Function101475 ; 10 + dw Function101e64 ; 11 + dw Function101e4f ; 12 + dw Function101475 ; 13 + dw Function101e64 ; 14 + dw Function101d95 ; 15 + dw Function101475 ; 16 + dw Function101db2 ; 17 + dw Function101dd0 ; 18 + dw Function101de3 ; 19 + dw Function101e39 ; 1a + dw Function101e09 ; 1b + dw Function101e4f ; 1c + dw Function101475 ; 1d + dw Function101e64 ; 1e + dw Function101d95 ; 1f + dw Function101475 ; 20 + dw Function101db2 ; 21 + dw Function101e09 ; 22 + dw Function101e31 ; 23 + dw Function101bc8 ; 24 + dw Function101438 ; 25 + dw Function101be5 ; 26 + dw Function101ac6 ; 27 + dw Function101ab4 ; 28 + dw Function101475 ; 29 + dw Function101c11 ; 2a + dw Function1014f4 ; 2b + dw Function101cc8 ; 2c + dw Function1014e2 ; 2d + dw Function1014e2 ; 2e + dw Function101d10 ; 2f + dw Function101d2a ; 30 + dw Function101d2a ; 31 + dw Function101507 ; 32 + dw Function10156d ; 33 + dw Function101557 ; 34 + dw Function10158a ; 35 + dw Function101c42 ; 36 + dw Function101aed ; 37 + dw Function101ab4 ; 38 + dw Function101475 ; 39 + dw Function101c2b ; 3a + dw Function1014f4 ; 3b + dw Function101cdf ; 3c + dw Function1014e2 ; 3d + dw Function1014e2 ; 3e + dw Function101d1e ; 3f + dw Function101d2a ; 40 + dw Function101d2a ; 41 + dw Function101507 ; 42 + dw Function10156d ; 43 + dw Function101544 ; 44 + dw Function10158a ; 45 + dw Function101c42 ; 46 + dw Function101c50 ; 47 + dw Function1014ce ; 48 + dw Function101cf6 ; 49 + dw Function101826 ; 4a + dw Function1017e4 ; 4b + dw Function1017f1 ; 4c + dw Function1018a8 ; 4d + dw Function1018d6 ; 4e + dw Function1017e4 ; 4f + dw Function1017f1 ; 50 + dw Function1018e1 ; 51 + dw Function1015df ; 52 + dw Function10167d ; 53 + dw Function10168a ; 54 + dw Function10162a ; 55 + dw Function1015be ; 56 + dw Function10167d ; 57 + dw Function10168a ; 58 + dw Function10161f ; 59 + dw Function10159d ; 5a + dw Function10167d ; 5b + dw Function10168a ; 5c + dw Function101600 ; 5d + dw Function101d03 ; 5e + dw Function101d6b ; 5f + dw Function10159d ; 60 + dw Function1014ce ; 61 + dw Function10168e ; 62 + dw Function101600 ; 63 + dw Function101913 ; 64 + dw Function10194b ; 65 + dw _SelectMonsForMobileBattle ; 66 + dw Function1017e4 ; 67 + dw Function1017f5 ; 68 + dw _StartMobileBattle ; 69 + dw Function101537 ; 6a + dw Function101571 ; 6b + dw Function101c92 ; 6c + dw Function10152a ; 6d + dw Function101571 ; 6e + dw Function101a4f ; 6f + dw Function101cbc ; 70 + dw Function101c62 ; 71 + dw Function101537 ; 72 + dw Function101571 ; 73 + dw Function101c92 ; 74 + dw Function10152a ; 75 + dw Function101571 ; 76 + dw Function101ca0 ; 77 + dw Function101475 ; 78 + dw Function101cbc ; 79 +; 10138b + +Function10138b: ; 10138b + callba Function8adcc + ld c, 0 + jr c, .asm_101396 + inc c + +.asm_101396 + sla c + ld a, [wcd2f] + and a + jr z, .asm_10139f + inc c + +.asm_10139f + sla c + ld a, [wcd21] + cp $01 + jr z, .asm_1013a9 + inc c + +.asm_1013a9 + ret +; 1013aa + +Function1013aa: ; 1013aa + call ClearBGPalettes + call Call_ExitMenu + call ReloadTilesetAndPalettes + callba Function106464 + call UpdateSprites + call FinishExitMenu + ret +; 1013c0 + +Function1013c0: ; 1013c0 + callba BlankScreen + callba MobileFunc_106462 + callba Function106464 + call FinishExitMenu + ret +; 1013d6 + +Function1013d6: ; 1013d6 + callba HDMATransferAttrMapAndTileMapToWRAMBank3 + ret +; 1013dd + +Function1013dd: ; 1013dd + call CGBOnly_LoadEDTile + ret +; 1013e1 + +Function1013e1: ; 1013e1 ; unreferenced + push de + inc de + ld b, a + ld c, 0 +.asm_1013e6 + inc c + ld a, [hli] + ld [de], a + inc de + and a + jr z, .asm_1013f1 + dec b + jr nz, .asm_1013e6 + scf + +.asm_1013f1 + pop de + ld a, c + ld [de], a + ret +; 1013f5 + +Function1013f5: ; 1013f5 + ld a, [hli] + ld [de], a + inc de + ld c, a +.asm_1013f9 + ld a, [hli] + ld [de], a + inc de + dec c + jr nz, .asm_1013f9 + ret +; 101400 + +Function101400: ; 101400 ; unreferenced + ld a, [de] + inc de + cp [hl] + jr nz, asm_101416 + inc hl + +Function101406: ; 101406 + ld c, a + ld b, 0 +.asm_101409 + ld a, [de] + inc de + cp [hl] + jr nz, asm_101416 + inc hl + dec bc + ld a, b + or c + jr nz, .asm_101409 + and a + ret + +asm_101416 + scf + ret +; 101418 + +Function101418: ; 101418 + call GetJoypad + ld a, [hJoyDown] + and SELECT + A_BUTTON + cp SELECT + A_BUTTON + jr z, .asm_101425 + xor a + ret + +.asm_101425 + ld a, $f7 + ld [wcd2b], a + scf + ret +; 10142c + +Function10142c: ; 10142c + ld a, $01 + ld [wc305], a + callba Function115e18 + ret +; 101438 + +Function101438: ; 101438 + ld hl, wcd29 + set 6, [hl] + ld a, [wcd26] + ld hl, Jumptable_101457 + rst JumpTable + ld a, [wcd26] + bit 7, a + ret z + ld a, 0 + ld [wcd26], a + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ret +; 101457 + +Jumptable_101457: ; 101457 + dw Function10145b + dw Function101467 +; 10145b + +Function10145b: ; 10145b + ld a, $3c + ld [wcd42], a + ld a, [wcd26] + inc a + ld [wcd26], a + +Function101467: ; 101467 + ld hl, wcd42 + dec [hl] + ret nz + ld a, [wcd26] + set 7, a + ld [wcd26], a + ret +; 101475 + +Function101475: ; 101475 + ld hl, wcd29 + set 6, [hl] + ld a, [wcd26] + ld hl, Jumptable_101494 + rst JumpTable + ld a, [wcd26] + bit 7, a + ret z + ld a, 0 + ld [wcd26], a + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ret +; 101494 + +Jumptable_101494: ; 101494 + dw Function10149a + dw Function1014a6 + dw Function1014b7 +; 10149a + +Function10149a: ; 10149a + ld a, $28 + ld [wcd42], a + ld a, [wcd26] + inc a + ld [wcd26], a + +Function1014a6: ; 1014a6 + ld hl, wcd42 + dec [hl] + ret nz + ld a, $50 + ld [wcd42], a + ld a, [wcd26] + inc a + ld [wcd26], a + +Function1014b7: ; 1014b7 + call GetJoypad + ld a, [hJoyPressed] + and $03 + jr nz, .asm_1014c5 + ld hl, wcd42 + dec [hl] + ret nz + +.asm_1014c5 + ld a, [wcd26] + set 7, a + ld [wcd26], a + ret +; 1014ce + +Function1014ce: ; 1014ce + callba Function100720 + callba StartMobileInactivityTimer + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ret +; 1014e2 + +Function1014e2: ; 1014e2 + ld hl, wcd29 + set 6, [hl] + ld a, 0 + ld [wcd26], a + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ret +; 1014f4 + +Function1014f4: ; 1014f4 + callba EnableMobile + ld hl, wcd29 + set 6, [hl] + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ret +; 101507 + +Function101507: ; 101507 + ld de, wcd30 + ld hl, $40 + ld bc, $40 + ld a, $02 + call Function3e32 + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ret +; 10151d + +Function10151d: ; 10151d ; unreferenced + ld a, $34 + call Function3e32 + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ret +; 10152a + +Function10152a: ; 10152a + ld a, $36 + call Function3e32 + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ret +; 101537 + +Function101537: ; 101537 + ld a, $0a + call Function3e32 + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ret +; 101544 + +Function101544: ; 101544 + callba StartMobileInactivityTimer + ld a, $12 + call Function3e32 + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ret +; 101557 + +Function101557: ; 101557 + callba StartMobileInactivityTimer + ld hl, wcd53 + ld a, $08 + call Function3e32 + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ret +; 10156d + +Function10156d: ; 10156d + call Function101418 + ret c + +Function101571: ; 101571 + callba Function10032e + ret c + ret z + ld a, e + cp $01 + jr z, .asm_101582 + ld [wcd2b], a + ret + +.asm_101582 + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ret +; 10158a + +Function10158a: ; 10158a + callba IncrementMobileInactivityTimerBy1Frame + ld a, [wMobileInactivityTimerMinutes] + cp $0a + jr c, Function10156d + ld a, $fb + ld [wcd2b], a + ret +; 10159d + +Function10159d: ; 10159d + ld de, wc608 + callba Function100edf + ld de, wc608 + ld a, $05 + ld hl, w5_d800 + call Function10174c + ld a, 0 + ld [wcd26], a + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ret +; 1015be + +Function1015be: ; 1015be + ld de, wc608 + callba Function100eed + ld de, wc608 + ld a, $05 + ld hl, w5_d800 + call Function10174c + ld a, 0 + ld [wcd26], a + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ret +; 1015df + +Function1015df: ; 1015df + ld de, wc608 + callba Function100ef4 + ld de, wc608 + ld a, $05 + ld hl, w5_d800 + call Function10174c + ld a, 0 + ld [wcd26], a + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ret +; 101600 + +Function101600: ; 101600 + ld hl, w5_d800 + ld de, wc608 + ld bc, $1e0 + ld a, $05 + call FarCopyWRAM + ld de, wc608 + callba Function100ee6 + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ret +; 10161f + +Function10161f: ; 10161f + call Function101649 + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ret +; 10162a + +Function10162a: ; 10162a + call Function101663 + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ret +; 101635 + +Function101635: ; 101635 + ld de, wc608 + ld bc, $1e0 + call FarCopyWRAM + ret +; 10163f + +Function10163f: ; 10163f + ld hl, wc608 + ld bc, $1e0 + call FarCopyWRAM + ret +; 101649 + +Function101649: ; 101649 + ld a, $05 + ld hl, w5_d800 + call Function101635 + ld a, $05 + ld de, w5_da00 + call Function10163f + ret +; 10165a + +Function10165a: ; 10165a + ld a, $05 + ld hl, w5_da00 + call Function101635 + ret +; 101663 + +Function101663: ; 101663 + ld a, $05 + ld hl, w5_d800 + call Function101635 + ld a, $05 + ld de, w5_dc00 + call Function10163f + ret +; 101674 + +Function101674: ; 101674 ; unreferenced + ld a, $05 + ld hl, w5_dc00 + call Function101635 + ret +; 10167d + +Function10167d: ; 10167d + ld a, 0 + ld [wcd26], a + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ret +; 10168a + +Function10168a: ; 10168a + call Function101418 + ret c + +Function10168e: ; 10168e + ld b, 0 + ld c, $01 + callba Function10079c + ret c + ld c, $01 + ld b, $03 + callba AdvanceMobileInactivityTimerAndCheckExpired + ret c + ld a, [wcd26] + ld hl, Jumptable_1016c3 + rst JumpTable + ld hl, wcd29 + set 6, [hl] + ld a, [wcd26] + bit 7, a + ret z + ld a, 0 + ld [wcd26], a + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ret +; 1016c3 + +Jumptable_1016c3: ; 1016c3 + dw Function1016cf + dw Function1016de + dw Function1016f8 + dw Function101705 + dw Function101719 + dw Function101724 +; 1016cf + +Function1016cf: ; 1016cf + ld hl, wcd3a + inc [hl] + call Function10176f + ld a, [wcd26] + inc a + ld [wcd26], a + ret +; 1016de + +Function1016de: ; 1016de + call Function10177b + jr nc, .asm_1016eb + ld a, [wcd26] + inc a + ld [wcd26], a + ret + +.asm_1016eb + ld a, $ff + ld [wcd39], a + ld a, [wcd26] + inc a + ld [wcd26], a + ret +; 1016f8 + +Function1016f8: ; 1016f8 + ld a, 0 + ld [wcd27], a + ld a, [wcd26] + inc a + ld [wcd26], a + ret +; 101705 + +Function101705: ; 101705 + callba Function100382 + ld a, [wcd27] + bit 7, a + ret z + ld a, [wcd26] + inc a + ld [wcd26], a + ret +; 101719 + +Function101719: ; 101719 + call Function1017c7 + ld a, [wcd26] + inc a + ld [wcd26], a + ret +; 101724 + +Function101724: ; 101724 + ld a, [wcd39] + cp $ff + jr z, .asm_101731 + ld a, 0 + ld [wcd26], a + ret + +.asm_101731 + ld a, [wcd26] + set 7, a + ld [wcd26], a + ret +; 10173a + +Unknown_10173a: + db $50 + +Function10173b: ; 10173b + push bc + push af + ld a, [hli] + ld h, [hl] + ld l, a + ld a, [Unknown_10173a] + ld c, a + ld b, 0 + pop af + call AddNTimes + pop bc + ret +; 10174c + +Function10174c: ; 10174c + ld [wcd3d], a + ld a, l + ld [wcd3e], a + ld a, h + ld [wcd3f], a + ld a, e + ld [wcd3b], a + ld a, d + ld [wcd3c], a + ld a, c + ld [wcd40], a + ld a, b + ld [wcd41], a + xor a + ld [wcd39], a + ld [wcd3a], a + ret +; 10176f + +Function10176f: ; 10176f + ld hl, wccb4 + ld bc, $54 + ld a, $11 + call ByteFill + ret +; 10177b + +Function10177b: ; 10177b + ld a, [Unknown_10173a] + ld c, a + ld b, 0 + ld a, [wcd3a] + ld hl, 0 + call AddNTimes + ld e, l + ld d, h + ld hl, wcd40 + ld a, [hli] + ld h, [hl] + ld l, a + ld a, l + sub e + ld l, a + ld a, h + sbc d + ld h, a + jr c, .asm_1017a0 + add hl, bc + call Function1017b0 + scf + ret + +.asm_1017a0 + ld a, $ff + ld [wcd39], a + add hl, bc + ld a, h + or l + ret z + ld c, l + ld b, h + call Function1017b0 + xor a + ret +; 1017b0 + +Function1017b0: ; 1017b0 + ld a, c + ld [wccb4], a + push bc + ld a, [wcd3a] + dec a + ld hl, wcd3b + call Function10173b + pop bc + ld de, wccb5 + call CopyBytes + ret +; 1017c7 + +Function1017c7: ; 1017c7 + ld a, [wcc60] + ld c, a + ld b, 0 + ld a, [wcd3a] + dec a + ld hl, wcd3e + call Function10173b + ld e, l + ld d, h + ld hl, wcc61 + ld a, [wcd3d] + call FarCopyWRAM + and a + ret +; 1017e4 + +Function1017e4: ; 1017e4 + ld a, 0 + ld [wcd27], a + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ret +; 1017f1 + +Function1017f1: ; 1017f1 + call Function101418 + ret c + +Function1017f5: ; 1017f5 + ld b, 0 + ld c, $01 + callba Function10079c + ret c + ld c, $01 + ld b, $03 + callba AdvanceMobileInactivityTimerAndCheckExpired + ret c + callba Function100382 + ld a, [wcd27] + bit 7, a + jr nz, .next + ld hl, wcd29 + set 6, [hl] + ret + +.next + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ret +; 101826 + +Function101826: ; 101826 + ld a, [wcd21] + cp $02 + jr z, .asm_101833 + cp $01 + jr z, .asm_101844 + jr .asm_101869 + +.asm_101833 + ld hl, Unknown_10186f + ld de, wccb4 + call Function1013f5 + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ret + +.asm_101844 + callba Function103654 + ld a, c + ld hl, Unknown_101882 + cp $01 + jr z, .asm_10185b + ld hl, Unknown_101895 + cp $02 + jr z, .asm_10185b + jr .asm_101869 + +.asm_10185b + ld de, wccb4 + call Function1013f5 + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ret + +.asm_101869 + ld a, $fe + ld [wcd2b], a + ret +; 10186f + + +SECTION "ascii 10186f", ROMX + + charmap " ", $20 ; revert to ascii + +Unknown_10186f: + db .end - @ + db $19, $73, $09, $13, "trade_crystal" +.end db 0 + +Unknown_101882: + db .end - @ + db $19, $67, $10, $01, "free__crystal" +.end db 0 + +Unknown_101895: + db .end - @ + db $19, $67, $10, $01, "limit_crystal" +.end db 0 +; 1018a8 + + +SECTION "bank40_3", ROMX + +Function1018a8: ; 1018a8 + ld hl, wccb5 + ld de, wcc61 + ld a, $04 + call Function101406 + jr c, .asm_1018d0 + ld hl, wccb9 + ld de, wcc65 + ld a, $06 + call Function101406 + jr c, .asm_1018ca + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ret + +.asm_1018ca + ld a, $f6 + ld [wcd2b], a + ret + +.asm_1018d0 + ld a, $f5 + ld [wcd2b], a + ret +; 1018d6 + +Function1018d6: ; 1018d6 + call Function1018ec + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ret +; 1018e1 + +Function1018e1: ; 1018e1 + call Function1018fb + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ret +; 1018ec + +Function1018ec: ; 1018ec + ld a, $0a + ld hl, wccb4 + ld [hli], a + ld c, a +.asm_1018f3 + call Random + ld [hli], a + dec c + jr nz, .asm_1018f3 + ret +; 1018fb + +Function1018fb: ; 1018fb + ld a, [wcd2f] + and a + jr z, .asm_101906 + ld hl, wcc61 + jr .asm_101909 + +.asm_101906 + ld hl, wccb5 + +.asm_101909 + ld de, LinkBattleRNs + ld bc, 10 + call CopyBytes + ret +; 101913 + +Function101913: ; 101913 + ld hl, wcd2a + set 0, [hl] + xor a + ld [wc30d], a + ld hl, wcd29 + res 4, [hl] + xor a + ld [wc305], a + ld hl, wcd29 + res 7, [hl] + ld a, $90 + ld [hWY], a + ld a, [wcd21] + cp $01 + jr z, .asm_10193f + cp $02 + jr z, .asm_101945 + ld a, $71 + ld [wMobileCommsJumptableIndex], a + ret + +.asm_10193f + ld a, $66 + ld [wMobileCommsJumptableIndex], a + ret + +.asm_101945 + ld a, $65 + ld [wMobileCommsJumptableIndex], a + ret +; 10194b + +Function10194b: ; 10194b + call DisableSpriteUpdates + call ClearSprites + callba Function1021f9 + ld hl, wcd29 + bit 3, [hl] + jr nz, .asm_101967 + call Function1013c0 + ld a, $71 + ld [wMobileCommsJumptableIndex], a + ret + +.asm_101967 + ld a, $60 + ld [wMobileCommsJumptableIndex], a + ret +; 10196d + +_SelectMonsForMobileBattle: ; 10196d + callba BlankScreen + callba Mobile_CommunicationStandby + ld hl, wcd29 + set 5, [hl] + ld hl, wcd2a + set 6, [hl] + ld a, $06 + ld [wccb4], a + ld hl, wPlayerMonSelection + ld de, wccb5 + ld bc, 3 + call CopyBytes + ld hl, wcd6c + ld a, [hli] + ld [wccb8], a + ld a, [hli] + ld [wccb9], a + ld a, [hl] + ld [wccba], a + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ret +; 1019ab + +_StartMobileBattle: ; 1019ab + call CopyOtherPlayersBattleMonSelection + callba Function100754 + xor a + ld [wdc5f], a + ld [wdc60], a + callba BlankScreen + call SpeechTextBox + callba Function100846 + ld c, 120 + call DelayFrames + callba ClearTileMap + call .CopyOTDetails + call StartMobileBattle + ld a, [wcd2b] + cp $fc + jr nz, .asm_1019e6 + xor a + ld [wcd2b], a +.asm_1019e6 + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ret +; 1019ee + +.CopyOTDetails: ; 1019ee + ld a, [rSVBK] + push af + ld a, 5 + ld [rSVBK], a + + ld bc, w5_dc0d + ld de, w5_dc11 + callba GetMobileOTTrainerClass + + pop af + ld [rSVBK], a + + ld a, c + ld [OtherTrainerClass], a + ld hl, OTPlayerName + ld de, OTClassName + ld bc, NAME_LENGTH + call CopyBytes + ld a, [wcd2f] + and a + ld a, 2 + jr z, .got_link_player_number + ld a, 1 +.got_link_player_number + ld [hLinkPlayerNumber], a + ret +; 101a21 + +StartMobileBattle: ; 101a21 + ; force stereo and fast text speed + ld hl, Options + ld a, [hl] + push af + and (1 << STEREO) + or 1 ; 1 frame per character i.e. fast text + ld [hl], a + ld a, 1 + ld [wDisableTextAcceleration], a + callba BattleIntro + callba DoBattle + callba ShowLinkBattleParticipantsAfterEnd + xor a + ld [wDisableTextAcceleration], a + ld a, $ff + ld [hLinkPlayerNumber], a + pop af + ld [Options], a + ret +; 101a4f + +Function101a4f: ; 101a4f + ld a, 1 + ld [wDisableTextAcceleration], a + callba DisplayLinkBattleResult + xor a + ld [wDisableTextAcceleration], a + callba CleanUpBattleRAM + callba LoadPokemonData + call Function1013c0 + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ret +; 101a75 + +CopyOtherPlayersBattleMonSelection: ; 101a75 + ld hl, wcc61 + ld de, wOTMonSelection + ld bc, 3 + call CopyBytes + ld de, wcc64 + callba Function100772 + callba Function101050 + callba LoadSelectedPartiesForColosseum + ret +; 101a97 + +Function101a97: ; 101a97 + callba Function115d99 + ld hl, wcd29 + set 7, [hl] + ld c, $02 + call Function10142c + ld hl, wcd29 + set 6, [hl] + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ret +; 101ab4 + +Function101ab4: ; 101ab4 + ld e, $01 + call Function101ee4 + ld hl, wcd29 + set 5, [hl] + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ret +; 101ac6 + +Function101ac6: ; 101ac6 + callba Function115d99 + ld hl, wcd29 + set 7, [hl] + ld c, $02 + call Function10142c + ld hl, wcd29 + set 6, [hl] + xor a + ld [wcd2f], a + ld de, wdc42 + call Function102068 + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ret +; 101aed + +Function101aed: ; 101aed + callba Function115d99 + ld hl, wcd29 + set 7, [hl] + ld c, $02 + call Function10142c + ld hl, wcd29 + set 6, [hl] + ld a, $01 + ld [wcd2f], a + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ret +; 101b0f + +Function101b0f: ; 101b0f + ld c, 0 + call Function10142c + ld e, $03 + call Function101ee4 + ld hl, wcd29 + set 5, [hl] + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ld a, 0 + ld [wcd26], a + ret +; 101b2b + +Function101b2b: ; 101b2b + callba Function100579 + ld hl, wcd29 + set 2, [hl] + ld a, [wcd26] + bit 7, a + ret z + call Function1013dd + ld a, 0 + ld [wcd26], a + ld a, [wMenuCursorY] + cp $01 + jr z, .asm_101b51 + ld a, $02 + ld [wcd2b], a + ret + +.asm_101b51 + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ret +; 101b59 + +Function101b59: ; 101b59 + ld c, $02 + call Function10142c + ld e, $02 + call Function101ee4 + ld hl, wcd29 + set 5, [hl] + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ret +; 101b70 + +Function101b70: ; 101b70 + ld c, $02 + call Function10142c + ld e, $04 + call Function101ee4 + ld hl, wcd29 + set 5, [hl] + call UpdateSprites + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ld a, 0 + ld [wcd26], a + ret +; 101b8f + +Function101b8f: ; 101b8f + callba Function1005c3 + ld hl, wcd29 + set 2, [hl] + ld a, [wcd26] + bit 7, a + ret z + call Function1013dd + ld a, 0 + ld [wcd26], a + ld a, [wMenuCursorY] + cp $01 + jr z, .asm_101bbc + ld a, $01 + ld [wcd2f], a + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ret + +.asm_101bbc + xor a + ld [wcd2f], a + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ret +; 101bc8 + +Function101bc8: ; 101bc8 + ld c, $02 + call Function10142c + ld e, $08 + call Function101ee4 + call Function102048 + call Function1013dd + ld a, 0 + ld [wcd26], a + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ret +; 101be5 + +Function101be5: ; 101be5 + callba Function100579 + ld hl, wcd29 + set 2, [hl] + ld a, [wcd26] + bit 7, a + ret z + call Function1013dd + ld a, 0 + ld [wcd26], a + ld a, [wMenuCursorY] + cp $01 + jr nz, .asm_101c0b + ld a, $2a + ld [wMobileCommsJumptableIndex], a + ret + +.asm_101c0b + ld a, $02 + ld [wcd2b], a + ret +; 101c11 + +Function101c11: ; 101c11 + ld a, $01 + ld [wdc5f], a + ld e, $09 + call Function101ee4 + call Function102048 + ld hl, wcd29 + set 5, [hl] + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ret +; 101c2b + +Function101c2b: ; 101c2b + ld a, $02 + ld [wdc5f], a + ld e, $07 + call Function101ee4 + ld hl, wcd29 + set 5, [hl] + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ret +; 101c42 + +Function101c42: ; 101c42 + ld hl, wcd2a + set 1, [hl] + call Function100665 + ld a, $47 + ld [wMobileCommsJumptableIndex], a + ret +; 101c50 + +Function101c50: ; 101c50 + ld e, $0a + call Function101ee4 + ld hl, wcd29 + set 2, [hl] + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ret +; 101c62 + +Function101c62: ; 101c62 + callba Function115d99 + ld hl, wcd29 + set 7, [hl] + ld c, $01 + call Function10142c + xor a + ld [wc30d], a + ld hl, wcd29 + res 4, [hl] + ld e, $0b + call Function101ee4 + ld hl, wcd29 + set 5, [hl] + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ld a, 0 + ld [wcd26], a + ret +; 101c92 + +Function101c92: ; 101c92 + callba Function100675 + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ret +; 101ca0 + +Function101ca0: ; 101ca0 + ld c, $02 + call Function10142c + ld e, $0c + call Function101ee4 + ld hl, wcd29 + set 5, [hl] + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ld a, 0 + ld [wcd26], a + ret +; 101cbc + +Function101cbc: ; 101cbc + ld a, $01 + ld [wcd2b], a + ret +; 101cc2 + +Function101cc2: ; 101cc2 ; unreferenced + ld a, $02 + ld [wcd2b], a + ret +; 101cc8 + +Function101cc8: ; 101cc8 + ld a, $01 + ld [wc314], a + ld a, $01 + ld [wc30d], a + ld hl, wcd29 + set 4, [hl] + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ret +; 101cdf + +Function101cdf: ; 101cdf + ld a, $06 + ld [wc314], a + ld a, $01 + ld [wc30d], a + ld hl, wcd29 + set 4, [hl] + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ret +; 101cf6 + +Function101cf6: ; 101cf6 + ld a, $0b + ld [wc314 + 1], a + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ret +; 101d03 + +Function101d03: ; 101d03 + ld a, $0e + ld [wc314 + 1], a + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ret +; 101d10 + +Function101d10: ; 101d10 + ld c, $01 + call Function10142c + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + jr Function101d2a + +Function101d1e: ; 101d1e + ld c, $03 + call Function10142c + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + +Function101d2a: ; 101d2a + call Function101418 + ret c + ld hl, wcd29 + set 6, [hl] + ld a, [wcd26] + ld hl, Jumptable_101d4d + rst JumpTable + ld a, [wcd26] + bit 7, a + ret z + ld a, 0 + ld [wcd26], a + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ret +; 101d4d + +Jumptable_101d4d: ; 101d4d + dw Function101d51 + dw Function101d5d +; 101d51 + +Function101d51: ; 101d51 + ld a, $3c + ld [wcd42], a + ld a, [wcd26] + inc a + ld [wcd26], a + +Function101d5d: ; 101d5d + ld hl, wcd42 + dec [hl] + ret nz + ld a, [wcd26] + set 7, a + ld [wcd26], a + ret +; 101d6b + +Function101d6b: ; 101d6b + ld a, [wc30d] + and a + ret nz + ld hl, wcd29 + res 4, [hl] + ld a, $64 + ld [wMobileCommsJumptableIndex], a + ret +; 101d7b + +Function101d7b: ; 101d7b + callba Function10138b + ld b, 0 + ld hl, Unknown_101d8d + add hl, bc + ld c, [hl] + ld a, c + ld [wMobileCommsJumptableIndex], a + ret +; 101d8d + +Unknown_101d8d: ; 101d8d + db $15, $15, $1f, $1f, $0c, $12, $3a, $3a +; 101d95 + +Function101d95: ; 101d95 + call Function101ee2 + call LoadStandardMenuDataHeader + ld e, $0e + call Function101ee4 + ld hl, wcd29 + set 5, [hl] + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ld a, 0 + ld [wcd26], a + ret +; 101db2 + +Function101db2: ; 101db2 + callba Function103302 + call ExitMenu + ld hl, wcd29 + set 5, [hl] + jr c, .asm_101dca + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ret + +.asm_101dca + ld a, $02 + ld [wcd2b], a + ret +; 101dd0 + +Function101dd0: ; 101dd0 + ld hl, wdc41 + bit 1, [hl] + jr nz, .asm_101ddd + ld a, $19 + ld [wMobileCommsJumptableIndex], a + ret + +.asm_101ddd + ld a, $1b + ld [wMobileCommsJumptableIndex], a + ret +; 101de3 + +Function101de3: ; 101de3 + call Function101ecc + call Function101ead + jr c, .asm_101df3 + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ret + +.asm_101df3 + call Function101e98 + jr c, .asm_101e00 + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ret + +.asm_101e00 + call Function101ed3 + ld a, $02 + ld [wcd2b], a + ret +; 101e09 + +Function101e09: ; 101e09 + call Function101ead + jr c, .asm_101e16 + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ret + +.asm_101e16 + call Function101ecc + call Function101e98 + push af + call Function101ed3 + pop af + jr c, .asm_101e2b + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ret + +.asm_101e2b + ld a, $02 + ld [wcd2b], a + ret +; 101e31 + +Function101e31: ; 101e31 + ld a, $3a + ld [wMobileCommsJumptableIndex], a + jp Function101c2b +; 101e39 + +Function101e39: ; 101e39 + call Function1020bf + push af + call Function101ed3 + pop af + jr c, .asm_101e49 + ld a, $2a + ld [wMobileCommsJumptableIndex], a + ret + +.asm_101e49 + ld a, $02 + ld [wcd2b], a + ret +; 101e4f + +Function101e4f: ; 101e4f + ld e, $06 + call Function101ee4 + call Function1013d6 + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ld a, 0 + ld [wcd26], a + ret +; 101e64 + +Function101e64: ; 101e64 + call Function101ecc + call Function1020a8 + push af + call Function101ed3 + pop af + jr c, .asm_101e77 + ld a, $24 + ld [wMobileCommsJumptableIndex], a + ret + +.asm_101e77 + ld hl, wcd29 + set 5, [hl] + ld a, $02 + ld [wcd2b], a + ret +; 101e82 + +Function101e82: ; 101e82 ; unreferenced + call Function101ecc + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ret +; 101e8d + +Function101e8d: ; 101e8d ; unreferenced + call Function101ed3 + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ret +; 101e98 + +Function101e98: ; 101e98 + call ClearSprites + callba Function8adb3 + ret c + ld hl, GameTimerPause + set 7, [hl] + ld hl, wdc41 + set 4, [hl] + ret +; 101ead + +Function101ead: ; 101ead + ld hl, GameTimerPause + bit 7, [hl] + jr nz, .asm_101ec8 + ld hl, wdc41 + bit 2, [hl] + jr z, .asm_101eca + ld a, [wcd2f] + and a + jr nz, .asm_101ec8 + ld hl, wdc41 + bit 1, [hl] + jr z, .asm_101eca + +.asm_101ec8 + xor a + ret + +.asm_101eca + scf + ret +; 101ecc + +Function101ecc: ; 101ecc + call Function101ee2 + call FadeToMenu + ret +; 101ed3 + +Function101ed3: ; 101ed3 + call Function1013aa + callba Function115d99 + ld hl, wcd29 + set 7, [hl] + ret +; 101ee2 + +Function101ee2: ; 101ee2 + ld e, 0 + +Function101ee4: ; 101ee4 + ld d, 0 + ld hl, Unknown_101ef5 + add hl, de + add hl, de + ld a, [hli] + ld d, [hl] + ld e, a + callba Function100504 + ret +; 101ef5 + +Unknown_101ef5: ; 101ef5 + dw String_101f13 + dw String_101f14 + dw String_101f32 + dw String_101f4f + dw String_101f69 + dw String_101f81 + dw String_101f93 + dw String_101faa + dw String_101fc5 + dw String_101fd2 + dw String_101fe1 + dw String_101fef + dw String_102000 + dw String_10200c + dw String_102014 + +String_101f13: ; 101f13 + db "@" + +String_101f14: ; 101f14 + db "モバイルアダプタを つかって" + next "おともだちと つうしんします@" + +String_101f32: ; 101f32 + db "でんわを かけるひとには" + next "つうわりょうきんが かかります@" + +String_101f4f: ; 101f4f + db "モバイルアダプタの じゅんびは" + next "できて いますか?@" + +String_101f69: ; 101f69 + db "あなたが おともだちに" + next "でんわを かけますか?@" + +String_101f81: ; 101f81 + db "めいしフ,ルダーを" + next "つかいますか?@" + +String_101f93: ; 101f93 + db "でんわばんごうを にゅうりょく" + next "してください@" + +String_101faa: ; 101faa + db "それでは おともだちからの" + next "でんわを おまちします…@" + +String_101fc5: ; 101fc5 + next "に でんわを かけます@" + +String_101fd2: ; 101fd2 + next "に でんわを かけています@" + +String_101fe1: ; 101fe1 + db "でんわが つながりました!@" + +String_101fef: ; 101fef + db "つうわを" + next "しゅうりょう します…@" + +String_102000: ; 102000 + db "つうしん しゅうりょう@" + +String_10200c: ; 10200c + db "つうわ じかん@" + +String_102014: ; 102014 + db "それでは つうしんの" + next "せっていを してください@" +; 10202c + +Function10202c: ; 10202c + callba Function115d99 + ld hl, wcd29 + set 7, [hl] + ld c, $02 + call Function10142c + ld e, $0d + call Function101ee4 + hlcoord 4, 4 + call Function100681 + ret +; 102048 + +Function102048: ; 102048 + call Function10204c + ret +; 10204c + +Function10204c: ; 10204c + hlcoord 3, 2 + ld c, $10 + ld de, wcd53 +.asm_102054 + ld a, [de] + inc de + and a + jr z, .asm_102067 + sub $30 + jr c, .asm_102067 + cp $0a + jr nc, .asm_102067 + add $f6 + ld [hli], a + dec c + jr nz, .asm_102054 + +.asm_102067 + ret +; 102068 + +Function102068: ; 102068 + ld hl, wcd53 + ld c, $08 +.asm_10206d + ld a, [de] + call Function102080 + jr c, .asm_10207f + ld a, [de] + swap a + call Function102080 + jr c, .asm_10207f + inc de + dec c + jr nz, .asm_10206d + +.asm_10207f + ret +; 102080 + +Function102080: ; 102080 + and $0f + cp $0f + jr z, .asm_10208a + add $30 + ld [hli], a + ret + +.asm_10208a + ld [hl], 0 + scf + ret +; 10208e + +Function10208e: ; 10208e + push de + ld h, d + ld l, e + ld de, wdc42 + ld bc, 8 + call CopyBytes + pop de + ret +; 10209c + +Function10209c: ; 10209c + ld a, $ff + ld hl, wdc42 + ld bc, 8 + call ByteFill + ret +; 1020a8 + +Function1020a8: ; 1020a8 + call Function10209c + ld c, $01 + ld de, wdc42 + callba Function17a68f + ret c + call Function10208e + call Function102068 + xor a + ret +; 1020bf + +Function1020bf: ; 1020bf + call ClearSprites + callba Function8aba9 + ld a, c + and a + jr z, .asm_1020e8 + dec a + ld hl, $a04c + ld bc, $25 + call AddNTimes + ld d, h + ld e, l + ld a, $04 + call GetSRAMBank + call Function10208e + call Function102068 + call CloseSRAM + xor a + ret + +.asm_1020e8 + scf + ret +; 1020ea + +Function1020ea: ; 1020ea + ld hl, wdc41 + bit 4, [hl] + jr z, .quit + ld hl, wdc41 + bit 2, [hl] + jr nz, .quit + call Function10218d + ld hl, wc608 + bit 4, [hl] + jr z, .quit + ld hl, wc608 + bit 2, [hl] + jr nz, .quit + call Function102112 + jr z, .quit + and a + ret + +.quit + scf + ret +; 102112 + +Function102112: ; 102112 + ld a, $04 + call GetSRAMBank + ld hl, $a041 + ld c, 40 +.outer_loop + push hl + ld de, $c60f + ld b, 31 +.inner_loop + ld a, [de] + cp [hl] + jr nz, .not_matching + inc de + inc hl + dec b + jr nz, .inner_loop + pop hl + xor a + jr .done + +.not_matching + pop hl + ld de, 37 + add hl, de + dec c + jr nz, .outer_loop + ld a, $01 + and a + jr .done ; useless jr + +.done + push af + call CloseSRAM + pop af + ret +; 102142 + +Function102142: ; 102142 + call Function10218d + call Function102180 + ld hl, UnknownText_0x1021d1 + call MenuTextBox + ld de, SFX_LEVEL_UP + call PlaySFX + call JoyWaitAorB + call ExitMenu + call Function10219f + ld hl, UnknownText_0x1021d6 + call MenuTextBox + call YesNoBox + call ExitMenu + jr c, .asm_10217c + call Function1021b8 + jr c, .asm_10217c + call Function10218d + call Function102180 + ld hl, UnknownText_0x1021db + call PrintText + +.asm_10217c + call Function1013d6 + ret +; 102180 + +Function102180: ; 102180 + ld hl, wc608 + 1 + ld de, StringBuffer2 + ld bc, 11 + call CopyBytes + ret +; 10218d + +Function10218d: ; 10218d + ld hl, w5_dc00 + ld de, wc608 + ld bc, $26 + ld a, $05 + call FarCopyWRAM + ld de, wc608 + 1 ; useless + ret +; 10219f + +Function10219f: ; 10219f + call FadeToMenu + call Function10218d + ld de, wc608 + 1 + callba Function8ac4e + call JoyWaitAorB + call PlayClickSFX + call Function1013aa + ret +; 1021b8 + +Function1021b8: ; 1021b8 + call FadeToMenu + call Function10218d + ld de, wPlayerMoveStruct + callba Function8ac70 + ld a, c + ld [StringBuffer1], a + push af + call Function1013aa + pop af + ret +; 1021d1 + +UnknownText_0x1021d1: ; 1021d1 + text_jump UnknownText_0x1bd19a + db "@" + +UnknownText_0x1021d6: ; 1021d1 + text_jump UnknownText_0x1bd1ba + db "@" + +UnknownText_0x1021db: ; 1021d1 + text_jump UnknownText_0x1bd1dd + db "@" +; 1021e0 + +Function1021e0: ; 1021e0 + call MenuTextBox + call JoyWaitAorB + call ExitMenu + ret +; 1021ea + +UnknownText_0x1021ea: ; 1021ea + text_jump UnknownText_0x1bd201 + db "@" + +UnknownText_0x1021ef: + text_jump UnknownText_0x1bd211 + db "@" + +UnknownText_0x1021f4: + text_jump UnknownText_0x1bd223 + db "@" +; 1021f9 + +Function1021f9: ; 1021f9 + call Function102233 + ld a, $0 ; Function10234b + ld [wcd49], a + ld hl, wcd29 + bit 3, [hl] + res 3, [hl] + jr z, .asm_10220f + ld a, $1 ; Function102361 + ld [wcd49], a + +.asm_10220f + call Function1022ca + ld a, [wcd49] + ld hl, Jumptable_1022f5 + rst JumpTable + call Function102241 + call Function1022d0 + jr c, .asm_102231 + ld a, [wcd49] + bit 7, a + jr z, .asm_10220f + xor a + ld hl, wcd29 + bit 3, [hl] + ret z + scf + ret + +.asm_102231 + xor a + ret +; 102233 + +Function102233: ; 102233 + ld hl, wcd49 + ld bc, 10 + xor a + call ByteFill + call Function10304f + ret +; 102241 + +Function102241: ; 102241 + call Function10226a + call Function102274 + call Function10224b + ret +; 10224b + +Function10224b: ; 10224b + ld hl, wcd4b + bit 1, [hl] + jr nz, .asm_10225e + bit 2, [hl] + jr nz, .asm_10225e + call DelayFrame + call DelayFrame + xor a + ret + +.asm_10225e + res 1, [hl] + res 2, [hl] + callba Mobile_ReloadMapPart + scf + ret +; 10226a + +Function10226a: ; 10226a + ld hl, wcd4b + bit 0, [hl] + ret z + call Function10305d + ret +; 102274 + +Function102274: ; 102274 + ld hl, wcd4b + bit 3, [hl] + ret z + res 3, [hl] + ld de, 8 + call PlaySFX + ret +; 102283 + +Function102283: ; 102283 + ld a, $01 + ld [AttrMapEnd], a + ld hl, wcd4b + set 0, [hl] + ret +; 10228e + +Function10228e: ; 10228e + xor a + ld [AttrMapEnd], a + ld hl, wcd4b + res 0, [hl] + ret +; 102298 + +Function102298: ; 102298 + ld a, e + cp $02 + ret nz + ld hl, wcd4b + bit 6, [hl] + jr z, .asm_1022b6 + ld hl, wcd4b + bit 7, [hl] + ld hl, wcd4b + set 7, [hl] + ret nz + ld de, SFX_ELEVATOR_END + call PlaySFX + jr .asm_1022c1 + +.asm_1022b6 + ld hl, wcd4b + bit 7, [hl] + ld hl, wcd4b + res 7, [hl] + ret z + +.asm_1022c1 + call Function10304f + ld a, $01 + ld [AttrMapEnd], a + ret +; 1022ca + +Function1022ca: ; 1022ca + ld a, 30 + ld [OverworldDelay], a + ret +; 1022d0 + +Function1022d0: ; 1022d0 + callba Function10032e + ld a, [wcd2b] + and a + jr nz, .asm_1022f3 + call Function102298 + ld a, [OverworldDelay] + ld c, a + ld a, 30 + sub c + ld c, a + ld b, $03 + callba AdvanceMobileInactivityTimerAndCheckExpired + jr c, .asm_1022f3 + xor a + ret + +.asm_1022f3 + scf + ret +; 1022f5 + +Jumptable_1022f5: ; 1022f5 + dw Function10234b ; 00 + dw Function102361 ; 01 + dw Function10236e ; 02 + dw Function102387 ; 03 + dw Function1023a1 ; 04 + dw Function1025c7 ; 05 + dw Function1025dc ; 06 + dw Function1024f6 ; 07 + dw Function10250c ; 08 + dw Function1024a8 ; 09 + dw Function102591 ; 0a + dw Function1024a8 ; 0b + dw Function1025b0 ; 0c + dw Function1025bd ; 0d + dw Function102814 ; 0e + dw Function10283c ; 0f + dw Function102862 ; 10 + dw Function10286f ; 11 + dw Function1024a8 ; 12 + dw Function1028a5 ; 13 + dw Function1028ab ; 14 + dw Function1023b5 ; 15 + dw Function1023c6 ; 16 + dw Function1024af ; 17 + dw Function102416 ; 18 + dw Function102423 ; 19 + dw Function10244b ; 1a + dw Function1024af ; 1b + dw Function10246a ; 1c + dw Function102652 ; 1d + dw Function10266b ; 1e + dw Function1025e9 ; 1f + dw Function1025ff ; 20 + dw Function102738 ; 21 + dw Function102754 ; 22 + dw Function1026b7 ; 23 + dw Function1026c8 ; 24 + dw Function1028bf ; 25 + dw Function1028c6 ; 26 + dw Function1028d3 ; 27 + dw Function1028da ; 28 + dw Function1024a8 ; 29 + dw Function10248d ; 2a +; 10234b + +Function10234b: ; 10234b + call Function102d9a + call Function102dd3 + call Function102dec + ld hl, wcd4b + set 1, [hl] + ld a, [wcd49] + inc a + ld [wcd49], a + ret +; 102361 + +Function102361: ; 102361 + ld a, $cc + call Function1028e8 + ld a, [wcd49] + inc a + ld [wcd49], a + ret +; 10236e + +Function10236e: ; 10236e + call Function1028fc + ret nc + ld a, [wcd51] + cp $cc + jr z, .asm_10237f + ld a, $f2 + ld [wcd2b], a + ret + +.asm_10237f + ld a, [wcd49] + inc a + ld [wcd49], a + ret +; 102387 + +Function102387: ; 102387 + ld hl, wcd4b + set 6, [hl] + xor a + ld [wdc5f], a + ld de, MUSIC_ROUTE_30 + call PlayMusic + call Function102d9a + call Function102dd3 + ld a, $01 + ld [wMenuCursorY], a + +Function1023a1: ; 1023a1 + call Function102283 + call Function102db7 + call Function102dec + ld hl, wcd4b + set 1, [hl] + ld a, $1d + ld [wcd49], a + ret +; 1023b5 + +Function1023b5: ; 1023b5 + call Function10228e + call Function102a3b + call Function102b12 + ld a, [wcd49] + inc a + ld [wcd49], a + ret +; 1023c6 + +Function1023c6: ; 1023c6 + call Function102c48 + call Function102c87 + ld a, [wcd4c] + dec a + ld [CurPartyMon], a + xor a + ld [wPokemonWithdrawDepositParameter], a + callba RemoveMonFromPartyOrBox + ld hl, PartyCount + inc [hl] + ld a, [hli] + ld c, a + ld b, 0 + add hl, bc + ld [hl], $ff + ld a, [PartyCount] + ld [wcd4c], a + call Function102c07 + call Function102d48 + call Function102b32 + call Function102f50 + ld hl, wcd4b + set 1, [hl] + ld a, $14 + ld [wcd4e], a + ld a, 0 + ld [wcd4f], a + ld a, 0 + ld [wcd4a], a + ld a, [wcd49] + inc a + ld [wcd49], a + ret +; 102416 + +Function102416: ; 102416 + ld a, $aa + call Function1028e8 + ld a, [wcd49] + inc a + ld [wcd49], a + ret +; 102423 + +Function102423: ; 102423 + call Function102921 + ret nc + callba SaveAfterLinkTrade + callba TrainerRankings_Trades + callba BackupMobileEventIndex + ld hl, wcd4b + set 1, [hl] + ld a, 0 + ld [wcd4a], a + ld a, [wcd49] + inc a + ld [wcd49], a + ret +; 10244b + +Function10244b: ; 10244b + call Function102f32 + ld hl, wcd4b + set 1, [hl] + ld a, $19 + ld [wcd4e], a + ld a, 0 + ld [wcd4f], a + ld a, 0 + ld [wcd4a], a + ld a, [wcd49] + inc a + ld [wcd49], a + ret +; 10246a + +Function10246a: ; 10246a + call Function102d9a + ld hl, wcd29 + set 3, [hl] + call Function102e07 + ld hl, wcd4b + set 1, [hl] + ld a, $2a + ld [wcd49], a + ret +; 102480 + +Function102480: ; 102480 + ld c, $32 + call DelayFrames + ld a, [wcd49] + inc a + ld [wcd49], a + ret +; 10248d + +Function10248d: ; 10248d + ld a, [wcd49] + set 7, a + ld [wcd49], a + ret +; 102496 + +Function102496: ; 102496 + ld hl, wcd4e + dec [hl] + ret nz + ld a, 0 + ld [wcd4a], a + ld a, [wcd49] + inc a + ld [wcd49], a + ret +; 1024a8 + +Function1024a8: ; 1024a8 + callba Function1009f3 + ret c + +Function1024af: ; 1024af + call GetJoypad + ld a, [wcd4a] + ld hl, Jumptable_1024ba + rst JumpTable + ret +; 1024ba + +Jumptable_1024ba: ; 1024ba + dw Function1024c0 + dw Function1024cb + dw Function1024de +; 1024c0 + +Function1024c0: ; 1024c0 + ld hl, wcd4e + inc [hl] + ld a, [wcd4a] + inc a + ld [wcd4a], a + +Function1024cb: ; 1024cb + ld hl, wcd4e + dec [hl] + ret nz + ld a, [wcd4f] + inc a + ld [wcd4e], a + ld a, [wcd4a] + inc a + ld [wcd4a], a + +Function1024de: ; 1024de + ld hl, wcd4e + dec [hl] + jr z, .asm_1024e9 + ld a, [hJoyPressed] + and A_BUTTON | B_BUTTON + ret z + +.asm_1024e9 + ld a, 0 + ld [wcd4a], a + ld a, [wcd49] + inc a + ld [wcd49], a + ret +; 1024f6 + +Function1024f6: ; 1024f6 + call PlaceHollowCursor + ld hl, wcd4b + set 1, [hl] + ld a, [wcd4c] + call Function1028e8 + ld a, [wcd49] + inc a + ld [wcd49], a + ret +; 10250c + +Function10250c: ; 10250c + call Function1028fc + ret nc + ld a, [wcd51] + cp $0f + jr z, .asm_10254b + and a + jr z, .asm_102572 + cp $aa + jr z, .asm_102572 + cp $07 + jr nc, .asm_102572 + ld [wcd4d], a + dec a + ld [wd003], a + ld a, [wcd4c] + dec a + ld [wd002], a + call Function102b9c + call Function102bdc + jr c, .asm_10256d + callba Functionfb5dd + jr c, .asm_102568 + ld hl, wcd4b + set 1, [hl] + ld a, $0e + ld [wcd49], a + ret + +.asm_10254b + call Function103021 + ld hl, wcd4b + set 1, [hl] + ld a, 0 + ld [wcd4a], a + ld a, $1e + ld [wcd4e], a + ld a, $1e + ld [wcd4f], a + ld a, $29 + ld [wcd49], a + ret + +.asm_102568 + call Function102ff5 + jr .asm_102577 + +.asm_10256d + call Function102f85 + jr .asm_102577 + +.asm_102572 + call Function102fce + jr .asm_102577 + +.asm_102577 + ld hl, wcd4b + set 1, [hl] + ld a, 0 + ld [wcd4a], a + ld a, $1e + ld [wcd4e], a + ld a, $3c + ld [wcd4f], a + ld a, $09 + ld [wcd49], a + ret +; 102591 + +Function102591: ; 102591 + call Function102ee7 + ld hl, wcd4b + set 1, [hl] + ld a, 0 + ld [wcd4a], a + ld a, $1e + ld [wcd4e], a + ld a, $3c + ld [wcd4f], a + ld a, [wcd49] + inc a + ld [wcd49], a + ret +; 1025b0 + +Function1025b0: ; 1025b0 + ld a, $09 + call Function1028e8 + ld a, [wcd49] + inc a + ld [wcd49], a + ret +; 1025bd + +Function1025bd: ; 1025bd + call Function1028fc + ret nc + ld a, $04 + ld [wcd49], a + ret +; 1025c7 + +Function1025c7: ; 1025c7 + call Function102f6d + ld hl, wcd4b + set 1, [hl] + ld a, $0f + call Function1028e8 + ld a, [wcd49] + inc a + ld [wcd49], a + ret +; 1025dc + +Function1025dc: ; 1025dc + call Function1028fc + ret nc + ld a, [wcd49] + set 7, a + ld [wcd49], a + ret +; 1025e9 + +Function1025e9: ; 1025e9 + nop + ld hl, wcd4b + set 6, [hl] + call Function102b4e + ld hl, wcd4b + set 1, [hl] + ld a, [wcd49] + inc a + ld [wcd49], a + ret +; 1025ff + +Function1025ff: ; 1025ff + ld hl, wcd4b + set 2, [hl] + callba Function1009f3 + ret c + callba MobileMenuJoypad + ld a, [wMenuJoypadFilter] + and c + ret z + bit A_BUTTON_F, c + jr nz, .a_button + bit D_UP_F, c + jr nz, .d_up + bit D_DOWN_F, c + jr nz, .d_down + ret + +.a_button + ld hl, wcd4b + set 3, [hl] + ld a, $27 ; Function1028d3 + ld [wcd49], a + ret + +.d_up + ld a, [wMenuCursorY] + ld b, a + ld a, [OTPartyCount] + cp b + ret nz + call HideCursor + ld a, [PartyCount] + ld [wMenuCursorY], a + ld a, $1d ; Function102652 + ld [wcd49], a + ret + +.d_down + ld a, [wMenuCursorY] + cp $01 + ret nz + ld a, $23 ; Function1026b7 + ld [wcd49], a + ret +; 102652 + +Function102652: ; 102652 + nop + ld hl, wcd4b + set 6, [hl] + nop + call Function102b7b + nop + ld hl, wcd4b + set 1, [hl] + nop + ld a, [wcd49] + inc a + ld [wcd49], a + ret +; 10266b + +Function10266b: ; 10266b + ld hl, wcd4b + set 2, [hl] + callba Function1009f3 + ret c + callba MobileMenuJoypad + ld a, [wMenuJoypadFilter] + and c + ret z + bit A_BUTTON_F, c + jr nz, .a_button + bit D_DOWN_F, c + jr nz, .d_down + bit D_UP_F, c + jr nz, .d_up + ret + +.a_button + ld hl, wcd4b + set 3, [hl] + ld a, $21 ; Function102738 + ld [wcd49], a + ret + +.d_down + ld a, [wMenuCursorY] + dec a + ret nz + call HideCursor + ld a, $1f ; Function1025e9 + ld [wcd49], a + ret + +.d_up + ld a, [wMenuCursorY] + ld b, a + ld a, [PartyCount] + cp b + ret nz + ld a, $23 ; Function1026b7 + ld [wcd49], a + ret +; 1026b7 + +Function1026b7: ; 1026b7 + ld hl, wcd4b + set 6, [hl] + ld a, [wcd49] + inc a + ld [wcd49], a + ld a, 0 + ld [wcd4a], a + +Function1026c8: ; 1026c8 + call GetJoypad + callba Function1009f3 + ret c + ld a, [wcd4a] + ld hl, Jumptable_1026da + rst JumpTable + ret +; 1026da + +Jumptable_1026da: ; 1026da + dw Function1026de + dw Function1026f3 +; 1026de + +Function1026de: ; 1026de + call HideCursor + hlcoord 9, 17 + ld [hl], $ed + ld a, [wcd4a] + inc a + ld [wcd4a], a + ld hl, wcd4b + set 1, [hl] + ret +; 1026f3 + +Function1026f3: ; 1026f3 + ld a, [hJoyPressed] + bit A_BUTTON_F, a + jr nz, .asm_102723 + bit D_UP_F, a + jr nz, .asm_102712 + bit D_DOWN_F, a + jr nz, .asm_102702 + ret + +.asm_102702 + hlcoord 9, 17 + ld [hl], " " + ld a, $01 + ld [wMenuCursorY], a + ld a, $1d ; Function102652 + ld [wcd49], a + ret + +.asm_102712 + hlcoord 9, 17 + ld [hl], " " + ld a, [OTPartyCount] + ld [wMenuCursorY], a + ld a, $1f ; Function1025e9 + ld [wcd49], a + ret + +.asm_102723 + hlcoord 9, 17 + ld [hl], "▷" + ld hl, wcd4b + set 3, [hl] + ld hl, wcd4b + set 2, [hl] + ld a, $5 ; Function1025c7 + ld [wcd49], a + ret +; 102738 + +Function102738: ; 102738 + ld hl, wcd4b + set 6, [hl] + call PlaceHollowCursor + call Function1027eb + ld hl, wcd4b + set 1, [hl] + ld a, [wcd49] + inc a + ld [wcd49], a + ld a, 0 + ld [wcd4a], a + +Function102754: ; 102754 + call GetJoypad + callba Function1009f3 + ret c + ld a, [wcd4a] + ld hl, Jumptable_102766 + rst JumpTable + ret +; 102766 + +Jumptable_102766: ; 102766 + dw Function102770 + dw Function102775 + dw Function10278c + dw Function1027a0 + dw Function1027b7 +; 102770 + +Function102770: ; 102770 + ld a, $01 + ld [wcd4a], a + +Function102775: ; 102775 + hlcoord 1, 16 + ld [hl], "▶" + hlcoord 11, 16 + ld [hl], " " + ld hl, wcd4b + set 2, [hl] + ld a, [wcd4a] + inc a + ld [wcd4a], a + ret +; 10278c + +Function10278c: ; 10278c + ld a, [hJoyPressed] + bit A_BUTTON_F, a + jr nz, asm_1027c6 + bit B_BUTTON_F, a + jr nz, asm_1027e2 + bit D_RIGHT_F, a + jr nz, .asm_10279b + ret + +.asm_10279b + ld a, $03 + ld [wcd4a], a +Function1027a0: ; 1027a0 + hlcoord 1, 16 + ld [hl], " " + hlcoord 11, 16 + ld [hl], "▶" + ld hl, wcd4b + set 2, [hl] + ld a, [wcd4a] + inc a + ld [wcd4a], a + ret + +Function1027b7: ; 1027b7 + ld a, [hJoyPressed] + bit A_BUTTON_F, a + jr nz, asm_1027d1 + bit B_BUTTON_F, a + jr nz, asm_1027e2 + bit D_LEFT_F, a + jr nz, Function102770 + ret + +asm_1027c6: + ld hl, wcd4b + set 3, [hl] + ld a, $25 ; Function1028bf + ld [wcd49], a + ret + +asm_1027d1: + ld hl, wcd4b + set 3, [hl] + ld a, [wMenuCursorY] + ld [wcd4c], a + ld a, $7 ; Function1024f6 + ld [wcd49], a + ret + +asm_1027e2: + call Function102db7 + ld a, $1d ; Function102652 + ld [wcd49], a + ret +; 1027eb + +Function1027eb: ; 1027eb + hlcoord 0, 14 + ld b, 2 + ld c, 18 + ld d, h + ld e, l + callba _LinkTextbox + ld de, .Stats_Trade + hlcoord 2, 16 + call PlaceString + ret +; 102804 + +.Stats_Trade: ; 102804 + db "STATS TRADE@" +; 102814 + +Function102814: ; 102814 + ld a, [wMenuCursorY] + ld [wcd52], a + ld a, [wcd4c] + dec a + ld [wd002], a + ld a, [wcd4d] + dec a + ld [wd003], a + call Function102ea8 + ld a, [wcd49] + inc a + ld [wcd49], a + ld a, 0 + ld [wcd4a], a + ld hl, wcd4b + set 1, [hl] + +Function10283c: ; 10283c + ld hl, wcd4b + set 2, [hl] + call Function1029c3 + ret z + jr c, .asm_102852 + ld a, $10 ; Function102862 + ld [wcd49], a + ld hl, wcd4b + set 1, [hl] + ret + +.asm_102852 + ld a, $14 ; Function1028ab + ld [wcd49], a + ld hl, wcd4b + set 3, [hl] + ld hl, wcd4b + set 1, [hl] + ret +; 102862 + +Function102862: ; 102862 + ld a, $08 + call Function1028e8 + ld a, [wcd49] + inc a + ld [wcd49], a + ret +; 10286f + +Function10286f: ; 10286f + call Function1028fc + ret nc + ld a, [wcd52] + ld [wMenuCursorY], a + ld a, [wcd51] + cp $08 + jr nz, .asm_102886 + ld a, $15 ; Function1023b5 + ld [wcd49], a + ret + +.asm_102886 + call Function102ee7 + ld hl, wcd4b + set 1, [hl] + ld a, $1e + ld [wcd4e], a + ld a, $3c + ld [wcd4f], a + ld a, 0 + ld [wcd4a], a + ld a, [wcd49] + inc a + ld [wcd49], a + ret +; 1028a5 + +Function1028a5: ; 1028a5 + ld a, $4 ; Function1023a1 + ld [wcd49], a + ret +; 1028ab + +Function1028ab: ; 1028ab + ld a, [wcd52] + ld [wMenuCursorY], a + call Function102f15 + ld hl, wcd4b + set 1, [hl] + ld a, $c ; Function1025b0 + ld [wcd49], a + ret +; 1028bf + +Function1028bf: ; 1028bf + ld a, [wcd49] + inc a + ld [wcd49], a + +Function1028c6: ; 1028c6 + xor a + ld [MonType], a + call Function102bac + ld a, $1d ; Function102652 + ld [wcd49], a + ret +; 1028d3 + +Function1028d3: ; 1028d3 + ld a, [wcd49] + inc a + ld [wcd49], a + +Function1028da: ; 1028da + ld a, OTPARTYMON + ld [MonType], a + call Function102bac + ld a, $1f ; Function1025e9 + ld [wcd49], a + ret +; 1028e8 + +Function1028e8: ; 1028e8 + ld hl, wcd4b + res 6, [hl] + ld [wcd50], a + callba StartMobileInactivityTimer + ld a, 0 + ld [wcd4a], a + ret +; 1028fc + +Function1028fc: ; 1028fc + call GetJoypad + callba Function1009f3 + jr nc, .asm_102909 + and a + ret + +.asm_102909 + ld a, [wcd4a] + ld hl, Jumptable_102917 + rst JumpTable + ret nc + ld a, 0 + ld [wcd4a], a + ret +; 102917 + +Jumptable_102917: ; 102917 + dw Function102933 + dw Function10294f + dw Function10295d + dw Function10296e + dw Function102996 +; 102921 + +Function102921: ; 102921 + ld a, [wcd4a] + ld hl, Jumptable_10292f + rst JumpTable + ret nc + ld a, 0 + ld [wcd4a], a + ret +; 10292f + +Jumptable_10292f: ; 10292f + dw Function10295d + dw Function102984 +; 102933 + +Function102933: ; 102933 + ld hl, MenuDataHeader_1029bb + call LoadMenuDataHeader + call Function102e07 + ld a, $32 + ld [TextDelayFrames], a + ld hl, wcd4b + set 1, [hl] + ld a, [wcd4a] + inc a + ld [wcd4a], a + and a + ret +; 10294f + +Function10294f: ; 10294f + ld a, [TextDelayFrames] + and a + ret nz + ld a, [wcd4a] + inc a + ld [wcd4a], a + and a + ret +; 10295d + +Function10295d: ; 10295d + call Function10299e + ld a, 0 + ld [wcd27], a + ld a, [wcd4a] + inc a + ld [wcd4a], a + and a + ret +; 10296e + +Function10296e: ; 10296e + callba Function100382 + and a + ld a, [wcd27] + bit 7, a + ret z + ld a, [wcd4a] + inc a + ld [wcd4a], a + and a + ret +; 102984 + +Function102984: ; 102984 + callba Function100382 + and a + ld a, [wcd27] + bit 7, a + ret z + call Function1029af + scf + ret +; 102996 + +Function102996: ; 102996 + call Function1029af + call ExitMenu + scf + ret +; 10299e + +Function10299e: ; 10299e + ld a, $01 + ld [wccb4], a + ld a, [wcd50] + ld [wccb5], a + ld a, $aa + ld [wcd51], a + ret +; 1029af + +Function1029af: ; 1029af + ld hl, wcd4b + res 7, [hl] + ld a, [wcc61] + ld [wcd51], a + ret +; 1029bb + +MenuDataHeader_1029bb: ; 1029bb + db $40 ; flags + db 10, 3 ; start coords + db 12, 15 ; end coords + dw NULL + db 1 ; default option +; 1029c3 + +Function1029c3: ; 1029c3 + ld a, [wcd4a] + ld hl, Jumptable_1029cb + rst JumpTable + ret +; 1029cb + +Jumptable_1029cb: ; 1029cb + dw Function1029cf + dw Function1029fe +; 1029cf + +Function1029cf: ; 1029cf + call LoadStandardMenuDataHeader + hlcoord 10, 7 + ld b, 3 + ld c, 8 + ld d, h + ld e, l + callba _LinkTextbox + ld de, String_102a26 + hlcoord 12, 8 + call PlaceString + ld hl, wcd4b + set 1, [hl] + ld de, MenuData3_102a33 + call SetMenuAttributes + ld a, [wcd4a] + inc a + ld [wcd4a], a + xor a + ret +; 1029fe + +Function1029fe: ; 1029fe + callba Function1009f3 + ret c + callba MobileMenuJoypad + ld a, c + ld hl, wMenuJoypadFilter + and [hl] + ret z + push af + call ExitMenu + pop af + ld a, [wMenuCursorY] + cp $01 + jr nz, .asm_102a21 + ld a, $01 + and a + ret + +.asm_102a21 + ld a, $01 + and a + scf + ret +; 102a26 + +String_102a26: ; 102a26 + db "TRADE" + next "CANCEL" + db "@" +; 102a33 + +MenuData3_102a33: + db 8, 11 + db 2, 1 + db $80, $00 + dn 2, 0 + db A_BUTTON + +Function102a3b: ; 102a3b + ld a, [wcd30] + ld [wc74e], a + ld hl, PlayerName + ld de, wPlayerTrademonSenderName + ld bc, NAME_LENGTH + call CopyBytes + ld a, [wcd4c] + dec a + ld c, a + ld b, 0 + ld hl, PartySpecies + add hl, bc + ld a, [hl] + ld [wPlayerTrademonSpecies], a + ld a, [wcd4c] + dec a + ld hl, PartyMonOT + call SkipNames + ld de, wPlayerTrademonOTName + ld bc, NAME_LENGTH + call CopyBytes + ld a, [wcd4c] + dec a + ld hl, PartyMon1ID + call GetPartyLocation + ld a, [hli] + ld [wPlayerTrademonID], a + ld a, [hl] + ld [wPlayerTrademonID + 1], a + ld a, [wcd4c] + dec a + ld hl, PartyMon1DVs + call GetPartyLocation + ld a, [hli] + ld [wPlayerTrademonDVs], a + ld a, [hl] + ld [wPlayerTrademonDVs + 1], a + ld a, [wcd4c] + dec a + ld hl, PartyMon1Species + call GetPartyLocation + ld b, h + ld c, l + callba GetCaughtGender + ld a, c + ld [wPlayerTrademonCaughtData], a + ld hl, OTPlayerName + ld de, wOTTrademonSenderName + ld bc, NAME_LENGTH + call CopyBytes + + ld a, [wcd4d] + dec a + ld c, a + ld b, 0 + ld hl, OTPartySpecies + add hl, bc + ld a, [hl] + ld [wOTTrademonSpecies], a + ld a, [wcd4d] + dec a + ld hl, OTPartyMonOT + call SkipNames + ld de, wOTTrademonOTName + ld bc, NAME_LENGTH + call CopyBytes + ld a, [wcd4d] + dec a + ld hl, OTPartyMon1ID + call GetPartyLocation + ld a, [hli] + ld [wOTTrademonID], a + ld a, [hl] + ld [wOTTrademonID + 1], a + ld a, [wcd4d] + dec a + ld hl, OTPartyMon1DVs + call GetPartyLocation + ld a, [hli] + ld [wOTTrademonDVs], a + ld a, [hl] + ld [wOTTrademonDVs + 1], a + ld a, [wcd4d] + dec a + ld hl, OTPartyMon1Species + call GetPartyLocation + ld b, h + ld c, l + callba GetCaughtGender + ld a, c + ld [wOTTrademonCaughtData], a + ret +; 102b12 + +Function102b12: ; 102b12 + ld c, 100 + call DelayFrames + call Function102d9a + call LoadFontsBattleExtra + ld a, [wcd2f] + and a + jr nz, .asm_102b2b + callba Function108026 + jr .asm_102b31 + +.asm_102b2b + callba Function10802a + +.asm_102b31 + ret +; 102b32 + +Function102b32: ; 102b32 + ld a, [wcd4c] + dec a + ld [CurPartyMon], a + ld a, $01 + ld [wForceEvolution], a + callba EvolvePokemon + call Function102d9a + call Function102dd3 + call Function102dec + ret +; 102b4e + +Function102b4e: ; 102b4e + ld a, OTPARTYMON + ld [MonType], a + ld a, [wMenuCursorY] + push af + ld de, Unknown_102b73 + call SetMenuAttributes + pop af + ld [wMenuCursorY], a + ld a, [OTPartyCount] + ld [w2DMenuNumRows], a + ret +; 102b68 + +Function102b68: ; 102b68 ; unreferenced + xor a + ld hl, wWindowStackPointer + ld bc, $10 + call ByteFill + ret +; 102b73 + +Unknown_102b73: + db 9, 6 + db 255, 1 + db $a0, $00 + dn 1, 0 + db D_UP | D_DOWN | A_BUTTON + +Function102b7b: ; 102b7b + xor a + ld [MonType], a + ld a, [wMenuCursorY] + push af + ld de, Unknown_102b94 + call SetMenuAttributes + pop af + ld [wMenuCursorY], a + ld a, [PartyCount] + ld [w2DMenuNumRows], a + ret +; 102b94 + +Unknown_102b94: + db 1, 6 + db 255, 1 + db $a0, $00 + dn 1, 0 + db D_UP | D_DOWN | A_BUTTON + +Function102b9c: ; 102b9c + ld a, [wcd4d] + dec a + hlcoord 6, 9 + ld bc, $14 + call AddNTimes + ld [hl], $ec + ret +; 102bac + +Function102bac: ; 102bac + ld a, [wMenuCursorY] + dec a + ld [CurPartyMon], a + call LowVolume + call ClearSprites + callba _MobileStatsScreenInit + ld a, [CurPartyMon] + inc a + ld [wMenuCursorY], a + call Function102d9a + call ClearPalettes + call DelayFrame + call MaxVolume + call Function102dd3 + call Function102dec + call Function102db7 + ret +; 102bdc + +Function102bdc: ; 102bdc + ld a, [wcd4d] + dec a + ld hl, OTPartyMon1Species + call GetPartyLocation + push hl + ld a, [wcd4d] + ld c, a + ld b, 0 + ld hl, OTPartyCount + add hl, bc + ld a, [hl] + pop hl + cp EGG + jr z, .asm_102bfa + cp [hl] + jr nz, .asm_102c05 + +.asm_102bfa + ld bc, MON_LEVEL + add hl, bc + ld a, [hl] + cp MAX_LEVEL + 1 + jr nc, .asm_102c05 + and a + ret + +.asm_102c05 + scf + ret +; 102c07 + +Function102c07: ; 102c07 + call Function102c14 + call Function102c3b + call Function102c21 + call Function102c2e + ret +; 102c14 + +Function102c14: ; 102c14 + ld hl, PartySpecies + ld de, OTPartySpecies + ld bc, 1 + call Function102c71 + ret +; 102c21 + +Function102c21: ; 102c21 + ld hl, PartyMonNicknames + ld de, OTPartyMonNicknames + ld bc, 11 + call Function102c71 + ret +; 102c2e + +Function102c2e: ; 102c2e + ld hl, PartyMonOT + ld de, OTPartyMonOT + ld bc, 11 + call Function102c71 + ret +; 102c3b + +Function102c3b: ; 102c3b + ld hl, PartyMon1 + ld de, OTPartyMon1 + ld bc, $30 + call Function102c71 + ret +; 102c48 + +Function102c48: ; 102c48 + callba Function10165a + ld a, 0 + call GetSRAMBank + ld hl, $a600 + ld de, wc608 + ld bc, $2f + call Function102c71 + call CloseSRAM + ld hl, wc608 + ld de, w5_da00 + ld bc, $1e0 + ld a, $05 + call FarCopyWRAM + ret +; 102c71 + +Function102c71: ; 102c71 + ld a, [wcd4c] + dec a + call AddNTimes + push hl + ld h, d + ld l, e + ld a, [wcd4d] + dec a + call AddNTimes + pop de + call SwapBytes + ret +; 102c87 + +Function102c87: ; 102c87 + ld a, [wJumptableIndex] + push af + ld a, [wcf64] + push af + ld a, [wcd4c] + ld [wJumptableIndex], a + ld a, [PartyCount] + ld [wcf64], a + ld a, 0 + ld hl, $a600 + ld de, wc608 + ld bc, $11a + call Function102d3e + call Function102cee + ld a, 0 + ld hl, wc608 + ld de, $a600 + ld bc, $11a + call Function102d3e + ld a, [wcd4d] + ld [wJumptableIndex], a + ld a, [OTPartyCount] + ld [wcf64], a + ld a, $05 + ld hl, w5_da00 + ld de, wc608 + ld bc, $11a + call FarCopyWRAM + call Function102cee + ld a, $05 + ld hl, wc608 + ld de, w5_da00 + ld bc, $11a + call FarCopyWRAM + pop af + ld [wcf64], a + pop af + ld [wJumptableIndex], a + ret +; 102cee + +Function102cee: ; 102cee + ld a, [wJumptableIndex] + dec a + call Function102d34 + ld de, wd002 + ld bc, $2f + call CopyBytes + ld a, [wJumptableIndex] + ld c, a + ld a, $06 + sub c + ret z + ld bc, $2f + ld hl, 0 + call AddNTimes + push hl + ld a, [wJumptableIndex] + dec a + call Function102d34 + ld d, h + ld e, l + ld hl, $2f + add hl, de + pop bc + call CopyBytes + ld a, [wcf64] + dec a + call Function102d34 + ld d, h + ld e, l + ld hl, wd002 + ld bc, $2f + call CopyBytes + ret +; 102d34 + +Function102d34: ; 102d34 + ld hl, wc608 + ld bc, $2f + call AddNTimes + ret +; 102d3e + +Function102d3e: ; 102d3e + call GetSRAMBank + call CopyBytes + call CloseSRAM + ret +; 102d48 + +Function102d48: ; 102d48 + ld a, [wcd4c] + ld e, a + ld d, 0 + ld hl, PartyCount + add hl, de + ld a, [hl] + ld [wd265], a + cp EGG + jr z, .asm_102d6d + dec a + call SetSeenAndCaughtMon + ld a, [wcd4c] + dec a + ld bc, PARTYMON_STRUCT_LENGTH + ld hl, PartyMon1Happiness + call AddNTimes + ld [hl], BASE_HAPPINESS + +.asm_102d6d + ld a, [wd265] + cp UNOWN + jr nz, .asm_102d98 + ld a, [wcd4c] + dec a + ld bc, PARTYMON_STRUCT_LENGTH + ld hl, PartyMon1DVs + call AddNTimes + predef GetUnownLetter + callba UpdateUnownDex + ld a, [wFirstUnownSeen] + and a + jr nz, .asm_102d98 + ld a, [UnownLetter] + ld [wFirstUnownSeen], a + +.asm_102d98 + and a + ret +; 102d9a + +Function102d9a: ; 102d9a + ld a, " " + hlcoord 0, 0 + ld bc, SCREEN_WIDTH * SCREEN_HEIGHT + call ByteFill + ld a, $07 + hlcoord 0, 0, AttrMap + ld bc, SCREEN_WIDTH * SCREEN_HEIGHT + call ByteFill + callba HDMATransferAttrMapAndTileMapToWRAMBank3 + ret +; 102db7 + +Function102db7: ; 102db7 + call Function102e4f + call Function102e3e + ld hl, wcd4b + set 1, [hl] + ret +; 102dc3 + +Function102dc3: ; 102dc3 + hlcoord 0, 12 + ld b, 4 + ld c, 18 + ld d, h + ld e, l + callba _LinkTextbox + ret +; 102dd3 + +Function102dd3: ; 102dd3 + call DisableLCD + ld de, GFX_1032a2 + ld hl, VTiles0 + lb bc, BANK(GFX_1032a2), 4 + call Get2bpp + callba __LoadTradeScreenBorder + call EnableLCD + ret +; 102dec + +Function102dec: ; 102dec + ld hl, Palettes_1032e2 + ld de, UnknOBPals + ld bc, 4 palettes + ld a, $05 + call FarCopyWRAM + callba Function49742 + call SetPalettes + call DelayFrame + ret +; 102e07 + +Function102e07: ; 102e07 + hlcoord 3, 10 + ld b, 1 + ld c, 11 + ld a, [wBattleMode] + and a + jr z, .link_battle + call TextBox + jr .okay + +.link_battle +; this is idiotic + hlcoord 3, 10 + ld b, 1 + ld c, 11 + ld d, h + ld e, l + callba _LinkTextbox + +.okay + ld de, .waiting + hlcoord 4, 11 + call PlaceString + ret +; 102e32 + +.waiting ; 102e32 + db "Waiting...!@" +; 102e3e + +Function102e3e: ; 102e3e + ld de, .CANCEL + hlcoord 10, 17 + call PlaceString + ret +; 102e48 + +.CANCEL: ; 102e48 + db "CANCEL@" +; 102e4f + +Function102e4f: ; 102e4f + callba Function16d42e + callba _InitMG_Mobile_LinkTradePalMap + ld de, PlayerName + hlcoord 4, 0 + call PlaceString + ld a, $14 + ld [bc], a + ld de, OTPlayerName + hlcoord 4, 8 + call PlaceString + ld a, $14 + ld [bc], a + hlcoord 7, 1 + ld de, PartySpecies + call .PlaceSpeciesNames + hlcoord 7, 9 + ld de, OTPartySpecies + call .PlaceSpeciesNames + ret +; 102e86 + +.PlaceSpeciesNames: ; 102e86 + ld c, 0 +.count_loop + ld a, [de] + cp $ff + ret z + ld [wd265], a + push bc + push hl + push de + push hl + ld a, c + ld [hDividend], a + call GetPokemonName + pop hl + call PlaceString + pop de + inc de + pop hl + ld bc, SCREEN_WIDTH + add hl, bc + pop bc + inc c + jr .count_loop +; 102ea8 + +Function102ea8: ; 102ea8 + call Function102dc3 + ld a, [wcd4c] + dec a + ld c, a + ld b, 0 + ld hl, PartySpecies + add hl, bc + ld a, [hl] + ld [wd265], a + call GetPokemonName + ld hl, StringBuffer1 + ld de, StringBuffer2 + ld bc, 11 + call CopyBytes + ld a, [wcd4d] + dec a + ld c, a + ld b, 0 + ld hl, OTPartySpecies + add hl, bc + ld a, [hl] + ld [wd265], a + call GetPokemonName + ld hl, UnknownText_0x102ee2 + call PrintTextBoxText + ret +; 102ee2 + +UnknownText_0x102ee2: ; 102ee2 + text_jump UnknownText_0x1bd286 + db "@" + +Function102ee7: ; 102ee7 + call Function102dc3 + ld de, String_102ef4 + hlcoord 1, 14 + call PlaceString + ret +; 102ef4 + +String_102ef4: ; 102ef4 + db "Too bad! The trade" + next "was canceled!" + db "@" +; 102f15 + +Function102f15: ; 102f15 + call Function102dc3 + ld de, .TooBadTheTradeWasCanceled + hlcoord 1, 14 + call PlaceString + ret +; 102f22 + +.TooBadTheTradeWasCanceled: ; 102f22 + db "こうかんを キャンセルしました@" +; 102f32 + +Function102f32: ; 102f32 + call Function102dc3 + ld de, .TradeCompleted + hlcoord 1, 14 + call PlaceString + ret +; 102f3f + +.TradeCompleted: ; 102f3f + db "Trade completed!@" +; 102f50 + +Function102f50: ; 102f50 + call Function102dc3 + ld de, .PleaseWait + hlcoord 1, 14 + call PlaceString + ret +; 102f5d + +.PleaseWait: ; 102f5d + db "しょうしょう おまち ください@" +; 102f6d + +Function102f6d: ; 102f6d + call Function102dc3 + ld de, .Finished + hlcoord 1, 14 + call PlaceString + ret +; 102f7a + +.Finished: ; 102f7a + db "しゅうりょう します@" +; 102f85 + +Function102f85: ; 102f85 + ld a, [wd003] + ld c, a + ld b, 0 + ld hl, OTPartySpecies + add hl, bc + ld a, [hl] + ld [wd265], a + call GetPokemonName + call Function102dc3 + ld de, String_102fb2 + hlcoord 1, 14 + call PlaceString + ld de, StringBuffer1 + hlcoord 13, 14 + call PlaceString + ld de, String_102fcc + call PlaceString + ret +; 102fb2 + +String_102fb2: ; 102fb2 + db "あいてがわえらんだ " + next "いじょうあるようです!!" + db "@" +; 102fcc + +String_102fcc: ; 102fcc + db "に@" +; 102fce + +Function102fce: ; 102fce + call Function102dc3 + ld de, String_102fdb + hlcoord 1, 14 + call PlaceString + ret +; 102fdb + +String_102fdb: ; 102fdb + db "あいてがわ%せんたくに" + next "いじょうあるようです!!" + done +; 102ff5 + +Function102ff5: ; 102ff5 + call Function102dc3 + ld de, String_103002 + hlcoord 1, 14 + call PlaceString + ret +; 103002 + +String_103002: ; 103002 + db "その#を こうかんすると" + next "せんとう できなく なっちゃうよ!" + db "@" +; 103021 + +Function103021: ; 103021 + call Function102dc3 + ld de, String_10302e + hlcoord 1, 14 + call PlaceString + ret +; 10302e + +String_10302e: ; 10302e + db "あいてが ちゅうしを えらんだので" + next "こうかんを ちゅうし します" + db "@" +; 10304f + +Function10304f: ; 10304f + xor a + ld [AttrMapEnd], a + ld [wcf42], a + ld [wcf44], a + ld [wcf45], a + ret +; 10305d + +Function10305d: ; 10305d + nop + ld a, [AttrMapEnd] + and a + ret z + call Function10307f + ret c + call Function103094 + call Function10306e + ret +; 10306e + +Function10306e: ; 10306e + ld a, $01 + ld [hOAMUpdate], a + call ClearSprites + ld de, Sprites + call Function1030cd + xor a + ld [hOAMUpdate], a + ret +; 10307f + +Function10307f: ; 10307f + ld c, $02 + ld hl, wcd4b + bit 7, [hl] + jr z, .asm_10308a + ld c, $01 + +.asm_10308a + ld hl, wcf45 + inc [hl] + ld a, [hl] + cp c + ret c + xor a + ld [hl], a + ret +; 103094 + +Function103094: ; 103094 + ld hl, wcd4b + bit 7, [hl] + jr nz, .asm_1030c0 + ld a, [wcf42] + bit 7, a + jr nz, .asm_1030b2 + ld a, [wcf44] + inc a + ld [wcf44], a + cp $2c + ret nz + ld hl, wcf42 + set 7, [hl] + ret + +.asm_1030b2 + ld a, [wcf44] + dec a + ld [wcf44], a + ret nz + ld hl, wcf42 + res 7, [hl] + ret + +.asm_1030c0 + ld hl, wcf44 + ld a, [hl] + and a + jr z, .asm_1030ca + dec a + ld [hl], a + ret nz + +.asm_1030ca + ld [hl], $2c + ret +; 1030cd + +Function1030cd: ; 1030cd + ld a, [wcf44] + ld l, a + ld h, 0 + add hl, hl + add hl, hl + add hl, hl + ld bc, Unknown_103112 + add hl, bc + ld b, $30 + ld c, $08 +.asm_1030de + push hl + ld hl, wcd4b + bit 7, [hl] + pop hl + ld a, 0 + jr z, .asm_1030eb + ld a, $05 +.asm_1030eb + + add [hl] + inc hl + push hl + + add a + add a + + add Unknown_10327a % $100 + ld l, a + ld a, Unknown_10327a / $100 + adc 0 + ld h, a + + ld a, b + add [hl] + inc hl + ld [de], a + inc de + ld a, $0a + add [hl] + inc hl + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + pop hl + ld a, b + add $08 + ld b, a + dec c + jr nz, .asm_1030de + ret +; 103112 + +Unknown_103112: ; 103112 + db $00, $00, $00, $00, $00, $00, $00, $00 + db $00, $00, $00, $00, $00, $00, $00, $00 + db $00, $00, $00, $00, $00, $00, $00, $00 + db $00, $00, $00, $00, $00, $00, $00, $00 + db $00, $00, $00, $00, $00, $00, $00, $00 + db $00, $00, $00, $00, $00, $00, $00, $00 + db $00, $00, $00, $00, $00, $00, $00, $00 + db $00, $00, $00, $00, $00, $00, $00, $00 + db $01, $00, $00, $00, $00, $00, $00, $00 + db $02, $01, $00, $00, $00, $00, $00, $00 + db $03, $02, $01, $00, $00, $00, $00, $00 + db $04, $03, $02, $01, $00, $00, $00, $00 + db $04, $04, $03, $02, $01, $00, $00, $00 + db $04, $04, $04, $03, $02, $01, $00, $00 + db $04, $04, $04, $04, $03, $02, $01, $00 + db $04, $04, $04, $04, $04, $03, $02, $01 + db $04, $04, $04, $04, $04, $04, $03, $02 + db $04, $04, $04, $04, $04, $04, $04, $03 + db $04, $04, $04, $04, $04, $04, $04, $04 + db $04, $04, $04, $04, $04, $04, $04, $04 + db $04, $04, $04, $04, $04, $04, $04, $04 + db $04, $04, $04, $04, $04, $04, $04, $04 + db $04, $04, $04, $04, $04, $04, $04, $04 + db $04, $04, $04, $04, $04, $04, $04, $04 + db $04, $04, $04, $04, $04, $04, $04, $04 + db $04, $04, $04, $04, $04, $04, $04, $04 + db $03, $04, $04, $04, $04, $04, $04, $04 + db $02, $03, $04, $04, $04, $04, $04, $04 + db $01, $02, $03, $04, $04, $04, $04, $04 + db $00, $01, $02, $03, $04, $04, $04, $04 + db $00, $00, $01, $02, $03, $04, $04, $04 + db $00, $00, $00, $01, $02, $03, $04, $04 + db $00, $00, $00, $00, $01, $02, $03, $04 + db $00, $00, $00, $00, $00, $01, $02, $03 + db $00, $00, $00, $00, $00, $00, $01, $02 + db $00, $00, $00, $00, $00, $00, $00, $01 + db $00, $00, $00, $00, $00, $00, $00, $00 + db $00, $00, $00, $00, $00, $00, $00, $00 + db $00, $00, $00, $00, $00, $00, $00, $00 + db $00, $00, $00, $00, $00, $00, $00, $00 + db $00, $00, $00, $00, $00, $00, $00, $00 + db $00, $00, $00, $00, $00, $00, $00, $00 + db $00, $00, $00, $00, $00, $00, $00, $00 + db $00, $00, $00, $00, $00, $00, $00, $00 + db $00, $00, $00, $00, $00, $00, $00, $00 +; 10327a + +Unknown_10327a: ; 10327a + db $00, $00, $00, $00 + db $00, $00, $01, $00 + db $00, $00, $02, $00 + db $00, $00, $03, $00 + db $00, $00, $01, $01 + db $00, $00, $00, $00 + db $00, $00, $01, $02 + db $00, $00, $02, $02 + db $00, $00, $03, $02 + db $00, $00, $01, $03 + +GFX_1032a2: +INCBIN "gfx/unknown/1032a2.2bpp" + +Palettes_1032e2: + RGB 0, 0, 0 + RGB 31, 31, 7 + RGB 20, 31, 6 + RGB 13, 20, 16 + + RGB 0, 0, 0 + RGB 7, 11, 17 + RGB 0, 0, 0 + RGB 0, 0, 0 + + RGB 0, 0, 0 + RGB 31, 24, 4 + RGB 25, 12, 0 + RGB 31, 7, 4 + + RGB 0, 0, 0 + RGB 25, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + +; 103302 + +Function103302: ; 103302 + call Function103309 + call Function103362 + ret +; 103309 + +Function103309: ; 103309 + xor a + ld [hBGMapMode], a + ld hl, Buffer1 + ld bc, 10 + xor a + call ByteFill + ld a, $04 + call GetSRAMBank + ld a, [wdc41] + ld [$a60c], a + ld [Buffer1], a + call CloseSRAM + call Function1035c6 + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + ld a, [hli] + ld [wd1ef], a + ld a, [hli] + ld [wd1ec], a + ld a, [hli] + ld [wd1ed], a + ld h, d + ld l, e + call Function3eea + ld hl, wd1ec + ld a, [hli] + ld h, [hl] + ld l, a + ld a, [hl] + ld [wd1ee], a + call Function1034be + call UpdateSprites + callba HDMATransferAttrMapAndTileMapToWRAMBank3 + ld a, $01 + ld [wd1f0], a + call Function10339a + ret +; 103362 + +Function103362: ; 103362 +.asm_103362 + ld a, [wd1f0] + ld [wd1f1], a + call Function1033af + call Function10339a + call Function10342c + callba HDMATransferTileMapToWRAMBank3 + ld a, [Buffer2] + bit 7, a + jr z, .asm_103362 + ld hl, Buffer2 + bit 6, [hl] + jr z, .asm_103398 + ld a, $04 + call GetSRAMBank + ld a, [Buffer1] + ld [$a60c], a + ld [wdc41], a + call CloseSRAM + xor a + ret + +.asm_103398 + scf + ret +; 10339a + +Function10339a: ; 10339a + ld a, [wd1f0] + ld [wd1f2], a + ld c, a + ld b, 0 + ld hl, wd1ec + ld a, [hli] + ld h, [hl] + ld l, a + add hl, bc + ld a, [hl] + ld [wd1f3], a + ret +; 1033af + +Function1033af: ; 1033af + call GetJoypad + ld a, [hJoyPressed] + bit D_LEFT_F, a + jr nz, .left + bit D_RIGHT_F, a + jr nz, .right + bit B_BUTTON_F, a + jr nz, .b + bit A_BUTTON_F, a + jr nz, .a + bit D_UP_F, a + jr nz, .up + bit D_DOWN_F, a + jr nz, .down + ret + +.up + ld a, [wd1f0] + dec a + ld [wd1f0], a + cp 1 + ret nc + ld a, [wd1ee] + ld [wd1f0], a + ret + +.down + ld a, [wd1f0] + inc a + ld [wd1f0], a + ld c, a + ld a, [wd1ee] + cp c + ret nc + ld a, 1 + ld [wd1f0], a + ret + +.b + call PlayClickSFX + ld hl, Buffer2 + set 7, [hl] + ret + +.a + ld a, [wd1f3] + cp 3 + jr nz, .a_return + ld de, SFX_TRANSACTION + call PlaySFX + ld hl, Buffer2 + set 7, [hl] + ld hl, Buffer2 + set 6, [hl] + ret + +.left +.right +.a_return + ld a, [wd1f3] + cp 3 + ret z + ld de, SFX_PUSH_BUTTON + call PlaySFX + ld bc, 8 + call Function10350f + ld a, [Buffer1] + xor e + ld [Buffer1], a + ret +; 10342c + +Function10342c: ; 10342c + ld a, [wd1f0] + ld [wd1f2], a + call Function103490 + call Function10343c + call Function1034a7 + ret +; 10343c + +Function10343c: ; 10343c + ld a, [wd1f3] + cp $02 + jr nz, .asm_103452 + ld bc, 1 + call Function1034f7 + ld c, $12 + ld b, $01 + call Function1034e0 + jr .asm_10345f + +.asm_103452 + ld bc, $ffed + call Function1034f7 + ld c, $12 + ld b, $02 + call Function1034e0 + +.asm_10345f + ld bc, 0 + call Function10350f + ld bc, 1 + call Function103487 + ld bc, 8 + call Function10350f + ld a, [Buffer1] + and e + ld bc, 2 + jr z, .asm_10347d + ld bc, 4 + +.asm_10347d + call Function10350f + ld bc, 11 + call Function103487 + ret +; 103487 + +Function103487: ; 103487 + push de + call Function1034f7 + pop de + call PlaceString + ret +; 103490 + +Function103490: ; 103490 + hlcoord 0, 15 + ld c, $14 + ld b, $03 + call Function1034e0 + ld bc, 6 + call Function10350f + hlcoord 1, 16 + call PlaceString + ret +; 1034a7 + +Function1034a7: ; 1034a7 + ld a, [wd1f1] + ld [wd1f2], a + ld bc, 10 + call Function1034f7 + ld [hl], $7f + ld bc, 10 + call Function1034f1 + ld [hl], $ed + ret +; 1034be + +Function1034be: ; 1034be + ld a, $01 + ld [wd1f2], a + ld hl, wd1ec + ld a, [hli] + ld h, [hl] + ld l, a + ld a, [hli] +.asm_1034ca + push af + ld a, [hli] + push hl + ld [wd1f3], a + call Function10343c + ld hl, wd1f2 + inc [hl] + pop hl + pop af + dec a + jr nz, .asm_1034ca + call Function103490 + ret +; 1034e0 + +Function1034e0: ; 1034e0 + push bc + push hl + call ClearBox + pop hl + ld bc, AttrMap - TileMap + add hl, bc + pop bc + ld a, $06 + call FillBoxWithByte + ret +; 1034f1 + +Function1034f1: ; 1034f1 + ld a, [wd1f0] + ld [wd1f2], a + +Function1034f7: ; 10134f7 + hlcoord 0, 0 + add hl, bc + ld a, [wd1ef] + ld bc, SCREEN_WIDTH + call AddNTimes + ld a, [wd1f2] + dec a + ld bc, 40 + call AddNTimes + ret +; 10350f + +Function10350f: ; 10350f + ld a, [wd1f3] + push bc + ld hl, Unknown_103522 + ld bc, 9 + call AddNTimes + pop bc + add hl, bc + ld a, [hli] + ld d, [hl] + ld e, a + ret +; 103522 + +Unknown_103522: ; 103522 + dw String_103546 + dw String_103598 + dw String_1035a0 + dw String_10355f + db $01 + dw String_10354f + dw String_1035a8 + dw String_1035b1 + dw String_103571 + db $02 + dw String_103557 + dw String_1035ba + dw String_1035bd + dw String_103585 + db $04 + dw String_103545 + dw String_1035c1 + dw String_1035c1 + dw String_103545 + +String_103545: db "@" +String_103546: db "せんとう アニメ@" +String_10354f: db "でんわばんごう@" +String_103557: db "めいしこうかん@" +String_10355f: db "でんわを かけるひとが きめられる@" +String_103571: db "でんわばんごうの にゅうりょくのしかた@" +String_103585: db "あたらしいめいしが あれば こうかん@" +String_103598: db "とばして みる@" +String_1035a0: db "じっくり みる@" +String_1035a8: db "めいしからえらぶ@" +String_1035b1: db "すうじで いれる@" +String_1035ba: db "する@" +String_1035bd: db "しない@" +String_1035c1: db "けってい@" +; 1035c6 + +Function1035c6: ; 1035c6 + callba Function10138b + ld b, 0 + ld hl, Unknown_1035d7 + add hl, bc + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + ret +; 1035d7 + +Unknown_1035d7: ; 1035d7 + dw Unknown_1035e7 + dw Unknown_1035f3 + dw Unknown_103608 + dw Unknown_103608 + dw Unknown_1035fe + dw AskMobileOrCable + dw AskMobileOrCable + dw AskMobileOrCable + +Unknown_1035e7: ; 1035e7 + dwcoord 0, 6 + db $12, $07, $07 + dw .this +.this + db 4, 2, 1, 0, 3 + +Unknown_1035f3: ; 1035f3 + dwcoord 0, 7 + db $12, $06, $09 + dw .this +.this + db 3, 2, 1, 3 + +Unknown_1035fe: ; 1035fe + dwcoord 0, 9 + db $12, $04, $0b + dw .this +.this + db 2, 0, 3 + +Unknown_103608: ; 103608 + dwcoord 0, 9 + db $12, $04, $0b + dw .this +.this + db 2, 2, 3 +; 103612 + +AskMobileOrCable: ; 103612 + ld hl, MenuDataHeader_103640 + call LoadMenuDataHeader + ld a, [wMobileOrCable_LastSelection] + and $0f + jr z, .skip_load + ld [wMenuCursorBuffer], a + +.skip_load + call VerticalMenu + call CloseWindow + jr c, .pressed_b + ld a, [wMenuCursorY] + ld [ScriptVar], a + ld c, a + ld a, [wMobileOrCable_LastSelection] + and $f0 + or c + ld [wMobileOrCable_LastSelection], a + ret + +.pressed_b + xor a + ld [ScriptVar], a + ret +; 103640 + +MenuDataHeader_103640: ; 103640 + db $40 ; flags + db 6, 13 ; start coords + db 11, 19 ; end coords + dw MenuData2_103648 + db 1 ; default option + +MenuData2_103648: ; 103648 + db $80 ; flags + db 2 + db "モバイル@" + db "ケーブル@" +; 103654 + +Function103654: ; 103654 + callba Mobile_AlwaysReturnNotCarry + bit 7, c + jr nz, .asm_103666 + ld hl, wcd2a + res 5, [hl] + ld c, $02 + ret + +.asm_103666 + ld hl, wcd2a + set 5, [hl] + ld c, $01 + ret +; 10366e + +Mobile_SelectThreeMons: ; 10366e + callba Mobile_AlwaysReturnNotCarry + bit 7, c + jr z, .asm_10369b + ld hl, UnknownText_0x10375d + call PrintText + call YesNoBox + jr c, .asm_103696 + callba CheckForMobileBattleRules + jr nc, .asm_103690 + call JoyWaitAorB + jr .asm_103696 + +.asm_103690 + ld a, $01 + ld [ScriptVar], a + ret + +.asm_103696 + xor a + ld [ScriptVar], a + ret + +.asm_10369b + ld hl, wMobileOrCable_LastSelection + bit 7, [hl] + set 7, [hl] + jr nz, .asm_1036b5 + ld hl, UnknownText_0x103762 + call PrintText + call YesNoBox + jr c, .asm_1036b5 + call Function1036f9 + call JoyWaitAorB + +.asm_1036b5 + call Function103700 + jr c, .asm_1036f4 + ld hl, MenuDataHeader_103747 + call LoadMenuDataHeader + call VerticalMenu + call ExitMenu + jr c, .asm_1036f4 + ld a, [wMenuCursorY] + cp $01 + jr z, .asm_1036d9 + cp $02 + jr z, .asm_1036f4 + cp $03 + jr z, .asm_1036ec + jr .asm_1036b5 + +.asm_1036d9 + callba CheckForMobileBattleRules + jr nc, .asm_1036e6 + call JoyWaitAorB + jr .asm_1036f4 + +.asm_1036e6 + ld a, $01 + ld [ScriptVar], a + ret + +.asm_1036ec + call Function1036f9 + call JoyWaitAorB + jr .asm_1036b5 + +.asm_1036f4 + xor a + ld [ScriptVar], a + ret +; 1036f9 + +Function1036f9: ; 1036f9 + ld hl, UnknownText_0x103767 + call PrintText + ret +; 103700 + +Function103700: ; 103700 + ld c, $0a + ld hl, SwarmFlags + bit 4, [hl] + jr z, .asm_10370f + callba Function1008a6 + +.asm_10370f + ld a, c + ld [StringBuffer2], a + ld a, [StringBuffer2] + cp $05 + jr nc, .asm_103724 + cp $02 + jr nc, .asm_10372c + cp $01 + jr nc, .asm_103734 + jr .asm_10373c + +.asm_103724 + ld hl, UnknownText_0x10376c + call PrintText + and a + ret + +.asm_10372c + ld hl, UnknownText_0x103771 + call PrintText + and a + ret + +.asm_103734 + ld hl, UnknownText_0x103776 + call PrintText + and a + ret + +.asm_10373c + ld hl, UnknownText_0x10377b + call PrintText + call JoyWaitAorB + scf + ret +; 103747 + +MenuDataHeader_103747: ; 103747 + db $40 ; flags + db 5, 13 ; start coords + db 11, 19 ; end coords + dw MenuData2_10374f + db 1 ; default option + +MenuData2_10374f: ; 10374f + db $c0 ; flags + db 3 + db "はい@" + db "やめる@" + db "せつめい@" +; 10375d + +UnknownText_0x10375d: ; 0x10375d + text_jump UnknownText_0x1c422a + db "@" +; 0x103762 +UnknownText_0x103762: ; 0x103762 + text_jump UnknownText_0x1c4275 + db "@" +; 0x103767 +UnknownText_0x103767: ; 0x103767 + text_jump UnknownText_0x1c4298 + db "@" +; 0x10376c +UnknownText_0x10376c: ; 0x10376c + text_jump UnknownText_0x1c439c + db "@" +; 0x103771 +UnknownText_0x103771: ; 0x103771 + text_jump UnknownText_0x1c43dc + db "@" +; 0x103776 +UnknownText_0x103776: ; 0x103776 + text_jump UnknownText_0x1c4419 + db "@" +; 0x10377b +UnknownText_0x10377b: ; 0x10377b + text_jump UnknownText_0x1c445a + db "@" +; 0x103780 + +Function103780: ; 103780 + ld a, [wd265] + push af + call Function10378c + pop af + ld [wd265], a + ret +; 10378c + +Function10378c: ; 10378c + ld c, 0 + ld hl, SwarmFlags + bit 4, [hl] + jr nz, .already_set + ld c, $01 + ld hl, SwarmFlags + set 4, [hl] + +.already_set + push bc + callba Link_SaveGame + pop bc + jr c, .failed_to_save + ld a, $01 + ld [ScriptVar], a + ld a, c + and a + ret z + callba Function1006fd + ret + +.failed_to_save + xor a + ld [ScriptVar], a + ld a, c + and a + ret z + ld hl, SwarmFlags + res 4, [hl] + ret +; 1037c2 + +Function1037c2: ; 1037c2 + call Function103823 + jr c, .nope + ld a, [wdc5f] + and a + jr z, .nope + ld hl, UnknownText_0x1037e6 + call PrintText + call YesNoBox + jr c, .nope + ld a, $01 + ld [ScriptVar], a + ret + +.nope + xor a + ld [wdc5f], a + ld [ScriptVar], a + ret +; 1037e6 + +UnknownText_0x1037e6: ; 0x1037e6 + text_jump UnknownText_0x1c449c + db "@" +; 0x1037eb + +Function1037eb: ; 1037eb + call Function103823 + jr nc, .asm_103807 + ld hl, UnknownText_0x103819 + call PrintText + call JoyWaitAorB + ld hl, UnknownText_0x10381e + call PrintText + call JoyWaitAorB + xor a + ld [ScriptVar], a + ret + +.asm_103807 + ld a, [wdc60] + and a + jr nz, .asm_103813 + ld a, $01 + ld [ScriptVar], a + ret + +.asm_103813 + ld a, $02 + ld [ScriptVar], a + ret +; 103819 + +UnknownText_0x103819: ; 0x103819 + text_jump UnknownText_0x1c44c0 + db "@" +; 0x10381e + +UnknownText_0x10381e: ; 0x10381e + text_jump UnknownText_0x1c44e7 + db "@" +; 0x103823 + +Function103823: ; 103823 + callba Mobile_AlwaysReturnNotCarry + bit 7, c + jr nz, .asm_103838 + callba Function1008a6 + ld a, c + cp $01 + jr c, .asm_10383a + +.asm_103838 + xor a + ret + +.asm_10383a + scf + ret +; 10383c + +Function10383c: ; 10383c + ld a, $01 + ld [wdc60], a + xor a + ld hl, wPlayerMonSelection + ld [hli], a + ld [hli], a + ld [hl], a + ld hl, UnknownText_0x103876 + call PrintText + call JoyWaitAorB + callba Script_reloadmappart + callba Function4a94e + jr c, .asm_103870 + ld hl, wd002 + ld de, wPlayerMonSelection + ld bc, 3 + call CopyBytes + xor a + ld [ScriptVar], a + ret + +.asm_103870 + ld a, $01 + ld [ScriptVar], a + ret +; 103876 + +UnknownText_0x103876: ; 0x103876 + text_jump UnknownText_0x1c4508 + db "@" +; 0x10387b + +Function10387b: ; 10387b + callba Mobile_AlwaysReturnNotCarry + bit 7, c + ret nz + callba Function1008a6 + ld a, c + ld [StringBuffer2], a + ld hl, UnknownText_0x103898 + call PrintText + call JoyWaitAorB + ret +; 103898 + +UnknownText_0x103898: ; 0x103898 + text_jump UnknownText_0x1c4525 + db "@" +; 0x10389d diff --git a/mobile/mobile_41.asm b/mobile/mobile_41.asm new file mode 100755 index 000000000..37e10a01e --- /dev/null +++ b/mobile/mobile_41.asm @@ -0,0 +1,1115 @@ +SECTION "bank41_2", ROMX + +; These functions deal with miscellaneous statistics +; which were used for Trainer Rankings in Pokémon News. + +; Copies certain values at the time the player enters the Hall of Fame. +TrainerRankings_HallOfFame2:: mobile ; 0x105ef6 + ld a, BANK(sTrainerRankingGameTimeHOF) + call GetSRAMBank + + ld hl, GameTimeHours + ld de, sTrainerRankingGameTimeHOF + ld bc, 4 + call CopyBytes + + ld hl, sTrainerRankingStepCount + ld de, sTrainerRankingStepCountHOF + ld bc, 4 + call CopyBytes + + ; sTrainerRankingHealings is only a 3-byte value. + ; One extraneous byte is copied from sTrainerRankingMysteryGift. + ld hl, sTrainerRankingHealings + ld de, sTrainerRankingHealingsHOF + ld bc, 4 + call CopyBytes + + ld hl, sTrainerRankingBattles + ld de, sTrainerRankingBattlesHOF + ld bc, 3 + call CopyBytes + + call UpdateTrainerRankingsChecksum + call CloseSRAM + ret +; 105f33 + +TrainerRankings_MagikarpLength: mobile ; 105f33 + ld a, BANK(sTrainerRankingLongestMagikarp) + call GetSRAMBank + ld de, Buffer1 + ld hl, sTrainerRankingLongestMagikarp + + ; Is this Magikarp the longest measured? + ld a, [de] + cp [hl] + jr z, .isLowByteHigher + jr nc, .newRecordLongest + jr .checkShortest + +.isLowByteHigher + inc hl + inc de + ld a, [de] + cp [hl] + dec hl + dec de + jr c, .checkShortest + +.newRecordLongest + ld a, [de] + inc de + ld [hli], a + ld a, [de] + dec de + ld [hl], a + +.checkShortest + ; First, check if the record for shortest Magikarp is 0. + ; This seems unnecessary, because the value is initialized to 100.0 cm. + ld hl, sTrainerRankingShortestMagikarp + ld a, [hli] + or [hl] + dec hl + jr z, .newRecordShortest + + ; Now check if this Magikarp is the shortest + ld a, [de] + cp [hl] + jr z, .isLowByteLower + jr c, .newRecordShortest + jr .done + +.isLowByteLower + inc hl + inc de + ld a, [de] + cp [hl] + jr nc, .done + dec hl + dec de + +.newRecordShortest + ld a, [de] + inc de + ld [hli], a + ld a, [de] + ld [hl], a + +.done + call UpdateTrainerRankingsChecksum + call CloseSRAM + ret +; 105f79 + +TrainerRankings_BugContestScore: mobile ; 105f79 + ld a, BANK(sTrainerRankingBugContestScore) + call GetSRAMBank + ld a, [hProduct] + ld hl, sTrainerRankingBugContestScore + cp [hl] + jr z, .isLowByteHigher + jr nc, .newHighScore + jr .done + +.isLowByteHigher + inc hl + ld a, [hMultiplicand] + cp [hl] + jr c, .done + dec hl + +.newHighScore + ld a, [hProduct] + ld [hli], a + ld a, [hMultiplicand] + ld [hl], a + +.done + call UpdateTrainerRankingsChecksum + call CloseSRAM + ret +; 105f9f + +TrainerRankings_AddToSlotsWinStreak: mobile ; 105f9f + ld a, BANK(sTrainerRankingCurrentSlotsStreak) + call GetSRAMBank + + ; Increment the current streak + ld hl, sTrainerRankingCurrentSlotsStreak + 1 + inc [hl] + jr nz, .noCarry + dec hl + inc [hl] + inc hl + +.noCarry + dec hl + ; Now check if this is a new record for longest streak + ld a, [sTrainerRankingLongestSlotsStreak] + cp [hl] + jr z, .isLowByteHigher + jr c, .newRecordStreak + jr .done + +.isLowByteHigher + inc hl + ld a, [sTrainerRankingLongestSlotsStreak + 1] + cp [hl] + jr nc, .done + dec hl + +.newRecordStreak + ld a, [hli] + ld [sTrainerRankingLongestSlotsStreak], a + ld a, [hl] + ld [sTrainerRankingLongestSlotsStreak + 1], a + +.done + call UpdateTrainerRankingsChecksum + call CloseSRAM + ret +; 105fd0 + +TrainerRankings_EndSlotsWinStreak: mobile ; 105fd0 + ld a, BANK(sTrainerRankingCurrentSlotsStreak) + call GetSRAMBank + ld hl, sTrainerRankingCurrentSlotsStreak + xor a + ld [hli], a + ld [hl], a + call UpdateTrainerRankingsChecksum + call CloseSRAM + ret +; 105fe3 + +TrainerRankings_AddToSlotsPayouts: mobile ; 105fe3 + ld a, BANK(sTrainerRankingTotalSlotsPayouts) + call GetSRAMBank + ld hl, sTrainerRankingTotalSlotsPayouts + 3 + ld a, e + add [hl] + ld [hld], a + ld a, d + adc [hl] + ld [hld], a + jr nc, .done + inc [hl] + jr nz, .done + dec hl + inc [hl] + jr nz, .done + ld a, $ff + ld [hli], a + ld [hli], a + ld [hli], a + ld [hl], a + +.done + call UpdateTrainerRankingsChecksum + call CloseSRAM + ret +; 106008 + +TrainerRankings_AddToBattlePayouts: mobile ; 106008 + ld a, BANK(sTrainerRankingTotalBattlePayouts) + call GetSRAMBank + ld hl, sTrainerRankingTotalBattlePayouts + 3 + ld a, [bc] + dec bc + add [hl] + ld [hld], a + ld a, [bc] + dec bc + adc [hl] + ld [hld], a + ld a, [bc] + adc [hl] + ld [hld], a + jr nc, .done + inc [hl] + jr nz, .done + ld a, $ff + ld [hli], a + ld [hli], a + ld [hli], a + ld [hl], a + +.done + call UpdateTrainerRankingsChecksum + call CloseSRAM + ret +; 10602e + +TrainerRankings_StepCount: mobile ; 10602e (41:602e) + ld hl, sTrainerRankingStepCount + jp TrainerRankings_Increment4Byte + +; Unreferenced in English version. +TrainerRankings_BattleTowerWins: mobile ; 106035 + ld a, $5 + call GetSRAMBank + ld a, [$aa8d] + and a + call CloseSRAM + ret nz + ld hl, sTrainerRankingBattleTowerWins + jp TrainerRankings_Increment2Byte + +TrainerRankings_TMsHMsTaught: mobile ; 106049 + ld hl, sTrainerRankingTMsHMsTaught + jp TrainerRankings_Increment3Byte + +TrainerRankings_Battles: mobile ; 106050 + ld a, [BattleType] + cp BATTLETYPE_TUTORIAL ; Exclude the Dude’s tutorial battle + ret z + ld hl, sTrainerRankingBattles + jp TrainerRankings_Increment3Byte + +TrainerRankings_WildBattles: mobile ; 10605d + ld a, [BattleType] + cp BATTLETYPE_TUTORIAL ; Exclude the Dude’s tutorial battle + ret z + ld hl, sTrainerRankingWildBattles + jp TrainerRankings_Increment3Byte + +TrainerRankings_TrainerBattles: mobile ; 10606a + ld hl, sTrainerRankingTrainerBattles + jp TrainerRankings_Increment3Byte + +TrainerRankings_Unused1: mobile ; 106071 + ld hl, sTrainerRankingUnused1 + jp TrainerRankings_Increment3Byte + +TrainerRankings_HallOfFame:: mobile ; 0x106078 + ld hl, sTrainerRankingHOFEntries + jp TrainerRankings_Increment3Byte + +TrainerRankings_WildMonsCaught: mobile ; 10607f (41:607f) + ld hl, sTrainerRankingWildMonsCaught + jp TrainerRankings_Increment3Byte + +TrainerRankings_HookedEncounters: mobile ; 106086 + ld hl, sTrainerRankingHookedEncounters + jp TrainerRankings_Increment3Byte + +TrainerRankings_EggsHatched: mobile ; 10608d (41:608d) + ld hl, sTrainerRankingEggsHatched + jp TrainerRankings_Increment3Byte + +TrainerRankings_MonsEvolved: mobile ; 106094 + ld hl, sTrainerRankingMonsEvolved + jp TrainerRankings_Increment3Byte + +TrainerRankings_FruitPicked: mobile ; 10609b + ld hl, sTrainerRankingFruitPicked + jp TrainerRankings_Increment3Byte + +TrainerRankings_Healings: mobile ; 1060a2 + ld hl, sTrainerRankingHealings + jp TrainerRankings_Increment3Byte + +TrainerRankings_MysteryGift: mobile ; 1060a9 (41:60a9) + ld hl, sTrainerRankingMysteryGift + jr TrainerRankings_Increment3Byte + +TrainerRankings_Trades: mobile ; 1060af + ld hl, sTrainerRankingTrades + jr TrainerRankings_Increment3Byte + +TrainerRankings_Fly: mobile ; 1060b5 + ld hl, sTrainerRankingFly + jr TrainerRankings_Increment3Byte + +TrainerRankings_Surf: mobile ; 1060bb + ld hl, sTrainerRankingSurf + jr TrainerRankings_Increment3Byte + +TrainerRankings_Waterfall: mobile ; 1060c1 + ld hl, sTrainerRankingWaterfall + jr TrainerRankings_Increment3Byte + +TrainerRankings_WhiteOuts: mobile ; 1060c7 + ld hl, sTrainerRankingWhiteOuts + jr TrainerRankings_Increment3Byte + +TrainerRankings_LuckyNumberShow: mobile ; 1060cd + ld hl, sTrainerRankingLuckyNumberShow + jr TrainerRankings_Increment2Byte + +TrainerRankings_PhoneCalls: mobile ; 1060d3 + ld hl, sTrainerRankingPhoneCalls + jr TrainerRankings_Increment3Byte + +TrainerRankings_Unused2: mobile ; 1060df + ld hl, sTrainerRankingUnused2 + jr TrainerRankings_Increment3Byte + +TrainerRankings_LinkBattles: mobile ; 1060df + ld hl, sTrainerRankingLinkBattles + jr TrainerRankings_Increment3Byte + +TrainerRankings_Splash: mobile ; 1060e5 + ; Only counts if it’s the player’s turn + ld a, [hBattleTurn] + and a + ret nz + ld hl, sTrainerRankingSplash + jr TrainerRankings_Increment3Byte + +TrainerRankings_TreeEncounters: mobile ; 1060ef + ld hl, sTrainerRankingTreeEncounters + jr TrainerRankings_Increment3Byte + +TrainerRankings_Unused3: mobile ; 1060f5 + ld hl, sTrainerRankingUnused3 + jr TrainerRankings_Increment3Byte + +TrainerRankings_ColosseumWins: mobile ; win + ld hl, sTrainerRankingColosseumWins + jr TrainerRankings_Increment3Byte + +TrainerRankings_ColosseumLosses: mobile ; lose + ld hl, sTrainerRankingColosseumLosses + jr TrainerRankings_Increment3Byte +; 106107 + +TrainerRankings_ColosseumDraws: mobile ; draw + ld hl, sTrainerRankingColosseumDraws + jr TrainerRankings_Increment3Byte +; 10610d + +; Counts uses of both Selfdestruct and Explosion. +TrainerRankings_Selfdestruct: mobile ; 10610d + ; Only counts if it’s the player’s turn + ld a, [hBattleTurn] + and a + ret nz + ld hl, sTrainerRankingSelfdestruct + jr TrainerRankings_Increment3Byte +; 106117 + +TrainerRankings_Increment4Byte: ; 106117 + push bc + ld bc, 3 + jr TrainerRankings_Increment +; 10611d + +TrainerRankings_Increment3Byte: ; 10611d + push bc + ld bc, 2 + jr TrainerRankings_Increment +; 106123 + +TrainerRankings_Increment2Byte: ; 106123 + push bc + ld bc, 1 + jr TrainerRankings_Increment +; 106129 + +; unused +TrainerRankings_Increment1Byte: ; 106129 + push bc + ld bc, 0 + +; Increments a big-endian value of bc + 1 bytes at hl +TrainerRankings_Increment: ; 10612d + ld a, BANK(sTrainerRankings) + call GetSRAMBank + push hl + push de + ld e, c + inc e +.asm_106136 + ld a, [hli] + inc a + jr nz, .asm_10613d + dec e + jr nz, .asm_106136 + +.asm_10613d + pop de + pop hl + jr z, .asm_10614d + add hl, bc +.asm_106142 + inc [hl] + jr nz, .asm_10614d + ld a, c + and a + jr z, .asm_10614d + dec hl + dec c + jr .asm_106142 + +.asm_10614d + call UpdateTrainerRankingsChecksum + call CloseSRAM + pop bc + ret +; 106155 + +; Used when SRAM bank 5 isn’t already loaded — what’s the point of this? +UpdateTrainerRankingsChecksum2: mobile ; 106155 + ld a, BANK(sTrainerRankings) + call GetSRAMBank + call UpdateTrainerRankingsChecksum + call CloseSRAM + ret +; 106162 + +UpdateTrainerRankingsChecksum: ; 106162 + push de + call CalculateTrainerRankingsChecksum + ld hl, sTrainerRankingsChecksum + ld [hl], d + inc hl + ld [hl], e + pop de + ret +; 10616e + +CalculateTrainerRankingsChecksum: ; 10616e + push bc + ld hl, sTrainerRankings + ld bc, sTrainerRankingsChecksum - sTrainerRankings + xor a + ld de, 0 +.asm_106179 + ld a, e + add [hl] + ld e, a + jr nc, .asm_10617f + inc d + +.asm_10617f + inc hl + dec bc + ld a, b + or c + jr nz, .asm_106179 + pop bc + ret +; 106187 + + +BackupMobileEventIndex: ; 106187 + ld a, BANK(sMobileEventIndex) + call GetSRAMBank + ld a, [sMobileEventIndex] + push af + ld a, BANK(sMobileEventIndexBackup) + call GetSRAMBank + pop af + ld [sMobileEventIndexBackup], a + call CloseSRAM + ret +; 10619d + + +RestoreMobileEventIndex: ; 10619d (41:619d) + ld a, BANK(sMobileEventIndexBackup) + call GetSRAMBank + ld a, [sMobileEventIndexBackup] + push af + ld a, BANK(sMobileEventIndex) + call GetSRAMBank + pop af + ld [sMobileEventIndex], a + call CloseSRAM + ret +; 1061b3 (41:61b3) + +; Unreferenced in English version. +VerifyTrainerRankingsChecksum: ; 1061b3 + call CalculateTrainerRankingsChecksum + ld hl, sTrainerRankingsChecksum + ld a, d + cp [hl] + ret nz + inc hl + ld a, e + cp [hl] + ret +; 1061c0 + +DeleteMobileEventIndex: ; 1061c0 (41:61c0) + ld a, BANK(sMobileEventIndex) + call GetSRAMBank + xor a + ld [sMobileEventIndex], a + call CloseSRAM + ret +; 1061cd (41:61cd) + +; Used in the Japanese version to initialize Trainer Rankings data +; for a new save file. Unreferenced in the English version. +InitializeTrainerRankings: + ld hl, sTrainerRankings + ld bc, sTrainerRankingsEnd - sTrainerRankings + xor a + call ByteFill + + ; Initialize the shortest Magikarp to 100.0 cm + ld hl, sTrainerRankingShortestMagikarp + ld a, $3 + ld [hli], a + ld [hl], $e8 + + call UpdateTrainerRankingsChecksum + ld hl, sTrainerRankings + ld de, sTrainerRankingsBackup + ld bc, sTrainerRankingsEnd - sTrainerRankings + call CopyBytes + ret +; 1061ef + + +_MobilePrintNum:: ; 1061ef +; Supports signed 31-bit integers (up to 10 digits) +; b: Bits 0-4 = # bytes +; Bit 7 = set if negative +; c: Number of digits +; de: highest byte of number to convert +; hl: where to print the converted string + push bc + xor a + ld [hPrintNum1], a + ld [hPrintNum2], a + ld [hPrintNum3], a + ld a, b + and $f + cp $1 + jr z, .one_byte + cp $2 + jr z, .two_bytes + cp $3 + jr z, .three_bytes +; four bytes + ld a, [de] + ld [hPrintNum1], a + inc de + +.three_bytes + ld a, [de] + ld [hPrintNum2], a + inc de + +.two_bytes + ld a, [de] + ld [hPrintNum3], a + inc de + +.one_byte + ld a, [de] + ld [hPrintNum4], a + inc de + + push de + xor a + ld [hPrintNum9], a + ld a, b + ld [hPrintNum10], a + ld a, c + cp 2 + jr z, .two_digits + ld de, ._2 + cp 3 + jr z, .three_to_nine_digits + ld de, ._3 + cp 4 + jr z, .three_to_nine_digits + ld de, ._4 + cp 5 + jr z, .three_to_nine_digits + ld de, ._5 + cp 6 + jr z, .three_to_nine_digits + ld de, ._6 + cp 7 + jr z, .three_to_nine_digits + ld de, ._7 + cp 8 + jr z, .three_to_nine_digits + ld de, ._8 + cp 9 + jr z, .three_to_nine_digits + ld de, ._9 + +.three_to_nine_digits + inc de + inc de + inc de + dec a + dec a + +.digit_loop + push af + call .Function1062b2 + call .Function1062ff +rept 4 + inc de +endr + pop af + dec a + jr nz, .digit_loop + +.two_digits + ld c, 0 + ld a, [hPrintNum4] +.mod_ten_loop + cp 10 + jr c, .simple_divide_done + sub 10 + inc c + jr .mod_ten_loop + +.simple_divide_done + ld b, a + ld a, [hPrintNum9] + or c + ld [hPrintNum9], a + jr nz, .create_digit + call .LoadMinusTenIfNegative + jr .done + +.create_digit + ld a, "0" + add c + ld [hl], a + +.done + call .Function1062ff + ld a, "0" + add b + ld [hli], a + pop de + pop bc + ret +; 106292 + +._9 dd 1000000000 +._8 dd 100000000 +._7 dd 10000000 +._6 dd 1000000 +._5 dd 100000 +._4 dd 10000 +._3 dd 1000 +._2 dd 100 +; 1062b2 + +.Function1062b2: ; 1062b2 + ld c, $0 +.asm_1062b4 + ld a, [de] + dec de + ld b, a + ld a, [hPrintNum4] + sub b + ld [hPrintNum8], a + ld a, [de] + dec de + ld b, a + ld a, [hPrintNum3] + sbc b + ld [hPrintNum7], a + ld a, [de] + dec de + ld b, a + ld a, [hPrintNum2] + sbc b + ld [hPrintNum6], a + ld a, [de] + inc de + inc de + inc de + ld b, a + ld a, [hPrintNum1] + sbc b + ld [hPrintNum5], a + jr c, .asm_1062eb + ld a, [hPrintNum5] + ld [hPrintNum1], a + ld a, [hPrintNum6] + ld [hPrintNum2], a + ld a, [hPrintNum7] + ld [hPrintNum3], a + ld a, [hPrintNum8] + ld [hPrintNum4], a + inc c + jr .asm_1062b4 + +.asm_1062eb + ld a, [hPrintNum9] + or c + jr z, .LoadMinusTenIfNegative + ld a, -10 + add c + ld [hl], a + ld [hPrintNum9], a + ret + +.LoadMinusTenIfNegative: + ld a, [hPrintNum10] + bit 7, a + ret z + + ld [hl], -10 + ret +; 1062ff + +.Function1062ff: ; 1062ff + ld a, [hPrintNum10] + bit 7, a + jr nz, .asm_10630d + bit 6, a + jr z, .asm_10630d + ld a, [hPrintNum9] + and a + ret z + +.asm_10630d + inc hl + ret +; 10630f + +; functions related to the cable club and various NPC scripts referencing mobile communications + +Mobile_DummyReturnFalse: ; 10630f + xor a + ld [ScriptVar], a + ret +; 106314 + +MobileFn_106314: mobile ; 106314 + ld a, $4 + call GetSRAMBank + ld a, c + cpl + ld [$b000], a + call CloseSRAM + ld a, $7 + call GetSRAMBank + ld a, c + ld [$a800], a + call CloseSRAM + ret +; 10632f + +Mobile_AlwaysReturnNotCarry: ; 10632f + or a + ret + +Function106331: ; 106331 - called by Mobile_DummyReturnFalse in Crystal-J + ; check ~[4:b000] == [7:a800] + ld a, $4 + call GetSRAMBank + ld a, [$b000] + cpl + ld b, a + call CloseSRAM + ld a, $7 + call GetSRAMBank + ld a, [$a800] + ld c, a + call CloseSRAM + ld a, c + cp b + jr nz, .nope + + ; check [7:a800] != 0 + and a + jr z, .nope + + ; check !([7:a800] & %01110000) + and %10001111 + cp c + jr nz, .nope + + ld c, a + scf + ret + +.nope + xor a + ld c, a + ret +; 10635c + +Function10635c: ; 10635c + ld a, [wMobileCommsJumptableIndex] + bit 7, a + ret nz + ld a, [wMobileCommsJumptableIndex] + ld hl, .Jumptable + rst JumpTable + ret +; 10636a + +.Jumptable: ; 10636a + dw .init + dw Function106392 + dw Function1063cc + dw Function1063d8 + dw Function1063e5 + dw Function1063f3 + dw Function106403 + dw Function106442 + dw Function106453 +; 10637c + +.init: ; 10637c + ld de, wcd30 + ld hl, $41 + ld bc, $41 + ld a, $40 + call Function3e32 + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ret +; 106392 + +Function106392: ; 106392 + xor a + ld [wcf64], a + ld a, [wc821] + bit 1, a + jr nz, .asm_1063a2 + bit 0, a + jr z, .asm_1063bf + ret + +.asm_1063a2 + call Mobile_AlwaysReturnNotCarry + ld a, c + and a + jr nz, .asm_1063b4 + ld a, $b + ld [wcf64], a + ld a, $7 + ld [wMobileCommsJumptableIndex], a + ret + +.asm_1063b4 + ld a, $7 + ld [wcf64], a + ld a, $7 + ld [wMobileCommsJumptableIndex], a + ret + +.asm_1063bf + ld a, $1 + ld [wcf64], a + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ret +; 1063cc + +Function1063cc: ; 1063cc + ld a, $78 + ld [wcd42], a + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + +Function1063d8: ; 1063d8 + ld hl, wcd42 + dec [hl] + ret nz + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ret +; 1063e5 + +Function1063e5: ; 1063e5 + ld a, [wcf64] + cp $3 + ret nz + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ret +; 1063f3 + +Function1063f3: ; 1063f3 + ld de, wcd31 + ld a, $32 + call Function3e32 + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ret +; 106403 + +Function106403: ; 106403 + ld a, [wc821] + bit 1, a + jr nz, .asm_106426 + bit 0, a + jr z, .asm_10640f + ret + +.asm_10640f + ld a, [wcd31] + and $80 + ld c, a + ld a, [wcd30] + or c + inc a + ld c, a + call MobileFn_106314 + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ret + +.asm_106426 + call Mobile_AlwaysReturnNotCarry + ld a, c + and a + jr z, .asm_106435 + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ret + +.asm_106435 + ld c, $0 + call MobileFn_106314 + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + ret +; 106442 + +Function106442: ; 106442 + ld a, $36 + call Function3e32 + xor a + ld [hMobile], a + ld [hMobileReceive], a + ld a, [wMobileCommsJumptableIndex] + inc a + ld [wMobileCommsJumptableIndex], a + +Function106453: ; 106453 + ld a, [wMobileCommsJumptableIndex] + set 7, a + ld [wMobileCommsJumptableIndex], a + nop + ld a, $4 + ld [wcf64], a + ret +; 106462 + +MobileFunc_106462: mobile + ret +; 106464 + +Function106464:: ; 106464 + ld de, MobilePhoneTilesGFX + ld hl, VTiles2 tile $60 + lb bc, BANK(MobilePhoneTilesGFX), 1 + call Get2bpp + ld de, FontsExtra2_UpArrowGFX + ld hl, VTiles2 tile $61 + lb bc, BANK(FontsExtra2_UpArrowGFX), 1 + call Get2bpp + ld de, GFX_106514 + ld hl, VTiles2 tile $62 + ld c, 9 + ld b, BANK(GFX_106514) + call Get2bpp + ld de, $40b0 + ld hl, VTiles2 tile $6b + ld b, $f ; XXX no graphics at 0f:40b0 + call Get2bpp + callba LoadFrame + ret +; 10649b + +Function10649b: ; 10649b + ld a, [TextBoxFrame] + and $7 + ld bc, 3 tiles + ld hl, Frames + call AddNTimes + ld d, h + ld e, l + ld hl, VTiles2 tile $79 + ld c, 6 + ld b, BANK(Frames) + call Function1064c3 + ld hl, VTiles2 tile $7f + ld de, TextBoxSpaceGFX + ld c, 1 + ld b, BANK(TextBoxSpaceGFX) + call Function1064c3 + ret +; 1064c3 + +Function1064c3: ; 1064c3 + ld a, [rSVBK] + push af + ld a, $6 + ld [rSVBK], a + push bc + push hl + ld hl, Function3f88 + ld a, b + rst FarCall + pop hl + pop bc + pop af + ld [rSVBK], a + jr asm_1064ed + +Function1064d8: ; 1064d8 + ld a, [rSVBK] + push af + ld a, $6 + ld [rSVBK], a + push bc + push hl + ld hl, Function3f9f + ld a, b + rst FarCall + pop hl + pop bc + pop af + ld [rSVBK], a + jr asm_1064ed + +asm_1064ed + ld de, wDecompressScratch + ld b, $0 + ld a, [rSVBK] + push af + ld a, $6 + ld [rSVBK], a + ld a, [rVBK] + push af + ld a, $1 + ld [rVBK], a + call Get2bpp + pop af + ld [rVBK], a + pop af + ld [rSVBK], a + ret +; 10650a + +Function10650a: ; 10650a + ld de, MobilePhoneTilesGFX + $20 + lb bc, BANK(MobilePhoneTilesGFX), $11 + call Get2bpp + ret +; 106514 + +GFX_106514: +INCBIN "gfx/unknown/106514.2bpp" diff --git a/mobile/mobile_42.asm b/mobile/mobile_42.asm new file mode 100644 index 000000000..b625d6bcf --- /dev/null +++ b/mobile/mobile_42.asm @@ -0,0 +1,2009 @@ +MobileTradeAnimation_SendGivemonToGTS: ; 108000 + ld a, $80 + ld [wcf65], a + ld de, .TradeAnimScript + jp RunMobileTradeAnim_NoFrontpics +; 10800b + +.TradeAnimScript: + mobiletradeanim_showgtsgivemon + mobiletradeanim_12 + mobiletradeanim_10 + mobiletradeanim_sendmon + mobiletradeanim_06 + mobiletradeanim_0f + mobiletradeanim_end + +MobileTradeAnimation_RetrieveGivemonFromGTS: + ld a, $80 + jr asm_108018 + +MobileTradeAnimation_ReceiveGetmonFromGTS: ; 108016 + ld a, $0 +asm_108018: + ld [wcf65], a + ld de, .TradeAnimScript + jp RunMobileTradeAnim_NoFrontpics +; 108021 + +.TradeAnimScript: + mobiletradeanim_11 + mobiletradeanim_07 + mobiletradeanim_receivemon + mobiletradeanim_showgtsgetmon + mobiletradeanim_end + +Function108026: ; 108026 + ld a, $0 + jr asm_10802c + +Function10802a: ; 10802a + ld a, $1 + +asm_10802c: + ld [wcf65], a + ld de, .TradeAnimScript + jp RunMobileTradeAnim_Frontpics +; 108035 + +.TradeAnimScript: ; trade + mobiletradeanim_showgivemon + mobiletradeanim_12 + mobiletradeanim_02 + mobiletradeanim_sendmon + mobiletradeanim_05 + mobiletradeanim_receivemon + mobiletradeanim_showgetmon + mobiletradeanim_end + +Function10803d: ; 10803d + ld a, $0 + ld [wcf65], a + ld de, .TradeAnimScript + jp RunMobileTradeAnim_NoFrontpics +; 108048 + +.TradeAnimScript: + mobiletradeanim_11 + mobiletradeanim_07 + mobiletradeanim_receivemon + mobiletradeanim_showoddegg + mobiletradeanim_end + +Function10804d: ; 10804d + ld a, $0 + ld [wcf65], a + ld de, .TradeAnimScript + jp RunMobileTradeAnim_NoFrontpics +; 108058 + +.TradeAnimScript: + mobiletradeanim_11 + mobiletradeanim_showgtsgetmon + mobiletradeanim_end + +RunMobileTradeAnim_Frontpics: ; 10805b + ld hl, wTradeAnimAddress + ld [hl], e + inc hl + ld [hl], d + ld a, [hMapAnims] + push af + xor a + ld [hMapAnims], a + ld hl, VramState + ld a, [hl] + push af + res 0, [hl] + ld hl, Options + ld a, [hl] + push af + set NO_TEXT_SCROLL, [hl] + call Function1080b7 +.loop + call MobileTradeAnim_JumptableLoop + jr nc, .loop + pop af + ld [Options], a + pop af + ld [VramState], a + pop af + ld [hMapAnims], a + ret +; 108089 + +RunMobileTradeAnim_NoFrontpics: ; 108089 + ld hl, wTradeAnimAddress + ld [hl], e + inc hl + ld [hl], d + ld a, [hMapAnims] + push af + xor a + ld [hMapAnims], a + ld hl, VramState + ld a, [hl] + push af + res 0, [hl] + ld hl, Options + ld a, [hl] + push af + set NO_TEXT_SCROLL, [hl] + call Function108157 +.loop + call MobileTradeAnim_JumptableLoop + jr nc, .loop + pop af + ld [Options], a + pop af + ld [VramState], a + pop af + ld [hMapAnims], a + ret +; 1080b7 + +Function1080b7: ; 1080b7 + xor a + ld [wJumptableIndex], a + call ClearBGPalettes + call ClearSprites + call ClearTileMap + call DisableLCD + call MobileTradeAnim_ClearVTiles + call MobileTradeAnim_ClearBGMap + call LoadStandardFont + call LoadFontsBattleExtra + + ld a, $1 + ld [rVBK], a + ld hl, LZ_108da7 + ld de, VTiles2 + call Decompress + + ld a, $0 + ld [rVBK], a + ld hl, LZ_108d27 + ld de, VTiles0 tile $20 + call Decompress + + call EnableLCD + + xor a + ld [hSCX], a + ld [hSCY], a + ld a, $7 + ld [hWX], a + ld a, $90 + ld [hWY], a + callba ClearSpriteAnims + + call DelayFrame + + ld de, TradeBallGFX + ld hl, VTiles0 + lb bc, BANK(TradeBallGFX), $06 + call Request2bpp + + ld de, TradePoofGFX + ld hl, VTiles0 tile $06 + lb bc, BANK(TradePoofGFX), $0c + call Request2bpp + + xor a + ld hl, wSpriteAnimDict + ld [hli], a + ld [hl], $0 + + ld a, [wPlayerTrademonSpecies] + ld hl, wPlayerTrademonDVs + ld de, VTiles0 tile $30 + call MobileTradeAnim_GetFrontpic + + ld a, [wOTTrademonSpecies] + ld hl, wOTTrademonDVs + ld de, VTiles2 tile $31 + call MobileTradeAnim_GetFrontpic + + ld a, [wPlayerTrademonSpecies] + ld de, wPlayerTrademonSpeciesName + call MobileTradeAnim_InitSpeciesName + + ld a, [wOTTrademonSpecies] + ld de, wOTTrademonSpeciesName + call MobileTradeAnim_InitSpeciesName + + xor a + call Function108b98 + call Function108af4 + ret +; 108157 + +Function108157: ; 108157 + xor a + ld [wJumptableIndex], a + call ClearBGPalettes + call ClearSprites + call ClearTileMap + call DisableLCD + call MobileTradeAnim_ClearVTiles + call MobileTradeAnim_ClearBGMap + call LoadStandardFont + call LoadFontsBattleExtra + call EnableLCD + xor a + ld [hSCX], a + ld [hSCY], a + ld a, $7 + ld [hWX], a + ld a, $90 + ld [hWY], a + callba ClearSpriteAnims + xor a + ld hl, wSpriteAnimDict + ld [hli], a + ld [hl], $0 + call DelayFrame + ld a, [wPlayerTrademonSpecies] + ld de, wPlayerTrademonSpeciesName + call MobileTradeAnim_InitSpeciesName + ld a, [wOTTrademonSpecies] + ld de, wOTTrademonSpeciesName + call MobileTradeAnim_InitSpeciesName + xor a + call Function108b98 + call Function108af4 + ret +; 1081ad + +MobileTradeAnim_ClearVTiles: ; 1081ad + ld a, $1 + ld [rVBK], a + ld hl, VTiles0 + ld bc, 3 * $80 tiles + xor a + call ByteFill + ld a, $0 + ld [rVBK], a + ld hl, VTiles0 + ld bc, 3 * $80 tiles + xor a + call ByteFill + ret +; 1081ca + +MobileTradeAnim_ClearBGMap: ; 1081ca + ld a, $1 + ld [rVBK], a + hlbgcoord 0, 0 + ld bc, 2 * BG_MAP_HEIGHT * BG_MAP_WIDTH + ld a, $0 + call ByteFill + ld a, $0 + ld [rVBK], a + hlbgcoord 0, 0 + ld bc, 2 * BG_MAP_HEIGHT * BG_MAP_WIDTH + ld a, $7f + call ByteFill + ret +; 1081e9 + +MobileTradeAnim_GetFrontpic: ; 1081e9 + push de + push af + predef GetUnownLetter + pop af + ld [CurPartySpecies], a + ld [CurSpecies], a + call GetBaseData + pop de + predef GetFrontpic + ret +; 108201 + +Function108201: ; 108201 + push de + push af + predef GetUnownLetter + pop af + ld [CurPartySpecies], a + ld [CurSpecies], a + call GetBaseData + pop de + predef FrontpicPredef + ret +; 108219 + +Function108219: ; 108219 + ld [CurPartySpecies], a + hlcoord 7, 2 + ld d, $0 + ld e, ANIM_MON_TRADE + predef AnimateFrontpic + ret +; 108229 + +Function108229: ; 108229 + ld [CurPartySpecies], a + hlcoord 7, 2 + ld d, $0 + ld e, ANIM_MON_TRADE + predef LoadMonAnimation + ret +; 108239 + +MobileTradeAnim_InitSpeciesName: ; 108239 + push de + ld [wd265], a + call GetPokemonName + ld hl, StringBuffer1 + pop de + ld bc, PKMN_NAME_LENGTH + call CopyBytes + ret +; 10824b + +MobileTradeAnim_JumptableLoop: ; 10824b + ld a, [wJumptableIndex] + bit 7, a + jr nz, .StopAnim + call .ExecuteMobileTradeAnimCommand + call DelayFrame + and a + ret + +.StopAnim: + xor a + ld [hSCX], a + ld [hSCY], a + ld a, $7 + ld [hWX], a + ld a, $90 + ld [hWY], a + call LoadStandardFont + call LoadFontsBattleExtra + callba MobileFunc_106462 + callba Function106464 + scf + ret +; 10827b + +.ExecuteMobileTradeAnimCommand: ; 10827b + ld a, [wJumptableIndex] + ld e, a + ld d, 0 + ld hl, .Jumptable + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp hl +; 10828a + +.Jumptable: ; 10828a + + dw GetMobileTradeAnimByte ; 00 + dw MobileTradeAnim_ShowPlayerMonToBeSent ; 01 + dw MobileTradeAnim_02 ; 02 + dw MobileTradeAnim_GiveTrademon1 ; 03 + dw MobileTradeAnim_GiveTrademon2 ; 04 + dw MobileTradeAnim_05 ; 05 + dw MobileTradeAnim_06 ; 06 + dw MobileTradeAnim_07 ; 07 + dw MobileTradeAnim_GetTrademon1 ; 08 + dw MobileTradeAnim_GetTrademon2 ; 09 + dw MobileTradeAnim_GetTrademon3 ; 0a + dw MobileTradeAnim_ShowOTMonFromTrade ; 0b + dw EndMobileTradeAnim ; 0c + dw MobileTradeAnim_ShowPlayerMonForGTS ; 0d + dw MobileTradeAnim_ShowOTMonFromGTS ; 0e + dw MobileTradeAnim_0f ; 0f + dw MobileTradeAnim_10 ; 10 + dw MobileTradeAnim_11 ; 11 + dw MobileTradeAnim_FadeToBlack ; 12 + dw MobileTradeAnim_GetOddEgg ; 13 get odd egg +; 1082b2 + +MobileTradeAnim_Next: ; 1082b2 + ld hl, wJumptableIndex + inc [hl] + ret +; 1082b7 + +GetMobileTradeAnimByte: ; 1082b7 + ld hl, wTradeAnimAddress + ld e, [hl] + inc hl + ld d, [hl] + ld a, [de] + ld [wJumptableIndex], a + inc de + ld [hl], d + dec hl + ld [hl], e + ret +; 1082c6 + +EndMobileTradeAnim: ; 1082c6 + ld hl, wJumptableIndex + set 7, [hl] + ret +; 1082cc + +WaitMobileTradeSpriteAnims: ; 1082cc +.loop + push bc + callba PlaySpriteAnimations + pop bc + call DelayFrame + dec c + jr nz, .loop + ret +; 1082db + +Function1082db: ; 1082db +.loop + callba PlaySpriteAnimations + callba SetUpPokeAnim + callba HDMATransferTileMapToWRAMBank3 + jr nc, .loop + ret +; 1082f0 + +Function1082f0: ; 1082f0 +.loop + call Function108b78 + call DelayFrame + dec c + jr nz, .loop + ret +; 1082fa + +Function1082fa: ; 1082fa +.loop + call Function108b78 + push hl + push bc + callba PlaySpriteAnimations + pop bc + pop hl + call DelayFrame + dec c + jr nz, .loop + ret +; 10830e + +MobileTradeAnim_ShowPlayerMonToBeSent: ; 10830e + ld de, MUSIC_EVOLUTION + call PlayMusic2 + ld a, $80 + ld [hSCX], a + xor a + ld [hSCY], a + ld a, $87 + ld [hWX], a + ld a, $50 + ld [hWY], a + call MobileTradeAnim_DisplayMonToBeSent + ld a, [wPlayerTrademonSpecies] + ld [CurPartySpecies], a + call Function10895e + ld a, [wPlayerTrademonDVs] + ld [TempMonDVs], a + ld a, [wPlayerTrademonDVs + 1] + ld [TempMonDVs + 1], a + ld b, SCGB_PLAYER_OR_MON_FRONTPIC_PALS + call GetSGBLayout + ld a, %11100100 ; 3,2,1,0 + call DmgToCgbBGPals + call WaitBGMap +.loop + ld a, [hWX] + cp $7 + jr z, .okay + sub $4 + ld [hWX], a + ld a, [hSCX] + sub $4 + ld [hSCX], a + call DelayFrame + jr .loop + +.okay + ld a, $7 + ld [hWX], a + xor a + ld [hSCX], a + ld a, [wPlayerTrademonSpecies] + call GetCryIndex + jr c, .skip_cry + ld e, c + ld d, b + call PlayCryHeader + +.skip_cry + ld c, 80 + call DelayFrames + call Function108bec + depixel 10, 11, 4, 0 + ld a, SPRITE_ANIM_INDEX_MOBILE_TRADE_SENT_BALL + call _InitSpriteAnimStruct + ld de, SFX_BALL_POOF + call PlaySFX + hlcoord 0, 0 + ld bc, 12 * SCREEN_WIDTH + ld a, " " + call ByteFill + ld c, 80 + call WaitMobileTradeSpriteAnims + call GetMobileTradeAnimByte + ret +; 10839b + +MobileTradeAnim_ShowOTMonFromTrade: ; 10839b + call ClearBGPalettes + call ClearSprites + call ClearTileMap + call DisableLCD + call MobileTradeAnim_ClearBGMap + ld a, [wOTTrademonSpecies] + ld [CurPartySpecies], a + ld hl, wOTTrademonDVs + ld de, VTiles2 + call Function108201 + call EnableLCD + callba DeinitializeAllSprites + xor a + ld [hSCX], a + ld [hSCY], a + ld a, $7 + ld [hWX], a + ld a, $90 + ld [hWY], a + depixel 10, 11, 4, 0 + ld a, SPRITE_ANIM_INDEX_MOBILE_TRADE_OT_BALL + call _InitSpriteAnimStruct + call Function108b45 + ld a, $1 + call Function108b98 + call Function108af4 + ld c, 48 + call WaitMobileTradeSpriteAnims + ld de, SFX_BALL_POOF + call PlaySFX + call MobileTradeAnim_DisplayReceivedMon + xor a + ld [hSCX], a + ld [hSCY], a + ld a, $7 + ld [hWX], a + ld a, $50 + ld [hWY], a + ld a, [wOTTrademonSpecies] + ld [CurPartySpecies], a + ld a, [wOTTrademonDVs] + ld [TempMonDVs], a + ld a, [wOTTrademonDVs + 1] + ld [TempMonDVs + 1], a + ld b, SCGB_PLAYER_OR_MON_FRONTPIC_PALS + call GetSGBLayout + ld a, %11100100 ; 3,2,1,0 + call DmgToCgbBGPals + call Function108963 + ld a, [wOTTrademonSpecies] + call Function108229 + call Function1082db + call Function108c16 + call GetMobileTradeAnimByte + ret +; 10842c + +MobileTradeAnim_ShowPlayerMonForGTS: ; 10842c + ld de, MUSIC_EVOLUTION + call PlayMusic2 + ld a, $80 + ld [hSCX], a + xor a + ld [hSCY], a + ld a, $87 + ld [hWX], a + ld a, $50 + ld [hWY], a + call MobileTradeAnim_DisplayMonToBeSent + ld a, [wPlayerTrademonSpecies] + ld [CurPartySpecies], a + ld hl, wPlayerTrademonDVs + call Function10898a + call DelayFrame + ld de, TradeBallGFX + ld hl, VTiles0 + lb bc, BANK(TradeBallGFX), $06 + call Request2bpp + ld de, TradePoofGFX + ld hl, VTiles0 tile $06 + lb bc, BANK(TradePoofGFX), $0c + call Request2bpp + ld a, [wPlayerTrademonDVs] + ld [TempMonDVs], a + ld a, [wPlayerTrademonDVs + 1] + ld [TempMonDVs + 1], a + ld b, SCGB_PLAYER_OR_MON_FRONTPIC_PALS + call GetSGBLayout + ld a, %11100100 ; 3,2,1,0 + call DmgToCgbBGPals + call WaitBGMap +.loop + ld a, [hWX] + cp $7 + jr z, .done + sub $4 + ld [hWX], a + ld a, [hSCX] + sub $4 + ld [hSCX], a + call DelayFrame + jr .loop + +.done + ld a, $7 + ld [hWX], a + xor a + ld [hSCX], a + ld a, [wPlayerTrademonSpecies] + call GetCryIndex + jr c, .skip_cry + ld e, c + ld d, b + call PlayCryHeader + +.skip_cry + ld c, 80 + call DelayFrames + call Function108c2b + depixel 10, 11, 4, 0 + ld a, SPRITE_ANIM_INDEX_MOBILE_TRADE_SENT_BALL + call _InitSpriteAnimStruct + ld de, SFX_BALL_POOF + call PlaySFX + hlcoord 0, 0 + ld bc, 12 * SCREEN_WIDTH + ld a, " " + call ByteFill + ld c, 80 + call WaitMobileTradeSpriteAnims + call GetMobileTradeAnimByte + ret +; 1084d7 + +MobileTradeAnim_ShowOTMonFromGTS: ; 1084d7 + call ClearBGPalettes + call ClearSprites + call ClearTileMap + call DisableLCD + call MobileTradeAnim_ClearBGMap + ld a, [wOTTrademonSpecies] + ld [CurPartySpecies], a + ld hl, wOTTrademonDVs + ld de, VTiles2 + call Function108201 + call EnableLCD + callba DeinitializeAllSprites + call DelayFrame + ld de, TradeBallGFX + ld hl, VTiles0 + lb bc, BANK(TradeBallGFX), $06 + call Request2bpp + ld de, TradePoofGFX + ld hl, VTiles0 tile $06 + lb bc, BANK(TradePoofGFX), $0c + call Request2bpp + xor a + ld [hSCX], a + ld [hSCY], a + ld a, $7 + ld [hWX], a + ld a, $90 + ld [hWY], a + depixel 10, 11, 4, 0 + ld a, SPRITE_ANIM_INDEX_MOBILE_TRADE_OT_BALL + call _InitSpriteAnimStruct + call Function108b45 + ld a, $1 + call Function108b98 + call Function108af4 + ld c, 48 + call WaitMobileTradeSpriteAnims + ld de, SFX_BALL_POOF + call PlaySFX + call MobileTradeAnim_DisplayReceivedMon + xor a + ld [hSCX], a + ld [hSCY], a + ld a, $7 + ld [hWX], a + ld a, $50 + ld [hWY], a + ld a, [wOTTrademonSpecies] + ld [CurPartySpecies], a + ld a, [wOTTrademonDVs] + ld [TempMonDVs], a + ld a, [wOTTrademonDVs + 1] + ld [TempMonDVs + 1], a + ld b, SCGB_PLAYER_OR_MON_FRONTPIC_PALS + call GetSGBLayout + ld a, %11100100 ; 3,2,1,0 + call DmgToCgbBGPals + ld a, [wOTTrademonSpecies] + ld hl, wOTTrademonDVs + call Function10898a + ld a, [wOTTrademonSpecies] + call Function108229 + call Function1082db + call Function108c40 + call GetMobileTradeAnimByte + ret +; 108589 + +MobileTradeAnim_GetOddEgg: ; 108589 + call ClearBGPalettes + call ClearSprites + call ClearTileMap + call DisableLCD + call MobileTradeAnim_ClearBGMap + ld a, [wOTTrademonSpecies] + ld [CurPartySpecies], a + ld hl, wOTTrademonDVs + ld de, VTiles2 + call Function108201 + call EnableLCD + callba DeinitializeAllSprites + call DelayFrame + ld de, TradeBallGFX + ld hl, VTiles0 + lb bc, BANK(TradeBallGFX), $06 + call Request2bpp + ld de, TradePoofGFX + ld hl, VTiles0 tile $06 + lb bc, BANK(TradePoofGFX), $0c + call Request2bpp + xor a + ld [hSCX], a + ld [hSCY], a + ld a, $7 + ld [hWX], a + ld a, $90 + ld [hWY], a + depixel 10, 11, 4, 0 + ld a, SPRITE_ANIM_INDEX_MOBILE_TRADE_OT_BALL + call _InitSpriteAnimStruct + call Function108b45 + ld a, $1 + call Function108b98 + call Function108af4 + ld c, 48 + call WaitMobileTradeSpriteAnims + ld de, SFX_BALL_POOF + call PlaySFX + call Function108a33 + xor a + ld [hSCX], a + ld [hSCY], a + ld a, $7 + ld [hWX], a + ld a, $50 + ld [hWY], a + ld a, [wOTTrademonSpecies] + ld [CurPartySpecies], a + ld a, [wOTTrademonDVs] + ld [TempMonDVs], a + ld a, [wOTTrademonDVs + 1] + ld [TempMonDVs + 1], a + ld b, SCGB_PLAYER_OR_MON_FRONTPIC_PALS + call GetSGBLayout + ld a, %11100100 ; 3,2,1,0 + call DmgToCgbBGPals + ld a, [wOTTrademonSpecies] + ld hl, wOTTrademonDVs + call Function10898a + ld a, [wOTTrademonSpecies] + call Function108229 + call Function1082db + call GetMobileTradeAnimByte + ret +; 108638 + +MobileTradeAnim_02: ; 108638 + callba DeinitializeAllSprites + call ClearBGPalettes + call ClearSprites + call ClearTileMap + xor a + ld [hBGMapMode], a + call DisableLCD + call MobileTradeAnim_ClearBGMap + call Function108c80 + call Function108c6d + call EnableLCD + ld a, $c + ld [hSCX], a + ld a, $78 + ld [hSCY], a + ld a, $7 + ld [hWX], a + ld a, $90 + ld [hWY], a + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld hl, Palette_109107 + ld de, UnknBGPals + ld bc, 8 palettes + call CopyBytes + pop af + ld [rSVBK], a + call Function108d07 + call Function108af4 + call GetMobileTradeAnimByte + ret +; 108689 + +MobileTradeAnim_10: ; 108689 + callba DeinitializeAllSprites + call ClearBGPalettes + call ClearSprites + call ClearTileMap + xor a + ld [hBGMapMode], a + call DisableLCD + call MobileTradeAnim_ClearBGMap + ld a, $1 + ld [rVBK], a + ld hl, LZ_108da7 + ld de, VTiles2 + call Decompress + ld a, $0 + ld [rVBK], a + ld hl, LZ_108d27 + ld de, VTiles0 tile $20 + call Decompress + call Function108c80 + call Function108c6d + call EnableLCD + ld a, $c + ld [hSCX], a + ld a, $78 + ld [hSCY], a + ld a, $7 + ld [hWX], a + ld a, $90 + ld [hWY], a + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld hl, Palette_109107 + ld de, UnknBGPals + ld bc, 8 palettes + call CopyBytes + pop af + ld [rSVBK], a + call Function108d07 + call Function108af4 + call GetMobileTradeAnimByte + ret +; 1086f4 + +MobileTradeAnim_11: ; 1086f4 + call ClearBGPalettes + call ClearSprites + call ClearTileMap + xor a + ld [hBGMapMode], a + call DisableLCD + ld a, $1 + ld [rVBK], a + ld hl, LZ_108da7 + ld de, VTiles2 + call Decompress + ld a, $0 + ld [rVBK], a + ld hl, LZ_108d27 + ld de, VTiles0 tile $20 + call Decompress + call Function108c80 + call Function108c6d + call EnableLCD + ld a, $80 + ld [hSCX], a + ld a, $90 + ld [hSCY], a + ld a, $7 + ld [hWX], a + ld a, $90 + ld [hWY], a + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld hl, Palette_109107 + ld de, UnknBGPals + ld bc, 8 palettes + call CopyBytes + pop af + ld [rSVBK], a + call Function108d07 + call Function108af4 + call Function108b5a + ld a, $e0 + ld [hSCX], a + ld de, MUSIC_EVOLUTION + call PlayMusic2 + call GetMobileTradeAnimByte + ret +; 108763 + +MobileTradeAnim_GiveTrademon1: ; 108763 + ld de, SFX_GIVE_TRADEMON + call PlaySFX + ld c, 40 + ld hl, BGPals + 6 palettes + call Function1082f0 + call Function108af4 +.loop + ld a, [hSCX] + cp $e0 + jr z, .loop2 + dec a + dec a + ld [hSCX], a + cp $f8 + jr nz, .next + depixel 10, 11, 4, 0 + ld a, SPRITE_ANIM_INDEX_MOBILE_22 + call _InitSpriteAnimStruct + +.next + ld c, 1 + call WaitMobileTradeSpriteAnims + jr .loop + +.loop2 + ld a, [hSCY] + cp $f8 + jr z, .done + dec a + dec a + ld [hSCY], a + cp $40 + jr z, .init + cp $30 + jr z, .delete + cp $68 + jr z, .replace + jr .next2 + +.init + depixel 10, 11, 4, 0 + ld a, SPRITE_ANIM_INDEX_MOBILE_22 + call _InitSpriteAnimStruct + xor a + call Function108ad4 + jr .next2 + +.delete + call MobileTradeAnim_DeleteSprites + jr .next2 + +.replace + call MobileTradeAnim_DeleteSprites + ld a, $1 + call Function108ad4 +.next2 + ld c, 1 + call WaitMobileTradeSpriteAnims + jr .loop2 + +.done + call MobileTradeAnim_Next + ret +; 1087cf + +MobileTradeAnim_GiveTrademon2: ; 1087cf + ld c, 40 + ld hl, BGPals + 1 palettes + call Function1082f0 + call Function108af4 + call Function108b5a + depixel 9, 10, 2, 0 + ld a, SPRITE_ANIM_INDEX_MOBILE_25 + call _InitSpriteAnimStruct + ld de, SFX_FORESIGHT + call PlaySFX + ld c, 10 + call WaitMobileTradeSpriteAnims + xor a + ld [wcf64], a + depixel 9, 10, 2, 0 + ld a, SPRITE_ANIM_INDEX_MOBILE_23 + call _InitSpriteAnimStruct +.loop + ld a, [hSCY] + cp $90 + jr z, .done + sub $8 + ld [hSCY], a + ld c, 1 + call WaitMobileTradeSpriteAnims + jr .loop + +.done + call GetMobileTradeAnimByte + ret +; 108811 + +MobileTradeAnim_05: ; 108811 + ld c, 40 + call WaitMobileTradeSpriteAnims + ld a, $1 + ld [wcf64], a + ld de, SFX_SHARPEN + call PlaySFX + ld c, 60 + call WaitMobileTradeSpriteAnims + depixel 30, 10, 2, 0 + ld a, SPRITE_ANIM_INDEX_MOBILE_24 + call _InitSpriteAnimStruct + call GetMobileTradeAnimByte + ld de, SFX_THROW_BALL + call PlaySFX + ret +; 108838 + +MobileTradeAnim_06: ; 108838 + ld c, 40 + call WaitMobileTradeSpriteAnims + ld a, $1 + ld [wcf64], a + ld de, SFX_SHARPEN + call PlaySFX + call GetMobileTradeAnimByte + ret +; 10884c + +MobileTradeAnim_07: ; 10884c + ld c, 80 + call DelayFrames + depixel 30, 10, 2, 0 + ld a, SPRITE_ANIM_INDEX_MOBILE_24 + call _InitSpriteAnimStruct + call GetMobileTradeAnimByte + ld de, SFX_THROW_BALL + call PlaySFX + ret +; 108863 + +MobileTradeAnim_GetTrademon1: ; 108863 + ld c, 40 + call WaitMobileTradeSpriteAnims +.loop + ld a, [hSCY] + cp $f8 + jr z, .done + add $8 + ld [hSCY], a + ld c, 1 + call WaitMobileTradeSpriteAnims + jr .loop + +.done + callba DeinitializeAllSprites + depixel 9, 10, 2, 0 + ld a, SPRITE_ANIM_INDEX_MOBILE_25 + call _InitSpriteAnimStruct + ld de, SFX_GLASS_TING_2 + call PlaySFX + call Function108af4 + call MobileTradeAnim_Next + ret +; 108894 + +MobileTradeAnim_GetTrademon2: ; 108894 + ld c, 20 + ld hl, BGPals + 1 palettes + call Function1082fa + ld de, SFX_GIVE_TRADEMON + call PlaySFX + ld c, 20 + ld hl, BGPals + 1 palettes + call Function1082fa + call Function108af4 +.asm_1088ad + ld a, [hSCY] + cp $78 + jr z, .asm_1088ee + inc a + inc a + ld [hSCY], a + cp $30 + jr z, .asm_1088c5 + cp $40 + jr z, .asm_1088dd + cp $68 + jr z, .asm_1088cf + jr .asm_1088e7 + +.asm_1088c5 + depixel 10, 11, 4, 0 + ld a, SPRITE_ANIM_INDEX_MOBILE_22 + call _InitSpriteAnimStruct + jr .asm_1088e7 + +.asm_1088cf + depixel 10, 11, 4, 0 + ld a, SPRITE_ANIM_INDEX_MOBILE_22 + call _InitSpriteAnimStruct + xor a + call Function108ad4 + jr .asm_1088e7 + +.asm_1088dd + call MobileTradeAnim_DeleteSprites + ld a, $1 + call Function108ad4 + jr .asm_1088e7 + +.asm_1088e7 + ld c, 1 + call WaitMobileTradeSpriteAnims + jr .asm_1088ad + +.asm_1088ee + ld a, [hSCX] + cp $c + jr z, .asm_108906 + inc a + inc a + ld [hSCX], a + cp -8 + jr nz, .asm_1088e7 + call MobileTradeAnim_DeleteSprites + ld c, 1 + call WaitMobileTradeSpriteAnims + jr .asm_1088ee + +.asm_108906 + call MobileTradeAnim_Next + ret +; 10890a + +MobileTradeAnim_GetTrademon3: ; 10890a + ld c, 40 + ld hl, BGPals + 6 palettes + call Function1082f0 + call Function108af4 + call GetMobileTradeAnimByte + ret +; 108919 + +MobileTradeAnim_0f: ; 108919 + ld c, 40 + call WaitMobileTradeSpriteAnims + callba DeinitializeAllSprites + call ClearBGPalettes + call ClearSprites + call ClearTileMap + call DisableLCD + call MobileTradeAnim_ClearVTiles + call MobileTradeAnim_ClearBGMap + call EnableLCD + call GetMobileTradeAnimByte + ret +; 10893d + +MobileTradeAnim_FadeToBlack: ; 10893d +.loop + ld a, [rBGP] + and a + jr z, .blank + sla a + sla a + call DmgToCgbBGPals + call DmgToCgbObjPal0 + ld c, 4 + call DelayFrames + jr .loop + +.blank + xor a + call DmgToCgbBGPals + call DmgToCgbObjPal0 + call GetMobileTradeAnimByte + ret +; 10895e + +Function10895e: ; 10895e + ld de, VTiles0 tile $30 + jr asm_108966 + +Function108963: + ld de, VTiles2 tile $31 +asm_108966 + call DelayFrame + ld hl, VTiles2 + lb bc, $a, $31 ; $a is the bank of ????? + call Request2bpp + call WaitTop + call MobileTradeAnim_ClearTilemap + hlcoord 7, 2 + xor a + ld [hGraphicStartTile], a + lb bc, 7, 7 + predef PlaceGraphic + call WaitBGMap + ret +; 10898a + +Function10898a: ; 10898a + ld de, VTiles2 + call MobileTradeAnim_GetFrontpic + call WaitTop + call MobileTradeAnim_ClearTilemap + hlcoord 7, 2 + xor a + ld [hGraphicStartTile], a + lb bc, 7, 7 + predef PlaceGraphic + call WaitBGMap + ret +; 1089a8 + +MobileTradeAnim_DisplayMonToBeSent: ; 1089a8 + ld de, wPlayerTrademonSpecies + ld a, [de] + cp EGG + jr z, MobileTradeAnim_DisplayEggData + call MobileTradeAnim_LoadMonTemplate + ld de, wPlayerTrademonSpecies + call MobileTradeAnim_MonDisplay_PrintSpeciesNumber + ld de, wPlayerTrademonSpeciesName + call MobileTradeAnim_MonDisplay_PrintSpeciesName + ld a, [wPlayerTrademonCaughtData] + ld de, wPlayerTrademonOTName + call MobileTradeAnim_MonDisplay_PrintOTNameAndGender + ld de, wPlayerTrademonID + call MobileTradeAnim_MonDisplay_PrintIDNumber + call MobileTradeAnim_MonDisplay_UpdateBGMap + ret + +MobileTradeAnim_DisplayReceivedMon: + ld de, wOTTrademonSpecies + ld a, [de] + cp EGG + jr z, MobileTradeAnim_DisplayEggData + call MobileTradeAnim_LoadMonTemplate + ld de, wOTTrademonSpecies + call MobileTradeAnim_MonDisplay_PrintSpeciesNumber + ld de, wOTTrademonSpeciesName + call MobileTradeAnim_MonDisplay_PrintSpeciesName + ld a, [wOTTrademonCaughtData] + ld de, wOTTrademonOTName + call MobileTradeAnim_MonDisplay_PrintOTNameAndGender + ld de, wOTTrademonID + call MobileTradeAnim_MonDisplay_PrintIDNumber + call MobileTradeAnim_MonDisplay_UpdateBGMap + ret + +MobileTradeAnim_DisplayEggData + call WaitTop + call MobileTradeAnim_ClearTilemap + ld a, VBGMap1 / $100 + ld [hBGMapAddress + 1], a + hlcoord 5, 0 + ld b, 6 + ld c, 9 + call TextBox + hlcoord 6, 2 + ld de, .EggTemplate + call PlaceString + call MobileTradeAnim_MonDisplay_UpdateBGMap + ret +; 108a1d + +.EggTemplate: ; 108a1d + db "タマゴ" + next "おや/?????" + next "?????" + db "@" +; 108a33 + +Function108a33: ; 108a33 + call WaitTop + call MobileTradeAnim_ClearTilemap + ld a, VBGMap1 / $100 + ld [hBGMapAddress + 1], a + hlcoord 5, 0 + ld b, 6 + ld c, 9 + call TextBox + hlcoord 7, 4 + ld de, .OddEgg + call PlaceString + call MobileTradeAnim_MonDisplay_UpdateBGMap + ret +; 108a54 + +.OddEgg: ; 108a54 + db "なぞのタマゴ@" +; 108a5b + +MobileTradeAnim_LoadMonTemplate: ; 108a5b + call WaitTop + call MobileTradeAnim_ClearTilemap + ld a, VBGMap1 / $100 + ld [hBGMapAddress + 1], a + hlcoord 4, 0 + ld b, 6 + ld c, 10 + call TextBox + hlcoord 5, 0 + ld de, .MonTemplate + call PlaceString + ret +; 108a79 + +.MonTemplate: ; 108a79 + db "─ №" + next "" + next "おや/" + next "" + db "@" +; 108a87 + +MobileTradeAnim_MonDisplay_UpdateBGMap: ; 108a87 + call WaitBGMap + call WaitTop + ld a, VBGMap0 / $100 + ld [hBGMapAddress + 1], a + ret +; 108a92 + +MobileTradeAnim_MonDisplay_PrintSpeciesNumber: ; 108a92 + hlcoord 9, 0 + lb bc, PRINTNUM_LEADINGZEROS | 1, 3 + call PrintNum + ret +; 108a9c + +MobileTradeAnim_MonDisplay_PrintSpeciesName: ; 108a9c + hlcoord 5, 2 + call PlaceString + ret +; 108aa3 + +MobileTradeAnim_MonDisplay_PrintOTNameAndGender: ; 108aa3 + cp $3 + jr c, .got_gender + xor a +.got_gender + push af + hlcoord 8, 4 + call PlaceString + inc bc + pop af + ld hl, .GenderChars + ld d, 0 + ld e, a + add hl, de + ld a, [hl] + ld [bc], a + ret +; 108abb + +.GenderChars: ; 108abb + db " " + db "♂" + db "♀" +; 108abe + +MobileTradeAnim_MonDisplay_PrintIDNumber: ; 108abe + hlcoord 8, 6 + lb bc, PRINTNUM_LEADINGZEROS | 2, 5 + call PrintNum + ret +; 108ac8 + +MobileTradeAnim_ClearTilemap: ; 108ac8 + hlcoord 0, 0 + ld bc, SCREEN_WIDTH * SCREEN_HEIGHT + ld a, " " + call ByteFill + ret +; 108ad4 + +Function108ad4: ; 108ad4 + and a + jr z, .asm_108adc + ld de, GFX_1092c7 + jr .asm_108adf + +.asm_108adc + ld de, GFX_1091c7 +.asm_108adf + ld a, $1 + ld [rVBK], a + ld hl, VTiles2 tile $4a + lb bc, BANK(GFX_1092c7), 16 + call Get2bpp_2 + call DelayFrame + ld a, $0 + ld [rVBK], a + ret +; 108af4 + +Function108af4: ; 108af4 + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld a, [wcf65] + and $1 + jr z, .copy_palette_109147 + ld hl, Palette_109187 + ld de, UnknOBPals + ld bc, 8 palettes + call CopyBytes + ld hl, Palette_109187 + ld de, OBPals + ld bc, 8 palettes + call CopyBytes + jr .done_copy + +.copy_palette_109147 + ld hl, Palette_109147 + ld de, UnknOBPals + ld bc, 8 palettes + call CopyBytes + ld hl, Palette_109147 + ld de, OBPals + ld bc, 8 palettes + call CopyBytes + +.done_copy + pop af + ld [rSVBK], a + ld a, %11100100 ; 3,2,1,0 + call DmgToCgbObjPal0 + ld a, %11100100 ; 3,2,1,0 + call DmgToCgbBGPals + call DelayFrame + ret +; 108b45 + +Function108b45: ; 108b45 + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld de, (31 << 10) + (31 << 5) + 31 ; $7fff + ld hl, UnknBGPals + ld a, e + ld [hli], a + ld d, a + ld [hli], a + pop af + ld [rSVBK], a + ret +; 108b5a + +Function108b5a: ; 108b5a + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld de, (15 << 10) + (31 << 5) + 18 ; $3ff2 + ld hl, BGPals + 4 palettes + ld c, $10 +.loop + ld a, e + ld [hli], a + ld a, d + ld [hli], a + dec c + jr nz, .loop + pop af + ld [rSVBK], a + ld a, $1 + ld [hCGBPalUpdate], a + ret +; 108b78 + +Function108b78: ; 108b78 + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld a, c + and $2 + jr z, .Orange + ld de, (31 << 10) + (31 << 5) + 31 ; $7fff + jr .load_pal + +.Orange: + ld de, ( 1 << 10) + (15 << 5) + 31 ; $05ff +.load_pal + ld a, e + ld [hli], a + ld a, d + ld [hld], a + pop af + ld [rSVBK], a + ld a, $1 + ld [hCGBPalUpdate], a + ret +; 108b98 + +Palette_108b98: +; removed + +Function108b98: ; 108b98 + ld d, a + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld a, [wcf65] + and $1 + xor d + jr z, .asm_108bad + ld hl, Palette_108b98 + 1 palettes + jr .asm_108bb0 + +.asm_108bad + ld hl, Palette_108b98 +.asm_108bb0 + ld de, UnknBGPals + 7 palettes + ld bc, 8 palettes + call CopyBytes + pop af + ld [rSVBK], a + ret +; 108bbd + +MobileTradeAnim_DeleteSprites: ; 108bbd + callba DeinitializeAllSprites + call ClearSprites + ret +; 108bc7 + +Function108bc7: ; 108bc7 (42:4bc7) + ld a, [wcf64] + and a + ret z + ld hl, SPRITEANIMSTRUCT_YCOORD + add hl, bc + ld a, [hl] + cp -1 * 8 - 6 + jr z, .delete + sub 1 * 8 + ld [hl], a + ret + +.delete + callba DeinitializeSprite + ret + +Function108be0: ; 108be0 (42:4be0) + ld hl, SPRITEANIMSTRUCT_YCOORD + add hl, bc + ld a, [hl] + cp 9 * 8 + 2 + ret z + add 1 * 8 + ld [hl], a + ret +; 108bec (42:4bec) + +Function108bec: ; 108bec + ld a, $90 + ld [hWY], a + ld hl, .PlayerWillTradeMon + call PrintText + ld c, 80 + call DelayFrames + ld hl, .ForPartnersMon + call PrintText + ld c, 80 + call DelayFrames + ret +; 108c07 + +.PlayerWillTradeMon: ; 0x108c07 + text_jump UnknownText_0x1bc787 + db "@" +; 0x108c0c + +.ForPartnersMon: ; 0x108c0c + text_jump UnknownText_0x1bc79d + db "@" +; 0x108c11 + +.UnusedTextPlayersMonTrade: ; 0x108c11 + text_jump UnknownText_0x1bc7b0 + db "@" +; 0x108c16 + +Function108c16: ; 108c16 + ld a, $90 + ld [hWY], a + ld hl, .TakeGoodCareOfMon + call PrintText + ld c, 80 + call DelayFrames + ret +; 108c26 + +.TakeGoodCareOfMon: ; 0x108c26 + text_jump UnknownText_0x1bc7c3 + db "@" +; 0x108c2b + +Function108c2b: ; 108c2b + ld a, $90 + ld [hWY], a + ld hl, .PlayersMonTrade + call PrintText + ld c, 80 + call DelayFrames + ret +; 108c3b + +.PlayersMonTrade: ; 0x108c3b + text_jump UnknownText_0x1bc7dd + db "@" +; 0x108c40 + +Function108c40: ; 108c40 + ld a, $90 + ld [hWY], a + ld a, [wcf65] + and %10000000 + jr z, .Getmon + ld hl, .CameBack + call PrintText + ld c, 80 + call DelayFrames + ret + +.Getmon: + ld hl, .TakeGoodCareOf + call PrintText + ld c, 80 + call DelayFrames + ret +; 108c63 + +.TakeGoodCareOf: ; 0x108c63 + text_jump UnknownText_0x1bc7f0 + db "@" +; 0x108c68 + +.CameBack: ; 0x108c68 + text_jump UnknownText_0x1bc80a + db "@" +; 0x108c6d + +Function108c6d: ; 108c6d + ld hl, LZ_108fe7 + debgcoord 0, 0 + call Decompress + ld hl, LZ_108fe7 + debgcoord 0, 0, VBGMap1 + call Decompress + ret +; 108c80 + +Function108c80: ; 108c80 + ld a, $1 + ld [rVBK], a + ld hl, LZ_1090a7 + debgcoord 0, 0 + call Decompress + ld hl, LZ_1090a7 + debgcoord 0, 0, VBGMap1 + call Decompress + ld a, $0 + ld [rVBK], a + ret +; 108c9b + +DebugMobileTrade: ; 108c9b +; localization error: NAME_LENGTH (11) should be 6 here + + ld hl, .DebugTradeData + ld a, [hli] + ld [wPlayerTrademonSpecies], a + + ld de, wPlayerTrademonSenderName + ld c, NAME_LENGTH +.your_name_loop + ld a, [hli] + ld [de], a + inc de + dec c + jr nz, .your_name_loop + + ld de, wPlayerTrademonID + ld c, 2 +.your_id_loop + ld a, [hli] + ld [de], a + inc de + dec c + jr nz, .your_id_loop + + ld de, wPlayerTrademonOTName + ld c, NAME_LENGTH +.your_ot_loop + ld a, [hli] + ld [de], a + inc de + dec c + jr nz, .your_ot_loop + + ld a, [hli] + ld [wOTTrademonSpecies], a + + ld de, wOTTrademonSenderName + ld c, NAME_LENGTH +.their_name_loop + ld a, [hli] + ld [de], a + inc de + dec c + jr nz, .their_name_loop + + ld de, wOTTrademonID + ld c, 2 +.their_id_loop + ld a, [hli] + ld [de], a + inc de + dec c + jr nz, .their_id_loop + + ld de, wOTTrademonOTName + ld c, NAME_LENGTH +.their_ot_loop + ld a, [hli] + ld [de], a + inc de + dec c + jr nz, .their_ot_loop + + ret +; 108ce9 + +.DebugTradeData: + db VENUSAUR + db "ゲーフり@@" + dw $0123 + db "かびーん@@" + db CHARIZARD + db "クりーチャ@" + dw $0456 + db "マツミヤ@@" +; 108d07 + +Function108d07: ; 108d07 + ld a, [wc74e] + and $7f + cp $8 + jr c, .asm_108d12 + ld a, $7 + +.asm_108d12 + ld bc, 1 palettes + ld hl, Palette_1093c7 + call AddNTimes + ld a, $5 + ld de, UnknBGPals + 4 palettes + ld bc, 1 palettes + call FarCopyWRAM + ret +; 108d27 + +LZ_108d27: +INCBIN "gfx/unknown/108d27.2bpp.lz" + +LZ_108da7: +INCBIN "gfx/unknown/108da7.2bpp.lz" + +LZ_108fe7: +INCBIN "gfx/unknown/108fe7.tilemap.lz" + +LZ_1090a7: +INCBIN "gfx/unknown/1090a7.tilemap.lz" + +Palette_1090f7: +; unreferenced + RGB 31, 31, 31 + RGB 0, 0, 0 + + RGB 31, 0, 25 + RGB 0, 0, 0 + + RGB 31, 31, 31 + RGB 0, 0, 0 + + RGB 9, 19, 31 + RGB 0, 0, 0 + +Palette_109107: + RGB 18, 31, 15 + RGB 20, 20, 20 + RGB 11, 11, 11 + RGB 0, 0, 0 + + RGB 31, 15, 1 + RGB 14, 14, 31 + RGB 12, 9, 31 + RGB 0, 0, 0 + + RGB 18, 31, 15 + RGB 14, 14, 31 + RGB 12, 9, 31 + RGB 0, 0, 0 + + RGB 18, 31, 15 + RGB 20, 20, 20 + RGB 11, 11, 11 + RGB 0, 0, 0 + + RGB 18, 31, 15 + RGB 31, 7, 9 + RGB 18, 0, 1 + RGB 0, 0, 0 + + RGB 18, 31, 15 + RGB 20, 20, 20 + RGB 11, 11, 11 + RGB 0, 0, 0 + + RGB 31, 15, 1 + RGB 18, 0, 30 + RGB 9, 0, 17 + RGB 0, 0, 0 + + RGB 18, 31, 15 + RGB 18, 0, 30 + RGB 9, 0, 17 + RGB 0, 0, 0 + +Palette_109147: + RGB 31, 31, 31 + RGB 31, 31, 12 + RGB 31, 13, 12 + RGB 0, 0, 0 + + RGB 31, 31, 31 + RGB 31, 23, 15 + RGB 31, 18, 7 + RGB 31, 15, 0 + + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 11, 11, 11 + RGB 0, 0, 0 + + RGB 31, 31, 31 + RGB 31, 0, 25 + RGB 31, 0, 25 + RGB 0, 0, 0 + + RGB 31, 31, 31 + RGB 9, 19, 31 + RGB 9, 19, 31 + RGB 0, 0, 0 + + RGB 31, 31, 31 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + + RGB 31, 31, 31 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + + RGB 31, 31, 31 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + +Palette_109187: + RGB 31, 31, 31 + RGB 31, 31, 12 + RGB 31, 13, 12 + RGB 0, 0, 0 + + RGB 31, 31, 31 + RGB 31, 23, 15 + RGB 31, 18, 7 + RGB 31, 15, 0 + + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 11, 11, 11 + RGB 0, 0, 0 + + RGB 31, 31, 31 + RGB 9, 19, 31 + RGB 9, 19, 31 + RGB 0, 0, 0 + + RGB 31, 31, 31 + RGB 31, 0, 25 + RGB 31, 0, 25 + RGB 0, 0, 0 + + RGB 31, 31, 31 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + + RGB 31, 31, 31 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + + RGB 31, 31, 31 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + +GFX_1091c7: +INCBIN "gfx/unknown/1091c7.2bpp" +GFX_1092c7: +INCBIN "gfx/unknown/1092c7.2bpp" + +Palette_1093c7: + RGB 18, 31, 15 + RGB 4, 13, 31 + RGB 0, 0, 31 + RGB 0, 0, 0 + + RGB 18, 31, 15 + RGB 31, 31, 0 + RGB 31, 15, 0 + RGB 0, 0, 0 + + RGB 18, 31, 15 + RGB 9, 24, 0 + RGB 2, 16, 0 + RGB 0, 0, 0 + + RGB 18, 31, 15 + RGB 31, 7, 9 + RGB 18, 0, 1 + RGB 0, 0, 0 + + RGB 18, 31, 15 + RGB 28, 5, 31 + RGB 17, 0, 17 + RGB 0, 0, 0 + + RGB 18, 31, 15 + RGB 9, 9, 9 + RGB 4, 4, 4 + RGB 0, 0, 0 + + RGB 18, 31, 15 + RGB 31, 13, 21 + RGB 27, 7, 12 + RGB 0, 0, 0 + + RGB 18, 31, 15 + RGB 21, 20, 20 + RGB 14, 14, 31 + RGB 0, 0, 0 diff --git a/mobile/mobile_45.asm b/mobile/mobile_45.asm new file mode 100644 index 000000000..d300a0373 --- /dev/null +++ b/mobile/mobile_45.asm @@ -0,0 +1,7690 @@ + +SECTION "bank45", ROMX + + charmap " ", $20 ; revert to ascii + +String_114000: + db "---", 0 +String_114004: + db "CGB-AAAA-00", 0, 0 + +Unknown_114011: ; 114011 + dw String_114033 + dw String_11403a + dw String_114043 + dw String_11404e + dw String_114053 + dw String_114058 + dw String_114062 + dw String_114074 + dw String_11408d + dw String_11409f + dw String_1140b8 + dw String_1140e6 + dw String_114110 + dw String_11413f + dw String_114160 + dw String_114160 + dw String_114163 + +String_114033: ; 114033 + db "From: ", 0 +String_11403a: ; 11403a + db "Sender: ", 0 +String_114043: ; 114043 + db "Reply-To: ", 0 +String_11404e: ; 11404e + db "To: ", 0 +String_114053: ; 114053 + db "Cc: ", 0 +String_114058: ; 114058 + db "Subject: ", 0 +String_114062: ; 114062 + db "MIME-Version: 1.0", 0 +String_114074: ; 114074 + db "X-Game-title: XXXXXXXXXX", 0 +String_11408d: ; 11408d + db "X-Game-code: CGB-", 0 +String_11409f: ; 11409f + db "X-GBmail-type: exclusive", 0 +String_1140b8: ; 1140b8 + db "Content-Type: text/plain; charset=iso-2022-jp", 0 +String_1140e6: ; 1140e6 + db "Content-Type: multipart/mixed; boundary=\"", 0 +String_114110: ; 114110 + db "Content-Type: Application/Octet-Stream; name=\"", 0 +String_11413f: ; 11413f + db "Content-Transfer-Encoding:Base64", 0 +String_114160: ; 114160 + db "--", 0 +String_114163: ; 114163 + db ".", 0 +; 114165 + +Jumptable_114165: ; 114165 + dw Function114268 + dw Function114269 + dw Function11433c + dw Function1143b7 + dw Function1144d1 + dw Function114b55 + dw Function114bbc + dw Function114cd9 + dw Function114e62 + dw Function1152b8 + dw Function1154d4 + dw Function1156cc + dw Function1159fb +; 11417f + +Unknown_11417f: ; 11417f + dw .From + dw .Sender + dw .ReplyTo + dw .To + dw .CC + dw .Subject + dw .Date + dw .ContentType + dw .MimeVersion + dw .XMailer + dw .XGameTitle + dw .XGameCode + dw .XGBMailType + +.From: ; 114199 + db "FROM:", 0 +.Sender: ; 11419f + db "SENDER:", 0 +.ReplyTo: ; 1141a7 + db "REPLY-TO:", 0 +.To: ; 1141b1 + db "TO:", 0 +.CC: ; 1141b5 + db "CC:", 0 +.Subject: ; 1141b9 + db "SUBJECT:", 0 +.Date: ; 1141c2 + db "DATE:", 0 +.ContentType: ; 1141c8 + db "CONTENT-TYPE:", 0 +.MimeVersion: ; 1141d6 + db "MIME-VERSION:", 0 +.XMailer: ; 1141e4 + db "X-MAILER:", 0 +.XGameTitle: ; 1141ee + db "X-GAME-TITLE:", 0 +.XGameCode: ; 1141fc + db "X-GAME-CODE:", 0 +.XGBMailType: ; 114209 + db "X-GBMAIL-TYPE:", 0 +; 114218 + +String_114218: ; 114218 + db "NAME=", 0 +String_11421e: ; 11421e + db "MULTIPART", 0 +String_114228: ; 114228 + db "BOUNDARY=", 0 +String_114232: ; 114232 + db "=?ISO-2022-JP?B?", 0 +; 114243 + +Function114243:: ; 114243 + ld a, SRAM_ENABLE + ld [MBC3SRamEnable], a + ld a, [hFF8C] + push af ; if [$dc02] == 0, this is popped to pc. + push de + ld a, [$dc02] + add a + ld e, a + ld d, 0 + ld hl, Jumptable_114165 + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + pop de + jp hl + +; 11425c + +Function11425c: ; 11425c + ld [$dc02], a + pop af + ld [hFF8C], a + ld [hFF8C], a + ld [MBC3SRamBank], a + ret + +; 114268 + +Function114268: mobile + +; 114269 + +Function114269: ; 114269 + ld h, d + ld l, e + xor a + ld [$dc02], a + ld [$dc03], a + ld a, [hli] + ld [$dc00], a + ld [hFF8C], a + ld [MBC3SRamBank], a + ld e, [hl] + inc hl + ld d, [hl] + inc hl + ld c, [hl] + inc hl + ld b, [hl] +.asm_114282 + ld a, [de] + and a + jr z, .asm_1142a4 + ld h, a + ld a, [$dc03] + and a + jr nz, .asm_114292 + ld a, h + cp $80 + jr nc, .asm_1142ae + +.asm_114292 + ld a, h + cp $d + jr z, .asm_1142bb + xor a + ld [$dc02], a +.asm_11429b + inc e + call z, Function114333 + dec bc + ld a, b + or c + jr nz, .asm_114282 + +.asm_1142a4 + ld a, [$dc03] + and a + jr nz, .asm_114303 + ld b, $80 + jr .asm_1142b0 + +.asm_1142ae + ld b, $81 + +.asm_1142b0 + ld a, [$dc00] + ld c, a + ld a, $1 + ld h, d + ld l, e + jp Function11425c + +.asm_1142bb + and a + jr z, .asm_1142a4 + inc e + call z, Function114333 + dec bc + ld a, b + or c + jr z, .asm_1142a4 + ld a, [de] + ld h, a + ld a, [$dc03] + and a + jr nz, .asm_1142d4 + ld a, h + cp $80 + jr nc, .asm_1142ae + +.asm_1142d4 + ld a, h + cp $a + jr nz, .asm_1142ae + ld a, [$dc03] + and a + jr nz, .asm_11430d + ld a, [$dc02] + and a + jr nz, .asm_114309 + ld a, $1 + ld [$dc02], a + inc e + call z, Function114333 + dec bc + ld a, b + or c + jr z, .asm_1142a4 + ld a, [de] + cp $20 + jr z, .asm_11429b + cp $9 + jr z, .asm_11429b + jr .asm_114282 + +.asm_1142fe + xor a + ld b, a + jp Function11425c + +.asm_114303 + xor a + ld b, $1 + jp Function11425c + +.asm_114309 + xor a + ld [$dc02], a + +.asm_11430d + ld a, [$dc02] + and a + jr nz, .asm_1142fe + ld a, $1 + ld [$dc03], a + inc e + call z, Function114333 + dec bc + ld a, b + or c + jr z, .asm_1142a4 + ld a, [de] + and a + jp z, .asm_1142a4 + cp $2e + jp nz, .asm_114282 + ld a, $1 + ld [$dc02], a + jp .asm_11429b + +; 114333 + +Function114333: ; 114333 + push bc + ld bc, $dc00 + call Function115d80 + pop bc + ret + +; 11433c + +Function11433c: ; 11433c + push de + ld h, d + ld l, e + ld c, [hl] + inc hl + ld e, [hl] + inc hl + ld d, [hl] + ld b, $b + call Function1143f3 + cp $2 + jr z, .asm_114358 + and a + jr z, .asm_114360 + pop hl +.asm_114351 + xor a + ld b, $3 + jp Function11425c + +.asm_114357 + pop hl + +.asm_114358 + pop hl + ld a, $1 + ld b, $82 + jp Function11425c + +.asm_114360 + ld a, h + ld [$dc03], a + pop hl + push bc + push de + ld c, [hl] + inc hl + ld e, [hl] + inc hl + ld d, [hl] + inc hl + ld b, $c + call Function1143f3 + cp $2 + jr z, .asm_114357 + and a + jr z, .asm_114381 + xor a + ld b, $2 + pop hl + pop hl + jp Function11425c + +.asm_114381 + pop de + pop bc + ld a, [$dc03] + ld [$dc00], a + ld [hFF8C], a + ld [MBC3SRamBank], a + call Function114c0b + ld hl, String_114004 +.asm_114394 + ld de, $dc24 +.asm_114397 + ld a, [hli] + and a + jr z, .asm_1143ad + ld b, a + ld a, [de] + inc de + cp b + jr z, .asm_114397 +.asm_1143a1 + ld a, [hli] + and a + jr nz, .asm_1143a1 + ld a, [hl] + and a + jr nz, .asm_114394 + ld b, a + jp Function11425c + +.asm_1143ad + ld a, [de] + and a + jr nz, .asm_114351 + xor a + ld b, $1 + jp Function11425c + +; 1143b7 + +Function1143b7: ; 1143b7 + ld a, [de] + ld b, a + inc de + ld a, [de] + ld c, a + inc de + ld a, [de] + ld h, a + inc de + ld a, [de] + inc de + push de + ld d, a + ld e, h + call Function1143f3 + cp $2 + jr z, .asm_1143eb + and a + jr nz, .asm_1143ed + ld a, h + pop hl + push af + ld a, [hli] + ld [wCurrentMapSignpostCount], a + ld [hFF8C], a + ld [MBC3SRamBank], a + ld a, [hli] + ld h, [hl] + ld l, a + pop af + ld [hli], a + ld a, e + ld [hli], a + ld a, d + ld [hli], a + ld a, c + ld [hli], a + ld [hl], b + xor a + jp Function11425c + +.asm_1143eb + ld b, $82 + +.asm_1143ed + ld a, $1 + pop hl + jp Function11425c + +; 1143f3 + +Function1143f3: ; 1143f3 + call Function114412 + and a + jr nz, .asm_11440d + ld a, $4 + cp b + jr c, .asm_114407 + jr z, .asm_114402 +.asm_114400 + xor a + ret + +.asm_114402 + ld a, $0 + cp c + jr nc, .asm_114400 + +.asm_114407 + lb bc, $4, $0 + ld a, $2 + ret + +.asm_11440d + ld a, $1 + ld b, $84 + ret + +; 114412 + +Function114412: ; 114412 + ld a, c + ld [$dc00], a + ld [hFF8C], a + ld [MBC3SRamBank], a + ld hl, Unknown_11417f + ld a, b + add a + ld c, a + ld b, $0 + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + ld c, $0 + jr .asm_11444a + +.asm_11442b + ld a, [de] + and a + jp z, .asm_1144c2 + inc e + call z, Function1144c8 + cp $d ; CR + jr nz, .asm_11442b + ld a, [de] + inc e + call z, Function1144c8 + cp $a ; NL + jr nz, .asm_11442b + ld a, [de] + cp $2e ; . + jr z, .asm_1144ae + cp $d ; CR + jr z, .asm_1144b8 + +.asm_11444a + ld a, [$dc00] + ld [$dc02], a + ld a, [de] + and a + jr z, .asm_1144c2 + inc e + call z, Function1144c8 + cp $61 ; "a" + jr c, .asm_114462 + cp $7b ; "z" + 1 + jr nc, .asm_114462 + sub $20 + +.asm_114462 + ld b, a + ld a, [hl] + and a + jr z, .asm_114476 + cp b + jr nz, .asm_11446e + inc c + inc hl + jr .asm_11444a + +.asm_11446e + ld a, c + and a + jr z, .asm_11442b + dec c + dec hl + jr .asm_11446e + +.asm_114476 + ld a, $20 ; " " + cp b + jr z, .asm_114481 + ld a, $a ; NL + cp b + jr z, .asm_114481 + dec de + +.asm_114481 + ld h, d + ld l, e + ld bc, NULL +.asm_114486 + ld a, [de] + and a + jr z, .asm_1144c2 + inc bc + inc e + call z, Function1144c8 + cp $d ; CR + jr nz, .asm_114486 + ld a, [de] + inc bc + inc e + call z, Function1144c8 + cp $a ; NL + jr nz, .asm_114486 + ld a, [de] + cp $20 ; " " + jr z, .asm_114486 + cp $9 ; TAB + jr z, .asm_114486 + ld d, h + ld e, l + ld a, [$dc02] + ld h, a + xor a + ret + +.asm_1144ae + inc e + call z, Function1144c8 + ld a, [de] + cp $d ; CR + jp nz, .asm_11442b + +.asm_1144b8 + inc e + call z, Function1144c8 + ld a, [de] + cp $a ; NL + jp nz, .asm_11442b + +.asm_1144c2 + ld a, $0 + ld [hl], a + ld a, $1 + ret + +; 1144c8 + +Function1144c8: ; 1144c8 + push bc + ld bc, $dc00 + call Function115d80 + pop bc + ret + +; 1144d1 + +Function1144d1: ; 1144d1 + call Function114561 + dec de + dec de + push de + inc de + inc de + inc de + inc hl + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc hl + ld a, [de] + ld [hld], a + dec de + ld a, [de] + ld [hl], a + xor a + ld [BigDoll], a + ld [$dc17], a + ld a, $2 + ld [$dc0e], a + ld hl, $dc03 + ld c, [hl] + inc hl + ld e, [hl] + inc hl + ld d, [hl] + call Function114576 + cp $2 + jr z, .asm_11455b + and a + jr z, .asm_114511 + ld a, $1 + ld [$dc0d], a + call Function1146fa + and a + jr nz, .asm_11455b + jr .asm_11451c + +.asm_114511 + call Function1146a4 + and a + jr nz, .asm_11455b + ld a, $2 + ld [$dc0d], a + +.asm_11451c + pop hl + ld a, [hli] + ld [wCurrentMapSignpostCount], a + ld [hFF8C], a + ld [MBC3SRamBank], a + ld e, [hl] + inc hl + ld d, [hl] + ld a, [$dc0d] + ld [de], a + ld b, $0 + ld a, [BigDoll] + and a + jr z, .asm_114537 + ld b, $1 + +.asm_114537 + ld hl, $dc06 + ld a, [hl] + ld [wCurrentMapSignpostCount], a + ld [hFF8C], a + ld [MBC3SRamBank], a + ld hl, $dc09 + ld e, [hl] + inc hl + ld d, [hl] + dec de + ld a, d + or e + jr z, .asm_114559 + ld hl, wCurrMapTriggerCount + ld e, [hl] + inc hl + ld d, [hl] + xor a + ld [de], a + jp Function11425c + +.asm_114559 + ld b, $83 + +.asm_11455b + pop hl + ld a, $1 + jp Function11425c + +; 114561 + +Function114561: ; 114561 + ld hl, $dc03 + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hl], a + ret + +; 114576 + +Function114576: ; 114576 + xor a + ld [Bed], a + ld b, $7 + call Function1143f3 + cp $2 + jr z, .asm_1145b6 + and a + jr nz, .asm_1145b4 + ld a, h + ld [$dc00], a + ld [hFF8C], a + ld [MBC3SRamBank], a + push hl + push de + push bc + ld hl, $dc24 + call Function115d53 + call Function1145c5 + pop bc + pop de + pop hl + and a + jr z, .asm_1145bf + ld a, b + and a + jr nz, .asm_1145ba + ld a, h + ld [$dc00], a + ld [hFF8C], a + ld [MBC3SRamBank], a + ld hl, String_114218 + call Function114acf + +.asm_1145b4 + xor a + ret + +.asm_1145b6 + ld b, $82 + jr .asm_1145bc + +.asm_1145ba + ld b, $81 + +.asm_1145bc + ld a, $2 + ret + +.asm_1145bf + ld a, $1 + ld [Bed], a + ret + +; 1145c5 + +Function1145c5: ; 1145c5 + ld hl, $dc24 + ld de, String_11421e + ld c, $0 +.asm_1145cd + ld a, [hli] + and a + jr z, .asm_1145ef + cp $20 + jr z, .asm_1145cd + cp $d + jr z, .asm_1145f8 + cp $61 + jr c, .asm_1145e3 + cp $7b + jr nc, .asm_1145e3 + sub $20 + +.asm_1145e3 + ld b, a + ld a, [de] + and a + jr z, .asm_11460e + inc de + cp b + jr z, .asm_1145cd + dec de + jr .asm_1145cd + +.asm_1145ef + ld b, $0 + jr .asm_1145f5 + +.asm_1145f3 + ld b, $81 + +.asm_1145f5 + ld a, $1 + ret + +.asm_1145f8 + ld a, [hli] + and a + jr z, .asm_1145f3 + cp $a + jr nz, .asm_1145f3 + ld a, [hli] + and a + jr z, .asm_1145f3 + cp $20 + jr z, .asm_1145cd + cp $9 + jr z, .asm_1145cd + jr .asm_1145f3 + +.asm_11460e + ld a, c + and a + jr nz, .asm_114619 + ld c, $1 + ld de, String_114228 + jr .asm_1145cd + +.asm_114619 + dec hl + ld a, [hl] + cp $22 + jr nz, .asm_114620 + inc hl + +.asm_114620 + ld de, $ddc8 + ld b, $0 + ld c, $40 +.asm_114627 + ld a, [hli] + cp $22 + jr z, .asm_114636 + cp $d + jr z, .asm_114636 + ld [de], a + inc de + inc b + dec c + jr nz, .asm_114627 + +.asm_114636 + ld a, b + ld [PartyMon5Defense], a + xor a + ret + +; 11463c + +Function11463c: ; 11463c + ld a, [$dc00] + push af + push de + ld hl, $ddc8 + ld a, [PartyMon5Defense] + ld b, a +.asm_114648 + ld a, [de] + ld c, a + ld a, [hli] + cp c + jr nz, .asm_11468a + inc e + call z, Function11469b + dec b + jr nz, .asm_114648 + ld a, [de] + cp $2d + jr z, .asm_114673 + cp $d + jr nz, .asm_11468a + xor a + ld [Carpet], a +.asm_114662 + inc e + call z, Function11469b + ld a, [de] + cp $a + jr nz, .asm_11468a + inc e + call z, Function11469b + xor a + pop hl + pop hl + ret + +.asm_114673 + inc e + call z, Function11469b + ld a, [de] + cp $2d + jr nz, .asm_11468a + inc e + call z, Function11469b + ld a, $1 + ld [Carpet], a + ld a, [de] + cp $d + jr z, .asm_114662 + +.asm_11468a + pop de + pop af + ld [$dc00], a + ld [hFF8C], a + ld [MBC3SRamBank], a + xor a + ld [Carpet], a + ld a, $1 + ret + +; 11469b + +Function11469b: ; 11469b + push bc + ld bc, $dc00 + call Function115d80 + pop bc + ret + +; 1146a4 + +Function1146a4: ; 1146a4 + call Function114867 + and a + jr nz, .asm_1146e4 + ld hl, $dc03 + ld a, [hli] + ld [$dc00], a + ld [hFF8C], a + ld [MBC3SRamBank], a + ld e, [hl] + inc hl + ld d, [hl] + call Function114a18 + and a + jr nz, .asm_1146e8 + call Function1148c2 + and a + jr nz, .asm_1146e4 + ld hl, $dc03 + ld a, [hli] + ld [$dc00], a + ld [hFF8C], a + ld [MBC3SRamBank], a + ld e, [hl] + inc hl + ld d, [hl] + call Function114a7a + and a + jr nz, .asm_1146e8 +.asm_1146da + dec bc + dec bc + call Function1149cc + and a + jr nz, .asm_1146e4 + xor a + ret + +.asm_1146e4 + ld b, $83 + jr .asm_1146f7 + +.asm_1146e8 + ld a, [$dc17] + and a + jr z, .asm_1146f5 + ld a, $1 + ld [BigDoll], a + jr .asm_1146da + +.asm_1146f5 + ld b, $81 + +.asm_1146f7 + ld a, $1 + ret + +; 1146fa + +Function1146fa: ; 1146fa + call Function114867 + and a + jp nz, .asm_11478a + ld hl, $dc03 + ld a, [hli] + ld [$dc00], a + ld [hFF8C], a + ld [MBC3SRamBank], a + ld e, [hl] + inc hl + ld d, [hl] + call Function114a18 + and a + jp nz, .asm_11478e + call Function1149cc + and a + jp nz, .asm_11478a + ld a, $1 + ld [$dc0e], a + ld a, [$dc00] + ld [hFF8C], a + ld [MBC3SRamBank], a + ld a, $1 + ld [RightOrnament], a + call Function1147cd + and a + jp nz, .asm_1147b7 +.asm_114737 + call Function114843 + cp $1 + jr nz, .asm_114749 + ld a, [$dc17] + and a + jr z, .asm_114794 + ld a, $1 + ld [BigDoll], a + +.asm_114749 + call Function11494d + and a + jr nz, .asm_11478a + ld a, [BigDoll] + and a + jr nz, .asm_114786 + ld hl, $dc03 + ld a, [hli] + ld [$dc00], a + ld [hFF8C], a + ld [MBC3SRamBank], a + ld e, [hl] + inc hl + ld d, [hl] + call Function1147cd + and a + jr nz, .asm_1147b7 + ld a, [$dc0e] + cp $3 + jr nz, .asm_114773 + dec bc + dec bc + +.asm_114773 + call Function1149cc + and a + jr nz, .asm_11478a + ld a, [$dc0d] + inc a + ld [$dc0d], a + ld a, [BigDoll] + and a + jr z, .asm_114799 + +.asm_114786 + ld b, $1 + jr .asm_1147cb + +.asm_11478a + ld b, $83 + jr .asm_114796 + +.asm_11478e + ld a, [$dc17] + and a + jr nz, .asm_114796 + +.asm_114794 + ld b, $81 + +.asm_114796 + ld a, $1 + ret + +.asm_114799 + ld a, [Carpet] + and a + jr z, .asm_114737 + jr .asm_1147cb + + ld hl, $dc03 + ld a, [hli] + ld [$dc00], a + ld [hFF8C], a + ld [MBC3SRamBank], a + call Function114a7a + and a + jr z, .asm_1147cb + xor a + ld [BigDoll], a + +.asm_1147b7 + ld a, [$dc17] + and a + jr z, .asm_114794 + ld a, $1 + ld [BigDoll], a + ld a, [$dc0d] + cp $1 + jr nz, .asm_114773 + ld b, $1 + +.asm_1147cb + xor a + ret + +; 1147cd + +Function1147cd: ; 1147cd + ld bc, NULL + ld a, [RightOrnament] + and a + jr nz, .asm_11480c +.asm_1147d6 + ld a, [de] + and a + jr z, .asm_11482f + inc e + call z, Function11483a + inc bc + cp $d + jr nz, .asm_1147d6 + ld a, [de] + cp $a + jr nz, .asm_11482f +.asm_1147e8 + inc bc + inc e + call z, Function11483a + ld a, [de] + cp $20 + jr z, .asm_114827 + cp $9 + jr z, .asm_114827 + cp $d + jr nz, .asm_11482b + inc e + call z, Function11483a + ld a, [de] + cp $a + jr nz, .asm_11482f + inc e + call z, Function11483a + ld a, h + and a + jr z, .asm_11480c + dec bc + +.asm_11480c + ld a, [de] + cp $2d + jr nz, .asm_1147d6 + inc e + call z, Function11483a + ld a, [de] + cp $2d + jr nz, .asm_1147d6 + inc e + call z, Function11483a + push bc + call Function11463c + pop bc + and a + jr nz, .asm_1147d6 + ret + +.asm_114827 + ld h, $1 + jr .asm_1147e8 + +.asm_11482b + ld h, $0 + jr .asm_11480c + +.asm_11482f + and a + jr nz, .asm_114837 + ld a, $1 + ld [$dc17], a + +.asm_114837 + ld a, $1 + ret + +; 11483a + +Function11483a: ; 11483a + push bc + ld bc, $dc00 + call Function115d80 + pop bc + ret + +; 114843 + +Function114843: ; 114843 + ld a, [$dc00] + push af + push de + ld [hFF8C], a + ld [MBC3SRamBank], a + call Function114a18 + and a + jr nz, .asm_11485f + pop de + pop af + ld [$dc00], a + ld hl, String_114218 + call Function114acf + ret + +.asm_11485f + pop de + pop af + ld [$dc00], a + ld a, $1 + ret + +; 114867 + +Function114867: ; 114867 + ld hl, $dc06 + ld a, [hli] + ld [wCurrentMapSignpostCount], a + ld [hFF8C], a + ld [MBC3SRamBank], a + ld e, [hl] + inc hl + ld d, [hl] + ld a, $2 + ld [de], a + inc e + call z, Function1148b9 + ld a, $1 + ld [de], a + inc e + call z, Function1148b9 + ld hl, $dc03 + ld a, [hli] + ld [de], a + inc e + call z, Function1148b9 + ld a, [hli] + ld [de], a + inc e + call z, Function1148b9 + ld a, [hli] + ld [de], a + inc e + call z, Function1148b9 + ld hl, $dc06 + ld a, [wCurrentMapSignpostCount] + ld [hli], a + ld [hl], e + inc hl + ld [hl], d + inc hl + ld c, [hl] + inc hl + ld b, [hl] + ld d, $5 +.asm_1148a9 + dec bc + ld a, b + or c + jr z, .asm_1148b6 + dec d + jr nz, .asm_1148a9 + ld [hl], b + dec hl + ld [hl], c + xor a + ret + +.asm_1148b6 + ld a, $1 + ret + +; 1148b9 + +Function1148b9: ; 1148b9 + push bc + ld bc, wCurrentMapSignpostCount + call Function115d80 + pop bc + ret + +; 1148c2 + +Function1148c2: ; 1148c2 + ld hl, $dc06 + ld a, [hli] + ld [wCurrentMapSignpostCount], a + ld [hFF8C], a + ld [MBC3SRamBank], a + ld e, [hl] + inc hl + ld d, [hl] + ld a, c + ld [de], a + inc e + call z, Function114944 + ld a, b + ld [de], a + inc e + call z, Function114944 + ld a, [$dc0e] + ld [de], a + inc e + call z, Function114944 + cp $3 + jr nz, .asm_114904 + ld hl, Plant + ld a, [hli] + ld [de], a + inc e + call z, Function114944 + ld a, [hli] + ld [de], a + inc e + call z, Function114944 + ld a, [hli] + ld [de], a + inc e + call z, Function114944 + ld a, [hli] + ld [de], a + inc e + call z, Function114944 + +.asm_114904 + ld hl, $dc03 + ld a, [hli] + ld [de], a + inc e + call z, Function114944 + ld a, [hli] + ld [de], a + inc e + call z, Function114944 + ld a, [hli] + ld [de], a + inc e + call z, Function114944 + ld hl, $dc06 + ld a, [wCurrentMapSignpostCount] + ld [hli], a + ld [hl], e + inc hl + ld [hl], d + inc hl + ld c, [hl] + inc hl + ld b, [hl] + ld a, [$dc0e] + cp $3 + jr z, .asm_114932 + ld d, $6 + jr .asm_114934 + +.asm_114932 + ld d, $a + +.asm_114934 + dec bc + ld a, b + or c + jr z, .asm_114941 + dec d + jr nz, .asm_114934 + ld [hl], b + dec hl + ld [hl], c + xor a + ret + +.asm_114941 + ld a, $1 + ret + +; 114944 + +Function114944: ; 114944 + push bc + ld bc, wCurrentMapSignpostCount + call Function115d80 + pop bc + ret + +; 11494d + +Function11494d: ; 11494d + ld hl, $dc06 + ld a, [hli] + ld [wCurrentMapSignpostCount], a + ld [hFF8C], a + ld [MBC3SRamBank], a + ld e, [hl] + inc hl + ld d, [hl] + ld a, [$dc0e] + ld [de], a + inc e + call z, Function1149c3 + cp $3 + jr nz, .asm_114983 + ld hl, Plant + ld a, [hli] + ld [de], a + inc e + call z, Function1149c3 + ld a, [hli] + ld [de], a + inc e + call z, Function1149c3 + ld a, [hli] + ld [de], a + inc e + call z, Function1149c3 + ld a, [hli] + ld [de], a + inc e + call z, Function1149c3 + +.asm_114983 + ld hl, $dc03 + ld a, [hli] + ld [de], a + inc e + call z, Function1149c3 + ld a, [hli] + ld [de], a + inc e + call z, Function1149c3 + ld a, [hli] + ld [de], a + inc e + call z, Function1149c3 + ld hl, $dc06 + ld a, [wCurrentMapSignpostCount] + ld [hli], a + ld [hl], e + inc hl + ld [hl], d + inc hl + ld c, [hl] + inc hl + ld b, [hl] + ld a, [$dc0e] + cp $3 + jr z, .asm_1149b1 + ld d, $4 + jr .asm_1149b3 + +.asm_1149b1 + ld d, $8 + +.asm_1149b3 + dec bc + ld a, b + or c + jr z, .asm_1149c0 + dec d + jr nz, .asm_1149b3 + ld [hl], b + dec hl + ld [hl], c + xor a + ret + +.asm_1149c0 + ld a, $1 + ret + +; 1149c3 + +Function1149c3: ; 1149c3 + push bc + ld bc, wCurrentMapSignpostCount + call Function115d80 + pop bc + ret + +; 1149cc + +Function1149cc: ; 1149cc + ld hl, $dc06 + ld a, [hl] + ld [wCurrentMapSignpostCount], a + ld [hFF8C], a + ld [MBC3SRamBank], a + push de + ld hl, $dc09 + ld e, [hl] + inc hl + ld d, [hl] + dec de + ld a, d + or e + jr z, .asm_114a0b + dec de + ld a, d + or e + jr z, .asm_114a0b + ld [hl], d + dec hl + ld [hl], e + ld hl, wCurrMapTriggerCount + ld e, [hl] + inc hl + ld d, [hl] + ld a, c + ld [de], a + inc e + call z, Function114a0f + ld a, b + ld [de], a + inc e + call z, Function114a0f + ld hl, $dc06 + ld a, [wCurrentMapSignpostCount] + ld [hli], a + ld [hl], e + inc hl + ld [hl], d + pop de + xor a + ret + +.asm_114a0b + pop de + ld a, $1 + ret + +; 114a0f + +Function114a0f: ; 114a0f + push bc + ld bc, wCurrentMapSignpostCount + call Function115d80 + pop bc + ret + +; 114a18 + +Function114a18: ; 114a18 + ld bc, NULL + ld h, b +.asm_114a1c + inc bc + ld a, [de] + and a + jr z, .asm_114a66 + inc e + call z, Function114a71 + cp $d + jr nz, .asm_114a1c + ld a, [de] + cp $a + jr nz, .asm_114a66 +.asm_114a2e + inc bc + inc e + call z, Function114a71 + ld a, [de] + cp $20 + jr z, .asm_114a5e + cp $9 + jr z, .asm_114a5e + cp $d + jr nz, .asm_114a62 + inc e + call z, Function114a71 + ld a, [de] + cp $a + jr nz, .asm_114a66 + inc e + call z, Function114a71 + ld a, h + and a + jr z, .asm_114a52 + dec bc + +.asm_114a52 + ld hl, $dc03 + ld a, [$dc00] + ld [hli], a + ld [hl], e + inc hl + ld [hl], d + xor a + ret + +.asm_114a5e + ld h, $1 + jr .asm_114a2e + +.asm_114a62 + ld h, $0 + jr .asm_114a1c + +.asm_114a66 + and a + jr nz, .asm_114a6e + ld a, $1 + ld [$dc17], a + +.asm_114a6e + ld a, $1 + ret + +; 114a71 + +Function114a71: ; 114a71 + push bc + ld bc, $dc00 + call Function115d80 + pop bc + ret + +; 114a7a + +Function114a7a: ; 114a7a + ld bc, NULL +.asm_114a7d + inc bc + ld a, [de] + and a + jr z, .asm_114abb + inc e + call z, Function114ac6 + cp $d + jr nz, .asm_114a7d + ld a, [de] + cp $a + jr nz, .asm_114abb + inc e + call z, Function114ac6 + inc bc + ld a, [de] + cp $2e + jr nz, .asm_114a7d + inc e + call z, Function114ac6 + ld a, [de] + cp $d + jr nz, .asm_114a7d + inc e + call z, Function114ac6 + ld a, [de] + cp $a + jr nz, .asm_114abb + inc e + call z, Function114ac6 + ld hl, $dc03 + ld a, [$dc00] + ld [hli], a + ld [hl], e + inc hl + ld [hl], d + xor a + ret + +.asm_114abb + and a + jr nz, .asm_114ac3 + ld a, $1 + ld [$dc17], a + +.asm_114ac3 + ld a, $1 + ret + +; 114ac6 + +Function114ac6: ; 114ac6 + push bc + ld bc, $dc00 + call Function115d80 + pop bc + ret + +; 114acf + +Function114acf: ; 114acf +.asm_114acf + push hl + push bc +.asm_114ad1 + ld a, [hl] + ld b, a + ld a, [de] + inc e + call z, Function114b4c + cp $61 + jr c, .asm_114ae2 + cp $7b + jr nc, .asm_114ae2 + sub $20 + +.asm_114ae2 + cp b + jr z, .asm_114af4 + pop bc + dec bc + push bc + ld a, b + or c + jr nz, .asm_114ad1 +.asm_114aec + ld a, $2 + ld [$dc0e], a + pop bc + pop hl + ret + +.asm_114af4 + inc hl +.asm_114af5 + ld a, [hli] + and a + jr z, .asm_114b19 + ld b, a + ld a, [de] + inc e + call z, Function114b4c + cp $61 + jr c, .asm_114b09 + cp $7b + jr nc, .asm_114b09 + sub $20 + +.asm_114b09 + cp b + jr nz, .asm_114b15 + pop bc + dec bc + push bc + ld a, b + or c + jr nz, .asm_114af5 + jr .asm_114aec + +.asm_114b15 + pop bc + pop hl + jr .asm_114acf + +.asm_114b19 + ld b, $0 + ld c, $40 + ld a, [de] + cp $22 + jr nz, .asm_114b26 + inc e + call z, Function114b4c + +.asm_114b26 + ld hl, Plant + ld a, [$dc00] + ld [hli], a + ld [hl], e + inc hl + ld [hl], d + inc hl +.asm_114b31 + ld a, [de] + cp $22 + jr z, .asm_114b42 + cp $d + jr z, .asm_114b42 + inc e + call z, Function114b4c + inc b + dec c + jr nz, .asm_114b31 + +.asm_114b42 + ld [hl], b + pop bc + pop hl + ld a, $3 + ld [$dc0e], a + xor a + ret + +; 114b4c + +Function114b4c: ; 114b4c + push bc + ld bc, $dc00 + call Function115d80 + pop bc + ret + +; 114b55 + +Function114b55: ; 114b55 + call Function114561 + ld b, $0 + ld hl, $dc03 + ld c, [hl] + inc hl + ld e, [hl] + inc hl + ld d, [hl] + ld hl, $dc24 +.asm_114b65 + push de + push bc + push hl + call Function1143f3 + cp $2 + jr z, .asm_114bb2 + and a + jr nz, .asm_114b8c + ld a, h + pop hl + inc hl + ld [hld], a + ld a, $1 + ld [hli], a + inc hl + ld [hl], e + inc hl + ld [hl], d + inc hl + ld [hl], c + inc hl + ld [hl], b + inc hl +.asm_114b82 + pop bc + pop de + inc b + ld a, b + cp $d + jr z, .asm_114b96 + jr .asm_114b65 + +.asm_114b8c + pop hl + xor a +rept 6 + ld [hli], a +endr + jr .asm_114b82 + +.asm_114b96 + ld hl, $dc06 + ld a, [hli] + ld [wCurrentMapSignpostCount], a + ld [hFF8C], a + ld [MBC3SRamBank], a + ld e, [hl] + inc hl + ld d, [hl] + inc hl + ld bc, $004e + ld hl, $dc24 + call Function115d6a + jp Function11425c + +.asm_114bb2 + ld a, $1 + pop bc + pop bc + pop bc + ld b, $82 + jp Function11425c + +; 114bbc + +Function114bbc: ; 114bbc + ld h, d + ld l, e + ld a, [hli] + ld b, a + ld a, [hli] + ld c, a + ld a, [hli] + ld e, a + ld d, [hl] + inc hl + push hl + call Function1143f3 + cp $2 + jr z, .asm_114c03 + and a + jr nz, .asm_114bff + ld a, h + ld [$dc00], a + ld [hFF8C], a + ld [MBC3SRamBank], a + call Function114c0b + ld hl, $dc24 + call Function114c5e + ld a, b + or c + jr z, .asm_114bff + pop hl + ld a, [hli] + ld [wCurrentMapSignpostCount], a + ld [hFF8C], a + ld [MBC3SRamBank], a + ld a, [hli] + ld e, a + ld d, [hl] + ld hl, $dc24 + push bc + call Function115d6a + pop hl + jp Function11425c + +.asm_114bff + ld b, $84 + jr .asm_114c05 + +.asm_114c03 + ld b, $82 + +.asm_114c05 + ld a, $1 + pop hl + jp Function11425c + +; 114c0b + +Function114c0b: ; 114c0b + ld hl, $dc24 + push bc + call Function115d53 + pop bc + ld hl, $dc24 + ld d, h + ld e, l +.asm_114c18 + ld a, [hli] + cp $d + jr z, .asm_114c34 + ld [de], a + inc de + dec bc + ld a, b + or c + jr nz, .asm_114c18 +.asm_114c24 + xor a + ld [de], a + ld hl, $dc24 + ld bc, NULL +.asm_114c2c + ld a, [hli] + inc bc + and a + jr nz, .asm_114c2c + dec bc + xor a + ret + +.asm_114c34 + dec bc + ld a, b + or c + jr z, .asm_114c24 + ld a, [hli] + cp $a + jr nz, .asm_114c18 + dec bc + ld a, b + or c + jr z, .asm_114c24 + ld a, [hli] + cp $20 + jr z, .asm_114c4e + cp $9 + jr z, .asm_114c4e + jr .asm_114c24 + +.asm_114c4e + dec bc + ld a, b + or c + jr z, .asm_114c24 + jr .asm_114c18 + +; 114c55 + +Function114c55: ; 114c55 + push bc + ld bc, $dc00 + call Function115d80 + pop bc + ret + +; 114c5e + +Function114c5e: ; 114c5e + ld de, PartyMon5Defense + push hl +.asm_114c62 + ld a, [hli] + ld [de], a + inc de + and a + jr z, .asm_114cc6 + cp $3d + jr nz, .asm_114c62 + ld a, [hli] + ld [de], a + inc de + cp $3f + jr nz, .asm_114c62 + dec de + dec de +.asm_114c75 + ld a, [hli] + cp $3f + jr nz, .asm_114c75 + ld a, [hli] + cp $42 + jr nz, .asm_114cb8 + inc hl + ld bc, NULL + push hl +.asm_114c84 + inc bc + ld a, [hli] + cp $3f + jr nz, .asm_114c84 + inc bc + ld a, [hli] + cp $3d + jr nz, .asm_114c84 + dec bc + dec bc + ld a, l + ld [$dc03], a + ld a, h + ld [$dc04], a + pop hl + push de + call Function115c49 + pop de + ld h, d + ld l, e + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a +.asm_114ca6 + ld a, [hli] + ld [de], a + inc de + dec bc + ld a, b + or c + jr nz, .asm_114ca6 + ld a, [$dc03] + ld l, a + ld a, [$dc04] + ld h, a + jr .asm_114c62 + +.asm_114cb8 + ld a, $3d + ld [de], a + inc de + ld a, $3f + ld [de], a + inc de +.asm_114cc0 + ld a, [hli] + ld [de], a + inc de + and a + jr nz, .asm_114cc0 + +.asm_114cc6 + ld [de], a + pop hl + ld de, PartyMon5Defense + ld bc, NULL +.asm_114cce + inc bc + ld a, [de] + ld [hli], a + inc de + and a + jr z, .asm_114cd7 + jr .asm_114cce + +.asm_114cd7 + dec bc + ret + +; 114cd9 + +Function114cd9: ; 114cd9 + ld h, d + ld l, e + ld b, [hl] + inc hl + ld c, [hl] + inc hl + ld e, [hl] + inc hl + ld d, [hl] + inc hl + push hl + call Function1143f3 + and a + jr nz, .asm_114d33 + ld [$dc03], a + ld [$dc04], a + ld a, h + ld [$dc00], a + ld [hFF8C], a + ld [MBC3SRamBank], a + ld hl, $dc24 + call Function114d39 + ld hl, $dc24 + call Function114d99 + pop hl + push hl +rept 4 + inc hl +endr + ld a, [hld] + cp b + jr c, .asm_114d2d + jr z, .asm_114d29 +.asm_114d11 + pop hl + ld a, [hli] + ld [wCurrentMapSignpostCount], a + ld [hFF8C], a + ld [MBC3SRamBank], a + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld hl, PartyMon5Defense + call Function115d6a + xor a + jp Function11425c + +.asm_114d29 + ld a, [hli] + cp c + jr nc, .asm_114d11 + +.asm_114d2d + ld b, $83 + jr .asm_114d33 + + ld b, $82 + +.asm_114d33 + pop hl + ld a, $1 + jp Function11425c + +; 114d39 + +Function114d39: ; 114d39 +.asm_114d39 + ld a, [$dc04] + and a + jr nz, .asm_114d4a + ld a, [de] + cp $28 + jr z, .asm_114d55 + cp $22 + jr z, .asm_114d55 + jr .asm_114d7f + +.asm_114d4a + ld a, [de] + cp $29 + jr z, .asm_114d5f + cp $22 + jr z, .asm_114d6f + jr .asm_114d84 + +.asm_114d55 + ld [$dc03], a + ld a, $1 + ld [$dc04], a + jr .asm_114d84 + +.asm_114d5f + ld a, [$dc03] + cp $28 + jr nz, .asm_114d84 + xor a + ld [$dc03], a + ld [$dc04], a + jr .asm_114d84 + +.asm_114d6f + ld a, [$dc03] + cp $22 + jr nz, .asm_114d84 + xor a + ld [$dc03], a + ld [$dc04], a + jr .asm_114d84 + +.asm_114d7f + cp $20 + jr z, .asm_114d84 + ld [hli], a + +.asm_114d84 + dec bc + ld a, b + or c + jr z, .asm_114d96 + inc e + jr nz, .asm_114d39 + push bc + ld bc, $dc00 + call Function115d80 + pop bc + jr .asm_114d39 + +.asm_114d96 + xor a + ld [hli], a + ret + +; 114d99 + +Function114d99: ; 114d99 + ld de, PartyMon5Defense + xor a + ld [de], a +.asm_114d9e + ld a, [hli] + call Function114df1 + and a + jr z, .asm_114dde + cp $40 + jr nz, .asm_114d9e + dec hl +.asm_114daa + dec hl + ld a, [hl] + call Function114e2d + and a + jr z, .asm_114daa + inc hl + push hl + ld b, $0 +.asm_114db6 + ld a, [hli] + cp $40 + jr z, .asm_114dc1 + call Function114e2d + and a + jr nz, .asm_114dc4 + +.asm_114dc1 + inc b + jr .asm_114db6 + +.asm_114dc4 + pop hl + ld a, [PartyMon5Defense] + and a + jr z, .asm_114dd2 + ld a, $2c + inc de + ld [de], a + ld a, [PartyMon5Defense] + +.asm_114dd2 + inc a + ld [PartyMon5Defense], a +.asm_114dd6 + inc de + ld a, [hli] + ld [de], a + dec b + jr nz, .asm_114dd6 + jr .asm_114d9e + +.asm_114dde + inc de + xor a + ld [de], a + ld a, $dd + cpl + ld h, a + ld a, $c8 + cpl + ld l, a + inc hl + add hl, de + ld b, h + ld c, l + inc bc + inc bc + xor a + ret + +; 114df1 + +Function114df1: ; 114df1 + cp $1b + ret nz + ld a, [hli] + and a + jr z, .asm_114e2b + cp $24 + jr nz, .asm_114e09 + ld a, [hli] + and a + jr z, .asm_114e2b + cp $42 + jr z, .asm_114e0b + cp $40 + jr z, .asm_114e0b + dec hl + +.asm_114e09 + dec hl + ret + +.asm_114e0b + ld a, [hli] + and a + jr z, .asm_114e2b + cp $1b + jr nz, .asm_114e0b + ld a, [hli] + and a + jr z, .asm_114e2b + cp $28 + jr nz, .asm_114e0b + ld a, [hli] + and a + jr z, .asm_114e2b + cp $42 + jr z, .asm_114e29 + cp $4a + jr z, .asm_114e29 + jr .asm_114e0b + +.asm_114e29 + ld a, [hli] + ret + +.asm_114e2b + xor a + ret + +; 114e2d + +Function114e2d: ; 114e2d + cp $30 + jr c, .asm_114e45 + cp $40 + jr c, .asm_114e58 + cp $41 + jr c, .asm_114e45 + cp $5b + jr c, .asm_114e58 + cp $61 + jr c, .asm_114e45 + cp $7b + jr c, .asm_114e58 + +.asm_114e45 + cp $20 + jr z, .asm_114e58 + cp $2d + jr z, .asm_114e58 + cp $2e + jr z, .asm_114e58 + cp $5f + jr z, .asm_114e58 +.asm_114e55 + ld a, $1 + ret + +.asm_114e58 + cp $3c + jr z, .asm_114e55 + cp $3e + jr z, .asm_114e55 + xor a + ret + +; 114e62 + +Function114e62: ; 114e62 + ld a, c + and a + jr nz, .asm_114e6f + ld a, [wStartDay] + and a + jp z, Function11425c + jr .asm_114e76 + +.asm_114e6f + xor a + ld [wStartDay], a + call Function114ee9 + +.asm_114e76 + call Function114f0a + cp $ff + jp z, Function11425c + and a + jr nz, .asm_114e99 + call Function114ea0 + and a + jr nz, .asm_114e99 + ld hl, $dc09 + ld a, [hli] + cpl + ld e, a + ld a, [hli] + cpl + ld d, a + inc de + ld a, [hli] + ld h, [hl] + ld l, a + add hl, de + xor a + jp Function11425c + +.asm_114e99 + ld a, $1 + ld b, $83 + jp Function11425c + +; 114ea0 + +Function114ea0: ; 114ea0 + ld hl, $dc06 + ld a, [hli] + ld [wCurrentMapSignpostCount], a + ld [hFF8C], a + ld [MBC3SRamBank], a + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + ld a, $d + ld [de], a + dec bc + ld a, b + or c + jr z, .asm_114edb + inc e + call z, Function114ee0 + ld a, $a + ld [de], a + dec bc + inc e + call z, Function114ee0 + ld hl, $dc06 + ld a, [wCurrentMapSignpostCount] + ld [hli], a + ld a, e + ld [hli], a + ld a, d + ld [hli], a + ld a, c + ld [hli], a + ld [hl], b + xor a + ld [wStartDay], a + ret + +.asm_114edb + ld a, $1 + ld b, $83 + ret + +; 114ee0 + +Function114ee0: ; 114ee0 + push bc + ld bc, wCurrentMapSignpostCount + call Function115d80 + pop bc + ret + +; 114ee9 + +Function114ee9: ; 114ee9 + ld hl, $dc03 + ld a, b + ld [hli], a + ld a, c + ld [hli], a + ld [hli], a + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld c, a + ld [hli], a + inc de + ld a, [de] + ld b, a + ld [hli], a + inc de + ld a, c + ld [hli], a + ld a, b + ld [hli], a + ld a, e + ld [hli], a + ld [hl], d + ret + +; 114f0a + +Function114f0a: ; 114f0a + call Function114f39 + and a + jr nz, .asm_114f26 + ld a, [$dc03] + cp $6 + jr c, .asm_114f21 + cp $c + jr z, .asm_114f23 + call Function114f59 + and a + jr nz, .asm_114f23 + +.asm_114f21 + xor a + ret + +.asm_114f23 + ld a, $1 + ret + +.asm_114f26 + call Function114f59 + and a + jr nz, .asm_114f23 + ld hl, $dc0d + ld e, [hl] + inc hl + ld d, [hl] + ld a, [de] + and a + jr z, .asm_114f21 + ld a, $ff + ret + +; 114f39 + +Function114f39: ; 114f39 + ld hl, $dc0d + ld e, [hl] + inc hl + ld d, [hl] + inc hl + ld a, [de] + and a + jr z, .asm_114f58 + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld hl, $dc0d + ld [hl], e + inc hl + ld [hl], d + ld a, $1 + ret + +.asm_114f58 + ret + +; 114f59 + +Function114f59: ; 114f59 + ld a, [wStartDay] + and a + jr nz, .asm_114f7c + ld a, [$dc03] + cp $11 + jr z, .asm_114fa7 + add a + ld e, a + ld d, 0 + ld hl, Unknown_114011 + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + call Function115020 + and a + jr nz, .asm_114fe7 + ld a, $1 + ld [wStartDay], a + +.asm_114f7c + ld a, [$dc03] + cp $5 + jr c, .asm_114fc9 + jr z, .asm_114fec + cp $8 + jr c, .asm_114fa5 + jr z, .asm_114ff4 + cp $b + jr c, .asm_114fa5 + jr z, .asm_114ffc + cp $c + jr z, .asm_115007 + cp $d + jr z, .asm_114fa5 + cp $10 + jr c, .asm_115015 + jr z, .asm_114fa5 + cp $12 + jr c, .asm_114fa5 + jr .asm_114fe7 + +.asm_114fa5 + xor a + ret + +.asm_114fa7 + ld hl, Bed + ld c, [hl] + inc hl + ld a, [hli] + ld [$dc00], a + ld [hFF8C], a + ld [MBC3SRamBank], a + ld e, [hl] + inc hl + ld d, [hl] + ld hl, $dc24 + call Function115d53 + ld hl, $dc24 + call Function115020 + and a + jr nz, .asm_114fe7 + jr .asm_11501e + +.asm_114fc9 + call Function115062 + and a + jr nz, .asm_114fe7 + ld a, [$dc04] + dec a + ld [$dc04], a + and a + jr z, .asm_114fdf + call Function114f39 + and a + jr nz, .asm_114fc9 + +.asm_114fdf + ld a, [$dc05] + ld [$dc04], a + jr .asm_11501e + +.asm_114fe7 + ld a, $1 + ld b, $83 + ret + +.asm_114fec + call Function115062 + and a + jr nz, .asm_114fe7 + jr .asm_11501e + +.asm_114ff4 + call Function115179 + and a + jr nz, .asm_114fe7 + jr .asm_11501e + +.asm_114ffc + ld hl, String_114000 + call Function115217 + and a + jr nz, .asm_114fe7 + jr .asm_11501e + +.asm_115007 + call Function11528f + ld hl, $dc24 + call Function115217 + and a + jr nz, .asm_114fe7 + jr .asm_11501e + +.asm_115015 + ld hl, String_114000 + call Function115217 + and a + jr nz, .asm_114fe7 + +.asm_11501e + xor a + ret + +; 115020 + +Function115020: ; 115020 + push hl + ld hl, $dc06 + ld a, [hli] + ld [wCurrentMapSignpostCount], a + ld [hFF8C], a + ld [MBC3SRamBank], a + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + pop hl +.asm_115036 + ld a, [hli] + and a + jr z, .asm_115046 + ld [de], a + dec bc + ld a, b + or c + jr z, .asm_115056 + inc e + call z, Function115059 + jr .asm_115036 + +.asm_115046 + ld hl, $dc06 + ld a, [wCurrentMapSignpostCount] + ld [hli], a + ld a, e + ld [hli], a + ld a, d + ld [hli], a + ld a, c + ld [hli], a + ld [hl], b + xor a + ret + +.asm_115056 + ld a, $1 + ret + +; 115059 + +Function115059: ; 115059 + push bc + ld bc, wCurrentMapSignpostCount + call Function115d80 + pop bc + ret + +; 115062 + +Function115062: ; 115062 + ld hl, Bed + ld a, [hli] + and a + jr z, .asm_1150ae + ld c, a + ld a, [hli] + ld [$dc00], a + ld [hFF8C], a + ld [MBC3SRamBank], a + ld e, [hl] + inc hl + ld d, [hl] + ld b, $0 + ld hl, $dc24 + ld a, [wStartDay] + cp $1 + jr z, .asm_11509b + cp $2 + jr z, .asm_115098 + cp $3 + jr nz, .asm_1150b2 + ld a, $2c + ld [hli], a + ld a, $d + ld [hli], a + ld a, $a + ld [hli], a + ld a, $9 + ld [hli], a + jr .asm_11509b + +.asm_115098 + ld a, $2c + ld [hli], a + +.asm_11509b + call Function115d53 + call Function1150b3 + call Function115136 + ld a, [wStartDay] + inc a + cp $4 + jr nz, .asm_1150ae + ld a, $2 + +.asm_1150ae + ld [wStartDay], a + xor a + +.asm_1150b2 + ret + +; 1150b3 + +Function1150b3: ; 1150b3 + ld hl, $dc24 + ld de, PartyMon5Defense + ld b, $0 +.asm_1150bb + ld c, $0 + ld a, [hli] + cp $1b + jr z, .asm_1150c9 + ld [de], a + inc de + and a + jr z, .asm_115133 + jr .asm_1150bb + +.asm_1150c9 + inc c + ld a, [hl] + cp $24 + jr nz, .asm_1150bb + inc hl + inc c + ld a, [hl] + cp $42 + jr z, .asm_1150dc + cp $40 + jr z, .asm_1150dc + jr .asm_1150bb + +.asm_1150dc + push hl +.asm_1150dd + inc c + ld a, [hli] + and a + jr z, .asm_115133 + cp $1b + jr nz, .asm_1150dd + inc c + ld a, [hli] + cp $28 + jr nz, .asm_1150dd + inc c + ld a, [hli] + cp $42 + jr z, .asm_1150f8 + cp $4a + jr z, .asm_1150f8 + jr .asm_1150dd + +.asm_1150f8 + ld a, l + ld [Console], a + ld a, h + ld [LeftOrnament], a + ld hl, String_114232 +.asm_115103 + ld a, [hli] + and a + jr z, .asm_11510b + ld [de], a + inc de + jr .asm_115103 + +.asm_11510b + pop hl + dec hl + dec hl + push de + call Function1158c2 + pop de + ld h, d + ld l, e + ld c, [hl] + inc hl + ld b, [hl] + inc hl +.asm_115119 + ld a, [hli] + ld [de], a + inc de + dec bc + ld a, b + or c + jr nz, .asm_115119 + ld a, $3f + ld [de], a + inc de + ld a, $3d + ld [de], a + inc de + ld a, [Console] + ld l, a + ld a, [LeftOrnament] + ld h, a + jr .asm_1150bb + +.asm_115133 + xor a + ld [de], a + ret + +; 115136 + +Function115136: ; 115136 + ld hl, $dc06 + ld a, [hli] + ld [wCurrentMapSignpostCount], a + ld [hFF8C], a + ld [MBC3SRamBank], a + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + ld hl, PartyMon5Defense +.asm_11514d + ld a, [hli] + and a + jr z, .asm_11515d + ld [de], a + dec bc + ld a, b + or c + jr z, .asm_11516d + inc e + call z, Function115170 + jr .asm_11514d + +.asm_11515d + ld hl, $dc06 + ld a, [wCurrentMapSignpostCount] + ld [hli], a + ld a, e + ld [hli], a + ld a, d + ld [hli], a + ld a, c + ld [hli], a + ld [hl], b + xor a + ret + +.asm_11516d + ld a, $1 + ret + +; 115170 + +Function115170: ; 115170 + push bc + ld bc, wCurrentMapSignpostCount + call Function115d80 + pop bc + ret + +; 115179 + +Function115179: ; 115179 + ld hl, $dc06 + ld a, [hli] + ld [wCurrentMapSignpostCount], a + ld [hFF8C], a + ld [MBC3SRamBank], a + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + ld hl, $013f + ld a, [hli] + ld [de], a + dec bc + ld a, b + or c + jr z, .asm_1151ef + inc e + call z, Function11520e + ld a, [hli] + ld [de], a + dec bc + ld a, b + or c + jr z, .asm_1151ef + inc e + call z, Function11520e + ld a, [hli] + ld [de], a + dec bc + ld a, b + or c + jr z, .asm_1151ef + inc e + call z, Function11520e + ld a, [hli] + ld [de], a + dec bc + ld a, b + or c + jr z, .asm_1151ef + inc e + call z, Function11520e + ld a, $2d + ld [de], a + dec bc + ld a, b + or c + jr z, .asm_1151ef + inc e + call z, Function11520e + ld a, [$014c] + ld h, a + and $f0 + swap a + cp $a + jr nc, .asm_1151d8 + add $30 + jr .asm_1151da + +.asm_1151d8 + add $37 + +.asm_1151da + ld [de], a + dec bc + ld a, b + or c + jr z, .asm_1151ef + inc e + call z, Function11520e + ld a, h + and $f + cp $a + jr nc, .asm_1151f2 + add $30 + jr .asm_1151f4 + +.asm_1151ef + ld a, $1 + ret + +.asm_1151f2 + add $37 + +.asm_1151f4 + ld [de], a + dec bc + ld a, b + or c + jr z, .asm_1151ef + inc e + call z, Function11520e + ld hl, $dc06 + ld a, [wCurrentMapSignpostCount] + ld [hli], a + ld a, e + ld [hli], a + ld a, d + ld [hli], a + ld a, c + ld [hli], a + ld [hl], b + xor a + ret + +; 11520e + +Function11520e: ; 11520e + push bc + ld bc, wCurrentMapSignpostCount + call Function115d80 + pop bc + ret + +; 115217 + +Function115217: ; 115217 + push hl + ld hl, $dc06 + ld a, [hli] + ld [wCurrentMapSignpostCount], a + ld [hFF8C], a + ld [MBC3SRamBank], a + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + pop hl +.asm_11522d + ld a, [hli] + and a + jr z, .asm_11523d + ld [de], a + dec bc + ld a, b + or c + jr z, .asm_115262 + inc e + call z, Function115286 + jr .asm_11522d + +.asm_11523d + ld a, [$dc03] + cp $b + jr z, .asm_115278 + cp $c + jr z, .asm_115278 + cp $e + jr z, .asm_115252 + cp $f + jr z, .asm_115265 + jr .asm_115262 + +.asm_115252 + ld hl, $dc06 + ld a, [wCurrentMapSignpostCount] + ld [hli], a + ld a, e + ld [hli], a + ld a, d + ld [hli], a + ld a, c + ld [hli], a + ld [hl], b + xor a + ret + +.asm_115262 + ld a, $1 + ret + +.asm_115265 + ld h, $2 +.asm_115267 + ld a, $2d + ld [de], a + dec bc + ld a, b + or c + jr z, .asm_115262 + inc e + call z, Function115286 + dec h + jr nz, .asm_115267 + jr .asm_115252 + +.asm_115278 + ld a, $22 + ld [de], a + dec bc + ld a, b + or c + jr z, .asm_115262 + inc e + call z, Function115286 + jr .asm_115252 + +; 115286 + +Function115286: ; 115286 + push bc + ld bc, wCurrentMapSignpostCount + call Function115d80 + pop bc + ret + +; 11528f + +Function11528f: ; 11528f + ld hl, Bed + ld c, [hl] + inc hl + ld a, [hli] + ld [$dc00], a + ld [hFF8C], a + ld [MBC3SRamBank], a + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld hl, $dc24 +.asm_1152a4 + ld a, [de] + ld [hli], a + inc e + call z, Function1152af + dec c + jr nz, .asm_1152a4 + ld [hl], c + ret + +; 1152af + +Function1152af: ; 1152af + push bc + ld bc, $dc00 + call Function115d80 + pop bc + ret + +; 1152b8 + +Function1152b8: ; 1152b8 + push bc + call Function11537d + push de + ld h, d + ld l, e + ld a, [hli] + ld b, a + ld c, $1 + call Function1153d2 + pop de + and a + jr nz, .asm_1152f9 +.asm_1152ca + ld hl, $dc0d + ld e, [hl] + inc hl + ld d, [hl] +.asm_1152d0 + ld a, [$dc03] + cp $3 + jr nz, .asm_1152d8 + push de + +.asm_1152d8 + cp $5 + jr nz, .asm_1152e7 + pop hl + ld a, [hli] + ld b, a + ld c, $3 + call Function1153d2 + and a + jr nz, .asm_1152f9 + +.asm_1152e7 + ld a, [de] + inc de + and a + jr nz, .asm_115301 + ld a, [$dc03] + cp $6 + jr z, .asm_115335 + inc a + ld [$dc03], a + jr .asm_1152d0 + +.asm_1152f9 + pop hl + ld a, $1 + ld b, $83 + jp Function11425c + +.asm_115301 + ld hl, $dc0d + ld [hl], e + inc hl + ld [hl], d +.asm_115307 + ld [$dc05], a + ld a, $1 + ld [$dc04], a + call Function1153b5 + call Function114f59 + and a + jr nz, .asm_1152f9 + ld a, [$dc05] + dec a + jr nz, .asm_115307 + ld a, [$dc03] + inc a + ld [$dc03], a + call Function114ea0 + and a + jr nz, .asm_1152f9 + ld [wStartDay], a + ld a, [$dc03] + cp $6 + jr nz, .asm_1152ca + +.asm_115335 + call Function1153b5 + xor a + ld [wStartDay], a + call Function114f59 + and a + jr nz, .asm_1152f9 + call Function114ea0 + and a + jr nz, .asm_1152f9 + ld a, [$dc03] + inc a + ld [$dc03], a + cp $9 + jr nz, .asm_115335 + pop bc + ld a, b + and a + jr z, .asm_11536b + call Function1153b5 + xor a + ld [wStartDay], a + call Function114f59 + and a + jr nz, .asm_1152f9 + call Function114ea0 + and a + jr nz, .asm_1152f9 + +.asm_11536b + ld hl, $dc09 + ld a, [hli] + cpl + ld e, a + ld a, [hli] + cpl + ld d, a + inc de + ld a, [hli] + ld h, [hl] + ld l, a + add hl, de + xor a + jp Function11425c + +; 11537d + +Function11537d: ; 11537d + ld hl, $dc06 + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + ld b, a + inc de + ld a, [de] + ld [hli], a + inc hl + ld a, [de] + ld [hld], a + ld a, b + ld [hli], a + inc de + ld hl, RightOrnament + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld hl, $dc0d + ld [hl], e + inc hl + ld [hl], d + xor a + ld [$dc03], a + ld [wStartDay], a + ret + +; 1153b5 + +Function1153b5: ; 1153b5 + ld hl, $dc0d + ld e, [hl] + inc hl + ld d, [hl] + inc hl + inc hl + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hl], a + inc de + ld a, [de] + ld [Bed], a + inc de + ld hl, $dc0d + ld [hl], e + inc hl + ld [hl], d + ret + +; 1153d2 + +Function1153d2: ; 1153d2 + ld a, [$dc03] + ld d, a + ld a, [$dc04] + ld e, a + push de + xor a + ld [$dc03], a + ld [$dc04], a + ld a, $24 + ld [Console], a + ld a, $dc + ld [LeftOrnament], a + push bc + jr .asm_1153f4 + +.asm_1153ef + ld a, [hli] + and a + jr z, .asm_115426 + ld b, a + +.asm_1153f4 + push bc +.asm_1153f5 + ld a, [hli] + ld [$dc00], a + ld [hFF8C], a + ld [MBC3SRamBank], a + ld e, [hl] + inc hl + ld d, [hl] + inc hl + ld c, [hl] + inc hl + push hl + ld a, [Console] + ld l, a + ld a, [LeftOrnament] + ld h, a + push bc + ld b, $0 + call Function115d53 + inc hl + ld [hl], a + pop bc + ld a, l + ld e, a + ld [Console], a + ld a, h + ld d, a + ld [LeftOrnament], a + dec b + jr z, .asm_11542b + pop hl + jr .asm_1153f5 + +.asm_115426 + dec c + jr nz, .asm_1153ef + jr .asm_115430 + +.asm_11542b + pop hl + pop bc + dec c + jr nz, .asm_1153ef + +.asm_115430 + ld a, l + ld [Console], a + ld a, h + ld [LeftOrnament], a + xor a + ld [de], a + ld hl, $dc24 +.asm_11543d + ld a, [hli] + and a + jr nz, .asm_11543d + ld a, [hl] + and a + jr z, .asm_115457 + dec hl + ld a, $2c + ld [hli], a + jr .asm_11543d + +.asm_11544b + pop hl + ld a, h + ld [$dc03], a + ld a, l + ld [$dc04], a + ld a, $1 + ret + +.asm_115457 + ld hl, $dc24 + call Function114d99 + ld hl, $ddc8 +.asm_115460 + ld a, [hli] + and a + jr z, .asm_11546d + cp $2c + jr nz, .asm_115460 + dec hl + xor a + ld [hli], a + jr .asm_115460 + +.asm_11546d + pop de + ld a, e + cp $1 + jr z, .asm_115477 + xor a + ld [hli], a + jr .asm_115478 + +.asm_115477 + dec bc + +.asm_115478 + ld hl, $dc18 + ld a, [hli] + ld h, [hl] + ld l, a + ld a, b + cp h + jr c, .asm_11548c + jr nz, .asm_11544b + ld a, c + cp l + jr c, .asm_11548c + jr z, .asm_11548c + jr .asm_11544b + +.asm_11548c + ld hl, $dc18 + ld a, c + cpl + ld e, a + ld a, b + cpl + ld d, a + inc de + ld a, [hli] + ld h, [hl] + ld l, a + add hl, de + ld de, $dc18 + ld a, l + ld [de], a + inc de + ld a, h + ld [de], a + ld hl, RightOrnament + ld a, [hli] + ld [wCurrentMapSignpostCount], a + ld [hFF8C], a + ld [MBC3SRamBank], a + ld e, [hl] + inc hl + ld d, [hl] + ld hl, $ddc8 + call Function115d6a + ld hl, RightOrnament + ld a, [wCurrentMapSignpostCount] + ld [hli], a + ld [hl], e + inc hl + ld [hl], d + ld a, [Console] + ld e, a + ld a, [LeftOrnament] + ld d, a + pop hl + ld a, h + ld [$dc03], a + ld a, l + ld [$dc04], a + xor a + ret + +; 1154d4 + +Function1154d4: ; 1154d4 + xor a + ld [wStartDay], a + call Function1155af + call Function11560a + and a + jr nz, .asm_11552c + call Function1155d1 + ld a, [RightOrnament] + dec a + ld [RightOrnament], a + and a + jp z, .asm_115577 + cp $1 + jr nz, .asm_115531 + xor a + ld [wDailyResetTimer], a +.asm_1154f7 + ld a, [BigDoll] + cp $2 + jr z, .asm_115502 + cp $3 + jr z, .asm_11550f + +.asm_115502 + ld a, $a + ld [$dc03], a + call Function114f59 + and a + jr z, .asm_11551a + jr .asm_11552c + +.asm_11550f + ld a, $c + ld [$dc03], a + call Function114f59 + and a + jr nz, .asm_11552c + +.asm_11551a + call Function114ea0 + and a + jr nz, .asm_11552c + call Function114ea0 + and a + jr nz, .asm_11552c + call Function11560a + and a + jr z, .asm_1155a0 + +.asm_11552c + ld a, $1 + jp Function11425c + +.asm_115531 + ld a, $1 + ld [wDailyResetTimer], a + ld a, $b + ld [$dc03], a + call Function114f59 + and a + jr nz, .asm_11552c + call Function114ea0 + and a + jr nz, .asm_11552c +.asm_115547 + call Function114ea0 + and a + jr nz, .asm_11552c + ld a, $e + ld [$dc03], a + call Function114f59 + and a + jr nz, .asm_11552c + call Function114ea0 + and a + jr nz, .asm_11552c + jr .asm_1154f7 + +.asm_115560 + call Function114ea0 + and a + jr nz, .asm_11552c + ld a, [wDailyResetTimer] + and a + jr z, .asm_11557d + ld a, $f + ld [$dc03], a + call Function114f59 + and a + jr nz, .asm_11552c + +.asm_115577 + call Function114ea0 + and a + jr nz, .asm_11552c + +.asm_11557d + ld a, $10 + ld [$dc03], a + call Function114f59 + and a + jr nz, .asm_11552c + call Function114ea0 + and a + jr nz, .asm_11552c + ld hl, $dc09 + ld a, [hli] + cpl + ld e, a + ld a, [hli] + cpl + ld d, a + inc de + ld a, [hli] + ld h, [hl] + ld l, a + add hl, de + xor a + jp Function11425c + +.asm_1155a0 + ld a, [RightOrnament] + dec a + ld [RightOrnament], a + and a + jr z, .asm_115560 + call Function1155d1 + jr .asm_115547 + +; 1155af + +Function1155af: ; 1155af + ld hl, $dc06 + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + ld b, a + inc de + ld a, [de] + ld [hli], a + ld [hl], b + inc hl + ld [hli], a + inc de + ld a, [de] + ld [RightOrnament], a + inc de + ld a, e + ld [hli], a + ld [hl], d + call Function1155d1 + ret + +; 1155d1 + +Function1155d1: ; 1155d1 + ld a, [$dc0d] + ld l, a + ld a, [$dc0e] + ld h, a + ld a, [hli] + ld [BigDoll], a + cp $3 + jr nz, .asm_1155f0 + ld de, Carpet + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + ld a, [hli] + ld [Bed], a + +.asm_1155f0 + ld de, $dc17 + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + ld a, l + ld [$dc0d], a + ld a, h + ld [$dc0e], a + ret + +; 11560a + +Function11560a: ; 11560a + ld a, [$dc06] + ld [wCurrentMapSignpostCount], a + ld a, [$dc17] + ld [$dc00], a + ld [hFF8C], a + ld [MBC3SRamBank], a + ld hl, $dc1a + ld c, [hl] + inc hl + ld b, [hl] + ld a, [wCurrMapCallbackCount] + cp b + jp c, .asm_1156b1 + jr nz, .asm_115631 + ld a, [$dc09] + cp c + jp c, .asm_1156b1 + +.asm_115631 + ld a, b + or c + jr z, .asm_1156a9 + ld a, [$dc09] + ld l, a + ld a, [wCurrMapCallbackCount] + ld h, a + ld a, c + cpl + ld e, a + ld a, b + cpl + ld d, a + inc de + add hl, de + ld a, l + ld [$dc09], a + ld a, h + ld [wCurrMapCallbackCount], a +.asm_11564d + ld a, $3 + cp b + jr c, .asm_1156b6 + jr nz, .asm_115659 + ld a, $db + cp c + jr c, .asm_1156b6 + +.asm_115659 + ld a, [$dc1a] + ld e, a + ld a, [$dc1b] + ld d, a + ld a, c + cpl + ld l, a + ld a, b + cpl + ld h, a + inc hl + add hl, de + ld a, l + ld [$dc1a], a + ld a, h + ld [$dc1b], a + push bc + ld hl, $dc18 + ld e, [hl] + inc hl + ld d, [hl] + ld hl, $dc24 + call Function115d53 + ld hl, $dc18 + ld [hl], e + inc hl + ld [hl], d + pop bc + ld a, [wCurrentMapSignpostCount] + ld [hFF8C], a + ld [MBC3SRamBank], a + ld hl, wCurrMapTriggerCount + ld e, [hl] + inc hl + ld d, [hl] + ld hl, $dc24 + call Function115d6a + ld hl, wCurrMapTriggerCount + ld [hl], e + inc hl + ld [hl], d + ld hl, $dc1a + ld c, [hl] + inc hl + ld b, [hl] + ld a, b + or c + jr nz, .asm_11564d + +.asm_1156a9 + ld a, [wCurrentMapSignpostCount] + ld [$dc06], a + xor a + ret + +.asm_1156b1 + ld a, $1 + ld b, $83 + ret + +.asm_1156b6 + ld a, $3 + cpl + ld h, a + ld a, $db + cpl + ld l, a + add hl, bc + ld de, $dc1a + ld a, l + ld [de], a + inc de + ld a, h + ld [de], a + ld bc, $03db + jr .asm_115659 + +; 1156cc + +Function1156cc: ; 1156cc + ld a, [wStartDay] + and a + jp z, Function11425c + cp $2 + jr z, .asm_1156fa + cp $3 + jr z, .asm_1156fd + cp $4 + jr z, .asm_1156fd + cp $5 + jr z, .asm_115716 + cp $ff + jr z, .asm_11572b + cp $1 + jp nz, Function11425c + call Function115732 + call Function11575c + ld a, h + ld [Poster], a + ld a, l + ld [Plant], a + +.asm_1156fa + call Function1157d0 + +.asm_1156fd + call Function11581e + and a + jr nz, .asm_11572b + ld a, [wStartDay] + cp $5 + jr z, .asm_115716 + ld a, [Poster] + ld h, a + ld a, [Plant] + ld l, a + xor a + jp Function11425c + +.asm_115716 + ld hl, wCurrMapCallbackCount + ld a, [hli] + cpl + ld e, a + ld a, [hli] + cpl + ld d, a + inc de + ld a, [hli] + ld h, [hl] + ld l, a + add hl, de + xor a + ld [wStartDay], a + jp Function11425c + +.asm_11572b + ld a, $1 + ld b, $83 + jp Function11425c + +; 115732 + +Function115732: ; 115732 + ld hl, $dc02 + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + dec de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + ld a, c + ld [hli], a + ld [hl], b + ret + +; 11575c + +Function11575c: ; 11575c + ld hl, $dc05 + ld a, [hli] + ld h, [hl] + ld l, a + ld e, $10 + ld b, $0 + ld c, b + ld d, b + ld a, $3 +.asm_11576a + rl l + rl h + rl d + cp d + jr c, .asm_11577c + rl c + rl b + dec e + jr nz, .asm_11576a + jr .asm_11578a + +.asm_11577c + ld a, d + sub $3 + ld d, a + ld a, $3 + scf + rl c + rl b + dec e + jr nz, .asm_11576a + +.asm_11578a + ld a, d + and a + jr z, .asm_11578f + inc bc + +.asm_11578f + sla c + rl b + sla c + rl b + ld h, b + ld l, c + push hl + ld e, $10 + ld b, $0 + ld c, b + ld d, b + ld a, $40 +.asm_1157a2 + rl l + rl h + rl d + cp d + jr c, .asm_1157b4 + rl c + rl b + dec e + jr nz, .asm_1157a2 + jr .asm_1157c3 + +.asm_1157b4 + ld a, d + sub $40 + ld d, a + ld a, $40 + scf + rl c + rl b + dec e + jr nz, .asm_1157a2 + inc bc + +.asm_1157c3 + and a + sla c + rl b + pop hl + add hl, bc + ld a, $2 + ld [wStartDay], a + ret + +; 1157d0 + +Function1157d0: ; 1157d0 + ld hl, $dc05 + ld a, [hli] + ld h, [hl] + ld l, a + ld a, [$dc0e] + ld c, a + ld a, [Bed] + ld b, a + cp h + jr c, .asm_1157eb + jr nz, .asm_1157e9 + ld a, c + cp l + jr c, .asm_1157eb + jr z, .asm_1157eb + +.asm_1157e9 + ld b, h + ld c, l + +.asm_1157eb + push bc + ld a, b + cpl + ld b, a + ld a, c + cpl + ld c, a + inc bc + add hl, bc + ld a, l + ld [$dc05], a + ld a, h + ld [$dc06], a + ld a, h + or l + jr nz, .asm_11580f + pop bc + ld a, c + ld [$dc0e], a + ld a, b + ld [Bed], a + ld a, $4 + ld [wStartDay], a + ret + +.asm_11580f + pop bc + ld a, c + ld [$dc0e], a + ld a, b + ld [Bed], a + ld a, $3 + ld [wStartDay], a + ret + +; 11581e + +Function11581e: ; 11581e + ld a, [wStartDay] + and a + ret z + ld a, [$dc0e] + ld c, a + ld a, [Bed] + ld b, a + ld hl, $dc02 + ld a, [hli] + ld [$dc00], a + ld [hFF8C], a + ld [MBC3SRamBank], a + ld e, [hl] + inc hl + ld d, [hl] + ld hl, $dc24 + push bc + call Function115d53 + pop bc + ld hl, $dc02 + ld a, [$dc00] + ld [hli], a + ld [hl], e + inc hl + ld [hl], d + ld hl, $dc24 + ld de, PartyMon5Defense + call Function1158c2 + ld hl, PartyMon5Defense + ld c, [hl] + inc hl + ld b, [hl] + inc hl + push hl + ld a, [wCurrMapCallbackCount] + ld l, a + ld a, [wCurrMapCallbackHeaderPointer] + ld h, a + cp b + jr c, .asm_1158bb + jr nz, .asm_11586e + ld a, l + cp c + jr c, .asm_1158bb + +.asm_11586e + push bc + ld a, b + cpl + ld b, a + ld a, c + cpl + ld c, a + inc bc + add hl, bc + ld a, l + ld [wCurrMapCallbackCount], a + ld a, h + ld [wCurrMapCallbackHeaderPointer], a + pop bc + pop hl + ld hl, wCurrMapTriggerCount + ld a, [hli] + ld [wCurrentMapSignpostCount], a + ld [hFF8C], a + ld [MBC3SRamBank], a + ld e, [hl] + inc hl + ld d, [hl] + ld hl, PartyMon5Speed + call Function115d6a + ld hl, wCurrMapTriggerCount + ld a, [wCurrentMapSignpostCount] + ld [hli], a + ld a, e + ld [hli], a + ld [hl], d + ld a, [wStartDay] + cp $3 + jr z, .asm_1158b4 + cp $4 + jr z, .asm_1158ad + jr .asm_1158bc + +.asm_1158ad + ld a, $5 + ld [wStartDay], a + jr .asm_1158b9 + +.asm_1158b4 + ld a, $2 + ld [wStartDay], a + +.asm_1158b9 + xor a + ret + +.asm_1158bb + pop hl + +.asm_1158bc + ld a, $ff + ld [wStartDay], a + ret + +; 1158c2 + +Function1158c2: ; 1158c2 + ld a, e + ld [SwarmFlags], a + ld a, d + ld [$dc21], a + xor a + ld [$dc22], a + xor a + ld [de], a + inc de + ld [de], a + inc de + ld a, c + ld [$dc19], a + ld a, b + ld [$dc1a], a + ld c, e + ld b, d + ld e, l + ld d, h + ld l, c + ld h, b + xor a + ld [WeeklyFlags], a + +.asm_1158e5 + ld b, $3 + push hl + ld hl, $dc1b +.asm_1158eb + ld a, [de] + inc de + ld [hli], a + dec b + jr nz, .asm_1158eb + ld a, [$dc19] + ld c, a + ld a, [$dc1a] + ld b, a + xor a + or b + jr nz, .asm_115914 + ld a, $2 + cp c + jr c, .asm_115914 + push hl + dec hl + ld a, c + ld [WeeklyFlags], a +.asm_115908 + xor a + ld [hld], a + inc c + ld a, $3 + cp c + jr nz, .asm_115908 + pop hl + ld bc, $0003 + +.asm_115914 + dec bc + dec bc + dec bc + ld a, c + ld [$dc19], a + ld a, b + ld [$dc1a], a + push de + push hl + ld hl, SwarmFlags + ld a, [hli] + ld h, [hl] + ld l, a + ld e, [hl] + inc hl + ld d, [hl] +rept 4 + inc de +endr + ld [hl], d + dec hl + ld [hl], e + pop hl + dec hl + ld c, [hl] + dec hl + ld b, [hl] + dec hl + ld a, [hl] + ld d, a + srl a + srl a + ld [hli], a + ld a, $3 + and d + ld d, a + ld a, $f0 + and b + or d + swap a + ld [hli], a + ld a, $f + and b + ld d, a + ld a, c + and $c0 + or d + rlca + rlca + ld [hli], a + ld a, $3f + and c + ld [hld], a + dec hl + dec hl + pop de + ld b, h + ld c, l + pop hl + ld a, [bc] + inc bc + call Function1159dc + ld [hli], a + ld a, [bc] + inc bc + call Function1159dc + ld [hli], a + ld a, [bc] + inc bc + call Function1159dc + ld [hli], a + ld a, [bc] + inc bc + call Function1159dc + ld [hli], a + ld a, [$dc22] + inc a + cp $10 + jr nz, .asm_1159b1 + push af + push bc + ld a, [$dc19] + ld b, a + ld a, [$dc1a] + or b + jr nz, .asm_115998 + ld a, [$dc05] + ld b, a + ld a, [$dc06] + or b + jr nz, .asm_115998 + pop bc + pop af + jr .asm_1159c4 + +.asm_115998 + pop bc + pop af + ld a, $d + ld [hli], a + ld a, $a + ld [hli], a + push hl + ld hl, SwarmFlags + ld a, [hli] + ld h, [hl] + ld l, a + ld a, [hli] + ld c, a + ld b, [hl] + inc bc + inc bc + ld a, b + ld [hld], a + ld [hl], c + pop hl + xor a + +.asm_1159b1 + ld [$dc22], a + ld a, [$dc19] + cp $0 + jp nz, .asm_1158e5 + ld a, [$dc1a] + cp $0 + jp nz, .asm_1158e5 + +.asm_1159c4 + ld a, [WeeklyFlags] + cp $0 + jr z, .asm_1159d8 + push hl + dec hl + ld b, a +.asm_1159ce + ld a, $3d + ld [hld], a + inc b + ld a, $3 + cp b + jr nz, .asm_1159ce + pop hl + +.asm_1159d8 + ld a, $0 + ld [hl], a + ret + +; 1159dc + +Function1159dc: ; 1159dc + cp $1a + jr c, .asm_1159ef + cp $34 + jr c, .asm_1159f2 + cp $3e + jr c, .asm_1159f5 + cp $3e + jr z, .asm_1159f8 + ld a, $2f + ret + +.asm_1159ef + add $41 + ret + +.asm_1159f2 + add $47 + ret + +.asm_1159f5 + sub $4 + ret + +.asm_1159f8 + ld a, $2b + ret + +; 1159fb + +Function1159fb: ; 1159fb + ld a, [wStartDay] + and a + jp z, Function11425c + cp $2 + jr z, .asm_115a29 + cp $3 + jr z, .asm_115a2c + cp $4 + jr z, .asm_115a2c + cp $5 + jr z, .asm_115a45 + cp $ff + jr z, .asm_115a5a + cp $1 + jp nz, Function11425c + call Function115732 + call Function115a5f + ld a, h + ld [Plant], a + ld a, l + ld [Poster], a + +.asm_115a29 + call Function115ab0 + +.asm_115a2c + call Function115b00 + and a + jr nz, .asm_115a5a + ld a, [wStartDay] + cp $5 + jr z, .asm_115a45 + ld a, [Poster] + ld h, a + ld a, [Plant] + ld l, a + xor a + jp Function11425c + +.asm_115a45 + ld hl, wCurrMapCallbackCount + ld a, [hli] + cpl + ld e, a + ld a, [hli] + cpl + ld d, a + inc de + ld a, [hli] + ld h, [hl] + ld l, a + add hl, de + xor a + ld [wStartDay], a + jp Function11425c + +.asm_115a5a + ld a, $1 + jp Function11425c + +; 115a5f + +Function115a5f: ; 115a5f + ld hl, $dc05 + ld a, [hli] + ld h, [hl] + ld l, a + push hl + ld e, $10 + ld b, $0 + ld c, b + ld d, b + ld a, $42 +.asm_115a6e + rl l + rl h + rl d + cp d + jr c, .asm_115a80 + rl c + rl b + dec e + jr nz, .asm_115a6e + jr .asm_115a8e + +.asm_115a80 + ld a, d + sub $42 + ld d, a + ld a, $42 + scf + rl c + rl b + dec e + jr nz, .asm_115a6e + +.asm_115a8e + sla c + rl b + pop hl + ld a, b + cpl + ld b, a + ld a, c + cpl + ld c, a + inc bc + add hl, bc + srl h + rr l + srl h + rr l + ld b, h + ld c, l + sla c + rl b + add hl, bc + ld a, $2 + ld [wStartDay], a + ret + +; 115ab0 + +Function115ab0: ; 115ab0 + ld hl, $dc05 + ld a, [hli] + ld h, [hl] + ld l, a + ld a, [$dc0e] + ld c, a + ld a, [Bed] + ld b, a + cp h + jr c, .asm_115acb + jr nz, .asm_115ac9 + ld a, c + cp l + jr c, .asm_115acb + jr z, .asm_115acb + +.asm_115ac9 + ld b, h + ld c, l + +.asm_115acb + push bc + ld a, b + cpl + ld b, a + ld a, c + cpl + ld c, a + inc bc + add hl, bc + ld a, l + ld [$dc05], a + ld a, h + ld [$dc06], a + ld a, h + or l + jr nz, .asm_115af0 + pop bc + ld a, c + ld [$dc0e], a + ld a, b + ld [Bed], a + ld a, $4 + ld [wStartDay], a + xor a + ret + +.asm_115af0 + pop bc + ld a, c + ld [$dc0e], a + ld a, b + ld [Bed], a + ld a, $3 + ld [wStartDay], a + xor a + ret + +; 115b00 + +Function115b00: ; 115b00 + ld a, [wStartDay] + and a + ret z + ld a, [$dc0e] + ld c, a + ld a, [Bed] + ld b, a + ld hl, $dc02 + ld a, [hli] + ld [$dc00], a + ld [hFF8C], a + ld [MBC3SRamBank], a + ld e, [hl] + inc hl + ld d, [hl] + ld hl, PartyMon5Defense + push bc + call Function115bc8 + pop hl + and a + jr z, .asm_115b43 + cp $2 + jr z, .asm_115b3b + ld a, [wStartDay] + cp $4 + jr z, .asm_115b43 + inc hl + inc hl + jr .asm_115b43 + +.asm_115b36 + pop hl + ld b, $83 + jr .asm_115b3d + +.asm_115b3b + ld b, $81 + +.asm_115b3d + ld a, $ff + ld [wStartDay], a + ret + +.asm_115b43 + ld a, [Carpet] + add a + cpl + ld c, a + ld b, $ff + inc bc + add hl, bc + ld b, h + ld c, l + ld hl, $dc02 + ld a, [$dc00] + ld [hli], a + ld [hl], e + inc hl + ld [hl], d + ld hl, PartyMon5Defense + ld de, $dc24 + call Function115c49 + ld hl, $dc24 + ld c, [hl] + inc hl + ld b, [hl] + inc hl + push hl + ld a, [wCurrMapCallbackCount] + ld l, a + ld a, [wCurrMapCallbackHeaderPointer] + ld h, a + cp b + jr c, .asm_115b36 + jr nz, .asm_115b7b + ld a, l + cp c + jr c, .asm_115b36 + +.asm_115b7b + push bc + ld a, b + cpl + ld b, a + ld a, c + cpl + ld c, a + inc bc + add hl, bc + ld a, l + ld [wCurrMapCallbackCount], a + ld a, h + ld [wCurrMapCallbackHeaderPointer], a + pop bc + pop hl + ld hl, wCurrMapTriggerCount + ld a, [hli] + ld [wCurrentMapSignpostCount], a + ld [hFF8C], a + ld [MBC3SRamBank], a + ld e, [hl] + inc hl + ld d, [hl] + ld hl, $dc26 + call Function115d6a + ld hl, wCurrMapTriggerCount + ld a, [wCurrentMapSignpostCount] + ld [hli], a + ld a, e + ld [hli], a + ld [hl], d + ld a, [wStartDay] + cp $3 + jr z, .asm_115bc1 + cp $4 + jr z, .asm_115bba + jr .asm_115b3b + +.asm_115bba + ld a, $5 + ld [wStartDay], a + jr .asm_115bc6 + +.asm_115bc1 + ld a, $2 + ld [wStartDay], a + +.asm_115bc6 + xor a + ret + +; 115bc8 + +Function115bc8: ; 115bc8 + xor a + ld [Carpet], a +.asm_115bcc + ld a, [de] + ld [hli], a + inc e + call z, .Function115c3d + dec bc + ld a, b + or c + jr z, .asm_115c46 + ld a, [de] + ld [hli], a + inc e + call z, .Function115c3d + dec bc + ld a, b + or c + jr z, .asm_115c1b + ld a, [de] + ld [hli], a + inc e + call z, .Function115c3d + dec bc + ld a, b + or c + jr z, .asm_115c46 + ld a, [de] + ld [hli], a + inc e + call z, .Function115c3d + dec bc + ld a, b + or c + jr z, .asm_115c3a + ld a, [de] + cp $d + jr nz, .asm_115bcc + inc e + call z, .Function115c3d + ld a, [de] + cp $a + jr nz, .asm_115c46 + inc e + call z, .Function115c3d + dec bc + ld a, b + or c + jr z, .asm_115c46 + ld a, [Carpet] + inc a + ld [Carpet], a + dec bc + ld a, b + or c + jr nz, .asm_115bcc + +.asm_115c1b + ld a, [wStartDay] + cp $4 + jr z, .asm_115c33 + ld a, [de] + ld [hli], a + inc e + call z, .Function115c3d + ld a, [de] + ld [hli], a + inc e + call z, .Function115c3d + xor a + ld [hl], a + ld a, $1 + ret + +.asm_115c33 + dec hl + dec hl + xor a + ld [hl], a + ld a, $1 + ret + +.asm_115c3a + xor a + ld [hl], a + ret + +.Function115c3d: + push bc + ld bc, $dc00 + call Function115d80 + pop bc + ret + +.asm_115c46 + ld a, $2 + ret + +; 115c49 + +Function115c49: ; 115c49 + ld a, e + ld [WeeklyFlags], a + ld a, d + ld [SwarmFlags], a + xor a + ld [de], a + inc de + ld [de], a + inc de + + ld a, c + ld [$dc19], a + ld a, b + ld [$dc1a], a + ld c, e + ld b, d + ld e, l + ld d, h + ld l, c + ld h, b + +.asm_115c64 + ld a, [$dc1a] + or a + jr nz, .asm_115c71 + ld a, [$dc19] + cp $4 + jr c, .asm_115c99 + +.asm_115c71 + ld b, $4 + push hl + ld hl, $dc1b +.asm_115c77 + ld a, [de] + inc de + call Function115cfd + ld [hli], a + dec b + jr nz, .asm_115c77 + ld a, [$dc19] + ld c, a + ld a, [$dc1a] + ld b, a +rept 4 + dec bc +endr +.asm_115c8c + ld a, [de] + cp $d + jr z, .asm_115c95 + cp $a + jr nz, .asm_115c9f + +.asm_115c95 + inc de + dec bc + jr .asm_115c8c + +.asm_115c99 + ld a, $ff + ld [wStartDay], a + ret + +.asm_115c9f + ld a, c + ld [$dc19], a + ld a, b + ld [$dc1a], a + push de + push hl + ld hl, WeeklyFlags + ld a, [hli] + ld h, [hl] + ld l, a + ld e, [hl] + inc hl + ld d, [hl] + inc de + inc de + inc de + ld [hl], d + dec hl + ld [hl], e + pop hl + dec hl + ld d, [hl] + dec hl + ld c, [hl] + dec hl + ld b, [hl] + dec hl + ld a, [hl] + sla b + sla b + sla b + rla + sla b + rla + ld [hli], a + ld [hl], b + inc hl + rrc c + rrc c + ld [hl], c + dec hl + ld a, $f + and c + or [hl] + ld [hli], a + ld a, [hli] + and $c0 + or [hl] + dec hl + ld [hld], a + dec hl + pop de + ld b, h + ld c, l + pop hl + ld a, [bc] + ld [hli], a + inc bc + ld a, [bc] + ld [hli], a + inc bc + ld a, [bc] + ld [hli], a + ld a, [$dc19] + cp $0 + jp nz, .asm_115c64 + ld a, [$dc1a] + cp $0 + jp nz, .asm_115c64 + ret + +; 115cfd + +Function115cfd: ; 115cfd + cp $2b + jr c, .asm_115d27 + jr z, .asm_115d2f + cp $2f + jr c, .asm_115d27 + jr z, .asm_115d32 + cp $30 + jr c, .asm_115d27 + cp $3a + jr c, .asm_115d35 + cp $3d + jr c, .asm_115d27 + jr z, .asm_115d38 + cp $41 + jr c, .asm_115d27 + cp $5b + jr c, .asm_115d4d + cp $61 + jr c, .asm_115d27 + cp $7b + jr c, .asm_115d50 + +.asm_115d27 + pop hl + pop hl + ld a, $ff + ld [wStartDay], a + ret + +.asm_115d2f + ld a, $3e + ret + +.asm_115d32 + ld a, $3f + ret + +.asm_115d35 + add $4 + ret + +.asm_115d38 + push de + push hl + ld a, [WeeklyFlags] + ld l, a + ld a, [SwarmFlags] + ld h, a + ld e, [hl] + inc hl + ld d, [hl] + dec de + ld [hl], d + dec hl + ld [hl], e + pop hl + pop de + xor a + ret + +.asm_115d4d + sub $41 + ret + +.asm_115d50 + sub $47 + ret + +; 115d53 + +Function115d53: ; 115d53 +.asm_115d53 + ld a, [de] + ld [hli], a + inc e + call z, Function115d61 + dec bc + ld a, b + or c + jr nz, .asm_115d53 + xor a + ld [hl], a + ret + +; 115d61 + +Function115d61: ; 115d61 + push bc + ld bc, $dc00 + call Function115d80 + pop bc + ret + +; 115d6a + +Function115d6a: ; 115d6a +.asm_115d6a + ld a, [hli] + ld [de], a + inc e + call z, Function115d77 + dec bc + ld a, b + or c + jr nz, .asm_115d6a + xor a + ret + +; 115d77 + +Function115d77: ; 115d77 + push bc + ld bc, wCurrentMapSignpostCount + call Function115d80 + pop bc + ret + +; 115d80 + +Function115d80: ; 115d80 + ld e, a + ld a, d + cp $bf + jr z, .asm_115d8b + inc d + ld a, e + ld e, $0 + ret + +.asm_115d8b + ld a, [bc] + inc a + ld [bc], a + ld [hFF8C], a + ld [MBC3SRamBank], a + ld a, e + ld d, $a0 + ld e, $0 + ret + +; 115d99 + +INCLUDE "mobile/mobile_45_sprite_engine.asm" + +; 116567 + +Function116567: ; 116567 + ld hl, wc3f7 + dec [hl] + ret nz + ld hl, wc3f6 + inc [hl] +.asm_116570 + ld a, $7 + sla a + ld c, a + ld b, 0 + ld hl, Unknown_1167eb + add hl, bc + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + push de + pop hl + ld a, [wc3f6] + sla a + ld c, a + ld b, $0 + add hl, bc + ld a, [hli] + cp $fe + jr nz, .asm_116595 + xor a + ld [wc3f6], a + jr .asm_116570 + +.asm_116595 + ld [wc3f5], a + ld a, [hl] + ld [wc3f7], a + ret + +; 11659d + +Function11659d: ; 11659d + ld a, [wc314] + cp $12 + ret nc + ld e, a + ld d, 0 + ld hl, Jumptable_1165af + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp hl + +; 1165af + +Jumptable_1165af: ; 1165af + dw Function11677e + dw Function1165d5 + dw Function1165d8 + dw Function1165e3 + dw Function1165f5 + dw Function116600 + dw Function116615 + dw Function116618 + dw Function116623 + dw Function116635 + dw Function116640 + dw Function116655 + dw Function11665c + dw Function11668d + dw Function11669f + dw Function1166a2 + dw Function1166c4 + dw Function1166d6 + dw Function1166d6 +; 1165d5 + +Function1165d5: ; 1165d5 + call Function11678e + +Function1165d8: + ld a, $0 + ld c, a + ld a, $ff + ld b, a + ld a, $a8 + call Function1166f4 + +Function1165e3: + call Function116747 + ld a, [wc30e] + cp $e8 + ret nz + ld a, $1 + call Function116780 + ret c + jp Function116797 + +; 1165f5 + +Function1165f5: ; 1165f5 + ld a, $1 + ld c, a + ld a, $1 + ld b, a + ld a, $e8 + call Function1166f4 + +Function116600: + call Function116747 + ld a, [wc30e] + cp $a8 + ret nz + ld a, $1 + call Function116780 + ret c + ld a, $2 + ld [wc314], a + ret + +; 116615 + +Function116615: ; 116615 + call Function11678e + +Function116618: + ld a, $3 + ld c, a + ld a, $1 + ld b, a + ld a, $28 + call Function11671f + +Function116623: + call Function116747 + ld a, [wc30f] + cp $a0 + ret nz + ld a, $6 + call Function116780 + ret c + jp Function116797 + +; 116635 + +Function116635: ; 116635 + ld a, $2 + ld c, a + ld a, $ff + ld b, a + ld a, $a0 + call Function11671f + +Function116640: + call Function116747 + ld a, [wc30f] + cp $28 + ret nz + ld a, $6 + call Function116780 + ret c + ld a, $7 + ld [wc314], a + ret + +; 116655 + +Function116655: ; 116655 + xor a + ld [wc314 + 3], a + call Function11678e + +Function11665c: + ld hl, wc314 + 3 + ld a, $1 + xor [hl] + ld [hl], a + add $4 + ld c, a + call Function11679c + ld a, [wc314 + 3] + and a + jr nz, .asm_116673 + ld a, $48 + jr .asm_116675 + +.asm_116673 + ld a, $78 + +.asm_116675 + ld [wc30f], a + call Random + ld a, [hRandomAdd] + and $7 + sla a + sla a + sla a + add $30 + ld [wc30e], a + call Function116797 + +Function11668d: + ld a, [wc311] + cp $ff + ret nz + ld a, $b + call Function116780 + ret c + ld a, $c + ld [wc314], a + ret + +; 11669f + +Function11669f: ; 11669f + call Function11678e + +Function1166a2: + ld a, $a8 + ld [wc30e], a + ld [wc3f1], a + ld a, $60 + ld [wc30f], a + ld [wc3f3], a + ld a, $ff + ld [wc314 + 2], a + xor a + ld [wc314 + 3], a + ld a, $0 + ld c, a + call Function11679c + call Function116797 + +Function1166c4: + call Function116747 + ld a, [wc30e] + cp $58 + ret nz + ld a, $6 + ld c, a + call Function11679c + call Function116797 + +Function1166d6: + call Function116747 + ld a, [wc30e] + cp $48 + jr nz, .asm_1166e4 + xor a + ld [wc314 + 2], a + +.asm_1166e4 + ld a, [wc311] + cp $ff + ret nz + ld a, $4 + ld [$c319], a + xor a + ld [wc314], a + ret + +; 1166f4 + +Function1166f4: ; 1166f4 + ld [wc30e], a + ld a, b + ld [wc314 + 2], a + xor a + ld [wc314 + 3], a + ld hl, wc30f +.asm_116702 + call Random + ld a, [hRandomAdd] + and $7 + jr z, .asm_11670c + dec a + +.asm_11670c + sla a + sla a + sla a + add $48 + cp [hl] + jr z, .asm_116702 + ld [hl], a + call Function11679c + call Function116797 + ret + +; 11671f + +Function11671f: ; 11671f + ld [wc30f], a + ld a, b + ld [wc314 + 3], a + xor a + ld [wc314 + 2], a + ld hl, wc30e +.asm_11672d + call Random + ld a, [hRandomAdd] + and $7 + sla a + sla a + sla a + add $30 + cp [hl] + jr z, .asm_11672d + ld [hl], a + call Function11679c + call Function116797 + ret + +; 116747 + +Function116747: ; 116747 + ld hl, wc30e + ld a, [wc314 + 2] + add [hl] + ld [hl], a + ld hl, wc30f + ld a, [wc314 + 3] + add [hl] + ld [hl], a + ret + +; 116758 + +Function116758: ; 116758 + ld a, [wc30f] + cp $30 + jr c, .asm_116770 + jr z, .asm_116770 + cp $38 + jr c, .asm_116774 + jr z, .asm_116774 + cp $40 + jr c, .asm_116778 + jr z, .asm_116778 + xor a + jr .asm_11677a + +.asm_116770 + ld a, $c + jr .asm_11677a + +.asm_116774 + ld a, $8 + jr .asm_11677a + +.asm_116778 + ld a, $4 + +.asm_11677a + ld [wc314 + 4], a + ret + +; 11677e + +Function11677e: ; 11677e + ld a, $0 + +Function116780: + ld hl, wc314 + 1 + cp [hl] + jr z, .asm_11678c + ld a, [hl] + ld [wc314], a + scf + ret + +.asm_11678c + and a + ret + +; 11678e + +Function11678e: ; 11678e + ld hl, wc314 + ld a, [hl] + ld [wc314 + 1], a + inc [hl] + ret + +; 116797 + +Function116797: ; 116797 + ld hl, wc314 + inc [hl] + ret + +; 11679c + +Function11679c: + ld a, c + ld [wc311], a + xor a + ld [wc312], a + jr asm_1167af + +Function1167a6: ; 1167a6 + ld hl, wc313 + dec [hl] + ret nz + ld hl, wc312 + inc [hl] + +asm_1167af +.asm_1167af + ld a, [wc311] + cp $ff + ret z + sla a + ld c, a + ld b, 0 + ld hl, Unknown_1167eb + add hl, bc + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + push de + pop hl + ld a, [wc312] + sla a + ld c, a + ld b, $0 + add hl, bc + ld a, [hli] + cp $ff + jr z, .asm_1167dc + cp $fe + jr nz, .asm_1167e3 + xor a + ld [wc312], a + jr .asm_1167af + +.asm_1167dc + ld a, $ff + ld [wc311], a + ld a, $fd + +.asm_1167e3 + ld [wc310], a + ld a, [hl] + ld [wc313], a + ret + +; 1167eb + +Unknown_1167eb: + dw Unknown_1167fb + dw Unknown_116808 + dw Unknown_116867 + dw Unknown_116870 + dw Unknown_116815 + dw Unknown_11683e + dw Unknown_116881 + dw Unknown_1168ae + +Unknown_1167fb: ; 1167fb + db $0, $6 + db $1, $4 + db $2, $4 + db $3, $6 + db $2, $4 + db $1, $4 + db $fe + +Unknown_116808: ; 116808 + db $4, $6 + db $5, $4 + db $6, $4 + db $7, $6 + db $6, $4 + db $5, $4 + db $fe + +Unknown_116815: ; 116815 + db $fd, $20 + db $8, $c + db $9, $24 + db $a, $4 + db $b, $8 + db $a, $4 + db $9, $6 + db $c, $4 + db $d, $8 + db $c, $5 + db $9, $24 + db $a, $4 + db $b, $8 + db $a, $4 + db $9, $6 + db $c, $4 + db $d, $8 + db $c, $5 + db $9, $8 + db $8, $4 + db $ff + +Unknown_11683e: ; 11683e + db $fd, $20 + db $e, $c + db $f, $24 + db $10, $4 + db $11, $8 + db $10, $4 + db $f, $6 + db $12, $4 + db $13, $8 + db $12, $5 + db $f, $24 + db $10, $4 + db $11, $8 + db $10, $4 + db $f, $6 + db $12, $4 + db $13, $8 + db $12, $5 + db $f, $8 + db $e, $4 + db $ff + +Unknown_116867: ; 116867 + db $14, $8 + db $15, $8 + db $16, $8 + db $15, $8 + db $fe + +Unknown_116870: ; 116870 + db $17, $5 + db $18, $5 + db $19, $5 + db $1a, $5 + db $1b, $5 + db $1a, $5 + db $19, $5 + db $18, $5 + db $fe + +Unknown_116881: ; 116881 + db $1c, $7 + db $1d, $7 + db $1e, $a + db $1f, $a + db $20, $5 + db $21, $5 + db $20, $5 + db $21, $5 + db $20, $18 + db $22, $4 + db $23, $2 + db $22, $2 + db $23, $2 + db $22, $1 + db $23, $1 + db $22, $1 + db $23, $4 + db $fd, $1 + db $23, $1 + db $fd, $2 + db $23, $2 + db $fd, $40 + db $ff + +Unknown_1168ae: ; 1168ae + db $24, $4 + db $25, $4 + db $26, $4 + db $27, $4 + db $28, $4 + db $29, $4 + db $2a, $4 + db $2b, $4 + db $2c, $4 + db $2d, $4 + db $2e, $4 + db $fe +; 1168c5 + +Unknown_1168c5: + dw Unknown_116923 + dw Unknown_116960 + dw Unknown_1169a1 + dw Unknown_1169de + dw Unknown_116a1b + dw Unknown_116a58 + dw Unknown_116a99 + dw Unknown_116ad6 + dw Unknown_116d1b + dw Unknown_116d4c + dw Unknown_116d85 + dw Unknown_116dbe + dw Unknown_116df7 + dw Unknown_116e30 + dw Unknown_116e69 + dw Unknown_116e9a + dw Unknown_116ed3 + dw Unknown_116f0c + dw Unknown_116f45 + dw Unknown_116f7e + dw Unknown_116b13 + dw Unknown_116b54 + dw Unknown_116b95 + dw Unknown_116bd6 + dw Unknown_116c17 + dw Unknown_116c58 + dw Unknown_116c99 + dw Unknown_116cda + dw Unknown_116fb7 + dw Unknown_116fec + dw Unknown_117025 + dw Unknown_117056 + dw Unknown_117083 + dw Unknown_1170c0 + dw Unknown_1170fd + dw Unknown_11713a + dw Unknown_117177 + dw Unknown_11719c + dw Unknown_1171c1 + dw Unknown_1171e6 + dw Unknown_11720b + dw Unknown_117230 + dw Unknown_117255 + dw Unknown_11727a + dw Unknown_11729f + dw Unknown_1172c4 + dw Unknown_1172e9 + +Unknown_116923: ; 116923 + db $f + db $0, $0, $1, $a + db $0, $8, $2, $d + db $0, $10, $3, $d + db $0, $18, $4, $d + db $8, $0, $11, $a + db $8, $8, $12, $a + db $8, $10, $13, $a + db $8, $18, $14, $d + db $10, $0, $21, $a + db $10, $8, $22, $a + db $10, $10, $23, $a + db $10, $18, $24, $a + db $18, $0, $31, $a + db $18, $8, $32, $a + db $18, $10, $33, $a + +Unknown_116960: ; 116960 + db $10 + db $1, $0, $1, $a + db $1, $8, $2, $d + db $1, $10, $3, $d + db $1, $18, $4, $d + db $9, $0, $11, $a + db $9, $8, $12, $a + db $9, $10, $13, $a + db $9, $18, $14, $d + db $11, $0, $5, $a + db $11, $8, $6, $a + db $11, $10, $7, $a + db $11, $18, $34, $a + db $19, $0, $15, $a + db $19, $8, $16, $a + db $19, $10, $17, $a + db $19, $18, $35, $a + +Unknown_1169a1: ; 1169a1 + db $f + db $1, $0, $1, $a + db $1, $8, $2, $d + db $1, $10, $3, $d + db $1, $18, $4, $d + db $9, $0, $11, $a + db $9, $8, $12, $a + db $9, $10, $13, $a + db $9, $18, $14, $d + db $11, $0, $25, $a + db $11, $8, $26, $a + db $11, $10, $27, $a + db $11, $18, $34, $a + db $19, $8, $36, $a + db $19, $10, $37, $a + db $19, $18, $35, $a + +Unknown_1169de: ; 1169de + db $f + db $0, $0, $1, $a + db $0, $8, $2, $d + db $0, $10, $3, $d + db $0, $18, $4, $d + db $8, $0, $11, $a + db $8, $8, $12, $a + db $8, $10, $13, $a + db $8, $18, $14, $d + db $10, $0, $10, $a + db $10, $8, $20, $a + db $10, $10, $30, $a + db $10, $18, $24, $a + db $18, $0, $31, $a + db $18, $8, $32, $a + db $18, $10, $33, $a + +Unknown_116a1b: ; 116a1b + db $f + db $0, $0, $4, $2d + db $0, $8, $3, $2d + db $0, $10, $2, $2d + db $0, $18, $1, $2a + db $8, $0, $14, $2d + db $8, $8, $13, $2a + db $8, $10, $12, $2a + db $8, $18, $11, $2a + db $10, $0, $24, $2a + db $10, $8, $23, $2a + db $10, $10, $22, $2a + db $10, $18, $21, $2a + db $18, $8, $33, $2a + db $18, $10, $32, $2a + db $18, $18, $31, $2a + +Unknown_116a58: ; 116a58 + db $10 + db $1, $0, $4, $2d + db $1, $8, $3, $2d + db $1, $10, $2, $2d + db $1, $18, $1, $2a + db $9, $0, $14, $2d + db $9, $8, $13, $2a + db $9, $10, $12, $2a + db $9, $18, $11, $2a + db $11, $0, $34, $2a + db $11, $8, $7, $2a + db $11, $10, $6, $2a + db $11, $18, $5, $2a + db $19, $0, $35, $2a + db $19, $8, $17, $2a + db $19, $10, $16, $2a + db $19, $18, $15, $2a + +Unknown_116a99: ; 116a99 + db $f + db $1, $0, $4, $2d + db $1, $8, $3, $2d + db $1, $10, $2, $2d + db $1, $18, $1, $2a + db $9, $0, $14, $2d + db $9, $8, $13, $2a + db $9, $10, $12, $2a + db $9, $18, $11, $2a + db $11, $0, $34, $2a + db $11, $8, $27, $2a + db $11, $10, $26, $2a + db $11, $18, $25, $2a + db $19, $0, $35, $2a + db $19, $8, $37, $2a + db $19, $10, $36, $2a + +Unknown_116ad6: ; 116ad6 + db $f + db $0, $0, $4, $2d + db $0, $8, $3, $2d + db $0, $10, $2, $2d + db $0, $18, $1, $2a + db $8, $0, $14, $2d + db $8, $8, $13, $2a + db $8, $10, $12, $2a + db $8, $18, $11, $2a + db $10, $0, $24, $2a + db $10, $8, $30, $2a + db $10, $10, $20, $2a + db $10, $18, $10, $2a + db $18, $8, $33, $2a + db $18, $10, $32, $2a + db $18, $18, $31, $2a + +Unknown_116b13: ; 116b13 + db $10 + db $18, $0, $0, $b + db $18, $8, $8, $b + db $18, $10, $5c, $b + db $18, $18, $0, $b + db $10, $0, $0, $b + db $10, $8, $5d, $b + db $10, $10, $5e, $b + db $10, $18, $0, $b + db $8, $0, $50, $b + db $8, $8, $51, $b + db $8, $10, $52, $b + db $8, $18, $50, $2b + db $0, $0, $43, $b + db $0, $8, $44, $b + db $0, $10, $44, $2b + db $0, $18, $43, $2b + +Unknown_116b54: ; 116b54 + db $10 + db $19, $0, $0, $b + db $19, $8, $18, $b + db $19, $10, $c, $b + db $19, $18, $0, $b + db $11, $0, $42, $b + db $11, $8, $3a, $b + db $11, $10, $3a, $2b + db $11, $18, $42, $2b + db $9, $0, $58, $b + db $9, $8, $45, $b + db $9, $10, $45, $2b + db $9, $18, $58, $2b + db $1, $0, $d, $b + db $1, $8, $44, $b + db $1, $10, $44, $2b + db $1, $18, $d, $2b + +Unknown_116b95: ; 116b95 + db $10 + db $18, $0, $0, $b + db $18, $8, $5c, $2b + db $18, $10, $8, $2b + db $18, $18, $0, $b + db $10, $0, $0, $b + db $10, $8, $5e, $2b + db $10, $10, $5d, $2b + db $10, $18, $0, $b + db $8, $0, $50, $b + db $8, $8, $52, $2b + db $8, $10, $51, $2b + db $8, $18, $50, $2b + db $0, $0, $43, $b + db $0, $8, $44, $b + db $0, $10, $44, $2b + db $0, $18, $43, $2b + +Unknown_116bd6: ; 116bd6 + db $10 + db $18, $0, $0, $a + db $18, $8, $56, $a + db $18, $10, $57, $a + db $18, $18, $0, $a + db $10, $0, $64, $a + db $10, $8, $4a, $a + db $10, $10, $4b, $a + db $10, $18, $71, $a + db $8, $0, $54, $a + db $8, $8, $55, $a + db $8, $10, $55, $2a + db $8, $18, $54, $2a + db $0, $0, $48, $a + db $0, $8, $49, $a + db $0, $10, $49, $2a + db $0, $18, $48, $2a + +Unknown_116c17: ; 116c17 + db $10 + db $19, $0, $0, $a + db $19, $8, $76, $a + db $19, $10, $77, $a + db $19, $18, $0, $a + db $11, $0, $64, $a + db $11, $8, $69, $a + db $11, $10, $6a, $a + db $11, $18, $6b, $a + db $9, $0, $6f, $a + db $9, $8, $70, $a + db $9, $10, $70, $2a + db $9, $18, $6f, $2a + db $1, $0, $63, $a + db $1, $8, $19, $a + db $1, $10, $19, $2a + db $1, $18, $63, $2a + +Unknown_116c58: ; 116c58 + db $10 + db $1a, $0, $6c, $a + db $1a, $8, $6d, $a + db $1a, $10, $6e, $a + db $1a, $18, $0, $a + db $12, $0, $5f, $a + db $12, $8, $60, $a + db $12, $10, $61, $a + db $12, $18, $62, $a + db $a, $0, $53, $a + db $a, $8, $55, $a + db $a, $10, $55, $2a + db $a, $18, $53, $2a + db $2, $0, $46, $a + db $2, $8, $47, $a + db $2, $10, $47, $2a + db $2, $18, $46, $2a + +Unknown_116c99: ; 116c99 + db $10 + db $19, $0, $0, $2a + db $19, $8, $77, $2a + db $19, $10, $76, $2a + db $19, $18, $0, $2a + db $11, $0, $6b, $2a + db $11, $8, $6a, $2a + db $11, $10, $69, $2a + db $11, $18, $64, $2a + db $9, $0, $6f, $a + db $9, $8, $70, $a + db $9, $10, $70, $2a + db $9, $18, $6f, $2a + db $1, $0, $63, $a + db $1, $8, $19, $a + db $1, $10, $19, $2a + db $1, $18, $63, $2a + +Unknown_116cda: ; 116cda + db $10 + db $18, $0, $0, $a + db $18, $8, $57, $2a + db $18, $10, $56, $2a + db $18, $18, $0, $a + db $10, $0, $71, $2a + db $10, $8, $4b, $2a + db $10, $10, $4a, $2a + db $10, $18, $64, $2a + db $8, $0, $54, $a + db $8, $8, $55, $a + db $8, $10, $55, $2a + db $8, $18, $54, $2a + db $0, $0, $48, $a + db $0, $8, $49, $a + db $0, $10, $49, $2a + db $0, $18, $48, $2a + +Unknown_116d1b: ; 116d1b + db $c + db $0, $0, $38, $4a + db $0, $8, $39, $4a + db $0, $10, $39, $6a + db $0, $18, $38, $6a + db $8, $0, $28, $4a + db $8, $8, $29, $4a + db $8, $10, $29, $6a + db $8, $18, $28, $6a + db $10, $0, $9, $4d + db $10, $8, $19, $4a + db $10, $10, $19, $6a + db $10, $18, $9, $6d + +Unknown_116d4c: ; 116d4c + db $e + db $0, $8, $3b, $4a + db $0, $10, $3b, $6a + db $8, $0, $2a, $4a + db $8, $8, $2b, $4a + db $8, $10, $2b, $6a + db $8, $18, $2a, $6a + db $10, $0, $1a, $4a + db $10, $8, $1b, $4a + db $10, $10, $1b, $6a + db $10, $18, $1a, $6a + db $18, $0, $a, $4a + db $18, $8, $b, $4a + db $18, $10, $b, $6a + db $18, $18, $a, $6a + +Unknown_116d85: ; 116d85 + db $e + db $0, $0, $35, $2a + db $0, $8, $3c, $4a + db $0, $10, $3d, $4a + db $0, $18, $3e, $4a + db $8, $0, $2c, $4a + db $8, $8, $2d, $4a + db $8, $10, $2e, $4a + db $8, $18, $2f, $4a + db $10, $0, $1c, $4a + db $10, $8, $1d, $4a + db $10, $10, $1e, $4d + db $10, $18, $1f, $4d + db $18, $10, $e, $4d + db $18, $18, $f, $4a + +Unknown_116dbe: ; 116dbe + db $e + db $0, $0, $65, $4a + db $0, $8, $66, $4a + db $0, $10, $67, $4a + db $0, $18, $68, $4a + db $8, $8, $59, $4a + db $8, $10, $5a, $4a + db $8, $18, $5b, $4a + db $10, $0, $4c, $4a + db $10, $8, $4d, $4d + db $10, $10, $4e, $4d + db $10, $18, $4f, $4a + db $18, $0, $3f, $4d + db $18, $8, $40, $4d + db $18, $10, $41, $4d + +Unknown_116df7: ; 116df7 + db $e + db $0, $0, $3e, $6a + db $0, $8, $3d, $6a + db $0, $10, $3c, $6a + db $0, $18, $35, $a + db $8, $0, $2f, $6a + db $8, $8, $2e, $6a + db $8, $10, $2d, $6a + db $8, $18, $2c, $6a + db $10, $0, $1f, $6d + db $10, $8, $1e, $6d + db $10, $10, $1d, $6a + db $10, $18, $1c, $6a + db $18, $0, $f, $6a + db $18, $8, $e, $6d + +Unknown_116e30: ; 116e30 + db $e + db $0, $0, $68, $6a + db $0, $8, $67, $6a + db $0, $10, $66, $6a + db $0, $18, $65, $6a + db $8, $0, $5b, $6a + db $8, $8, $5a, $6a + db $8, $10, $59, $6a + db $10, $0, $4f, $6a + db $10, $8, $4e, $6d + db $10, $10, $4d, $6d + db $10, $18, $4c, $6a + db $18, $8, $41, $6d + db $18, $10, $40, $6d + db $18, $18, $3f, $6d + +Unknown_116e69: ; 116e69 + db $c + db $8, $0, $9, $d + db $8, $8, $19, $a + db $8, $10, $19, $2a + db $8, $18, $9, $2d + db $10, $0, $28, $a + db $10, $8, $29, $a + db $10, $10, $29, $2a + db $10, $18, $28, $2a + db $18, $0, $38, $a + db $18, $8, $39, $a + db $18, $10, $39, $2a + db $18, $18, $38, $2a + +Unknown_116e9a: ; 116e9a + db $e + db $0, $0, $a, $a + db $0, $8, $b, $a + db $0, $10, $b, $2a + db $0, $18, $a, $2a + db $8, $0, $1a, $a + db $8, $8, $1b, $a + db $8, $10, $1b, $2a + db $8, $18, $1a, $2a + db $10, $0, $2a, $a + db $10, $8, $2b, $a + db $10, $10, $2b, $2a + db $10, $18, $2a, $2a + db $18, $8, $3b, $a + db $18, $10, $3b, $2a + +Unknown_116ed3: ; 116ed3 + db $e + db $0, $10, $e, $d + db $0, $18, $f, $a + db $8, $0, $1c, $a + db $8, $8, $1d, $a + db $8, $10, $1e, $d + db $8, $18, $1f, $d + db $10, $0, $2c, $a + db $10, $8, $2d, $a + db $10, $10, $2e, $a + db $10, $18, $2f, $a + db $18, $0, $35, $6a + db $18, $8, $3c, $a + db $18, $10, $3d, $a + db $18, $18, $3e, $a + +Unknown_116f0c: ; 116f0c + db $e + db $0, $0, $3f, $d + db $0, $8, $40, $d + db $0, $10, $41, $d + db $8, $0, $4c, $a + db $8, $8, $4d, $d + db $8, $10, $4e, $d + db $8, $18, $4f, $a + db $10, $8, $59, $a + db $10, $10, $5a, $a + db $10, $18, $5b, $a + db $18, $0, $65, $a + db $18, $8, $66, $a + db $18, $10, $67, $a + db $18, $18, $68, $a + +Unknown_116f45: ; 116f45 + db $e + db $0, $0, $f, $2a + db $0, $8, $e, $2d + db $8, $0, $1f, $2d + db $8, $8, $1e, $2d + db $8, $10, $1d, $2a + db $8, $18, $1c, $2a + db $10, $0, $2f, $2a + db $10, $8, $2e, $2a + db $10, $10, $2d, $2a + db $10, $18, $2c, $2a + db $18, $0, $3e, $2a + db $18, $8, $3d, $2a + db $18, $10, $3c, $2a + db $18, $18, $35, $4a + +Unknown_116f7e: ; 116f7e + db $e + db $0, $8, $41, $2d + db $0, $10, $40, $2d + db $0, $18, $3f, $2d + db $8, $0, $4f, $2a + db $8, $8, $4e, $2d + db $8, $10, $4d, $2d + db $8, $18, $4c, $2a + db $10, $0, $5b, $2a + db $10, $8, $5a, $2a + db $10, $10, $59, $2a + db $18, $0, $68, $2a + db $18, $8, $67, $2a + db $18, $10, $66, $2a + db $18, $18, $65, $2a + +Unknown_116fb7: ; 116fb7 + db $d + db $fa, $0, $72, $a + db $fa, $8, $73, $d + db $fa, $10, $74, $d + db $fa, $18, $75, $d + db $2, $0, $81, $a + db $2, $8, $82, $a + db $2, $10, $83, $a + db $2, $18, $84, $a + db $a, $0, $91, $a + db $a, $8, $92, $a + db $a, $10, $93, $a + db $a, $18, $94, $a + db $12, $10, $a3, $a + +Unknown_116fec: ; 116fec + db $e + db $fd, $0, $85, $d + db $fd, $8, $86, $d + db $5, $0, $95, $d + db $5, $8, $96, $a + db $5, $10, $97, $a + db $5, $18, $98, $a + db $d, $0, $a5, $a + db $d, $8, $a6, $a + db $d, $10, $a7, $a + db $d, $18, $a8, $a + db $15, $0, $b3, $a + db $15, $8, $b4, $a + db $15, $10, $b5, $a + db $15, $18, $b6, $a + +Unknown_117025: ; 117025 + db $c + db $8, $0, $79, $d + db $8, $8, $7a, $d + db $8, $10, $7b, $a + db $8, $18, $7c, $a + db $10, $0, $89, $d + db $10, $8, $8a, $a + db $10, $10, $8b, $a + db $10, $18, $8c, $a + db $18, $0, $99, $a + db $18, $8, $9a, $a + db $18, $10, $9b, $a + db $18, $18, $9c, $a + +Unknown_117056: ; 117056 + db $b + db $8, $0, $7d, $a + db $8, $8, $7e, $d + db $8, $10, $7f, $d + db $8, $18, $80, $a + db $10, $0, $8d, $a + db $10, $8, $8e, $a + db $10, $10, $8f, $a + db $10, $18, $90, $a + db $18, $8, $9e, $a + db $18, $10, $9f, $a + db $18, $18, $a0, $a + +Unknown_117083: ; 117083 + db $f + db $0, $0, $a1, $a + db $0, $8, $a2, $a + db $0, $10, $a2, $2a + db $0, $18, $a1, $2a + db $8, $0, $b1, $a + db $8, $8, $b2, $d + db $8, $10, $b2, $2d + db $8, $18, $b1, $2a + db $10, $0, $ab, $a + db $10, $8, $ac, $a + db $10, $10, $ac, $2a + db $10, $18, $ab, $2a + db $18, $8, $a4, $a + db $18, $10, $87, $a + db $18, $18, $88, $a + +Unknown_1170c0: ; 1170c0 + db $f + db $0, $0, $a1, $a + db $0, $8, $a2, $d + db $0, $10, $a2, $2a + db $0, $18, $a1, $2a + db $8, $0, $b1, $a + db $8, $8, $78, $d + db $8, $10, $78, $2d + db $8, $18, $b1, $2a + db $10, $0, $ab, $a + db $10, $8, $ac, $a + db $10, $10, $ac, $2a + db $10, $18, $ab, $2a + db $18, $8, $a4, $a + db $18, $10, $87, $a + db $18, $18, $88, $a + +Unknown_1170fd: ; 1170fd + db $f + db $0, $0, $a9, $a + db $0, $8, $aa, $a + db $0, $10, $aa, $2a + db $0, $18, $a9, $2a + db $8, $0, $b7, $a + db $8, $8, $b8, $a + db $8, $10, $b8, $2a + db $8, $18, $b7, $2a + db $10, $0, $ab, $a + db $10, $8, $ac, $a + db $10, $10, $ac, $2a + db $10, $18, $ad, $a + db $18, $8, $a4, $a + db $18, $10, $ba, $a + db $18, $18, $bb, $a + +Unknown_11713a: ; 11713a + db $f + db $0, $0, $ae, $c + db $0, $8, $af, $c + db $0, $10, $af, $2c + db $0, $18, $ae, $2c + db $8, $0, $bc, $c + db $8, $8, $bd, $c + db $8, $10, $bd, $2c + db $8, $18, $bc, $2c + db $10, $0, $bf, $c + db $10, $8, $9d, $c + db $10, $10, $9d, $2c + db $10, $18, $b0, $c + db $18, $8, $b9, $c + db $18, $10, $c0, $c + db $18, $18, $be, $c + +Unknown_117177: ; 117177 + db $9 + db $14, $0, $1f, $6 + db $14, $8, $20, $6 + db $14, $10, $21, $6 + db $c, $0, $10, $6 + db $c, $8, $11, $6 + db $c, $10, $12, $6 + db $4, $0, $1, $6 + db $4, $8, $2, $6 + db $4, $10, $3, $6 + +Unknown_11719c: ; 11719c + db $9 + db $14, $0, $22, $6 + db $14, $8, $23, $6 + db $14, $10, $24, $6 + db $c, $0, $13, $6 + db $c, $8, $14, $6 + db $c, $10, $15, $6 + db $4, $0, $4, $6 + db $4, $8, $5, $6 + db $4, $10, $6, $6 + +Unknown_1171c1: ; 1171c1 + db $9 + db $14, $0, $25, $6 + db $14, $8, $26, $6 + db $14, $10, $27, $6 + db $c, $0, $16, $6 + db $c, $8, $17, $6 + db $c, $10, $18, $6 + db $4, $0, $7, $6 + db $4, $8, $8, $6 + db $4, $10, $9, $6 + +Unknown_1171e6: ; 1171e6 + db $9 + db $14, $0, $28, $6 + db $14, $8, $29, $6 + db $14, $10, $2a, $6 + db $c, $0, $19, $6 + db $c, $8, $1a, $6 + db $c, $10, $1b, $6 + db $4, $0, $a, $6 + db $4, $8, $b, $6 + db $4, $10, $c, $6 + +Unknown_11720b: ; 11720b + db $9 + db $14, $0, $2b, $6 + db $14, $8, $2c, $6 + db $14, $10, $2d, $6 + db $c, $0, $1c, $6 + db $c, $8, $1d, $6 + db $c, $10, $1e, $6 + db $4, $0, $d, $6 + db $4, $8, $e, $6 + db $4, $10, $f, $6 + +Unknown_117230: ; 117230 + db $9 + db $14, $0, $47, $6 + db $14, $8, $48, $6 + db $14, $10, $49, $6 + db $c, $0, $3b, $6 + db $c, $8, $3c, $6 + db $c, $10, $3b, $26 + db $4, $0, $2e, $6 + db $4, $8, $2f, $6 + db $4, $10, $30, $6 + +Unknown_117255: ; 117255 + db $9 + db $14, $0, $35, $6 + db $14, $8, $4a, $6 + db $14, $10, $35, $6 + db $c, $0, $3d, $6 + db $c, $8, $35, $6 + db $c, $10, $3d, $26 + db $4, $0, $31, $6 + db $4, $8, $32, $6 + db $4, $10, $31, $26 + +Unknown_11727a: ; 11727a + db $9 + db $14, $0, $4b, $6 + db $14, $8, $4c, $6 + db $14, $10, $4d, $6 + db $c, $0, $3e, $6 + db $c, $8, $3f, $6 + db $c, $10, $40, $6 + db $4, $0, $33, $6 + db $4, $8, $34, $6 + db $4, $10, $35, $6 + +Unknown_11729f: ; 11729f + db $9 + db $14, $0, $4e, $6 + db $14, $8, $4f, $6 + db $14, $10, $50, $6 + db $c, $0, $41, $6 + db $c, $8, $42, $6 + db $c, $10, $43, $6 + db $4, $0, $35, $6 + db $4, $8, $36, $6 + db $4, $10, $37, $6 + +Unknown_1172c4: ; 1172c4 + db $9 + db $14, $0, $51, $6 + db $14, $8, $52, $6 + db $14, $10, $35, $6 + db $c, $0, $44, $6 + db $c, $8, $45, $6 + db $c, $10, $46, $6 + db $4, $0, $38, $6 + db $4, $8, $39, $6 + db $4, $10, $3a, $6 + +Unknown_1172e9: ; 1172e9 + db $9 + db $10, $0, $0, $2 + db $10, $8, $0, $2 + db $10, $10, $0, $2 + db $8, $0, $0, $2 + db $8, $8, $0, $2 + db $c, $10, $1f, $6 + db $0, $0, $0, $2 + db $0, $8, $0, $2 + db $4, $10, $10, $6 +; 11730e + +Palette_11730e: + RGB 31, 31, 31 + RGB 7, 5, 4 + RGB 31, 28, 4 + RGB 31, 5, 5 + RGB 31, 31, 31 + RGB 7, 5, 4 + RGB 31, 23, 0 + RGB 31, 28, 4 + RGB 31, 31, 31 + RGB 16, 19, 31 + RGB 17, 31, 31 + RGB 31, 31, 31 + RGB 5, 5, 5 + RGB 7, 5, 4 + RGB 31, 28, 4 + RGB 19, 11, 6 + RGB 31, 31, 31 + RGB 3, 15, 31 + RGB 4, 25, 25 + RGB 0, 7, 12 + RGB 31, 31, 31 + RGB 0, 16, 0 + RGB 0, 16, 0 + RGB 0, 16, 0 + RGB 4, 11, 22 + RGB 0, 16, 0 + RGB 0, 16, 0 + RGB 0, 16, 0 + RGB 22, 11, 8 + RGB 0, 16, 0 + RGB 0, 16, 0 + RGB 0, 16, 0 + +Palette_11734e: + RGB 31, 30, 30 + RGB 2, 0, 0 + RGB 10, 9, 9 + RGB 15, 14, 14 + +Unknown_117356: ; 117356 + db $c9, $c9, $c9, $c9, $c9, $c9, $c9, $c9, $c9, $c9, $c9, $c9, $c9, $c9, $c9, $c9 + db $c9, $c9, $c9, $c9, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1 + db $c5, $c6, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2 + db $c2, $c2, $c6, $c5, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1 + db $c3, $c4, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2 + db $c2, $c2, $c4, $c3, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1 + db $c3, $c4, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2 + db $c2, $c2, $c4, $c3, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1 + db $c3, $c4, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2 + db $c2, $c2, $c4, $c3, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1 + db $c3, $c4, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2 + db $c2, $c2, $c4, $c3, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1 + db $c3, $c4, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2 + db $c2, $c2, $c4, $c3, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1 + db $c3, $c4, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2 + db $c2, $c2, $c4, $c3, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1 + db $c3, $c4, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2 + db $c2, $c2, $c4, $c3, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1 + db $c3, $c4, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $d8, $c2, $c2, $d8, $c2, $c2, $c2 + db $c2, $c2, $c4, $c3, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1 + db $c7, $c8, $ca, $cb, $cc, $cd, $ce, $c2, $cf, $d0, $d1, $d2, $d3, $c2, $d4, $d5 + db $d6, $d7, $c8, $c7, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1 + db $c9, $c9, $c9, $c9, $c9, $c9, $c9, $c9, $c9, $c9, $c9, $c9, $c9, $c9, $c9, $c9 + db $c9, $c9, $c9, $c9, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1 + + db $8f, $8f, $8f, $8f, $8f, $8f, $8f, $8f, $8f, $8f, $8f, $8f, $8f, $8f, $8f, $8f + db $8f, $8f, $8f, $8f, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 + db $8f, $8f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f + db $0f, $0f, $af, $af, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 + db $8f, $8f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f + db $0f, $0f, $af, $af, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 + db $8f, $8f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f + db $0f, $0f, $af, $af, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 + db $8f, $8f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f + db $0f, $0f, $af, $af, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 + db $8f, $8f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f + db $0f, $0f, $af, $af, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 + db $8f, $8f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f + db $0f, $0f, $af, $af, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 + db $8f, $8f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f + db $0f, $0f, $af, $af, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 + db $8f, $8f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f + db $0f, $0f, $af, $af, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 + db $8f, $8f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $8f, $0f, $0f, $8f, $0f, $0f, $0f + db $0f, $0f, $af, $af, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 + db $8f, $8f, $8f, $8f, $8f, $8f, $8f, $0f, $8f, $8f, $8f, $8f, $8f, $0f, $8f, $8f + db $8f, $8f, $af, $af, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 + db $8f, $8f, $8f, $8f, $8f, $8f, $8f, $8f, $8f, $8f, $8f, $8f, $8f, $8f, $8f, $8f + db $8f, $8f, $8f, $8f, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 +; 117656 + + +SECTION "Mobile Stadium", ROMX + +Special_GiveOddEgg: ; 117656 + callba GiveOddEgg + ret + +; 11765d + +Function11765d: ; 11765d (45:765d) + ld a, [hInMenu] + push af + ld a, $1 + ld [hInMenu], a + call Function11766b + pop af + ld [hInMenu], a + ret + +Function11766b: ; 11766b (45:766b) + call Function117699 + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + call Function1176ee + ld a, $5 + call GetSRAMBank + ld hl, $b1f3 + ld de, wcd49 + ld bc, $8 + call CopyBytes + ld de, $c708 + ld bc, $11 + call CopyBytes + call CloseSRAM + pop af + ld [rSVBK], a + ret + +Function117699: ; 117699 (45:7699) + ld a, $5 + call GetSRAMBank + ld hl, wcd49 + ld de, $b1f3 + ld bc, $8 + call CopyBytes + ld hl, $c708 + ld bc, $11 + call CopyBytes + call CloseSRAM + xor a + ld [wcd49], a + ld [wcd4a], a + ld [wcd4b], a + ld [wcd4c], a + ld [wcd4d], a + ld [wcd4e], a + ld [wcd4f], a + ld hl, $c708 + ld bc, $11 + call ByteFill + call ClearBGPalettes + call ClearSprites + callba Function171c87 + callba ReloadMapPart + callba ClearSpriteAnims + ret + +Function1176ee: ; 1176ee (45:76ee) +.loop + call JoyTextDelay + ld a, [wcd49] + bit 7, a + jr nz, .quit + call Function117719 + callba PlaySpriteAnimations + callba ReloadMapPart + jr .loop + +.quit + callba ClearSpriteAnims + call ClearBGPalettes + call ClearScreen + call ClearSprites + ret + +Function117719: ; 117719 (45:7719) + ld a, [wcd49] + ld e, a + ld d, 0 + ld hl, Jumptable_117728 + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp hl + +Jumptable_117728: ; 117728 (45:7728) + dw Function117738 + dw Function117764 + dw Function1178aa + dw Function1178e8 + dw Function117942 + dw Function117976 + dw Function117984 + dw Function1179a7 + + +Function117738: ; 117738 (45:7738) + callba Function171ccd + depixel 6, 3 + ld a, $1d + call _InitSpriteAnimStruct + ld hl, $c + add hl, bc + ld a, $6 + ld [hl], a + depixel 9, 4 + ld a, $1d + call _InitSpriteAnimStruct + ld hl, $c + add hl, bc + ld a, $7 + ld [hl], a + ld a, $3 + ld [wcd23], a + jp MobilePassword_IncrementJumptable + +Function117764: ; 117764 (45:7764) + ld a, [wcd4a] + cp $10 + jr nz, .asm_11776f + ld a, $1 + jr .asm_117770 + +.asm_11776f + xor a +.asm_117770 + ld [wcd24], a + ld hl, hJoyPressed ; $ffa7 + ld a, [hl] + and SELECT + jr nz, Function117764_select + ld a, [hl] + and START + jr nz, Function117764_start + ld a, [hl] + and A_BUTTON + jp nz, Function117764_a_button + ld a, [hl] + and B_BUTTON + jr nz, Function117764_b_button + ld hl, hJoyLast + ld a, [hl] + and D_UP + jr nz, Function117764_d_up + ld a, [hl] + and D_DOWN + jr nz, Function117764_d_down + ld a, [hl] + and D_LEFT + jp nz, Function117764_d_left + ld a, [hl] + and D_RIGHT + jp nz, Function117764_d_right + ret + +Function117764_select: ; 1177a5 (45:77a5) + callba Function171cf0 + ret + +Function117764_start: ; 1177ac (45:77ac) + ld a, $2 + ld [wcd4c], a + ld a, $4 + ld [wcd4d], a + ret + +Function1177b7: ; 1177b7 (45:77b7) + ld a, $3 + ld [wcd24], a + ld a, [wcd4a] + and a + jr z, .asm_1177c5 + jp MobilePassword_IncrementJumptable + +.asm_1177c5 + ld a, $6 + ld [wcd49], a + ret + +Function1177cb: ; 1177cb (45:77cb) + ld a, $80 + ld [wcd49], a + ld [ScriptVar], a + jp MobilePassword_IncrementJumptable + +Function117764_b_button: ; 1177d6 (45:77d6) + call PlayClickSFX + ld a, [wcd4a] + and a + ret z + dec a + ld [wcd4a], a + ld e, a + ld d, $0 + ld hl, $c708 + add hl, de + xor a + ld [hl], a + hlcoord 2, 4 + add hl, de + ld [hl], a + ret + +Function117764_d_up: ; 1177f1 (45:77f1) + ld a, [wcd4d] + and a + ret z + dec a + ld [wcd4d], a + cp $3 + ret nz + ld a, [wcd4c] + ld e, a + sla a + sla a + add e +Function117764_d_vertical_load: ; 117806 (45:7806) + ld [wcd4c], a + ret + +Function117764_d_down: ; 11780a (45:780a) + ld a, [wcd4d] + cp $4 + ret z + inc a + ld [wcd4d], a + cp $4 + ret nz + ld a, [wcd4c] + cp $a + jr nc, .asm_117825 + cp $5 + jr nc, .asm_117829 + xor a + jr Function117764_d_vertical_load + +.asm_117825 + ld a, $2 + jr Function117764_d_vertical_load + +.asm_117829 + ld a, $1 + jr Function117764_d_vertical_load + +Function117764_d_left: ; 11782d (45:782d) + ld a, [wcd4c] + and a + ret z + dec a + ld [wcd4c], a + ret + +Function117764_d_right: ; 117837 (45:7837) + ld e, $d + ld a, [wcd4d] + cp $4 + jr nz, .wrap + ld e, $2 +.wrap + ld a, [wcd4c] + cp e + ret z + inc a + ld [wcd4c], a + ret + +Function117764_a_button: ; 11784c (45:784c) + call PlayClickSFX + ld a, [wcd4d] + cp $4 + jr nz, .not_4 + ld a, [wcd4c] + cp $2 + jp z, Function1177b7 + cp $1 + jp z, Function1177cb + jp Function117764_select + +.not_4 + ld a, [wcd4a] + ld e, a + cp $10 + jp z, Function117764_start + inc a + ld [wcd4a], a + ld d, $0 + ld a, [wcd4b] + and a + jr nz, .ascii_symbols + ld hl, Unknown_117a0f + jr .got_ascii + +.ascii_symbols + ld hl, Unknown_117a47 +.got_ascii + push de + ld a, [wcd4c] + ld b, a + ld a, [wcd4d] + ld c, $e + call SimpleMultiply + add b + ld c, a + ld b, $0 + add hl, bc + ld a, [hl] + ld hl, $c708 + add hl, de + ld [hl], a + pop de + hlcoord 2, 4 + add hl, de + sub $20 + ld [hl], a + ld a, e + cp $f + ret nz + jp Function117764_start + +Function1178aa: ; 1178aa (45:78aa) + ld hl, MenuDataHeader_1179b5 + call LoadMenuDataHeader + call MenuBox + call MenuBoxCoord2Tile + ld hl, MenuDataHeader_1179bd + call LoadMenuDataHeader + call MenuBox + call MenuBoxCoord2Tile + callba ReloadMapPart + hlcoord 16, 8 + ld de, YessNoString_1179c5 + call PlaceString + hlcoord 15, 10 + ld a, "▶" + ld [hl], a + hlcoord 1, 14 + ld de, AskSavePasswordString + call PlaceString + ld a, $1 + ld [wcd4e], a + jp MobilePassword_IncrementJumptable + +Function1178e8: ; 1178e8 (45:78e8) + ld a, [hJoyPressed] + cp B_BUTTON + jr z, .b_button + cp A_BUTTON + jr z, .a_button + cp D_DOWN + jr z, .d_down + cp D_UP + ret nz + ld a, [wcd4e] + and a + ret z + dec a + ld [wcd4e], a + hlcoord 15, 8 + ld a, "▶" + ld [hl], a + hlcoord 15, 10 + ld a, " " + ld [hl], a + ret + +.d_down + ld a, [wcd4e] + and a + ret nz + inc a + ld [wcd4e], a + hlcoord 15, 8 + ld a, " " + ld [hl], a + hlcoord 15, 10 + ld a, "▶" + ld [hl], a + ret + +.a_button + call PlayClickSFX + ld a, [wcd4e] + and a + jr nz, .b_button + call ExitMenu + ld a, $1 + ld [wcd4f], a + jp MobilePassword_IncrementJumptable + +.b_button + call ExitMenu + call ExitMenu + jp MobilePassword_IncrementJumptable + +Function117942: ; 117942 (45:7942) + call SpeechTextBox + hlcoord 1, 14 + ld de, SavedPasswordString + call PlaceString + ld a, $1e + ld [wcd4e], a + ld a, BANK(sMobileLoginPassword) + call GetSRAMBank + ld a, [wcd4f] + ld [sMobileLoginPassword], a + ld hl, $c708 + ld de, sMobileLoginPassword + 1 + ld bc, MOBILE_LOGIN_PASSWORD_LENGTH + call CopyBytes + call CloseSRAM + ld a, [wcd4f] + and a + jr z, asm_11797e + call MobilePassword_IncrementJumptable + +Function117976: ; 117976 (45:7976) + ld hl, wcd4e + dec [hl] + ret nz + call ExitMenu +asm_11797e: ; 11797e (45:797e) + ld a, $80 + ld [wcd49], a + ret + +Function117984: ; 117984 (45:7984) + ld hl, MenuDataHeader_1179b5 + call LoadMenuDataHeader + call MenuBox + call MenuBoxCoord2Tile + callba ReloadMapPart + hlcoord 1, 14 + ld de, NotAPokemonPasswordString + call PlaceString + ld a, $1e + ld [wcd4e], a + call MobilePassword_IncrementJumptable + +Function1179a7: ; 1179a7 (45:79a7) + ld hl, wcd4e + dec [hl] + ret nz + call ExitMenu + ld a, $1 + ld [wcd49], a + ret + +; 1179b5 (45:79b5) + +MenuDataHeader_1179b5: ; 1179b5 + db $40 ; flags + db 12, 0 ; start coords + db 17, 19 ; end coords + dw NULL + db 0 ; default option +; 1179bd + +MenuDataHeader_1179bd: ; 1179bd + db $40 ; flags + db 7, 14 ; start coords + db 11, 19 ; end coords + dw NULL + db 0 ; default option +; 1179c5 + + +YessNoString_1179c5: ; 1179c5 + db "はい" + next "いいえ@" +; 1179cc + +AskSavePasswordString: ; 1179cc + db "こ%パスワード¯ほぞんして" + line "おきますか?@" +; 1179e1 + +NotAPokemonPasswordString: ; 1179e1 + db "パスワードにゅうりょく" + line "されていません!@" +; 1179f7 + +SavedPasswordString: ; 1179f7 + db "ログインパスワード¯ほぞん" + line "しました@" +; 117a0a + +MobilePassword_IncrementJumptable: ; 117a0a (45:7a0a) + ld hl, wcd49 + inc [hl] + ret + +; 117a0f (45:7a0f) + +Unknown_117a0f: +INCBIN "data/mobile/ascii-alpha.txt" + +Unknown_117a47: +INCBIN "data/mobile/ascii-sym.txt" +; 117a7f + + +; everything from here to the end of the bank is related to the +; Mobile Stadium option from the continue/newgame menu. +; XXX better function names +MobileStudium: ; 0x117a7f + ld a, [hInMenu] + push af + ld a, $1 + ld [hInMenu], a + call Function117a8d + pop af + ld [hInMenu], a + ret + +; 0x117a8d + +Function117a8d: ; 0x117a8d + call Function117a94 + call Function117acd + ret + +; 0x117a94 + +Function117a94: ; 0x117a94 + xor a + ld [wJumptableIndex], a + ld [wcf64], a + ld [wcf65], a + ld [wcf66], a + call ClearBGPalettes + call ClearSprites + callba Function172e78 + callba HDMATransferAttrMapAndTileMapToWRAMBank3 + ret + +; 0x117ab4 + +Function117ab4: ; 0x117ab4 + call ClearBGPalettes + call ClearSprites + callba Function172e78 + callba Function172eb9 + callba ReloadMapPart + ret + +; 0x117acd + +Function117acd: ; 0x117acd + call JoyTextDelay + ld a, [wJumptableIndex] + bit 7, a + jr nz, .asm_117ae2 + call Function117ae9 + callba HDMATransferAttrMapAndTileMapToWRAMBank3 + jr Function117acd + +.asm_117ae2 + call ClearBGPalettes + call ClearSprites + ret + +Function117ae9: ; 0x117ae9 + ld a, [wJumptableIndex] + ld e, a + ld d, $0 + ld hl, .Jumptable + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp hl + +.Jumptable: ; 0x117af8 + dw Function117b06 + dw Function117b14 + dw Function117b28 + dw Function117b31 + dw Function117b4f + dw Function117bb6 + dw Function117c4a + +Function117b06: + callba Function172eb9 + ld a, $10 + ld [wcf64], a + jp MobileStudium_JumptableIncrement + +Function117b14: + ld hl, wcf64 + dec [hl] + ret nz + ld hl, MenuDataHeader_117cbc + call LoadMenuDataHeader + call MenuBox + call MenuBoxCoord2Tile + jp MobileStudium_JumptableIncrement + +Function117b28: + ld hl, MobileStadiumEntryText + call PrintText + jp MobileStudium_JumptableIncrement + +Function117b31: + ld hl, MenuDataHeader_117cc4 + call LoadMenuDataHeader + call MenuBox + call MenuBoxCoord2Tile + hlcoord 16, 8 + ld de, YesNo117ccc + call PlaceString + hlcoord 15, 8 + ld a, "▶" + ld [hl], a + jp MobileStudium_JumptableIncrement + +Function117b4f: + ld a, [hJoyPressed] + cp B_BUTTON + jr z, .b_button + cp A_BUTTON + jr z, .a_button + cp D_DOWN + jr z, .d_down + cp D_UP + ret nz + ld a, [wcf64] + and a + ret z + dec a + ld [wcf64], a + hlcoord 15, 8 + ld a, "▶" + ld [hl], a + hlcoord 15, 10 + ld a, " " + ld [hl], a + ret + +.d_down + ld a, [wcf64] + and a + ret nz + inc a + ld [wcf64], a + hlcoord 15, 8 + ld a, " " + ld [hl], a + hlcoord 15, 10 + ld a, "▶" + ld [hl], a + ret + +.a_button + call PlayClickSFX + ld a, [wcf64] + and a + jr nz, .b_button + call ExitMenu + call ExitMenu + callba ReloadMapPart + jp MobileStudium_JumptableIncrement + +.b_button + call ExitMenu + call ExitMenu + callba ReloadMapPart + ld a, $80 + ld [wJumptableIndex], a + ret + +Function117bb6: + call Function117c89 + ld a, $1 + ld [hBGMapMode], a + callba Function118284 + call ClearSprites + ld a, [wc300] + and a + jr z, .asm_117be7 + cp $a + jr z, .asm_117be1 +.asm_117bd0 + ld a, $2 + ld [wc303], a + callba DisplayMobileError + ld a, $80 + ld [wJumptableIndex], a + ret + +.asm_117be1 + ld a, $80 + ld [wJumptableIndex], a + ret + +.asm_117be7 + ld a, [rSVBK] + push af + ld a, $3 + ld [rSVBK], a + ld a, [wcd89] + and $1 + jr nz, .asm_117c16 + ld a, [w3_d000] + cp $fe + jr nz, .asm_117c16 + ld a, [w3_d001] + cp $f + jr nz, .asm_117c16 + ld hl, w3_dfec + ld de, wcd69 + ld c, $10 +.asm_117c0b + ld a, [de] + inc de + cp [hl] + jr nz, .asm_117c16 + inc hl + dec c + jr nz, .asm_117c0b + jr .asm_117c20 + +.asm_117c16 + pop af + ld [rSVBK], a + ld a, $d3 + ld [wc300], a + jr .asm_117bd0 + +.asm_117c20 + pop af + ld [rSVBK], a + callba Function172eb9 + ld a, [rSVBK] + push af + ld a, $3 + ld [rSVBK], a + ld a, $7 + call GetSRAMBank + ld hl, w3_d002 + ld de, $b000 + ld bc, $1000 + call CopyBytes + call CloseSRAM + pop af + ld [rSVBK], a + jp MobileStudium_JumptableIncrement + +Function117c4a: + ld hl, MenuDataHeader_117cbc + call LoadMenuDataHeader + call MenuBox + call MenuBoxCoord2Tile + callba ReloadMapPart + ld hl, MobileStadiumSuccessText + call PrintText + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld hl, UnknBGPals + ld de, 1 palettes + ld c, 8 +.loop + push hl + ld a, $7fff % $100 + ld [hli], a + ld a, $7fff / $100 + ld [hl], a + pop hl + add hl, de + dec c + jr nz, .loop + call RotateThreePalettesRight + pop af + ld [rSVBK], a + ld a, $80 + ld [wJumptableIndex], a + ret + +Function117c89: + ld a, $7 + call GetSRAMBank + ld l, $0 + ld h, l + ld de, $b000 + ld bc, $0ffc +.asm_117c97 + push bc + ld a, [de] + inc de + ld c, a + ld b, $0 + add hl, bc + pop bc + dec bc + ld a, b + or c + jr nz, .asm_117c97 + ld a, l + ld [wcd83], a + ld a, h + ld [wcd84], a + ld hl, $bfea + ld de, wcd69 + ld bc, $10 + call CopyBytes + call CloseSRAM + ret + +MenuDataHeader_117cbc: ; 0x117cbc + db $40 ; flags + db 12, 0 ; start coords + db 17, 19 ; end coords + dw NULL ; menu data 2 + db 0 ; default option + +MenuDataHeader_117cc4: ; 0x117cc4 + db $40 ; flags + db 7, 14 ; start coords + db 11, 19 ; end coords + dw NULL ; menu data 2 + db 0 ; default item + +YesNo117ccc: ; 0x117ccc + db "はい" + next "いいえ@" + +MobileStadiumEntryText: ; 0x117cd3 + text_jump _MobileStadiumEntryText + db "@" + +MobileStadiumSuccessText: ; 0x117cd8 + text_jump _MobileStadiumSuccessText + db "@" + +MobileStudium_JumptableIncrement: ; 0x117cdd + ld hl, wJumptableIndex + inc [hl] + ret diff --git a/mobile/mobile_45_sprite_engine.asm b/mobile/mobile_45_sprite_engine.asm new file mode 100755 index 000000000..a85e7fce4 --- /dev/null +++ b/mobile/mobile_45_sprite_engine.asm @@ -0,0 +1,922 @@ +Function115d99: ; 115d99 + ld de, GFX_11601a + ld hl, VTiles0 tile $60 + lb bc, BANK(GFX_11601a), $14 + call Get2bpp + xor a + ld [wc305], a + ld [wc306], a + ld [wc309], a + ld [wc30a], a + ld [wc30b], a + ld [wc30c], a + ld a, $10 + ld [wc307], a + ld a, $18 + ld [wc308], a + ret + +; 115dc3 + +Function115dc3: ; 115dc3 + xor a + ld [wc305], a + ld a, $a0 + ld hl, Sprites + 31 * 4 + ld bc, 8 * 4 + call ByteFill + ret + +; 115dd3 + +Function115dd3: ; 115dd3 + ld a, [wc305] + and a + ret z + ld a, $a0 + ld hl, Sprites + 31 * 4 + ld bc, 8 * 4 + call ByteFill + call Function115e22 + ld a, [wc309] + sla a + ld c, a + ld b, 0 + ld hl, Unknown_115e86 + add hl, bc + ld a, [hli] + ld e, a + ld a, [hl] + ld d, a + push de + pop hl + ld de, Sprites + 31 * 4 + ld a, [wc307] + ld c, a + ld a, [wc308] + ld b, a + ld a, [hli] +.asm_115e04 + push af + ld a, [hli] + add b + ld [de], a + inc de + ld a, [hli] + add c + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + pop af + dec a + jr nz, .asm_115e04 + ret + +; 115e18 + +Function115e18: ; 115e18 + ld a, c + ld [wc30a], a + xor a + ld [wc30b], a + jr Function115e2b + +; 115e22 + +Function115e22: ; 115e22 + ld hl, wc30c + dec [hl] + ret nz + ld hl, wc30b + inc [hl] + +Function115e2b: ; 115e2b + ld a, [wc30a] + sla a + ld c, a + ld b, 0 + ld hl, Unknown_115e59 + add hl, bc + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + push de + pop hl + ld a, [wc30b] + sla a + ld c, a + ld b, $0 + add hl, bc + ld a, [hli] + cp $ff + jr nz, .not_end + xor a + ld [wc30b], a + jr Function115e2b + +.not_end + ld [wc309], a + ld a, [hl] + ld [wc30c], a + ret + +; 115e59 + +Unknown_115e59: + dw Unknown_115e61 + dw Unknown_115e6c + dw Unknown_115e76 + dw Unknown_115e79 + +; OAM idx (see Unknown_115e86), flip flags/duration +Unknown_115e61: ; 115e61 + db $04, $08 + db $05, $08 + db $06, $08 + db $07, $08 + db $08, $08 + db -1 + +Unknown_115e6c: ; 115e6c + db $01, $08 + db $02, $08 + db $03, $08 + db $09, $08 + db $0a, $08 +Unknown_115e76: ; 115e76 + db $00, $08 + db -1 + +Unknown_115e79: ; 115e79 + db $0b, $08 + db $0c, $08 + db $0d, $08 + db $0e, $08 + db $0f, $08 + db $00, $08 + db -1 +; 115e86 + +Unknown_115e86: + dw Unknown_115ea6 + dw Unknown_115eb7 + dw Unknown_115ecc + dw Unknown_115ee1 + dw Unknown_115ef6 + dw Unknown_115f13 + dw Unknown_115f30 + dw Unknown_115f4d + dw Unknown_115f6a + dw Unknown_115f87 + dw Unknown_115f9c + dw Unknown_115fb1 + dw Unknown_115fc6 + dw Unknown_115fdb + dw Unknown_115ff0 + dw Unknown_116005 + +Unknown_115ea6: ; 115ea6 + db 4 + dsprite 1, 0, 0, 0, $60, $01 + dsprite 1, 0, 1, 0, $61, $01 + dsprite 2, 0, 0, 0, $62, $01 + dsprite 2, 0, 1, 0, $63, $01 + +Unknown_115eb7: ; 115eb7 + db 5 + dsprite 0, 0, 1, 0, $64, $00 + dsprite 1, 0, 0, 0, $60, $01 + dsprite 1, 0, 1, 0, $61, $01 + dsprite 2, 0, 0, 0, $62, $01 + dsprite 2, 0, 1, 0, $63, $01 + +Unknown_115ecc: ; 115ecc + db 5 + dsprite 0, 0, 1, 0, $65, $00 + dsprite 1, 0, 0, 0, $60, $01 + dsprite 1, 0, 1, 0, $61, $01 + dsprite 2, 0, 0, 0, $62, $01 + dsprite 2, 0, 1, 0, $63, $01 + +Unknown_115ee1: ; 115ee1 + db 5 + dsprite 0, 0, 1, 0, $66, $00 + dsprite 1, 0, 0, 0, $60, $01 + dsprite 1, 0, 1, 0, $61, $01 + dsprite 2, 0, 0, 0, $62, $01 + dsprite 2, 0, 1, 0, $63, $01 + +Unknown_115ef6: ; 115ef6 + db 7 + dsprite 0, 0, 0, 0, $67, $01 + dsprite 1, 0, 0, 0, $68, $01 + dsprite 2, 0, 0, 0, $6d, $00 + dsprite 2, 0, 1, 0, $69, $00 + dsprite 2, 0, 2, 0, $6a, $00 + dsprite 3, 0, 1, 0, $6b, $00 + dsprite 3, 0, 2, 0, $6c, $00 + +Unknown_115f13: ; 115f13 + db 7 + dsprite 0, 0, 0, 0, $67, $01 + dsprite 1, 0, 0, 0, $68, $01 + dsprite 2, 0, 0, 0, $6e, $00 + dsprite 2, 0, 1, 0, $69, $00 + dsprite 2, 0, 2, 0, $6a, $00 + dsprite 3, 0, 1, 0, $6b, $00 + dsprite 3, 0, 2, 0, $6c, $00 + +Unknown_115f30: ; 115f30 + db 7 + dsprite 0, 0, 0, 0, $67, $01 + dsprite 1, 0, 0, 0, $68, $01 + dsprite 2, 0, 0, 0, $6f, $00 + dsprite 2, 0, 1, 0, $69, $00 + dsprite 2, 0, 2, 0, $6a, $00 + dsprite 3, 0, 1, 0, $6b, $00 + dsprite 3, 0, 2, 0, $6c, $00 + +Unknown_115f4d: ; 115f4d + db 7 + dsprite 0, 0, 0, 0, $67, $01 + dsprite 1, 0, 0, 0, $68, $01 + dsprite 2, 0, 0, 0, $70, $00 + dsprite 2, 0, 1, 0, $69, $00 + dsprite 2, 0, 2, 0, $6a, $00 + dsprite 3, 0, 1, 0, $6b, $00 + dsprite 3, 0, 2, 0, $6c, $00 + +Unknown_115f6a: ; 115f6a + db 7 + dsprite 0, 0, 0, 0, $67, $01 + dsprite 1, 0, 0, 0, $68, $01 + dsprite 2, 0, 0, 0, $71, $00 + dsprite 2, 0, 1, 0, $69, $00 + dsprite 2, 0, 2, 0, $6a, $00 + dsprite 3, 0, 1, 0, $6b, $00 + dsprite 3, 0, 2, 0, $6c, $00 + +Unknown_115f87: ; 115f87 + db 5 + dsprite 0, 0, 1, 0, $72, $00 + dsprite 1, 0, 0, 0, $60, $01 + dsprite 1, 0, 1, 0, $61, $01 + dsprite 2, 0, 0, 0, $62, $01 + dsprite 2, 0, 1, 0, $63, $01 + +Unknown_115f9c: ; 115f9c + db 5 + dsprite 0, 0, 1, 0, $73, $00 + dsprite 1, 0, 0, 0, $60, $01 + dsprite 1, 0, 1, 0, $61, $01 + dsprite 2, 0, 0, 0, $62, $01 + dsprite 2, 0, 1, 0, $63, $01 + +Unknown_115fb1: ; 115fb1 + db 5 + dsprite 0, 1, 1, 0, $64, $60 + dsprite 1, 0, 0, 0, $60, $01 + dsprite 1, 0, 1, 0, $61, $01 + dsprite 2, 0, 0, 0, $62, $01 + dsprite 2, 0, 1, 0, $63, $01 + +Unknown_115fc6: ; 115fc6 + db 5 + dsprite 0, 1, 1, 0, $65, $60 + dsprite 1, 0, 0, 0, $60, $01 + dsprite 1, 0, 1, 0, $61, $01 + dsprite 2, 0, 0, 0, $62, $01 + dsprite 2, 0, 1, 0, $63, $01 + +Unknown_115fdb: ; 115fdb + db 5 + dsprite 0, 1, 1, 0, $66, $60 + dsprite 1, 0, 0, 0, $60, $01 + dsprite 1, 0, 1, 0, $61, $01 + dsprite 2, 0, 0, 0, $62, $01 + dsprite 2, 0, 1, 0, $63, $01 + +Unknown_115ff0: ; 115ff0 + db 5 + dsprite 0, 1, 1, 0, $72, $60 + dsprite 1, 0, 0, 0, $60, $01 + dsprite 1, 0, 1, 0, $61, $01 + dsprite 2, 0, 0, 0, $62, $01 + dsprite 2, 0, 1, 0, $63, $01 + +Unknown_116005: ; 116005 + db 5 + dsprite 0, 1, 1, 0, $73, $60 + dsprite 1, 0, 0, 0, $60, $01 + dsprite 1, 0, 1, 0, $61, $01 + dsprite 2, 0, 0, 0, $62, $01 + dsprite 2, 0, 1, 0, $63, $01 +; 11601a + +GFX_11601a:: ; 11601a +INCBIN "gfx/unknown/11601a.2bpp" + + +Function11615a: ; 11615a + xor a + ld [wc30d], a + ld [$c319], a + ld [wc310], a + ld [wc311], a + ld [wc312], a + ld [wc313], a + ld [wc314], a + ld [wc314 + 1], a + ld [wc314 + 4], a + ld [wc3f6], a + ld [wc3f8], a + ld [wc3f2], a + ld [wc3f4], a + ld a, $24 + ld [wc3f5], a + ld a, $7 + ld [wc3f7], a + ld a, $b0 + ld [wc30e], a + ld [wc3f1], a + ld a, $48 + ld [wc30f], a + ld [wc3f3], a + ret + +; 11619d + +Function11619d: ; 11619d + ld a, [wc30d] + and a + ret z + ld a, [$c319] + cp $2 + jr c, .asm_1161b4 + ld a, $a0 + ld hl, Sprites + ld bc, $0064 + call ByteFill + +.asm_1161b4 + call Function1161b8 + ret + +; 1161b8 + +Function1161b8: ; 1161b8 + ld a, [$c319] + ld e, a + ld d, 0 + ld hl, .Jumptable + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp hl + +; 1161c7 + +.Jumptable: ; 1161c7 + dw Function1161d5 + dw Function116294 + dw Function1162cb + dw Function1162f2 + dw Function1163c0 + dw Function11636e + dw Function116441 +; 1161d5 + +Function1161d5: ; 1161d5 + ld a, [rSVBK] + push af + + ld a, $6 + ld [rSVBK], a + + ld hl, Unknown_117356 + ld de, wDecompressScratch + ld bc, $0300 + call CopyBytes + + di + +.wait_for_vblank +; Wait until a vblank would occur had interrupts not just been disabled. + ld a, [rLY] + cp $91 + jr nz, .wait_for_vblank + + ld a, $d0 + ld [rHDMA1], a + ld a, $0 + ld [rHDMA2], a + ld a, $1c + ld [rHDMA3], a + xor a + ld [rHDMA4], a + ld a, $8 + ld [rHDMA5], a + + ld a, $d0 + ld [rHDMA1], a + ld a, $80 + ld [rHDMA2], a + ld a, $1c + ld [rHDMA3], a + ld a, $80 + ld [rHDMA4], a + ld a, $8 + ld [rHDMA5], a + + ld a, $d1 + ld [rHDMA1], a + ld a, $0 + ld [rHDMA2], a + ld a, $1d + ld [rHDMA3], a + xor a + ld [rHDMA4], a + ld a, $8 + ld [rHDMA5], a + + ld a, $1 + ld [rVBK], a + + ld a, $d1 + ld [rHDMA1], a + ld a, $80 + ld [rHDMA2], a + ld a, $1c + ld [rHDMA3], a + xor a + ld [rHDMA4], a + ld a, $8 + ld [rHDMA5], a + + ld a, $d2 + ld [rHDMA1], a + ld a, $0 + ld [rHDMA2], a + ld a, $1c + ld [rHDMA3], a + ld a, $80 + ld [rHDMA4], a + ld a, $8 + ld [rHDMA5], a + + ld a, $d2 + ld [rHDMA1], a + ld a, $80 + ld [rHDMA2], a + ld a, $1d + ld [rHDMA3], a + xor a + ld [rHDMA4], a + ld a, $8 + ld [rHDMA5], a + + xor a + ld [rVBK], a + + ei + + pop af + ld [rSVBK], a + + callba ReloadMapPart + ld a, $8 + ld [MusicFade], a + ld de, MUSIC_MOBILE_ADAPTER + ld a, e + ld [MusicFadeID], a + ld a, d + ld [MusicFadeID + 1], a + ld a, [$c319] + inc a + ld [$c319], a + ret + +; 11628c + +MenuDataHeader_11628c: ; 11628c + db $40 ; flags + db 6, 0 ; start coords + db 17, 19 ; end coords + dw NULL + db 0 ; default option +; 116294 + +Function116294: ; 116294 + callba Function170d02 + ld a, [$c319] + inc a + ld [$c319], a + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld hl, UnknBGPals + 8 * 6 + ld de, $c320 + ld bc, 2 palettes + call CopyBytes + ld hl, Palette_11734e + ld de, UnknBGPals + 8 * 7 + ld bc, 1 palettes + call CopyBytes + call SetPalettes + pop af + ld [rSVBK], a + ld a, $30 + ld [hWY], a + ret + +; 1162cb + +Function1162cb: ; 1162cb + callba Function170cc6 + ld a, [$c319] + inc a + ld [$c319], a + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld hl, Palette_11730e + ld de, UnknOBPals + 2 palettes + ld bc, 6 palettes + call CopyBytes + call SetPalettes + pop af + ld [rSVBK], a + ret + +; 1162f2 + +Function1162f2: ; 1162f2 + call Function11659d + call Function116758 + call Function1167a6 + ld a, [wc310] + cp EGG + ret z + sla a + ld c, a + ld b, 0 + ld hl, Unknown_1168c5 + add hl, bc + ld a, [hli] + ld e, a + ld a, [hl] + ld d, a + push de + pop hl + ld a, [wc30e] + ld c, a + ld a, [wc30f] + ld b, a + ld a, [wc314 + 4] + ld e, a + ld a, [hli] + sub e + ld de, Sprites + $24 +.asm_116321 + push af + ld a, [hli] + add b + ld [de], a + inc de + ld a, [hli] + add c + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + pop af + dec a + jr nz, .asm_116321 + call Function116468 + ld a, [wc3f5] + sla a + ld c, a + ld b, 0 + ld hl, Unknown_1168c5 + add hl, bc + ld a, [hli] + ld e, a + ld a, [hl] + ld d, a + push de + pop hl + ld a, [wc3f1] + ld c, a + ld a, [wc3f3] + ld b, a + ld a, [wc3f8] + ld e, a + ld a, [hli] + sub e + ld de, Sprites +.asm_11635a + push af + ld a, [hli] + add b + ld [de], a + inc de + ld a, [hli] + add c + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + pop af + dec a + jr nz, .asm_11635a + ret + +; 11636e + +Function11636e: ; 11636e + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld hl, BGPals + ld de, UnknBGPals + ld bc, $0040 + call CopyBytes + pop af + ld [rSVBK], a + call SetPalettes + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + ld a, $a0 + ld hl, Sprites + ld bc, 16 * 4 + call ByteFill + ld a, $90 + ld [hWY], a + call UpdateSprites + pop af + ld [rSVBK], a + callba ReloadMapPart + ld a, $8 + ld [MusicFade], a + ld a, [wMapMusic] + ld [MusicFadeID], a + xor a + ld [MusicFadeID + 1], a + xor a + ld [$c319], a + ld [wc30d], a + ret + +; 1163c0 + +Function1163c0: ; 1163c0 + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + ld a, $a0 + ld hl, Sprites + ld bc, 16 * 4 + call ByteFill + call DelayFrame + callba Function14146 + ld b, SCGB_MAPPALS + call GetSGBLayout + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld hl, $c320 + ld de, wd030 + ld bc, $0010 + call CopyBytes + pop af + ld [rSVBK], a + call SetPalettes + call DelayFrame + ld a, $90 + ld [hWY], a + call UpdateSprites + callba Function14157 + pop af + ld [rSVBK], a + callba ReloadMapPart + ld a, [wLinkMode] + cp $4 + jr z, .asm_11642a + ld a, $8 + ld [MusicFade], a + ld a, [wMapMusic] + ld [MusicFadeID], a + xor a + ld [MusicFadeID + 1], a + jr .asm_116439 + +.asm_11642a + ld a, $8 + ld [MusicFade], a + ld a, $0 + ld [MusicFadeID], a + ld a, $0 + ld [MusicFadeID + 1], a + +.asm_116439 + xor a + ld [$c319], a + ld [wc30d], a + ret + +; 116441 + +Function116441: ; 116441 + callba Function17d405 + ld a, $90 + ld [hWY], a + callba ReloadMapPart + ld a, $8 + ld [MusicFade], a + ld a, [wMapMusic] + ld [MusicFadeID], a + xor a + ld [MusicFadeID + 1], a + xor a + ld [$c319], a + ld [wc30d], a + ret + +; 116468 + +Function116468: ; 116468 + call Function116567 + ld a, [wc314] + cp $d + jr nz, .asm_1164a8 + ld hl, wc30e + ld a, [hl] + cp $50 + jr nc, .asm_116484 + ld a, $50 + sub [hl] + add $50 + ld [wc3f1], a + jr .asm_11648d + +.asm_116484 + sub $50 + ld c, a + ld a, $50 + sub c + ld [wc3f1], a + +.asm_11648d + ld hl, wc30f + ld a, [hl] + cp $60 + jr nc, .asm_11649e + ld a, $60 + sub [hl] + add $60 + ld [wc3f3], a + ret + +.asm_11649e + sub $60 + ld c, a + ld a, $60 + sub c + ld [wc3f3], a + ret + +.asm_1164a8 + ld hl, wc30e + ld a, $b0 + cp [hl] + jr nc, .asm_1164b8 + ld a, [wc3f1] + and a + jr z, .asm_11650b + jr .asm_1164f2 + +.asm_1164b8 + ld a, [wc3f1] + sub [hl] + jr nc, .asm_1164c1 + xor $ff + inc a + +.asm_1164c1 + ld b, a + ld c, $0 + ld a, $5 +.asm_1164c6 + srl b + rr c + dec a + jr nz, .asm_1164c6 + ld a, c + ld [wc3fa], a + ld a, b + ld [wc3f9], a + ld a, [wc3f1] + sub [hl] + jr c, .asm_1164f2 + ld c, $0 + ld a, [wc3fa] + xor $ff + add $1 + rl c + ld [wc3fa], a + ld a, [wc3f9] + xor $ff + add c + ld [wc3f9], a + +.asm_1164f2 + ld a, [wc3f2] + ld l, a + ld a, [wc3f1] + ld h, a + ld a, [wc3fa] + ld e, a + ld a, [wc3f9] + ld d, a + add hl, de + ld a, l + ld [wc3f2], a + ld a, h + ld [wc3f1], a + +.asm_11650b + ld hl, wc30f + ld a, $b0 + cp [hl] + jr c, .asm_11654d + ld a, [wc3f3] + sub [hl] + jr nc, .asm_11651c + xor $ff + inc a + +.asm_11651c + ld b, a + ld c, $0 + ld a, $5 +.asm_116521 + srl b + rr c + dec a + jr nz, .asm_116521 + ld a, c + ld [wc3fc], a + ld a, b + ld [wc3fb], a + ld a, [wc3f3] + sub [hl] + jr c, .asm_11654d + ld c, $0 + ld a, [wc3fc] + xor $ff + add $1 + rl c + ld [wc3fc], a + ld a, [wc3fb] + xor $ff + add c + ld [wc3fb], a + +.asm_11654d + ld a, [wc3f4] + ld l, a + ld a, [wc3f3] + ld h, a + ld a, [wc3fc] + ld e, a + ld a, [wc3fb] + ld d, a + add hl, de + ld a, l + ld [wc3f4], a + ld a, h + ld [wc3f3], a + ret diff --git a/mobile/mobile_46.asm b/mobile/mobile_46.asm new file mode 100755 index 000000000..48fed0f33 --- /dev/null +++ b/mobile/mobile_46.asm @@ -0,0 +1,7986 @@ +SECTION "bank46", ROMX + +Function118000: ; 118000 + ld a, $1 + ld [wcd38], a + jr asm_11800b + +Function118007: ; 118007 + xor a + ld [wcd38], a + +asm_11800b + call BattleTowerRoomMenu_InitRAM + ld a, $18 + ld [wcd33], a + ld a, $19 + ld [wcd34], a + ld a, $4 + ld [wc3f0], a + ld a, [rSVBK] + push af + ld a, $3 + ld [rSVBK], a +.loop + call JoyTextDelay + call Function118473 + ld a, [wcf66] + cp $1b + jr c, .skip + ld a, [wcd34] + ld [wcf66], a + +.skip + call Function1184a5 + call BattleTowerRoomMenu_WriteMessage + callba Function115dd3 + callba Function11619d + call DelayFrame + ld a, [wcf66] + ld hl, wcd33 + cp [hl] + jr nz, .loop + pop af + ld [rSVBK], a + call BattleTowerRoomMenu_Cleanup + call ReturnToMapFromSubmenu +BattleTowerRoomMenu_DoNothing: ; 11805e (46:405e) + ret +; 11805f + +Function11805f: ; 11805f + ld a, $1 + ld [wcd38], a + call BattleTowerRoomMenu_InitRAM + ld a, $18 + ld [wcd33], a + ld a, $19 + ld [wcd34], a + ld a, $4 + ld [wc3f0], a + ld a, [rSVBK] + push af + ld a, $3 + ld [rSVBK], a +.asm_11807d + call JoyTextDelay + call Function118473 + ld a, [wcf66] + cp $1b + jr c, .asm_118090 + ld a, [wcd34] + ld [wcf66], a + +.asm_118090 + call Function11857c + call BattleTowerRoomMenu_WriteMessage + callba Function115dd3 + callba Function11619d + call DelayFrame + ld a, [wcf66] + ld hl, wcd33 + cp [hl] + jr nz, .asm_11807d + pop af + ld [rSVBK], a + call BattleTowerRoomMenu_Cleanup + call ReturnToMapFromSubmenu + ret +; 1180b8 + +Function1180b8: ; 1180b8 + call BattleTowerRoomMenu_InitRAM + ld a, $22 + ld [wcd33], a + ld a, $23 + ld [wcd34], a + ld a, $4 + ld [wc3f0], a + ld a, [rSVBK] + push af + ld a, $3 + ld [rSVBK], a +.asm_1180d1 + call JoyTextDelay + call Function118473 + ld a, [wcf66] + cp $28 + jr c, .asm_1180e4 + ld a, [wcd34] + ld [wcf66], a + +.asm_1180e4 + ld a, [wcf66] + cp $10 + jr c, .asm_1180f2 + cp $16 + jr nc, .asm_1180f2 + call Function11884c + +.asm_1180f2 + call Function1184ec + call BattleTowerRoomMenu_WriteMessage + callba Function115dd3 + callba Function11619d + call DelayFrame + ld a, [wcf66] + ld hl, wcd33 + cp [hl] + jr nz, .asm_1180d1 + pop af + ld [rSVBK], a + call BattleTowerRoomMenu_Cleanup + call ReturnToMapFromSubmenu + ret +; 11811a + +Function11811a: ; 11811a + ld a, 1 + ld [wcd38], a + jr Function118125 + +_BattleTowerRoomMenu: ; 118121 + xor a + ld [wcd38], a +Function118125: ; 118125 + call BattleTowerRoomMenu_InitRAM + ld a, $3 + ld [wcd33], a + ld a, $d + ld [wcd34], a + ld a, $4 + ld [wc3f0], a + ld a, [rSVBK] + push af + ld a, $3 + ld [rSVBK], a +.loop + call JoyTextDelay + call Function118473 + ld a, [wcf66] + cp $f + jr c, .skip + ld a, [wcd34] + ld [wcf66], a +.skip + call BattleTowerRoomMenu_Jumptable + call BattleTowerRoomMenu_WriteMessage + callba Function115dd3 + callba Function11619d + call DelayFrame + ld a, [wcf66] + ld hl, wcd33 + cp [hl] + jr nz, .loop + xor a + ld [w3_d000], a + pop af + ld [rSVBK], a + call BattleTowerRoomMenu_Cleanup + call Function118180 + call ReturnToMapFromSubmenu + ret +; 118180 + +Function118180: ; 118180 + ld a, [ScriptVar] + and a + ret nz + ld a, [wcd38] + and a + ret z + ld a, $5 + call GetSRAMBank + ld hl, wcd69 + ld de, $a89c + ld bc, $0016 + call CopyBytes + + ld a, [rSVBK] + push af + ld a, $3 + ld [rSVBK], a + + ld de, w3_d202 + ld c, $96 + callba CheckStringForErrors_IgnoreTerminator + jr c, .return_d3 + + ld de, w3_d202 + lb bc, 1, $96 + callba CheckStringContainsLessThanBNextCharacters + jr c, .return_d3 + + ld hl, w3_d202 + ld de, $a8b2 + ld bc, $0096 + call CopyBytes +.reset_banks + pop af + ld [rSVBK], a + call CloseSRAM + ret + +.return_d3 + ld a, $d3 + ld [wc300], a + ld [ScriptVar], a + jr .reset_banks +; 1181da + +Function1181da: ; 1181da + call BattleTowerRoomMenu_InitRAM + ld a, $2 + ld [wcd38], a + ld a, $21 + ld [wcd33], a + ld a, $22 + ld [wcd34], a + ld a, $4 + ld [wc3f0], a + ld a, [rSVBK] + push af + ld a, $3 + ld [rSVBK], a +.asm_1181f8 + call JoyTextDelay + call Function118473 + ld a, [wcf66] + cp $28 + jr c, .asm_11820b + ld a, [wcd34] + ld [wcf66], a + +.asm_11820b + call Function1185c3 + call BattleTowerRoomMenu_WriteMessage + callba Function115dd3 + callba Function11619d + call DelayFrame + ld a, [wcf66] + ld hl, wcd33 + cp [hl] + jr nz, .asm_1181f8 + pop af + ld [rSVBK], a + call BattleTowerRoomMenu_Cleanup + call ReturnToMapFromSubmenu + ret +; 118233 + +Function118233: ; 118233 + call BattleTowerRoomMenu_InitRAM + ld a, $1b + ld [wcd33], a + ld a, $1c + ld [wcd34], a + ld a, $6 + ld [wc3f0], a + ld a, [rSVBK] + push af + ld a, $3 + ld [rSVBK], a +.asm_11824c + call JoyTextDelay + call Function118473 + ld a, [wcf66] + cp $1e + jr c, .asm_11825f + ld a, [wcd34] + ld [wcf66], a + +.asm_11825f + call Function118624 + call BattleTowerRoomMenu_WriteMessage + callba Function115dd3 + callba Function11619d + call DelayFrame + ld a, [wcf66] + ld hl, wcd33 + cp [hl] + jr nz, .asm_11824c + pop af + ld [rSVBK], a + call BattleTowerRoomMenu_Cleanup + ret +; 118284 + +Function118284: ; 118284 + call BattleTowerRoomMenu_InitRAM + ld a, $19 + ld [wcd33], a + ld a, $1e + ld [wcd34], a + ld a, $5 + ld [wc3f0], a + ld a, [rSVBK] + push af + ld a, $3 + ld [rSVBK], a +.asm_11829d + call JoyTextDelay + call Function118473 + ld a, [wcf66] + cp $20 + jr c, .asm_1182b0 + ld a, [wcd34] + ld [wcf66], a +.asm_1182b0 + call Function1186f5 + call BattleTowerRoomMenu_WriteMessage + callba Function115dd3 + callba Function11619d + call DelayFrame + ld a, [wcf66] + ld hl, wcd33 + cp [hl] + jr nz, .asm_11829d + pop af + ld [rSVBK], a + call BattleTowerRoomMenu_Cleanup + ret +; 1182d5 (46:42d5) + + +Function1182d5: ; 1182d5 + call BattleTowerRoomMenu_InitRAM + ld a, $18 + ld [wcd33], a + ld a, $19 + ld [wcd34], a + ld a, $4 + ld [wc3f0], a + ld a, [rSVBK] + push af + ld a, $3 + ld [rSVBK], a +.asm_1182ee + call JoyTextDelay + call Function118473 + ld a, [wcf66] + cp $1b + jr c, .asm_118301 + ld a, [wcd34] + ld [wcf66], a + +.asm_118301 + call Function118746 + call BattleTowerRoomMenu_WriteMessage + callba Function115dd3 + callba Function11619d + call DelayFrame + ld a, [wcf66] + ld hl, wcd33 + cp [hl] + jr nz, .asm_1182ee + pop af + ld [rSVBK], a + call BattleTowerRoomMenu_Cleanup + call ReturnToMapFromSubmenu + ret +; 118329 + +Function118329: ; 118329 + call BattleTowerRoomMenu_InitRAM + ld a, $15 + ld [wcd33], a + ld a, $16 + ld [wcd34], a + ld a, $6 + ld [wc3f0], a + ld a, [rSVBK] + push af + ld a, $3 + ld [rSVBK], a +.asm_118342 + call JoyTextDelay + call Function118473 + ld a, [wcf66] + cp $18 + jr c, .asm_118355 + ld a, [wcd34] + ld [wcf66], a + +.asm_118355 + call Function118671 + call BattleTowerRoomMenu_WriteMessage + callba Function115dd3 + callba Function11619d + call DelayFrame + ld a, [wcf66] + ld hl, wcd33 + cp [hl] + jr nz, .asm_118342 + pop af + ld [rSVBK], a + call BattleTowerRoomMenu_Cleanup + ret +; 11837a + +Function11837a: ; 11837a + call BattleTowerRoomMenu_InitRAM + ld a, $16 + ld [wcd33], a + ld a, $17 + ld [wcd34], a + ld a, $6 + ld [wc3f0], a + ld a, [rSVBK] + push af + ld a, $3 + ld [rSVBK], a +.asm_118393 + call JoyTextDelay + call Function118473 + ld a, [wcf66] + cp $19 + jr c, .asm_1183a6 + ld a, [wcd34] + ld [wcf66], a + +.asm_1183a6 + call Function1186b2 + call BattleTowerRoomMenu_WriteMessage + callba Function115dd3 + callba Function11619d + call DelayFrame + ld a, [wcf66] + ld hl, wcd33 + cp [hl] + jr nz, .asm_118393 + pop af + ld [rSVBK], a + call BattleTowerRoomMenu_Cleanup + ret +; 1183cb + +BattleTowerRoomMenu_InitRAM: ; 1183cb + di + ld a, [rIE] + ld [wcd32], a + call DoubleSpeed + xor a + ld [rIF], a + ld [wc300], a + ld [wc301], a + ld [wc302], a + ld [wcd80], a + ld [wcd65], a + ld [wcd66], a + ld [wcd67], a + ld [wcd68], a + ld [$c31a], a + ld [wcd89], a + ld [wcd8a], a + ld [wcd8b], a + ld [wc3ec], a + ld [wc3ed], a + ld [wc3ee], a + ld [wc3ef], a + ld hl, VramState + ld a, [hl] + ld [wcd7f], a + set 1, [hl] + ld a, $f + ld [rIE], a + ld a, $1 + ld [hMobileReceive], a + ld [hMobile], a + ei + callba MobileFunc_106462 + callba Function106464 + callba Function115d99 + callba Function11615a + ld a, $5 + call GetSRAMBank + xor a + ld [$bfff], a + call CloseSRAM + ret +; 118440 + +Function118440: ; 118440 + push af + ld a, $5 + call GetSRAMBank + ld a, [$bfff] + inc a + ld [$bfff], a + call CloseSRAM + pop af + ret +; 118452 + +BattleTowerRoomMenu_Cleanup: ; 118452 + di + xor a + ld [hMobileReceive], a + ld [hMobile], a + ld [hVBlank], a + call NormalSpeed + xor a + ld [rIF], a + ld a, [wcd32] + ld [rIE], a + ei + ld a, [wcd7f] + ld [VramState], a + ld a, [wc300] + ld [ScriptVar], a + ret +; 118473 + +Function118473: ; 118473 + ld a, [wcd65] + and a + ret z + ld a, [wcd66] + inc a + ld [wcd66], a + cp 60 + ret nz + xor a + ld [wcd66], a + ld a, [wcd67] + inc a + ld [wcd67], a + cp 60 + ret nz + ld a, [wcd68] + inc a + ld [wcd68], a + cp 99 + jr z, .ninety_nine + xor a + ld [wcd67], a + ret + +.ninety_nine + xor a + ld [wcd65], a + ret +; 1184a5 + +Function1184a5: ; 1184a5 + jumptable .Jumptable, wcf66 +; 1184b4 + +.Jumptable: ; 1184b4 + dw Function11886e + dw Function118880 + dw Function11878d + dw Function1188b0 + dw Function11878d + dw Function1188b8 + dw Function11878d + dw Function1188c0 + dw Function11878d + dw Function1188c8 + dw Function11878d + dw Function118903 + dw Function118a8f + dw Function11878d + dw Function118d80 + dw Function118d9b + dw Function11878d + dw Function118ded + dw Function118e6d + dw Function11878d + dw Function11984e + dw Function118e76 + dw Function118e7e + dw Function11878d + dw BattleTowerRoomMenu_DoNothing + dw Function118e76 + dw BattleTowerRoomMenu_CallRoomMenu2 + dw Function118e76 +; 1184ec + +Function1184ec: ; 1184ec + jumptable .Jumptable, wcf66 +; 1184fb + +.Jumptable: ; 1184fb + dw Function11886e + dw Function118880 + dw Function11878d + dw Function1188b0 + dw Function11878d + dw Function1188b8 + dw Function11878d + dw Function1188c0 + dw Function11878d + dw Function1188c8 + dw Function11878d + dw Function118903 + dw Function119954 + dw Function11878d + dw Function119973 + dw Function11878d + dw Function119987 + dw Function11878d + dw Function1199b4 + dw Function1199ca + dw Function11878d + dw Function1199e2 + dw Function119b0d + dw Function11878d + dw Function119b6b + dw Function119b3b + dw Function11878d + dw Function119b52 + dw Function11878d + dw Function118e6d + dw Function11878d + dw Function118e76 + dw Function118e7e + dw Function11878d + dw BattleTowerRoomMenu_DoNothing + dw Function118e76 + dw BattleTowerRoomMenu_CallRoomMenu2 + dw Function119b45 + dw Function11878d + dw Function119ac9 + dw Function118e76 +; 11854d + +BattleTowerRoomMenu_Jumptable: ; 11854d + jumptable .Jumptable, wcf66 +; 11855c + +.Jumptable: ; 11855c + dw BattleTowerRoomMenu_PickLevelMessage + dw BattleTowerRoomMenu_PlacePickLevelMenu + dw BattleTowerRoomMenu_UpdatePickLevelMenu + dw BattleTowerRoomMenu_DoNothing + dw BattleTowerRoomMenu_PartyMonTopsThisLevelMessage + dw BattleTowerRoomMenu_WaitForMessage + dw BattleTowerRoomMenu_DelayRestartMenu + dw BattleTowerRoomMenu_QuitMessage + dw BattleTowerRoomMenu_PlaceYesNoMenu + dw BattleTowerRoomMenu_UpdateYesNoMenu + dw BattleTowerRoomMenu_UberRestrictionMessage + dw BattleTowerRoomMenu_WaitForMessage + dw BattleTowerRoomMenu_DelayRestartMenu + dw Function118e76 ; mobile + dw BattleTowerRoomMenu_CallRoomMenu2 ; mobile + dw Function118e76 ; mobile +; 11857c + +Function11857c: ; 11857c + jumptable .Jumptable, wcf66 +; 11858b + +.Jumptable: ; 11858b + dw Function11886e + dw Function118880 + dw Function11878d + dw Function1188b0 + dw Function11878d + dw Function1188b8 + dw Function11878d + dw Function1188c0 + dw Function11878d + dw Function1188c8 + dw Function11878d + dw Function118903 + dw Function118a7a + dw Function11878d + dw Function11891c + dw Function1198ee + dw Function1198f7 + dw Function11878d + dw Function119937 + dw Function118e6d + dw Function11878d + dw Function118e76 + dw Function118e7e + dw Function11878d + dw BattleTowerRoomMenu_DoNothing + dw Function118e76 + dw BattleTowerRoomMenu_CallRoomMenu2 + dw Function118e76 +; 1185c3 + +Function1185c3: ; 1185c3 + jumptable .Jumptable, wcf66 +; 1185d2 + +.Jumptable: ; 1185d2 + dw Function11886e + dw Function118880 + dw Function11878d + dw Function1188b0 + dw Function11878d + dw Function1188b8 + dw Function11878d + dw Function1188c0 + dw Function11878d + dw Function1188c8 + dw Function11878d + dw Function118903 + dw Function118aa4 + dw Function11878d + dw Function118e92 + dw Function11878d + dw Function118eb0 + dw Function118ec6 + dw Function118f0d + dw Function118f14 + dw Function118f5e + dw Function11878d + dw Function118fc0 + dw Function11878d + dw Function119054 + dw Function1190d0 + dw Function11878d + dw Function1190ec + dw Function118e6d + dw Function11878d + dw Function118e76 + dw Function118e7e + dw Function11878d + dw BattleTowerRoomMenu_DoNothing + dw Function118e76 + dw BattleTowerRoomMenu_CallRoomMenu2 + dw BattleTowerRoomMenu_QuitMessage + dw BattleTowerRoomMenu_PlaceYesNoMenu + dw BattleTowerRoomMenu_UpdateYesNoMenu + dw Function11914e + dw Function118e76 +; 118624 + +Function118624: ; 118624 + jumptable .Jumptable, wcf66 +; 118633 + +.Jumptable: ; 118633 + dw Function118866 + dw Function118880 + dw Function11878d + dw Function1188b0 + dw Function11878d + dw Function1188b8 + dw Function11878d + dw Function1188c0 + dw Function11878d + dw Function1188c8 + dw Function11878d + dw Function118903 + dw Function118aa4 + dw Function11878d + dw Function118e92 + dw Function11878d + dw Function11915d + dw Function118f68 + dw Function11878d + dw Function119009 + dw Function11878d + dw Function119054 + dw Function118e6d + dw Function11878d + dw Function118e76 + dw Function118e7e + dw Function11878d + dw BattleTowerRoomMenu_DoNothing + dw Function118e76 + dw BattleTowerRoomMenu_CallRoomMenu2 + dw Function118e76 +; 118671 + +Function118671: ; 118671 + jumptable .Jumptable, wcf66 +; 118680 + +.Jumptable: ; 118680 + dw Function118866 + dw Function118880 + dw Function11878d + dw Function1188b0 + dw Function11878d + dw Function1188b8 + dw Function11878d + dw Function1188c0 + dw Function11878d + dw Function1188c8 + dw Function11878d + dw Function118903 + dw Function119380 + dw Function119388 + dw Function1193a0 + dw Function11878d + dw Function118e6d + dw Function11878d + dw Function118e76 + dw Function118e7e + dw Function11878d + dw BattleTowerRoomMenu_DoNothing + dw Function118e76 + dw BattleTowerRoomMenu_CallRoomMenu2 + dw Function118e76 +; 1186b2 + +Function1186b2: ; 1186b2 + jumptable .Jumptable, wcf66 +; 1186c1 + +.Jumptable: ; 1186c1 + dw Function118866 + dw Function118880 + dw Function11878d + dw Function1188b0 + dw Function11878d + dw Function1188b8 + dw Function11878d + dw Function1188c0 + dw Function11878d + dw Function1188c8 + dw Function11878d + dw Function118903 + dw Function119380 + dw Function1193e3 + dw Function1193fb + dw Function11878d + dw Function119413 + dw Function118e6d + dw Function11878d + dw Function118e76 + dw Function118e7e + dw Function11878d + dw BattleTowerRoomMenu_DoNothing + dw Function118e76 + dw BattleTowerRoomMenu_CallRoomMenu2 + dw Function118e76 +; 1186f5 + +Function1186f5: ; 1186f5 (46:46f5) + jumptable .Jumptable, wcf66 +; 118704 (46:4704) + +.Jumptable: ; 118704 (46:4704) + dw Function11886a + dw Function118880 + dw Function11878d + dw Function1188b0 + dw Function11878d + dw Function1188b8 + dw Function11878d + dw Function1188c0 + dw Function11878d + dw Function1188c8 + dw Function11878d + dw Function118903 + dw Function118abc + dw Function11878d + dw Function119451 + dw Function1195f8 + dw Function119612 + dw Function119629 + dw Function119648 + dw Function11878d + dw Function118e6d + dw Function11878d + dw Function118e76 + dw Function118e7e + dw Function11878d + dw BattleTowerRoomMenu_DoNothing + dw Function11967d + dw Function119685 + dw Function119665 + dw Function11966d + dw Function118e76 + dw BattleTowerRoomMenu_CallRoomMenu2 + dw Function118e76 +; 118746 (46:4746) + +Function118746: ; 118746 + jumptable .Jumptable, wcf66 +; 118755 + +.Jumptable: ; 118755 + dw Function11886e + dw Function118880 + dw Function11878d + dw Function1188b0 + dw Function11878d + dw Function1188b8 + dw Function11878d + dw Function1188c0 + dw Function11878d + dw Function1188c8 + dw Function11878d + dw Function118903 + dw Function118ad0 + dw Function11878d + dw Function1196f2 + dw Function1197c9 + dw Function1197dc + dw Function11878d + dw Function118e6d + dw Function11878d + dw Function119800 + dw Function118e76 + dw Function118e7e + dw Function11878d + dw BattleTowerRoomMenu_DoNothing + dw Function118e76 + dw BattleTowerRoomMenu_CallRoomMenu2 + dw Function118e76 +; 11878d + +Function11878d: ; 11878d (46:478d) + ld a, [wc821] + bit 1, a + jr nz, .asm_1187af + bit 2, a + jr nz, .asm_1187d1 + bit 0, a + jr nz, .asm_1187aa + ld a, [wcd89] + and $1 + jr z, .asm_1187a7 + ld a, $3 + ld [rSVBK], a +.asm_1187a7 + jp BattleTowerRoomMenu_IncrementJumptable +.asm_1187aa + call Function118821 + ret c + ret +.asm_1187af + ld a, $0 + call Function3e32 + ld [wc300], a + ld a, l + ld [wc301], a + ld a, h + ld [wc302], a + ld a, $a + call Function3e32 + ld a, [wc3f0] + ld [$c319], a + ld a, [wcd34] + ld [wcf66], a + ret +.asm_1187d1 + ld hl, wcd89 + bit 0, [hl] + jr nz, .asm_118803 + set 0, [hl] + ld a, $6 + ld [rSVBK], a + ld de, w3_d000 + ld bc, $1000 + ld a, [hl] + sla a + jr c, .asm_1187f9 + sla a + jr c, .asm_1187fd + sla a + jr c, .asm_1187f5 + ld a, $24 + jr .asm_1187ff +.asm_1187f5 + ld a, $28 + jr .asm_1187ff +.asm_1187f9 + ld a, $2a + jr .asm_1187ff +.asm_1187fd + ld a, $2c +.asm_1187ff + call Function3e32 + ret +.asm_118803 + ld a, $d3 + +Function118805: ; 118805 (46:4805) + ld [wc300], a + xor a + ld [wc301], a + ld [wc302], a + ld a, $a + call Function3e32 + ld a, [wc3f0] + ld [$c319], a + ld a, [wcd34] + ld [wcf66], a + ret + +Function118821: ; 118821 (46:4821) + ld a, [$c319] + cp $3 + jr c, .asm_11884a + cp $4 + jr z, .asm_11884a + ld a, [hJoyDown] + cp $5 + jr nz, .asm_11884a + ld a, $a + call Function3e32 + ld a, $a + ld [wc300], a + ld a, [wc3f0] + ld [$c319], a + ld a, [wcd34] + ld [wcf66], a + scf + ret +.asm_11884a + and a + ret +; 11884c (46:484c) + +Function11884c: ; 11884c + ld a, [hJoyDown] + cp $5 + jr nz, .asm_118864 + ld a, $a + call Function3e32 + ld a, $a + ld [wc300], a + ld a, [wcd34] + ld [wcf66], a + scf + ret + +.asm_118864 + and a + ret +; 118866 + +Function118866: + ld a, 2 + jr asm_11886f + +Function11886a: ; 11886a (46:486a) + ld a, 1 + jr asm_11886f +; 11886e (46:486e) + +Function11886e: + xor a + +asm_11886f + ld [BGMapPalBuffer], a + ld a, $0 + ld [wcd3c], a + call BattleTowerRoomMenu_IncrementJumptable + ld a, [wcd33] + ld [wMobileInactivityTimerSeconds], a + +Function118880: ; 118880 (46:4880) + call BattleTowerRoomMenu2 + ret c + xor a + ld [wcf64], a + ld [wc807], a + ld de, wcd81 + ld hl, $46 + ld a, $2 + jp Function119e2b +; 118896 (46:4896) + +Function118896: ; 118896 + ld a, [wc821] + bit 1, a + jr nz, .asm_1188a5 + bit 2, a + jr nz, .asm_1188a5 + bit 0, a + jr z, .asm_1188aa + +.asm_1188a5 + ld a, $34 + jp Function119e2b + +.asm_1188aa + call BattleTowerRoomMenu_IncrementJumptable + jp BattleTowerRoomMenu_IncrementJumptable +; 1188b0 + +Function1188b0: ; 1188b0 (46:48b0) + ld de, $c346 + ld a, $c + jp Function119e2b + +Function1188b8: ; 1188b8 (46:48b8) + ld de, wc3ac + ld a, $e + jp Function119e2b + +Function1188c0: ; 1188c0 (46:48c0) + ld de, wc3cd + ld a, $10 + jp Function119e2b + +Function1188c8: ; 1188c8 (46:48c8) + ld a, $1 + ld [wcd65], a + call Function1188e7 + ld hl, $c708 +.asm_1188d3 + ld a, [de] + inc de + ld [hli], a + and a + jr nz, .asm_1188d3 + call Function119eb4 + call Function119ec2 + ld hl, $c708 + ld a, $6 + jp Function119e2b + +Function1188e7: ; 1188e7 (46:48e7) + ld de, $c346 + ld a, $5 + call GetSRAMBank + ld a, [$aa4a] + call CloseSRAM + and a + ret z + sla a + ld c, a +.asm_1188fa + ld a, [de] + inc de + and a + jr nz, .asm_1188fa + dec c + jr nz, .asm_1188fa + ret + +Function118903: ; 118903 (46:4903) + ld a, [wc3f0] + ld [$c319], a + ld c, $1 + callba Function115e18 + ld a, $8 + ld [wcd3c], a + call BattleTowerRoomMenu2 + jp BattleTowerRoomMenu_IncrementJumptable + + +Function11891c: ; 11891c + call Function118b42 + jp BattleTowerRoomMenu_IncrementJumptable + + +BattleTowerRoomMenu_PickLevelMessage: ; 118922 + ld a, [wcd38] + and a + jr nz, .asm_11892d + ld hl, Text_WhatLevelDoYouWantToChallenge + jr .asm_118930 + +.asm_11892d + ld hl, Text_CheckBattleRoomListByMaxLevel + +.asm_118930 + call BattleTowerRoomMenu_SetMessage + call BattleTowerRoomMenu_IncrementJumptable + +BattleTowerRoomMenu_PlacePickLevelMenu: + ld a, [$c31a] + and a + ret nz + ld hl, MenuDataHeader_119cf7 + call LoadMenuDataHeader + call MenuBox + call MenuBoxCoord2Tile + call ApplyTilemap + hlcoord 16, 8, AttrMap + ld a, $40 + or [hl] + ld [hl], a + call WaitBGMap2 + ld a, $1 + ld [wcd4f], a + ld a, $1 + ld [rSVBK], a + ld a, [StatusFlags] + bit 6, a ; Hall Of Fame + jr nz, .asm_11896b + ld hl, Strings_Ll0ToL40 ; Address to list of strings with the choosable levels + ld a, 5 ; 4 levels to choose from, including 'Cancel'-option + jr .asm_118970 + +.asm_11896b + ld hl, Strings_L10ToL100 ; Address to list of strings with the choosable levels + ld a, 11 ; 10 levels to choose from, including 'Cancel'-option + +.asm_118970 + ld [wcd4a], a + ld a, l + ld [wcd4b], a + ld a, h + ld [wcd4c], a + ld a, $3 + ld [rSVBK], a + call BattleTowerRoomMenu_IncrementJumptable + +BattleTowerRoomMenu_UpdatePickLevelMenu: + hlcoord 13, 8 + ld de, String_119d07 + call PlaceString + hlcoord 13, 10 + ld de, String_119d07 + call PlaceString + ld a, [wcd4b] + ld l, a + ld a, [wcd4c] + ld h, a + ld d, $0 + ld a, [wcd4f] + dec a + rlca + rlca + rlca + ld e, a + add hl, de + ld a, l + ld e, a + ld a, h + ld d, a + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + ld bc, StringBuffer3 +.asm_1189b5 + ld a, [hli] + cp $50 + jr z, .asm_1189c4 + cp $7f + jr z, .asm_1189c2 + ld [bc], a + inc bc + jr .asm_1189b5 + +.asm_1189c2 + ld a, $50 + +.asm_1189c4 + ld [bc], a + pop af + ld [rSVBK], a + hlcoord 13, 9 + call PlaceString + ld hl, hJoyPressed + ld a, [hl] + and B_BUTTON + jr nz, .b_button + ld a, [hl] + and A_BUTTON + jr nz, .a_button + ld a, [hl] + and D_DOWN + jr nz, .d_down + ld a, [hl] + and D_UP + jr nz, .d_up +.asm_1189e5 + ret + +.d_down + ld hl, wcd4f + dec [hl] + jr nz, .asm_1189e5 + ld a, [wcd4a] + ld [hl], a + jr .asm_1189e5 + +.d_up + ld a, [wcd4a] + ld hl, wcd4f + inc [hl] + cp [hl] + jr nc, .asm_1189e5 + ld a, $1 + ld [hl], a + jr .asm_1189e5 + +.a_button + call PlayClickSFX + ld a, [wcd4f] + ld hl, wcd4a + cp [hl] + jr z, .asm_118a3c + dec a + and $fe + srl a + ld [wcf65], a + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + call CloseWindow + pop af + ld [rSVBK], a + ld a, [wcd38] + and a + jr nz, .asm_118a30 + call BattleTower_LevelCheck + ret c + call BattleTower_UbersCheck + ret c + +.asm_118a30 + ld a, [wcd4f] + ld [w3_d800], a + jp BattleTowerRoomMenu_IncrementJumptable + +.b_button + call PlayClickSFX + +.asm_118a3c + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + call CloseWindow + pop af + ld [rSVBK], a + ld a, $7 + ld [wcf66], a + ld a, $0 + ld [wMobileInactivityTimerFrames], a + ret + + + +Function118a54: ; 118a54 + ld a, [wcd55] + ld l, a + ld a, [wcd56] + ld h, a + ld de, wc3ec + ld bc, $0004 + jp Function118ae4 +; 118a65 + +Function118a65: ; 118a65 + ld hl, BattleDownloadURL + ld de, wcc60 + ld bc, $80 + call CopyBytes + ld de, w3_d000 + ld bc, $1000 + jp Function118b10 +; 118a7a + +Function118a7a: ; 118a7a + ld hl, BattleDownloadURL + ld de, wcc60 + ld bc, $80 + call CopyBytes + ld de, w3_d000 + ld bc, $1000 + jp Function118b10 +; 118a8f + +Function118a8f: ; 118a8f + ld hl, ExchangeDownloadURL + ld de, wcc60 + ld bc, $80 + call CopyBytes + ld de, w3_d000 + ld bc, $1000 + jp Function118b10 +; 118aa4 + +Function118aa4: ; 118aa4 + ld hl, NewsDownloadURL + ld de, wcc60 + ld bc, $80 + call CopyBytes + ld a, $5 + ld [rSVBK], a + ld de, w3_d100 + ld bc, $e00 + jr Function118b10 +; 118abc + +Function118abc: ; 118abc (46:4abc) + ld hl, MenuDownloadURL + ld de, wcc60 + ld bc, $80 + call CopyBytes + ld de, w3_d000 + ld bc, $1000 + jr Function118b10 +; 118ad0 (46:4ad0) + +Function118ad0: + ld hl, IndexDownloadURL + ld de, wcc60 + ld bc, $80 + call CopyBytes + ld de, w3_d000 + ld bc, $1000 + jr Function118b10 + +Function118ae4: + push bc + push de + push hl + ld a, $8 + ld [wcd3c], a + call BattleTowerRoomMenu2 + pop hl + ld c, $0 + ld de, wcc60 +.asm_118af5 + ld a, [hli] + ld [de], a + inc de + and a + jr z, .asm_118b06 + inc c + ld a, c + cp $a6 + jr c, .asm_118af5 + ld a, $da + jp Function118805 + +.asm_118b06 + call Function118b24 + pop de + pop bc + ld a, $2a + jp Function119e2b +; 118b10 + +Function118b10: + push de + push bc + ld a, $8 + ld [wcd3c], a + call BattleTowerRoomMenu2 + call Function118b24 + pop bc + pop de + ld a, $2a + jp Function119e2b + +Function118b24: ; 118b24 (46:4b24) + ld hl, $c346 + ld a, $8 + ld [hli], a + ld a, $c7 + ld [hli], a + ld a, $60 + ld [hli], a + ld a, $cc + ld [hli], a + call Function119eb4 + call Function119ec2 + ld a, $80 + ld [wcd89], a + ld hl, $c346 + ret +; 118b42 (46:4b42) + +Function118b42: ; 118b42 + ld hl, wd002 + ld a, l + ld [wcd51], a + ld a, h + ld [wcd52], a + call Function118b8c + ld a, l + ld [wcd55], a + ld [wcd59], a + ld a, h + ld [wcd56], a + ld [wcd5a], a + call Function118b8c + ld a, l + ld [wcd53], a + ld [wcd5d], a + ld a, h + ld [wcd54], a + ld [wcd5e], a + call Function118b8c + ld a, l + ld [wcd57], a + ld [wcd5b], a + ld a, h + ld [wcd58], a + ld [wcd5c], a + call Function118b8c + ld a, l + ld [wcd5f], a + ld a, h + ld [wcd60], a + ret +; 118b8c + +Function118b8c: ; 118b8c +.asm_118b8c + call Function118b9a + ret nc + ld a, [hli] + cp $d + jr nz, .asm_118b8c + dec hl + xor a + ld [hli], a + ld [hli], a + ret +; 118b9a + +Function118b9a: ; 118b9a + ld a, h + cp $e0 + ret c + ld a, $d3 + call Function118805 + and a + ret +; 118ba5 + + + charmap " ", $20 ; revert to ascii + +ExchangeDownloadURL: ; 0x118ba5 + db "http://gameboy.datacenter.ne.jp/cgb/download?name=/01/CGB-BXTJ/exchange/index.txt", 0 + +BattleDownloadURL: ; 0x118bf7 + db "http://gameboy.datacenter.ne.jp/cgb/download?name=/01/CGB-BXTJ/battle/index.txt", 0 + +NewsDownloadURL: ; 0x118c47 + db "http://gameboy.datacenter.ne.jp/cgb/download?name=/01/CGB-BXTJ/news/index.txt", 0 + +MenuDownloadURL: ; 0x118c95 + db "http://gameboy.datacenter.ne.jp/cgb/download?name=/01/CGB-BXTJ/POKESTA/menu.cgb", 0 + +IndexDownloadURL: ; 0x118ce5 + db "http://gameboy.datacenter.ne.jp/cgb/download?name=/01/CGB-BXTJ/tamago/index.txt", 0 + + +Function118d35: ; 118d35 +; unreferenced + ld hl, $d200 + ld a, [wcd38] + and a + jr nz, .asm_118d6e + ld a, [hli] + cp $94 + jr nz, .asm_118d7b + ld a, [hl] + cp $5 + jr nz, .asm_118d7b + ld a, [wcd4f] + sla a + ld b, a + sla a + sla a + add b + ld b, a + ld a, $5 + call GetSRAMBank + ld a, b + ld [$b2fb], a + call CloseSRAM + callba Function170be4 + callba Function1700c4 + jr .asm_118d78 + +.asm_118d6e + ld a, [hli] + cp $96 + jr nz, .asm_118d7b + ld a, [hl] + cp $0 + jr nz, .asm_118d7b + +.asm_118d78 + jp BattleTowerRoomMenu_IncrementJumptable + +.asm_118d7b + ld a, $d3 + jp Function118805 +; 118d80 + +Function118d80: ; 118d80 + call Function118e06 + ld a, [wcd38] + and a + jr z, .asm_118d8e + call BattleTowerRoomMenu_IncrementJumptable + jr asm_118d9f + +.asm_118d8e + ld a, $9 + ld [wcd3c], a + ld a, $12 + ld [wMobileInactivityTimerSeconds], a + call BattleTowerRoomMenu_IncrementJumptable + +Function118d9b: + call BattleTowerRoomMenu2 + ret c + +asm_118d9f + ld hl, $c608 + call Function119940 + ld a, [wcd38] + and a + jr nz, .asm_118db2 + ld a, $8f + ld [wcd3b], a + jr .asm_118db7 + +.asm_118db2 + ld a, $26 + ld [wcd3b], a + +.asm_118db7 + ld hl, w3_d800 + ld a, $8 + ld [hli], a + ld a, $c6 + ld [hli], a + ld a, [wcd3b] + ld [hli], a + xor a + ld [hli], a + ld a, $8 + ld [hli], a + ld a, $c7 + ld [hli], a + ld a, [wcd39] + ld [hli], a + ld a, [wcd3a] + ld [hli], a + call Function119eb4 + call Function119ec2 + ld a, $40 + ld [wcd89], a + ld hl, w3_d800 + ld de, $de00 + ld bc, $0200 + ld a, $2c + jp Function119e2b +; 118ded + +Function118ded: ; 118ded + ld a, [wcd38] + and a + jr z, .asm_118e03 + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + callba Function11b93b + pop af + ld [rSVBK], a + +.asm_118e03 + jp BattleTowerRoomMenu_IncrementJumptable +; 118e06 + +Function118e06: ; 118e06 + ld hl, wd002 + ld a, [wcd38] + and a + jr z, .asm_118e1d +.asm_118e0f + call Function118b9a + ret nc + ld a, [hli] + cp $d + jr nz, .asm_118e0f + ld a, [hli] + cp $a + jr nz, .asm_118e0f + +.asm_118e1d + ld a, l + ld [wcd39], a + ld a, h + ld [wcd3a], a +.asm_118e25 + call Function118b9a + ret nc + ld a, [hli] + cp $d + jr nz, .asm_118e25 + ld a, [hli] + cp $a + jr nz, .asm_118e25 + dec hl + xor a + ld [hld], a + ld [hl], a + jr asm_118e3e + +Function118e39: ; 118e39 (46:4e39) +.asm_118e39 + ld a, [hli] + and a + jr nz, .asm_118e39 + dec hl +asm_118e3e +.asm_118e3e + ld a, [hld] + cp $2f + jr nz, .asm_118e3e + inc hl + inc hl + ld de, wcd85 + ld c, $4 +.asm_118e4a + ld a, [hli] + cp $2e + jr z, .asm_118e63 + cp $30 + jr c, .asm_118e67 + cp $3a + jr nc, .asm_118e67 + sub $30 + add $f6 + ld [de], a + inc de + dec c + jr nz, .asm_118e4a + ld de, wcd85 +.asm_118e63 + ld a, $50 + ld [de], a + ret +.asm_118e67 + ld a, $f3 + ld [de], a + inc de + jr .asm_118e63 + +Function118e6d: ; 118e6d (46:4e6d) + xor a + ld [wcd65], a + ld a, $a + jp Function119e2b + +Function118e76: ; 118e76 (46:4e76) + ; Call $c in BattleTowerRoomMenu2 + ld a, $c + ld [wcd3c], a + jp BattleTowerRoomMenu_IncrementJumptable + +Function118e7e: ; 118e7e (46:4e7e) + call BattleTowerRoomMenu2 + ret c + ld a, $36 + jp Function119e2b + +BattleTowerRoomMenu_CallRoomMenu2: ; 118e87 (46:4e87) + call BattleTowerRoomMenu2 + ret c + ld a, [wcd33] + ld [wcf66], a + ret +; 118e92 (46:4e92) + +Function118e92: ; 118e92 + call Function118440 + call Function1191d3 + ld a, [wcd53] + ld l, a + ld a, [wcd54] + ld h, a + ld de, wcc60 + call Function1191ad + ret c + ld de, w3_d800 + ld bc, $0800 + jp Function118b10 +; 118eb0 + +Function118eb0: ; 118eb0 + call Function118440 + ld hl, $d802 + ld de, BGMapBuffer + ld bc, $000c + call CopyBytes + call Function1192cc + ret c + jp BattleTowerRoomMenu_IncrementJumptable +; 118ec6 + +Function118ec6: ; 118ec6 + call Function118440 + call SpeechTextBox + ld hl, $d80e + ld de, $c320 + ld bc, $0026 + call CopyBytes + xor a + ld [$c31f], a + ld a, $20 + ld [$c31b], a + ld a, $c3 + ld [$c31c], a + hlcoord 1, 14 + ld a, l + ld [$c31d], a + ld a, h + ld [$c31e], a + ld a, $2 + ld [$c31a], a + ld a, $1d + ld [wcd3c], a + ld a, $24 + ld [wMobileInactivityTimerSeconds], a + ld a, $11 + ld [wMobileInactivityTimerFrames], a + ld a, $1c + ld [wcd47], a + jp BattleTowerRoomMenu_IncrementJumptable +; 118f0d + +Function118f0d: ; 118f0d + call BattleTowerRoomMenu2 + ret c + call Function118440 + +Function118f14: + call Function118440 + ld a, [wcd51] + ld l, a + ld a, [wcd52] + ld h, a + ld de, wcc60 + call Function1191ad + ret c + ld a, [wcc60] + and a + jr z, .DontSendSaveFile + ld hl, Text_SaveFileWillBeSent + call BattleTowerRoomMenu_SetMessage + +.DontSendSaveFile: + ld a, [wcd57] + ld l, a + ld a, [wcd58] + ld h, a + ld de, wcc60 + call Function1191ad + ret c + ld hl, wcc60 + call Function118e39 + ld a, $9 + ld [wcd3c], a + ld a, $24 + ld [wMobileInactivityTimerSeconds], a + ld a, $13 + ld [wMobileInactivityTimerFrames], a + ld a, $1c + ld [wcd47], a + jp BattleTowerRoomMenu_IncrementJumptable +; 118f5e + +Function118f5e: ; 118f5e + call BattleTowerRoomMenu2 + ret c + call Function118440 + call DelayFrame + +Function118f68: + call Function119223 + ret c + call Function118440 + ld a, [wcd51] + ld l, a + ld a, [wcd52] + ld h, a + ld de, wcc60 + call Function1191ad + ret c + ld a, [wcc60] + and a + jr z, .asm_118fba + ld hl, $c346 + ld a, $c608 % $100 + ld [hli], a + ld a, $c608 / $100 + ld [hli], a + ld a, [wcd4b] + ld [hli], a + ld a, [wcd4c] + ld [hli], a + ld a, $c708 % $100 + ld [hli], a + ld a, $c708 / $100 + ld [hli], a + ld a, $60 + ld [hli], a + ld a, $cc + ld [hli], a + call Function119eb4 + call Function119ec2 + ld a, $40 + ld [wcd89], a + ld hl, $c346 + ld de, $de00 + ld bc, $0200 + ld a, $2c + jp Function119e2b + +.asm_118fba + call BattleTowerRoomMenu_IncrementJumptable + jp BattleTowerRoomMenu_IncrementJumptable +; 118fc0 + +Function118fc0: ; 118fc0 + call Function118440 + ld a, [wcd55] + ld l, a + ld a, [wcd56] + ld h, a + ld de, wcc60 + call Function1191ad + ret c + ld a, [wcc60] + and a + jr z, .asm_118ffa + ld a, [wcd51] + ld l, a + ld a, [wcd52] + ld h, a + ld de, wcc60 + call Function1191ad + ret c + ld a, [wcc60] + and a + jr z, .asm_118ff2 + ld hl, Text_SentSaveFileReadingNews + jr .asm_118ff5 + +.asm_118ff2 + ld hl, Text_ReadingNews + +.asm_118ff5 + call BattleTowerRoomMenu_SetMessage + jr Function119009 + +.asm_118ffa + ld hl, Text_ReadingNews + call BattleTowerRoomMenu_SetMessage + call BattleTowerRoomMenu_IncrementJumptable + call BattleTowerRoomMenu_IncrementJumptable + jp BattleTowerRoomMenu_IncrementJumptable + +Function119009: + call Function118440 + call Function119300 + ld a, [wcd55] + ld l, a + ld a, [wcd56] + ld h, a + ld de, wcc60 + call Function1191ad + ret c + ld hl, $c346 + ld a, $8 + ld [hli], a + ld a, $c6 + ld [hli], a + ld a, [wcd4b] + ld [hli], a + ld a, [wcd4c] + ld [hli], a + ld a, $8 + ld [hli], a + ld a, $c7 + ld [hli], a + ld a, $60 + ld [hli], a + ld a, $cc + ld [hli], a + call Function119eb4 + call Function119ec2 + ld a, $40 + ld [wcd89], a + ld hl, $c346 + ld de, w3_d000 + ld bc, $1000 + ld a, $2c + jp Function119e2b +; 119054 + +Function119054: ; 119054 + ld a, $6 + call GetSRAMBank + ld hl, wd002 + ld a, [wcd4f] + ld e, a + ld a, [wcd50] + ld d, a + ld a, [w3_d000] + ld c, a + ld a, [w3_d000 + 1] + ld b, a + call Function119192 + ret c + ld a, [wcd89] + and $1 + jr z, .asm_11908a + ld a, $6 + ld [rSVBK], a + ld hl, wd002 + ld a, [w3_d000] + ld c, a + ld a, [w3_d000 + 1] + ld b, a + call Function119192 + ret c + +.asm_11908a + call CloseSRAM + ld a, $3 + ld [rSVBK], a + ld a, $5 + call GetSRAMBank + ld a, [wcd4f] + ld [$b1b3], a + ld a, [wcd50] + ld [$b1b4], a + ld hl, BGMapBuffer + ld de, $aa7f + ld bc, $000c + call CopyBytes + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + ld a, [wd474] + ld [$b2f3], a + ld hl, wd475 + ld de, $b2f4 + ld bc, $0004 + call CopyBytes + pop af + ld [rSVBK], a + call CloseSRAM + jp BattleTowerRoomMenu_IncrementJumptable +; 1190d0 + +Function1190d0: ; 1190d0 + ld a, $3 + ld [rSVBK], a + ld a, [wcd57] + ld l, a + ld a, [wcd58] + ld h, a + ld de, wcc60 + call Function1191ad + ret c + ld de, w3_d000 + ld bc, $1000 + jp Function118b10 +; 1190ec + +Function1190ec: ; 1190ec + ld a, $5 + call GetSRAMBank + ld hl, BGMapBuffer + ld de, $aa73 + ld bc, $000c + call CopyBytes + call CloseSRAM + ld a, $5 + call GetSRAMBank + ld a, $1 + ld [$aa72], a + call CloseSRAM + ld a, $6 + call GetSRAMBank + ld a, [w3_d000] + ld c, a + ld a, [w3_d000 + 1] + ld b, a + ld hl, wd002 + ld de, $a000 + call Function119192 + ret c + ld a, [wcd89] + and $1 + jr z, .asm_11913e + ld a, $6 + ld [rSVBK], a + ld a, [w3_d000] + ld c, a + ld a, [w3_d000 + 1] + ld b, a + ld hl, wd002 + call Function119192 + ret c + +.asm_11913e + ld a, $3 + ld [rSVBK], a + call CloseSRAM + ld hl, Text_ReceivedNews + call BattleTowerRoomMenu_SetMessage + jp BattleTowerRoomMenu_IncrementJumptable +; 11914e + +Function11914e: ; 11914e + call BattleTowerRoomMenu2 + ret c + ld a, $1c + ld [wcf66], a + ld a, $a + ld [wc300], a + ret +; 11915d + +Function11915d: ; 11915d + ld hl, $d802 + ld de, BGMapBuffer + ld bc, $000c + call CopyBytes + ld a, $5 + call GetSRAMBank + ld hl, BGMapBuffer + ld de, $aa7f + ld c, $c +.asm_119176 + ld a, [de] + inc de + cp [hl] + jr nz, .asm_119184 + inc hl + dec c + jr nz, .asm_119176 + call BattleTowerRoomMenu_IncrementJumptable + jr .asm_11918e + +.asm_119184 + ld a, $16 + ld [wcf66], a + ld a, $b + ld [wc300], a + +.asm_11918e + call CloseSRAM + ret +; 119192 + +Function119192: ; 119192 + inc b + inc c + jr .asm_11919e + +.asm_119196 + ld a, [hli] + ld [de], a + inc de + ld a, $bf + cp d + jr c, .asm_1191a6 + +.asm_11919e + dec c + jr nz, .asm_119196 + dec b + jr nz, .asm_119196 + and a + ret + +.asm_1191a6 + ld a, $d3 + call Function118805 + scf + ret +; 1191ad + +Function1191ad: ; 1191ad + push bc + ld c, $0 + ld a, $5 + ld [rSVBK], a +.asm_1191b4 + ld a, [hli] + ld [de], a + inc de + and a + jr z, .asm_1191cc + inc c + ld a, c + cp $a6 + jr c, .asm_1191b4 + ld a, $da + call Function118805 + ld a, $3 + ld [rSVBK], a + pop bc + scf + ret + +.asm_1191cc + ld a, $3 + ld [rSVBK], a + pop bc + and a + ret +; 1191d3 + +Function1191d3: ; 1191d3 + ld hl, w3_d100 + 2 + ld a, l + ld [wcd53], a + ld a, h + ld [wcd54], a + call Function11920f + ld a, l + ld [wcd51], a + ld a, [wcd4a] + ld a, h + ld [wcd52], a + call Function11920f + ld a, l + ld [wcd55], a + ld a, [wcd4a] + ld a, h + ld [wcd56], a + call Function11920f + ld a, [wcd49] + ld a, l + ld [wcd57], a + ld a, [wcd4a] + ld a, h + ld [wcd58], a + call Function11920f + ret +; 11920f + +Function11920f: ; 11920f +.asm_11920f + call Function118b9a + ret nc + ld a, [hli] + cp $d + jr nz, .asm_11920f + ld a, [hli] + cp $a + jr nz, .asm_11920f + dec hl + xor a + ld [hld], a + ld [hli], a + inc hl + ret +; 119223 + +Function119223: ; 119223 + xor a + ld [wcd4b], a + ld [wcd4c], a + ld a, $5 + call GetSRAMBank + ld hl, wc3cd + ld de, $b092 + ld bc, $001f + call CopyBytes + dec de + xor a + ld [de], a + ld hl, $d810 +.asm_119241 + ld a, [hli] + cp $50 + jr nz, .asm_119241 + ld a, [hli] + ld [wcd4f], a + ld a, [hli] + ld [wcd50], a + ld a, [hli] + ld [$b1b1], a + ld c, a + ld a, [hli] + ld [$b1b2], a + ld b, a + ld de, $b1d3 + call CopyBytes + call CloseSRAM + ld e, l + ld d, h + ld hl, $c608 +.asm_119266 + ld a, [de] + inc de + cp $ff + jr z, .asm_1192c2 + cp $fe + jr z, .asm_1192a5 + call GetSRAMBank + ld a, [de] + inc de + ld c, a + ld a, [de] + inc de + ld b, a + ld a, [de] + inc de + push de + push af + ld a, [wcd4b] + ld e, a + ld a, [wcd4c] + ld d, a + pop af +.asm_119286 + push af + ld a, [bc] + inc bc + ld [hli], a + inc de + pop af + dec a + jr nz, .asm_119286 + call CloseSRAM + ld a, e + ld [wcd4b], a + ld a, d + ld [wcd4c], a + pop de +.asm_11929b + and a + jr z, .asm_119266 + ld a, $d3 + call Function118805 + scf + ret + +.asm_1192a5 + ld a, [wcd4b] + ld c, a + ld a, [wcd4c] + ld b, a + ld a, [de] + inc de +.asm_1192af + push af + ld a, [de] + inc de + ld [hli], a + inc bc + pop af + dec a + jr nz, .asm_1192af + ld a, c + ld [wcd4b], a + ld a, b + ld [wcd4c], a + jr .asm_11929b + +.asm_1192c2 + ld a, e + ld [wcd4d], a + ld a, d + ld [wcd4e], a + and a + ret +; 1192cc + +Function1192cc: ; 1192cc + ld a, $5 + call GetSRAMBank + ld hl, $aa73 + ld de, $c608 + ld bc, $000c + call CopyBytes + call CloseSRAM + ld hl, $c608 + ld de, BGMapBuffer + ld c, $c +.asm_1192e8 + ld a, [de] + inc de + ld b, a + ld a, [hli] + cp b + jr nz, .asm_1192fe + dec c + jr nz, .asm_1192e8 + ld a, $1f + ld [wcd3c], a + ld a, $27 + ld [wcf66], a + scf + ret + +.asm_1192fe + and a + ret +; 119300 + +Function119300: ; 119300 + xor a + ld [wcd4b], a + ld [wcd4c], a + ld a, [wcd4d] + ld e, a + ld a, [wcd4e] + ld d, a + ld hl, $c608 + ld a, [wcd4b] + ld c, a + ld a, [wcd4c] + ld b, a +.asm_11931a + ld a, [de] + inc de + cp $50 + jr z, .asm_119324 + ld [hli], a + inc bc + jr .asm_11931a + +.asm_119324 + ld a, $3d + ld [hli], a + inc bc + ld a, c + ld [wcd4b], a + ld a, b + ld [wcd4c], a + ld a, [de] + inc de + call GetSRAMBank + ld a, [de] + inc de + ld c, a + ld a, [de] + inc de + ld b, a + ld a, [de] + inc de + push de + push af + ld a, [wcd4b] + ld e, a + ld a, [wcd4c] + ld d, a + pop af +.asm_119348 + push af + ld a, [bc] + and $f0 + swap a + call Function1197bf + ld [hli], a + inc de + ld a, [bc] + inc bc + and $f + call Function1197bf + ld [hli], a + inc de + pop af + dec a + jr nz, .asm_119348 + call CloseSRAM + ld a, e + ld [wcd4b], a + ld a, d + ld [wcd4c], a + pop de + ld a, [de] + cp $50 + jr z, .asm_11937f + ld a, [wcd4b] + ld c, a + ld a, [wcd4c] + ld b, a + ld a, $26 + ld [hli], a + inc bc + jr .asm_11931a + +.asm_11937f + ret +; 119380 + +Function119380: ; 119380 + ld a, $80 + ld [wcd49], a + jp BattleTowerRoomMenu_IncrementJumptable +; 119388 + +Function119388: ; 119388 + ld hl, wcd49 + dec [hl] + ret nz + ld hl, wcc60 + call Function118e39 + ld a, $9 + ld [wcd3c], a + ld a, $10 + ld [wMobileInactivityTimerSeconds], a + call BattleTowerRoomMenu_IncrementJumptable + +Function1193a0: + call BattleTowerRoomMenu2 + ret c + call DelayFrame + ld a, $8 + ld [wcd3c], a + call BattleTowerRoomMenu2 + ld hl, $c346 + ld a, wd000 % $100 + ld [hli], a + ld a, wd000 / $100 + ld [hli], a + ld a, [wcd3b] + ld [hli], a + xor a + ld [hli], a + ld a, $c708 % $100 + ld [hli], a + ld a, $c708 / $100 + ld [hli], a + ld a, $60 + ld [hli], a + ld a, $cc + ld [hli], a + call Function119eb4 + call Function119ec2 + ld a, $40 + ld [wcd89], a + ld hl, $c346 + ld de, $de00 + ld bc, $0200 + ld a, $2c + jp Function119e2b +; 1193e3 + +Function1193e3: ; 1193e3 + ld hl, wcd49 + dec [hl] + ret nz + ld hl, wcc60 + call Function118e39 + ld a, $9 + ld [wcd3c], a + ld a, $11 + ld [wMobileInactivityTimerSeconds], a + call BattleTowerRoomMenu_IncrementJumptable + +Function1193fb: + call BattleTowerRoomMenu2 + ret c + call DelayFrame + ld a, $8 + ld [wcd3c], a + call BattleTowerRoomMenu2 + ld de, w3_d000 + ld bc, $1000 + jp Function118b10 +; 119413 + +Function119413: ; 119413 + ld a, $6 + call GetSRAMBank + ld a, [w3_d000] + ld c, a + ld a, [w3_d000 + 1] + ld b, a + dec bc + dec bc + ld hl, wd002 + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + call Function119192 + ret c + ld a, [wcd89] + and $1 + jr z, .asm_119447 + ld a, $6 + ld [rSVBK], a + ld a, [wd000] + ld c, a + ld a, [w3_d000 + 1] + ld b, a + ld hl, wd002 + call Function119192 + ret c + +.asm_119447 + ld a, $3 + ld [rSVBK], a + call CloseSRAM + jp BattleTowerRoomMenu_IncrementJumptable +; 119451 + +Function119451: ; 119451 (46:5451) + ld a, [wcd89] + and $1 + jr z, .asm_11945d + ld a, $d3 + jp Function118805 +.asm_11945d + xor a + ld [wcd50], a + call Function119694 + ld a, b + ld [wcd49], a + call Function1196cd + ld a, [wd002] + ld hl, wd003 + +Function119471: ; 119471 (46:5471) + push af + ld a, [hli] + ld [$c608], a + ld a, [hli] + ld [$c608 + 3], a + ld a, [hli] + ld [$c608 + 1], a + ld a, [hli] + ld [$c608 + 2], a + ld a, [hli] + ld [$c608 + 4], a + ld a, [hli] + ld [$c608 + 5], a ; $c608 + 5 + push hl + ld a, [$c608] + cp $ff + jr z, .asm_1194a7 + ld a, [$c608 + 2] + cp $ff + jr z, .asm_1194a7 + ld a, [$c608 + 1] + cp $ff + jr nz, .asm_1194a7 + call Function119584 + jr c, .asm_11950c + jr .asm_1194f0 +.asm_1194a7 + ld hl, $c608 + ld de, $c608 + 3 + ld c, $3 +.asm_1194af + ld a, [de] + inc de + cp [hl] + inc hl + jr c, .asm_1194f3 + jr z, .asm_1194b9 + jr nc, .asm_1194bc +.asm_1194b9 + dec c + jr nz, .asm_1194af +.asm_1194bc + ld c, $3 + ld hl, wcd49 + ld de, $c608 +.asm_1194c4 + ld a, [de] + inc de + cp $ff + jr z, .asm_1194d1 + cp [hl] + jr z, .asm_1194d1 + jr c, .asm_1194d5 + jr nc, .asm_1194f0 +.asm_1194d1 + inc hl + dec c + jr nz, .asm_1194c4 +.asm_1194d5 + ld c, $3 + ld hl, wcd49 + ld de, $c608 + 3 +.asm_1194dd + ld a, [de] + inc de + cp $ff + jr z, .asm_1194ea + cp [hl] + jr c, .asm_1194f0 + jr z, .asm_1194ea + jr nc, .asm_11950c +.asm_1194ea + inc hl + dec c + jr nz, .asm_1194dd + jr .asm_11950c +.asm_1194f0 + pop hl + jr .asm_119557 +.asm_1194f3 + ld c, $3 + ld hl, wcd49 + ld de, $c608 +.asm_1194fb + ld a, [de] + inc de + cp $ff + jr z, .asm_119508 + cp [hl] + jr c, .asm_11950c + jr z, .asm_119508 + jr nc, .asm_1194d5 +.asm_119508 + inc hl + dec c + jr nz, .asm_1194fb +.asm_11950c + pop hl + ld a, $1 + ld [wcd50], a + ld a, l + ld [$c608], a + ld a, h + ld [$c608 + 1], a + ld de, wcd69 + ld c, $10 + ld b, $0 +.asm_119521 + ld a, [de] + inc de + cp [hl] + inc hl + jr nz, .asm_119528 + inc b +.asm_119528 + dec c + jr nz, .asm_119521 + ld a, $10 + cp b + jr z, .asm_119536 +rept 4 + inc hl +endr + jr .asm_11957a +.asm_119536 + ld a, [hli] + cp $50 + jr nz, .asm_119552 + ld a, [hli] + cp $33 + jr nz, .asm_119553 + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + ld a, [wcd83] + cp c + jr nz, .asm_119576 + ld a, [wcd84] + cp b + jr nz, .asm_119576 + jr .asm_11955b +.asm_119552 + inc hl +.asm_119553 + inc hl + inc hl + jr .asm_11955b +.asm_119557 + ld de, $14 + add hl, de +.asm_11955b + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + add hl, de + pop af + dec a + jp nz, Function119471 + ld a, [wcd50] + and a + jr z, .asm_119571 + ld a, $1a + ld [wcf66], a + ret +.asm_119571 + ld a, $d8 + jp Function118805 +.asm_119576 + ld a, $10 + jr .asm_11957c +.asm_11957a + ld a, $f +.asm_11957c + ld [wcf66], a + pop af + call Function1195c4 + ret + +Function119584: ; 119584 (46:5584) + ld a, [$c608] + ld b, a + ld a, [$c608 + 3] + ld c, a + cp b + jr c, .asm_11959c + ld a, [wcd49] + cp b + jr c, .asm_1195c2 +.asm_119595 + cp c + jr c, .asm_1195a2 + jr z, .asm_1195a2 + jr .asm_1195c2 +.asm_11959c + ld a, [wcd49] + cp b + jr c, .asm_119595 +.asm_1195a2 + ld a, [$c608 + 2] + ld b, a + ld a, [$c608 + 5] ; $c608 + 5 + ld c, a + cp b + jr c, .asm_1195ba + ld a, [wcd4b] + cp b + jr c, .asm_1195c2 +.asm_1195b3 + cp c + jr c, .asm_1195c0 + jr z, .asm_1195c0 + jr .asm_1195c2 +.asm_1195ba + ld a, [wcd4b] + cp b + jr c, .asm_1195b3 +.asm_1195c0 + scf + ret +.asm_1195c2 + and a + ret + +Function1195c4: ; 1195c4 (46:55c4) + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + ld de, $a5 + ld a, b + cp d + jr c, .asm_1195d9 + jr z, .asm_1195d3 + jr nc, .asm_1195f3 +.asm_1195d3 + ld a, c + cp e + jr z, .asm_1195d9 + jr nc, .asm_1195f3 +.asm_1195d9 + ld de, wcc60 + call CopyBytes + xor a + ld [de], a + ld a, [$c608] + ld l, a + ld a, [$c608 + 1] + ld h, a + ld de, wcd69 + ld bc, $10 + call CopyBytes + ret +.asm_1195f3 + ld a, $d8 + jp Function118805 + +Function1195f8: ; 1195f8 (46:55f8) + ld a, $11 + ld [wcd3c], a + ld a, $1c + ld [wMobileInactivityTimerSeconds], a + ld a, $f + ld [wMobileInactivityTimerFrames], a + ld a, $14 + ld [wcd47], a + call BattleTowerRoomMenu_IncrementJumptable + jp BattleTowerRoomMenu_IncrementJumptable + +Function119612: ; 119612 (46:5612) + ld a, $14 + ld [wcd3c], a + ld a, $1c + ld [wMobileInactivityTimerSeconds], a + ld a, $10 + ld [wMobileInactivityTimerFrames], a + ld a, $14 + ld [wcd47], a + jp BattleTowerRoomMenu_IncrementJumptable + +Function119629: ; 119629 (46:5629) + call BattleTowerRoomMenu2 + ret c + ld a, $60 + ld l, a + ld a, $cc + ld h, a + call Function118e39 + ld a, $9 + ld [wcd3c], a + ld a, $1c + ld [wMobileInactivityTimerSeconds], a + ld a, $14 + ld [wcd47], a + call BattleTowerRoomMenu_IncrementJumptable + +Function119648: ; 119648 (46:5648) + call BattleTowerRoomMenu2 + ret c + call DelayFrame + ld a, $8 + ld [wcd3c], a + call BattleTowerRoomMenu2 + call Function118b24 + ld de, w3_d000 + ld bc, $1000 + ld a, $2a + jp Function119e2b + +Function119665: ; 119665 (46:5665) + ld a, $1a + ld [wcd3c], a + call BattleTowerRoomMenu_IncrementJumptable + +Function11966d: ; 11966d (46:566d) + call BattleTowerRoomMenu2 + ret c + ld a, [wcd47] + ld [wcf66], a + ld a, $a + ld [wc300], a + ret + +Function11967d: ; 11967d (46:567d) + ld a, $18 + ld [wcd3c], a + call BattleTowerRoomMenu_IncrementJumptable + +Function119685: ; 119685 (46:5685) + call BattleTowerRoomMenu2 + ret c + ld a, $14 + ld [wcf66], a + ld a, $a + ld [wc300], a + ret + +Function119694: ; 119694 (46:5694) + ld b, 0 + ld hl, Unknown_1196b8 +.asm_119699 + ld de, $c708 + ld a, [de] + inc de + cp [hl] + inc hl + jr nz, .asm_1196af + ld a, [de] + inc de + cp [hl] + inc hl + jr nz, .asm_1196b0 + ld a, [de] + inc de + cp [hl] + inc hl + jr nz, .asm_1196b1 + ret +.asm_1196af + inc hl +.asm_1196b0 + inc hl +.asm_1196b1 + inc b + ld a, b + cp $7 + jr nz, .asm_119699 + ret +; 1196b8 (46:56b8) + +Unknown_1196b8: ; 1196b8 + db "Mon" + db "Tue" + db "Wed" + db "Thu" + db "Fri" + db "Sat" + db "Sun" +; 1196cd + +SECTION "bank46_2", ROMX +; A hack to use ascii above. + +Function1196cd: ; 1196cd (46:56cd) + ld de, $c719 + call Function1196de + ld [wcd4a], a + inc de + call Function1196de + ld [wcd4b], a + ret + +Function1196de: ; 1196de (46:56de) + ld a, [de] + inc de + ; b = ([de] - 48) * 2 + ; c = ([de] - 48) * 10 + sub $30 + sla a + ld b, a + sla a + sla a + add b + ld c, a + add hl, bc + ld a, [de] + inc de + sub $30 + add c + ret +; 1196f2 (46:56f2) + +Function1196f2: ; 1196f2 + ld hl, wd002 +.asm_1196f5 + call Function118b9a + ret nc + ld a, [hli] + cp $d + jr nz, .asm_1196f5 + ld a, [hl] + cp $a + jr nz, .asm_1196f5 + xor a + ld [hld], a + ld [hli], a + ld a, l + ld [wcd5b], a + ld a, h + ld [wcd5c], a + inc hl + ld e, l + ld d, h + ld a, [de] + inc de + cp $d + jr nz, .asm_119722 + ld a, [de] + inc de + cp $a + jr nz, .asm_119722 + ld a, $b + jp Function118805 + +.asm_119722 + call Random + ld c, $0 + ld b, c +.asm_119728 + call Function119798 + ld a, d + cp $ff + jr nz, .asm_119735 + ld a, e + cp $ff + jr z, .asm_11974c + +.asm_119735 + ld a, [hRandomSub] + cp d + jr c, .asm_11974c + jr z, .asm_11973e + jr .asm_119745 + +.asm_11973e + ld a, [hRandomAdd] + cp e + jr c, .asm_11974c + jr z, .asm_11974c + +.asm_119745 + inc bc + ld a, c + or b + jr z, .asm_119770 + jr .asm_119728 + +.asm_11974c + ld a, [wcd5b] + ld l, a + ld a, [wcd5c] + ld h, a +.asm_119754 + ld a, [hld] + cp $58 + jr nz, .asm_119754 + ld d, $0 +.asm_11975b + inc d + ld a, [hld] + cp $58 + jr z, .asm_11975b + inc hl + inc hl + ld a, d + dec a + jr z, .asm_11978e + dec a + jr z, .asm_119785 + dec a + jr z, .asm_11977e + dec a + jr z, .asm_119775 + +.asm_119770 + ld a, $d3 + jp Function118805 + +.asm_119775 + ld a, b + and $f0 + swap a + call Function1197bf + ld [hli], a + +.asm_11977e + ld a, b + and $f + call Function1197bf + ld [hli], a + +.asm_119785 + ld a, c + and $f0 + swap a + call Function1197bf + ld [hli], a + +.asm_11978e + ld a, c + and $f + call Function1197bf + ld [hli], a + jp BattleTowerRoomMenu_IncrementJumptable +; 119798 + +Function119798: ; 119798 + ld d, $0 + ld e, d + call Function1197b4 + swap a + or d + ld d, a + call Function1197b4 + or d + ld d, a + call Function1197b4 + swap a + or e + ld e, a + call Function1197b4 + or e + ld e, a + ret +; 1197b4 + +Function1197b4: ; 1197b4 + ld a, [hli] + cp $61 + jr nc, .asm_1197bc + sub $30 + ret + +.asm_1197bc + sub $57 + ret +; 1197bf + +Function1197bf: ; 1197bf + cp $a + jr nc, .asm_1197c6 + add $30 + ret + +.asm_1197c6 + add $57 + ret +; 1197c9 + +Function1197c9: ; 1197c9 + ld hl, wd002 + call Function118e39 + ld a, $9 + ld [wcd3c], a + ld a, $12 + ld [wMobileInactivityTimerSeconds], a + call BattleTowerRoomMenu_IncrementJumptable + +Function1197dc: + call BattleTowerRoomMenu2 + ret c + call DelayFrame + ld hl, wd002 + ld de, wcc60 + ld bc, $0080 + call CopyBytes + dec de + xor a + ld [de], a + call Function118b24 + ld de, w3_d000 + ld bc, $1000 + ld a, $2a + jp Function119e2b +; 119800 + +Function119800: ; 119800 + ld a, $fd + ld [$c6d0], a + ld [wOTTrademonSpecies], a + ld a, [wcd81] + ld [wc74e], a + ld a, [wJumptableIndex] + push af + ld a, [wcf64] + push af + ld a, [wcf65] + push af + ld a, [wcf66] + push af + ld a, $1 + ld [rSVBK], a + call FadeToMenu + callba Function10803d + call Function11a9ce + call RestartMapMusic + ld a, $3 + ld [rSVBK], a + pop af + ld [wcf66], a + pop af + ld [wcf65], a + pop af + ld [wcf64], a + pop af + ld [wJumptableIndex], a + callba Function115dc3 + jp BattleTowerRoomMenu_IncrementJumptable +; 11984e + +Function11984e: ; 11984e + ld a, [wcd80] + and a + jr nz, .asm_1198a0 + ld a, [wcd38] + and a + jr nz, .asm_1198a8 + callba Function170000 + ld a, [wJumptableIndex] + push af + ld a, [wcf64] + push af + ld a, [wcf65] + push af + ld a, [wcf66] + push af + ld a, $1 + ld [rSVBK], a + call FadeToMenu + callba MobileTradeAnimation_SendGivemonToGTS + call Function11a9ce + call RestartMapMusic + ld a, $3 + ld [rSVBK], a + pop af + ld [wcf66], a + pop af + ld [wcf65], a + pop af + ld [wcf64], a + pop af + ld [wJumptableIndex], a + callba Function115dc3 + jp BattleTowerRoomMenu_IncrementJumptable + +.asm_1198a0 + ld a, $a + ld [wc300], a + jp BattleTowerRoomMenu_IncrementJumptable + +.asm_1198a8 + callba Function17005a + ld a, [wJumptableIndex] + push af + ld a, [wcf64] + push af + ld a, [wcf65] + push af + ld a, [wcf66] + push af + ld a, $1 + ld [rSVBK], a + call FadeToMenu + callba MobileTradeAnimation_RetrieveGivemonFromGTS + call Function11a9ce + call RestartMapMusic + ld a, $3 + ld [rSVBK], a + pop af + ld [wcf66], a + pop af + ld [wcf65], a + pop af + ld [wcf64], a + pop af + ld [wJumptableIndex], a + callba Function115dc3 + jp BattleTowerRoomMenu_IncrementJumptable +; 1198ee + +Function1198ee: ; 1198ee + ld hl, Text_RegisteringRecord + call BattleTowerRoomMenu_SetMessage + call BattleTowerRoomMenu_IncrementJumptable + +Function1198f7: + ld a, [$c31a] + and a + ret nz + ld hl, $c608 + 2 + call Function119940 + ld hl, w3_d800 + ld a, $c608 % $100 + ld [hli], a + ld a, $c608 / $100 + ld [hli], a + ld a, $f6 + ld [hli], a + xor a + ld [hli], a + ld a, $c708 % $100 + ld [hli], a + ld a, $c708 / $100 + ld [hli], a + ld a, [wcd51] + ld [hli], a + ld a, [wcd52] + ld [hli], a + call Function119eb4 + call Function119ec2 + ld a, $40 + ld [wcd89], a + ld hl, w3_d800 + ld de, $de00 + ld bc, $0200 + ld a, $2c + jp Function119e2b +; 119937 + +Function119937: ; 119937 + callba Function1707f4 + jp BattleTowerRoomMenu_IncrementJumptable +; 119940 + +Function119940: ; 119940 + ld de, wc3cd + ld c, $1e +.asm_119945 + ld a, [de] + inc de + ld [hli], a + dec c + jr z, .asm_119953 + and a + jr nz, .asm_119945 + xor a +.asm_11994f + ld [hli], a + dec c + jr nz, .asm_11994f + +.asm_119953 + ret +; 119954 + +Function119954: ; 119954 + ld a, $1c + ld [wcd3c], a + call BattleTowerRoomMenu2 + ld hl, $c608 + ld de, wc3cd +.asm_119962 + ld a, [de] + inc de + ld [hli], a + and a + jr nz, .asm_119962 + call Function119ec2 + ld hl, $c608 + ld a, $1e + jp Function119e2b +; 119973 + +Function119973: ; 119973 + ld a, $1 + ld [wcf64], a + xor a + ld [wcf65], a + ld [w3_d090], a + ld de, w3_d000 + ld a, $20 + jp Function119e2b +; 119987 + +Function119987: ; 119987 + ld hl, w3_d000 + 1 + ld a, [w3_d000] + or [hl] + jr z, .asm_1199a0 + ld a, [wcf64] + ld l, a + ld a, [wcf65] + ld h, a + ld de, BGPals + ld a, $22 + jp Function119e2b + +.asm_1199a0 + ld a, [w3_d090] + and a + jr z, .asm_1199ae + ld a, $16 + ld [wcf66], a + jp Function119b0d + +.asm_1199ae + ld a, $1b + ld [wcf66], a + ret +; 1199b4 + +Function1199b4: ; 1199b4 + ld a, [wd000 + 130] + and a + jr nz, .asm_1199c7 + ld a, [wd000 + 129] + cp $7 + jr nc, .asm_1199c7 + call BattleTowerRoomMenu_IncrementJumptable + jp Function1199ca + +.asm_1199c7 + jp Function119ac9 +; 1199ca + +Function1199ca: ; 1199ca + ld a, $20 + ld [wcd89], a + ld a, [wcf64] + ld l, a + ld a, [wcf65] + ld h, a + ld de, w3_d100 + ld bc, $0700 + ld a, $28 + jp Function119e2b +; 1199e2 + +Function1199e2: ; 1199e2 + ld c, $c + ld de, XGameCodePrefix + call Function119e4f + jp c, Function119ac9 + ld a, c + cp $1 + jp nz, Function119ac9 + ld hl, w3_d880 + ld bc, XGameCode +.loop + ld a, [bc] + and a + jr z, .game_result_prefix + cp [hl] + jp nz, Function119ac9 + inc bc + inc hl + jr .loop + +.game_result_prefix + ld c, $17 + ld de, XGameResultPrefix + call Function119e4f + jp c, .asm_119aa7 + ld a, c + cp $1 + jp nz, .asm_119aa7 + ld a, [w3_d880] + cp $31 + jp nz, .asm_119aa7 + ld a, [w3_d881] + cp $20 + jp nz, .asm_119aa7 + ld a, [w3_d88a] + cp $20 + jp nz, .asm_119aa7 + ld a, [w3_d894] + cp $20 + jp nz, .asm_119aa7 + xor a + ld [w3_d8a0], a + ld [w3_d8a1], a + ld [w3_d8a2], a + ld [w3_d8a3], a + ld hl, $d8a0 + ld bc, $d889 + call Function119e98 + call Function119e98 + ld hl, $d8a0 + ld a, [wcd2d] + cp [hl] + jr nz, Function119ac9 + inc hl + ld a, [wcd2c] + cp [hl] + jr nz, Function119ac9 + inc hl + ld a, [wcd2b] + cp [hl] + jr nz, Function119ac9 + inc hl + ld a, [wcd2a] + cp [hl] + jr nz, Function119ac9 + xor a + ld [w3_d8a0], a + ld [w3_d8a1], a + ld [w3_d8a2], a + ld [w3_d8a3], a + ld hl, $d8a0 + ld bc, $d88e + call Function119e98 + ld bc, $d893 + call Function119e98 + ld hl, $d8a0 + ld a, [wcd2f] + cp [hl] + jr nz, .asm_119aa7 + inc hl + ld a, [wcd2e] + cp [hl] + jr nz, .asm_119aa7 + inc hl + ld a, [wcd31] + cp [hl] + jr nz, .asm_119aa7 + inc hl + ld a, [wcd30] + cp [hl] + jr z, .asm_119aaf + +.asm_119aa7 + ld a, $25 + ld [wcf66], a + jp Function119b45 + +.asm_119aaf + ld a, [w3_d090] + and a + jr nz, .asm_119aa7 + ld a, [w3_d895] + sub $30 + ld [w3_d090], a + ld a, [wcf64] + ld [w3_d090 + 1], a + ld a, [wcf65] + ld [w3_d090 + 2], a + +Function119ac9: + ld a, [w3_d000] + ld l, a + ld a, [w3_d000 + 1] + ld h, a + dec hl + ld a, l + ld [w3_d000], a + ld a, h + ld [w3_d000 + 1], a + ld a, [wcf64] + ld l, a + ld a, [wcf65] + ld h, a + inc hl + ld a, l + ld [wcf64], a + ld a, h + ld [wcf65], a + ld a, $10 + ld [wcf66], a + ret +; 119af1 + +XGameCode: +INCBIN "data/mobile/x-game-code.txt" +XGameResult: +INCBIN "data/mobile/x-game-result.txt" +; 119b0d + +Function119b0d: ; 119b0d + ld a, $8 + ld [wcd3c], a + call BattleTowerRoomMenu2 + ld a, [w3_d090] + cp $1 + jr z, .asm_119b23 + ld a, $19 + ld [wcf66], a + jr Function119b3b + +.asm_119b23 + ld a, $10 + ld [wcd89], a + ld a, [w3_d090 + 1] + ld l, a + ld a, [w3_d090 + 2] + ld h, a + ld de, w3_d100 + ld bc, $0700 + ld a, $24 + jp Function119e2b + +Function119b3b: + ld a, [w3_d090 + 1] + ld l, a + ld a, [w3_d090 + 2] + ld h, a + jr asm_119b4d + +Function119b45: + ld a, [wcf64] + ld l, a + ld a, [wcf65] + ld h, a + +asm_119b4d + ld a, $26 + jp Function119e2b +; 119b52 + +Function119b52: ; 119b52 + ld a, [w3_d090] + cp $1 + jr nz, .asm_119b66 + ld a, $5 + call GetSRAMBank + ld a, $4 + ld [$a800], a + call CloseSRAM + +.asm_119b66 + ld a, $1c + jp Function119e2b +; 119b6b + +Function119b6b: ; 119b6b + ld a, [w3_d090] + cp $1 + jr z, .asm_119b75 + jp BattleTowerRoomMenu_IncrementJumptable + +.asm_119b75 + ld a, [w3_d100] + ld b, a + ld a, [w3_d100 + 1] + or b + jr z, .asm_119be3 + ld hl, w3_d800 + ld de, w3_d100 + 2 +.asm_119b85 + ld a, [de] + inc de + cp $d + jr nz, .asm_119b85 + inc de + ld a, [de] + cp $d + jr nz, .asm_119b85 + inc de + inc de +.asm_119b93 + ld a, [de] + inc de + cp $d + jr z, .asm_119bfa + call Function119c3e + ret c + ld [hli], a + ld a, [de] + inc de + call Function119c3e + ret c + ld [hli], a + ld a, [de] + inc de + call Function119c3e + ret c + ld [hli], a + ld a, [de] + inc de + call Function119c3e + ret c + ld [hl], a + push de + ld d, [hl] + dec hl + ld c, [hl] + dec hl + ld b, [hl] + dec hl + ld a, [hl] + sla b + sla b + sla b + rla + sla b + rla + ld [hli], a + ld [hl], b + inc hl + rrc c + rrc c + ld [hl], c + dec hl + ld a, $f + and c + or [hl] + ld [hli], a + ld a, [hli] + and $c0 + or [hl] + dec hl + ld [hld], a + dec hl + pop de + inc hl + inc hl + inc hl + ld a, h + cp $e0 + jr c, .asm_119b93 + +.asm_119be3 + ld a, $19 + ld [wcf66], a + ld a, $5 + call GetSRAMBank + ld a, $1 + ld [$a800], a + call CloseSRAM + xor a + ld [w3_d090], a + ret + +.asm_119bfa + inc de + ld a, [de] + cp $d + jr nz, .asm_119b93 + ld a, l + cp (w3_d869) % $100 + jr nz, .asm_119be3 + ld a, h + cp (w3_d869) / $100 + jr nz, .asm_119be3 + ld a, $5 + call GetSRAMBank + ld a, [wcf64] + ld [$b090], a + ld a, [wcf65] + ld [$b091], a + ld hl, w3_d800 + ld de, $b023 + ld bc, $0069 + call CopyBytes + ld a, $3 + ld [$a800], a + call CloseSRAM + ld hl, w3_d800 + ld de, $c608 + ld bc, $0069 + call CopyBytes + jp BattleTowerRoomMenu_IncrementJumptable +; 119c3e + +Function119c3e: ; 119c3e + cp $2b + jr c, .asm_119c68 + jr z, .asm_119c80 + cp $2f + jr c, .asm_119c68 + jr z, .asm_119c84 + cp $30 + jr c, .asm_119c68 + cp $3a + jr c, .asm_119c88 + cp $3d + jr c, .asm_119c68 + jr z, .asm_119c8c + cp $41 + jr c, .asm_119c68 + cp $5b + jr c, .asm_119c8f + cp $61 + jr c, .asm_119c68 + cp $7b + jr c, .asm_119c93 + +.asm_119c68 + ld a, $19 + ld [wcf66], a + ld a, $5 + call GetSRAMBank + ld a, $1 + ld [$a800], a + call CloseSRAM + xor a + ld [w3_d090], a + scf + ret + +.asm_119c80 + ld a, $3e + and a + ret + +.asm_119c84 + ld a, $3f + and a + ret + +.asm_119c88 + add $4 + and a + ret + +.asm_119c8c + xor a + and a + ret + +.asm_119c8f + sub $41 + and a + ret + +.asm_119c93 + sub $47 + and a + ret +; 119c97 + +BattleTowerRoomMenu_UberRestrictionMessage: ; 119c97 + ld hl, Text_UberRestriction + call BattleTowerRoomMenu_SetMessage + call BattleTowerRoomMenu_IncrementJumptable + jr BattleTowerRoomMenu_WaitForMessage + +BattleTowerRoomMenu_PartyMonTopsThisLevelMessage: + ld hl, Text_PartyMonTopsThisLevel + call BattleTowerRoomMenu_SetMessage + call BattleTowerRoomMenu_IncrementJumptable + +BattleTowerRoomMenu_WaitForMessage: + ld a, [$c31a] + and a + ret nz + ld a, $80 + ld [wcd50], a + call BattleTowerRoomMenu_IncrementJumptable + +BattleTowerRoomMenu_DelayRestartMenu: + ; Loops while (--[wcd50] != 0), + ; to create some sort of "delay" after the message is written on the screen, + ; before starting the menu again. + ld hl, wcd50 + dec [hl] + ret nz + ld a, $0 + ld [wcf66], a + ret +; 119cc3 + +BattleTowerRoomMenu_QuitMessage: ; 119cc3 + ld a, [wcd38] + and a + jr z, .asm_119cd1 + dec a + jr z, .asm_119cd6 + ld hl, Text_QuitReadingNews + jr .asm_119cd9 + +.asm_119cd1 + ld hl, Text_CancelBattleRoomChallenge + jr .asm_119cd9 + +.asm_119cd6 + ld hl, Text_ExitGymLeaderHonorRoll + +.asm_119cd9 + call BattleTowerRoomMenu_SetMessage + call BattleTowerRoomMenu_IncrementJumptable + +BattleTowerRoomMenu_PlaceYesNoMenu: + ld a, [$c31a] + and a + ret nz + ld a, $f + ld [wcd3c], a + call BattleTowerRoomMenu_IncrementJumptable + +BattleTowerRoomMenu_UpdateYesNoMenu: + ; Only ever called when [wcd3c] is $10 + call BattleTowerRoomMenu2 + ret c + ld a, [wMobileInactivityTimerFrames] + ld [wcf66], a + ret +; 119cf7 + +MenuDataHeader_119cf7: ; 119cf7 + db $40 ; flags + db 7, 12 ; start coords + db 11, 19 ; end coords + dw NULL + db 0 ; default option +; 119cff + +MenuData_119cff: ; 119cff + db $40 ; flags + db 7, 15 ; start coords + db 11, 19 ; end coords + dw NULL + db 0 ; default option +; 119d07 + +String_119d07: + db " ▼@" + +Strings_L10ToL100: ; 119d0c + db " L:10 @@" + db " L:20 @@" + db " L:30 @@" + db " L:40 @@" + db " L:50 @@" + db " L:60 @@" + db " L:70 @@" + db " L:80 @@" + db " L:90 @@" + db " L:100@@" + db "CANCEL@@" + +Strings_Ll0ToL40: ; 119d64 + db " L:10 @@" + db " L:20 @@" + db " L:30 @@" + db " L:40 @@" + db "CANCEL@@" + +String_119d8c: + db "CANCEL@" +; 119d93 + +BattleTower_LevelCheck: ; 119d93 (46:5d93) + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + ld a, [wcd4f] + ld c, 10 + call SimpleMultiply + ld hl, wcd50 + ld [hl], a + ld bc, PARTYMON_STRUCT_LENGTH + ld de, PartyMon1Level + ld a, [PartyCount] +.party_loop + push af + ld a, [de] + push hl + push de + pop hl + add hl, bc + push hl + pop de + pop hl + cp [hl] + jr z, .equal + jr nc, .exceeds +.equal + pop af + dec a + jr nz, .party_loop + pop af + ld [rSVBK], a + and a + ret + +.exceeds + pop af + ld a, $4 + ld [wcf66], a + pop af + ld [rSVBK], a + scf + ret + +BattleTower_UbersCheck: ; 119dd1 (46:5dd1) + ld a, [rSVBK] + push af + ld a, [wcd4f] + cp 70 / 10 + jr nc, .level_70_or_more + ld a, $1 + ld [rSVBK], a + ld hl, PartyMon1Level + ld bc, PARTYMON_STRUCT_LENGTH + ld de, PartySpecies + ld a, [PartyCount] +.loop + push af + ld a, [de] + cp MEWTWO + jr z, .uber + cp MEW + jr z, .uber + cp LUGIA + jr c, .next + cp NUM_POKEMON + 1 + jr nc, .next +.uber + ld a, [hl] + cp 70 + jr c, .uber_under_70 +.next + add hl, bc + inc de + pop af + dec a + jr nz, .loop +.level_70_or_more + pop af + ld [rSVBK], a + and a + ret + +.uber_under_70 + pop af + ld a, [de] + ld [wd265], a + call GetPokemonName + ld hl, StringBuffer1 + ld de, wcd49 + ld bc, PKMN_NAME_LENGTH + call CopyBytes + ld a, $a + ld [wcf66], a + pop af + ld [rSVBK], a + scf + ret +; 119e2b (46:5e2b) + +Function119e2b: ; 119e2b (46:5e2b) + call Function3e32 + +BattleTowerRoomMenu_IncrementJumptable: ; 119e2e (46:5e2e) + ld hl, wcf66 + inc [hl] + ret +; 119e33 (46:5e33) + +XGameCodePrefix: ; 119e33 +INCBIN "data/mobile/x-game-code-prefix.txt" +XGameCodePrefixEnd: +;119e40 + +XGameResultPrefix: ; 119e40 +INCBIN "data/mobile/x-game-result-prefix.txt" +XGameResultPrefixEnd: +; 119e4f + +Function119e4f: ; 119e4f + push bc + ld hl, w3_d100 + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a +.loop + ld a, [de] + cp [hl] + jr z, .found_equality +.next + inc hl + dec bc + ld a, b + or c + jr nz, .loop +.return_carry + pop bc + scf + ret + +.found_equality + push de +.loop2 + ld a, [de] + inc de + cp "\n" + jr z, .newline + cp [hl] + jr nz, .unequal + inc hl + dec bc + ld a, b + or c + jr nz, .loop2 + pop de + jr .return_carry + +.unequal + pop de + jr .next + +.newline + pop de + pop bc + inc hl + ld de, w3_d880 +.loop3 + ld a, [hli] + ld [de], a + inc de + cp $d + jr z, .finish + dec c + jr nz, .loop3 + scf + ret + +.finish + and a + ret +; 119e8e + +Function119e8e: ; 119e8e + cp $60 + jr c, .less_than_0x60 + sub $57 + ret + +.less_than_0x60 + sub $30 + ret +; 119e98 + +Function119e98: ; 119e98 + ld a, $2 +.loop + push af + ld a, [bc] + dec bc + call Function119e8e + or [hl] + ld [hl], a + ld a, [bc] + dec bc + call Function119e8e + rlca + rlca + rlca + rlca + or [hl] + ld [hl], a + inc hl + pop af + dec a + and a + jr nz, .loop + ret +; 119eb4 + +Function119eb4: ; 119eb4 (46:5eb4) + xor a + ld [wc3cc], a + ld de, wc3ac +.loop + ld a, [de] + inc de + ld [hli], a + and a + jr nz, .loop + ret + +Function119ec2: ; 119ec2 (46:5ec2) + ld a, BANK(sMobileLoginPassword) + call GetSRAMBank + xor a + ld [sMobileLoginPassword + MOBILE_LOGIN_PASSWORD_LENGTH], a + ld de, sMobileLoginPassword + 1 +.loop + ld a, [de] + inc de + ld [hli], a + and a + jr nz, .loop + call CloseSRAM + ret + +BattleTowerRoomMenu2: ; 119ed8 (46:5ed8) + ld a, [rSVBK] + ld [wcd8c], a + ld a, $1 + ld [rSVBK], a + + call .RunJumptable + + ld a, [wcd8c] + ld [rSVBK], a + ld a, $1 + ld [hBGMapMode], a + ret + +.RunJumptable: + jumptable .Jumptable, wcd3c + +.Jumptable: + dw Function119f3f + dw Function119f45 + dw Function119f56 + dw Function119f76 + dw Function119f98 + dw Function11a113 + dw Function11a129 + dw Function11a131 + dw Function11a13d + dw Function11a14b + dw Function11a16d + dw Function11a192 + dw Function11a2e6 + dw Function11a302 + dw Function11a33a + dw BattleTowerRoomMenu2_PlaceYesNoMenu + dw BattleTowerRoomMenu2_UpdateYesNoMenu + dw Function11a357 + dw Function11a36b + dw Function11a38d + dw Function11a3c5 + dw Function11a3d9 + dw Function11a3f9 + dw Function11a41b + dw Function11a452 + dw Function11a47a + dw Function11a488 + dw Function11a49e + dw Function11a4db + dw Function11a4e8 + dw Function11a4fe + dw Function11a466 + dw Function11a47a +; 119f3f + +Function119f3f: ; 119f3f + call Function11a5b9 + jp BattleTowerRoomMenu2_IncrementJumptable +; 119f45 + +Function119f45: ; 119f45 + hlcoord 4, 2 + ld de, String_11a661 + call PlaceString + ld a, $80 + ld [wMobileInactivityTimerMinutes], a + jp BattleTowerRoomMenu2_IncrementJumptable +; 119f56 + +Function119f56: ; 119f56 + ld a, [wMobileInactivityTimerMinutes] + and a + jr z, .asm_119f62 + dec a + ld [wMobileInactivityTimerMinutes], a + scf + ret + +.asm_119f62 + call Function11a63c + hlcoord 4, 2 + ld de, String_11a6aa + call PlaceString + ld a, $80 + ld [wMobileInactivityTimerMinutes], a + jp BattleTowerRoomMenu2_IncrementJumptable +; 119f76 + +Function119f76: ; 119f76 + ld a, [wMobileInactivityTimerMinutes] + and a + jr z, .asm_119f82 + dec a + ld [wMobileInactivityTimerMinutes], a + scf + ret + +.asm_119f82 + call Function11a63c + hlcoord 4, 2 + ld de, String_11a679 + call PlaceString + call Function11a5f5 + xor a + ld [wMobileInactivityTimerMinutes], a + jp BattleTowerRoomMenu2_IncrementJumptable +; 119f98 + +Function119f98: ; 119f98 + call Function11a536 + ret c + call PlayClickSFX + ld a, [wMobileInactivityTimerMinutes] + and a + jr nz, .asm_119fef + call ExitMenu + call Function11a63c + xor a + ld [ScriptVar], a + call Function11a00e + ld a, [ScriptVar] + and a + jr z, .asm_119fd4 + call ExitMenu + callba ReloadMapPart + callba Function115dc3 + ld a, [wcd33] + ld [wcf66], a + ld a, $a + ld [wc300], a + scf + ret + +.asm_119fd4 + hlcoord 4, 2 + ld de, String_11a692 + call PlaceString + ld a, $1 + ld [wc30d], a + ld a, $1 + ld [wc314], a + callba ReloadMapPart + and a + ret + +.asm_119fef + call ExitMenu + call ExitMenu + callba ReloadMapPart + ld a, [wMobileInactivityTimerSeconds] + ld [wcf66], a + callba Function115dc3 + ld a, $a + ld [wc300], a + scf + ret +; 11a00e + +Function11a00e: ; 11a00e + ld a, BANK(sMobileLoginPassword) + call GetSRAMBank + ld a, [sMobileLoginPassword] + and a + jr z, .asm_11a02a + ld a, [sMobileLoginPassword + 1] + call CloseSRAM + and a + ret nz + ld a, BANK(sMobileLoginPassword) + call GetSRAMBank + xor a + ld [sMobileLoginPassword], a + +.asm_11a02a + call CloseSRAM + ld a, [BGMapPalBuffer] + and a + jr z, .asm_11a039 + dec a + jr z, .asm_11a081 + jp Function11a0ca + +.asm_11a039 + ld a, $3 + ld [rSVBK], a + ld hl, $c608 + ld de, w3_d800 + ld bc, $00f6 + call CopyBytes + ld a, $1 + ld [rSVBK], a + call FadeToMenu + callba Function11765d + call Function11a9ce + ld a, $3 + ld [rSVBK], a + ld hl, w3_d800 + ld de, $c608 + ld bc, $00f6 + call CopyBytes + ld a, $1 + ld [rSVBK], a + callba Function115d99 + ld c, $0 + callba Function115e18 + ld a, $1 + ld [wc305], a + ret + +.asm_11a081 + xor a + ld [wMenuBorderLeftCoord], a + ld [wMenuBorderTopCoord], a + ld a, $13 + ld [wMenuBorderRightCoord], a + ld a, $5 + ld [wMenuBorderBottomCoord], a + call PushWindow + callba Function11765d + callba Function117ab4 + callba MobileFunc_106462 + callba Function106464 + call ExitMenu + callba ReloadMapPart + callba Function115d99 + ld c, $0 + callba Function115e18 + ld a, $1 + ld [wc305], a + ret +; 11a0ca + +Function11a0ca: ; 11a0ca + xor a + ld [wMenuBorderLeftCoord], a + ld [wMenuBorderTopCoord], a + ld a, $13 + ld [wMenuBorderRightCoord], a + ld a, $11 + ld [wMenuBorderBottomCoord], a + call PushWindow + callba Function11765d + callba Function17d3f6 + callba MobileFunc_106462 + callba Function106464 + call ExitMenu + callba ReloadMapPart + callba Function115d99 + ld c, $0 + callba Function115e18 + ld a, $1 + ld [wc305], a + ret +; 11a113 + +Function11a113: ; 11a113 + call Function11a63c + ld c, $1 + callba Function115e18 + hlcoord 4, 2 + ld de, String_11a6c8 + call PlaceString + and a + ret +; 11a129 + +Function11a129: ; 11a129 + ld a, $80 + ld [wMobileInactivityTimerMinutes], a + jp BattleTowerRoomMenu2_IncrementJumptable +; 11a131 + +Function11a131: ; 11a131 + ld hl, wMobileInactivityTimerMinutes + dec [hl] + ret nz + ld a, [wcd3c] + inc a + ld [wcd3c], a + +Function11a13d: + call Function11a63c + hlcoord 4, 2 + ld de, String_11a6d2 + call PlaceString + and a + ret +; 11a14b + +Function11a14b: ; 11a14b + ld hl, wcd85 + ld a, [hl] + cp $f3 + jr nz, .asm_11a155 + and a + ret + +.asm_11a155 + call Function11a1d6 + ret c + call Function11a63c + hlcoord 4, 2 + ld de, String_11a6f1 + call PlaceString + ld a, $80 + ld [wMobileInactivityTimerMinutes], a + jp BattleTowerRoomMenu2_IncrementJumptable +; 11a16d + +Function11a16d: ; 11a16d + ld a, [wMobileInactivityTimerMinutes] + and a + jr z, .asm_11a179 + dec a + ld [wMobileInactivityTimerMinutes], a + scf + ret + +.asm_11a179 + call Function11a63c + call Function11a1e6 + hlcoord 4, 2 + ld de, $c346 + call PlaceString + call Function11a5f5 + xor a + ld [wMobileInactivityTimerMinutes], a + jp BattleTowerRoomMenu2_IncrementJumptable +; 11a192 + +Function11a192: ; 11a192 + call Function11a536 + ret c + call PlayClickSFX + ld a, [wMobileInactivityTimerMinutes] + and a + jr nz, .asm_11a1b6 + call ExitMenu + callba ReloadMapPart + call Function11a63c + hlcoord 4, 2 + ld de, String_11a6d2 + call PlaceString + and a + ret + +.asm_11a1b6 + call ExitMenu + callba ReloadMapPart + ld a, [wMobileInactivityTimerSeconds] + ld [wcf66], a + ld [wcd80], a + call Function11a63c + hlcoord 4, 2 + ld de, String_11a6d2 + call PlaceString + scf + ret +; 11a1d6 + +Function11a1d6: ; 11a1d6 + ld a, [wcd85] + cp $50 + jr nz, .asm_11a1e4 + ld a, $d3 + call Function118805 + scf + ret + +.asm_11a1e4 + and a + ret +; 11a1e6 + +Function11a1e6: ; 11a1e6 + ld hl, String_11a706 + ld de, $c346 + call Function11a1ff + ld hl, wcd85 + call Function11a1ff + ld hl, String_11a70b + call Function11a1ff + ld a, $50 + ld [de], a + ret +; 11a1ff + +Function11a1ff: ; 11a1ff +.asm_11a1ff + ld a, [hli] + cp $50 + ret z + ld [de], a + inc de + jr .asm_11a1ff +; 11a207 + +BattleTowerRoomMenu2_PlaceYesNoMenu: ; 11a207 + ld hl, MenuDataHeader_11a2de + call LoadMenuDataHeader + call MenuBox + call MenuBoxCoord2Tile + call ApplyTilemap + hlcoord 16, 8 + ld de, String_11a2cf + call PlaceString + hlcoord 16, 10 + ld de, String_11a2d3 + call PlaceString + hlcoord 15, 8 + ld a, $ed + ld [hl], a + xor a + ld [wMobileInactivityTimerMinutes], a + jp BattleTowerRoomMenu2_IncrementJumptable +; 11a235 + +BattleTowerRoomMenu2_UpdateYesNoMenu: ; 11a235 + ld hl, hJoyPressed + ld a, [hl] + and A_BUTTON + jr nz, .a_button + ld a, [hl] + and B_BUTTON + jr nz, .b_button + ld a, [hl] + and D_UP + jr nz, .d_up + ld a, [hl] + and D_DOWN + jr nz, .d_down +.asm_11a24c + call Function11a9f0 + scf + ret + +.d_up + xor a + ld [wcd8a], a + ld [wcd8b], a + ld a, [wMobileInactivityTimerMinutes] + and a + jr z, .asm_11a24c + xor a + ld [wMobileInactivityTimerMinutes], a + hlcoord 15, 8 + ld a, $ed + ld [hl], a + hlcoord 15, 10 + ld a, $7f + ld [hl], a + jr .asm_11a24c + +.d_down + xor a + ld [wcd8a], a + ld [wcd8b], a + ld a, [wMobileInactivityTimerMinutes] + and a + jr nz, .asm_11a24c + inc a + ld [wMobileInactivityTimerMinutes], a + hlcoord 15, 8 + ld a, $7f + ld [hl], a + hlcoord 15, 10 + ld a, $ed + ld [hl], a + jr .asm_11a24c + +.a_button + xor a + ld [wcd8a], a + ld [wcd8b], a + call PlayClickSFX + ld a, [wMobileInactivityTimerMinutes] + and a + jr nz, .exit_no_carry + call ExitMenu + callba ReloadMapPart + ld a, [wMobileInactivityTimerFrames] + cp $0 + jr z, .asm_11a2b4 + ld a, [wcd47] + jr .exit_carry + +.asm_11a2b4 + ld a, [wcd33] + +.exit_carry + ld [wcf66], a + ld a, $a + ld [wc300], a + scf + ret + +.b_button + call PlayClickSFX + +.exit_no_carry + call ExitMenu + callba ReloadMapPart + and a + ret +; 11a2cf + +String_11a2cf: ; 11a2cf + db "YES@" +; 11a2d3 + +String_11a2d3: ; 11a2d3 + db "NO@" +; 11a2d6 + +MenuDataHeader_11a2d6: ; 11a2d6 + db $40 ; flags + db 6, 14 ; start coords + db 10, 19 ; end coords + dw NULL + db 0 ; default option +; 11a2de + +MenuDataHeader_11a2de: ; 11a2de + db $40 ; flags + db 7, 14 ; start coords + db 11, 19 ; end coords + dw NULL + db 0 ; default option +; 11a2e6 + +Function11a2e6: ; 11a2e6 + call Function11a63c + ld c, $2 + callba Function115e18 + hlcoord 4, 2 + ld de, String_11a71e + call PlaceString + ld a, $80 + ld [wMobileInactivityTimerMinutes], a + jp BattleTowerRoomMenu2_IncrementJumptable +; 11a302 + +Function11a302: ; 11a302 + ld a, [wMobileInactivityTimerMinutes] + and a + jr z, .asm_11a30e + dec a + ld [wMobileInactivityTimerMinutes], a + scf + ret + +.asm_11a30e + call Function11a63c + hlcoord 4, 2 + ld de, String_11a72a + call PlaceString + hlcoord 9, 4 + ld de, wcd68 + lb bc, PRINTNUM_LEADINGZEROS | 1, 2 + call PrintNum + hlcoord 14, 4 + ld de, wcd67 + lb bc, PRINTNUM_LEADINGZEROS | 1, 2 + call PrintNum + ld a, $80 + ld [wMobileInactivityTimerMinutes], a + jp BattleTowerRoomMenu2_IncrementJumptable +; 11a33a + +Function11a33a: ; 11a33a + ld a, [wMobileInactivityTimerMinutes] + and a + jr z, .asm_11a346 + dec a + ld [wMobileInactivityTimerMinutes], a + scf + ret + +.asm_11a346 + call ExitMenu + callba ReloadMapPart + callba Function115dc3 + and a + ret +; 11a357 + +Function11a357: ; 11a357 + call Function11a63c + hlcoord 4, 2 + ld de, String_11a743 + call PlaceString + ld a, $80 + ld [wMobileInactivityTimerMinutes], a + jp BattleTowerRoomMenu2_IncrementJumptable +; 11a36b + +Function11a36b: ; 11a36b + ld a, [wMobileInactivityTimerMinutes] + and a + jr z, .asm_11a377 + dec a + ld [wMobileInactivityTimerMinutes], a + scf + ret + +.asm_11a377 + call Function11a63c + hlcoord 4, 2 + ld de, String_11a755 + call PlaceString + call Function11a5f5 + xor a + ld [wMobileInactivityTimerMinutes], a + jp BattleTowerRoomMenu2_IncrementJumptable +; 11a38d + +Function11a38d: ; 11a38d + call Function11a536 + ret c + call PlayClickSFX + ld a, [wMobileInactivityTimerMinutes] + and a + jr nz, .asm_11a3b1 + call ExitMenu + callba ReloadMapPart + call Function11a63c + hlcoord 4, 2 + ld de, String_11a6d2 + call PlaceString + and a + ret + +.asm_11a3b1 + call ExitMenu + callba ReloadMapPart + ld a, [wMobileInactivityTimerSeconds] + ld [wcf66], a + ld [wcd80], a + scf + ret +; 11a3c5 + +Function11a3c5: ; 11a3c5 + call Function11a63c + hlcoord 4, 2 + ld de, String_11a762 + call PlaceString + ld a, $80 + ld [wMobileInactivityTimerMinutes], a + jp BattleTowerRoomMenu2_IncrementJumptable +; 11a3d9 + +Function11a3d9: ; 11a3d9 + ld a, [wMobileInactivityTimerMinutes] + and a + jr z, .asm_11a3e5 + dec a + ld [wMobileInactivityTimerMinutes], a + scf + ret + +.asm_11a3e5 + call Function11a63c + hlcoord 4, 2 + ld de, String_11a779 + call PlaceString + ld a, $80 + ld [wMobileInactivityTimerMinutes], a + jp BattleTowerRoomMenu2_IncrementJumptable +; 11a3f9 + +Function11a3f9: ; 11a3f9 + ld a, [wMobileInactivityTimerMinutes] + and a + jr z, .asm_11a405 + dec a + ld [wMobileInactivityTimerMinutes], a + scf + ret + +.asm_11a405 + call Function11a63c + hlcoord 4, 2 + ld de, String_11a755 + call PlaceString + call Function11a5f5 + xor a + ld [wMobileInactivityTimerMinutes], a + jp BattleTowerRoomMenu2_IncrementJumptable +; 11a41b + +Function11a41b: ; 11a41b + call Function11a536 + ret c + call PlayClickSFX + ld a, [wMobileInactivityTimerMinutes] + and a + jr nz, .asm_11a43f + call ExitMenu + callba ReloadMapPart + call Function11a63c + hlcoord 4, 2 + ld de, String_11a6d2 + call PlaceString + and a + ret + +.asm_11a43f + call ExitMenu + callba ReloadMapPart + ld a, $1c + ld [wcf66], a + ld [wcd80], a + scf + ret +; 11a452 + +Function11a452: ; 11a452 + call Function11a63c + hlcoord 4, 2 + ld de, String_11a791 + call PlaceString + ld a, $80 + ld [wMobileInactivityTimerMinutes], a + jp BattleTowerRoomMenu2_IncrementJumptable +; 11a466 + +Function11a466: ; 11a466 + call Function11a63c + hlcoord 4, 2 + ld de, String_11a7c1 + call PlaceString + ld a, $80 + ld [wMobileInactivityTimerMinutes], a + jp BattleTowerRoomMenu2_IncrementJumptable +; 11a47a + +Function11a47a: ; 11a47a + ld a, [wMobileInactivityTimerMinutes] + and a + jr z, .asm_11a486 + dec a + ld [wMobileInactivityTimerMinutes], a + scf + ret + +.asm_11a486 + and a + ret +; 11a488 + +Function11a488: ; 11a488 + call Function11a63c + hlcoord 4, 2 + ld de, String_11a7ac + call PlaceString + call Function11a5f5 + xor a + ld [wMobileInactivityTimerMinutes], a + jp BattleTowerRoomMenu2_IncrementJumptable +; 11a49e + +Function11a49e: ; 11a49e + call Function11a536 + ret c + call PlayClickSFX + ld a, [wMobileInactivityTimerMinutes] + and a + jr nz, .asm_11a4c7 + call ExitMenu + callba ReloadMapPart + call Function11a63c + hlcoord 4, 2 + ld de, String_11a6d2 + call PlaceString + ld a, $14 + ld [wcf66], a + and a + ret + +.asm_11a4c7 + call ExitMenu + callba ReloadMapPart + ld a, [wMobileInactivityTimerFrames] + ld [wcf66], a + ld [wcd80], a + scf + ret +; 11a4db + +Function11a4db: ; 11a4db + call Function11a63c + ld de, String_11a6db + hlcoord 4, 2 + call PlaceString + ret +; 11a4e8 + +Function11a4e8: ; 11a4e8 + call Function11a63c + hlcoord 4, 2 + ld de, String_11a7d7 + call PlaceString + call Function11a5f5 + xor a + ld [wMobileInactivityTimerMinutes], a + jp BattleTowerRoomMenu2_IncrementJumptable +; 11a4fe + +Function11a4fe: ; 11a4fe + call Function11a536 + ret c + call PlayClickSFX + ld a, [wMobileInactivityTimerMinutes] + and a + jr nz, .asm_11a522 + call ExitMenu + callba ReloadMapPart + call Function11a63c + hlcoord 4, 2 + ld de, String_11a6d2 + call PlaceString + and a + ret + +.asm_11a522 + call ExitMenu + callba ReloadMapPart + ld a, [wMobileInactivityTimerSeconds] + ld [wcf66], a + ld [wcd80], a + scf + ret +; 11a536 + +Function11a536: ; 11a536 + ld hl, hJoyPressed + ld a, [hl] + and $1 + jr nz, .asm_11a5a7 + ld a, [hl] + and $2 + jr nz, .asm_11a5a2 + ld a, [hl] + and $40 + jr nz, .asm_11a564 + ld a, [hl] + and $80 + jr nz, .asm_11a583 +.asm_11a54d + ld a, [wcd3c] + cp $4 + jr z, .asm_11a562 + call Function11a9f0 + jr nz, .asm_11a562 + call ExitMenu + callba ReloadMapPart + +.asm_11a562 + scf + ret + +.asm_11a564 + xor a + ld [wcd8a], a + ld [wcd8b], a + ld a, [wMobileInactivityTimerMinutes] + and a + jr z, .asm_11a54d + xor a + ld [wMobileInactivityTimerMinutes], a + hlcoord 15, 7 + ld a, $ed + ld [hl], a + hlcoord 15, 9 + ld a, $7f + ld [hl], a + jr .asm_11a54d + +.asm_11a583 + xor a + ld [wcd8a], a + ld [wcd8b], a + ld a, [wMobileInactivityTimerMinutes] + and a + jr nz, .asm_11a54d + inc a + ld [wMobileInactivityTimerMinutes], a + hlcoord 15, 7 + ld a, $7f + ld [hl], a + hlcoord 15, 9 + ld a, $ed + ld [hl], a + jr .asm_11a54d + +.asm_11a5a2 + ld a, $1 + ld [wMobileInactivityTimerMinutes], a + +.asm_11a5a7 + xor a + ld [wcd8a], a + ld [wcd8b], a + and a + ret +; 11a5b0 + +BattleTowerRoomMenu2_IncrementJumptable: ; 11a5b0 + ld a, [wcd3c] + inc a + ld [wcd3c], a + scf + ret +; 11a5b9 + +Function11a5b9: ; 11a5b9 + xor a + ld [wMenuBorderLeftCoord], a + ld [wMenuBorderTopCoord], a + ld a, $13 + ld [wMenuBorderRightCoord], a + ld a, $5 + ld [wMenuBorderBottomCoord], a + call PushWindow + hlcoord 0, 0, AttrMap + ld b, $6 + ld c, $14 + hlcoord 0, 0 + ld b, $4 + ld c, $12 + call Function3eea + callba ReloadMapPart + call UpdateSprites + ld c, $0 + callba Function115e18 + ld a, $1 + ld [wc305], a + ret +; 11a5f5 + +Function11a5f5: ; 11a5f5 + ld a, $e + ld [wMenuBorderLeftCoord], a + ld a, $13 + ld [wMenuBorderRightCoord], a + ld a, $6 + ld [wMenuBorderTopCoord], a + ld a, $a + ld [wMenuBorderBottomCoord], a + call PushWindow + hlcoord 14, 6, AttrMap + ld b, $5 + ld c, $6 + hlcoord 14, 6 + ld b, $3 + ld c, $4 + call Function3eea + hlcoord 16, 7 + ld de, String_11a2cf + call PlaceString + hlcoord 16, 9 + ld de, String_11a2d3 + call PlaceString + hlcoord 15, 7 + ld a, $ed + ld [hl], a + callba ReloadMapPart + ret +; 11a63c + +Function11a63c: ; 11a63c + hlcoord 4, 1 + ld de, String_11a7f4 + call PlaceString + hlcoord 4, 2 + ld de, String_11a7f4 + call PlaceString + hlcoord 4, 3 + ld de, String_11a7f4 + call PlaceString + hlcoord 4, 4 + ld de, String_11a7f4 + call PlaceString + ret +; 11a661 + +String_11a661: ; 11a661 + db "これから モバイルセンターに" + next "でんわ", $1f, "かけます@" +; 11a679 + +String_11a679: ; 11a679 + db "モバイルアダプタ", $25, "じゅんびは" + next "できて いますか?@" +; 11a692 + +String_11a692: ; 11a692 + db "でんわ", $1f, "かけています" + next "しばらく おまちください@" +; 11a6aa + +String_11a6aa: ; 11a6aa + db "でんわをかけると つうわりょう" + next "せつぞくりょう", $4a, "かかります@" +; 11a6c8 + +String_11a6c8: ; 11a6c8 + db "せつぞく しました@" +; 11a6d2 + +String_11a6d2: ; 11a6d2 + db "つうしん ちゅう@" +; 11a6db + +String_11a6db: ; 11a6db + db "つうしん ちゅう" + next "セレクト エーでちゅうし@" +; 11a6f1 + +String_11a6f1: ; 11a6f1 + db "この サービスには" + next "つうわりょう", $25, "ほかに@" +; 11a706 + +String_11a706: ; 11a706 + db "おかね", $4a, "@" +; 11a70b + +String_11a70b: ; 11a70b + db "えん" + next "かかります よろしい ですか?@" +; 11a71e + +String_11a71e: ; 11a71e + db "つうしん しゅうりょう@" +; 11a72a + +String_11a72a: ; 11a72a + db "つないだ じかん" + next " やく ふん びょう@" +; 11a743 + +String_11a743: ; 11a743 + db "もっていない データが" + next "あります!@" +; 11a755 + +String_11a755: ; 11a755 + db "データ", $1f, "よみこみますか?@" +; 11a762 + +String_11a762: ; 11a762 + db "おなじ データ", $1f, "よみこんだ" + next "こと", $4a, "ありますが@" +; 11a779 + +String_11a779: ; 11a779 + db "そのデータ", $24, "なくなっているか" + next "こわれて います@" +; 11a791 + +String_11a791: ; 11a791 + db "もっている データと" + next "おなじデータしか ありません!@" +; 11a7ac + +String_11a7ac: ; 11a7ac + db "データ", $25, "よみこみを" + next "ちゅうし しますか?@" +; 11a7c1 + +String_11a7c1: ; 11a7c1 ; new news? + db "あたらしい ニュースは" + next "ありません でした@" +; 11a7d7 + +String_11a7d7: ; 11a7d7 + db "あたらしいニュース", $4a, "あります" + next "ニュース", $1f, "よみこみますか?@" +; 11a7f4 + +String_11a7f4: ; 11a7f4 + db " @" +; 11a804 + +MenuDataHeader_11a804: ; 11a804 + db $40 ; flags + db 0, 0 ; start coords + db 5, 19 ; end coords + dw NULL + db 0 ; default option +; 11a80c + +Function11a80c: ; 11a80c + ld de, hDivisor + ld bc, hDividend + ld hl, Unknown_11a89a + call Function11a88c + ld bc, hQuotient + ld hl, Unknown_11a8ba + call Function11a88c + ld bc, hPrintNum3 + ld hl, Unknown_11a8da + call Function11a88c + xor a + ld b, a + ld a, [hDivisor] + and $f + ld e, a + ld a, [hPrintNum7] + and $f + call Function11a884 + ld e, a + ld a, [hPrintNum9] + and $f + call Function11a884 + ld [wcd62], a + ld e, b + xor a + ld b, a + ld a, [hDivisor] + and $f0 + swap a + call Function11a884 + ld e, a + ld a, [hPrintNum7] + and $f0 + swap a + call Function11a884 + ld e, a + ld a, [hPrintNum9] + and $f0 + swap a + call Function11a884 + ld [wcd63], a + ld e, b + xor a + ld b, a + ld a, [hMathBuffer] + and $f + call Function11a884 + ld e, a + ld a, [hPrintNum8] + and $f + call Function11a884 + ld e, a + ld a, [hPrintNum10] + and $f + call Function11a884 + ld [wcd64], a + ret +; 11a884 + +Function11a884: ; 11a884 + add e + cp $a + ret c + sub $a + inc b + ret +; 11a88c + +Function11a88c: ; 11a88c + ld a, [bc] + sla a + ld c, a + xor a + ld b, a + add hl, bc + ld a, [hli] + ld [de], a + inc de + ld a, [hl] + ld [de], a + inc de + ret +; 11a89a + +Unknown_11a89a: ; 11a89a +x = 0 +rept 16 + bcd x % 100, x / 100 +x = x + 1 +endr + +Unknown_11a8ba: ; 11a8ba +x = 0 +rept 16 + bcd x % 100, x / 100 +x = x + 16 +endr + +Unknown_11a8da: ; 11a8da +x = 0 +rept 16 + bcd x % 100, x / 100 +x = x + 256 +endr +; 11a8fa + +BattleTowerRoomMenu_WriteMessage: ; 11a8fa + jumptable .Jumptable, $c31a +; 11a909 + +.Jumptable: ; 11a909 + dw BattleTowerRoomMenu_WriteMessage_DoNothing + dw Function11a90f + dw Function11a971 +; 11a90f + +Function11a90f: ; 11a90f + ld a, $1 + ld [rSVBK], a + call SpeechTextBox + ld a, $50 + ld hl, $c320 + ld bc, $008c + call ByteFill + ld a, [$c31b] + ld l, a + ld a, [$c31c] + ld h, a + ld de, $c320 +.asm_11a92c + ld a, [hli] + cp $57 + jr z, .asm_11a94f + cp $0 + jr z, .asm_11a92c + cp $50 + jr z, .asm_11a92c + cp $1 + jr z, .asm_11a941 + ld [de], a + inc de + jr .asm_11a92c + +.asm_11a941 + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a +.asm_11a945 + ld a, [bc] + inc bc + cp $50 + jr z, .asm_11a92c + ld [de], a + inc de + jr .asm_11a945 + +.asm_11a94f + xor a + ld [$c31f], a + ld a, $c320 % $100 + ld [$c31b], a + ld a, $c320 / $100 + ld [$c31c], a + hlcoord 1, 14 + ld a, l + ld [$c31d], a + ld a, h + ld [$c31e], a + ld hl, $c31a + inc [hl] + ld a, $3 + ld [rSVBK], a + +BattleTowerRoomMenu_WriteMessage_DoNothing: + ret +; 11a971 + +Function11a971: ; 11a971 + ld hl, $c31f + ld a, [hJoyDown] + and a + jr nz, .asm_11a97f + ld a, [hl] + and a + jr z, .asm_11a97f + dec [hl] + ret + +.asm_11a97f + ld a, [Options] + and $7 + ld [hl], a + ld hl, wcd8d + ld a, [$c31b] + ld e, a + ld a, [$c31c] + ld d, a + ld a, [de] + inc de + ld [hli], a + ld a, e + ld [$c31b], a + ld a, d + ld [$c31c], a + ld a, $50 + ld [hl], a + ld a, [$c31d] + ld l, a + ld a, [$c31e] + ld h, a + ld de, wcd8d + call PlaceString + ld a, c + ld [$c31d], a + ld a, b + ld [$c31e], a + ld a, [wcd8d] + cp $50 + jr nz, .asm_11a9bf + xor a + ld [$c31a], a + +.asm_11a9bf + ret +; 11a9c0 + +BattleTowerRoomMenu_SetMessage: ; 11a9c0 + ld a, l + ld [$c31b], a + ld a, h + ld [$c31c], a + ld a, $1 + ld [$c31a], a + ret +; 11a9ce + +Function11a9ce: ; 11a9ce + call ClearBGPalettes + call ReloadTilesetAndPalettes + call Call_ExitMenu + callba MobileFunc_106462 + callba Function106464 + call ret_d90 + callba FinishExitMenu + call UpdateSprites + ret +; 11a9f0 + +Function11a9f0: ; 11a9f0 + ld a, $1 + and a + ret +; 11a9f4 + +Function11a9f4: ; 11a9f4 + ld a, [wcd8a] + ld l, a + ld a, [wcd8b] + ld h, a + inc hl + ld a, l + ld [wcd8a], a + ld a, h + ld [wcd8b], a + ld de, $d5d0 + add hl, de + bit 7, h + ret nz + ld a, $d6 + call Function118805 + and a + ret +; 11aa13 + +Text_SaveFileWillBeSent: ; 0x11aa13 + text "SAVE FILE will be" + line "sent." + done +; 0x11aa2c + +Text_SentSaveFileReadingNews: ; 0x11aa2c + text "Sent SAVE FILE." + line "Reading NEWS…" + done +; 0x11aa4b + +Text_ReadingNews: ; 0x11aa4b + text "Reading NEWS…" + done +; 0x11aa5a + +Text_ReceivedNews: ; 0x11aa5a + text "Received NEWS!" + done +; 0x11aa6a + +Text_QuitReadingNews: ; 0x11aa6a + text "Quit reading NEWS?" + done +; 0x11aa7e + +Text_CanceledSendingSaveFile: ; 0x11aa7e + text "Canceled sending" + line "SAVE FILE." + done +; 0x11aa9b + +Text_ReceivedOddEgg: ; 0x11aa9b + text "ODD EGG" + line "was received!" + done +; 0x11aab2 + +Text_RegisteringRecord: ; 0x11aab2 + text "Registering your" + line "record…" + done +; 0x11aacc + +Text_BattleRoomVisitLimit: ; 0x11aacc + text "One visit per day" + line "per BATTLE ROOM!" + done +; 0x11aaf0 + +Text_PartyMonTopsThisLevel: ; 0x11aaf0 + text "A party #MON" + line "tops this level." + done +; 0x11ab0f + +Text_UberRestriction: ; 0x11ab0f + text_from_ram wcd49 + text " may go" + line "only to BATTLE" + + para "ROOMS that are" + line "Lv.70 or higher." + done +; 0x11ab4a + +Text_CancelBattleRoomChallenge: ; 0x11ab4a + text "Cancel your BATTLE" + line "ROOM challenge?" + done +; 0x11ab6e + +Text_ExitGymLeaderHonorRoll: ; 0x11ab6e + text "Exit GYM LEADER" + line "HONOR ROLL?" + done +; 0x11ab8b + +Text_LinkingWithCenter: ; 0x11ab8b + text "Linking with the" + line "CENTER…" + done +; 0x11aba5 + +Text_WhatLevelDoYouWantToChallenge: ; 0x11aba5 + text "What level do you" + line "want to challenge?" + done +; 0x11abcb + +Text_CheckBattleRoomListByMaxLevel: ; 0x11abcb + text "Check BATTLE ROOM" + line "list by max level?" + done +; 0x11abf1 + +Text_EnterWhichBattleRoom: ; 0x11abf1 + text "Enter which" + line "BATTLE ROOM?" + done +; 0x11ac0b + +Text_WhichBattleRoom: ; 0x11ac0b + text "Which BATTLE ROOM?" + done +; 0x11ac1f + +Text_ThisBattleRoomPleaseWait: ; 0x11ac1f + text_from_ram StringBuffer3 + text "'s ROOM" + line "@" + text_from_ram StringBuffer4 + text "?" + cont "Please wait…" + done +; 0x11ac3e + +Function11ac3e: ; 11ac3e + call SpeechTextBox + call FadeToMenu + callab ClearSpriteAnims2 + call Function11ac51 + call CloseSubmenu + ret +; 11ac51 + +Function11ac51: ; 11ac51 + xor a + ld [hBGMapMode], a + ld hl, Options + ld a, [hl] + push af + set 4, [hl] + ld a, [VramState] + push af + xor a + ld [VramState], a + ld a, [hInMenu] + push af + ld a, $1 + ld [hInMenu], a + xor a + ld [hMapAnims], a + ld [wcd49], a + ld [wcd4a], a + ld [wcd4c], a + ld [wcd4d], a + ld [wcd4e], a + call Function11ad1b + call DelayFrame +.loop + call JoyTextDelay + ld a, [wJumptableIndex] + bit 7, a + jr nz, .asm_11aca8 + call Function11b314 + call Function11acb7 + call Function11ad6e + ld a, 30 * 4 + ld [wCurrSpriteOAMAddr], a + callba DoNextFrameForAllSprites + callba ReloadMapPart + jr .loop + +.asm_11aca8 + call ClearSprites + pop af + ld [hInMenu], a + pop af + ld [VramState], a + pop af + ld [Options], a + ret +; 11acb7 + +Function11acb7: ; 11acb7 + ld hl, TilemapPack_11ba44 + ld a, [wcd49] + ld c, a + ld b, $0 + sla c + rl b + sla c + rl b + sla c + rl b + add hl, bc + decoord 6, 6 + ld a, [hli] + ld [de], a + decoord 0, 7 + ld bc, 7 + call CopyBytes + ld a, [wcd49] + inc a + ld [wcd49], a + ld a, [hl] + cp $ff + jr nz, .get_the_other + xor a + ld [wcd49], a +.get_the_other + ld hl, TilemapPack_11bb7d + ld a, [wcd4a] + ld c, a + ld b, $0 + sla c + rl b + sla c + rl b + sla c + rl b + add hl, bc + decoord 3, 9 + ld bc, 7 + call CopyBytes + ld a, [wcd4a] + inc a + ld [wcd4a], a + inc hl + ld a, [hl] + cp $ff + ret nz + xor a + ld [wcd4a], a + ret +; 11ad1b + +Function11ad1b: ; 11ad1b + call ClearBGPalettes + call ClearSprites + call ClearTileMap + callba Function17c000 + ld a, [wMenuCursorY] + ld [wcd82], a + dec a + ld [hObjectStructIndexBuffer], a + ld a, $10 + ld [wCurIconTile], a + ld hl, LoadMenuMonIcon + ld a, BANK(LoadMenuMonIcon) + ld e, $4 + rst FarCall + ld hl, LoadMenuMonIcon + ld a, BANK(LoadMenuMonIcon) + ld e, $5 + rst FarCall + ld hl, $c6d0 + ld bc, $0115 + xor a + call ByteFill + xor a + ld [wJumptableIndex], a + ld [wcf64], a + ld [wcf65], a + ld [wcf66], a + ld [wcd30], a + ld a, $2 + ld [wc7d4], a + callba Pokedex_OrderMonsByMode + ret +; 11ad6e + +Function11ad6e: ; 11ad6e + ld a, [wJumptableIndex] + ld hl, Jumptable_11ad78 + call Function11b239 + jp hl +; 11ad78 + +Jumptable_11ad78: ; 11ad78 + dw Function11b082 + dw Function11b0ff + dw Function11ad95 + dw Function11adc4 + dw Function11ae4e + dw Function11ae98 + dw Function11ad8f + dw Function11af04 + dw Function11af4e +; 11ad8a + +Function11ad8a: ; 11ad8a + ld hl, wJumptableIndex + inc [hl] + ret +; 11ad8f + +Function11ad8f: ; 11ad8f + ld hl, wJumptableIndex + set 7, [hl] + ret +; 11ad95 + +Function11ad95: ; 11ad95 + ld hl, MenuDataHeader_11ae38 + call LoadMenuDataHeader + call MenuBox + hlcoord 12, 12 + ld de, String_11ae40 + call PlaceString + hlcoord 10, 10, AttrMap + lb bc, 8, 8 + call Function11afd6 + callba ReloadMapPart + call Function11ad8a + ld a, $1 + ld [wMenuCursorY], a + ld hl, Unknown_11afcc + call Function11afb7 + +Function11adc4: + ld hl, hJoyPressed + ld a, [hl] + and a + ret z + ld a, [hl] + and $40 + jr nz, .asm_11ade6 + ld a, [hl] + and $80 + jr nz, .asm_11aded + ld a, [hl] + and $1 + jr nz, .asm_11ae06 + ld a, [hl] + and $2 + ret z + call PlayClickSFX + xor a + ld [wJumptableIndex], a + jr .asm_11ae2e + +.asm_11ade6 + ld a, [wMenuCursorY] + dec a + ret z + jr .asm_11adf4 + +.asm_11aded + ld a, [wMenuCursorY] + inc a + cp $4 + ret z + +.asm_11adf4 + push af + ld hl, Unknown_11afcc + call Function11afbb + pop af + ld [wMenuCursorY], a + ld hl, Unknown_11afcc + call Function11afb7 + ret + +.asm_11ae06 + call PlayClickSFX + ld a, [wMenuCursorY] + dec a + ld hl, wcd30 + ld [hl], a + and a + jr z, .asm_11ae28 + hlcoord 2, 14 + ld a, [wMenuCursorY] + cp $2 + jr z, .asm_11ae23 + call Function11b272 + jr .asm_11ae2b + +.asm_11ae23 + call Function11b267 + jr .asm_11ae2b + +.asm_11ae28 + ld a, $3 + ld [hl], a + +.asm_11ae2b + call Function11ad8a + +.asm_11ae2e + call ExitMenu + callba ReloadMapPart + ret +; 11ae38 + +MenuDataHeader_11ae38: ; 11ae38 + db $40 ; flags + db 10, 10 ; start coords + db 17, 17 ; end coords + dw NULL + db 0 ; default option +; 11ae40 + +String_11ae40: ; 11ae40 + db "どちらでも" + next "♂ォス" + next "♀メス" + db "@" +; 11ae4e + +Function11ae4e: ; 11ae4e + ld hl, MenuDataHeader_11afe8 + call LoadMenuDataHeader + call MenuBox + hlcoord 10, 14 + ld de, String_11aff0 + call PlaceString + ld hl, MenuDataHeader_11b013 + call LoadMenuDataHeader + call MenuBox + hlcoord 16, 8 + ld de, String_11b01b + call PlaceString + hlcoord 14, 7, AttrMap + lb bc, 5, 6 + call Function11afd6 + hlcoord 9, 12, AttrMap + lb bc, 6, 11 + call Function11afd6 + callba ReloadMapPart + call Function11ad8a + ld a, $1 + ld [wMenuCursorY], a + ld hl, Unknown_11afd2 + call Function11afb7 + +Function11ae98: + ld hl, hJoyPressed + ld a, [hl] + and a + ret z + ld a, [hl] + and D_UP + jr nz, .asm_11aec1 + ld a, [hl] + and D_DOWN + jr nz, .asm_11aec8 + ld a, [hl] + and A_BUTTON + jr nz, .asm_11aee1 + ld a, [hl] + and B_BUTTON + ret z + call PlayClickSFX +.asm_11aeb4 + hlcoord 2, 14 + ld a, $7f + ld [hl], a + ld a, $1 + ld [wJumptableIndex], a + jr .asm_11aef7 + +.asm_11aec1 + ld a, [wMenuCursorY] + dec a + ret z + jr .asm_11aecf + +.asm_11aec8 + ld a, [wMenuCursorY] + inc a + cp $3 + ret z + +.asm_11aecf + push af + ld hl, Unknown_11afd2 + call Function11afbb + pop af + ld [wMenuCursorY], a + ld hl, Unknown_11afd2 + call Function11afb7 + ret + +.asm_11aee1 + call PlayClickSFX + ld a, [wMenuCursorY] + cp $2 + jr z, .asm_11aeb4 + ld a, [wcd4b] + ld [ScriptVar], a + call Function11b022 + call Function11ad8a + +.asm_11aef7 + call ExitMenu + call ExitMenu + callba ReloadMapPart + ret +; 11af04 + +Function11af04: ; 11af04 + ld hl, MenuDataHeader_11afe8 + call LoadMenuDataHeader + call MenuBox + hlcoord 10, 14 + ld de, String_11b003 + call PlaceString + ld hl, MenuDataHeader_11b013 + call LoadMenuDataHeader + call MenuBox + hlcoord 16, 8 + ld de, String_11b01b + call PlaceString + hlcoord 14, 7, AttrMap + lb bc, 5, 6 + call Function11afd6 + hlcoord 9, 12, AttrMap + lb bc, 6, 11 + call Function11afd6 + callba ReloadMapPart + call Function11ad8a + ld a, $2 + ld [wMenuCursorY], a + ld hl, Unknown_11afd2 + call Function11afb7 + +Function11af4e: + ld hl, hJoyPressed + ld a, [hl] + and a + ret z + ld a, [hl] + and D_UP + jr nz, .asm_11af77 + ld a, [hl] + and D_DOWN + jr nz, .asm_11af7e + ld a, [hl] + and A_BUTTON + jr nz, .asm_11af97 + ld a, [hl] + and B_BUTTON + ret z + call PlayClickSFX +.asm_11af6a + hlcoord 2, 14 + ld a, $7f + ld [hl], a + ld a, $1 + ld [wJumptableIndex], a + jr .asm_11afaa + +.asm_11af77 + ld a, [wMenuCursorY] + dec a + ret z + jr .asm_11af85 + +.asm_11af7e + ld a, [wMenuCursorY] + inc a + cp $3 + ret z + +.asm_11af85 + push af + ld hl, Unknown_11afd2 + call Function11afbb + pop af + ld [wMenuCursorY], a + ld hl, Unknown_11afd2 + call Function11afb7 + ret + +.asm_11af97 + call PlayClickSFX + ld a, [wMenuCursorY] + cp $2 + jr z, .asm_11af6a + ld a, $6 + ld [wJumptableIndex], a + xor a + ld [ScriptVar], a + +.asm_11afaa + call ExitMenu + call ExitMenu + callba ReloadMapPart + ret +; 11afb7 + +Function11afb7: ; 11afb7 + ld e, $ed + jr asm_11afbd + +Function11afbb: + ld e, $7f + +asm_11afbd: + ld a, [wMenuCursorY] + dec a + ld c, a + ld b, 0 + add hl, bc + add hl, bc + ld a, e + ld e, [hl] + inc hl + ld d, [hl] + ld [de], a + ret +; 11afcc + +Unknown_11afcc: + dwcoord 11, 12 + dwcoord 11, 14 + dwcoord 11, 16 + +Unknown_11afd2: + dwcoord 15, 8 + dwcoord 15, 10 +; 11afd6 + +Function11afd6: ; 11afd6 + ld de, SCREEN_WIDTH + ld a, $3 +.row + push bc + push hl +.col + ld [hli], a + dec c + jr nz, .col + pop hl + add hl, de + pop bc + dec b + jr nz, .row + ret +; 11afe8 + +MenuDataHeader_11afe8: ; 11afe8 + db $40 ; flags + db 12, 9 ; start coords + db 17, 19 ; end coords + dw NULL + db 0 ; default option +; 11aff0 + +String_11aff0: ; 11aff0 + db "この じょうけんで" + next "よろしいですか?@" +; 11b003 + +String_11b003: ; 11b003 + db "こうかんを" + next "ちゅうししますか?@" +; 11b013 + +MenuDataHeader_11b013: ; 11b013 + db $40 ; flags + db 7, 14 ; start coords + db 11, 19 ; end coords + dw NULL + db 1 ; default option +; 11b01b + +String_11b01b: + db "はい" + next "いいえ@" +; 11b022 + +Function11b022: ; 11b022 + ld a, [wcd2e] + and a + jr z, .asm_11b02e + ld hl, StringBuffer3 + call Function11b03d + +.asm_11b02e + ld a, [wcd30] + and a + ret z + cp $3 + ret z + ld hl, StringBuffer4 + call Function11b03d + ret +; 11b03d + +Function11b03d: ; 11b03d + push hl + push af + ld c, $1 +.loop + ld a, [hli] + cp "♂" + jr z, .gender + cp "♀" + jr z, .gender + cp "@" + jr z, .done + inc c + jr .loop + +.gender + dec hl + ld a, "@" + ld [hli], a + +.done + dec hl + push hl + ld e, 4 + ld d, 0 + add hl, de + ld e, l + ld d, h + pop hl +.loop2 + ld a, [hld] + ld [de], a + dec de + dec c + jr nz, .loop2 + pop af + pop de + cp $1 + jr nz, .female + ld hl, .MaleString + jr .got_string + +.female + ld hl, .FemaleString + +.got_string + ld bc, 4 ; string length + call CopyBytes + ret +; 11b07a + +.MaleString: db "ォスの " +.FemaleString: db "メスの " + +Function11b082: ; 11b082 + call Function11b242 + ld a, $7 + ld [wc7d3], a + call Function11b099 + call Function11b295 + call Function11b275 + call SetPalettes + jp Function11ad8a +; 11b099 + +Function11b099: ; 11b099 + ld c, $6 + hlcoord 11, 1 + ld a, [wc7d3] + add a + ld b, a + xor a + call Function11b236 + ld a, [wc7d0] + ld e, a + ld d, $0 + ld hl, wc6d0 + add hl, de + ld e, l + ld d, h + hlcoord 11, 2 + ld a, [wc7d3] +.loop + push af + ld a, [de] + ld [wd265], a + push de + push hl + call .PlaceMonNameOrPlaceholderString + pop hl + ld de, 2 * SCREEN_WIDTH + add hl, de + pop de + inc de + pop af + dec a + jr nz, .loop + ret +; 11b0cf + +.PlaceMonNameOrPlaceholderString: ; 11b0cf + and a + ret z + + call .CheckSeenFlag + ret c + + call .SetCaughtFlag + push hl + call GetPokemonName + pop hl + call PlaceString + ret +; 11b0e1 + +.SetCaughtFlag: ; 11b0e1 + call CheckCaughtMemMon + jr nz, .okay + inc hl + ret + +.okay + ld a, $1 + ld [hli], a + ret +; 11b0ec + +.CheckSeenFlag: ; 11b0ec + call CheckSeenMemMon + ret nz + + inc hl + ld de, .EmptySlot + call PlaceString + scf + ret +; 11b0f9 + +.EmptySlot: ; 11b0f9 + db "ーーーーー@" +; 11b0ff + +Function11b0ff: ; 11b0ff + ld hl, hJoyPressed + ld a, [hl] + and $2 + jr nz, .asm_11b141 + ld a, [hl] + and $1 + jr nz, .asm_11b131 + call Function11b175 + jr nc, .asm_11b125 + ld a, [wcd4c] + inc a + and $3 + ld [wcd4c], a + xor a + ld [hBGMapMode], a + call Function11b099 + ld a, $1 + ld [hBGMapMode], a + ret + +.asm_11b125 + ld a, [wcd4c] + and a + ret z + inc a + and $3 + ld [wcd4c], a + ret + +.asm_11b131 + call Function11b20b + call CheckSeenMemMon + jr z, .asm_11b13d + ld a, $1 + jr .asm_11b148 + +.asm_11b13d + ld a, $2 + jr .asm_11b148 + +.asm_11b141 + ld hl, wJumptableIndex + ld a, $7 + ld [hl], a + ret + +.asm_11b148 + call PlayClickSFX + ld [wcd4b], a + and a + jr z, .asm_11b16c + ld a, [wcf65] + cp $0 + jr z, .asm_11b163 + cp $fe + jr z, .asm_11b167 + cp $ff + jr z, .asm_11b16b + jp Function11ad8a + +.asm_11b163 + ld a, $1 + jr .asm_11b16c + +.asm_11b167 + ld a, $2 + jr .asm_11b16c + +.asm_11b16b + xor a + +.asm_11b16c + ld [wcd30], a + ld a, $4 + ld [wJumptableIndex], a + ret +; 11b175 + +Function11b175: ; 11b175 + ld a, [wc7d3] + ld d, a + ld a, [wc7d2] + ld e, a + ld hl, hJoyLast + ld a, [hl] + and $40 + jr nz, .asm_11b19a + ld a, [hl] + and $80 + jr nz, .asm_11b1ae + ld a, d + cp e + jr nc, .asm_11b1ed + ld a, [hl] + and $20 + jr nz, .asm_11b1c6 + ld a, [hl] + and $10 + jr nz, .asm_11b1d8 + jr .asm_11b1ed + +.asm_11b19a + ld hl, wc7d1 + ld a, [hl] + and a + jr z, .asm_11b1a4 + dec [hl] + jr .asm_11b1ef + +.asm_11b1a4 + ld hl, wc7d0 + ld a, [hl] + and a + jr z, .asm_11b1ed + dec [hl] + jr .asm_11b1ef + +.asm_11b1ae + ld hl, wc7d1 + ld a, [hl] + inc a + cp e + jr nc, .asm_11b1ed + cp d + jr nc, .asm_11b1bc + inc [hl] + jr .asm_11b1ef + +.asm_11b1bc + ld hl, wc7d0 + add [hl] + cp e + jr nc, .asm_11b1ed + inc [hl] + jr .asm_11b1ef + +.asm_11b1c6 + ld hl, wc7d0 + ld a, [hl] + and a + jr z, .asm_11b1ed + cp d + jr nc, .asm_11b1d4 + xor a + ld [hl], a + jr .asm_11b1ef + +.asm_11b1d4 + sub d + ld [hl], a + jr .asm_11b1ef + +.asm_11b1d8 + ld hl, wc7d0 + ld a, d + add a + add [hl] + jr c, .asm_11b1e3 + cp e + jr c, .asm_11b1e8 + +.asm_11b1e3 + ld a, e + sub d + ld [hl], a + jr .asm_11b1ef + +.asm_11b1e8 + ld a, [hl] + add d + ld [hl], a + jr .asm_11b1ef + +.asm_11b1ed + and a + ret + +.asm_11b1ef + call Function11b295 + call Function11b275 + scf + ret +; 11b1f7 + +Function11b1f7: ; 11b1f7 + hlcoord 0, 0 + ld a, $32 + ld bc, SCREEN_WIDTH * SCREEN_HEIGHT + call ByteFill + ret +; 11b203 + +Function11b203: ; 11b203 +.asm_11b203 + ld a, [de] + cp $ff + ret z + inc de + ld [hli], a + jr .asm_11b203 +; 11b20b + +Function11b20b: ; 11b20b + ld a, [wc7d1] + ld hl, wc7d0 + add [hl] + ld e, a + ld d, $0 + ld hl, $c6d0 + add hl, de + ld a, [hl] + ld [wd265], a + ret +; 11b21e + +CheckCaughtMemMon: ; 11b21e + push de + push hl + ld a, [wd265] + dec a + call CheckCaughtMon + pop hl + pop de + ret +; 11b22a + +CheckSeenMemMon: ; 11b22a + push de + push hl + ld a, [wd265] + dec a + call CheckSeenMon + pop hl + pop de + ret +; 11b236 + +Function11b236: ; 11b236 + jp FillBoxWithByte +; 11b239 + +Function11b239: ; 11b239 + ld e, a + ld d, 0 + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + ret +; 11b242 + +Function11b242: ; 11b242 + hlcoord 3, 4 + ld de, StringBuffer3 + call PlaceString + xor a + ld [MonType], a + callba GetGender + hlcoord 1, 4 + ld a, [CurPartySpecies] + ld bc, wcd2f + ld [bc], a + dec bc + jr c, asm_11b26a + jr z, asm_11b26f + ld a, $1 + ld [bc], a + +Function11b267: + ld [hl], $ef + ret + +asm_11b26a + xor a + ld [bc], a + ld [hl], $7f + ret + +asm_11b26f + ld a, $2 + ld [bc], a + +Function11b272: + ld [hl], $f5 + ret +; 11b275 + +Function11b275: ; 11b275 + call Function11b279 + ret +; 11b279 + +Function11b279: ; 11b279 + ld a, [wd265] + ld [CurSpecies], a + call CheckSeenMemMon + jr z, .asm_11b28f + call GetBaseData + ld a, [BaseGender] + ld [wcf65], a + jr .asm_11b294 + +.asm_11b28f + ld a, $ff + ld [wcf65], a + +.asm_11b294 + ret +; 11b295 + +Function11b295: ; 11b295 + hlcoord 4, 13 + ld de, String_11b308 + call PlaceString + hlcoord 4, 14 + ld de, String_11b308 + call PlaceString + call Function11b20b + call CheckSeenMemMon + jr z, .asm_11b2d1 + ld a, [$c608] + ld c, a + ld a, [$c608 + 1] + ld b, a + ld hl, $0007 + add hl, bc + xor a + ld [hl], a + ld hl, $0003 + add hl, bc + ld e, [hl] + callba FlyFunction_GetMonIcon + hlcoord 4, 14 + push hl + call GetPokemonName + jr .asm_11b2e7 + +.asm_11b2d1 + ld a, [$c608] + ld c, a + ld a, [$c608 + 1] + ld b, a + ld hl, $0007 + add hl, bc + ld a, $50 + ld [hl], a + hlcoord 4, 13 + push hl + ld de, String_11b30e + +.asm_11b2e7 + ld a, $6 + ld bc, StringBuffer4 +.asm_11b2ec + push af + ld a, [de] + ld [bc], a + inc de + inc bc + pop af + dec a + and a + jr nz, .asm_11b2ec + pop hl + ld de, StringBuffer4 + call PlaceString + ret +; 11b2fe + +String_11b2fe: ; 11b2fe + db "あげる#@" +; 11b303 + +String_11b303: ; 11b303 + db "ほしい#@" +; 11b308 + +String_11b308: ; 11b308 + db " @" +; 11b30e + +String_11b30e: ; 11b30e + db "みはっけん@" +; 11b314 + +Function11b314: ; 11b314 + call Function11b31b + call Function11b3d9 + ret +; 11b31b + +Function11b31b: ; 11b31b + ld hl, .Coords + ld a, [wJumptableIndex] + cp 2 + jr c, .tilemap_1 + ld a, [wc7d1] + cp 4 + jr nc, .tilemap_3 + cp 3 + jr c, .tilemap_1 + ld a, [wJumptableIndex] + cp 2 + jr z, .tilemap_1 + cp 3 + jr z, .tilemap_1 + cp 6 + jr z, .tilemap_1 + + ld bc, .Tilemap2 + jr .load_sprites + +.tilemap_3 + ld bc, .Tilemap3 + jr .load_sprites + +.tilemap_1 + ld bc, .Tilemap1 + +.load_sprites + call Function11b397 + ret +; 11b350 + +.Coords: + dbpixel 3, 11, 2, 6 ; 0 + dbpixel 3, 12, 2, 6 ; 1 + dbpixel 3, 13, 2, 6 ; 2 + dbpixel 3, 14, 2, 6 ; 3 + dbpixel 3, 15, 2, 6 ; 4 + dbpixel 3, 16, 2, 6 ; 5 + dbpixel 3, 17, 2, 6 ; 6 + dbpixel 4, 11, 2, 6 ; 7 + dbpixel 4, 12, 2, 6 ; 8 + dbpixel 4, 13, 2, 6 ; 9 + dbpixel 4, 14, 2, 6 ; 10 + dbpixel 4, 15, 2, 6 ; 11 + dbpixel 4, 16, 2, 6 ; 12 + dbpixel 4, 17, 2, 6 ; 13 + db -1 + +.Tilemap1: ; vtiles + db $30 ; 0 + db $31 ; 1 + db $31 ; 2 + db $31 ; 3 + db $31 ; 4 + db $31 ; 5 + db $32 ; 6 + db $40 ; 7 + db $41 ; 8 + db $41 ; 9 + db $41 ; 10 + db $41 ; 11 + db $41 ; 12 + db $42 ; 13 + +.Tilemap2: ; vtiles + db $30 ; 0 + db $31 ; 1 + db $31 ; 2 + db $39 ; 3 + db $39 ; 4 + db $39 ; 5 + db $39 ; 6 + db $40 ; 7 + db $41 ; 8 + db $41 ; 9 + db $39 ; 10 + db $39 ; 11 + db $39 ; 12 + db $39 ; 13 + +.Tilemap3: ; vtiles + db $39 ; 0 + db $39 ; 1 + db $39 ; 2 + db $39 ; 3 + db $39 ; 4 + db $39 ; 5 + db $39 ; 6 + db $39 ; 7 + db $39 ; 8 + db $39 ; 9 + db $39 ; 10 + db $39 ; 11 + db $39 ; 12 + db $39 ; 13 + +Function11b397: ; 11b397 + ld de, Sprites +.loop + ld a, [hl] + cp $ff + ret z + ld a, [wc7d1] + and $7 + swap a + add [hl] + inc hl ; 1 + ld [de], a + inc de + + ld a, [hli] ; 2 + ld [de], a + inc de + + ld a, [bc] + inc bc + ld [de], a + inc de + ld a, $5 ; OBPal 5 + ld [de], a + inc de + jr .loop +; 11b3b6 + +Function11b3b6: ; 11b3b6 +; unreferenced +.loop + ld a, [hl] + cp -1 + ret z + ld a, [wcd4d] + and $7 + swap a + add [hl] + inc hl + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + push hl + ld l, c + ld h, b + ld a, [wcd4e] + add [hl] + inc bc + ld [de], a + inc de + pop hl + ld a, $5 + ld [de], a + inc de + jr .loop +; 11b3d9 + +Function11b3d9: ; 11b3d9 + ld de, Sprites + 28 * 4 + push de + ld a, [wc7d2] + dec a + ld e, a + ld a, [wc7d1] + ld hl, wc7d0 + add [hl] + cp e + jr z, .skip + ld hl, 0 + ld bc, $70 + call AddNTimes + ld e, l + ld d, h + ld b, 0 + ld a, d + or e + jr z, .load_sprites + ld a, [wc7d2] + ld c, a +.loop1 + ld a, e + sub c + ld e, a + ld a, d + sbc $0 + ld d, a + jr c, .load_sprites + inc b + jr .loop1 + +.skip + ld b, 14 * 8 + +.load_sprites + ld a, 2 * 8 + 5 + add b + pop hl + ld [hli], a + cp $41 + jr c, .version1 + ld a, [wJumptableIndex] + cp 4 + jr z, .version2 + cp 5 + jr z, .version2 + cp 7 + jr z, .version2 + cp 8 + jr z, .version2 + +.version1 + ld a, 19 * 8 + 3 + ld [hli], a + ld a, [wcd4c] + add $3c + ld [hli], a + ld a, [wcd4c] + add $1 + ld [hl], a + ret + +.version2 + ld a, 19 * 8 + 3 + ld [hli], a + ld a, $39 + ld [hli], a + xor a + ld [hl], a + ret +; 11b444 + +Function11b444: ; 11b444 +; special + call Mobile46_InitJumptable + call Mobile46_RunJumptable + ret +; 11b44b + +Mobile46_InitJumptable: ; 11b44b + xor a + ld [wJumptableIndex], a + ld [wcf64], a + ld [wcf65], a + ld [wcf66], a + call UpdateTime + ret +; 11b45c + +Mobile46_RunJumptable: ; 11b45c +.loop + call .IterateJumptable + call DelayFrame + ld a, [wJumptableIndex] + cp 4 + jr nz, .loop + ret +; 11b46a + +.IterateJumptable: ; 11b46a + jumptable .Jumptable, wJumptableIndex + +.Jumptable: + dw Function11b483 + dw Function11b570 + dw Function11b5c0 + dw Function11b5e0 + dw Function11b5e7 ; unused +; 11b483 + +Function11b483: ; 11b483 + call .InitRAM + ld hl, PlayerName + ld a, $5 ; Japanese Name Length +.loop1 + push af + ld a, [hli] + ld [bc], a + inc bc + pop af + dec a + and a + jr nz, .loop1 + + ld de, PARTYMON_STRUCT_LENGTH + ld hl, PartyMon1Species + ld a, [wcd82] + dec a + push af +.loop2 + and a + jr z, .okay + add hl, de + dec a + jr .loop2 + +.okay + push bc + ld a, PARTYMON_STRUCT_LENGTH +.loop3 + push af + ld a, [hli] + ld [bc], a + inc bc + pop af + dec a + and a + jr nz, .loop3 + + pop de + push bc + ld a, [de] + ld [CurSpecies], a + call GetBaseData + ld hl, MON_LEVEL + add hl, de + ld a, [hl] + ld [CurPartyLevel], a + ld hl, MON_MAXHP + add hl, de + push hl + ld hl, MON_STAT_EXP - 1 + add hl, de + pop de + push de + ld b, OTPARTYMON + predef CalcPkmnStats + pop de + ld h, d + ld l, e + dec hl + dec hl + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hl], a + pop bc + ld de, NAME_LENGTH + ld hl, PartyMonOT + pop af + push af +.loop4 + and a + jr z, .okay2 + add hl, de + dec a + jr .loop4 + +.okay2 + ld a, NAME_LENGTH - 1 +.loop5 + push af + ld a, [hli] + ld [bc], a + inc bc + pop af + dec a + and a + jr nz, .loop5 + ld de, NAME_LENGTH + ld hl, PartyMonNicknames + pop af + push af +.loop6 + and a + jr z, .okay3 + add hl, de + dec a + jr .loop6 + +.okay3 + ld a, NAME_LENGTH - 1 +.loop7 + push af + ld a, [hli] + ld [bc], a + inc bc + pop af + dec a + and a + jr nz, .loop7 + ld de, MAIL_STRUCT_LENGTH + ld hl, sPartyMail + pop af +.loop8 + and a + jr z, .okay4 + add hl, de + dec a + jr .loop8 + +.okay4 + ld a, $0 ; BANK(sPartyMail) + call GetSRAMBank + ld a, MAIL_STRUCT_LENGTH +.loop9 + push af + ld a, [hli] + ld [bc], a + inc bc + pop af + dec a + and a + jr nz, .loop9 + call CloseSRAM + jp Function11ad8a + +.InitRAM: + ld bc, $c626 + ld a, [PlayerID] + ld [wcd2a], a + ld [bc], a + inc bc + + ld a, [PlayerID + 1] + ld [wcd2b], a + ld [bc], a + inc bc + + ld a, [wSecretID] + ld [wcd2c], a + ld [bc], a + inc bc + + ld a, [wSecretID + 1] + ld [wcd2d], a + ld [bc], a + inc bc + + ld a, [wcd2e] + ld [bc], a + inc bc + + ld a, [wcd2f] + ld [bc], a + inc bc + + ld a, [wcd30] + ld [bc], a + inc bc + + ld a, [wd265] + ld [bc], a + inc bc + ret +; 11b570 + +Function11b570: ; 11b570 + call Function118007 + ld a, [ScriptVar] + and a + jr nz, .exit + call .SaveData + jp Function11ad8a + +.exit + ld a, $4 + ld [wJumptableIndex], a + ret + +.SaveData: + ld a, $3 + ld [rSVBK], a + + ld hl, w3_d800 + ld de, $c608 + ld bc, w3_d88f - w3_d800 + call CopyBytes + + ld a, $1 + ld [rSVBK], a + ld a, $5 + call GetSRAMBank + + ld de, $a800 + ld a, $1 + ld [de], a + inc de + ld hl, $c608 + ld bc, w3_d88f - w3_d800 + call CopyBytes + + push de + pop hl + + ld a, [hRTCMinutes] + ld [hli], a + ld a, [hRTCHours] + ld [hli], a + ld a, [hRTCDayLo] + ld [hli], a + ld a, [hRTCDayHi] + ld [hl], a + + call CloseSRAM + ret +; 11b5c0 + +Function11b5c0: ; 11b5c0 + ld a, [wcd82] + dec a + ld [CurPartyMon], a + xor a + ld [wPokemonWithdrawDepositParameter], a + callba RemoveMonFromPartyOrBox + callba Function170807 + callba SaveAfterLinkTrade + jp Function11ad8a +; 11b5e0 + +Function11b5e0: ; 11b5e0 + xor a + ld [ScriptVar], a + jp Function11ad8a +; 11b5e7 + +Function11b5e7: ; 11b5e7 + ret +; 11b5e8 + +Function11b5e8: ; 11b5e8 + ld a, $0 + call GetSRAMBank + ld hl, wRTC + ld de, $c608 + ld bc, 4 + call CopyBytes + call CloseSRAM + ld a, $5 + call GetSRAMBank + ld hl, $c608 + ld de, $b08c + ld bc, 4 + call CopyBytes + ld a, $2 + ld [$a800], a + ld a, [$a81f] + ld [wcd2a], a + ld a, [$a820] + ld [wcd2b], a + ld a, [$a821] + ld [wcd2c], a + ld a, [$a822] + ld [wcd2d], a + ld a, [$a823] + ld [wcd2e], a + ld a, [$a824] + ld [wcd2f], a + ld a, [$a825] + ld [wcd30], a + ld a, [$a826] + ld [wcd31], a + call CloseSRAM + call Mobile46_InitJumptable + call .loop + ret + +.loop + call .RunJumptable + call DelayFrame + ld a, [wJumptableIndex] + cp $1 + jr nz, .loop + ret + +.RunJumptable: + jumptable .Jumptable, wJumptableIndex +.Jumptable: + dw Function11b66d + dw Function11b6b3 +; 11b66d + +Function11b66d: ; 11b66d + call Function1180b8 + ld a, [ScriptVar] + and a + jr nz, .asm_11b6b0 + ld a, [rSVBK] + push af + ld a, $3 + ld [rSVBK], a + ld a, [w3_d090] + ld b, a + pop af + ld [rSVBK], a + ld a, b + and a + jr z, .asm_11b691 + cp $1 + jr nz, .asm_11b6b0 + call Function11b6b4 + jr .asm_11b6b0 + +.asm_11b691 + callba Function17081d + ld a, [ScriptVar] + and a + jr z, .asm_11b6b0 + xor a + ld [ScriptVar], a + ld a, [rSVBK] + push af + ld a, $3 + ld [rSVBK], a + ld a, $2 + ld [w3_d090], a + pop af + ld [rSVBK], a + +.asm_11b6b0 + jp Function11ad8a +; 11b6b3 + +Function11b6b3: ; 11b6b3 + ret +; 11b6b4 + +Function11b6b4: ; 11b6b4 + ld a, $5 + call GetSRAMBank + ld a, [wcd30] + ld [$c708], a + ld a, [wcd31] + ld [$c709], a + + ld a, $c708 % $100 + ld [wMobileMonSpeciesPointerBuffer], a + ld a, $c708 / $100 + ld [wMobileMonSpeciesPointerBuffer + 1], a + + ld a, $c60d % $100 ; Partymon Struct + ld [wMobileMonStructurePointerBuffer], a + ld a, $c60d / $100 + ld [wMobileMonStructurePointerBuffer + 1], a + + ld a, $c63d % $100 ; OT + ld [wMobileMonOTNamePointerBuffer], a + ld a, $c63d / $100 + ld [wMobileMonOTNamePointerBuffer + 1], a + + ld a, $c642 % $100 ; Nickname + ld [wMobileMonNicknamePointerBuffer], a + ld a, $c642 / $100 + ld [wMobileMonNicknamePointerBuffer + 1], a + + ld a, $c647 % $100 ; ??? + ld [wMobileMonMailPointerBuffer], a + ld a, $c647 / $100 + ld [wMobileMonMailPointerBuffer + 1], a + + ld a, $46 + ld [$c628], a + + ld de, $c63d + ld c, 5 + callba CheckStringForErrors + jr nc, .length_check_OT + callba Mobile_CopyDefaultOTName + +.length_check_OT + ld de, $c63d + lb bc, 1, 5 + callba CheckStringContainsLessThanBNextCharacters + jr nc, .error_check_nick + callba Mobile_CopyDefaultOTName + +.error_check_nick + ld de, $c642 + ld c, 5 + callba CheckStringForErrors + jr nc, .length_check_nick + callba Mobile_CopyDefaultNickname + +.length_check_nick + ld de, $c642 + lb bc, 1, 5 + callba CheckStringContainsLessThanBNextCharacters + jr nc, .error_check_mail + callba Mobile_CopyDefaultNickname + +.error_check_mail + ld de, $c647 + ld c, MAIL_MSG_LENGTH + 1 + callba CheckStringForErrors + jr nc, .length_check_mail + callba Mobile_CopyDefaultMail + +.length_check_mail + ld de, $c647 + lb bc, 2, MAIL_MSG_LENGTH + 1 + callba CheckStringContainsLessThanBNextCharacters + jr c, .fix_mail + ld a, b + cp $2 + jr nz, .mail_ok + +.fix_mail + callba Mobile_CopyDefaultMail + +.mail_ok + ld de, $c668 + ld c, $5 + callba CheckStringForErrors + jr nc, .length_check_author + callba Mobile_CopyDefaultMailAuthor + +.length_check_author + ld de, $c668 + lb bc, 1, 5 + callba CheckStringContainsLessThanBNextCharacters + jr nc, .author_okay + callba Mobile_CopyDefaultMailAuthor + +.author_okay + ld a, [$c60e] + cp -1 + jr nz, .item_okay + xor a + ld [$c60e], a + +.item_okay + ld a, [wcd31] + ld [$c60d], a + ld [CurSpecies], a + call GetBaseData + + ld hl, $c60d + MON_LEVEL + ld a, [hl] + cp MIN_LEVEL + ld a, MIN_LEVEL + jr c, .replace_level + ld a, [hl] + cp MAX_LEVEL + jr c, .done_level + ld a, MAX_LEVEL +.replace_level + ld [hl], a +.done_level + ld [CurPartyLevel], a + + ld hl, $c60d + MON_STAT_EXP - 1 + ld de, $c60d + MON_MAXHP + ld b, $1 + predef CalcPkmnStats + ld de, $c60d + MON_MAXHP + ld hl, $c60d + MON_HP + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hl], a + call AddMobileMonToParty + ret +; 11b7e5 + +Function11b7e5: ; 11b7e5 + ld a, [$c60d] ; species + ld [wOTTrademonSpecies], a + ld [CurPartySpecies], a + ld a, [wcd81] + ld [wc74e], a + ld hl, $c63d ; OT + ld de, wOTTrademonOTName + ld bc, 5 + call CopyBytes + ld a, "@" + ld [de], a + ld a, [$c60d + MON_ID] ; id + ld [wOTTrademonID], a + ld a, [$c60d + MON_ID + 1] + ld [wOTTrademonID + 1], a + ld hl, $c60d + MON_DVS ; dvs + ld a, [hli] + ld [wOTTrademonDVs], a + ld a, [hl] + ld [wOTTrademonDVs + 1], a + ld bc, $c60d ; pokemon_data_start + callba GetCaughtGender + ld a, c + ld [wOTTrademonCaughtData], a + call SpeechTextBox + call FadeToMenu + callba MobileTradeAnimation_ReceiveGetmonFromGTS + callba Function17d1f1 + ld a, $1 + ld [wForceEvolution], a + ld a, $2 + ld [wLinkMode], a + callba EvolvePokemon + xor a + ld [wLinkMode], a + callba SaveAfterLinkTrade + ld a, $5 + call GetSRAMBank + ld a, $5 + ld [$a800], a + call CloseSRAM + ld a, [MapGroup] + ld b, a + ld a, [MapNumber] + ld c, a + call GetMapTrigger + ld a, d + or e + jr z, .asm_11b872 + ld a, $1 + ld [de], a + +.asm_11b872 + call CloseSubmenu + call RestartMapMusic + ret +; 11b879 + +Function11b879: ; 11b879 + callba BattleTower_CheckSaveFileExistsAndIsYours + ld a, [ScriptVar] + and a + ret z + ld a, $5 + call GetSRAMBank + ld a, [$a800] + ld [ScriptVar], a + ld a, [$a890] + ld [wcd49], a + ld a, [$a891] + ld [wcd4a], a + ld a, [$a892] + ld [wcd4b], a + ld a, [$a893] + ld [wcd4c], a + call CloseSRAM + ld a, [ScriptVar] + and a + ret z + ld hl, wcd4c + ld a, [hRTCDayHi] + cp [hl] + ret nz + dec hl + ld a, [hRTCDayLo] + cp [hl] + ret nz + ld hl, wcd4a + ld a, [hRTCHours] + cp [hl] + jr nc, .asm_11b8d8 + ld a, $18 + sub [hl] + ld hl, hRTCHours + add [hl] + ld [wcd4c], a + ld a, [hRTCMinutes] + ld [wcd4b], a + xor a + ld [wcd4a], a + jr .asm_11b8e2 + +.asm_11b8d8 + ld a, [hRTCMinutes] + ld [wcd4b], a + ld a, [hRTCHours] + ld [wcd4c], a + +.asm_11b8e2 + xor a + ld l, a + ld h, a + ld b, a + ld d, a + ld a, [wcd4b] + ld e, a + ld a, [wcd4c] + ld c, $3c + call AddNTimes + add hl, de + push hl + xor a + ld l, a + ld h, a + ld b, a + ld d, a + ld a, [wcd49] + ld e, a + ld a, [wcd4a] + ld c, $3c + call AddNTimes + add hl, de + ld a, l + cpl + add $1 + ld e, a + ld a, h + cpl + adc $0 + ld d, a + pop hl + add hl, de + ld de, $ff88 + add hl, de + bit 7, h + ret z + ld a, $2 + ld [ScriptVar], a + ret +; 11b920 + +Function11b920: ; 11b920 + call Mobile46_InitJumptable + ld a, $5 + call GetSRAMBank + ld hl, $a81f + ld de, $c626 + ld bc, 8 + call CopyBytes + call CloseSRAM + call Function118000 + ret +; 11b93b + +Function11b93b: ; 11b93b + ld a, $5 + call GetSRAMBank + xor a + ld [$a800], a + ld hl, $a823 + ld de, $c608 + ld bc, $008f + call CopyBytes + call CloseSRAM + + ld a, $c608 % $100 + ld [wMobileMonSpeciesPointerBuffer], a + ld a, $c608 / $100 + ld [wMobileMonSpeciesPointerBuffer + 1], a + + ld a, $c611 % $100 + ld [wMobileMonStructurePointerBuffer], a + ld a, $c611 / $100 + ld [wMobileMonStructurePointerBuffer + 1], a + + ld a, $c641 % $100 + ld [wMobileMonOTNamePointerBuffer], a + ld a, $c641 / $100 + ld [wMobileMonOTNamePointerBuffer + 1], a + + ld a, $c646 % $100 + ld [wMobileMonNicknamePointerBuffer], a + ld a, $c646 / $100 + ld [wMobileMonNicknamePointerBuffer + 1], a + + ld a, $c64b % $100 + ld [wMobileMonMailPointerBuffer], a + ld a, $c64b / $100 + ld [wMobileMonMailPointerBuffer + 1], a + call AddMobileMonToParty + callba SaveAfterLinkTrade + ret +; 11b98f + +AddMobileMonToParty: ; 11b98f + ld hl, PartyCount + ld a, [hl] + ld e, a + inc [hl] + + ld a, [wMobileMonSpeciesPointerBuffer] + ld l, a + ld a, [wMobileMonSpeciesPointerBuffer + 1] + ld h, a + inc hl + ld bc, PartySpecies + ld d, e +.loop1 + inc bc + dec d + jr nz, .loop1 + ld a, e + ld [CurPartyMon], a + ld a, [hl] + ld [bc], a + inc bc + ld a, -1 + ld [bc], a + + ld hl, PartyMon1Species + ld bc, PARTYMON_STRUCT_LENGTH + ld a, e + ld [wMobileMonSpeciesBuffer], a +.loop2 + add hl, bc + dec a + and a + jr nz, .loop2 + ld e, l + ld d, h + ld a, [wMobileMonStructurePointerBuffer] + ld l, a + ld a, [wMobileMonStructurePointerBuffer + 1] + ld h, a + ld bc, PARTYMON_STRUCT_LENGTH + call CopyBytes + + ld hl, PartyMonOT + ld bc, NAME_LENGTH + ld a, [wMobileMonSpeciesBuffer] +.loop3 + add hl, bc + dec a + and a + jr nz, .loop3 + ld e, l + ld d, h + ld a, [wMobileMonOTNamePointerBuffer] + ld l, a + ld a, [wMobileMonOTNamePointerBuffer + 1] + ld h, a + ld bc, PKMN_NAME_LENGTH - 1 + call CopyBytes + ld a, "@" + ld [de], a + + ld hl, PartyMonNicknames + ld bc, PKMN_NAME_LENGTH + ld a, [wMobileMonSpeciesBuffer] +.loop4 + add hl, bc + dec a + and a + jr nz, .loop4 + ld e, l + ld d, h + ld a, [wMobileMonNicknamePointerBuffer] + ld l, a + ld a, [wMobileMonNicknamePointerBuffer + 1] + ld h, a + ld bc, PKMN_NAME_LENGTH - 1 + call CopyBytes + ld a, "@" + ld [de], a + + ld hl, sPartyMail + ld bc, MAIL_STRUCT_LENGTH + ld a, [wMobileMonSpeciesBuffer] +.loop5 + add hl, bc + dec a + and a + jr nz, .loop5 + ld a, BANK(sPartyMail) + call GetSRAMBank + ld e, l + ld d, h + ld a, [wMobileMonMailPointerBuffer] + ld l, a + ld a, [wMobileMonMailPointerBuffer + 1] + ld h, a + ld bc, MAIL_STRUCT_LENGTH + call CopyBytes + + call CloseSRAM + ret +; 11ba38 + +Function11ba38: ; 11ba38 + callba CheckCurPartyMonFainted + ret c + xor a + ld [ScriptVar], a + ret +; 11ba44 + +TilemapPack_11ba44: + db $47, $30, $0a, $0a, $0a, $0a, $0a, $56 ; 00 + db $46, $2f, $0a, $0a, $0a, $0a, $0a, $55 ; 01 + db $45, $3d, $0a, $0a, $0a, $0a, $0a, $54 ; 02 + db $44, $30, $0a, $0a, $0a, $0a, $0a, $53 ; 03 + db $43, $2f, $0a, $0a, $0a, $0a, $0a, $52 ; 04 + db $4a, $3d, $0a, $0a, $0a, $0a, $0a, $51 ; 05 + db $4a, $30, $0a, $0a, $0a, $0a, $0a, $50 ; 06 + db $4a, $2f, $0a, $0a, $0a, $0a, $0a, $4f ; 07 + db $4a, $3d, $0a, $0a, $0a, $0a, $0a, $4e ; 08 + db $4a, $30, $0a, $0a, $0a, $0a, $4d, $42 ; 09 + db $4a, $2f, $0a, $0a, $0a, $0a, $6b, $58 ; 0a + db $4a, $3d, $0a, $0a, $0a, $0a, $6a, $58 ; 0b + db $4a, $30, $0a, $0a, $0a, $0a, $69, $58 ; 0c + db $4a, $2f, $0a, $0a, $0a, $0a, $68, $58 ; 0d + db $4a, $3d, $0a, $0a, $0a, $66, $67, $58 ; 0e + db $4a, $30, $0a, $0a, $0a, $65, $0a, $58 ; 0f + db $4a, $2f, $0a, $0a, $0a, $64, $0a, $58 ; 10 + db $4a, $3d, $0a, $0a, $0a, $63, $0a, $58 ; 11 + db $4a, $30, $0a, $0a, $61, $62, $0a, $58 ; 12 + db $4a, $2f, $0a, $0a, $5f, $60, $0a, $58 ; 13 + db $4a, $3d, $0a, $61, $62, $0a, $0a, $58 ; 14 + db $4a, $30, $0a, $63, $0a, $0a, $0a, $58 ; 15 + db $4a, $2f, $69, $0a, $0a, $0a, $0a, $58 ; 16 + db $4a, $3d, $81, $0a, $0a, $0a, $0a, $58 ; 17 + db $4a, $30, $80, $0a, $0a, $0a, $0a, $58 ; 18 + db $4a, $2f, $7f, $0a, $0a, $0a, $0a, $58 ; 19 + db $4a, $3d, $0a, $0a, $0a, $0a, $0a, $58 ; 1a + db $4a, $30, $0a, $0a, $0a, $0a, $0a, $58 ; 1b + db $4a, $2f, $68, $87, $88, $89, $0a, $58 ; 1c + db $4a, $3d, $6e, $6f, $70, $75, $76, $58 ; 1d + db $4a, $30, $75, $76, $5c, $5d, $5e, $58 ; 1e + db $4a, $2f, $71, $72, $73, $74, $6d, $58 ; 1f + db $4a, $3d, $75, $76, $77, $8a, $8b, $58 ; 20 + db $4a, $30, $66, $67, $65, $0a, $6a, $58 ; 21 + db $4a, $2f, $83, $84, $0a, $83, $84, $58 ; 22 + db $4a, $3d, $0a, $85, $82, $84, $0a, $58 ; 23 + db $4a, $30, $41, $80, $40, $0a, $0a, $58 ; 24 + db $4a, $2f, $83, $0a, $0a, $0a, $0a, $58 ; 25 + db $4a, $3d, $40, $0a, $0a, $0a, $0a, $58 ; 26 + db -1 + +TilemapPack_11bb7d: + db $0a, $0a, $0a, $0a, $0a, $0a, $16, $00 ; 00 + db $78, $0a, $0a, $0a, $0a, $0a, $8c, $00 ; 01 + db $79, $0a, $0a, $0a, $0a, $0a, $8d, $00 ; 02 + db $7a, $0a, $0a, $0a, $0a, $0a, $8e, $00 ; 03 + db $7b, $0a, $0a, $0a, $0a, $0a, $8c, $00 ; 04 + db $7c, $0a, $0a, $0a, $0a, $0a, $8d, $00 ; 05 + db $7d, $0a, $0a, $0a, $0a, $0a, $8e, $00 ; 06 + db $2e, $7e, $0a, $0a, $0a, $0a, $8c, $00 ; 07 + db $2e, $80, $0a, $0a, $0a, $0a, $8d, $00 ; 08 + db $2e, $81, $0a, $0a, $0a, $0a, $8e, $00 ; 09 + db $2e, $82, $0a, $0a, $0a, $0a, $8c, $00 ; 0a + db $2e, $69, $0a, $0a, $0a, $0a, $8d, $00 ; 0b + db $2e, $6a, $0a, $0a, $0a, $0a, $8e, $00 ; 0c + db $2e, $6b, $0a, $0a, $0a, $0a, $8c, $00 ; 0d + db $2e, $0a, $68, $0a, $0a, $0a, $8d, $00 ; 0e + db $2e, $0a, $69, $0a, $0a, $0a, $8e, $00 ; 0f + db $2e, $0a, $0a, $6a, $0a, $0a, $8c, $00 ; 10 + db $2e, $0a, $0a, $6b, $0a, $0a, $8d, $00 ; 11 + db $2e, $0a, $0a, $0a, $80, $0a, $8e, $00 ; 12 + db $2e, $0a, $0a, $0a, $82, $0a, $8c, $00 ; 13 + db $2e, $0a, $0a, $0a, $6c, $0a, $8d, $00 ; 14 + db $2e, $0a, $0a, $0a, $0a, $83, $8e, $00 ; 15 + db $2e, $0a, $6b, $0a, $0a, $0a, $8c, $00 ; 16 + db $2e, $0a, $0a, $69, $0a, $0a, $8d, $00 ; 17 + db $2e, $0a, $0a, $6a, $0a, $0a, $8e, $00 ; 18 + db $2e, $0a, $0a, $0a, $68, $0a, $8c, $00 ; 19 + db $2e, $0a, $0a, $0a, $63, $0a, $8d, $00 ; 1a + db $2e, $0a, $0a, $61, $62, $0a, $8e, $00 ; 1b + db $2e, $0a, $0a, $0a, $5f, $60, $8c, $00 ; 1c + db $2e, $0a, $0a, $0a, $63, $0a, $8d, $00 ; 1d + db $2e, $0a, $0a, $0a, $0a, $69, $8c, $00 ; 1e + db $2e, $0a, $0a, $0a, $0a, $6b, $8d, $00 ; 1f + db $2e, $0a, $0a, $0a, $0a, $83, $8e, $00 ; 20 + db $2e, $0a, $0a, $0a, $0a, $86, $8c, $00 ; 21 + db $2e, $0a, $85, $0a, $0a, $0a, $8d, $00 ; 22 + db $2e, $0a, $0a, $84, $0a, $0a, $8e, $00 ; 23 + db -1 + + diff --git a/mobile/mobile_5b.asm b/mobile/mobile_5b.asm new file mode 100755 index 000000000..679f04342 --- /dev/null +++ b/mobile/mobile_5b.asm @@ -0,0 +1,833 @@ +Function16c000: ; 16c000 +; unreferenced + ; Only for CGB + ld a, [hCGB] + and a + ret z + ; Only do this once per boot cycle + ld a, [hFFEA] + and a + ret z + ; Set some flag, preserving the old state + ld a, [wcfbe] + push af + set 7, a + ld [wcfbe], a + ; Do stuff + call MobileSystemSplashScreen_InitGFX ; Load GFX + callba SetRAMStateForMobile + callba EnableMobile + call .RunJumptable + callba DisableMobile + ; Prevent this routine from running again + ; until the next time the syatem is turned on + xor a + ld [hFFEA], a + ; Restore the flag state + pop af + ld [wcfbe], a + ret +; 16c031 + +.RunJumptable: ; 16c031 + xor a + ld [wJumptableIndex], a + ld [wcf64], a + ld [wd002], a + ld [wd003], a +.loop + call DelayFrame + callba Function10635c + ld a, [wd002] + ld hl, .Jumptable + rst JumpTable + call Function16cb2e + call Function16cbae + ld a, [wd002] + cp $ff + jr nz, .loop + ret +; 16c05c + +.Jumptable: ; 16c05c + dw .init + dw Function16c0ba + dw Function16c089 + dw Function16c09e + dw Function16c0a8 + dw Function16c0dc + dw Function16c0ec + dw Function16c0ba + dw Function16c0ca + dw Function16c0dc + dw Function16c0ec + dw .quit +; 16c074 + +.init ; 16c074 + ld a, [wcf64] + and a + ret z + ld [wd002], a + xor a + ld [wd003], a + ret +; 16c081 + +.quit ; 16c081 + push af + ld a, $ff + ld [wd002], a + pop af + ret +; 16c089 + +Function16c089: ; 16c089 + ld a, $1 + ld [Buffer2], a + ld [wd1f1], a + xor a + ld [hWY], a + call Function16c0fa + ld a, [wd002] + ld [wcf64], a + ret +; 16c09e + +Function16c09e: ; 16c09e + ld a, [wcf64] + cp $4 + ret nz + call Function16c0fa + ret +; 16c0a8 + +Function16c0a8: ; 16c0a8 + xor a + ld [Buffer2], a + ld [wd1f1], a + call ClearSprites + ld a, $90 + ld [hWY], a + call Function16c0fa + ret +; 16c0ba + +Function16c0ba: ; 16c0ba + call Function16c943 + push af + ld a, [wd003] + inc a + ld [wd003], a + pop af + call c, Function16c0fa + ret +; 16c0ca + +Function16c0ca: ; 16c0ca + ld a, [wd003] + cp $28 + push af + ld a, [wd003] + inc a + ld [wd003], a + pop af + call z, Function16c0fa + ret +; 16c0dc + +Function16c0dc: ; 16c0dc + call Function16ca11 + push af + ld a, [wd003] + inc a + ld [wd003], a + pop af + call c, Function16c0fa + ret +; 16c0ec + +Function16c0ec: ; 16c0ec + call ClearBGPalettes + call ClearScreen + push af + ld a, $ff + ld [wd002], a + pop af + ret +; 16c0fa + +Function16c0fa: ; 16c0fa + push af + ld a, [wd002] + inc a + ld [wd002], a + xor a + ld [wd003], a + pop af + ret +; 16c108 + +MobileSystemSplashScreen_InitGFX: ; 16c108 + call DisableLCD + ld hl, VTiles2 + ld de, .Tiles + lb bc, BANK(.Tiles), $68 + call Get2bpp + call .LoadPals + call .LoadTileMap + call .LoadAttrMap + hlbgcoord 0, 0 + call Function16cc73 + call Function16cc02 + xor a + ld [hBGMapMode], a + call EnableLCD + ret +; 16c130 + +.LoadPals: ; 16c130 + ld de, UnknBGPals + ld hl, UnknownMobilePalettes_16c903 + ld bc, 8 + ld a, $5 + call FarCopyWRAM + callba ApplyPals + ret +; 16c145 + +.LoadTileMap: ; 16c145 + hlcoord 0, 0 + ld bc, 20 + xor a + call ByteFill + ld hl, .TileMap + decoord 0, 1 + ld bc, $0154 + call CopyBytes + ret +; 16c15c + +.LoadAttrMap: ; 16c15c + hlcoord 0, 0, AttrMap + ld bc, SCREEN_WIDTH + xor a + call ByteFill + ld hl, .AttrMap + decoord 0, 1, AttrMap + ld bc, 17 * SCREEN_WIDTH + call CopyBytes + ret +; 16c173 + +.Tiles: +INCBIN "gfx/unknown/mobile_splash.2bpp" + +.TileMap: +INCBIN "gfx/unknown/mobile_splash.tilemap" + +.AttrMap: +INCBIN "gfx/unknown/mobile_splash.attrmap" + +UnknownMobilePalettes_16c903: ; 16c903 +INCLUDE "gfx/unknown/16c903.pal" + +; 16c943 + +Function16c943: ; 16c943 + ld a, [wd003] + and a + jr nz, .asm_16c95e + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld a, $ff + ld bc, $0008 + ld hl, UnknBGPals + call ByteFill + pop af + ld [rSVBK], a + +.asm_16c95e + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld e, $0 + ld a, $0 +.asm_16c969 + ld hl, UnknownMobilePalettes_16c903 + call Function16cab6 + call Function16cabb + ld d, a + ld hl, UnknBGPals + call Function16cab6 + call Function16cabb + cp d + jr z, .asm_16c991 + ld b, $1 +.asm_16c981 + dec a + cp d + jr z, .asm_16c988 + dec b + jr nz, .asm_16c981 + +.asm_16c988 + ld hl, UnknBGPals + call Function16cab6 + call Function16cadc + +.asm_16c991 + ld hl, UnknownMobilePalettes_16c903 + call Function16cab6 + call Function16cad8 + ld d, a + ld hl, UnknBGPals + call Function16cab6 + call Function16cad8 + cp d + jr z, .asm_16c9b9 + ld b, $1 +.asm_16c9a9 + dec a + cp d + jr z, .asm_16c9b0 + dec b + jr nz, .asm_16c9a9 + +.asm_16c9b0 + ld hl, UnknBGPals + call Function16cab6 + call Function16cb08 + +.asm_16c9b9 + ld hl, UnknownMobilePalettes_16c903 + call Function16cab6 + call Function16cac4 + ld d, a + ld hl, UnknBGPals + call Function16cab6 + call Function16cac4 + cp d + jr z, .asm_16c9e1 + ld b, $1 +.asm_16c9d1 + dec a + cp d + jr z, .asm_16c9d8 + dec b + jr nz, .asm_16c9d1 + +.asm_16c9d8 + ld hl, UnknBGPals + call Function16cab6 + call Function16cae8 + +.asm_16c9e1 + inc e + inc e + ld a, e + cp $8 + jr nz, .asm_16c969 + callba ApplyPals + call SetPalettes + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + ld a, [wd003] + cp $1f + jr z, .asm_16ca09 + pop af + ld [rSVBK], a + ld e, $0 + pop af + ld [rSVBK], a + and a + ret + +.asm_16ca09 + pop af + ld [rSVBK], a + pop af + ld [rSVBK], a + scf + ret +; 16ca11 + +Function16ca11: ; 16ca11 + ld a, [wd003] + and a + jr nz, .asm_16ca1d + callba ApplyPals + +.asm_16ca1d + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld e, $0 + ld a, $0 +.asm_16ca28 + ld hl, UnknBGPals + call Function16cab6 + call Function16cabb + cp $1f + jr z, .asm_16ca48 + ld b, $1 +.asm_16ca37 + inc a + cp $1f + jr z, .asm_16ca3f + dec b + jr nz, .asm_16ca37 + +.asm_16ca3f + ld hl, UnknBGPals + call Function16cab6 + call Function16cadc + +.asm_16ca48 + ld hl, UnknBGPals + call Function16cab6 + call Function16cad8 + cp $1f + jr z, .asm_16ca68 + ld b, $1 +.asm_16ca57 + inc a + cp $1f + jr z, .asm_16ca5f + dec b + jr nz, .asm_16ca57 + +.asm_16ca5f + ld hl, UnknBGPals + call Function16cab6 + call Function16cb08 + +.asm_16ca68 + ld hl, UnknBGPals + call Function16cab6 + call Function16cac4 + cp $1f + jr z, .asm_16ca88 + ld b, $1 +.asm_16ca77 + inc a + cp $1f + jr z, .asm_16ca7f + dec b + jr nz, .asm_16ca77 + +.asm_16ca7f + ld hl, UnknBGPals + call Function16cab6 + call Function16cae8 + +.asm_16ca88 + inc e + inc e + ld a, e + cp $8 + jr nz, .asm_16ca28 + callba ApplyPals + call SetPalettes + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + ld a, [wd003] + cp $1f + jr z, .asm_16caae + pop af + ld [rSVBK], a + pop af + ld [rSVBK], a + and a + ret + +.asm_16caae + pop af + ld [rSVBK], a + pop af + ld [rSVBK], a + scf + ret +; 16cab6 + +Function16cab6: ; 16cab6 + ld b, $0 + ld c, e + add hl, bc + ret +; 16cabb + +Function16cabb: ; 16cabb + inc hl + ld a, [hl] + srl a + srl a + and $1f + ret +; 16cac4 + +Function16cac4: ; 16cac4 + inc hl + ld a, [hld] + and $3 + ld b, a + ld a, [hl] + sla a + rl b + sla a + rl b + sla a + rl b + ld a, b + ret +; 16cad8 + +Function16cad8: ; 16cad8 + ld a, [hl] + and $1f + ret +; 16cadc + +Function16cadc: ; 16cadc + sla a + sla a + ld b, a + inc hl + ld a, [hl] + and $83 + or b + ld [hl], a + ret +; 16cae8 + +Function16cae8: ; 16cae8 + ld c, a + srl a + srl a + srl a + ld b, a + inc hl + ld a, [hl] + and $fc + or b + ld [hld], a + ld a, c + sla a + sla a + sla a + sla a + sla a + ld b, a + ld a, [hl] + and $1f + or b + ld [hl], a + ret +; 16cb08 + +Function16cb08: ; 16cb08 + ld b, a + ld a, [hl] + and $e0 + or b + ld [hl], a + ret +; 16cb0f + +Function16cb0f: ; 16cb0f + xor a + ld [Buffer1], a + ld [Buffer2], a + xor a + ld [wd1ec], a + ld a, $70 + ld [wd1ee], a + ld a, $4 + ld [wd1ed], a + ld a, $a0 + ld [wd1ef], a + xor a + ld [wd1f0], a + ret +; 16cb2e + +Function16cb2e: ; 16cb2e + ld a, [Buffer2] + and a + ret z + call Function16cb40 + ld hl, Unknown_16cb86 + ld de, Sprites + call Function16cb5d + ret +; 16cb40 + +Function16cb40: ; 16cb40 + ld hl, wd1ec + inc [hl] + ld a, [hl] + cp $18 + ret c + xor a + ld [hl], a + ld a, [wd1ef] + cp $a0 + jr nz, .asm_16cb57 + ld a, $a7 + ld [wd1ef], a + ret + +.asm_16cb57 + ld a, $a0 + ld [wd1ef], a + ret +; 16cb5d + +Function16cb5d: ; 16cb5d + ld a, [hli] + and a + ret z +.asm_16cb60 + push af + ld a, [wd1ee] + add [hl] + add $10 + ld [de], a + inc hl + inc de + ld a, [wd1ed] + add [hl] + add $8 + ld [de], a + inc hl + inc de + ld a, [wd1ef] + add [hl] + ld [de], a + inc hl + inc de + ld a, [wd1f0] + or [hl] + ld [de], a + inc hl + inc de + pop af + dec a + jr nz, .asm_16cb60 + ret +; 16cb86 + +Unknown_16cb86: + db 7 + db 0, 0, 0, 1 + db 8, 0, 1, 1 + db 8, 8, 2, 0 + db 8, 16, 3, 0 + db 16, 0, 4, 1 + db 16, 8, 5, 0 + db 16, 16, 6, 0 +; 16cba3 + +Function16cba3: ; 16cba3 + xor a + ld [wd1f1], a + ld [wd1f2], a + ld [wd1f3], a + ret +; 16cbae + +Function16cbae: ; 16cbae + ld a, [wd1f1] + and a + ret z + call Function16cbba + call Function16cbd1 + ret +; 16cbba + +Function16cbba: ; 16cbba + ld hl, wd1f2 + inc [hl] + ld a, [hl] + cp $c + ret c + xor a + ld [hl], a + ld a, [wd1f3] + inc a + cp $4 + jr c, .asm_16cbcd + xor a + +.asm_16cbcd + ld [wd1f3], a + ret +; 16cbd1 + +Function16cbd1: ; 16cbd1 + ld a, [wd1f3] + ld c, a + ld b, 0 + ld hl, Unknown_16cbfb + add hl, bc + ld a, [hl] + ld bc, 2 + ld hl, Unknown_16cfa3 + call AddNTimes + ld de, UnknBGPals + 1 palettes + 4 + ld bc, 2 + ld a, $5 + call FarCopyWRAM + callba ApplyPals + ld a, $1 + ld [hCGBPalUpdate], a + ret +; 16cbfb + +Unknown_16cbfb: + db 0, 1, 2, 1, 0, 1, 2 +; 16cc02 + +Function16cc02: ; 16cc02 + call Function16cc18 + call Function16cc49 + call Function16cc62 + call Function16cc25 + call Function16cc6e + call Function16cb0f + call Function16cba3 + ret +; 16cc18 + +Function16cc18: ; 16cc18 + ld hl, VTiles1 + ld de, GFX_16cca3 + lb bc, BANK(GFX_16cca3), $2e + call Get2bpp + ret +; 16cc25 + +Function16cc25: ; 16cc25 + ld hl, Unknown_16cfa9 + ld de, UnknBGPals + 1 palettes + call .CopyPal + ld hl, Unknown_16cfb1 + ld de, UnknOBPals + call .CopyPal + ld hl, Unknown_16cfb9 + ld de, UnknOBPals + 1 palettes + call .CopyPal + ret +; 16cc41 + +.CopyPal: ; 16cc41 + ld bc, 1 palettes + ld a, $5 + jp FarCopyWRAM +; 16cc49 + +Function16cc49: ; 16cc49 + hlcoord 4, 15 + ld a, $80 + call Function16cc5a + hlcoord 4, 16 + ld a, $90 + call Function16cc5a + ret +; 16cc5a + +Function16cc5a: ; 16cc5a + ld c, $10 +.asm_16cc5c + ld [hli], a + inc a + dec c + jr nz, .asm_16cc5c + ret +; 16cc62 + +Function16cc62: ; 16cc62 + hlcoord 0, 15, AttrMap + ld bc, $0028 + ld a, $1 + call ByteFill + ret +; 16cc6e + +Function16cc6e: ; 16cc6e + hlbgcoord 0, 0, VBGMap1 + jr Function16cc73 + +Function16cc73: + ld a, [rVBK] + push af + ld a, $0 + ld [rVBK], a + push hl + decoord 0, 0 + call Function16cc90 + pop hl + ld a, $1 + ld [rVBK], a + decoord 0, 0, AttrMap + call Function16cc90 + pop af + ld [rVBK], a + ret +; 16cc90 + +Function16cc90: ; 16cc90 + ld bc, $1214 +.asm_16cc93 + push bc +.asm_16cc94 + ld a, [de] + inc de + ld [hli], a + dec c + jr nz, .asm_16cc94 + ld bc, $000c + add hl, bc + pop bc + dec b + jr nz, .asm_16cc93 + ret +; 16cca3 + +GFX_16cca3: +INCBIN "gfx/unknown/16cca3.2bpp" + +Unknown_16cfa3: + RGB 31, 31, 31 + RGB 25, 27, 29 + RGB 16, 19, 25 + +Unknown_16cfa9: + RGB 31, 31, 31 + RGB 25, 27, 29 + RGB 31, 31, 31 + RGB 07, 07, 07 + + +Unknown_16cfb1: + RGB 31, 31, 31 + RGB 13, 09, 18 + RGB 26, 21, 16 + RGB 07, 07, 07 + + +Unknown_16cfb9: + RGB 31, 31, 31 + RGB 18, 05, 02 + RGB 27, 11, 12 + RGB 07, 07, 07 + +; 16cfc1 diff --git a/mobile/mobile_5c.asm b/mobile/mobile_5c.asm new file mode 100755 index 000000000..5b7418a0f --- /dev/null +++ b/mobile/mobile_5c.asm @@ -0,0 +1,944 @@ +Function170000: ; 170000 + ld a, [$c62b] + ld [wPlayerTrademonSpecies], a + ld hl, $c62e + ld de, wPlayerTrademonSenderName + ld bc, $0005 + call CopyBytes + ld a, $50 + ld [de], a + ld hl, $c663 + ld de, wPlayerTrademonOTName + ld bc, $0005 + call CopyBytes + ld a, $50 + ld [de], a + ld hl, $c648 + ld a, [hli] + ld [wPlayerTrademonDVs], a + ld a, [hl] + ld [wPlayerTrademonDVs + 1], a + ld hl, $c639 + ld a, [hli] + ld [wPlayerTrademonID], a + ld a, [hl] + ld [wPlayerTrademonID + 1], a + ld bc, $c633 + callba GetCaughtGender + ld a, c + ld [wPlayerTrademonCaughtData], a + ld a, [wcd81] + ld [wc74e], a + ld hl, $c608 + ld de, $d800 + ld bc, $008f + call CopyBytes + ret + +; 17005a + +Function17005a: ; 17005a + ld a, $5 + call GetSRAMBank + ld a, [$a824] + ld [wOTTrademonSpecies], a + ld hl, $a827 + ld de, wOTTrademonSenderName + ld bc, 5 ; Japanese Name Length + call CopyBytes + ld a, "@" + ld [de], a + ld hl, $a85c + ld de, wOTTrademonOTName + ld bc, 5 ; Japanese Name Length + call CopyBytes + ld a, "@" + ld [de], a + ld hl, $a841 + ld a, [hli] + ld [wOTTrademonDVs], a + ld a, [hl] + ld [wOTTrademonDVs + 1], a + ld hl, $a832 + ld a, [hli] + ld [wOTTrademonID], a + ld a, [hl] + ld [wOTTrademonID + 1], a + ld bc, $a82c + callba GetCaughtGender + ld a, c + ld [wOTTrademonCaughtData], a + ld a, [wcd81] + ld [wc74e], a + call CloseSRAM + ret + +; 1700b0 + +INCLUDE "misc/battle_tower_5c.asm" + +Function170be4: ; 170be4 + ld a, $5 + call GetSRAMBank + xor a + ld hl, $a894 + ld bc, $0008 + call ByteFill + call CloseSRAM + ret + +; 170bf7 + +Clears5_a89a: ; 170bf7 + ld a, $5 + call GetSRAMBank + ld hl, $a89a + xor a + ld [hli], a + ld [hl], a + call CloseSRAM + ret + +; 170c06 + +Function170c06: ; 170c06 + ld a, $5 + call GetSRAMBank + ld hl, $a894 + ld a, [wBattleResult] + and a + jr nz, .asm_170c15 + inc [hl] + +.asm_170c15 + inc hl + inc hl + ld a, [$a89b] + add [hl] + ld [hld], a + ld a, [$a89a] + adc [hl] + ld [hli], a + jr nc, .asm_170c27 + ld a, $ff + ld [hld], a + ld [hli], a + +.asm_170c27 + inc hl + push hl + ld de, 0 + xor a + ld [wd265], a +.asm_170c30 + ld hl, PartyMon1HP + ld a, [wd265] + call GetPartyLocation + ld a, [hli] + ld b, a + ld c, [hl] + inc hl + inc hl + ld a, [hld] + sub c + ld c, a + ld a, [hl] + sbc b + ld b, a + push de + pop hl + add hl, bc + push hl + pop de + jr c, .asm_170c58 + ld a, [wd265] + inc a + ld [wd265], a + cp $3 + jr c, .asm_170c30 + jr .asm_170c5b + +.asm_170c58 + ld de, -1 + +.asm_170c5b + pop hl + inc hl + ld a, e + add [hl] + ld [hld], a + ld a, d + adc [hl] + ld [hli], a + jr nc, .asm_170c69 + ld a, $ff + ld [hld], a + ld [hli], a + +.asm_170c69 + inc hl + push hl + ld b, $0 + ld c, $0 +.asm_170c6f + ld hl, PartyMon1HP + ld a, b + push bc + call GetPartyLocation + pop bc + ld a, [hli] + or [hl] + jr nz, .asm_170c7d + inc c + +.asm_170c7d + inc b + ld a, b + cp $3 + jr c, .asm_170c6f + pop hl + ld a, [hl] + add c + ld [hl], a + call CloseSRAM + ret + +; 170c8b + +Function170c8b: ; 170c8b + ld hl, LastEnemyCounterMove + ld b, $5 +.asm_170c90 + ld a, [hl] + xor $ff + ld [hli], a + dec b + jr nz, .asm_170c90 + ret + +; 170c98 + +CheckBTMonMovesForErrors: ; 170c98 + ld c, BATTLETOWER_NROFPKMNS + ld hl, wBT_OTTempPkmn1Moves +.loop + push hl + ld a, [hl] + cp NUM_ATTACKS + 1 + jr c, .okay + ld a, POUND + ld [hl], a + +.okay + inc hl + ld b, NUM_MOVES - 1 +.loop2 + ld a, [hl] + and a + jr z, .loop3 + cp NUM_ATTACKS + 1 + jr c, .next + +.loop3 + xor a + ld [hl], a + inc hl + dec b + jr nz, .loop3 + jr .done + +.next + inc hl + dec b + jr nz, .loop2 + +.done + pop hl + ld de, PARTYMON_STRUCT_LENGTH + PKMN_NAME_LENGTH + add hl, de + dec c + jr nz, .loop + ret + +; 170cc6 + +Function170cc6: ; 170cc6 + ld a, [rSVBK] + push af + ld a, $6 + ld [rSVBK], a + ld hl, LZ_170d16 + ld de, wDecompressScratch + call Decompress + ld a, $1 + ld [rVBK], a + ld de, wd000 + ld hl, VTiles0 + lb bc, $6, $c1 + call Get2bpp + xor a + ld [rVBK], a + ld hl, LZ_1715a4 + ld de, wd000 + call Decompress + ld de, UnknBGPals + ld hl, VTiles0 + lb bc, $6, $53 + call Get2bpp + pop af + ld [rSVBK], a + ret + +; 170d02 + +Function170d02: ; 170d02 + ld a, $1 + ld [rVBK], a + ld de, GFX_171848 + ld hl, VTiles1 tile $41 + lb bc, BANK(GFX_171848), $18 + call Get2bpp + xor a + ld [rVBK], a + ret + +; 170d16 + +LZ_170d16: +INCBIN "gfx/unknown/pichu_animated.2bpp.lz" + +LZ_1715a4: +INCBIN "gfx/unknown/egg_animated.2bpp.lz" + +GFX_171848: +INCBIN "gfx/unknown/171848.2bpp" + +Function1719c8: ; 1719c8 (5c:59c8) + ld a, [hInMenu] + push af + ld a, $1 + ld [hInMenu], a + call Function1719d6 + pop af + ld [hInMenu], a + ret + +Function1719d6: ; 1719d6 (5c:59d6) + callba BattleTowerRoomMenu_InitRAM + call Function1719ed + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + call Function171a11 + pop af + ld [rSVBK], a + ret + +Function1719ed: ; 1719ed (5c:59ed) + xor a + ld [wcd49], a + ld [wcd4a], a + dec a + ld [wcd4b], a + call ClearBGPalettes + call ClearSprites + callba Function171d2b + callba ReloadMapPart + callba ClearSpriteAnims + ret + +Function171a11: ; 171a11 (5c:5a11) +.loop + call JoyTextDelay + ld a, [wcd49] + bit 7, a + jr nz, .done + call Function171a36 + callba PlaySpriteAnimations + callba ReloadMapPart + jr .loop +.done + callba ClearSpriteAnims + call ClearSprites + ret + +Function171a36: ; 171a36 (5c:5a36) + ld a, [wcd49] + ld e, a + ld d, 0 + ld hl, Jumptable_171a45 + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp hl + +Jumptable_171a45: ; 171a45 (5c:5a45) + dw Function171a95 + dw Function171ac9 + dw Function171a5d + dw Function171ad7 + dw Function171a5d + dw Function171aec + dw Function171b4b + dw Function171b85 + dw Function171bcc + dw Function171c2c + dw Function171c39 + dw Function171c41 + + +Function171a5d: ; 171a5d (5c:5a5d) + ld a, [wc821] + bit 1, a + jr nz, .asm_171a6a + bit 0, a + ret nz + jp Function171c66 + +.asm_171a6a + ld a, $0 + call Function3e32 + ld [wc300], a + ld a, l + ld [wc301], a + ld a, h + ld [wc302], a + ld a, $a + call Function3e32 + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + callba BattleTowerRoomMenu_Cleanup + pop af + ld [rSVBK], a + ld a, $a + ld [wcd49], a + ret + +Function171a95: ; 171a95 (5c:5a95) + callba Function171ccd + hlcoord 2, 8 + ld de, String_171aa7 + call PlaceString + jp Function171c66 + +; 171aa7 (5c:5aa7) + +String_171aa7: ; 171aa7 + db "モバイルアダプタに" + next "せつぞく しています" + next "しばらく おまちください" + db "@" +; 171ac9 + +Function171ac9: ; 171ac9 (5c:5ac9) + ld de, wcd81 + ld hl, $5c + ld a, $2 + call Function3e32 + jp Function171c66 + +Function171ad7: ; 171ad7 (5c:5ad7) + xor a + ld hl, $c608 + ld bc, $66 + call ByteFill + ld de, $c608 + ld a, $c + call Function3e32 + jp Function171c66 + +Function171aec: ; 171aec (5c:5aec) + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + callba BattleTowerRoomMenu_Cleanup + pop af + ld [rSVBK], a + hlcoord 2, 6 + ld a, $8 +.asm_171b01 + push af + push hl + xor a + ld bc, $10 + call ByteFill + pop hl + ld de, $14 + add hl, de + pop af + dec a + jr nz, .asm_171b01 + hlcoord 2, 7 + ld a, $3 + ld de, $c608 +.asm_171b1b + push af + push hl + ld a, [de] + and a + jr z, .asm_171b34 + ld a, [wcd4b] + inc a + ld [wcd4b], a + push hl + call Function171b42 + pop hl + ld bc, $ffec + add hl, bc + call Function171b42 +.asm_171b34 + pop hl + ld bc, $14 + add hl, bc + add hl, bc + add hl, bc + pop af + dec a + jr nz, .asm_171b1b + jp Function171c66 + +Function171b42: ; 171b42 (5c:5b42) + ld a, [de] + inc de + and a + ret z + sub $20 + ld [hli], a + jr Function171b42 + +Function171b4b: ; 171b4b (5c:5b4b) + depixel 8, 2 + ld a, SPRITE_ANIM_INDEX_1D + call _InitSpriteAnimStruct + ld hl, SPRITEANIMSTRUCT_0C + add hl, bc + ld a, $8 + ld [hl], a + + depixel 8, 19 + ld a, SPRITE_ANIM_INDEX_1D + call _InitSpriteAnimStruct + ld hl, SPRITEANIMSTRUCT_0C + add hl, bc + ld a, $9 + ld [hl], a + + depixel 17, 14, 2, 0 + ld a, SPRITE_ANIM_INDEX_1D + call _InitSpriteAnimStruct + ld hl, SPRITEANIMSTRUCT_0C + add hl, bc + ld a, $a + ld [hl], a + + ld a, $4 + ld [wcd23], a + ld a, $8 + ld [wcd24], a + jp Function171c66 + +Function171b85: ; 171b85 (5c:5b85) + ld hl, hJoyPressed ; $ffa7 + ld a, [hl] + and $2 + jp nz, Function171b9f + ld a, [hl] + and $1 + jp nz, Function171bbd + ld a, [hl] + and $40 + jr nz, asm_171ba5 + ld a, [hl] + and $80 + jr nz, asm_171baf + ret + +Function171b9f: ; 171b9f (5c:5b9f) + ld a, $80 + ld [wcd49], a + ret + +asm_171ba5: ; 171ba5 (5c:5ba5) + ld a, [wcd4a] + and a + ret z + dec a + ld [wcd4a], a + ret + +asm_171baf: ; 171baf (5c:5baf) + ld a, [wcd4b] + ld c, a + ld a, [wcd4a] + cp c + ret z + inc a + ld [wcd4a], a + ret + +Function171bbd: ; 171bbd (5c:5bbd) + call PlayClickSFX + ld a, $8 + ld [wcd23], a + xor a + ld [wcd24], a + jp Function171c66 + +Function171bcc: ; 171bcc (5c:5bcc) + ld hl, hJoyPressed ; $ffa7 + ld a, [hl] + and $2 + jp nz, Function171bdc + ld a, [hl] + and $1 + jp nz, Function171beb + ret + +Function171bdc: ; 171bdc (5c:5bdc) + ld a, $4 + ld [wcd23], a + ld a, $8 + ld [wcd24], a + ld hl, wcd49 + dec [hl] + ret + +Function171beb: ; 171beb (5c:5beb) + ld a, $5 + call GetSRAMBank + ld a, [wcd4a] + ld [$aa4a], a + call CloseSRAM + ld hl, MenuDataHeader_171c6b + call LoadMenuDataHeader + call MenuBox + call MenuBoxCoord2Tile + callba ReloadMapPart + hlcoord 1, 14 + ld de, String_171c73 + call PlaceString + ld a, [wcd4a] + cp $2 + jr z, .asm_171c1f + ld a, $8 + jr .asm_171c21 +.asm_171c1f + ld a, $c +.asm_171c21 + ld [wcd24], a + ld a, $1e + ld [wcd4c], a + call Function171c66 + +Function171c2c: ; 171c2c (5c:5c2c) + ld hl, wcd4c + dec [hl] + ret nz + call ExitMenu + call ClearBGPalettes + jr asm_171c60 + +Function171c39: ; 171c39 (5c:5c39) + ld a, $28 + ld [wcd4c], a + call Function171c66 + +Function171c41: ; 171c41 (5c:5c41) + ld hl, wcd4c + dec [hl] + ret nz + call ClearBGPalettes + callba MobileFunc_106462 + callba Function106464 + ld a, $2 + ld [wc303], a + callba DisplayMobileError +asm_171c60: ; 171c60 (5c:5c60) + ld a, $80 + ld [wcd49], a + ret + +Function171c66: ; 171c66 (5c:5c66) + ld hl, wcd49 + inc [hl] + ret + +; 171c6b (5c:5c6b) + +MenuDataHeader_171c6b: ; 171c6b + db $40 ; flags + db 12, 0 ; start coords + db 17, 19 ; end coords + dw NULL + db 0 ; default option +; 171c73 + +String_171c73: ; 171c73 + db "モバイルセンターを けってい" + next "しました@" +; 171c87 + +Function171c87: ; 171c87 (5c:5c87) + call DisableLCD + ld hl, GFX_171db1 + ld de, VTiles2 tile $00 + ld bc, $6e0 + call CopyBytes + ld hl, LZ_172abd + ld de, VTiles0 tile $00 + call Decompress + call EnableLCD + ld hl, Tilemap_172491 + decoord 0, 0 + ld bc, $168 + call CopyBytes + ld hl, Attrmap_1727ed + decoord 0, 0, AttrMap + ld bc, $168 + call CopyBytes + hlcoord 3, 2 + ld de, String_172e31 + call PlaceString + hlcoord 3, 16 + ld de, String_172e3f + call PlaceString + ret + +Function171ccd: ; 171ccd (5c:5ccd) + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld hl, Palette_171d71 + ld de, UnknBGPals + ld bc, $40 + call CopyBytes + ld hl, EngineBuffer5 + ld a, $ff + ld [hli], a + ld a, $7f + ld [hl], a + call SetPalettes + pop af + ld [rSVBK], a + ret + +Function171cf0: ; 171cf0 (5c:5cf0) + xor a + hlcoord 4, 15 + ld [hli], a + ld [hli], a + ld a, [wcd4b] + xor $1 + ld [wcd4b], a + and a + jr nz, .asm_171d16 + ld hl, Tilemap_17251d + decoord 0, 7 + ld bc, $8c + call CopyBytes + hlcoord 3, 16 + ld de, String_172e3f + jp PlaceString + +.asm_171d16 + ld hl, Tilemap_1725f9 + decoord 0, 7 + ld bc, $8c + call CopyBytes + hlcoord 3, 16 + ld de, String_172e4e + jp PlaceString + +Function171d2b: ; 171d2b (5c:5d2b) + call DisableLCD + ld hl, GFX_171db1 + ld de, VTiles2 tile $00 + ld bc, $6e0 + call CopyBytes + ld hl, LZ_172abd + ld de, VTiles0 tile $00 + call Decompress + call EnableLCD + ld hl, Tilemap_172685 + decoord 0, 0 + ld bc, $168 + call CopyBytes + ld hl, Attrmap_172955 + decoord 0, 0, AttrMap + ld bc, $168 + call CopyBytes + hlcoord 2, 2 + ld de, String_172e5d + call PlaceString + hlcoord 14, 16 + ld de, String_172e58 + call PlaceString + ret + +; 171d71 (5c:5d71) + +Palette_171d71: + RGB 0, 0, 0 + RGB 3, 0, 0 + RGB 5, 0, 0 + RGB 31, 31, 29 + RGB 0, 2, 10 + RGB 2, 10, 21 + RGB 0, 0, 0 + RGB 10, 26, 31 + RGB 0, 0, 0 + RGB 0, 7, 8 + RGB 31, 8, 0 + RGB 1, 17, 15 + RGB 31, 16, 0 + RGB 31, 22, 0 + RGB 31, 27, 0 + RGB 31, 31, 0 + RGB 31, 18, 6 + RGB 0, 3, 0 + RGB 0, 9, 0 + RGB 0, 12, 0 + RGB 0, 16, 0 + RGB 0, 22, 0 + RGB 0, 25, 0 + RGB 0, 27, 0 + RGB 5, 5, 16 + RGB 8, 19, 28 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 31, 29 + RGB 21, 21, 20 + RGB 11, 11, 10 + RGB 0, 0, 0 + +GFX_171db1: +INCBIN "gfx/unknown/ascii_font.2bpp" +Tilemap_172491: +INCBIN "gfx/unknown/172491.tilemap" +Tilemap_17251d: +INCBIN "gfx/unknown/17251d.tilemap" +Tilemap_1725f9: +INCBIN "gfx/unknown/1725f9.tilemap" +Tilemap_172685: +INCBIN "gfx/unknown/172685.tilemap" +Attrmap_1727ed: +INCBIN "gfx/unknown/1727ed.attrmap" +Attrmap_172955: +INCBIN "gfx/unknown/172955.attrmap" +LZ_172abd: +INCBIN "gfx/pokedex/slowpoke.2bpp.lz" + +String_172e31: ; 172e31 + db "パスワード", $1f, "いれてください@" +String_172e3f: ; 172e3f + db "きりかえ やめる けってい@" +String_172e4e: ; 172e4e + db "きりかえ やめる " +String_172e58: + db "けってい@" +String_172e5d: ; 172e5d + db "せつぞくする モバイルセンターを" + next "えらんで ください@" +; 172e78 + + +Function172e78: ; 172e78 (5c:6e78) + ld a, $7f + hlcoord 0, 0 + ld bc, $168 + call ByteFill + ld a, $7 + hlcoord 0, 0, AttrMap + ld bc, $168 + call ByteFill + call DisableLCD + ld hl, GameBoyN64GFX + ld de, VTiles2 tile $00 + ld bc, $610 + call CopyBytes + call EnableLCD + ld hl, Tilemap_1733af + decoord 0, 0 + ld bc, $168 + call CopyBytes + ld hl, Attrmap_173517 + decoord 0, 0, AttrMap + ld bc, $168 + call CopyBytes + ret + +; 172eb9 (5c:6eb9) + +Function172eb9: + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld hl, Palette_172edf + ld de, UnknBGPals + ld bc, $40 + call CopyBytes + ld hl, Palette_172edf + ld de, BGPals + ld bc, $40 + call CopyBytes + call SetPalettes + pop af + ld [rSVBK], a + ret + +; 172edf (5c:6edf) + +Palette_172edf: + RGB 5, 12, 17 + RGB 31, 31, 31 + RGB 18, 25, 28 + RGB 10, 17, 21 + RGB 6, 13, 18 + RGB 31, 31, 31 + RGB 20, 26, 28 + RGB 12, 19, 23 + RGB 3, 10, 16 + RGB 31, 31, 31 + RGB 6, 13, 18 + RGB 20, 26, 28 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 5, 5, 16 + RGB 8, 19, 28 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + +GameBoyN64GFX: +INCBIN "gfx/trade/game_boy_n64.2bpp" + +Tilemap_1733af: +IF DEF(CRYSTAL11) +INCBIN "gfx/unknown/1733af_corrupt.tilemap" +ELSE +INCBIN "gfx/unknown/1733af.tilemap" +ENDC + +Attrmap_173517: +INCBIN "gfx/unknown/173517.attrmap" diff --git a/mobile/mobile_5f.asm b/mobile/mobile_5f.asm new file mode 100644 index 000000000..816e23394 --- /dev/null +++ b/mobile/mobile_5f.asm @@ -0,0 +1,5310 @@ + +SECTION "bank5F", ROMX + +Function17c000: ; 17c000 + + call DisableLCD + + ld hl, VTiles2 + ld bc, $31 tiles + xor a + call ByteFill + + call LoadStandardFont + call LoadFontsExtra + + ld hl, HaveWantMap + decoord 0, 0 + bccoord 0, 0, AttrMap + + ld a, SCREEN_HEIGHT +.y + push af + ld a, SCREEN_WIDTH + + push hl +.x + push af + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [bc], a + inc bc + pop af + dec a + jr nz, .x + pop hl + + push bc + ld bc, BG_MAP_WIDTH * 2 + add hl, bc + pop bc + + pop af + dec a + jr nz, .y + + ld a, [rSVBK] + push af + + ld a, 5 ; BANK(UnknBGPals) + ld [rSVBK], a + + ld hl, HaveWantPals + ld de, UnknBGPals + ld bc, $80 + call CopyBytes + + pop af + ld [rSVBK], a + + ld hl, MobileSelectGFX + ld de, VTiles0 tile $30 + ld bc, $20 tiles + call CopyBytes + + ld a, 1 + ld [rVBK], a + + ld hl, HaveWantGFX + ld de, VTiles2 + ld bc, $80 tiles + call CopyBytes + + ld hl, HaveWantGFX + $800 + ld de, VTiles1 + ld bc, $10 tiles + call CopyBytes + + xor a + ld [rVBK], a + + call EnableLCD + callba ReloadMapPart + ret +; 17c083 + +HaveWantGFX: ; 17c083 +INCBIN "gfx/mobile/havewant.2bpp" + +MobileSelectGFX: ; 17c983 +INCBIN "gfx/mobile/select.2bpp" + +HaveWantMap: ; 17cb83 +; Interleaved tile/palette map. +INCBIN "gfx/mobile/havewant_map.bin" + +HaveWantPals: ; 17cff3 +; BG and OBJ palettes. + RGB 0, 0, 0 + RGB 21, 21, 21 + RGB 0, 0, 0 + RGB 0, 0, 0 + + RGB 0, 0, 0 + RGB 4, 17, 29 + RGB 6, 19, 31 + RGB 31, 31, 31 + + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + + RGB 0, 0, 0 + RGB 2, 13, 18 + RGB 6, 19, 31 + RGB 31, 31, 31 + + RGB 0, 0, 0 + RGB 31, 5, 5 + RGB 29, 21, 21 + RGB 31, 31, 31 + + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + + RGB 0, 0, 0 + RGB 4, 17, 29 + RGB 6, 19, 31 + RGB 2, 15, 27 + + RGB 0, 0, 0 + RGB 28, 19, 18 + RGB 25, 9, 0 + RGB 0, 0, 0 + + RGB 0, 0, 0 + RGB 31, 27, 27 + RGB 31, 10, 4 + RGB 29, 0, 0 + + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 26, 8, 23 + RGB 22, 0, 16 + + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 8, 31 + RGB 15, 1, 26 + + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 17, 12, 31 + RGB 12, 6, 31 + + RGB 0, 16, 0 + RGB 11, 11, 14 + RGB 5, 5, 7 + RGB 31, 31, 31 + + RGB 0, 31, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + + RGB 16, 31, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + + +CheckStringForErrors: ; 17d073 +; Valid character ranges: +; $0, $5 - $13, $19 - $1c, $26 - $34, $3a - $3e, $40 - $48, $60 - $ff +.loop + ld a, [de] + inc de + and a + jr z, .NextChar + cp $60 + jr nc, .NextChar + cp $4e + jr z, .NextChar + cp "@" + jr z, .Done + cp $5 + jr c, .Fail + cp "" + jr c, .NextChar + cp $19 + jr c, .Fail + cp $1d + jr c, .NextChar + cp $26 + jr c, .Fail + cp $35 + jr c, .NextChar + cp $3a + jr c, .Fail + cp $3f + jr c, .NextChar + cp $40 + jr c, .Fail + cp $49 + jr c, .NextChar + +.Fail: + scf + ret + +.NextChar: + dec c + jr nz, .loop + +.Done: + and a + ret +; 17d0b3 + +CheckStringForErrors_IgnoreTerminator: ; 17d0b3 +; Find control chars +.loop + ld a, [de] + inc de + and a + jr z, .next + cp "" + 1 + jr nc, .next + cp "" + jr z, .next + cp "@" + jr z, .next + + cp $5 + jr c, .end + cp "" + jr c, .next + cp $19 + jr c, .end + cp $1d + jr c, .next + cp "%" + 1 + jr c, .end + cp $35 + jr c, .next + cp "" + 1 + jr c, .end + cp "" + jr c, .next + cp "" + 1 + jr c, .end + cp "" + jr c, .next + +.end + scf + ret + +.next + dec c + jr nz, .loop + and a + ret +; 17d0f3 + +Function17d0f3: ; 17d0f3 + ld a, [$c608 + 5] + ld [wOTTrademonSpecies], a + ld [CurPartySpecies], a + ld a, [wcd81] + ld [$c74e], a + ld hl, $c63d + ld de, wOTTrademonOTName + ld bc, 5 + call CopyBytes + ld a, "@" + ld [de], a + ld a, [$c608 + 11] + ld [wOTTrademonID], a + ld a, [$c608 + 12] + ld [wOTTrademonID + 1], a + ld hl, $c608 + 26 + ld a, [hli] + ld [wOTTrademonDVs], a + ld a, [hl] + ld [wOTTrademonDVs + 1], a + ld bc, $c608 + 5 + callba GetCaughtGender + ld a, c + ld [wOTTrademonCaughtData], a + call SpeechTextBox + call FadeToMenu + callba Function10804d + callba Function17d1f1 + ld a, $1 + ld [wForceEvolution], a + ld a, $2 + ld [wLinkMode], a + callba EvolvePokemon + xor a + ld [wLinkMode], a + callba SaveAfterLinkTrade + ld a, $5 + call GetSRAMBank + ld a, $5 + ld [$a800], a + call CloseSRAM + ld a, [MapGroup] + ld b, a + ld a, [MapNumber] + ld c, a + call GetMapTrigger + ld a, d + or e + jr z, .asm_17d180 + ld a, $1 + ld [de], a + +.asm_17d180 + call CloseSubmenu + call RestartMapMusic + ret +; 17d187 + +Mobile_CopyDefaultOTName: ; 17d187 + ld hl, Mobile5F_KrissName + ld de, $c63d + ld bc, 5 + call CopyBytes + ret +; 17d194 + +Mobile5F_KrissName: + db "クりス@@" +; 17d198 + +Mobile_CopyDefaultNickname: ; 17d199 + ld hl, .DefaultNickname + ld de, $c642 + ld bc, 5 + call CopyBytes + ret +; 17d1a6 + +.DefaultNickname: + db "?????" + +Mobile_CopyDefaultMail: ; 17d1ab + ld a, "@" + ld hl, $c647 + ld bc, MAIL_MSG_LENGTH + 1 + call ByteFill + ld hl, .DefaultMessage + ld de, $c647 + ld bc, 6 + call CopyBytes + ret +; 17d1c3 + +.DefaultMessage: + db "こんにちは@" +; 17d1c9 + +Mobile_CopyDefaultMailAuthor: ; 17d1c9 + ld a, "@" + ld de, $c668 + ld bc, 5 + call ByteFill + ld hl, Mobile5F_KrissName + ld de, $c668 + ld bc, 5 + call CopyBytes + ret +; 17d1e1 + +CheckStringContainsLessThanBNextCharacters: ; 17d1e1 +.loop + ld a, [de] + inc de + cp "" + jr nz, .next_char + dec b + jr z, .done + +.next_char + dec c + jr nz, .loop + and a + ret + +.done + scf + ret +; 17d1f1 + +Function17d1f1: ; 17d1f1 + ld a, [CurPartySpecies] + dec a + call SetSeenAndCaughtMon + + ld a, [CurPartySpecies] + cp UNOWN + jr nz, .asm_17d223 + + ld hl, PartyMon1DVs + ld a, [PartyCount] + dec a + ld bc, PARTYMON_STRUCT_LENGTH + call AddNTimes + predef GetUnownLetter + callab UpdateUnownDex + ld a, [wFirstUnownSeen] + and a + jr nz, .asm_17d223 + + ld a, [UnownLetter] + ld [wFirstUnownSeen], a + +.asm_17d223 + ret +; 17d224 + + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; Parameter: [ScriptVar] = 0..1 +; +; if [ScriptVar] == 0 +; Show japanese menu options +; - News - News - ??? - Cancel +; if [ScriptVar] == 1 +; Show BattleTower-Menu with 3 options in english language +; - Challenge - Explanation - Cancel +Special_Menu_ChallengeExplanationCancel: ; 17d224 + ld a, [ScriptVar] + and a + jr nz, .English + ld a, $4 + ld [ScriptVar], a + ld hl, MenuDataHeader_17d26a ; Japanese Menu, where you can choose 'News' as an option + jr .Load_Interpret + +.English: + ld a, $4 + ld [ScriptVar], a + ld hl, MenuDataHeader_ChallengeExplanationCancel ; English Menu + +.Load_Interpret: + call LoadMenuDataHeader + call Function17d246 + call CloseWindow + ret +; 17d246 + +Function17d246: ; 17d246 + call VerticalMenu + jr c, .Exit + ld a, [ScriptVar] + cp $5 + jr nz, .UsewMenuCursorY + ld a, [wMenuCursorY] + cp $3 + ret z + jr c, .UsewMenuCursorY + dec a + jr .LoadToScriptVar + +.UsewMenuCursorY: + ld a, [wMenuCursorY] + +.LoadToScriptVar: + ld [ScriptVar], a + ret + +.Exit: + ld a, $4 + ld [ScriptVar], a + ret +; 17d26a + +MenuDataHeader_17d26a: ; 17d26a + db $40 ; flags + db 0, 0 ; start coords + db 9, 14 ; end coords + dw MenuData2_17d272 + db 1 ; default option + +MenuData2_17d272: ; 17d272 + db $a0 ; flags + db 4 + db "ニュース¯よみこむ@" + db "ニュース¯みる@" + db "せつめい@" + db "やめる@" +; 17d28f + +MenuDataHeader_ChallengeExplanationCancel: ; 17d28f + db $40 ; flags + db 0, 0 ; start coords + db 7, 14 ; end coords + dw MenuData2_ChallengeExplanationCancel + db 1 ; default option + +MenuData2_ChallengeExplanationCancel: ; 17d297 + db $a0 ; flags + db 3 + db "Challenge@" + db "Explanation@" + db "Cancel@" +; 17d2b6 + +Function17d2b6: ; 17d2b6 + call Function17d2c0 + callba Function1181da + ret +; 17d2c0 + +Function17d2c0: ; 17d2c0 + xor a + ld [wJumptableIndex], a + ld [wcf64], a + ld [wcf65], a + ld [wcf66], a + ret +; 17d2ce + +Function17d2ce: ; 17d2ce + ld a, $5 + call GetSRAMBank + ld a, [$aa72] + call CloseSRAM + and a + jr nz, .asm_17d2e2 + ld a, $1 + ld [ScriptVar], a + ret + +.asm_17d2e2 + call Function17d314 + ret c + call SpeechTextBox + call FadeToMenu + ld a, [rSVBK] + push af + ld a, $4 + ld [rSVBK], a + call Function17d370 + call Function17d45a + pop af + ld [rSVBK], a + ld de, MUSIC_MOBILE_CENTER + ld a, e + ld [wMapMusic], a + ld [MusicFadeID], a + ld a, d + ld [MusicFadeID + 1], a + call PlayMusic + call ReturnToMapFromSubmenu + call CloseSubmenu + ret +; 17d314 + +Function17d314: ; 17d314 + ld a, $5 + call GetSRAMBank + ld a, [$b1b1] + call CloseSRAM + cp $21 + jr nc, .asm_17d354 + ld a, $6 + call GetSRAMBank + ld l, $0 + ld h, l + ld de, $a006 + ld a, [$a004] + ld c, a + ld a, [$a005] + ld b, a +.asm_17d336 + push bc + ld a, [de] + inc de + ld c, a + ld b, $0 + add hl, bc + pop bc + dec bc + ld a, b + or c + jr nz, .asm_17d336 + ld a, [$a002] + cp l + jr nz, .asm_17d354 + ld a, [$a003] + cp h + jr nz, .asm_17d354 + call CloseSRAM + and a + ret + +.asm_17d354 + call CloseSRAM + ld a, $5 + call GetSRAMBank + xor a + ld hl, $aa73 + ld bc, $c + call ByteFill + call CloseSRAM + ld a, $2 + ld [ScriptVar], a + scf + ret +; 17d370 + +Function17d370: ; 17d370 + xor a + ld [wcd77], a + ld [wcd78], a + ld [wcd79], a + dec a + ld [wcd6c], a + call ClearBGPalettes + call ClearSprites + call ClearScreen + callba ReloadMapPart + call DisableLCD + ld hl, VTiles1 tile $6e + ld de, $c608 + ld bc, 1 tiles + call CopyBytes + ld a, $1 + ld [rVBK], a + ld hl, PokemonNewsGFX + ld de, VTiles1 + ld bc, $48 tiles + call CopyBytes + xor a + ld hl, VTiles2 tile $7f + ld bc, 1 tiles + call ByteFill + ld hl, $c608 + ld de, VTiles1 tile $6e + ld bc, 1 tiles + call CopyBytes + xor a + ld [rVBK], a + ld hl, GFX_17eb7e + ld de, VTiles2 tile $60 + ld bc, 1 tiles + call CopyBytes + call EnableLCD + call Function17d60b + ld a, $0 + ld [BGMapBuffer], a + ld a, $d0 + ld [wcd21], a + ld a, $6 + call GetSRAMBank + ld hl, $a006 + ld de, UnknBGPals + ld bc, $1000 + call CopyBytes + call CloseSRAM + ret +; 17d3f6 + +Function17d3f6: ; 17d3f6 + call ClearBGPalettes + call ClearSprites + call ClearScreen + callba ReloadMapPart + +Function17d405: + call DisableLCD + ld hl, VTiles1 tile $6e + ld de, $c608 + ld bc, 1 tiles + call CopyBytes + ld a, $1 + ld [rVBK], a + ld hl, PokemonNewsGFX + ld de, VTiles1 + ld bc, $48 tiles + call CopyBytes + xor a + ld hl, VTiles2 tile $7f + ld bc, 1 tiles + call ByteFill + ld hl, $c608 + ld de, VTiles1 tile $6e + ld bc, 1 tiles + call CopyBytes + xor a + ld [rVBK], a + call EnableLCD + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld hl, Palette_17eff6 + ld de, UnknBGPals + ld bc, 8 palettes + call CopyBytes + call SetPalettes + pop af + ld [rSVBK], a + ret +; 17d45a + +Function17d45a: ; 17d45a +.asm_17d45a + call JoyTextDelay + ld a, [wcd77] + bit 7, a + jr nz, .asm_17d46f + call Function17d474 + callba ReloadMapPart + jr .asm_17d45a + +.asm_17d46f + xor a + ld [ScriptVar], a + ret +; 17d474 + +Function17d474: ; 17d474 + jumptable Jumptable_17d483, wcd77 +; 17d483 + +Jumptable_17d483: ; 17d483 + dw Function17d48d + dw Function17d5be + dw Function17d5c4 + dw Function17d6fd + dw Function17e427 +; 17d48d + +Function17d48d: ; 17d48d + ld hl, Palette_17eff6 + ld de, $c608 + ld bc, $40 + call CopyBytes + ld hl, TileAttrmap_17eb8e + decoord 0, 0 + bccoord 0, 0, AttrMap + ld a, $12 +.asm_17d4a4 + push af + ld a, $14 + push hl +.asm_17d4a8 + push af + ld a, [hli] + cp $7f + jr z, .asm_17d4b0 + add $80 + +.asm_17d4b0 + ld [de], a + inc de + ld a, [hli] + ld [bc], a + inc bc + pop af + dec a + jr nz, .asm_17d4a8 + pop hl + push bc + ld bc, $40 + add hl, bc + pop bc + pop af + dec a + jr nz, .asm_17d4a4 + ld a, [BGMapBuffer] + ld l, a + ld a, [wcd21] + ld h, a + ld a, [hli] + ld e, a + ld a, [wcd6c] + cp e + jr z, .asm_17d4e0 + ld a, e + ld [wcd6c], a + ld [wMapMusic], a + ld d, $0 + call PlayMusic2 + +.asm_17d4e0 + ld a, [hli] + ld de, $c608 + ld c, $8 +.asm_17d4e6 + srl a + jr nc, .asm_17d4f6 + ld b, $8 + push af +.asm_17d4ed + ld a, [hli] + ld [de], a + inc de + dec b + jr nz, .asm_17d4ed + pop af + jr .asm_17d4fc + +.asm_17d4f6 + push af + ld a, e + add $8 + ld e, a + pop af + +.asm_17d4fc + dec c + jr nz, .asm_17d4e6 + push hl + call Function17d5f6 + pop hl + ld a, [hli] + and a + jr z, .asm_17d539 +.asm_17d508 + push af + ld a, [hli] + ld [wcd4f], a + ld a, [hli] + ld [wcd50], a + ld a, [hli] + ld [wcd51], a + ld a, [hli] + ld [wcd52], a + ld a, [hli] + sla a + sla a + sla a + add $98 + ld [wcd53], a + ld de, wcd4f + call Function17e613 + ld a, [hli] + ld [wcd53], a + ld de, wcd4f + call Function17e691 + pop af + dec a + jr nz, .asm_17d508 + +.asm_17d539 + ld a, [hli] +.asm_17d53a + push af + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + push hl + pop de + hlcoord 0, 0 + add hl, bc + call PlaceString + push de + pop hl + inc hl + pop af + dec a + jr nz, .asm_17d53a + ld de, CreditsTimer + ld bc, $c + call CopyBytes + xor a + ld [wcd2e], a + ld [wcd2f], a + inc a + ld [wcd30], a + ld [wcd31], a + ld de, wcd32 + ld bc, $10 + call CopyBytes + ld a, [hli] + ld [wcd42], a + ld a, [hli] + ld [wcd43], a + ld a, [hli] + ld [wMobileInactivityTimerMinutes], a + ld a, [hli] + ld [wMobileInactivityTimerSeconds], a + ld a, [hli] + ld [wMobileInactivityTimerFrames], a + ld a, [hli] + and a + jr z, .asm_17d58a + call Function17d6a1 + +.asm_17d58a + ld a, l + ld [wcd49], a + ld a, h + ld [wcd4a], a + ld a, [wcd42] + ld c, a + ld b, $0 + add hl, bc + add hl, bc + ld a, l + ld [wcd4b], a + ld a, h + ld [wcd4c], a + add hl, bc + add hl, bc + ld a, l + ld [wcd4d], a + ld a, h + ld [wcd4e], a + call Function17e451 + call Function17e55b + call Function17e5af + callba ReloadMapPart + jp Function17e438 +; 17d5be + +Function17d5be: ; 17d5be + call SetPalettes + call Function17e438 + +Function17d5c4: + ld a, [hJoyPressed] + and a + ret z + ld c, 0 + ld b, c + ld hl, wcd32 +.loop + srl a + jr c, .got_button + inc c + inc c + jr .loop + +.got_button + add hl, bc + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + and c + cp $ff + ret z + ld a, [wcd20] + ld l, a + ld a, [wcd21] + ld h, a + add hl, bc + ld a, l + ld [wcd78], a + ld a, h + ld [wcd79], a + ld a, $3 + ld [wcd77], a + ret +; 17d5f6 + +Function17d5f6: ; 17d5f6 + ld a, $5 + ld [rSVBK], a + ld hl, $c608 + ld de, UnknBGPals + ld bc, 8 palettes + call CopyBytes + ld a, $4 + ld [rSVBK], a + ret +; 17d60b + +Function17d60b: ; 17d60b + ld a, $5 + call GetSRAMBank + ld hl, $b1d3 + ld de, $c608 + ld bc, $20 + call CopyBytes + ld a, [$b1b1] + ld c, a + ld a, [$b1b2] + ld b, a + ld a, [$b1b3] + ld l, a + ld a, [$b1b4] + ld h, a + call CloseSRAM + ld a, $6 + call GetSRAMBank + ld de, $c708 + ld a, c + and a + jr z, .asm_17d684 +.asm_17d63b + push bc + ld a, l + ld [de], a + inc de + ld a, h + ld [de], a + inc de + ld bc, $a + add hl, bc + pop bc + ld a, [hli] + ld [wcd4a], a + ld a, [hli] + ld [wcd49], a + push hl + push de + ld hl, $c608 + ld e, b + ld d, $0 + add hl, de + ld a, [hli] + ld [wcd4b], a + ld a, [hl] + ld [wcd4c], a + pop de + pop hl + inc b + inc b + dec c + dec c + jr z, .asm_17d684 + push bc + push de + ld a, [wcd49] + ld c, a + ld a, [wcd4a] + ld b, a + ld a, [wcd4b] + ld e, a + ld a, [wcd4c] + ld d, a +.asm_17d67a + add hl, de + dec bc + ld a, c + or b + jr nz, .asm_17d67a + pop de + pop bc + jr .asm_17d63b + +.asm_17d684 + call CloseSRAM + ld a, $5 + call GetSRAMBank + ld hl, $c708 + ld de, $b1b3 + ld a, [$b1b1] + ld c, a + ld a, [$b1b2] + ld b, a + call CopyBytes + call CloseSRAM + ret +; 17d6a1 + + +Function17d6a1: ; 17d6a1 + push hl + ld a, [wcd6e] + ld c, a + ld b, $0 + ld a, $5 + call GetSRAMBank + ld hl, $b1d3 + add hl, bc + add hl, bc + ld a, [hli] + ld [wcd47], a + ld a, [hl] + ld [BGMapPalBuffer], a + ld hl, $b1b3 + add hl, bc + add hl, bc + ld a, [hli] + ld c, a + ld a, [hl] + ld h, a + ld l, c + call CloseSRAM + ld a, $6 + call GetSRAMBank + ld a, l + ld [wcd5e], a + ld a, h + ld [wcd5f], a + ld de, wcd60 + ld bc, $4 + call CopyBytes + inc hl + inc hl + ld de, wcd64 + ld bc, $4 + call CopyBytes + ld a, [hli] + ld [wcd69], a + ld a, [hli] + ld [wcd68], a + ld a, l + ld [wcd6a], a + ld a, h + ld [wcd6b], a + call CloseSRAM + pop hl + ret +; 17d6fd + +Function17d6fd: ; 17d6fd + ld a, [wcd77] + bit 7, a + jr nz, asm_17d721 + ld a, [wcd78] + ld l, a + ld a, [wcd79] + ld h, a + ld a, [hl] + cp $ff + jr z, asm_17d721 + +Function17d711: +.crash_loop + cp $31 + jr nc, .crash_loop + ld e, a + ld d, 0 + ld hl, Jumptable17d72a + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp hl + +asm_17d721 + call Function17e5af + ld a, $2 + ld [wcd77], a + ret +; 17d72a + +Jumptable17d72a: ; 17d72a + dw Function17d78c + dw Function17d78d + dw Function17d7b4 + dw Function17d7c2 + dw Function17d7d3 + dw Function17d7e5 + dw Function17d818 + dw Function17d833 + dw Function17d85d + dw Function17d902 + dw Function17d93a + dw Function17d98b + dw Function17d9e3 + dw Function17da31 + dw Function17da9c + dw Function17dadc + dw Function17db2d + dw Function17db56 + dw Function17db77 + dw Function17dbe9 + dw Function17dc1f + dw Function17dc9f + dw Function17dca9 + dw Function17dccf + dw Function17dd13 + dw Function17dd30 + dw Function17dd49 + dw Function17ddcd + dw Function17de32 + dw Function17de91 + dw Function17ded9 + dw Function17e0fd + dw Function17e133 + dw Function17e165 + dw Function17e1a1 + dw Function17e254 + dw Function17e261 + dw Function17e270 + dw Function17e27f + dw Function17e293 + dw Function17e2a7 + dw Function17e367 + dw Function17e37e + dw Function17e395 + dw Function17e3ac + dw Function17e3c3 + dw Function17e3e0 + dw Function17e3f0 + dw Function17e409 +; 17d78c + +Function17d78c: ; 17d78c + ret +; 17d78d + +Function17d78d: ; 17d78d + call Function17e415 + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + call Function17e41e + ld a, $6 + call GetSRAMBank + ld hl, $a006 + add hl, bc + ld de, UnknBGPals + ld bc, $1000 + call CopyBytes + call CloseSRAM + xor a + ld [wcd77], a + call ClearBGPalettes + ret +; 17d7b4 + +Function17d7b4: ; 17d7b4 + call Function17e415 + ld a, [hli] + ld e, a + ld d, $0 + call PlayMusic2 + call Function17e41e + ret +; 17d7c2 + +Function17d7c2: ; 17d7c2 + call Function17e415 + ld a, [hli] + ld e, a + ld d, $0 + call PlaySFX + call WaitSFX + call Function17e41e + ret +; 17d7d3 + +Function17d7d3: ; 17d7d3 + call Function17e415 + ld a, [hli] + dec a + ld e, a + ld d, $0 + call PlayCryHeader + call WaitSFX + call Function17e41e + ret +; 17d7e5 + +Function17d7e5: ; 17d7e5 + call Function17e415 + ld a, [hli] + ld [wcd4f], a + ld a, [hli] + ld [wcd50], a + ld a, [hli] + ld [wcd51], a + ld a, [hli] + ld [wcd52], a + ld a, [hli] + sla a + sla a + sla a + add $98 + ld [wcd53], a + ld de, wcd4f + call Function17e613 + ld a, [hli] + ld [wcd53], a + ld de, wcd4f + call Function17e691 + call Function17e41e + ret +; 17d818 + +Function17d818: ; 17d818 + call Function17e415 + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + call Function17e41e + call Function17e447 + ld e, l + ld d, h + hlcoord 0, 0 + add hl, bc + call PlaceString + ret +; 17d833 + +Function17d833: ; 17d833 + call Function17e415 + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + call Function17e41e + push de + push bc + call Function17e32b + pop bc + pop de + call Function17e43d + ld c, l + ld b, h + hlcoord 0, 0 + add hl, de + ld e, l + ld d, h + callba Function11c08f + call Function17e349 + ret +; 17d85d + +Function17d85d: ; 17d85d + call Function17e415 + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + push hl + ld hl, UnknBGPals + add hl, de + ld de, wcc60 +.asm_17d86c + ld a, [hli] + ld [de], a + inc de + and a + jr nz, .asm_17d86c + pop hl + ld de, $c608 + ld c, $0 +.asm_17d878 + ld a, [hli] + cp $ff + jr z, .asm_17d8c7 + ld [wcd4f], a + ld a, [hli] + ld [wcd50], a + ld a, [hli] + ld [wcd51], a + ld a, [hli] + ld [wcd52], a + ld a, [wcd51] + push af + cp $c0 + jr c, .asm_17d89b + ld a, [wcd4f] + ld [rSVBK], a + jr .asm_17d8a1 + +.asm_17d89b + ld a, [wcd4f] + call GetSRAMBank + +.asm_17d8a1 + push hl + ld a, [wcd50] + ld l, a + ld a, [wcd51] + ld h, a + ld a, [wcd52] +.asm_17d8ad + push af + ld a, [hli] + ld [de], a + inc de + inc c + pop af + dec a + jr nz, .asm_17d8ad + pop hl + pop af + cp $c0 + jr c, .asm_17d8c2 + ld a, $4 + ld [rSVBK], a + jr .asm_17d878 + +.asm_17d8c2 + call CloseSRAM + jr .asm_17d878 + +.asm_17d8c7 + call Function17e41e + push bc + ld a, $3 + ld [rSVBK], a + ld hl, $c608 + ld de, UnknBGPals + ld b, $0 + call CopyBytes + ld a, $4 + ld [rSVBK], a + call Function17e32b + pop bc + ld a, c + ld [wcd3b], a + xor a + ld [wcf66], a + callba Function118329 + ld a, [wc300] + and a + jr z, .asm_17d8fe + cp $a + jr z, .asm_17d8fe + call Function17e309 + ret + +.asm_17d8fe + call Function17e349 + ret +; 17d902 + +Function17d902: ; 17d902 + call Function17e415 + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + push de + call Function17e41e + call Function17e32b + pop de + ld hl, UnknBGPals + add hl, de + ld de, wcc60 +.asm_17d918 + ld a, [hli] + ld [de], a + inc de + and a + jr nz, .asm_17d918 + xor a + ld [wcf66], a + callba Function11837a + ld a, [wc300] + and a + jr z, .asm_17d936 + cp $a + jr z, .asm_17d936 + call Function17e309 + ret + +.asm_17d936 + call Function17e349 + ret +; 17d93a + +Function17d93a: ; 17d93a + call Function17e415 + ld de, $c708 + ld bc, $5 + call CopyBytes + call Function17e41e + call Function17e32b + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + ld a, [$c70c] + call Function17e6de + ld a, [$c70a] + ld [CurPartySpecies], a + ld a, [$c70c] + ld e, a + callba LoadMonPaletteAsNthBGPal + call SetPalettes + ld a, [$c708] + ld l, a + ld a, [$c709] + ld h, a + ld a, [$c70b] + ld c, a + decoord 0, 0 + add hl, de + ld e, l + ld d, h + callba HOF_AnimateFrontpic + pop af + ld [rSVBK], a + call Function17e349 + ret +; 17d98b + +Function17d98b: ; 17d98b + call Function17e415 + ld de, $c708 + ld bc, $4 + call CopyBytes + call Function17e41e + call Function17e32b + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + ld a, [$c70b] + call Function17e6de + ld a, [$c70a] + ld [TrainerClass], a + ld a, [$c70b] + ld e, a + callba LoadTrainerClassPaletteAsNthBGPal + call SetPalettes + ld a, [$c708] + ld e, a + ld a, [$c709] + ld d, a + push de + ld de, VTiles2 + callba GetTrainerPic + pop hl + decoord 0, 0 + add hl, de + ld bc, $707 + predef PlaceGraphic + pop af + ld [rSVBK], a + call Function17e349 + ret +; 17d9e3 + +Function17d9e3: ; 17d9e3 + call Function17e415 + ld de, $c708 + ld bc, $7 + call CopyBytes + call Function17e41e + ld a, [$c70b] + push af + cp $c0 + jr c, .asm_17da01 + ld a, [$c70c] + ld [rSVBK], a + jr .asm_17da07 + +.asm_17da01 + ld a, [$c70c] + call GetSRAMBank + +.asm_17da07 + ld a, [$c708] + ld l, a + ld a, [$c709] + ld h, a + ld a, [$c70a] + ld e, a + ld a, [$c70b] + ld d, a + ld a, [$c70d] + ld c, a + ld a, [$c70e] + ld b, a + call CopyBytes + pop af + cp $c0 + jr c, .asm_17da2d + ld a, $4 + ld [rSVBK], a + jr .asm_17da30 + +.asm_17da2d + call CloseSRAM + +.asm_17da30 + ret +; 17da31 + +Function17da31: ; 17da31 + call Function17e415 + ld de, $c708 + ld bc, $4 + call CopyBytes + call Function17e41e + ld a, [$c709] + push af + cp $c0 + jr c, .asm_17da4f + ld a, [$c70a] + ld [rSVBK], a + jr .asm_17da55 + +.asm_17da4f + ld a, [$c70a] + call GetSRAMBank + +.asm_17da55 + ld a, [$c708] + ld e, a + ld a, [$c709] + ld d, a + ld a, [$c70b] + ld c, a + bit 7, c + jr nz, .asm_17da70 + ld hl, Unknown_17da8c + ld b, $0 + add hl, bc + ld a, [de] + or [hl] + ld [de], a + jr .asm_17da7d + +.asm_17da70 + ld hl, Unknown_17da94 + ld a, c + and $7f + ld c, a + ld b, $0 + add hl, bc + ld a, [de] + and [hl] + ld [de], a + +.asm_17da7d + pop af + cp $c0 + jr c, .asm_17da88 + ld a, $4 + ld [rSVBK], a + jr .asm_17da8b + +.asm_17da88 + call CloseSRAM + +.asm_17da8b + ret +; 17da8c + +Unknown_17da8c: +x = 0 + rept 8 + db 1 << x +x = x + 1 + endr + +Unknown_17da94: +x = 0 + rept 8 + db (1 << x) ^ $ff +x = x + 1 + endr +; 17da9c + +Function17da9c: ; 17da9c + ld a, [wcd31] + dec a + jr z, .asm_17dabd + push af + call Function17e566 + pop af + ld [wcd31], a + ld hl, wcd24 + ld a, [wcd2e] + sub [hl] + ld [wcd2e], a + call Function17e55b + call Function17e5af +.asm_17daba + jp Function17e415 + +.asm_17dabd + ld a, [wcd2f] + and a + jr z, .asm_17daba + ld hl, wcd24 + sub [hl] + ld [wcd2f], a + ld a, [wcd2e] + sub [hl] + ld [wcd2e], a + call Function17e451 + call Function17e55b + call Function17e5af + jr .asm_17daba +; 17dadc + +Function17dadc: ; 17dadc + ld a, [wcd2e] + ld hl, wcd24 + add [hl] + ld hl, wcd42 + cp [hl] + jr z, .asm_17db0e + jr nc, .asm_17db0e + ld hl, wcd31 + ld a, [wcd2b] + cp [hl] + jr z, .asm_17db11 + call Function17e566 + ld a, [wcd31] + inc a + ld [wcd31], a + ld hl, wcd24 + ld a, [wcd2e] + add [hl] + ld [wcd2e], a + call Function17e55b + call Function17e5af + +.asm_17db0e + jp Function17e415 + +.asm_17db11 + ld hl, wcd24 + ld a, [wcd2f] + add [hl] + ld [wcd2f], a + ld a, [wcd2e] + add [hl] + ld [wcd2e], a + call Function17e451 + call Function17e55b + call Function17e5af + jr .asm_17db0e +; 17db2d + +Function17db2d: ; 17db2d + ld a, [wcd30] + ld hl, wcd24 + cp [hl] + jr z, .asm_17db53 + ld hl, wcd42 + ld a, [wcd2e] + inc a + cp [hl] + jr z, .asm_17db53 + ld [wcd2e], a + call Function17e566 + ld a, [wcd30] + inc a + ld [wcd30], a + call Function17e55b + call Function17e5af + +.asm_17db53 + jp Function17e415 +; 17db56 + +Function17db56: ; 17db56 + ld a, [wcd30] + cp $1 + jr z, .asm_17db74 + call Function17e566 + ld a, [wcd30] + dec a + ld [wcd30], a + ld a, [wcd2e] + dec a + ld [wcd2e], a + call Function17e55b + call Function17e5af + +.asm_17db74 + jp Function17e415 +; 17db77 + +Function17db77: ; 17db77 + ld hl, wcd2d + ld a, [wcd2f] + add [hl] + ld hl, wcd42 + cp [hl] + jr z, .asm_17dbae + jr nc, .asm_17dbae + call Function17e566 + ld hl, wcd2d + ld a, [wcd2f] + add [hl] + ld [wcd2f], a + ld a, [wcd2e] + add [hl] + ld hl, wcd42 + cp [hl] + jr c, .asm_17db9f + ld a, [hl] + dec a + +.asm_17db9f + ld [wcd2e], a + call Function17dbb1 + call Function17e451 + call Function17e55b + call Function17e5af + +.asm_17dbae + jp Function17e415 +; 17dbb1 + +Function17dbb1: ; 17dbb1 + ld hl, wcd2f + ld a, [wcd42] + sub [hl] + ld hl, wcd2d + cp [hl] + ret nc + ld a, $1 + ld [wcd30], a + ld [wcd31], a + ld a, [wcd24] + ld c, a + ld a, [wcd24] + ld b, a + ld a, [wcd2e] + ld hl, wcd2f + sub [hl] +.asm_17dbd4 + and a + ret z + push af + ld hl, wcd30 + ld a, b + cp [hl] + jr nz, .asm_17dbe4 + ld a, $1 + ld [hl], a + ld hl, wcd31 + +.asm_17dbe4 + inc [hl] + pop af + dec a + jr .asm_17dbd4 +; 17dbe9 + +Function17dbe9: ; 17dbe9 + ld hl, wcd2d + ld a, [wcd2f] + sub [hl] + bit 7, a + jr z, .asm_17dbf5 + xor a + +.asm_17dbf5 + ld [wcd2f], a + ld a, [wcd30] + dec a + ld c, a + ld a, [wcd31] + ld b, a + xor a + ld hl, wcd24 +.asm_17dc05 + dec b + jr z, .asm_17dc0b + add [hl] + jr .asm_17dc05 + +.asm_17dc0b + add c + ld hl, wcd2f + add [hl] + ld [wcd2e], a + call Function17e451 + call Function17e55b + call Function17e5af + jp Function17e415 +; 17dc1f + +Function17dc1f: ; 17dc1f + call Function17e415 + ld de, $c688 + ld bc, $6 + call CopyBytes + call Function17e32b + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + ld hl, $c688 + ld a, $40 + ld [$c708], a + ld a, [hli] + ld [$c70a], a + add $5 + ld [$c70c], a + ld a, [hli] + ld [$c709], a + add $4 + ld [$c70b], a + ld a, $96 + ld [$c70d], a + ld a, $5c + ld [$c70e], a + ld a, $1 + ld [$c70f], a + ld hl, $c708 + call LoadMenuDataHeader + call VerticalMenu + jr nc, .asm_17dc6e + ld a, $2 + ld [wMenuCursorY], a + +.asm_17dc6e + call CloseWindow + pop af + ld [rSVBK], a + ld a, [wMenuCursorY] + cp $1 + jr nz, .asm_17dc85 + ld a, [$c68a] + ld l, a + ld a, [$c68a + 1] + ld h, a + jr .asm_17dc8d + +.asm_17dc85 + ld a, [$c68a + 2] + ld l, a + ld a, [$c68a + 3] + ld h, a + +.asm_17dc8d + push hl + call Function17e349 + pop hl + call Function17e40f + ret +; 17dc96 + +MenuData2_17dc96: + db $e0 ; flags + db 2 + db "はい@" + db "いいえ@" +; 17dc9f + +Function17dc9f: ; 17dc9f + call Function17e415 + call Function17e41e + call RotateFourPalettesLeft + ret +; 17dca9 + +Function17dca9: ; 17dca9 + call Function17e415 + call Function17e41e + +Function17dcaf: + ld a, $5 + ld [rSVBK], a + ld hl, UnknBGPals + ld de, $8 + ld c, $8 +.asm_17dcbb + push hl + ld a, $ff + ld [hli], a + ld a, $7f + ld [hl], a + pop hl + add hl, de + dec c + jr nz, .asm_17dcbb + call RotateThreePalettesRight + ld a, $4 + ld [rSVBK], a + ret +; 17dccf + +Function17dccf: ; 17dccf + call Function17e415 + push hl + ld a, [wcd4b] + ld l, a + ld a, [wcd4c] + ld h, a + ld a, [wcd2e] + ld c, a + ld b, $0 + add hl, bc + add hl, bc + ld a, [hli] + ld c, a + ld a, [hl] + ld b, a + call Function17e43d + call Function17e41e +.asm_17dced + ld a, [wcd78] + ld l, a + ld a, [wcd79] + ld h, a + ld a, [hl] + cp $ff + jr z, .asm_17dd0d +.crash_loop + cp $31 + jr nc, .crash_loop + call Function17d711 + ld a, [wcd77] + bit 7, a + jr nz, .asm_17dd0d + and a + jr z, .asm_17dd11 + jr .asm_17dced + +.asm_17dd0d + pop hl + jp Function17e41e + +.asm_17dd11 + pop hl + ret +; 17dd13 + +Function17dd13: ; 17dd13 + call Function17e415 + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + call Function17e41e + call Function17e447 + push hl + hlcoord 0, 0 + add hl, bc + push hl + pop bc + pop hl + call PlaceHLTextAtBC + ret +; 17dd30 + +Function17dd30: ; 17dd30 + call Function17e415 + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + ld c, a + ld b, $0 + ld a, [hli] + push af + call Function17e41e + pop af + hlcoord 0, 0 + add hl, de + call Function17e600 + ret +; 17dd49 + +Function17dd49: ; 17dd49 + call Function17e415 + ld de, $c708 + ld bc, $a + call CopyBytes + ld a, [$c711] + ld c, a + ld b, $0 + call CopyBytes + ld a, [$c70a] + cp $c0 + jr c, .sram + ld a, [$c708] + ld [rSVBK], a + jr .got_bank + +.sram + ld a, [$c708] + call GetSRAMBank + +.got_bank + ld a, [$c709] + ld l, a + ld a, [$c70a] + ld h, a + ld de, $c688 + ld a, [$c711] + ld c, a + ld b, $0 + call CopyBytes + ld a, [$c70a] + cp $c0 + jr c, .close_sram + ld a, $4 + ld [rSVBK], a + jr .exited_bank + +.close_sram + call CloseSRAM + +.exited_bank + ld a, [$c711] + ld c, a + ld hl, $c712 + ld de, $c688 +.loop + ld a, [de] + inc de + cp [hl] + inc hl + jr z, .next + jr c, .load + jr .load2 + +.next + dec c + jr nz, .loop + ld a, [$c70d] + ld l, a + ld a, [$c70e] + ld h, a + jr .done + +.load2 + ld a, [$c70f] + ld l, a + ld a, [$c710] + ld h, a + jr .done + +.load + ld a, [$c70b] + ld l, a + ld a, [$c70c] + ld h, a + +.done + call Function17e40f + ret +; 17ddcd + +Function17ddcd: ; 17ddcd + call Function17e415 + ld de, $c708 + ld bc, $8 + call CopyBytes + ld a, [$c70a] + cp $c0 + jr c, .asm_17dde7 + ld a, [$c708] + ld [rSVBK], a + jr .asm_17dded + +.asm_17dde7 + ld a, [$c708] + call GetSRAMBank + +.asm_17dded + ld a, [$c709] + ld e, a + ld a, [$c70a] + ld d, a + ld a, [de] + ld [$c710], a + ld a, [$c70b] + ld c, a + ld b, $0 + ld a, [$c70a] + cp $c0 + jr c, .asm_17de0c + ld a, $4 + ld [rSVBK], a + jr .asm_17de0f + +.asm_17de0c + call CloseSRAM + +.asm_17de0f + push hl + ld hl, Unknown_17da8c + add hl, bc + ld a, [hl] + ld hl, $c710 + and [hl] + pop hl + jr nz, .asm_17de26 + ld a, [$c70e] + ld l, a + ld a, [$c70f] + ld h, a + jr .asm_17de2e + +.asm_17de26 + ld a, [$c70c] + ld l, a + ld a, [$c70d] + ld h, a + +.asm_17de2e + call Function17e40f + ret +; 17de32 + +Function17de32: ; 17de32 + call Function17e415 + ld de, $c708 + ld bc, $9 + call CopyBytes + ld a, [$c710] + ld c, a + ld b, $0 + call CopyBytes + ld a, $6 + call GetSRAMBank + call Function17f4f6 + ld a, [$c708] + ld e, a + ld a, [$c709] + ld d, a + add hl, de + ld e, l + ld d, h + ld a, [$c710] + ld c, a + ld hl, $c711 +.asm_17de61 + ld a, [de] + inc de + cp [hl] + inc hl + jr z, .asm_17de6b + jr c, .asm_17de82 + jr .asm_17de78 + +.asm_17de6b + dec c + jr nz, .asm_17de61 + ld a, [$c70c] + ld l, a + ld a, [$c70d] + ld h, a + jr .asm_17de8a + +.asm_17de78 + ld a, [$c70e] + ld l, a + ld a, [$c70f] + ld h, a + jr .asm_17de8a + +.asm_17de82 + ld a, [$c70a] + ld l, a + ld a, [$c70b] + ld h, a + +.asm_17de8a + call CloseSRAM + call Function17e40f + ret +; 17de91 + +Function17de91: ; 17de91 + call Function17e415 + ld de, $c708 + ld bc, $7 + call CopyBytes + ld a, $6 + call GetSRAMBank + call Function17f4f6 + ld a, [$c708] + ld e, a + ld a, [$c709] + ld d, a + add hl, de + ld e, l + ld d, h + ld a, [$c70a] + ld c, a + ld b, $0 + ld hl, Unknown_17da8c + add hl, bc + ld a, [hl] + ld l, e + ld h, d + and [hl] + jr nz, .asm_17deca + ld a, [$c70d] + ld l, a + ld a, [$c70e] + ld h, a + jr .asm_17ded2 + +.asm_17deca + ld a, [$c70b] + ld l, a + ld a, [$c70c] + ld h, a + +.asm_17ded2 + call CloseSRAM + call Function17e40f + ret +; 17ded9 + +Function17ded9: ; 17ded9 + call Function17e415 + ld de, $c708 + ld bc, $1f + call CopyBytes + call Function17e32b + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + ld hl, $c708 + ld a, [hli] + ld [CurPartySpecies], a + ld [TempEnemyMonSpecies], a + ld a, [hli] + ld [CurPartyLevel], a + ld a, [hli] + ld b, a + ld a, [PartyCount] + cp $6 + jp nc, Function17e026 + xor a + ld [MonType], a + push hl + push bc + predef TryAddMonToParty + callba SetCaughtData + pop bc + pop hl + bit 1, b + jr z, .asm_17df33 + push bc + push hl + ld a, [PartyCount] + dec a + ld hl, PartyMonNicknames + call SkipNames + ld d, h + ld e, l + pop hl + call CopyBytes + pop bc + jr .asm_17df37 + +.asm_17df33 + ld de, $6 + add hl, de + +.asm_17df37 + bit 2, b + jr z, .asm_17df5a + push bc + push hl + ld a, [PartyCount] + dec a + ld hl, PartyMonOT + call SkipNames + ld d, h + ld e, l + pop hl + call CopyBytes + ld a, [hli] + ld b, a + push hl + callba SetGiftPartyMonCaughtData + pop hl + pop bc + jr .asm_17df5e + +.asm_17df5a + ld de, $7 + add hl, de + +.asm_17df5e + bit 3, b + jr z, .asm_17df79 + push bc + push hl + ld a, [PartyCount] + dec a + ld hl, PartyMon1ID + call GetPartyLocation + ld d, h + ld e, l + pop hl + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + pop bc + jr .asm_17df7b + +.asm_17df79 + inc hl + inc hl + +.asm_17df7b + bit 4, b + jr z, .asm_17dfd0 + push bc + push hl + ld a, [PartyCount] + dec a + ld hl, PartyMon1DVs + call GetPartyLocation + ld d, h + ld e, l + pop hl + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + push hl + ld a, [PartyCount] + dec a + ld hl, PartyMon1Species + call GetPartyLocation + ld a, [hl] + ld [CurSpecies], a + call GetBaseData + ld a, [PartyCount] + dec a + ld hl, PartyMon1MaxHP + call GetPartyLocation + ld d, h + ld e, l + push hl + ld b, $0 + callba CalcPkmnStats + ld a, [PartyCount] + dec a + ld hl, PartyMon1HP + call GetPartyLocation + ld d, h + ld e, l + pop hl + ld a, [hli] + ld [de], a + inc de + ld a, [hl] + ld [de], a + pop hl + pop bc + jr .asm_17dfd2 + +.asm_17dfd0 + inc hl + inc hl + +.asm_17dfd2 + bit 5, b + jr z, .asm_17dfea + push bc + push hl + ld a, [PartyCount] + dec a + ld hl, PartyMon1Item + call GetPartyLocation + ld d, h + ld e, l + pop hl + ld a, [hli] + ld [de], a + pop bc + jr .asm_17dfeb + +.asm_17dfea + inc hl + +.asm_17dfeb + bit 6, b + jr z, .asm_17e01f + push bc + push hl + ld a, [PartyCount] + dec a + ld hl, PartyMon1Moves + call GetPartyLocation + ld d, h + ld e, l + pop hl + push de + ld bc, $4 + call CopyBytes + pop de + push hl + push de + ld a, [PartyCount] + dec a + ld hl, PartyMon1PP + call GetPartyLocation + ld d, h + ld e, l + pop hl + predef FillPP + pop hl + pop bc + jp asm_17e0ee + +.asm_17e01f + ld de, $4 + add hl, de + jp asm_17e0ee +; 17e026 + +Function17e026: ; 17e026 + ld a, BANK(sBoxCount) + call GetSRAMBank + ld a, [sBoxCount] + call CloseSRAM + cp $14 + jp nc, .asm_17e0ea + bit 0, b + jp z, .asm_17e0ea + push bc + push hl + callba LoadEnemyMon + callba SentPkmnIntoBox + callba SetBoxMonCaughtData + pop hl + pop bc + ld a, BANK(sBoxMonNicknames) + call GetSRAMBank + bit 1, b + jr z, .asm_17e067 + push bc + ld bc, $b + ld de, sBoxMonNicknames + call CopyBytes + pop bc + jr .asm_17e06b + +.asm_17e067 + ld de, $6 + add hl, de + +.asm_17e06b + bit 2, b + jr z, .asm_17e08e + push bc + ld bc, $6 + ld de, sBoxMonOT + call CopyBytes + ld a, [hli] + ld b, a + push hl + call CloseSRAM + callba SetGiftBoxMonCaughtData + ld a, $1 + call GetSRAMBank + pop hl + pop bc + jr .asm_17e092 + +.asm_17e08e + ld de, $7 + add hl, de + +.asm_17e092 + bit 3, b + jr z, .asm_17e0a2 + push bc + ld de, sBoxMon1ID + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + pop bc + jr .asm_17e0a4 + +.asm_17e0a2 + inc hl + inc hl + +.asm_17e0a4 + bit 4, b + jr z, .asm_17e0b4 + push bc + ld de, sBoxMon1DVs + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + pop bc + jr .asm_17e0b6 + +.asm_17e0b4 + inc hl + inc hl + +.asm_17e0b6 + bit 5, b + ld a, [hli] + jr z, .asm_17e0be + ld [sBoxMon1Item], a + +.asm_17e0be + bit 6, b + jr z, .asm_17e0e1 + push bc + ld de, sBoxMon1Moves + ld bc, $4 + call CopyBytes + push hl + ld hl, sBoxMon1Moves + ld de, sBoxMon1PP + predef FillPP + call CloseSRAM + pop hl + pop bc + inc hl + inc hl + jr asm_17e0ee + +.asm_17e0e1 + call CloseSRAM + ld de, $6 + add hl, de + jr asm_17e0ee + +.asm_17e0ea + ld bc, $1a + add hl, bc + +asm_17e0ee + ld a, [hli] + ld h, [hl] + ld l, a + pop af + ld [rSVBK], a + push hl + call Function17e349 + pop hl + call Function17e40f + ret +; 17e0fd + +Function17e0fd: ; 17e0fd + call Function17e415 + ld de, $c708 + ld bc, $6 + call CopyBytes + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + ld hl, $c708 + ld a, [hli] + ld [CurItem], a + ld a, [hli] + ld [wItemQuantityChangeBuffer], a + push hl + ld hl, NumItems + call ReceiveItem + pop hl + jr c, .asm_17e127 + inc hl + inc hl + +.asm_17e127 + ld a, [hli] + ld b, a + ld a, [hl] + ld h, a + ld l, b + pop af + ld [rSVBK], a + call Function17e40f + ret +; 17e133 + +Function17e133: ; 17e133 + call Function17e415 + ld de, $c708 + ld bc, $5 + call CopyBytes + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + ld hl, $c708 + ld a, [hli] + ld [ScriptVar], a + push hl + callba MobileCheckOwnMonAnywhere + pop hl + jr c, .asm_17e159 + inc hl + inc hl + +.asm_17e159 + ld a, [hli] + ld b, a + ld a, [hl] + ld h, a + ld l, b + pop af + ld [rSVBK], a + call Function17e40f + ret +; 17e165 + +Function17e165: ; 17e165 + call Function17e415 + ld de, $c708 + ld bc, $5 + call CopyBytes + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + ld hl, $c708 + ld a, [hli] + ld [CurItem], a + push hl + ld hl, NumItems + call CheckItem + pop hl + jr c, .asm_17e195 + push hl + ld hl, PCItems + call CheckItem + pop hl + jr c, .asm_17e195 + inc hl + inc hl + +.asm_17e195 + ld a, [hli] + ld b, a + ld a, [hl] + ld h, a + ld l, b + pop af + ld [rSVBK], a + call Function17e40f + ret +; 17e1a1 + +Function17e1a1: ; 17e1a1 + call Function17e415 + ld de, $c708 + ld bc, $d + call CopyBytes + ld a, [$c70a] + cp $c0 + jr c, .asm_17e1bb + ld a, [$c708] + ld [rSVBK], a + jr .asm_17e1c1 + +.asm_17e1bb + ld a, [$c708] + call GetSRAMBank + +.asm_17e1c1 + ld a, [$c709] + ld l, a + ld a, [$c70a] + ld h, a + ld de, $c608 + ld a, [$c70b] + ld c, a + ld b, $0 + call CopyBytes + ld a, [$c70a] + cp $c0 + jr c, .asm_17e1e2 + ld a, $4 + ld [rSVBK], a + jr .asm_17e1e5 + +.asm_17e1e2 + call CloseSRAM + +.asm_17e1e5 + ld a, [$c70e] + cp $c0 + jr c, .asm_17e1f3 + ld a, [$c70c] + ld [rSVBK], a + jr .asm_17e1f9 + +.asm_17e1f3 + ld a, [$c70c] + call GetSRAMBank + +.asm_17e1f9 + ld a, [$c70d] + ld l, a + ld a, [$c70e] + ld h, a + ld de, $c688 + ld a, [$c70b] + ld c, a + ld b, $0 + call CopyBytes + ld a, [$c70e] + cp $c0 + jr c, .asm_17e21a + ld a, $4 + ld [rSVBK], a + jr .asm_17e21d + +.asm_17e21a + call CloseSRAM + +.asm_17e21d + ld a, [$c70b] + ld c, a + ld hl, $c688 + ld de, $c608 +.asm_17e227 + ld a, [de] + inc de + cp [hl] + inc hl + jr z, .asm_17e231 + jr c, .asm_17e23e + jr .asm_17e248 + +.asm_17e231 + dec c + jr nz, .asm_17e227 + ld a, [$c711] + ld l, a + ld a, [$c712] + ld h, a + jr .asm_17e250 + +.asm_17e23e + ld a, [$c70f] + ld l, a + ld a, [$c710] + ld h, a + jr .asm_17e250 + +.asm_17e248 + ld a, [$c712 + 1] + ld l, a + ld a, [$c712 + 2] + ld h, a + +.asm_17e250 + call Function17e40f + ret +; 17e254 + +Function17e254: ; 17e254 + call Function17e415 + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + ld [de], a + call Function17e41e + ret +; 17e261 + +Function17e261: ; 17e261 + call Function17e415 + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [de] + add [hl] + ld [de], a + inc hl + call Function17e41e + ret +; 17e270 + +Function17e270: ; 17e270 + call Function17e415 + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [de] + sub [hl] + ld [de], a + inc hl + call Function17e41e + ret +; 17e27f + +Function17e27f: ; 17e27f + call Function17e415 + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + call Function17e41e + ld l, c + ld h, b + ld a, [de] + add [hl] + ld [de], a + ret +; 17e293 + +Function17e293: ; 17e293 + call Function17e415 + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + call Function17e41e + ld l, c + ld h, b + ld a, [de] + sub [hl] + ld [de], a + ret +; 17e2a7 + +Function17e2a7: ; 17e2a7 + call Function17e415 + call Function17e41e + call Function17e32b + xor a + ld [wcf66], a + callba Function118233 + ld de, GFX_17eb7e + ld hl, VTiles2 tile $60 + lb bc, BANK(GFX_17eb7e), 1 + call Get2bpp + ld a, [wc300] + and a + jr z, .asm_17e2d8 + cp $a + jr z, .asm_17e2f7 + cp $b + jr z, .asm_17e300 + call Function17e309 + ret + +.asm_17e2d8 + call Function17d60b + call Function17e349 + xor a + ld [wcd7a], a + ld a, $5 + call GetSRAMBank + ld hl, $aa73 + ld de, $aa7f + ld bc, $c + call CopyBytes + call CloseSRAM + ret + +.asm_17e2f7 + call Function17e349 + ld a, $1 + ld [wcd7a], a + ret + +.asm_17e300 + call Function17e349 + ld a, $2 + ld [wcd7a], a + ret +; 17e309 + +Function17e309: ; 17e309 + ld a, $2 + ld [wc303], a + call Function17dcaf + call ClearScreen + call Function17e349 + call Function17d5f6 + callba DisplayMobileError + call Function17e349 + call Function17dcaf + xor a + ld [wcd77], a + ret +; 17e32b + +Function17e32b: ; 17e32b + ld a, $5 + call GetSRAMBank + ld hl, $c608 + ld de, $b0b1 + ld bc, $40 + call CopyBytes + ld hl, BGMapBuffer + ld bc, $5b + call CopyBytes + call CloseSRAM + ret +; 17e349 + +Function17e349: ; 17e349 + ld a, $5 + call GetSRAMBank + ld hl, $b0b1 + ld de, $c608 + ld bc, $40 + call CopyBytes + ld de, BGMapBuffer + ld bc, $5b + call CopyBytes + call CloseSRAM + ret +; 17e367 + +Function17e367: ; 17e367 + call Function17e415 + call Function17e41e + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + callba SaveGameData_ + pop af + ld [rSVBK], a + ret +; 17e37e + +Function17e37e: ; 17e37e + call Function17e415 + call Function17e41e + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + callba SaveAfterLinkTrade + pop af + ld [rSVBK], a + ret +; 17e395 + +Function17e395: ; 17e395 + call Function17e415 + call Function17e41e + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + callba SaveBox + pop af + ld [rSVBK], a + ret +; 17e3ac + +Function17e3ac: ; 17e3ac + call Function17e415 + call Function17e41e + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + callba SaveChecksum + pop af + ld [rSVBK], a + ret +; 17e3c3 + +Function17e3c3: ; 17e3c3 + call Function17e415 + call Function17e41e + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + callba UpdateTrainerRankingsChecksum2 + callba BackupMobileEventIndex + pop af + ld [rSVBK], a + ret +; 17e3e0 + +Function17e3e0: ; 17e3e0 + call Function17e415 + ld a, [hli] + ld c, a + call Function17e41e + ld a, $1 + ld [hBGMapMode], a + call DelayFrames + ret +; 17e3f0 + +Function17e3f0: ; 17e3f0 + call Function17e415 + call Function17e41e +.asm_17e3f6 + call JoyTextDelay + ld hl, hJoyPressed + ld a, [hl] + and $1 + ret nz + ld a, [hl] + and $2 + ret nz + call WaitBGMap + jr .asm_17e3f6 +; 17e409 + +Function17e409: ; 17e409 + ld hl, wcd77 + set 7, [hl] + ret +; 17e40f + +Function17e40f: ; 17e40f + ld de, UnknBGPals + add hl, de + jr Function17e41e + +Function17e415: + ld a, [wcd78] + ld l, a + ld a, [wcd79] + ld h, a + inc hl + +Function17e41e: + ld a, l + ld [wcd78], a + ld a, h + ld [wcd79], a + ret +; 17e427 + +Function17e427: ; 17e427 + ld hl, hJoyPressed + ld a, [hl] + and $1 + jr nz, .asm_17e432 + and $2 + ret z + +.asm_17e432 + ld a, $3 + ld [wcd77], a + ret +; 17e438 + +Function17e438: ; 17e438 + ld hl, wcd77 + inc [hl] + ret +; 17e43d + +Function17e43d: ; 17e43d + ld a, [BGMapBuffer] + ld l, a + ld a, [wcd21] + ld h, a + add hl, bc + ret +; 17e447 + +Function17e447: ; 17e447 + ld a, [BGMapBuffer] + ld l, a + ld a, [wcd21] + ld h, a + add hl, de + ret +; 17e451 + +Function17e451: ; 17e451 + ld a, [wcd42] + and a + ret z + call Function17e51b + call Function17e4dd + ld a, [wcd2e] + push af + ld a, [wcd49] + ld l, a + ld a, [wcd4a] + ld h, a + ld a, [wcd2f] + ld [wcd2e], a + ld c, a + ld b, $0 + add hl, bc + add hl, bc + push hl + hlcoord 0, 0 + ld bc, $14 + ld a, [wcd23] + call AddNTimes + ld a, [CreditsTimer] + ld c, a + ld b, $0 + add hl, bc + pop bc + ld a, [wMobileCommsJumptableIndex] +.asm_17e48b + push af + push hl + ld a, [wcd24] +.asm_17e490 + push af + push hl + ld a, [bc] + inc bc + ld e, a + ld a, [bc] + inc bc + ld d, a + push bc + push hl + ld a, [BGMapBuffer] + ld l, a + ld a, [wcd21] + ld h, a + add hl, de + push hl + pop de + pop hl + call PlaceString + pop bc + pop hl + ld a, [wcd26] + ld e, a + ld d, $0 + add hl, de + ld a, [wcd2e] + inc a + ld [wcd2e], a + ld e, a + ld a, [wcd42] + cp e + jr z, .asm_17e4d5 + pop af + dec a + jr nz, .asm_17e490 + pop hl + ld a, [wcd27] + ld de, $14 +.asm_17e4cb + add hl, de + dec a + jr nz, .asm_17e4cb + pop af + dec a + jr nz, .asm_17e48b + jr .asm_17e4d8 + +.asm_17e4d5 + pop af + pop hl + pop af + +.asm_17e4d8 + pop af + ld [wcd2e], a + ret +; 17e4dd + +Function17e4dd: ; 17e4dd + ld a, [wcd2c] + and $1 + ret z + ld a, [wcd29] + hlcoord 0, 0 + ld bc, $14 + call AddNTimes + ld a, [wcd28] + ld c, a + ld b, $0 + add hl, bc + ld a, [wcd2f] + and a + jr z, .asm_17e4ff + ld a, $61 + ld [hl], a + +.asm_17e4ff + ld a, [wcd2a] + ld bc, $14 + call AddNTimes + ld a, [wcd42] + ld c, a + ld a, [wcd2e] + ld b, a + ld a, [wcd24] + add b + cp c + ret z + ret nc + ld a, $ee + ld [hl], a + ret +; 17e51b + +Function17e51b: ; 17e51b + ld a, [wcd28] + ld hl, CreditsTimer + sub [hl] + inc a + ld [wcd4f], a + hlcoord 0, 0 + ld bc, $14 + ld a, [wcd23] + dec a + call AddNTimes + ld a, [CreditsTimer] + ld c, a + ld b, $0 + add hl, bc + ld a, [wMobileCommsJumptableIndex] + ld c, a + ld a, [wcd27] + call SimpleMultiply +.asm_17e544 + push af + push hl + ld a, [wcd4f] + ld c, a + ld b, $0 + ld a, $7f + call ByteFill + pop hl + ld bc, $14 + add hl, bc + pop af + dec a + jr nz, .asm_17e544 + ret +; 17e55b + +Function17e55b: ; 17e55b + ld a, [wcd42] + and a + ret z + ld a, $ed + call Function17e571 + ret +; 17e566 + +Function17e566: ; 17e566 + ld a, [wcd42] + and a + ret z + ld a, $7f + call Function17e571 + ret +; 17e571 + +Function17e571: ; 17e571 + push af + hlcoord 0, 0 + ld bc, $14 + ld a, [wcd23] + call AddNTimes + ld a, [CreditsTimer] + ld c, a + ld b, $0 + add hl, bc + dec hl + push hl + ld a, [wcd31] + dec a + ld c, a + ld a, [wcd27] + call SimpleMultiply + ld l, $0 + ld h, l + ld bc, $14 + call AddNTimes + ld a, [wcd30] + dec a + ld c, a + ld a, [wcd26] + call SimpleMultiply + ld c, a + ld b, $0 + add hl, bc + pop bc + add hl, bc + pop af + ld [hl], a + ret +; 17e5af + +Function17e5af: ; 17e5af + ld a, [wcd2c] + and $2 + ret z + ld a, [wcd43] + ld l, a + ld a, [wMobileInactivityTimerMinutes] + ld h, a + bccoord 0, 0 + add hl, bc + ld bc, $ffec + add hl, bc + ld a, [wMobileInactivityTimerSeconds] + ld c, a + ld b, $0 + ld a, [wMobileInactivityTimerFrames] + call Function17e600 + ld a, [wcd2e] + ld c, a + ld b, $0 + ld a, [wcd4d] + ld l, a + ld a, [wcd4e] + ld h, a + add hl, bc + add hl, bc + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [BGMapBuffer] + ld l, a + ld a, [wcd21] + ld h, a + add hl, de + push hl + pop de + ld a, [wcd43] + ld l, a + ld a, [wMobileInactivityTimerMinutes] + ld h, a + bccoord 0, 0 + add hl, bc + call PlaceString + ret +; 17e600 + +Function17e600: ; 17e600 +.asm_17e600 + push af + push hl + push bc + ld a, $7f + call ByteFill + pop bc + pop hl + ld de, $14 + add hl, de + pop af + dec a + jr nz, .asm_17e600 + ret +; 17e613 + +Function17e613: ; 17e613 + push hl + hlcoord 0, 0 + ld bc, $14 + ld a, [de] + inc de + push af + ld a, [de] + inc de + and a +.asm_17e620 + jr z, .asm_17e626 + add hl, bc + dec a + jr .asm_17e620 + +.asm_17e626 + pop af + ld c, a + ld b, $0 + add hl, bc + push hl + ld a, [wcd53] + ld [hli], a + ld a, [de] + inc de + dec a + dec a + jr z, .asm_17e63f + ld c, a + ld a, [wcd53] + inc a +.asm_17e63b + ld [hli], a + dec c + jr nz, .asm_17e63b + +.asm_17e63f + ld a, [wcd53] + add $2 + ld [hl], a + pop hl + ld bc, $14 + add hl, bc + ld a, [de] + dec de + dec a + dec a + jr z, .asm_17e674 + ld b, a +.asm_17e651 + push hl + ld a, [wcd53] + add $3 + ld [hli], a + ld a, [de] + dec a + dec a + jr z, .asm_17e664 + ld c, a + ld a, $7f +.asm_17e660 + ld [hli], a + dec c + jr nz, .asm_17e660 + +.asm_17e664 + ld a, [wcd53] + add $4 + ld [hl], a + pop hl + push bc + ld bc, $14 + add hl, bc + pop bc + dec b + jr nz, .asm_17e651 + +.asm_17e674 + ld a, [wcd53] + add $5 + ld [hli], a + ld a, [de] + dec a + dec a + jr z, .asm_17e689 + ld c, a + ld a, [wcd53] + add $6 +.asm_17e685 + ld [hli], a + dec c + jr nz, .asm_17e685 + +.asm_17e689 + ld a, [wcd53] + add $7 + ld [hl], a + pop hl + ret +; 17e691 + +Function17e691: ; 17e691 + push hl + ld hl, NULL + ld bc, $14 + ld a, [de] + inc de + push af + ld a, [de] + inc de + inc de + and a +.asm_17e69f + jr z, .asm_17e6a5 + add hl, bc + dec a + jr .asm_17e69f + +.asm_17e6a5 + pop af + ld c, a + ld b, $0 + add hl, bc + ld a, [de] + dec de +.asm_17e6ac + push af + push hl + ld a, [de] +.asm_17e6af + push af + push hl + push hl + bccoord 0, 0 + add hl, bc + ld a, [hl] + cp $7f + jr z, .asm_17e6c2 + ld a, [wcd53] + add $8 + jr .asm_17e6c7 + +.asm_17e6c2 + ld a, [wcd53] + jr .asm_17e6c7 + +.asm_17e6c7 + pop hl + bccoord 0, 0, AttrMap + add hl, bc + ld [hl], a + pop hl + inc hl + pop af + dec a + jr nz, .asm_17e6af + pop hl + ld bc, $14 + add hl, bc + pop af + dec a + jr nz, .asm_17e6ac + pop hl + ret +; 17e6de + +Function17e6de: ; 17e6de + push af + ld a, [$c708] + ld l, a + ld a, [$c709] + ld h, a + decoord 0, 0, AttrMap + add hl, de + pop af + ld b, $7 +.asm_17e6ee + push hl + ld c, $7 +.asm_17e6f1 + ld [hli], a + dec c + jr nz, .asm_17e6f1 + pop hl + ld de, $14 + add hl, de + dec b + jr nz, .asm_17e6ee + ret +; 17e6fe + + +PokemonNewsGFX: ; 17e6fe +INCBIN "gfx/mobile/pokemon_news.2bpp" + +GFX_17eb7e: +INCBIN "gfx/unknown/17eb7e.2bpp" + +TileAttrmap_17eb8e: +INCBIN "gfx/unknown/17eb8e.attrmap" + +Palette_17eff6: + RGB 24, 9, 8 + RGB 4, 9, 18 + RGB 18, 18, 12 + RGB 0, 0, 0 + RGB 24, 24, 18 + RGB 18, 18, 12 + RGB 4, 9, 18 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 23, 11, 10 + RGB 13, 6, 5 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 15, 25, 5 + RGB 10, 20, 0 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 28, 20 + RGB 10, 18, 15 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 22, 22, 12 + RGB 17, 12, 5 + RGB 0, 0, 0 + RGB 5, 5, 16 + RGB 8, 19, 28 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 27, 24, 0 + RGB 24, 16, 3 + RGB 0, 0, 0 + + +Function17f036:: ; 17f036 + ld a, $6 + call GetSRAMBank + inc de +.asm_17f03c + call Function17f047 + jr c, .asm_17f043 + jr .asm_17f03c + +.asm_17f043 + call CloseSRAM + ret +; 17f047 + +Function17f047: ; 17f047 + ld a, [de] + inc de + cp $50 + jr z, .finished + cp $10 + jr nc, .finished + dec a + push de + ld e, a + ld d, 0 + ld hl, .Jumptable + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp hl + +.finished + scf + ret +; 17f061 + +.Jumptable: ; 17f061 + dw Function17f081 ; 0 + dw Function17f0f8 ; 1 + dw Function17f154 ; 2 + dw Function17f181 ; 3 + dw Function17f1d0 ; 4 + dw Function17f220 ; 5 + dw Function17f27b ; 6 + dw Function17f2cb ; 7 + dw Function17f2ff ; 8 + dw Function17f334 ; 9 + dw Function17f382 ; a + dw Function17f3c9 ; b + dw Function17f3f0 ; c + dw Function17f41d ; d + dw Function17f44f ; e + dw Function17f44f ; f +; 17f081 + +Function17f081: ; 17f081 + pop hl + call Function17f524 + jr c, .asm_17f09f + ld de, 4 + add hl, de + ld a, [hli] + inc hl + inc hl + ld e, l + ld d, h + ld l, c + ld h, b + ld c, a + ld b, $0 + add hl, bc + ld a, [de] + cp $50 + jr z, .asm_17f09d + and a + ret + +.asm_17f09d + scf + ret + +.asm_17f09f + push bc + ld de, wcd54 + ld bc, 7 + call CopyBytes + pop bc + push hl + push bc + call Function17f4f6 + pop bc + ld a, [wcd54] + ld e, a + ld a, [wcd55] + ld d, a + add hl, de + ld e, l + ld d, h + ld l, c + ld h, b + push hl + ld a, [wcd56] + ld b, a + ld a, [wcd57] + ld c, a + call MobilePrintNum + ld a, l + ld [wcd52], a + ld a, h + ld [wcd53], a + ld a, [wcd59] + and a + jr z, .asm_17f0ee + ld c, a + ld a, [wcd57] + inc a + ld b, a + ld e, l + ld d, h + dec de +.asm_17f0e0 + ld a, c + cp b + jr z, .asm_17f0ea + ld a, [de] + dec de + ld [hld], a + dec b + jr .asm_17f0e0 + +.asm_17f0ea + ld a, [wcd5a] + ld [hl], a + +.asm_17f0ee + pop hl + ld a, [wcd58] + call Function17f50f + pop de + and a + ret +; 17f0f8 + +Function17f0f8: ; 17f0f8 + pop hl + call Function17f524 + jr c, .asm_17f114 + ld de, $3 + add hl, de + ld a, [hli] + ld e, l + ld d, h + ld l, c + ld h, b + ld c, a + ld b, $0 + add hl, bc + ld a, [de] + cp $50 + jr z, .asm_17f112 + and a + ret + +.asm_17f112 + scf + ret + +.asm_17f114 + push bc + ld de, wcd54 + ld bc, $4 + call CopyBytes + pop bc + push hl + push bc + call Function17f4f6 + ld a, [wcd54] + ld e, a + ld a, [wcd55] + ld d, a + add hl, de + ld de, $c608 + ld a, [wcd56] + ld c, a + ld b, $0 + call CopyBytes + ld a, $50 + ld [de], a + pop hl + ld de, $c608 + call PlaceString + ld a, c + ld [wcd52], a + ld a, b + ld [wcd53], a + ld a, [wcd57] + call Function17f50f + pop de + and a + ret +; 17f154 + +Function17f154: ; 17f154 + pop hl + call Function17f524 + jr c, .asm_17f167 + inc hl + inc hl + ld e, l + ld d, h + ld a, [de] + cp $50 + jr z, .asm_17f165 + and a + ret + +.asm_17f165 + scf + ret + +.asm_17f167 + push bc + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + pop bc + push hl + push bc + call Function17f4f6 + add hl, de + ld c, l + ld b, h + pop de + callba Function11c08f + ld c, l + ld b, h + pop de + and a + ret +; 17f181 + +Function17f181: ; 17f181 + pop hl + call Function17f524 + jr c, .asm_17f19d + ld de, $2 + add hl, de + ld a, [hli] + ld e, l + ld d, h + ld l, c + ld h, b + ld c, a + ld b, $0 + add hl, bc + ld a, [de] + cp $50 + jr z, .asm_17f19b + and a + ret + +.asm_17f19b + scf + ret + +.asm_17f19d + push bc + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + ld [wcd54], a + pop bc + push hl + push bc + call Function17f4f6 + add hl, de + ld a, [hl] + ld c, a + ld de, $c608 + callba Function48c63 + pop hl + ld de, $c608 + call PlaceString + ld a, c + ld [wcd52], a + ld a, b + ld [wcd53], a + ld a, [wcd54] + call Function17f50f + pop de + and a + ret +; 17f1d0 + +Function17f1d0: ; 17f1d0 + pop hl + call Function17f524 + jr c, .asm_17f1ec + ld de, $2 + add hl, de + ld a, [hli] + ld e, l + ld d, h + ld l, c + ld h, b + ld c, a + ld b, $0 + add hl, bc + ld a, [de] + cp $50 + jr z, .asm_17f1ea + and a + ret + +.asm_17f1ea + scf + ret + +.asm_17f1ec + push bc + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + ld [wcd54], a + pop bc + push hl + push bc + call Function17f4f6 + add hl, de + ld a, [hl] + ld a, $1 + ld [rSVBK], a + ld [wd265], a + call GetPokemonName + pop hl + call PlaceString + ld a, c + ld [wcd52], a + ld a, b + ld [wcd53], a + ld a, $4 + ld [rSVBK], a + ld a, [wcd54] + call Function17f50f + pop de + and a + ret +; 17f220 + +Function17f220: ; 17f220 + pop hl + call Function17f524 + jr c, .asm_17f23c + ld de, $2 + add hl, de + ld a, [hli] + ld e, l + ld d, h + ld l, c + ld h, b + ld c, a + ld b, $0 + add hl, bc + ld a, [de] + cp $50 + jr z, .asm_17f23a + and a + ret + +.asm_17f23a + scf + ret + +.asm_17f23c + push bc + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + ld [wcd54], a + pop bc + push hl + push bc + call Function17f4f6 + add hl, de + ld a, [hl] + ld e, a + ld d, 0 + ld hl, .Genders + add hl, de + add hl, de + ld a, [hli] + ld e, a + ld a, [hl] + ld d, a + pop hl + call PlaceString + ld a, c + ld [wcd52], a + ld a, b + ld [wcd53], a + ld a, [wcd54] + call Function17f50f + pop de + and a + ret +; 17f26e + +.Genders: dw .Boy, .Girl +.Boy: db "Boy@" +.Girl: db "Girl@" + +Function17f27b: ; 17f27b + pop hl + call Function17f524 + jr c, .asm_17f297 + ld de, $2 + add hl, de + ld a, [hli] + ld e, l + ld d, h + ld l, c + ld h, b + ld c, a + ld b, $0 + add hl, bc + ld a, [de] + cp $50 + jr z, .asm_17f295 + and a + ret + +.asm_17f295 + scf + ret + +.asm_17f297 + push bc + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + ld [wcd54], a + pop bc + push hl + push bc + call Function17f4f6 + add hl, de + ld a, [hl] + ld a, $1 + ld [rSVBK], a + ld [wd265], a + call GetItemName + pop hl + call PlaceString + ld a, c + ld [wcd52], a + ld a, b + ld [wcd53], a + ld a, $4 + ld [rSVBK], a + ld a, [wcd54] + call Function17f50f + pop de + and a + ret +; 17f2cb + +Function17f2cb: ; 17f2cb + pop hl + push bc + ld a, [hli] + ld [wcd54], a + ld a, [hli] + ld [wcd55], a + ld a, [wcd2e] + inc a + ld [wcd56], a + pop bc + push hl + ld l, c + ld h, b + push hl + ld de, wcd56 + ld b, $1 + ld a, [wcd54] + ld c, a + call MobilePrintNum + ld a, l + ld [wcd52], a + ld a, h + ld [wcd53], a + pop hl + ld a, [wcd55] + call Function17f50f + pop de + and a + ret +; 17f2ff + +Function17f2ff: ; 17f2ff + pop hl + push bc + ld a, [hli] + ld [wcd54], a + pop bc + push hl + push bc + ld a, $1 + ld [rSVBK], a + ld hl, PlayerName + ld de, $c608 + ld bc, $6 + call CopyBytes + ld a, $4 + ld [rSVBK], a + pop hl + ld de, $c608 + call PlaceString + ld a, c + ld [wcd52], a + ld a, b + ld [wcd53], a + ld a, [wcd54] + call Function17f50f + pop de + and a + ret +; 17f334 + +Function17f334: ; 17f334 + pop hl + push bc + ld a, [hli] + ld [wcd55], a + and $f + ld [wcd54], a + pop bc + push hl + ld l, c + ld h, b + push hl + ld a, [wcd55] + bit 7, a + jr nz, .asm_17f355 + ld a, BANK(sCrystalData) + call GetSRAMBank + ld a, [sCrystalData + 2] + jr .asm_17f35d + +.asm_17f355 + ld a, $5 + call GetSRAMBank + ld a, [$b2f3] + +.asm_17f35d + ld c, a + call CloseSRAM + ld de, $c608 + callba Function48c63 + pop hl + ld de, $c608 + call PlaceString + ld a, c + ld [wcd52], a + ld a, b + ld [wcd53], a + ld a, [wcd54] + call Function17f50f + pop de + and a + ret +; 17f382 + +Function17f382: ; 17f382 + pop hl + push bc + ld a, [hli] + ld [wcd55], a + and $f + ld [wcd54], a + pop bc + push hl + push bc + ld l, c + ld h, b + ld a, [wcd55] + bit 7, a + jr nz, .asm_17f3a3 + ld a, BANK(sCrystalData) + call GetSRAMBank + ld de, sCrystalData + 3 + jr .asm_17f3ab + +.asm_17f3a3 + ld a, $5 + call GetSRAMBank + ld de, $b2f4 + +.asm_17f3ab + ld a, PRINTNUM_LEADINGZEROS | 2 + ld b, a + ld a, 3 + ld c, a + call PrintNum + call CloseSRAM + ld a, l + ld [wcd52], a + ld a, h + ld [wcd53], a + pop hl + ld a, [wcd54] + call Function17f50f + pop de + and a + ret +; 17f3c9 + +Function17f3c9: ; 17f3c9 + push bc + ld hl, wcd36 + ld de, $c708 + ld bc, 12 + call CopyBytes + pop de + ld c, $0 + callba Function11c075 + push hl + ld hl, $c708 + ld de, wcd36 + ld bc, $c + call CopyBytes + pop bc + pop de + and a + ret +; 17f3f0 + +Function17f3f0: ; 17f3f0 + pop hl + push hl + ld a, [hli] + push af + push bc + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [de] + ld c, a + ld b, $0 + add hl, bc + add hl, bc + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld hl, UnknBGPals + add hl, de + ld e, l + ld d, h + pop hl + call PlaceString + pop af + ld e, a + ld d, $0 + pop hl + add hl, de + add hl, de + inc hl + inc hl + inc hl + ld e, l + ld d, h + ld l, c + ld h, b + scf + ret +; 17f41d + +Function17f41d: ; 17f41d + pop hl + ld a, [hli] + push hl + push af + ld l, c + ld h, b + ld bc, -TileMap + $10000 + add hl, bc + ld de, -SCREEN_WIDTH + ld c, $1 +.asm_17f42c + ld a, h + and a + jr nz, .asm_17f435 + ld a, l + cp SCREEN_WIDTH + jr c, .asm_17f439 + +.asm_17f435 + add hl, de + inc c + jr .asm_17f42c + +.asm_17f439 + hlcoord 0, 0 + ld de, SCREEN_WIDTH + ld a, c +.asm_17f440 + and a + jr z, .asm_17f447 + add hl, de + dec a + jr .asm_17f440 + +.asm_17f447 + pop af + ld e, a + ld d, 0 + add hl, de + pop de + and a + ret +; 17f44f + +Function17f44f: ; 17f44f + pop hl + call Function17f524 + jr c, .asm_17f46d + ld de, $5 + add hl, de + ld a, [hli] + inc hl + inc hl + ld e, l + ld d, h + ld l, c + ld h, b + ld c, a + ld b, 0 + add hl, bc + ld a, [de] + cp $50 + jr z, .asm_17f46b + and a + ret + +.asm_17f46b + scf + ret + +.asm_17f46d + push bc + ld de, wcd54 + ld bc, $8 + call CopyBytes + pop bc + push hl + push bc + ld a, [wcd56] + cp $c0 + jr c, .asm_17f488 + ld a, [wcd54] + ld [rSVBK], a + jr .asm_17f48e + +.asm_17f488 + ld a, [wcd54] + call GetSRAMBank + +.asm_17f48e + ld a, [wcd55] + ld l, a + ld a, [wcd56] + ld h, a + ld de, $c608 + ld a, [wcd57] + ld c, a + ld b, $0 + call CopyBytes + ld a, [wcd56] + cp $c0 + jr c, .asm_17f4af + ld a, $4 + ld [rSVBK], a + jr .asm_17f4b7 + +.asm_17f4af + call CloseSRAM + ld a, $6 + call GetSRAMBank + +.asm_17f4b7 + ld de, $c608 + pop hl + push hl + ld a, [wcd57] + ld b, a + ld a, [wcd58] + ld c, a + call MobilePrintNum + ld a, l + ld [wcd52], a + ld a, h + ld [wcd53], a + ld a, [wcd5a] + and a + jr z, .asm_17f4ec + ld c, a + ld a, [wcd58] + inc a + ld b, a + ld e, l + ld d, h + dec de +.asm_17f4de + ld a, c + cp b + jr z, .asm_17f4e8 + ld a, [de] + dec de + ld [hld], a + dec b + jr .asm_17f4de + +.asm_17f4e8 + ld a, [wcd5b] + ld [hl], a + +.asm_17f4ec + pop hl + ld a, [wcd59] + call Function17f50f + pop de + and a + ret +; 17f4f6 + +Function17f4f6: ; 17f4f6 + ld a, [wcd6a] + ld l, a + ld a, [wcd6b] + ld h, a + ld a, [wcd47] + ld c, a + ld a, [BGMapPalBuffer] + ld b, a + ld a, [wcd2e] +.asm_17f509 + and a + ret z + dec a + add hl, bc + jr .asm_17f509 +; 17f50f + +Function17f50f: ; 17f50f + and a + jr z, .asm_17f519 + ld c, a + ld b, $0 + add hl, bc + ld c, l + ld b, h + ret + +.asm_17f519 + ld a, [wcd52] + ld c, a + ld l, a + ld a, [wcd53] + ld b, a + ld h, a + ret +; 17f524 + +Function17f524: ; 17f524 + push hl + push bc + push de + ld a, [wcd42] + dec a + ld b, a + ld a, [wcd2e] + cp b + jr z, .asm_17f53a + ld hl, wcd68 + cp [hl] +.asm_17f536 + pop de + pop bc + pop hl + ret + +.asm_17f53a + scf + jr .asm_17f536 +; 17f53d + +BattleTowerMobileError: ; 17f53d + call FadeToMenu + xor a + ld [wc303], a + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + + call DisplayMobileError + + pop af + ld [rSVBK], a + call ExitAllMenus + ret +; 17f555 + +DisplayMobileError: ; 17f555 +.loop + call JoyTextDelay + call .RunJumptable + ld a, [wc303] + bit 7, a + jr nz, .quit + callba HDMATransferAttrMapAndTileMapToWRAMBank3 + jr .loop + +.quit + call .deinit + ret + +.deinit + ld a, [wc300] + cp $22 + jr z, .asm_17f597 + cp $31 + jr z, .asm_17f58a + cp $33 + ret nz + ld a, [wc301] + cp $1 + ret nz + ld a, [wc302] + cp $2 + ret nz + jr .asm_17f5a1 + +.asm_17f58a + ld a, [wc301] + cp $3 + ret nz + ld a, [wc302] + and a + ret nz + jr .asm_17f5a1 + +.asm_17f597 + ld a, [wc301] + and a + ret nz + ld a, [wc302] + and a + ret nz + +.asm_17f5a1 + ld a, BANK(sMobileLoginPassword) + call GetSRAMBank + xor a + ld [sMobileLoginPassword], a + call CloseSRAM + ret +; 17f5ae + +.RunJumptable: ; 17f5ae + jumptable .Jumptable, wc303 +; 17f5bd + +.Jumptable: ; 17f5bd + dw Function17f5c3 + dw Function17ff23 + dw Function17f5d2 +; 17f5c3 + +Function17f5c3: ; 17f5c3 + call Function17f5e4 + callba FinishExitMenu + ld a, $1 + ld [wc303], a + ret +; 17f5d2 + +Function17f5d2: ; 17f5d2 + call Function17f5e4 + callba HDMATransferAttrMapAndTileMapToWRAMBank3 + call SetPalettes + ld a, $1 + ld [wc303], a + ret +; 17f5e4 + +Function17f5e4: ; 17f5e4 + ld a, $8 + ld [MusicFade], a + ld de, MUSIC_NONE + ld a, e + ld [MusicFadeID], a + ld a, d + ld [MusicFadeID + 1], a + ld a, " " + hlcoord 0, 0 + ld bc, SCREEN_WIDTH * SCREEN_HEIGHT + call ByteFill + ld a, $6 + hlcoord 0, 0, AttrMap + ld bc, SCREEN_WIDTH * SCREEN_HEIGHT + call ByteFill + hlcoord 2, 1 + ld b, $1 + ld c, $e + call Function3eea + hlcoord 1, 4 + ld b, $c + ld c, $10 + call Function3eea + hlcoord 3, 2 + ld de, String_17f6dc + call PlaceString + call Function17ff3c + jr nc, .asm_17f632 + hlcoord 11, 2 + call Function17f6b7 + +.asm_17f632 + ld a, [wc300] + cp $d0 + jr nc, .asm_17f684 + cp $10 + jr c, .asm_17f679 + sub $10 + cp $24 + jr nc, .asm_17f679 + ld e, a + ld d, $0 + ld hl, Table_17f706 + add hl, de + add hl, de + ld a, [wc301] + ld e, a + ld a, [wc302] + ld d, a + ld a, [hli] + ld c, a + ld a, [hl] + ld h, a + ld l, c + ld a, [hli] + and a + jr z, .asm_17f679 + ld c, a +.asm_17f65d + ld a, [hli] + ld b, a + ld a, [hli] + cp $ff + jr nz, .asm_17f667 + cp b + jr z, .asm_17f66e + +.asm_17f667 + xor d + jr nz, .asm_17f674 + ld a, b + xor e + jr nz, .asm_17f674 + +.asm_17f66e + ld a, [hli] + ld e, a + ld a, [hl] + ld d, a + jr .asm_17f67d + +.asm_17f674 + inc hl + inc hl + dec c + jr nz, .asm_17f65d + +.asm_17f679 + ld a, $d9 + jr .asm_17f684 + +.asm_17f67d + hlcoord 2, 6 + call PlaceString + ret + +.asm_17f684 + sub $d0 + ld e, a + ld d, 0 + ld hl, Table_17f699 + add hl, de + add hl, de + ld a, [hli] + ld e, a + ld a, [hl] + ld d, a + hlcoord 2, 6 + call PlaceString + ret +; 17f699 + +Table_17f699: ; 17f699 + dw String_17fedf + dw String_17fdd9 + dw String_17fdd9 + dw String_17fe03 + dw String_17fd84 + dw String_17fe63 + dw String_17fdb2 + dw String_17fe4b + dw String_17fe03 + dw String_17fe03 + dw String_17fe03 +; 17f6af + +Palette_17f6af: ; 17f6af + RGB 5, 5, 16 + RGB 8, 19, 28 + RGB 0, 0, 0 + RGB 31, 31, 31 +; 17f6b7 + +Function17f6b7: ; 17f6b7 + ld a, [wc300] + call .bcd_two_digits + inc hl + ld a, [wc302] + and $f + call .bcd_digit + ld a, [wc301] + call .bcd_two_digits + ret +; 17f6cd + +.bcd_two_digits ; 17f6cd + ld c, a + and $f0 + swap a + call .bcd_digit + ld a, c + and $f + +.bcd_digit ; 17f6d8 + add "0" + ld [hli], a + ret +; 17f6dc + +String_17f6dc: ; 17f6dc + db "つうしんエラー ー@" +; 17f6e8 + +String_17f6e8: ; 17f6e8 + db "みていぎ", $25, "エラーです" + next "プログラム", $1f + next "かくにん してください" + db "@" +; 17f706 + +Table_17f706: + dw Unknown_17f74e + dw Unknown_17f753 + dw Unknown_17f758 + dw Unknown_17f75d + dw Unknown_17f762 + dw Unknown_17f767 + dw Unknown_17f778 + dw Unknown_17f77d + dw Unknown_17f782 + dw Unknown_17f782 + dw Unknown_17f782 + dw Unknown_17f782 + dw Unknown_17f782 + dw Unknown_17f782 + dw Unknown_17f782 + dw Unknown_17f782 + dw Unknown_17f782 + dw Unknown_17f787 + dw Unknown_17f78c + dw Unknown_17f791 + dw Unknown_17f796 + dw Unknown_17f79b + dw Unknown_17f7a0 + dw Unknown_17f7a5 + dw Unknown_17f7a5 + dw Unknown_17f7a5 + dw Unknown_17f7a5 + dw Unknown_17f7a5 + dw Unknown_17f7a5 + dw Unknown_17f7a5 + dw Unknown_17f7a5 + dw Unknown_17f7a5 + dw Unknown_17f7a5 + dw Unknown_17f7ea + dw Unknown_17f7ff + dw Unknown_17f844 + +Unknown_17f74e: db 1 + dbbw $0, $0, String_17f891 + +Unknown_17f753: db 1 + dbbw $0, $0, String_17f8d1 + +Unknown_17f758: db 1 + dbbw $0, $0, String_17f913 + +Unknown_17f75d: db 1 + dbbw $0, $0, String_17f8d1 + +Unknown_17f762: db 1 + dbbw $0, $0, String_17fa71 + +Unknown_17f767: db 4 + dbbw $0, $0, String_17f946 + dbbw $1, $0, String_17f946 + dbbw $2, $0, String_17f946 + dbbw $3, $0, String_17f946 + +Unknown_17f778: db 1 + dbbw $0, $0, String_17f98e + +Unknown_17f77d: db 1 + dbbw $0, $0, String_17f98e + +Unknown_17f782: db 1 + dbbw $0, $0, String_17f98e + +Unknown_17f787: db 1 + dbbw $0, $0, String_17f98e + +Unknown_17f78c: db 1 + dbbw $0, $0, String_17f9d0 + +Unknown_17f791: db 1 + dbbw $0, $0, String_17fa14 + +Unknown_17f796: db 1 + dbbw $0, $0, String_17fcbf + +Unknown_17f79b: db 1 + dbbw $0, $0, String_17fa71 + +Unknown_17f7a0: db 1 + dbbw $0, $0, String_17fbfe + +Unknown_17f7a5: db 17 + dbbw $0, $0, String_17f98e + dbbw $21, $2, String_17fcbf + dbbw $21, $4, String_17fcbf + dbbw $50, $4, String_17faf9 + dbbw $51, $4, String_17fcbf + dbbw $52, $4, String_17fcbf + dbbw $0, $5, String_17f98e + dbbw $1, $5, String_17f98e + dbbw $2, $5, String_17f98e + dbbw $3, $5, String_17f98e + dbbw $4, $5, String_17f98e + dbbw $50, $5, String_17faf9 + dbbw $51, $5, String_17faf9 + dbbw $52, $5, String_17fcbf + dbbw $53, $5, String_17faf9 + dbbw $54, $5, String_17fcbf + dbbw $ff, $ff, String_17fcbf + +Unknown_17f7ea: db 5 + dbbw $0, $0, String_17f98e + dbbw $2, $0, String_17fb2a + dbbw $3, $0, String_17fb6e + dbbw $4, $0, String_17f98e + dbbw $ff, $ff, String_17fcbf + +Unknown_17f7ff: db 17 + dbbw $0, $0, String_17f98e + dbbw $1, $3, String_17f98e + dbbw $2, $3, String_17f98e + dbbw $0, $4, String_17f98e + dbbw $1, $4, String_17f98e + dbbw $3, $4, String_17fbb6 + dbbw $4, $4, String_17fbb6 + dbbw $5, $4, String_17f98e + dbbw $6, $4, String_17f98e + dbbw $7, $4, String_17f98e + dbbw $8, $4, String_17fbfe + dbbw $0, $5, String_17fa49 + dbbw $1, $5, String_17f98e + dbbw $2, $5, String_17fa49 + dbbw $3, $5, String_17fab0 + dbbw $4, $5, String_17fa49 + dbbw $ff, $ff, String_17fa49 + +Unknown_17f844: db 19 + dbbw $1, $1, String_17fc3e + dbbw $2, $1, String_17fc88 + dbbw $3, $1, String_17fcff + dbbw $4, $1, String_17fd84 + dbbw $5, $1, String_17fd84 + dbbw $6, $1, String_17fd47 + dbbw $1, $2, String_17fb6e + dbbw $2, $2, String_17f98e + dbbw $3, $2, String_17fd84 + dbbw $4, $2, String_17f98e + dbbw $5, $2, String_17fa49 + dbbw $6, $2, String_17fd84 + dbbw $99, $2, String_17fc88 + dbbw $1, $3, String_17fa49 + dbbw $1, $4, String_17fa49 + dbbw $2, $4, String_17fa49 + dbbw $3, $4, String_17fa49 + dbbw $4, $4, String_17fa49 + dbbw $ff, $ff, String_17fa49 + +String_17f891: ; 17f891 + db "モバイルアダプタが ただしく" + next "さしこまれていません" + next "とりあつかいせつめいしょを" + next "ごらんのうえ しっかりと" + next "さしこんで ください" + db "@" + +String_17f8d1: ; 17f8d1 + db "でんわが うまく かけられないか" + next "でんわかいせんが こんでいるので" + next "つうしん できません" + next "しばらく まって" + next "かけなおして ください" + db "@" + +String_17f913: ; 17f913 + db "でんわかいせんが こんでいるため" + next "でんわが かけられません" + next "しばらく まって" + next "かけなおして ください" + db "@" + +String_17f946: ; 17f946 + db "モバイルアダプタの エラーです" + next "しばらく まって" + next "かけなおして ください" + next "なおらない ときは" + next "モバイルサポートセンターへ" + next "おといあわせください" + db "@" + +String_17f98e: ; 17f98e + db "つうしんエラーです" + next "しばらく まって" + next "かけなおして ください" + next "なおらない ときは" + next "モバイルサポートセンターへ" + next "おといあわせください" + db "@" + +String_17f9d0: ; 17f9d0 + db "ログインパスワードか" + next "ログイン アイディーに" + next "まちがいがあります" + next "パスワードを かくにんして" + next "しばらく まって" + next "かけなおして ください" + db "@" + +String_17fa14: ; 17fa14 + db "でんわが きれました" + next "とりあつかいせつめいしょを" + next "ごらんのうえ" + next "しばらく まって" + next "かけなおして ください" + db "@" + +String_17fa49: ; 17fa49 + db "モバイルセンターの" + next "つうしんエラーです" + next "しばらくまって" + next "かけなおして ください" + db "@" + +String_17fa71: ; 17fa71 + db "モバイルアダプタに" + next "とうろくされた じょうほうが" + next "ただしく ありません" + next "モバイルトレーナーで" + next "しょきとうろくを してください" + db "@" + +String_17fab0: ; 17fab0 + db "モバイルセンターが" + next "こんでいて つながりません" + next "しばらくまって" + next "かけなおして ください" + next "くわしくは とりあつかい" + next "せつめいしょを ごらんください" + db "@" + +String_17faf9: ; 17faf9 + db "あてさき メールアドレスに" + next "まちがいがあります" + next "ただしい メールアドレスを" + next "いれなおしてください" + db "@" + +String_17fb2a: ; 17fb2a + db "メールアドレスに" + next "まちがいが あります" + next "とりあつかいせつめいしょを" + next "ごらんのうえ" + next "モバイルトレーナーで" + next "しょきとうろくを してください" + db "@" + +String_17fb6e: ; 17fb6e + db "ログインパスワードに" + next "まちがいが あるか" + next "モバイルセンターの エラーです" + next "パスワードを かくにんして" + next "しばらく まって" + next "かけなおして ください" + db "@" + +String_17fbb6: ; 17fbb6 + db "データの よみこみが できません" + next "しばらくまって" + next "かけなおして ください" + next "なおらない ときは" + next "モバイルサポートセンターへ" + next "おといあわせください" + db "@" + +String_17fbfe: ; 17fbfe + db "じかんぎれです" + next "でんわが きれました" + next "でんわを かけなおしてください" + next "くわしくは とりあつかい" + next "せつめいしょを ごらんください" + db "@" + +String_17fc3e: ; 17fc3e + db "ごりよう りょうきんの " + next "おしはらいが おくれたばあいには" + next "ごりようが できなくなります" + next "くわしくは とりあつかい" + next "せつめいしょを ごらんください" + db "@" + +String_17fc88: ; 17fc88 + db "おきゃくさまの ごつごうにより" + next "ごりようできません" + next "くわしくは とりあつかい" + next "せつめいしょを ごらんください" + db "@" + +String_17fcbf: ; 17fcbf + db "でんわかいせんが こんでいるか" + next "モバイルセンターの エラーで" + next "つうしんが できません" + next "しばらく まって" + next "かけなおして ください" + db "@" + +String_17fcff: ; 17fcff + db "ごりよう りょうきんが" + next "じょうげんを こえているため" + next "こんげつは ごりようできません" + next "くわしくは とりあつかい" + next "せつめいしょを ごらんください" + db "@" + +String_17fd47: ; 17fd47 + db "げんざい モバイルセンターの" + next "てんけんを しているので" + next "つうしんが できません" + next "しばらく まって" + next "かけなおして ください" + db "@" + +String_17fd84: ; 17fd84 + db "データの よみこみが できません" + next "くわしくは とりあつかい" + next "せつめいしょを ごらんください" + db "@" + + +String_17fdb2: ; 17fdb2 + db "3ぷん いじょう なにも" + next "にゅうりょく しなかったので" + next "でんわが きれました" + db "@" + +String_17fdd9: ; 17fdd9 + db "つうしんが うまく" + next "できませんでした" + next "もういちど はじめから" + next "やりなおしてください" + db "@" + +String_17fe03: ; 17fe03 + db "データの よみこみが できません" + next "しばらくまって" + next "かけなおして ください" + next "なおらない ときは" + next "モバイルサポートセンターへ" + next "おといあわせください" + db "@" + +String_17fe4b: ; 17fe4b + db "まちじかんが ながいので" + next "でんわが きれました" + db "@" + +String_17fe63: ; 17fe63 + db "あいての モバイルアダプタと" + next "タイプが ちがいます" + next "くわしくは とりあつかい" + next "せつめいしょを ごらんください" + db "@" + +String_17fe9a: ; 17fe9a ; unreferenced + db "ポケモンニュースが" + next "あたらしくなっているので" + next "レポートを おくれません" + next "あたらしい ポケモンニュースの" + next "よみこみを さきに してください" + db "@" + +String_17fedf: ; 17fedf + db "つうしんの じょうきょうが" + next "よくないか かけるあいてが" + next "まちがっています" + next "もういちど かくにんをして" + next "でんわを かけなおして ください" + db "@" +; 17ff23 + +Function17ff23: ; 17ff23 + ld a, [hJoyPressed] + and a + ret z + ld a, $8 + ld [MusicFade], a + ld a, [wMapMusic] + ld [MusicFadeID], a + xor a + ld [MusicFadeID + 1], a + ld hl, wc303 + set 7, [hl] + ret +; 17ff3c + +Function17ff3c: ; 17ff3c + nop + ld a, [wc300] + cp $d0 + ret c + hlcoord 10, 2 + ld de, String_17ff68 + call PlaceString + ld a, [wc300] + push af + sub $d0 + inc a + ld [wc300], a + hlcoord 14, 2 + ld de, wc300 + lb bc, PRINTNUM_LEADINGZEROS | 1, 3 + call PrintNum + pop af + ld [wc300], a + and a + ret +; 17ff68 + +String_17ff68: ; 17ff68 + db "101@" +; 17ff6c diff --git a/mobile/mobile_menu.asm b/mobile/mobile_menu.asm new file mode 100755 index 000000000..1bee0cced --- /dev/null +++ b/mobile/mobile_menu.asm @@ -0,0 +1,879 @@ +MainMenu_Mobile: ; 49efc + call ClearBGPalettes + ld a, MUSIC_MOBILE_ADAPTER_MENU + ld [wMapMusic], a + ld de, MUSIC_MOBILE_ADAPTER_MENU + call Function4a6c5 +Function49f0a: ; 49f0a + call ClearBGPalettes + call Function4a3a7 + call Function4a492 + call ClearBGPalettes +Function49f16: ; 49f16 + call MobileMenu_InitMenuBuffers + ld c, 12 + call DelayFrames + hlcoord 4, 0 + ld b, 10 + ld c, 10 + call Function48cdc + hlcoord 6, 2 + ld de, MobileString1 + call PlaceString + hlcoord 0, 12 + ld b, 4 + ld c, SCREEN_HEIGHT + call TextBox + xor a + ld de, String_0x49fe9 + hlcoord 1, 14 + call PlaceString + call WaitBGMap2 + call SetPalettes + call StaticMenuJoypad + ld hl, wMenuCursorY + ld b, [hl] + push bc + jr .check_buttons + +.joy_loop + call ScrollingMenuJoypad + ld hl, wMenuCursorY + ld b, [hl] + push bc + +.check_buttons + bit A_BUTTON_F, a + jr nz, .a_button + bit B_BUTTON_F, a + jr nz, .b_button + jr .next + +.a_button + ld hl, wMenuCursorY + ld a, [hl] + cp 1 + jp z, Function4a098 + cp 2 + jp z, Function4a0b9 + cp 3 + jp z, Function4a0c2 + cp 4 + jp z, Function4a100 + ld a, 1 + call MenuClickSound +.b_button + pop bc + call ClearBGPalettes + call ClearTileMap + ld a, MUSIC_MAIN_MENU + ld [wMapMusic], a + ld de, MUSIC_MAIN_MENU + call Function4a6c5 + ret + +.next + ld hl, wMenuCursorY + ld a, [hl] + dec a + ld hl, MobileStrings2 + call GetNthString + ld d, h + ld e, l + hlcoord 1, 13 + ld b, 4 + ld c, SCREEN_HEIGHT + call ClearBox + hlcoord 1, 14 + call PlaceString + jp .useless_jump + +.useless_jump + call MobileMenu_InitMenuBuffers + pop bc + ld hl, wMenuCursorY + ld [hl], b + ld b, $a + ld c, $1 + hlcoord 5, 1 + call ClearBox + jp .joy_loop +; 49fcc + + +MobileString1: ; 49fcc + db "めいしフ,ルダー" + next "あいさつ" + next "プロフィール" + next "せ", $1e, "い" + next "もどる" + db "@" +; 49fe9 + + +MobileStrings2: + +String_0x49fe9: ; 49fe9 + db "めいし¯つくったり" + next "ほぞんしておける フ,ルダーです@" +; 4a004 + +String_0x4a004: ; 4a004 + db "モバイルたいせんや じぶんのめいしで" + next "つかう あいさつ¯つくります@" +; 4a026 + +String_0x4a026: ; 4a026 + db "あなた%じゅうしょや ねんれいの" + next "せ", $1e, "い¯かえられます@" +; 4a042 + +String_0x4a042: ; 4a042 + db "モバイルセンター", $1d, "せつぞくするとき" + next "ひつような こと¯きめます@" +; 4a062 + +String_0x4a062: ; 4a062 + db "まえ%がめん ", $1d, "もどります" + next "@" +; 4a071 + +MobileMenu_InitMenuBuffers: ; 4a071 (12:6071) + ld hl, w2DMenuCursorInitY + ld a, 2 + ld [hli], a + ld a, 5 ; w2DMenuCursorInitX + ld [hli], a + ld a, 5 ; w2DMenuNumRows + ld [hli], a + ld a, 1 ; w2DMenuNumCols + ld [hli], a + ld [hl], $0 ; w2DMenuFlags1 + set 5, [hl] + inc hl + xor a ; w2DMenuFlags2 + ld [hli], a + ld a, $20 ; w2DMenuCursorOffsets + ld [hli], a + ; this is a stupid way to load $c3 + ld a, A_BUTTON + add D_UP + add D_DOWN + add B_BUTTON + ld [hli], a ; wMenuJoypadFilter + ld a, 1 + ld [hli], a ; wMenuCursorY, wMenuCursorX + ld [hli], a ; wMenuCursorY, wMenuCursorX + ret + +Function4a098: ; 4a098 (12:6098) + ld a, 2 + call MenuClickSound + call PlaceHollowCursor + call WaitBGMap + call LoadStandardMenuDataHeader + callba Function89de0 + call Call_ExitMenu + call MG_Mobile_Layout_LoadPals + call Function4a485 + pop bc + jp Function49f16 + +Function4a0b9: ; 4a0b9 (12:60b9) + ld a, 2 + call MenuClickSound + pop bc + jp Function4a4c4 + +Function4a0c2: ; 4a0c2 (12:60c2) + ld a, 2 + call MenuClickSound + ld a, BANK(sPlayerData) + call GetSRAMBank + ld hl, sPlayerData + PlayerName - wPlayerData + ld de, PlayerName + ld bc, 6 ; japanese name length + call CopyBytes + call CloseSRAM + callba _LoadData + ld c, 2 + call DelayFrames + ld c, $1 + call InitMobileProfile + push af + call ClearBGPalettes + pop af + and a + jr nz, .skip_save + callba _SaveData +.skip_save + ld c, 5 + call DelayFrames + jr asm_4a111 + +Function4a100: ; 4a100 (12:6100) + ld a, 2 + call MenuClickSound + call ClearBGPalettes + call Function4a13b + call ClearBGPalettes + call ClearTileMap + +asm_4a111: ; 4a111 (12:6111) + pop bc + call LoadFontsExtra + jp Function49f0a + +Function4a118: ; 4a118 (12:6118) + ld hl, w2DMenuCursorInitY + ld a, $1 + ld [hli], a + ld a, $d + ld [hli], a + ld a, $3 + ld [hli], a + ld a, $1 + ld [hli], a + ld [hl], $0 + set 5, [hl] + inc hl + xor a + ld [hli], a + ld a, $20 + ld [hli], a + ld a, $1 + add $2 + ld [hli], a + ld a, $1 + ld [hli], a + ld [hli], a + ret + +Function4a13b: ; 4a13b (12:613b) + call Function4a3a7 + call Function4a492 + call Function4a373 + ld c, 10 + call DelayFrames + +Function4a149: ; 4a149 (12:6149) + hlcoord 1, 2 + ld b, $6 + ld c, $10 + call Function48cdc + hlcoord 3, 4 + ld de, String_4a1ef + call PlaceString + hlcoord 0, 12 + ld b, $4 + ld c, $12 + call TextBox + ld a, [wMenuCursorY] + dec a + ld hl, Strings_4a23d + call GetNthString + ld d, h + ld e, l + hlcoord 1, 13 + ld b, $4 + ld c, $12 + call ClearBox + hlcoord 1, 14 + call PlaceString + callba Mobile_OpenAndCloseMenu_HDMATransferTileMapAndAttrMap + call SetPalettes + call StaticMenuJoypad + ld hl, wMenuCursorY + ld b, [hl] + push bc + jr asm_4a19d + +Function4a195: ; 4a195 (12:6195) + call ScrollingMenuJoypad + ld hl, wMenuCursorY + ld b, [hl] + push bc + +asm_4a19d: ; 4a19d (12:619d) + bit 0, a + jr nz, .asm_4a1a7 + bit 1, a + jr nz, .asm_4a1ba + jr .asm_4a1bc +.asm_4a1a7 + ld hl, wMenuCursorY + ld a, [hl] + cp $1 + jp z, Function4a20e + cp $2 + jp z, Function4a221 + ld a, $1 + call MenuClickSound +.asm_4a1ba + pop bc + ret +.asm_4a1bc + ld hl, wMenuCursorY + ld a, [hl] + dec a + ld hl, Strings_4a23d + call GetNthString + ld d, h + ld e, l + hlcoord 1, 13 + ld b, $4 + ld c, $12 + call ClearBox + hlcoord 1, 14 + call PlaceString + jr .asm_4a1db +.asm_4a1db + call Function4a373 + pop bc + ld hl, wMenuCursorY + ld [hl], b + lb bc, 6, 1 + hlcoord 2, 3 + call ClearBox + jp Function4a195 +; 4a1ef (12:61ef) + +String_4a1ef: ; 4a1ef + db "モバイルセンター¯えらぶ" + next "ログインパスワード¯いれる" + next "もどる@" +; 4a20e + +Function4a20e: ; 4a20e (12:620e) + ld a, $1 + call MenuClickSound + callba Function1719c8 + call ClearBGPalettes + call DelayFrame + jr Function4a239 + +Function4a221: ; 4a221 (12:6221) + ld a, $1 + call MenuClickSound + call Function4a28a + jr c, Function4a239 + call Function4a373 + ld a, $2 + ld [wMenuCursorY], a + jr .asm_4a235 +.asm_4a235 + pop bc + jp Function4a149 + +Function4a239: ; 4a239 (12:6239) + pop bc + jp Function4a13b +; 4a23d (12:623d) + +Strings_4a23d: ; 4a23d + db "いつも せつぞく¯する" + next "モバイルセンター¯えらびます@" + + db "モバイルセンター", $1d, "せつぞくするとき" + next "つかうパスワード¯ほぞんできます@" + + db "まえ%がめん ", $1d, "もどります@" + + db "@" +; 4a28a + +Function4a28a: ; 4a28a (12:628a) + hlcoord 2, 3 + lb bc, 6, 1 + ld a, " " + call Function4a6d8 + call PlaceHollowCursor + call WaitBGMap + call LoadStandardMenuDataHeader + ld a, $5 + call GetSRAMBank + ld a, [$aa4b] + call CloseSRAM + and a + jr z, .asm_4a2df + hlcoord 12, 0 + ld b, $5 + ld c, $6 + call Function48cdc + hlcoord 14, 1 + ld de, String_4a34b + call PlaceString + callba Mobile_OpenAndCloseMenu_HDMATransferTileMapAndAttrMap + call Function4a118 + call ScrollingMenuJoypad + push af + call PlayClickSFX + pop af + bit B_BUTTON_F, a + jr nz, .quit + ld a, [wMenuCursorY] + cp $2 + jr z, .DeleteLoginPassword + cp $3 + jr z, .quit +.asm_4a2df + callba Function11765d + call ClearBGPalettes + call Call_ExitMenu + call LoadFontsExtra + scf + ret + +.DeleteLoginPassword: + call PlaceHollowCursor + ld hl, UnknownText_0x4a358 + call PrintText + hlcoord 14, 7 + ld b, 3 + ld c, 4 + call TextBox + callba Mobile_OpenAndCloseMenu_HDMATransferTileMapAndAttrMap + ld hl, DeletePassword_YesNo_MenuDataHeader + call LoadMenuDataHeader + call VerticalMenu + bit B_BUTTON_F, a + jr nz, .dont_delete_password + ld a, [wMenuCursorY] + cp $2 + jr z, .dont_delete_password + ld a, BANK(sMobileLoginPassword) + call GetSRAMBank + ld hl, sMobileLoginPassword + xor a + ld bc, MOBILE_LOGIN_PASSWORD_LENGTH + call ByteFill + call CloseSRAM + ld hl, UnknownText_0x4a35d + call PrintText + call JoyWaitAorB +.dont_delete_password + call ExitMenu +.quit + call Call_ExitMenu + callba Mobile_OpenAndCloseMenu_HDMATransferTileMapAndAttrMap + xor a + ret +; 4a346 (12:6346) + +MenuDataHeader_0x4a346: ; 0x4a346 + db $40 ; flags + db 00, 12 ; start coords + db 06, 19 ; end coords + +String_4a34b: ; 4a34b + db "いれなおす" + next "けす" + next "もどる@" +; 4a358 + +UnknownText_0x4a358: ; 0x4a358 + ; Delete the saved LOG-IN PASSWORD? + text_jump UnknownText_0x1c5196 + db "@" +; 0x4a35d + +UnknownText_0x4a35d: ; 0x4a35d + ; Deleted the LOG-IN PASSWORD. + text_jump UnknownText_0x1c51b9 + db "@" +; 0x4a362 + +DeletePassword_YesNo_MenuDataHeader: ; 0x4a362 + db $40 ; flags + db 07, 14 ; start coords + db 11, 19 ; end coords + dw MenuData2_0x4a36a + db 2 ; default option +; 0x4a36a + +MenuData2_0x4a36a: ; 0x4a36a + db $e0 ; flags + db 2 ; items + db "はい@" + db "いいえ@" +; 0x4a373 + +Function4a373: ; 4a373 (12:6373) + ld hl, w2DMenuCursorInitY + ld a, $4 + ld [hli], a + ld a, $2 + ld [hli], a + ld a, $3 + ld [hli], a + ld a, $1 + ld [hli], a + ld [hl], $0 + set 5, [hl] + inc hl + xor a + ld [hli], a + ld a, $20 + ld [hli], a + ld a, $1 + add $40 + add $80 + add $2 + ld [hli], a + ld a, $1 + ld [hli], a + ld [hli], a + ret +; 4a39a (12:639a) + +Function4a39a: ; 4a39a + call Function4a485 + call Function4a492 + call Function4a3aa + call SetPalettes + ret +; 4a3a7 + +Function4a3a7: ; 4a3a7 (12:63a7) + call Function4a485 +Function4a3aa: ; 4a3aa + hlcoord 0, 0 + lb bc, 3, 1 + xor a + call Function4a6d8 + lb bc, 1, 1 + ld a, $1 + call Function4a6d8 + lb bc, 1, 1 + xor a + call Function4a6d8 + lb bc, 1, 1 + ld a, $1 + call Function4a6d8 + lb bc, 4, 1 + ld a, $2 + call Function4a6d8 + lb bc, 1, 1 + ld a, $3 + call Function4a6d8 + lb bc, 1, 1 + ld a, " " + call Function4a6d8 + hlcoord 1, 0 + ld a, $1 + lb bc, 3, 18 + call Function4a6d8 + lb bc, 1, 18 + ld a, $0 + call Function4a6d8 + lb bc, 1, 18 + ld a, $1 + call Function4a6d8 + lb bc, 1, 18 + ld a, $2 + call Function4a6d8 + lb bc, 11, 18 + ld a, " " + call Function4a6d8 + hlcoord 19, 0 + lb bc, 3, 1 + ld a, $0 + call Function4a6d8 + lb bc, 1, 1 + ld a, $1 + call Function4a6d8 + lb bc, 1, 1 + xor a + call Function4a6d8 + lb bc, 1, 1 + ld a, $1 + call Function4a6d8 + lb bc, 4, 1 + ld a, $2 + call Function4a6d8 + lb bc, 1, 1 + ld a, $3 + call Function4a6d8 + lb bc, 1, 1 + ld a, " " + call Function4a6d8 + ret +; 4a449 (12:6449) + +Function4a449: ; 4a449 + ld bc, 3 * SCREEN_WIDTH + ld a, $0 + hlcoord 0, 0 + call ByteFill + ld bc, 2 * SCREEN_WIDTH + ld a, $1 + call ByteFill + ld bc, 2 * SCREEN_WIDTH + ld a, $0 + call ByteFill + ld bc, 2 * SCREEN_WIDTH + ld a, $1 + call ByteFill + ld bc, SCREEN_WIDTH + ld a, $2 + call ByteFill + ld bc, SCREEN_WIDTH + ld a, $3 + call ByteFill + ld bc, SCREEN_WIDTH + ld a, " " + call ByteFill + ret +; 4a485 + +Function4a485: ; 4a485 (12:6485) + ld de, GFX_49c0c + ld hl, VTiles2 tile $00 + lb bc, BANK(GFX_49c0c), 13 + call Get2bpp + ret + +Function4a492: ; 4a492 (12:6492) + call MG_Mobile_Layout00 + ret + + +MainMenu_MobileStudium: ; 4a496 + ld a, [StartDay] + ld b, a + ld a, [StartHour] + ld c, a + ld a, [StartMinute] + ld d, a + ld a, [StartSecond] + ld e, a + push bc + push de + callba MobileStudium + call ClearBGPalettes + pop de + pop bc + ld a, b + ld [StartDay], a + ld a, c + ld [StartHour], a + ld a, d + ld [StartMinute], a + ld a, e + ld [StartSecond], a + ret +; 4a4c4 + + +Function4a4c4: ; 4a4c4 (12:64c4) + call ClearBGPalettes + call Function4a3a7 + call Function4a492 + call Function4a680 + call ClearBGPalettes + ld c, 20 + call DelayFrames + hlcoord 2, 0 + ld b, $a + ld c, $e + call Function48cdc + hlcoord 4, 2 + ld de, String_4a5c5 + call PlaceString + hlcoord 4, 4 + ld de, String_4a5cd + call PlaceString + hlcoord 4, 6 + ld de, String_4a5da + call PlaceString + hlcoord 4, 8 + ld de, String_4a5e6 + call PlaceString + hlcoord 4, 10 + ld de, String_4a5f2 + call PlaceString + hlcoord 0, 12 + ld b, $4 + ld c, $12 + call TextBox + xor a + ld hl, Strings_4a5f6 + ld d, h + ld e, l + hlcoord 1, 14 + call PlaceString + ld a, $1 + ld hl, Strings_4a5f6 + call GetNthString + ld d, h + ld e, l + hlcoord 1, 16 + call PlaceString + call WaitBGMap2 + call SetPalettes + call StaticMenuJoypad + ld hl, wMenuCursorY + ld b, [hl] + push bc + jr asm_4a54d + +Function4a545: ; 4a545 (12:6545) + call ScrollingMenuJoypad + ld hl, wMenuCursorY + ld b, [hl] + push bc + +asm_4a54d: ; 4a54d (12:654d) + bit 0, a + jr nz, .asm_4a557 + bit 1, a + jr nz, .asm_4a574 + jr .asm_4a57e +.asm_4a557 + ld hl, wMenuCursorY + ld a, [hl] + cp $1 + jp z, Function4a6ab + cp $2 + jp z, Function4a6ab + cp $3 + jp z, Function4a6ab + cp $4 + jp z, Function4a6ab + ld a, $1 + call MenuClickSound +.asm_4a574 + pop bc + call ClearBGPalettes + call ClearTileMap + jp Function49f0a +.asm_4a57e + ld hl, wMenuCursorY + ld a, [hl] + dec a + add a + push af + ld hl, Strings_4a5f6 + call GetNthString + ld d, h + ld e, l + hlcoord 1, 13 + ld b, $4 + ld c, $12 + call ClearBox + hlcoord 1, 14 + call PlaceString + pop af + inc a + ld hl, Strings_4a5f6 + call GetNthString + ld d, h + ld e, l + hlcoord 1, 16 + call PlaceString + jp Function4a5b0 + +Function4a5b0: ; 4a5b0 (12:65b0) + call Function4a680 + pop bc + ld hl, wMenuCursorY + ld [hl], b + ld b, $a + ld c, $1 + hlcoord 3, 1 + call ClearBox + jp Function4a545 +; 4a5c5 (12:65c5) + +String_4a5c5: ; 4a5c5 + db "じこしょうかい@" +String_4a5cd: ; 4a5cd + db "たいせん ", $4a, "はじまるとき@" +String_4a5da: ; 4a5da + db "たいせん ", $1d, "かったとき@" +String_4a5e6: ; 4a5e6 + db "たいせん ", $1d, "まけたとき@" +String_4a5f2: ; 4a5f2 + db "もどる@" +; 4a5f6 + +Strings_4a5f6: ; 4a5f6 + db "めいし や ニュース ", $1d, "のせる@" + db "あなた%あいさつです@" + db "モバイル たいせん", $4a, "はじまるとき@" + db "あいて", $1d, "みえる あいさつです@" + db "モバイル たいせんで かったとき@" + db "あいて", $1d, "みえる あいさつです@" + db "モバイル たいせんで まけたとき@" + db "あいて", $1d, "みえる あいさつです@" + db "まえ%がめん ", $1d, "もどります@" + db "@" +; 4a680 + +Function4a680: ; 4a680 (12:6680) + ld hl, w2DMenuCursorInitY + ld a, $2 + ld [hli], a + ld a, $3 + ld [hli], a + ld a, $5 + ld [hli], a + ld a, $1 + ld [hli], a + ld [hl], $0 + set 5, [hl] + inc hl + xor a + ld [hli], a + ld a, $20 + ld [hli], a + ld a, $1 + add $40 + add $80 + add $2 + ld [hli], a + ld a, $1 + ld [hli], a + ld [hli], a + xor a + ld [hli], a + ld [hli], a + ld [hli], a + ret + +Function4a6ab: ; 4a6ab (12:66ab) + ld a, $2 + call MenuClickSound + call ClearBGPalettes + ld b, SCGB_DIPLOMA + call GetSGBLayout + callba Function11c1ab + pop bc + call LoadFontsExtra + jp Function4a4c4 + +Function4a6c5: ; 4a6c5 (12:66c5) + ld a, $5 + ld [MusicFade], a + ld a, e + ld [MusicFadeID], a + ld a, d + ld [MusicFadeID + 1], a + ld c, 22 + call DelayFrames + ret + +Function4a6d8: ; 4a6d8 (12:66d8) + push bc + push hl +.asm_4a6da + ld [hli], a + dec c + jr nz, .asm_4a6da + pop hl + ld bc, SCREEN_WIDTH + add hl, bc + pop bc + dec b + jr nz, Function4a6d8 + ret -- cgit v1.2.3 From dc76bf804f86f884933e9d5a8820e3122b2771ae Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Fri, 15 Dec 2017 13:21:47 -0500 Subject: Move all misc/ and unknown/ files to meaningful directories --- Makefile | 5 +- constants/battle_tower_constants.asm | 2 +- data/battle_tower.asm | 2 +- gfx/font.asm | 2 +- gfx/font/overworld_phone_icon.png | Bin 0 -> 82 bytes gfx/mobile/overworld_phone_icon.png | Bin 82 -> 0 bytes gfx/unknown/egg_animated.2bpp.lz.3eaf004f | Bin 676 -> 0 bytes gfx/unknown/egg_animated.png | Bin 692 -> 0 bytes gfx/unknown/egg_animated_nonmatching.png | Bin 1422 -> 0 bytes gfx/unknown/electro_ball.2bpp.lz.3eaf004f | Bin 0 -> 676 bytes gfx/unknown/electro_ball.png | Bin 0 -> 692 bytes gfx/unknown/electro_ball_nonmatching.png | Bin 0 -> 1422 bytes macros/charmap.asm | 8 +- main.asm | 285 ++++- misc/battle_tower_47.asm | 784 ------------- misc/battle_tower_5c.asm | 1772 ----------------------------- misc/crystal_misc.asm | 931 --------------- misc/stadium2_1.bin | Bin 544 -> 0 bytes misc/stadium2_2.bin | Bin 544 -> 0 bytes mobile/battle_tower_47.asm | 784 +++++++++++++ mobile/battle_tower_5c.asm | 1772 +++++++++++++++++++++++++++++ mobile/mobile_5c.asm | 2 +- mobile/mobile_5e.asm | 929 +++++++++++++++ mobile/news/news.asm | 44 + mobile/news/news_1.bin | Bin 0 -> 3494 bytes mobile/news/news_2.bin | Bin 0 -> 4044 bytes mobile/news/news_3.bin | Bin 0 -> 1462 bytes mobile/stadium/stadium2_1.bin | Bin 0 -> 544 bytes mobile/stadium/stadium2_2.bin | Bin 0 -> 544 bytes pokecrystal.link | 4 +- unknown/013a47.asm | 229 ---- unknown/1f4018.bin | Bin 3494 -> 0 bytes unknown/1f4dd3.bin | Bin 4044 -> 0 bytes unknown/1f5db4.bin | Bin 1462 -> 0 bytes 34 files changed, 3778 insertions(+), 3777 deletions(-) create mode 100644 gfx/font/overworld_phone_icon.png delete mode 100644 gfx/mobile/overworld_phone_icon.png delete mode 100644 gfx/unknown/egg_animated.2bpp.lz.3eaf004f delete mode 100644 gfx/unknown/egg_animated.png delete mode 100755 gfx/unknown/egg_animated_nonmatching.png create mode 100644 gfx/unknown/electro_ball.2bpp.lz.3eaf004f create mode 100644 gfx/unknown/electro_ball.png create mode 100755 gfx/unknown/electro_ball_nonmatching.png delete mode 100755 misc/battle_tower_47.asm delete mode 100755 misc/battle_tower_5c.asm delete mode 100644 misc/crystal_misc.asm delete mode 100644 misc/stadium2_1.bin delete mode 100644 misc/stadium2_2.bin create mode 100755 mobile/battle_tower_47.asm create mode 100755 mobile/battle_tower_5c.asm create mode 100644 mobile/mobile_5e.asm create mode 100644 mobile/news/news.asm create mode 100644 mobile/news/news_1.bin create mode 100644 mobile/news/news_2.bin create mode 100644 mobile/news/news_3.bin create mode 100644 mobile/stadium/stadium2_1.bin create mode 100644 mobile/stadium/stadium2_2.bin delete mode 100755 unknown/013a47.asm delete mode 100644 unknown/1f4018.bin delete mode 100644 unknown/1f4dd3.bin delete mode 100644 unknown/1f5db4.bin diff --git a/Makefile b/Makefile index 8d4aa7900..63d1177e8 100644 --- a/Makefile +++ b/Makefile @@ -28,7 +28,6 @@ engine/credits.o \ data/pokemon/egg_moves.o \ data/pokemon/evos_attacks.o \ data/pokemon/dex_entries.o \ -misc/crystal_misc.o \ text/common_text.o \ gfx/pics.o @@ -202,8 +201,8 @@ gfx/pokegear/pokegear_sprites.2bpp: tools/gfx += --trim-whitespace gfx/unknown/ascii_font.2bpp: tools/gfx += --trim-whitespace gfx/unknown/bold_font.1bpp: tools/gfx += --trim-whitespace -gfx/unknown/egg_animated.2bpp: tools/gfx += --trim-whitespace -gfx/unknown/egg_animated_nonmatching.2bpp: tools/gfx += --remove-duplicates --remove-xflip +gfx/unknown/electro_ball.2bpp: tools/gfx += --trim-whitespace +gfx/unknown/electro_ball_nonmatching.2bpp: tools/gfx += --remove-duplicates --remove-xflip gfx/unknown/mobile_splash.2bpp: tools/gfx += --remove-duplicates --remove-xflip gfx/unknown/pichu_animated.2bpp: tools/gfx += --trim-whitespace gfx/unknown/unknown_egg.2bpp: rgbgfx += -h diff --git a/constants/battle_tower_constants.asm b/constants/battle_tower_constants.asm index 5ab69d752..0436e4e22 100755 --- a/constants/battle_tower_constants.asm +++ b/constants/battle_tower_constants.asm @@ -1,4 +1,4 @@ -; BattleTowerAction arguments (see misc/battle_tower_5c.asm) +; BattleTowerAction arguments (see mobile/battle_tower_5c.asm) const_def const BATTLETOWERACTION_CHECK_EXPLANATION_READ const BATTLETOWERACTION_SET_EXPLANATION_READ diff --git a/data/battle_tower.asm b/data/battle_tower.asm index 2c78ffb82..d2e07fac3 100644 --- a/data/battle_tower.asm +++ b/data/battle_tower.asm @@ -1,7 +1,7 @@ BattleTowerTrainers: ; 1f814e ; The trainer class is not used in Crystal 1.0 due to a bug. ; Instead, the sixth character in the trainer's name is used. -; See misc/battle_tower_47.asm +; See mobile/battle_tower_47.asm db "HANSON@@@@", FISHER db "SAWYER@@@@", POKEMANIAC db "MASUDA@@@@", GUITARIST diff --git a/gfx/font.asm b/gfx/font.asm index f2efefd37..8d17722f4 100755 --- a/gfx/font.asm +++ b/gfx/font.asm @@ -55,7 +55,7 @@ INCBIN "gfx/font/weekday_kanji.2bpp" ; f8f24 OverworldPhoneIconGFX: ; f8f24 -INCBIN "gfx/mobile/overworld_phone_icon.2bpp" +INCBIN "gfx/font/overworld_phone_icon.2bpp" ; f8f34 GFX_f8f34: ; unused bold letters + unown chars diff --git a/gfx/font/overworld_phone_icon.png b/gfx/font/overworld_phone_icon.png new file mode 100644 index 000000000..9e13a121b Binary files /dev/null and b/gfx/font/overworld_phone_icon.png differ diff --git a/gfx/mobile/overworld_phone_icon.png b/gfx/mobile/overworld_phone_icon.png deleted file mode 100644 index 9e13a121b..000000000 Binary files a/gfx/mobile/overworld_phone_icon.png and /dev/null differ diff --git a/gfx/unknown/egg_animated.2bpp.lz.3eaf004f b/gfx/unknown/egg_animated.2bpp.lz.3eaf004f deleted file mode 100644 index b4fabff15..000000000 Binary files a/gfx/unknown/egg_animated.2bpp.lz.3eaf004f and /dev/null differ diff --git a/gfx/unknown/egg_animated.png b/gfx/unknown/egg_animated.png deleted file mode 100644 index 3e1c0bb46..000000000 Binary files a/gfx/unknown/egg_animated.png and /dev/null differ diff --git a/gfx/unknown/egg_animated_nonmatching.png b/gfx/unknown/egg_animated_nonmatching.png deleted file mode 100755 index 44ea166ef..000000000 Binary files a/gfx/unknown/egg_animated_nonmatching.png and /dev/null differ diff --git a/gfx/unknown/electro_ball.2bpp.lz.3eaf004f b/gfx/unknown/electro_ball.2bpp.lz.3eaf004f new file mode 100644 index 000000000..b4fabff15 Binary files /dev/null and b/gfx/unknown/electro_ball.2bpp.lz.3eaf004f differ diff --git a/gfx/unknown/electro_ball.png b/gfx/unknown/electro_ball.png new file mode 100644 index 000000000..3e1c0bb46 Binary files /dev/null and b/gfx/unknown/electro_ball.png differ diff --git a/gfx/unknown/electro_ball_nonmatching.png b/gfx/unknown/electro_ball_nonmatching.png new file mode 100755 index 000000000..44ea166ef Binary files /dev/null and b/gfx/unknown/electro_ball_nonmatching.png differ diff --git a/macros/charmap.asm b/macros/charmap.asm index deb0aa2c0..fd2d371fd 100644 --- a/macros/charmap.asm +++ b/macros/charmap.asm @@ -32,7 +32,7 @@ charmap "", $5e ; "ROCKET" charmap "", $5f -; Actual characters (from gfx/misc/font_extra.png) +; Actual characters (from gfx/font/font_extra.png) charmap "", $60 ; unused charmap "", $61 ; unused @@ -68,7 +68,7 @@ charmap "┘", $7e charmap " ", $7f -; Actual characters (from gfx/misc/font_battle_extra.png) +; Actual characters (from gfx/font/font_battle_extra.png) charmap "", $6e @@ -86,13 +86,13 @@ charmap "", $60 ; from gfx/mobile/phone_tiles.2bpp charmap "▲", $61 ; gfx/font/up_arrow.png - charmap "", $62 ; gfx/mobile/overworld_phone_icon.2bpp + charmap "", $62 ; gfx/font/overworld_phone_icon.2bpp charmap "_", $62 ; from gfx/battle/hp_exp_bar_border.1bpp charmap "′", $6e ; gfx/font/feet_inches.png charmap "″", $6f ; gfx/font/feet_inches.png -; Actual characters (from gfx/misc/font.png) +; Actual characters (from gfx/font/font.png) charmap "A", $80 charmap "B", $81 diff --git a/main.asm b/main.asm index 629e34968..aecfde835 100644 --- a/main.asm +++ b/main.asm @@ -563,7 +563,235 @@ ApplyPokerusTick: ; 13988 INCLUDE "event/bug_contest_2.asm" -INCLUDE "unknown/013a47.asm" +CorrectErrorsInPlayerParty: ; unreferenced + ld hl, PartyCount + ld a, [hl] + and a + ret z + + cp PARTY_LENGTH + 1 + jr c, .party_length_okay + ld a, PARTY_LENGTH + ld [hl], a +.party_length_okay + inc hl + + ld b, a + ld c, 0 +.loop1 + ld a, [hl] + and a + jr z, .invalid_species + cp NUM_POKEMON + 1 + jr z, .invalid_species + cp EGG + 1 + jr c, .next_species + +.invalid_species + ld [hl], SMEARGLE + push hl + push bc + ld a, c + ld hl, PartyMon1Species + call GetPartyLocation + ld [hl], SMEARGLE + pop bc + pop hl + +.next_species + inc hl + inc c + dec b + jr nz, .loop1 + ld [hl], $ff + + ld hl, PartyMon1 + ld a, [PartyCount] + ld d, a + ld e, 0 +.loop2 + push de + push hl + ld b, h + ld c, l + ld a, [hl] + and a + jr z, .invalid_species_2 + cp NUM_POKEMON + 1 + jr c, .check_level + +.invalid_species_2 + ld [hl], SMEARGLE + push de + ld d, 0 + ld hl, PartySpecies + add hl, de + pop de + ld a, SMEARGLE + ld [hl], a + +.check_level + ld [CurSpecies], a + call GetBaseData + ld hl, MON_LEVEL + add hl, bc + ld a, [hl] + cp MIN_LEVEL + ld a, MIN_LEVEL + jr c, .invalid_level + ld a, [hl] + cp MAX_LEVEL + jr c, .load_level + ld a, MAX_LEVEL +.invalid_level + ld [hl], a +.load_level + ld [CurPartyLevel], a + + ld hl, MON_MAXHP + add hl, bc + ld d, h + ld e, l + ld hl, MON_STAT_EXP - 1 + add hl, bc + ld b, $1 + predef CalcPkmnStats + pop hl + ld bc, PARTYMON_STRUCT_LENGTH + add hl, bc + pop de + inc e + dec d + jr nz, .loop2 + + ld de, PartyMonNicknames + ld a, [PartyCount] + ld b, a + ld c, 0 +.loop3 + push bc + call .GetLengthOfStringWith6CharCap + push de + callba CheckStringForErrors + pop hl + pop bc + jr nc, .valid_nickname + + push bc + push hl + ld hl, PartySpecies + push bc + ld b, 0 + add hl, bc + pop bc + ld a, [hl] + cp EGG + ld hl, .TAMAGO + jr z, .got_nickname + ld [wd265], a + call GetPokemonName + ld hl, StringBuffer1 +.got_nickname + pop de + ld bc, PKMN_NAME_LENGTH + call CopyBytes + pop bc + +.valid_nickname + inc c + dec b + jr nz, .loop3 + + ld de, PartyMonOT + ld a, [PartyCount] + ld b, a + ld c, 0 +.loop4 + push bc + call .GetLengthOfStringWith6CharCap + push de + callba CheckStringForErrors + pop hl + jr nc, .valid_ot_name + ld d, h + ld e, l + ld hl, PlayerName + ld bc, NAME_LENGTH + call CopyBytes +.valid_ot_name + pop bc + inc c + dec b + jr nz, .loop4 + + ld hl, PartyMon1Moves + ld a, [PartyCount] + ld b, a +.loop5 + push hl + ld c, NUM_MOVES + ld a, [hl] + and a + jr z, .invalid_move + cp NUM_ATTACKS + 1 + jr c, .moves_loop +.invalid_move + ld [hl], POUND + +.moves_loop + ld a, [hl] + and a + jr z, .fill_invalid_moves + cp NUM_ATTACKS + 1 + jr c, .next_move + +.fill_invalid_moves + xor a + ld [hli], a + dec c + jr nz, .fill_invalid_moves + jr .next_pokemon + +.next_move + inc hl + dec c + jr nz, .moves_loop + +.next_pokemon + pop hl + push bc + ld bc, PARTYMON_STRUCT_LENGTH + add hl, bc + pop bc + dec b + jr nz, .loop5 + ret +; 13b6b + +.TAMAGO: ; 13b6b + db "タマゴ@@@" +; 13b71 + +.GetLengthOfStringWith6CharCap: ; 13b71 + push de + ld c, 1 + ld b, NAME_LENGTH_JAPANESE +.search_loop + ld a, [de] + cp "@" + jr z, .done + inc de + inc c + dec b + jr nz, .search_loop + dec c + dec de + ld a, "@" + ld [de], a +.done + pop de + ret +; 13b87 GetSquareRoot: ; 13b87 ; Return the square root of de in b. @@ -5139,7 +5367,7 @@ INCLUDE "mobile/mobile_46.asm" SECTION "battle_tower_47", ROMX -INCLUDE "misc/battle_tower_47.asm" +INCLUDE "mobile/battle_tower_47.asm" SECTION "bank5B", ROMX @@ -5170,6 +5398,8 @@ _UpdateBattleHUDs: callba FinishBattleAnim ret +INCLUDE "mobile/mobile_5e.asm" + INCLUDE "mobile/mobile_5f.asm" @@ -5655,50 +5885,9 @@ SECTION "Battle Tower Trainer Data", ROMX INCLUDE "data/battle_tower_2.asm" -SECTION "bank7D", ROMX - - db $cc, $6b, $1e ; XXX - -Function1f4003: ; 1f4003 -; XXX - ld a, $6 - call GetSRAMBank - ld hl, .unknown_data - ld de, $a000 - ld bc, $1000 - call CopyBytes - call CloseSRAM - ret - -.unknown_data -INCBIN "unknown/1f4018.bin" - -Function1f4dbe: ; 1f4dbe -; XXX - ld a, $6 - call GetSRAMBank - ld hl, .unknown_data - ld de, $a000 - ld bc, $1000 - call CopyBytes - call CloseSRAM - ret - -.unknown_data -INCBIN "unknown/1f4dd3.bin" - -Function1f5d9f: ; 1f5d9f - ld a, $6 - call GetSRAMBank - ld hl, .unknown_data - ld de, $a000 - ld bc, $1000 - call CopyBytes - call CloseSRAM - ret +SECTION "Mobile News Data", ROMX -.unknown_data -INCBIN "unknown/1f5db4.bin" +INCLUDE "mobile/news/news.asm" SECTION "bank7E", ROMX @@ -5710,10 +5899,10 @@ INCLUDE "engine/odd_eggs.asm" SECTION "bank7F", ROMX -SECTION "stadium2", ROMX +SECTION "Mobile Stadium 2", ROMX IF DEF(CRYSTAL11) -INCBIN "misc/stadium2_2.bin" +INCBIN "mobile/stadium/stadium2_2.bin" ELSE -INCBIN "misc/stadium2_1.bin" +INCBIN "mobile/stadium/stadium2_1.bin" ENDC diff --git a/misc/battle_tower_47.asm b/misc/battle_tower_47.asm deleted file mode 100755 index d0ca6edd8..000000000 --- a/misc/battle_tower_47.asm +++ /dev/null @@ -1,784 +0,0 @@ -BattleTowerText:: ; 11c000 -; Print text c for trainer [BT_OTTrainerClass] -; 1: Intro text -; 2: Player lost -; 3: Player won - ld a, [rSVBK] - push af - ld a, 3 ; BANK(BT_OTTrainerClass) - ld [rSVBK], a -IF DEF(CRYSTAL11) - ld hl, BT_OTTrainerClass -ELSE - ld hl, BT_OTName + 5 -; BUG ALERT -; Instead of loading the Trainer Class, this routine -; loads the 6th character in the Trainer's name, then -; uses it to get the gender of the trainer. -; As a consequence, the enemy trainer's dialog will -; always be sampled from the female array. -ENDC - ld a, [hl] - dec a - ld e, a - ld d, 0 - ld hl, BTTrainerClassGenders - add hl, de - ld a, [hl] - and a - jr nz, .female - ; generate a random number between 0 and 24 - ld a, [hRandomAdd] - and $1f - cp 25 - jr c, .okay0 - sub 25 - -.okay0 - ld hl, BTMaleTrainerTexts - jr .proceed - -.female - ; generate a random number between 0 and 14 - ld a, [hRandomAdd] - and $f - cp 15 - jr c, .okay1 - sub 15 - -.okay1 - ld hl, BTFemaleTrainerTexts - -.proceed - ld b, 0 - dec c - jr nz, .restore - ld [BT_TrainerTextIndex], a - jr .okay2 - -.restore - ld a, [BT_TrainerTextIndex] - -.okay2 - push af - add hl, bc - add hl, bc - ld a, [hli] - ld c, a - ld a, [hl] - ld h, a - ld l, c - pop af - ld c, a - ld b, 0 - add hl, bc - add hl, bc - ld a, [hli] - ld c, a - ld a, [hl] - ld l, c - ld h, a - bccoord 1, 14 - pop af - ld [rSVBK], a - call PlaceHLTextAtBC - ret -; 11c05d - -INCLUDE "mobile/fixed_words.asm" - -BTTrainerClassGenders: ; 11f2f0 - db MALE ; FALKNER - db FEMALE ; WHITNEY - db FEMALE ; BUGSY - db MALE ; MORTY - db MALE ; PRYCE - db FEMALE ; JASMINE - db MALE ; CHUCK - db FEMALE ; CLAIR - db MALE ; RIVAL1 - db MALE ; POKEMON_PROF - db FEMALE ; WILL - db MALE ; CAL - db MALE ; BRUNO - db FEMALE ; KAREN - db MALE ; KOGA - db MALE ; CHAMPION - db MALE ; BROCK - db FEMALE ; MISTY - db MALE ; LT_SURGE - db MALE ; SCIENTIST - db FEMALE ; ERIKA - db MALE ; YOUNGSTER - db MALE ; SCHOOLBOY - db MALE ; BIRD_KEEPER - db FEMALE ; LASS - db FEMALE ; JANINE - db MALE ; COOLTRAINERM - db FEMALE ; COOLTRAINERF - db FEMALE ; BEAUTY - db MALE ; POKEMANIAC - db MALE ; GRUNTM - db MALE ; GENTLEMAN - db FEMALE ; SKIER - db FEMALE ; TEACHER - db FEMALE ; SABRINA - db MALE ; BUG_CATCHER - db MALE ; FISHER - db MALE ; SWIMMERM - db FEMALE ; SWIMMERF - db MALE ; SAILOR - db MALE ; SUPER_NERD - db MALE ; RIVAL2 - db MALE ; GUITARIST - db MALE ; HIKER - db MALE ; BIKER - db MALE ; BLAINE - db MALE ; BURGLAR - db MALE ; FIREBREATHER - db MALE ; JUGGLER - db MALE ; BLACKBELT_T - db MALE ; EXECUTIVEM - db MALE ; PSYCHIC_T - db FEMALE ; PICNICKER - db MALE ; CAMPER - db FEMALE ; EXECUTIVEF - db MALE ; SAGE - db FEMALE ; MEDIUM - db MALE ; BOARDER - db MALE ; POKEFANM - db FEMALE ; KIMONO_GIRL - db FEMALE ; TWINS - db FEMALE ; POKEFANF - db MALE ; RED - db MALE ; BLUE - db MALE ; OFFICER - db FEMALE ; GRUNTF - - -BTMaleTrainerTexts: ; 11f332 - dw .Greetings - dw .PlayerLost - dw .PlayerWon - -.Greetings: ; 11f338 - dw BTGreetingM1 - dw BTGreetingM2 - dw BTGreetingM3 - dw BTGreetingM4 - dw BTGreetingM5 - dw BTGreetingM6 - dw BTGreetingM7 - dw BTGreetingM8 - dw BTGreetingM9 - dw BTGreetingM10 - dw BTGreetingM11 - dw BTGreetingM12 - dw BTGreetingM13 - dw BTGreetingM14 - dw BTGreetingM15 - dw BTGreetingM16 - dw BTGreetingM17 - dw BTGreetingM18 - dw BTGreetingM19 - dw BTGreetingM20 - dw BTGreetingM21 - dw BTGreetingM22 - dw BTGreetingM23 - dw BTGreetingM24 - dw BTGreetingM25 - -.PlayerLost: ; 11f36a - dw BTLossM1 - dw BTLossM2 - dw BTLossM3 - dw BTLossM4 - dw BTLossM5 - dw BTLossM6 - dw BTLossM7 - dw BTLossM8 - dw BTLossM9 - dw BTLossM10 - dw BTLossM11 - dw BTLossM12 - dw BTLossM13 - dw BTLossM14 - dw BTLossM15 - dw BTLossM16 - dw BTLossM17 - dw BTLossM18 - dw BTLossM19 - dw BTLossM20 - dw BTLossM21 - dw BTLossM22 - dw BTLossM23 - dw BTLossM24 - dw BTLossM25 - -.PlayerWon: ; 11f39c - dw BTWinM1 - dw BTWinM2 - dw BTWinM3 - dw BTWinM4 - dw BTWinM5 - dw BTWinM6 - dw BTWinM7 - dw BTWinM8 - dw BTWinM9 - dw BTWinM10 - dw BTWinM11 - dw BTWinM12 - dw BTWinM13 - dw BTWinM14 - dw BTWinM15 - dw BTWinM16 - dw BTWinM17 - dw BTWinM18 - dw BTWinM19 - dw BTWinM20 - dw BTWinM21 - dw BTWinM22 - dw BTWinM23 - dw BTWinM24 - dw BTWinM25 - - -BTFemaleTrainerTexts: - dw .Greetings - dw .PlayerLost - dw .PlayerWon - -.Greetings: ; 11f3d4 - dw BTGreetingF1 - dw BTGreetingF2 - dw BTGreetingF3 - dw BTGreetingF4 - dw BTGreetingF5 - dw BTGreetingF6 - dw BTGreetingF7 - dw BTGreetingF8 - dw BTGreetingF9 - dw BTGreetingF10 - dw BTGreetingF11 - dw BTGreetingF12 - dw BTGreetingF13 - dw BTGreetingF14 - dw BTGreetingF15 - -.PlayerLost: ; 11f3f2 - dw BTLossF1 - dw BTLossF2 - dw BTLossF3 - dw BTLossF4 - dw BTLossF5 - dw BTLossF6 - dw BTLossF7 - dw BTLossF8 - dw BTLossF9 - dw BTLossF10 - dw BTLossF11 - dw BTLossF12 - dw BTLossF13 - dw BTLossF14 - dw BTLossF15 - -.PlayerWon: ; 11f410 - dw BTWinF1 - dw BTWinF2 - dw BTWinF3 - dw BTWinF4 - dw BTWinF5 - dw BTWinF6 - dw BTWinF7 - dw BTWinF8 - dw BTWinF9 - dw BTWinF10 - dw BTWinF11 - dw BTWinF12 - dw BTWinF13 - dw BTWinF14 - dw BTWinF15 - - -BTGreetingM1: ; 0x11f42e - text_jump BattleTowerText_0x1ec000 - db "@" - -BTLossM1: ; 0x11f433 - text_jump BattleTowerText_0x1ec03b - db "@" - -BTWinM1: ; 0x11f438 - text_jump UnknownText_0x1ec060 - db "@" - -BTGreetingM2: ; 0x11f43d - text_jump BattleTowerText_0x1ec080 - db "@" - -BTLossM2: ; 0x11f442 - text_jump UnknownText_0x1ec0a3 - db "@" - -BTWinM2: ; 0x11f447 - text_jump UnknownText_0x1ec0c4 - db "@" - -BTGreetingM3: ; 0x11f44c - text_jump UnknownText_0x1ec0e1 - db "@" - -BTLossM3: ; 0x11f451 - text_jump UnknownText_0x1ec108 - db "@" - -BTWinM3: ; 0x11f456 - text_jump UnknownText_0x1ec12a - db "@" - -BTGreetingM4: ; 0x11f45b - text_jump UnknownText_0x1ec14d - db "@" - -BTLossM4: ; 0x11f460 - text_jump UnknownText_0x1ec16f - db "@" - -BTWinM4: ; 0x11f465 - text_jump UnknownText_0x1ec190 - db "@" - -BTGreetingM5: ; 0x11f46a - text_jump UnknownText_0x1ec1ae - db "@" - -BTLossM5: ; 0x11f46f - text_jump UnknownText_0x1ec1d0 - db "@" - -BTWinM5: ; 0x11f474 - text_jump UnknownText_0x1ec1f4 - db "@" - -BTGreetingM6: ; 0x11f479 - text_jump UnknownText_0x1ec216 - db "@" - -BTLossM6: ; 0x11f47e - text_jump UnknownText_0x1ec238 - db "@" - -BTWinM6: ; 0x11f483 - text_jump UnknownText_0x1ec259 - db "@" - -BTGreetingM7: ; 0x11f488 - text_jump UnknownText_0x1ec27b - db "@" - -BTLossM7: ; 0x11f48d - text_jump UnknownText_0x1ec2a0 - db "@" - -BTWinM7: ; 0x11f492 - text_jump UnknownText_0x1ec2c0 - db "@" - -BTGreetingM8: ; 0x11f497 - text_jump UnknownText_0x1ec2d9 - db "@" - -BTLossM8: ; 0x11f49c - text_jump UnknownText_0x1ec2fe - db "@" - -BTWinM8: ; 0x11f4a1 - text_jump UnknownText_0x1ec320 - db "@" - -BTGreetingM9: ; 0x11f4a6 - text_jump UnknownText_0x1ec33f - db "@" - -BTLossM9: ; 0x11f4ab - text_jump UnknownText_0x1ec36c - db "@" - -BTWinM9: ; 0x11f4b0 - text_jump UnknownText_0x1ec389 - db "@" - -BTGreetingM10: ; 0x11f4b5 - text_jump UnknownText_0x1ec3ad - db "@" - -BTLossM10: ; 0x11f4ba - text_jump UnknownText_0x1ec3c5 - db "@" - -BTWinM10: ; 0x11f4bf - text_jump UnknownText_0x1ec3e5 - db "@" - -BTGreetingM11: ; 0x11f4c4 - text_jump UnknownText_0x1ec402 - db "@" - -BTLossM11: ; 0x11f4c9 - text_jump UnknownText_0x1ec411 - db "@" - -BTWinM11: ; 0x11f4ce - text_jump UnknownText_0x1ec41f - db "@" - -BTGreetingM12: ; 0x11f4d3 - text_jump UnknownText_0x1ec42e - db "@" - -BTLossM12: ; 0x11f4d8 - text_jump UnknownText_0x1ec461 - db "@" - -BTWinM12: ; 0x11f4dd - text_jump UnknownText_0x1ec4a0 - db "@" - -BTGreetingM13: ; 0x11f4e2 - text_jump UnknownText_0x1ec4d6 - db "@" - -BTLossM13: ; 0x11f4e7 - text_jump UnknownText_0x1ec4f5 - db "@" - -BTWinM13: ; 0x11f4ec - text_jump UnknownText_0x1ec512 - db "@" - -BTGreetingM14: ; 0x11f4f1 - text_jump UnknownText_0x1ec532 - db "@" - -BTLossM14: ; 0x11f4f6 - text_jump UnknownText_0x1ec54b - db "@" - -BTWinM14: ; 0x11f4fb - text_jump UnknownText_0x1ec565 - db "@" - -BTGreetingM15: ; 0x11f500 - text_jump UnknownText_0x1ec580 - db "@" - -BTLossM15: ; 0x11f505 - text_jump UnknownText_0x1ec59d - db "@" - -BTWinM15: ; 0x11f50a - text_jump UnknownText_0x1ec5b5 - db "@" - -BTGreetingM16: ; 0x11f50f - text_jump UnknownText_0x1ec5d3 - db "@" - -BTLossM16: ; 0x11f514 - text_jump UnknownText_0x1ec5ee - db "@" - -BTWinM16: ; 0x11f519 - text_jump UnknownText_0x1ec60d - db "@" - -BTGreetingM17: ; 0x11f51e - text_jump UnknownText_0x1ec631 - db "@" - -BTLossM17: ; 0x11f523 - text_jump UnknownText_0x1ec651 - db "@" - -BTWinM17: ; 0x11f528 - text_jump UnknownText_0x1ec68f - db "@" - -BTGreetingM18: ; 0x11f52d - text_jump UnknownText_0x1ec6b1 - db "@" - -BTLossM18: ; 0x11f532 - text_jump UnknownText_0x1ec6d0 - db "@" - -BTWinM18: ; 0x11f537 - text_jump UnknownText_0x1ec708 - db "@" - -BTGreetingM19: ; 0x11f53c - text_jump UnknownText_0x1ec720 - db "@" - -BTLossM19: ; 0x11f541 - text_jump UnknownText_0x1ec73e - db "@" - -BTWinM19: ; 0x11f546 - text_jump UnknownText_0x1ec75b - db "@" - -BTGreetingM20: ; 0x11f54b - text_jump UnknownText_0x1ec77f - db "@" - -BTLossM20: ; 0x11f550 - text_jump UnknownText_0x1ec798 - db "@" - -BTWinM20: ; 0x11f555 - text_jump UnknownText_0x1ec7bb - db "@" - -BTGreetingM21: ; 0x11f55a - text_jump UnknownText_0x1ec7d8 - db "@" - -BTLossM21: ; 0x11f55f - text_jump UnknownText_0x1ec818 - db "@" - -BTWinM21: ; 0x11f564 - text_jump UnknownText_0x1ec837 - db "@" - -BTGreetingM22: ; 0x11f569 - text_jump UnknownText_0x1ec858 - db "@" - -BTLossM22: ; 0x11f56e - text_jump UnknownText_0x1ec876 - db "@" - -BTWinM22: ; 0x11f573 - text_jump UnknownText_0x1ec898 - db "@" - -BTGreetingM23: ; 0x11f578 - text_jump UnknownText_0x1ec8b1 - db "@" - -BTLossM23: ; 0x11f57d - text_jump UnknownText_0x1ec8d5 - db "@" - -BTWinM23: ; 0x11f582 - text_jump UnknownText_0x1ec8f0 - db "@" - -BTGreetingM24: ; 0x11f587 - text_jump UnknownText_0x1ec911 - db "@" - -BTLossM24: ; 0x11f58c - text_jump UnknownText_0x1ec928 - db "@" - -BTWinM24: ; 0x11f591 - text_jump UnknownText_0x1ec949 - db "@" - -BTGreetingM25: ; 0x11f596 - text_jump UnknownText_0x1ec969 - db "@" - -BTLossM25: ; 0x11f59b - text_jump UnknownText_0x1ec986 - db "@" - -BTWinM25: ; 0x11f5a0 - text_jump UnknownText_0x1ec99b - db "@" - - - - -BTGreetingF1: ; 0x11f5a5 - text_jump UnknownText_0x1ec9bd - db "@" - -BTLossF1: ; 0x11f5aa - text_jump UnknownText_0x1ec9d9 - db "@" - -BTWinF1: ; 0x11f5af - text_jump UnknownText_0x1ec9f7 - db "@" - -BTGreetingF2: ; 0x11f5b4 - text_jump UnknownText_0x1eca0a - db "@" - -BTLossF2: ; 0x11f5b9 - text_jump UnknownText_0x1eca2a - db "@" - -BTWinF2: ; 0x11f5be - text_jump UnknownText_0x1eca47 - db "@" - -BTGreetingF3: ; 0x11f5c3 - text_jump UnknownText_0x1eca64 - db "@" - -BTLossF3: ; 0x11f5c8 - text_jump UnknownText_0x1eca82 - db "@" - -BTWinF3: ; 0x11f5cd - text_jump UnknownText_0x1eca9d - db "@" - -BTGreetingF4: ; 0x11f5d2 - text_jump UnknownText_0x1ecabf - db "@" - -BTLossF4: ; 0x11f5d7 - text_jump UnknownText_0x1ecade - db "@" - -BTWinF4: ; 0x11f5dc - text_jump UnknownText_0x1ecafa - db "@" - -BTGreetingF5: ; 0x11f5e1 - text_jump UnknownText_0x1ecb19 - db "@" - -BTLossF5: ; 0x11f5e6 - text_jump UnknownText_0x1ecb37 - db "@" - -BTWinF5: ; 0x11f5eb - text_jump UnknownText_0x1ecb55 - db "@" - -BTGreetingF6: ; 0x11f5f0 - text_jump UnknownText_0x1ecb70 - db "@" - -BTLossF6: ; 0x11f5f5 - text_jump UnknownText_0x1ecb92 - db "@" - -BTWinF6: ; 0x11f5fa - text_jump UnknownText_0x1ecbb6 - db "@" - -BTGreetingF7: ; 0x11f5ff - text_jump UnknownText_0x1ecbd9 - db "@" - -BTLossF7: ; 0x11f604 - text_jump UnknownText_0x1ecbf3 - db "@" - -BTWinF7: ; 0x11f609 - text_jump UnknownText_0x1ecc15 - db "@" - -BTGreetingF8: ; 0x11f60e - text_jump UnknownText_0x1ecc39 - db "@" - -BTLossF8: ; 0x11f613 - text_jump UnknownText_0x1ecc55 - db "@" - -BTWinF8: ; 0x11f618 - text_jump UnknownText_0x1ecc75 - db "@" - -BTGreetingF9: ; 0x11f61d - text_jump UnknownText_0x1ecc92 - db "@" - -BTLossF9: ; 0x11f622 - text_jump UnknownText_0x1ecca7 - db "@" - -BTWinF9: ; 0x11f627 - text_jump UnknownText_0x1eccc1 - db "@" - -BTGreetingF10: ; 0x11f62c - text_jump UnknownText_0x1eccd7 - db "@" - -BTLossF10: ; 0x11f631 - text_jump UnknownText_0x1eccef - db "@" - -BTWinF10: ; 0x11f636 - text_jump UnknownText_0x1ecd0e - db "@" - -BTGreetingF11: ; 0x11f63b - text_jump UnknownText_0x1ecd2b - db "@" - -BTLossF11: ; 0x11f640 - text_jump UnknownText_0x1ecd4d - db "@" - -BTWinF11: ; 0x11f645 - text_jump UnknownText_0x1ecd6b - db "@" - -BTGreetingF12: ; 0x11f64a - text_jump UnknownText_0x1ecd8d - db "@" - -BTLossF12: ; 0x11f64f - text_jump UnknownText_0x1ecdaf - db "@" - -BTWinF12: ; 0x11f654 - text_jump UnknownText_0x1ecdcf - db "@" - -BTGreetingF13: ; 0x11f659 - text_jump UnknownText_0x1ecded - db "@" - -BTLossF13: ; 0x11f65e - text_jump UnknownText_0x1ece0d - db "@" - -BTWinF13: ; 0x11f663 - text_jump UnknownText_0x1ece2a - db "@" - -BTGreetingF14: ; 0x11f668 - text_jump UnknownText_0x1ece4b - db "@" - -BTLossF14: ; 0x11f66d - text_jump UnknownText_0x1ece70 - db "@" - -BTWinF14: ; 0x11f672 - text_jump UnknownText_0x1ece8a - db "@" - -BTGreetingF15: ; 0x11f677 - text_jump UnknownText_0x1ecea8 - db "@" - -BTLossF15: ; 0x11f67c - text_jump UnknownText_0x1ecec9 - db "@" - -BTWinF15: ; 0x11f681 - text_jump UnknownText_0x1ecee8 - db "@" diff --git a/misc/battle_tower_5c.asm b/misc/battle_tower_5c.asm deleted file mode 100755 index 462e4f75a..000000000 --- a/misc/battle_tower_5c.asm +++ /dev/null @@ -1,1772 +0,0 @@ -BattleTowerRoomMenu: ; 1700b0 -; special - call InitBattleTowerChallengeRAM - callba _BattleTowerRoomMenu - ret -; 1700ba - -Function1700ba: ; 1700ba - call InitBattleTowerChallengeRAM - callba Function11811a - ret -; 1700c4 - -Function1700c4: ; 1700c4 - ld a, [rSVBK] - push af - ld a, $3 - ld [rSVBK], a - - call Function17042c - - ld a, $5 - call GetSRAMBank - ld a, $1 - ld [$be45], a - xor a - ld [$be46], a - ld hl, w3_dffc - ld de, $aa41 - ld bc, 4 - call CopyBytes - ld hl, w3_d202Name - ld de, $aa8e - ld bc, 7 * $cc ; length of battle tower struct from japanese games? - call CopyBytes - ld hl, $aa5d ; some sort of count - ld a, [hl] - inc [hl] - inc hl - sla a - sla a - ld e, a - ld d, $0 - add hl, de - ld e, l - ld d, h - ld hl, w3_dffc - ld bc, 4 - call CopyBytes - call CloseSRAM - pop af - ld [rSVBK], a - ret -; 170114 - -Function170114: ; 170114 - call InitBattleTowerChallengeRAM - call .Function170121 - callba Function11805f - ret -; 170121 - -.Function170121: ; 170121 - ld a, $5 - call GetSRAMBank - ld hl, $a948 - ld de, wMisc - ld bc, $f6 ; 246 - call CopyBytes - call CloseSRAM - call Function170c8b - ret -; 170139 - -Function170139: ; 170139 -; Convert the 4-digit decimal number at 5:aa41 into binary - ld a, $5 - call GetSRAMBank - ld de, $aa41 - ld h, $0 - ld l, h - ld bc, 1000 - call .DecToBin - ld bc, 100 - call .DecToBin - ld bc, 10 - call .DecToBin - ld a, [de] - ld c, a - ld b, $0 - add hl, bc - call CloseSRAM -; Store that number in wMisc - ld a, h - ld [wMisc], a - ld a, l - ld [wMisc + 1], a - ld hl, wBT_OTTempPkmn1DVs - ld a, [PlayerID] - ld [hli], a - ld a, [PlayerID + 1] - ld [hli], a - ld a, [wSecretID] - ld [hli], a - ld a, [wSecretID + 1] - ld [hli], a - ld e, l - ld d, h - ld hl, PlayerName - ld bc, 5 ; Japanese name length - call CopyBytes - ld bc, PlayerID - ld de, PlayerGender - callba GetMobileOTTrainerClass - ld de, wBT_OTTempPkmn1CaughtGender - ld a, c - ld [de], a - inc de - ld a, PartyMons % $100 - ld [wcd49], a - ld a, PartyMons / $100 - ld [wcd4a], a - ld a, PartyMonNicknames % $100 - ld [wcd4b], a - ld a, PartyMonNicknames / $100 - ld [wcd4c], a - ld a, 3 -.CopyLoop: - push af - ld a, [wcd49] - ld l, a - ld a, [wcd4a] - ld h, a - ld bc, PARTYMON_STRUCT_LENGTH - call CopyBytes - ld a, l - ld [wcd49], a - ld a, h - ld [wcd4a], a - ld a, [wcd4b] - ld l, a - ld a, [wcd4c] - ld h, a - ld bc, $0006 - call CopyBytes - ld a, l - ld [wcd4b], a - ld a, h - ld [wcd4c], a - pop af - dec a - jr nz, .CopyLoop - ld a, $4 - call GetSRAMBank - ld hl, $a013 - ld bc, $24 - call CopyBytes - call CloseSRAM - ld a, $5 - call GetSRAMBank - ld hl, $a894 - ld bc, 6 - call CopyBytes - ld hl, wMisc - ld de, $a948 - ld bc, $f6 - call CopyBytes - call CloseSRAM - ret -; 17020c - -.DecToBin: ; 17020c - ld a, [de] - inc de - and a - ret z - -.digit_loop - add hl, bc - dec a - jr nz, .digit_loop - ret -; 170215 - -BattleTowerBattle: ; 170215 - xor a - ld [wBattleTowerBattleEnded], a - call _BattleTowerBattle - ret -; 17021d - -EmptySpecial_17021d: ; 17021d - ret -; 17021e - -InitBattleTowerChallengeRAM: ; 17021e - xor a - ld [wBattleTowerBattleEnded], a - ld [wNrOfBeatenBattleTowerTrainers], a - ld [wcf65], a - ld [wcf66], a - ret -; 17022c - -_BattleTowerBattle: ; 17022c -.loop - call .do_dw - call DelayFrame - ld a, [wBattleTowerBattleEnded] - cp $1 - jr nz, .loop - ret -; 17023a - -.do_dw ; 17023a - ld a, [wBattleTowerBattleEnded] - ld e, a - ld d, 0 - ld hl, .dw - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp hl -; 170249 - -.dw ; 170249 - dw RunBattleTowerTrainer - dw SkipBattleTowerTrainer -; 17024d - -RunBattleTowerTrainer: ; 17024d - ld a, [Options] - push af - ld hl, Options - set BATTLE_SHIFT, [hl] ; SET MODE - - ld a, [InBattleTowerBattle] - push af - or $1 - ld [InBattleTowerBattle], a - - xor a - ld [wLinkMode], a - callba TrainerRankings_Healings - callba HealParty - call ReadBTTrainerParty - call Clears5_a89a - - predef StartBattle - - callba LoadPokemonData - callba HealParty - ld a, [wBattleResult] - ld [ScriptVar], a - and a - jr nz, .lost - ld a, BANK(sNrOfBeatenBattleTowerTrainers) - call GetSRAMBank - ld a, [sNrOfBeatenBattleTowerTrainers] - ld [wNrOfBeatenBattleTowerTrainers], a - call CloseSRAM - ld hl, StringBuffer3 - ld a, [wNrOfBeatenBattleTowerTrainers] - add "1" - ld [hli], a - ld a, "@" - ld [hl], a - -.lost - pop af - ld [InBattleTowerBattle], a - pop af - ld [Options], a - ld a, $1 - ld [wBattleTowerBattleEnded], a - ret - - -ReadBTTrainerParty: ; 1702b7 -; Initialise the BattleTower-Trainer and his Pkmn - call CopyBTTrainer_FromBT_OT_TowBT_OTTemp - -; Check the nicknames for illegal characters, and replace bad nicknames -; with their species names. - ld de, wBT_OTTempPkmn1Name ; $c643 - ld c, PKMN_NAME_LENGTH - callba CheckStringForErrors - jr nc, .skip_mon_1 - - ld a, [wBT_OTTempPkmn1] - ld [wNamedObjectIndexBuffer], a - call GetPokemonName - ld l, e - ld h, d - ld de, wBT_OTTempPkmn1Name ; $c643 - ld bc, PKMN_NAME_LENGTH - call CopyBytes - -.skip_mon_1 - ld de, wBT_OTTempPkmn2Name ; $c67e - ld c, PKMN_NAME_LENGTH - callba CheckStringForErrors - jr nc, .skip_mon_2 - ld a, [wBT_OTTempPkmn2] ; [$c64e] - ld [wNamedObjectIndexBuffer], a - call GetPokemonName - ld l, e - ld h, d - ld de, wBT_OTTempPkmn2Name ; $c67e - ld bc, PKMN_NAME_LENGTH - call CopyBytes - -.skip_mon_2 - ld de, wBT_OTTempPkmn3Name ; $c686 + 51 = $c6b9 - ld c, PKMN_NAME_LENGTH - callba CheckStringForErrors - jr nc, .skip_mon_3 - ld a, [wBT_OTTempPkmn3] ; [$c689] - ld [wNamedObjectIndexBuffer], a - call GetPokemonName - ld l, e - ld h, d - ld de, wBT_OTTempPkmn3Name ; $c686 + 51 = $c6b9 - ld bc, PKMN_NAME_LENGTH - call CopyBytes - -.skip_mon_3 -; Add the terminator character to each of these names - ld a, "@" - ld [wBT_OTTempPkmn1NameEnd - 1], a ; $c64d - ld [wBT_OTTempPkmn2NameEnd - 1], a ; $c688 - ld [wBT_OTTempPkmn3NameEnd - 1], a ; $c68a + 57 = $c6c3 -; Fix errors in the movesets - call CheckBTMonMovesForErrors -; Repair the trainer name if needed, then copy it to OTPlayerName - ld de, wBT_OTTempName - ld c, NAME_LENGTH - 1 - callba CheckStringForErrors - jr nc, .trainer_name_okay - ld hl, BT_ChrisName - jr .done_trainer_name - -.trainer_name_okay - ld hl, wBT_OTTempName ; 0xc608 - -.done_trainer_name - ld de, OTPlayerName - ld bc, NAME_LENGTH - 1 - call CopyBytes - ld a, "@" - ld [de], a - - ld hl, wBT_OTTempTrainerClass - ld a, [hli] - ld [OtherTrainerClass], a - ld a, OTPartyMonNicknames % $100 - ld [BGMapBuffer], a - ld a, OTPartyMonNicknames / $100 - ld [BGMapBuffer + 1], a - - ; Copy Pkmn into Memory from the address in hl - ld de, OTPartyMon1Species - ld bc, OTPartyCount - ld a, BATTLETOWER_NROFPKMNS ; Number of Pkmn the BattleTower-Trainer has - ld [bc], a - inc bc -.otpartymon_loop - push af - ld a, [hl] - ld [bc], a - inc bc - push bc - ld bc, PARTYMON_STRUCT_LENGTH - call CopyBytes - push de - ld a, [BGMapBuffer] - ld e, a - ld a, [BGMapBuffer + 1] - ld d, a - ld bc, PKMN_NAME_LENGTH - call CopyBytes - ld a, e - ld [BGMapBuffer], a - ld a, d - ld [BGMapBuffer + 1], a - pop de - pop bc - pop af - dec a - and a - jr nz, .otpartymon_loop - ld a, -1 - ld [bc], a - ret -; 170394 - -ValidateBTParty: ; 170394 -; Check for and fix errors in party data - ld hl, wBT_OTTempPkmn1Species - ld d, BATTLETOWER_NROFPKMNS -.pkmn_loop - push de - push hl - ld b, h - ld c, l - ld a, [hl] - and a -idx = $ff -rept ($ff +- NUM_POKEMON) - jr z, .invalid - cp idx -idx = idx +- 1 -endr - jr nz, .valid - -.invalid - ld a, SMEARGLE - ld [hl], a - -.valid - ld [CurSpecies], a - call GetBaseData - ld a, $5 - call GetSRAMBank - ld a, [$b2fb] ; s5_b2fb ; max level? - call CloseSRAM - ld e, a - ld hl, MON_LEVEL - add hl, bc - ld a, [hl] - cp MIN_LEVEL - ld a, MIN_LEVEL - jr c, .load - ld a, [hl] - cp e - jr c, .dont_load - ld a, e - -.load - ld [hl], a - -.dont_load - ld [CurPartyLevel], a - ld hl, MON_MOVES - add hl, bc - ld d, NUM_MOVES - 1 - ld a, [hli] - and a - jr z, .not_move - cp NUM_ATTACKS + 1 - jr nc, .not_move - jr .valid_move - -.not_move - dec hl - ld a, POUND - ld [hli], a - xor a - ld [hli], a - ld [hli], a - ld [hl], a - jr .done_moves - -.valid_move - ld a, [hl] - cp NUM_ATTACKS + 1 - jr c, .next - ld [hl], $0 - -.next - inc hl - dec d - jr nz, .valid_move - -.done_moves - ld hl, MON_MAXHP - add hl, bc - ld d, h - ld e, l - push hl - push de - ld hl, MON_STAT_EXP - 1 - add hl, bc - ld b, $1 - predef CalcPkmnStats - pop de - pop hl - dec de - dec de - ld a, [hli] - ld [de], a - inc de - ld a, [hl] - ld [de], a - pop hl - ld bc, PARTYMON_STRUCT_LENGTH + PKMN_NAME_LENGTH - add hl, bc - pop de - dec d - jp nz, .pkmn_loop - ret -; 170426 - -BT_ChrisName: ; 170426 - db "CHRIS@" -; 17042c - -Function17042c: ; 17042c - ld hl, w3_d202TrainerData - ld a, BATTLETOWER_NROFTRAINERS -.loop - push af - push hl - ld c, BATTLETOWER_TRAINERDATALENGTH / 2 -.loop2 - ; First byte is a comparison value. - ld a, [hli] - ld b, a - ; Second byte is a lookup index. - ld a, [hli] - and a - jr z, .empty - cp 15 - jr nc, .copy_data - - push hl - ld hl, Unknown_170470 - dec a - ld e, a - ld d, 0 - add hl, de - ld a, [hl] - pop hl - - ; If Unknown_170470[a-1] <= b, overwrite the current trainer's data - ; with Unknown17047e, and exit the inner loop. - cp b - jr c, .copy_data - jr z, .copy_data - jr .next_iteration - -.empty - ; If a == 0 and b >= $fc, overwrite the current trainer's data with - ; Unknown17047e, and exit the inner loop. - ld a, b - cp $fc - jr nc, .copy_data - -.next_iteration - dec c - jr nz, .loop2 - jr .next_trainer - -.copy_data - pop de - push de - ld hl, Unknown_17047e - ld bc, BATTLETOWER_TRAINERDATALENGTH - call CopyBytes - -.next_trainer - pop hl - ld de, BATTLE_TOWER_STRUCT_LENGTH - add hl, de - pop af - dec a - jr nz, .loop - ret -; 170470 - -Unknown_170470: - db $12 - db $24 - db $45 - db $45 - db $42 - db $42 - db $45 - db $42 - db $27 - db $27 - db $45 - db $27 - db $42 - db $24 - -Unknown_17047e: -; see data/battle_tower_2.asm - db $03, 4 - db $05, 8 - db $03, 5 - db $0e, 6 - db $03, 2 - db $00, 0 - db $39, 7 - db $07, 4 - db $00, 5 - db $04, 7 - db $01, 5 - db $00, 0 - db $0f, 5 - db $14, 7 - db $05, 5 - db $11, 12 - db $0c, 6 - db $06, 4 - - -CopyBTTrainer_FromBT_OT_TowBT_OTTemp: ; 1704a2 -; copy the BattleTower-Trainer data that lies at 'BT_OTTrainer' to 'wBT_OTTemp' - ld a, [rSVBK] - push af - ld a, $3 ; BANK(BT_OTTrainer) - ld [rSVBK], a - - ld hl, BT_OTTrainer ; $d100 - ld de, wBT_OTTemp ; wMisc - ld bc, BATTLE_TOWER_STRUCT_LENGTH - call CopyBytes - - pop af - ld [rSVBK], a - - ld a, BANK(sBattleTowerChallengeState) - call GetSRAMBank - ld a, BATTLETOWER_CHALLENGE_IN_PROGESS - ld [sBattleTowerChallengeState], a - ld hl, sNrOfBeatenBattleTowerTrainers - inc [hl] - call CloseSRAM -SkipBattleTowerTrainer: ; 1704c9 - ret -; 1704ca - -Function1704ca: ; 1704ca -; unreferenced mobile function - ld a, [$be46] - cp $7 - jr c, .asm_1704d3 - ld a, $6 - -.asm_1704d3 - ld hl, $afce - ld de, -$e0 -.asm_1704d9 - and a - jr z, .asm_1704e0 - add hl, de - dec a - jr .asm_1704d9 - -.asm_1704e0 - ret -; 1704e1 - -Function1704e1: ; 1704e1 -; unreferenced special - call SpeechTextBox - call FadeToMenu - call InitBattleTowerChallengeRAM - call .JumptableLoop - call CloseSubmenu - ret -; 1704f1 - -.JumptableLoop: ; 1704f1 - call ClearBGPalettes - call ClearSprites - call ClearScreen -.loop - call JoyTextDelay - ld a, [wJumptableIndex] - bit 7, a - jr nz, .done - call .DoJumptable - callba ReloadMapPart - jr .loop - -.done - ret -; 170510 - -.DoJumptable: ; 170510 - ld a, [wJumptableIndex] - ld e, a - ld d, 0 - ld hl, .dw - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp hl -; 17051f - -.dw ; 17051f - dw .Jumptable_0 - dw .Jumptable_1 - dw .Jumptable_2 -; 170525 - -.Jumptable_0: ; 170525 - ld a, $5 - call GetSRAMBank - - ld hl, $a89c - ld de, StringBuffer3 - ld bc, $16 - call CopyBytes - - ld hl, $a8b2 - ld de, wMisc - ld bc, $0096 - call CopyBytes - - call CloseSRAM - hlcoord 1, 1 - ld de, StringBuffer3 - call PlaceString - hlcoord 1, 3 - ld de, .String_Mail - call PlaceString - hlcoord 4, 3 - ld de, StringBuffer4 - call PlaceString - hlcoord 8, 3 - ld de, .String_PastReaders - call PlaceString - call .DrawBorder - call .PlaceTextItems - jr .NextJumptableFunction - - -.Jumptable_1: - call SetPalettes - call .NextJumptableFunction - - -.Jumptable_2: - ld hl, hJoyPressed - ld a, [hl] - and A_BUTTON - jr nz, .pressed_a_or_b - ld a, [hl] - and B_BUTTON - jr nz, .pressed_a_or_b - ld a, [hl] - and D_UP - jr nz, .pressed_up - ld a, [hl] - and D_DOWN - jr nz, .pressed_down - ret - -.pressed_up - ld a, [wNrOfBeatenBattleTowerTrainers] - and a - ret z - sub 15 - ld [wNrOfBeatenBattleTowerTrainers], a - call .PlaceTextItems - ret - -.pressed_down - ld a, [wNrOfBeatenBattleTowerTrainers] - cp 60 - ret z - add 15 - ld [wNrOfBeatenBattleTowerTrainers], a - call .PlaceTextItems - ret - -.pressed_a_or_b - ld hl, wJumptableIndex - set 7, [hl] - ret - -.NextJumptableFunction: - ld hl, wJumptableIndex - inc [hl] - ret -; 1705b7 - -.DrawBorder: ; 1705b7 - hlcoord 0, 4 - ld a, $79 - ld [hli], a - ld c, SCREEN_WIDTH - 2 -.top_border_loop - ld a, $7a - ld [hli], a - dec c - jr nz, .top_border_loop - ld a, $7b - ld [hli], a - ld de, SCREEN_WIDTH - ld c, 12 -.left_border_loop - ld a, $7c - ld [hl], a - add hl, de - dec c - jr nz, .left_border_loop - ld a, $7d - ld [hli], a - ld c, SCREEN_WIDTH - 2 -.bottom_border_loop - ld a, $7a - ld [hli], a - dec c - jr nz, .bottom_border_loop - ld a, $7e - ld [hl], a - ld de, -SCREEN_WIDTH - add hl, de - ld c, 12 -.right_border_loop - ld a, $7c - ld [hl], a - add hl, de - dec c - jr nz, .right_border_loop - ret -; 1705f0 - -.PlaceTextItems: ; 1705f0 - call .ClearBox - call .PlaceUpDownArrows - ld a, $50 - ld [wcd4e], a - ld hl, wMisc - ld a, [wNrOfBeatenBattleTowerTrainers] - ld c, a - xor a - ld b, a - add hl, bc - push hl - pop bc - hlcoord 1, 6 - ld a, 6 -.loop1 - push af - push hl - ld a, 3 -.loop2 - push af - ld de, wcd49 - ld a, [bc] - and a - jr z, .fill_with_e3 -; .copy - ld a, 5 -.loop3a - push af - ld a, [bc] - ld [de], a - inc bc - inc de - pop af - dec a - jr nz, .loop3a - jr .rejoin - -.fill_with_e3 - ld a, 5 -.loop3b - push af - ld a, $e3 - ld [de], a - inc de - inc bc - pop af - dec a - jr nz, .loop3b - -.rejoin - ld de, wcd49 - push bc - call PlaceString - ld de, 6 - add hl, de - pop bc - pop af - dec a - jr nz, .loop2 - pop hl - ld de, $28 - add hl, de - pop af - dec a - jr nz, .loop1 - ret -; 17064b - -.ClearBox: ; 17064b - hlcoord 1, 5 - xor a - ld b, 12 -.clearbox_row - ld c, SCREEN_WIDTH - 2 -.clearbox_column - ld [hli], a - dec c - jr nz, .clearbox_column - inc hl - inc hl - dec b - jr nz, .clearbox_row - ret -; 17065d - -.PlaceUpDownArrows: ; 17065d - ld a, [wNrOfBeatenBattleTowerTrainers] - and a - jr z, .nope - hlcoord 18, 5 - ld a, "▲" - ld [hl], a - -.nope - ld a, [wNrOfBeatenBattleTowerTrainers] - cp 60 - ret z - hlcoord 18, 16 - ld a, "▼" - ld [hl], a - ret -; 170676 - -.String_Mail: ; 170676 - db "ルーム@" -; 17067a - -.String_PastReaders: ; 17067a - db "れきだいりーダーいちらん@" -; 170687 - -BattleTowerAction: ; 170687 - ld a, [ScriptVar] - ld e, a - ld d, 0 - ld hl, .dw - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp hl -; 170696 - - -.dw ; 170696 (5c:4696) - dw BattleTowerAction_CheckExplanationRead ; 0x00 - dw BattleTowerAction_SetExplanationRead ; 0x01 - dw BattleTowerAction_GetChallengeState ; 0x02 - dw BattleTowerAction_SetByteToQuickSaveChallenge ; 0x03 - dw BattleTowerAction_SetByteToCancelChallenge ; 0x04 - dw Function1707ac ; 0x05 - dw Function1707f4 ; 0x06 - dw SaveBattleTowerLevelGroup ; 0x07 - dw LoadBattleTowerLevelGroup ; 0x08 - dw BattleTower_CheckSaveFileExistsAndIsYours ; 0x09 - dw Function1708b1 ; 0x0a - dw CheckMobileEventIndex ; 0x0b - dw Function1708c8 ; 0x0c - dw Function1708f0 ; 0x0d - dw BattleTowerAction_EggTicket ; 0x0e - dw Function1709aa ; 0x0f - dw Function1709bb ; 0x10 - dw Function170a9c ; 0x11 - dw Function170aa0 ; 0x12 - dw Function170aaf ; 0x13 - dw Function170abe ; 0x14 - dw Function170ad7 ; 0x15 - dw Function170807 ; 0x16 - dw Function17081d ; 0x17 - dw BattleTowerAction_LevelCheck ; 0x18 - dw BattleTowerAction_UbersCheck ; 0x19 - dw ResetBattleTowerTrainersSRAM ; 0x1a - dw BattleTower_GiveReward ; 0x1b - dw Function17071b ; 0x1c - dw Function170729 ; 0x1d - dw BattleTower_RandomlyChooseReward ; 0x1e - dw BattleTower_SaveOptions ; 0x1f - - -; Reset the save memory for BattleTower-Trainers (Counter and all 7 TrainerBytes) -ResetBattleTowerTrainersSRAM: ; 1706d6 (5c:46d6) BattleTowerAction $1a - ld a, BANK(sBTTrainers) - call GetSRAMBank - - ld a, $ff - ld hl, sBTTrainers - ld bc, BATTLETOWER_NROFTRAINERS - call ByteFill - - xor a - ld [sNrOfBeatenBattleTowerTrainers], a - - call CloseSRAM - - ret - -BattleTower_GiveReward: ; 1706ee (5c:46ee) BattleTowerAction $1b - ld a, BANK(sBattleTowerReward) - call GetSRAMBank - - ld a, [sBattleTowerReward] - call CloseSRAM - ld [ScriptVar], a - ld hl, NumItems - ld a, [hli] - cp MAX_ITEMS - ret c - ld b, MAX_ITEMS - ld a, [ScriptVar] - ld c, a -.loop - ld a, [hli] - cp c - jr nz, .next - ld a, [hl] - cp 95 - ret c -.next - inc hl - dec b - jr nz, .loop - ld a, POTION - ld [ScriptVar], a - ret - -Function17071b: ; 17071b (5c:471b) BattleTowerAction $1c - ld a, BANK(sBattleTowerChallengeState) - call GetSRAMBank - ld a, BATTLETOWER_WON_CHALLENGE - ld [sBattleTowerChallengeState], a - call CloseSRAM - ret - -Function170729: ; 170729 (5c:4729) BattleTowerAction $1d - ld a, BANK(sBattleTowerChallengeState) - call GetSRAMBank - ld a, BATTLETOWER_RECEIVED_REWARD - ld [sBattleTowerChallengeState], a - call CloseSRAM - ret - -BattleTower_SaveOptions: ; 170737 (5c:4737) BattleTowerAction $1f - callba SaveOptions - ret - -BattleTower_RandomlyChooseReward: ; 17073e (5c:473e) BattleTowerAction $1e -; Generate a random stat boosting item. -.loop - call Random - ld a, [hRandomAdd] - and $7 - cp 6 - jr c, .okay - sub 6 -.okay - add HP_UP - cp LUCKY_PUNCH - jr z, .loop - push af - ld a, BANK(sBattleTowerReward) - call GetSRAMBank - pop af - ld [sBattleTowerReward], a - call CloseSRAM - ret - -BattleTowerAction_CheckExplanationRead: ; 17075f (5c:475f) BattleTowerAction $00 - call BattleTower_CheckSaveFileExistsAndIsYours - ld a, [ScriptVar] - and a - ret z - - ld a, BANK(s1_be4f) - call GetSRAMBank - ld a, [s1_be4f] - and $2 - ld [ScriptVar], a - call CloseSRAM - ret - -BattleTowerAction_GetChallengeState: ; 170778 (5c:4778) BattleTowerAction $02 - ld hl, sBattleTowerChallengeState - ld a, BANK(sBattleTowerChallengeState) - call GetSRAMBank - ld a, [hl] - ld [ScriptVar], a - call CloseSRAM - ret - -BattleTowerAction_SetExplanationRead: ; 170788 (5c:4788) BattleTowerAction $01 - ld a, BANK(s1_be4f) - call GetSRAMBank - ld a, [s1_be4f] - or $2 - ld [s1_be4f], a - call CloseSRAM - ret - -BattleTowerAction_SetByteToQuickSaveChallenge: ; 170799 (5c:4799) BattleTowerAction $03 - ld c, BATTLETOWER_SAVED_AND_LEFT - jr asm_17079f - -BattleTowerAction_SetByteToCancelChallenge: ; 17079d (5c:479d) BattleTowerAction $04 - ld c, BATTLETOWER_NO_CHALLENGE -asm_17079f: ; 17079f (5c:479f) - ld a, BANK(sBattleTowerChallengeState) - call GetSRAMBank - ld a, c - ld [sBattleTowerChallengeState], a - call CloseSRAM - ret - -Function1707ac: ; 1707ac (5c:47ac) BattleTowerAction $05 - ld a, $5 - call GetSRAMBank - ld a, [$aa8c] - ld b, a - ld a, [$be46] - ld [ScriptVar], a - call CloseSRAM - and a - ret z - ld a, b - cp $2 - jr nc, .asm_1707ef - push bc - call UpdateTime - pop bc - ld a, $5 - call GetSRAMBank - ld a, [$aa8b] - call CloseSRAM - ld c, a - ld a, [CurDay] - sub c - jr c, .asm_1707e5 - cp $8 - jr nc, .asm_1707ef - ld a, b - and a - jr nz, .asm_1707ef - ret -.asm_1707e5 - ld hl, CurDay - ld a, $8c - sub c - add [hl] - cp $8 - ret c -.asm_1707ef - ld a, $8 - ld [ScriptVar], a - -Function1707f4: ; 1707f4 (5c:47f4) BattleTowerAction $06 - ld a, $5 - call GetSRAMBank - xor a - ld [$be46], a - ld [$aa8b], a - ld [$aa8c], a - call CloseSRAM - ret - -Function170807: ; 170807 (5c:4807) BattleTowerAction $16 - call UpdateTime - ld a, $5 - call GetSRAMBank - ld a, [CurDay] - ld [$b2f9], a - xor a - ld [$b2fa], a - call CloseSRAM - ret - -Function17081d: ; 17081d (5c:481d) BattleTowerAction $17 - xor a - ld [ScriptVar], a - ld a, $5 - call GetSRAMBank - ld a, [$b2f9] - ld c, a - ld a, [$b2fa] - ld b, a - call CloseSRAM - cp $2 - jr nc, .asm_170853 - push bc - call UpdateTime - pop bc - ld a, [CurDay] - sub c - jr c, .asm_170849 - cp $b - jr nc, .asm_170853 - ld a, b - and a - jr nz, .asm_170853 - ret - -.asm_170849 - ld hl, CurDay - ld a, 140 - sub c - add [hl] - cp $b - ret c -.asm_170853 - ld a, $1 - ld [ScriptVar], a - ld a, $5 - call GetSRAMBank - xor a - ld [$b2f9], a - ld [$b2fa], a - call CloseSRAM - ret - -SaveBattleTowerLevelGroup: ; 170868 (5c:4868) BattleTowerAction $07 - ld a, BANK(sBTChoiceOfLevelGroup) - call GetSRAMBank - ld a, [rSVBK] - push af - ld a, $3 - ld [rSVBK], a - ld a, [wBTChoiceOfLvlGroup] - ld [sBTChoiceOfLevelGroup], a - pop af - ld [rSVBK], a - call CloseSRAM - ret - -LoadBattleTowerLevelGroup: ; 170881 (5c:4881) BattleTowerAction $08 ; Load level group choice - ld a, BANK(sBTChoiceOfLevelGroup) - call GetSRAMBank - ld a, [rSVBK] - push af - ld a, $3 - ld [rSVBK], a - ld a, [sBTChoiceOfLevelGroup] - ld [wBTChoiceOfLvlGroup], a - pop af - ld [rSVBK], a - call CloseSRAM - ret - -BattleTower_CheckSaveFileExistsAndIsYours: ; 17089a BattleTowerAction $09 - ld a, [wSaveFileExists] - and a - jr z, .nope - callba CompareLoadedAndSavedPlayerID - jr z, .yes - xor a - jr .nope - -.yes - ld a, $1 - -.nope - ld [ScriptVar], a - ret -; 1708b1 - - -Function1708b1: ; 1708b1 (5c:48b1) BattleTowerAction $0a - xor a - ld [MusicFade], a - call MaxVolume - ret - -CheckMobileEventIndex: ; 1708b9 (5c:48b9) BattleTowerAction $0b something to do with GS Ball - ld a, BANK(sMobileEventIndex) - call GetSRAMBank - ld a, [sMobileEventIndex] - ld [ScriptVar], a - call CloseSRAM - ret - -Function1708c8: ; 1708c8 (5c:48c8) BattleTowerAction $0c - call UpdateTime - ld a, $5 - call GetSRAMBank - ld a, [CurDay] - ld [$aa8b], a - xor a - ld [$aa8c], a - ld a, [$aa5d] - cp $2 - jr nc, .asm_1708ec - ld a, [CurDay] - ld [$aa48], a - ld a, $1 - ld [$aa47], a -.asm_1708ec - call CloseSRAM - ret - -Function1708f0: ; 1708f0 (5c:48f0) BattleTowerAction $0d - xor a - ld [ScriptVar], a - call UpdateTime - ld a, $5 - call GetSRAMBank - ld a, [$aa48] - ld c, a - ld a, [$aa47] - call CloseSRAM - and a - ret z - ld hl, CurDay - ld a, c - cp [hl] - jr nz, Function170923 - ld a, $5 - call GetSRAMBank - ld a, [$aa5d] - call CloseSRAM - cp $5 - ret c - ld a, $1 - ld [ScriptVar], a - ret - - -Function170923: ; 170923 - ld a, $5 - call GetSRAMBank - xor a - ld [$aa48], a - ld [$aa47], a - ld hl, $aa5d - ld bc, $0011 - call ByteFill - call CloseSRAM - ret -; 17093c - - -BattleTowerAction_EggTicket: ; 17093c (5c:493c) BattleTowerAction $0e - xor a - ld [ScriptVar], a - ld a, EGG_TICKET - ld [CurItem], a - ld hl, NumItems - call CheckItem - ret nc - ld a, [PartyCount] - ld b, 0 - ld c, a - ld hl, PartySpecies -.loop - ld a, [hli] - cp EGG - jr nz, .not_egg - push hl - ld hl, PartyMonOT - ld de, $6 ; NAME_LENGTH - ld a, b - and a - jr z, .skip -.loop2 - add hl, de - dec a - jr nz, .loop2 -.skip - ld de, String_1709a4 - ld a, $6 ; NAME_LENGTH -.compare_loop - push af - ld a, [de] - inc de - cp [hl] - inc hl - jr nz, .different - pop af - dec a - jr nz, .compare_loop -rept 4 - dec hl -endr - ld a, "@" - ld [hli], a - ld [hli], a - pop hl - ld a, EGG_TICKET - ld [CurItem], a - ld a, 1 - ld [wItemQuantityChangeBuffer], a - ld a, -1 - ld [CurItemQuantity], a - ld hl, NumItems - call TossItem - ld a, $1 - ld [ScriptVar], a - ret - -.different - pop af - pop hl -.not_egg - inc b - dec c - jr nz, .loop - ret -; 1709a4 (5c:49a4) - -String_1709a4: ; 1709a4 - db "なぞナゾ@@" - -Function1709aa: ; 1709aa (5c:49aa) BattleTowerAction $0f - ld a, [rSVBK] - push af - ld a, BANK(w3_d090) - ld [rSVBK], a - ld a, [w3_d090] - ld [ScriptVar], a - pop af - ld [rSVBK], a - ret - -Function1709bb: ; 1709bb (5c:49bb) BattleTowerAction $10 - xor a - ld [ScriptVar], a - ld a, $5 - call GetSRAMBank - ld a, [$a800] - call CloseSRAM - cp 6 - jr nc, .invalid - ld e, a - ld d, 0 - ld hl, Jumptable_1709e7 - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp hl - -.invalid - ld a, $5 - call GetSRAMBank - xor a - ld [$a800], a - call CloseSRAM - ret -; 1709e7 (5c:49e7) - -Jumptable_1709e7: ; 1709e7 - dw .NoAction - dw .NoAction - dw .DoAction1 - dw .DoAction1 - dw .Action4 - dw .Action5 -; 1709f3 - -.DoAction1: ; 1709f3 - ld a, $5 - call GetSRAMBank - ld a, $1 - ld [$a800], a - call CloseSRAM - -.NoAction: ; 170a00 - ret -; 170a01 - -.Action4: ; 170a01 - ld a, $5 - call GetSRAMBank - ld hl, $b023 - ld de, wMisc - ld bc, $0069 - call CopyBytes - ld a, [$a825] - ld [wcd30], a - ld a, [$a826] - ld [wcd31], a - call CloseSRAM - callba Function11b6b4 - callba Function17d0f3 - ld a, $1 - ld [ScriptVar], a - ret -; 170a33 - -.Action5: ; 170a33 - ld a, $0 - call GetSRAMBank - ld hl, wRTC - ld de, wMisc - ld bc, $0004 - call CopyBytes - call CloseSRAM - ld a, $5 - call GetSRAMBank - ld hl, $b08c - ld de, wMisc - ld c, $4 -.compare_loop - ld a, [de] - inc de - cp [hl] - jr nz, .different - inc hl - dec c - jr nz, .compare_loop - call CloseSRAM - ld a, [MapGroup] - ld b, a - ld a, [MapNumber] - ld c, a - call GetMapTrigger - ld a, d - or e - jr z, .no_trigger - ld a, [de] - and a - ret nz - -.no_trigger - ld a, $1 - ld [ScriptVar], a - ret - -.different - call CloseSRAM - ld a, $5 - call GetSRAMBank - xor a - ld [$a800], a - call CloseSRAM - ld [ScriptVar], a - ld a, [MapGroup] - ld b, a - ld a, [MapNumber] - ld c, a - call GetMapTrigger - ld a, d - or e - jr z, .no_trigger_2 - xor a - ld [de], a - -.no_trigger_2 - ret -; 170a9c - -Function170a9c: ; 170a9c (5c:4a9c) BattleTowerAction $11 - ld c, $0 - jr asm_170aa2 - -Function170aa0: ; 170aa0 (5c:4aa0) BattleTowerAction $12 - ld c, $1 -asm_170aa2: ; 170aa2 (5c:4aa2) - ld a, $5 - call GetSRAMBank - ld a, c - ld [$aa8d], a - call CloseSRAM - ret - -Function170aaf: ; 170aaf (5c:4aaf) BattleTowerAction $13 - ld a, $5 - call GetSRAMBank - ld a, [$aa8d] - ld [ScriptVar], a - call CloseSRAM - ret - -Function170abe: ; 170abe (5c:4abe) BattleTowerAction $14 - call BattleTower_CheckSaveFileExistsAndIsYours - ld a, [ScriptVar] - and a - ret z - - ld a, BANK(s1_be4f) - call GetSRAMBank - ld a, [s1_be4f] - and $1 - ld [ScriptVar], a - call CloseSRAM - ret - -Function170ad7: ; 170ad7 (5c:4ad7) BattleTowerAction $15 - ld a, BANK(s1_be4f) - call GetSRAMBank - ld a, [s1_be4f] - or $1 - ld [s1_be4f], a - call CloseSRAM - ret - -BattleTowerAction_LevelCheck: ; 170ae8 (5c:4ae8) BattleTowerAction $18 - ld a, $5 - call GetSRAMBank - ld a, [$b2fb] - call CloseSRAM - ld c, 10 - call SimpleDivide - ld a, b - ld [wcd4f], a - xor a - ld [ScriptVar], a - callba BattleTower_LevelCheck ; level check - ret nc - ld a, $5 - call GetSRAMBank - ld a, [$b2fb] - call CloseSRAM - ld [ScriptVar], a - ret - -BattleTowerAction_UbersCheck: ; 170b16 (5c:4b16) BattleTowerAction $19 - ld a, $5 - call GetSRAMBank - ld a, [$b2fb] - call CloseSRAM - ld c, 10 - call SimpleDivide - ld a, b - ld [wcd4f], a - xor a - ld [ScriptVar], a - callba BattleTower_UbersCheck - ret nc - ld a, $5 - call GetSRAMBank - ld a, [$b2fb] - call CloseSRAM - ld [ScriptVar], a - ret - -Function_LoadOpponentTrainerAndPokemonsWithOTSprite: ; 0x170b44 - callba Function_LoadOpponentTrainerAndPokemons - ld a, [rSVBK] - push af - ld a, $3 - ld [rSVBK], a - ld hl, BT_OTTrainerClass - ld a, [hl] - dec a - ld c, a - ld b, $0 - pop af - ld [rSVBK], a - ld hl, .Sprites - add hl, bc - ld a, [hl] - ld [wBTTempOTSprite], a - -; Load sprite of the opponent trainer -; because s/he is chosen randomly and appears out of nowhere - ld a, [ScriptVar] - dec a - sla a - ld e, a - sla a - sla a - sla a - ld c, a - ld b, 0 - ld d, 0 - ld hl, MapObjects - add hl, bc - inc hl - ld a, [wBTTempOTSprite] - ld [hl], a - ld hl, UsedSprites - add hl, de - ld [hli], a - ld [hUsedSpriteIndex], a - ld a, [hl] - ld [hUsedSpriteTile], a - callba GetUsedSprite - ret -; 170b90 - -.Sprites: - db SPRITE_FALKNER - db SPRITE_WHITNEY - db SPRITE_BUGSY - db SPRITE_MORTY - db SPRITE_PRYCE - db SPRITE_JASMINE - db SPRITE_CHUCK - db SPRITE_CLAIR - db SPRITE_SILVER - db SPRITE_OAK - db SPRITE_WILL - db SPRITE_CHRIS - db SPRITE_BRUNO - db SPRITE_KAREN - db SPRITE_KOGA - db SPRITE_LANCE - db SPRITE_BROCK - db SPRITE_MISTY - db SPRITE_SURGE - db SPRITE_SCIENTIST - db SPRITE_ERIKA - db SPRITE_YOUNGSTER - db SPRITE_YOUNGSTER - db SPRITE_YOUNGSTER - db SPRITE_LASS - db SPRITE_JANINE - db SPRITE_COOLTRAINER_M - db SPRITE_COOLTRAINER_F - db SPRITE_BUENA - db SPRITE_SUPER_NERD - db SPRITE_ROCKET - db SPRITE_GENTLEMAN - db SPRITE_BUENA - db SPRITE_TEACHER - db SPRITE_SABRINA - db SPRITE_BUG_CATCHER - db SPRITE_FISHER - db SPRITE_SUPER_NERD - db SPRITE_COOLTRAINER_F - db SPRITE_SAILOR - db SPRITE_SUPER_NERD - db SPRITE_BLUE - db SPRITE_ROCKER - db SPRITE_POKEFAN_M - db SPRITE_BIKER - db SPRITE_BLAINE - db SPRITE_PHARMACIST - db SPRITE_FISHER - db SPRITE_SUPER_NERD - db SPRITE_BLACK_BELT - db SPRITE_ROCKET - db SPRITE_YOUNGSTER - db SPRITE_LASS - db SPRITE_YOUNGSTER - db SPRITE_ROCKET_GIRL - db SPRITE_SAGE - db SPRITE_GRANNY - db SPRITE_ROCKER - db SPRITE_POKEFAN_M - db SPRITE_KIMONO_GIRL - db SPRITE_TWIN - db SPRITE_POKEFAN_F - db SPRITE_RED - db SPRITE_BLUE - db SPRITE_OFFICER - db SPRITE_ROCKET_GIRL - -ret_170bd2: ; 170bd2 - ret -; 170bd3 - -SpecialCheckForBattleTowerRules: ; 170bd3 - callba CheckForBattleTowerRules - jr c, .asm_170bde - xor a - jr .asm_170be0 - -.asm_170bde - ld a, $1 - -.asm_170be0 - ld [ScriptVar], a - ret -; 170be4 diff --git a/misc/crystal_misc.asm b/misc/crystal_misc.asm deleted file mode 100644 index aa5c704fd..000000000 --- a/misc/crystal_misc.asm +++ /dev/null @@ -1,931 +0,0 @@ -INCLUDE "includes.asm" - - -SECTION "Misc Crystal", ROMX - -MobileAdapterGFX:: -INCBIN "gfx/mobile/mobile_adapter.2bpp" - - -Function17a68f:: ; 17a68f (5e:668f) - call Function17a6a8 - call Function17a751 - ld hl, $d088 - bit 5, [hl] - jr z, .asm_17a6a6 - ld de, StringBuffer1 ; $d073 - push de - call Function17a721 - pop de - xor a - ret - -.asm_17a6a6 - scf - ret - -Function17a6a8: ; 17a6a8 (5e:66a8) - push de - push bc - ld hl, StringBuffer2 ; $d086 - ld bc, $a - xor a - call ByteFill - ld hl, Buffer1 - ld bc, $10 - ld a, $ff - call ByteFill - pop bc - ld a, c - and a - jr z, .asm_17a6c9 - ld hl, $d088 - set 4, [hl] -.asm_17a6c9 - pop de - call Function17a6f5 - call Function17aba0 - callba Function106464 - call Function17ac0c - callba HDMATransferAttrMapAndTileMapToWRAMBank3 - call Function17abcf - callba LoadOW_BGPal7 - callba Function49420 - call SetPalettes - call DelayFrame - ret - -Function17a6f5: ; 17a6f5 (5e:66f5) - ld hl, Buffer1 - ld c, $0 - ld b, $8 -.asm_17a6fc - ld a, [de] - call Function17a713 - jr c, .asm_17a70e - ld a, [de] - swap a - call Function17a713 - jr c, .asm_17a70e - inc de - dec b - jr nz, .asm_17a6fc -.asm_17a70e - ld a, c - ld [$d08c], a - ret - -Function17a713: ; 17a713 (5e:6713) - and $f - cp $a - jr nc, .asm_17a71d - ld [hli], a - inc c - and a - ret - -.asm_17a71d - ld [hl], $ff - scf - ret - -Function17a721: ; 17a721 (5e:6721) - push de - ld h, d - ld l, e - ld bc, $8 - ld a, $ff - call ByteFill - pop de - ld hl, Buffer1 - ld b, $8 -.asm_17a732 - ld c, $0 - ld a, [hli] - cp $a - jr nc, .asm_17a748 - ld c, a - ld a, [hli] - cp $a - jr nc, .asm_17a74c - swap a - or c - ld [de], a - inc de - dec b - jr nz, .asm_17a732 - ret - -.asm_17a748 - ld a, $ff - ld [de], a - ret - -.asm_17a74c - ld a, $f0 - or c - ld [de], a - ret - -Function17a751: ; 17a751 (5e:6751) - xor a - ld [$d087], a -.asm_17a755 - call Function17a781 - call Function17a7ae - call Function17a97b - call Function17a770 - call Function17a78f - ld hl, $d08f - inc [hl] - ld a, [$d087] - bit 7, a - jr z, .asm_17a755 - ret - -Function17a770: ; 17a770 (5e:6770) - ld a, [hOAMUpdate] - push af - ld a, $1 - ld [hOAMUpdate], a - call HideSprites - call Function17a9cb - pop af - ld [hOAMUpdate], a - ret - -Function17a781: ; 17a781 (5e:6781) - ld a, [hInMenu] - push af - ld a, $1 - ld [hInMenu], a - call JoyTextDelay - pop af - ld [hInMenu], a - ret - -Function17a78f: ; 17a78f (5e:678f) - ld hl, $d088 - bit 7, [hl] - res 7, [hl] - jr nz, .asm_17a79f - callba HDMATransferTileMapToWRAMBank3 - ret - -.asm_17a79f - callba ReloadMapPart - ret -; 17a7a6 (5e:67a6) - -Function17a7a6: ; 17a7a6 - ld a, [$d087] - inc a - ld [$d087], a - ret - -Function17a7ae: ; 17a7ae (5e:67ae) - ld a, [$d087] - ld hl, Jumptable_17a7b6 - rst JumpTable - ret - -Jumptable_17a7b6: ; 17a7b6 (5e:67b6) - dw Function17a7c2 - dw Function17a7cd - dw Function17a7d8 - dw Function17a7ff - dw Function17a81a - dw Function17a7f4 - - -Function17a7c2: ; 17a7c2 (5e:67c2) - ld a, $4 - call Function17aad3 - ld a, $1 - ld [$d087], a - ret - -Function17a7cd: ; 17a7cd (5e:67cd) - call Function17a83c - call Function17a8ae - ret c - call Function17a848 - ret - -Function17a7d8: ; 17a7d8 (5e:67d8) - call Function17a83c - call Function17a848 - ld hl, $d08b - dec [hl] - ret nz - call Function17ac1d - call Function17ac2a - ld hl, $d088 - set 7, [hl] - ld a, $1 - ld [$d087], a - ret - -Function17a7f4: ; 17a7f4 (5e:67f4) - ld hl, $d08b - dec [hl] - ret nz - ld hl, $d087 - set 7, [hl] - ret - -Function17a7ff: ; 17a7ff (5e:67ff) - ld hl, $d08b - dec [hl] - ret nz - call Function17ac1d - call Function17ac2a - ld hl, $d088 - set 7, [hl] - ld hl, $d088 - set 5, [hl] - ld hl, $d087 - set 7, [hl] - ret - -Function17a81a: ; 17a81a (5e:681a) - call IsSFXPlaying - ret nc - ld a, [hJoyPressed] - and $3 - ret z - call ExitMenu - call Function17ac1d - call Function17ac2a - ld hl, $d088 - set 7, [hl] - ld hl, $d088 - res 6, [hl] - ld a, $1 - ld [$d087], a - ret - -Function17a83c: ; 17a83c (5e:683c) - ld a, [hJoyLast] - and $f0 - ld c, a - ld a, [hJoyPressed] - and $b - or c - ld c, a - ret - -Function17a848: ; 17a848 (5e:6848) - ld a, c - and $60 - cp $60 - jr z, .asm_17a876 - ld a, c - and $50 - cp $50 - jr z, .asm_17a87d - ld a, c - and $a0 - cp $a0 - jr z, .asm_17a884 - ld a, c - and $90 - cp $90 - jr z, .asm_17a88b - bit 6, c - jr nz, .asm_17a892 - bit 7, c - jr nz, .asm_17a899 - bit 5, c - jr nz, .asm_17a8a0 - bit 4, c - jr nz, .asm_17a8a7 - xor a - ret - -.asm_17a876 - ld a, $9 - call Function17aad0 - scf - ret - -.asm_17a87d - ld a, $a - call Function17aad0 - scf - ret - -.asm_17a884 - ld a, $b - call Function17aad0 - scf - ret - -.asm_17a88b - ld a, $c - call Function17aad0 - scf - ret - -.asm_17a892 - ld a, $5 - call Function17aad0 - scf - ret - -.asm_17a899 - ld a, $6 - call Function17aad0 - scf - ret - -.asm_17a8a0 - ld a, $7 - call Function17aad0 - scf - ret - -.asm_17a8a7 - ld a, $8 - call Function17aad0 - scf - ret - -Function17a8ae: ; 17a8ae (5e:68ae) - bit 1, c - jr nz, .asm_17a8bc - bit 0, c - jr nz, .asm_17a8cc - bit 3, c - jr nz, .asm_17a8d7 - xor a - ret - -.asm_17a8bc - ld a, $b - ld [$d08a], a - call Function17aa98 - call Function17a943 - call Function17aa88 - scf - ret - -.asm_17a8cc - call Function17aad7 - call Function17aa98 - call Function17a8de - scf - ret - -.asm_17a8d7 - ld a, $c - call Function17aad3 - scf - ret - -Function17a8de: ; 17a8de (5e:68de) - ld a, $2 - call Function17aae0 - ld a, [hl] - cp $f1 - jr z, .asm_17a8fd - cp $f0 - jr z, .asm_17a904 - cp $f2 - jr z, .asm_17a911 - ld e, a - call Function17a964 - ld a, $2 - ld [$d087], a - call Function17aa88 - ret - -.asm_17a8fd - call Function17a943 - call Function17aa88 - ret - -.asm_17a904 - call Function17aad7 - call Function17aa98 - call Function17a91e - call Function17aa88 - ret - -.asm_17a911 - call Function17aa98 - ld a, $5 - ld [$d087], a - xor a - call Function17aa88 - ret - -Function17a91e: ; 17a91e (5e:691e) - ld a, [$d08c] - cp $7 - jr c, .asm_17a92c - ld a, $3 - ld [$d087], a - xor a - ret - -.asm_17a92c - call LoadStandardMenuDataHeader - call Function17a99e - ld hl, $d088 - set 7, [hl] - ld hl, $d088 - set 6, [hl] - ld a, $4 - ld [$d087], a - scf - ret - -Function17a943: ; 17a943 (5e:6943) - ld a, [$d08c] - and a - jr z, .asm_17a95d - dec a - ld [$d08c], a - ld c, a - ld b, $0 - ld hl, Buffer1 - add hl, bc - ld [hl], $ff - ld a, $2 - ld [$d087], a - and a - ret - -.asm_17a95d - ld a, $5 - ld [$d087], a - xor a - ret - -Function17a964: ; 17a964 (5e:6964) - ld a, [$d08c] - cp $10 - jr nc, .asm_17a979 - ld c, a - ld b, $0 - inc a - ld [$d08c], a - ld hl, Buffer1 - add hl, bc - ld [hl], e - and a - ret - -.asm_17a979 - scf - ret - -Function17a97b: ; 17a97b (5e:697b) - hlcoord 1, 1 - lb bc, 2, 18 - call ClearBox - hlcoord 3, 2 - ld de, Buffer1 - ld a, [$d08c] - and a - ret z - ld c, a -.asm_17a990 - ld a, [de] - inc de - cp $a - jr nc, .asm_17a99d - add $f6 - ld [hli], a - dec c - jr nz, .asm_17a990 - ret - -.asm_17a99d - ret - -Function17a99e: ; 17a99e (5e:699e) - hlcoord 0, 12 - ld b, $4 - ld c, $12 - call Function17ac46 - hlcoord 2, 14 - ld de, String_17a9b2 - call PlaceString - ret -; 17a9b2 (5e:69b2) - -String_17a9b2: ; 17a9b2 - db "でんわばんごうが ただしく" - next "はいって いません!" - db "@" -; 17a9cb - -Function17a9cb: ; 17a9cb (5e:69cb) - ld de, Sprites ; $c400 - ld hl, $d088 - bit 6, [hl] - jr nz, .bit_6_set - call Function17a9e3 - call Function17aa22 - call Function17a9f5 - ret - -.bit_6_set - call Function17a9e3 - ret - -Function17a9e3: ; 17a9e3 (5e:69e3) - ld a, $3 - ld [$d08e], a - ld hl, Unknown_17aa77 - ld b, $8 - ld c, $8 - ld a, $5 - call Function17aa4a - ret - -Function17a9f5: ; 17a9f5 (5e:69f5) - ld a, [$d08c] - cp $10 - ret nc - ld a, [$d08f] - swap a - and $1 - add $1 - ld [$d08e], a - ld a, [$d08c] - cp $10 - jr c, .okay - dec a -.okay - ld c, $8 - call SimpleMultiply - add $18 - ld b, a - ld c, $11 - ld hl, Unknown_17aa72 - ld a, $4 - call Function17aa4a - ret - -Function17aa22: ; 17aa22 (5e:6a22) - ld a, $0 - ld [$d08e], a - push de - ld a, $3 - call Function17aae0 - add a - add a - add a - add $0 - push af - ld a, $4 - call Function17aae0 - add a - add a - add a - add $8 - ld c, a - pop af - ld b, a - pop de - ld a, $0 - ld hl, Unknown_17aa77 - call Function17aa4a - ret - -Function17aa4a: ; 17aa4a (5e:6a4a) - ld [$d08d], a - ld a, b - add $8 - ld b, a - ld a, c - add $10 - ld c, a - ld a, [hli] -.loop - push af - ld a, [hli] - add c - ld [de], a - inc de - ld a, [hli] - add b - ld [de], a - inc de - ld a, [$d08d] - add [hl] - inc hl - ld [de], a - inc de - ld a, [$d08e] - or [hl] - inc hl - ld [de], a - inc de - pop af - dec a - jr nz, .loop - ret -; 17aa72 (5e:6a72) - -Unknown_17aa72: ; 17aa72 - db 1 - db 0, 0, 0, 0 -; 17aa77 - -Unknown_17aa77: ; 17aa77 - db 4 - db 0, 0, 0, 0 - db 0, 8, 1, 0 - db 8, 0, 2, 0 - db 8, 8, 3, 0 -; 17aa88 - -Function17aa88: ; 17aa88 (5e:6a88) - jr c, asm_17aa91 - ld de, SFX_SWITCH_POKEMON - call PlaySFX - ret - -asm_17aa91: ; 17aa91 (5e:6a91) - ld de, SFX_WRONG - call PlaySFX - ret - -Function17aa98: ; 17aa98 (5e:6a98) - ld a, $5 - ld [$d08b], a - call Function17aaa9 - call Function17aac3 - ld hl, $d088 - set 7, [hl] - ret - -Function17aaa9: ; 17aaa9 (5e:6aa9) - ld a, $3 - call Function17aae3 - ld c, a - ld b, $0 - hlcoord 0, 0, AttrMap - add hl, bc - push hl - ld a, $4 - call Function17aae3 - ld bc, $14 - pop hl - call AddNTimes - ret - -Function17aac3: ; 17aac3 (5e:6ac3) - ld a, $b - push hl - ld [hli], a - ld [hli], a - pop hl - ld de, SCREEN_WIDTH - add hl, de - ld [hli], a - ld [hli], a - ret - -Function17aad0: ; 17aad0 (5e:6ad0) - call Function17aae0 - -Function17aad3: ; 17aad3 (5e:6ad3) - ld [$d089], a - ret - -Function17aad7: ; 17aad7 (5e:6ad7) - push af - ld a, [$d089] - ld [$d08a], a - pop af - ret - -Function17aae0: ; 17aae0 (5e:6ae0) - call Function17aad7 - -Function17aae3: ; 17aae3 (5e:6ae3) - push af - ld a, [$d08a] - ld bc, $d - ld hl, Unknown_17aaf7 - call AddNTimes - pop af - ld c, a - ld b, $0 - add hl, bc - ld a, [hl] - ret -; 17aaf7 (5e:6af7) - -Unknown_17aaf7: ; 17aaf7 - db $0, $0, $1, $6, $5, $9, $3, $2, $1, $2, $1, $2, $4 - db $0, $0, $2, $9, $5, $a, $4, $0, $2, $a, $a, $3, $5 - db $0, $0, $3, $c, $5, $b, $5, $1, $0, $1, $0, $4, $0 - db $0, $0, $4, $6, $8, $0, $6, $5, $4, $5, $1, $5, $7 - db $0, $0, $5, $9, $8, $1, $7, $3, $5, $0, $2, $6, $8 - db $0, $0, $6, $c, $8, $2, $8, $4, $3, $1, $3, $7, $3 - db $0, $0, $7, $6, $b, $3, $9, $8, $7, $8, $4, $8, $a - db $0, $0, $8, $9, $b, $4, $a, $6, $8, $3, $5, $9, $b - db $0, $0, $9, $c, $b, $5, $b, $7, $6, $4, $6, $a, $6 - db $0, $0,$f2, $6, $e, $6, $0, $c, $a, $c, $7, $c, $0 - db $0, $0, $0, $9, $e, $7, $1, $9, $b, $6, $8, $1, $1 - db $0, $0,$f1, $c, $e, $8, $2, $a, $c, $7, $c, $2, $c - db $0, $0,$f0,$10, $e, $c, $c, $b, $9, $b, $9, $b, $9 -; 17aba0 - -Function17aba0: ; 17aba0 (5e:6ba0) - ld a, [rVBK] - push af - ld a, $1 - ld [rVBK], a - - ld hl, VTiles5 tile $00 - ld de, GFX_17afa5 - lb bc, BANK(GFX_17afa5), $80 - call Get2bpp - - pop af - ld [rVBK], a - - ld hl, VTiles0 tile $00 - ld de, GFX_17afa5 + $4c0 - lb bc, BANK(GFX_17afa5), 5 - call Get2bpp - - ld hl, VTiles0 tile $05 - ld de, GFX_11601a - lb bc, BANK(GFX_11601a), 4 - call Get2bpp - ret - -Function17abcf: ; 17abcf (5e:6bcf) - ld a, [rSVBK] - push af - ld a, BANK(UnknBGPals) - ld [rSVBK], a - - ld hl, Palette_17ac55 - ld de, UnknBGPals ; $d000 - ld bc, $30 - call CopyBytes - - ld hl, Palette_17ac95 - ld de, UnknOBPals - ld bc, $40 - call CopyBytes - - ld hl, GFX_17afa5 + $510 - ld de, UnknOBPals + 2 * 4 - ld bc, $10 - call CopyBytes - - ld hl, MapObjectPals + 8 - ld de, UnknOBPals + 6 * 4 - ld bc, $8 - ld a, BANK(MapObjectPals) - call FarCopyBytes - - pop af - ld [rSVBK], a - ret - -Function17ac0c: ; 17ac0c (5e:6c0c) - call Function17ac1d - call Function17ac2a - hlcoord 0, 0 - ld b, 2 - ld c, SCREEN_WIDTH - 2 - call Function17ac46 - ret - -Function17ac1d: ; 17ac1d (5e:6c1d) - ld hl, Tilemap_17acd5 - decoord 0, 4 - ld bc, (SCREEN_HEIGHT - 4) * SCREEN_WIDTH - call CopyBytes - ret - -Function17ac2a: ; 17ac2a (5e:6c2a) - ld hl, Tilemap_17ae3d - decoord 0, 4, AttrMap - ld bc, (SCREEN_HEIGHT - 4) * SCREEN_WIDTH - call CopyBytes - hlcoord 0, 4, AttrMap - ld bc, (SCREEN_HEIGHT - 4) * SCREEN_WIDTH -.loop - ld a, [hl] - or $8 - ld [hli], a - dec bc - ld a, b - or c - jr nz, .loop - ret - -Function17ac46: ; 17ac46 (5e:6c46) - ld a, [$d088] - bit 4, a - jr nz, .bit_4_set - call TextBox - ret - -.bit_4_set - call Function3eea - ret -; 17ac55 (5e:6c55) - -Palette_17ac55: ; 17ac55 - RGB 0, 0, 0 - RGB 9, 10, 25 - RGB 16, 19, 31 - RGB 31, 31, 31 - - RGB 5, 11, 9 - RGB 7, 14, 12 - RGB 17, 24, 22 - RGB 28, 31, 31 - - RGB 0, 0, 0 - RGB 3, 0, 10 - RGB 3, 3, 16 - RGB 6, 8, 25 - - RGB 5, 11, 9 - RGB 28, 31, 31 - RGB 7, 14, 12 - RGB 17, 24, 22 - - RGB 0, 0, 0 - RGB 5, 2, 16 - RGB 8, 8, 26 - RGB 13, 9, 17 - - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - -Palette_17ac95: ; 17ac95 - RGB 31, 31, 31 - RGB 4, 3, 3 - RGB 31, 13, 0 - RGB 31, 31, 31 - - RGB 31, 31, 31 - RGB 0, 0, 0 - RGB 31, 31, 31 - RGB 31, 31, 31 - - RGB 31, 0, 0 - RGB 16, 3, 0 - RGB 28, 19, 11 - RGB 31, 31, 31 - - RGB 31, 16, 0 - RGB 9, 6, 4 - RGB 31, 16, 0 - RGB 31, 24, 0 - - RGB 31, 18, 6 - RGB 0, 3, 0 - RGB 0, 9, 0 - RGB 0, 12, 0 - - RGB 0, 16, 0 - RGB 0, 22, 0 - RGB 0, 25, 0 - RGB 0, 27, 0 - - RGB 0, 31, 0 - RGB 3, 31, 0 - RGB 8, 31, 0 - RGB 14, 31, 0 - - RGB 16, 31, 0 - RGB 22, 31, 0 - RGB 27, 31, 0 - RGB 31, 31, 0 - -Tilemap_17acd5: ; 17acd5 -INCBIN "gfx/unknown/17acd5.tilemap" - -Tilemap_17ae3d: ; 17ae3d -INCBIN "gfx/unknown/17ae3d.tilemap" - -GFX_17afa5:: ; 17afa5 -INCBIN "gfx/unknown/17afa5.2bpp" diff --git a/misc/stadium2_1.bin b/misc/stadium2_1.bin deleted file mode 100644 index 155e8bab8..000000000 Binary files a/misc/stadium2_1.bin and /dev/null differ diff --git a/misc/stadium2_2.bin b/misc/stadium2_2.bin deleted file mode 100644 index 2273d94f3..000000000 Binary files a/misc/stadium2_2.bin and /dev/null differ diff --git a/mobile/battle_tower_47.asm b/mobile/battle_tower_47.asm new file mode 100755 index 000000000..d0ca6edd8 --- /dev/null +++ b/mobile/battle_tower_47.asm @@ -0,0 +1,784 @@ +BattleTowerText:: ; 11c000 +; Print text c for trainer [BT_OTTrainerClass] +; 1: Intro text +; 2: Player lost +; 3: Player won + ld a, [rSVBK] + push af + ld a, 3 ; BANK(BT_OTTrainerClass) + ld [rSVBK], a +IF DEF(CRYSTAL11) + ld hl, BT_OTTrainerClass +ELSE + ld hl, BT_OTName + 5 +; BUG ALERT +; Instead of loading the Trainer Class, this routine +; loads the 6th character in the Trainer's name, then +; uses it to get the gender of the trainer. +; As a consequence, the enemy trainer's dialog will +; always be sampled from the female array. +ENDC + ld a, [hl] + dec a + ld e, a + ld d, 0 + ld hl, BTTrainerClassGenders + add hl, de + ld a, [hl] + and a + jr nz, .female + ; generate a random number between 0 and 24 + ld a, [hRandomAdd] + and $1f + cp 25 + jr c, .okay0 + sub 25 + +.okay0 + ld hl, BTMaleTrainerTexts + jr .proceed + +.female + ; generate a random number between 0 and 14 + ld a, [hRandomAdd] + and $f + cp 15 + jr c, .okay1 + sub 15 + +.okay1 + ld hl, BTFemaleTrainerTexts + +.proceed + ld b, 0 + dec c + jr nz, .restore + ld [BT_TrainerTextIndex], a + jr .okay2 + +.restore + ld a, [BT_TrainerTextIndex] + +.okay2 + push af + add hl, bc + add hl, bc + ld a, [hli] + ld c, a + ld a, [hl] + ld h, a + ld l, c + pop af + ld c, a + ld b, 0 + add hl, bc + add hl, bc + ld a, [hli] + ld c, a + ld a, [hl] + ld l, c + ld h, a + bccoord 1, 14 + pop af + ld [rSVBK], a + call PlaceHLTextAtBC + ret +; 11c05d + +INCLUDE "mobile/fixed_words.asm" + +BTTrainerClassGenders: ; 11f2f0 + db MALE ; FALKNER + db FEMALE ; WHITNEY + db FEMALE ; BUGSY + db MALE ; MORTY + db MALE ; PRYCE + db FEMALE ; JASMINE + db MALE ; CHUCK + db FEMALE ; CLAIR + db MALE ; RIVAL1 + db MALE ; POKEMON_PROF + db FEMALE ; WILL + db MALE ; CAL + db MALE ; BRUNO + db FEMALE ; KAREN + db MALE ; KOGA + db MALE ; CHAMPION + db MALE ; BROCK + db FEMALE ; MISTY + db MALE ; LT_SURGE + db MALE ; SCIENTIST + db FEMALE ; ERIKA + db MALE ; YOUNGSTER + db MALE ; SCHOOLBOY + db MALE ; BIRD_KEEPER + db FEMALE ; LASS + db FEMALE ; JANINE + db MALE ; COOLTRAINERM + db FEMALE ; COOLTRAINERF + db FEMALE ; BEAUTY + db MALE ; POKEMANIAC + db MALE ; GRUNTM + db MALE ; GENTLEMAN + db FEMALE ; SKIER + db FEMALE ; TEACHER + db FEMALE ; SABRINA + db MALE ; BUG_CATCHER + db MALE ; FISHER + db MALE ; SWIMMERM + db FEMALE ; SWIMMERF + db MALE ; SAILOR + db MALE ; SUPER_NERD + db MALE ; RIVAL2 + db MALE ; GUITARIST + db MALE ; HIKER + db MALE ; BIKER + db MALE ; BLAINE + db MALE ; BURGLAR + db MALE ; FIREBREATHER + db MALE ; JUGGLER + db MALE ; BLACKBELT_T + db MALE ; EXECUTIVEM + db MALE ; PSYCHIC_T + db FEMALE ; PICNICKER + db MALE ; CAMPER + db FEMALE ; EXECUTIVEF + db MALE ; SAGE + db FEMALE ; MEDIUM + db MALE ; BOARDER + db MALE ; POKEFANM + db FEMALE ; KIMONO_GIRL + db FEMALE ; TWINS + db FEMALE ; POKEFANF + db MALE ; RED + db MALE ; BLUE + db MALE ; OFFICER + db FEMALE ; GRUNTF + + +BTMaleTrainerTexts: ; 11f332 + dw .Greetings + dw .PlayerLost + dw .PlayerWon + +.Greetings: ; 11f338 + dw BTGreetingM1 + dw BTGreetingM2 + dw BTGreetingM3 + dw BTGreetingM4 + dw BTGreetingM5 + dw BTGreetingM6 + dw BTGreetingM7 + dw BTGreetingM8 + dw BTGreetingM9 + dw BTGreetingM10 + dw BTGreetingM11 + dw BTGreetingM12 + dw BTGreetingM13 + dw BTGreetingM14 + dw BTGreetingM15 + dw BTGreetingM16 + dw BTGreetingM17 + dw BTGreetingM18 + dw BTGreetingM19 + dw BTGreetingM20 + dw BTGreetingM21 + dw BTGreetingM22 + dw BTGreetingM23 + dw BTGreetingM24 + dw BTGreetingM25 + +.PlayerLost: ; 11f36a + dw BTLossM1 + dw BTLossM2 + dw BTLossM3 + dw BTLossM4 + dw BTLossM5 + dw BTLossM6 + dw BTLossM7 + dw BTLossM8 + dw BTLossM9 + dw BTLossM10 + dw BTLossM11 + dw BTLossM12 + dw BTLossM13 + dw BTLossM14 + dw BTLossM15 + dw BTLossM16 + dw BTLossM17 + dw BTLossM18 + dw BTLossM19 + dw BTLossM20 + dw BTLossM21 + dw BTLossM22 + dw BTLossM23 + dw BTLossM24 + dw BTLossM25 + +.PlayerWon: ; 11f39c + dw BTWinM1 + dw BTWinM2 + dw BTWinM3 + dw BTWinM4 + dw BTWinM5 + dw BTWinM6 + dw BTWinM7 + dw BTWinM8 + dw BTWinM9 + dw BTWinM10 + dw BTWinM11 + dw BTWinM12 + dw BTWinM13 + dw BTWinM14 + dw BTWinM15 + dw BTWinM16 + dw BTWinM17 + dw BTWinM18 + dw BTWinM19 + dw BTWinM20 + dw BTWinM21 + dw BTWinM22 + dw BTWinM23 + dw BTWinM24 + dw BTWinM25 + + +BTFemaleTrainerTexts: + dw .Greetings + dw .PlayerLost + dw .PlayerWon + +.Greetings: ; 11f3d4 + dw BTGreetingF1 + dw BTGreetingF2 + dw BTGreetingF3 + dw BTGreetingF4 + dw BTGreetingF5 + dw BTGreetingF6 + dw BTGreetingF7 + dw BTGreetingF8 + dw BTGreetingF9 + dw BTGreetingF10 + dw BTGreetingF11 + dw BTGreetingF12 + dw BTGreetingF13 + dw BTGreetingF14 + dw BTGreetingF15 + +.PlayerLost: ; 11f3f2 + dw BTLossF1 + dw BTLossF2 + dw BTLossF3 + dw BTLossF4 + dw BTLossF5 + dw BTLossF6 + dw BTLossF7 + dw BTLossF8 + dw BTLossF9 + dw BTLossF10 + dw BTLossF11 + dw BTLossF12 + dw BTLossF13 + dw BTLossF14 + dw BTLossF15 + +.PlayerWon: ; 11f410 + dw BTWinF1 + dw BTWinF2 + dw BTWinF3 + dw BTWinF4 + dw BTWinF5 + dw BTWinF6 + dw BTWinF7 + dw BTWinF8 + dw BTWinF9 + dw BTWinF10 + dw BTWinF11 + dw BTWinF12 + dw BTWinF13 + dw BTWinF14 + dw BTWinF15 + + +BTGreetingM1: ; 0x11f42e + text_jump BattleTowerText_0x1ec000 + db "@" + +BTLossM1: ; 0x11f433 + text_jump BattleTowerText_0x1ec03b + db "@" + +BTWinM1: ; 0x11f438 + text_jump UnknownText_0x1ec060 + db "@" + +BTGreetingM2: ; 0x11f43d + text_jump BattleTowerText_0x1ec080 + db "@" + +BTLossM2: ; 0x11f442 + text_jump UnknownText_0x1ec0a3 + db "@" + +BTWinM2: ; 0x11f447 + text_jump UnknownText_0x1ec0c4 + db "@" + +BTGreetingM3: ; 0x11f44c + text_jump UnknownText_0x1ec0e1 + db "@" + +BTLossM3: ; 0x11f451 + text_jump UnknownText_0x1ec108 + db "@" + +BTWinM3: ; 0x11f456 + text_jump UnknownText_0x1ec12a + db "@" + +BTGreetingM4: ; 0x11f45b + text_jump UnknownText_0x1ec14d + db "@" + +BTLossM4: ; 0x11f460 + text_jump UnknownText_0x1ec16f + db "@" + +BTWinM4: ; 0x11f465 + text_jump UnknownText_0x1ec190 + db "@" + +BTGreetingM5: ; 0x11f46a + text_jump UnknownText_0x1ec1ae + db "@" + +BTLossM5: ; 0x11f46f + text_jump UnknownText_0x1ec1d0 + db "@" + +BTWinM5: ; 0x11f474 + text_jump UnknownText_0x1ec1f4 + db "@" + +BTGreetingM6: ; 0x11f479 + text_jump UnknownText_0x1ec216 + db "@" + +BTLossM6: ; 0x11f47e + text_jump UnknownText_0x1ec238 + db "@" + +BTWinM6: ; 0x11f483 + text_jump UnknownText_0x1ec259 + db "@" + +BTGreetingM7: ; 0x11f488 + text_jump UnknownText_0x1ec27b + db "@" + +BTLossM7: ; 0x11f48d + text_jump UnknownText_0x1ec2a0 + db "@" + +BTWinM7: ; 0x11f492 + text_jump UnknownText_0x1ec2c0 + db "@" + +BTGreetingM8: ; 0x11f497 + text_jump UnknownText_0x1ec2d9 + db "@" + +BTLossM8: ; 0x11f49c + text_jump UnknownText_0x1ec2fe + db "@" + +BTWinM8: ; 0x11f4a1 + text_jump UnknownText_0x1ec320 + db "@" + +BTGreetingM9: ; 0x11f4a6 + text_jump UnknownText_0x1ec33f + db "@" + +BTLossM9: ; 0x11f4ab + text_jump UnknownText_0x1ec36c + db "@" + +BTWinM9: ; 0x11f4b0 + text_jump UnknownText_0x1ec389 + db "@" + +BTGreetingM10: ; 0x11f4b5 + text_jump UnknownText_0x1ec3ad + db "@" + +BTLossM10: ; 0x11f4ba + text_jump UnknownText_0x1ec3c5 + db "@" + +BTWinM10: ; 0x11f4bf + text_jump UnknownText_0x1ec3e5 + db "@" + +BTGreetingM11: ; 0x11f4c4 + text_jump UnknownText_0x1ec402 + db "@" + +BTLossM11: ; 0x11f4c9 + text_jump UnknownText_0x1ec411 + db "@" + +BTWinM11: ; 0x11f4ce + text_jump UnknownText_0x1ec41f + db "@" + +BTGreetingM12: ; 0x11f4d3 + text_jump UnknownText_0x1ec42e + db "@" + +BTLossM12: ; 0x11f4d8 + text_jump UnknownText_0x1ec461 + db "@" + +BTWinM12: ; 0x11f4dd + text_jump UnknownText_0x1ec4a0 + db "@" + +BTGreetingM13: ; 0x11f4e2 + text_jump UnknownText_0x1ec4d6 + db "@" + +BTLossM13: ; 0x11f4e7 + text_jump UnknownText_0x1ec4f5 + db "@" + +BTWinM13: ; 0x11f4ec + text_jump UnknownText_0x1ec512 + db "@" + +BTGreetingM14: ; 0x11f4f1 + text_jump UnknownText_0x1ec532 + db "@" + +BTLossM14: ; 0x11f4f6 + text_jump UnknownText_0x1ec54b + db "@" + +BTWinM14: ; 0x11f4fb + text_jump UnknownText_0x1ec565 + db "@" + +BTGreetingM15: ; 0x11f500 + text_jump UnknownText_0x1ec580 + db "@" + +BTLossM15: ; 0x11f505 + text_jump UnknownText_0x1ec59d + db "@" + +BTWinM15: ; 0x11f50a + text_jump UnknownText_0x1ec5b5 + db "@" + +BTGreetingM16: ; 0x11f50f + text_jump UnknownText_0x1ec5d3 + db "@" + +BTLossM16: ; 0x11f514 + text_jump UnknownText_0x1ec5ee + db "@" + +BTWinM16: ; 0x11f519 + text_jump UnknownText_0x1ec60d + db "@" + +BTGreetingM17: ; 0x11f51e + text_jump UnknownText_0x1ec631 + db "@" + +BTLossM17: ; 0x11f523 + text_jump UnknownText_0x1ec651 + db "@" + +BTWinM17: ; 0x11f528 + text_jump UnknownText_0x1ec68f + db "@" + +BTGreetingM18: ; 0x11f52d + text_jump UnknownText_0x1ec6b1 + db "@" + +BTLossM18: ; 0x11f532 + text_jump UnknownText_0x1ec6d0 + db "@" + +BTWinM18: ; 0x11f537 + text_jump UnknownText_0x1ec708 + db "@" + +BTGreetingM19: ; 0x11f53c + text_jump UnknownText_0x1ec720 + db "@" + +BTLossM19: ; 0x11f541 + text_jump UnknownText_0x1ec73e + db "@" + +BTWinM19: ; 0x11f546 + text_jump UnknownText_0x1ec75b + db "@" + +BTGreetingM20: ; 0x11f54b + text_jump UnknownText_0x1ec77f + db "@" + +BTLossM20: ; 0x11f550 + text_jump UnknownText_0x1ec798 + db "@" + +BTWinM20: ; 0x11f555 + text_jump UnknownText_0x1ec7bb + db "@" + +BTGreetingM21: ; 0x11f55a + text_jump UnknownText_0x1ec7d8 + db "@" + +BTLossM21: ; 0x11f55f + text_jump UnknownText_0x1ec818 + db "@" + +BTWinM21: ; 0x11f564 + text_jump UnknownText_0x1ec837 + db "@" + +BTGreetingM22: ; 0x11f569 + text_jump UnknownText_0x1ec858 + db "@" + +BTLossM22: ; 0x11f56e + text_jump UnknownText_0x1ec876 + db "@" + +BTWinM22: ; 0x11f573 + text_jump UnknownText_0x1ec898 + db "@" + +BTGreetingM23: ; 0x11f578 + text_jump UnknownText_0x1ec8b1 + db "@" + +BTLossM23: ; 0x11f57d + text_jump UnknownText_0x1ec8d5 + db "@" + +BTWinM23: ; 0x11f582 + text_jump UnknownText_0x1ec8f0 + db "@" + +BTGreetingM24: ; 0x11f587 + text_jump UnknownText_0x1ec911 + db "@" + +BTLossM24: ; 0x11f58c + text_jump UnknownText_0x1ec928 + db "@" + +BTWinM24: ; 0x11f591 + text_jump UnknownText_0x1ec949 + db "@" + +BTGreetingM25: ; 0x11f596 + text_jump UnknownText_0x1ec969 + db "@" + +BTLossM25: ; 0x11f59b + text_jump UnknownText_0x1ec986 + db "@" + +BTWinM25: ; 0x11f5a0 + text_jump UnknownText_0x1ec99b + db "@" + + + + +BTGreetingF1: ; 0x11f5a5 + text_jump UnknownText_0x1ec9bd + db "@" + +BTLossF1: ; 0x11f5aa + text_jump UnknownText_0x1ec9d9 + db "@" + +BTWinF1: ; 0x11f5af + text_jump UnknownText_0x1ec9f7 + db "@" + +BTGreetingF2: ; 0x11f5b4 + text_jump UnknownText_0x1eca0a + db "@" + +BTLossF2: ; 0x11f5b9 + text_jump UnknownText_0x1eca2a + db "@" + +BTWinF2: ; 0x11f5be + text_jump UnknownText_0x1eca47 + db "@" + +BTGreetingF3: ; 0x11f5c3 + text_jump UnknownText_0x1eca64 + db "@" + +BTLossF3: ; 0x11f5c8 + text_jump UnknownText_0x1eca82 + db "@" + +BTWinF3: ; 0x11f5cd + text_jump UnknownText_0x1eca9d + db "@" + +BTGreetingF4: ; 0x11f5d2 + text_jump UnknownText_0x1ecabf + db "@" + +BTLossF4: ; 0x11f5d7 + text_jump UnknownText_0x1ecade + db "@" + +BTWinF4: ; 0x11f5dc + text_jump UnknownText_0x1ecafa + db "@" + +BTGreetingF5: ; 0x11f5e1 + text_jump UnknownText_0x1ecb19 + db "@" + +BTLossF5: ; 0x11f5e6 + text_jump UnknownText_0x1ecb37 + db "@" + +BTWinF5: ; 0x11f5eb + text_jump UnknownText_0x1ecb55 + db "@" + +BTGreetingF6: ; 0x11f5f0 + text_jump UnknownText_0x1ecb70 + db "@" + +BTLossF6: ; 0x11f5f5 + text_jump UnknownText_0x1ecb92 + db "@" + +BTWinF6: ; 0x11f5fa + text_jump UnknownText_0x1ecbb6 + db "@" + +BTGreetingF7: ; 0x11f5ff + text_jump UnknownText_0x1ecbd9 + db "@" + +BTLossF7: ; 0x11f604 + text_jump UnknownText_0x1ecbf3 + db "@" + +BTWinF7: ; 0x11f609 + text_jump UnknownText_0x1ecc15 + db "@" + +BTGreetingF8: ; 0x11f60e + text_jump UnknownText_0x1ecc39 + db "@" + +BTLossF8: ; 0x11f613 + text_jump UnknownText_0x1ecc55 + db "@" + +BTWinF8: ; 0x11f618 + text_jump UnknownText_0x1ecc75 + db "@" + +BTGreetingF9: ; 0x11f61d + text_jump UnknownText_0x1ecc92 + db "@" + +BTLossF9: ; 0x11f622 + text_jump UnknownText_0x1ecca7 + db "@" + +BTWinF9: ; 0x11f627 + text_jump UnknownText_0x1eccc1 + db "@" + +BTGreetingF10: ; 0x11f62c + text_jump UnknownText_0x1eccd7 + db "@" + +BTLossF10: ; 0x11f631 + text_jump UnknownText_0x1eccef + db "@" + +BTWinF10: ; 0x11f636 + text_jump UnknownText_0x1ecd0e + db "@" + +BTGreetingF11: ; 0x11f63b + text_jump UnknownText_0x1ecd2b + db "@" + +BTLossF11: ; 0x11f640 + text_jump UnknownText_0x1ecd4d + db "@" + +BTWinF11: ; 0x11f645 + text_jump UnknownText_0x1ecd6b + db "@" + +BTGreetingF12: ; 0x11f64a + text_jump UnknownText_0x1ecd8d + db "@" + +BTLossF12: ; 0x11f64f + text_jump UnknownText_0x1ecdaf + db "@" + +BTWinF12: ; 0x11f654 + text_jump UnknownText_0x1ecdcf + db "@" + +BTGreetingF13: ; 0x11f659 + text_jump UnknownText_0x1ecded + db "@" + +BTLossF13: ; 0x11f65e + text_jump UnknownText_0x1ece0d + db "@" + +BTWinF13: ; 0x11f663 + text_jump UnknownText_0x1ece2a + db "@" + +BTGreetingF14: ; 0x11f668 + text_jump UnknownText_0x1ece4b + db "@" + +BTLossF14: ; 0x11f66d + text_jump UnknownText_0x1ece70 + db "@" + +BTWinF14: ; 0x11f672 + text_jump UnknownText_0x1ece8a + db "@" + +BTGreetingF15: ; 0x11f677 + text_jump UnknownText_0x1ecea8 + db "@" + +BTLossF15: ; 0x11f67c + text_jump UnknownText_0x1ecec9 + db "@" + +BTWinF15: ; 0x11f681 + text_jump UnknownText_0x1ecee8 + db "@" diff --git a/mobile/battle_tower_5c.asm b/mobile/battle_tower_5c.asm new file mode 100755 index 000000000..462e4f75a --- /dev/null +++ b/mobile/battle_tower_5c.asm @@ -0,0 +1,1772 @@ +BattleTowerRoomMenu: ; 1700b0 +; special + call InitBattleTowerChallengeRAM + callba _BattleTowerRoomMenu + ret +; 1700ba + +Function1700ba: ; 1700ba + call InitBattleTowerChallengeRAM + callba Function11811a + ret +; 1700c4 + +Function1700c4: ; 1700c4 + ld a, [rSVBK] + push af + ld a, $3 + ld [rSVBK], a + + call Function17042c + + ld a, $5 + call GetSRAMBank + ld a, $1 + ld [$be45], a + xor a + ld [$be46], a + ld hl, w3_dffc + ld de, $aa41 + ld bc, 4 + call CopyBytes + ld hl, w3_d202Name + ld de, $aa8e + ld bc, 7 * $cc ; length of battle tower struct from japanese games? + call CopyBytes + ld hl, $aa5d ; some sort of count + ld a, [hl] + inc [hl] + inc hl + sla a + sla a + ld e, a + ld d, $0 + add hl, de + ld e, l + ld d, h + ld hl, w3_dffc + ld bc, 4 + call CopyBytes + call CloseSRAM + pop af + ld [rSVBK], a + ret +; 170114 + +Function170114: ; 170114 + call InitBattleTowerChallengeRAM + call .Function170121 + callba Function11805f + ret +; 170121 + +.Function170121: ; 170121 + ld a, $5 + call GetSRAMBank + ld hl, $a948 + ld de, wMisc + ld bc, $f6 ; 246 + call CopyBytes + call CloseSRAM + call Function170c8b + ret +; 170139 + +Function170139: ; 170139 +; Convert the 4-digit decimal number at 5:aa41 into binary + ld a, $5 + call GetSRAMBank + ld de, $aa41 + ld h, $0 + ld l, h + ld bc, 1000 + call .DecToBin + ld bc, 100 + call .DecToBin + ld bc, 10 + call .DecToBin + ld a, [de] + ld c, a + ld b, $0 + add hl, bc + call CloseSRAM +; Store that number in wMisc + ld a, h + ld [wMisc], a + ld a, l + ld [wMisc + 1], a + ld hl, wBT_OTTempPkmn1DVs + ld a, [PlayerID] + ld [hli], a + ld a, [PlayerID + 1] + ld [hli], a + ld a, [wSecretID] + ld [hli], a + ld a, [wSecretID + 1] + ld [hli], a + ld e, l + ld d, h + ld hl, PlayerName + ld bc, 5 ; Japanese name length + call CopyBytes + ld bc, PlayerID + ld de, PlayerGender + callba GetMobileOTTrainerClass + ld de, wBT_OTTempPkmn1CaughtGender + ld a, c + ld [de], a + inc de + ld a, PartyMons % $100 + ld [wcd49], a + ld a, PartyMons / $100 + ld [wcd4a], a + ld a, PartyMonNicknames % $100 + ld [wcd4b], a + ld a, PartyMonNicknames / $100 + ld [wcd4c], a + ld a, 3 +.CopyLoop: + push af + ld a, [wcd49] + ld l, a + ld a, [wcd4a] + ld h, a + ld bc, PARTYMON_STRUCT_LENGTH + call CopyBytes + ld a, l + ld [wcd49], a + ld a, h + ld [wcd4a], a + ld a, [wcd4b] + ld l, a + ld a, [wcd4c] + ld h, a + ld bc, $0006 + call CopyBytes + ld a, l + ld [wcd4b], a + ld a, h + ld [wcd4c], a + pop af + dec a + jr nz, .CopyLoop + ld a, $4 + call GetSRAMBank + ld hl, $a013 + ld bc, $24 + call CopyBytes + call CloseSRAM + ld a, $5 + call GetSRAMBank + ld hl, $a894 + ld bc, 6 + call CopyBytes + ld hl, wMisc + ld de, $a948 + ld bc, $f6 + call CopyBytes + call CloseSRAM + ret +; 17020c + +.DecToBin: ; 17020c + ld a, [de] + inc de + and a + ret z + +.digit_loop + add hl, bc + dec a + jr nz, .digit_loop + ret +; 170215 + +BattleTowerBattle: ; 170215 + xor a + ld [wBattleTowerBattleEnded], a + call _BattleTowerBattle + ret +; 17021d + +EmptySpecial_17021d: ; 17021d + ret +; 17021e + +InitBattleTowerChallengeRAM: ; 17021e + xor a + ld [wBattleTowerBattleEnded], a + ld [wNrOfBeatenBattleTowerTrainers], a + ld [wcf65], a + ld [wcf66], a + ret +; 17022c + +_BattleTowerBattle: ; 17022c +.loop + call .do_dw + call DelayFrame + ld a, [wBattleTowerBattleEnded] + cp $1 + jr nz, .loop + ret +; 17023a + +.do_dw ; 17023a + ld a, [wBattleTowerBattleEnded] + ld e, a + ld d, 0 + ld hl, .dw + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp hl +; 170249 + +.dw ; 170249 + dw RunBattleTowerTrainer + dw SkipBattleTowerTrainer +; 17024d + +RunBattleTowerTrainer: ; 17024d + ld a, [Options] + push af + ld hl, Options + set BATTLE_SHIFT, [hl] ; SET MODE + + ld a, [InBattleTowerBattle] + push af + or $1 + ld [InBattleTowerBattle], a + + xor a + ld [wLinkMode], a + callba TrainerRankings_Healings + callba HealParty + call ReadBTTrainerParty + call Clears5_a89a + + predef StartBattle + + callba LoadPokemonData + callba HealParty + ld a, [wBattleResult] + ld [ScriptVar], a + and a + jr nz, .lost + ld a, BANK(sNrOfBeatenBattleTowerTrainers) + call GetSRAMBank + ld a, [sNrOfBeatenBattleTowerTrainers] + ld [wNrOfBeatenBattleTowerTrainers], a + call CloseSRAM + ld hl, StringBuffer3 + ld a, [wNrOfBeatenBattleTowerTrainers] + add "1" + ld [hli], a + ld a, "@" + ld [hl], a + +.lost + pop af + ld [InBattleTowerBattle], a + pop af + ld [Options], a + ld a, $1 + ld [wBattleTowerBattleEnded], a + ret + + +ReadBTTrainerParty: ; 1702b7 +; Initialise the BattleTower-Trainer and his Pkmn + call CopyBTTrainer_FromBT_OT_TowBT_OTTemp + +; Check the nicknames for illegal characters, and replace bad nicknames +; with their species names. + ld de, wBT_OTTempPkmn1Name ; $c643 + ld c, PKMN_NAME_LENGTH + callba CheckStringForErrors + jr nc, .skip_mon_1 + + ld a, [wBT_OTTempPkmn1] + ld [wNamedObjectIndexBuffer], a + call GetPokemonName + ld l, e + ld h, d + ld de, wBT_OTTempPkmn1Name ; $c643 + ld bc, PKMN_NAME_LENGTH + call CopyBytes + +.skip_mon_1 + ld de, wBT_OTTempPkmn2Name ; $c67e + ld c, PKMN_NAME_LENGTH + callba CheckStringForErrors + jr nc, .skip_mon_2 + ld a, [wBT_OTTempPkmn2] ; [$c64e] + ld [wNamedObjectIndexBuffer], a + call GetPokemonName + ld l, e + ld h, d + ld de, wBT_OTTempPkmn2Name ; $c67e + ld bc, PKMN_NAME_LENGTH + call CopyBytes + +.skip_mon_2 + ld de, wBT_OTTempPkmn3Name ; $c686 + 51 = $c6b9 + ld c, PKMN_NAME_LENGTH + callba CheckStringForErrors + jr nc, .skip_mon_3 + ld a, [wBT_OTTempPkmn3] ; [$c689] + ld [wNamedObjectIndexBuffer], a + call GetPokemonName + ld l, e + ld h, d + ld de, wBT_OTTempPkmn3Name ; $c686 + 51 = $c6b9 + ld bc, PKMN_NAME_LENGTH + call CopyBytes + +.skip_mon_3 +; Add the terminator character to each of these names + ld a, "@" + ld [wBT_OTTempPkmn1NameEnd - 1], a ; $c64d + ld [wBT_OTTempPkmn2NameEnd - 1], a ; $c688 + ld [wBT_OTTempPkmn3NameEnd - 1], a ; $c68a + 57 = $c6c3 +; Fix errors in the movesets + call CheckBTMonMovesForErrors +; Repair the trainer name if needed, then copy it to OTPlayerName + ld de, wBT_OTTempName + ld c, NAME_LENGTH - 1 + callba CheckStringForErrors + jr nc, .trainer_name_okay + ld hl, BT_ChrisName + jr .done_trainer_name + +.trainer_name_okay + ld hl, wBT_OTTempName ; 0xc608 + +.done_trainer_name + ld de, OTPlayerName + ld bc, NAME_LENGTH - 1 + call CopyBytes + ld a, "@" + ld [de], a + + ld hl, wBT_OTTempTrainerClass + ld a, [hli] + ld [OtherTrainerClass], a + ld a, OTPartyMonNicknames % $100 + ld [BGMapBuffer], a + ld a, OTPartyMonNicknames / $100 + ld [BGMapBuffer + 1], a + + ; Copy Pkmn into Memory from the address in hl + ld de, OTPartyMon1Species + ld bc, OTPartyCount + ld a, BATTLETOWER_NROFPKMNS ; Number of Pkmn the BattleTower-Trainer has + ld [bc], a + inc bc +.otpartymon_loop + push af + ld a, [hl] + ld [bc], a + inc bc + push bc + ld bc, PARTYMON_STRUCT_LENGTH + call CopyBytes + push de + ld a, [BGMapBuffer] + ld e, a + ld a, [BGMapBuffer + 1] + ld d, a + ld bc, PKMN_NAME_LENGTH + call CopyBytes + ld a, e + ld [BGMapBuffer], a + ld a, d + ld [BGMapBuffer + 1], a + pop de + pop bc + pop af + dec a + and a + jr nz, .otpartymon_loop + ld a, -1 + ld [bc], a + ret +; 170394 + +ValidateBTParty: ; 170394 +; Check for and fix errors in party data + ld hl, wBT_OTTempPkmn1Species + ld d, BATTLETOWER_NROFPKMNS +.pkmn_loop + push de + push hl + ld b, h + ld c, l + ld a, [hl] + and a +idx = $ff +rept ($ff +- NUM_POKEMON) + jr z, .invalid + cp idx +idx = idx +- 1 +endr + jr nz, .valid + +.invalid + ld a, SMEARGLE + ld [hl], a + +.valid + ld [CurSpecies], a + call GetBaseData + ld a, $5 + call GetSRAMBank + ld a, [$b2fb] ; s5_b2fb ; max level? + call CloseSRAM + ld e, a + ld hl, MON_LEVEL + add hl, bc + ld a, [hl] + cp MIN_LEVEL + ld a, MIN_LEVEL + jr c, .load + ld a, [hl] + cp e + jr c, .dont_load + ld a, e + +.load + ld [hl], a + +.dont_load + ld [CurPartyLevel], a + ld hl, MON_MOVES + add hl, bc + ld d, NUM_MOVES - 1 + ld a, [hli] + and a + jr z, .not_move + cp NUM_ATTACKS + 1 + jr nc, .not_move + jr .valid_move + +.not_move + dec hl + ld a, POUND + ld [hli], a + xor a + ld [hli], a + ld [hli], a + ld [hl], a + jr .done_moves + +.valid_move + ld a, [hl] + cp NUM_ATTACKS + 1 + jr c, .next + ld [hl], $0 + +.next + inc hl + dec d + jr nz, .valid_move + +.done_moves + ld hl, MON_MAXHP + add hl, bc + ld d, h + ld e, l + push hl + push de + ld hl, MON_STAT_EXP - 1 + add hl, bc + ld b, $1 + predef CalcPkmnStats + pop de + pop hl + dec de + dec de + ld a, [hli] + ld [de], a + inc de + ld a, [hl] + ld [de], a + pop hl + ld bc, PARTYMON_STRUCT_LENGTH + PKMN_NAME_LENGTH + add hl, bc + pop de + dec d + jp nz, .pkmn_loop + ret +; 170426 + +BT_ChrisName: ; 170426 + db "CHRIS@" +; 17042c + +Function17042c: ; 17042c + ld hl, w3_d202TrainerData + ld a, BATTLETOWER_NROFTRAINERS +.loop + push af + push hl + ld c, BATTLETOWER_TRAINERDATALENGTH / 2 +.loop2 + ; First byte is a comparison value. + ld a, [hli] + ld b, a + ; Second byte is a lookup index. + ld a, [hli] + and a + jr z, .empty + cp 15 + jr nc, .copy_data + + push hl + ld hl, Unknown_170470 + dec a + ld e, a + ld d, 0 + add hl, de + ld a, [hl] + pop hl + + ; If Unknown_170470[a-1] <= b, overwrite the current trainer's data + ; with Unknown17047e, and exit the inner loop. + cp b + jr c, .copy_data + jr z, .copy_data + jr .next_iteration + +.empty + ; If a == 0 and b >= $fc, overwrite the current trainer's data with + ; Unknown17047e, and exit the inner loop. + ld a, b + cp $fc + jr nc, .copy_data + +.next_iteration + dec c + jr nz, .loop2 + jr .next_trainer + +.copy_data + pop de + push de + ld hl, Unknown_17047e + ld bc, BATTLETOWER_TRAINERDATALENGTH + call CopyBytes + +.next_trainer + pop hl + ld de, BATTLE_TOWER_STRUCT_LENGTH + add hl, de + pop af + dec a + jr nz, .loop + ret +; 170470 + +Unknown_170470: + db $12 + db $24 + db $45 + db $45 + db $42 + db $42 + db $45 + db $42 + db $27 + db $27 + db $45 + db $27 + db $42 + db $24 + +Unknown_17047e: +; see data/battle_tower_2.asm + db $03, 4 + db $05, 8 + db $03, 5 + db $0e, 6 + db $03, 2 + db $00, 0 + db $39, 7 + db $07, 4 + db $00, 5 + db $04, 7 + db $01, 5 + db $00, 0 + db $0f, 5 + db $14, 7 + db $05, 5 + db $11, 12 + db $0c, 6 + db $06, 4 + + +CopyBTTrainer_FromBT_OT_TowBT_OTTemp: ; 1704a2 +; copy the BattleTower-Trainer data that lies at 'BT_OTTrainer' to 'wBT_OTTemp' + ld a, [rSVBK] + push af + ld a, $3 ; BANK(BT_OTTrainer) + ld [rSVBK], a + + ld hl, BT_OTTrainer ; $d100 + ld de, wBT_OTTemp ; wMisc + ld bc, BATTLE_TOWER_STRUCT_LENGTH + call CopyBytes + + pop af + ld [rSVBK], a + + ld a, BANK(sBattleTowerChallengeState) + call GetSRAMBank + ld a, BATTLETOWER_CHALLENGE_IN_PROGESS + ld [sBattleTowerChallengeState], a + ld hl, sNrOfBeatenBattleTowerTrainers + inc [hl] + call CloseSRAM +SkipBattleTowerTrainer: ; 1704c9 + ret +; 1704ca + +Function1704ca: ; 1704ca +; unreferenced mobile function + ld a, [$be46] + cp $7 + jr c, .asm_1704d3 + ld a, $6 + +.asm_1704d3 + ld hl, $afce + ld de, -$e0 +.asm_1704d9 + and a + jr z, .asm_1704e0 + add hl, de + dec a + jr .asm_1704d9 + +.asm_1704e0 + ret +; 1704e1 + +Function1704e1: ; 1704e1 +; unreferenced special + call SpeechTextBox + call FadeToMenu + call InitBattleTowerChallengeRAM + call .JumptableLoop + call CloseSubmenu + ret +; 1704f1 + +.JumptableLoop: ; 1704f1 + call ClearBGPalettes + call ClearSprites + call ClearScreen +.loop + call JoyTextDelay + ld a, [wJumptableIndex] + bit 7, a + jr nz, .done + call .DoJumptable + callba ReloadMapPart + jr .loop + +.done + ret +; 170510 + +.DoJumptable: ; 170510 + ld a, [wJumptableIndex] + ld e, a + ld d, 0 + ld hl, .dw + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp hl +; 17051f + +.dw ; 17051f + dw .Jumptable_0 + dw .Jumptable_1 + dw .Jumptable_2 +; 170525 + +.Jumptable_0: ; 170525 + ld a, $5 + call GetSRAMBank + + ld hl, $a89c + ld de, StringBuffer3 + ld bc, $16 + call CopyBytes + + ld hl, $a8b2 + ld de, wMisc + ld bc, $0096 + call CopyBytes + + call CloseSRAM + hlcoord 1, 1 + ld de, StringBuffer3 + call PlaceString + hlcoord 1, 3 + ld de, .String_Mail + call PlaceString + hlcoord 4, 3 + ld de, StringBuffer4 + call PlaceString + hlcoord 8, 3 + ld de, .String_PastReaders + call PlaceString + call .DrawBorder + call .PlaceTextItems + jr .NextJumptableFunction + + +.Jumptable_1: + call SetPalettes + call .NextJumptableFunction + + +.Jumptable_2: + ld hl, hJoyPressed + ld a, [hl] + and A_BUTTON + jr nz, .pressed_a_or_b + ld a, [hl] + and B_BUTTON + jr nz, .pressed_a_or_b + ld a, [hl] + and D_UP + jr nz, .pressed_up + ld a, [hl] + and D_DOWN + jr nz, .pressed_down + ret + +.pressed_up + ld a, [wNrOfBeatenBattleTowerTrainers] + and a + ret z + sub 15 + ld [wNrOfBeatenBattleTowerTrainers], a + call .PlaceTextItems + ret + +.pressed_down + ld a, [wNrOfBeatenBattleTowerTrainers] + cp 60 + ret z + add 15 + ld [wNrOfBeatenBattleTowerTrainers], a + call .PlaceTextItems + ret + +.pressed_a_or_b + ld hl, wJumptableIndex + set 7, [hl] + ret + +.NextJumptableFunction: + ld hl, wJumptableIndex + inc [hl] + ret +; 1705b7 + +.DrawBorder: ; 1705b7 + hlcoord 0, 4 + ld a, $79 + ld [hli], a + ld c, SCREEN_WIDTH - 2 +.top_border_loop + ld a, $7a + ld [hli], a + dec c + jr nz, .top_border_loop + ld a, $7b + ld [hli], a + ld de, SCREEN_WIDTH + ld c, 12 +.left_border_loop + ld a, $7c + ld [hl], a + add hl, de + dec c + jr nz, .left_border_loop + ld a, $7d + ld [hli], a + ld c, SCREEN_WIDTH - 2 +.bottom_border_loop + ld a, $7a + ld [hli], a + dec c + jr nz, .bottom_border_loop + ld a, $7e + ld [hl], a + ld de, -SCREEN_WIDTH + add hl, de + ld c, 12 +.right_border_loop + ld a, $7c + ld [hl], a + add hl, de + dec c + jr nz, .right_border_loop + ret +; 1705f0 + +.PlaceTextItems: ; 1705f0 + call .ClearBox + call .PlaceUpDownArrows + ld a, $50 + ld [wcd4e], a + ld hl, wMisc + ld a, [wNrOfBeatenBattleTowerTrainers] + ld c, a + xor a + ld b, a + add hl, bc + push hl + pop bc + hlcoord 1, 6 + ld a, 6 +.loop1 + push af + push hl + ld a, 3 +.loop2 + push af + ld de, wcd49 + ld a, [bc] + and a + jr z, .fill_with_e3 +; .copy + ld a, 5 +.loop3a + push af + ld a, [bc] + ld [de], a + inc bc + inc de + pop af + dec a + jr nz, .loop3a + jr .rejoin + +.fill_with_e3 + ld a, 5 +.loop3b + push af + ld a, $e3 + ld [de], a + inc de + inc bc + pop af + dec a + jr nz, .loop3b + +.rejoin + ld de, wcd49 + push bc + call PlaceString + ld de, 6 + add hl, de + pop bc + pop af + dec a + jr nz, .loop2 + pop hl + ld de, $28 + add hl, de + pop af + dec a + jr nz, .loop1 + ret +; 17064b + +.ClearBox: ; 17064b + hlcoord 1, 5 + xor a + ld b, 12 +.clearbox_row + ld c, SCREEN_WIDTH - 2 +.clearbox_column + ld [hli], a + dec c + jr nz, .clearbox_column + inc hl + inc hl + dec b + jr nz, .clearbox_row + ret +; 17065d + +.PlaceUpDownArrows: ; 17065d + ld a, [wNrOfBeatenBattleTowerTrainers] + and a + jr z, .nope + hlcoord 18, 5 + ld a, "▲" + ld [hl], a + +.nope + ld a, [wNrOfBeatenBattleTowerTrainers] + cp 60 + ret z + hlcoord 18, 16 + ld a, "▼" + ld [hl], a + ret +; 170676 + +.String_Mail: ; 170676 + db "ルーム@" +; 17067a + +.String_PastReaders: ; 17067a + db "れきだいりーダーいちらん@" +; 170687 + +BattleTowerAction: ; 170687 + ld a, [ScriptVar] + ld e, a + ld d, 0 + ld hl, .dw + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp hl +; 170696 + + +.dw ; 170696 (5c:4696) + dw BattleTowerAction_CheckExplanationRead ; 0x00 + dw BattleTowerAction_SetExplanationRead ; 0x01 + dw BattleTowerAction_GetChallengeState ; 0x02 + dw BattleTowerAction_SetByteToQuickSaveChallenge ; 0x03 + dw BattleTowerAction_SetByteToCancelChallenge ; 0x04 + dw Function1707ac ; 0x05 + dw Function1707f4 ; 0x06 + dw SaveBattleTowerLevelGroup ; 0x07 + dw LoadBattleTowerLevelGroup ; 0x08 + dw BattleTower_CheckSaveFileExistsAndIsYours ; 0x09 + dw Function1708b1 ; 0x0a + dw CheckMobileEventIndex ; 0x0b + dw Function1708c8 ; 0x0c + dw Function1708f0 ; 0x0d + dw BattleTowerAction_EggTicket ; 0x0e + dw Function1709aa ; 0x0f + dw Function1709bb ; 0x10 + dw Function170a9c ; 0x11 + dw Function170aa0 ; 0x12 + dw Function170aaf ; 0x13 + dw Function170abe ; 0x14 + dw Function170ad7 ; 0x15 + dw Function170807 ; 0x16 + dw Function17081d ; 0x17 + dw BattleTowerAction_LevelCheck ; 0x18 + dw BattleTowerAction_UbersCheck ; 0x19 + dw ResetBattleTowerTrainersSRAM ; 0x1a + dw BattleTower_GiveReward ; 0x1b + dw Function17071b ; 0x1c + dw Function170729 ; 0x1d + dw BattleTower_RandomlyChooseReward ; 0x1e + dw BattleTower_SaveOptions ; 0x1f + + +; Reset the save memory for BattleTower-Trainers (Counter and all 7 TrainerBytes) +ResetBattleTowerTrainersSRAM: ; 1706d6 (5c:46d6) BattleTowerAction $1a + ld a, BANK(sBTTrainers) + call GetSRAMBank + + ld a, $ff + ld hl, sBTTrainers + ld bc, BATTLETOWER_NROFTRAINERS + call ByteFill + + xor a + ld [sNrOfBeatenBattleTowerTrainers], a + + call CloseSRAM + + ret + +BattleTower_GiveReward: ; 1706ee (5c:46ee) BattleTowerAction $1b + ld a, BANK(sBattleTowerReward) + call GetSRAMBank + + ld a, [sBattleTowerReward] + call CloseSRAM + ld [ScriptVar], a + ld hl, NumItems + ld a, [hli] + cp MAX_ITEMS + ret c + ld b, MAX_ITEMS + ld a, [ScriptVar] + ld c, a +.loop + ld a, [hli] + cp c + jr nz, .next + ld a, [hl] + cp 95 + ret c +.next + inc hl + dec b + jr nz, .loop + ld a, POTION + ld [ScriptVar], a + ret + +Function17071b: ; 17071b (5c:471b) BattleTowerAction $1c + ld a, BANK(sBattleTowerChallengeState) + call GetSRAMBank + ld a, BATTLETOWER_WON_CHALLENGE + ld [sBattleTowerChallengeState], a + call CloseSRAM + ret + +Function170729: ; 170729 (5c:4729) BattleTowerAction $1d + ld a, BANK(sBattleTowerChallengeState) + call GetSRAMBank + ld a, BATTLETOWER_RECEIVED_REWARD + ld [sBattleTowerChallengeState], a + call CloseSRAM + ret + +BattleTower_SaveOptions: ; 170737 (5c:4737) BattleTowerAction $1f + callba SaveOptions + ret + +BattleTower_RandomlyChooseReward: ; 17073e (5c:473e) BattleTowerAction $1e +; Generate a random stat boosting item. +.loop + call Random + ld a, [hRandomAdd] + and $7 + cp 6 + jr c, .okay + sub 6 +.okay + add HP_UP + cp LUCKY_PUNCH + jr z, .loop + push af + ld a, BANK(sBattleTowerReward) + call GetSRAMBank + pop af + ld [sBattleTowerReward], a + call CloseSRAM + ret + +BattleTowerAction_CheckExplanationRead: ; 17075f (5c:475f) BattleTowerAction $00 + call BattleTower_CheckSaveFileExistsAndIsYours + ld a, [ScriptVar] + and a + ret z + + ld a, BANK(s1_be4f) + call GetSRAMBank + ld a, [s1_be4f] + and $2 + ld [ScriptVar], a + call CloseSRAM + ret + +BattleTowerAction_GetChallengeState: ; 170778 (5c:4778) BattleTowerAction $02 + ld hl, sBattleTowerChallengeState + ld a, BANK(sBattleTowerChallengeState) + call GetSRAMBank + ld a, [hl] + ld [ScriptVar], a + call CloseSRAM + ret + +BattleTowerAction_SetExplanationRead: ; 170788 (5c:4788) BattleTowerAction $01 + ld a, BANK(s1_be4f) + call GetSRAMBank + ld a, [s1_be4f] + or $2 + ld [s1_be4f], a + call CloseSRAM + ret + +BattleTowerAction_SetByteToQuickSaveChallenge: ; 170799 (5c:4799) BattleTowerAction $03 + ld c, BATTLETOWER_SAVED_AND_LEFT + jr asm_17079f + +BattleTowerAction_SetByteToCancelChallenge: ; 17079d (5c:479d) BattleTowerAction $04 + ld c, BATTLETOWER_NO_CHALLENGE +asm_17079f: ; 17079f (5c:479f) + ld a, BANK(sBattleTowerChallengeState) + call GetSRAMBank + ld a, c + ld [sBattleTowerChallengeState], a + call CloseSRAM + ret + +Function1707ac: ; 1707ac (5c:47ac) BattleTowerAction $05 + ld a, $5 + call GetSRAMBank + ld a, [$aa8c] + ld b, a + ld a, [$be46] + ld [ScriptVar], a + call CloseSRAM + and a + ret z + ld a, b + cp $2 + jr nc, .asm_1707ef + push bc + call UpdateTime + pop bc + ld a, $5 + call GetSRAMBank + ld a, [$aa8b] + call CloseSRAM + ld c, a + ld a, [CurDay] + sub c + jr c, .asm_1707e5 + cp $8 + jr nc, .asm_1707ef + ld a, b + and a + jr nz, .asm_1707ef + ret +.asm_1707e5 + ld hl, CurDay + ld a, $8c + sub c + add [hl] + cp $8 + ret c +.asm_1707ef + ld a, $8 + ld [ScriptVar], a + +Function1707f4: ; 1707f4 (5c:47f4) BattleTowerAction $06 + ld a, $5 + call GetSRAMBank + xor a + ld [$be46], a + ld [$aa8b], a + ld [$aa8c], a + call CloseSRAM + ret + +Function170807: ; 170807 (5c:4807) BattleTowerAction $16 + call UpdateTime + ld a, $5 + call GetSRAMBank + ld a, [CurDay] + ld [$b2f9], a + xor a + ld [$b2fa], a + call CloseSRAM + ret + +Function17081d: ; 17081d (5c:481d) BattleTowerAction $17 + xor a + ld [ScriptVar], a + ld a, $5 + call GetSRAMBank + ld a, [$b2f9] + ld c, a + ld a, [$b2fa] + ld b, a + call CloseSRAM + cp $2 + jr nc, .asm_170853 + push bc + call UpdateTime + pop bc + ld a, [CurDay] + sub c + jr c, .asm_170849 + cp $b + jr nc, .asm_170853 + ld a, b + and a + jr nz, .asm_170853 + ret + +.asm_170849 + ld hl, CurDay + ld a, 140 + sub c + add [hl] + cp $b + ret c +.asm_170853 + ld a, $1 + ld [ScriptVar], a + ld a, $5 + call GetSRAMBank + xor a + ld [$b2f9], a + ld [$b2fa], a + call CloseSRAM + ret + +SaveBattleTowerLevelGroup: ; 170868 (5c:4868) BattleTowerAction $07 + ld a, BANK(sBTChoiceOfLevelGroup) + call GetSRAMBank + ld a, [rSVBK] + push af + ld a, $3 + ld [rSVBK], a + ld a, [wBTChoiceOfLvlGroup] + ld [sBTChoiceOfLevelGroup], a + pop af + ld [rSVBK], a + call CloseSRAM + ret + +LoadBattleTowerLevelGroup: ; 170881 (5c:4881) BattleTowerAction $08 ; Load level group choice + ld a, BANK(sBTChoiceOfLevelGroup) + call GetSRAMBank + ld a, [rSVBK] + push af + ld a, $3 + ld [rSVBK], a + ld a, [sBTChoiceOfLevelGroup] + ld [wBTChoiceOfLvlGroup], a + pop af + ld [rSVBK], a + call CloseSRAM + ret + +BattleTower_CheckSaveFileExistsAndIsYours: ; 17089a BattleTowerAction $09 + ld a, [wSaveFileExists] + and a + jr z, .nope + callba CompareLoadedAndSavedPlayerID + jr z, .yes + xor a + jr .nope + +.yes + ld a, $1 + +.nope + ld [ScriptVar], a + ret +; 1708b1 + + +Function1708b1: ; 1708b1 (5c:48b1) BattleTowerAction $0a + xor a + ld [MusicFade], a + call MaxVolume + ret + +CheckMobileEventIndex: ; 1708b9 (5c:48b9) BattleTowerAction $0b something to do with GS Ball + ld a, BANK(sMobileEventIndex) + call GetSRAMBank + ld a, [sMobileEventIndex] + ld [ScriptVar], a + call CloseSRAM + ret + +Function1708c8: ; 1708c8 (5c:48c8) BattleTowerAction $0c + call UpdateTime + ld a, $5 + call GetSRAMBank + ld a, [CurDay] + ld [$aa8b], a + xor a + ld [$aa8c], a + ld a, [$aa5d] + cp $2 + jr nc, .asm_1708ec + ld a, [CurDay] + ld [$aa48], a + ld a, $1 + ld [$aa47], a +.asm_1708ec + call CloseSRAM + ret + +Function1708f0: ; 1708f0 (5c:48f0) BattleTowerAction $0d + xor a + ld [ScriptVar], a + call UpdateTime + ld a, $5 + call GetSRAMBank + ld a, [$aa48] + ld c, a + ld a, [$aa47] + call CloseSRAM + and a + ret z + ld hl, CurDay + ld a, c + cp [hl] + jr nz, Function170923 + ld a, $5 + call GetSRAMBank + ld a, [$aa5d] + call CloseSRAM + cp $5 + ret c + ld a, $1 + ld [ScriptVar], a + ret + + +Function170923: ; 170923 + ld a, $5 + call GetSRAMBank + xor a + ld [$aa48], a + ld [$aa47], a + ld hl, $aa5d + ld bc, $0011 + call ByteFill + call CloseSRAM + ret +; 17093c + + +BattleTowerAction_EggTicket: ; 17093c (5c:493c) BattleTowerAction $0e + xor a + ld [ScriptVar], a + ld a, EGG_TICKET + ld [CurItem], a + ld hl, NumItems + call CheckItem + ret nc + ld a, [PartyCount] + ld b, 0 + ld c, a + ld hl, PartySpecies +.loop + ld a, [hli] + cp EGG + jr nz, .not_egg + push hl + ld hl, PartyMonOT + ld de, $6 ; NAME_LENGTH + ld a, b + and a + jr z, .skip +.loop2 + add hl, de + dec a + jr nz, .loop2 +.skip + ld de, String_1709a4 + ld a, $6 ; NAME_LENGTH +.compare_loop + push af + ld a, [de] + inc de + cp [hl] + inc hl + jr nz, .different + pop af + dec a + jr nz, .compare_loop +rept 4 + dec hl +endr + ld a, "@" + ld [hli], a + ld [hli], a + pop hl + ld a, EGG_TICKET + ld [CurItem], a + ld a, 1 + ld [wItemQuantityChangeBuffer], a + ld a, -1 + ld [CurItemQuantity], a + ld hl, NumItems + call TossItem + ld a, $1 + ld [ScriptVar], a + ret + +.different + pop af + pop hl +.not_egg + inc b + dec c + jr nz, .loop + ret +; 1709a4 (5c:49a4) + +String_1709a4: ; 1709a4 + db "なぞナゾ@@" + +Function1709aa: ; 1709aa (5c:49aa) BattleTowerAction $0f + ld a, [rSVBK] + push af + ld a, BANK(w3_d090) + ld [rSVBK], a + ld a, [w3_d090] + ld [ScriptVar], a + pop af + ld [rSVBK], a + ret + +Function1709bb: ; 1709bb (5c:49bb) BattleTowerAction $10 + xor a + ld [ScriptVar], a + ld a, $5 + call GetSRAMBank + ld a, [$a800] + call CloseSRAM + cp 6 + jr nc, .invalid + ld e, a + ld d, 0 + ld hl, Jumptable_1709e7 + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp hl + +.invalid + ld a, $5 + call GetSRAMBank + xor a + ld [$a800], a + call CloseSRAM + ret +; 1709e7 (5c:49e7) + +Jumptable_1709e7: ; 1709e7 + dw .NoAction + dw .NoAction + dw .DoAction1 + dw .DoAction1 + dw .Action4 + dw .Action5 +; 1709f3 + +.DoAction1: ; 1709f3 + ld a, $5 + call GetSRAMBank + ld a, $1 + ld [$a800], a + call CloseSRAM + +.NoAction: ; 170a00 + ret +; 170a01 + +.Action4: ; 170a01 + ld a, $5 + call GetSRAMBank + ld hl, $b023 + ld de, wMisc + ld bc, $0069 + call CopyBytes + ld a, [$a825] + ld [wcd30], a + ld a, [$a826] + ld [wcd31], a + call CloseSRAM + callba Function11b6b4 + callba Function17d0f3 + ld a, $1 + ld [ScriptVar], a + ret +; 170a33 + +.Action5: ; 170a33 + ld a, $0 + call GetSRAMBank + ld hl, wRTC + ld de, wMisc + ld bc, $0004 + call CopyBytes + call CloseSRAM + ld a, $5 + call GetSRAMBank + ld hl, $b08c + ld de, wMisc + ld c, $4 +.compare_loop + ld a, [de] + inc de + cp [hl] + jr nz, .different + inc hl + dec c + jr nz, .compare_loop + call CloseSRAM + ld a, [MapGroup] + ld b, a + ld a, [MapNumber] + ld c, a + call GetMapTrigger + ld a, d + or e + jr z, .no_trigger + ld a, [de] + and a + ret nz + +.no_trigger + ld a, $1 + ld [ScriptVar], a + ret + +.different + call CloseSRAM + ld a, $5 + call GetSRAMBank + xor a + ld [$a800], a + call CloseSRAM + ld [ScriptVar], a + ld a, [MapGroup] + ld b, a + ld a, [MapNumber] + ld c, a + call GetMapTrigger + ld a, d + or e + jr z, .no_trigger_2 + xor a + ld [de], a + +.no_trigger_2 + ret +; 170a9c + +Function170a9c: ; 170a9c (5c:4a9c) BattleTowerAction $11 + ld c, $0 + jr asm_170aa2 + +Function170aa0: ; 170aa0 (5c:4aa0) BattleTowerAction $12 + ld c, $1 +asm_170aa2: ; 170aa2 (5c:4aa2) + ld a, $5 + call GetSRAMBank + ld a, c + ld [$aa8d], a + call CloseSRAM + ret + +Function170aaf: ; 170aaf (5c:4aaf) BattleTowerAction $13 + ld a, $5 + call GetSRAMBank + ld a, [$aa8d] + ld [ScriptVar], a + call CloseSRAM + ret + +Function170abe: ; 170abe (5c:4abe) BattleTowerAction $14 + call BattleTower_CheckSaveFileExistsAndIsYours + ld a, [ScriptVar] + and a + ret z + + ld a, BANK(s1_be4f) + call GetSRAMBank + ld a, [s1_be4f] + and $1 + ld [ScriptVar], a + call CloseSRAM + ret + +Function170ad7: ; 170ad7 (5c:4ad7) BattleTowerAction $15 + ld a, BANK(s1_be4f) + call GetSRAMBank + ld a, [s1_be4f] + or $1 + ld [s1_be4f], a + call CloseSRAM + ret + +BattleTowerAction_LevelCheck: ; 170ae8 (5c:4ae8) BattleTowerAction $18 + ld a, $5 + call GetSRAMBank + ld a, [$b2fb] + call CloseSRAM + ld c, 10 + call SimpleDivide + ld a, b + ld [wcd4f], a + xor a + ld [ScriptVar], a + callba BattleTower_LevelCheck ; level check + ret nc + ld a, $5 + call GetSRAMBank + ld a, [$b2fb] + call CloseSRAM + ld [ScriptVar], a + ret + +BattleTowerAction_UbersCheck: ; 170b16 (5c:4b16) BattleTowerAction $19 + ld a, $5 + call GetSRAMBank + ld a, [$b2fb] + call CloseSRAM + ld c, 10 + call SimpleDivide + ld a, b + ld [wcd4f], a + xor a + ld [ScriptVar], a + callba BattleTower_UbersCheck + ret nc + ld a, $5 + call GetSRAMBank + ld a, [$b2fb] + call CloseSRAM + ld [ScriptVar], a + ret + +Function_LoadOpponentTrainerAndPokemonsWithOTSprite: ; 0x170b44 + callba Function_LoadOpponentTrainerAndPokemons + ld a, [rSVBK] + push af + ld a, $3 + ld [rSVBK], a + ld hl, BT_OTTrainerClass + ld a, [hl] + dec a + ld c, a + ld b, $0 + pop af + ld [rSVBK], a + ld hl, .Sprites + add hl, bc + ld a, [hl] + ld [wBTTempOTSprite], a + +; Load sprite of the opponent trainer +; because s/he is chosen randomly and appears out of nowhere + ld a, [ScriptVar] + dec a + sla a + ld e, a + sla a + sla a + sla a + ld c, a + ld b, 0 + ld d, 0 + ld hl, MapObjects + add hl, bc + inc hl + ld a, [wBTTempOTSprite] + ld [hl], a + ld hl, UsedSprites + add hl, de + ld [hli], a + ld [hUsedSpriteIndex], a + ld a, [hl] + ld [hUsedSpriteTile], a + callba GetUsedSprite + ret +; 170b90 + +.Sprites: + db SPRITE_FALKNER + db SPRITE_WHITNEY + db SPRITE_BUGSY + db SPRITE_MORTY + db SPRITE_PRYCE + db SPRITE_JASMINE + db SPRITE_CHUCK + db SPRITE_CLAIR + db SPRITE_SILVER + db SPRITE_OAK + db SPRITE_WILL + db SPRITE_CHRIS + db SPRITE_BRUNO + db SPRITE_KAREN + db SPRITE_KOGA + db SPRITE_LANCE + db SPRITE_BROCK + db SPRITE_MISTY + db SPRITE_SURGE + db SPRITE_SCIENTIST + db SPRITE_ERIKA + db SPRITE_YOUNGSTER + db SPRITE_YOUNGSTER + db SPRITE_YOUNGSTER + db SPRITE_LASS + db SPRITE_JANINE + db SPRITE_COOLTRAINER_M + db SPRITE_COOLTRAINER_F + db SPRITE_BUENA + db SPRITE_SUPER_NERD + db SPRITE_ROCKET + db SPRITE_GENTLEMAN + db SPRITE_BUENA + db SPRITE_TEACHER + db SPRITE_SABRINA + db SPRITE_BUG_CATCHER + db SPRITE_FISHER + db SPRITE_SUPER_NERD + db SPRITE_COOLTRAINER_F + db SPRITE_SAILOR + db SPRITE_SUPER_NERD + db SPRITE_BLUE + db SPRITE_ROCKER + db SPRITE_POKEFAN_M + db SPRITE_BIKER + db SPRITE_BLAINE + db SPRITE_PHARMACIST + db SPRITE_FISHER + db SPRITE_SUPER_NERD + db SPRITE_BLACK_BELT + db SPRITE_ROCKET + db SPRITE_YOUNGSTER + db SPRITE_LASS + db SPRITE_YOUNGSTER + db SPRITE_ROCKET_GIRL + db SPRITE_SAGE + db SPRITE_GRANNY + db SPRITE_ROCKER + db SPRITE_POKEFAN_M + db SPRITE_KIMONO_GIRL + db SPRITE_TWIN + db SPRITE_POKEFAN_F + db SPRITE_RED + db SPRITE_BLUE + db SPRITE_OFFICER + db SPRITE_ROCKET_GIRL + +ret_170bd2: ; 170bd2 + ret +; 170bd3 + +SpecialCheckForBattleTowerRules: ; 170bd3 + callba CheckForBattleTowerRules + jr c, .asm_170bde + xor a + jr .asm_170be0 + +.asm_170bde + ld a, $1 + +.asm_170be0 + ld [ScriptVar], a + ret +; 170be4 diff --git a/mobile/mobile_5c.asm b/mobile/mobile_5c.asm index 5b7418a0f..48f9cace9 100755 --- a/mobile/mobile_5c.asm +++ b/mobile/mobile_5c.asm @@ -75,7 +75,7 @@ Function17005a: ; 17005a ; 1700b0 -INCLUDE "misc/battle_tower_5c.asm" +INCLUDE "mobile/battle_tower_5c.asm" Function170be4: ; 170be4 ld a, $5 diff --git a/mobile/mobile_5e.asm b/mobile/mobile_5e.asm new file mode 100644 index 000000000..b22f714ea --- /dev/null +++ b/mobile/mobile_5e.asm @@ -0,0 +1,929 @@ + +SECTION "Misc Crystal", ROMX + +MobileAdapterGFX:: +INCBIN "gfx/mobile/mobile_adapter.2bpp" + + +Function17a68f:: ; 17a68f (5e:668f) + call Function17a6a8 + call Function17a751 + ld hl, $d088 + bit 5, [hl] + jr z, .asm_17a6a6 + ld de, StringBuffer1 ; $d073 + push de + call Function17a721 + pop de + xor a + ret + +.asm_17a6a6 + scf + ret + +Function17a6a8: ; 17a6a8 (5e:66a8) + push de + push bc + ld hl, StringBuffer2 ; $d086 + ld bc, $a + xor a + call ByteFill + ld hl, Buffer1 + ld bc, $10 + ld a, $ff + call ByteFill + pop bc + ld a, c + and a + jr z, .asm_17a6c9 + ld hl, $d088 + set 4, [hl] +.asm_17a6c9 + pop de + call Function17a6f5 + call Function17aba0 + callba Function106464 + call Function17ac0c + callba HDMATransferAttrMapAndTileMapToWRAMBank3 + call Function17abcf + callba LoadOW_BGPal7 + callba Function49420 + call SetPalettes + call DelayFrame + ret + +Function17a6f5: ; 17a6f5 (5e:66f5) + ld hl, Buffer1 + ld c, $0 + ld b, $8 +.asm_17a6fc + ld a, [de] + call Function17a713 + jr c, .asm_17a70e + ld a, [de] + swap a + call Function17a713 + jr c, .asm_17a70e + inc de + dec b + jr nz, .asm_17a6fc +.asm_17a70e + ld a, c + ld [$d08c], a + ret + +Function17a713: ; 17a713 (5e:6713) + and $f + cp $a + jr nc, .asm_17a71d + ld [hli], a + inc c + and a + ret + +.asm_17a71d + ld [hl], $ff + scf + ret + +Function17a721: ; 17a721 (5e:6721) + push de + ld h, d + ld l, e + ld bc, $8 + ld a, $ff + call ByteFill + pop de + ld hl, Buffer1 + ld b, $8 +.asm_17a732 + ld c, $0 + ld a, [hli] + cp $a + jr nc, .asm_17a748 + ld c, a + ld a, [hli] + cp $a + jr nc, .asm_17a74c + swap a + or c + ld [de], a + inc de + dec b + jr nz, .asm_17a732 + ret + +.asm_17a748 + ld a, $ff + ld [de], a + ret + +.asm_17a74c + ld a, $f0 + or c + ld [de], a + ret + +Function17a751: ; 17a751 (5e:6751) + xor a + ld [$d087], a +.asm_17a755 + call Function17a781 + call Function17a7ae + call Function17a97b + call Function17a770 + call Function17a78f + ld hl, $d08f + inc [hl] + ld a, [$d087] + bit 7, a + jr z, .asm_17a755 + ret + +Function17a770: ; 17a770 (5e:6770) + ld a, [hOAMUpdate] + push af + ld a, $1 + ld [hOAMUpdate], a + call HideSprites + call Function17a9cb + pop af + ld [hOAMUpdate], a + ret + +Function17a781: ; 17a781 (5e:6781) + ld a, [hInMenu] + push af + ld a, $1 + ld [hInMenu], a + call JoyTextDelay + pop af + ld [hInMenu], a + ret + +Function17a78f: ; 17a78f (5e:678f) + ld hl, $d088 + bit 7, [hl] + res 7, [hl] + jr nz, .asm_17a79f + callba HDMATransferTileMapToWRAMBank3 + ret + +.asm_17a79f + callba ReloadMapPart + ret +; 17a7a6 (5e:67a6) + +Function17a7a6: ; 17a7a6 + ld a, [$d087] + inc a + ld [$d087], a + ret + +Function17a7ae: ; 17a7ae (5e:67ae) + ld a, [$d087] + ld hl, Jumptable_17a7b6 + rst JumpTable + ret + +Jumptable_17a7b6: ; 17a7b6 (5e:67b6) + dw Function17a7c2 + dw Function17a7cd + dw Function17a7d8 + dw Function17a7ff + dw Function17a81a + dw Function17a7f4 + + +Function17a7c2: ; 17a7c2 (5e:67c2) + ld a, $4 + call Function17aad3 + ld a, $1 + ld [$d087], a + ret + +Function17a7cd: ; 17a7cd (5e:67cd) + call Function17a83c + call Function17a8ae + ret c + call Function17a848 + ret + +Function17a7d8: ; 17a7d8 (5e:67d8) + call Function17a83c + call Function17a848 + ld hl, $d08b + dec [hl] + ret nz + call Function17ac1d + call Function17ac2a + ld hl, $d088 + set 7, [hl] + ld a, $1 + ld [$d087], a + ret + +Function17a7f4: ; 17a7f4 (5e:67f4) + ld hl, $d08b + dec [hl] + ret nz + ld hl, $d087 + set 7, [hl] + ret + +Function17a7ff: ; 17a7ff (5e:67ff) + ld hl, $d08b + dec [hl] + ret nz + call Function17ac1d + call Function17ac2a + ld hl, $d088 + set 7, [hl] + ld hl, $d088 + set 5, [hl] + ld hl, $d087 + set 7, [hl] + ret + +Function17a81a: ; 17a81a (5e:681a) + call IsSFXPlaying + ret nc + ld a, [hJoyPressed] + and $3 + ret z + call ExitMenu + call Function17ac1d + call Function17ac2a + ld hl, $d088 + set 7, [hl] + ld hl, $d088 + res 6, [hl] + ld a, $1 + ld [$d087], a + ret + +Function17a83c: ; 17a83c (5e:683c) + ld a, [hJoyLast] + and $f0 + ld c, a + ld a, [hJoyPressed] + and $b + or c + ld c, a + ret + +Function17a848: ; 17a848 (5e:6848) + ld a, c + and $60 + cp $60 + jr z, .asm_17a876 + ld a, c + and $50 + cp $50 + jr z, .asm_17a87d + ld a, c + and $a0 + cp $a0 + jr z, .asm_17a884 + ld a, c + and $90 + cp $90 + jr z, .asm_17a88b + bit 6, c + jr nz, .asm_17a892 + bit 7, c + jr nz, .asm_17a899 + bit 5, c + jr nz, .asm_17a8a0 + bit 4, c + jr nz, .asm_17a8a7 + xor a + ret + +.asm_17a876 + ld a, $9 + call Function17aad0 + scf + ret + +.asm_17a87d + ld a, $a + call Function17aad0 + scf + ret + +.asm_17a884 + ld a, $b + call Function17aad0 + scf + ret + +.asm_17a88b + ld a, $c + call Function17aad0 + scf + ret + +.asm_17a892 + ld a, $5 + call Function17aad0 + scf + ret + +.asm_17a899 + ld a, $6 + call Function17aad0 + scf + ret + +.asm_17a8a0 + ld a, $7 + call Function17aad0 + scf + ret + +.asm_17a8a7 + ld a, $8 + call Function17aad0 + scf + ret + +Function17a8ae: ; 17a8ae (5e:68ae) + bit 1, c + jr nz, .asm_17a8bc + bit 0, c + jr nz, .asm_17a8cc + bit 3, c + jr nz, .asm_17a8d7 + xor a + ret + +.asm_17a8bc + ld a, $b + ld [$d08a], a + call Function17aa98 + call Function17a943 + call Function17aa88 + scf + ret + +.asm_17a8cc + call Function17aad7 + call Function17aa98 + call Function17a8de + scf + ret + +.asm_17a8d7 + ld a, $c + call Function17aad3 + scf + ret + +Function17a8de: ; 17a8de (5e:68de) + ld a, $2 + call Function17aae0 + ld a, [hl] + cp $f1 + jr z, .asm_17a8fd + cp $f0 + jr z, .asm_17a904 + cp $f2 + jr z, .asm_17a911 + ld e, a + call Function17a964 + ld a, $2 + ld [$d087], a + call Function17aa88 + ret + +.asm_17a8fd + call Function17a943 + call Function17aa88 + ret + +.asm_17a904 + call Function17aad7 + call Function17aa98 + call Function17a91e + call Function17aa88 + ret + +.asm_17a911 + call Function17aa98 + ld a, $5 + ld [$d087], a + xor a + call Function17aa88 + ret + +Function17a91e: ; 17a91e (5e:691e) + ld a, [$d08c] + cp $7 + jr c, .asm_17a92c + ld a, $3 + ld [$d087], a + xor a + ret + +.asm_17a92c + call LoadStandardMenuDataHeader + call Function17a99e + ld hl, $d088 + set 7, [hl] + ld hl, $d088 + set 6, [hl] + ld a, $4 + ld [$d087], a + scf + ret + +Function17a943: ; 17a943 (5e:6943) + ld a, [$d08c] + and a + jr z, .asm_17a95d + dec a + ld [$d08c], a + ld c, a + ld b, $0 + ld hl, Buffer1 + add hl, bc + ld [hl], $ff + ld a, $2 + ld [$d087], a + and a + ret + +.asm_17a95d + ld a, $5 + ld [$d087], a + xor a + ret + +Function17a964: ; 17a964 (5e:6964) + ld a, [$d08c] + cp $10 + jr nc, .asm_17a979 + ld c, a + ld b, $0 + inc a + ld [$d08c], a + ld hl, Buffer1 + add hl, bc + ld [hl], e + and a + ret + +.asm_17a979 + scf + ret + +Function17a97b: ; 17a97b (5e:697b) + hlcoord 1, 1 + lb bc, 2, 18 + call ClearBox + hlcoord 3, 2 + ld de, Buffer1 + ld a, [$d08c] + and a + ret z + ld c, a +.asm_17a990 + ld a, [de] + inc de + cp $a + jr nc, .asm_17a99d + add $f6 + ld [hli], a + dec c + jr nz, .asm_17a990 + ret + +.asm_17a99d + ret + +Function17a99e: ; 17a99e (5e:699e) + hlcoord 0, 12 + ld b, $4 + ld c, $12 + call Function17ac46 + hlcoord 2, 14 + ld de, String_17a9b2 + call PlaceString + ret +; 17a9b2 (5e:69b2) + +String_17a9b2: ; 17a9b2 + db "でんわばんごうが ただしく" + next "はいって いません!" + db "@" +; 17a9cb + +Function17a9cb: ; 17a9cb (5e:69cb) + ld de, Sprites ; $c400 + ld hl, $d088 + bit 6, [hl] + jr nz, .bit_6_set + call Function17a9e3 + call Function17aa22 + call Function17a9f5 + ret + +.bit_6_set + call Function17a9e3 + ret + +Function17a9e3: ; 17a9e3 (5e:69e3) + ld a, $3 + ld [$d08e], a + ld hl, Unknown_17aa77 + ld b, $8 + ld c, $8 + ld a, $5 + call Function17aa4a + ret + +Function17a9f5: ; 17a9f5 (5e:69f5) + ld a, [$d08c] + cp $10 + ret nc + ld a, [$d08f] + swap a + and $1 + add $1 + ld [$d08e], a + ld a, [$d08c] + cp $10 + jr c, .okay + dec a +.okay + ld c, $8 + call SimpleMultiply + add $18 + ld b, a + ld c, $11 + ld hl, Unknown_17aa72 + ld a, $4 + call Function17aa4a + ret + +Function17aa22: ; 17aa22 (5e:6a22) + ld a, $0 + ld [$d08e], a + push de + ld a, $3 + call Function17aae0 + add a + add a + add a + add $0 + push af + ld a, $4 + call Function17aae0 + add a + add a + add a + add $8 + ld c, a + pop af + ld b, a + pop de + ld a, $0 + ld hl, Unknown_17aa77 + call Function17aa4a + ret + +Function17aa4a: ; 17aa4a (5e:6a4a) + ld [$d08d], a + ld a, b + add $8 + ld b, a + ld a, c + add $10 + ld c, a + ld a, [hli] +.loop + push af + ld a, [hli] + add c + ld [de], a + inc de + ld a, [hli] + add b + ld [de], a + inc de + ld a, [$d08d] + add [hl] + inc hl + ld [de], a + inc de + ld a, [$d08e] + or [hl] + inc hl + ld [de], a + inc de + pop af + dec a + jr nz, .loop + ret +; 17aa72 (5e:6a72) + +Unknown_17aa72: ; 17aa72 + db 1 + db 0, 0, 0, 0 +; 17aa77 + +Unknown_17aa77: ; 17aa77 + db 4 + db 0, 0, 0, 0 + db 0, 8, 1, 0 + db 8, 0, 2, 0 + db 8, 8, 3, 0 +; 17aa88 + +Function17aa88: ; 17aa88 (5e:6a88) + jr c, asm_17aa91 + ld de, SFX_SWITCH_POKEMON + call PlaySFX + ret + +asm_17aa91: ; 17aa91 (5e:6a91) + ld de, SFX_WRONG + call PlaySFX + ret + +Function17aa98: ; 17aa98 (5e:6a98) + ld a, $5 + ld [$d08b], a + call Function17aaa9 + call Function17aac3 + ld hl, $d088 + set 7, [hl] + ret + +Function17aaa9: ; 17aaa9 (5e:6aa9) + ld a, $3 + call Function17aae3 + ld c, a + ld b, $0 + hlcoord 0, 0, AttrMap + add hl, bc + push hl + ld a, $4 + call Function17aae3 + ld bc, $14 + pop hl + call AddNTimes + ret + +Function17aac3: ; 17aac3 (5e:6ac3) + ld a, $b + push hl + ld [hli], a + ld [hli], a + pop hl + ld de, SCREEN_WIDTH + add hl, de + ld [hli], a + ld [hli], a + ret + +Function17aad0: ; 17aad0 (5e:6ad0) + call Function17aae0 + +Function17aad3: ; 17aad3 (5e:6ad3) + ld [$d089], a + ret + +Function17aad7: ; 17aad7 (5e:6ad7) + push af + ld a, [$d089] + ld [$d08a], a + pop af + ret + +Function17aae0: ; 17aae0 (5e:6ae0) + call Function17aad7 + +Function17aae3: ; 17aae3 (5e:6ae3) + push af + ld a, [$d08a] + ld bc, $d + ld hl, Unknown_17aaf7 + call AddNTimes + pop af + ld c, a + ld b, $0 + add hl, bc + ld a, [hl] + ret +; 17aaf7 (5e:6af7) + +Unknown_17aaf7: ; 17aaf7 + db $0, $0, $1, $6, $5, $9, $3, $2, $1, $2, $1, $2, $4 + db $0, $0, $2, $9, $5, $a, $4, $0, $2, $a, $a, $3, $5 + db $0, $0, $3, $c, $5, $b, $5, $1, $0, $1, $0, $4, $0 + db $0, $0, $4, $6, $8, $0, $6, $5, $4, $5, $1, $5, $7 + db $0, $0, $5, $9, $8, $1, $7, $3, $5, $0, $2, $6, $8 + db $0, $0, $6, $c, $8, $2, $8, $4, $3, $1, $3, $7, $3 + db $0, $0, $7, $6, $b, $3, $9, $8, $7, $8, $4, $8, $a + db $0, $0, $8, $9, $b, $4, $a, $6, $8, $3, $5, $9, $b + db $0, $0, $9, $c, $b, $5, $b, $7, $6, $4, $6, $a, $6 + db $0, $0,$f2, $6, $e, $6, $0, $c, $a, $c, $7, $c, $0 + db $0, $0, $0, $9, $e, $7, $1, $9, $b, $6, $8, $1, $1 + db $0, $0,$f1, $c, $e, $8, $2, $a, $c, $7, $c, $2, $c + db $0, $0,$f0,$10, $e, $c, $c, $b, $9, $b, $9, $b, $9 +; 17aba0 + +Function17aba0: ; 17aba0 (5e:6ba0) + ld a, [rVBK] + push af + ld a, $1 + ld [rVBK], a + + ld hl, VTiles5 tile $00 + ld de, GFX_17afa5 + lb bc, BANK(GFX_17afa5), $80 + call Get2bpp + + pop af + ld [rVBK], a + + ld hl, VTiles0 tile $00 + ld de, GFX_17afa5 + $4c0 + lb bc, BANK(GFX_17afa5), 5 + call Get2bpp + + ld hl, VTiles0 tile $05 + ld de, GFX_11601a + lb bc, BANK(GFX_11601a), 4 + call Get2bpp + ret + +Function17abcf: ; 17abcf (5e:6bcf) + ld a, [rSVBK] + push af + ld a, BANK(UnknBGPals) + ld [rSVBK], a + + ld hl, Palette_17ac55 + ld de, UnknBGPals ; $d000 + ld bc, $30 + call CopyBytes + + ld hl, Palette_17ac95 + ld de, UnknOBPals + ld bc, $40 + call CopyBytes + + ld hl, GFX_17afa5 + $510 + ld de, UnknOBPals + 2 * 4 + ld bc, $10 + call CopyBytes + + ld hl, MapObjectPals + 8 + ld de, UnknOBPals + 6 * 4 + ld bc, $8 + ld a, BANK(MapObjectPals) + call FarCopyBytes + + pop af + ld [rSVBK], a + ret + +Function17ac0c: ; 17ac0c (5e:6c0c) + call Function17ac1d + call Function17ac2a + hlcoord 0, 0 + ld b, 2 + ld c, SCREEN_WIDTH - 2 + call Function17ac46 + ret + +Function17ac1d: ; 17ac1d (5e:6c1d) + ld hl, Tilemap_17acd5 + decoord 0, 4 + ld bc, (SCREEN_HEIGHT - 4) * SCREEN_WIDTH + call CopyBytes + ret + +Function17ac2a: ; 17ac2a (5e:6c2a) + ld hl, Tilemap_17ae3d + decoord 0, 4, AttrMap + ld bc, (SCREEN_HEIGHT - 4) * SCREEN_WIDTH + call CopyBytes + hlcoord 0, 4, AttrMap + ld bc, (SCREEN_HEIGHT - 4) * SCREEN_WIDTH +.loop + ld a, [hl] + or $8 + ld [hli], a + dec bc + ld a, b + or c + jr nz, .loop + ret + +Function17ac46: ; 17ac46 (5e:6c46) + ld a, [$d088] + bit 4, a + jr nz, .bit_4_set + call TextBox + ret + +.bit_4_set + call Function3eea + ret +; 17ac55 (5e:6c55) + +Palette_17ac55: ; 17ac55 + RGB 0, 0, 0 + RGB 9, 10, 25 + RGB 16, 19, 31 + RGB 31, 31, 31 + + RGB 5, 11, 9 + RGB 7, 14, 12 + RGB 17, 24, 22 + RGB 28, 31, 31 + + RGB 0, 0, 0 + RGB 3, 0, 10 + RGB 3, 3, 16 + RGB 6, 8, 25 + + RGB 5, 11, 9 + RGB 28, 31, 31 + RGB 7, 14, 12 + RGB 17, 24, 22 + + RGB 0, 0, 0 + RGB 5, 2, 16 + RGB 8, 8, 26 + RGB 13, 9, 17 + + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + +Palette_17ac95: ; 17ac95 + RGB 31, 31, 31 + RGB 4, 3, 3 + RGB 31, 13, 0 + RGB 31, 31, 31 + + RGB 31, 31, 31 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 31, 31 + + RGB 31, 0, 0 + RGB 16, 3, 0 + RGB 28, 19, 11 + RGB 31, 31, 31 + + RGB 31, 16, 0 + RGB 9, 6, 4 + RGB 31, 16, 0 + RGB 31, 24, 0 + + RGB 31, 18, 6 + RGB 0, 3, 0 + RGB 0, 9, 0 + RGB 0, 12, 0 + + RGB 0, 16, 0 + RGB 0, 22, 0 + RGB 0, 25, 0 + RGB 0, 27, 0 + + RGB 0, 31, 0 + RGB 3, 31, 0 + RGB 8, 31, 0 + RGB 14, 31, 0 + + RGB 16, 31, 0 + RGB 22, 31, 0 + RGB 27, 31, 0 + RGB 31, 31, 0 + +Tilemap_17acd5: ; 17acd5 +INCBIN "gfx/unknown/17acd5.tilemap" + +Tilemap_17ae3d: ; 17ae3d +INCBIN "gfx/unknown/17ae3d.tilemap" + +GFX_17afa5:: ; 17afa5 +INCBIN "gfx/unknown/17afa5.2bpp" diff --git a/mobile/news/news.asm b/mobile/news/news.asm new file mode 100644 index 000000000..b95df06aa --- /dev/null +++ b/mobile/news/news.asm @@ -0,0 +1,44 @@ +; http://forums.glitchcity.info/index.php?topic=7509.msg206449#msg206449 + + db $cc, $6b, $1e ; XXX + +Function1f4003: ; 1f4003 +; XXX + ld a, $6 + call GetSRAMBank + ld hl, .news_data + ld de, $a000 + ld bc, $1000 + call CopyBytes + call CloseSRAM + ret + +.news_data +INCBIN "mobile/news/news_1.bin" + +Function1f4dbe: ; 1f4dbe +; XXX + ld a, $6 + call GetSRAMBank + ld hl, .news_data + ld de, $a000 + ld bc, $1000 + call CopyBytes + call CloseSRAM + ret + +.news_data +INCBIN "mobile/news/news_2.bin" + +Function1f5d9f: ; 1f5d9f + ld a, $6 + call GetSRAMBank + ld hl, .news_data + ld de, $a000 + ld bc, $1000 + call CopyBytes + call CloseSRAM + ret + +.news_data +INCBIN "mobile/news/news_3.bin" diff --git a/mobile/news/news_1.bin b/mobile/news/news_1.bin new file mode 100644 index 000000000..aa8c73e78 Binary files /dev/null and b/mobile/news/news_1.bin differ diff --git a/mobile/news/news_2.bin b/mobile/news/news_2.bin new file mode 100644 index 000000000..511d62cb7 Binary files /dev/null and b/mobile/news/news_2.bin differ diff --git a/mobile/news/news_3.bin b/mobile/news/news_3.bin new file mode 100644 index 000000000..f4adbc0db Binary files /dev/null and b/mobile/news/news_3.bin differ diff --git a/mobile/stadium/stadium2_1.bin b/mobile/stadium/stadium2_1.bin new file mode 100644 index 000000000..155e8bab8 Binary files /dev/null and b/mobile/stadium/stadium2_1.bin differ diff --git a/mobile/stadium/stadium2_2.bin b/mobile/stadium/stadium2_2.bin new file mode 100644 index 000000000..2273d94f3 Binary files /dev/null and b/mobile/stadium/stadium2_2.bin differ diff --git a/pokecrystal.link b/pokecrystal.link index 2281ba6d7..60ff314ff 100644 --- a/pokecrystal.link +++ b/pokecrystal.link @@ -301,13 +301,13 @@ ROMX $7b ROMX $7c "Battle Tower Trainer Data" ROMX $7d - "bank7D" + "Mobile News Data" ROMX $7e "bank7E" ROMX $7f "bank7F" org $7de0 - "stadium2" + "Mobile Stadium 2" WRAM0 "Stack" "Audio RAM" diff --git a/unknown/013a47.asm b/unknown/013a47.asm deleted file mode 100755 index dd0d2b722..000000000 --- a/unknown/013a47.asm +++ /dev/null @@ -1,229 +0,0 @@ -CorrectErrorsInPlayerParty: ; unreferenced - ld hl, PartyCount - ld a, [hl] - and a - ret z - - cp PARTY_LENGTH + 1 - jr c, .party_length_okay - ld a, PARTY_LENGTH - ld [hl], a -.party_length_okay - inc hl - - ld b, a - ld c, 0 -.loop1 - ld a, [hl] - and a - jr z, .invalid_species - cp NUM_POKEMON + 1 - jr z, .invalid_species - cp EGG + 1 - jr c, .next_species - -.invalid_species - ld [hl], SMEARGLE - push hl - push bc - ld a, c - ld hl, PartyMon1Species - call GetPartyLocation - ld [hl], SMEARGLE - pop bc - pop hl - -.next_species - inc hl - inc c - dec b - jr nz, .loop1 - ld [hl], $ff - - ld hl, PartyMon1 - ld a, [PartyCount] - ld d, a - ld e, 0 -.loop2 - push de - push hl - ld b, h - ld c, l - ld a, [hl] - and a - jr z, .invalid_species_2 - cp NUM_POKEMON + 1 - jr c, .check_level - -.invalid_species_2 - ld [hl], SMEARGLE - push de - ld d, 0 - ld hl, PartySpecies - add hl, de - pop de - ld a, SMEARGLE - ld [hl], a - -.check_level - ld [CurSpecies], a - call GetBaseData - ld hl, MON_LEVEL - add hl, bc - ld a, [hl] - cp MIN_LEVEL - ld a, MIN_LEVEL - jr c, .invalid_level - ld a, [hl] - cp MAX_LEVEL - jr c, .load_level - ld a, MAX_LEVEL -.invalid_level - ld [hl], a -.load_level - ld [CurPartyLevel], a - - ld hl, MON_MAXHP - add hl, bc - ld d, h - ld e, l - ld hl, MON_STAT_EXP - 1 - add hl, bc - ld b, $1 - predef CalcPkmnStats - pop hl - ld bc, PARTYMON_STRUCT_LENGTH - add hl, bc - pop de - inc e - dec d - jr nz, .loop2 - - ld de, PartyMonNicknames - ld a, [PartyCount] - ld b, a - ld c, 0 -.loop3 - push bc - call .GetLengthOfStringWith6CharCap - push de - callba CheckStringForErrors - pop hl - pop bc - jr nc, .valid_nickname - - push bc - push hl - ld hl, PartySpecies - push bc - ld b, 0 - add hl, bc - pop bc - ld a, [hl] - cp EGG - ld hl, .TAMAGO - jr z, .got_nickname - ld [wd265], a - call GetPokemonName - ld hl, StringBuffer1 -.got_nickname - pop de - ld bc, PKMN_NAME_LENGTH - call CopyBytes - pop bc - -.valid_nickname - inc c - dec b - jr nz, .loop3 - - ld de, PartyMonOT - ld a, [PartyCount] - ld b, a - ld c, 0 -.loop4 - push bc - call .GetLengthOfStringWith6CharCap - push de - callba CheckStringForErrors - pop hl - jr nc, .valid_ot_name - ld d, h - ld e, l - ld hl, PlayerName - ld bc, NAME_LENGTH - call CopyBytes -.valid_ot_name - pop bc - inc c - dec b - jr nz, .loop4 - - ld hl, PartyMon1Moves - ld a, [PartyCount] - ld b, a -.loop5 - push hl - ld c, NUM_MOVES - ld a, [hl] - and a - jr z, .invalid_move - cp NUM_ATTACKS + 1 - jr c, .moves_loop -.invalid_move - ld [hl], POUND - -.moves_loop - ld a, [hl] - and a - jr z, .fill_invalid_moves - cp NUM_ATTACKS + 1 - jr c, .next_move - -.fill_invalid_moves - xor a - ld [hli], a - dec c - jr nz, .fill_invalid_moves - jr .next_pokemon - -.next_move - inc hl - dec c - jr nz, .moves_loop - -.next_pokemon - pop hl - push bc - ld bc, PARTYMON_STRUCT_LENGTH - add hl, bc - pop bc - dec b - jr nz, .loop5 - ret -; 13b6b - -.TAMAGO: ; 13b6b - db "タマゴ@@@" -; 13b71 - -.GetLengthOfStringWith6CharCap: ; 13b71 - push de - ld c, 1 - ld b, 6 -.search_loop - ld a, [de] - cp "@" - jr z, .done - inc de - inc c - dec b - jr nz, .search_loop - dec c - dec de - ld a, "@" - ld [de], a -.done - pop de - ret -; 13b87 diff --git a/unknown/1f4018.bin b/unknown/1f4018.bin deleted file mode 100644 index aa8c73e78..000000000 Binary files a/unknown/1f4018.bin and /dev/null differ diff --git a/unknown/1f4dd3.bin b/unknown/1f4dd3.bin deleted file mode 100644 index 511d62cb7..000000000 Binary files a/unknown/1f4dd3.bin and /dev/null differ diff --git a/unknown/1f5db4.bin b/unknown/1f5db4.bin deleted file mode 100644 index f4adbc0db..000000000 Binary files a/unknown/1f5db4.bin and /dev/null differ -- cgit v1.2.3 From 59fe4078124f0fa8d1613a3f715861d9c6f2d449 Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Fri, 15 Dec 2017 17:22:52 -0500 Subject: Copy pokered's organization some more, with further constant and data files --- constants.asm | 3 +- constants/credits_constants.asm | 115 +++++++ constants/hardware_constants.asm | 135 +++++++++ constants/map_constants.asm | 2 +- constants/radio_constants.asm | 3 + data/credits_script.asm | 287 ++++++++++++++++++ data/credits_strings.asm | 221 ++++++++++++++ data/flypoints.asm | 38 +++ data/fruit_tree_items.asm | 33 -- data/items/bargain_shop.asm | 9 + data/items/buena_prizes.asm | 12 + data/items/fruit_trees.asm | 33 ++ data/items/mom_phone.asm | 27 ++ data/items/rooftop_sale.asm | 18 ++ data/mom_phone_items.asm | 27 -- data/palettes/town_map.asm | 34 +++ engine/credits.asm | 635 +-------------------------------------- engine/fruit_trees.asm | 2 +- engine/mart.asm | 28 +- engine/new_pokedex_entry.asm | 52 ++++ engine/play_slow_cry.asm | 31 ++ engine/pokegear.asm | 53 +--- engine/time_capsule.asm | 130 -------- engine/time_capsule_2.asm | 39 +++ engine/unown_dex.asm | 51 ++++ engine/unowndex.asm | 51 ---- event/buena.asm | 22 +- event/mom_phone.asm | 2 +- gbhw.asm | 135 --------- gfx/credits.asm | 7 + lib/mobile/main.asm | 2 +- main.asm | 6 +- 32 files changed, 1139 insertions(+), 1104 deletions(-) create mode 100644 constants/credits_constants.asm create mode 100644 constants/hardware_constants.asm create mode 100644 data/credits_script.asm create mode 100644 data/credits_strings.asm create mode 100644 data/flypoints.asm delete mode 100644 data/fruit_tree_items.asm create mode 100644 data/items/bargain_shop.asm create mode 100644 data/items/buena_prizes.asm create mode 100644 data/items/fruit_trees.asm create mode 100644 data/items/mom_phone.asm create mode 100644 data/items/rooftop_sale.asm delete mode 100644 data/mom_phone_items.asm create mode 100644 data/palettes/town_map.asm create mode 100644 engine/new_pokedex_entry.asm create mode 100644 engine/play_slow_cry.asm create mode 100644 engine/time_capsule_2.asm create mode 100755 engine/unown_dex.asm delete mode 100755 engine/unowndex.asm delete mode 100644 gbhw.asm create mode 100644 gfx/credits.asm diff --git a/constants.asm b/constants.asm index 6650b53ca..b8c38cc46 100644 --- a/constants.asm +++ b/constants.asm @@ -1,8 +1,8 @@ INCLUDE "macros.asm" -INCLUDE "gbhw.asm" INCLUDE "hram.asm" +INCLUDE "constants/hardware_constants.asm" INCLUDE "constants/wram_constants.asm" INCLUDE "constants/pokemon_constants.asm" INCLUDE "constants/type_constants.asm" @@ -21,6 +21,7 @@ INCLUDE "constants/music_constants.asm" INCLUDE "constants/sfx_constants.asm" INCLUDE "constants/animation_constants.asm" INCLUDE "constants/phone_constants.asm" +INCLUDE "constants/credits_constants.asm" INCLUDE "constants/gfx_constants.asm" INCLUDE "constants/input_constants.asm" INCLUDE "constants/pokemon_data_constants.asm" diff --git a/constants/credits_constants.asm b/constants/credits_constants.asm new file mode 100644 index 000000000..8ee0391de --- /dev/null +++ b/constants/credits_constants.asm @@ -0,0 +1,115 @@ +; CreditsStrings indexes (see data/credits_text.asm) + const_def + const SATOSHI_TAJIRI + const JUNICHI_MASUDA + const TETSUYA_WATANABE + const SHIGEKI_MORIMOTO + const SOUSUKE_TAMADA + const TAKENORI_OOTA + const KEN_SUGIMORI + const MOTOFUMI_FUJIWARA + const ATSUKO_NISHIDA + const MUNEO_SAITO + const SATOSHI_OOTA + const RENA_YOSHIKAWA + const JUN_OKUTANI + const HIRONOBU_YOSHIDA + const ASUKA_IWASHITA + const GO_ICHINOSE + const MORIKAZU_AOKI + const KOHJI_NISHINO + const KENJI_MATSUSHIMA + const TOSHINOBU_MATSUMIYA + const SATORU_IWATA + const NOBUHIRO_SEYA + const KAZUHITO_SEKINE + const TETSUJI_OOTA + const NCL_SUPER_MARIO_CLUB + const SARUGAKUCHO + const AKITO_MORI + const TAKAHIRO_HARADA + const TOHRU_HASHIMOTO + const NOBORU_MATSUMOTO + const TAKEHIRO_IZUSHI + const TAKASHI_KAWAGUCHI + const TSUNEKAZU_ISHIHARA + const HIROSHI_YAMAUCHI + const KENJI_SAIKI + const ATSUSHI_TADA + const NAOKO_KAWAKAMI + const HIROYUKI_ZINNAI + const KUNIMI_KAWAMURA + const HISASHI_SOGABE + const KEITA_KAGAYA + const YOSHINORI_MATSUDA + const HITOMI_SATO + const TORU_OSAWA + const TAKAO_OHARA + const YUICHIRO_ITO + const TAKAO_SHIMIZU + const PLANNING + const KEITA_NAKAMURA + const HIROTAKA_UEMURA + const HIROAKI_TAMURA + const NORIAKI_SAKAGUCHI + const MIYUKI_SATO + const GAKUZI_NOMOTO + const AI_MASHIMA + const MIKIHIRO_ISHIKAWA + const HIDEYUKI_HASHIMOTO + const SATOSHI_YAMATO + const SHIGERU_MIYAMOTO + const GAIL_TILDEN + const NOB_OGASAWARA + const SETH_MCMAHILL + const HIROTO_ALEXANDER + const TERESA_LILLYGREN + const THOMAS_HERTZOG + const ERIK_JOHNSON + const HIRO_NAKAMURA + const TERUKI_MURAKAWA + const KAZUYOSHI_OSAWA + const KIMIKO_NAKAMICHI + const CREDIT_END + const CREDIT_UNKNOWN + const STAFF + const DIRECTOR + const CODIRECTOR + const PROGRAMMERS + const GRAPHICS_DIRECTOR + const MONSTER_DESIGN + const GRAPHICS_DESIGN + const CREDIT_MUSIC + const CREDIT_SOUND_EFFECTS + const GAME_DESIGN + const GAME_SCENARIO + const TOOL_PROGRAMMING + const PARAMETRIC_DESIGN + const SCRIPT_DESIGN + const MAP_DATA_DESIGN + const MAP_DESIGN + const PRODUCT_TESTING + const SPECIAL_THANKS + const PRODUCERS + const EXECUTIVE_PRODUCER + const POKEMON_ANIMATION + const POKEDEX_TEXT + const MOBILE_PRJ_LEADER + const MOBILE_SYSTEM_AD + const MOBILE_STADIUM_DIR + const COORDINATION + const COPYRIGHT + const US_VERSION_STAFF + const US_COORDINATION + const TEXT_TRANSLATION + const PAAD_TESTING + +; CreditsScript indexes (see data/credits_script.asm) +const_value SET -7 + const CREDITS_THEEND + const CREDITS_WAIT2 + const CREDITS_MUSIC + const CREDITS_CLEAR + const CREDITS_SCENE + const CREDITS_WAIT + const CREDITS_END diff --git a/constants/hardware_constants.asm b/constants/hardware_constants.asm new file mode 100644 index 000000000..ae2e97a6b --- /dev/null +++ b/constants/hardware_constants.asm @@ -0,0 +1,135 @@ +; Graciously aped from http://nocash.emubase.de/pandocs.htm . + +; MBC3 +MBC3SRamEnable EQU $0000 +MBC3RomBank EQU $2000 +MBC3SRamBank EQU $4000 +MBC3LatchClock EQU $6000 +MBC3RTC EQU $a000 + +SRAM_DISABLE EQU $00 +SRAM_ENABLE EQU $0a + +NUM_SRAM_BANKS EQU 4 + +RTC_S EQU $08 ; Seconds 0-59 (0-3Bh) +RTC_M EQU $09 ; Minutes 0-59 (0-3Bh) +RTC_H EQU $0a ; Hours 0-23 (0-17h) +RTC_DL EQU $0b ; Lower 8 bits of Day Counter (0-FFh) +RTC_DH EQU $0c ; Upper 1 bit of Day Counter, Carry Bit, Halt Flag + ; Bit 0 Most significant bit of Day Counter (Bit 8) + ; Bit 6 Halt (0=Active, 1=Stop Timer) + ; Bit 7 Day Counter Carry Bit (1=Counter Overflow) + +; interrupt flags +VBLANK EQU 0 +LCD_STAT EQU 1 +TIMER EQU 2 +SERIAL EQU 3 +JOYPAD EQU 4 + +; OAM attribute flags +OAM_TILE_BANK EQU 3 +OAM_OBP_NUM EQU 4 ; non CGB Mode Only +OAM_X_FLIP EQU 5 +OAM_Y_FLIP EQU 6 +OAM_PRIORITY EQU 7 ; 0: OBJ above BG, 1: OBJ behind BG (colors 1-3) + +PALETTE_MASK EQU %111 +VRAM_BANK_1 EQU 1 << OAM_TILE_BANK ; $08 +OBP_NUM EQU 1 << OAM_OBP_NUM ; $10 +X_FLIP EQU 1 << OAM_X_FLIP ; $20 +Y_FLIP EQU 1 << OAM_Y_FLIP ; $40 +BEHIND_BG EQU 1 << OAM_PRIORITY ; $80 + +; Hardware registers +rJOYP EQU $ff00 ; Joypad (R/W) +rSB EQU $ff01 ; Serial transfer data (R/W) +rSC EQU $ff02 ; Serial Transfer Control (R/W) +rSC_ON EQU 7 +rSC_CGB EQU 1 +rSC_CLOCK EQU 0 +rDIV EQU $ff04 ; Divider Register (R/W) +rTIMA EQU $ff05 ; Timer counter (R/W) +rTMA EQU $ff06 ; Timer Modulo (R/W) +rTAC EQU $ff07 ; Timer Control (R/W) +rTAC_ON EQU 2 +rTAC_4096_HZ EQU 0 +rTAC_262144_HZ EQU 1 +rTAC_65536_HZ EQU 2 +rTAC_16384_HZ EQU 3 +rIF EQU $ff0f ; Interrupt Flag (R/W) +rNR10 EQU $ff10 ; Channel 1 Sweep register (R/W) +rNR11 EQU $ff11 ; Channel 1 Sound length/Wave pattern duty (R/W) +rNR12 EQU $ff12 ; Channel 1 Volume Envelope (R/W) +rNR13 EQU $ff13 ; Channel 1 Frequency lo (Write Only) +rNR14 EQU $ff14 ; Channel 1 Frequency hi (R/W) +rNR20 EQU $ff15 ; Channel 2 Sweep register (R/W) +rNR21 EQU $ff16 ; Channel 2 Sound Length/Wave Pattern Duty (R/W) +rNR22 EQU $ff17 ; Channel 2 Volume Envelope (R/W) +rNR23 EQU $ff18 ; Channel 2 Frequency lo data (W) +rNR24 EQU $ff19 ; Channel 2 Frequency hi data (R/W) +rNR30 EQU $ff1a ; Channel 3 Sound on/off (R/W) +rNR31 EQU $ff1b ; Channel 3 Sound Length +rNR32 EQU $ff1c ; Channel 3 Select output level (R/W) +rNR33 EQU $ff1d ; Channel 3 Frequency's lower data (W) +rNR34 EQU $ff1e ; Channel 3 Frequency's higher data (R/W) +rNR40 EQU $ff1f ; Channel 4 Sweep register (R/W) +rNR41 EQU $ff20 ; Channel 4 Sound Length (R/W) +rNR42 EQU $ff21 ; Channel 4 Volume Envelope (R/W) +rNR43 EQU $ff22 ; Channel 4 Polynomial Counter (R/W) +rNR44 EQU $ff23 ; Channel 4 Counter/consecutive; Inital (R/W) +rNR50 EQU $ff24 ; Channel control / ON-OFF / Volume (R/W) +rNR51 EQU $ff25 ; Selection of Sound output terminal (R/W) +rNR52 EQU $ff26 ; Sound on/off +rWave_0 EQU $ff30 +rWave_1 EQU $ff31 +rWave_2 EQU $ff32 +rWave_3 EQU $ff33 +rWave_4 EQU $ff34 +rWave_5 EQU $ff35 +rWave_6 EQU $ff36 +rWave_7 EQU $ff37 +rWave_8 EQU $ff38 +rWave_9 EQU $ff39 +rWave_a EQU $ff3a +rWave_b EQU $ff3b +rWave_c EQU $ff3c +rWave_d EQU $ff3d +rWave_e EQU $ff3e +rWave_f EQU $ff3f +rLCDC EQU $ff40 ; LCD Control (R/W) +rSTAT EQU $ff41 ; LCDC Status (R/W) +rSCY EQU $ff42 ; Scroll Y (R/W) +rSCX EQU $ff43 ; Scroll X (R/W) +rLY EQU $ff44 ; LCDC Y-Coordinate (R) +rLYC EQU $ff45 ; LY Compare (R/W) +rDMA EQU $ff46 ; DMA Transfer and Start Address (W) +rBGP EQU $ff47 ; BG Palette Data (R/W) - Non CGB Mode Only +rOBP0 EQU $ff48 ; Object Palette 0 Data (R/W) - Non CGB Mode Only +rOBP1 EQU $ff49 ; Object Palette 1 Data (R/W) - Non CGB Mode Only +rWY EQU $ff4a ; Window Y Position (R/W) +rWX EQU $ff4b ; Window X Position minus 7 (R/W) +rLCDMODE EQU $ff4c +rKEY1 EQU $ff4d ; CGB Mode Only - Prepare Speed Switch +rVBK EQU $ff4f ; CGB Mode Only - VRAM Bank +rBLCK EQU $ff50 +rHDMA1 EQU $ff51 ; CGB Mode Only - New DMA Source, High +rHDMA2 EQU $ff52 ; CGB Mode Only - New DMA Source, Low +rHDMA3 EQU $ff53 ; CGB Mode Only - New DMA Destination, High +rHDMA4 EQU $ff54 ; CGB Mode Only - New DMA Destination, Low +rHDMA5 EQU $ff55 ; CGB Mode Only - New DMA Length/Mode/Start +rRP EQU $ff56 ; CGB Mode Only - Infrared Communications Port +rBGPI EQU $ff68 ; CGB Mode Only - Background Palette Index +rBGPD EQU $ff69 ; CGB Mode Only - Background Palette Data +rOBPI EQU $ff6a ; CGB Mode Only - Sprite Palette Index +rOBPD EQU $ff6b ; CGB Mode Only - Sprite Palette Data +rUNKNOWN1 EQU $ff6c ; (FEh) Bit 0 (Read/Write) - CGB Mode Only +rSVBK EQU $ff70 ; CGB Mode Only - WRAM Bank +rUNKNOWN2 EQU $ff72 ; (00h) - Bit 0-7 (Read/Write) +rUNKNOWN3 EQU $ff73 ; (00h) - Bit 0-7 (Read/Write) +rUNKNOWN4 EQU $ff74 ; (00h) - Bit 0-7 (Read/Write) - CGB Mode Only +rUNKNOWN5 EQU $ff75 ; (8Fh) - Bit 4-6 (Read/Write) +rUNKNOWN6 EQU $ff76 ; (00h) - Always 00h (Read Only) +rUNKNOWN7 EQU $ff77 ; (00h) - Always 00h (Read Only) +rIE EQU $ffff ; Interrupt Enable (R/W) diff --git a/constants/map_constants.asm b/constants/map_constants.asm index 7d1a00677..22b02f1c1 100644 --- a/constants/map_constants.asm +++ b/constants/map_constants.asm @@ -203,7 +203,7 @@ NUM_SPAWNS EQU const_value const EMOTE_GRASS_RUSTLE ; 11 EMOTE_MEM EQU -1 -; FruitTreeItems indexes (see data/fruit_tree_items.asm) +; FruitTreeItems indexes (see data/items/fruit_trees.asm) const_value SET 1 const FRUITTREE_ROUTE_29 ; 01 const FRUITTREE_ROUTE_30_1 ; 02 diff --git a/constants/radio_constants.asm b/constants/radio_constants.asm index 86817081e..4e9d94434 100644 --- a/constants/radio_constants.asm +++ b/constants/radio_constants.asm @@ -123,3 +123,6 @@ NUM_PASSWORDS_PER_CATEGORY EQU 3 const BUENA_ITEM const BUENA_MOVE const BUENA_STRING + +; BuenaPrizeItems table length (see data/items/buena_prizes.asm) +NUM_BUENA_PRIZES EQU 9 diff --git a/data/credits_script.asm b/data/credits_script.asm new file mode 100644 index 000000000..810e61c83 --- /dev/null +++ b/data/credits_script.asm @@ -0,0 +1,287 @@ +CreditsScript: ; 10acb4 + +; Clear the banner. + db CREDITS_CLEAR + +; Pokemon Crystal Version Staff + db STAFF, 1 + + db CREDITS_WAIT, 8 + +; Play the credits music. + db CREDITS_MUSIC + + db CREDITS_WAIT2, 10 + + db CREDITS_WAIT, 1 + +; Update the banner. + db CREDITS_SCENE, 0 ; Pichu + + db DIRECTOR, 1 + db SATOSHI_TAJIRI, 2 + + db CREDITS_WAIT, 12 + + db CODIRECTOR, 1 + db JUNICHI_MASUDA, 2 + + db CREDITS_WAIT, 12 + + db PROGRAMMERS, 0 + db SOUSUKE_TAMADA, 1 + db HISASHI_SOGABE, 2 + db KEITA_KAGAYA, 3 + db YOSHINORI_MATSUDA, 4 + + db CREDITS_WAIT, 12 + + db PROGRAMMERS, 0 + db SHIGEKI_MORIMOTO, 1 + db TETSUYA_WATANABE, 2 + db TAKENORI_OOTA, 3 + + db CREDITS_WAIT, 12 + + db GRAPHICS_DIRECTOR, 1 + db KEN_SUGIMORI, 2 + + db CREDITS_WAIT, 12 + + db MONSTER_DESIGN, 0 + db KEN_SUGIMORI, 1 + db MOTOFUMI_FUJIWARA, 2 + db SHIGEKI_MORIMOTO, 3 + db HIRONOBU_YOSHIDA, 4 + db SATOSHI_OOTA, 5 + + db CREDITS_WAIT, 12 + + db MONSTER_DESIGN, 0 + db ATSUKO_NISHIDA, 1 + db MUNEO_SAITO, 2 + db RENA_YOSHIKAWA, 3 + + db CREDITS_WAIT, 12 + + db POKEMON_ANIMATION, 1 + db HIRONOBU_YOSHIDA, 2 + db JUN_OKUTANI, 3 + + db CREDITS_WAIT, 12 + +; Clear the banner. + db CREDITS_CLEAR + + db CREDITS_WAIT, 1 + +; Update the banner. + db CREDITS_SCENE, 1 ; Smoochum + + db GRAPHICS_DESIGN, 0 + db HIRONOBU_YOSHIDA, 1 + db JUN_OKUTANI, 2 + db ASUKA_IWASHITA, 3 + db TETSUYA_WATANABE, 4 + + db CREDITS_WAIT, 12 + + db CREDIT_MUSIC, 0 + db JUNICHI_MASUDA, 1 + db MORIKAZU_AOKI, 2 + db GO_ICHINOSE, 3 + + db CREDITS_WAIT, 12 + + db CREDIT_SOUND_EFFECTS, 0 + db MORIKAZU_AOKI, 1 + db JUNICHI_MASUDA, 2 + db TETSUYA_WATANABE, 3 + + db CREDITS_WAIT, 12 + + db GAME_DESIGN, 0 + db JUNICHI_MASUDA, 1 + db SHIGEKI_MORIMOTO, 2 + db KOHJI_NISHINO, 3 + + db CREDITS_WAIT, 12 + + db GAME_DESIGN, 0 + db TETSUJI_OOTA, 1 + db HITOMI_SATO, 2 + db KENJI_MATSUSHIMA, 3 + + db CREDITS_WAIT, 12 + + db GAME_SCENARIO, 0 + db JUNICHI_MASUDA, 1 + db KOHJI_NISHINO, 2 + db TOSHINOBU_MATSUMIYA, 3 + db KENJI_MATSUSHIMA, 4 + + db CREDITS_WAIT, 12 + + db POKEDEX_TEXT, 1 + db TOSHINOBU_MATSUMIYA, 2 + + db CREDITS_WAIT, 12 + + db TOOL_PROGRAMMING, 1 + db SOUSUKE_TAMADA, 2 + db TAKENORI_OOTA, 3 + + db CREDITS_WAIT, 12 + + db PARAMETRIC_DESIGN, 1 + db KOHJI_NISHINO, 2 + + db CREDITS_WAIT, 12 + +; Clear the banner. + db CREDITS_CLEAR + + db CREDITS_WAIT, 1 + +; Update the banner. + db CREDITS_SCENE, 2 ; Ditto + + db SCRIPT_DESIGN, 1 + db TETSUJI_OOTA, 2 + db NOBUHIRO_SEYA, 3 + + db CREDITS_WAIT, 12 + + db MAP_DATA_DESIGN, 1 + db TETSUJI_OOTA, 2 + db KAZUHITO_SEKINE, 3 + + db CREDITS_WAIT, 12 + + db MAP_DESIGN, 0 + db TETSUJI_OOTA, 1 + db KOHJI_NISHINO, 2 + db NOBUHIRO_SEYA, 3 + + db CREDITS_WAIT, 12 + + db COORDINATION, 1 + db HIROYUKI_ZINNAI, 2 + + db CREDITS_WAIT, 12 + + db PRODUCERS, 0 + db SATORU_IWATA, 1 + db SATOSHI_YAMATO, 2 + db SHIGERU_MIYAMOTO, 3 + + db CREDITS_WAIT, 12 + + db PRODUCERS, 1 + db TSUNEKAZU_ISHIHARA, 2 + + db CREDITS_WAIT, 12 + +; Clear the banner. + db CREDITS_CLEAR + + db CREDITS_WAIT, 1 + +; Update the banner. + db CREDITS_SCENE, 3 ; Igglybuff + + db US_VERSION_STAFF, 2 + + db CREDITS_WAIT, 9 + + db US_COORDINATION, 1 + db GAIL_TILDEN, 2 + db HIRO_NAKAMURA, 3 + + db CREDITS_WAIT, 12 + + db US_COORDINATION, 1 + db JUNICHI_MASUDA, 2 + db SETH_MCMAHILL, 3 + + db CREDITS_WAIT, 12 + + db US_COORDINATION, 1 + db HIROTO_ALEXANDER, 2 + db TERESA_LILLYGREN, 3 + + db CREDITS_WAIT, 12 + + db TEXT_TRANSLATION, 1 + db NOB_OGASAWARA, 2 + + db CREDITS_WAIT, 12 + + db PROGRAMMERS, 1 + db TERUKI_MURAKAWA, 2 + db KAZUYOSHI_OSAWA, 3 + + db CREDITS_WAIT, 12 + + db PAAD_TESTING, 1 + db THOMAS_HERTZOG, 2 + db ERIK_JOHNSON, 3 + + db CREDITS_WAIT, 12 + + db PRODUCT_TESTING, 0 + db PLANNING, 1 + + db CREDITS_WAIT, 12 + + db PRODUCT_TESTING, 0 + db KEITA_NAKAMURA, 1 + db HIROTAKA_UEMURA, 2 + db HIROAKI_TAMURA, 3 + db NORIAKI_SAKAGUCHI, 4 + + db CREDITS_WAIT, 12 + + db PRODUCT_TESTING, 0 + db NCL_SUPER_MARIO_CLUB, 1 + db KENJI_SAIKI, 2 + db ATSUSHI_TADA, 3 + db MIYUKI_SATO, 4 + + db CREDITS_WAIT, 12 + + db SPECIAL_THANKS, 0 + db KIMIKO_NAKAMICHI, 1 + db AKITO_MORI, 2 + + db CREDITS_WAIT, 12 + + db SPECIAL_THANKS, 0 + db GAKUZI_NOMOTO, 1 + db AI_MASHIMA, 2 + db KUNIMI_KAWAMURA, 3 + + db CREDITS_WAIT, 12 + + db SPECIAL_THANKS, 0 + db MIKIHIRO_ISHIKAWA, 1 + db HIDEYUKI_HASHIMOTO, 2 + + db CREDITS_WAIT, 12 + + db EXECUTIVE_PRODUCER, 1 + db HIROSHI_YAMAUCHI, 2 + + db CREDITS_WAIT, 12 + + db COPYRIGHT, 1 + + db CREDITS_WAIT, 9 + +; Display "The End" graphic. + db CREDITS_THEEND + + db CREDITS_WAIT, 20 + + db CREDITS_END +; 10ae13 diff --git a/data/credits_strings.asm b/data/credits_strings.asm new file mode 100644 index 000000000..f885e2152 --- /dev/null +++ b/data/credits_strings.asm @@ -0,0 +1,221 @@ +CreditsStrings: +; entries correspond to constants/credits_constants.asm + dw .SatoshiTajiri + dw .JunichiMasuda + dw .TetsuyaWatanabe + dw .ShigekiMorimoto + dw .SousukeTamada + dw .TakenoriOota + dw .KenSugimori + dw .MotofumiFujiwara + dw .AtsukoNishida + dw .MuneoSaito + dw .SatoshiOota + dw .RenaYoshikawa + dw .JunOkutani + dw .HironobuYoshida + dw .AsukaIwashita + dw .GoIchinose + dw .MorikazuAoki + dw .KohjiNishino + dw .KenjiMatsushima + dw .ToshinobuMatsumiya + dw .SatoruIwata + dw .NobuhiroSeya + dw .KazuhitoSekine + dw .TetsujiOota + dw .NclSuperMarioClub + dw .Sarugakucho + dw .AkitoMori + dw .TakahiroHarada + dw .TohruHashimoto + dw .NoboruMatsumoto + dw .TakehiroIzushi + dw .TakashiKawaguchi + dw .TsunekazuIshihara + dw .HiroshiYamauchi + dw .KenjiSaiki + dw .AtsushiTada + dw .NaokoKawakami + dw .HiroyukiZinnai + dw .KunimiKawamura + dw .HisashiSogabe + dw .KeitaKagaya + dw .YoshinoriMatsuda + dw .HitomiSato + dw .ToruOsawa + dw .TakaoOhara + dw .YuichiroIto + dw .TakaoShimizu + dw .Planning + dw .KeitaNakamura + dw .HirotakaUemura + dw .HiroakiTamura + dw .NoriakiSakaguchi + dw .MiyukiSato + dw .GakuziNomoto + dw .AiMashima + dw .MikihiroIshikawa + dw .HideyukiHashimoto + dw .SatoshiYamato + dw .ShigeruMiyamoto + dw .GailTilden + dw .NobOgasawara + dw .SethMcMahill + dw .HirotoAlexander + dw .TeresaLillygren + dw .ThomasHertzog + dw .ErikJohnson + dw .HiroNakamura + dw .TerukiMurakawa + dw .KazuyoshiOsawa + dw .KimikoNakamichi + dw .End + dw .Unknown + dw .Staff + dw .Director + dw .CoDirector + dw .Programmers + dw .GraphicsDirector + dw .MonsterDesign + dw .GraphicsDesign + dw .Music + dw .SoundEffects + dw .GameDesign + dw .GameScenario + dw .ToolProgramming + dw .ParametricDesign + dw .ScriptDesign + dw .MapDataDesign + dw .MapDesign + dw .ProductTesting + dw .SpecialThanks + dw .Producers + dw .ExecutiveProducer + dw .PokemonAnimation + dw .PokedexText + dw .MobilePrjLeader + dw .MobileSystemAd + dw .MobileStadiumDir + dw .Coordination + dw .Copyright + dw .UsVersionStaff + dw .UsCoordination + dw .TextTranslation + dw .PaadTesting + +.SatoshiTajiri: db " SATOSHI TAJIRI@" ; "たじり さとし@" +.JunichiMasuda: db " JUNICHI MASUDA@" ; "ますだ じゅんいち@" +.TetsuyaWatanabe: db " TETSUYA WATANABE@" ; "わたなべ てつや@" +.ShigekiMorimoto: db " SHIGEKI MORIMOTO@" ; "もりもと しげき@" +.SousukeTamada: db " SOUSUKE TAMADA@" ; "たまだ そうすけ@" +.TakenoriOota: db " TAKENORI OOTA@" ; "おおた たけのり@" +.KenSugimori: db " KEN SUGIMORI@" ; "すぎもり けん@" +.MotofumiFujiwara: db " MOTOFUMI FUJIWARA@" ; "ふじわら もとふみ@" +.AtsukoNishida: db " ATSUKO NISHIDA@" ; "にしだ あつこ@" +.MuneoSaito: db " MUNEO SAITO@" ; "さいとう むねお@" +.SatoshiOota: db " SATOSHI OOTA@" ; "おおた さとし@" +.RenaYoshikawa: db " RENA YOSHIKAWA@" ; "よしかわ れな@" +.JunOkutani: db " JUN OKUTANI@" ; "おくたに じゅん@" +.HironobuYoshida: db " HIRONOBU YOSHIDA@" ; "よしだ ひろのぶ@" +.AsukaIwashita: db " ASUKA IWASHITA@" ; "いわした あすか@" +.GoIchinose: db " GO ICHINOSE@" ; "いちのせ ごう@" +.MorikazuAoki: db " MORIKAZU AOKI@" ; "あおき もりかず@" +.KohjiNishino: db " KOHJI NISHINO@" ; "にしの こうじ@" +.KenjiMatsushima: db " KENJI MATSUSHIMA@" ; "まつしま けんじ@" +.ToshinobuMatsumiya: db "TOSHINOBU MATSUMIYA@" ; "まつみや としのぶ@" +.SatoruIwata: db " SATORU IWATA@" ; "いわた さとる@" +.NobuhiroSeya: db " NOBUHIRO SEYA@" ; "せや のぶひろ@" +.KazuhitoSekine: db " KAZUHITO SEKINE@" ; "せきね かずひと@" +.TetsujiOota: db " TETSUJI OOTA@" ; "おおた てつじ@" +.NclSuperMarioClub: db "NCL SUPER MARIO CLUB@" ; "スーパーマりォクラブ@" +.Sarugakucho: db " SARUGAKUCHO@" ; "さるがくちょう@" +.AkitoMori: db " AKITO MORI@" ; "もり あきと@" +.TakahiroHarada: db " TAKAHIRO HARADA@" ; "はらだ たかひろ@" +.TohruHashimoto: db " TOHRU HASHIMOTO@" ; "はしもと とおる@" +.NoboruMatsumoto: db " NOBORU MATSUMOTO@" ; "まつもと のぼる@" +.TakehiroIzushi: db " TAKEHIRO IZUSHI@" ; "いずし たけひろ@" +.TakashiKawaguchi: db " TAKASHI KAWAGUCHI@" ; "かわぐち たかし@" +.TsunekazuIshihara: db " TSUNEKAZU ISHIHARA@" ; "いしはら つねかず@" +.HiroshiYamauchi: db " HIROSHI YAMAUCHI@" ; "やまうち ひろし@" +.KenjiSaiki: db " KENJI SAIKI@" ; "さいき けんじ@" +.AtsushiTada: db " ATSUSHI TADA@" ; "ただ あつし@" +.NaokoKawakami: db " NAOKO KAWAKAMI@" ; "かわかみ なおこ@" +.HiroyukiZinnai: db " HIROYUKI ZINNAI@" ; "じんない ひろゆき@" +.KunimiKawamura: db " KUNIMI KAWAMURA@" ; "かわむら くにみ@" +.HisashiSogabe: db " HISASHI SOGABE@" ; "そがべ ひさし@" +.KeitaKagaya: db " KEITA KAGAYA@" ; "かがや けいた@" +.YoshinoriMatsuda: db " YOSHINORI MATSUDA@" ; "まつだ よしのり@" +.HitomiSato: db " HITOMI SATO@" ; "さとう ひとみ@" +.ToruOsawa: db " TORU OSAWA@" ; "おおさわ とおる@" +.TakaoOhara: db " TAKAO OHARA@" ; "おおはら たかお@" +.YuichiroIto: db " YUICHIRO ITO@" ; "いとう ゆういちろう@" +.TakaoShimizu: db " TAKAO SHIMIZU@" ; "しみず たかお@" +.Planning: db " SPECIAL PRODUCTION" + next " PLANNING" ; "きかくかいはつぶ@" + next " & DEVELOPMENT DEPT.@" +.KeitaNakamura: db " KEITA NAKAMURA@" ; "なかむら けいた@" +.HirotakaUemura: db " HIROTAKA UEMURA@" ; "うえむら ひろたか@" +.HiroakiTamura: db " HIROAKI TAMURA@" ; "たむら ひろあき@" +.NoriakiSakaguchi: db " NORIAKI SAKAGUCHI@" ; "さかぐち のりあき@" +.MiyukiSato: db " MIYUKI SATO@" ; "さとう みゆき@" +.GakuziNomoto: db " GAKUZI NOMOTO@" ; "のもと がくじ@" +.AiMashima: db " AI MASHIMA@" ; "ましま あい@" +.MikihiroIshikawa: db " MIKIHIRO ISHIKAWA@" ; "いしかわ みきひろ@" +.HideyukiHashimoto: db " HIDEYUKI HASHIMOTO@" ; "はしもと ひでゆき@" +.SatoshiYamato: db " SATOSHI YAMATO@" ; "やまと さとし@" +.ShigeruMiyamoto: db " SHIGERU MIYAMOTO@" ; "みやもと しげる@" +.End: db " END@" ; "おしまい@" +.Unknown: db " ????????@" ; "????????@" +.GailTilden: db " GAIL TILDEN@" +.NobOgasawara: db " NOB OGASAWARA@" +.SethMcMahill: db " SETH McMAHILL@" +.HirotoAlexander: db " HIROTO ALEXANDER@" +.TeresaLillygren: db " TERESA LILLYGREN@" +.ThomasHertzog: db " THOMAS HERTZOG@" +.ErikJohnson: db " ERIK JOHNSON@" +.HiroNakamura: db " HIRO NAKAMURA@" +.TerukiMurakawa: db " TERUKI MURAKAWA@" +.KazuyoshiOsawa: db " KAZUYOSHI OSAWA@" +.KimikoNakamichi: db " KIMIKO NAKAMICHI@" +.Staff: db " #MON" ; "ポケットモンスター" + next " CRYSTAL VERSION" ; " クりスタル バージョン" + next " STAFF@" ; " スタッフ@" +.Director: db " DIRECTOR@" ; "エグゼクティブ ディレクター@" +.CoDirector: db " CO-DIRECTOR@" ; "ディレクター@" +.Programmers: db " PROGRAMMERS@" ; "プログラム@" +.GraphicsDirector: db " GRAPHICS DIRECTOR@" ; "グラフィック ディレクター@" +.MonsterDesign: db " MONSTER DESIGN@" ; "# デザイン@" +.GraphicsDesign: db " GRAPHICS DESIGN@" ; "グラフィック デザイン@" +.Music: db " MUSIC@" ; "おんがく@" +.SoundEffects: db " SOUND EFFECTS@" ; "サウンド エフ→クト@" +.GameDesign: db " GAME DESIGN@" ; "ゲームデザイン@" +.GameScenario: db " GAME SCENARIO@" ; "シナりォ@" +.ToolProgramming: db " TOOL PROGRAMMING@" ; "ツール プログラム@" +.ParametricDesign: db " PARAMETRIC DESIGN@" ; "パラメーター せってい@" +.ScriptDesign: db " SCRIPT DESIGN@" ; "スクりプト せってい@" +.MapDataDesign: db " MAP DATA DESIGN@" ; "マップデータ せってい@" +.MapDesign: db " MAP DESIGN@" ; "マップ デザイン@" +.ProductTesting: db " PRODUCT TESTING@" ; "デバッグプレイ@" +.SpecialThanks: db " SPECIAL THANKS@" ; "スぺシャルサンクス@" +.Producers: db " PRODUCERS@" ; "プロデューサー@" +.ExecutiveProducer: db " EXECUTIVE PRODUCER@" ; "エグゼクティブ プロデューサー@" +.PokemonAnimation: db " #MON ANIMATION@" ; "# アニメーション@" +.PokedexText: db " #DEX TEXT@" ; "ずかん テキスト@" +.MobilePrjLeader: db " MOBILE PRJ. LEADER@" ; "モバイルプロジ→クト りーダー@" +.MobileSystemAd: db " MOBILE SYSTEM AD.@" ; "モバイル システムアドバイザー@" +.MobileStadiumDir: db "MOBILE STADIUM DIR.@" ; "モバイルスタジアム ディレクター@" +.Coordination: db " COORDINATION@" ; "コーディネーター@" +.UsVersionStaff: db " US VERSION STAFF@" +.UsCoordination: db " US COORDINATION@" +.TextTranslation: db " TEXT TRANSLATION@" +.PaadTesting: db " PAAD TESTING@" + +.Copyright: + ; (C) 1 9 9 5 - 2 0 0 1 N i n t e n d o + db $60,$61,$62,$63,$64,$65,$66,$67,$68,$69,$6a,$6b,$6c + ; (C) 1 9 9 5 - 2 0 0 1 C r e a t u r e s i n c . + next $60,$61,$62,$63,$64,$65,$66,$6d,$6e,$6f,$70,$71,$72, $7a,$7b,$7c + ; (C) 1 9 9 5 - 2 0 0 1 G A M E F R E A K i n c . + next $60,$61,$62,$63,$64,$65,$66,$73,$74,$75,$76,$77,$78,$79, $7a,$7b,$7c + db "@" diff --git a/data/flypoints.asm b/data/flypoints.asm new file mode 100644 index 000000000..b41db0ea1 --- /dev/null +++ b/data/flypoints.asm @@ -0,0 +1,38 @@ +flypoint: MACRO + const FLY_\1 + db \2, SPAWN_\1 +ENDM + +Flypoints: ; 91c5e +; landmark, spawn point + const_def +; Johto + flypoint NEW_BARK, NEW_BARK_TOWN + flypoint CHERRYGROVE, CHERRYGROVE_CITY + flypoint VIOLET, VIOLET_CITY + flypoint AZALEA, AZALEA_TOWN + flypoint GOLDENROD, GOLDENROD_CITY + flypoint ECRUTEAK, ECRUTEAK_CITY + flypoint OLIVINE, OLIVINE_CITY + flypoint CIANWOOD, CIANWOOD_CITY + flypoint MAHOGANY, MAHOGANY_TOWN + flypoint LAKE, LAKE_OF_RAGE + flypoint BLACKTHORN, BLACKTHORN_CITY + flypoint MT_SILVER, SILVER_CAVE + +; Kanto +KANTO_FLYPOINT EQU const_value + flypoint PALLET, PALLET_TOWN + flypoint VIRIDIAN, VIRIDIAN_CITY + flypoint PEWTER, PEWTER_CITY + flypoint CERULEAN, CERULEAN_CITY + flypoint VERMILION, VERMILION_CITY + flypoint ROCK_TUNNEL, ROCK_TUNNEL + flypoint LAVENDER, LAVENDER_TOWN + flypoint CELADON, CELADON_CITY + flypoint SAFFRON, SAFFRON_CITY + flypoint FUCHSIA, FUCHSIA_CITY + flypoint CINNABAR, CINNABAR_ISLAND + flypoint INDIGO, INDIGO_PLATEAU + db -1 +; 91c8f diff --git a/data/fruit_tree_items.asm b/data/fruit_tree_items.asm deleted file mode 100644 index 67b8f51ad..000000000 --- a/data/fruit_tree_items.asm +++ /dev/null @@ -1,33 +0,0 @@ -FruitTreeItems: ; 44097 -; entries correspond to FRUITTREE_* constants - db BERRY ; ROUTE_29 - db BERRY ; ROUTE_30_1 - db BERRY ; ROUTE_38 - db BERRY ; ROUTE_46_1 - db PSNCUREBERRY ; ROUTE_30_2 - db PSNCUREBERRY ; ROUTE_33 - db BITTER_BERRY ; ROUTE_31 - db BITTER_BERRY ; ROUTE_43 - db PRZCUREBERRY ; VIOLET_CITY - db PRZCUREBERRY ; ROUTE_46_2 - db MYSTERYBERRY ; ROUTE_35 - db MYSTERYBERRY ; ROUTE_45 - db ICE_BERRY ; ROUTE_36 - db ICE_BERRY ; ROUTE_26 - db MINT_BERRY ; ROUTE_39 - db BURNT_BERRY ; ROUTE_44 - db RED_APRICORN ; ROUTE_37_1 - db BLU_APRICORN ; ROUTE_37_2 - db BLK_APRICORN ; ROUTE_37_3 - db WHT_APRICORN ; AZALEA_TOWN - db PNK_APRICORN ; ROUTE_42_1 - db GRN_APRICORN ; ROUTE_42_2 - db YLW_APRICORN ; ROUTE_42_3 - db BERRY ; ROUTE_11 - db PSNCUREBERRY ; ROUTE_2 - db BITTER_BERRY ; ROUTE_1 - db PRZCUREBERRY ; ROUTE_8 - db ICE_BERRY ; PEWTER_CITY_1 - db MINT_BERRY ; PEWTER_CITY_2 - db BURNT_BERRY ; FUCHSIA_CITY -; 440b5 diff --git a/data/items/bargain_shop.asm b/data/items/bargain_shop.asm new file mode 100644 index 000000000..e4da96210 --- /dev/null +++ b/data/items/bargain_shop.asm @@ -0,0 +1,9 @@ +BargainShopData: ; 15c51 + db 5 + dbw NUGGET, 4500 + dbw PEARL, 650 + dbw BIG_PEARL, 3500 + dbw STARDUST, 900 + dbw STAR_PIECE, 4600 + db -1 +; 15c62 diff --git a/data/items/buena_prizes.asm b/data/items/buena_prizes.asm new file mode 100644 index 000000000..34a3bd524 --- /dev/null +++ b/data/items/buena_prizes.asm @@ -0,0 +1,12 @@ +BuenaPrizeItems: ; 8b15e +; there are NUM_BUENA_PRIZES entries + db ULTRA_BALL, 2 + db FULL_RESTORE, 2 + db NUGGET, 3 + db RARE_CANDY, 3 + db PROTEIN, 5 + db IRON, 5 + db CARBOS, 5 + db CALCIUM, 5 + db HP_UP, 5 +; 8b170 diff --git a/data/items/fruit_trees.asm b/data/items/fruit_trees.asm new file mode 100644 index 000000000..67b8f51ad --- /dev/null +++ b/data/items/fruit_trees.asm @@ -0,0 +1,33 @@ +FruitTreeItems: ; 44097 +; entries correspond to FRUITTREE_* constants + db BERRY ; ROUTE_29 + db BERRY ; ROUTE_30_1 + db BERRY ; ROUTE_38 + db BERRY ; ROUTE_46_1 + db PSNCUREBERRY ; ROUTE_30_2 + db PSNCUREBERRY ; ROUTE_33 + db BITTER_BERRY ; ROUTE_31 + db BITTER_BERRY ; ROUTE_43 + db PRZCUREBERRY ; VIOLET_CITY + db PRZCUREBERRY ; ROUTE_46_2 + db MYSTERYBERRY ; ROUTE_35 + db MYSTERYBERRY ; ROUTE_45 + db ICE_BERRY ; ROUTE_36 + db ICE_BERRY ; ROUTE_26 + db MINT_BERRY ; ROUTE_39 + db BURNT_BERRY ; ROUTE_44 + db RED_APRICORN ; ROUTE_37_1 + db BLU_APRICORN ; ROUTE_37_2 + db BLK_APRICORN ; ROUTE_37_3 + db WHT_APRICORN ; AZALEA_TOWN + db PNK_APRICORN ; ROUTE_42_1 + db GRN_APRICORN ; ROUTE_42_2 + db YLW_APRICORN ; ROUTE_42_3 + db BERRY ; ROUTE_11 + db PSNCUREBERRY ; ROUTE_2 + db BITTER_BERRY ; ROUTE_1 + db PRZCUREBERRY ; ROUTE_8 + db ICE_BERRY ; PEWTER_CITY_1 + db MINT_BERRY ; PEWTER_CITY_2 + db BURNT_BERRY ; FUCHSIA_CITY +; 440b5 diff --git a/data/items/mom_phone.asm b/data/items/mom_phone.asm new file mode 100644 index 000000000..533241ca1 --- /dev/null +++ b/data/items/mom_phone.asm @@ -0,0 +1,27 @@ +momitem: macro +; money to trigger, cost, kind, item + dt \1 + dt \2 + db \3, \4 +ENDM + +MomItems_1: ; fd136 + momitem 0, 600, MOM_ITEM, SUPER_POTION + momitem 0, 90, MOM_ITEM, ANTIDOTE + momitem 0, 180, MOM_ITEM, POKE_BALL + momitem 0, 450, MOM_ITEM, ESCAPE_ROPE + momitem 0, 500, MOM_ITEM, GREAT_BALL +MomItems_1End: ; fd15e + +MomItems_2: ; fd15e + momitem 900, 600, MOM_ITEM, SUPER_POTION + momitem 4000, 270, MOM_ITEM, REPEL + momitem 7000, 600, MOM_ITEM, SUPER_POTION + momitem 10000, 1800, MOM_DOLL, DECO_CHARMANDER_DOLL + momitem 15000, 3000, MOM_ITEM, MOON_STONE + momitem 19000, 600, MOM_ITEM, SUPER_POTION + momitem 30000, 4800, MOM_DOLL, DECO_CLEFAIRY_DOLL + momitem 40000, 900, MOM_ITEM, HYPER_POTION + momitem 50000, 8000, MOM_DOLL, DECO_PIKACHU_DOLL + momitem 100000, 22800, MOM_DOLL, DECO_BIG_SNORLAX_DOLL +MomItems_2End: ; fd1ae diff --git a/data/items/rooftop_sale.asm b/data/items/rooftop_sale.asm new file mode 100644 index 000000000..b16724cdc --- /dev/null +++ b/data/items/rooftop_sale.asm @@ -0,0 +1,18 @@ +RooftopSaleData1: ; 15aee + db 5 + dbw POKE_BALL, 150 + dbw GREAT_BALL, 500 + dbw SUPER_POTION, 500 + dbw FULL_HEAL, 500 + dbw REVIVE, 1200 + db -1 + +RooftopSaleData2: ; 15aff + db 5 + dbw HYPER_POTION, 1000 + dbw FULL_RESTORE, 2000 + dbw FULL_HEAL, 500 + dbw ULTRA_BALL, 1000 + dbw PROTEIN, 7800 + db -1 +; 15b10 diff --git a/data/mom_phone_items.asm b/data/mom_phone_items.asm deleted file mode 100644 index 533241ca1..000000000 --- a/data/mom_phone_items.asm +++ /dev/null @@ -1,27 +0,0 @@ -momitem: macro -; money to trigger, cost, kind, item - dt \1 - dt \2 - db \3, \4 -ENDM - -MomItems_1: ; fd136 - momitem 0, 600, MOM_ITEM, SUPER_POTION - momitem 0, 90, MOM_ITEM, ANTIDOTE - momitem 0, 180, MOM_ITEM, POKE_BALL - momitem 0, 450, MOM_ITEM, ESCAPE_ROPE - momitem 0, 500, MOM_ITEM, GREAT_BALL -MomItems_1End: ; fd15e - -MomItems_2: ; fd15e - momitem 900, 600, MOM_ITEM, SUPER_POTION - momitem 4000, 270, MOM_ITEM, REPEL - momitem 7000, 600, MOM_ITEM, SUPER_POTION - momitem 10000, 1800, MOM_DOLL, DECO_CHARMANDER_DOLL - momitem 15000, 3000, MOM_ITEM, MOON_STONE - momitem 19000, 600, MOM_ITEM, SUPER_POTION - momitem 30000, 4800, MOM_DOLL, DECO_CLEFAIRY_DOLL - momitem 40000, 900, MOM_ITEM, HYPER_POTION - momitem 50000, 8000, MOM_DOLL, DECO_PIKACHU_DOLL - momitem 100000, 22800, MOM_DOLL, DECO_BIG_SNORLAX_DOLL -MomItems_2End: ; fd1ae diff --git a/data/palettes/town_map.asm b/data/palettes/town_map.asm new file mode 100644 index 000000000..88621a2fb --- /dev/null +++ b/data/palettes/town_map.asm @@ -0,0 +1,34 @@ + const_def + const PAL_TOWNMAP_BORDER ; 0 + const PAL_TOWNMAP_EARTH ; 1 + const PAL_TOWNMAP_MTN ; 2 + const PAL_TOWNMAP_CITY ; 3 + const PAL_TOWNMAP_POI ; 4 + const PAL_TOWNMAP_POI_MTN ; 5 + +townmappals: macro +rept _NARG / 2 + dn PAL_TOWNMAP_\2, PAL_TOWNMAP_\1 + shift + shift +endr +endm + +; gfx/pokegear/town_map.png + townmappals EARTH, EARTH, EARTH, MTN, MTN, MTN + townmappals BORDER, BORDER, EARTH, EARTH, CITY, EARTH + townmappals POI, POI_MTN, POI, POI_MTN, EARTH, EARTH + townmappals EARTH, MTN, MTN, MTN, BORDER, BORDER + townmappals EARTH, EARTH, BORDER, EARTH, EARTH, BORDER + townmappals BORDER, BORDER, EARTH, EARTH, EARTH, MTN + townmappals MTN, MTN, BORDER, BORDER, BORDER, BORDER + townmappals BORDER, BORDER, BORDER, BORDER, BORDER, BORDER +; gfx/pokegear/pokegear.png + townmappals BORDER, BORDER, BORDER, BORDER, POI, POI + townmappals POI, BORDER, BORDER, BORDER, BORDER, BORDER + townmappals BORDER, BORDER, BORDER, BORDER, CITY, CITY + townmappals CITY, CITY, CITY, CITY, CITY, CITY + townmappals CITY, CITY, CITY, CITY, CITY, CITY + townmappals CITY, BORDER, CITY, CITY, CITY, CITY + townmappals CITY, CITY, CITY, CITY, BORDER, BORDER + townmappals BORDER, BORDER, BORDER, BORDER, BORDER, BORDER diff --git a/engine/credits.asm b/engine/credits.asm index f8cce7a15..62e53c01f 100644 --- a/engine/credits.asm +++ b/engine/credits.asm @@ -1,121 +1,7 @@ INCLUDE "includes.asm" -SECTION "Credits", ROMX - - const_def - const SATOSHI_TAJIRI - const JUNICHI_MASUDA - const TETSUYA_WATANABE - const SHIGEKI_MORIMOTO - const SOUSUKE_TAMADA - const TAKENORI_OOTA - const KEN_SUGIMORI - const MOTOFUMI_FUJIWARA - const ATSUKO_NISHIDA - const MUNEO_SAITO - const SATOSHI_OOTA - const RENA_YOSHIKAWA - const JUN_OKUTANI - const HIRONOBU_YOSHIDA - const ASUKA_IWASHITA - const GO_ICHINOSE - const MORIKAZU_AOKI - const KOHJI_NISHINO - const KENJI_MATSUSHIMA - const TOSHINOBU_MATSUMIYA - const SATORU_IWATA - const NOBUHIRO_SEYA - const KAZUHITO_SEKINE - const TETSUJI_OOTA - const NCL_SUPER_MARIO_CLUB - const SARUGAKUCHO - const AKITO_MORI - const TAKAHIRO_HARADA - const TOHRU_HASHIMOTO - const NOBORU_MATSUMOTO - const TAKEHIRO_IZUSHI - const TAKASHI_KAWAGUCHI - const TSUNEKAZU_ISHIHARA - const HIROSHI_YAMAUCHI - const KENJI_SAIKI - const ATSUSHI_TADA - const NAOKO_KAWAKAMI - const HIROYUKI_ZINNAI - const KUNIMI_KAWAMURA - const HISASHI_SOGABE - const KEITA_KAGAYA - const YOSHINORI_MATSUDA - const HITOMI_SATO - const TORU_OSAWA - const TAKAO_OHARA - const YUICHIRO_ITO - const TAKAO_SHIMIZU - const PLANNING - const KEITA_NAKAMURA - const HIROTAKA_UEMURA - const HIROAKI_TAMURA - const NORIAKI_SAKAGUCHI - const MIYUKI_SATO - const GAKUZI_NOMOTO - const AI_MASHIMA - const MIKIHIRO_ISHIKAWA - const HIDEYUKI_HASHIMOTO - const SATOSHI_YAMATO - const SHIGERU_MIYAMOTO - const GAIL_TILDEN - const NOB_OGASAWARA - const SETH_MCMAHILL - const HIROTO_ALEXANDER - const TERESA_LILLYGREN - const THOMAS_HERTZOG - const ERIK_JOHNSON - const HIRO_NAKAMURA - const TERUKI_MURAKAWA - const KAZUYOSHI_OSAWA - const KIMIKO_NAKAMICHI - const CREDIT_END - const CREDIT_UNKNOWN - const STAFF - const DIRECTOR - const CODIRECTOR - const PROGRAMMERS - const GRAPHICS_DIRECTOR - const MONSTER_DESIGN - const GRAPHICS_DESIGN - const CREDIT_MUSIC - const CREDIT_SOUND_EFFECTS - const GAME_DESIGN - const GAME_SCENARIO - const TOOL_PROGRAMMING - const PARAMETRIC_DESIGN - const SCRIPT_DESIGN - const MAP_DATA_DESIGN - const MAP_DESIGN - const PRODUCT_TESTING - const SPECIAL_THANKS - const PRODUCERS - const EXECUTIVE_PRODUCER - const POKEMON_ANIMATION - const POKEDEX_TEXT - const MOBILE_PRJ_LEADER - const MOBILE_SYSTEM_AD - const MOBILE_STADIUM_DIR - const COORDINATION - const COPYRIGHT - const US_VERSION_STAFF - const US_COORDINATION - const TEXT_TRANSLATION - const PAAD_TESTING - -const_value SET -7 - const CREDITS_THEEND - const CREDITS_WAIT2 - const CREDITS_MUSIC - const CREDITS_CLEAR - const CREDITS_SCENE - const CREDITS_WAIT - const CREDITS_END +SECTION "Credits", ROMX Credits:: ; 109847 bit 6, b ; Hall Of Fame @@ -791,521 +677,8 @@ Credits_TheEnd: ; 109c11 (42:5c11) ; 109c24 (42:5c24) -CreditsBorderGFX: INCBIN "gfx/credits/border.2bpp" - -CreditsMonsGFX: -CreditsPichuGFX: INCBIN "gfx/credits/pichu.2bpp" -CreditsSmoochumGFX: INCBIN "gfx/credits/smoochum.2bpp" -CreditsDittoGFX: INCBIN "gfx/credits/ditto.2bpp" -CreditsIgglybuffGFX: INCBIN "gfx/credits/igglybuff.2bpp" - - -CreditsScript: ; 10acb4 - -; Clear the banner. - db CREDITS_CLEAR - -; Pokemon Crystal Version Staff - db STAFF, 1 - - db CREDITS_WAIT, 8 - -; Play the credits music. - db CREDITS_MUSIC - - db CREDITS_WAIT2, 10 - - db CREDITS_WAIT, 1 - -; Update the banner. - db CREDITS_SCENE, 0 ; Pichu - - db DIRECTOR, 1 - db SATOSHI_TAJIRI, 2 - - db CREDITS_WAIT, 12 - - db CODIRECTOR, 1 - db JUNICHI_MASUDA, 2 - - db CREDITS_WAIT, 12 - - db PROGRAMMERS, 0 - db SOUSUKE_TAMADA, 1 - db HISASHI_SOGABE, 2 - db KEITA_KAGAYA, 3 - db YOSHINORI_MATSUDA, 4 - - db CREDITS_WAIT, 12 - - db PROGRAMMERS, 0 - db SHIGEKI_MORIMOTO, 1 - db TETSUYA_WATANABE, 2 - db TAKENORI_OOTA, 3 - - db CREDITS_WAIT, 12 - - db GRAPHICS_DIRECTOR, 1 - db KEN_SUGIMORI, 2 - - db CREDITS_WAIT, 12 - - db MONSTER_DESIGN, 0 - db KEN_SUGIMORI, 1 - db MOTOFUMI_FUJIWARA, 2 - db SHIGEKI_MORIMOTO, 3 - db HIRONOBU_YOSHIDA, 4 - db SATOSHI_OOTA, 5 - - db CREDITS_WAIT, 12 - - db MONSTER_DESIGN, 0 - db ATSUKO_NISHIDA, 1 - db MUNEO_SAITO, 2 - db RENA_YOSHIKAWA, 3 - - db CREDITS_WAIT, 12 - - db POKEMON_ANIMATION, 1 - db HIRONOBU_YOSHIDA, 2 - db JUN_OKUTANI, 3 - - db CREDITS_WAIT, 12 - -; Clear the banner. - db CREDITS_CLEAR - - db CREDITS_WAIT, 1 - -; Update the banner. - db CREDITS_SCENE, 1 ; Smoochum - - db GRAPHICS_DESIGN, 0 - db HIRONOBU_YOSHIDA, 1 - db JUN_OKUTANI, 2 - db ASUKA_IWASHITA, 3 - db TETSUYA_WATANABE, 4 - - db CREDITS_WAIT, 12 - - db CREDIT_MUSIC, 0 - db JUNICHI_MASUDA, 1 - db MORIKAZU_AOKI, 2 - db GO_ICHINOSE, 3 - - db CREDITS_WAIT, 12 - - db CREDIT_SOUND_EFFECTS, 0 - db MORIKAZU_AOKI, 1 - db JUNICHI_MASUDA, 2 - db TETSUYA_WATANABE, 3 - - db CREDITS_WAIT, 12 - - db GAME_DESIGN, 0 - db JUNICHI_MASUDA, 1 - db SHIGEKI_MORIMOTO, 2 - db KOHJI_NISHINO, 3 - - db CREDITS_WAIT, 12 - - db GAME_DESIGN, 0 - db TETSUJI_OOTA, 1 - db HITOMI_SATO, 2 - db KENJI_MATSUSHIMA, 3 - - db CREDITS_WAIT, 12 - - db GAME_SCENARIO, 0 - db JUNICHI_MASUDA, 1 - db KOHJI_NISHINO, 2 - db TOSHINOBU_MATSUMIYA, 3 - db KENJI_MATSUSHIMA, 4 - - db CREDITS_WAIT, 12 - - db POKEDEX_TEXT, 1 - db TOSHINOBU_MATSUMIYA, 2 - - db CREDITS_WAIT, 12 - - db TOOL_PROGRAMMING, 1 - db SOUSUKE_TAMADA, 2 - db TAKENORI_OOTA, 3 - - db CREDITS_WAIT, 12 - - db PARAMETRIC_DESIGN, 1 - db KOHJI_NISHINO, 2 +INCLUDE "gfx/credits.asm" - db CREDITS_WAIT, 12 +INCLUDE "data/credits_script.asm" -; Clear the banner. - db CREDITS_CLEAR - - db CREDITS_WAIT, 1 - -; Update the banner. - db CREDITS_SCENE, 2 ; Ditto - - db SCRIPT_DESIGN, 1 - db TETSUJI_OOTA, 2 - db NOBUHIRO_SEYA, 3 - - db CREDITS_WAIT, 12 - - db MAP_DATA_DESIGN, 1 - db TETSUJI_OOTA, 2 - db KAZUHITO_SEKINE, 3 - - db CREDITS_WAIT, 12 - - db MAP_DESIGN, 0 - db TETSUJI_OOTA, 1 - db KOHJI_NISHINO, 2 - db NOBUHIRO_SEYA, 3 - - db CREDITS_WAIT, 12 - - db COORDINATION, 1 - db HIROYUKI_ZINNAI, 2 - - db CREDITS_WAIT, 12 - - db PRODUCERS, 0 - db SATORU_IWATA, 1 - db SATOSHI_YAMATO, 2 - db SHIGERU_MIYAMOTO, 3 - - db CREDITS_WAIT, 12 - - db PRODUCERS, 1 - db TSUNEKAZU_ISHIHARA, 2 - - db CREDITS_WAIT, 12 - -; Clear the banner. - db CREDITS_CLEAR - - db CREDITS_WAIT, 1 - -; Update the banner. - db CREDITS_SCENE, 3 ; Igglybuff - - db US_VERSION_STAFF, 2 - - db CREDITS_WAIT, 9 - - db US_COORDINATION, 1 - db GAIL_TILDEN, 2 - db HIRO_NAKAMURA, 3 - - db CREDITS_WAIT, 12 - - db US_COORDINATION, 1 - db JUNICHI_MASUDA, 2 - db SETH_MCMAHILL, 3 - - db CREDITS_WAIT, 12 - - db US_COORDINATION, 1 - db HIROTO_ALEXANDER, 2 - db TERESA_LILLYGREN, 3 - - db CREDITS_WAIT, 12 - - db TEXT_TRANSLATION, 1 - db NOB_OGASAWARA, 2 - - db CREDITS_WAIT, 12 - - db PROGRAMMERS, 1 - db TERUKI_MURAKAWA, 2 - db KAZUYOSHI_OSAWA, 3 - - db CREDITS_WAIT, 12 - - db PAAD_TESTING, 1 - db THOMAS_HERTZOG, 2 - db ERIK_JOHNSON, 3 - - db CREDITS_WAIT, 12 - - db PRODUCT_TESTING, 0 - db PLANNING, 1 - - db CREDITS_WAIT, 12 - - db PRODUCT_TESTING, 0 - db KEITA_NAKAMURA, 1 - db HIROTAKA_UEMURA, 2 - db HIROAKI_TAMURA, 3 - db NORIAKI_SAKAGUCHI, 4 - - db CREDITS_WAIT, 12 - - db PRODUCT_TESTING, 0 - db NCL_SUPER_MARIO_CLUB, 1 - db KENJI_SAIKI, 2 - db ATSUSHI_TADA, 3 - db MIYUKI_SATO, 4 - - db CREDITS_WAIT, 12 - - db SPECIAL_THANKS, 0 - db KIMIKO_NAKAMICHI, 1 - db AKITO_MORI, 2 - - db CREDITS_WAIT, 12 - - db SPECIAL_THANKS, 0 - db GAKUZI_NOMOTO, 1 - db AI_MASHIMA, 2 - db KUNIMI_KAWAMURA, 3 - - db CREDITS_WAIT, 12 - - db SPECIAL_THANKS, 0 - db MIKIHIRO_ISHIKAWA, 1 - db HIDEYUKI_HASHIMOTO, 2 - - db CREDITS_WAIT, 12 - - db EXECUTIVE_PRODUCER, 1 - db HIROSHI_YAMAUCHI, 2 - - db CREDITS_WAIT, 12 - - db COPYRIGHT, 1 - - db CREDITS_WAIT, 9 - -; Display "The End" graphic. - db CREDITS_THEEND - - db CREDITS_WAIT, 20 - - db CREDITS_END -; 10ae13 - - -CreditsStrings: - dw .SatoshiTajiri - dw .JunichiMasuda - dw .TetsuyaWatanabe - dw .ShigekiMorimoto - dw .SousukeTamada - dw .TakenoriOota - dw .KenSugimori - dw .MotofumiFujiwara - dw .AtsukoNishida - dw .MuneoSaito - dw .SatoshiOota - dw .RenaYoshikawa - dw .JunOkutani - dw .HironobuYoshida - dw .AsukaIwashita - dw .GoIchinose - dw .MorikazuAoki - dw .KohjiNishino - dw .KenjiMatsushima - dw .ToshinobuMatsumiya - dw .SatoruIwata - dw .NobuhiroSeya - dw .KazuhitoSekine - dw .TetsujiOota - dw .NclSuperMarioClub - dw .Sarugakucho - dw .AkitoMori - dw .TakahiroHarada - dw .TohruHashimoto - dw .NoboruMatsumoto - dw .TakehiroIzushi - dw .TakashiKawaguchi - dw .TsunekazuIshihara - dw .HiroshiYamauchi - dw .KenjiSaiki - dw .AtsushiTada - dw .NaokoKawakami - dw .HiroyukiZinnai - dw .KunimiKawamura - dw .HisashiSogabe - dw .KeitaKagaya - dw .YoshinoriMatsuda - dw .HitomiSato - dw .ToruOsawa - dw .TakaoOhara - dw .YuichiroIto - dw .TakaoShimizu - dw .Planning - dw .KeitaNakamura - dw .HirotakaUemura - dw .HiroakiTamura - dw .NoriakiSakaguchi - dw .MiyukiSato - dw .GakuziNomoto - dw .AiMashima - dw .MikihiroIshikawa - dw .HideyukiHashimoto - dw .SatoshiYamato - dw .ShigeruMiyamoto - dw .GailTilden - dw .NobOgasawara - dw .SethMcMahill - dw .HirotoAlexander - dw .TeresaLillygren - dw .ThomasHertzog - dw .ErikJohnson - dw .HiroNakamura - dw .TerukiMurakawa - dw .KazuyoshiOsawa - dw .KimikoNakamichi - dw .End - dw .Unknown - dw .Staff - dw .Director - dw .CoDirector - dw .Programmers - dw .GraphicsDirector - dw .MonsterDesign - dw .GraphicsDesign - dw .Music - dw .SoundEffects - dw .GameDesign - dw .GameScenario - dw .ToolProgramming - dw .ParametricDesign - dw .ScriptDesign - dw .MapDataDesign - dw .MapDesign - dw .ProductTesting - dw .SpecialThanks - dw .Producers - dw .ExecutiveProducer - dw .PokemonAnimation - dw .PokedexText - dw .MobilePrjLeader - dw .MobileSystemAd - dw .MobileStadiumDir - dw .Coordination - dw .Copyright - dw .UsVersionStaff - dw .UsCoordination - dw .TextTranslation - dw .PaadTesting - -.SatoshiTajiri: db " SATOSHI TAJIRI@" ; "たじり さとし@" -.JunichiMasuda: db " JUNICHI MASUDA@" ; "ますだ じゅんいち@" -.TetsuyaWatanabe: db " TETSUYA WATANABE@" ; "わたなべ てつや@" -.ShigekiMorimoto: db " SHIGEKI MORIMOTO@" ; "もりもと しげき@" -.SousukeTamada: db " SOUSUKE TAMADA@" ; "たまだ そうすけ@" -.TakenoriOota: db " TAKENORI OOTA@" ; "おおた たけのり@" -.KenSugimori: db " KEN SUGIMORI@" ; "すぎもり けん@" -.MotofumiFujiwara: db " MOTOFUMI FUJIWARA@" ; "ふじわら もとふみ@" -.AtsukoNishida: db " ATSUKO NISHIDA@" ; "にしだ あつこ@" -.MuneoSaito: db " MUNEO SAITO@" ; "さいとう むねお@" -.SatoshiOota: db " SATOSHI OOTA@" ; "おおた さとし@" -.RenaYoshikawa: db " RENA YOSHIKAWA@" ; "よしかわ れな@" -.JunOkutani: db " JUN OKUTANI@" ; "おくたに じゅん@" -.HironobuYoshida: db " HIRONOBU YOSHIDA@" ; "よしだ ひろのぶ@" -.AsukaIwashita: db " ASUKA IWASHITA@" ; "いわした あすか@" -.GoIchinose: db " GO ICHINOSE@" ; "いちのせ ごう@" -.MorikazuAoki: db " MORIKAZU AOKI@" ; "あおき もりかず@" -.KohjiNishino: db " KOHJI NISHINO@" ; "にしの こうじ@" -.KenjiMatsushima: db " KENJI MATSUSHIMA@" ; "まつしま けんじ@" -.ToshinobuMatsumiya: db "TOSHINOBU MATSUMIYA@" ; "まつみや としのぶ@" -.SatoruIwata: db " SATORU IWATA@" ; "いわた さとる@" -.NobuhiroSeya: db " NOBUHIRO SEYA@" ; "せや のぶひろ@" -.KazuhitoSekine: db " KAZUHITO SEKINE@" ; "せきね かずひと@" -.TetsujiOota: db " TETSUJI OOTA@" ; "おおた てつじ@" -.NclSuperMarioClub: db "NCL SUPER MARIO CLUB@" ; "スーパーマりォクラブ@" -.Sarugakucho: db " SARUGAKUCHO@" ; "さるがくちょう@" -.AkitoMori: db " AKITO MORI@" ; "もり あきと@" -.TakahiroHarada: db " TAKAHIRO HARADA@" ; "はらだ たかひろ@" -.TohruHashimoto: db " TOHRU HASHIMOTO@" ; "はしもと とおる@" -.NoboruMatsumoto: db " NOBORU MATSUMOTO@" ; "まつもと のぼる@" -.TakehiroIzushi: db " TAKEHIRO IZUSHI@" ; "いずし たけひろ@" -.TakashiKawaguchi: db " TAKASHI KAWAGUCHI@" ; "かわぐち たかし@" -.TsunekazuIshihara: db " TSUNEKAZU ISHIHARA@" ; "いしはら つねかず@" -.HiroshiYamauchi: db " HIROSHI YAMAUCHI@" ; "やまうち ひろし@" -.KenjiSaiki: db " KENJI SAIKI@" ; "さいき けんじ@" -.AtsushiTada: db " ATSUSHI TADA@" ; "ただ あつし@" -.NaokoKawakami: db " NAOKO KAWAKAMI@" ; "かわかみ なおこ@" -.HiroyukiZinnai: db " HIROYUKI ZINNAI@" ; "じんない ひろゆき@" -.KunimiKawamura: db " KUNIMI KAWAMURA@" ; "かわむら くにみ@" -.HisashiSogabe: db " HISASHI SOGABE@" ; "そがべ ひさし@" -.KeitaKagaya: db " KEITA KAGAYA@" ; "かがや けいた@" -.YoshinoriMatsuda: db " YOSHINORI MATSUDA@" ; "まつだ よしのり@" -.HitomiSato: db " HITOMI SATO@" ; "さとう ひとみ@" -.ToruOsawa: db " TORU OSAWA@" ; "おおさわ とおる@" -.TakaoOhara: db " TAKAO OHARA@" ; "おおはら たかお@" -.YuichiroIto: db " YUICHIRO ITO@" ; "いとう ゆういちろう@" -.TakaoShimizu: db " TAKAO SHIMIZU@" ; "しみず たかお@" -.Planning: db " SPECIAL PRODUCTION" - next " PLANNING" ; "きかくかいはつぶ@" - next " & DEVELOPMENT DEPT.@" -.KeitaNakamura: db " KEITA NAKAMURA@" ; "なかむら けいた@" -.HirotakaUemura: db " HIROTAKA UEMURA@" ; "うえむら ひろたか@" -.HiroakiTamura: db " HIROAKI TAMURA@" ; "たむら ひろあき@" -.NoriakiSakaguchi: db " NORIAKI SAKAGUCHI@" ; "さかぐち のりあき@" -.MiyukiSato: db " MIYUKI SATO@" ; "さとう みゆき@" -.GakuziNomoto: db " GAKUZI NOMOTO@" ; "のもと がくじ@" -.AiMashima: db " AI MASHIMA@" ; "ましま あい@" -.MikihiroIshikawa: db " MIKIHIRO ISHIKAWA@" ; "いしかわ みきひろ@" -.HideyukiHashimoto: db " HIDEYUKI HASHIMOTO@" ; "はしもと ひでゆき@" -.SatoshiYamato: db " SATOSHI YAMATO@" ; "やまと さとし@" -.ShigeruMiyamoto: db " SHIGERU MIYAMOTO@" ; "みやもと しげる@" -.End: db " END@" ; "おしまい@" -.Unknown: db " ????????@" ; "????????@" -.GailTilden: db " GAIL TILDEN@" -.NobOgasawara: db " NOB OGASAWARA@" -.SethMcMahill: db " SETH McMAHILL@" -.HirotoAlexander: db " HIROTO ALEXANDER@" -.TeresaLillygren: db " TERESA LILLYGREN@" -.ThomasHertzog: db " THOMAS HERTZOG@" -.ErikJohnson: db " ERIK JOHNSON@" -.HiroNakamura: db " HIRO NAKAMURA@" -.TerukiMurakawa: db " TERUKI MURAKAWA@" -.KazuyoshiOsawa: db " KAZUYOSHI OSAWA@" -.KimikoNakamichi: db " KIMIKO NAKAMICHI@" -.Staff: db " #MON" ; "ポケットモンスター" - next " CRYSTAL VERSION" ; " クりスタル バージョン" - next " STAFF@" ; " スタッフ@" -.Director: db " DIRECTOR@" ; "エグゼクティブ ディレクター@" -.CoDirector: db " CO-DIRECTOR@" ; "ディレクター@" -.Programmers: db " PROGRAMMERS@" ; "プログラム@" -.GraphicsDirector: db " GRAPHICS DIRECTOR@" ; "グラフィック ディレクター@" -.MonsterDesign: db " MONSTER DESIGN@" ; "# デザイン@" -.GraphicsDesign: db " GRAPHICS DESIGN@" ; "グラフィック デザイン@" -.Music: db " MUSIC@" ; "おんがく@" -.SoundEffects: db " SOUND EFFECTS@" ; "サウンド エフ→クト@" -.GameDesign: db " GAME DESIGN@" ; "ゲームデザイン@" -.GameScenario: db " GAME SCENARIO@" ; "シナりォ@" -.ToolProgramming: db " TOOL PROGRAMMING@" ; "ツール プログラム@" -.ParametricDesign: db " PARAMETRIC DESIGN@" ; "パラメーター せってい@" -.ScriptDesign: db " SCRIPT DESIGN@" ; "スクりプト せってい@" -.MapDataDesign: db " MAP DATA DESIGN@" ; "マップデータ せってい@" -.MapDesign: db " MAP DESIGN@" ; "マップ デザイン@" -.ProductTesting: db " PRODUCT TESTING@" ; "デバッグプレイ@" -.SpecialThanks: db " SPECIAL THANKS@" ; "スぺシャルサンクス@" -.Producers: db " PRODUCERS@" ; "プロデューサー@" -.ExecutiveProducer: db " EXECUTIVE PRODUCER@" ; "エグゼクティブ プロデューサー@" -.PokemonAnimation: db " #MON ANIMATION@" ; "# アニメーション@" -.PokedexText: db " #DEX TEXT@" ; "ずかん テキスト@" -.MobilePrjLeader: db " MOBILE PRJ. LEADER@" ; "モバイルプロジ→クト りーダー@" -.MobileSystemAd: db " MOBILE SYSTEM AD.@" ; "モバイル システムアドバイザー@" -.MobileStadiumDir: db "MOBILE STADIUM DIR.@" ; "モバイルスタジアム ディレクター@" -.Coordination: db " COORDINATION@" ; "コーディネーター@" -.UsVersionStaff: db " US VERSION STAFF@" -.UsCoordination: db " US COORDINATION@" -.TextTranslation: db " TEXT TRANSLATION@" -.PaadTesting: db " PAAD TESTING@" - -.Copyright: - ; (C) 1 9 9 5 - 2 0 0 1 N i n t e n d o - db $60,$61,$62,$63,$64,$65,$66,$67,$68,$69,$6a,$6b,$6c - ; (C) 1 9 9 5 - 2 0 0 1 C r e a t u r e s i n c . - next $60,$61,$62,$63,$64,$65,$66,$6d,$6e,$6f,$70,$71,$72, $7a,$7b,$7c - ; (C) 1 9 9 5 - 2 0 0 1 G A M E F R E A K i n c . - next $60,$61,$62,$63,$64,$65,$66,$73,$74,$75,$76,$77,$78,$79, $7a,$7b,$7c - db "@" +INCLUDE "data/credits_strings.asm" diff --git a/engine/fruit_trees.asm b/engine/fruit_trees.asm index 5c74b3bff..4f9de8300 100644 --- a/engine/fruit_trees.asm +++ b/engine/fruit_trees.asm @@ -103,7 +103,7 @@ GetFruitTreeItem: ; 4408a ; 44097 -INCLUDE "data/fruit_tree_items.asm" +INCLUDE "data/items/fruit_trees.asm" FruitBearingTreeText: ; 440b5 diff --git a/engine/mart.asm b/engine/mart.asm index 6bcec4c55..b091c9ef1 100755 --- a/engine/mart.asm +++ b/engine/mart.asm @@ -99,23 +99,7 @@ RooftopSale: ; 15ac4 ret ; 15aee -RooftopSaleData1: ; 15aee - db 5 - dbw POKE_BALL, 150 - dbw GREAT_BALL, 500 - dbw SUPER_POTION, 500 - dbw FULL_HEAL, 500 - dbw REVIVE, 1200 - db -1 -RooftopSaleData2: ; 15aff - db 5 - dbw HYPER_POTION, 1000 - dbw FULL_RESTORE, 2000 - dbw FULL_HEAL, 500 - dbw ULTRA_BALL, 1000 - dbw PROTEIN, 7800 - db -1 -; 15b10 +INCLUDE "data/items/rooftop_sale.asm" LoadMartPointer: ; 15b10 ld a, b @@ -355,15 +339,7 @@ ReadMart: ; 15c25 ret ; 15c51 -BargainShopData: ; 15c51 - db 5 - dbw NUGGET, 4500 - dbw PEARL, 650 - dbw BIG_PEARL, 3500 - dbw STARDUST, 900 - dbw STAR_PIECE, 4600 - db -1 -; 15c62 +INCLUDE "data/items/bargain_shop.asm" BuyMenu: ; 15c62 diff --git a/engine/new_pokedex_entry.asm b/engine/new_pokedex_entry.asm new file mode 100644 index 000000000..012052530 --- /dev/null +++ b/engine/new_pokedex_entry.asm @@ -0,0 +1,52 @@ +NewPokedexEntry: ; fb877 + ld a, [hMapAnims] + push af + xor a + ld [hMapAnims], a + call LowVolume + call ClearBGPalettes + call ClearTileMap + call UpdateSprites + call ClearSprites + ld a, [wPokedexStatus] + push af + ld a, [hSCX] + add $5 + ld [hSCX], a + xor a + ld [wPokedexStatus], a + callba _NewPokedexEntry + call WaitPressAorB_BlinkCursor + ld a, $1 + ld [wPokedexStatus], a + callba DisplayDexEntry + call WaitPressAorB_BlinkCursor + pop af + ld [wPokedexStatus], a + call MaxVolume + call RotateThreePalettesRight + ld a, [hSCX] + add -5 ; 251 ; NUM_POKEMON + ld [hSCX], a + call .ReturnFromDexRegistration + pop af + ld [hMapAnims], a + ret +; fb8c8 + +.ReturnFromDexRegistration: ; fb8c8 + call ClearTileMap + call LoadFontsExtra + call LoadStandardFont + callba Pokedex_PlaceFrontpicTopLeftCorner + call WaitBGMap2 + callba GetEnemyMonDVs + ld a, [hli] + ld [TempMonDVs], a + ld a, [hl] + ld [TempMonDVs + 1], a + ld b, SCGB_TRAINER_OR_MON_FRONTPIC_PALS + call GetSGBLayout + call SetPalettes + ret +; fb8f1 diff --git a/engine/play_slow_cry.asm b/engine/play_slow_cry.asm new file mode 100644 index 000000000..322fd21cc --- /dev/null +++ b/engine/play_slow_cry.asm @@ -0,0 +1,31 @@ +PlaySlowCry: ; fb841 + ld a, [ScriptVar] + call LoadCryHeader + jr c, .done + + ld hl, CryPitch + ld a, [hli] + ld h, [hl] + ld l, a + ld bc, -$140 + add hl, bc + ld a, l + ld [CryPitch], a + ld a, h + ld [CryPitch + 1], a + ld hl, CryLength + ld a, [hli] + ld h, [hl] + ld l, a + ld bc, $60 + add hl, bc + ld a, l + ld [CryLength], a + ld a, h + ld [CryLength + 1], a + callba _PlayCryHeader + call WaitSFX + +.done + ret +; fb877 diff --git a/engine/pokegear.asm b/engine/pokegear.asm index 4e38cf917..bf2c2b40e 100755 --- a/engine/pokegear.asm +++ b/engine/pokegear.asm @@ -2338,44 +2338,7 @@ HasVisitedSpawn: ; 91c50 ; 91c5e -Flypoints: ; 91c5e -; landmark, spawn point -flypoint: MACRO - const FLY_\1 - db \2, SPAWN_\1 -ENDM - const_def -; Johto - flypoint NEW_BARK, NEW_BARK_TOWN - flypoint CHERRYGROVE, CHERRYGROVE_CITY - flypoint VIOLET, VIOLET_CITY - flypoint AZALEA, AZALEA_TOWN - flypoint GOLDENROD, GOLDENROD_CITY - flypoint ECRUTEAK, ECRUTEAK_CITY - flypoint OLIVINE, OLIVINE_CITY - flypoint CIANWOOD, CIANWOOD_CITY - flypoint MAHOGANY, MAHOGANY_TOWN - flypoint LAKE, LAKE_OF_RAGE - flypoint BLACKTHORN, BLACKTHORN_CITY - flypoint MT_SILVER, SILVER_CAVE -; Kanto - -KANTO_FLYPOINT EQU const_value - flypoint PALLET, PALLET_TOWN - flypoint VIRIDIAN, VIRIDIAN_CITY - flypoint PEWTER, PEWTER_CITY - flypoint CERULEAN, CERULEAN_CITY - flypoint VERMILION, VERMILION_CITY - flypoint ROCK_TUNNEL, ROCK_TUNNEL - flypoint LAVENDER, LAVENDER_TOWN - flypoint CELADON, CELADON_CITY - flypoint SAFFRON, SAFFRON_CITY - flypoint FUCHSIA, FUCHSIA_CITY - flypoint CINNABAR, CINNABAR_ISLAND - flypoint INDIGO, INDIGO_PLATEAU - db -1 - -; 91c8f +INCLUDE "data/flypoints.asm" ret_91c8f: ; 91c8f ret @@ -2872,19 +2835,7 @@ TownMapPals: ; 91f13 ret .PalMap: -townmappals: MACRO -rept _NARG / 2 - dn \2, \1 - shift - shift -endr -endm - townmappals 1, 1, 1, 2, 2, 2, 0, 0, 1, 1, 3, 1, 4, 5, 4, 5 - townmappals 1, 1, 1, 2, 2, 2, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0 - townmappals 1, 1, 1, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - townmappals 0, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0 - townmappals 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0 - townmappals 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0 +INCLUDE "data/palettes/town_map.asm" ; 91f7b TownMapMon: ; 91f7b diff --git a/engine/time_capsule.asm b/engine/time_capsule.asm index eb8896355..577b2dce8 100755 --- a/engine/time_capsule.asm +++ b/engine/time_capsule.asm @@ -144,134 +144,4 @@ PlaceTradePartnerNamesAndParty: ; fb60d jr .loop ; fb656 - INCLUDE "data/time_capsule/special_stats.asm" - - -INCLUDE "event/name_rater.asm" - - -PlaySlowCry: ; fb841 - ld a, [ScriptVar] - call LoadCryHeader - jr c, .done - - ld hl, CryPitch - ld a, [hli] - ld h, [hl] - ld l, a - ld bc, -$140 - add hl, bc - ld a, l - ld [CryPitch], a - ld a, h - ld [CryPitch + 1], a - ld hl, CryLength - ld a, [hli] - ld h, [hl] - ld l, a - ld bc, $60 - add hl, bc - ld a, l - ld [CryLength], a - ld a, h - ld [CryLength + 1], a - callba _PlayCryHeader - call WaitSFX - -.done - ret -; fb877 - -NewPokedexEntry: ; fb877 - ld a, [hMapAnims] - push af - xor a - ld [hMapAnims], a - call LowVolume - call ClearBGPalettes - call ClearTileMap - call UpdateSprites - call ClearSprites - ld a, [wPokedexStatus] - push af - ld a, [hSCX] - add $5 - ld [hSCX], a - xor a - ld [wPokedexStatus], a - callba _NewPokedexEntry - call WaitPressAorB_BlinkCursor - ld a, $1 - ld [wPokedexStatus], a - callba DisplayDexEntry - call WaitPressAorB_BlinkCursor - pop af - ld [wPokedexStatus], a - call MaxVolume - call RotateThreePalettesRight - ld a, [hSCX] - add -5 ; 251 ; NUM_POKEMON - ld [hSCX], a - call .ReturnFromDexRegistration - pop af - ld [hMapAnims], a - ret -; fb8c8 - -.ReturnFromDexRegistration: ; fb8c8 - call ClearTileMap - call LoadFontsExtra - call LoadStandardFont - callba Pokedex_PlaceFrontpicTopLeftCorner - call WaitBGMap2 - callba GetEnemyMonDVs - ld a, [hli] - ld [TempMonDVs], a - ld a, [hl] - ld [TempMonDVs + 1], a - ld b, SCGB_TRAINER_OR_MON_FRONTPIC_PALS - call GetSGBLayout - call SetPalettes - ret -; fb8f1 - -ConvertMon_2to1: ; fb8f1 -; Takes the Gen-2 Pokemon number stored in wd265, finds it in the Pokered_MonIndices table, and returns its index in wd265. - push bc - push hl - ld a, [wd265] - ld b, a - ld c, 0 - ld hl, Pokered_MonIndices -.loop - inc c - ld a, [hli] - cp b - jr nz, .loop - ld a, c - ld [wd265], a - pop hl - pop bc - ret -; fb908 - -ConvertMon_1to2: ; fb908 -; Takes the Gen-1 Pokemon number stored in wd265 and returns the corresponding value from Pokered_MonIndices in wd265. - push bc - push hl - ld a, [wd265] - dec a - ld hl, Pokered_MonIndices - ld b, 0 - ld c, a - add hl, bc - ld a, [hl] - ld [wd265], a - pop hl - pop bc - ret -; fb91c - - -INCLUDE "data/time_capsule/mon_order.asm" diff --git a/engine/time_capsule_2.asm b/engine/time_capsule_2.asm new file mode 100644 index 000000000..5da72e7c8 --- /dev/null +++ b/engine/time_capsule_2.asm @@ -0,0 +1,39 @@ +ConvertMon_2to1: ; fb8f1 +; Takes the Gen-2 Pokemon number stored in wd265, finds it in the Pokered_MonIndices table, and returns its index in wd265. + push bc + push hl + ld a, [wd265] + ld b, a + ld c, 0 + ld hl, Pokered_MonIndices +.loop + inc c + ld a, [hli] + cp b + jr nz, .loop + ld a, c + ld [wd265], a + pop hl + pop bc + ret +; fb908 + +ConvertMon_1to2: ; fb908 +; Takes the Gen-1 Pokemon number stored in wd265 and returns the corresponding value from Pokered_MonIndices in wd265. + push bc + push hl + ld a, [wd265] + dec a + ld hl, Pokered_MonIndices + ld b, 0 + ld c, a + add hl, bc + ld a, [hl] + ld [wd265], a + pop hl + pop bc + ret +; fb91c + + +INCLUDE "data/time_capsule/mon_order.asm" diff --git a/engine/unown_dex.asm b/engine/unown_dex.asm new file mode 100755 index 000000000..6d14f8b3c --- /dev/null +++ b/engine/unown_dex.asm @@ -0,0 +1,51 @@ +UpdateUnownDex: ; fba18 + ld a, [UnownLetter] + ld c, a + ld b, NUM_UNOWN + ld hl, UnownDex +.loop + ld a, [hli] + and a + jr z, .done + cp c + ret z + dec b + jr nz, .loop + ret + +.done + dec hl + ld [hl], c + ret +; fba2e + +PrintUnownWord: ; fba2e (3e:7a2e) + hlcoord 4, 15 + ld bc, 12 + ld a, " " + call ByteFill + ld a, [wDexCurrentUnownIndex] + ld e, a + ld d, 0 + ld hl, UnownDex + add hl, de + ld a, [hl] + ld e, a + ld d, 0 + ld hl, UnownWords + add hl, de + add hl, de + ld a, [hli] + ld e, a + ld d, [hl] + hlcoord 4, 15 +.loop + ld a, [de] + cp -1 + ret z + inc de + ld [hli], a + jr .loop +; fba5a (3e:7a5a) + +INCLUDE "data/unown_words.asm" diff --git a/engine/unowndex.asm b/engine/unowndex.asm deleted file mode 100755 index 6d14f8b3c..000000000 --- a/engine/unowndex.asm +++ /dev/null @@ -1,51 +0,0 @@ -UpdateUnownDex: ; fba18 - ld a, [UnownLetter] - ld c, a - ld b, NUM_UNOWN - ld hl, UnownDex -.loop - ld a, [hli] - and a - jr z, .done - cp c - ret z - dec b - jr nz, .loop - ret - -.done - dec hl - ld [hl], c - ret -; fba2e - -PrintUnownWord: ; fba2e (3e:7a2e) - hlcoord 4, 15 - ld bc, 12 - ld a, " " - call ByteFill - ld a, [wDexCurrentUnownIndex] - ld e, a - ld d, 0 - ld hl, UnownDex - add hl, de - ld a, [hl] - ld e, a - ld d, 0 - ld hl, UnownWords - add hl, de - add hl, de - ld a, [hli] - ld e, a - ld d, [hl] - hlcoord 4, 15 -.loop - ld a, [de] - cp -1 - ret z - inc de - ld [hli], a - jr .loop -; fba5a (3e:7a5a) - -INCLUDE "data/unown_words.asm" diff --git a/event/buena.asm b/event/buena.asm index 4802943f9..fa54cc3de 100644 --- a/event/buena.asm +++ b/event/buena.asm @@ -289,8 +289,12 @@ Buena_PrizeMenu: ; 8b0e2 ; 8b129 .indices ; 8b129 - db 9 - db 1, 2, 3, 4, 5, 6, 7, 8, 9 + db NUM_BUENA_PRIZES +x = 1 +rept NUM_BUENA_PRIZES + db x +x = x + 1 +endr db -1 ; 8b134 @@ -319,7 +323,7 @@ Buena_PrizeMenu: ; 8b0e2 Buena_getprize: ; 8b154 dec a - ld hl, .prizes + ld hl, BuenaPrizeItems ld b, 0 ld c, a add hl, bc @@ -327,14 +331,4 @@ Buena_getprize: ; 8b154 ret ; 8b15e -.prizes ; 8b15e - db ULTRA_BALL, 2 - db FULL_RESTORE, 2 - db NUGGET, 3 - db RARE_CANDY, 3 - db PROTEIN, 5 - db IRON, 5 - db CARBOS, 5 - db CALCIUM, 5 - db HP_UP, 5 -; 8b170 +INCLUDE "data/items/buena_prizes.asm" diff --git a/event/mom_phone.asm b/event/mom_phone.asm index 0d7a2366f..58ecad02a 100755 --- a/event/mom_phone.asm +++ b/event/mom_phone.asm @@ -212,7 +212,7 @@ endr ret ; fd136 -INCLUDE "data/mom_phone_items.asm" +INCLUDE "data/items/mom_phone.asm" db 0, 0, 0 ; XXX diff --git a/gbhw.asm b/gbhw.asm deleted file mode 100644 index ae2e97a6b..000000000 --- a/gbhw.asm +++ /dev/null @@ -1,135 +0,0 @@ -; Graciously aped from http://nocash.emubase.de/pandocs.htm . - -; MBC3 -MBC3SRamEnable EQU $0000 -MBC3RomBank EQU $2000 -MBC3SRamBank EQU $4000 -MBC3LatchClock EQU $6000 -MBC3RTC EQU $a000 - -SRAM_DISABLE EQU $00 -SRAM_ENABLE EQU $0a - -NUM_SRAM_BANKS EQU 4 - -RTC_S EQU $08 ; Seconds 0-59 (0-3Bh) -RTC_M EQU $09 ; Minutes 0-59 (0-3Bh) -RTC_H EQU $0a ; Hours 0-23 (0-17h) -RTC_DL EQU $0b ; Lower 8 bits of Day Counter (0-FFh) -RTC_DH EQU $0c ; Upper 1 bit of Day Counter, Carry Bit, Halt Flag - ; Bit 0 Most significant bit of Day Counter (Bit 8) - ; Bit 6 Halt (0=Active, 1=Stop Timer) - ; Bit 7 Day Counter Carry Bit (1=Counter Overflow) - -; interrupt flags -VBLANK EQU 0 -LCD_STAT EQU 1 -TIMER EQU 2 -SERIAL EQU 3 -JOYPAD EQU 4 - -; OAM attribute flags -OAM_TILE_BANK EQU 3 -OAM_OBP_NUM EQU 4 ; non CGB Mode Only -OAM_X_FLIP EQU 5 -OAM_Y_FLIP EQU 6 -OAM_PRIORITY EQU 7 ; 0: OBJ above BG, 1: OBJ behind BG (colors 1-3) - -PALETTE_MASK EQU %111 -VRAM_BANK_1 EQU 1 << OAM_TILE_BANK ; $08 -OBP_NUM EQU 1 << OAM_OBP_NUM ; $10 -X_FLIP EQU 1 << OAM_X_FLIP ; $20 -Y_FLIP EQU 1 << OAM_Y_FLIP ; $40 -BEHIND_BG EQU 1 << OAM_PRIORITY ; $80 - -; Hardware registers -rJOYP EQU $ff00 ; Joypad (R/W) -rSB EQU $ff01 ; Serial transfer data (R/W) -rSC EQU $ff02 ; Serial Transfer Control (R/W) -rSC_ON EQU 7 -rSC_CGB EQU 1 -rSC_CLOCK EQU 0 -rDIV EQU $ff04 ; Divider Register (R/W) -rTIMA EQU $ff05 ; Timer counter (R/W) -rTMA EQU $ff06 ; Timer Modulo (R/W) -rTAC EQU $ff07 ; Timer Control (R/W) -rTAC_ON EQU 2 -rTAC_4096_HZ EQU 0 -rTAC_262144_HZ EQU 1 -rTAC_65536_HZ EQU 2 -rTAC_16384_HZ EQU 3 -rIF EQU $ff0f ; Interrupt Flag (R/W) -rNR10 EQU $ff10 ; Channel 1 Sweep register (R/W) -rNR11 EQU $ff11 ; Channel 1 Sound length/Wave pattern duty (R/W) -rNR12 EQU $ff12 ; Channel 1 Volume Envelope (R/W) -rNR13 EQU $ff13 ; Channel 1 Frequency lo (Write Only) -rNR14 EQU $ff14 ; Channel 1 Frequency hi (R/W) -rNR20 EQU $ff15 ; Channel 2 Sweep register (R/W) -rNR21 EQU $ff16 ; Channel 2 Sound Length/Wave Pattern Duty (R/W) -rNR22 EQU $ff17 ; Channel 2 Volume Envelope (R/W) -rNR23 EQU $ff18 ; Channel 2 Frequency lo data (W) -rNR24 EQU $ff19 ; Channel 2 Frequency hi data (R/W) -rNR30 EQU $ff1a ; Channel 3 Sound on/off (R/W) -rNR31 EQU $ff1b ; Channel 3 Sound Length -rNR32 EQU $ff1c ; Channel 3 Select output level (R/W) -rNR33 EQU $ff1d ; Channel 3 Frequency's lower data (W) -rNR34 EQU $ff1e ; Channel 3 Frequency's higher data (R/W) -rNR40 EQU $ff1f ; Channel 4 Sweep register (R/W) -rNR41 EQU $ff20 ; Channel 4 Sound Length (R/W) -rNR42 EQU $ff21 ; Channel 4 Volume Envelope (R/W) -rNR43 EQU $ff22 ; Channel 4 Polynomial Counter (R/W) -rNR44 EQU $ff23 ; Channel 4 Counter/consecutive; Inital (R/W) -rNR50 EQU $ff24 ; Channel control / ON-OFF / Volume (R/W) -rNR51 EQU $ff25 ; Selection of Sound output terminal (R/W) -rNR52 EQU $ff26 ; Sound on/off -rWave_0 EQU $ff30 -rWave_1 EQU $ff31 -rWave_2 EQU $ff32 -rWave_3 EQU $ff33 -rWave_4 EQU $ff34 -rWave_5 EQU $ff35 -rWave_6 EQU $ff36 -rWave_7 EQU $ff37 -rWave_8 EQU $ff38 -rWave_9 EQU $ff39 -rWave_a EQU $ff3a -rWave_b EQU $ff3b -rWave_c EQU $ff3c -rWave_d EQU $ff3d -rWave_e EQU $ff3e -rWave_f EQU $ff3f -rLCDC EQU $ff40 ; LCD Control (R/W) -rSTAT EQU $ff41 ; LCDC Status (R/W) -rSCY EQU $ff42 ; Scroll Y (R/W) -rSCX EQU $ff43 ; Scroll X (R/W) -rLY EQU $ff44 ; LCDC Y-Coordinate (R) -rLYC EQU $ff45 ; LY Compare (R/W) -rDMA EQU $ff46 ; DMA Transfer and Start Address (W) -rBGP EQU $ff47 ; BG Palette Data (R/W) - Non CGB Mode Only -rOBP0 EQU $ff48 ; Object Palette 0 Data (R/W) - Non CGB Mode Only -rOBP1 EQU $ff49 ; Object Palette 1 Data (R/W) - Non CGB Mode Only -rWY EQU $ff4a ; Window Y Position (R/W) -rWX EQU $ff4b ; Window X Position minus 7 (R/W) -rLCDMODE EQU $ff4c -rKEY1 EQU $ff4d ; CGB Mode Only - Prepare Speed Switch -rVBK EQU $ff4f ; CGB Mode Only - VRAM Bank -rBLCK EQU $ff50 -rHDMA1 EQU $ff51 ; CGB Mode Only - New DMA Source, High -rHDMA2 EQU $ff52 ; CGB Mode Only - New DMA Source, Low -rHDMA3 EQU $ff53 ; CGB Mode Only - New DMA Destination, High -rHDMA4 EQU $ff54 ; CGB Mode Only - New DMA Destination, Low -rHDMA5 EQU $ff55 ; CGB Mode Only - New DMA Length/Mode/Start -rRP EQU $ff56 ; CGB Mode Only - Infrared Communications Port -rBGPI EQU $ff68 ; CGB Mode Only - Background Palette Index -rBGPD EQU $ff69 ; CGB Mode Only - Background Palette Data -rOBPI EQU $ff6a ; CGB Mode Only - Sprite Palette Index -rOBPD EQU $ff6b ; CGB Mode Only - Sprite Palette Data -rUNKNOWN1 EQU $ff6c ; (FEh) Bit 0 (Read/Write) - CGB Mode Only -rSVBK EQU $ff70 ; CGB Mode Only - WRAM Bank -rUNKNOWN2 EQU $ff72 ; (00h) - Bit 0-7 (Read/Write) -rUNKNOWN3 EQU $ff73 ; (00h) - Bit 0-7 (Read/Write) -rUNKNOWN4 EQU $ff74 ; (00h) - Bit 0-7 (Read/Write) - CGB Mode Only -rUNKNOWN5 EQU $ff75 ; (8Fh) - Bit 4-6 (Read/Write) -rUNKNOWN6 EQU $ff76 ; (00h) - Always 00h (Read Only) -rUNKNOWN7 EQU $ff77 ; (00h) - Always 00h (Read Only) -rIE EQU $ffff ; Interrupt Enable (R/W) diff --git a/gfx/credits.asm b/gfx/credits.asm new file mode 100644 index 000000000..2477bd562 --- /dev/null +++ b/gfx/credits.asm @@ -0,0 +1,7 @@ +CreditsBorderGFX: INCBIN "gfx/credits/border.2bpp" + +CreditsMonsGFX: +CreditsPichuGFX: INCBIN "gfx/credits/pichu.2bpp" +CreditsSmoochumGFX: INCBIN "gfx/credits/smoochum.2bpp" +CreditsDittoGFX: INCBIN "gfx/credits/ditto.2bpp" +CreditsIgglybuffGFX: INCBIN "gfx/credits/igglybuff.2bpp" diff --git a/lib/mobile/main.asm b/lib/mobile/main.asm index a122d2472..0d2003f2e 100644 --- a/lib/mobile/main.asm +++ b/lib/mobile/main.asm @@ -2,7 +2,7 @@ charmap "", $d -INCLUDE "gbhw.asm" +INCLUDE "constants/hardware_constants.asm" SECTION "Main", ROMX diff --git a/main.asm b/main.asm index aecfde835..a0e46c5a7 100644 --- a/main.asm +++ b/main.asm @@ -5301,7 +5301,11 @@ SECTION "bank3E", ROMX INCLUDE "gfx/font.asm" INCLUDE "engine/time_capsule.asm" -INCLUDE "engine/unowndex.asm" +INCLUDE "event/name_rater.asm" +INCLUDE "engine/play_slow_cry.asm" +INCLUDE "engine/new_pokedex_entry.asm" +INCLUDE "engine/time_capsule_2.asm" +INCLUDE "engine/unown_dex.asm" INCLUDE "event/magikarp.asm" INCLUDE "battle/hidden_power.asm" INCLUDE "battle/misc.asm" -- cgit v1.2.3 From 2cf5cc1dc7f0dcc4651cdacaefb28d1b607f444c Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Fri, 15 Dec 2017 17:50:45 -0500 Subject: Move more unknown graphics into real subfolders --- Makefile | 14 ++++++++------ engine/link.asm | 4 ++-- event/photo.asm | 4 ++-- gfx/font.asm | 8 ++++---- gfx/font/unused_bold_font.png | Bin 0 -> 575 bytes gfx/font/unused_weekday_kanji.png | Bin 0 -> 142 bytes gfx/font/weekday_kanji.png | Bin 142 -> 0 bytes gfx/mobile/ascii_font.png | Bin 0 -> 762 bytes gfx/mobile/down_arrow.png | Bin 0 -> 77 bytes gfx/mobile/electro_ball.2bpp.lz.3eaf004f | Bin 0 -> 676 bytes gfx/mobile/electro_ball.png | Bin 0 -> 692 bytes gfx/mobile/electro_ball_nonmatching.png | Bin 0 -> 1422 bytes gfx/mobile/mobile_splash.attrmap | Bin 0 -> 360 bytes gfx/mobile/mobile_splash.png | Bin 0 -> 1681 bytes gfx/mobile/mobile_splash.tilemap | Bin 0 -> 360 bytes gfx/mobile/pichu_animated.2bpp.lz.5d6d2ad4 | Bin 0 -> 2190 bytes gfx/mobile/pichu_animated.png | Bin 0 -> 1939 bytes gfx/mobile/up_arrow.png | Bin 0 -> 77 bytes gfx/printer/bold_a.png | Bin 0 -> 85 bytes gfx/printer/bold_b.png | Bin 0 -> 77 bytes gfx/trade/unused_gen_1_border_tiles.png | Bin 0 -> 175 bytes gfx/unknown/ascii_font.png | Bin 762 -> 0 bytes gfx/unknown/bold_a.png | Bin 85 -> 0 bytes gfx/unknown/bold_b.png | Bin 77 -> 0 bytes gfx/unknown/bold_font.png | Bin 575 -> 0 bytes gfx/unknown/down_arrow.png | Bin 77 -> 0 bytes gfx/unknown/electro_ball.2bpp.lz.3eaf004f | Bin 676 -> 0 bytes gfx/unknown/electro_ball.png | Bin 692 -> 0 bytes gfx/unknown/electro_ball_nonmatching.png | Bin 1422 -> 0 bytes gfx/unknown/mobile_splash.attrmap | Bin 360 -> 0 bytes gfx/unknown/mobile_splash.png | Bin 1681 -> 0 bytes gfx/unknown/mobile_splash.tilemap | Bin 360 -> 0 bytes gfx/unknown/pichu_animated.2bpp.lz.5d6d2ad4 | Bin 2190 -> 0 bytes gfx/unknown/pichu_animated.png | Bin 1939 -> 0 bytes gfx/unknown/unused_border.png | Bin 175 -> 0 bytes gfx/unknown/up_arrow.png | Bin 77 -> 0 bytes mobile/mobile_12.asm | 16 ++++++++-------- mobile/mobile_5b.asm | 6 +++--- mobile/mobile_5c.asm | 8 +++++--- 39 files changed, 32 insertions(+), 28 deletions(-) create mode 100644 gfx/font/unused_bold_font.png create mode 100644 gfx/font/unused_weekday_kanji.png delete mode 100644 gfx/font/weekday_kanji.png create mode 100644 gfx/mobile/ascii_font.png create mode 100644 gfx/mobile/down_arrow.png create mode 100644 gfx/mobile/electro_ball.2bpp.lz.3eaf004f create mode 100644 gfx/mobile/electro_ball.png create mode 100755 gfx/mobile/electro_ball_nonmatching.png create mode 100644 gfx/mobile/mobile_splash.attrmap create mode 100755 gfx/mobile/mobile_splash.png create mode 100644 gfx/mobile/mobile_splash.tilemap create mode 100644 gfx/mobile/pichu_animated.2bpp.lz.5d6d2ad4 create mode 100644 gfx/mobile/pichu_animated.png create mode 100644 gfx/mobile/up_arrow.png create mode 100644 gfx/printer/bold_a.png create mode 100644 gfx/printer/bold_b.png create mode 100644 gfx/trade/unused_gen_1_border_tiles.png delete mode 100644 gfx/unknown/ascii_font.png delete mode 100644 gfx/unknown/bold_a.png delete mode 100644 gfx/unknown/bold_b.png delete mode 100644 gfx/unknown/bold_font.png delete mode 100644 gfx/unknown/down_arrow.png delete mode 100644 gfx/unknown/electro_ball.2bpp.lz.3eaf004f delete mode 100644 gfx/unknown/electro_ball.png delete mode 100755 gfx/unknown/electro_ball_nonmatching.png delete mode 100644 gfx/unknown/mobile_splash.attrmap delete mode 100755 gfx/unknown/mobile_splash.png delete mode 100644 gfx/unknown/mobile_splash.tilemap delete mode 100644 gfx/unknown/pichu_animated.2bpp.lz.5d6d2ad4 delete mode 100644 gfx/unknown/pichu_animated.png delete mode 100644 gfx/unknown/unused_border.png delete mode 100644 gfx/unknown/up_arrow.png diff --git a/Makefile b/Makefile index 63d1177e8..83667441a 100644 --- a/Makefile +++ b/Makefile @@ -196,15 +196,17 @@ gfx/trainer_card/kris_card.2bpp: rgbgfx += -h gfx/battle/dude.2bpp: rgbgfx += -h +gfx/font/unused_bold_font.1bpp: tools/gfx += --trim-whitespace + gfx/pokegear/pokegear.2bpp: rgbgfx += -x2 gfx/pokegear/pokegear_sprites.2bpp: tools/gfx += --trim-whitespace -gfx/unknown/ascii_font.2bpp: tools/gfx += --trim-whitespace -gfx/unknown/bold_font.1bpp: tools/gfx += --trim-whitespace -gfx/unknown/electro_ball.2bpp: tools/gfx += --trim-whitespace -gfx/unknown/electro_ball_nonmatching.2bpp: tools/gfx += --remove-duplicates --remove-xflip -gfx/unknown/mobile_splash.2bpp: tools/gfx += --remove-duplicates --remove-xflip -gfx/unknown/pichu_animated.2bpp: tools/gfx += --trim-whitespace +gfx/mobile/ascii_font.2bpp: tools/gfx += --trim-whitespace +gfx/mobile/electro_ball.2bpp: tools/gfx += --trim-whitespace +gfx/mobile/electro_ball_nonmatching.2bpp: tools/gfx += --remove-duplicates --remove-xflip +gfx/mobile/mobile_splash.2bpp: tools/gfx += --remove-duplicates --remove-xflip +gfx/mobile/pichu_animated.2bpp: tools/gfx += --trim-whitespace + gfx/unknown/unknown_egg.2bpp: rgbgfx += -h diff --git a/engine/link.asm b/engine/link.asm index 5be841394..7f71f4880 100755 --- a/engine/link.asm +++ b/engine/link.asm @@ -2577,7 +2577,7 @@ Special_CableClubCheckWhichChris: ; 29f47 ret ; 29f54 -GFX_29f54: ; 29f54 +UnusedGen1LinkCommsBorderGFX: ; 29f54 ; unreferenced -INCBIN "gfx/unknown/unused_border.2bpp" +INCBIN "gfx/trade/unused_gen_1_border_tiles.2bpp" ; 29fe4 diff --git a/event/photo.asm b/event/photo.asm index fea57a368..55ac8e7d1 100755 --- a/event/photo.asm +++ b/event/photo.asm @@ -214,9 +214,9 @@ UnownDexVacantString: ; 16d9c UnownDexATile: ; 16d9c -INCBIN "gfx/unknown/bold_a.1bpp" +INCBIN "gfx/printer/bold_a.1bpp" UnownDexBTile: ; 16da4 -INCBIN "gfx/unknown/bold_b.1bpp" +INCBIN "gfx/printer/bold_b.1bpp" ; 16dac PlaceUnownPrinterFrontpic: ; 16dac diff --git a/gfx/font.asm b/gfx/font.asm index 8d17722f4..867619a9c 100755 --- a/gfx/font.asm +++ b/gfx/font.asm @@ -50,16 +50,16 @@ TownMapGFX: ; f8ba0 INCBIN "gfx/pokegear/town_map.2bpp.lz" ; f8ea4 -WeekdayKanjiGFX: ; unused kanji -INCBIN "gfx/font/weekday_kanji.2bpp" +UnusedWeekdayKanjiGFX: ; unused kanji +INCBIN "gfx/font/unused_weekday_kanji.2bpp" ; f8f24 OverworldPhoneIconGFX: ; f8f24 INCBIN "gfx/font/overworld_phone_icon.2bpp" ; f8f34 -GFX_f8f34: ; unused bold letters + unown chars -INCBIN "gfx/unknown/bold_font.1bpp" +UnusedBoldFontGFX: ; unused bold letters + unown chars +INCBIN "gfx/font/unused_bold_font.1bpp" ; f9204 TextBoxSpaceGFX: ; f9204 diff --git a/gfx/font/unused_bold_font.png b/gfx/font/unused_bold_font.png new file mode 100644 index 000000000..e02b91ce2 Binary files /dev/null and b/gfx/font/unused_bold_font.png differ diff --git a/gfx/font/unused_weekday_kanji.png b/gfx/font/unused_weekday_kanji.png new file mode 100644 index 000000000..6eeb69b11 Binary files /dev/null and b/gfx/font/unused_weekday_kanji.png differ diff --git a/gfx/font/weekday_kanji.png b/gfx/font/weekday_kanji.png deleted file mode 100644 index 6eeb69b11..000000000 Binary files a/gfx/font/weekday_kanji.png and /dev/null differ diff --git a/gfx/mobile/ascii_font.png b/gfx/mobile/ascii_font.png new file mode 100644 index 000000000..1c32d2bda Binary files /dev/null and b/gfx/mobile/ascii_font.png differ diff --git a/gfx/mobile/down_arrow.png b/gfx/mobile/down_arrow.png new file mode 100644 index 000000000..9eaaadd2d Binary files /dev/null and b/gfx/mobile/down_arrow.png differ diff --git a/gfx/mobile/electro_ball.2bpp.lz.3eaf004f b/gfx/mobile/electro_ball.2bpp.lz.3eaf004f new file mode 100644 index 000000000..b4fabff15 Binary files /dev/null and b/gfx/mobile/electro_ball.2bpp.lz.3eaf004f differ diff --git a/gfx/mobile/electro_ball.png b/gfx/mobile/electro_ball.png new file mode 100644 index 000000000..3e1c0bb46 Binary files /dev/null and b/gfx/mobile/electro_ball.png differ diff --git a/gfx/mobile/electro_ball_nonmatching.png b/gfx/mobile/electro_ball_nonmatching.png new file mode 100755 index 000000000..44ea166ef Binary files /dev/null and b/gfx/mobile/electro_ball_nonmatching.png differ diff --git a/gfx/mobile/mobile_splash.attrmap b/gfx/mobile/mobile_splash.attrmap new file mode 100644 index 000000000..86666b3fd Binary files /dev/null and b/gfx/mobile/mobile_splash.attrmap differ diff --git a/gfx/mobile/mobile_splash.png b/gfx/mobile/mobile_splash.png new file mode 100755 index 000000000..d54b68cdf Binary files /dev/null and b/gfx/mobile/mobile_splash.png differ diff --git a/gfx/mobile/mobile_splash.tilemap b/gfx/mobile/mobile_splash.tilemap new file mode 100644 index 000000000..81818e531 Binary files /dev/null and b/gfx/mobile/mobile_splash.tilemap differ diff --git a/gfx/mobile/pichu_animated.2bpp.lz.5d6d2ad4 b/gfx/mobile/pichu_animated.2bpp.lz.5d6d2ad4 new file mode 100644 index 000000000..4d50c6bcf Binary files /dev/null and b/gfx/mobile/pichu_animated.2bpp.lz.5d6d2ad4 differ diff --git a/gfx/mobile/pichu_animated.png b/gfx/mobile/pichu_animated.png new file mode 100644 index 000000000..2832fdb6a Binary files /dev/null and b/gfx/mobile/pichu_animated.png differ diff --git a/gfx/mobile/up_arrow.png b/gfx/mobile/up_arrow.png new file mode 100644 index 000000000..e8b43de99 Binary files /dev/null and b/gfx/mobile/up_arrow.png differ diff --git a/gfx/printer/bold_a.png b/gfx/printer/bold_a.png new file mode 100644 index 000000000..56252c423 Binary files /dev/null and b/gfx/printer/bold_a.png differ diff --git a/gfx/printer/bold_b.png b/gfx/printer/bold_b.png new file mode 100644 index 000000000..8ce07a03c Binary files /dev/null and b/gfx/printer/bold_b.png differ diff --git a/gfx/trade/unused_gen_1_border_tiles.png b/gfx/trade/unused_gen_1_border_tiles.png new file mode 100644 index 000000000..d3ac169fc Binary files /dev/null and b/gfx/trade/unused_gen_1_border_tiles.png differ diff --git a/gfx/unknown/ascii_font.png b/gfx/unknown/ascii_font.png deleted file mode 100644 index 1c32d2bda..000000000 Binary files a/gfx/unknown/ascii_font.png and /dev/null differ diff --git a/gfx/unknown/bold_a.png b/gfx/unknown/bold_a.png deleted file mode 100644 index 56252c423..000000000 Binary files a/gfx/unknown/bold_a.png and /dev/null differ diff --git a/gfx/unknown/bold_b.png b/gfx/unknown/bold_b.png deleted file mode 100644 index 8ce07a03c..000000000 Binary files a/gfx/unknown/bold_b.png and /dev/null differ diff --git a/gfx/unknown/bold_font.png b/gfx/unknown/bold_font.png deleted file mode 100644 index e02b91ce2..000000000 Binary files a/gfx/unknown/bold_font.png and /dev/null differ diff --git a/gfx/unknown/down_arrow.png b/gfx/unknown/down_arrow.png deleted file mode 100644 index 9eaaadd2d..000000000 Binary files a/gfx/unknown/down_arrow.png and /dev/null differ diff --git a/gfx/unknown/electro_ball.2bpp.lz.3eaf004f b/gfx/unknown/electro_ball.2bpp.lz.3eaf004f deleted file mode 100644 index b4fabff15..000000000 Binary files a/gfx/unknown/electro_ball.2bpp.lz.3eaf004f and /dev/null differ diff --git a/gfx/unknown/electro_ball.png b/gfx/unknown/electro_ball.png deleted file mode 100644 index 3e1c0bb46..000000000 Binary files a/gfx/unknown/electro_ball.png and /dev/null differ diff --git a/gfx/unknown/electro_ball_nonmatching.png b/gfx/unknown/electro_ball_nonmatching.png deleted file mode 100755 index 44ea166ef..000000000 Binary files a/gfx/unknown/electro_ball_nonmatching.png and /dev/null differ diff --git a/gfx/unknown/mobile_splash.attrmap b/gfx/unknown/mobile_splash.attrmap deleted file mode 100644 index 86666b3fd..000000000 Binary files a/gfx/unknown/mobile_splash.attrmap and /dev/null differ diff --git a/gfx/unknown/mobile_splash.png b/gfx/unknown/mobile_splash.png deleted file mode 100755 index d54b68cdf..000000000 Binary files a/gfx/unknown/mobile_splash.png and /dev/null differ diff --git a/gfx/unknown/mobile_splash.tilemap b/gfx/unknown/mobile_splash.tilemap deleted file mode 100644 index 81818e531..000000000 Binary files a/gfx/unknown/mobile_splash.tilemap and /dev/null differ diff --git a/gfx/unknown/pichu_animated.2bpp.lz.5d6d2ad4 b/gfx/unknown/pichu_animated.2bpp.lz.5d6d2ad4 deleted file mode 100644 index 4d50c6bcf..000000000 Binary files a/gfx/unknown/pichu_animated.2bpp.lz.5d6d2ad4 and /dev/null differ diff --git a/gfx/unknown/pichu_animated.png b/gfx/unknown/pichu_animated.png deleted file mode 100644 index 2832fdb6a..000000000 Binary files a/gfx/unknown/pichu_animated.png and /dev/null differ diff --git a/gfx/unknown/unused_border.png b/gfx/unknown/unused_border.png deleted file mode 100644 index d3ac169fc..000000000 Binary files a/gfx/unknown/unused_border.png and /dev/null differ diff --git a/gfx/unknown/up_arrow.png b/gfx/unknown/up_arrow.png deleted file mode 100644 index e8b43de99..000000000 Binary files a/gfx/unknown/up_arrow.png and /dev/null differ diff --git a/mobile/mobile_12.asm b/mobile/mobile_12.asm index efe138162..8b21bb6a6 100755 --- a/mobile/mobile_12.asm +++ b/mobile/mobile_12.asm @@ -21,13 +21,13 @@ InitMobileProfile: ; 4802f (12:402f) .not_yet_initialized call Function486bf call LoadFontsExtra - ld de, GFX_488c3 + ld de, MobileUpArrowGFX ld hl, VTiles2 tile $10 - lb bc, BANK(GFX_488c3), 1 + lb bc, BANK(MobileUpArrowGFX), 1 call Request1bpp - ld de, GFX_488cb + ld de, MobileDownArrowGFX ld hl, VTiles2 tile $11 - lb bc, BANK(GFX_488cb), 1 + lb bc, BANK(MobileDownArrowGFX), 1 call Request1bpp call Function4a3a7 call ClearBGPalettes @@ -1020,11 +1020,11 @@ Function488b9: ; 488b9 (12:48b9) ret ; 488c3 (12:48c3) -GFX_488c3: ; 488c3 -INCBIN "gfx/unknown/up_arrow.2bpp" +MobileUpArrowGFX: ; 488c3 +INCBIN "gfx/mobile/up_arrow.2bpp" -GFX_488cb: ; 488cb -INCBIN "gfx/unknown/down_arrow.2bpp" +MobileDownArrowGFX: ; 488cb +INCBIN "gfx/mobile/down_arrow.2bpp" Function488d3: ; 488d3 (12:48d3) call Function48283 diff --git a/mobile/mobile_5b.asm b/mobile/mobile_5b.asm index 679f04342..041c071b4 100755 --- a/mobile/mobile_5b.asm +++ b/mobile/mobile_5b.asm @@ -221,13 +221,13 @@ MobileSystemSplashScreen_InitGFX: ; 16c108 ; 16c173 .Tiles: -INCBIN "gfx/unknown/mobile_splash.2bpp" +INCBIN "gfx/mobile/mobile_splash.2bpp" .TileMap: -INCBIN "gfx/unknown/mobile_splash.tilemap" +INCBIN "gfx/mobile/mobile_splash.tilemap" .AttrMap: -INCBIN "gfx/unknown/mobile_splash.attrmap" +INCBIN "gfx/mobile/mobile_splash.attrmap" UnknownMobilePalettes_16c903: ; 16c903 INCLUDE "gfx/unknown/16c903.pal" diff --git a/mobile/mobile_5c.asm b/mobile/mobile_5c.asm index 48f9cace9..f33ff7af4 100755 --- a/mobile/mobile_5c.asm +++ b/mobile/mobile_5c.asm @@ -305,10 +305,10 @@ Function170d02: ; 170d02 ; 170d16 LZ_170d16: -INCBIN "gfx/unknown/pichu_animated.2bpp.lz" +INCBIN "gfx/mobile/pichu_animated.2bpp.lz" LZ_1715a4: -INCBIN "gfx/unknown/egg_animated.2bpp.lz" +INCBIN "gfx/mobile/electro_ball.2bpp.lz" GFX_171848: INCBIN "gfx/unknown/171848.2bpp" @@ -819,7 +819,8 @@ Palette_171d71: RGB 0, 0, 0 GFX_171db1: -INCBIN "gfx/unknown/ascii_font.2bpp" +INCBIN "gfx/mobile/ascii_font.2bpp" + Tilemap_172491: INCBIN "gfx/unknown/172491.tilemap" Tilemap_17251d: @@ -832,6 +833,7 @@ Attrmap_1727ed: INCBIN "gfx/unknown/1727ed.attrmap" Attrmap_172955: INCBIN "gfx/unknown/172955.attrmap" + LZ_172abd: INCBIN "gfx/pokedex/slowpoke.2bpp.lz" -- cgit v1.2.3 From 606817f18b67a7d033adad31cbbea19d2e05e98e Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Fri, 15 Dec 2017 18:25:32 -0500 Subject: Add a map_connection_struct macro --- macros/wram.asm | 12 ++++++++++++ wram.asm | 47 ++++------------------------------------------- 2 files changed, 16 insertions(+), 43 deletions(-) diff --git a/macros/wram.asm b/macros/wram.asm index c70da2a74..de258941c 100755 --- a/macros/wram.asm +++ b/macros/wram.asm @@ -116,6 +116,18 @@ box: MACRO ENDM +map_connection_struct: MACRO +\1ConnectedMapGroup:: db +\1ConnectedMapNumber:: db +\1ConnectionStripPointer:: dw +\1ConnectionStripLocation:: dw +\1ConnectionStripLength:: db +\1ConnectedMapWidth:: db +\1ConnectionStripYOffset:: db +\1ConnectionStripXOffset:: db +\1ConnectionWindow:: dw +ENDM + channel_struct: MACRO ; Addreses are Channel1 (c101). \1MusicID:: dw diff --git a/wram.asm b/wram.asm index 1a74682ca..df154266d 100644 --- a/wram.asm +++ b/wram.asm @@ -1943,49 +1943,10 @@ MapEventHeaderPointer:: dw ; d1a6 ; bit set MapConnections:: db ; d1a8 -NorthMapConnection:: ; d1a9 -NorthConnectedMapGroup:: db ; d1a9 -NorthConnectedMapNumber:: db ; d1aa -NorthConnectionStripPointer:: dw ; d1ab -NorthConnectionStripLocation:: dw ; d1ad -NorthConnectionStripLength:: db ; d1af -NorthConnectedMapWidth:: db ; d1b0 -NorthConnectionStripYOffset:: db ; d1b1 -NorthConnectionStripXOffset:: db ; d1b2 -NorthConnectionWindow:: dw ; d1b3 - -SouthMapConnection:: ; d1b5 -SouthConnectedMapGroup:: db ; d1b5 -SouthConnectedMapNumber:: db ; d1b6 -SouthConnectionStripPointer:: dw ; d1b7 -SouthConnectionStripLocation:: dw ; d1b9 -SouthConnectionStripLength:: db ; d1bb -SouthConnectedMapWidth:: db ; d1bc -SouthConnectionStripYOffset:: db ; d1bd -SouthConnectionStripXOffset:: db ; d1be -SouthConnectionWindow:: dw ; d1bf - -WestMapConnection:: ; d1c1 -WestConnectedMapGroup:: db ; d1c1 -WestConnectedMapNumber:: db ; d1c2 -WestConnectionStripPointer:: dw ; d1c3 -WestConnectionStripLocation:: dw ; d1c5 -WestConnectionStripLength:: db ; d1c7 -WestConnectedMapWidth:: db ; d1c8 -WestConnectionStripYOffset:: db ; d1c9 -WestConnectionStripXOffset:: db ; d1ca -WestConnectionWindow:: dw ; d1cb - -EastMapConnection:: ; d1cd -EastConnectedMapGroup:: db ; d1cd -EastConnectedMapNumber:: db ; d1ce -EastConnectionStripPointer:: dw ; d1cf -EastConnectionStripLocation:: dw ; d1d1 -EastConnectionStripLength:: db ; d1d3 -EastConnectedMapWidth:: db ; d1d4 -EastConnectionStripYOffset:: db ; d1d5 -EastConnectionStripXOffset:: db ; d1d6 -EastConnectionWindow:: dw ; d1d7 +NorthMapConnection:: map_connection_struct North ; d1a9 +SouthMapConnection:: map_connection_struct South ; d1b5 +WestMapConnection:: map_connection_struct West ; d1c1 +EastMapConnection:: map_connection_struct East ; d1cd TilesetHeader:: TilesetBank:: db ; d1d9 -- cgit v1.2.3 From 1038ebca5e2638ecbce1052c1dad7474372a7fd5 Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Fri, 15 Dec 2017 20:10:54 -0500 Subject: Move more contiguous related code blocks from main.asm to engine/ and events/ --- battle/moves/move_descriptions.asm | 3 +- battle/moves/move_effects.asm | 2 + battle/moves/move_effects_pointers.asm | 1 + engine/battle_start.asm | 864 ----- engine/battle_transition.asm | 873 +++++ engine/caught_data.asm | 247 ++ engine/check_nick_errors.asm | 74 + engine/check_time.asm | 19 + engine/collision_stdscripts.asm | 29 + engine/consume_held_item.asm | 80 + engine/crystal_colors.asm | 10 + engine/european_mail.asm | 129 + engine/experience.asm | 162 + engine/init_map.asm | 103 + engine/map_objects.asm | 2 - engine/map_objects_2.asm | 70 + engine/map_palettes.asm | 86 + engine/menu_2.asm | 263 ++ engine/mon_stats.asm | 486 +++ engine/player_gfx.asm | 263 ++ engine/pokedex_3.asm | 162 + engine/pokerus.asm | 160 + engine/pokerus_tick.asm | 26 + engine/square_root.asm | 30 + engine/start_battle.asm | 197 ++ engine/timeofdaypals.asm | 4 + engine/trainer_scripts.asm | 31 + engine/unused_correct_party.asm | 229 ++ event/bug_contest.asm | 43 + event/bug_contest_mon_stats.asm | 107 + event/catch_tutorial.asm | 81 + event/catch_tutorial_input.asm | 43 + event/hidden_items.asm | 51 + event/lucky_number.asm | 226 ++ event/move_tutor.asm | 103 + event/special.asm | 4 + gfx/overworld_font.asm | 17 + main.asm | 5707 ++++++-------------------------- maps/GoldenrodNameRater.asm | 2 +- mobile/mobile_22.asm | 2 + text/sweethoney.asm | 68 - text/unused_gen_1_trainers.asm | 92 + text/unused_sweet_honey.asm | 68 + 43 files changed, 5595 insertions(+), 5624 deletions(-) delete mode 100644 engine/battle_start.asm create mode 100644 engine/battle_transition.asm create mode 100644 engine/caught_data.asm create mode 100644 engine/check_nick_errors.asm create mode 100644 engine/check_time.asm create mode 100644 engine/collision_stdscripts.asm create mode 100644 engine/consume_held_item.asm create mode 100644 engine/european_mail.asm create mode 100644 engine/experience.asm create mode 100644 engine/init_map.asm create mode 100644 engine/map_objects_2.asm create mode 100644 engine/map_palettes.asm create mode 100644 engine/menu_2.asm create mode 100644 engine/mon_stats.asm create mode 100644 engine/player_gfx.asm create mode 100644 engine/pokedex_3.asm create mode 100644 engine/pokerus.asm create mode 100644 engine/pokerus_tick.asm create mode 100644 engine/square_root.asm create mode 100644 engine/start_battle.asm create mode 100644 engine/trainer_scripts.asm create mode 100644 engine/unused_correct_party.asm create mode 100644 event/bug_contest.asm create mode 100644 event/bug_contest_mon_stats.asm create mode 100644 event/catch_tutorial.asm create mode 100644 event/catch_tutorial_input.asm create mode 100644 event/hidden_items.asm create mode 100644 event/lucky_number.asm create mode 100644 event/move_tutor.asm create mode 100644 gfx/overworld_font.asm delete mode 100644 text/sweethoney.asm create mode 100644 text/unused_gen_1_trainers.asm create mode 100644 text/unused_sweet_honey.asm diff --git a/battle/moves/move_descriptions.asm b/battle/moves/move_descriptions.asm index df31fd38a..19659b32a 100644 --- a/battle/moves/move_descriptions.asm +++ b/battle/moves/move_descriptions.asm @@ -1,4 +1,5 @@ -; MoveDescriptions: ; 2cb52 +MoveDescriptions:: ; 2cb52 +; entries correspond to move ids (see constants/move_constants.asm) dw PoundDescription dw KarateChopDescription dw DoubleslapDescription diff --git a/battle/moves/move_effects.asm b/battle/moves/move_effects.asm index c34e5ed23..c56ff2560 100644 --- a/battle/moves/move_effects.asm +++ b/battle/moves/move_effects.asm @@ -1,3 +1,5 @@ +MoveEffects: ; 2732e + NormalHit: checkobedience usedmovetext diff --git a/battle/moves/move_effects_pointers.asm b/battle/moves/move_effects_pointers.asm index d15beedb7..a12092881 100644 --- a/battle/moves/move_effects_pointers.asm +++ b/battle/moves/move_effects_pointers.asm @@ -1,3 +1,4 @@ +MoveEffectsPointers: ; 271f4 ; entries correspond to EFFECT_* constants dw NormalHit dw DoSleep diff --git a/engine/battle_start.asm b/engine/battle_start.asm deleted file mode 100644 index 9546980c2..000000000 --- a/engine/battle_start.asm +++ /dev/null @@ -1,864 +0,0 @@ -Predef_StartBattle: ; 8c20f - call .InitGFX - ld a, [rBGP] - ld [wBGP], a - ld a, [rOBP0] - ld [wOBP0], a - ld a, [rOBP1] - ld [wOBP1], a - call DelayFrame - ld hl, hVBlank - ld a, [hl] - push af - ld [hl], $1 - -.loop - ld a, [wJumptableIndex] - bit 7, a - jr nz, .done - call FlashyTransitionToBattle - call DelayFrame - jr .loop - -.done - ld a, [rSVBK] - push af - ld a, $5 - ld [rSVBK], a - - ld hl, UnknBGPals - ld bc, 8 palettes - xor a - call ByteFill - - pop af - ld [rSVBK], a - - ld a, %11111111 - ld [wBGP], a - call DmgToCgbBGPals - call DelayFrame - xor a - ld [hLCDCPointer], a - ld [hLYOverrideStart], a - ld [hLYOverrideEnd], a - ld [hSCY], a - - ld a, $1 - ld [rSVBK], a - pop af - ld [hVBlank], a - call DelayFrame - ret -; 8c26d - -.InitGFX: ; 8c26d - ld a, [wLinkMode] - cp LINK_MOBILE - jr z, .mobile - callba ReanchorBGMap_NoOAMUpdate - call UpdateSprites - call DelayFrame - call .NonMobile_LoadPokeballTiles - call BattleStart_LoadEDTile - jr .resume - -.mobile - call LoadTrainerBattlePokeballTiles - -.resume - ld a, SCREEN_HEIGHT_PX - ld [hWY], a - call DelayFrame - xor a - ld [hBGMapMode], a - ld hl, wJumptableIndex - xor a - ld [hli], a - ld [hli], a - ld [hl], a - call WipeLYOverrides - ret -; 8c2a0 - -.NonMobile_LoadPokeballTiles: ; 8c2a0 - call LoadTrainerBattlePokeballTiles - hlbgcoord 0, 0 - call ConvertTrainerBattlePokeballTilesTo2bpp - ret -; 8c2aa - -LoadTrainerBattlePokeballTiles: -; Load the tiles used in the Pokeball Graphic that fills the screen -; at the start of every Trainer battle. - ld de, TrainerBattlePokeballTiles - ld hl, VTiles1 tile $7e - ld b, BANK(TrainerBattlePokeballTiles) - ld c, 2 - call Request2bpp - - ld a, [rVBK] - push af - ld a, $1 - ld [rVBK], a - - ld de, TrainerBattlePokeballTiles - ld hl, VTiles4 tile $7e - ld b, BANK(TrainerBattlePokeballTiles) - ld c, 2 - call Request2bpp - - pop af - ld [rVBK], a - ret -; 8c2cf - -ConvertTrainerBattlePokeballTilesTo2bpp: ; 8c2cf - ld a, [rSVBK] - push af - ld a, $6 - ld [rSVBK], a - push hl - ld hl, wDecompressScratch - ld bc, $28 tiles - -.loop - ld [hl], -1 - inc hl - dec bc - ld a, c - or b - jr nz, .loop - - pop hl - ld de, wDecompressScratch - ld b, BANK(ConvertTrainerBattlePokeballTilesTo2bpp) ; BANK(@) - ld c, $28 - call Request2bpp - pop af - ld [rSVBK], a - ret -; 8c2f4 - -TrainerBattlePokeballTiles: ; 8c2f4 -INCBIN "gfx/overworld/trainer_battle_pokeball_tiles.2bpp" - - -FlashyTransitionToBattle: ; 8c314 - jumptable .dw, wJumptableIndex -; 8c323 - -.dw ; 8c323 (23:4323) - dw StartTrainerBattle_DetermineWhichAnimation ; 00 - - ; Animation 1: cave - dw StartTrainerBattle_LoadPokeBallGraphics ; 01 - dw StartTrainerBattle_SetUpBGMap ; 02 - dw StartTrainerBattle_Flash ; 03 - dw StartTrainerBattle_Flash ; 04 - dw StartTrainerBattle_Flash ; 05 - dw StartTrainerBattle_NextScene ; 06 - dw StartTrainerBattle_SetUpForWavyOutro ; 07 - dw StartTrainerBattle_SineWave ; 08 - - ; Animation 2: cave, stronger - dw StartTrainerBattle_LoadPokeBallGraphics ; 09 - dw StartTrainerBattle_SetUpBGMap ; 0a - dw StartTrainerBattle_Flash ; 0b - dw StartTrainerBattle_Flash ; 0c - dw StartTrainerBattle_Flash ; 0d - dw StartTrainerBattle_NextScene ; 0e - ; There is no setup for this one - dw StartTrainerBattle_ZoomToBlack ; 0f - - ; Animation 3: no cave - dw StartTrainerBattle_LoadPokeBallGraphics ; 10 - dw StartTrainerBattle_SetUpBGMap ; 11 - dw StartTrainerBattle_Flash ; 12 - dw StartTrainerBattle_Flash ; 13 - dw StartTrainerBattle_Flash ; 14 - dw StartTrainerBattle_NextScene ; 15 - dw StartTrainerBattle_SetUpForSpinOutro ; 16 - dw StartTrainerBattle_SpinToBlack ; 17 - - ; Animation 4: no cave, stronger - dw StartTrainerBattle_LoadPokeBallGraphics ; 18 - dw StartTrainerBattle_SetUpBGMap ; 19 - dw StartTrainerBattle_Flash ; 1a - dw StartTrainerBattle_Flash ; 1b - dw StartTrainerBattle_Flash ; 1c - dw StartTrainerBattle_NextScene ; 1d - dw StartTrainerBattle_SetUpForRandomScatterOutro ; 1e - dw StartTrainerBattle_SpeckleToBlack ; 1f - - ; All animations jump to here. - dw StartTrainerBattle_Finish ; 20 - - -StartTrainerBattle_DetermineWhichAnimation: ; 8c365 (23:4365) -; The screen flashes a different number of times depending on the level of -; your lead Pokemon relative to the opponent's. -; BUG: BattleMonLevel and EnemyMonLevel are not set at this point, so whatever -; values happen to be there will determine the animation. - ld de, 0 - ld a, [BattleMonLevel] - add 3 - ld hl, EnemyMonLevel - cp [hl] - jr nc, .okay - set 0, e -.okay - ld a, [wPermission] - cp CAVE - jr z, .okay2 - cp PERM_5 - jr z, .okay2 - cp DUNGEON - jr z, .okay2 - set 1, e -.okay2 - ld hl, .StartingPoints - add hl, de - ld a, [hl] - ld [wJumptableIndex], a - ret -; 8c38f (23:438f) - -.StartingPoints: ; 8c38f - db 1, 9 - db 16, 24 -; 8c393 - -StartTrainerBattle_Finish: ; 8c393 (23:4393) - call ClearSprites - ld a, $80 - ld [wJumptableIndex], a - ret - -StartTrainerBattle_NextScene: ; 8c39c (23:439c) - ld hl, wJumptableIndex - inc [hl] - ret - -StartTrainerBattle_SetUpBGMap: ; 8c3a1 (23:43a1) - call StartTrainerBattle_NextScene - xor a - ld [wcf64], a - ld [hBGMapMode], a - ret - -StartTrainerBattle_Flash: ; 8c3ab (23:43ab) - call .DoFlashAnimation - ret nc - call StartTrainerBattle_NextScene - ret - -.DoFlashAnimation: ; 8c3b3 (23:43b3) - ld a, [wTimeOfDayPalset] - cp %11111111 ; dark cave - jr z, .done - ld hl, wcf64 - ld a, [hl] - inc [hl] - srl a - ld e, a - ld d, 0 - ld hl, .pals - add hl, de - ld a, [hl] - cp %00000001 - jr z, .done - ld [wBGP], a - call DmgToCgbBGPals - and a - ret - -.done - xor a - ld [wcf64], a - scf - ret -; 8c3db (23:43db) - -.pals ; 8c3db - db %11111001 ; 3321 - db %11111110 ; 3332 - db %11111111 ; 3333 - db %11111110 ; 3332 - db %11111001 ; 3321 - db %11100100 ; 3210 - db %10010000 ; 2100 - db %01000000 ; 1000 - db %00000000 ; 0000 - db %01000000 ; 1000 - db %10010000 ; 2100 - db %11100100 ; 3210 - db %00000001 ; 0001 -; 8c3e8 - -StartTrainerBattle_SetUpForWavyOutro: ; 8c3e8 (23:43e8) - callba Function5602 - ld a, $5 ; BANK(LYOverrides) - ld [rSVBK], a - - call StartTrainerBattle_NextScene - - ld a, rSCX - $ff00 - ld [hLCDCPointer], a - xor a - ld [hLYOverrideStart], a - ld a, $90 - ld [hLYOverrideEnd], a - xor a - ld [wcf64], a - ld [wcf65], a - ret - -StartTrainerBattle_SineWave: ; 8c408 (23:4408) - ld a, [wcf64] - cp $60 - jr nc, .end - call .DoSineWave - ret - -.end - ld a, $20 - ld [wJumptableIndex], a - ret - -.DoSineWave: ; 8c419 (23:4419) - ld hl, wcf65 - ld a, [hl] - inc [hl] - ld hl, wcf64 - ld d, [hl] - add [hl] - ld [hl], a - ld a, LYOverridesEnd - LYOverrides - ld bc, LYOverrides - ld e, $0 - -.loop - push af - push de - ld a, e - call StartTrainerBattle_DrawSineWave - ld [bc], a - inc bc - pop de - ld a, e - add $2 - ld e, a - pop af - dec a - jr nz, .loop - ret - -StartTrainerBattle_SetUpForSpinOutro: ; 8c43d (23:443d) - callba Function5602 - ld a, $5 ; BANK(LYOverrides) - ld [rSVBK], a - call StartTrainerBattle_NextScene - xor a - ld [wcf64], a - ret - -StartTrainerBattle_SpinToBlack: ; 8c44f (23:444f) - xor a - ld [hBGMapMode], a - ld a, [wcf64] - ld e, a - ld d, 0 - ld hl, .spintable -rept 5 - add hl, de -endr - ld a, [hli] - cp -1 - jr z, .end - ld [wcf65], a - call .load - ld a, $1 - ld [hBGMapMode], a - call DelayFrame - call DelayFrame - ld hl, wcf64 - inc [hl] - ret - -.end - ld a, $1 - ld [hBGMapMode], a - call DelayFrame - call DelayFrame - call DelayFrame - xor a - ld [hBGMapMode], a - ld a, $20 - ld [wJumptableIndex], a - ret -; 8c490 (23:4490) - -; quadrants - const_def - const UPPER_LEFT - const UPPER_RIGHT - const LOWER_LEFT - const LOWER_RIGHT - -.spintable ; 8c490 -spintable_entry: MACRO - db \1 - dw .wedge\2 - dwcoord \3, \4 -ENDM - spintable_entry UPPER_LEFT, 1, 1, 6 - spintable_entry UPPER_LEFT, 2, 0, 3 - spintable_entry UPPER_LEFT, 3, 1, 0 - spintable_entry UPPER_LEFT, 4, 5, 0 - spintable_entry UPPER_LEFT, 5, 9, 0 - spintable_entry UPPER_RIGHT, 5, 10, 0 - spintable_entry UPPER_RIGHT, 4, 14, 0 - spintable_entry UPPER_RIGHT, 3, 18, 0 - spintable_entry UPPER_RIGHT, 2, 19, 3 - spintable_entry UPPER_RIGHT, 1, 18, 6 - spintable_entry LOWER_RIGHT, 1, 18, 11 - spintable_entry LOWER_RIGHT, 2, 19, 14 - spintable_entry LOWER_RIGHT, 3, 18, 17 - spintable_entry LOWER_RIGHT, 4, 14, 17 - spintable_entry LOWER_RIGHT, 5, 10, 17 - spintable_entry LOWER_LEFT, 5, 9, 17 - spintable_entry LOWER_LEFT, 4, 5, 17 - spintable_entry LOWER_LEFT, 3, 1, 17 - spintable_entry LOWER_LEFT, 2, 0, 14 - spintable_entry LOWER_LEFT, 1, 1, 11 - db -1 -; 8c4f5 - -.load ; 8c4f5 (23:44f5) - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [hli] - ld h, [hl] - ld l, a -.loop - push hl - ld a, [de] - ld c, a - inc de -.loop1 - ld [hl], $ff - ld a, [wcf65] - bit 0, a - jr z, .leftside - inc hl - jr .okay1 -.leftside - dec hl -.okay1 - dec c - jr nz, .loop1 - pop hl - ld a, [wcf65] - bit 1, a - ld bc, SCREEN_WIDTH - jr z, .upper - ld bc, -SCREEN_WIDTH -.upper - add hl, bc - ld a, [de] - inc de - cp -1 - ret z - and a - jr z, .loop - ld c, a -.loop2 - ld a, [wcf65] - bit 0, a - jr z, .leftside2 - dec hl - jr .okay2 -.leftside2 - inc hl -.okay2 - dec c - jr nz, .loop2 - jr .loop -; 8c538 (23:4538) - -.wedge1 db 2, 3, 5, 4, 9, -1 -.wedge2 db 1, 1, 2, 2, 4, 2, 4, 2, 3, -1 -.wedge3 db 2, 1, 3, 1, 4, 1, 4, 1, 4, 1, 3, 1, 2, 1, 1, 1, 1, -1 -.wedge4 db 4, 1, 4, 0, 3, 1, 3, 0, 2, 1, 2, 0, 1, -1 -.wedge5 db 4, 0, 3, 0, 3, 0, 2, 0, 2, 0, 1, 0, 1, 0, 1, -1 -; 8c578 - -StartTrainerBattle_SetUpForRandomScatterOutro: ; 8c578 (23:4578) - callba Function5602 - ld a, $5 ; BANK(LYOverrides) - ld [rSVBK], a - call StartTrainerBattle_NextScene - ld a, $10 - ld [wcf64], a - ld a, $1 - ld [hBGMapMode], a - ret - -StartTrainerBattle_SpeckleToBlack: ; 8c58f (23:458f) - ld hl, wcf64 - ld a, [hl] - and a - jr z, .done - dec [hl] - ld c, $c -.loop - push bc - call .BlackOutRandomTile - pop bc - dec c - jr nz, .loop - ret - -.done - ld a, $1 - ld [hBGMapMode], a - call DelayFrame - call DelayFrame - call DelayFrame - xor a - ld [hBGMapMode], a - ld a, $20 - ld [wJumptableIndex], a - ret - -.BlackOutRandomTile: ; 8c5b8 (23:45b8) -.y_loop - call Random - cp SCREEN_HEIGHT - jr nc, .y_loop - ld b, a - -.x_loop - call Random - cp SCREEN_WIDTH - jr nc, .x_loop - ld c, a - - hlcoord 0, -1 - ld de, SCREEN_WIDTH - inc b - -.row_loop - add hl, de - dec b - jr nz, .row_loop - add hl, bc - -; If the tile has already been blacked out, -; sample a new tile - ld a, [hl] - cp $ff - jr z, .y_loop - ld [hl], $ff - ret - -StartTrainerBattle_LoadPokeBallGraphics: ; 8c5dc (23:45dc) - ld a, [OtherTrainerClass] - and a - jp z, .nextscene ; don't need to be here if wild - - xor a - ld [hBGMapMode], a - hlcoord 0, 0, AttrMap - ld bc, SCREEN_HEIGHT * SCREEN_WIDTH - inc b - inc c - jr .enter_loop_midway - -.loop -; set all pals to 7 - ld a, [hl] - or %00000111 - ld [hli], a -.enter_loop_midway - dec c - jr nz, .loop - dec b - jr nz, .loop - - call .loadpokeballgfx ; ld a, [OtherTrainerClass] \ ld de, PokeBallTransition \ ret - hlcoord 2, 1 - - ld b, SCREEN_WIDTH - 4 -.loop2 - push hl - ld c, 2 -.loop3 - push hl - ld a, [de] - inc de -.loop4 -; Loading is done bit by bit - and a - jr z, .done - sla a - jr nc, .no_load - ld [hl], $fe -.no_load - inc hl - jr .loop4 - -.done - pop hl - push bc - ld bc, (SCREEN_WIDTH - 4) / 2 - add hl, bc - pop bc - dec c - jr nz, .loop3 - - pop hl - push bc - ld bc, SCREEN_WIDTH - add hl, bc - pop bc - dec b - jr nz, .loop2 - - ld a, [hCGB] - and a - jr nz, .cgb - ld a, $1 - ld [hBGMapMode], a - call DelayFrame - call DelayFrame - jr .nextscene - -.cgb - ld hl, .daypals - ld a, [TimeOfDayPal] - and (1 << 2) - 1 - cp 3 - jr nz, .daytime - ld hl, .nightpals -.daytime - ld a, [rSVBK] - push af - ld a, $5 ; WRAM5 = palettes - ld [rSVBK], a - call .copypals - push hl - ld de, UnknBGPals palette PAL_BG_TEXT - ld bc, 1 palettes - call CopyBytes - pop hl - ld de, BGPals palette PAL_BG_TEXT - ld bc, 1 palettes - call CopyBytes - pop af - ld [rSVBK], a - ld a, $1 - ld [hCGBPalUpdate], a - call DelayFrame - call BattleStart_LoadEDTile - -.nextscene ; 8c673 (23:4673) - call StartTrainerBattle_NextScene - ret - -.copypals ; 8c677 (23:4677) - ld de, UnknBGPals palette PAL_BG_TEXT - call .copy - ld de, BGPals palette PAL_BG_TEXT - call .copy - ld de, UnknOBPals palette PAL_OW_TREE - call .copy - ld de, OBPals palette PAL_OW_TREE - call .copy - ld de, UnknOBPals palette PAL_OW_ROCK - call .copy - ld de, OBPals palette PAL_OW_ROCK - -.copy ; 8c698 (23:4698) - push hl - ld bc, 1 palettes - call CopyBytes - pop hl - ret -; 8c6a1 (23:46a1) - -.daypals ; 8c6a1 - RGB 31, 18, 29 - RGB 31, 11, 15 - RGB 31, 05, 05 - RGB 07, 07, 07 -; 8c6a9 - -.nightpals ; 8c6a9 - RGB 31, 18, 29 - RGB 31, 05, 05 - RGB 31, 05, 05 - RGB 31, 05, 05 - -.loadpokeballgfx - ld a, [OtherTrainerClass] - ld de, PokeBallTransition - ret - -PokeBallTransition: - db %00000011, %11000000 - db %00001111, %11110000 - db %00111100, %00111100 - db %00110000, %00001100 - db %01100000, %00000110 - db %01100011, %11000110 - db %11000110, %01100011 - db %11111100, %00111111 - db %11111100, %00111111 - db %11000110, %01100011 - db %01100011, %11000110 - db %01100000, %00000110 - db %00110000, %00001100 - db %00111100, %00111100 - db %00001111, %11110000 - db %00000011, %11000000 - -WipeLYOverrides: ; 8c6d8 - ld a, [rSVBK] - push af - ld a, $5 - ld [rSVBK], a - - ld hl, LYOverrides - call .wipe - ld hl, LYOverridesBackup - call .wipe - - pop af - ld [rSVBK], a - ret -; 8c6ef - -.wipe ; 8c6ef - xor a - ld c, SCREEN_HEIGHT_PX -.loop - ld [hli], a - dec c - jr nz, .loop - ret -; 8c6f7 - - -StartTrainerBattle_DrawSineWave: ; 8c6f7 (23:46f7) - and (1 << 6) - 1 - cp 1 << 5 - jr nc, .okay - call .DoSineWave - ld a, h - ret - -.okay - and (1 << 5) - 1 - call .DoSineWave - ld a, h - xor -1 ; cpl - inc a - ret - -.DoSineWave: ; 8c70c (23:470c) - ld e, a - ld a, d - ld d, 0 - ld hl, .sinewave - add hl, de - add hl, de - ld e, [hl] - inc hl - ld d, [hl] - ld hl, 0 -.loop - srl a - jr nc, .skip - add hl, de -.skip - sla e - rl d - and a - jr nz, .loop - ret -; 8c728 (23:4728) - -.sinewave ; 8c728 - sine_wave $100 -; 8c768 - -StartTrainerBattle_ZoomToBlack: ; 8c768 (23:4768) - callba Function5602 - ld de, .boxes - -.loop - ld a, [de] - cp -1 - jr z, .done - inc de - ld c, a - ld a, [de] - inc de - ld b, a - ld a, [de] - inc de - ld l, a - ld a, [de] - inc de - ld h, a - xor a - ld [hBGMapMode], a - call .Copy - call WaitBGMap - jr .loop - -.done - ld a, $20 - ld [wJumptableIndex], a - ret -; 8c792 (23:4792) - -.boxes ; 8c792 -zoombox: macro -; width, height, start y, start x - db \1, \2 - dwcoord \3, \4 -endm - zoombox 4, 2, 8, 8 - zoombox 6, 4, 7, 7 - zoombox 8, 6, 6, 6 - zoombox 10, 8, 5, 5 - zoombox 12, 10, 4, 4 - zoombox 14, 12, 3, 3 - zoombox 16, 14, 2, 2 - zoombox 18, 16, 1, 1 - zoombox 20, 18, 0, 0 - db -1 -; 8c7b7 - -.Copy: ; 8c7b7 (23:47b7) - ld a, $ff -.row - push bc - push hl -.col - ld [hli], a - dec c - jr nz, .col - pop hl - ld bc, SCREEN_WIDTH - add hl, bc - pop bc - dec b - jr nz, .row - ret -; 8c7c9 (23:47c9) diff --git a/engine/battle_transition.asm b/engine/battle_transition.asm new file mode 100644 index 000000000..f8756649b --- /dev/null +++ b/engine/battle_transition.asm @@ -0,0 +1,873 @@ +Predef_StartBattle: ; 8c20f + call .InitGFX + ld a, [rBGP] + ld [wBGP], a + ld a, [rOBP0] + ld [wOBP0], a + ld a, [rOBP1] + ld [wOBP1], a + call DelayFrame + ld hl, hVBlank + ld a, [hl] + push af + ld [hl], $1 + +.loop + ld a, [wJumptableIndex] + bit 7, a + jr nz, .done + call FlashyTransitionToBattle + call DelayFrame + jr .loop + +.done + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + + ld hl, UnknBGPals + ld bc, 8 palettes + xor a + call ByteFill + + pop af + ld [rSVBK], a + + ld a, %11111111 + ld [wBGP], a + call DmgToCgbBGPals + call DelayFrame + xor a + ld [hLCDCPointer], a + ld [hLYOverrideStart], a + ld [hLYOverrideEnd], a + ld [hSCY], a + + ld a, $1 + ld [rSVBK], a + pop af + ld [hVBlank], a + call DelayFrame + ret +; 8c26d + +.InitGFX: ; 8c26d + ld a, [wLinkMode] + cp LINK_MOBILE + jr z, .mobile + callba ReanchorBGMap_NoOAMUpdate + call UpdateSprites + call DelayFrame + call .NonMobile_LoadPokeballTiles + call BattleStart_LoadEDTile + jr .resume + +.mobile + call LoadTrainerBattlePokeballTiles + +.resume + ld a, SCREEN_HEIGHT_PX + ld [hWY], a + call DelayFrame + xor a + ld [hBGMapMode], a + ld hl, wJumptableIndex + xor a + ld [hli], a + ld [hli], a + ld [hl], a + call WipeLYOverrides + ret +; 8c2a0 + +.NonMobile_LoadPokeballTiles: ; 8c2a0 + call LoadTrainerBattlePokeballTiles + hlbgcoord 0, 0 + call ConvertTrainerBattlePokeballTilesTo2bpp + ret +; 8c2aa + +LoadTrainerBattlePokeballTiles: +; Load the tiles used in the Pokeball Graphic that fills the screen +; at the start of every Trainer battle. + ld de, TrainerBattlePokeballTiles + ld hl, VTiles1 tile $7e + ld b, BANK(TrainerBattlePokeballTiles) + ld c, 2 + call Request2bpp + + ld a, [rVBK] + push af + ld a, $1 + ld [rVBK], a + + ld de, TrainerBattlePokeballTiles + ld hl, VTiles4 tile $7e + ld b, BANK(TrainerBattlePokeballTiles) + ld c, 2 + call Request2bpp + + pop af + ld [rVBK], a + ret +; 8c2cf + +ConvertTrainerBattlePokeballTilesTo2bpp: ; 8c2cf + ld a, [rSVBK] + push af + ld a, $6 + ld [rSVBK], a + push hl + ld hl, wDecompressScratch + ld bc, $28 tiles + +.loop + ld [hl], -1 + inc hl + dec bc + ld a, c + or b + jr nz, .loop + + pop hl + ld de, wDecompressScratch + ld b, BANK(ConvertTrainerBattlePokeballTilesTo2bpp) ; BANK(@) + ld c, $28 + call Request2bpp + pop af + ld [rSVBK], a + ret +; 8c2f4 + +TrainerBattlePokeballTiles: ; 8c2f4 +INCBIN "gfx/overworld/trainer_battle_pokeball_tiles.2bpp" + + +FlashyTransitionToBattle: ; 8c314 + jumptable .dw, wJumptableIndex +; 8c323 + +.dw ; 8c323 (23:4323) + dw StartTrainerBattle_DetermineWhichAnimation ; 00 + + ; Animation 1: cave + dw StartTrainerBattle_LoadPokeBallGraphics ; 01 + dw StartTrainerBattle_SetUpBGMap ; 02 + dw StartTrainerBattle_Flash ; 03 + dw StartTrainerBattle_Flash ; 04 + dw StartTrainerBattle_Flash ; 05 + dw StartTrainerBattle_NextScene ; 06 + dw StartTrainerBattle_SetUpForWavyOutro ; 07 + dw StartTrainerBattle_SineWave ; 08 + + ; Animation 2: cave, stronger + dw StartTrainerBattle_LoadPokeBallGraphics ; 09 + dw StartTrainerBattle_SetUpBGMap ; 0a + dw StartTrainerBattle_Flash ; 0b + dw StartTrainerBattle_Flash ; 0c + dw StartTrainerBattle_Flash ; 0d + dw StartTrainerBattle_NextScene ; 0e + ; There is no setup for this one + dw StartTrainerBattle_ZoomToBlack ; 0f + + ; Animation 3: no cave + dw StartTrainerBattle_LoadPokeBallGraphics ; 10 + dw StartTrainerBattle_SetUpBGMap ; 11 + dw StartTrainerBattle_Flash ; 12 + dw StartTrainerBattle_Flash ; 13 + dw StartTrainerBattle_Flash ; 14 + dw StartTrainerBattle_NextScene ; 15 + dw StartTrainerBattle_SetUpForSpinOutro ; 16 + dw StartTrainerBattle_SpinToBlack ; 17 + + ; Animation 4: no cave, stronger + dw StartTrainerBattle_LoadPokeBallGraphics ; 18 + dw StartTrainerBattle_SetUpBGMap ; 19 + dw StartTrainerBattle_Flash ; 1a + dw StartTrainerBattle_Flash ; 1b + dw StartTrainerBattle_Flash ; 1c + dw StartTrainerBattle_NextScene ; 1d + dw StartTrainerBattle_SetUpForRandomScatterOutro ; 1e + dw StartTrainerBattle_SpeckleToBlack ; 1f + + ; All animations jump to here. + dw StartTrainerBattle_Finish ; 20 + + +StartTrainerBattle_DetermineWhichAnimation: ; 8c365 (23:4365) +; The screen flashes a different number of times depending on the level of +; your lead Pokemon relative to the opponent's. +; BUG: BattleMonLevel and EnemyMonLevel are not set at this point, so whatever +; values happen to be there will determine the animation. + ld de, 0 + ld a, [BattleMonLevel] + add 3 + ld hl, EnemyMonLevel + cp [hl] + jr nc, .okay + set 0, e +.okay + ld a, [wPermission] + cp CAVE + jr z, .okay2 + cp PERM_5 + jr z, .okay2 + cp DUNGEON + jr z, .okay2 + set 1, e +.okay2 + ld hl, .StartingPoints + add hl, de + ld a, [hl] + ld [wJumptableIndex], a + ret +; 8c38f (23:438f) + +.StartingPoints: ; 8c38f + db 1, 9 + db 16, 24 +; 8c393 + +StartTrainerBattle_Finish: ; 8c393 (23:4393) + call ClearSprites + ld a, $80 + ld [wJumptableIndex], a + ret + +StartTrainerBattle_NextScene: ; 8c39c (23:439c) + ld hl, wJumptableIndex + inc [hl] + ret + +StartTrainerBattle_SetUpBGMap: ; 8c3a1 (23:43a1) + call StartTrainerBattle_NextScene + xor a + ld [wcf64], a + ld [hBGMapMode], a + ret + +StartTrainerBattle_Flash: ; 8c3ab (23:43ab) + call .DoFlashAnimation + ret nc + call StartTrainerBattle_NextScene + ret + +.DoFlashAnimation: ; 8c3b3 (23:43b3) + ld a, [wTimeOfDayPalset] + cp %11111111 ; dark cave + jr z, .done + ld hl, wcf64 + ld a, [hl] + inc [hl] + srl a + ld e, a + ld d, 0 + ld hl, .pals + add hl, de + ld a, [hl] + cp %00000001 + jr z, .done + ld [wBGP], a + call DmgToCgbBGPals + and a + ret + +.done + xor a + ld [wcf64], a + scf + ret +; 8c3db (23:43db) + +.pals ; 8c3db + db %11111001 ; 3321 + db %11111110 ; 3332 + db %11111111 ; 3333 + db %11111110 ; 3332 + db %11111001 ; 3321 + db %11100100 ; 3210 + db %10010000 ; 2100 + db %01000000 ; 1000 + db %00000000 ; 0000 + db %01000000 ; 1000 + db %10010000 ; 2100 + db %11100100 ; 3210 + db %00000001 ; 0001 +; 8c3e8 + +StartTrainerBattle_SetUpForWavyOutro: ; 8c3e8 (23:43e8) + callba Function5602 + ld a, $5 ; BANK(LYOverrides) + ld [rSVBK], a + + call StartTrainerBattle_NextScene + + ld a, rSCX - $ff00 + ld [hLCDCPointer], a + xor a + ld [hLYOverrideStart], a + ld a, $90 + ld [hLYOverrideEnd], a + xor a + ld [wcf64], a + ld [wcf65], a + ret + +StartTrainerBattle_SineWave: ; 8c408 (23:4408) + ld a, [wcf64] + cp $60 + jr nc, .end + call .DoSineWave + ret + +.end + ld a, $20 + ld [wJumptableIndex], a + ret + +.DoSineWave: ; 8c419 (23:4419) + ld hl, wcf65 + ld a, [hl] + inc [hl] + ld hl, wcf64 + ld d, [hl] + add [hl] + ld [hl], a + ld a, LYOverridesEnd - LYOverrides + ld bc, LYOverrides + ld e, $0 + +.loop + push af + push de + ld a, e + call StartTrainerBattle_DrawSineWave + ld [bc], a + inc bc + pop de + ld a, e + add $2 + ld e, a + pop af + dec a + jr nz, .loop + ret + +StartTrainerBattle_SetUpForSpinOutro: ; 8c43d (23:443d) + callba Function5602 + ld a, $5 ; BANK(LYOverrides) + ld [rSVBK], a + call StartTrainerBattle_NextScene + xor a + ld [wcf64], a + ret + +StartTrainerBattle_SpinToBlack: ; 8c44f (23:444f) + xor a + ld [hBGMapMode], a + ld a, [wcf64] + ld e, a + ld d, 0 + ld hl, .spintable +rept 5 + add hl, de +endr + ld a, [hli] + cp -1 + jr z, .end + ld [wcf65], a + call .load + ld a, $1 + ld [hBGMapMode], a + call DelayFrame + call DelayFrame + ld hl, wcf64 + inc [hl] + ret + +.end + ld a, $1 + ld [hBGMapMode], a + call DelayFrame + call DelayFrame + call DelayFrame + xor a + ld [hBGMapMode], a + ld a, $20 + ld [wJumptableIndex], a + ret +; 8c490 (23:4490) + +; quadrants + const_def + const UPPER_LEFT + const UPPER_RIGHT + const LOWER_LEFT + const LOWER_RIGHT + +.spintable ; 8c490 +spintable_entry: MACRO + db \1 + dw .wedge\2 + dwcoord \3, \4 +ENDM + spintable_entry UPPER_LEFT, 1, 1, 6 + spintable_entry UPPER_LEFT, 2, 0, 3 + spintable_entry UPPER_LEFT, 3, 1, 0 + spintable_entry UPPER_LEFT, 4, 5, 0 + spintable_entry UPPER_LEFT, 5, 9, 0 + spintable_entry UPPER_RIGHT, 5, 10, 0 + spintable_entry UPPER_RIGHT, 4, 14, 0 + spintable_entry UPPER_RIGHT, 3, 18, 0 + spintable_entry UPPER_RIGHT, 2, 19, 3 + spintable_entry UPPER_RIGHT, 1, 18, 6 + spintable_entry LOWER_RIGHT, 1, 18, 11 + spintable_entry LOWER_RIGHT, 2, 19, 14 + spintable_entry LOWER_RIGHT, 3, 18, 17 + spintable_entry LOWER_RIGHT, 4, 14, 17 + spintable_entry LOWER_RIGHT, 5, 10, 17 + spintable_entry LOWER_LEFT, 5, 9, 17 + spintable_entry LOWER_LEFT, 4, 5, 17 + spintable_entry LOWER_LEFT, 3, 1, 17 + spintable_entry LOWER_LEFT, 2, 0, 14 + spintable_entry LOWER_LEFT, 1, 1, 11 + db -1 +; 8c4f5 + +.load ; 8c4f5 (23:44f5) + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + ld h, [hl] + ld l, a +.loop + push hl + ld a, [de] + ld c, a + inc de +.loop1 + ld [hl], $ff + ld a, [wcf65] + bit 0, a + jr z, .leftside + inc hl + jr .okay1 +.leftside + dec hl +.okay1 + dec c + jr nz, .loop1 + pop hl + ld a, [wcf65] + bit 1, a + ld bc, SCREEN_WIDTH + jr z, .upper + ld bc, -SCREEN_WIDTH +.upper + add hl, bc + ld a, [de] + inc de + cp -1 + ret z + and a + jr z, .loop + ld c, a +.loop2 + ld a, [wcf65] + bit 0, a + jr z, .leftside2 + dec hl + jr .okay2 +.leftside2 + inc hl +.okay2 + dec c + jr nz, .loop2 + jr .loop +; 8c538 (23:4538) + +.wedge1 db 2, 3, 5, 4, 9, -1 +.wedge2 db 1, 1, 2, 2, 4, 2, 4, 2, 3, -1 +.wedge3 db 2, 1, 3, 1, 4, 1, 4, 1, 4, 1, 3, 1, 2, 1, 1, 1, 1, -1 +.wedge4 db 4, 1, 4, 0, 3, 1, 3, 0, 2, 1, 2, 0, 1, -1 +.wedge5 db 4, 0, 3, 0, 3, 0, 2, 0, 2, 0, 1, 0, 1, 0, 1, -1 +; 8c578 + +StartTrainerBattle_SetUpForRandomScatterOutro: ; 8c578 (23:4578) + callba Function5602 + ld a, $5 ; BANK(LYOverrides) + ld [rSVBK], a + call StartTrainerBattle_NextScene + ld a, $10 + ld [wcf64], a + ld a, $1 + ld [hBGMapMode], a + ret + +StartTrainerBattle_SpeckleToBlack: ; 8c58f (23:458f) + ld hl, wcf64 + ld a, [hl] + and a + jr z, .done + dec [hl] + ld c, $c +.loop + push bc + call .BlackOutRandomTile + pop bc + dec c + jr nz, .loop + ret + +.done + ld a, $1 + ld [hBGMapMode], a + call DelayFrame + call DelayFrame + call DelayFrame + xor a + ld [hBGMapMode], a + ld a, $20 + ld [wJumptableIndex], a + ret + +.BlackOutRandomTile: ; 8c5b8 (23:45b8) +.y_loop + call Random + cp SCREEN_HEIGHT + jr nc, .y_loop + ld b, a + +.x_loop + call Random + cp SCREEN_WIDTH + jr nc, .x_loop + ld c, a + + hlcoord 0, -1 + ld de, SCREEN_WIDTH + inc b + +.row_loop + add hl, de + dec b + jr nz, .row_loop + add hl, bc + +; If the tile has already been blacked out, +; sample a new tile + ld a, [hl] + cp $ff + jr z, .y_loop + ld [hl], $ff + ret + +StartTrainerBattle_LoadPokeBallGraphics: ; 8c5dc (23:45dc) + ld a, [OtherTrainerClass] + and a + jp z, .nextscene ; don't need to be here if wild + + xor a + ld [hBGMapMode], a + hlcoord 0, 0, AttrMap + ld bc, SCREEN_HEIGHT * SCREEN_WIDTH + inc b + inc c + jr .enter_loop_midway + +.loop +; set all pals to 7 + ld a, [hl] + or %00000111 + ld [hli], a +.enter_loop_midway + dec c + jr nz, .loop + dec b + jr nz, .loop + + call .loadpokeballgfx ; ld a, [OtherTrainerClass] \ ld de, PokeBallTransition \ ret + hlcoord 2, 1 + + ld b, SCREEN_WIDTH - 4 +.loop2 + push hl + ld c, 2 +.loop3 + push hl + ld a, [de] + inc de +.loop4 +; Loading is done bit by bit + and a + jr z, .done + sla a + jr nc, .no_load + ld [hl], $fe +.no_load + inc hl + jr .loop4 + +.done + pop hl + push bc + ld bc, (SCREEN_WIDTH - 4) / 2 + add hl, bc + pop bc + dec c + jr nz, .loop3 + + pop hl + push bc + ld bc, SCREEN_WIDTH + add hl, bc + pop bc + dec b + jr nz, .loop2 + + ld a, [hCGB] + and a + jr nz, .cgb + ld a, $1 + ld [hBGMapMode], a + call DelayFrame + call DelayFrame + jr .nextscene + +.cgb + ld hl, .daypals + ld a, [TimeOfDayPal] + and (1 << 2) - 1 + cp 3 + jr nz, .daytime + ld hl, .nightpals +.daytime + ld a, [rSVBK] + push af + ld a, $5 ; WRAM5 = palettes + ld [rSVBK], a + call .copypals + push hl + ld de, UnknBGPals palette PAL_BG_TEXT + ld bc, 1 palettes + call CopyBytes + pop hl + ld de, BGPals palette PAL_BG_TEXT + ld bc, 1 palettes + call CopyBytes + pop af + ld [rSVBK], a + ld a, $1 + ld [hCGBPalUpdate], a + call DelayFrame + call BattleStart_LoadEDTile + +.nextscene ; 8c673 (23:4673) + call StartTrainerBattle_NextScene + ret + +.copypals ; 8c677 (23:4677) + ld de, UnknBGPals palette PAL_BG_TEXT + call .copy + ld de, BGPals palette PAL_BG_TEXT + call .copy + ld de, UnknOBPals palette PAL_OW_TREE + call .copy + ld de, OBPals palette PAL_OW_TREE + call .copy + ld de, UnknOBPals palette PAL_OW_ROCK + call .copy + ld de, OBPals palette PAL_OW_ROCK + +.copy ; 8c698 (23:4698) + push hl + ld bc, 1 palettes + call CopyBytes + pop hl + ret +; 8c6a1 (23:46a1) + +.daypals ; 8c6a1 + RGB 31, 18, 29 + RGB 31, 11, 15 + RGB 31, 05, 05 + RGB 07, 07, 07 +; 8c6a9 + +.nightpals ; 8c6a9 + RGB 31, 18, 29 + RGB 31, 05, 05 + RGB 31, 05, 05 + RGB 31, 05, 05 + +.loadpokeballgfx + ld a, [OtherTrainerClass] + ld de, PokeBallTransition + ret + +PokeBallTransition: + db %00000011, %11000000 + db %00001111, %11110000 + db %00111100, %00111100 + db %00110000, %00001100 + db %01100000, %00000110 + db %01100011, %11000110 + db %11000110, %01100011 + db %11111100, %00111111 + db %11111100, %00111111 + db %11000110, %01100011 + db %01100011, %11000110 + db %01100000, %00000110 + db %00110000, %00001100 + db %00111100, %00111100 + db %00001111, %11110000 + db %00000011, %11000000 + +WipeLYOverrides: ; 8c6d8 + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + + ld hl, LYOverrides + call .wipe + ld hl, LYOverridesBackup + call .wipe + + pop af + ld [rSVBK], a + ret +; 8c6ef + +.wipe ; 8c6ef + xor a + ld c, SCREEN_HEIGHT_PX +.loop + ld [hli], a + dec c + jr nz, .loop + ret +; 8c6f7 + + +StartTrainerBattle_DrawSineWave: ; 8c6f7 (23:46f7) + and (1 << 6) - 1 + cp 1 << 5 + jr nc, .okay + call .DoSineWave + ld a, h + ret + +.okay + and (1 << 5) - 1 + call .DoSineWave + ld a, h + xor -1 ; cpl + inc a + ret + +.DoSineWave: ; 8c70c (23:470c) + ld e, a + ld a, d + ld d, 0 + ld hl, .sinewave + add hl, de + add hl, de + ld e, [hl] + inc hl + ld d, [hl] + ld hl, 0 +.loop + srl a + jr nc, .skip + add hl, de +.skip + sla e + rl d + and a + jr nz, .loop + ret +; 8c728 (23:4728) + +.sinewave ; 8c728 + sine_wave $100 +; 8c768 + +StartTrainerBattle_ZoomToBlack: ; 8c768 (23:4768) + callba Function5602 + ld de, .boxes + +.loop + ld a, [de] + cp -1 + jr z, .done + inc de + ld c, a + ld a, [de] + inc de + ld b, a + ld a, [de] + inc de + ld l, a + ld a, [de] + inc de + ld h, a + xor a + ld [hBGMapMode], a + call .Copy + call WaitBGMap + jr .loop + +.done + ld a, $20 + ld [wJumptableIndex], a + ret +; 8c792 (23:4792) + +.boxes ; 8c792 +zoombox: macro +; width, height, start y, start x + db \1, \2 + dwcoord \3, \4 +endm + zoombox 4, 2, 8, 8 + zoombox 6, 4, 7, 7 + zoombox 8, 6, 6, 6 + zoombox 10, 8, 5, 5 + zoombox 12, 10, 4, 4 + zoombox 14, 12, 3, 3 + zoombox 16, 14, 2, 2 + zoombox 18, 16, 1, 1 + zoombox 20, 18, 0, 0 + db -1 +; 8c7b7 + +.Copy: ; 8c7b7 (23:47b7) + ld a, $ff +.row + push bc + push hl +.col + ld [hli], a + dec c + jr nz, .col + pop hl + ld bc, SCREEN_WIDTH + add hl, bc + pop bc + dec b + jr nz, .row + ret +; 8c7c9 (23:47c9) + +Function8c7c9: +; XXX + ld a, $1 + ld [hBGMapMode], a + call WaitBGMap + xor a + ld [hBGMapMode], a + ret diff --git a/engine/caught_data.asm b/engine/caught_data.asm new file mode 100644 index 000000000..c079009ae --- /dev/null +++ b/engine/caught_data.asm @@ -0,0 +1,247 @@ +CheckPartyFullAfterContest: ; 4d9e5 + ld a, [wContestMon] + and a + jp z, .DidntCatchAnything + ld [CurPartySpecies], a + ld [CurSpecies], a + call GetBaseData + ld hl, PartyCount + ld a, [hl] + cp 6 + jp nc, .TryAddToBox + inc a + ld [hl], a + ld c, a + ld b, $0 + add hl, bc + ld a, [wContestMon] + ld [hli], a + ld [CurSpecies], a + ld a, $ff + ld [hl], a + ld hl, PartyMon1Species + ld a, [PartyCount] + dec a + ld bc, PARTYMON_STRUCT_LENGTH + call AddNTimes + ld d, h + ld e, l + ld hl, wContestMon + ld bc, PARTYMON_STRUCT_LENGTH + call CopyBytes + ld a, [PartyCount] + dec a + ld hl, PartyMonOT + call SkipNames + ld d, h + ld e, l + ld hl, PlayerName + call CopyBytes + ld a, [CurPartySpecies] + ld [wd265], a + call GetPokemonName + ld hl, StringBuffer1 + ld de, wMonOrItemNameBuffer + ld bc, PKMN_NAME_LENGTH + call CopyBytes + call GiveANickname_YesNo + jr c, .Party_SkipNickname + ld a, [PartyCount] + dec a + ld [CurPartyMon], a + xor a + ld [MonType], a + ld de, wMonOrItemNameBuffer + callab InitNickname + +.Party_SkipNickname: + ld a, [PartyCount] + dec a + ld hl, PartyMonNicknames + call SkipNames + ld d, h + ld e, l + ld hl, wMonOrItemNameBuffer + call CopyBytes + ld a, [PartyCount] + dec a + ld hl, PartyMon1Level + call GetPartyLocation + ld a, [hl] + ld [CurPartyLevel], a + call SetCaughtData + ld a, [PartyCount] + dec a + ld hl, PartyMon1CaughtLocation + call GetPartyLocation + ld a, [hl] + and $80 + ld b, $13 + or b + ld [hl], a + xor a + ld [wContestMon], a + and a + ld [ScriptVar], a + ret + +.TryAddToBox: ; 4daa3 + ld a, BANK(sBoxCount) + call GetSRAMBank + ld hl, sBoxCount + ld a, [hl] + cp MONS_PER_BOX + call CloseSRAM + jr nc, .BoxFull + xor a + ld [CurPartyMon], a + ld hl, wContestMon + ld de, wBufferMon + ld bc, BOXMON_STRUCT_LENGTH + call CopyBytes + ld hl, PlayerName + ld de, wBufferMonOT + ld bc, NAME_LENGTH + call CopyBytes + callab InsertPokemonIntoBox + ld a, [CurPartySpecies] + ld [wd265], a + call GetPokemonName + call GiveANickname_YesNo + ld hl, StringBuffer1 + jr c, .Box_SkipNickname + ld a, BOXMON + ld [MonType], a + ld de, wMonOrItemNameBuffer + callab InitNickname + ld hl, wMonOrItemNameBuffer + +.Box_SkipNickname: + ld a, BANK(sBoxMonNicknames) + call GetSRAMBank + ld de, sBoxMonNicknames + ld bc, PKMN_NAME_LENGTH + call CopyBytes + call CloseSRAM + +.BoxFull: + ld a, BANK(sBoxMon1Level) + call GetSRAMBank + ld a, [sBoxMon1Level] + ld [CurPartyLevel], a + call CloseSRAM + call SetBoxMonCaughtData + ld a, BANK(sBoxMon1CaughtLocation) + call GetSRAMBank + ld hl, sBoxMon1CaughtLocation + ld a, [hl] + and $80 + ld b, $13 + or b + ld [hl], a + call CloseSRAM + xor a + ld [wContestMon], a + ld a, $1 + ld [ScriptVar], a + ret + +.DidntCatchAnything: ; 4db35 + ld a, $2 + ld [ScriptVar], a + ret + +GiveANickname_YesNo: ; 4db3b + ld hl, TextJump_GiveANickname + call PrintText + jp YesNoBox + +TextJump_GiveANickname: ; 0x4db44 + ; Give a nickname to the @ you received? + text_jump UnknownText_0x1c12fc + db "@" + +SetCaughtData: ; 4db49 + ld a, [PartyCount] + dec a + ld hl, PartyMon1CaughtLevel + call GetPartyLocation +SetBoxmonOrEggmonCaughtData: ; 4db53 + ld a, [TimeOfDay] + inc a + rrca + rrca + ld b, a + ld a, [CurPartyLevel] + or b + ld [hli], a + ld a, [MapGroup] + ld b, a + ld a, [MapNumber] + ld c, a + cp MAP_POKECENTER_2F + jr nz, .NotPokecenter2F + ld a, b + cp GROUP_POKECENTER_2F + jr nz, .NotPokecenter2F + + ld a, [BackupMapGroup] + ld b, a + ld a, [BackupMapNumber] + ld c, a + +.NotPokecenter2F: + call GetWorldMapLocation + ld b, a + ld a, [PlayerGender] + rrca + or b + ld [hl], a + ret + +SetBoxMonCaughtData: ; 4db83 + ld a, BANK(sBoxMon1CaughtLevel) + call GetSRAMBank + ld hl, sBoxMon1CaughtLevel + call SetBoxmonOrEggmonCaughtData + call CloseSRAM + ret + +SetGiftBoxMonCaughtData: ; 4db92 + push bc + ld a, BANK(sBoxMon1CaughtLevel) + call GetSRAMBank + ld hl, sBoxMon1CaughtLevel + pop bc + call SetGiftMonCaughtData + call CloseSRAM + ret + +SetGiftPartyMonCaughtData: ; 4dba3 + ld a, [PartyCount] + dec a + ld hl, PartyMon1CaughtLevel + push bc + call GetPartyLocation + pop bc +SetGiftMonCaughtData: ; 4dbaf + xor a + ld [hli], a + ld a, $7e + rrc b + or b + ld [hl], a + ret + +SetEggMonCaughtData: ; 4dbb8 (13:5bb8) + ld a, [CurPartyMon] + ld hl, PartyMon1CaughtLevel + call GetPartyLocation + ld a, [CurPartyLevel] + push af + ld a, $1 + ld [CurPartyLevel], a + call SetBoxmonOrEggmonCaughtData + pop af + ld [CurPartyLevel], a + ret diff --git a/engine/check_nick_errors.asm b/engine/check_nick_errors.asm new file mode 100644 index 000000000..1cedca420 --- /dev/null +++ b/engine/check_nick_errors.asm @@ -0,0 +1,74 @@ +CheckNickErrors:: ; 669f +; error-check monster nick before use +; must be a peace offering to gamesharkers + +; input: de = nick location + + push bc + push de + ld b, PKMN_NAME_LENGTH + +.checkchar +; end of nick? + ld a, [de] + cp "@" ; terminator + jr z, .end + +; check if this char is a text command + ld hl, .textcommands + dec hl +.loop +; next entry + inc hl +; reached end of commands table? + ld a, [hl] + cp -1 + jr z, .done + +; is the current char between this value (inclusive)... + ld a, [de] + cp [hl] + inc hl + jr c, .loop +; ...and this one? + cp [hl] + jr nc, .loop + +; replace it with a "?" + ld a, "?" + ld [de], a + jr .loop + +.done +; next char + inc de +; reached end of nick without finding a terminator? + dec b + jr nz, .checkchar + +; change nick to "?@" + pop de + push de + ld a, "?" + ld [de], a + inc de + ld a, "@" + ld [de], a +.end +; if the nick has any errors at this point it's out of our hands + pop de + pop bc + ret + +.textcommands ; 66cf +; table defining which characters are actually text commands +; format: + ; ≥ < + db "", TX_BOX + 1 + db "", $18 + 1 + db $1d, "%" + 1 + db $35, "" + 1 + db "", "" + 1 + db "", "" + 1 + db "", "┘" + 1 + db -1 ; end diff --git a/engine/check_time.asm b/engine/check_time.asm new file mode 100644 index 000000000..615b51d29 --- /dev/null +++ b/engine/check_time.asm @@ -0,0 +1,19 @@ +CheckTime:: ; c000 + ld a, [TimeOfDay] + ld hl, TimeOfDayTable + ld de, 2 + call IsInArray + inc hl + ld c, [hl] + ret c + + xor a + ld c, a + ret + +TimeOfDayTable: ; c012 + db MORN_F, MORN + db DAY_F, DAY + db NITE_F, NITE + db NITE_F, NITE + db -1 diff --git a/engine/collision_stdscripts.asm b/engine/collision_stdscripts.asm new file mode 100644 index 000000000..17b1e49b2 --- /dev/null +++ b/engine/collision_stdscripts.asm @@ -0,0 +1,29 @@ +CheckFacingTileForStd:: ; 1365b +; Checks to see if the tile you're facing has a std script associated with it. If so, executes the script and returns carry. + ld a, c + ld de, 3 + ld hl, TileCollisionStdScripts + call IsInArray + jr nc, .notintable + + ld a, jumpstd_command + ld [wJumpStdScriptBuffer], a + inc hl + ld a, [hli] + ld [wJumpStdScriptBuffer + 1], a + ld a, [hli] + ld [wJumpStdScriptBuffer + 2], a + ld a, BANK(Script_JumpStdFromRAM) + ld hl, Script_JumpStdFromRAM + call CallScript + scf + ret + +.notintable + xor a + ret + +INCLUDE "data/collision_stdscripts.asm" + +Script_JumpStdFromRAM: ; 0x1369a + jump wJumpStdScriptBuffer diff --git a/engine/consume_held_item.asm b/engine/consume_held_item.asm new file mode 100644 index 000000000..52d7894cd --- /dev/null +++ b/engine/consume_held_item.asm @@ -0,0 +1,80 @@ +ConsumeHeldItem: ; 27192 + push hl + push de + push bc + ld a, [hBattleTurn] + and a + ld hl, OTPartyMon1Item + ld de, EnemyMonItem + ld a, [CurOTMon] + jr z, .theirturn + ld hl, PartyMon1Item + ld de, BattleMonItem + ld a, [CurBattleMon] + +.theirturn + push hl + push af + ld a, [de] + ld b, a + callba GetItemHeldEffect + ld hl, .ConsumableEffects +.loop + ld a, [hli] + cp b + jr z, .ok + inc a + jr nz, .loop + pop af + pop hl + pop bc + pop de + pop hl + ret + +.ok + xor a + ld [de], a + pop af + pop hl + call GetPartyLocation + ld a, [hBattleTurn] + and a + jr nz, .ourturn + ld a, [wBattleMode] + dec a + jr z, .done + +.ourturn + ld [hl], $0 + +.done + pop bc + pop de + pop hl + ret + +.ConsumableEffects: ; 271de +; Consumable items? + db HELD_BERRY + db HELD_2 + db HELD_5 + db HELD_HEAL_POISON + db HELD_HEAL_FREEZE + db HELD_HEAL_BURN + db HELD_HEAL_SLEEP + db HELD_HEAL_PARALYZE + db HELD_HEAL_STATUS + db HELD_30 + db HELD_ATTACK_UP + db HELD_DEFENSE_UP + db HELD_SPEED_UP + db HELD_SP_ATTACK_UP + db HELD_SP_DEFENSE_UP + db HELD_ACCURACY_UP + db HELD_EVASION_UP + db HELD_38 + db HELD_71 + db HELD_ESCAPE + db HELD_CRITICAL_UP + db -1 diff --git a/engine/crystal_colors.asm b/engine/crystal_colors.asm index 125fee8bc..25b831f01 100755 --- a/engine/crystal_colors.asm +++ b/engine/crystal_colors.asm @@ -612,3 +612,13 @@ InitMG_Mobile_LinkTradePalMap: ; 49856 call _InitMG_Mobile_LinkTradePalMap ret ; 4985a + +Unknown_4985a: ; unreferenced + db $ab, $03, $57, $24, $ac, $0e, $13, $32 + db $be, $30, $5b, $4c, $47, $60, $ed, $f2 + db $ab, $03, $55, $26, $aa, $0a, $13, $3a + db $be, $28, $33, $24, $6e, $71, $df, $b0 + db $a8, $00, $e5, $e0, $9a, $fc, $f4, $2c + db $fe, $4c, $a3, $5e, $c6, $3a, $ab, $4d + db $a8, $00, $b5, $b0, $de, $e8, $fc, $1c + db $ba, $66, $f7, $0e, $ba, $5e, $43, $bd diff --git a/engine/european_mail.asm b/engine/european_mail.asm new file mode 100644 index 000000000..8f037cc43 --- /dev/null +++ b/engine/european_mail.asm @@ -0,0 +1,129 @@ +IsMailEuropean: ; 1de5c8 +; return 1 if French +; return 2 if German +; return 3 if Italian +; return 4 if Spanish +; return 0 if none of the above + ld c, $0 + ld hl, sPartyMon1MailAuthorNationality - sPartyMon1Mail + add hl, de + ld a, [hli] + cp "E" + ret nz + ld a, [hli] + inc c + cp "F" + ret z + inc c + cp "G" + ret z + inc c + cp "I" + ret z + inc c + cp "S" + ret z + ld c, $0 + ret + +; The regular font. +StandardEnglishFont: ; 1de5e6 +INCBIN "gfx/font/english.1bpp" + +; An extended font. +FrenchGermanFont: ; 1de9e6 +INCBIN "gfx/font/french_german.1bpp" + +; An even more extended font. +SpanishItalianFont: ; 1dede6 +INCBIN "gfx/font/spanish_italian.1bpp" + +HandleFrenchGermanMail: ; 1df1e6 +; called if mail is french or german +; fix 's 't 'v + ld b, sPartyMon1MailAuthor - sPartyMon1Mail + ld h, d + ld l, e +.loop + ld a, [hl] + cp $dc ; 's in french/german font + jr nz, .check_intermediate_chars + ld a, "'s" + jr .replace + +.check_intermediate_chars + sub "'s" + jr c, .dont_replace + cp "'v" - "'s" + 1 + jr nc, .dont_replace + add $cd + +.replace + ld [hl], a + +.dont_replace + inc hl + dec b + jr nz, .loop + ret + +LireLeCourrierAnglais: +DeutenEnglischenPost: ; 1df203 +; Cette fonction convertit certains des caractères anglais pour +; leur équivalent dans le jeu de caractères français. +; Diese Funktion wandelt bestimmte englische Zeichen, um ihre +; Entsprechung in der Deutschen-Zeichensatz. + ld b, sPartyMon1MailAuthor - sPartyMon1Mail + ld h, d + ld l, e +.loop + ld a, [hl] + cp "'s" + jr nz, .check_intermediate_chars + ld a, $dc + jr .replace + +.check_intermediate_chars + sub $cd + jr c, .dont_replace + cp "'v" - "'s" + 1 + jr nc, .dont_replace + add "'s" + +.replace + ld [hl], a + +.dont_replace + inc hl + dec b + jr nz, .loop + ret + +HandleSpanishItalianMail: ; 1df220 +LeerCorreosIngleses: +LeggiPostaInglese: +; This function converts certain characters between +; the English and Spanish/Italian character sets. +; Esta función convierte ciertos caracteres entre +; el juego de caracteres Inglés y Español. +; Questa funzione converte alcuni caratteri tra +; l'inglese e il set di caratteri italiani. + ld b, sPartyMon1MailAuthor - sPartyMon1Mail + ld h, d + ld l, e +.loop + ld a, [hl] + and $f0 + cp $d0 + jr nz, .dont_replace + ld a, [hl] + add $8 + and $f + or $d0 + ld [hl], a + +.dont_replace + inc hl + dec b + jr nz, .loop + ret diff --git a/engine/experience.asm b/engine/experience.asm new file mode 100644 index 000000000..c33aaf02a --- /dev/null +++ b/engine/experience.asm @@ -0,0 +1,162 @@ +CalcLevel: ; 50e1b + ld a, [TempMonSpecies] + ld [CurSpecies], a + call GetBaseData + ld d, 1 +.next_level + inc d + ld a, d + cp (MAX_LEVEL + 1) % $100 + jr z, .got_level + call CalcExpAtLevel + push hl + ld hl, TempMonExp + 2 + ld a, [hProduct + 3] + ld c, a + ld a, [hld] + sub c + ld a, [hProduct + 2] + ld c, a + ld a, [hld] + sbc c + ld a, [hProduct + 1] + ld c, a + ld a, [hl] + sbc c + pop hl + jr nc, .next_level + +.got_level + dec d + ret + +CalcExpAtLevel: ; 50e47 +; (a/b)*n**3 + c*n**2 + d*n - e + ld a, [BaseGrowthRate] + add a + add a + ld c, a + ld b, 0 + ld hl, GrowthRates + add hl, bc +; Cube the level + call .LevelSquared + ld a, d + ld [hMultiplier], a + call Multiply + +; Multiply by a + ld a, [hl] + and $f0 + swap a + ld [hMultiplier], a + call Multiply +; Divide by b + ld a, [hli] + and $f + ld [hDivisor], a + ld b, 4 + call Divide +; Push the cubic term to the stack + ld a, [hQuotient + 0] + push af + ld a, [hQuotient + 1] + push af + ld a, [hQuotient + 2] + push af +; Square the level and multiply by the lower 7 bits of c + call .LevelSquared + ld a, [hl] + and $7f + ld [hMultiplier], a + call Multiply +; Push the absolute value of the quadratic term to the stack + ld a, [hProduct + 1] + push af + ld a, [hProduct + 2] + push af + ld a, [hProduct + 3] + push af + ld a, [hli] + push af +; Multiply the level by d + xor a + ld [hMultiplicand + 0], a + ld [hMultiplicand + 1], a + ld a, d + ld [hMultiplicand + 2], a + ld a, [hli] + ld [hMultiplier], a + call Multiply +; Subtract e + ld b, [hl] + ld a, [hProduct + 3] + sub b + ld [hMultiplicand + 2], a + ld b, $0 + ld a, [hProduct + 2] + sbc b + ld [hMultiplicand + 1], a + ld a, [hProduct + 1] + sbc b + ld [hMultiplicand], a +; If bit 7 of c is set, c is negative; otherwise, it's positive + pop af + and $80 + jr nz, .subtract +; Add c*n**2 to (d*n - e) + pop bc + ld a, [hProduct + 3] + add b + ld [hMultiplicand + 2], a + pop bc + ld a, [hProduct + 2] + adc b + ld [hMultiplicand + 1], a + pop bc + ld a, [hProduct + 1] + adc b + ld [hMultiplicand], a + jr .done_quadratic + +.subtract +; Subtract c*n**2 from (d*n - e) + pop bc + ld a, [hProduct + 3] + sub b + ld [hMultiplicand + 2], a + pop bc + ld a, [hProduct + 2] + sbc b + ld [hMultiplicand + 1], a + pop bc + ld a, [hProduct + 1] + sbc b + ld [hMultiplicand], a + +.done_quadratic +; Add (a/b)*n**3 to (d*n - e +/- c*n**2) + pop bc + ld a, [hProduct + 3] + add b + ld [hMultiplicand + 2], a + pop bc + ld a, [hProduct + 2] + adc b + ld [hMultiplicand + 1], a + pop bc + ld a, [hProduct + 1] + adc b + ld [hMultiplicand], a + ret + +.LevelSquared: ; 50eed + xor a + ld [hMultiplicand + 0], a + ld [hMultiplicand + 1], a + ld a, d + ld [hMultiplicand + 2], a + ld [hMultiplier], a + jp Multiply + +INCLUDE "data/growth_rates.asm" diff --git a/engine/init_map.asm b/engine/init_map.asm new file mode 100644 index 000000000..5dd6c7b8a --- /dev/null +++ b/engine/init_map.asm @@ -0,0 +1,103 @@ +ReanchorBGMap_NoOAMUpdate:: ; 6454 + call DelayFrame + ld a, [hOAMUpdate] + push af + + ld a, $1 + ld [hOAMUpdate], a + ld a, [hBGMapMode] + push af + xor a + ld [hBGMapMode], a + + call .ReanchorBGMap + + pop af + ld [hBGMapMode], a + pop af + ld [hOAMUpdate], a + ld hl, VramState + set 6, [hl] + ret + +.ReanchorBGMap: + xor a + ld [hLCDCPointer], a + ld [hBGMapMode], a + ld a, $90 + ld [hWY], a + call OverworldTextModeSwitch + ld a, VBGMap1 / $100 + call .LoadBGMapAddrIntoHRAM + call _OpenAndCloseMenu_HDMATransferTileMapAndAttrMap + callba LoadOW_BGPal7 + callba ApplyPals + ld a, $1 + ld [hCGBPalUpdate], a + xor a + ld [hBGMapMode], a + ld [hWY], a + callba HDMATransfer_FillBGMap0WithBlack ; no need to farcall + ld a, VBGMap0 / $100 + call .LoadBGMapAddrIntoHRAM + xor a + ld [wBGMapAnchor], a + ld a, VBGMap0 / $100 + ld [wBGMapAnchor + 1], a + xor a + ld [hSCX], a + ld [hSCY], a + call ApplyBGMapAnchorToObjects + ret + +.LoadBGMapAddrIntoHRAM: ; 64b9 + ld [hBGMapAddress + 1], a + xor a + ld [hBGMapAddress], a + ret + +LoadFonts_NoOAMUpdate:: ; 64bf + ld a, [hOAMUpdate] + push af + ld a, $1 + ld [hOAMUpdate], a + + call .LoadGFX + + pop af + ld [hOAMUpdate], a + ret + +.LoadGFX: + call LoadFontsExtra + ld a, $90 + ld [hWY], a + call SafeUpdateSprites + call LoadStandardFont + ret + +HDMATransfer_FillBGMap0WithBlack: ; 64db + ld a, [rSVBK] + push af + ld a, $6 + ld [rSVBK], a + + ld a, "" ; $60 + ld hl, wDecompressScratch + ld bc, wScratchAttrMap - wDecompressScratch + call ByteFill + ld a, wDecompressScratch / $100 + ld [rHDMA1], a + ld a, wDecompressScratch % $100 + ld [rHDMA2], a + ld a, (VBGMap0 % $8000) / $100 + ld [rHDMA3], a + ld a, (VBGMap0 % $8000) % $100 + ld [rHDMA4], a + ld a, $3f + ld [hDMATransfer], a + call DelayFrame + + pop af + ld [rSVBK], a + ret diff --git a/engine/map_objects.asm b/engine/map_objects.asm index 162ea22df..4b8adb75f 100644 --- a/engine/map_objects.asm +++ b/engine/map_objects.asm @@ -1,7 +1,5 @@ - INCLUDE "data/facings.asm" - INCLUDE "data/map_objects.asm" diff --git a/engine/map_objects_2.asm b/engine/map_objects_2.asm new file mode 100644 index 000000000..3c9a9773c --- /dev/null +++ b/engine/map_objects_2.asm @@ -0,0 +1,70 @@ +LoadObjectMasks: ; 2454f + ld hl, wObjectMasks + xor a + ld bc, NUM_OBJECTS + call ByteFill + nop + ld bc, MapObjects + ld de, wObjectMasks + xor a +.loop + push af + push bc + push de + call GetObjectTimeMask + jr c, .next + call CheckObjectFlag +.next + pop de + ld [de], a + inc de + pop bc + ld hl, OBJECT_LENGTH + add hl, bc + ld b, h + ld c, l + pop af + inc a + cp NUM_OBJECTS + jr nz, .loop + ret + +CheckObjectFlag: ; 2457d (9:457d) + ld hl, MAPOBJECT_SPRITE + add hl, bc + ld a, [hl] + and a + jr z, .masked + ld hl, MAPOBJECT_EVENT_FLAG + add hl, bc + ld a, [hli] + ld e, a + ld a, [hl] + ld d, a + cp -1 + jr nz, .check + ld a, e + cp -1 + jr z, .unmasked + jr .masked +.check + ld b, CHECK_FLAG + call EventFlagAction + ld a, c + and a + jr nz, .masked +.unmasked + xor a + ret + +.masked + ld a, -1 + scf + ret + +GetObjectTimeMask: ; 245a7 (9:45a7) + call CheckObjectTime + ld a, -1 + ret c + xor a + ret diff --git a/engine/map_palettes.asm b/engine/map_palettes.asm new file mode 100644 index 000000000..ffeef7bf6 --- /dev/null +++ b/engine/map_palettes.asm @@ -0,0 +1,86 @@ +SwapTextboxPalettes:: ; 4c000 + hlcoord 0, 0 + decoord 0, 0, AttrMap + ld b, SCREEN_HEIGHT +.loop + push bc + ld c, SCREEN_WIDTH +.innerloop + ld a, [hl] + push hl + srl a + jr c, .UpperNybble + ld hl, TilesetPalettes + add [hl] + ld l, a + ld a, [TilesetPalettes + 1] + adc $0 + ld h, a + ld a, [hl] + and $f + jr .next + +.UpperNybble: + ld hl, TilesetPalettes + add [hl] + ld l, a + ld a, [TilesetPalettes + 1] + adc $0 + ld h, a + ld a, [hl] + swap a + and $f + +.next + pop hl + ld [de], a + res 7, [hl] + inc hl + inc de + dec c + jr nz, .innerloop + pop bc + dec b + jr nz, .loop + ret + +ScrollBGMapPalettes:: ; 4c03f + ld hl, BGMapBuffer + ld de, BGMapPalBuffer +.loop + ld a, [hl] + push hl + srl a + jr c, .UpperNybble + +; .LowerNybble + ld hl, TilesetPalettes + add [hl] + ld l, a + ld a, [TilesetPalettes + 1] + adc $0 + ld h, a + ld a, [hl] + and $f + jr .next + +.UpperNybble: + ld hl, TilesetPalettes + add [hl] + ld l, a + ld a, [TilesetPalettes + 1] + adc $0 + ld h, a + ld a, [hl] + swap a + and $f + +.next + pop hl + ld [de], a + res 7, [hl] + inc hl + inc de + dec c + jr nz, .loop + ret diff --git a/engine/menu_2.asm b/engine/menu_2.asm new file mode 100644 index 000000000..13568f3c5 --- /dev/null +++ b/engine/menu_2.asm @@ -0,0 +1,263 @@ +PlaceMenuItemName: ; 0x24ab4 + push de + ld a, [MenuSelection] + ld [wNamedObjectIndexBuffer], a + call GetItemName + pop hl + call PlaceString + ret + +PlaceMenuItemQuantity: ; 0x24ac3 + push de + ld a, [MenuSelection] + ld [CurItem], a + callba _CheckTossableItem + ld a, [wItemAttributeParamBuffer] + pop hl + and a + jr nz, .done + ld de, $15 + add hl, de + ld [hl], "×" + inc hl + ld de, MenuSelectionQuantity + lb bc, 1, 2 + call PrintNum + +.done + ret + +PlaceMoneyTopRight: ; 24ae8 + ld hl, MenuDataHeader_0x24b15 + call CopyMenuDataHeader + jr PlaceMoneyDataHeader + +PlaceMoneyBottomLeft: ; 24af0 + ld hl, MenuDataHeader_0x24b1d + call CopyMenuDataHeader + jr PlaceMoneyDataHeader + +PlaceMoneyAtTopLeftOfTextbox: ; 24af8 + ld hl, MenuDataHeader_0x24b15 + lb de, 0, 11 + call OffsetMenuDataHeader + +PlaceMoneyDataHeader: ; 24b01 + call MenuBox + call MenuBoxCoord2Tile + ld de, SCREEN_WIDTH + 1 + add hl, de + ld de, Money + lb bc, PRINTNUM_MONEY | 3, 6 + call PrintNum + ret + +MenuDataHeader_0x24b15: ; 0x24b15 + db $40 ; flags + db 00, 11 ; start coords + db 02, 19 ; end coords + dw NULL + db 1 ; default option + +MenuDataHeader_0x24b1d: ; 0x24b1d + db $40 ; flags + db 11, 00 ; start coords + db 13, 08 ; end coords + dw NULL + db 1 ; default option + +Special_DisplayCoinCaseBalance: ; 24b25 + ; Place a text box of size 1x7 at 11, 0. + hlcoord 11, 0 + ld b, 1 + ld c, 7 + call TextBox + hlcoord 12, 0 + ld de, CoinString + call PlaceString + hlcoord 17, 1 + ld de, ShowMoney_TerminatorString + call PlaceString + ld de, Coins + lb bc, 2, 4 + hlcoord 13, 1 + call PrintNum + ret + +Special_DisplayMoneyAndCoinBalance: ; 24b4e + hlcoord 5, 0 + ld b, 3 + ld c, 13 + call TextBox + hlcoord 6, 1 + ld de, MoneyString + call PlaceString + hlcoord 12, 1 + ld de, Money + lb bc, PRINTNUM_MONEY | 3, 6 + call PrintNum + hlcoord 6, 3 + ld de, CoinString + call PlaceString + hlcoord 15, 3 + ld de, Coins + lb bc, 2, 4 + call PrintNum + ret + +MoneyString: ; 24b83 + db "MONEY@" +CoinString: ; 24b89 + db "COIN@" +ShowMoney_TerminatorString: ; 24b8e + db "@" + +Function24b8f: ; 24b8f +; unreferenced, related to safari? + ld hl, Options + ld a, [hl] + push af + set NO_TEXT_SCROLL, [hl] + hlcoord 0, 0 + ld b, 3 + ld c, 7 + call TextBox + hlcoord 1, 1 + ld de, wSafariTimeRemaining + lb bc, 2, 3 + call PrintNum + hlcoord 4, 1 + ld de, .slash_500 + call PlaceString + hlcoord 1, 3 + ld de, .booru_ko + call PlaceString + hlcoord 5, 3 + ld de, wSafariBallsRemaining + lb bc, 1, 2 + call PrintNum + pop af + ld [Options], a + ret + +.slash_500 ; 24bcf + db "/500@" +.booru_ko ; 24bd4 + db "ボール こ@" + +StartMenu_DrawBugContestStatusBox: ; 24bdc + hlcoord 0, 0 + ld b, 5 + ld c, 17 + call TextBox + ret + +StartMenu_PrintBugContestStatus: ; 24be7 + ld hl, Options + ld a, [hl] + push af + set NO_TEXT_SCROLL, [hl] + call StartMenu_DrawBugContestStatusBox + hlcoord 1, 5 + ld de, .Balls_EN + call PlaceString + hlcoord 8, 5 + ld de, wParkBallsRemaining + lb bc, PRINTNUM_RIGHTALIGN | 1, 2 + call PrintNum + hlcoord 1, 1 + ld de, .CAUGHT + call PlaceString + ld a, [wContestMon] + and a + ld de, .None + jr z, .no_contest_mon + ld [wd265], a + call GetPokemonName + +.no_contest_mon + hlcoord 8, 1 + call PlaceString + ld a, [wContestMon] + and a + jr z, .skip_level + hlcoord 1, 3 + ld de, .LEVEL + call PlaceString + ld a, [wContestMonLevel] + ld h, b + ld l, c + inc hl + ld c, 3 + call Print8BitNumRightAlign + +.skip_level + pop af + ld [Options], a + ret + +.Balls_JP: ; 24c43 + db "ボール こ@" +.CAUGHT: ; 24c4b + db "CAUGHT@" +.Balls_EN: ; 24c52 + db "BALLS:@" +.None: ; 24c59 + db "None@" +.LEVEL: ; 24c5e + db "LEVEL@" + +FindApricornsInBag: ; 24c64 +; Checks the bag for Apricorns. + ld hl, Buffer1 + xor a + ld [hli], a + dec a + ld bc, 10 + call ByteFill + + ld hl, .ApricornBalls +.loop + ld a, [hl] + cp -1 + jr z, .done + push hl + ld [CurItem], a + ld hl, NumItems + call CheckItem + pop hl + jr nc, .nope + ld a, [hl] + call .addtobuffer +.nope + inc hl + inc hl + jr .loop + +.done + ld a, [Buffer1] + and a + ret nz + scf + ret + +.addtobuffer ; 24c94 + push hl + ld hl, Buffer1 + inc [hl] + ld e, [hl] + ld d, 0 + add hl, de + ld [hl], a + pop hl + ret + +.ApricornBalls: ; 24ca0 + db RED_APRICORN, LEVEL_BALL + db BLU_APRICORN, LURE_BALL + db YLW_APRICORN, MOON_BALL + db GRN_APRICORN, FRIEND_BALL + db WHT_APRICORN, FAST_BALL + db BLK_APRICORN, HEAVY_BALL + db PNK_APRICORN, LOVE_BALL + db -1 diff --git a/engine/mon_stats.asm b/engine/mon_stats.asm new file mode 100644 index 000000000..ec468be16 --- /dev/null +++ b/engine/mon_stats.asm @@ -0,0 +1,486 @@ +DrawPlayerHP: ; 50b0a + ld a, $1 + jr DrawHP + +DrawEnemyHP: ; 50b0e + ld a, $2 + +DrawHP: ; 50b10 + ld [wWhichHPBar], a + push hl + push bc + ; box mons have full HP + ld a, [MonType] + cp BOXMON + jr z, .at_least_1_hp + + ld a, [TempMonHP] + ld b, a + ld a, [TempMonHP + 1] + ld c, a + +; Any HP? + or b + jr nz, .at_least_1_hp + + xor a + ld c, a + ld e, a + ld a, 6 + ld d, a + jp .fainted + +.at_least_1_hp + ld a, [TempMonMaxHP] + ld d, a + ld a, [TempMonMaxHP + 1] + ld e, a + ld a, [MonType] + cp BOXMON + jr nz, .not_boxmon + + ld b, d + ld c, e + +.not_boxmon + predef ComputeHPBarPixels + ld a, 6 + ld d, a + ld c, a + +.fainted + ld a, c + pop bc + ld c, a + pop hl + push de + push hl + push hl + call DrawBattleHPBar + pop hl + +; Print HP + bccoord 1, 1, 0 + add hl, bc + ld de, TempMonHP + ld a, [MonType] + cp BOXMON + jr nz, .not_boxmon_2 + ld de, TempMonMaxHP +.not_boxmon_2 + lb bc, 2, 3 + call PrintNum + + ld a, "/" + ld [hli], a + +; Print max HP + ld de, TempMonMaxHP + lb bc, 2, 3 + call PrintNum + pop hl + pop de + ret + +PrintTempMonStats: ; 50b7b +; Print TempMon's stats at hl, with spacing bc. + push bc + push hl + ld de, .StatNames + call PlaceString + pop hl + pop bc + add hl, bc + ld bc, SCREEN_WIDTH + add hl, bc + ld de, TempMonAttack + lb bc, 2, 3 + call .PrintStat + ld de, TempMonDefense + call .PrintStat + ld de, TempMonSpclAtk + call .PrintStat + ld de, TempMonSpclDef + call .PrintStat + ld de, TempMonSpeed + jp PrintNum + +.PrintStat: ; 50bab + push hl + call PrintNum + pop hl + ld de, SCREEN_WIDTH * 2 + add hl, de + ret + +.StatNames: ; 50bb5 + db "ATTACK" + next "DEFENSE" + next "SPCL.ATK" + next "SPCL.DEF" + next "SPEED" + next "@" + +GetGender: ; 50bdd +; Return the gender of a given monster (CurPartyMon/CurOTMon/CurWildMon). +; When calling this function, a should be set to an appropriate MonType value. + +; return values: +; a = 1: f = nc|nz; male +; a = 0: f = nc|z; female +; f = c: genderless + +; This is determined by comparing the Attack and Speed DVs +; with the species' gender ratio. + +; Figure out what type of monster struct we're looking at. + +; 0: PartyMon + ld hl, PartyMon1DVs + ld bc, PARTYMON_STRUCT_LENGTH + ld a, [MonType] + and a + jr z, .PartyMon + +; 1: OTPartyMon + ld hl, OTPartyMon1DVs + dec a + jr z, .PartyMon + +; 2: sBoxMon + ld hl, sBoxMon1DVs + ld bc, BOXMON_STRUCT_LENGTH + dec a + jr z, .sBoxMon + +; 3: Unknown + ld hl, TempMonDVs + dec a + jr z, .DVs + +; else: WildMon + ld hl, EnemyMonDVs + jr .DVs + +; Get our place in the party/box. + +.PartyMon: +.sBoxMon + ld a, [CurPartyMon] + call AddNTimes + +.DVs: + +; sBoxMon data is read directly from SRAM. + ld a, [MonType] + cp BOXMON + ld a, 1 + call z, GetSRAMBank + +; Attack DV + ld a, [hli] + and $f0 + ld b, a +; Speed DV + ld a, [hl] + and $f0 + swap a + +; Put our DVs together. + or b + ld b, a + +; Close SRAM if we were dealing with a sBoxMon. + ld a, [MonType] + cp BOXMON + call z, CloseSRAM + +; We need the gender ratio to do anything with this. + push bc + ld a, [CurPartySpecies] + dec a + ld hl, BaseData + BASE_GENDER + ld bc, BASE_DATA_SIZE + call AddNTimes + pop bc + + ld a, BANK(BaseData) + call GetFarByte + +; The higher the ratio, the more likely the monster is to be female. + + cp GENDERLESS + jr z, .Genderless + + and a ; GENDER_F0? + jr z, .Male + + cp GENDER_F100 + jr z, .Female + +; Values below the ratio are male, and vice versa. + cp b + jr c, .Male + +.Female: + xor a + ret + +.Male: + ld a, 1 + and a + ret + +.Genderless: + scf + ret + +ListMovePP: ; 50c50 + ld a, [wNumMoves] + inc a + ld c, a + ld a, NUM_MOVES + sub c + ld b, a + push hl + ld a, [Buffer1] + ld e, a + ld d, $0 + ld a, $3e ; P + call .load_loop + ld a, b + and a + jr z, .skip + ld c, a + ld a, "-" + call .load_loop + +.skip + pop hl + inc hl + inc hl + inc hl + ld d, h + ld e, l + ld hl, TempMonMoves + ld b, 0 +.loop + ld a, [hli] + and a + jr z, .done + push bc + push hl + push de + ld hl, wMenuCursorY + ld a, [hl] + push af + ld [hl], b + push hl + callab GetMaxPPOfMove + pop hl + pop af + ld [hl], a + pop de + pop hl + push hl + ld bc, TempMonPP - (TempMonMoves + 1) + add hl, bc + ld a, [hl] + and $3f + ld [StringBuffer1 + 4], a + ld h, d + ld l, e + push hl + ld de, StringBuffer1 + 4 + lb bc, 1, 2 + call PrintNum + ld a, "/" + ld [hli], a + ld de, wd265 + lb bc, 1, 2 + call PrintNum + pop hl + ld a, [Buffer1] + ld e, a + ld d, 0 + add hl, de + ld d, h + ld e, l + pop hl + pop bc + inc b + ld a, b + cp NUM_MOVES + jr nz, .loop + +.done + ret + +.load_loop ; 50cc9 + ld [hli], a + ld [hld], a + add hl, de + dec c + jr nz, .load_loop + ret + +Function50cd0: ; 50cd0 +; XXX +.loop + ld [hl], $32 + inc hl + ld [hl], $3e + dec hl + add hl, de + dec c + jr nz, .loop + ret + +Predef22: ; unreferenced predef + push hl + push hl + ld hl, PartyMonNicknames + ld a, [CurPartyMon] + call GetNick + pop hl + call PlaceString + call CopyPkmnToTempMon + pop hl + ld a, [CurPartySpecies] + cp EGG + jr z, .egg + push hl + ld bc, -12 + add hl, bc + ld b, $0 + call DrawEnemyHP + pop hl + ld bc, 5 + add hl, bc + push de + call PrintLevel + pop de + +.egg + ret + +PlaceStatusString: ; 50d0a + push de + inc de + inc de + ld a, [de] + ld b, a + inc de + ld a, [de] + or b + pop de + jr nz, PlaceNonFaintStatus + push de + ld de, FntString + call CopyStatusString + pop de + ld a, $1 + and a + ret + +FntString: ; 50d22 + db "FNT@" + +CopyStatusString: ; 50d25 + ld a, [de] + inc de + ld [hli], a + ld a, [de] + inc de + ld [hli], a + ld a, [de] + ld [hl], a + ret + +PlaceNonFaintStatus: ; 50d2e + push de + ld a, [de] + ld de, PsnString + bit PSN, a + jr nz, .place + ld de, BrnString + bit BRN, a + jr nz, .place + ld de, FrzString + bit FRZ, a + jr nz, .place + ld de, ParString + bit PAR, a + jr nz, .place + ld de, SlpString + and SLP + jr z, .no_status + +.place + call CopyStatusString + ld a, $1 + and a + +.no_status + pop de + ret + +SlpString: db "SLP@" +PsnString: db "PSN@" +BrnString: db "BRN@" +FrzString: db "FRZ@" +ParString: db "PAR@" + +ListMoves: ; 50d6f +; List moves at hl, spaced every [Buffer1] tiles. + ld de, wListMoves_MoveIndicesBuffer + ld b, $0 +.moves_loop + ld a, [de] + inc de + and a + jr z, .no_more_moves + push de + push hl + push hl + ld [CurSpecies], a + ld a, MOVE_NAME + ld [wNamedObjectTypeBuffer], a + call GetName + ld de, StringBuffer1 + pop hl + push bc + call PlaceString + pop bc + ld a, b + ld [wNumMoves], a + inc b + pop hl + push bc + ld a, [Buffer1] + ld c, a + ld b, 0 + add hl, bc + pop bc + pop de + ld a, b + cp NUM_MOVES + jr z, .done + jr .moves_loop + +.no_more_moves + ld a, b +.nonmove_loop + push af + ld [hl], "-" + ld a, [Buffer1] + ld c, a + ld b, 0 + add hl, bc + pop af + inc a + cp NUM_MOVES + jr nz, .nonmove_loop + +.done + ret diff --git a/engine/player_gfx.asm b/engine/player_gfx.asm new file mode 100644 index 000000000..1af444d73 --- /dev/null +++ b/engine/player_gfx.asm @@ -0,0 +1,263 @@ +Function88248: ; 88248 +; XXX + ld c, CAL + ld a, [PlayerGender] + bit 0, a + jr z, .okay + ld c, KAREN + +.okay + ld a, c + ld [TrainerClass], a + ret + +MovePlayerPicRight: ; 88258 + hlcoord 6, 4 + ld de, 1 + jr MovePlayerPic + +MovePlayerPicLeft: ; 88260 + hlcoord 13, 4 + ld de, -1 + ; fallthrough + +MovePlayerPic: ; 88266 +; Move player pic at hl by de * 7 tiles. + ld c, $8 +.loop + push bc + push hl + push de + xor a + ld [hBGMapMode], a + lb bc, 7, 7 + predef PlaceGraphic + xor a + ld [hBGMapThird], a + call WaitBGMap + call DelayFrame + pop de + pop hl + add hl, de + pop bc + dec c + ret z + push hl + push bc + ld a, l + sub e + ld l, a + ld a, h + sbc d + ld h, a + lb bc, 7, 7 + call ClearBox + pop bc + pop hl + jr .loop + +ShowPlayerNamingChoices: ; 88297 + ld hl, ChrisNameMenuHeader + ld a, [PlayerGender] + bit 0, a + jr z, .GotGender + ld hl, KrisNameMenuHeader +.GotGender: + call LoadMenuDataHeader + call VerticalMenu + ld a, [wMenuCursorY] + dec a + call CopyNameFromMenu + call CloseWindow + ret + +ChrisNameMenuHeader: ; 882b5 + db $40 ; flags + db 00, 00 ; start coords + db 11, 10 ; end coords + dw .MaleNames + db 1 ; ???? + db 0 ; default option + +.MaleNames: ; 882be + db $91 ; flags + db 5 ; items + db "NEW NAME@" +MalePlayerNameArray: ; 882c9 + db "CHRIS@" + db "MAT@" + db "ALLAN@" + db "JON@" + db 2 ; displacement + db " NAME @" ; title + +KrisNameMenuHeader: ; 882e5 + db $40 ; flags + db 00, 00 ; start coords + db 11, 10 ; end coords + dw .FemaleNames + db 1 ; ???? + db 0 ; default option + +.FemaleNames: ; 882ee + db $91 ; flags + db 5 ; items + db "NEW NAME@" +FemalePlayerNameArray: ; 882f9 + db "KRIS@" + db "AMANDA@" + db "JUANA@" + db "JODI@" + db 2 ; displacement + db " NAME @" ; title + +GetPlayerNameArray: ; 88318 This Function is never called + ld hl, PlayerName + ld de, MalePlayerNameArray + ld a, [PlayerGender] + bit 0, a + jr z, .done + ld de, FemalePlayerNameArray + +.done + call InitName + ret + +GetPlayerIcon: ; 8832c +; Get the player icon corresponding to gender + +; Male + ld de, ChrisSpriteGFX + ld b, BANK(ChrisSpriteGFX) + + ld a, [PlayerGender] + bit 0, a + jr z, .done + +; Female + ld de, KrisSpriteGFX + ld b, BANK(KrisSpriteGFX) + +.done + ret + +GetCardPic: ; 8833e + ld hl, ChrisCardPic + ld a, [PlayerGender] + bit 0, a + jr z, .GotClass + ld hl, KrisCardPic +.GotClass: + ld de, VTiles2 tile $00 + ld bc, $23 tiles + ld a, BANK(ChrisCardPic) ; BANK(KrisCardPic) + call FarCopyBytes + ld hl, CardGFX + ld de, VTiles2 tile $23 + ld bc, 6 tiles + ld a, BANK(CardGFX) + call FarCopyBytes + ret + +ChrisCardPic: ; 88365 +INCBIN "gfx/trainer_card/chris_card.2bpp" + +KrisCardPic: ; 88595 +INCBIN "gfx/trainer_card/kris_card.2bpp" + +CardGFX: ; 887c5 +INCBIN "gfx/trainer_card/trainer_card.2bpp" + +GetPlayerBackpic: ; 88825 + ld a, [PlayerGender] + bit 0, a + jr z, GetChrisBackpic + call GetKrisBackpic + ret + +GetChrisBackpic: ; 88830 + ld hl, ChrisBackpic + ld b, BANK(ChrisBackpic) + ld de, VTiles2 tile $31 + ld c, 7 * 7 + predef DecompressPredef + ret + +HOF_LoadTrainerFrontpic: ; 88840 + call WaitBGMap + xor a + ld [hBGMapMode], a + ld e, 0 + ld a, [PlayerGender] + bit 0, a + jr z, .GotClass + ld e, 1 + +.GotClass: + ld a, e + ld [TrainerClass], a + ld de, ChrisPic + ld a, [PlayerGender] + bit 0, a + jr z, .GotPic + ld de, KrisPic + +.GotPic: + ld hl, VTiles2 + ld b, BANK(ChrisPic) ; BANK(KrisPic) + ld c, 7 * 7 + call Get2bpp + call WaitBGMap + ld a, $1 + ld [hBGMapMode], a + ret + +DrawIntroPlayerPic: ; 88874 +; Draw the player pic at (6,4). + +; Get class + ld e, CHRIS + ld a, [PlayerGender] + bit 0, a + jr z, .GotClass + ld e, KRIS +.GotClass: + ld a, e + ld [TrainerClass], a + +; Load pic + ld de, ChrisPic + ld a, [PlayerGender] + bit 0, a + jr z, .GotPic + ld de, KrisPic +.GotPic: + ld hl, VTiles2 + ld b, BANK(ChrisPic) ; BANK(KrisPic) + ld c, 7 * 7 ; dimensions + call Get2bpp + +; Draw + xor a + ld [hGraphicStartTile], a + hlcoord 6, 4 + lb bc, 7, 7 + predef PlaceGraphic + ret + +ChrisPic: ; 888a9 +INCBIN "gfx/player/chris.2bpp" + +KrisPic: ; 88bb9 +INCBIN "gfx/player/kris.2bpp" + +GetKrisBackpic: ; 88ec9 +; Kris's backpic is uncompressed. + ld de, KrisBackpic + ld hl, VTiles2 tile $31 + lb bc, BANK(KrisBackpic), 7 * 7 ; dimensions + call Get2bpp + ret + +KrisBackpic: ; 88ed6 +INCBIN "gfx/player/kris_back.2bpp" diff --git a/engine/pokedex_3.asm b/engine/pokedex_3.asm new file mode 100644 index 000000000..3414252c1 --- /dev/null +++ b/engine/pokedex_3.asm @@ -0,0 +1,162 @@ +LoadSGBPokedexGFX: ; 1ddf1c + ld hl, SGBPokedexGFX_LZ + ld de, VTiles2 tile $31 + call Decompress + ret + +LoadSGBPokedexGFX2: ; 1ddf26 (77:5f26) + ld hl, SGBPokedexGFX_LZ + ld de, VTiles2 tile $31 + lb bc, BANK(SGBPokedexGFX_LZ), $3a + call DecompressRequest2bpp + ret + +SGBPokedexGFX_LZ: ; 1ddf33 +INCBIN "gfx/pokedex/sgb.2bpp.lz" + +LoadQuestionMarkPic: ; 1de0d7 + ld hl, .QuestionMarkLZ + ld de, sScratch + call Decompress + ret + +.QuestionMarkLZ: ; 1de0e1 +INCBIN "gfx/pics/questionmark/front.2bpp.lz" + +DrawPokedexListWindow: ; 1de171 (77:6171) + ld a, $32 + hlcoord 0, 17 + ld bc, 12 + call ByteFill + hlcoord 0, 1 + lb bc, 15, 11 + call ClearBox + ld a, $34 + hlcoord 0, 0 + ld bc, 11 + call ByteFill + ld a, $39 + hlcoord 0, 16 + ld bc, 11 + call ByteFill + hlcoord 5, 0 + ld [hl], $3f + hlcoord 5, 16 + ld [hl], $40 + ld a, [wCurrentDexMode] + cp DEXMODE_OLD + jr z, .OldMode +; scroll bar + hlcoord 11, 0 + ld [hl], $50 + ld a, $51 + hlcoord 11, 1 + ld b, SCREEN_HEIGHT - 3 + call Bank77_FillColumn + ld [hl], $52 + jr .Done + +.OldMode: +; no scroll bar + hlcoord 11, 0 + ld [hl], $66 + ld a, $67 + hlcoord 11, 1 + ld b, SCREEN_HEIGHT - 3 + call Bank77_FillColumn + ld [hl], $68 +.Done: + ret + +DrawPokedexSearchResultsWindow: ; 1de1d1 (77:61d1) + ld a, $34 + hlcoord 0, 0 + ld bc, 11 + call ByteFill + ld a, $39 + hlcoord 0, 10 + ld bc, 11 + call ByteFill + hlcoord 5, 0 + ld [hl], $3f + hlcoord 5, 10 + ld [hl], $40 + hlcoord 11, 0 + ld [hl], $66 + ld a, $67 + hlcoord 11, 1 + ld b, SCREEN_HEIGHT / 2 + call Bank77_FillColumn + ld [hl], $68 + ld a, $34 + hlcoord 0, 11 + ld bc, 11 + call ByteFill + ld a, $39 + hlcoord 0, 17 + ld bc, 11 + call ByteFill + hlcoord 11, 11 + ld [hl], $66 + ld a, $67 + hlcoord 11, 12 + ld b, 5 + call Bank77_FillColumn + ld [hl], $68 + hlcoord 0, 12 + lb bc, 5, 11 + call ClearBox + ld de, .esults_D + hlcoord 0, 12 + call PlaceString + ret + +.esults_D ; 1de23c +; (SEARCH R) + db "ESULTS" + next "" +; (### FOUN) + next "D!@" + +DrawDexEntryScreenRightEdge: ; 1de247 + ld a, [hBGMapAddress] + ld l, a + ld a, [hBGMapAddress + 1] + ld h, a + push hl + inc hl + ld a, l + ld [hBGMapAddress], a + ld a, h + ld [hBGMapAddress + 1], a + hlcoord 19, 0 + ld [hl], $66 + hlcoord 19, 1 + ld a, $67 + ld b, 15 + call Bank77_FillColumn + ld [hl], $68 + hlcoord 19, 17 + ld [hl], $3c + xor a + ld b, SCREEN_HEIGHT + hlcoord 19, 0, AttrMap + call Bank77_FillColumn + call WaitBGMap2 + pop hl + ld a, l + ld [hBGMapAddress], a + ld a, h + ld [hBGMapAddress + 1], a + ret + +Bank77_FillColumn: ; 1de27f + push de + ld de, SCREEN_WIDTH +.loop + ld [hl], a + add hl, de + dec b + jr nz, .loop + pop de + ret diff --git a/engine/pokerus.asm b/engine/pokerus.asm new file mode 100644 index 000000000..3e5e094e4 --- /dev/null +++ b/engine/pokerus.asm @@ -0,0 +1,160 @@ +GivePokerusAndConvertBerries: ; 2ed44 + call ConvertBerriesToBerryJuice + ld hl, PartyMon1PokerusStatus + ld a, [PartyCount] + ld b, a + ld de, PARTYMON_STRUCT_LENGTH +; Check to see if any of your Pokemon already has Pokerus. +; If so, sample its spread through your party. +; This means that you cannot get Pokerus de novo while +; a party member has an active infection. +.loopMons + ld a, [hl] + and $f + jr nz, .TrySpreadPokerus + add hl, de + dec b + jr nz, .loopMons + +; If we haven't been to Goldenrod City at least once, +; prevent the contraction of Pokerus. + ld hl, StatusFlags2 + bit 6, [hl] + ret z + call Random + ld a, [hRandomAdd] + and a + ret nz + ld a, [hRandomSub] + cp $3 + ret nc ; 3/65536 chance (00 00, 00 01 or 00 02) + ld a, [PartyCount] + ld b, a +.randomMonSelectLoop + call Random + and $7 + cp b + jr nc, .randomMonSelectLoop + ld hl, PartyMon1PokerusStatus + call GetPartyLocation ; get pokerus byte of random mon + ld a, [hl] + and $f0 + ret nz ; if it already has pokerus, do nothing +.randomPokerusLoop ; Simultaneously sample the strain and duration + call Random + and a + jr z, .randomPokerusLoop + ld b, a + and $f0 + jr z, .load_pkrs + ld a, b + and $7 + inc a +.load_pkrs + ld b, a ; this should come before the label + swap b + and $3 + inc a + add b + ld [hl], a + ret + +.TrySpreadPokerus: + call Random + cp 1 + 33 percent + ret nc ; 1/3 chance + + ld a, [PartyCount] + cp 1 + ret z ; only one mon, nothing to do + + ld c, [hl] + ld a, b + cp 2 + jr c, .checkPreviousMonsLoop ; no more mons after this one, go backwards + + call Random + cp 1 + 50 percent + jr c, .checkPreviousMonsLoop ; 1/2 chance, go backwards +.checkFollowingMonsLoop + add hl, de + ld a, [hl] + and a + jr z, .infectMon + ld c, a + and $3 + ret z ; if mon has cured pokerus, stop searching + dec b ; go on to next mon + ld a, b + cp 1 + jr nz, .checkFollowingMonsLoop ; no more mons left + ret + +.checkPreviousMonsLoop + ld a, [PartyCount] + cp b + ret z ; no more mons + ld a, l + sub e + ld l, a + ld a, h + sbc d + ld h, a + ld a, [hl] + and a + jr z, .infectMon + ld c, a + and $3 + ret z ; if mon has cured pokerus, stop searching + inc b ; go on to next mon + jr .checkPreviousMonsLoop + +.infectMon + ld a, c + and $f0 + ld b, a + ld a, c + swap a + and $3 + inc a + add b + ld [hl], a + ret + +; any berry held by a Shuckle may be converted to berry juice +ConvertBerriesToBerryJuice: ; 2ede6 + ld hl, StatusFlags2 + bit 6, [hl] + ret z + call Random + cp $10 + ret nc ; 1/16 chance + ld hl, PartyMons + ld a, [PartyCount] +.partyMonLoop + push af + push hl + ld a, [hl] + cp SHUCKLE + jr nz, .loopMon + ld bc, MON_ITEM + add hl, bc + ld a, [hl] + cp BERRY + jr z, .convertToJuice + +.loopMon + pop hl + ld bc, PARTYMON_STRUCT_LENGTH + add hl, bc + pop af + dec a + jr nz, .partyMonLoop + ret + +.convertToJuice + ld a, BERRY_JUICE + ld [hl], a + pop hl + pop af + ret diff --git a/engine/pokerus_tick.asm b/engine/pokerus_tick.asm new file mode 100644 index 000000000..3c97fdc5e --- /dev/null +++ b/engine/pokerus_tick.asm @@ -0,0 +1,26 @@ +ApplyPokerusTick: ; 13988 +; decreases all pokemon's pokerus counter by b. if the lower nybble reaches zero, the pokerus is cured. + ld hl, PartyMon1PokerusStatus ; PartyMon1 + MON_PKRS + ld a, [PartyCount] + and a + ret z ; make sure it's not wasting time on an empty party + ld c, a +.loop + ld a, [hl] + and $f ; lower nybble is the number of days remaining + jr z, .next ; if already 0, skip + sub b ; subtract the number of days + jr nc, .ok ; max(result, 0) + xor a +.ok + ld d, a ; back up this value because we need to preserve the strain (upper nybble) + ld a, [hl] + and $f0 + add d + ld [hl], a ; this prevents a cured pokemon from recontracting pokerus +.next + ld de, PARTYMON_STRUCT_LENGTH + add hl, de + dec c + jr nz, .loop + ret diff --git a/engine/square_root.asm b/engine/square_root.asm new file mode 100644 index 000000000..496f66c83 --- /dev/null +++ b/engine/square_root.asm @@ -0,0 +1,30 @@ +GetSquareRoot: ; 13b87 +; Return the square root of de in b. + +; Rather than calculating the result, we take the index of the +; first value in a table of squares that isn't lower than de. + + ld hl, Squares + ld b, 0 +.loop +; Make sure we don't go past the end of the table. + inc b + ld a, b + cp $ff + ret z + +; Iterate over the table until b**2 >= de. + ld a, [hli] + sub e + ld a, [hli] + sbc d + + jr c, .loop + ret + +Squares: ; 13b98 +root set 1 + rept $ff + dw root*root +root set root+1 + endr diff --git a/engine/start_battle.asm b/engine/start_battle.asm new file mode 100644 index 000000000..51f46b3f2 --- /dev/null +++ b/engine/start_battle.asm @@ -0,0 +1,197 @@ +ShowLinkBattleParticipants: ; 2ee18 +; If we're not in a communications room, +; we don't need to be here. + ld a, [wLinkMode] + and a + ret z + + callba _ShowLinkBattleParticipants + ld c, 150 + call DelayFrames + call ClearTileMap + call ClearSprites + ret + +FindFirstAliveMonAndStartBattle: ; 2ee2f + xor a + ld [hMapAnims], a + call DelayFrame + ld b, 6 + ld hl, PartyMon1HP + ld de, PARTYMON_STRUCT_LENGTH - 1 + +.loop + ld a, [hli] + or [hl] + jr nz, .okay + add hl, de + dec b + jr nz, .loop + +.okay + ld de, MON_LEVEL - MON_HP + add hl, de + ld a, [hl] + ld [BattleMonLevel], a + predef Predef_StartBattle + callba _LoadBattleFontsHPBar + ld a, 1 + ld [hBGMapMode], a + call ClearSprites + call ClearTileMap + xor a + ld [hBGMapMode], a + ld [hWY], a + ld [rWY], a + ld [hMapAnims], a + ret + +PlayBattleMusic: ; 2ee6c + push hl + push de + push bc + + xor a + ld [MusicFade], a + ld de, MUSIC_NONE + call PlayMusic + call DelayFrame + call MaxVolume + + ld a, [BattleType] + cp BATTLETYPE_SUICUNE + ld de, MUSIC_SUICUNE_BATTLE + jp z, .done + cp BATTLETYPE_ROAMING + jp z, .done + + ; Are we fighting a trainer? + ld a, [OtherTrainerClass] + and a + jr nz, .trainermusic + + callba RegionCheck + ld a, e + and a + jr nz, .kantowild + + ld de, MUSIC_JOHTO_WILD_BATTLE + ld a, [TimeOfDay] + cp NITE_F + jr nz, .done + ld de, MUSIC_JOHTO_WILD_BATTLE_NIGHT + jr .done + +.kantowild + ld de, MUSIC_KANTO_WILD_BATTLE + jr .done + +.trainermusic + ld de, MUSIC_CHAMPION_BATTLE + cp CHAMPION + jr z, .done + cp RED + jr z, .done + + ; really, they should have included admins and scientists here too... + ld de, MUSIC_ROCKET_BATTLE + cp GRUNTM + jr z, .done + cp GRUNTF + jr z, .done + + ld de, MUSIC_KANTO_GYM_LEADER_BATTLE + callba IsKantoGymLeader + jr c, .done + + ld de, MUSIC_JOHTO_GYM_LEADER_BATTLE + callba IsJohtoGymLeader + jr c, .done + + ld de, MUSIC_RIVAL_BATTLE + ld a, [OtherTrainerClass] + cp RIVAL1 + jr z, .done + cp RIVAL2 + jr nz, .othertrainer + + ld a, [OtherTrainerID] + cp RIVAL2_2_CHIKORITA ; Rival in Indigo Plateau + jr c, .done + ld de, MUSIC_CHAMPION_BATTLE + jr .done + +.othertrainer + ld a, [wLinkMode] + and a + jr nz, .johtotrainer + + callba RegionCheck + ld a, e + and a + jr nz, .kantotrainer + +.johtotrainer + ld de, MUSIC_JOHTO_TRAINER_BATTLE + jr .done + +.kantotrainer + ld de, MUSIC_KANTO_TRAINER_BATTLE + +.done + call PlayMusic + + pop bc + pop de + pop hl + ret + +ClearBattleRAM: ; 2ef18 + xor a + ld [wPlayerAction], a + ld [wBattleResult], a + + ld hl, wPartyMenuCursor + ld [hli], a + ld [hli], a + ld [hli], a + ld [hl], a + + ld [wMenuScrollPosition], a + ld [CriticalHit], a + ld [BattleMonSpecies], a + ld [wBattleParticipantsNotFainted], a + ld [CurBattleMon], a + ld [wForcedSwitch], a + ld [TimeOfDayPal], a + ld [PlayerTurnsTaken], a + ld [EnemyTurnsTaken], a + ld [EvolvableFlags], a + + ld hl, PlayerHPPal + ld [hli], a + ld [hl], a + + ld hl, BattleMonDVs + ld [hli], a + ld [hl], a + + ld hl, EnemyMonDVs + ld [hli], a + ld [hl], a + +; Clear the entire BattleMons area + ld hl, wBattle + ld bc, wBattleEnd - wBattle + xor a + call ByteFill + + callab ResetEnemyStatLevels + + call ClearWindowData + + ld hl, hBGMapAddress + xor a + ld [hli], a + ld [hl], VBGMap0 / $100 + ret diff --git a/engine/timeofdaypals.asm b/engine/timeofdaypals.asm index 90ff9141c..a4a07bc4d 100644 --- a/engine/timeofdaypals.asm +++ b/engine/timeofdaypals.asm @@ -1,3 +1,7 @@ +Predef35: ; 8c000 +Predef36: + ret + UpdateTimeOfDayPal:: ; 8c001 call UpdateTime ld a, [TimeOfDay] diff --git a/engine/trainer_scripts.asm b/engine/trainer_scripts.asm new file mode 100644 index 000000000..33dab3b9e --- /dev/null +++ b/engine/trainer_scripts.asm @@ -0,0 +1,31 @@ +TalkToTrainerScript:: ; 0xbe66a + faceplayer + trainerflagaction CHECK_FLAG + iftrue AlreadyBeatenTrainerScript + loadmemtrainer + encountermusic + jump StartBattleWithMapTrainerScript + +SeenByTrainerScript:: ; 0xbe675 + loadmemtrainer + encountermusic + showemote EMOTE_SHOCK, LAST_TALKED, 30 + callasm TrainerWalkToPlayer + applymovement2 MovementBuffer + writepersonxy LAST_TALKED + faceperson PLAYER, LAST_TALKED + jump StartBattleWithMapTrainerScript + +StartBattleWithMapTrainerScript: ; 0xbe68a + opentext + trainertext $0 + waitbutton + closetext + loadmemtrainer + startbattle + reloadmapafterbattle + trainerflagaction SET_FLAG + loadvar wRunningTrainerBattleScript, -1 + +AlreadyBeatenTrainerScript: + scripttalkafter diff --git a/engine/unused_correct_party.asm b/engine/unused_correct_party.asm new file mode 100644 index 000000000..dd2e1111c --- /dev/null +++ b/engine/unused_correct_party.asm @@ -0,0 +1,229 @@ +CorrectErrorsInPlayerParty: ; unreferenced + ld hl, PartyCount + ld a, [hl] + and a + ret z + + cp PARTY_LENGTH + 1 + jr c, .party_length_okay + ld a, PARTY_LENGTH + ld [hl], a +.party_length_okay + inc hl + + ld b, a + ld c, 0 +.loop1 + ld a, [hl] + and a + jr z, .invalid_species + cp NUM_POKEMON + 1 + jr z, .invalid_species + cp EGG + 1 + jr c, .next_species + +.invalid_species + ld [hl], SMEARGLE + push hl + push bc + ld a, c + ld hl, PartyMon1Species + call GetPartyLocation + ld [hl], SMEARGLE + pop bc + pop hl + +.next_species + inc hl + inc c + dec b + jr nz, .loop1 + ld [hl], $ff + + ld hl, PartyMon1 + ld a, [PartyCount] + ld d, a + ld e, 0 +.loop2 + push de + push hl + ld b, h + ld c, l + ld a, [hl] + and a + jr z, .invalid_species_2 + cp NUM_POKEMON + 1 + jr c, .check_level + +.invalid_species_2 + ld [hl], SMEARGLE + push de + ld d, 0 + ld hl, PartySpecies + add hl, de + pop de + ld a, SMEARGLE + ld [hl], a + +.check_level + ld [CurSpecies], a + call GetBaseData + ld hl, MON_LEVEL + add hl, bc + ld a, [hl] + cp MIN_LEVEL + ld a, MIN_LEVEL + jr c, .invalid_level + ld a, [hl] + cp MAX_LEVEL + jr c, .load_level + ld a, MAX_LEVEL +.invalid_level + ld [hl], a +.load_level + ld [CurPartyLevel], a + + ld hl, MON_MAXHP + add hl, bc + ld d, h + ld e, l + ld hl, MON_STAT_EXP - 1 + add hl, bc + ld b, $1 + predef CalcPkmnStats + pop hl + ld bc, PARTYMON_STRUCT_LENGTH + add hl, bc + pop de + inc e + dec d + jr nz, .loop2 + + ld de, PartyMonNicknames + ld a, [PartyCount] + ld b, a + ld c, 0 +.loop3 + push bc + call .GetLengthOfStringWith6CharCap + push de + callba CheckStringForErrors + pop hl + pop bc + jr nc, .valid_nickname + + push bc + push hl + ld hl, PartySpecies + push bc + ld b, 0 + add hl, bc + pop bc + ld a, [hl] + cp EGG + ld hl, .TAMAGO + jr z, .got_nickname + ld [wd265], a + call GetPokemonName + ld hl, StringBuffer1 +.got_nickname + pop de + ld bc, PKMN_NAME_LENGTH + call CopyBytes + pop bc + +.valid_nickname + inc c + dec b + jr nz, .loop3 + + ld de, PartyMonOT + ld a, [PartyCount] + ld b, a + ld c, 0 +.loop4 + push bc + call .GetLengthOfStringWith6CharCap + push de + callba CheckStringForErrors + pop hl + jr nc, .valid_ot_name + ld d, h + ld e, l + ld hl, PlayerName + ld bc, NAME_LENGTH + call CopyBytes +.valid_ot_name + pop bc + inc c + dec b + jr nz, .loop4 + + ld hl, PartyMon1Moves + ld a, [PartyCount] + ld b, a +.loop5 + push hl + ld c, NUM_MOVES + ld a, [hl] + and a + jr z, .invalid_move + cp NUM_ATTACKS + 1 + jr c, .moves_loop +.invalid_move + ld [hl], POUND + +.moves_loop + ld a, [hl] + and a + jr z, .fill_invalid_moves + cp NUM_ATTACKS + 1 + jr c, .next_move + +.fill_invalid_moves + xor a + ld [hli], a + dec c + jr nz, .fill_invalid_moves + jr .next_pokemon + +.next_move + inc hl + dec c + jr nz, .moves_loop + +.next_pokemon + pop hl + push bc + ld bc, PARTYMON_STRUCT_LENGTH + add hl, bc + pop bc + dec b + jr nz, .loop5 + ret +; 13b6b + +.TAMAGO: ; 13b6b + db "タマゴ@@@" +; 13b71 + +.GetLengthOfStringWith6CharCap: ; 13b71 + push de + ld c, 1 + ld b, NAME_LENGTH_JAPANESE +.search_loop + ld a, [de] + cp "@" + jr z, .done + inc de + inc c + dec b + jr nz, .search_loop + dec c + dec de + ld a, "@" + ld [de], a +.done + pop de + ret +; 13b87 diff --git a/event/bug_contest.asm b/event/bug_contest.asm new file mode 100644 index 000000000..2cb88ad30 --- /dev/null +++ b/event/bug_contest.asm @@ -0,0 +1,43 @@ +Special_GiveParkBalls: ; 135db + xor a + ld [wContestMon], a + ld a, 20 + ld [wParkBallsRemaining], a + callba StartBugContestTimer + ret + +BugCatchingContestBattleScript:: ; 0x135eb + writecode VAR_BATTLETYPE, BATTLETYPE_CONTEST + randomwildmon + startbattle + reloadmapafterbattle + copybytetovar wParkBallsRemaining + iffalse BugCatchingContestOutOfBallsScript + end + +BugCatchingContestOverScript:: ; 0x135f8 + playsound SFX_ELEVATOR_END + opentext + writetext BugCatchingContestText_BeeepTimesUp + waitbutton + jump BugCatchingContestReturnToGateScript + +BugCatchingContestOutOfBallsScript: ; 0x13603 + playsound SFX_ELEVATOR_END + opentext + writetext BugCatchingContestText_ContestIsOver + waitbutton + +BugCatchingContestReturnToGateScript: ; 0x1360b + closetext + jumpstd bugcontestresultswarp + +BugCatchingContestText_BeeepTimesUp: ; 0x1360f + ; ANNOUNCER: BEEEP! Time's up! + text_jump UnknownText_0x1bd2ca + db "@" + +BugCatchingContestText_ContestIsOver: ; 0x13614 + ; ANNOUNCER: The Contest is over! + text_jump UnknownText_0x1bd2e7 + db "@" diff --git a/event/bug_contest_mon_stats.asm b/event/bug_contest_mon_stats.asm new file mode 100644 index 000000000..d6ad3997e --- /dev/null +++ b/event/bug_contest_mon_stats.asm @@ -0,0 +1,107 @@ +DisplayCaughtContestMonStats: ; cc000 + call ClearBGPalettes + call ClearTileMap + call ClearSprites + call LoadFontsBattleExtra + + ld hl, Options + ld a, [hl] + push af + set 4, [hl] + + hlcoord 0, 0 + ld b, 4 + ld c, 13 + call TextBox + + hlcoord 0, 6 + ld b, 4 + ld c, 13 + call TextBox + + hlcoord 2, 0 + ld de, .Stock + call PlaceString + + hlcoord 2, 6 + ld de, .This + call PlaceString + + hlcoord 5, 4 + ld de, .Health + call PlaceString + + hlcoord 5, 10 + ld de, .Health + call PlaceString + + ld a, [wContestMon] + ld [wd265], a + call GetPokemonName + ld de, StringBuffer1 + hlcoord 1, 2 + call PlaceString + + ld h, b + ld l, c + ld a, [wContestMonLevel] + ld [TempMonLevel], a + call PrintLevel + + ld de, EnemyMonNick + hlcoord 1, 8 + call PlaceString + + ld h, b + ld l, c + ld a, [EnemyMonLevel] + ld [TempMonLevel], a + call PrintLevel + + hlcoord 11, 4 + ld de, wContestMonMaxHP + lb bc, 2, 3 + call PrintNum + + hlcoord 11, 10 + ld de, EnemyMonMaxHP + call PrintNum + + ld hl, SwitchMonText + call PrintText + + pop af + ld [Options], a + + call WaitBGMap + ld b, SCGB_DIPLOMA + call GetSGBLayout + call SetPalettes + ret + +.Health: + db "HEALTH@" +.Stock: + db " STOCK ", $4a, " @" +.This: + db " THIS ", $4a, " @" + +SwitchMonText: ; cc0c2 + ; Switch #MON? + text_jump UnknownText_0x1c10cf + db "@" + +DisplayAlreadyCaughtText: ; cc0c7 + call GetPokemonName + ld hl, .AlreadyCaughtText + jp PrintText + +.AlreadyCaughtText: ; 0xcc0d0 + ; You already caught a @ . + text_jump UnknownText_0x1c10dd + db "@" + +Predef2F: +Predef38: +Predef39: ; cc0d5 + ret diff --git a/event/catch_tutorial.asm b/event/catch_tutorial.asm new file mode 100644 index 000000000..8340d8c13 --- /dev/null +++ b/event/catch_tutorial.asm @@ -0,0 +1,81 @@ +CatchTutorial:: ; 4e554 + ld a, [BattleType] + dec a + ld c, a + ld hl, .dw + ld b, 0 + add hl, bc + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + jp hl + +.dw ; 4e564 (13:6564) + dw .DudeTutorial + dw .DudeTutorial + dw .DudeTutorial + +.DudeTutorial: ; 4e56a (13:656a) +; Back up your name to your Mom's name. + ld hl, PlayerName + ld de, MomsName + ld bc, NAME_LENGTH + call CopyBytes +; Copy Dude's name to your name + ld hl, .Dude + ld de, PlayerName + ld bc, NAME_LENGTH + call CopyBytes + + call .LoadDudeData + + xor a + ld [hJoyDown], a + ld [hJoyPressed], a + ld a, [Options] + push af + and $f8 + add $3 + ld [Options], a + ld hl, .AutoInput + ld a, BANK(.AutoInput) + call StartAutoInput + callab StartBattle + call StopAutoInput + pop af + + ld [Options], a + ld hl, MomsName + ld de, PlayerName + ld bc, NAME_LENGTH + call CopyBytes + ret + +.LoadDudeData: ; 4e5b7 (13:65b7) + ld hl, wDudeNumItems + ld [hl], 1 + inc hl + ld [hl], POTION + inc hl + ld [hl], 1 + inc hl + ld [hl], -1 + ld hl, wDudeNumKeyItems + ld [hl], 0 + inc hl + ld [hl], -1 + ld hl, wDudeNumBalls + ld a, 1 + ld [hli], a + ld a, POKE_BALL ; 5 + ld [hli], a + ld [hli], a + ld [hl], -1 + ret + +.Dude: ; 4e5da + db "DUDE@" + +.AutoInput: ; 4e5df + db NO_INPUT, $ff ; end diff --git a/event/catch_tutorial_input.asm b/event/catch_tutorial_input.asm new file mode 100644 index 000000000..9d2a03db2 --- /dev/null +++ b/event/catch_tutorial_input.asm @@ -0,0 +1,43 @@ +_DudeAutoInput_A:: ; 1de28a + ld hl, DudeAutoInput_A + jr _DudeAutoInput + +_DudeAutoInput_RightA: ; 1de28f + ld hl, DudeAutoInput_RightA + jr _DudeAutoInput + +_DudeAutoInput_DownA: ; 1de294 + ld hl, DudeAutoInput_DownA + jr _DudeAutoInput + +_DudeAutoInput: ; 1de299 + ld a, BANK(DudeAutoInputs) + call StartAutoInput + ret + +DudeAutoInputs: + +DudeAutoInput_A: ; 1de29f + db NO_INPUT, $50 + db A_BUTTON, $00 + db NO_INPUT, $ff ; end + +DudeAutoInput_RightA: ; 1de2a5 + db NO_INPUT, $08 + db D_RIGHT, $00 + db NO_INPUT, $08 + db A_BUTTON, $00 + db NO_INPUT, $ff ; end + +DudeAutoInput_DownA: ; 1de2af + db NO_INPUT, $fe + db NO_INPUT, $fe + db NO_INPUT, $fe + db NO_INPUT, $fe + db D_DOWN, $00 + db NO_INPUT, $fe + db NO_INPUT, $fe + db NO_INPUT, $fe + db NO_INPUT, $fe + db A_BUTTON, $00 + db NO_INPUT, $ff ; end diff --git a/event/hidden_items.asm b/event/hidden_items.asm new file mode 100644 index 000000000..c4c51d5e6 --- /dev/null +++ b/event/hidden_items.asm @@ -0,0 +1,51 @@ +RepelWoreOffScript:: ; 0x13619 + opentext + writetext .text + waitbutton + closetext + end + +.text ; 0x13620 + ; REPEL's effect wore off. + text_jump UnknownText_0x1bd308 + db "@" + +HiddenItemScript:: ; 0x13625 + opentext + copybytetovar EngineBuffer3 + itemtotext 0, 0 + writetext .found_text + giveitem ITEM_FROM_MEM + iffalse .bag_full + callasm SetMemEvent + specialsound + itemnotify + jump .finish + +.bag_full ; 0x1363e + buttonsound + writetext .no_room_text + waitbutton + +.finish ; 13643 + closetext + end + +.found_text ; 0x13645 + ; found @ ! + text_jump UnknownText_0x1bd321 + db "@" + +.no_room_text ; 0x1364a + ; But has no space left… + text_jump UnknownText_0x1bd331 + db "@" + +SetMemEvent: ; 1364f + ld hl, EngineBuffer1 + ld a, [hli] + ld d, [hl] + ld e, a + ld b, SET_FLAG + call EventFlagAction + ret diff --git a/event/lucky_number.asm b/event/lucky_number.asm new file mode 100644 index 000000000..8cec7599d --- /dev/null +++ b/event/lucky_number.asm @@ -0,0 +1,226 @@ +Special_CheckForLuckyNumberWinners: ; 4d87a + xor a + ld [ScriptVar], a + ld [wFoundMatchingIDInParty], a + ld a, [PartyCount] + and a + ret z + ld d, a + ld hl, PartyMon1ID + ld bc, PartySpecies +.PartyLoop: + ld a, [bc] + inc bc + cp EGG + call nz, .CompareLuckyNumberToMonID + push bc + ld bc, PARTYMON_STRUCT_LENGTH + add hl, bc + pop bc + dec d + jr nz, .PartyLoop + ld a, BANK(sBox) + call GetSRAMBank + ld a, [sBoxCount] + and a + jr z, .SkipOpenBox + ld d, a + ld hl, sBoxMon1ID + ld bc, sBoxSpecies +.OpenBoxLoop: + ld a, [bc] + inc bc + cp EGG + jr z, .SkipOpenBoxMon + call .CompareLuckyNumberToMonID + jr nc, .SkipOpenBoxMon + ld a, 1 + ld [wFoundMatchingIDInParty], a + +.SkipOpenBoxMon: + push bc + ld bc, BOXMON_STRUCT_LENGTH + add hl, bc + pop bc + dec d + jr nz, .OpenBoxLoop + +.SkipOpenBox: + call CloseSRAM + ld c, $0 +.BoxesLoop: + ld a, [wCurBox] + and $f + cp c + jr z, .SkipBox + ld hl, .BoxBankAddresses + ld b, 0 + add hl, bc + add hl, bc + add hl, bc + ld a, [hli] + call GetSRAMBank + ld a, [hli] + ld h, [hl] + ld l, a ; hl now contains the address of the loaded box in SRAM + ld a, [hl] + and a + jr z, .SkipBox ; no mons in this box + push bc + ld b, h + ld c, l + inc bc + ld de, sBoxMon1ID - sBox + add hl, de + ld d, a +.BoxNLoop: + ld a, [bc] + inc bc + cp EGG + jr z, .SkipBoxMon + + call .CompareLuckyNumberToMonID ; sets ScriptVar and CurPartySpecies appropriately + jr nc, .SkipBoxMon + ld a, 1 + ld [wFoundMatchingIDInParty], a + +.SkipBoxMon: + push bc + ld bc, BOXMON_STRUCT_LENGTH + add hl, bc + pop bc + dec d + jr nz, .BoxNLoop + pop bc + +.SkipBox: + inc c + ld a, c + cp NUM_BOXES + jr c, .BoxesLoop + + call CloseSRAM + ld a, [ScriptVar] + and a + ret z ; found nothing + callba TrainerRankings_LuckyNumberShow + ld a, [wFoundMatchingIDInParty] + and a + push af + ld a, [CurPartySpecies] + ld [wNamedObjectIndexBuffer], a + call GetPokemonName + ld hl, .FoundPartymonText + pop af + jr z, .print + ld hl, .FoundBoxmonText + +.print + jp PrintText + +.CompareLuckyNumberToMonID: ; 4d939 + push bc + push de + push hl + ld d, h + ld e, l + ld hl, Buffer1 + lb bc, PRINTNUM_LEADINGZEROS | 2, 5 + call PrintNum + ld hl, LuckyNumberDigit1Buffer + ld de, wLuckyIDNumber + lb bc, PRINTNUM_LEADINGZEROS | 2, 5 + call PrintNum + ld b, 5 + ld c, 0 + ld hl, LuckyNumberDigit5Buffer + ld de, Buffer5 +.loop + ld a, [de] + cp [hl] + jr nz, .done + dec de + dec hl + inc c + dec b + jr nz, .loop + +.done + pop hl + push hl + ld de, -6 + add hl, de + ld a, [hl] + pop hl + pop de + push af + ld a, c + ld b, 1 + cp 5 + jr z, .okay + ld b, 2 + cp 3 + jr nc, .okay + ld b, 3 + cp 2 + jr nz, .nomatch + +.okay + inc b + ld a, [ScriptVar] + and a + jr z, .bettermatch + cp b + jr c, .nomatch + +.bettermatch + dec b + ld a, b + ld [ScriptVar], a + pop bc + ld a, b + ld [CurPartySpecies], a + pop bc + scf + ret + +.nomatch + pop bc + pop bc + and a + ret + +.BoxBankAddresses: ; 4d99f + dba sBox1 + dba sBox2 + dba sBox3 + dba sBox4 + dba sBox5 + dba sBox6 + dba sBox7 + dba sBox8 + dba sBox9 + dba sBox10 + dba sBox11 + dba sBox12 + dba sBox13 + dba sBox14 + +.FoundPartymonText: ; 0x4d9c9 + ; Congratulations! We have a match with the ID number of @ in your party. + text_jump UnknownText_0x1c1261 + db "@" + +.FoundBoxmonText: ; 0x4d9ce + ; Congratulations! We have a match with the ID number of @ in your PC BOX. + text_jump UnknownText_0x1c12ae + db "@" + +Special_PrintTodaysLuckyNumber: ; 4d9d3 + ld hl, StringBuffer3 + ld de, wLuckyIDNumber + lb bc, PRINTNUM_LEADINGZEROS | 2, 5 + call PrintNum + ld a, "@" + ld [StringBuffer3 + 5], a + ret diff --git a/event/move_tutor.asm b/event/move_tutor.asm new file mode 100644 index 000000000..b26114dd0 --- /dev/null +++ b/event/move_tutor.asm @@ -0,0 +1,103 @@ +Special_MoveTutor: ; 4925b + call FadeToMenu + call ClearBGPalettes + call ClearScreen + call DelayFrame + ld b, SCGB_PACKPALS + call GetSGBLayout + xor a + ld [wItemAttributeParamBuffer], a + call .GetMoveTutorMove + ld [wd265], a + ld [wPutativeTMHMMove], a + call GetMoveName + call CopyName1 + callba ChooseMonToLearnTMHM + jr c, .cancel + jr .enter_loop + +.loop + callba ChooseMonToLearnTMHM_NoRefresh + jr c, .cancel +.enter_loop + call CheckCanLearnMoveTutorMove + jr nc, .loop + xor a + ld [ScriptVar], a + jr .quit + +.cancel + ld a, -1 + ld [ScriptVar], a +.quit + call CloseSubmenu + ret + +.GetMoveTutorMove: ; 492a5 + ld a, [ScriptVar] + cp 1 + jr z, .flamethrower + cp 2 + jr z, .thunderbolt + ld a, ICE_BEAM + ret + +.flamethrower + ld a, FLAMETHROWER + ret + +.thunderbolt + ld a, THUNDERBOLT + ret + +CheckCanLearnMoveTutorMove: ; 492b9 + ld hl, .MenuDataHeader + call LoadMenuDataHeader + + predef CanLearnTMHMMove + + push bc + ld a, [CurPartyMon] + ld hl, PartyMonNicknames + call GetNick + pop bc + + ld a, c + and a + jr nz, .can_learn + push de + ld de, SFX_WRONG + call PlaySFX + pop de + ld a, BANK(Text_TMHMNotCompatible) + ld hl, Text_TMHMNotCompatible + call FarPrintText + jr .didnt_learn + +.can_learn + callab KnowsMove + jr c, .didnt_learn + + predef LearnMove + ld a, b + and a + jr z, .didnt_learn + + ld c, HAPPINESS_LEARNMOVE + callab ChangeHappiness + jr .learned + +.didnt_learn + call ExitMenu + and a + ret + +.learned + call ExitMenu + scf + ret + +.MenuDataHeader: ; 0x4930a + db $40 ; flags + db 12, 00 ; start coords + db 17, 19 ; end coords diff --git a/event/special.asm b/event/special.asm index f1228abc6..71323499e 100755 --- a/event/special.asm +++ b/event/special.asm @@ -229,3 +229,7 @@ CopyPokemonName_Buffer1_Buffer3: ; 746e ld de, StringBuffer3 ld bc, PKMN_NAME_LENGTH jp CopyBytes + +Predef1: ; 747a +; not used + ret diff --git a/gfx/overworld_font.asm b/gfx/overworld_font.asm new file mode 100644 index 000000000..203b18fa0 --- /dev/null +++ b/gfx/overworld_font.asm @@ -0,0 +1,17 @@ +LoadOverworldFont:: ; 106594 + ld de, .font + ld hl, VTiles1 + lb bc, BANK(.font), $80 + call Get2bpp + ld de, .space + ld hl, VTiles2 tile $7f + lb bc, BANK(.space), 1 + call Get2bpp + ret +; 1065ad + +.font +INCBIN "gfx/font/overworld.2bpp" + +.space +INCBIN "gfx/font/space.2bpp" diff --git a/main.asm b/main.asm index a0e46c5a7..010895cf8 100644 --- a/main.asm +++ b/main.asm @@ -51,200 +51,16 @@ PushOAM: ; 403f PushOAMEnd INCLUDE "engine/map_objects.asm" - INCLUDE "engine/intro_menu.asm" - -ReanchorBGMap_NoOAMUpdate:: ; 6454 - call DelayFrame - ld a, [hOAMUpdate] - push af - - ld a, $1 - ld [hOAMUpdate], a - ld a, [hBGMapMode] - push af - xor a - ld [hBGMapMode], a - - call .ReanchorBGMap - - pop af - ld [hBGMapMode], a - pop af - ld [hOAMUpdate], a - ld hl, VramState - set 6, [hl] - ret - -.ReanchorBGMap: - xor a - ld [hLCDCPointer], a - ld [hBGMapMode], a - ld a, $90 - ld [hWY], a - call OverworldTextModeSwitch - ld a, VBGMap1 / $100 - call .LoadBGMapAddrIntoHRAM - call _OpenAndCloseMenu_HDMATransferTileMapAndAttrMap - callba LoadOW_BGPal7 - callba ApplyPals - ld a, $1 - ld [hCGBPalUpdate], a - xor a - ld [hBGMapMode], a - ld [hWY], a - callba HDMATransfer_FillBGMap0WithBlack ; no need to farcall - ld a, VBGMap0 / $100 - call .LoadBGMapAddrIntoHRAM - xor a - ld [wBGMapAnchor], a - ld a, VBGMap0 / $100 - ld [wBGMapAnchor + 1], a - xor a - ld [hSCX], a - ld [hSCY], a - call ApplyBGMapAnchorToObjects - ret - -.LoadBGMapAddrIntoHRAM: ; 64b9 - ld [hBGMapAddress + 1], a - xor a - ld [hBGMapAddress], a - ret - -LoadFonts_NoOAMUpdate:: ; 64bf - ld a, [hOAMUpdate] - push af - ld a, $1 - ld [hOAMUpdate], a - - call .LoadGFX - - pop af - ld [hOAMUpdate], a - ret - -.LoadGFX: - call LoadFontsExtra - ld a, $90 - ld [hWY], a - call SafeUpdateSprites - call LoadStandardFont - ret - -HDMATransfer_FillBGMap0WithBlack: ; 64db - ld a, [rSVBK] - push af - ld a, $6 - ld [rSVBK], a - - ld a, "" ; $60 - ld hl, wDecompressScratch - ld bc, wScratchAttrMap - wDecompressScratch - call ByteFill - ld a, wDecompressScratch / $100 - ld [rHDMA1], a - ld a, wDecompressScratch % $100 - ld [rHDMA2], a - ld a, (VBGMap0 % $8000) / $100 - ld [rHDMA3], a - ld a, (VBGMap0 % $8000) % $100 - ld [rHDMA4], a - ld a, $3f - ld [hDMATransfer], a - call DelayFrame - - pop af - ld [rSVBK], a - ret - +INCLUDE "engine/init_map.asm" INCLUDE "engine/learn.asm" - -CheckNickErrors:: ; 669f -; error-check monster nick before use -; must be a peace offering to gamesharkers - -; input: de = nick location - - push bc - push de - ld b, PKMN_NAME_LENGTH - -.checkchar -; end of nick? - ld a, [de] - cp "@" ; terminator - jr z, .end - -; check if this char is a text command - ld hl, .textcommands - dec hl -.loop -; next entry - inc hl -; reached end of commands table? - ld a, [hl] - cp -1 - jr z, .done - -; is the current char between this value (inclusive)... - ld a, [de] - cp [hl] - inc hl - jr c, .loop -; ...and this one? - cp [hl] - jr nc, .loop - -; replace it with a "?" - ld a, "?" - ld [de], a - jr .loop - -.done -; next char - inc de -; reached end of nick without finding a terminator? - dec b - jr nz, .checkchar - -; change nick to "?@" - pop de - push de - ld a, "?" - ld [de], a - inc de - ld a, "@" - ld [de], a -.end -; if the nick has any errors at this point it's out of our hands - pop de - pop bc - ret - -.textcommands ; 66cf -; table defining which characters are actually text commands -; format: - ; ≥ < - db "", TX_BOX + 1 - db "", $18 + 1 - db $1d, "%" + 1 - db $35, "" + 1 - db "", "" + 1 - db "", "" + 1 - db "", "┘" + 1 - db -1 ; end - +INCLUDE "engine/check_nick_errors.asm" INCLUDE "engine/math.asm" INCLUDE "data/items/item_attributes.asm" INCLUDE "engine/npc_movement.asm" INCLUDE "event/happiness_egg.asm" INCLUDE "event/special.asm" -Predef1: ; 747a -; not used - ret - SECTION "bank2", ROMX @@ -256,26 +72,7 @@ INCLUDE "engine/color.asm" SECTION "bank3", ROMX -CheckTime:: ; c000 - ld a, [TimeOfDay] - ld hl, TimeOfDayTable - ld de, 2 - call IsInArray - inc hl - ld c, [hl] - ret c - - xor a - ld c, a - ret - -TimeOfDayTable: ; c012 - db MORN_F, MORN - db DAY_F, DAY - db NITE_F, NITE - db NITE_F, NITE - db -1 - +INCLUDE "engine/check_time.asm" INCLUDE "engine/specials.asm" INCLUDE "engine/printnum.asm" INCLUDE "engine/health.asm" @@ -405,3750 +202,1218 @@ INCLUDE "event/itemfinder.asm" INCLUDE "engine/startmenu.asm" INCLUDE "engine/selectmenu.asm" INCLUDE "event/elevator.asm" +INCLUDE "event/bug_contest.asm" +INCLUDE "event/hidden_items.asm" +INCLUDE "engine/collision_stdscripts.asm" +INCLUDE "event/bug_contest_judging.asm" +INCLUDE "engine/pokerus_tick.asm" +INCLUDE "event/bug_contest_2.asm" +INCLUDE "engine/unused_correct_party.asm" +INCLUDE "engine/square_root.asm" -Special_GiveParkBalls: ; 135db - xor a - ld [wContestMon], a - ld a, 20 - ld [wParkBallsRemaining], a - callba StartBugContestTimer - ret -BugCatchingContestBattleScript:: ; 0x135eb - writecode VAR_BATTLETYPE, BATTLETYPE_CONTEST - randomwildmon - startbattle - reloadmapafterbattle - copybytetovar wParkBallsRemaining - iffalse BugCatchingContestOutOfBallsScript - end +SECTION "bank5", ROMX -BugCatchingContestOverScript:: ; 0x135f8 - playsound SFX_ELEVATOR_END - opentext - writetext BugCatchingContestText_BeeepTimesUp - waitbutton - jump BugCatchingContestReturnToGateScript - -BugCatchingContestOutOfBallsScript: ; 0x13603 - playsound SFX_ELEVATOR_END - opentext - writetext BugCatchingContestText_ContestIsOver - waitbutton - -BugCatchingContestReturnToGateScript: ; 0x1360b - closetext - jumpstd bugcontestresultswarp - -BugCatchingContestText_BeeepTimesUp: ; 0x1360f - ; ANNOUNCER: BEEEP! Time's up! - text_jump UnknownText_0x1bd2ca - db "@" +INCLUDE "engine/rtc.asm" +INCLUDE "engine/overworld.asm" +INCLUDE "engine/tile_events.asm" +INCLUDE "engine/save.asm" +INCLUDE "engine/spawn_points.asm" +INCLUDE "engine/map_setup.asm" +INCLUDE "engine/pokecenter_pc.asm" +INCLUDE "engine/mart.asm" +INCLUDE "engine/money.asm" +INCLUDE "data/items/marts.asm" +INCLUDE "event/mom.asm" +INCLUDE "event/daycare.asm" +INCLUDE "event/photo.asm" +INCLUDE "engine/breeding.asm" +INCLUDE "tilesets/data.asm" -BugCatchingContestText_ContestIsOver: ; 0x13614 - ; ANNOUNCER: The Contest is over! - text_jump UnknownText_0x1bd2e7 - db "@" -RepelWoreOffScript:: ; 0x13619 - opentext - writetext .text - waitbutton - closetext - end +SECTION "Clock Reset", ROMX -.text ; 0x13620 - ; REPEL's effect wore off. - text_jump UnknownText_0x1bd308 - db "@" +INCLUDE "engine/clock_reset.asm" -HiddenItemScript:: ; 0x13625 - opentext - copybytetovar EngineBuffer3 - itemtotext 0, 0 - writetext .found_text - giveitem ITEM_FROM_MEM - iffalse .bag_full - callasm SetMemEvent - specialsound - itemnotify - jump .finish - -.bag_full ; 0x1363e - buttonsound - writetext .no_room_text - waitbutton - -.finish ; 13643 - closetext - end -.found_text ; 0x13645 - ; found @ ! - text_jump UnknownText_0x1bd321 - db "@" +SECTION "bank9", ROMX -.no_room_text ; 0x1364a - ; But has no space left… - text_jump UnknownText_0x1bd331 - db "@" +StringBufferPointers:: ; 24000 + dw StringBuffer3 + dw StringBuffer4 + dw StringBuffer5 + dw StringBuffer2 + dw StringBuffer1 + dw EnemyMonNick + dw BattleMonNick -SetMemEvent: ; 1364f - ld hl, EngineBuffer1 - ld a, [hli] - ld d, [hl] - ld e, a - ld b, SET_FLAG - call EventFlagAction +INCLUDE "engine/menu.asm" + +UpdateItemDescription: ; 0x244c3 + ld a, [MenuSelection] + ld [CurSpecies], a + hlcoord 0, 12 + ld b, 4 + ld c, SCREEN_WIDTH - 2 + call TextBox + ld a, [MenuSelection] + cp -1 + ret z + decoord 1, 14 + callba PrintItemDescription ret -CheckFacingTileForStd:: ; 1365b -; Checks to see if the tile you're facing has a std script associated with it. If so, executes the script and returns carry. - ld a, c - ld de, 3 - ld hl, TileCollisionStdScripts - call IsInArray - jr nc, .notintable +INCLUDE "engine/pokepic.asm" +INCLUDE "engine/map_objects_2.asm" +INCLUDE "engine/scrolling_menu.asm" +INCLUDE "engine/switch_items.asm" +INCLUDE "engine/menu_2.asm" +INCLUDE "engine/mon_menu.asm" +INCLUDE "battle/menu.asm" +INCLUDE "engine/buy_sell_toss.asm" +INCLUDE "engine/trainer_card.asm" +INCLUDE "engine/prof_oaks_pc.asm" +INCLUDE "engine/decorations.asm" - ld a, jumpstd_command - ld [wJumpStdScriptBuffer], a - inc hl - ld a, [hli] - ld [wJumpStdScriptBuffer + 1], a - ld a, [hli] - ld [wJumpStdScriptBuffer + 2], a - ld a, BANK(Script_JumpStdFromRAM) - ld hl, Script_JumpStdFromRAM - call CallScript - scf +PadCoords_de: ; 27092 + ld a, d + add 4 + ld d, a + ld a, e + add 4 + ld e, a + call GetBlockLocation ret -.notintable - xor a +LevelUpHappinessMod: ; 2709e + ld a, [CurPartyMon] + ld hl, PartyMon1CaughtLocation + call GetPartyLocation + ld a, [hl] + and $7f + ld d, a + ld a, [MapGroup] + ld b, a + ld a, [MapNumber] + ld c, a + call GetWorldMapLocation + cp d + ld c, HAPPINESS_GAINLEVEL + jr nz, .ok + ld c, HAPPINESS_GAINLEVELATHOME + +.ok + callab ChangeHappiness ret -INCLUDE "data/collision_stdscripts.asm" +INCLUDE "data/trainers/trainer_dvs.asm" -Script_JumpStdFromRAM: ; 0x1369a - jump wJumpStdScriptBuffer +_ReturnToBattle_UseBall: ; 2715c + call ClearBGPalettes + call ClearTileMap + ld a, [BattleType] + cp BATTLETYPE_TUTORIAL + jr z, .gettutorialbackpic + callba GetMonBackpic + jr .continue -INCLUDE "event/bug_contest_judging.asm" +.gettutorialbackpic + callba GetTrainerBackpic +.continue + callba GetMonFrontpic + callba _LoadBattleFontsHPBar + call GetMemSGBLayout + call CloseWindow + call LoadStandardMenuDataHeader + call WaitBGMap + jp SetPalettes -ApplyPokerusTick: ; 13988 -; decreases all pokemon's pokerus counter by b. if the lower nybble reaches zero, the pokerus is cured. - ld hl, PartyMon1PokerusStatus ; PartyMon1 + MON_PKRS - ld a, [PartyCount] - and a - ret z ; make sure it's not wasting time on an empty party - ld c, a -.loop - ld a, [hl] - and $f ; lower nybble is the number of days remaining - jr z, .next ; if already 0, skip - sub b ; subtract the number of days - jr nc, .ok ; max(result, 0) - xor a -.ok - ld d, a ; back up this value because we need to preserve the strain (upper nybble) - ld a, [hl] - and $f0 - add d - ld [hl], a ; this prevents a cured pokemon from recontracting pokerus -.next - ld de, PARTYMON_STRUCT_LENGTH - add hl, de - dec c - jr nz, .loop +INCLUDE "engine/consume_held_item.asm" +INCLUDE "battle/moves/move_effects_pointers.asm" +INCLUDE "battle/moves/move_effects.asm" + +Kurt_SelectQuantity_InterpretJoypad: ; 27a28 + call BuySellToss_InterpretJoypad + ld b, a ret -INCLUDE "event/bug_contest_2.asm" -CorrectErrorsInPlayerParty: ; unreferenced - ld hl, PartyCount - ld a, [hl] - and a - ret z +SECTION "bankA", ROMX - cp PARTY_LENGTH + 1 - jr c, .party_length_okay - ld a, PARTY_LENGTH - ld [hl], a -.party_length_okay - inc hl +INCLUDE "engine/link.asm" - ld b, a - ld c, 0 -.loop1 - ld a, [hl] - and a - jr z, .invalid_species - cp NUM_POKEMON + 1 - jr z, .invalid_species - cp EGG + 1 - jr c, .next_species - -.invalid_species - ld [hl], SMEARGLE - push hl - push bc +Function29fe4: ; unreferenced + ld a, $0 + call GetSRAMBank + ld d, $0 + ld b, CHECK_FLAG + predef FlagPredef + call CloseSRAM ld a, c - ld hl, PartyMon1Species - call GetPartyLocation - ld [hl], SMEARGLE - pop bc - pop hl + and a + ret -.next_species - inc hl - inc c - dec b - jr nz, .loop1 - ld [hl], $ff +INCLUDE "engine/wildmons.asm" +INCLUDE "battle/link_result.asm" - ld hl, PartyMon1 - ld a, [PartyCount] - ld d, a - ld e, 0 -.loop2 - push de - push hl - ld b, h - ld c, l - ld a, [hl] - and a - jr z, .invalid_species_2 - cp NUM_POKEMON + 1 - jr c, .check_level +ChrisBackpic: ; 2ba1a +INCBIN "gfx/player/chris_back.2bpp.lz" -.invalid_species_2 - ld [hl], SMEARGLE - push de - ld d, 0 - ld hl, PartySpecies - add hl, de - pop de - ld a, SMEARGLE - ld [hl], a +DudeBackpic: ; 2bbaa +INCBIN "gfx/battle/dude.2bpp.lz" -.check_level - ld [CurSpecies], a - call GetBaseData - ld hl, MON_LEVEL - add hl, bc - ld a, [hl] - cp MIN_LEVEL - ld a, MIN_LEVEL - jr c, .invalid_level - ld a, [hl] - cp MAX_LEVEL - jr c, .load_level - ld a, MAX_LEVEL -.invalid_level - ld [hl], a -.load_level - ld [CurPartyLevel], a - ld hl, MON_MAXHP - add hl, bc - ld d, h - ld e, l - ld hl, MON_STAT_EXP - 1 - add hl, bc - ld b, $1 - predef CalcPkmnStats - pop hl - ld bc, PARTYMON_STRUCT_LENGTH - add hl, bc - pop de - inc e - dec d - jr nz, .loop2 +SECTION "bankB", ROMX - ld de, PartyMonNicknames - ld a, [PartyCount] - ld b, a - ld c, 0 -.loop3 +INCLUDE "battle/trainer_huds.asm" +INCLUDE "data/trainers/trainer_class_names.asm" +INCLUDE "battle/ai/redundant.asm" +INCLUDE "event/move_deleter.asm" +INCLUDE "engine/mysterygift2.asm" +INCLUDE "engine/tmhm2.asm" +INCLUDE "battle/moves/move_descriptions.asm" +INCLUDE "engine/pokerus.asm" +INCLUDE "engine/start_battle.asm" + +PlaceGraphic: ; 2ef6e +; Fill wBoxAlignment-aligned box width b height c +; with iterating tile starting from hGraphicStartTile at hl. +; Predef $13 + + ld de, SCREEN_WIDTH + + ld a, [wBoxAlignment] + and a + jr nz, .right + + ld a, [hGraphicStartTile] +.x1 push bc - call .GetLengthOfStringWith6CharCap - push de - callba CheckStringForErrors + push hl + +.y1 + ld [hl], a + add hl, de + inc a + dec c + jr nz, .y1 + pop hl + inc hl pop bc - jr nc, .valid_nickname + dec b + jr nz, .x1 + ret - push bc - push hl - ld hl, PartySpecies +.right +; Right-aligned. push bc ld b, 0 + dec c add hl, bc pop bc - ld a, [hl] - cp EGG - ld hl, .TAMAGO - jr z, .got_nickname - ld [wd265], a - call GetPokemonName - ld hl, StringBuffer1 -.got_nickname - pop de - ld bc, PKMN_NAME_LENGTH - call CopyBytes - pop bc - -.valid_nickname - inc c - dec b - jr nz, .loop3 - ld de, PartyMonOT - ld a, [PartyCount] - ld b, a - ld c, 0 -.loop4 + ld a, [hGraphicStartTile] +.x2 push bc - call .GetLengthOfStringWith6CharCap - push de - callba CheckStringForErrors - pop hl - jr nc, .valid_ot_name - ld d, h - ld e, l - ld hl, PlayerName - ld bc, NAME_LENGTH - call CopyBytes -.valid_ot_name - pop bc - inc c - dec b - jr nz, .loop4 - - ld hl, PartyMon1Moves - ld a, [PartyCount] - ld b, a -.loop5 push hl - ld c, NUM_MOVES - ld a, [hl] - and a - jr z, .invalid_move - cp NUM_ATTACKS + 1 - jr c, .moves_loop -.invalid_move - ld [hl], POUND -.moves_loop - ld a, [hl] - and a - jr z, .fill_invalid_moves - cp NUM_ATTACKS + 1 - jr c, .next_move - -.fill_invalid_moves - xor a - ld [hli], a - dec c - jr nz, .fill_invalid_moves - jr .next_pokemon - -.next_move - inc hl +.y2 + ld [hl], a + add hl, de + inc a dec c - jr nz, .moves_loop + jr nz, .y2 -.next_pokemon pop hl - push bc - ld bc, PARTYMON_STRUCT_LENGTH - add hl, bc + dec hl pop bc dec b - jr nz, .loop5 - ret -; 13b6b - -.TAMAGO: ; 13b6b - db "タマゴ@@@" -; 13b71 - -.GetLengthOfStringWith6CharCap: ; 13b71 - push de - ld c, 1 - ld b, NAME_LENGTH_JAPANESE -.search_loop - ld a, [de] - cp "@" - jr z, .done - inc de - inc c - dec b - jr nz, .search_loop - dec c - dec de - ld a, "@" - ld [de], a -.done - pop de + jr nz, .x2 ret -; 13b87 -GetSquareRoot: ; 13b87 -; Return the square root of de in b. -; Rather than calculating the result, we take the index of the -; first value in a table of squares that isn't lower than de. +SECTION "Effect Commands", ROMX - ld hl, Squares - ld b, 0 -.loop -; Make sure we don't go past the end of the table. - inc b - ld a, b - cp $ff - ret z +INCLUDE "battle/effect_commands.asm" -; Iterate over the table until b**2 >= de. - ld a, [hli] - sub e - ld a, [hli] - sbc d - jr c, .loop - ret +SECTION "Enemy Trainers", ROMX -Squares: ; 13b98 -root set 1 - rept $ff - dw root*root -root set root+1 - endr +INCLUDE "battle/ai/items.asm" +INCLUDE "battle/ai/scoring.asm" +INCLUDE "engine/read_trainer_attributes.asm" +INCLUDE "data/trainers/trainer_attributes.asm" +INCLUDE "engine/read_trainer_party.asm" +INCLUDE "data/trainers/party_pointers.asm" +INCLUDE "data/trainers/parties.asm" -SECTION "bank5", ROMX +SECTION "Battle Core", ROMX -INCLUDE "engine/rtc.asm" -INCLUDE "engine/overworld.asm" -INCLUDE "engine/tile_events.asm" -INCLUDE "engine/save.asm" -INCLUDE "engine/spawn_points.asm" -INCLUDE "engine/map_setup.asm" -INCLUDE "engine/pokecenter_pc.asm" -INCLUDE "engine/mart.asm" -INCLUDE "engine/money.asm" -INCLUDE "data/items/marts.asm" -INCLUDE "event/mom.asm" -INCLUDE "event/daycare.asm" -INCLUDE "event/photo.asm" -INCLUDE "engine/breeding.asm" +INCLUDE "battle/core.asm" +INCLUDE "battle/effect_command_pointers.asm" -INCLUDE "tilesets/data.asm" +SECTION "bank10", ROMX +INCLUDE "engine/pokedex.asm" +INCLUDE "battle/moves/moves.asm" +INCLUDE "engine/evolve.asm" -SECTION "Clock Reset", ROMX -INCLUDE "engine/clock_reset.asm" +SECTION "bank11", ROMX +INCLUDE "engine/fruit_trees.asm" +INCLUDE "battle/ai/move.asm" +INCLUDE "engine/pokedex_2.asm" +INCLUDE "data/pokemon/dex_entry_pointers.asm" +INCLUDE "engine/mail.asm" -SECTION "bank9", ROMX -StringBufferPointers:: ; 24000 - dw StringBuffer3 - dw StringBuffer4 - dw StringBuffer5 - dw StringBuffer2 - dw StringBuffer1 - dw EnemyMonNick - dw BattleMonNick +SECTION "Crystal Unique", ROMX -INCLUDE "engine/menu.asm" +INCLUDE "engine/init_gender.asm" -UpdateItemDescription: ; 0x244c3 - ld a, [MenuSelection] - ld [CurSpecies], a - hlcoord 0, 12 - ld b, 4 - ld c, SCREEN_WIDTH - 2 - call TextBox - ld a, [MenuSelection] - cp -1 - ret z - decoord 1, 14 - callba PrintItemDescription +DrawKrisPackGFX: ; 48e81 + ld hl, PackFGFXPointers + add hl, de + add hl, de + ld a, [hli] + ld e, a + ld d, [hl] + ld hl, VTiles2 tile $50 + lb bc, BANK(PackFGFX), 15 + call Request2bpp ret -INCLUDE "engine/pokepic.asm" - -LoadObjectMasks: ; 2454f - ld hl, wObjectMasks - xor a - ld bc, NUM_OBJECTS - call ByteFill - nop - ld bc, MapObjects - ld de, wObjectMasks - xor a -.loop - push af - push bc - push de - call GetObjectTimeMask - jr c, .next - call CheckObjectFlag -.next - pop de - ld [de], a - inc de - pop bc - ld hl, OBJECT_LENGTH - add hl, bc - ld b, h - ld c, l - pop af - inc a - cp NUM_OBJECTS - jr nz, .loop +PackFGFXPointers: ; 48e93 + dw PackFGFX + (15 tiles) * 1 + dw PackFGFX + (15 tiles) * 3 + dw PackFGFX + (15 tiles) * 0 + dw PackFGFX + (15 tiles) * 2 + +PackFGFX: ; 48e9b +INCBIN "gfx/pack/pack_f.2bpp" + +INCLUDE "event/move_tutor.asm" +INCLUDE "engine/crystal_colors.asm" +INCLUDE "event/celebi.asm" +INCLUDE "engine/main_menu.asm" +INCLUDE "mobile/mobile_menu.asm" +INCLUDE "engine/search.asm" + ; mobile battle selection +INCLUDE "mobile/mobile_12_2.asm" + +AskRememberPassword: ; 4ae12 + call .DoMenu + ld a, $0 + jr c, .okay + ld a, $1 + +.okay + ld [ScriptVar], a ret -CheckObjectFlag: ; 2457d (9:457d) - ld hl, MAPOBJECT_SPRITE - add hl, bc - ld a, [hl] - and a - jr z, .masked - ld hl, MAPOBJECT_EVENT_FLAG - add hl, bc - ld a, [hli] - ld e, a - ld a, [hl] - ld d, a - cp -1 - jr nz, .check - ld a, e - cp -1 - jr z, .unmasked - jr .masked -.check - ld b, CHECK_FLAG - call EventFlagAction +.DoMenu: ; 4ae1f + lb bc, 14, 7 + push bc + ld hl, YesNoMenuDataHeader + call CopyMenuDataHeader + pop bc + ld a, b + ld [wMenuBorderLeftCoord], a + add $5 + ld [wMenuBorderRightCoord], a ld a, c + ld [wMenuBorderTopCoord], a + add $4 + ld [wMenuBorderBottomCoord], a + call PushWindow + call VerticalMenu + push af + ld c, 15 + call DelayFrames + call Buena_ExitMenu + pop af + jr c, .refused + ld a, [wMenuCursorY] + cp $2 + jr z, .refused and a - jr nz, .masked -.unmasked - xor a ret -.masked - ld a, -1 +.refused + ld a, $2 + ld [wMenuCursorY], a scf ret -GetObjectTimeMask: ; 245a7 (9:45a7) - call CheckObjectTime - ld a, -1 - ret c +Buena_ExitMenu: ; 4ae5e + ld a, [hOAMUpdate] + push af + call ExitMenu + call UpdateSprites xor a + ld [hOAMUpdate], a + call DelayFrame + ld a, $1 + ld [hOAMUpdate], a + call ApplyTilemap + pop af + ld [hOAMUpdate], a ret -INCLUDE "engine/scrolling_menu.asm" -INCLUDE "engine/switch_items.asm" - -PlaceMenuItemName: ; 0x24ab4 - push de - ld a, [MenuSelection] - ld [wNamedObjectIndexBuffer], a - call GetItemName - pop hl - call PlaceString - ret - -PlaceMenuItemQuantity: ; 0x24ac3 - push de - ld a, [MenuSelection] - ld [CurItem], a - callba _CheckTossableItem - ld a, [wItemAttributeParamBuffer] - pop hl - and a - jr nz, .done - ld de, $15 - add hl, de - ld [hl], "×" - inc hl - ld de, MenuSelectionQuantity - lb bc, 1, 2 - call PrintNum - -.done - ret -PlaceMoneyTopRight: ; 24ae8 - ld hl, MenuDataHeader_0x24b15 - call CopyMenuDataHeader - jr PlaceMoneyDataHeader +SECTION "bank13", ROMX -PlaceMoneyBottomLeft: ; 24af0 - ld hl, MenuDataHeader_0x24b1d - call CopyMenuDataHeader - jr PlaceMoneyDataHeader +INCLUDE "engine/map_palettes.asm" +INCLUDE "tilesets/palette_maps.asm" -PlaceMoneyAtTopLeftOfTextbox: ; 24af8 - ld hl, MenuDataHeader_0x24b15 - lb de, 0, 11 - call OffsetMenuDataHeader +Unknown_4ce05: ; unreferenced +rept 26 + db $06 +endr +; 0x4ce1f -PlaceMoneyDataHeader: ; 24b01 - call MenuBox - call MenuBoxCoord2Tile - ld de, SCREEN_WIDTH + 1 - add hl, de - ld de, Money - lb bc, PRINTNUM_MONEY | 3, 6 - call PrintNum - ret +INCLUDE "data/collision_permissions.asm" -MenuDataHeader_0x24b15: ; 0x24b15 - db $40 ; flags - db 00, 11 ; start coords - db 02, 19 ; end coords - dw NULL - db 1 ; default option - -MenuDataHeader_0x24b1d: ; 0x24b1d - db $40 ; flags - db 11, 00 ; start coords - db 13, 08 ; end coords - dw NULL - db 1 ; default option - -Special_DisplayCoinCaseBalance: ; 24b25 - ; Place a text box of size 1x7 at 11, 0. - hlcoord 11, 0 - ld b, 1 - ld c, 7 - call TextBox - hlcoord 12, 0 - ld de, CoinString - call PlaceString - hlcoord 17, 1 - ld de, ShowMoney_TerminatorString - call PlaceString - ld de, Coins - lb bc, 2, 4 - hlcoord 13, 1 - call PrintNum +EmptyAllSRAMBanks: ; 4cf1f + ld a, $0 + call .EmptyBank + ld a, $1 + call .EmptyBank + ld a, $2 + call .EmptyBank + ld a, $3 + call .EmptyBank ret -Special_DisplayMoneyAndCoinBalance: ; 24b4e - hlcoord 5, 0 - ld b, 3 - ld c, 13 - call TextBox - hlcoord 6, 1 - ld de, MoneyString - call PlaceString - hlcoord 12, 1 - ld de, Money - lb bc, PRINTNUM_MONEY | 3, 6 - call PrintNum - hlcoord 6, 3 - ld de, CoinString - call PlaceString - hlcoord 15, 3 - ld de, Coins - lb bc, 2, 4 - call PrintNum +.EmptyBank: ; 4cf34 + call GetSRAMBank + ld hl, SRAM_Begin + ld bc, SRAM_End - SRAM_Begin + xor a + call ByteFill + call CloseSRAM ret -MoneyString: ; 24b83 - db "MONEY@" -CoinString: ; 24b89 - db "COIN@" -ShowMoney_TerminatorString: ; 24b8e - db "@" +SaveMenu_LoadEDTile: ; 4cf45 (13:4f45) + ld a, [hCGB] + and a + jp z, WaitBGMap -Function24b8f: ; 24b8f -; unreferenced, related to safari? - ld hl, Options - ld a, [hl] +; The following is a modified version of LoadEDTile. + ld a, [hBGMapMode] push af - set NO_TEXT_SCROLL, [hl] - hlcoord 0, 0 - ld b, 3 - ld c, 7 - call TextBox - hlcoord 1, 1 - ld de, wSafariTimeRemaining - lb bc, 2, 3 - call PrintNum - hlcoord 4, 1 - ld de, .slash_500 - call PlaceString - hlcoord 1, 3 - ld de, .booru_ko - call PlaceString - hlcoord 5, 3 - ld de, wSafariBallsRemaining - lb bc, 1, 2 - call PrintNum - pop af - ld [Options], a - ret - -.slash_500 ; 24bcf - db "/500@" -.booru_ko ; 24bd4 - db "ボール こ@" - -StartMenu_DrawBugContestStatusBox: ; 24bdc - hlcoord 0, 0 - ld b, 5 - ld c, 17 - call TextBox - ret - -StartMenu_PrintBugContestStatus: ; 24be7 - ld hl, Options - ld a, [hl] + xor a + ld [hBGMapMode], a + ld a, [hMapAnims] push af - set NO_TEXT_SCROLL, [hl] - call StartMenu_DrawBugContestStatusBox - hlcoord 1, 5 - ld de, .Balls_EN - call PlaceString - hlcoord 8, 5 - ld de, wParkBallsRemaining - lb bc, PRINTNUM_RIGHTALIGN | 1, 2 - call PrintNum - hlcoord 1, 1 - ld de, .CAUGHT - call PlaceString - ld a, [wContestMon] - and a - ld de, .None - jr z, .no_contest_mon - ld [wd265], a - call GetPokemonName + xor a + ld [hMapAnims], a +.WaitLY: + ld a, [rLY] + cp $60 + jr c, .WaitLY -.no_contest_mon - hlcoord 8, 1 - call PlaceString - ld a, [wContestMon] - and a - jr z, .skip_level - hlcoord 1, 3 - ld de, .LEVEL - call PlaceString - ld a, [wContestMonLevel] - ld h, b - ld l, c - inc hl - ld c, 3 - call Print8BitNumRightAlign + di + ld a, 1 ; BANK(VBGMap2) + ld [rVBK], a + hlcoord 0, 0, AttrMap + call .LoadEDTile + ld a, 0 ; BANK(VBGMap0) + ld [rVBK], a + hlcoord 0, 0 + call .LoadEDTile +.WaitLY2: + ld a, [rLY] + cp $60 + jr c, .WaitLY2 + ei -.skip_level pop af - ld [Options], a + ld [hMapAnims], a + pop af + ld [hBGMapMode], a ret -.Balls_JP: ; 24c43 - db "ボール こ@" -.CAUGHT: ; 24c4b - db "CAUGHT@" -.Balls_EN: ; 24c52 - db "BALLS:@" -.None: ; 24c59 - db "None@" -.LEVEL: ; 24c5e - db "LEVEL@" - -FindApricornsInBag: ; 24c64 -; Checks the bag for Apricorns. - ld hl, Buffer1 - xor a - ld [hli], a - dec a - ld bc, 10 - call ByteFill +.LoadEDTile: ; 4cf80 (13:4f80) + ld [hSPBuffer], sp ; $ffd9 + ld sp, hl + ld a, [hBGMapAddress + 1] + ld h, a + ld l, 0 + ld a, SCREEN_HEIGHT + ld [hTilesPerCycle], a + ld b, 1 << 1 + ld c, rSTAT % $100 - ld hl, .ApricornBalls .loop - ld a, [hl] - cp -1 - jr z, .done - push hl - ld [CurItem], a - ld hl, NumItems - call CheckItem - pop hl - jr nc, .nope - ld a, [hl] - call .addtobuffer -.nope - inc hl - inc hl - jr .loop - -.done - ld a, [Buffer1] - and a - ret nz - scf - ret +rept SCREEN_WIDTH / 2 + pop de +.loop\@ + ld a, [$ff00+c] + and b + jr nz, .loop\@ + ld [hl], e + inc l + ld [hl], d + inc l +endr -.addtobuffer ; 24c94 - push hl - ld hl, Buffer1 - inc [hl] - ld e, [hl] - ld d, 0 + ld de, $20 - SCREEN_WIDTH add hl, de - ld [hl], a - pop hl - ret - -.ApricornBalls: ; 24ca0 - db RED_APRICORN, LEVEL_BALL - db BLU_APRICORN, LURE_BALL - db YLW_APRICORN, MOON_BALL - db GRN_APRICORN, FRIEND_BALL - db WHT_APRICORN, FAST_BALL - db BLK_APRICORN, HEAVY_BALL - db PNK_APRICORN, LOVE_BALL - db -1 - -INCLUDE "engine/mon_menu.asm" -INCLUDE "battle/menu.asm" -INCLUDE "engine/buy_sell_toss.asm" -INCLUDE "engine/trainer_card.asm" -INCLUDE "engine/prof_oaks_pc.asm" -INCLUDE "engine/decorations.asm" + ld a, [hTilesPerCycle] + dec a + ld [hTilesPerCycle], a + jr nz, .loop -PadCoords_de: ; 27092 - ld a, d - add 4 - ld d, a - ld a, e - add 4 - ld e, a - call GetBlockLocation + ld a, [hSPBuffer] + ld l, a + ld a, [hSPBuffer + 1] + ld h, a + ld sp, hl ret -LevelUpHappinessMod: ; 2709e - ld a, [CurPartyMon] - ld hl, PartyMon1CaughtLocation - call GetPartyLocation - ld a, [hl] - and $7f - ld d, a - ld a, [MapGroup] +CheckSave:: ; 4cffe + ld a, BANK(s1_a008) + call GetSRAMBank + ld a, [s1_a008] ld b, a - ld a, [MapNumber] + ld a, [s1_ad0f] ld c, a - call GetWorldMapLocation - cp d - ld c, HAPPINESS_GAINLEVEL + call CloseSRAM + ld a, b + cp 99 jr nz, .ok - ld c, HAPPINESS_GAINLEVELATHOME + ld a, c + cp " " + jr nz, .ok + ld c, $1 + ret .ok - callab ChangeHappiness + ld c, $0 ret -INCLUDE "data/trainers/trainer_dvs.asm" - -_ReturnToBattle_UseBall: ; 2715c - call ClearBGPalettes - call ClearTileMap - ld a, [BattleType] - cp BATTLETYPE_TUTORIAL - jr z, .gettutorialbackpic - callba GetMonBackpic - jr .continue +INCLUDE "data/maps/map_triggers.asm" -.gettutorialbackpic - callba GetTrainerBackpic -.continue - callba GetMonFrontpic - callba _LoadBattleFontsHPBar - call GetMemSGBLayout - call CloseWindow - call LoadStandardMenuDataHeader - call WaitBGMap - jp SetPalettes +_LoadMapPart:: ; 4d15b + ld hl, wMisc + ld a, [wMetatileStandingY] + and a + jr z, .top_row + ld bc, WMISC_WIDTH * 2 + add hl, bc -ConsumeHeldItem: ; 27192 - push hl - push de - push bc - ld a, [hBattleTurn] +.top_row + ld a, [wMetatileStandingX] and a - ld hl, OTPartyMon1Item - ld de, EnemyMonItem - ld a, [CurOTMon] - jr z, .theirturn - ld hl, PartyMon1Item - ld de, BattleMonItem - ld a, [CurBattleMon] - -.theirturn - push hl - push af - ld a, [de] - ld b, a - callba GetItemHeldEffect - ld hl, .ConsumableEffects + jr z, .left_column + inc hl + inc hl + +.left_column + decoord 0, 0 + ld b, SCREEN_HEIGHT .loop + ld c, SCREEN_WIDTH +.loop2 ld a, [hli] - cp b - jr z, .ok - inc a + ld [de], a + inc de + dec c + jr nz, .loop2 + ld a, l + add 4 + ld l, a + jr nc, .carry + inc h + +.carry + dec b jr nz, .loop - pop af - pop hl - pop bc - pop de - pop hl ret -.ok - xor a - ld [de], a - pop af - pop hl - call GetPartyLocation - ld a, [hBattleTurn] +PhoneRing_LoadEDTile: ; 4d188 + ld a, [hCGB] and a - jr nz, .ourturn - ld a, [wBattleMode] - dec a - jr z, .done - -.ourturn - ld [hl], $0 - -.done - pop bc - pop de - pop hl - ret + jp z, WaitBGMap + ld a, [wSpriteUpdatesEnabled] + cp $0 + jp z, WaitBGMap -.ConsumableEffects: ; 271de -; Consumable items? - db HELD_BERRY - db HELD_2 - db HELD_5 - db HELD_HEAL_POISON - db HELD_HEAL_FREEZE - db HELD_HEAL_BURN - db HELD_HEAL_SLEEP - db HELD_HEAL_PARALYZE - db HELD_HEAL_STATUS - db HELD_30 - db HELD_ATTACK_UP - db HELD_DEFENSE_UP - db HELD_SPEED_UP - db HELD_SP_ATTACK_UP - db HELD_SP_DEFENSE_UP - db HELD_ACCURACY_UP - db HELD_EVASION_UP - db HELD_38 - db HELD_71 - db HELD_ESCAPE - db HELD_CRITICAL_UP - db -1 - -MoveEffectsPointers: ; 271f4 -INCLUDE "battle/moves/move_effects_pointers.asm" +; What follows is a modified version of LoadEDTile. + ld a, [hBGMapMode] + push af + xor a + ld [hBGMapMode], a + ld a, [hMapAnims] + push af + xor a + ld [hMapAnims], a +.wait + ld a, [rLY] + cp $8f + jr c, .wait -MoveEffects: ; 2732e -INCLUDE "battle/moves/move_effects.asm" + di + ld a, 1 ; BANK(VBGMap2) + ld [rVBK], a + hlcoord 0, 0, AttrMap + call .LoadEDTile + ld a, 0 ; BANK(VBGMap0) + ld [rVBK], a + hlcoord 0, 0 + call .LoadEDTile +.wait2 + ld a, [rLY] + cp $8f + jr c, .wait2 + ei -Kurt_SelectQuantity_InterpretJoypad: ; 27a28 - call BuySellToss_InterpretJoypad - ld b, a + pop af + ld [hMapAnims], a + pop af + ld [hBGMapMode], a ret +.LoadEDTile: ; 4d1cb + ld [hSPBuffer], sp + ld sp, hl + ld a, [hBGMapAddress + 1] + ld h, a + ld l, 0 + ld a, SCREEN_HEIGHT + ld [hTilesPerCycle], a + ld b, 1 << 1 ; not in v/hblank + ld c, rSTAT % $100 -SECTION "bankA", ROMX +.loop +rept SCREEN_WIDTH / 2 + pop de +.loop\@ + ld a, [$ff00+c] + and b + jr nz, .loop\@ + ld [hl], e + inc l + ld [hl], d + inc l +endr -INCLUDE "engine/link.asm" + ld de, $20 - SCREEN_WIDTH + add hl, de + ld a, [hTilesPerCycle] + dec a + ld [hTilesPerCycle], a + jr nz, .loop -Function29fe4: ; unreferenced - ld a, $0 - call GetSRAMBank - ld d, $0 - ld b, CHECK_FLAG - predef FlagPredef - call CloseSRAM - ld a, c - and a + ld a, [hSPBuffer] + ld l, a + ld a, [hSPBuffer + 1] + ld h, a + ld sp, hl ret -INCLUDE "engine/wildmons.asm" -INCLUDE "battle/link_result.asm" - -ChrisBackpic: ; 2ba1a -INCBIN "gfx/player/chris_back.2bpp.lz" +Shrink1Pic: ; 4d249 +INCBIN "gfx/shrink/shrink1.2bpp.lz" -DudeBackpic: ; 2bbaa -INCBIN "gfx/battle/dude.2bpp.lz" +Shrink2Pic: ; 4d2d9 +INCBIN "gfx/shrink/shrink2.2bpp.lz" +LinkMonStatsScreen: ; 4d319 + ld a, [wMenuCursorY] + dec a + ld [CurPartyMon], a + call LowVolume + predef StatsScreenInit + ld a, [CurPartyMon] + inc a + ld [wMenuCursorY], a + call ClearScreen + call ClearBGPalettes + call MaxVolume + callba LoadTradeScreenBorder + callba Link_WaitBGMap + callba InitTradeSpeciesList + callba SetTradeRoomBGPals + call WaitBGMap2 + ret -SECTION "bankB", ROMX +Link_WaitBGMap: ; 4d354 + call WaitBGMap + call WaitBGMap2 + ret -INCLUDE "battle/trainer_huds.asm" - -INCLUDE "data/trainers/trainer_class_names.asm" - -INCLUDE "battle/ai/redundant.asm" - -INCLUDE "event/move_deleter.asm" - -INCLUDE "engine/mysterygift2.asm" - -INCLUDE "engine/tmhm2.asm" - -MoveDescriptions:: ; 2cb52 -INCLUDE "battle/moves/move_descriptions.asm" - -GivePokerusAndConvertBerries: ; 2ed44 - call ConvertBerriesToBerryJuice - ld hl, PartyMon1PokerusStatus - ld a, [PartyCount] - ld b, a - ld de, PARTYMON_STRUCT_LENGTH -; Check to see if any of your Pokemon already has Pokerus. -; If so, sample its spread through your party. -; This means that you cannot get Pokerus de novo while -; a party member has an active infection. -.loopMons - ld a, [hl] - and $f - jr nz, .TrySpreadPokerus +LinkTextbox2: ; 4d35b + ld h, d + ld l, e + push bc + push hl + call .PlaceBorder + pop hl + pop bc + ld de, AttrMap - TileMap + add hl, de + inc b + inc b + inc c + inc c + ld a, $7 +.row + push bc + push hl +.col + ld [hli], a + dec c + jr nz, .col + pop hl + ld de, SCREEN_WIDTH add hl, de + pop bc dec b - jr nz, .loopMons + jr nz, .row + ret -; If we haven't been to Goldenrod City at least once, -; prevent the contraction of Pokerus. - ld hl, StatusFlags2 - bit 6, [hl] - ret z - call Random - ld a, [hRandomAdd] - and a - ret nz - ld a, [hRandomSub] - cp $3 - ret nc ; 3/65536 chance (00 00, 00 01 or 00 02) - ld a, [PartyCount] - ld b, a -.randomMonSelectLoop - call Random - and $7 - cp b - jr nc, .randomMonSelectLoop - ld hl, PartyMon1PokerusStatus - call GetPartyLocation ; get pokerus byte of random mon - ld a, [hl] - and $f0 - ret nz ; if it already has pokerus, do nothing -.randomPokerusLoop ; Simultaneously sample the strain and duration - call Random - and a - jr z, .randomPokerusLoop - ld b, a - and $f0 - jr z, .load_pkrs - ld a, b - and $7 +.PlaceBorder: ; 4d37e + push hl + ld a, $76 + ld [hli], a inc a -.load_pkrs - ld b, a ; this should come before the label - swap b - and $3 + call .PlaceRow inc a - add b ld [hl], a - ret - -.TrySpreadPokerus: - call Random - cp 1 + 33 percent - ret nc ; 1/3 chance - - ld a, [PartyCount] - cp 1 - ret z ; only one mon, nothing to do - - ld c, [hl] - ld a, b - cp 2 - jr c, .checkPreviousMonsLoop ; no more mons after this one, go backwards - - call Random - cp 1 + 50 percent - jr c, .checkPreviousMonsLoop ; 1/2 chance, go backwards -.checkFollowingMonsLoop + pop hl + ld de, SCREEN_WIDTH add hl, de - ld a, [hl] - and a - jr z, .infectMon - ld c, a - and $3 - ret z ; if mon has cured pokerus, stop searching - dec b ; go on to next mon - ld a, b - cp 1 - jr nz, .checkFollowingMonsLoop ; no more mons left - ret - -.checkPreviousMonsLoop - ld a, [PartyCount] - cp b - ret z ; no more mons - ld a, l - sub e - ld l, a - ld a, h - sbc d - ld h, a - ld a, [hl] - and a - jr z, .infectMon - ld c, a - and $3 - ret z ; if mon has cured pokerus, stop searching - inc b ; go on to next mon - jr .checkPreviousMonsLoop - -.infectMon - ld a, c - and $f0 - ld b, a - ld a, c - swap a - and $3 - inc a - add b - ld [hl], a - ret - -; any berry held by a Shuckle may be converted to berry juice -ConvertBerriesToBerryJuice: ; 2ede6 - ld hl, StatusFlags2 - bit 6, [hl] - ret z - call Random - cp $10 - ret nc ; 1/16 chance - ld hl, PartyMons - ld a, [PartyCount] -.partyMonLoop - push af +.loop push hl - ld a, [hl] - cp SHUCKLE - jr nz, .loopMon - ld bc, MON_ITEM - add hl, bc - ld a, [hl] - cp BERRY - jr z, .convertToJuice - -.loopMon - pop hl - ld bc, PARTYMON_STRUCT_LENGTH - add hl, bc - pop af - dec a - jr nz, .partyMonLoop - ret - -.convertToJuice - ld a, BERRY_JUICE - ld [hl], a + ld a, "┌" + ld [hli], a + ld a, " " + call .PlaceRow + ld [hl], "─" pop hl - pop af - ret - -ShowLinkBattleParticipants: ; 2ee18 -; If we're not in a communications room, -; we don't need to be here. - ld a, [wLinkMode] - and a - ret z - - callba _ShowLinkBattleParticipants - ld c, 150 - call DelayFrames - call ClearTileMap - call ClearSprites - ret - -FindFirstAliveMonAndStartBattle: ; 2ee2f - xor a - ld [hMapAnims], a - call DelayFrame - ld b, 6 - ld hl, PartyMon1HP - ld de, PARTYMON_STRUCT_LENGTH - 1 - -.loop - ld a, [hli] - or [hl] - jr nz, .okay + ld de, SCREEN_WIDTH add hl, de dec b jr nz, .loop + ld a, "┐" + ld [hli], a + ld a, "│" + call .PlaceRow + ld [hl], "└" + ret -.okay - ld de, MON_LEVEL - MON_HP - add hl, de - ld a, [hl] - ld [BattleMonLevel], a - predef Predef_StartBattle - callba _LoadBattleFontsHPBar - ld a, 1 - ld [hBGMapMode], a - call ClearSprites - call ClearTileMap - xor a - ld [hBGMapMode], a - ld [hWY], a - ld [rWY], a - ld [hMapAnims], a +.PlaceRow: ; 4d3ab + ld d, c +.row_loop + ld [hli], a + dec d + jr nz, .row_loop ret -PlayBattleMusic: ; 2ee6c +INCLUDE "engine/delete_save_change_clock.asm" +INCLUDE "tilesets/tileset_headers.asm" + +FlagPredef: ; 4d7c1 +; Perform action b on flag c in flag array hl. +; If checking a flag, check flag array d:hl unless d is 0. + +; For longer flag arrays, see FlagAction. push hl - push de push bc - xor a - ld [MusicFade], a - ld de, MUSIC_NONE - call PlayMusic - call DelayFrame - call MaxVolume +; Divide by 8 to get the byte we want. + push bc + srl c + srl c + srl c + ld b, 0 + add hl, bc + pop bc - ld a, [BattleType] - cp BATTLETYPE_SUICUNE - ld de, MUSIC_SUICUNE_BATTLE - jp z, .done - cp BATTLETYPE_ROAMING - jp z, .done - - ; Are we fighting a trainer? - ld a, [OtherTrainerClass] - and a - jr nz, .trainermusic +; Which bit we want from the byte + ld a, c + and 7 + ld c, a - callba RegionCheck - ld a, e - and a - jr nz, .kantowild +; Shift left until we can mask the bit + ld a, 1 + jr z, .shifted +.shift + add a + dec c + jr nz, .shift +.shifted + ld c, a - ld de, MUSIC_JOHTO_WILD_BATTLE - ld a, [TimeOfDay] - cp NITE_F - jr nz, .done - ld de, MUSIC_JOHTO_WILD_BATTLE_NIGHT - jr .done +; What are we doing to this flag? + dec b + jr z, .set ; 1 + dec b + jr z, .check ; 2 -.kantowild - ld de, MUSIC_KANTO_WILD_BATTLE +.reset + ld a, c + cpl + and [hl] + ld [hl], a jr .done -.trainermusic - ld de, MUSIC_CHAMPION_BATTLE - cp CHAMPION - jr z, .done - cp RED - jr z, .done - - ; really, they should have included admins and scientists here too... - ld de, MUSIC_ROCKET_BATTLE - cp GRUNTM - jr z, .done - cp GRUNTF - jr z, .done - - ld de, MUSIC_KANTO_GYM_LEADER_BATTLE - callba IsKantoGymLeader - jr c, .done - - ld de, MUSIC_JOHTO_GYM_LEADER_BATTLE - callba IsJohtoGymLeader - jr c, .done - - ld de, MUSIC_RIVAL_BATTLE - ld a, [OtherTrainerClass] - cp RIVAL1 - jr z, .done - cp RIVAL2 - jr nz, .othertrainer - - ld a, [OtherTrainerID] - cp RIVAL2_2_CHIKORITA ; Rival in Indigo Plateau - jr c, .done - ld de, MUSIC_CHAMPION_BATTLE +.set + ld a, [hl] + or c + ld [hl], a jr .done -.othertrainer - ld a, [wLinkMode] - and a - jr nz, .johtotrainer - - callba RegionCheck - ld a, e - and a - jr nz, .kantotrainer +.check + ld a, d + cp 0 + jr nz, .farcheck -.johtotrainer - ld de, MUSIC_JOHTO_TRAINER_BATTLE + ld a, [hl] + and c jr .done -.kantotrainer - ld de, MUSIC_KANTO_TRAINER_BATTLE +.farcheck + call GetFarByte + and c .done - call PlayMusic - pop bc - pop de pop hl + ld c, a ret -ClearBattleRAM: ; 2ef18 - xor a - ld [wPlayerAction], a - ld [wBattleResult], a - - ld hl, wPartyMenuCursor - ld [hli], a - ld [hli], a - ld [hli], a - ld [hl], a - - ld [wMenuScrollPosition], a - ld [CriticalHit], a - ld [BattleMonSpecies], a - ld [wBattleParticipantsNotFainted], a - ld [CurBattleMon], a - ld [wForcedSwitch], a - ld [TimeOfDayPal], a - ld [PlayerTurnsTaken], a - ld [EnemyTurnsTaken], a - ld [EvolvableFlags], a - - ld hl, PlayerHPPal - ld [hli], a - ld [hl], a +GetTrademonFrontpic: ; 4d7fd + ld a, [wOTTrademonSpecies] + ld hl, wOTTrademonDVs + ld de, VTiles2 + push de + push af + predef GetUnownLetter + pop af + ld [CurPartySpecies], a + ld [CurSpecies], a + call GetBaseData + pop de + predef FrontpicPredef + ret - ld hl, BattleMonDVs - ld [hli], a - ld [hl], a - - ld hl, EnemyMonDVs - ld [hli], a - ld [hl], a - -; Clear the entire BattleMons area - ld hl, wBattle - ld bc, wBattleEnd - wBattle - xor a - call ByteFill - - callab ResetEnemyStatLevels - - call ClearWindowData - - ld hl, hBGMapAddress - xor a - ld [hli], a - ld [hl], VBGMap0 / $100 - ret - -PlaceGraphic: ; 2ef6e -; Fill wBoxAlignment-aligned box width b height c -; with iterating tile starting from hGraphicStartTile at hl. -; Predef $13 - - ld de, SCREEN_WIDTH - - ld a, [wBoxAlignment] - and a - jr nz, .right - - ld a, [hGraphicStartTile] -.x1 - push bc - push hl - -.y1 - ld [hl], a - add hl, de - inc a - dec c - jr nz, .y1 - - pop hl - inc hl - pop bc - dec b - jr nz, .x1 - ret - -.right -; Right-aligned. - push bc - ld b, 0 - dec c - add hl, bc - pop bc - - ld a, [hGraphicStartTile] -.x2 - push bc - push hl - -.y2 - ld [hl], a - add hl, de - inc a - dec c - jr nz, .y2 - - pop hl - dec hl - pop bc - dec b - jr nz, .x2 - ret - - -SECTION "Effect Commands", ROMX - -INCLUDE "battle/effect_commands.asm" - - -SECTION "Enemy Trainers", ROMX - -INCLUDE "battle/ai/items.asm" -INCLUDE "battle/ai/scoring.asm" -INCLUDE "engine/read_trainer_attributes.asm" -INCLUDE "data/trainers/trainer_attributes.asm" -INCLUDE "engine/read_trainer_party.asm" -INCLUDE "data/trainers/party_pointers.asm" -INCLUDE "data/trainers/parties.asm" - - -SECTION "Battle Core", ROMX - -INCLUDE "battle/core.asm" -INCLUDE "battle/effect_command_pointers.asm" - - -SECTION "bank10", ROMX - -INCLUDE "engine/pokedex.asm" -INCLUDE "battle/moves/moves.asm" -INCLUDE "engine/evolve.asm" - - -SECTION "bank11", ROMX - -INCLUDE "engine/fruit_trees.asm" -INCLUDE "battle/ai/move.asm" -INCLUDE "engine/pokedex_2.asm" -INCLUDE "data/pokemon/dex_entry_pointers.asm" -INCLUDE "engine/mail.asm" - - -SECTION "Crystal Unique", ROMX - -INCLUDE "engine/init_gender.asm" - -DrawKrisPackGFX: ; 48e81 - ld hl, PackFGFXPointers - add hl, de - add hl, de - ld a, [hli] - ld e, a - ld d, [hl] - ld hl, VTiles2 tile $50 - lb bc, BANK(PackFGFX), 15 - call Request2bpp - ret - -PackFGFXPointers: ; 48e93 - dw PackFGFX + (15 tiles) * 1 - dw PackFGFX + (15 tiles) * 3 - dw PackFGFX + (15 tiles) * 0 - dw PackFGFX + (15 tiles) * 2 - -PackFGFX: ; 48e9b -INCBIN "gfx/pack/pack_f.2bpp" - -Special_MoveTutor: ; 4925b - call FadeToMenu - call ClearBGPalettes - call ClearScreen - call DelayFrame - ld b, SCGB_PACKPALS - call GetSGBLayout - xor a - ld [wItemAttributeParamBuffer], a - call .GetMoveTutorMove - ld [wd265], a - ld [wPutativeTMHMMove], a - call GetMoveName - call CopyName1 - callba ChooseMonToLearnTMHM - jr c, .cancel - jr .enter_loop - -.loop - callba ChooseMonToLearnTMHM_NoRefresh - jr c, .cancel -.enter_loop - call CheckCanLearnMoveTutorMove - jr nc, .loop - xor a - ld [ScriptVar], a - jr .quit - -.cancel - ld a, -1 - ld [ScriptVar], a -.quit - call CloseSubmenu - ret - -.GetMoveTutorMove: ; 492a5 - ld a, [ScriptVar] - cp 1 - jr z, .flamethrower - cp 2 - jr z, .thunderbolt - ld a, ICE_BEAM - ret - -.flamethrower - ld a, FLAMETHROWER - ret - -.thunderbolt - ld a, THUNDERBOLT - ret - -CheckCanLearnMoveTutorMove: ; 492b9 - ld hl, .MenuDataHeader - call LoadMenuDataHeader - - predef CanLearnTMHMMove - - push bc - ld a, [CurPartyMon] - ld hl, PartyMonNicknames - call GetNick - pop bc - - ld a, c - and a - jr nz, .can_learn - push de - ld de, SFX_WRONG - call PlaySFX - pop de - ld a, BANK(Text_TMHMNotCompatible) - ld hl, Text_TMHMNotCompatible - call FarPrintText - jr .didnt_learn - -.can_learn - callab KnowsMove - jr c, .didnt_learn - - predef LearnMove - ld a, b - and a - jr z, .didnt_learn - - ld c, HAPPINESS_LEARNMOVE - callab ChangeHappiness - jr .learned - -.didnt_learn - call ExitMenu - and a - ret - -.learned - call ExitMenu - scf - ret - -.MenuDataHeader: ; 0x4930a - db $40 ; flags - db 12, 00 ; start coords - db 17, 19 ; end coords - -INCLUDE "engine/crystal_colors.asm" - -Unknown_4985a: ; unreferenced - db $ab, $03, $57, $24, $ac, $0e, $13, $32 - db $be, $30, $5b, $4c, $47, $60, $ed, $f2 - db $ab, $03, $55, $26, $aa, $0a, $13, $3a - db $be, $28, $33, $24, $6e, $71, $df, $b0 - db $a8, $00, $e5, $e0, $9a, $fc, $f4, $2c - db $fe, $4c, $a3, $5e, $c6, $3a, $ab, $4d - db $a8, $00, $b5, $b0, $de, $e8, $fc, $1c - db $ba, $66, $f7, $0e, $ba, $5e, $43, $bd - -INCLUDE "event/celebi.asm" -INCLUDE "engine/main_menu.asm" -INCLUDE "mobile/mobile_menu.asm" -INCLUDE "engine/search.asm" -INCLUDE "mobile/mobile_12_2.asm" -; mobile battle selection - -AskRememberPassword: ; 4ae12 - call .DoMenu - ld a, $0 - jr c, .okay - ld a, $1 - -.okay - ld [ScriptVar], a - ret - -.DoMenu: ; 4ae1f - lb bc, 14, 7 - push bc - ld hl, YesNoMenuDataHeader - call CopyMenuDataHeader - pop bc - ld a, b - ld [wMenuBorderLeftCoord], a - add $5 - ld [wMenuBorderRightCoord], a - ld a, c - ld [wMenuBorderTopCoord], a - add $4 - ld [wMenuBorderBottomCoord], a - call PushWindow - call VerticalMenu - push af - ld c, 15 - call DelayFrames - call Buena_ExitMenu - pop af - jr c, .refused - ld a, [wMenuCursorY] - cp $2 - jr z, .refused - and a - ret - -.refused - ld a, $2 - ld [wMenuCursorY], a - scf - ret - -Buena_ExitMenu: ; 4ae5e - ld a, [hOAMUpdate] - push af - call ExitMenu - call UpdateSprites - xor a - ld [hOAMUpdate], a - call DelayFrame - ld a, $1 - ld [hOAMUpdate], a - call ApplyTilemap - pop af - ld [hOAMUpdate], a - ret - - -SECTION "bank13", ROMX - -SwapTextboxPalettes:: ; 4c000 - hlcoord 0, 0 - decoord 0, 0, AttrMap - ld b, SCREEN_HEIGHT -.loop - push bc - ld c, SCREEN_WIDTH -.innerloop - ld a, [hl] - push hl - srl a - jr c, .UpperNybble - ld hl, TilesetPalettes - add [hl] - ld l, a - ld a, [TilesetPalettes + 1] - adc $0 - ld h, a - ld a, [hl] - and $f - jr .next - -.UpperNybble: - ld hl, TilesetPalettes - add [hl] - ld l, a - ld a, [TilesetPalettes + 1] - adc $0 - ld h, a - ld a, [hl] - swap a - and $f - -.next - pop hl - ld [de], a - res 7, [hl] - inc hl - inc de - dec c - jr nz, .innerloop - pop bc - dec b - jr nz, .loop - ret - -ScrollBGMapPalettes:: ; 4c03f - ld hl, BGMapBuffer - ld de, BGMapPalBuffer -.loop - ld a, [hl] - push hl - srl a - jr c, .UpperNybble - -; .LowerNybble - ld hl, TilesetPalettes - add [hl] - ld l, a - ld a, [TilesetPalettes + 1] - adc $0 - ld h, a - ld a, [hl] - and $f - jr .next - -.UpperNybble: - ld hl, TilesetPalettes - add [hl] - ld l, a - ld a, [TilesetPalettes + 1] - adc $0 - ld h, a - ld a, [hl] - swap a - and $f - -.next - pop hl - ld [de], a - res 7, [hl] - inc hl - inc de - dec c - jr nz, .loop - ret - -INCLUDE "tilesets/palette_maps.asm" - -Unknown_4ce05: ; unreferenced -rept 26 - db $06 -endr -; 0x4ce1f - -INCLUDE "data/collision_permissions.asm" - -EmptyAllSRAMBanks: ; 4cf1f - ld a, $0 - call .EmptyBank - ld a, $1 - call .EmptyBank - ld a, $2 - call .EmptyBank - ld a, $3 - call .EmptyBank - ret - -.EmptyBank: ; 4cf34 - call GetSRAMBank - ld hl, SRAM_Begin - ld bc, SRAM_End - SRAM_Begin - xor a - call ByteFill - call CloseSRAM - ret - -SaveMenu_LoadEDTile: ; 4cf45 (13:4f45) - ld a, [hCGB] - and a - jp z, WaitBGMap - -; The following is a modified version of LoadEDTile. - ld a, [hBGMapMode] - push af - xor a - ld [hBGMapMode], a - ld a, [hMapAnims] - push af - xor a - ld [hMapAnims], a -.WaitLY: - ld a, [rLY] - cp $60 - jr c, .WaitLY - - di - ld a, 1 ; BANK(VBGMap2) - ld [rVBK], a - hlcoord 0, 0, AttrMap - call .LoadEDTile - ld a, 0 ; BANK(VBGMap0) - ld [rVBK], a - hlcoord 0, 0 - call .LoadEDTile -.WaitLY2: - ld a, [rLY] - cp $60 - jr c, .WaitLY2 - ei - - pop af - ld [hMapAnims], a - pop af - ld [hBGMapMode], a - ret - -.LoadEDTile: ; 4cf80 (13:4f80) - ld [hSPBuffer], sp ; $ffd9 - ld sp, hl - ld a, [hBGMapAddress + 1] - ld h, a - ld l, 0 - ld a, SCREEN_HEIGHT - ld [hTilesPerCycle], a - ld b, 1 << 1 - ld c, rSTAT % $100 - -.loop -rept SCREEN_WIDTH / 2 - pop de -.loop\@ - ld a, [$ff00+c] - and b - jr nz, .loop\@ - ld [hl], e - inc l - ld [hl], d - inc l -endr - - ld de, $20 - SCREEN_WIDTH - add hl, de - ld a, [hTilesPerCycle] - dec a - ld [hTilesPerCycle], a - jr nz, .loop - - ld a, [hSPBuffer] - ld l, a - ld a, [hSPBuffer + 1] - ld h, a - ld sp, hl - ret - -CheckSave:: ; 4cffe - ld a, BANK(s1_a008) - call GetSRAMBank - ld a, [s1_a008] - ld b, a - ld a, [s1_ad0f] - ld c, a - call CloseSRAM - ld a, b - cp 99 - jr nz, .ok - ld a, c - cp " " - jr nz, .ok - ld c, $1 - ret - -.ok - ld c, $0 - ret - -INCLUDE "data/maps/map_triggers.asm" - -_LoadMapPart:: ; 4d15b - ld hl, wMisc - ld a, [wMetatileStandingY] - and a - jr z, .top_row - ld bc, WMISC_WIDTH * 2 - add hl, bc - -.top_row - ld a, [wMetatileStandingX] - and a - jr z, .left_column - inc hl - inc hl - -.left_column - decoord 0, 0 - ld b, SCREEN_HEIGHT -.loop - ld c, SCREEN_WIDTH -.loop2 - ld a, [hli] - ld [de], a - inc de - dec c - jr nz, .loop2 - ld a, l - add 4 - ld l, a - jr nc, .carry - inc h - -.carry - dec b - jr nz, .loop - ret - -PhoneRing_LoadEDTile: ; 4d188 - ld a, [hCGB] - and a - jp z, WaitBGMap - ld a, [wSpriteUpdatesEnabled] - cp $0 - jp z, WaitBGMap - -; What follows is a modified version of LoadEDTile. - ld a, [hBGMapMode] - push af - xor a - ld [hBGMapMode], a - ld a, [hMapAnims] - push af - xor a - ld [hMapAnims], a -.wait - ld a, [rLY] - cp $8f - jr c, .wait - - di - ld a, 1 ; BANK(VBGMap2) - ld [rVBK], a - hlcoord 0, 0, AttrMap - call .LoadEDTile - ld a, 0 ; BANK(VBGMap0) - ld [rVBK], a - hlcoord 0, 0 - call .LoadEDTile -.wait2 - ld a, [rLY] - cp $8f - jr c, .wait2 - ei - - pop af - ld [hMapAnims], a - pop af - ld [hBGMapMode], a - ret - -.LoadEDTile: ; 4d1cb - ld [hSPBuffer], sp - ld sp, hl - ld a, [hBGMapAddress + 1] - ld h, a - ld l, 0 - ld a, SCREEN_HEIGHT - ld [hTilesPerCycle], a - ld b, 1 << 1 ; not in v/hblank - ld c, rSTAT % $100 - -.loop -rept SCREEN_WIDTH / 2 - pop de -.loop\@ - ld a, [$ff00+c] - and b - jr nz, .loop\@ - ld [hl], e - inc l - ld [hl], d - inc l -endr - - ld de, $20 - SCREEN_WIDTH - add hl, de - ld a, [hTilesPerCycle] - dec a - ld [hTilesPerCycle], a - jr nz, .loop - - ld a, [hSPBuffer] - ld l, a - ld a, [hSPBuffer + 1] - ld h, a - ld sp, hl - ret - -Shrink1Pic: ; 4d249 -INCBIN "gfx/shrink/shrink1.2bpp.lz" - -Shrink2Pic: ; 4d2d9 -INCBIN "gfx/shrink/shrink2.2bpp.lz" - -LinkMonStatsScreen: ; 4d319 - ld a, [wMenuCursorY] - dec a - ld [CurPartyMon], a - call LowVolume - predef StatsScreenInit - ld a, [CurPartyMon] - inc a - ld [wMenuCursorY], a - call ClearScreen - call ClearBGPalettes - call MaxVolume - callba LoadTradeScreenBorder - callba Link_WaitBGMap - callba InitTradeSpeciesList - callba SetTradeRoomBGPals - call WaitBGMap2 - ret - -Link_WaitBGMap: ; 4d354 - call WaitBGMap - call WaitBGMap2 - ret - -LinkTextbox2: ; 4d35b - ld h, d - ld l, e - push bc - push hl - call .PlaceBorder - pop hl - pop bc - ld de, AttrMap - TileMap - add hl, de - inc b - inc b - inc c - inc c - ld a, $7 -.row - push bc - push hl -.col - ld [hli], a - dec c - jr nz, .col - pop hl - ld de, SCREEN_WIDTH - add hl, de - pop bc - dec b - jr nz, .row - ret - -.PlaceBorder: ; 4d37e - push hl - ld a, $76 - ld [hli], a - inc a - call .PlaceRow - inc a - ld [hl], a - pop hl - ld de, SCREEN_WIDTH - add hl, de -.loop - push hl - ld a, "┌" - ld [hli], a - ld a, " " - call .PlaceRow - ld [hl], "─" - pop hl - ld de, SCREEN_WIDTH - add hl, de - dec b - jr nz, .loop - ld a, "┐" - ld [hli], a - ld a, "│" - call .PlaceRow - ld [hl], "└" - ret - -.PlaceRow: ; 4d3ab - ld d, c -.row_loop - ld [hli], a - dec d - jr nz, .row_loop - ret - -INCLUDE "engine/delete_save_change_clock.asm" - -INCLUDE "tilesets/tileset_headers.asm" - -FlagPredef: ; 4d7c1 -; Perform action b on flag c in flag array hl. -; If checking a flag, check flag array d:hl unless d is 0. - -; For longer flag arrays, see FlagAction. - - push hl - push bc - -; Divide by 8 to get the byte we want. - push bc - srl c - srl c - srl c - ld b, 0 - add hl, bc - pop bc - -; Which bit we want from the byte - ld a, c - and 7 - ld c, a - -; Shift left until we can mask the bit - ld a, 1 - jr z, .shifted -.shift - add a - dec c - jr nz, .shift -.shifted - ld c, a - -; What are we doing to this flag? - dec b - jr z, .set ; 1 - dec b - jr z, .check ; 2 - -.reset - ld a, c - cpl - and [hl] - ld [hl], a - jr .done - -.set - ld a, [hl] - or c - ld [hl], a - jr .done - -.check - ld a, d - cp 0 - jr nz, .farcheck - - ld a, [hl] - and c - jr .done - -.farcheck - call GetFarByte - and c - -.done - pop bc - pop hl - ld c, a - ret - -GetTrademonFrontpic: ; 4d7fd - ld a, [wOTTrademonSpecies] - ld hl, wOTTrademonDVs - ld de, VTiles2 - push de - push af - predef GetUnownLetter - pop af - ld [CurPartySpecies], a - ld [CurSpecies], a - call GetBaseData - pop de - predef FrontpicPredef - ret - -AnimateTrademonFrontpic: ; 4d81e - ld a, [wOTTrademonSpecies] - call IsAPokemon - ret c - callba ShowOTTrademonStats - ld a, [wOTTrademonSpecies] - ld [CurPartySpecies], a - ld a, [wOTTrademonDVs] - ld [TempMonDVs], a - ld a, [wOTTrademonDVs + 1] - ld [TempMonDVs + 1], a - ld b, SCGB_PLAYER_OR_MON_FRONTPIC_PALS - call GetSGBLayout - ld a, %11100100 ; 3,2,1,0 - call DmgToCgbBGPals - callba TradeAnim_ShowGetmonFrontpic - ld a, [wOTTrademonSpecies] - ld [CurPartySpecies], a - hlcoord 7, 2 - ld d, $0 - ld e, ANIM_MON_TRADE - predef AnimateFrontpic - ret - -CheckPokerus: ; 4d860 -; Return carry if a monster in your party has Pokerus - -; Get number of monsters to iterate over - ld a, [PartyCount] - and a - jr z, .NoPokerus - ld b, a -; Check each monster in the party for Pokerus - ld hl, PartyMon1PokerusStatus - ld de, PARTYMON_STRUCT_LENGTH -.Check: - ld a, [hl] - and $0f ; only the bottom nybble is used - jr nz, .HasPokerus -; Next PartyMon - add hl, de - dec b - jr nz, .Check -.NoPokerus: - and a - ret -.HasPokerus: - scf - ret - -Special_CheckForLuckyNumberWinners: ; 4d87a - xor a - ld [ScriptVar], a - ld [wFoundMatchingIDInParty], a - ld a, [PartyCount] - and a - ret z - ld d, a - ld hl, PartyMon1ID - ld bc, PartySpecies -.PartyLoop: - ld a, [bc] - inc bc - cp EGG - call nz, .CompareLuckyNumberToMonID - push bc - ld bc, PARTYMON_STRUCT_LENGTH - add hl, bc - pop bc - dec d - jr nz, .PartyLoop - ld a, BANK(sBox) - call GetSRAMBank - ld a, [sBoxCount] - and a - jr z, .SkipOpenBox - ld d, a - ld hl, sBoxMon1ID - ld bc, sBoxSpecies -.OpenBoxLoop: - ld a, [bc] - inc bc - cp EGG - jr z, .SkipOpenBoxMon - call .CompareLuckyNumberToMonID - jr nc, .SkipOpenBoxMon - ld a, 1 - ld [wFoundMatchingIDInParty], a - -.SkipOpenBoxMon: - push bc - ld bc, BOXMON_STRUCT_LENGTH - add hl, bc - pop bc - dec d - jr nz, .OpenBoxLoop - -.SkipOpenBox: - call CloseSRAM - ld c, $0 -.BoxesLoop: - ld a, [wCurBox] - and $f - cp c - jr z, .SkipBox - ld hl, .BoxBankAddresses - ld b, 0 - add hl, bc - add hl, bc - add hl, bc - ld a, [hli] - call GetSRAMBank - ld a, [hli] - ld h, [hl] - ld l, a ; hl now contains the address of the loaded box in SRAM - ld a, [hl] - and a - jr z, .SkipBox ; no mons in this box - push bc - ld b, h - ld c, l - inc bc - ld de, sBoxMon1ID - sBox - add hl, de - ld d, a -.BoxNLoop: - ld a, [bc] - inc bc - cp EGG - jr z, .SkipBoxMon - - call .CompareLuckyNumberToMonID ; sets ScriptVar and CurPartySpecies appropriately - jr nc, .SkipBoxMon - ld a, 1 - ld [wFoundMatchingIDInParty], a - -.SkipBoxMon: - push bc - ld bc, BOXMON_STRUCT_LENGTH - add hl, bc - pop bc - dec d - jr nz, .BoxNLoop - pop bc - -.SkipBox: - inc c - ld a, c - cp NUM_BOXES - jr c, .BoxesLoop - - call CloseSRAM - ld a, [ScriptVar] - and a - ret z ; found nothing - callba TrainerRankings_LuckyNumberShow - ld a, [wFoundMatchingIDInParty] - and a - push af - ld a, [CurPartySpecies] - ld [wNamedObjectIndexBuffer], a - call GetPokemonName - ld hl, .FoundPartymonText - pop af - jr z, .print - ld hl, .FoundBoxmonText - -.print - jp PrintText - -.CompareLuckyNumberToMonID: ; 4d939 - push bc - push de - push hl - ld d, h - ld e, l - ld hl, Buffer1 - lb bc, PRINTNUM_LEADINGZEROS | 2, 5 - call PrintNum - ld hl, LuckyNumberDigit1Buffer - ld de, wLuckyIDNumber - lb bc, PRINTNUM_LEADINGZEROS | 2, 5 - call PrintNum - ld b, 5 - ld c, 0 - ld hl, LuckyNumberDigit5Buffer - ld de, Buffer5 -.loop - ld a, [de] - cp [hl] - jr nz, .done - dec de - dec hl - inc c - dec b - jr nz, .loop - -.done - pop hl - push hl - ld de, -6 - add hl, de - ld a, [hl] - pop hl - pop de - push af - ld a, c - ld b, 1 - cp 5 - jr z, .okay - ld b, 2 - cp 3 - jr nc, .okay - ld b, 3 - cp 2 - jr nz, .nomatch - -.okay - inc b - ld a, [ScriptVar] - and a - jr z, .bettermatch - cp b - jr c, .nomatch - -.bettermatch - dec b - ld a, b - ld [ScriptVar], a - pop bc - ld a, b - ld [CurPartySpecies], a - pop bc - scf - ret - -.nomatch - pop bc - pop bc - and a - ret - -.BoxBankAddresses: ; 4d99f - dba sBox1 - dba sBox2 - dba sBox3 - dba sBox4 - dba sBox5 - dba sBox6 - dba sBox7 - dba sBox8 - dba sBox9 - dba sBox10 - dba sBox11 - dba sBox12 - dba sBox13 - dba sBox14 - -.FoundPartymonText: ; 0x4d9c9 - ; Congratulations! We have a match with the ID number of @ in your party. - text_jump UnknownText_0x1c1261 - db "@" - -.FoundBoxmonText: ; 0x4d9ce - ; Congratulations! We have a match with the ID number of @ in your PC BOX. - text_jump UnknownText_0x1c12ae - db "@" - -Special_PrintTodaysLuckyNumber: ; 4d9d3 - ld hl, StringBuffer3 - ld de, wLuckyIDNumber - lb bc, PRINTNUM_LEADINGZEROS | 2, 5 - call PrintNum - ld a, "@" - ld [StringBuffer3 + 5], a - ret - -CheckPartyFullAfterContest: ; 4d9e5 - ld a, [wContestMon] - and a - jp z, .DidntCatchAnything - ld [CurPartySpecies], a - ld [CurSpecies], a - call GetBaseData - ld hl, PartyCount - ld a, [hl] - cp 6 - jp nc, .TryAddToBox - inc a - ld [hl], a - ld c, a - ld b, $0 - add hl, bc - ld a, [wContestMon] - ld [hli], a - ld [CurSpecies], a - ld a, $ff - ld [hl], a - ld hl, PartyMon1Species - ld a, [PartyCount] - dec a - ld bc, PARTYMON_STRUCT_LENGTH - call AddNTimes - ld d, h - ld e, l - ld hl, wContestMon - ld bc, PARTYMON_STRUCT_LENGTH - call CopyBytes - ld a, [PartyCount] - dec a - ld hl, PartyMonOT - call SkipNames - ld d, h - ld e, l - ld hl, PlayerName - call CopyBytes - ld a, [CurPartySpecies] - ld [wd265], a - call GetPokemonName - ld hl, StringBuffer1 - ld de, wMonOrItemNameBuffer - ld bc, PKMN_NAME_LENGTH - call CopyBytes - call GiveANickname_YesNo - jr c, .Party_SkipNickname - ld a, [PartyCount] - dec a - ld [CurPartyMon], a - xor a - ld [MonType], a - ld de, wMonOrItemNameBuffer - callab InitNickname - -.Party_SkipNickname: - ld a, [PartyCount] - dec a - ld hl, PartyMonNicknames - call SkipNames - ld d, h - ld e, l - ld hl, wMonOrItemNameBuffer - call CopyBytes - ld a, [PartyCount] - dec a - ld hl, PartyMon1Level - call GetPartyLocation - ld a, [hl] - ld [CurPartyLevel], a - call SetCaughtData - ld a, [PartyCount] - dec a - ld hl, PartyMon1CaughtLocation - call GetPartyLocation - ld a, [hl] - and $80 - ld b, $13 - or b - ld [hl], a - xor a - ld [wContestMon], a - and a - ld [ScriptVar], a - ret - -.TryAddToBox: ; 4daa3 - ld a, BANK(sBoxCount) - call GetSRAMBank - ld hl, sBoxCount - ld a, [hl] - cp MONS_PER_BOX - call CloseSRAM - jr nc, .BoxFull - xor a - ld [CurPartyMon], a - ld hl, wContestMon - ld de, wBufferMon - ld bc, BOXMON_STRUCT_LENGTH - call CopyBytes - ld hl, PlayerName - ld de, wBufferMonOT - ld bc, NAME_LENGTH - call CopyBytes - callab InsertPokemonIntoBox - ld a, [CurPartySpecies] - ld [wd265], a - call GetPokemonName - call GiveANickname_YesNo - ld hl, StringBuffer1 - jr c, .Box_SkipNickname - ld a, BOXMON - ld [MonType], a - ld de, wMonOrItemNameBuffer - callab InitNickname - ld hl, wMonOrItemNameBuffer - -.Box_SkipNickname: - ld a, BANK(sBoxMonNicknames) - call GetSRAMBank - ld de, sBoxMonNicknames - ld bc, PKMN_NAME_LENGTH - call CopyBytes - call CloseSRAM - -.BoxFull: - ld a, BANK(sBoxMon1Level) - call GetSRAMBank - ld a, [sBoxMon1Level] - ld [CurPartyLevel], a - call CloseSRAM - call SetBoxMonCaughtData - ld a, BANK(sBoxMon1CaughtLocation) - call GetSRAMBank - ld hl, sBoxMon1CaughtLocation - ld a, [hl] - and $80 - ld b, $13 - or b - ld [hl], a - call CloseSRAM - xor a - ld [wContestMon], a - ld a, $1 - ld [ScriptVar], a - ret - -.DidntCatchAnything: ; 4db35 - ld a, $2 - ld [ScriptVar], a - ret - -GiveANickname_YesNo: ; 4db3b - ld hl, TextJump_GiveANickname - call PrintText - jp YesNoBox - -TextJump_GiveANickname: ; 0x4db44 - ; Give a nickname to the @ you received? - text_jump UnknownText_0x1c12fc - db "@" - -SetCaughtData: ; 4db49 - ld a, [PartyCount] - dec a - ld hl, PartyMon1CaughtLevel - call GetPartyLocation -SetBoxmonOrEggmonCaughtData: ; 4db53 - ld a, [TimeOfDay] - inc a - rrca - rrca - ld b, a - ld a, [CurPartyLevel] - or b - ld [hli], a - ld a, [MapGroup] - ld b, a - ld a, [MapNumber] - ld c, a - cp MAP_POKECENTER_2F - jr nz, .NotPokecenter2F - ld a, b - cp GROUP_POKECENTER_2F - jr nz, .NotPokecenter2F - - ld a, [BackupMapGroup] - ld b, a - ld a, [BackupMapNumber] - ld c, a - -.NotPokecenter2F: - call GetWorldMapLocation - ld b, a - ld a, [PlayerGender] - rrca - or b - ld [hl], a - ret - -SetBoxMonCaughtData: ; 4db83 - ld a, BANK(sBoxMon1CaughtLevel) - call GetSRAMBank - ld hl, sBoxMon1CaughtLevel - call SetBoxmonOrEggmonCaughtData - call CloseSRAM - ret - -SetGiftBoxMonCaughtData: ; 4db92 - push bc - ld a, BANK(sBoxMon1CaughtLevel) - call GetSRAMBank - ld hl, sBoxMon1CaughtLevel - pop bc - call SetGiftMonCaughtData - call CloseSRAM - ret - -SetGiftPartyMonCaughtData: ; 4dba3 - ld a, [PartyCount] - dec a - ld hl, PartyMon1CaughtLevel - push bc - call GetPartyLocation - pop bc -SetGiftMonCaughtData: ; 4dbaf - xor a - ld [hli], a - ld a, $7e - rrc b - or b - ld [hl], a - ret - -SetEggMonCaughtData: ; 4dbb8 (13:5bb8) - ld a, [CurPartyMon] - ld hl, PartyMon1CaughtLevel - call GetPartyLocation - ld a, [CurPartyLevel] - push af - ld a, $1 - ld [CurPartyLevel], a - call SetBoxmonOrEggmonCaughtData - pop af - ld [CurPartyLevel], a - ret - -INCLUDE "engine/search2.asm" - -INCLUDE "engine/stats_screen.asm" - -CatchTutorial:: ; 4e554 - ld a, [BattleType] - dec a - ld c, a - ld hl, .dw - ld b, 0 - add hl, bc - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - jp hl - -.dw ; 4e564 (13:6564) - dw .DudeTutorial - dw .DudeTutorial - dw .DudeTutorial - -.DudeTutorial: ; 4e56a (13:656a) -; Back up your name to your Mom's name. - ld hl, PlayerName - ld de, MomsName - ld bc, NAME_LENGTH - call CopyBytes -; Copy Dude's name to your name - ld hl, .Dude - ld de, PlayerName - ld bc, NAME_LENGTH - call CopyBytes - - call .LoadDudeData - - xor a - ld [hJoyDown], a - ld [hJoyPressed], a - ld a, [Options] - push af - and $f8 - add $3 - ld [Options], a - ld hl, .AutoInput - ld a, BANK(.AutoInput) - call StartAutoInput - callab StartBattle - call StopAutoInput - pop af - - ld [Options], a - ld hl, MomsName - ld de, PlayerName - ld bc, NAME_LENGTH - call CopyBytes - ret - -.LoadDudeData: ; 4e5b7 (13:65b7) - ld hl, wDudeNumItems - ld [hl], 1 - inc hl - ld [hl], POTION - inc hl - ld [hl], 1 - inc hl - ld [hl], -1 - ld hl, wDudeNumKeyItems - ld [hl], 0 - inc hl - ld [hl], -1 - ld hl, wDudeNumBalls - ld a, 1 - ld [hli], a - ld a, POKE_BALL ; 5 - ld [hli], a - ld [hli], a - ld [hl], -1 - ret - -.Dude: ; 4e5da - db "DUDE@" - -.AutoInput: ; 4e5df - db NO_INPUT, $ff ; end - -INCLUDE "engine/evolution_animation.asm" - -InitDisplayForHallOfFame: ; 4e881 - call ClearBGPalettes - call ClearTileMap - call ClearSprites - call DisableLCD - call LoadStandardFont - call LoadFontsBattleExtra - hlbgcoord 0, 0 - ld bc, VBGMap1 - VBGMap0 - ld a, " " - call ByteFill - hlcoord 0, 0, AttrMap - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT - xor a - call ByteFill - xor a - ld [hSCY], a - ld [hSCX], a - call EnableLCD - ld hl, .SavingRecordDontTurnOff - call PrintText - call WaitBGMap2 - call SetPalettes - ret - -.SavingRecordDontTurnOff: ; 0x4e8bd - ; SAVING RECORD… DON'T TURN OFF! - text_jump UnknownText_0x1bd39e - db "@" - -InitDisplayForRedCredits: ; 4e8c2 - call ClearBGPalettes - call ClearTileMap - call ClearSprites - call DisableLCD - call LoadStandardFont - call LoadFontsBattleExtra - hlbgcoord 0, 0 - ld bc, VBGMap1 - VBGMap0 - ld a, " " - call ByteFill - hlcoord 0, 0, AttrMap - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT - xor a - call ByteFill - ld hl, UnknBGPals - ld c, 4 tiles -.load_white_palettes - ld a, (palred 31 + palgreen 31 + palblue 31) % $100 - ld [hli], a - ld a, (palred 31 + palgreen 31 + palblue 31) / $100 - ld [hli], a - dec c - jr nz, .load_white_palettes - xor a - ld [hSCY], a - ld [hSCX], a - call EnableLCD - call WaitBGMap2 - call SetPalettes - ret - -ResetDisplayBetweenHallOfFameMons: ; 4e906 - ld a, [rSVBK] - push af - ld a, $6 - ld [rSVBK], a - ld hl, wDecompressScratch - ld bc, wScratchAttrMap - wDecompressScratch - ld a, " " - call ByteFill - hlbgcoord 0, 0 - ld de, wDecompressScratch - ld b, 0 - ld c, 4 tiles - call Request2bpp - pop af - ld [rSVBK], a - ret - -GetMobileOTTrainerClass: ; mobile function - ld h, b - ld l, c - call .GetMobileOTTrainerClass - ld c, a - ret - -.GetMobileOTTrainerClass: ; 4e930 - ld a, [hli] - xor [hl] - ld c, a - jr z, .skip_male_trainers - srl c - srl c -.male_trainer_loop - srl c - ld a, c - cp MaleTrainersEnd - MaleTrainers - 1 - jr nc, .male_trainer_loop - inc c - -.skip_male_trainers - ld a, [de] - cp $1 - ld hl, MaleTrainers - jr nz, .finished - - ld hl, FemaleTrainers - ld a, c - and a - jr z, .finished - -.female_trainer_loop - srl c - ld a, c - cp FemaleTrainersEnd - FemaleTrainers - 1 - jr nc, .female_trainer_loop - inc c - -.finished - ld b, $0 - add hl, bc - ld a, [hl] - ret - -INCLUDE "data/trainers/gendered_trainers.asm" - -INCLUDE "battle/sliding_intro.asm" - -Mobile_PrintOpponentBattleMessage: ; 4ea0a - ld a, c - push af - call SpeechTextBox - call MobileTextBorder - pop af - dec a - ld bc, $c - ld hl, w5_MobileOpponentBattleMessages - call AddNTimes - ld de, wMobileOpponentBattleMessage - ld bc, $c - ld a, $5 ; BANK(w5_MobileOpponentBattleMessages) - call FarCopyWRAM - - ld a, [rSVBK] - push af - ld a, $1 - ld [rSVBK], a - - ld bc, wMobileOpponentBattleMessage - decoord 1, 14 - callba PrintEZChatBattleMessage - - pop af - ld [rSVBK], a - - ld c, 180 - call DelayFrames - ret - -CheckBattleScene: ; 4ea44 -; Return carry if battle scene is turned off. - - ld a, 0 - ld hl, wLinkMode - call GetFarWRAMByte - cp LINK_MOBILE - jr z, .mobile - - ld a, [Options] - bit BATTLE_SCENE, a - jr nz, .off - - and a - ret - -.mobile - ld a, [wcd2f] - and a - jr nz, .from_wram - - ld a, $4 - call GetSRAMBank - ld a, [$a60c] - ld c, a - call CloseSRAM - - ld a, c - bit 0, c - jr z, .off - - and a - ret - -.from_wram - ld a, $5 - ld hl, w5_dc00 - call GetFarWRAMByte - bit 0, a - jr z, .off - - and a - ret - -.off - scf - ret - -INCLUDE "engine/gbc_only.asm" - -INCLUDE "event/poke_seer.asm" - - -SECTION "bank14", ROMX - -INCLUDE "engine/party_menu.asm" -INCLUDE "event/poisonstep.asm" -INCLUDE "event/sweet_scent.asm" -INCLUDE "event/squirtbottle.asm" -INCLUDE "event/card_key.asm" -INCLUDE "event/basement_key.asm" -INCLUDE "event/sacred_ash.asm" - -CopyPkmnToTempMon: ; 5084a -; gets the BaseData of a Pkmn -; and copys the PkmnStructure to TempMon - - ld a, [CurPartyMon] - ld e, a - call GetPkmnSpecies - ld a, [CurPartySpecies] - ld [CurSpecies], a - call GetBaseData - - ld a, [MonType] - ld hl, PartyMon1Species - ld bc, PARTYMON_STRUCT_LENGTH - and a - jr z, .copywholestruct - ld hl, OTPartyMon1Species - ld bc, PARTYMON_STRUCT_LENGTH - cp OTPARTYMON - jr z, .copywholestruct - ld bc, BOXMON_STRUCT_LENGTH - callab CopyBoxmonToTempMon - jr .done - -.copywholestruct - ld a, [CurPartyMon] - call AddNTimes - ld de, TempMon - ld bc, PARTYMON_STRUCT_LENGTH - call CopyBytes - -.done - ret - -CalcwBufferMonStats: ; 5088b - ld bc, wBufferMon - jr _TempMonStatsCalculation - -CalcTempmonStats: ; 50890 - ld bc, TempMon -_TempMonStatsCalculation: ; 50893 - ld hl, MON_LEVEL - add hl, bc - ld a, [hl] - ld [CurPartyLevel], a - ld hl, MON_MAXHP - add hl, bc - ld d, h - ld e, l - ld hl, MON_STAT_EXP - 1 - add hl, bc - push bc - ld b, $1 - predef CalcPkmnStats - pop bc - ld hl, MON_HP - add hl, bc - ld d, h - ld e, l - ld a, [CurPartySpecies] - cp EGG - jr nz, .not_egg - xor a - ld [de], a - inc de - ld [de], a - jr .zero_status - -.not_egg - push bc - ld hl, MON_MAXHP - add hl, bc - ld bc, 2 - call CopyBytes - pop bc - -.zero_status - ld hl, MON_STATUS - add hl, bc - xor a - ld [hli], a - ld [hl], a +AnimateTrademonFrontpic: ; 4d81e + ld a, [wOTTrademonSpecies] + call IsAPokemon + ret c + callba ShowOTTrademonStats + ld a, [wOTTrademonSpecies] + ld [CurPartySpecies], a + ld a, [wOTTrademonDVs] + ld [TempMonDVs], a + ld a, [wOTTrademonDVs + 1] + ld [TempMonDVs + 1], a + ld b, SCGB_PLAYER_OR_MON_FRONTPIC_PALS + call GetSGBLayout + ld a, %11100100 ; 3,2,1,0 + call DmgToCgbBGPals + callba TradeAnim_ShowGetmonFrontpic + ld a, [wOTTrademonSpecies] + ld [CurPartySpecies], a + hlcoord 7, 2 + ld d, $0 + ld e, ANIM_MON_TRADE + predef AnimateFrontpic ret -GetPkmnSpecies: ; 508d5 -; [MonType] has the type of the Pkmn -; e = Nr. of Pkmn (i.e. [CurPartyMon]) - - ld a, [MonType] - and a ; PARTYMON - jr z, .partymon - cp OTPARTYMON - jr z, .otpartymon - cp BOXMON - jr z, .boxmon - cp TEMPMON - jr z, .breedmon - ; WILDMON +CheckPokerus: ; 4d860 +; Return carry if a monster in your party has Pokerus -.partymon - ld hl, PartySpecies - jr .done +; Get number of monsters to iterate over + ld a, [PartyCount] + and a + jr z, .NoPokerus + ld b, a +; Check each monster in the party for Pokerus + ld hl, PartyMon1PokerusStatus + ld de, PARTYMON_STRUCT_LENGTH +.Check: + ld a, [hl] + and $0f ; only the bottom nybble is used + jr nz, .HasPokerus +; Next PartyMon + add hl, de + dec b + jr nz, .Check +.NoPokerus: + and a + ret +.HasPokerus: + scf + ret -.otpartymon - ld hl, OTPartySpecies - jr .done +INCLUDE "event/lucky_number.asm" +INCLUDE "engine/caught_data.asm" +INCLUDE "engine/search2.asm" +INCLUDE "engine/stats_screen.asm" +INCLUDE "event/catch_tutorial.asm" +INCLUDE "engine/evolution_animation.asm" -.boxmon - ld a, BANK(sBoxSpecies) - call GetSRAMBank - ld hl, sBoxSpecies - call .done - call CloseSRAM +InitDisplayForHallOfFame: ; 4e881 + call ClearBGPalettes + call ClearTileMap + call ClearSprites + call DisableLCD + call LoadStandardFont + call LoadFontsBattleExtra + hlbgcoord 0, 0 + ld bc, VBGMap1 - VBGMap0 + ld a, " " + call ByteFill + hlcoord 0, 0, AttrMap + ld bc, SCREEN_WIDTH * SCREEN_HEIGHT + xor a + call ByteFill + xor a + ld [hSCY], a + ld [hSCX], a + call EnableLCD + ld hl, .SavingRecordDontTurnOff + call PrintText + call WaitBGMap2 + call SetPalettes ret -.breedmon - ld a, [wBreedMon1Species] - jr .done2 - -.done - ld d, 0 - add hl, de - ld a, [hl] +.SavingRecordDontTurnOff: ; 0x4e8bd + ; SAVING RECORD… DON'T TURN OFF! + text_jump UnknownText_0x1bd39e + db "@" -.done2 - ld [CurPartySpecies], a +InitDisplayForRedCredits: ; 4e8c2 + call ClearBGPalettes + call ClearTileMap + call ClearSprites + call DisableLCD + call LoadStandardFont + call LoadFontsBattleExtra + hlbgcoord 0, 0 + ld bc, VBGMap1 - VBGMap0 + ld a, " " + call ByteFill + hlcoord 0, 0, AttrMap + ld bc, SCREEN_WIDTH * SCREEN_HEIGHT + xor a + call ByteFill + ld hl, UnknBGPals + ld c, 4 tiles +.load_white_palettes + ld a, (palred 31 + palgreen 31 + palblue 31) % $100 + ld [hli], a + ld a, (palred 31 + palgreen 31 + palblue 31) / $100 + ld [hli], a + dec c + jr nz, .load_white_palettes + xor a + ld [hSCY], a + ld [hSCX], a + call EnableLCD + call WaitBGMap2 + call SetPalettes ret -INCLUDE "text/types.asm" - -Function50a28: ; 50a28 -; XXX - ld hl, .Strings - ld a, [TrainerClass] - dec a - ld c, a +ResetDisplayBetweenHallOfFameMons: ; 4e906 + ld a, [rSVBK] + push af + ld a, $6 + ld [rSVBK], a + ld hl, wDecompressScratch + ld bc, wScratchAttrMap - wDecompressScratch + ld a, " " + call ByteFill + hlbgcoord 0, 0 + ld de, wDecompressScratch ld b, 0 - add hl, bc - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - ld de, StringBuffer1 -.copy - ld a, [hli] - ld [de], a - inc de - cp "@" - jr nz, .copy + ld c, 4 tiles + call Request2bpp + pop af + ld [rSVBK], a ret -.Strings: ; 50a42 -; Untranslated trainer class names from Red. - dw .Youngster - dw .BugCatcher - dw .Lass - dw OTClassName - dw .JrTrainerM - dw .JrTrainerF - dw .Pokemaniac - dw .SuperNerd - dw OTClassName - dw OTClassName - dw .Burglar - dw .Engineer - dw .Jack - dw OTClassName - dw .Swimmer - dw OTClassName - dw OTClassName - dw .Beauty - dw OTClassName - dw .Rocker - dw .Juggler - dw OTClassName - dw OTClassName - dw .Blackbelt - dw OTClassName - dw .ProfOak - dw .Chief - dw .Scientist - dw OTClassName - dw .Rocket - dw .CooltrainerM - dw .CooltrainerF - dw OTClassName - dw OTClassName - dw OTClassName - dw OTClassName - dw OTClassName - dw OTClassName - dw OTClassName - dw OTClassName - dw OTClassName - dw OTClassName - dw OTClassName - dw OTClassName - dw OTClassName - dw OTClassName - dw OTClassName - -.Youngster: db "たんパン@" -.BugCatcher: db "むしとり@" -.Lass: db "ミニスカ@" -.JrTrainerM: db "ボーイ@" -.JrTrainerF: db "ガール@" -.Pokemaniac: db "マニア@" -.SuperNerd: db "りかけい@" -.Burglar: db "どろぼう@" -.Engineer: db "ォヤジ@" -.Jack: db "ジャック@" -.Swimmer: db "かいパン@" -.Beauty: db "おねえさん@" -.Rocker: db "グループ@" -.Juggler: db "ジャグラー@" -.Blackbelt: db "からて@" -.ProfOak: db "ォーキド@" -.Chief: db "チーフ@" -.Scientist: db "けんきゅういん@" -.Rocket: db "だんいん@" -.CooltrainerM: db "エりート♂@" -.CooltrainerF: db "エりート♀@" - -DrawPlayerHP: ; 50b0a - ld a, $1 - jr DrawHP - -DrawEnemyHP: ; 50b0e - ld a, $2 - -DrawHP: ; 50b10 - ld [wWhichHPBar], a - push hl - push bc - ; box mons have full HP - ld a, [MonType] - cp BOXMON - jr z, .at_least_1_hp - - ld a, [TempMonHP] - ld b, a - ld a, [TempMonHP + 1] - ld c, a - -; Any HP? - or b - jr nz, .at_least_1_hp - - xor a +GetMobileOTTrainerClass: ; mobile function + ld h, b + ld l, c + call .GetMobileOTTrainerClass ld c, a - ld e, a - ld a, 6 - ld d, a - jp .fainted - -.at_least_1_hp - ld a, [TempMonMaxHP] - ld d, a - ld a, [TempMonMaxHP + 1] - ld e, a - ld a, [MonType] - cp BOXMON - jr nz, .not_boxmon - - ld b, d - ld c, e + ret -.not_boxmon - predef ComputeHPBarPixels - ld a, 6 - ld d, a +.GetMobileOTTrainerClass: ; 4e930 + ld a, [hli] + xor [hl] ld c, a - -.fainted + jr z, .skip_male_trainers + srl c + srl c +.male_trainer_loop + srl c ld a, c - pop bc - ld c, a - pop hl - push de - push hl - push hl - call DrawBattleHPBar - pop hl + cp MaleTrainersEnd - MaleTrainers - 1 + jr nc, .male_trainer_loop + inc c -; Print HP - bccoord 1, 1, 0 - add hl, bc - ld de, TempMonHP - ld a, [MonType] - cp BOXMON - jr nz, .not_boxmon_2 - ld de, TempMonMaxHP -.not_boxmon_2 - lb bc, 2, 3 - call PrintNum +.skip_male_trainers + ld a, [de] + cp $1 + ld hl, MaleTrainers + jr nz, .finished - ld a, "/" - ld [hli], a + ld hl, FemaleTrainers + ld a, c + and a + jr z, .finished -; Print max HP - ld de, TempMonMaxHP - lb bc, 2, 3 - call PrintNum - pop hl - pop de - ret +.female_trainer_loop + srl c + ld a, c + cp FemaleTrainersEnd - FemaleTrainers - 1 + jr nc, .female_trainer_loop + inc c -PrintTempMonStats: ; 50b7b -; Print TempMon's stats at hl, with spacing bc. - push bc - push hl - ld de, .StatNames - call PlaceString - pop hl - pop bc - add hl, bc - ld bc, SCREEN_WIDTH +.finished + ld b, $0 add hl, bc - ld de, TempMonAttack - lb bc, 2, 3 - call .PrintStat - ld de, TempMonDefense - call .PrintStat - ld de, TempMonSpclAtk - call .PrintStat - ld de, TempMonSpclDef - call .PrintStat - ld de, TempMonSpeed - jp PrintNum - -.PrintStat: ; 50bab - push hl - call PrintNum - pop hl - ld de, SCREEN_WIDTH * 2 - add hl, de + ld a, [hl] ret -.StatNames: ; 50bb5 - db "ATTACK" - next "DEFENSE" - next "SPCL.ATK" - next "SPCL.DEF" - next "SPEED" - next "@" - -GetGender: ; 50bdd -; Return the gender of a given monster (CurPartyMon/CurOTMon/CurWildMon). -; When calling this function, a should be set to an appropriate MonType value. - -; return values: -; a = 1: f = nc|nz; male -; a = 0: f = nc|z; female -; f = c: genderless +INCLUDE "data/trainers/gendered_trainers.asm" +INCLUDE "battle/sliding_intro.asm" -; This is determined by comparing the Attack and Speed DVs -; with the species' gender ratio. +Mobile_PrintOpponentBattleMessage: ; 4ea0a + ld a, c + push af + call SpeechTextBox + call MobileTextBorder + pop af + dec a + ld bc, $c + ld hl, w5_MobileOpponentBattleMessages + call AddNTimes + ld de, wMobileOpponentBattleMessage + ld bc, $c + ld a, $5 ; BANK(w5_MobileOpponentBattleMessages) + call FarCopyWRAM -; Figure out what type of monster struct we're looking at. + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a -; 0: PartyMon - ld hl, PartyMon1DVs - ld bc, PARTYMON_STRUCT_LENGTH - ld a, [MonType] - and a - jr z, .PartyMon + ld bc, wMobileOpponentBattleMessage + decoord 1, 14 + callba PrintEZChatBattleMessage -; 1: OTPartyMon - ld hl, OTPartyMon1DVs - dec a - jr z, .PartyMon + pop af + ld [rSVBK], a -; 2: sBoxMon - ld hl, sBoxMon1DVs - ld bc, BOXMON_STRUCT_LENGTH - dec a - jr z, .sBoxMon + ld c, 180 + call DelayFrames + ret -; 3: Unknown - ld hl, TempMonDVs - dec a - jr z, .DVs +CheckBattleScene: ; 4ea44 +; Return carry if battle scene is turned off. -; else: WildMon - ld hl, EnemyMonDVs - jr .DVs + ld a, 0 + ld hl, wLinkMode + call GetFarWRAMByte + cp LINK_MOBILE + jr z, .mobile -; Get our place in the party/box. + ld a, [Options] + bit BATTLE_SCENE, a + jr nz, .off -.PartyMon: -.sBoxMon - ld a, [CurPartyMon] - call AddNTimes + and a + ret -.DVs: +.mobile + ld a, [wcd2f] + and a + jr nz, .from_wram -; sBoxMon data is read directly from SRAM. - ld a, [MonType] - cp BOXMON - ld a, 1 - call z, GetSRAMBank + ld a, $4 + call GetSRAMBank + ld a, [$a60c] + ld c, a + call CloseSRAM -; Attack DV - ld a, [hli] - and $f0 - ld b, a -; Speed DV - ld a, [hl] - and $f0 - swap a + ld a, c + bit 0, c + jr z, .off -; Put our DVs together. - or b - ld b, a + and a + ret -; Close SRAM if we were dealing with a sBoxMon. - ld a, [MonType] - cp BOXMON - call z, CloseSRAM +.from_wram + ld a, $5 + ld hl, w5_dc00 + call GetFarWRAMByte + bit 0, a + jr z, .off -; We need the gender ratio to do anything with this. - push bc - ld a, [CurPartySpecies] - dec a - ld hl, BaseData + BASE_GENDER - ld bc, BASE_DATA_SIZE - call AddNTimes - pop bc + and a + ret - ld a, BANK(BaseData) - call GetFarByte +.off + scf + ret -; The higher the ratio, the more likely the monster is to be female. +INCLUDE "engine/gbc_only.asm" +INCLUDE "event/poke_seer.asm" - cp GENDERLESS - jr z, .Genderless - and a ; GENDER_F0? - jr z, .Male +SECTION "bank14", ROMX - cp GENDER_F100 - jr z, .Female +INCLUDE "engine/party_menu.asm" +INCLUDE "event/poisonstep.asm" +INCLUDE "event/sweet_scent.asm" +INCLUDE "event/squirtbottle.asm" +INCLUDE "event/card_key.asm" +INCLUDE "event/basement_key.asm" +INCLUDE "event/sacred_ash.asm" -; Values below the ratio are male, and vice versa. - cp b - jr c, .Male +CopyPkmnToTempMon: ; 5084a +; gets the BaseData of a Pkmn +; and copys the PkmnStructure to TempMon -.Female: - xor a - ret + ld a, [CurPartyMon] + ld e, a + call GetPkmnSpecies + ld a, [CurPartySpecies] + ld [CurSpecies], a + call GetBaseData -.Male: - ld a, 1 + ld a, [MonType] + ld hl, PartyMon1Species + ld bc, PARTYMON_STRUCT_LENGTH and a - ret + jr z, .copywholestruct + ld hl, OTPartyMon1Species + ld bc, PARTYMON_STRUCT_LENGTH + cp OTPARTYMON + jr z, .copywholestruct + ld bc, BOXMON_STRUCT_LENGTH + callab CopyBoxmonToTempMon + jr .done -.Genderless: - scf +.copywholestruct + ld a, [CurPartyMon] + call AddNTimes + ld de, TempMon + ld bc, PARTYMON_STRUCT_LENGTH + call CopyBytes + +.done ret -ListMovePP: ; 50c50 - ld a, [wNumMoves] - inc a - ld c, a - ld a, NUM_MOVES - sub c - ld b, a - push hl - ld a, [Buffer1] - ld e, a - ld d, $0 - ld a, $3e ; P - call .load_loop - ld a, b - and a - jr z, .skip - ld c, a - ld a, "-" - call .load_loop +CalcwBufferMonStats: ; 5088b + ld bc, wBufferMon + jr _TempMonStatsCalculation -.skip - pop hl - inc hl - inc hl - inc hl +CalcTempmonStats: ; 50890 + ld bc, TempMon +_TempMonStatsCalculation: ; 50893 + ld hl, MON_LEVEL + add hl, bc + ld a, [hl] + ld [CurPartyLevel], a + ld hl, MON_MAXHP + add hl, bc ld d, h ld e, l - ld hl, TempMonMoves - ld b, 0 -.loop - ld a, [hli] - and a - jr z, .done + ld hl, MON_STAT_EXP - 1 + add hl, bc push bc - push hl - push de - ld hl, wMenuCursorY - ld a, [hl] - push af - ld [hl], b - push hl - callab GetMaxPPOfMove - pop hl - pop af - ld [hl], a - pop de - pop hl - push hl - ld bc, TempMonPP - (TempMonMoves + 1) + ld b, $1 + predef CalcPkmnStats + pop bc + ld hl, MON_HP add hl, bc - ld a, [hl] - and $3f - ld [StringBuffer1 + 4], a - ld h, d - ld l, e - push hl - ld de, StringBuffer1 + 4 - lb bc, 1, 2 - call PrintNum - ld a, "/" - ld [hli], a - ld de, wd265 - lb bc, 1, 2 - call PrintNum - pop hl - ld a, [Buffer1] - ld e, a - ld d, 0 - add hl, de ld d, h ld e, l - pop hl - pop bc - inc b - ld a, b - cp NUM_MOVES - jr nz, .loop - -.done - ret - -.load_loop ; 50cc9 - ld [hli], a - ld [hld], a - add hl, de - dec c - jr nz, .load_loop - ret - -Function50cd0: ; 50cd0 -; XXX -.loop - ld [hl], $32 - inc hl - ld [hl], $3e - dec hl - add hl, de - dec c - jr nz, .loop - ret - -Predef22: ; unreferenced predef - push hl - push hl - ld hl, PartyMonNicknames - ld a, [CurPartyMon] - call GetNick - pop hl - call PlaceString - call CopyPkmnToTempMon - pop hl ld a, [CurPartySpecies] cp EGG - jr z, .egg - push hl - ld bc, -12 - add hl, bc - ld b, $0 - call DrawEnemyHP - pop hl - ld bc, 5 - add hl, bc - push de - call PrintLevel - pop de - -.egg - ret - -PlaceStatusString: ; 50d0a - push de - inc de - inc de - ld a, [de] - ld b, a + jr nz, .not_egg + xor a + ld [de], a inc de - ld a, [de] - or b - pop de - jr nz, PlaceNonFaintStatus - push de - ld de, FntString - call CopyStatusString - pop de - ld a, $1 - and a - ret - -FntString: ; 50d22 - db "FNT@" + ld [de], a + jr .zero_status -CopyStatusString: ; 50d25 - ld a, [de] - inc de - ld [hli], a - ld a, [de] - inc de +.not_egg + push bc + ld hl, MON_MAXHP + add hl, bc + ld bc, 2 + call CopyBytes + pop bc + +.zero_status + ld hl, MON_STATUS + add hl, bc + xor a ld [hli], a - ld a, [de] ld [hl], a ret -PlaceNonFaintStatus: ; 50d2e - push de - ld a, [de] - ld de, PsnString - bit PSN, a - jr nz, .place - ld de, BrnString - bit BRN, a - jr nz, .place - ld de, FrzString - bit FRZ, a - jr nz, .place - ld de, ParString - bit PAR, a - jr nz, .place - ld de, SlpString - and SLP - jr z, .no_status - -.place - call CopyStatusString - ld a, $1 - and a +GetPkmnSpecies: ; 508d5 +; [MonType] has the type of the Pkmn +; e = Nr. of Pkmn (i.e. [CurPartyMon]) -.no_status - pop de - ret + ld a, [MonType] + and a ; PARTYMON + jr z, .partymon + cp OTPARTYMON + jr z, .otpartymon + cp BOXMON + jr z, .boxmon + cp TEMPMON + jr z, .breedmon + ; WILDMON -SlpString: db "SLP@" -PsnString: db "PSN@" -BrnString: db "BRN@" -FrzString: db "FRZ@" -ParString: db "PAR@" +.partymon + ld hl, PartySpecies + jr .done -ListMoves: ; 50d6f -; List moves at hl, spaced every [Buffer1] tiles. - ld de, wListMoves_MoveIndicesBuffer - ld b, $0 -.moves_loop - ld a, [de] - inc de - and a - jr z, .no_more_moves - push de - push hl - push hl - ld [CurSpecies], a - ld a, MOVE_NAME - ld [wNamedObjectTypeBuffer], a - call GetName - ld de, StringBuffer1 - pop hl - push bc - call PlaceString - pop bc - ld a, b - ld [wNumMoves], a - inc b - pop hl - push bc - ld a, [Buffer1] - ld c, a - ld b, 0 - add hl, bc - pop bc - pop de - ld a, b - cp NUM_MOVES - jr z, .done - jr .moves_loop +.otpartymon + ld hl, OTPartySpecies + jr .done -.no_more_moves - ld a, b -.nonmove_loop - push af - ld [hl], "-" - ld a, [Buffer1] - ld c, a - ld b, 0 - add hl, bc - pop af - inc a - cp NUM_MOVES - jr nz, .nonmove_loop +.boxmon + ld a, BANK(sBoxSpecies) + call GetSRAMBank + ld hl, sBoxSpecies + call .done + call CloseSRAM + ret + +.breedmon + ld a, [wBreedMon1Species] + jr .done2 .done + ld d, 0 + add hl, de + ld a, [hl] + +.done2 + ld [CurPartySpecies], a ret +INCLUDE "text/types.asm" +INCLUDE "text/unused_gen_1_trainers.asm" +INCLUDE "engine/mon_stats.asm" + InitList: ; 50db9 ld a, [wInitListType] @@ -4204,168 +1469,7 @@ InitList: ; 50db9 ld [wItemAttributesPtr + 1], a ret -CalcLevel: ; 50e1b - ld a, [TempMonSpecies] - ld [CurSpecies], a - call GetBaseData - ld d, 1 -.next_level - inc d - ld a, d - cp (MAX_LEVEL + 1) % $100 - jr z, .got_level - call CalcExpAtLevel - push hl - ld hl, TempMonExp + 2 - ld a, [hProduct + 3] - ld c, a - ld a, [hld] - sub c - ld a, [hProduct + 2] - ld c, a - ld a, [hld] - sbc c - ld a, [hProduct + 1] - ld c, a - ld a, [hl] - sbc c - pop hl - jr nc, .next_level - -.got_level - dec d - ret - -CalcExpAtLevel: ; 50e47 -; (a/b)*n**3 + c*n**2 + d*n - e - ld a, [BaseGrowthRate] - add a - add a - ld c, a - ld b, 0 - ld hl, GrowthRates - add hl, bc -; Cube the level - call .LevelSquared - ld a, d - ld [hMultiplier], a - call Multiply - -; Multiply by a - ld a, [hl] - and $f0 - swap a - ld [hMultiplier], a - call Multiply -; Divide by b - ld a, [hli] - and $f - ld [hDivisor], a - ld b, 4 - call Divide -; Push the cubic term to the stack - ld a, [hQuotient + 0] - push af - ld a, [hQuotient + 1] - push af - ld a, [hQuotient + 2] - push af -; Square the level and multiply by the lower 7 bits of c - call .LevelSquared - ld a, [hl] - and $7f - ld [hMultiplier], a - call Multiply -; Push the absolute value of the quadratic term to the stack - ld a, [hProduct + 1] - push af - ld a, [hProduct + 2] - push af - ld a, [hProduct + 3] - push af - ld a, [hli] - push af -; Multiply the level by d - xor a - ld [hMultiplicand + 0], a - ld [hMultiplicand + 1], a - ld a, d - ld [hMultiplicand + 2], a - ld a, [hli] - ld [hMultiplier], a - call Multiply -; Subtract e - ld b, [hl] - ld a, [hProduct + 3] - sub b - ld [hMultiplicand + 2], a - ld b, $0 - ld a, [hProduct + 2] - sbc b - ld [hMultiplicand + 1], a - ld a, [hProduct + 1] - sbc b - ld [hMultiplicand], a -; If bit 7 of c is set, c is negative; otherwise, it's positive - pop af - and $80 - jr nz, .subtract -; Add c*n**2 to (d*n - e) - pop bc - ld a, [hProduct + 3] - add b - ld [hMultiplicand + 2], a - pop bc - ld a, [hProduct + 2] - adc b - ld [hMultiplicand + 1], a - pop bc - ld a, [hProduct + 1] - adc b - ld [hMultiplicand], a - jr .done_quadratic - -.subtract -; Subtract c*n**2 from (d*n - e) - pop bc - ld a, [hProduct + 3] - sub b - ld [hMultiplicand + 2], a - pop bc - ld a, [hProduct + 2] - sbc b - ld [hMultiplicand + 1], a - pop bc - ld a, [hProduct + 1] - sbc b - ld [hMultiplicand], a - -.done_quadratic -; Add (a/b)*n**3 to (d*n - e +/- c*n**2) - pop bc - ld a, [hProduct + 3] - add b - ld [hMultiplicand + 2], a - pop bc - ld a, [hProduct + 2] - adc b - ld [hMultiplicand + 1], a - pop bc - ld a, [hProduct + 1] - adc b - ld [hMultiplicand], a - ret - -.LevelSquared: ; 50eed - xor a - ld [hMultiplicand + 0], a - ld [hMultiplicand + 1], a - ld a, d - ld [hMultiplicand + 2], a - ld [hMultiplier], a - jp Multiply - -INCLUDE "data/growth_rates.asm" +INCLUDE "engine/experience.asm" _SwitchPartyMons: ld a, [wd0e3] @@ -4500,338 +1604,68 @@ _SwitchPartyMons: ld bc, MAIL_STRUCT_LENGTH call CopyBytes call CloseSRAM - pop bc - pop de - pop hl - ret - -.CopyNameTowd002: ; 51036 (14:5036) - ld de, wd002 - -.CopyName: ; 51039 (14:5039) - ld bc, NAME_LENGTH - call CopyBytes - ret - -INCLUDE "gfx/load_pics.asm" - -INCLUDE "engine/move_mon_wo_mail.asm" - -INCLUDE "data/pokemon/base_stats.asm" - -INCLUDE "data/pokemon/pokemon_names.asm" - -Unknown_53d84: ; unreferenced - db $1a, $15 - db $33, $16 - db $4b, $17 - db $62, $18 - db $79, $19 - db $90, $1a - db $a8, $1b - db $c4, $1c - db $e0, $1d - db $f6, $1e - db $ff, $1f - db $ff, $20 - -UnknownEggPic:: ; 53d9c -; Another egg pic. This is shifted up a few pixels. -INCBIN "gfx/unknown/unknown_egg.2bpp.lz" - - -SECTION "Crystal Phone Text", ROMX - -INCLUDE "text/phone/extra.asm" - - -SECTION "bank20", ROMX - -INCLUDE "engine/player_movement.asm" -INCLUDE "engine/engine_flags.asm" -INCLUDE "engine/variables.asm" -INCLUDE "text/battle.asm" -INCLUDE "engine/debug.asm" - - -SECTION "bank21", ROMX - -INCLUDE "engine/printer.asm" -INCLUDE "battle/anim_gfx.asm" -INCLUDE "event/halloffame.asm" - - -SECTION "bank22", ROMX - -INCLUDE "event/kurt.asm" - -Function88248: ; 88248 -; XXX - ld c, CAL - ld a, [PlayerGender] - bit 0, a - jr z, .okay - ld c, KAREN - -.okay - ld a, c - ld [TrainerClass], a - ret - -MovePlayerPicRight: ; 88258 - hlcoord 6, 4 - ld de, 1 - jr MovePlayerPic - -MovePlayerPicLeft: ; 88260 - hlcoord 13, 4 - ld de, -1 - ; fallthrough - -MovePlayerPic: ; 88266 -; Move player pic at hl by de * 7 tiles. - ld c, $8 -.loop - push bc - push hl - push de - xor a - ld [hBGMapMode], a - lb bc, 7, 7 - predef PlaceGraphic - xor a - ld [hBGMapThird], a - call WaitBGMap - call DelayFrame - pop de - pop hl - add hl, de - pop bc - dec c - ret z - push hl - push bc - ld a, l - sub e - ld l, a - ld a, h - sbc d - ld h, a - lb bc, 7, 7 - call ClearBox - pop bc - pop hl - jr .loop - -ShowPlayerNamingChoices: ; 88297 - ld hl, ChrisNameMenuHeader - ld a, [PlayerGender] - bit 0, a - jr z, .GotGender - ld hl, KrisNameMenuHeader -.GotGender: - call LoadMenuDataHeader - call VerticalMenu - ld a, [wMenuCursorY] - dec a - call CopyNameFromMenu - call CloseWindow - ret - -ChrisNameMenuHeader: ; 882b5 - db $40 ; flags - db 00, 00 ; start coords - db 11, 10 ; end coords - dw .MaleNames - db 1 ; ???? - db 0 ; default option - -.MaleNames: ; 882be - db $91 ; flags - db 5 ; items - db "NEW NAME@" -MalePlayerNameArray: ; 882c9 - db "CHRIS@" - db "MAT@" - db "ALLAN@" - db "JON@" - db 2 ; displacement - db " NAME @" ; title - -KrisNameMenuHeader: ; 882e5 - db $40 ; flags - db 00, 00 ; start coords - db 11, 10 ; end coords - dw .FemaleNames - db 1 ; ???? - db 0 ; default option - -.FemaleNames: ; 882ee - db $91 ; flags - db 5 ; items - db "NEW NAME@" -FemalePlayerNameArray: ; 882f9 - db "KRIS@" - db "AMANDA@" - db "JUANA@" - db "JODI@" - db 2 ; displacement - db " NAME @" ; title - -GetPlayerNameArray: ; 88318 This Function is never called - ld hl, PlayerName - ld de, MalePlayerNameArray - ld a, [PlayerGender] - bit 0, a - jr z, .done - ld de, FemalePlayerNameArray - -.done - call InitName - ret - -GetPlayerIcon: ; 8832c -; Get the player icon corresponding to gender - -; Male - ld de, ChrisSpriteGFX - ld b, BANK(ChrisSpriteGFX) - - ld a, [PlayerGender] - bit 0, a - jr z, .done - -; Female - ld de, KrisSpriteGFX - ld b, BANK(KrisSpriteGFX) - -.done - ret - -GetCardPic: ; 8833e - ld hl, ChrisCardPic - ld a, [PlayerGender] - bit 0, a - jr z, .GotClass - ld hl, KrisCardPic -.GotClass: - ld de, VTiles2 tile $00 - ld bc, $23 tiles - ld a, BANK(ChrisCardPic) ; BANK(KrisCardPic) - call FarCopyBytes - ld hl, CardGFX - ld de, VTiles2 tile $23 - ld bc, 6 tiles - ld a, BANK(CardGFX) - call FarCopyBytes + pop bc + pop de + pop hl ret -ChrisCardPic: ; 88365 -INCBIN "gfx/trainer_card/chris_card.2bpp" - -KrisCardPic: ; 88595 -INCBIN "gfx/trainer_card/kris_card.2bpp" - -CardGFX: ; 887c5 -INCBIN "gfx/trainer_card/trainer_card.2bpp" +.CopyNameTowd002: ; 51036 (14:5036) + ld de, wd002 -GetPlayerBackpic: ; 88825 - ld a, [PlayerGender] - bit 0, a - jr z, GetChrisBackpic - call GetKrisBackpic +.CopyName: ; 51039 (14:5039) + ld bc, NAME_LENGTH + call CopyBytes ret -GetChrisBackpic: ; 88830 - ld hl, ChrisBackpic - ld b, BANK(ChrisBackpic) - ld de, VTiles2 tile $31 - ld c, 7 * 7 - predef DecompressPredef - ret +INCLUDE "gfx/load_pics.asm" +INCLUDE "engine/move_mon_wo_mail.asm" +INCLUDE "data/pokemon/base_stats.asm" +INCLUDE "data/pokemon/pokemon_names.asm" -HOF_LoadTrainerFrontpic: ; 88840 - call WaitBGMap - xor a - ld [hBGMapMode], a - ld e, 0 - ld a, [PlayerGender] - bit 0, a - jr z, .GotClass - ld e, 1 +Unknown_53d84: ; unreferenced + db $1a, $15 + db $33, $16 + db $4b, $17 + db $62, $18 + db $79, $19 + db $90, $1a + db $a8, $1b + db $c4, $1c + db $e0, $1d + db $f6, $1e + db $ff, $1f + db $ff, $20 -.GotClass: - ld a, e - ld [TrainerClass], a - ld de, ChrisPic - ld a, [PlayerGender] - bit 0, a - jr z, .GotPic - ld de, KrisPic +UnknownEggPic:: ; 53d9c +; Another egg pic. This is shifted up a few pixels. +INCBIN "gfx/unknown/unknown_egg.2bpp.lz" -.GotPic: - ld hl, VTiles2 - ld b, BANK(ChrisPic) ; BANK(KrisPic) - ld c, 7 * 7 - call Get2bpp - call WaitBGMap - ld a, $1 - ld [hBGMapMode], a - ret -DrawIntroPlayerPic: ; 88874 -; Draw the player pic at (6,4). +SECTION "Crystal Phone Text", ROMX -; Get class - ld e, CHRIS - ld a, [PlayerGender] - bit 0, a - jr z, .GotClass - ld e, KRIS -.GotClass: - ld a, e - ld [TrainerClass], a +INCLUDE "text/phone/extra.asm" -; Load pic - ld de, ChrisPic - ld a, [PlayerGender] - bit 0, a - jr z, .GotPic - ld de, KrisPic -.GotPic: - ld hl, VTiles2 - ld b, BANK(ChrisPic) ; BANK(KrisPic) - ld c, 7 * 7 ; dimensions - call Get2bpp -; Draw - xor a - ld [hGraphicStartTile], a - hlcoord 6, 4 - lb bc, 7, 7 - predef PlaceGraphic - ret +SECTION "bank20", ROMX + +INCLUDE "engine/player_movement.asm" +INCLUDE "engine/engine_flags.asm" +INCLUDE "engine/variables.asm" +INCLUDE "text/battle.asm" +INCLUDE "engine/debug.asm" -ChrisPic: ; 888a9 -INCBIN "gfx/player/chris.2bpp" -KrisPic: ; 88bb9 -INCBIN "gfx/player/kris.2bpp" +SECTION "bank21", ROMX -GetKrisBackpic: ; 88ec9 -; Kris's backpic is uncompressed. - ld de, KrisBackpic - ld hl, VTiles2 tile $31 - lb bc, BANK(KrisBackpic), 7 * 7 ; dimensions - call Get2bpp - ret +INCLUDE "engine/printer.asm" +INCLUDE "battle/anim_gfx.asm" +INCLUDE "event/halloffame.asm" -KrisBackpic: ; 88ed6 -INCBIN "gfx/player/kris_back.2bpp" -String_89116: - db "-----@" +SECTION "bank22", ROMX +INCLUDE "event/kurt.asm" +INCLUDE "engine/player_gfx.asm" INCLUDE "mobile/mobile_22.asm" INCLUDE "event/unown.asm" INCLUDE "event/buena.asm" @@ -4842,22 +1676,8 @@ INCLUDE "mobile/mobile_22_2.asm" SECTION "bank23", ROMX -Predef35: ; 8c000 -Predef36: - ret - INCLUDE "engine/timeofdaypals.asm" -INCLUDE "engine/battle_start.asm" - -Function8c7c9: -; XXX - ld a, $1 - ld [hBGMapMode], a - call WaitBGMap - xor a - ld [hBGMapMode], a - ret - +INCLUDE "engine/battle_transition.asm" INCLUDE "event/field_moves.asm" INCLUDE "event/magnet_train.asm" @@ -4916,39 +1736,7 @@ SECTION "bank2F", ROMX INCLUDE "engine/std_scripts.asm" INCLUDE "engine/phone_scripts.asm" - -TalkToTrainerScript:: ; 0xbe66a - faceplayer - trainerflagaction CHECK_FLAG - iftrue AlreadyBeatenTrainerScript - loadmemtrainer - encountermusic - jump StartBattleWithMapTrainerScript - -SeenByTrainerScript:: ; 0xbe675 - loadmemtrainer - encountermusic - showemote EMOTE_SHOCK, LAST_TALKED, 30 - callasm TrainerWalkToPlayer - applymovement2 MovementBuffer - writepersonxy LAST_TALKED - faceperson PLAYER, LAST_TALKED - jump StartBattleWithMapTrainerScript - -StartBattleWithMapTrainerScript: ; 0xbe68a - opentext - trainertext $0 - waitbutton - closetext - loadmemtrainer - startbattle - reloadmapafterbattle - trainerflagaction SET_FLAG - loadvar wRunningTrainerBattleScript, -1 - -AlreadyBeatenTrainerScript: - scripttalkafter - +INCLUDE "engine/trainer_scripts.asm" INCLUDE "gfx/sprites.asm" @@ -5012,114 +1800,7 @@ INCBIN "gfx/credits/theend.2bpp" SECTION "bank33", ROMX -DisplayCaughtContestMonStats: ; cc000 - call ClearBGPalettes - call ClearTileMap - call ClearSprites - call LoadFontsBattleExtra - - ld hl, Options - ld a, [hl] - push af - set 4, [hl] - - hlcoord 0, 0 - ld b, 4 - ld c, 13 - call TextBox - - hlcoord 0, 6 - ld b, 4 - ld c, 13 - call TextBox - - hlcoord 2, 0 - ld de, .Stock - call PlaceString - - hlcoord 2, 6 - ld de, .This - call PlaceString - - hlcoord 5, 4 - ld de, .Health - call PlaceString - - hlcoord 5, 10 - ld de, .Health - call PlaceString - - ld a, [wContestMon] - ld [wd265], a - call GetPokemonName - ld de, StringBuffer1 - hlcoord 1, 2 - call PlaceString - - ld h, b - ld l, c - ld a, [wContestMonLevel] - ld [TempMonLevel], a - call PrintLevel - - ld de, EnemyMonNick - hlcoord 1, 8 - call PlaceString - - ld h, b - ld l, c - ld a, [EnemyMonLevel] - ld [TempMonLevel], a - call PrintLevel - - hlcoord 11, 4 - ld de, wContestMonMaxHP - lb bc, 2, 3 - call PrintNum - - hlcoord 11, 10 - ld de, EnemyMonMaxHP - call PrintNum - - ld hl, SwitchMonText - call PrintText - - pop af - ld [Options], a - - call WaitBGMap - ld b, SCGB_DIPLOMA - call GetSGBLayout - call SetPalettes - ret - -.Health: - db "HEALTH@" -.Stock: - db " STOCK ", $4a, " @" -.This: - db " THIS ", $4a, " @" - -SwitchMonText: ; cc0c2 - ; Switch #MON? - text_jump UnknownText_0x1c10cf - db "@" - -DisplayAlreadyCaughtText: ; cc0c7 - call GetPokemonName - ld hl, .AlreadyCaughtText - jp PrintText - -.AlreadyCaughtText: ; 0xcc0d0 - ; You already caught a @ . - text_jump UnknownText_0x1c10dd - db "@" - -Predef2F: -Predef38: -Predef39: ; cc0d5 - ret - +INCLUDE "event/bug_contest_mon_stats.asm" INCLUDE "battle/anim_commands.asm" INCLUDE "battle/anim_objects.asm" @@ -5331,23 +2012,7 @@ INCLUDE "engine/warp_connection.asm" INCLUDE "engine/mysterygift.asm" INCLUDE "battle/used_move_text.asm" INCLUDE "mobile/mobile_41.asm" - -LoadOverworldFont:: ; 106594 - ld de, .font - ld hl, VTiles1 - lb bc, BANK(.font), $80 - call Get2bpp - ld de, .space - ld hl, VTiles2 tile $7f - lb bc, BANK(.space), 1 - call Get2bpp - ret -; 1065ad - -.font -INCBIN "gfx/font/overworld.2bpp" -.space -INCBIN "gfx/font/space.2bpp" +INCLUDE "gfx/overworld_font.asm" SECTION "mobile_42", ROMX @@ -5403,7 +2068,6 @@ _UpdateBattleHUDs: ret INCLUDE "mobile/mobile_5e.asm" - INCLUDE "mobile/mobile_5f.asm" @@ -5515,213 +2179,8 @@ String_AM: db "AM@" ; 1dd6fc String_PM: db "PM@" ; 1dd6ff INCLUDE "engine/diploma.asm" - -LoadSGBPokedexGFX: ; 1ddf1c - ld hl, SGBPokedexGFX_LZ - ld de, VTiles2 tile $31 - call Decompress - ret - -LoadSGBPokedexGFX2: ; 1ddf26 (77:5f26) - ld hl, SGBPokedexGFX_LZ - ld de, VTiles2 tile $31 - lb bc, BANK(SGBPokedexGFX_LZ), $3a - call DecompressRequest2bpp - ret - -SGBPokedexGFX_LZ: ; 1ddf33 -INCBIN "gfx/pokedex/sgb.2bpp.lz" - -LoadQuestionMarkPic: ; 1de0d7 - ld hl, .QuestionMarkLZ - ld de, sScratch - call Decompress - ret - -.QuestionMarkLZ: ; 1de0e1 -INCBIN "gfx/pics/questionmark/front.2bpp.lz" - -DrawPokedexListWindow: ; 1de171 (77:6171) - ld a, $32 - hlcoord 0, 17 - ld bc, 12 - call ByteFill - hlcoord 0, 1 - lb bc, 15, 11 - call ClearBox - ld a, $34 - hlcoord 0, 0 - ld bc, 11 - call ByteFill - ld a, $39 - hlcoord 0, 16 - ld bc, 11 - call ByteFill - hlcoord 5, 0 - ld [hl], $3f - hlcoord 5, 16 - ld [hl], $40 - ld a, [wCurrentDexMode] - cp DEXMODE_OLD - jr z, .OldMode -; scroll bar - hlcoord 11, 0 - ld [hl], $50 - ld a, $51 - hlcoord 11, 1 - ld b, SCREEN_HEIGHT - 3 - call Bank77_FillColumn - ld [hl], $52 - jr .Done - -.OldMode: -; no scroll bar - hlcoord 11, 0 - ld [hl], $66 - ld a, $67 - hlcoord 11, 1 - ld b, SCREEN_HEIGHT - 3 - call Bank77_FillColumn - ld [hl], $68 -.Done: - ret - -DrawPokedexSearchResultsWindow: ; 1de1d1 (77:61d1) - ld a, $34 - hlcoord 0, 0 - ld bc, 11 - call ByteFill - ld a, $39 - hlcoord 0, 10 - ld bc, 11 - call ByteFill - hlcoord 5, 0 - ld [hl], $3f - hlcoord 5, 10 - ld [hl], $40 - hlcoord 11, 0 - ld [hl], $66 - ld a, $67 - hlcoord 11, 1 - ld b, SCREEN_HEIGHT / 2 - call Bank77_FillColumn - ld [hl], $68 - ld a, $34 - hlcoord 0, 11 - ld bc, 11 - call ByteFill - ld a, $39 - hlcoord 0, 17 - ld bc, 11 - call ByteFill - hlcoord 11, 11 - ld [hl], $66 - ld a, $67 - hlcoord 11, 12 - ld b, 5 - call Bank77_FillColumn - ld [hl], $68 - hlcoord 0, 12 - lb bc, 5, 11 - call ClearBox - ld de, .esults_D - hlcoord 0, 12 - call PlaceString - ret - -.esults_D ; 1de23c -; (SEARCH R) - db "ESULTS" - next "" -; (### FOUN) - next "D!@" - -DrawDexEntryScreenRightEdge: ; 1de247 - ld a, [hBGMapAddress] - ld l, a - ld a, [hBGMapAddress + 1] - ld h, a - push hl - inc hl - ld a, l - ld [hBGMapAddress], a - ld a, h - ld [hBGMapAddress + 1], a - hlcoord 19, 0 - ld [hl], $66 - hlcoord 19, 1 - ld a, $67 - ld b, 15 - call Bank77_FillColumn - ld [hl], $68 - hlcoord 19, 17 - ld [hl], $3c - xor a - ld b, SCREEN_HEIGHT - hlcoord 19, 0, AttrMap - call Bank77_FillColumn - call WaitBGMap2 - pop hl - ld a, l - ld [hBGMapAddress], a - ld a, h - ld [hBGMapAddress + 1], a - ret - -Bank77_FillColumn: ; 1de27f - push de - ld de, SCREEN_WIDTH -.loop - ld [hl], a - add hl, de - dec b - jr nz, .loop - pop de - ret - -_DudeAutoInput_A:: ; 1de28a - ld hl, DudeAutoInput_A - jr _DudeAutoInput - -_DudeAutoInput_RightA: ; 1de28f - ld hl, DudeAutoInput_RightA - jr _DudeAutoInput - -_DudeAutoInput_DownA: ; 1de294 - ld hl, DudeAutoInput_DownA - jr _DudeAutoInput - -_DudeAutoInput: ; 1de299 - ld a, BANK(DudeAutoInputs) - call StartAutoInput - ret - -DudeAutoInputs: - -DudeAutoInput_A: ; 1de29f - db NO_INPUT, $50 - db A_BUTTON, $00 - db NO_INPUT, $ff ; end - -DudeAutoInput_RightA: ; 1de2a5 - db NO_INPUT, $08 - db D_RIGHT, $00 - db NO_INPUT, $08 - db A_BUTTON, $00 - db NO_INPUT, $ff ; end - -DudeAutoInput_DownA: ; 1de2af - db NO_INPUT, $fe - db NO_INPUT, $fe - db NO_INPUT, $fe - db NO_INPUT, $fe - db D_DOWN, $00 - db NO_INPUT, $fe - db NO_INPUT, $fe - db NO_INPUT, $fe - db NO_INPUT, $fe - db A_BUTTON, $00 - db NO_INPUT, $ff ; end +INCLUDE "engine/pokedex_3.asm" +INCLUDE "event/catch_tutorial_input.asm" TownMap_ConvertLineBreakCharacters: ; 1de2c5 ld hl, StringBuffer1 @@ -5748,135 +2207,7 @@ TownMap_ConvertLineBreakCharacters: ; 1de2c5 PokegearGFX: ; 1de2e4 INCBIN "gfx/pokegear/pokegear.2bpp.lz" -IsMailEuropean: ; 1de5c8 -; return 1 if French -; return 2 if German -; return 3 if Italian -; return 4 if Spanish -; return 0 if none of the above - ld c, $0 - ld hl, sPartyMon1MailAuthorNationality - sPartyMon1Mail - add hl, de - ld a, [hli] - cp "E" - ret nz - ld a, [hli] - inc c - cp "F" - ret z - inc c - cp "G" - ret z - inc c - cp "I" - ret z - inc c - cp "S" - ret z - ld c, $0 - ret - -; The regular font. -StandardEnglishFont: ; 1de5e6 -INCBIN "gfx/font/english.1bpp" - -; An extended font. -FrenchGermanFont: ; 1de9e6 -INCBIN "gfx/font/french_german.1bpp" - -; An even more extended font. -SpanishItalianFont: ; 1dede6 -INCBIN "gfx/font/spanish_italian.1bpp" - -HandleFrenchGermanMail: ; 1df1e6 -; called if mail is french or german -; fix 's 't 'v - ld b, sPartyMon1MailAuthor - sPartyMon1Mail - ld h, d - ld l, e -.loop - ld a, [hl] - cp $dc ; 's in french/german font - jr nz, .check_intermediate_chars - ld a, "'s" - jr .replace - -.check_intermediate_chars - sub "'s" - jr c, .dont_replace - cp "'v" - "'s" + 1 - jr nc, .dont_replace - add $cd - -.replace - ld [hl], a - -.dont_replace - inc hl - dec b - jr nz, .loop - ret - -LireLeCourrierAnglais: -DeutenEnglischenPost: ; 1df203 -; Cette fonction convertit certains des caractères anglais pour -; leur équivalent dans le jeu de caractères français. -; Diese Funktion wandelt bestimmte englische Zeichen, um ihre -; Entsprechung in der Deutschen-Zeichensatz. - ld b, sPartyMon1MailAuthor - sPartyMon1Mail - ld h, d - ld l, e -.loop - ld a, [hl] - cp "'s" - jr nz, .check_intermediate_chars - ld a, $dc - jr .replace - -.check_intermediate_chars - sub $cd - jr c, .dont_replace - cp "'v" - "'s" + 1 - jr nc, .dont_replace - add "'s" - -.replace - ld [hl], a - -.dont_replace - inc hl - dec b - jr nz, .loop - ret - -HandleSpanishItalianMail: ; 1df220 -LeerCorreosIngleses: -LeggiPostaInglese: -; This function converts certain characters between -; the English and Spanish/Italian character sets. -; Esta función convierte ciertos caracteres entre -; el juego de caracteres Inglés y Español. -; Questa funzione converte alcuni caratteri tra -; l'inglese e il set di caratteri italiani. - ld b, sPartyMon1MailAuthor - sPartyMon1Mail - ld h, d - ld l, e -.loop - ld a, [hl] - and $f0 - cp $d0 - jr nz, .dont_replace - ld a, [hl] - add $8 - and $f - or $d0 - ld [hl], a - -.dont_replace - inc hl - dec b - jr nz, .loop - ret +INCLUDE "engine/european_mail.asm" SECTION "Battle Tower Text", ROMX diff --git a/maps/GoldenrodNameRater.asm b/maps/GoldenrodNameRater.asm index 216fba7c1..c785510ed 100644 --- a/maps/GoldenrodNameRater.asm +++ b/maps/GoldenrodNameRater.asm @@ -22,7 +22,7 @@ GoldenrodNameRaterBookshelf: GoldenrodNameRaterRadio: jumpstd radio2 -INCLUDE "text/sweethoney.asm" +INCLUDE "text/unused_sweet_honey.asm" GoldenrodNameRater_MapEventHeader: ; filler diff --git a/mobile/mobile_22.asm b/mobile/mobile_22.asm index 17b526586..08ba8cfd2 100644 --- a/mobile/mobile_22.asm +++ b/mobile/mobile_22.asm @@ -1,3 +1,5 @@ +String_89116: + db "-----@" String_8911c: ; 8911c db "でんわばんごうが ただしく" ; Phone number is not diff --git a/text/sweethoney.asm b/text/sweethoney.asm deleted file mode 100644 index 9bfa4f6b1..000000000 --- a/text/sweethoney.asm +++ /dev/null @@ -1,68 +0,0 @@ -; Sweet Honey is a feature that was scrapped before development. -; It was later implemented in Pokémon Diamond and Pearl. -; -; Sweet Honey was probably reworked into Sweet Scent. -; A map in the final game has a Butterfree and a woman who gives -; the Sweet Scent TM. - -; Most of these texts seem to be associated with a single NPC. -; The last text is associated with a second NPC, probably a Butterfree. - -UnusedSweetHoneyText: ; 0x5578a - text "My #MON is an" - line "expert at collect-" - cont "ing SWEET HONEY." - - para "I'll share some" - line "with you." - done - -UnusedSweetHoneyBagFullText: ; 0x557d6 - text "I want to give you" - line "some SWEET HONEY," - - para "but you have no" - line "room for it." - done - -UnusedSweetHoneyGiveText: ; 0x55819 - text "Here you go! Have" - line "some SWEET HONEY!" - done - -UnusedGotSweetHoneyText: ; 0x5583e - text " received" - line "SWEET HONEY." - done - -UnusedSweetHoneyAfterText1: ; 0x55856 - text "My little brother" - line "takes SWEET HONEY" - - para "and goes somewhere" - line "with it." - - para "I wonder what he's" - line "up to?" - done - -UnusedSweetHoneyAfterText2: ; 0x558b1 - text "Did you put SWEET" - line "HONEY on a tree?" - - para "What happened to" - line "it?" - done - -UnusedSweetHoneyAfterText3: ; 0x558ea - text "Did you put SWEET" - line "HONEY on a tree?" - - para "It takes about a" - line "day for #MON to" - cont "be drawn to it." - done - -UnusedSweetHoneyButterfreeText: ; 0x5593f - text "BUTTERFREE: Freeh!" - done diff --git a/text/unused_gen_1_trainers.asm b/text/unused_gen_1_trainers.asm new file mode 100644 index 000000000..9a637d6a2 --- /dev/null +++ b/text/unused_gen_1_trainers.asm @@ -0,0 +1,92 @@ +GetGen1TrainerClassName: ; 50a28 +; XXX + ld hl, .Strings + ld a, [TrainerClass] + dec a + ld c, a + ld b, 0 + add hl, bc + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + ld de, StringBuffer1 +.copy + ld a, [hli] + ld [de], a + inc de + cp "@" + jr nz, .copy + ret + +.Strings: ; 50a42 +; Untranslated trainer class names from Red. + dw .Youngster + dw .BugCatcher + dw .Lass + dw OTClassName + dw .JrTrainerM + dw .JrTrainerF + dw .Pokemaniac + dw .SuperNerd + dw OTClassName + dw OTClassName + dw .Burglar + dw .Engineer + dw .Jack + dw OTClassName + dw .Swimmer + dw OTClassName + dw OTClassName + dw .Beauty + dw OTClassName + dw .Rocker + dw .Juggler + dw OTClassName + dw OTClassName + dw .Blackbelt + dw OTClassName + dw .ProfOak + dw .Chief + dw .Scientist + dw OTClassName + dw .Rocket + dw .CooltrainerM + dw .CooltrainerF + dw OTClassName + dw OTClassName + dw OTClassName + dw OTClassName + dw OTClassName + dw OTClassName + dw OTClassName + dw OTClassName + dw OTClassName + dw OTClassName + dw OTClassName + dw OTClassName + dw OTClassName + dw OTClassName + dw OTClassName + +.Youngster: db "たんパン@" +.BugCatcher: db "むしとり@" +.Lass: db "ミニスカ@" +.JrTrainerM: db "ボーイ@" +.JrTrainerF: db "ガール@" +.Pokemaniac: db "マニア@" +.SuperNerd: db "りかけい@" +.Burglar: db "どろぼう@" +.Engineer: db "ォヤジ@" +.Jack: db "ジャック@" +.Swimmer: db "かいパン@" +.Beauty: db "おねえさん@" +.Rocker: db "グループ@" +.Juggler: db "ジャグラー@" +.Blackbelt: db "からて@" +.ProfOak: db "ォーキド@" +.Chief: db "チーフ@" +.Scientist: db "けんきゅういん@" +.Rocket: db "だんいん@" +.CooltrainerM: db "エりート♂@" +.CooltrainerF: db "エりート♀@" diff --git a/text/unused_sweet_honey.asm b/text/unused_sweet_honey.asm new file mode 100644 index 000000000..9bfa4f6b1 --- /dev/null +++ b/text/unused_sweet_honey.asm @@ -0,0 +1,68 @@ +; Sweet Honey is a feature that was scrapped before development. +; It was later implemented in Pokémon Diamond and Pearl. +; +; Sweet Honey was probably reworked into Sweet Scent. +; A map in the final game has a Butterfree and a woman who gives +; the Sweet Scent TM. + +; Most of these texts seem to be associated with a single NPC. +; The last text is associated with a second NPC, probably a Butterfree. + +UnusedSweetHoneyText: ; 0x5578a + text "My #MON is an" + line "expert at collect-" + cont "ing SWEET HONEY." + + para "I'll share some" + line "with you." + done + +UnusedSweetHoneyBagFullText: ; 0x557d6 + text "I want to give you" + line "some SWEET HONEY," + + para "but you have no" + line "room for it." + done + +UnusedSweetHoneyGiveText: ; 0x55819 + text "Here you go! Have" + line "some SWEET HONEY!" + done + +UnusedGotSweetHoneyText: ; 0x5583e + text " received" + line "SWEET HONEY." + done + +UnusedSweetHoneyAfterText1: ; 0x55856 + text "My little brother" + line "takes SWEET HONEY" + + para "and goes somewhere" + line "with it." + + para "I wonder what he's" + line "up to?" + done + +UnusedSweetHoneyAfterText2: ; 0x558b1 + text "Did you put SWEET" + line "HONEY on a tree?" + + para "What happened to" + line "it?" + done + +UnusedSweetHoneyAfterText3: ; 0x558ea + text "Did you put SWEET" + line "HONEY on a tree?" + + para "It takes about a" + line "day for #MON to" + cont "be drawn to it." + done + +UnusedSweetHoneyButterfreeText: ; 0x5593f + text "BUTTERFREE: Freeh!" + done -- cgit v1.2.3 From 01bd8ac94cc11c086167a2a2d8e7b335f033deca Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Fri, 15 Dec 2017 20:12:00 -0500 Subject: Move old baserom.gbc 'compare' scripts to tools/ --- compare.sh | 11 ----------- compare2.sh | 51 --------------------------------------------------- tools/compare.sh | 11 +++++++++++ tools/compare2.sh | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 62 insertions(+), 62 deletions(-) delete mode 100755 compare.sh delete mode 100755 compare2.sh create mode 100755 tools/compare.sh create mode 100755 tools/compare2.sh diff --git a/compare.sh b/compare.sh deleted file mode 100755 index d013a88ab..000000000 --- a/compare.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh -# Compares baserom.gbc and pokecrystal.gbc - -# create baserom.txt if necessary -if [ ! -f baserom.txt ]; then - hexdump -C baserom.gbc > baserom.txt -fi - -hexdump -C pokecrystal.gbc > pokecrystal.txt - -diff -u baserom.txt pokecrystal.txt | less diff --git a/compare2.sh b/compare2.sh deleted file mode 100755 index 64695229e..000000000 --- a/compare2.sh +++ /dev/null @@ -1,51 +0,0 @@ -#!/bin/sh -# Compares baserom.gbc and pokecrystal.gbc - -# create baserom.txt if necessary -crystal_md5=9f2922b235a5eeb78d65594e82ef5dde -if [ ! -f baserom.gbc ]; then - echo "FATAL: Baserom not found" - exit 1 -fi - -if [ $1 ]; then - if [ $1 == "-v" ]; then - verbose=1 - else - verbose = 0 - fi -else - verbose=0 -fi - -base_md5=`md5sum baserom.gbc | cut -d' ' -f1` -if [ $verbose == 1 ]; then - echo "baserom.gbc: $base_md5" -fi -if [ $base_md5 != $crystal_md5 ]; then - echo "FATAL: Baserom is incorrect" - exit 1 -fi - -built_md5=`md5sum pokecrystal.gbc | cut -d' ' -f1` -if [ $verbose == 1 ]; then - echo "pokecrystal.gbc: $built_md5" -fi -if [ $built_md5 != $crystal_md5 ] -then - if [ $verbose == 1 ]; then - echo "Checksums do not match, here's where the ROMs differ..." - fi - if [ ! -f baserom.txt ]; then - hexdump -C baserom.gbc > baserom.txt - fi - - hexdump -C pokecrystal.gbc > pokecrystal.txt - - diff -u baserom.txt pokecrystal.txt | less -else - if [ $verbose == 1 ]; then - echo "Checksums match! :D" - fi -fi - diff --git a/tools/compare.sh b/tools/compare.sh new file mode 100755 index 000000000..d013a88ab --- /dev/null +++ b/tools/compare.sh @@ -0,0 +1,11 @@ +#!/bin/sh +# Compares baserom.gbc and pokecrystal.gbc + +# create baserom.txt if necessary +if [ ! -f baserom.txt ]; then + hexdump -C baserom.gbc > baserom.txt +fi + +hexdump -C pokecrystal.gbc > pokecrystal.txt + +diff -u baserom.txt pokecrystal.txt | less diff --git a/tools/compare2.sh b/tools/compare2.sh new file mode 100755 index 000000000..64695229e --- /dev/null +++ b/tools/compare2.sh @@ -0,0 +1,51 @@ +#!/bin/sh +# Compares baserom.gbc and pokecrystal.gbc + +# create baserom.txt if necessary +crystal_md5=9f2922b235a5eeb78d65594e82ef5dde +if [ ! -f baserom.gbc ]; then + echo "FATAL: Baserom not found" + exit 1 +fi + +if [ $1 ]; then + if [ $1 == "-v" ]; then + verbose=1 + else + verbose = 0 + fi +else + verbose=0 +fi + +base_md5=`md5sum baserom.gbc | cut -d' ' -f1` +if [ $verbose == 1 ]; then + echo "baserom.gbc: $base_md5" +fi +if [ $base_md5 != $crystal_md5 ]; then + echo "FATAL: Baserom is incorrect" + exit 1 +fi + +built_md5=`md5sum pokecrystal.gbc | cut -d' ' -f1` +if [ $verbose == 1 ]; then + echo "pokecrystal.gbc: $built_md5" +fi +if [ $built_md5 != $crystal_md5 ] +then + if [ $verbose == 1 ]; then + echo "Checksums do not match, here's where the ROMs differ..." + fi + if [ ! -f baserom.txt ]; then + hexdump -C baserom.gbc > baserom.txt + fi + + hexdump -C pokecrystal.gbc > pokecrystal.txt + + diff -u baserom.txt pokecrystal.txt | less +else + if [ $verbose == 1 ]; then + echo "Checksums match! :D" + fi +fi + -- cgit v1.2.3 From e44640b0088dad5856d7a6f60ad930779931b251 Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Fri, 15 Dec 2017 21:22:26 -0500 Subject: Move more main.asm code into individual files --- constants/battle_tower_constants.asm | 4 +- constants/misc_constants.asm | 5 + engine/empty_sram.asm | 19 + engine/healmachineanim.asm | 265 ----- engine/init_hof_credits.asm | 79 ++ engine/init_list.asm | 54 + engine/link.asm | 11 + engine/mystery_gift.asm | 1735 ++++++++++++++++++++++++++++++ engine/mystery_gift_2.asm | 152 +++ engine/mysterygift.asm | 1735 ------------------------------ engine/mysterygift2.asm | 152 --- engine/pack_f.asm | 20 + engine/place_graphics.asm | 56 + engine/pokegear_2.asm | 25 + engine/printhoursmins.asm | 64 ++ engine/save.asm | 40 +- engine/select_menu.asm | 189 ++++ engine/selectmenu.asm | 189 ---- engine/start_menu.asm | 1974 ++++++++++++++++++++++++++++++++++ engine/startmenu.asm | 1974 ---------------------------------- engine/switch_party_mons.asm | 145 +++ engine/tempmon.asm | 127 +++ event/buena_menu.asm | 58 + event/bug_contest.asm | 43 - event/bug_contest/caught_mon.asm | 38 + event/bug_contest/contest.asm | 43 + event/bug_contest/contest_2.asm | 133 +++ event/bug_contest/display_stats.asm | 107 ++ event/bug_contest/judging.asm | 395 +++++++ event/bug_contest_2.asm | 133 --- event/bug_contest_judging.asm | 395 ------- event/bug_contest_mon_stats.asm | 107 -- event/heal_machine_anim.asm | 265 +++++ event/photo.asm | 295 ----- event/poisonstep_pals.asm | 48 + event/print_photo.asm | 61 ++ event/print_unown.asm | 233 ++++ event/print_unown_2.asm | 111 ++ macros/wram.asm | 1 - main.asm | 965 +---------------- maps/BattleTower1F.asm | 4 +- mobile/battle_tower_5c.asm | 20 +- mobile/get_trainer_class.asm | 46 + sram.asm | 239 ++-- wram.asm | 6 +- 45 files changed, 6383 insertions(+), 6377 deletions(-) create mode 100644 engine/empty_sram.asm delete mode 100755 engine/healmachineanim.asm create mode 100644 engine/init_hof_credits.asm create mode 100644 engine/init_list.asm create mode 100755 engine/mystery_gift.asm create mode 100755 engine/mystery_gift_2.asm delete mode 100755 engine/mysterygift.asm delete mode 100755 engine/mysterygift2.asm create mode 100644 engine/pack_f.asm create mode 100644 engine/place_graphics.asm create mode 100644 engine/pokegear_2.asm create mode 100644 engine/printhoursmins.asm create mode 100755 engine/select_menu.asm delete mode 100755 engine/selectmenu.asm create mode 100755 engine/start_menu.asm delete mode 100755 engine/startmenu.asm create mode 100644 engine/switch_party_mons.asm create mode 100644 engine/tempmon.asm create mode 100644 event/buena_menu.asm delete mode 100644 event/bug_contest.asm create mode 100644 event/bug_contest/caught_mon.asm create mode 100644 event/bug_contest/contest.asm create mode 100755 event/bug_contest/contest_2.asm create mode 100644 event/bug_contest/display_stats.asm create mode 100755 event/bug_contest/judging.asm delete mode 100755 event/bug_contest_2.asm delete mode 100755 event/bug_contest_judging.asm delete mode 100644 event/bug_contest_mon_stats.asm create mode 100755 event/heal_machine_anim.asm delete mode 100755 event/photo.asm create mode 100644 event/poisonstep_pals.asm create mode 100755 event/print_photo.asm create mode 100644 event/print_unown.asm create mode 100644 event/print_unown_2.asm create mode 100644 mobile/get_trainer_class.asm diff --git a/constants/battle_tower_constants.asm b/constants/battle_tower_constants.asm index 0436e4e22..74df3a36a 100755 --- a/constants/battle_tower_constants.asm +++ b/constants/battle_tower_constants.asm @@ -20,8 +20,8 @@ const BATTLETOWERACTION_11 ; store 0 in 5:aa8d const BATTLETOWERACTION_12 ; store 1 in 5:aa8d const BATTLETOWERACTION_13 ; check 5:aa8d - const BATTLETOWERACTION_14 ; if save file is yours: bit 0, [s1_be4f] - const BATTLETOWERACTION_15 ; set 0, [s1_be4f] + const BATTLETOWERACTION_14 ; if save file is yours: bit 0, [sBattleTowerSaveFileFlags] + const BATTLETOWERACTION_15 ; set 0, [sBattleTowerSaveFileFlags] const BATTLETOWERACTION_16 ; update time in SRAM bank 5 const BATTLETOWERACTION_17 ; check time in SRAM bank 5 const BATTLETOWERACTION_LEVEL_CHECK diff --git a/constants/misc_constants.asm b/constants/misc_constants.asm index 7510fdf50..cbdbf3f98 100644 --- a/constants/misc_constants.asm +++ b/constants/misc_constants.asm @@ -65,6 +65,11 @@ HMENURETURN_SCRIPT EQU %10000000 HMENURETURN_ASM EQU %11111111 +; save file corruption check values +SAVE_CHECK_VALUE_1 EQU 99 +SAVE_CHECK_VALUE_2 EQU 127 + + ; time of day boundaries MORN_HOUR EQU 4 ; 4 AM DAY_HOUR EQU 10 ; 10 AM diff --git a/engine/empty_sram.asm b/engine/empty_sram.asm new file mode 100644 index 000000000..aa4b28e0d --- /dev/null +++ b/engine/empty_sram.asm @@ -0,0 +1,19 @@ +EmptyAllSRAMBanks: ; 4cf1f + ld a, $0 + call .EmptyBank + ld a, $1 + call .EmptyBank + ld a, $2 + call .EmptyBank + ld a, $3 + call .EmptyBank + ret + +.EmptyBank: ; 4cf34 + call GetSRAMBank + ld hl, SRAM_Begin + ld bc, SRAM_End - SRAM_Begin + xor a + call ByteFill + call CloseSRAM + ret diff --git a/engine/healmachineanim.asm b/engine/healmachineanim.asm deleted file mode 100755 index 4f543c0b3..000000000 --- a/engine/healmachineanim.asm +++ /dev/null @@ -1,265 +0,0 @@ -HealMachineAnim: ; 12324 - ; If you have no Pokemon, don't change the buffer. This can lead to some glitchy effects if you have no Pokemon. - ld a, [PartyCount] - and a - ret z - ; The location of the healing machine relative to the player is stored in ScriptVar. - ; 0: Up and left (Pokemon Center) - ; 1: Left (Elm's Lab) - ; 2: Up (Hall of Fame) - ld a, [ScriptVar] - ld [Buffer1], a - ld a, [rOBP1] - ld [Buffer2], a - call .DoJumptableFunctions - ld a, [Buffer2] - call DmgToCgbObjPal1 - ret -; 1233e - -.DoJumptableFunctions: ; 1233e - xor a - ld [Buffer3], a -.jumpable_loop - ld a, [Buffer1] - ld e, a - ld d, 0 - ld hl, .Pointers - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - ld a, [Buffer3] - ld e, a - inc a - ld [Buffer3], a - add hl, de - ld a, [hl] - cp 5 - jr z, .finish - ld hl, .Jumptable - rst JumpTable - jr .jumpable_loop - -.finish - ret -; 12365 - -.Pointers: ; 12365 - dw .Pokecenter - dw .ElmLab - dw .HallOfFame -; 1236b - -.Pokecenter: ; 1236b - db 0, 1, 3, 5 -.ElmLab: ; 1236f - db 0, 1, 3, 5 -.HallOfFame: ; 12373 - db 0, 2, 4, 5 -; 12377 - -.Jumptable: ; 12377 - dw .LoadGFX - dw .PC_LoadBallsOntoMachine - dw .HOF_LoadBallsOntoMachine - dw .PlayHealMusic - dw .HOF_PlaySFX - dw .dummy_5 ; never encountered -; 12383 - -.LoadGFX: ; 12383 - call .LoadPalettes - ld de, .HealMachineGFX - ld hl, VTiles0 tile $7c - lb bc, BANK(.HealMachineGFX), $2 - call Request2bpp - ret -; 12393 - -.PC_LoadBallsOntoMachine: ; 12393 - ld hl, Sprites + $80 - ld de, .PC_ElmsLab_OAM - call .PlaceHealingMachineTile - call .PlaceHealingMachineTile - jr .LoadBallsOntoMachine - -.HOF_LoadBallsOntoMachine: ; 123a1 - ld hl, Sprites + $80 - ld de, .HOF_OAM - -.LoadBallsOntoMachine: ; 123a7 - ld a, [PartyCount] - ld b, a -.party_loop - call .PlaceHealingMachineTile - push de - ld de, SFX_SECOND_PART_OF_ITEMFINDER - call PlaySFX - pop de - ld c, 30 - call DelayFrames - dec b - jr nz, .party_loop - ret -; 123bf - -.PlayHealMusic: ; 123bf - ld de, MUSIC_HEAL - call PlayMusic - jp .FlashPalettes8Times -; 123c8 - -.HOF_PlaySFX: ; 123c8 - ld de, SFX_GAME_FREAK_LOGO_GS - call PlaySFX - call .FlashPalettes8Times - call WaitSFX - ld de, SFX_BOOT_PC - call PlaySFX - ret -; 123db - -.dummy_5 ; 123db - ret -; 123dc - -.PC_ElmsLab_OAM: ; 123dc - dsprite 4, 0, 4, 2, $7c, $16 - dsprite 4, 0, 4, 6, $7c, $16 - dsprite 4, 6, 4, 0, $7d, $16 - dsprite 4, 6, 5, 0, $7d, $36 ; xflip - dsprite 5, 3, 4, 0, $7d, $16 - dsprite 5, 3, 5, 0, $7d, $36 ; xflip - dsprite 6, 0, 4, 0, $7d, $16 - dsprite 6, 0, 5, 0, $7d, $36 ; xflip -; 123fc - -.HealMachineGFX: ; 123fc -INCBIN "gfx/overworld/heal_machine.2bpp" -; 1241c - -.HOF_OAM: ; 1241c - dsprite 7, 4, 10, 1, $7d, $16 - dsprite 7, 4, 10, 6, $7d, $16 - dsprite 7, 3, 9, 5, $7d, $16 - dsprite 7, 3, 11, 2, $7d, $16 - dsprite 7, 1, 9, 1, $7d, $16 - dsprite 7, 1, 11, 5, $7d, $16 -; 12434 - -.LoadPalettes: ; 12434 - call IsCGB - jr nz, .cgb - ld a, %11100000 - ld [rOBP1], a - ret - -.cgb - ld hl, .palettes - ld de, OBPals + 8 * 6 - ld bc, 8 - ld a, $5 - call FarCopyWRAM - ld a, $1 - ld [hCGBPalUpdate], a - ret -; 12451 - -.palettes ; 12451 - RGB 31, 31, 31 - RGB 31, 19, 10 - RGB 31, 07, 01 - RGB 00, 00, 00 -; 12459 - -.FlashPalettes8Times: ; 12459 - ld c, $8 -.palette_loop - push bc - call .FlashPalettes - ld c, 10 - call DelayFrames - pop bc - dec c - jr nz, .palette_loop - ret -; 12469 - -.FlashPalettes: ; 12469 - call IsCGB - jr nz, .go - ld a, [rOBP1] - xor %00101000 - ld [rOBP1], a - ret - -.go - ld a, [rSVBK] - push af - ld a, $5 - ld [rSVBK], a - - ld hl, OBPals + 8 * 6 - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - push de - ld c, $3 -.palette_loop_2 - ld a, [hli] - ld e, a - ld a, [hld] - ld d, a - dec hl - ld a, d - ld [hld], a - ld a, e - ld [hli], a - inc hl - inc hl - inc hl - dec c - jr nz, .palette_loop_2 - pop de - dec hl - ld a, d - ld [hld], a - ld a, e - ld [hl], a - - pop af - ld [rSVBK], a - ld a, $1 - ld [hCGBPalUpdate], a - ret -; 124a3 - -.PlaceHealingMachineTile: ; 124a3 - push bc - ld a, [Buffer1] - bcpixel 2, 4 - cp $1 ; ElmsLab - jr z, .okay - bcpixel 0, 0 - -.okay - ld a, [de] - add c - inc de - ld [hli], a - ld a, [de] - add b - inc de - ld [hli], a - ld a, [de] - inc de - ld [hli], a - ld a, [de] - inc de - ld [hli], a - pop bc - ret -; 124c1 diff --git a/engine/init_hof_credits.asm b/engine/init_hof_credits.asm new file mode 100644 index 000000000..0f55a10ab --- /dev/null +++ b/engine/init_hof_credits.asm @@ -0,0 +1,79 @@ +InitDisplayForHallOfFame: ; 4e881 + call ClearBGPalettes + call ClearTileMap + call ClearSprites + call DisableLCD + call LoadStandardFont + call LoadFontsBattleExtra + hlbgcoord 0, 0 + ld bc, VBGMap1 - VBGMap0 + ld a, " " + call ByteFill + hlcoord 0, 0, AttrMap + ld bc, SCREEN_WIDTH * SCREEN_HEIGHT + xor a + call ByteFill + xor a + ld [hSCY], a + ld [hSCX], a + call EnableLCD + ld hl, .SavingRecordDontTurnOff + call PrintText + call WaitBGMap2 + call SetPalettes + ret + +.SavingRecordDontTurnOff: ; 0x4e8bd + ; SAVING RECORD… DON'T TURN OFF! + text_jump UnknownText_0x1bd39e + db "@" + +InitDisplayForRedCredits: ; 4e8c2 + call ClearBGPalettes + call ClearTileMap + call ClearSprites + call DisableLCD + call LoadStandardFont + call LoadFontsBattleExtra + hlbgcoord 0, 0 + ld bc, VBGMap1 - VBGMap0 + ld a, " " + call ByteFill + hlcoord 0, 0, AttrMap + ld bc, SCREEN_WIDTH * SCREEN_HEIGHT + xor a + call ByteFill + ld hl, UnknBGPals + ld c, 4 tiles +.load_white_palettes + ld a, (palred 31 + palgreen 31 + palblue 31) % $100 + ld [hli], a + ld a, (palred 31 + palgreen 31 + palblue 31) / $100 + ld [hli], a + dec c + jr nz, .load_white_palettes + xor a + ld [hSCY], a + ld [hSCX], a + call EnableLCD + call WaitBGMap2 + call SetPalettes + ret + +ResetDisplayBetweenHallOfFameMons: ; 4e906 + ld a, [rSVBK] + push af + ld a, $6 + ld [rSVBK], a + ld hl, wDecompressScratch + ld bc, wScratchAttrMap - wDecompressScratch + ld a, " " + call ByteFill + hlbgcoord 0, 0 + ld de, wDecompressScratch + ld b, 0 + ld c, 4 tiles + call Request2bpp + pop af + ld [rSVBK], a + ret diff --git a/engine/init_list.asm b/engine/init_list.asm new file mode 100644 index 000000000..e2b7235ab --- /dev/null +++ b/engine/init_list.asm @@ -0,0 +1,54 @@ +InitList: ; 50db9 + ld a, [wInitListType] + + cp INIT_ENEMYOT_LIST + jr nz, .check_party_ot_name + ld hl, OTPartyCount + ld de, OTPartyMonOT + ld a, ENEMY_OT_NAME + jr .done + +.check_party_ot_name + cp INIT_PLAYEROT_LIST + jr nz, .check_mon_name + ld hl, PartyCount + ld de, PartyMonOT + ld a, PARTY_OT_NAME + jr .done + +.check_mon_name + cp INIT_MON_LIST + jr nz, .check_item_name + ld hl, CurMart + ld de, PokemonNames + ld a, PKMN_NAME + jr .done + +.check_item_name + cp INIT_BAG_ITEM_LIST + jr nz, .check_ob_item_name + ld hl, NumItems + ld de, ItemNames + ld a, ITEM_NAME + jr .done + +.check_ob_item_name + ld hl, CurMart + ld de, ItemNames + ld a, ITEM_NAME +.done + ld [wNamedObjectTypeBuffer], a + ld a, l + ld [wListPointer], a + ld a, h + ld [wListPointer + 1], a + ld a, e + ld [wUnusedD102], a + ld a, d + ld [wUnusedD102 + 1], a + ld bc, ItemAttributes + ld a, c + ld [wItemAttributesPtr], a + ld a, b + ld [wItemAttributesPtr + 1], a + ret diff --git a/engine/link.asm b/engine/link.asm index 7f71f4880..619d5bae3 100755 --- a/engine/link.asm +++ b/engine/link.asm @@ -2581,3 +2581,14 @@ UnusedGen1LinkCommsBorderGFX: ; 29f54 ; unreferenced INCBIN "gfx/trade/unused_gen_1_border_tiles.2bpp" ; 29fe4 + +Function29fe4: ; unreferenced + ld a, BANK(sPartyMail) + call GetSRAMBank + ld d, $0 + ld b, CHECK_FLAG + predef FlagPredef + call CloseSRAM + ld a, c + and a + ret diff --git a/engine/mystery_gift.asm b/engine/mystery_gift.asm new file mode 100755 index 000000000..8204ab332 --- /dev/null +++ b/engine/mystery_gift.asm @@ -0,0 +1,1735 @@ +DoMysteryGift: ; 1048ba (41:48ba) + call ClearTileMap + call ClearSprites + call WaitBGMap + call InitMysteryGiftLayout + hlcoord 3, 8 + ld de, .String_PressAToLink_BToCancel + call PlaceString + call WaitBGMap + callba PrepMysteryGiftDataToSend + call MysteryGift_ClearTrainerData + ld a, $2 + ld [wca01], a + ld a, $14 + ld [wca02], a + ld a, [rIE] + push af + + call Function104a95 + + ld d, a + xor a + ld [rIF], a + pop af + ld [rIE], a + push de + call ClearTileMap + call EnableLCD + call WaitBGMap + ld b, SCGB_DIPLOMA + call GetSGBLayout + call SetPalettes + pop de + hlcoord 2, 8 + ld a, d + ld de, .Text_LinkCanceled ; Link has been canceled + cp $10 + jp z, .LinkCanceled + cp $6c + jp nz, .CommunicationError + ld a, [wc900] + cp 3 + jr z, .skip_checks + call .CheckAlreadyGotFiveGiftsToday + ld hl, .Text_MaxFiveGifts ; Only 5 gifts a day + jp nc, .PrintTextAndExit + call .CheckAlreadyGotAGiftFromThatPerson + ld hl, .Text_MaxOneGiftPerPerson ; Only one gift a day per person + jp c, .PrintTextAndExit +.skip_checks + ld a, [wMysteryGiftPlayerBackupItem] + and a + jp nz, .GiftWaiting + ld a, [wMysteryGiftPartnerBackupItem] + and a + jp nz, .FriendNotReady + ld a, [wc900] + cp 3 + jr z, .skip_append_save + call .AddMysteryGiftPartnerID + ld a, [wc900] + cp 4 + jr z, .skip_append_save + call .SaveMysteryGiftTrainerName + callba RestoreMobileEventIndex + callba TrainerRankings_MysteryGift + callba BackupMobileEventIndex +.skip_append_save + ld a, [wMysteryGiftPartnerSentDeco] + and a + jr z, .item + ld a, [wMysteryGiftPartnerWhichDeco] + ld c, a + callba MysteryGiftGetDecoration + push bc + call MysteryGift_CheckAndSetDecorationAlreadyReceived + pop bc + jr nz, .item + callab GetDecorationName_c + ld h, d + ld l, e + ld de, StringBuffer1 + ld bc, ITEM_NAME_LENGTH + call CopyBytes + ld hl, .Text_SentToHome ; sent decoration to home + jr .PrintTextAndExit + +.item + call GetMysteryGiftBank + ld a, [wMysteryGiftPartnerWhichItem] + ld c, a + callba MysteryGiftGetItemHeldEffect + ld a, c + ld [sBackupMysteryGiftItem], a + ld [wNamedObjectIndexBuffer], a + call CloseSRAM + call GetItemName + ld hl, .Text_Sent ; sent item + jr .PrintTextAndExit + +.LinkCanceled: ; 1049af (41:49af) + ld hl, .Text_LinkCanceled ; Link has been canceled + jr .PrintTextAndExit + +.CommunicationError: ; 1049b4 (41:49b4) + ld hl, .Text_CommunicationError ; Communication error + call PrintText + jp DoMysteryGift + +.GiftWaiting: ; 1049bd (41:49bd) + ld hl, .Text_ReceiveGiftAtCounter ; receive gift at counter + jr .PrintTextAndExit + +.FriendNotReady: ; 1049c2 (41:49c2) + ld hl, .Text_FriendNotReady ; friend not ready + +.PrintTextAndExit: ; 1049c5 (41:49c5) + call PrintText + ld a, $e3 + ld [rLCDC], a + ret +; 1049cd (41:49cd) + +.String_PressAToLink_BToCancel: ; 1049cd + db "Press A to" + next "link IR-Device" + next "Press B to" + next "cancel it." + db "@" +; 1049fd + +.Text_LinkCanceled: ; 1049fd + text_jump UnknownText_0x1c0436 + db "@" +; 104a02 + +.Text_CommunicationError: ; 104a02 + text_jump UnknownText_0x1c0454 + db "@" +; 104a07 + +.Text_ReceiveGiftAtCounter: ; 104a07 + text_jump UnknownText_0x1c046a + db "@" +; 104a0c + +.Text_FriendNotReady: ; 104a0c + text_jump UnknownText_0x1c048e + db "@" +; 104a11 + +.Text_MaxFiveGifts: ; 104a11 + text_jump UnknownText_0x1c04a7 + db "@" +; 104a16 + +.Text_MaxOneGiftPerPerson: ; 104a16 + text_jump UnknownText_0x1c04c6 + db "@" +; 104a1b + +.Text_Sent: ; 104a1b + text_jump UnknownText_0x1c04e9 + db "@" +; 104a20 + +.Text_SentToHome: ; 104a20 + text_jump UnknownText_0x1c04fa + db "@" +; 104a25 + +.CheckAlreadyGotFiveGiftsToday: ; 104a25 (41:4a25) + call GetMysteryGiftBank + ld a, [sNumDailyMysteryGiftPartnerIDs] + cp $5 + jp CloseSRAM + +.CheckAlreadyGotAGiftFromThatPerson: ; 104a30 (41:4a30) + call GetMysteryGiftBank + ld a, [wMysteryGiftPartnerID] + ld b, a + ld a, [wMysteryGiftPartnerID + 1] + ld c, a + ld a, [sNumDailyMysteryGiftPartnerIDs] + ld d, a + ld hl, sDailyMysteryGiftPartnerIDs +.loop + ld a, d + and a + jr z, .No + ld a, [hli] + cp b + jr nz, .skip + ld a, [hl] + cp c + jr z, .Yes +.skip + inc hl + dec d + jr .loop +.Yes: + scf +.No: + jp CloseSRAM + +.AddMysteryGiftPartnerID: ; 104a56 (41:4a56) + call GetMysteryGiftBank + ld hl, sNumDailyMysteryGiftPartnerIDs + ld a, [hl] + inc [hl] + ld hl, sDailyMysteryGiftPartnerIDs ; inc hl + ld e, a + ld d, $0 + add hl, de + add hl, de + ld a, [wMysteryGiftPartnerID] + ld [hli], a + ld a, [wMysteryGiftPartnerID + 1] + ld [hl], a + jp CloseSRAM + +.SaveMysteryGiftTrainerName: ; 104a71 (41:4a71) + call GetMysteryGiftBank + ld a, $1 + ld [sMysteryGiftTrainerHouseFlag], a + ld hl, wMysteryGiftPartnerName + ld de, sMysteryGiftPartnerName + ld bc, NAME_LENGTH + call CopyBytes + ld a, $1 + ld [de], a + inc de + ld hl, wMysteryGiftTrainerData + ld bc, (1 + 1 + NUM_MOVES) * PARTY_LENGTH + 2 + call CopyBytes + jp CloseSRAM + +Function104a95: ; 104a95 (41:4a95) + di + callba ClearChannels + call Function104d5e + +.loop2 + call Function104d96 + call Function104ddd + ld a, [hMGStatusFlags] + cp $10 + jp z, Function104bd0 + cp $6c + jr nz, .loop2 + + ld a, [hPrintNum9] + cp $2 + jr z, Function104b22 + ld hl, hPrintNum1 + ld b, $1 + call Function104d56 + jr nz, .ly_loop + call Function104b49 + jp nz, Function104bd0 + jr Function104b0a + ; Delay frame +.ly_loop + ld a, [rLY] + cp $90 + jr c, .ly_loop + ld c, rRP % $100 + ld a, $c0 + ld [$ff00+c], a + ld b, 240 ; This might have been intended as a 4-second timeout buffer. + ; However, it is reset with each frame. +.loop3 + push bc + call MysteryGift_ReadJoypad + + ld b, $2 + ld c, rRP % $100 + ; Delay frame +.ly_loop2 + ld a, [$ff00+c] + and b + ld b, a + ld a, [rLY] + cp $90 + jr nc, .ly_loop2 +.ly_loop3 + ld a, [$ff00+c] + and b + ld b, a + ld a, [rLY] + cp $90 + jr c, .ly_loop3 + + ld a, b + pop bc + dec b + jr z, .loop2 ; we never jump here + or a + jr nz, .loop2 + ; Check if we've pressed the B button + ld a, [hMGJoypadReleased] + bit B_BUTTON_F, a + jr z, .loop3 + ld a, $10 + ld [hMGStatusFlags], a + jp Function104bd0 + +Function104b04: ; 104b04 (41:4b04) + call Function104b40 + jp nz, Function104bd0 +Function104b0a: ; 104b0a (41:4b0a) + call Function104d38 + jp nz, Function104bd0 + call Function104b88 + jp nz, Function104bd0 + call Function104d43 + jp nz, Function104bd0 + call Function105033 + jp Function104bd0 + +Function104b22: ; 104b22 (41:4b22) + call Function104b88 + jp nz, Function104bd0 + call Function104d43 + jp nz, Function104bd0 + call Function104b40 + jp nz, Function104bd0 + call Function104d38 + jp nz, Function104bd0 + call Function10502e + jp Function104bd0 + +Function104b40: ; 104b40 (41:4b40) + ld hl, hPrintNum1 + ld b, $1 + call Function104d56 + ret nz + +Function104b49: ; 104b49 (41:4b49) + call Function105033 + ld a, [hMGStatusFlags] + cp $6c + ret nz + ld a, [hPrintNum1] + cp $96 + jp nz, Function104d32 + ld a, $90 + ld [hPrintNum1], a + call Function104d38 + ret nz + ld hl, hPrintNum1 + ld b, $1 + call Function104d4e + ret nz + call Function10502e + ld a, [hMGStatusFlags] + cp $6c + ret nz + call Function104d43 + ret nz + ld hl, wMysteryGiftTrainerData + ld a, [wca02] + ld b, a + call Function104d56 + ret nz + call Function105033 + ld a, [hMGStatusFlags] + cp $6c + ret + +Function104b88: ; 104b88 (41:4b88) + ld a, $96 + ld [hPrintNum1], a + ld hl, hPrintNum1 + ld b, $1 + call Function104d4e + ret nz + call Function10502e + ld a, [hMGStatusFlags] + cp $6c + ret nz + call Function104d43 + ret nz + ld hl, hPrintNum1 + ld b, $1 + call Function104d56 + ret nz + call Function105033 + ld a, [hMGStatusFlags] + cp $6c + ret nz + ld a, [hPrintNum1] + cp $90 + jp nz, Function104d32 + call Function104d38 + ret nz + ld hl, OverworldMap + ld a, [wca02] + ld b, a + call Function104d4e + ret nz + call Function10502e + ld a, [hMGStatusFlags] + cp $6c + ret + +Function104bd0: ; 104bd0 (41:4bd0) + nop + ld a, [hMGStatusFlags] + cp $10 + jr z, .quit + cp $6c + jr nz, .quit + ld hl, wca01 + dec [hl] + jr z, .quit + ld hl, wMysteryGiftTrainerData + ld de, wMysteryGiftPartnerData + ld bc, wMysteryGiftPartnerDataEnd - wMysteryGiftPartnerData + call CopyBytes + ld a, [wMysteryGiftTrainerData] + cp $3 + jr nc, .quit + callba StagePartyDataForMysteryGift + call MysteryGift_ClearTrainerData + ld a, $26 + ld [wca02], a + ld a, [hPrintNum9] + cp $2 + jr z, .asm_104c10 + call Function104d43 + jr nz, Function104bd0 + jp Function104b04 + +.asm_104c10 + call Function104d38 + jr nz, Function104bd0 + jp Function104b22 + +.quit + ld a, [hMGStatusFlags] + push af + call Function104da0 + xor a + ld [rIF], a + ld a, [rIE] + or $1 + ld [rIE], a + ei + call DelayFrame + pop af + ret + +Function104c2d: ; 104c2d (41:4c2d) + di + callba ClearChannels + call Function104d5e +.asm_104c37 + call Function104d96 + call Function104ddd + ld a, [hMGStatusFlags] + cp $10 + jp z, Function104d1c + cp $6c + jr nz, .asm_104c37 + ld a, [hPrintNum9] + cp $2 + jr z, .asm_104c6c + call Function104c8a + jp nz, Function104d1c + call Function104d38 + jp nz, Function104d1c + call Function104cd2 + jp nz, Function104d1c + call Function104d43 + jp nz, Function104d1c + call Function105033 + jp Function104d1c +.asm_104c6c + call Function104cd2 + jp nz, Function104d1c + call Function104d43 + jp nz, Function104d1c + call Function104c8a + jp nz, Function104d1c + call Function104d38 + jp nz, Function104d1c + call Function10502e + jp Function104d1c + +Function104c8a: ; 104c8a (41:4c8a) + ld hl, hPrintNum1 + ld b, $1 + call Function104d56 + ret nz + call Function105033 + ld a, [hMGStatusFlags] + cp $6c + ret nz + ld a, [hPrintNum1] + cp $3c + jp nz, Function104d32 + swap a + ld [hPrintNum1], a + call Function104d38 + ret nz + ld hl, hPrintNum1 + ld b, $1 + call Function104d4e + ret nz + call Function10502e + ld a, [hMGStatusFlags] + cp $6c + ret nz + call Function104d43 + ret nz + ld hl, wMysteryGiftTrainerData + ld a, [wca02] + ld b, a + call Function104d56 + ret nz + call Function105033 + ld a, [hMGStatusFlags] + cp $6c + ret + +Function104cd2: ; 104cd2 (41:4cd2) + ld a, $3c + ld [hPrintNum1], a + ld hl, hPrintNum1 + ld b, $1 + call Function104d4e + ret nz + call Function10502e + ld a, [hMGStatusFlags] + cp $6c + ret nz + call Function104d43 + ret nz + ld hl, hPrintNum1 + ld b, $1 + call Function104d56 + ret nz + call Function105033 + ld a, [hMGStatusFlags] + cp $6c + ret nz + ld a, [hPrintNum1] + swap a + cp $3c + jp nz, Function104d32 + call Function104d38 + ret nz + ld hl, OverworldMap + ld a, [wca02] + ld b, a + call Function104d4e + ret nz + call Function10502e + ld a, [hMGStatusFlags] + cp $6c + ret + +Function104d1c: ; 104d1c (41:4d1c) + nop + ld a, [hMGStatusFlags] + push af + call Function104da0 + xor a + ld [rIF], a + ld a, [rIE] + or $1 + ld [rIE], a + ei + call DelayFrame + pop af + ret + +Function104d32: ; 104d32 (41:4d32) + ld a, $80 + ld [hMGStatusFlags], a + and a + ret + +Function104d38: ; 104d38 (41:4d38) + call Function104d96 + call Function104e46 + ld a, [hMGStatusFlags] + cp $6c + ret + +Function104d43: ; 104d43 (41:4d43) + call Function104d96 + call Function104dfe + ld a, [hMGStatusFlags] + cp $6c + ret + +Function104d4e: ; 104d4e (41:4d4e) + call Function104e93 + ld a, [hMGStatusFlags] + cp $6c + ret + +Function104d56: ; 104d56 (41:4d56) + call Function104f57 + ld a, [hMGStatusFlags] + cp $6c + ret + +Function104d5e: ; 104d5e (41:4d5e) + call Function104d74 + ld a, $4 + ld [rIE], a + xor a + ld [rIF], a + call Function104d96 + xor a + ld b, a +.asm_104d6d + inc a + jr nz, .asm_104d6d + inc b + jr nz, .asm_104d6d + ret + +Function104d74: ; 104d74 (41:4d74) + xor a + ld [rTAC], a + ld a, $fe + ld [rTMA], a + ld [rTIMA], a + ld a, $2 + ld [rTAC], a + or $4 + ld [rTAC], a + ret + +Function104d86: ; 104d86 (41:4d86) + xor a + ld [rTAC], a + ld [rTMA], a + ld [rTIMA], a + ld a, $2 + ld [rTAC], a + or $4 + ld [rTAC], a + ret + +Function104d96: ; 104d96 (41:4d96) + ld a, $c0 + call Function104e8c + ld a, $1 + ld [hPrintNum9], a + ret + +Function104da0: ; 104da0 (41:4da0) + xor a + call Function104e8c + ld a, $2 + ld [rTAC], a + ret + +Function104da9: ; 104da9 (41:4da9) + inc d + ret z + xor a + ld [rIF], a + halt + ld a, [$ff00+c] + bit 1, a + jr z, Function104da9 + or a + ret + +Function104db7: ; 104db7 (41:4db7) + inc d + ret z + xor a + ld [rIF], a + halt + ld a, [$ff00+c] + bit 1, a + jr nz, Function104db7 + or a + ret + +Function104dc5: ; 104dc5 (41:4dc5) + ld a, $c1 + ld [$ff00+c], a +.wait + dec d + ret z + xor a + ld [rIF], a + halt + jr .wait + +Function104dd1: ; 104dd1 (41:4dd1) + ld a, $c0 + ld [$ff00+c], a +.wait + dec d + ret z + xor a + ld [rIF], a + halt + jr .wait + +Function104ddd: ; 104ddd (41:4ddd) + ld d, $0 + ld e, d + ld a, $1 + ld [hPrintNum9], a +.loop + call MysteryGift_ReadJoypad + ld b, $2 + ld c, rRP % $100 + ld a, [hMGJoypadReleased] + bit B_BUTTON_F, a + jr z, .next + ld a, $10 + ld [hMGStatusFlags], a + ret + +.next + bit 0, a + jr nz, Function104e3a + ld a, [$ff00+c] + and b + jr nz, .loop + +Function104dfe: ; 104dfe (41:4dfe) + ld c, rRP % $100 + ld d, $0 + ld e, d + call Function104db7 + jp z, Function104f42 + ld d, e + call Function104da9 + jp z, Function104f42 + call Function104db7 + jp z, Function104f42 + call Function104da9 + jp z, Function104f42 + ld a, $6c + ld [hMGStatusFlags], a + ld d, $3d + call Function104dd1 + ld d, $5 + call Function104dc5 + ld d, $15 + call Function104dd1 + ld d, $5 + call Function104dc5 + ld d, $5 + call Function104dd1 + ret + +Function104e3a: ; 104e3a (41:4e3a) + ; Wait a random amount of time + call Random + ld e, a + and $f + ld d, a +.loop + dec de + ld a, d + or e + jr nz, .loop +Function104e46: ; 104e46 (41:4e46) + ld a, $2 + ld [hPrintNum9], a + ld c, rRP % $100 + ld d, $0 + ld e, d + ld d, $3d + call Function104dd1 + ld d, $5 + call Function104dc5 + ld d, $15 + call Function104dd1 + ld d, $5 + call Function104dc5 + ld d, $5 + call Function104dd1 + ld d, e + call Function104db7 + jp z, Function104f42 + ld d, e + call Function104da9 + jp z, Function104f42 + call Function104db7 + jp z, Function104f42 + call Function104da9 + jp z, Function104f42 + ld d, $3d + call Function104dd1 + ld a, $6c + ld [hMGStatusFlags], a + ret + +Function104e8c: ; 104e8c (41:4e8c) + ld [rRP], a + ld a, $ff + ld [hMGStatusFlags], a + ret + +Function104e93: ; 104e93 (41:4e93) + xor a + ld [hPrintNum5], a + ld [hPrintNum6], a + push hl + push bc + ld c, rRP % $100 + ld d, $3d + call Function104dd1 + ld hl, hPrintNum2 + ld a, $5a + ld [hli], a + ld [hl], b + dec hl + ld b, $2 + call Function104ed6 + pop bc + pop hl + call Function104ed6 + ld a, [hPrintNum5] + ld [hPrintNum2], a + ld a, [hPrintNum6] + ld [hPrintNum3], a + push hl + ld hl, hPrintNum2 + ld b, $2 + call Function104ed6 + ld hl, hMGStatusFlags + ld b, $1 + call Function104faf + ld a, [hPrintNum2] + ld [hPrintNum5], a + ld a, [hPrintNum3] + ld [hPrintNum6], a + pop hl + ret + +Function104ed6: ; 104ed6 (41:4ed6) + ld c, rRP % $100 + ld d, $5 + call Function104dd1 + ld d, $5 + call Function104dc5 + ld d, $15 + call Function104dd1 + ld a, b + cpl + ld b, a + ld a, $f4 + ld [rTMA], a +.asm_104eee + inc b + jr z, .asm_104f2e + ld a, $8 + ld [hPrintNum4], a + ld a, [hli] + ld e, a + ld a, [hPrintNum5] + add e + ld [hPrintNum5], a + ld a, [hPrintNum6] + adc $0 + ld [hPrintNum6], a +.asm_104f02 + xor a + ld [rIF], a + halt + ld a, $c1 + ld [rRP], a + ld d, $1 + ld a, e + rlca + ld e, a + jr nc, .asm_104f13 + inc d +.asm_104f13 + ld a, [rTIMA] + cp $f8 + jr c, .asm_104f13 + ld a, $c0 + ld [rRP], a + dec d + jr z, .asm_104f25 + xor a + ld [rIF], a + halt +.asm_104f25 + ld a, [hPrintNum4] + dec a + jr z, .asm_104eee + ld [hPrintNum4], a + jr .asm_104f02 +.asm_104f2e + ld a, $fe + ld [rTMA], a + xor a + ld [rIF], a + halt + ld d, $5 + call Function104dc5 + ld d, $11 + call Function104dd1 + ret + +Function104f42: ; 104f42 (41:4f42) + ld a, [hMGStatusFlags] + or $2 + ld [hMGStatusFlags], a + ret + +Function104f49: ; 104f49 (41:4f49) + ld a, [hMGStatusFlags] + or $1 + ld [hMGStatusFlags], a + ret + +Function104f50: ; 104f50 (41:4f50) + ld a, [hMGStatusFlags] + or $80 + ld [hMGStatusFlags], a + ret + +Function104f57: ; 104f57 (41:4f57) + xor a + ld [hPrintNum5], a + ld [hPrintNum6], a + push bc + push hl + ld hl, hPrintNum2 + ld b, $2 + call Function104faf + ld a, [hPrintNum3] + ld [hPrintNum8], a + ld b, a + pop hl + pop af + cp b + jp c, Function104f50 + ld a, [hPrintNum2] + cp $5a + jp nz, Function104f50 + call Function104faf + ld a, [hPrintNum5] + ld d, a + ld a, [hPrintNum6] + ld e, a + push hl + push de + ld hl, hPrintNum2 + ld b, $2 + call Function104faf + pop de + ld hl, hPrintNum2 + ld a, [hli] + xor d + ld b, a + ld a, [hl] + xor e + or b + call nz, Function104f49 + push de + ld d, $3d + call Function104dd1 + ld hl, hMGStatusFlags + ld b, $1 + call Function104ed6 + pop de + pop hl + ld a, d + ld [hPrintNum5], a + ld a, e + ld [hPrintNum6], a + ret + +Function104faf: ; 104faf (41:4faf) + ld c, rRP % $100 + ld d, $0 + call Function104db7 + jp z, Function104f42 + ld d, $0 + call Function104da9 + jp z, Function104f42 + ld d, $0 + call Function104db7 + jp z, Function104f42 + ld a, b + cpl + ld b, a + xor a + ld [hMGJoypadPressed + 2], a + call Function104d86 +.asm_104fd2 + inc b + jr z, .asm_10501a + ld a, $8 + ld [hPrintNum4], a +.asm_104fd9 + ld d, $0 +.asm_104fdb + inc d + jr z, .asm_104fe5 + ld a, [$ff00+c] + bit 1, a + jr z, .asm_104fdb + ld d, $0 +.asm_104fe5 + inc d + jr z, .asm_104fed + ld a, [$ff00+c] + bit 1, a + jr nz, .asm_104fe5 +.asm_104fed + ld a, [hMGJoypadPressed + 2] + ld d, a + ld a, [rTIMA] + ld [hMGJoypadPressed + 2], a + sub d + cp $12 + jr c, .asm_104ffd + set 0, e + jr .asm_104fff +.asm_104ffd + res 0, e +.asm_104fff + ld a, [hPrintNum4] + dec a + ld [hPrintNum4], a + jr z, .asm_10500b + ld a, e + rlca + ld e, a + jr .asm_104fd9 +.asm_10500b + ld a, e + ld [hli], a + ld a, [hPrintNum5] + add e + ld [hPrintNum5], a + ld a, [hPrintNum6] + adc $0 + ld [hPrintNum6], a + jr .asm_104fd2 +.asm_10501a + call Function104d74 + xor a + ld [rIF], a + ld d, $0 + call Function104da9 + jp z, Function104f42 + ld d, $10 + call Function104dd1 + ret + +Function10502e: ; 10502e (41:502e) + ld b, $0 + jp Function104e93 + +Function105033: ; 105033 (41:5033) + ld b, $0 + jp Function104f57 + +MysteryGift_ReadJoypad: ; 105038 (41:5038) +; We can only get four inputs at a time. +; We take d-pad first for no particular reason. + ld a, R_DPAD + ld [rJOYP], a +; Read twice to give the request time to take. + ld a, [rJOYP] + ld a, [rJOYP] + +; The Joypad register output is in the lo nybble (inversed). +; We make the hi nybble of our new container d-pad input. + cpl + and $f + swap a + +; We'll keep this in b for now. + ld b, a + +; Buttons make 8 total inputs (A, B, Select, Start). +; We can fit this into one byte. + ld a, R_BUTTONS + ld [rJOYP], a +; Wait for input to stabilize. +rept 6 + ld a, [rJOYP] +endr +; Buttons take the lo nybble. + cpl + and $f + or b + ld c, a +; To get the delta we xor the last frame's input with the new one. + ld a, [hMGJoypadPressed] + xor c +; Released this frame: + and c + ld [hMGJoypadReleased], a +; Pressed this frame: + ld a, c + ld [hMGJoypadPressed], a + ld a, $30 +; Reset the joypad register since we're done with it. + ld [rJOYP], a + ret + +MysteryGift_CheckAndSetDecorationAlreadyReceived: ; 105069 (41:5069) + call GetMysteryGiftBank + ld d, $0 + ld b, CHECK_FLAG + ld hl, sMysteryGiftDecorationsReceived + predef_id FlagPredef + push hl + push bc + call Predef + call CloseSRAM + ld a, c + and a + pop bc + pop hl + ret nz + call GetMysteryGiftBank + ld b, SET_FLAG + predef FlagPredef + call CloseSRAM + xor a + ret + +MysteryGift_CopyReceivedDecosToPC: ; 105091 (41:5091) + call GetMysteryGiftBank + ld c, $0 +.loop + push bc + ld d, $0 + ld b, CHECK_FLAG + ld hl, sMysteryGiftDecorationsReceived + predef FlagPredef + ld a, c + and a + pop bc + jr z, .skip + push bc + callab SetSpecificDecorationFlag + pop bc +.skip + inc c + ld a, c + cp Trophys - DecorationIDs + jr c, .loop + jp CloseSRAM + +Special_UnlockMysteryGift: ; 1050b9 + call GetMysteryGiftBank + ld hl, sMysteryGiftUnlocked + ld a, [hl] + inc a + jr nz, .ok + ld [hld], a + ld [hl], a +.ok + jp CloseSRAM +; 1050c8 + +Function1050c8: ; 1050c8 + call GetMysteryGiftBank + ld a, [sNumDailyMysteryGiftPartnerIDs] + cp $ff + jr z, .okay + xor a + ld [sNumDailyMysteryGiftPartnerIDs], a +.okay + jp CloseSRAM +; 1050d9 + + +BackupMysteryGift: ; 1050d9 + call GetMysteryGiftBank + ld hl, sMysteryGiftItem + ld de, sBackupMysteryGiftItem + ld a, [hli] + ld [de], a + inc de + ld a, [hl] + ld [de], a + jp CloseSRAM +; 1050ea + + +RestoreMysteryGift: ; 1050ea (41:50ea) + call GetMysteryGiftBank + ld hl, sBackupMysteryGiftItem + ld de, sMysteryGiftItem + ld a, [hli] + ld [de], a + inc de + ld a, [hl] + ld [de], a + jp CloseSRAM + +MysteryGift_ClearTrainerData: ; 1050fb (41:50fb) + ld hl, wMysteryGiftTrainerData + xor a + ld b, wMysteryGiftTrainerDataEnd - wMysteryGiftTrainerData +.loop + ld [hli], a + dec b + jr nz, .loop + ret + + +GetMysteryGiftBank: ; 105106 + ld a, BANK(sBackupMysteryGiftItem) + jp GetSRAMBank +; 10510b + + +StagePartyDataForMysteryGift: ; 10510b (41:510b) +; You will be sending this data to your mystery gift partner. +; Structure is the same as a trainer with species and moves +; defined. + ld a, BANK(sPokemonData) + call GetSRAMBank + ld de, wMysteryGiftStaging + ld bc, sPokemonData + PartyMons - wPokemonData + ld hl, sPokemonData + PartySpecies - wPokemonData +.loop + ld a, [hli] + cp -1 + jr z, .party_end + cp EGG + jr z, .next + push hl + ; copy level + ld hl, MON_LEVEL + add hl, bc + ld a, [hl] + ld [de], a + inc de + ; copy species + ld hl, MON_SPECIES + add hl, bc + ld a, [hl] + ld [de], a + inc de + ; copy moves + ld hl, MON_MOVES + add hl, bc + push bc + ld bc, NUM_MOVES + call CopyBytes + pop bc + pop hl +.next + push hl + ld hl, PARTYMON_STRUCT_LENGTH + add hl, bc + ld b, h + ld c, l + pop hl + jr .loop +.party_end + ld a, -1 + ld [de], a + ld a, $26 + ld [wca00], a + jp CloseSRAM + +InitMysteryGiftLayout: ; 105153 (41:5153) + call ClearBGPalettes + call DisableLCD + ld hl, MysteryGiftGFX + ld de, VTiles2 tile $00 + ld a, BANK(MysteryGiftGFX) + ld bc, MysteryGiftGFXEnd - MysteryGiftGFX + call FarCopyBytes + hlcoord 0, 0 + ld a, $42 + ld bc, SCREEN_HEIGHT * SCREEN_WIDTH + call ByteFill + hlcoord 3, 7 + lb bc, 9, 15 + call ClearBox + hlcoord 0, 0 + ld a, $0 + ld [hli], a + inc a + ld [hl], a + hlcoord 0, 1 + inc a + ld [hli], a + inc a + ld [hl], a + hlcoord 7, 1 + ld a, $12 + call .Load5GFX + hlcoord 2, 2 + ld a, $17 + call .Load16GFX + hlcoord 2, 3 + ld a, $27 + call .Load16GFX + hlcoord 9, 4 + ld a, $37 + ld [hli], a + inc a + ld [hl], a + hlcoord 1, 2 + ld [hl], $4 + hlcoord 1, 3 + ld a, $5 + call .Load14Column + ld a, $9 + hlcoord 18, 5 + call .Load11Column + hlcoord 2, 5 + ld a, $b + call .Load16Row + hlcoord 2, 16 + ld a, $7 + call .Load16Row + hlcoord 2, 5 + ld a, $d + call .Load5GFX + hlcoord 7, 5 + ld [hl], $c + hlcoord 18, 5 + ld [hl], $a + hlcoord 18, 16 + ld [hl], $8 + hlcoord 1, 16 + ld [hl], $6 + hlcoord 2, 6 + ld a, $3a + call .Load16Row + hlcoord 2, 15 + ld a, $40 + call .Load16Row + hlcoord 2, 6 + ld a, $3c + call .Load9Column + hlcoord 17, 6 + ld a, $3e + call .Load9Column + hlcoord 2, 6 + ld [hl], $39 + hlcoord 17, 6 + ld [hl], $3b + hlcoord 2, 15 + ld [hl], $3f + hlcoord 17, 15 + ld [hl], $41 + call EnableLCD + call WaitBGMap + ld b, SCGB_MYSTERY_GIFT + call GetSGBLayout + call SetPalettes + ret + +.Load5GFX: ; 10522e (41:522e) + ld b, 5 + jr .gfx_loop +; 105232 (41:5232) + +.Load6GFX: ; unreferenced + ld b, 6 + jr .gfx_loop + +.Load16GFX: ; 105236 (41:5236) + ld b, 16 + +.gfx_loop ; 105238 (41:5238) + ld [hli], a + inc a + dec b + jr nz, .gfx_loop + ret + +.Load9Column: ; 10523e (41:523e) + ld b, 9 + jr .col_loop + +.Load11Column: ; 105242 (41:5242) + ld b, 11 + jr .col_loop + +.Load14Column: ; 105246 (41:5246) + ld b, 14 + +.col_loop ; 105248 (41:5248) + ld [hl], a + ld de, SCREEN_WIDTH + add hl, de + dec b + jr nz, .col_loop + ret + +.Load16Row: ; 105251 (41:5251) + ld b, 16 +.row_loop + ld [hli], a + dec b + jr nz, .row_loop + ret + +MysteryGiftGFX: ; 105258 +INCBIN "gfx/mystery_gift/mystery_gift.2bpp" +MysteryGiftGFXEnd: + +Function105688: ; 105688 (41:5688) + call ClearTileMap + call ClearSprites + call WaitBGMap + call Function1057d7 + hlcoord 3, 8 + ld de, String_10572e + call PlaceString + call WaitBGMap + call Function10578c + call MysteryGift_ClearTrainerData + ld a, $24 + ld [wca02], a + ld a, [rIE] + push af + call Function104c2d + ld d, a + xor a + ld [rIF], a + pop af + ld [rIE], a + ld a, d + cp $10 + jp z, Function105712 + cp $6c + jp nz, Function10571a + call Function1056eb + ld c, 60 + call DelayFrames + call Function105777 + ld hl, Text_ReceivedCard + call PrintText + ld de, wMysteryGiftTrainerData + callba Function8ac70 + ld a, c + ld [wd265], a + ld hl, Text_CardNotRegistered + jr c, asm_105726 + ld hl, Text_ListedCardAsNumber + jr asm_105726 + +Function1056eb: ; 1056eb (41:56eb) + ld c, $10 +.asm_1056ed + ld hl, Sprites + ld b, $8 +.asm_1056f2 + dec [hl] +rept 4 + inc hl +endr + dec b + jr nz, .asm_1056f2 + ld hl, Sprites + $20 + ld b, $8 +.asm_1056ff + inc [hl] +rept 4 + inc hl +endr + dec b + jr nz, .asm_1056ff + dec c + ret z + push bc + ld c, 4 + call DelayFrames + pop bc + jr .asm_1056ed + +Function105712: ; 105712 (41:5712) + call Function105777 + ld hl, Text_MGLinkCanceled + jr asm_105726 + +Function10571a: ; 10571a (41:571a) + call Function105777 + ld hl, Text_MGCommError + call PrintText + jp Function105688 + +asm_105726: ; 105726 (41:5726) + call PrintText + ld a, $e3 + ld [rLCDC], a + ret +; 10572e (41:572e) + +String_10572e: ; 10572e + db "エーボタン¯おすと" + next "つうしんおこなわれるよ!" + next "ビーボタン¯おすと" + next "つうしん¯ちゅうし します" + db "@" + +; 10575e + +Text_ReceivedCard: ; 10575e + text_jump UnknownText_0x1c051a + db "@" + +Text_ListedCardAsNumber: ; 105763 + text_jump UnknownText_0x1c0531 + db "@" + +Text_CardNotRegistered: ; 105768 + text_jump UnknownText_0x1c0555 + db "@" + +Text_MGLinkCanceled: ; 10576d + text_jump UnknownText_0x1c0573 + db "@" + +Text_MGCommError: ; 105772 + text_jump UnknownText_0x1c0591 + db "@" +; 105777 + +Function105777: ; 105777 (41:5777) + call ClearSprites + call ClearTileMap + call EnableLCD + call WaitBGMap + ld b, SCGB_DIPLOMA + call GetSGBLayout + call SetPalettes + ret + +Function10578c: ; 10578c (41:578c) + ld de, OverworldMap + ld a, BANK(sPlayerData) + call GetSRAMBank + ld hl, sPlayerData + PlayerName - wPlayerData + ld bc, NAME_LENGTH + call CopyBytes + ld hl, sPlayerData + PlayerID - wPlayerData + ld bc, 2 + call CopyBytes + ld hl, sPlayerData + wSecretID - wPlayerData + ld bc, 2 + call CopyBytes + call CloseSRAM + ld a, BANK(sCrystalData) + call GetSRAMBank + ld a, [sCrystalData + 0] + ld [de], a + inc de + ld a, $4 + call GetSRAMBank + ld hl, $a603 + ld bc, $8 + call CopyBytes + ld hl, $a007 + ld bc, $c + call CopyBytes + call CloseSRAM + ret + +Function1057d7: ; 1057d7 (41:57d7) + call ClearBGPalettes + call DisableLCD + ld hl, MysteryGiftJP_GFX + ld de, VTiles2 tile $00 + ld a, BANK(MysteryGiftJP_GFX) + lb bc, 4, 0 + call FarCopyBytes + ld hl, MysteryGiftJP_GFX + $400 + ld de, VTiles0 tile $00 + ld a, BANK(MysteryGiftJP_GFX) + ld bc, $80 + call FarCopyBytes + hlcoord 0, 0 + ld a, $3f + ld bc, SCREEN_HEIGHT * SCREEN_WIDTH + call ByteFill + hlcoord 3, 7 + lb bc, 9, 15 + call ClearBox + hlcoord 0, 0 + ld a, $0 + ld [hli], a + inc a + ld [hl], a + hlcoord 0, 1 + inc a + ld [hli], a + inc a + ld [hl], a + hlcoord 4, 2 + ld a, $13 + call .Load11Row + hlcoord 4, 3 + ld a, $1e + call .Load12Row + hlcoord 4, 4 + ld a, $2a + call .Load12Row + hlcoord 1, 2 + ld [hl], $4 + hlcoord 1, 3 + ld a, $5 + call .Load14Column + ld a, $9 + hlcoord 18, 5 + call .Load11Column + hlcoord 2, 5 + ld a, $b + call .Load16Row + hlcoord 2, 16 + ld a, $7 + call .Load16Row + hlcoord 2, 5 + ld a, $d + call .Load6Row + hlcoord 8, 5 + ld [hl], $c + hlcoord 18, 5 + ld [hl], $a + hlcoord 18, 16 + ld [hl], $8 + hlcoord 1, 16 + ld [hl], $6 + hlcoord 2, 6 + ld a, $37 + call .Load16Row + hlcoord 2, 15 + ld a, $3d + call .Load16Row + hlcoord 2, 6 + ld a, $39 + call .Load9Column + hlcoord 17, 6 + ld a, $3b + call .Load9Column + hlcoord 2, 6 + ld [hl], $36 + hlcoord 17, 6 + ld [hl], $38 + hlcoord 2, 15 + ld [hl], $3c + hlcoord 17, 15 + ld [hl], $3e + ld de, Sprites + ld hl, .OAM_data + ld bc, $40 + call CopyBytes + call EnableLCD + call WaitBGMap + ld b, $2 + callba GetMysteryGift_MobileAdapterLayout + jp SetPalettes + +.Load6Row: ; 1058c6 (41:58c6) + ld b, 6 + jr .row_loop + +.Load11Row: ; 1058ca (41:58ca) + ld b, 11 + jr .row_loop + +.Load12Row: ; 1058ce (41:58ce) + ld b, 12 + +.row_loop ; 1058d0 (41:58d0) + ld [hli], a + inc a + dec b + jr nz, .row_loop + ret + +.Load9Column: ; 1058d6 (41:58d6) + ld b, 9 + jr .column_loop + +.Load11Column: ; 1058da (41:58da) + ld b, 11 + jr .column_loop + +.Load14Column: ; 1058de (41:58de) + ld b, 14 + +.column_loop ; 1058e0 (41:58e0) + ld [hl], a + ld de, SCREEN_WIDTH + add hl, de + dec b + jr nz, .column_loop + ret + +.Load16Row: ; 1058e9 (41:58e9) + ld b, 16 +.row_loop_no_inc + ld [hli], a + dec b + jr nz, .row_loop_no_inc + ret +; 1058f0 (41:58f0) + +.OAM_data: ; 1058f0 + dsprite 2, 1, 6, 4, $00, $00 + dsprite 2, 1, 7, 4, $01, $00 + dsprite 2, 1, 8, 4, $02, $00 + dsprite 2, 1, 9, 4, $03, $00 + dsprite 3, 1, 6, 4, $04, $00 + dsprite 3, 1, 7, 4, $05, $00 + dsprite 3, 1, 8, 4, $06, $00 + dsprite 3, 1, 9, 4, $07, $00 + dsprite 0, 1, 11, 4, $00, $00 + dsprite 0, 1, 12, 4, $01, $00 + dsprite 0, 1, 13, 4, $02, $00 + dsprite 0, 1, 14, 4, $03, $00 + dsprite 1, 1, 11, 4, $04, $00 + dsprite 1, 1, 12, 4, $05, $00 + dsprite 1, 1, 13, 4, $06, $00 + dsprite 1, 1, 14, 4, $07, $00 + +; japanese mystery gift gfx +MysteryGiftJP_GFX: ; 105930 +INCBIN "gfx/mystery_gift/mystery_gift_jp.2bpp" diff --git a/engine/mystery_gift_2.asm b/engine/mystery_gift_2.asm new file mode 100755 index 000000000..dc0baf39c --- /dev/null +++ b/engine/mystery_gift_2.asm @@ -0,0 +1,152 @@ +PrepMysteryGiftDataToSend: ; 2c642 (b:4642) + ld de, wMysteryGiftStaging + ld a, $1 + ld [de], a + inc de ; wc801 + ld a, BANK(sGameData) + call GetSRAMBank + ld hl, sPlayerData + PlayerID - wPlayerData + ld a, [hli] + ld [de], a + ld b, a + inc de ; wc802 + ld a, [hl] + ld [de], a + ld c, a + inc de ; wc803 + push bc + ld hl, sPlayerData + PlayerName - wPlayerData + ld bc, NAME_LENGTH + call CopyBytes + push de ; wc80e + ld hl, sPokemonData + PokedexCaught - wPokemonData + ld b, EndPokedexCaught - PokedexCaught + call CountSetBits + pop de + pop bc + ld a, [wd265] + ld [de], a + inc de ; wc80f + call CloseSRAM + call Random + and $1 + ld [de], a + inc de ; wc810 + call .RandomSample + ld [de], a + inc de ; wc811 + ld a, c + ld c, b + ld b, a + call .RandomSample + ld [de], a + inc de ; wc812 + ld a, BANK(sBackupMysteryGiftItem) + call GetSRAMBank + ld a, [sBackupMysteryGiftItem] + ld [de], a + inc de + ld a, [sBackupMysteryGiftItem + 1] + ld [de], a + ld a, $14 + ld [wca00], a + call CloseSRAM + ld hl, wMysteryGiftStaging + ld de, wMysteryGiftPlayerData + ld bc, wMysteryGiftPlayerDataEnd - wMysteryGiftPlayerData + jp CopyBytes + +.RandomSample: ; 2c6ac (b:46ac) + push de + call Random + cp $19 ; 10 percent + jr c, .tenpercent + call Random + and $7 + ld d, a + rl d + ld e, $80 +.loop + rlc e + dec a + jr nz, .loop + ld a, e + and c + jr z, .skip + ld a, $1 +.skip + add d + jr .done + +.tenpercent + call Random + cp $32 ; 20 percent + jr c, .twopercent + call Random + and $3 + ld d, a + rl d + ld e, $80 +.loop2 + rlc e + dec a + jr nz, .loop2 + ld a, e + and b + jr z, .skip2 + ld a, $1 +.skip2 + add d + add $10 + jr .done + +.twopercent + call Random + cp $32 ; 50 ; 20 percent + jr c, .pointfourpercent + ld a, b + swap a + and $7 + add $18 + jr .done + +.pointfourpercent + ld a, b + and $80 + ld a, $20 + jr z, .done + ld a, $21 + +.done + pop de + ret + +MysteryGiftGetItemHeldEffect: ; 2c708 (b:4708) + ld a, c + cp MysteryGiftItemsEnd - MysteryGiftItems + jr nc, MysteryGiftFallbackItem + ld hl, MysteryGiftItems + ld b, 0 + add hl, bc + ld c, [hl] + ret + +MysteryGiftGetDecoration: ; 2c715 (b:4715) + ld a, c + cp MysteryGiftDecosEnd - MysteryGiftDecos + jr nc, MysteryGiftFallbackItem + ld hl, MysteryGiftDecos + ld b, 0 + add hl, bc + ld c, [hl] + ret + +MysteryGiftFallbackItem: ; 2c722 (b:4722) + ld c, DECO_POLKADOT_BED ; GREAT_BALL + ret +; 2c725 (b:4725) + + +INCLUDE "data/mystery_gift/items.asm" + +INCLUDE "data/mystery_gift/decos.asm" diff --git a/engine/mysterygift.asm b/engine/mysterygift.asm deleted file mode 100755 index 8204ab332..000000000 --- a/engine/mysterygift.asm +++ /dev/null @@ -1,1735 +0,0 @@ -DoMysteryGift: ; 1048ba (41:48ba) - call ClearTileMap - call ClearSprites - call WaitBGMap - call InitMysteryGiftLayout - hlcoord 3, 8 - ld de, .String_PressAToLink_BToCancel - call PlaceString - call WaitBGMap - callba PrepMysteryGiftDataToSend - call MysteryGift_ClearTrainerData - ld a, $2 - ld [wca01], a - ld a, $14 - ld [wca02], a - ld a, [rIE] - push af - - call Function104a95 - - ld d, a - xor a - ld [rIF], a - pop af - ld [rIE], a - push de - call ClearTileMap - call EnableLCD - call WaitBGMap - ld b, SCGB_DIPLOMA - call GetSGBLayout - call SetPalettes - pop de - hlcoord 2, 8 - ld a, d - ld de, .Text_LinkCanceled ; Link has been canceled - cp $10 - jp z, .LinkCanceled - cp $6c - jp nz, .CommunicationError - ld a, [wc900] - cp 3 - jr z, .skip_checks - call .CheckAlreadyGotFiveGiftsToday - ld hl, .Text_MaxFiveGifts ; Only 5 gifts a day - jp nc, .PrintTextAndExit - call .CheckAlreadyGotAGiftFromThatPerson - ld hl, .Text_MaxOneGiftPerPerson ; Only one gift a day per person - jp c, .PrintTextAndExit -.skip_checks - ld a, [wMysteryGiftPlayerBackupItem] - and a - jp nz, .GiftWaiting - ld a, [wMysteryGiftPartnerBackupItem] - and a - jp nz, .FriendNotReady - ld a, [wc900] - cp 3 - jr z, .skip_append_save - call .AddMysteryGiftPartnerID - ld a, [wc900] - cp 4 - jr z, .skip_append_save - call .SaveMysteryGiftTrainerName - callba RestoreMobileEventIndex - callba TrainerRankings_MysteryGift - callba BackupMobileEventIndex -.skip_append_save - ld a, [wMysteryGiftPartnerSentDeco] - and a - jr z, .item - ld a, [wMysteryGiftPartnerWhichDeco] - ld c, a - callba MysteryGiftGetDecoration - push bc - call MysteryGift_CheckAndSetDecorationAlreadyReceived - pop bc - jr nz, .item - callab GetDecorationName_c - ld h, d - ld l, e - ld de, StringBuffer1 - ld bc, ITEM_NAME_LENGTH - call CopyBytes - ld hl, .Text_SentToHome ; sent decoration to home - jr .PrintTextAndExit - -.item - call GetMysteryGiftBank - ld a, [wMysteryGiftPartnerWhichItem] - ld c, a - callba MysteryGiftGetItemHeldEffect - ld a, c - ld [sBackupMysteryGiftItem], a - ld [wNamedObjectIndexBuffer], a - call CloseSRAM - call GetItemName - ld hl, .Text_Sent ; sent item - jr .PrintTextAndExit - -.LinkCanceled: ; 1049af (41:49af) - ld hl, .Text_LinkCanceled ; Link has been canceled - jr .PrintTextAndExit - -.CommunicationError: ; 1049b4 (41:49b4) - ld hl, .Text_CommunicationError ; Communication error - call PrintText - jp DoMysteryGift - -.GiftWaiting: ; 1049bd (41:49bd) - ld hl, .Text_ReceiveGiftAtCounter ; receive gift at counter - jr .PrintTextAndExit - -.FriendNotReady: ; 1049c2 (41:49c2) - ld hl, .Text_FriendNotReady ; friend not ready - -.PrintTextAndExit: ; 1049c5 (41:49c5) - call PrintText - ld a, $e3 - ld [rLCDC], a - ret -; 1049cd (41:49cd) - -.String_PressAToLink_BToCancel: ; 1049cd - db "Press A to" - next "link IR-Device" - next "Press B to" - next "cancel it." - db "@" -; 1049fd - -.Text_LinkCanceled: ; 1049fd - text_jump UnknownText_0x1c0436 - db "@" -; 104a02 - -.Text_CommunicationError: ; 104a02 - text_jump UnknownText_0x1c0454 - db "@" -; 104a07 - -.Text_ReceiveGiftAtCounter: ; 104a07 - text_jump UnknownText_0x1c046a - db "@" -; 104a0c - -.Text_FriendNotReady: ; 104a0c - text_jump UnknownText_0x1c048e - db "@" -; 104a11 - -.Text_MaxFiveGifts: ; 104a11 - text_jump UnknownText_0x1c04a7 - db "@" -; 104a16 - -.Text_MaxOneGiftPerPerson: ; 104a16 - text_jump UnknownText_0x1c04c6 - db "@" -; 104a1b - -.Text_Sent: ; 104a1b - text_jump UnknownText_0x1c04e9 - db "@" -; 104a20 - -.Text_SentToHome: ; 104a20 - text_jump UnknownText_0x1c04fa - db "@" -; 104a25 - -.CheckAlreadyGotFiveGiftsToday: ; 104a25 (41:4a25) - call GetMysteryGiftBank - ld a, [sNumDailyMysteryGiftPartnerIDs] - cp $5 - jp CloseSRAM - -.CheckAlreadyGotAGiftFromThatPerson: ; 104a30 (41:4a30) - call GetMysteryGiftBank - ld a, [wMysteryGiftPartnerID] - ld b, a - ld a, [wMysteryGiftPartnerID + 1] - ld c, a - ld a, [sNumDailyMysteryGiftPartnerIDs] - ld d, a - ld hl, sDailyMysteryGiftPartnerIDs -.loop - ld a, d - and a - jr z, .No - ld a, [hli] - cp b - jr nz, .skip - ld a, [hl] - cp c - jr z, .Yes -.skip - inc hl - dec d - jr .loop -.Yes: - scf -.No: - jp CloseSRAM - -.AddMysteryGiftPartnerID: ; 104a56 (41:4a56) - call GetMysteryGiftBank - ld hl, sNumDailyMysteryGiftPartnerIDs - ld a, [hl] - inc [hl] - ld hl, sDailyMysteryGiftPartnerIDs ; inc hl - ld e, a - ld d, $0 - add hl, de - add hl, de - ld a, [wMysteryGiftPartnerID] - ld [hli], a - ld a, [wMysteryGiftPartnerID + 1] - ld [hl], a - jp CloseSRAM - -.SaveMysteryGiftTrainerName: ; 104a71 (41:4a71) - call GetMysteryGiftBank - ld a, $1 - ld [sMysteryGiftTrainerHouseFlag], a - ld hl, wMysteryGiftPartnerName - ld de, sMysteryGiftPartnerName - ld bc, NAME_LENGTH - call CopyBytes - ld a, $1 - ld [de], a - inc de - ld hl, wMysteryGiftTrainerData - ld bc, (1 + 1 + NUM_MOVES) * PARTY_LENGTH + 2 - call CopyBytes - jp CloseSRAM - -Function104a95: ; 104a95 (41:4a95) - di - callba ClearChannels - call Function104d5e - -.loop2 - call Function104d96 - call Function104ddd - ld a, [hMGStatusFlags] - cp $10 - jp z, Function104bd0 - cp $6c - jr nz, .loop2 - - ld a, [hPrintNum9] - cp $2 - jr z, Function104b22 - ld hl, hPrintNum1 - ld b, $1 - call Function104d56 - jr nz, .ly_loop - call Function104b49 - jp nz, Function104bd0 - jr Function104b0a - ; Delay frame -.ly_loop - ld a, [rLY] - cp $90 - jr c, .ly_loop - ld c, rRP % $100 - ld a, $c0 - ld [$ff00+c], a - ld b, 240 ; This might have been intended as a 4-second timeout buffer. - ; However, it is reset with each frame. -.loop3 - push bc - call MysteryGift_ReadJoypad - - ld b, $2 - ld c, rRP % $100 - ; Delay frame -.ly_loop2 - ld a, [$ff00+c] - and b - ld b, a - ld a, [rLY] - cp $90 - jr nc, .ly_loop2 -.ly_loop3 - ld a, [$ff00+c] - and b - ld b, a - ld a, [rLY] - cp $90 - jr c, .ly_loop3 - - ld a, b - pop bc - dec b - jr z, .loop2 ; we never jump here - or a - jr nz, .loop2 - ; Check if we've pressed the B button - ld a, [hMGJoypadReleased] - bit B_BUTTON_F, a - jr z, .loop3 - ld a, $10 - ld [hMGStatusFlags], a - jp Function104bd0 - -Function104b04: ; 104b04 (41:4b04) - call Function104b40 - jp nz, Function104bd0 -Function104b0a: ; 104b0a (41:4b0a) - call Function104d38 - jp nz, Function104bd0 - call Function104b88 - jp nz, Function104bd0 - call Function104d43 - jp nz, Function104bd0 - call Function105033 - jp Function104bd0 - -Function104b22: ; 104b22 (41:4b22) - call Function104b88 - jp nz, Function104bd0 - call Function104d43 - jp nz, Function104bd0 - call Function104b40 - jp nz, Function104bd0 - call Function104d38 - jp nz, Function104bd0 - call Function10502e - jp Function104bd0 - -Function104b40: ; 104b40 (41:4b40) - ld hl, hPrintNum1 - ld b, $1 - call Function104d56 - ret nz - -Function104b49: ; 104b49 (41:4b49) - call Function105033 - ld a, [hMGStatusFlags] - cp $6c - ret nz - ld a, [hPrintNum1] - cp $96 - jp nz, Function104d32 - ld a, $90 - ld [hPrintNum1], a - call Function104d38 - ret nz - ld hl, hPrintNum1 - ld b, $1 - call Function104d4e - ret nz - call Function10502e - ld a, [hMGStatusFlags] - cp $6c - ret nz - call Function104d43 - ret nz - ld hl, wMysteryGiftTrainerData - ld a, [wca02] - ld b, a - call Function104d56 - ret nz - call Function105033 - ld a, [hMGStatusFlags] - cp $6c - ret - -Function104b88: ; 104b88 (41:4b88) - ld a, $96 - ld [hPrintNum1], a - ld hl, hPrintNum1 - ld b, $1 - call Function104d4e - ret nz - call Function10502e - ld a, [hMGStatusFlags] - cp $6c - ret nz - call Function104d43 - ret nz - ld hl, hPrintNum1 - ld b, $1 - call Function104d56 - ret nz - call Function105033 - ld a, [hMGStatusFlags] - cp $6c - ret nz - ld a, [hPrintNum1] - cp $90 - jp nz, Function104d32 - call Function104d38 - ret nz - ld hl, OverworldMap - ld a, [wca02] - ld b, a - call Function104d4e - ret nz - call Function10502e - ld a, [hMGStatusFlags] - cp $6c - ret - -Function104bd0: ; 104bd0 (41:4bd0) - nop - ld a, [hMGStatusFlags] - cp $10 - jr z, .quit - cp $6c - jr nz, .quit - ld hl, wca01 - dec [hl] - jr z, .quit - ld hl, wMysteryGiftTrainerData - ld de, wMysteryGiftPartnerData - ld bc, wMysteryGiftPartnerDataEnd - wMysteryGiftPartnerData - call CopyBytes - ld a, [wMysteryGiftTrainerData] - cp $3 - jr nc, .quit - callba StagePartyDataForMysteryGift - call MysteryGift_ClearTrainerData - ld a, $26 - ld [wca02], a - ld a, [hPrintNum9] - cp $2 - jr z, .asm_104c10 - call Function104d43 - jr nz, Function104bd0 - jp Function104b04 - -.asm_104c10 - call Function104d38 - jr nz, Function104bd0 - jp Function104b22 - -.quit - ld a, [hMGStatusFlags] - push af - call Function104da0 - xor a - ld [rIF], a - ld a, [rIE] - or $1 - ld [rIE], a - ei - call DelayFrame - pop af - ret - -Function104c2d: ; 104c2d (41:4c2d) - di - callba ClearChannels - call Function104d5e -.asm_104c37 - call Function104d96 - call Function104ddd - ld a, [hMGStatusFlags] - cp $10 - jp z, Function104d1c - cp $6c - jr nz, .asm_104c37 - ld a, [hPrintNum9] - cp $2 - jr z, .asm_104c6c - call Function104c8a - jp nz, Function104d1c - call Function104d38 - jp nz, Function104d1c - call Function104cd2 - jp nz, Function104d1c - call Function104d43 - jp nz, Function104d1c - call Function105033 - jp Function104d1c -.asm_104c6c - call Function104cd2 - jp nz, Function104d1c - call Function104d43 - jp nz, Function104d1c - call Function104c8a - jp nz, Function104d1c - call Function104d38 - jp nz, Function104d1c - call Function10502e - jp Function104d1c - -Function104c8a: ; 104c8a (41:4c8a) - ld hl, hPrintNum1 - ld b, $1 - call Function104d56 - ret nz - call Function105033 - ld a, [hMGStatusFlags] - cp $6c - ret nz - ld a, [hPrintNum1] - cp $3c - jp nz, Function104d32 - swap a - ld [hPrintNum1], a - call Function104d38 - ret nz - ld hl, hPrintNum1 - ld b, $1 - call Function104d4e - ret nz - call Function10502e - ld a, [hMGStatusFlags] - cp $6c - ret nz - call Function104d43 - ret nz - ld hl, wMysteryGiftTrainerData - ld a, [wca02] - ld b, a - call Function104d56 - ret nz - call Function105033 - ld a, [hMGStatusFlags] - cp $6c - ret - -Function104cd2: ; 104cd2 (41:4cd2) - ld a, $3c - ld [hPrintNum1], a - ld hl, hPrintNum1 - ld b, $1 - call Function104d4e - ret nz - call Function10502e - ld a, [hMGStatusFlags] - cp $6c - ret nz - call Function104d43 - ret nz - ld hl, hPrintNum1 - ld b, $1 - call Function104d56 - ret nz - call Function105033 - ld a, [hMGStatusFlags] - cp $6c - ret nz - ld a, [hPrintNum1] - swap a - cp $3c - jp nz, Function104d32 - call Function104d38 - ret nz - ld hl, OverworldMap - ld a, [wca02] - ld b, a - call Function104d4e - ret nz - call Function10502e - ld a, [hMGStatusFlags] - cp $6c - ret - -Function104d1c: ; 104d1c (41:4d1c) - nop - ld a, [hMGStatusFlags] - push af - call Function104da0 - xor a - ld [rIF], a - ld a, [rIE] - or $1 - ld [rIE], a - ei - call DelayFrame - pop af - ret - -Function104d32: ; 104d32 (41:4d32) - ld a, $80 - ld [hMGStatusFlags], a - and a - ret - -Function104d38: ; 104d38 (41:4d38) - call Function104d96 - call Function104e46 - ld a, [hMGStatusFlags] - cp $6c - ret - -Function104d43: ; 104d43 (41:4d43) - call Function104d96 - call Function104dfe - ld a, [hMGStatusFlags] - cp $6c - ret - -Function104d4e: ; 104d4e (41:4d4e) - call Function104e93 - ld a, [hMGStatusFlags] - cp $6c - ret - -Function104d56: ; 104d56 (41:4d56) - call Function104f57 - ld a, [hMGStatusFlags] - cp $6c - ret - -Function104d5e: ; 104d5e (41:4d5e) - call Function104d74 - ld a, $4 - ld [rIE], a - xor a - ld [rIF], a - call Function104d96 - xor a - ld b, a -.asm_104d6d - inc a - jr nz, .asm_104d6d - inc b - jr nz, .asm_104d6d - ret - -Function104d74: ; 104d74 (41:4d74) - xor a - ld [rTAC], a - ld a, $fe - ld [rTMA], a - ld [rTIMA], a - ld a, $2 - ld [rTAC], a - or $4 - ld [rTAC], a - ret - -Function104d86: ; 104d86 (41:4d86) - xor a - ld [rTAC], a - ld [rTMA], a - ld [rTIMA], a - ld a, $2 - ld [rTAC], a - or $4 - ld [rTAC], a - ret - -Function104d96: ; 104d96 (41:4d96) - ld a, $c0 - call Function104e8c - ld a, $1 - ld [hPrintNum9], a - ret - -Function104da0: ; 104da0 (41:4da0) - xor a - call Function104e8c - ld a, $2 - ld [rTAC], a - ret - -Function104da9: ; 104da9 (41:4da9) - inc d - ret z - xor a - ld [rIF], a - halt - ld a, [$ff00+c] - bit 1, a - jr z, Function104da9 - or a - ret - -Function104db7: ; 104db7 (41:4db7) - inc d - ret z - xor a - ld [rIF], a - halt - ld a, [$ff00+c] - bit 1, a - jr nz, Function104db7 - or a - ret - -Function104dc5: ; 104dc5 (41:4dc5) - ld a, $c1 - ld [$ff00+c], a -.wait - dec d - ret z - xor a - ld [rIF], a - halt - jr .wait - -Function104dd1: ; 104dd1 (41:4dd1) - ld a, $c0 - ld [$ff00+c], a -.wait - dec d - ret z - xor a - ld [rIF], a - halt - jr .wait - -Function104ddd: ; 104ddd (41:4ddd) - ld d, $0 - ld e, d - ld a, $1 - ld [hPrintNum9], a -.loop - call MysteryGift_ReadJoypad - ld b, $2 - ld c, rRP % $100 - ld a, [hMGJoypadReleased] - bit B_BUTTON_F, a - jr z, .next - ld a, $10 - ld [hMGStatusFlags], a - ret - -.next - bit 0, a - jr nz, Function104e3a - ld a, [$ff00+c] - and b - jr nz, .loop - -Function104dfe: ; 104dfe (41:4dfe) - ld c, rRP % $100 - ld d, $0 - ld e, d - call Function104db7 - jp z, Function104f42 - ld d, e - call Function104da9 - jp z, Function104f42 - call Function104db7 - jp z, Function104f42 - call Function104da9 - jp z, Function104f42 - ld a, $6c - ld [hMGStatusFlags], a - ld d, $3d - call Function104dd1 - ld d, $5 - call Function104dc5 - ld d, $15 - call Function104dd1 - ld d, $5 - call Function104dc5 - ld d, $5 - call Function104dd1 - ret - -Function104e3a: ; 104e3a (41:4e3a) - ; Wait a random amount of time - call Random - ld e, a - and $f - ld d, a -.loop - dec de - ld a, d - or e - jr nz, .loop -Function104e46: ; 104e46 (41:4e46) - ld a, $2 - ld [hPrintNum9], a - ld c, rRP % $100 - ld d, $0 - ld e, d - ld d, $3d - call Function104dd1 - ld d, $5 - call Function104dc5 - ld d, $15 - call Function104dd1 - ld d, $5 - call Function104dc5 - ld d, $5 - call Function104dd1 - ld d, e - call Function104db7 - jp z, Function104f42 - ld d, e - call Function104da9 - jp z, Function104f42 - call Function104db7 - jp z, Function104f42 - call Function104da9 - jp z, Function104f42 - ld d, $3d - call Function104dd1 - ld a, $6c - ld [hMGStatusFlags], a - ret - -Function104e8c: ; 104e8c (41:4e8c) - ld [rRP], a - ld a, $ff - ld [hMGStatusFlags], a - ret - -Function104e93: ; 104e93 (41:4e93) - xor a - ld [hPrintNum5], a - ld [hPrintNum6], a - push hl - push bc - ld c, rRP % $100 - ld d, $3d - call Function104dd1 - ld hl, hPrintNum2 - ld a, $5a - ld [hli], a - ld [hl], b - dec hl - ld b, $2 - call Function104ed6 - pop bc - pop hl - call Function104ed6 - ld a, [hPrintNum5] - ld [hPrintNum2], a - ld a, [hPrintNum6] - ld [hPrintNum3], a - push hl - ld hl, hPrintNum2 - ld b, $2 - call Function104ed6 - ld hl, hMGStatusFlags - ld b, $1 - call Function104faf - ld a, [hPrintNum2] - ld [hPrintNum5], a - ld a, [hPrintNum3] - ld [hPrintNum6], a - pop hl - ret - -Function104ed6: ; 104ed6 (41:4ed6) - ld c, rRP % $100 - ld d, $5 - call Function104dd1 - ld d, $5 - call Function104dc5 - ld d, $15 - call Function104dd1 - ld a, b - cpl - ld b, a - ld a, $f4 - ld [rTMA], a -.asm_104eee - inc b - jr z, .asm_104f2e - ld a, $8 - ld [hPrintNum4], a - ld a, [hli] - ld e, a - ld a, [hPrintNum5] - add e - ld [hPrintNum5], a - ld a, [hPrintNum6] - adc $0 - ld [hPrintNum6], a -.asm_104f02 - xor a - ld [rIF], a - halt - ld a, $c1 - ld [rRP], a - ld d, $1 - ld a, e - rlca - ld e, a - jr nc, .asm_104f13 - inc d -.asm_104f13 - ld a, [rTIMA] - cp $f8 - jr c, .asm_104f13 - ld a, $c0 - ld [rRP], a - dec d - jr z, .asm_104f25 - xor a - ld [rIF], a - halt -.asm_104f25 - ld a, [hPrintNum4] - dec a - jr z, .asm_104eee - ld [hPrintNum4], a - jr .asm_104f02 -.asm_104f2e - ld a, $fe - ld [rTMA], a - xor a - ld [rIF], a - halt - ld d, $5 - call Function104dc5 - ld d, $11 - call Function104dd1 - ret - -Function104f42: ; 104f42 (41:4f42) - ld a, [hMGStatusFlags] - or $2 - ld [hMGStatusFlags], a - ret - -Function104f49: ; 104f49 (41:4f49) - ld a, [hMGStatusFlags] - or $1 - ld [hMGStatusFlags], a - ret - -Function104f50: ; 104f50 (41:4f50) - ld a, [hMGStatusFlags] - or $80 - ld [hMGStatusFlags], a - ret - -Function104f57: ; 104f57 (41:4f57) - xor a - ld [hPrintNum5], a - ld [hPrintNum6], a - push bc - push hl - ld hl, hPrintNum2 - ld b, $2 - call Function104faf - ld a, [hPrintNum3] - ld [hPrintNum8], a - ld b, a - pop hl - pop af - cp b - jp c, Function104f50 - ld a, [hPrintNum2] - cp $5a - jp nz, Function104f50 - call Function104faf - ld a, [hPrintNum5] - ld d, a - ld a, [hPrintNum6] - ld e, a - push hl - push de - ld hl, hPrintNum2 - ld b, $2 - call Function104faf - pop de - ld hl, hPrintNum2 - ld a, [hli] - xor d - ld b, a - ld a, [hl] - xor e - or b - call nz, Function104f49 - push de - ld d, $3d - call Function104dd1 - ld hl, hMGStatusFlags - ld b, $1 - call Function104ed6 - pop de - pop hl - ld a, d - ld [hPrintNum5], a - ld a, e - ld [hPrintNum6], a - ret - -Function104faf: ; 104faf (41:4faf) - ld c, rRP % $100 - ld d, $0 - call Function104db7 - jp z, Function104f42 - ld d, $0 - call Function104da9 - jp z, Function104f42 - ld d, $0 - call Function104db7 - jp z, Function104f42 - ld a, b - cpl - ld b, a - xor a - ld [hMGJoypadPressed + 2], a - call Function104d86 -.asm_104fd2 - inc b - jr z, .asm_10501a - ld a, $8 - ld [hPrintNum4], a -.asm_104fd9 - ld d, $0 -.asm_104fdb - inc d - jr z, .asm_104fe5 - ld a, [$ff00+c] - bit 1, a - jr z, .asm_104fdb - ld d, $0 -.asm_104fe5 - inc d - jr z, .asm_104fed - ld a, [$ff00+c] - bit 1, a - jr nz, .asm_104fe5 -.asm_104fed - ld a, [hMGJoypadPressed + 2] - ld d, a - ld a, [rTIMA] - ld [hMGJoypadPressed + 2], a - sub d - cp $12 - jr c, .asm_104ffd - set 0, e - jr .asm_104fff -.asm_104ffd - res 0, e -.asm_104fff - ld a, [hPrintNum4] - dec a - ld [hPrintNum4], a - jr z, .asm_10500b - ld a, e - rlca - ld e, a - jr .asm_104fd9 -.asm_10500b - ld a, e - ld [hli], a - ld a, [hPrintNum5] - add e - ld [hPrintNum5], a - ld a, [hPrintNum6] - adc $0 - ld [hPrintNum6], a - jr .asm_104fd2 -.asm_10501a - call Function104d74 - xor a - ld [rIF], a - ld d, $0 - call Function104da9 - jp z, Function104f42 - ld d, $10 - call Function104dd1 - ret - -Function10502e: ; 10502e (41:502e) - ld b, $0 - jp Function104e93 - -Function105033: ; 105033 (41:5033) - ld b, $0 - jp Function104f57 - -MysteryGift_ReadJoypad: ; 105038 (41:5038) -; We can only get four inputs at a time. -; We take d-pad first for no particular reason. - ld a, R_DPAD - ld [rJOYP], a -; Read twice to give the request time to take. - ld a, [rJOYP] - ld a, [rJOYP] - -; The Joypad register output is in the lo nybble (inversed). -; We make the hi nybble of our new container d-pad input. - cpl - and $f - swap a - -; We'll keep this in b for now. - ld b, a - -; Buttons make 8 total inputs (A, B, Select, Start). -; We can fit this into one byte. - ld a, R_BUTTONS - ld [rJOYP], a -; Wait for input to stabilize. -rept 6 - ld a, [rJOYP] -endr -; Buttons take the lo nybble. - cpl - and $f - or b - ld c, a -; To get the delta we xor the last frame's input with the new one. - ld a, [hMGJoypadPressed] - xor c -; Released this frame: - and c - ld [hMGJoypadReleased], a -; Pressed this frame: - ld a, c - ld [hMGJoypadPressed], a - ld a, $30 -; Reset the joypad register since we're done with it. - ld [rJOYP], a - ret - -MysteryGift_CheckAndSetDecorationAlreadyReceived: ; 105069 (41:5069) - call GetMysteryGiftBank - ld d, $0 - ld b, CHECK_FLAG - ld hl, sMysteryGiftDecorationsReceived - predef_id FlagPredef - push hl - push bc - call Predef - call CloseSRAM - ld a, c - and a - pop bc - pop hl - ret nz - call GetMysteryGiftBank - ld b, SET_FLAG - predef FlagPredef - call CloseSRAM - xor a - ret - -MysteryGift_CopyReceivedDecosToPC: ; 105091 (41:5091) - call GetMysteryGiftBank - ld c, $0 -.loop - push bc - ld d, $0 - ld b, CHECK_FLAG - ld hl, sMysteryGiftDecorationsReceived - predef FlagPredef - ld a, c - and a - pop bc - jr z, .skip - push bc - callab SetSpecificDecorationFlag - pop bc -.skip - inc c - ld a, c - cp Trophys - DecorationIDs - jr c, .loop - jp CloseSRAM - -Special_UnlockMysteryGift: ; 1050b9 - call GetMysteryGiftBank - ld hl, sMysteryGiftUnlocked - ld a, [hl] - inc a - jr nz, .ok - ld [hld], a - ld [hl], a -.ok - jp CloseSRAM -; 1050c8 - -Function1050c8: ; 1050c8 - call GetMysteryGiftBank - ld a, [sNumDailyMysteryGiftPartnerIDs] - cp $ff - jr z, .okay - xor a - ld [sNumDailyMysteryGiftPartnerIDs], a -.okay - jp CloseSRAM -; 1050d9 - - -BackupMysteryGift: ; 1050d9 - call GetMysteryGiftBank - ld hl, sMysteryGiftItem - ld de, sBackupMysteryGiftItem - ld a, [hli] - ld [de], a - inc de - ld a, [hl] - ld [de], a - jp CloseSRAM -; 1050ea - - -RestoreMysteryGift: ; 1050ea (41:50ea) - call GetMysteryGiftBank - ld hl, sBackupMysteryGiftItem - ld de, sMysteryGiftItem - ld a, [hli] - ld [de], a - inc de - ld a, [hl] - ld [de], a - jp CloseSRAM - -MysteryGift_ClearTrainerData: ; 1050fb (41:50fb) - ld hl, wMysteryGiftTrainerData - xor a - ld b, wMysteryGiftTrainerDataEnd - wMysteryGiftTrainerData -.loop - ld [hli], a - dec b - jr nz, .loop - ret - - -GetMysteryGiftBank: ; 105106 - ld a, BANK(sBackupMysteryGiftItem) - jp GetSRAMBank -; 10510b - - -StagePartyDataForMysteryGift: ; 10510b (41:510b) -; You will be sending this data to your mystery gift partner. -; Structure is the same as a trainer with species and moves -; defined. - ld a, BANK(sPokemonData) - call GetSRAMBank - ld de, wMysteryGiftStaging - ld bc, sPokemonData + PartyMons - wPokemonData - ld hl, sPokemonData + PartySpecies - wPokemonData -.loop - ld a, [hli] - cp -1 - jr z, .party_end - cp EGG - jr z, .next - push hl - ; copy level - ld hl, MON_LEVEL - add hl, bc - ld a, [hl] - ld [de], a - inc de - ; copy species - ld hl, MON_SPECIES - add hl, bc - ld a, [hl] - ld [de], a - inc de - ; copy moves - ld hl, MON_MOVES - add hl, bc - push bc - ld bc, NUM_MOVES - call CopyBytes - pop bc - pop hl -.next - push hl - ld hl, PARTYMON_STRUCT_LENGTH - add hl, bc - ld b, h - ld c, l - pop hl - jr .loop -.party_end - ld a, -1 - ld [de], a - ld a, $26 - ld [wca00], a - jp CloseSRAM - -InitMysteryGiftLayout: ; 105153 (41:5153) - call ClearBGPalettes - call DisableLCD - ld hl, MysteryGiftGFX - ld de, VTiles2 tile $00 - ld a, BANK(MysteryGiftGFX) - ld bc, MysteryGiftGFXEnd - MysteryGiftGFX - call FarCopyBytes - hlcoord 0, 0 - ld a, $42 - ld bc, SCREEN_HEIGHT * SCREEN_WIDTH - call ByteFill - hlcoord 3, 7 - lb bc, 9, 15 - call ClearBox - hlcoord 0, 0 - ld a, $0 - ld [hli], a - inc a - ld [hl], a - hlcoord 0, 1 - inc a - ld [hli], a - inc a - ld [hl], a - hlcoord 7, 1 - ld a, $12 - call .Load5GFX - hlcoord 2, 2 - ld a, $17 - call .Load16GFX - hlcoord 2, 3 - ld a, $27 - call .Load16GFX - hlcoord 9, 4 - ld a, $37 - ld [hli], a - inc a - ld [hl], a - hlcoord 1, 2 - ld [hl], $4 - hlcoord 1, 3 - ld a, $5 - call .Load14Column - ld a, $9 - hlcoord 18, 5 - call .Load11Column - hlcoord 2, 5 - ld a, $b - call .Load16Row - hlcoord 2, 16 - ld a, $7 - call .Load16Row - hlcoord 2, 5 - ld a, $d - call .Load5GFX - hlcoord 7, 5 - ld [hl], $c - hlcoord 18, 5 - ld [hl], $a - hlcoord 18, 16 - ld [hl], $8 - hlcoord 1, 16 - ld [hl], $6 - hlcoord 2, 6 - ld a, $3a - call .Load16Row - hlcoord 2, 15 - ld a, $40 - call .Load16Row - hlcoord 2, 6 - ld a, $3c - call .Load9Column - hlcoord 17, 6 - ld a, $3e - call .Load9Column - hlcoord 2, 6 - ld [hl], $39 - hlcoord 17, 6 - ld [hl], $3b - hlcoord 2, 15 - ld [hl], $3f - hlcoord 17, 15 - ld [hl], $41 - call EnableLCD - call WaitBGMap - ld b, SCGB_MYSTERY_GIFT - call GetSGBLayout - call SetPalettes - ret - -.Load5GFX: ; 10522e (41:522e) - ld b, 5 - jr .gfx_loop -; 105232 (41:5232) - -.Load6GFX: ; unreferenced - ld b, 6 - jr .gfx_loop - -.Load16GFX: ; 105236 (41:5236) - ld b, 16 - -.gfx_loop ; 105238 (41:5238) - ld [hli], a - inc a - dec b - jr nz, .gfx_loop - ret - -.Load9Column: ; 10523e (41:523e) - ld b, 9 - jr .col_loop - -.Load11Column: ; 105242 (41:5242) - ld b, 11 - jr .col_loop - -.Load14Column: ; 105246 (41:5246) - ld b, 14 - -.col_loop ; 105248 (41:5248) - ld [hl], a - ld de, SCREEN_WIDTH - add hl, de - dec b - jr nz, .col_loop - ret - -.Load16Row: ; 105251 (41:5251) - ld b, 16 -.row_loop - ld [hli], a - dec b - jr nz, .row_loop - ret - -MysteryGiftGFX: ; 105258 -INCBIN "gfx/mystery_gift/mystery_gift.2bpp" -MysteryGiftGFXEnd: - -Function105688: ; 105688 (41:5688) - call ClearTileMap - call ClearSprites - call WaitBGMap - call Function1057d7 - hlcoord 3, 8 - ld de, String_10572e - call PlaceString - call WaitBGMap - call Function10578c - call MysteryGift_ClearTrainerData - ld a, $24 - ld [wca02], a - ld a, [rIE] - push af - call Function104c2d - ld d, a - xor a - ld [rIF], a - pop af - ld [rIE], a - ld a, d - cp $10 - jp z, Function105712 - cp $6c - jp nz, Function10571a - call Function1056eb - ld c, 60 - call DelayFrames - call Function105777 - ld hl, Text_ReceivedCard - call PrintText - ld de, wMysteryGiftTrainerData - callba Function8ac70 - ld a, c - ld [wd265], a - ld hl, Text_CardNotRegistered - jr c, asm_105726 - ld hl, Text_ListedCardAsNumber - jr asm_105726 - -Function1056eb: ; 1056eb (41:56eb) - ld c, $10 -.asm_1056ed - ld hl, Sprites - ld b, $8 -.asm_1056f2 - dec [hl] -rept 4 - inc hl -endr - dec b - jr nz, .asm_1056f2 - ld hl, Sprites + $20 - ld b, $8 -.asm_1056ff - inc [hl] -rept 4 - inc hl -endr - dec b - jr nz, .asm_1056ff - dec c - ret z - push bc - ld c, 4 - call DelayFrames - pop bc - jr .asm_1056ed - -Function105712: ; 105712 (41:5712) - call Function105777 - ld hl, Text_MGLinkCanceled - jr asm_105726 - -Function10571a: ; 10571a (41:571a) - call Function105777 - ld hl, Text_MGCommError - call PrintText - jp Function105688 - -asm_105726: ; 105726 (41:5726) - call PrintText - ld a, $e3 - ld [rLCDC], a - ret -; 10572e (41:572e) - -String_10572e: ; 10572e - db "エーボタン¯おすと" - next "つうしんおこなわれるよ!" - next "ビーボタン¯おすと" - next "つうしん¯ちゅうし します" - db "@" - -; 10575e - -Text_ReceivedCard: ; 10575e - text_jump UnknownText_0x1c051a - db "@" - -Text_ListedCardAsNumber: ; 105763 - text_jump UnknownText_0x1c0531 - db "@" - -Text_CardNotRegistered: ; 105768 - text_jump UnknownText_0x1c0555 - db "@" - -Text_MGLinkCanceled: ; 10576d - text_jump UnknownText_0x1c0573 - db "@" - -Text_MGCommError: ; 105772 - text_jump UnknownText_0x1c0591 - db "@" -; 105777 - -Function105777: ; 105777 (41:5777) - call ClearSprites - call ClearTileMap - call EnableLCD - call WaitBGMap - ld b, SCGB_DIPLOMA - call GetSGBLayout - call SetPalettes - ret - -Function10578c: ; 10578c (41:578c) - ld de, OverworldMap - ld a, BANK(sPlayerData) - call GetSRAMBank - ld hl, sPlayerData + PlayerName - wPlayerData - ld bc, NAME_LENGTH - call CopyBytes - ld hl, sPlayerData + PlayerID - wPlayerData - ld bc, 2 - call CopyBytes - ld hl, sPlayerData + wSecretID - wPlayerData - ld bc, 2 - call CopyBytes - call CloseSRAM - ld a, BANK(sCrystalData) - call GetSRAMBank - ld a, [sCrystalData + 0] - ld [de], a - inc de - ld a, $4 - call GetSRAMBank - ld hl, $a603 - ld bc, $8 - call CopyBytes - ld hl, $a007 - ld bc, $c - call CopyBytes - call CloseSRAM - ret - -Function1057d7: ; 1057d7 (41:57d7) - call ClearBGPalettes - call DisableLCD - ld hl, MysteryGiftJP_GFX - ld de, VTiles2 tile $00 - ld a, BANK(MysteryGiftJP_GFX) - lb bc, 4, 0 - call FarCopyBytes - ld hl, MysteryGiftJP_GFX + $400 - ld de, VTiles0 tile $00 - ld a, BANK(MysteryGiftJP_GFX) - ld bc, $80 - call FarCopyBytes - hlcoord 0, 0 - ld a, $3f - ld bc, SCREEN_HEIGHT * SCREEN_WIDTH - call ByteFill - hlcoord 3, 7 - lb bc, 9, 15 - call ClearBox - hlcoord 0, 0 - ld a, $0 - ld [hli], a - inc a - ld [hl], a - hlcoord 0, 1 - inc a - ld [hli], a - inc a - ld [hl], a - hlcoord 4, 2 - ld a, $13 - call .Load11Row - hlcoord 4, 3 - ld a, $1e - call .Load12Row - hlcoord 4, 4 - ld a, $2a - call .Load12Row - hlcoord 1, 2 - ld [hl], $4 - hlcoord 1, 3 - ld a, $5 - call .Load14Column - ld a, $9 - hlcoord 18, 5 - call .Load11Column - hlcoord 2, 5 - ld a, $b - call .Load16Row - hlcoord 2, 16 - ld a, $7 - call .Load16Row - hlcoord 2, 5 - ld a, $d - call .Load6Row - hlcoord 8, 5 - ld [hl], $c - hlcoord 18, 5 - ld [hl], $a - hlcoord 18, 16 - ld [hl], $8 - hlcoord 1, 16 - ld [hl], $6 - hlcoord 2, 6 - ld a, $37 - call .Load16Row - hlcoord 2, 15 - ld a, $3d - call .Load16Row - hlcoord 2, 6 - ld a, $39 - call .Load9Column - hlcoord 17, 6 - ld a, $3b - call .Load9Column - hlcoord 2, 6 - ld [hl], $36 - hlcoord 17, 6 - ld [hl], $38 - hlcoord 2, 15 - ld [hl], $3c - hlcoord 17, 15 - ld [hl], $3e - ld de, Sprites - ld hl, .OAM_data - ld bc, $40 - call CopyBytes - call EnableLCD - call WaitBGMap - ld b, $2 - callba GetMysteryGift_MobileAdapterLayout - jp SetPalettes - -.Load6Row: ; 1058c6 (41:58c6) - ld b, 6 - jr .row_loop - -.Load11Row: ; 1058ca (41:58ca) - ld b, 11 - jr .row_loop - -.Load12Row: ; 1058ce (41:58ce) - ld b, 12 - -.row_loop ; 1058d0 (41:58d0) - ld [hli], a - inc a - dec b - jr nz, .row_loop - ret - -.Load9Column: ; 1058d6 (41:58d6) - ld b, 9 - jr .column_loop - -.Load11Column: ; 1058da (41:58da) - ld b, 11 - jr .column_loop - -.Load14Column: ; 1058de (41:58de) - ld b, 14 - -.column_loop ; 1058e0 (41:58e0) - ld [hl], a - ld de, SCREEN_WIDTH - add hl, de - dec b - jr nz, .column_loop - ret - -.Load16Row: ; 1058e9 (41:58e9) - ld b, 16 -.row_loop_no_inc - ld [hli], a - dec b - jr nz, .row_loop_no_inc - ret -; 1058f0 (41:58f0) - -.OAM_data: ; 1058f0 - dsprite 2, 1, 6, 4, $00, $00 - dsprite 2, 1, 7, 4, $01, $00 - dsprite 2, 1, 8, 4, $02, $00 - dsprite 2, 1, 9, 4, $03, $00 - dsprite 3, 1, 6, 4, $04, $00 - dsprite 3, 1, 7, 4, $05, $00 - dsprite 3, 1, 8, 4, $06, $00 - dsprite 3, 1, 9, 4, $07, $00 - dsprite 0, 1, 11, 4, $00, $00 - dsprite 0, 1, 12, 4, $01, $00 - dsprite 0, 1, 13, 4, $02, $00 - dsprite 0, 1, 14, 4, $03, $00 - dsprite 1, 1, 11, 4, $04, $00 - dsprite 1, 1, 12, 4, $05, $00 - dsprite 1, 1, 13, 4, $06, $00 - dsprite 1, 1, 14, 4, $07, $00 - -; japanese mystery gift gfx -MysteryGiftJP_GFX: ; 105930 -INCBIN "gfx/mystery_gift/mystery_gift_jp.2bpp" diff --git a/engine/mysterygift2.asm b/engine/mysterygift2.asm deleted file mode 100755 index dc0baf39c..000000000 --- a/engine/mysterygift2.asm +++ /dev/null @@ -1,152 +0,0 @@ -PrepMysteryGiftDataToSend: ; 2c642 (b:4642) - ld de, wMysteryGiftStaging - ld a, $1 - ld [de], a - inc de ; wc801 - ld a, BANK(sGameData) - call GetSRAMBank - ld hl, sPlayerData + PlayerID - wPlayerData - ld a, [hli] - ld [de], a - ld b, a - inc de ; wc802 - ld a, [hl] - ld [de], a - ld c, a - inc de ; wc803 - push bc - ld hl, sPlayerData + PlayerName - wPlayerData - ld bc, NAME_LENGTH - call CopyBytes - push de ; wc80e - ld hl, sPokemonData + PokedexCaught - wPokemonData - ld b, EndPokedexCaught - PokedexCaught - call CountSetBits - pop de - pop bc - ld a, [wd265] - ld [de], a - inc de ; wc80f - call CloseSRAM - call Random - and $1 - ld [de], a - inc de ; wc810 - call .RandomSample - ld [de], a - inc de ; wc811 - ld a, c - ld c, b - ld b, a - call .RandomSample - ld [de], a - inc de ; wc812 - ld a, BANK(sBackupMysteryGiftItem) - call GetSRAMBank - ld a, [sBackupMysteryGiftItem] - ld [de], a - inc de - ld a, [sBackupMysteryGiftItem + 1] - ld [de], a - ld a, $14 - ld [wca00], a - call CloseSRAM - ld hl, wMysteryGiftStaging - ld de, wMysteryGiftPlayerData - ld bc, wMysteryGiftPlayerDataEnd - wMysteryGiftPlayerData - jp CopyBytes - -.RandomSample: ; 2c6ac (b:46ac) - push de - call Random - cp $19 ; 10 percent - jr c, .tenpercent - call Random - and $7 - ld d, a - rl d - ld e, $80 -.loop - rlc e - dec a - jr nz, .loop - ld a, e - and c - jr z, .skip - ld a, $1 -.skip - add d - jr .done - -.tenpercent - call Random - cp $32 ; 20 percent - jr c, .twopercent - call Random - and $3 - ld d, a - rl d - ld e, $80 -.loop2 - rlc e - dec a - jr nz, .loop2 - ld a, e - and b - jr z, .skip2 - ld a, $1 -.skip2 - add d - add $10 - jr .done - -.twopercent - call Random - cp $32 ; 50 ; 20 percent - jr c, .pointfourpercent - ld a, b - swap a - and $7 - add $18 - jr .done - -.pointfourpercent - ld a, b - and $80 - ld a, $20 - jr z, .done - ld a, $21 - -.done - pop de - ret - -MysteryGiftGetItemHeldEffect: ; 2c708 (b:4708) - ld a, c - cp MysteryGiftItemsEnd - MysteryGiftItems - jr nc, MysteryGiftFallbackItem - ld hl, MysteryGiftItems - ld b, 0 - add hl, bc - ld c, [hl] - ret - -MysteryGiftGetDecoration: ; 2c715 (b:4715) - ld a, c - cp MysteryGiftDecosEnd - MysteryGiftDecos - jr nc, MysteryGiftFallbackItem - ld hl, MysteryGiftDecos - ld b, 0 - add hl, bc - ld c, [hl] - ret - -MysteryGiftFallbackItem: ; 2c722 (b:4722) - ld c, DECO_POLKADOT_BED ; GREAT_BALL - ret -; 2c725 (b:4725) - - -INCLUDE "data/mystery_gift/items.asm" - -INCLUDE "data/mystery_gift/decos.asm" diff --git a/engine/pack_f.asm b/engine/pack_f.asm new file mode 100644 index 000000000..f71e43db8 --- /dev/null +++ b/engine/pack_f.asm @@ -0,0 +1,20 @@ +DrawKrisPackGFX: ; 48e81 + ld hl, PackFGFXPointers + add hl, de + add hl, de + ld a, [hli] + ld e, a + ld d, [hl] + ld hl, VTiles2 tile $50 + lb bc, BANK(PackFGFX), 15 + call Request2bpp + ret + +PackFGFXPointers: ; 48e93 + dw PackFGFX + (15 tiles) * 1 + dw PackFGFX + (15 tiles) * 3 + dw PackFGFX + (15 tiles) * 0 + dw PackFGFX + (15 tiles) * 2 + +PackFGFX: ; 48e9b +INCBIN "gfx/pack/pack_f.2bpp" diff --git a/engine/place_graphics.asm b/engine/place_graphics.asm new file mode 100644 index 000000000..d72364776 --- /dev/null +++ b/engine/place_graphics.asm @@ -0,0 +1,56 @@ +PlaceGraphic: ; 2ef6e +; Fill wBoxAlignment-aligned box width b height c +; with iterating tile starting from hGraphicStartTile at hl. +; Predef $13 + + ld de, SCREEN_WIDTH + + ld a, [wBoxAlignment] + and a + jr nz, .right + + ld a, [hGraphicStartTile] +.x1 + push bc + push hl + +.y1 + ld [hl], a + add hl, de + inc a + dec c + jr nz, .y1 + + pop hl + inc hl + pop bc + dec b + jr nz, .x1 + ret + +.right +; Right-aligned. + push bc + ld b, 0 + dec c + add hl, bc + pop bc + + ld a, [hGraphicStartTile] +.x2 + push bc + push hl + +.y2 + ld [hl], a + add hl, de + inc a + dec c + jr nz, .y2 + + pop hl + dec hl + pop bc + dec b + jr nz, .x2 + ret diff --git a/engine/pokegear_2.asm b/engine/pokegear_2.asm new file mode 100644 index 000000000..a5cceecfd --- /dev/null +++ b/engine/pokegear_2.asm @@ -0,0 +1,25 @@ +TownMap_ConvertLineBreakCharacters: ; 1de2c5 + ld hl, StringBuffer1 +.loop + ld a, [hl] + cp "@" + jr z, .end + cp "%" + jr z, .line_break + cp "¯" + jr z, .line_break + inc hl + jr .loop + +.line_break + ld [hl], "" + +.end + ld de, StringBuffer1 + hlcoord 9, 0 + call PlaceString + ret + + +PokegearGFX: ; 1de2e4 +INCBIN "gfx/pokegear/pokegear.2bpp.lz" diff --git a/engine/printhoursmins.asm b/engine/printhoursmins.asm new file mode 100644 index 000000000..711ff89b6 --- /dev/null +++ b/engine/printhoursmins.asm @@ -0,0 +1,64 @@ +Function1dd6a9: ; 1dd6a9 +; XXX + ld a, b + ld b, c + ld c, a + push bc + push de + ld hl, sp+$2 + ld d, h + ld e, l + pop hl + lb bc, PRINTNUM_LEADINGZEROS | 2, 5 + call PrintNum + pop bc + ret + +PrintHoursMins ; 1dd6bb (77:56bb) +; Hours in b, minutes in c + ld a, b + cp 12 + push af + jr c, .AM + jr z, .PM + sub 12 + jr .PM +.AM: + or a + jr nz, .PM + ld a, 12 +.PM: + ld b, a +; Crazy stuff happening with the stack + push bc + ld hl, sp+$1 + push de + push hl + pop de + pop hl + ld [hl], " " + lb bc, 1, 2 + call PrintNum + ld [hl], ":" + inc hl + ld d, h + ld e, l + ld hl, sp+$0 + push de + push hl + pop de + pop hl + lb bc, PRINTNUM_LEADINGZEROS | 1, 2 + call PrintNum + pop bc + ld de, String_AM + pop af + jr c, .place_am_pm + ld de, String_PM +.place_am_pm + inc hl + call PlaceString + ret + +String_AM: db "AM@" ; 1dd6fc +String_PM: db "PM@" ; 1dd6ff diff --git a/engine/save.asm b/engine/save.asm index 74b0626c8..65339e0bb 100644 --- a/engine/save.asm +++ b/engine/save.asm @@ -500,12 +500,12 @@ HallOfFame_InitSaveIfNeeded: ; 14da0 ; 14da9 ValidateSave: ; 14da9 - ld a, BANK(s1_a008) + ld a, BANK(sCheckValue1) ; BANK(sCheckValue2) call GetSRAMBank - ld a, 99 - ld [s1_a008], a - ld a, " " - ld [s1_ad0f], a + ld a, SAVE_CHECK_VALUE_1 + ld [sCheckValue1], a + ld a, SAVE_CHECK_VALUE_2 + ld [sCheckValue2], a jp CloseSRAM ; 14dbb @@ -568,12 +568,12 @@ SaveChecksum: ; 14e13 ; 14e2d ValidateBackupSave: ; 14e2d - ld a, BANK(s0_b208) + ld a, BANK(sBackupCheckValue1) ; BANK(sBackupCheckValue2) call GetSRAMBank - ld a, 99 - ld [s0_b208], a - ld a, " " - ld [s0_bf0f], a + ld a, SAVE_CHECK_VALUE_1 + ld [sBackupCheckValue1], a + ld a, SAVE_CHECK_VALUE_2 + ld [sBackupCheckValue2], a call CloseSRAM ret ; 14e40 @@ -731,13 +731,13 @@ INCLUDE "data/default_options.asm" CheckPrimarySaveFile: ; 14f84 - ld a, BANK(s1_a008) + ld a, BANK(sCheckValue1) ; BANK(sCheckValue2) call GetSRAMBank - ld a, [s1_a008] - cp 99 + ld a, [sCheckValue1] + cp SAVE_CHECK_VALUE_1 jr nz, .nope - ld a, [s1_ad0f] - cp " " + ld a, [sCheckValue2] + cp SAVE_CHECK_VALUE_2 jr nz, .nope ld hl, sOptions ld de, Options @@ -753,13 +753,13 @@ CheckPrimarySaveFile: ; 14f84 ; 14faf CheckBackupSaveFile: ; 14faf - ld a, BANK(s0_b208) + ld a, BANK(sBackupCheckValue1) ; BANK(sBackupCheckValue2) call GetSRAMBank - ld a, [s0_b208] - cp 99 + ld a, [sBackupCheckValue1] + cp SAVE_CHECK_VALUE_1 jr nz, .nope - ld a, [s0_bf0f] - cp " " + ld a, [sBackupCheckValue2] + cp SAVE_CHECK_VALUE_2 jr nz, .nope ld hl, sBackupOptions ld de, Options diff --git a/engine/select_menu.asm b/engine/select_menu.asm new file mode 100755 index 000000000..5d3b5ff0a --- /dev/null +++ b/engine/select_menu.asm @@ -0,0 +1,189 @@ +SelectMenu:: ; 13327 + + call CheckRegisteredItem + jr c, .NotRegistered + jp UseRegisteredItem + +.NotRegistered: + call OpenText + ld b, BANK(ItemMayBeRegisteredText) + ld hl, ItemMayBeRegisteredText + call MapTextbox + call WaitButton + jp CloseText +; 13340 + + +ItemMayBeRegisteredText: ; 13340 + text_jump UnknownText_0x1c1cf3 + db "@" +; 13345 + + +CheckRegisteredItem: ; 13345 + + ld a, [WhichRegisteredItem] + and a + jr z, .NoRegisteredItem + and REGISTERED_POCKET + rlca + rlca + ld hl, .Pockets + rst JumpTable + ret + +.Pockets: + dw .CheckItem + dw .CheckBall + dw .CheckKeyItem + dw .CheckTMHM + +.CheckItem: + ld hl, NumItems + call .CheckRegisteredNo + jr c, .NoRegisteredItem + inc hl + ld e, a + ld d, 0 + add hl, de + add hl, de + call .IsSameItem + jr c, .NoRegisteredItem + and a + ret + +.CheckKeyItem: + ld a, [RegisteredItem] + ld hl, KeyItems + ld de, 1 + call IsInArray + jr nc, .NoRegisteredItem + ld a, [RegisteredItem] + ld [CurItem], a + and a + ret + +.CheckBall: + ld hl, NumBalls + call .CheckRegisteredNo + jr nc, .NoRegisteredItem + inc hl + ld e, a + ld d, 0 + add hl, de + add hl, de + call .IsSameItem + jr c, .NoRegisteredItem + ret + +.CheckTMHM: + jr .NoRegisteredItem + +.NoRegisteredItem: + xor a + ld [WhichRegisteredItem], a + ld [RegisteredItem], a + scf + ret +; 133a6 + + +.CheckRegisteredNo: ; 133a6 + ld a, [WhichRegisteredItem] + and REGISTERED_NUMBER + dec a + cp [hl] + jr nc, .NotEnoughItems + ld [CurItemQuantity], a + and a + ret + +.NotEnoughItems: + scf + ret +; 133b6 + + +.IsSameItem: ; 133b6 + ld a, [RegisteredItem] + cp [hl] + jr nz, .NotSameItem + ld [CurItem], a + and a + ret + +.NotSameItem: + scf + ret +; 133c3 + + +UseRegisteredItem: ; 133c3 + + callba CheckItemMenu + ld a, [wItemAttributeParamBuffer] + ld hl, .SwitchTo + rst JumpTable + ret + +.SwitchTo: + dw .CantUse + dw .NoFunction + dw .NoFunction + dw .NoFunction + dw .Current + dw .Party + dw .Overworld +; 133df + +.NoFunction: ; 133df + call OpenText + call CantUseItem + call CloseText + and a + ret +; 133ea + +.Current: ; 133ea + call OpenText + call DoItemEffect + call CloseText + and a + ret +; 133f5 + +.Party: ; 133f5 + call RefreshScreen + call FadeToMenu + call DoItemEffect + call CloseSubmenu + call CloseText + and a + ret +; 13406 + +.Overworld: ; 13406 + call RefreshScreen + ld a, 1 + ld [wUsingItemWithSelect], a + call DoItemEffect + xor a + ld [wUsingItemWithSelect], a + ld a, [wItemEffectSucceeded] + cp 1 + jr nz, ._cantuse + scf + ld a, HMENURETURN_SCRIPT + ld [hMenuReturn], a + ret +; 13422 + +.CantUse: ; 13422 + call RefreshScreen + +._cantuse + call CantUseItem + call CloseText + and a + ret +; 1342d diff --git a/engine/selectmenu.asm b/engine/selectmenu.asm deleted file mode 100755 index 5d3b5ff0a..000000000 --- a/engine/selectmenu.asm +++ /dev/null @@ -1,189 +0,0 @@ -SelectMenu:: ; 13327 - - call CheckRegisteredItem - jr c, .NotRegistered - jp UseRegisteredItem - -.NotRegistered: - call OpenText - ld b, BANK(ItemMayBeRegisteredText) - ld hl, ItemMayBeRegisteredText - call MapTextbox - call WaitButton - jp CloseText -; 13340 - - -ItemMayBeRegisteredText: ; 13340 - text_jump UnknownText_0x1c1cf3 - db "@" -; 13345 - - -CheckRegisteredItem: ; 13345 - - ld a, [WhichRegisteredItem] - and a - jr z, .NoRegisteredItem - and REGISTERED_POCKET - rlca - rlca - ld hl, .Pockets - rst JumpTable - ret - -.Pockets: - dw .CheckItem - dw .CheckBall - dw .CheckKeyItem - dw .CheckTMHM - -.CheckItem: - ld hl, NumItems - call .CheckRegisteredNo - jr c, .NoRegisteredItem - inc hl - ld e, a - ld d, 0 - add hl, de - add hl, de - call .IsSameItem - jr c, .NoRegisteredItem - and a - ret - -.CheckKeyItem: - ld a, [RegisteredItem] - ld hl, KeyItems - ld de, 1 - call IsInArray - jr nc, .NoRegisteredItem - ld a, [RegisteredItem] - ld [CurItem], a - and a - ret - -.CheckBall: - ld hl, NumBalls - call .CheckRegisteredNo - jr nc, .NoRegisteredItem - inc hl - ld e, a - ld d, 0 - add hl, de - add hl, de - call .IsSameItem - jr c, .NoRegisteredItem - ret - -.CheckTMHM: - jr .NoRegisteredItem - -.NoRegisteredItem: - xor a - ld [WhichRegisteredItem], a - ld [RegisteredItem], a - scf - ret -; 133a6 - - -.CheckRegisteredNo: ; 133a6 - ld a, [WhichRegisteredItem] - and REGISTERED_NUMBER - dec a - cp [hl] - jr nc, .NotEnoughItems - ld [CurItemQuantity], a - and a - ret - -.NotEnoughItems: - scf - ret -; 133b6 - - -.IsSameItem: ; 133b6 - ld a, [RegisteredItem] - cp [hl] - jr nz, .NotSameItem - ld [CurItem], a - and a - ret - -.NotSameItem: - scf - ret -; 133c3 - - -UseRegisteredItem: ; 133c3 - - callba CheckItemMenu - ld a, [wItemAttributeParamBuffer] - ld hl, .SwitchTo - rst JumpTable - ret - -.SwitchTo: - dw .CantUse - dw .NoFunction - dw .NoFunction - dw .NoFunction - dw .Current - dw .Party - dw .Overworld -; 133df - -.NoFunction: ; 133df - call OpenText - call CantUseItem - call CloseText - and a - ret -; 133ea - -.Current: ; 133ea - call OpenText - call DoItemEffect - call CloseText - and a - ret -; 133f5 - -.Party: ; 133f5 - call RefreshScreen - call FadeToMenu - call DoItemEffect - call CloseSubmenu - call CloseText - and a - ret -; 13406 - -.Overworld: ; 13406 - call RefreshScreen - ld a, 1 - ld [wUsingItemWithSelect], a - call DoItemEffect - xor a - ld [wUsingItemWithSelect], a - ld a, [wItemEffectSucceeded] - cp 1 - jr nz, ._cantuse - scf - ld a, HMENURETURN_SCRIPT - ld [hMenuReturn], a - ret -; 13422 - -.CantUse: ; 13422 - call RefreshScreen - -._cantuse - call CantUseItem - call CloseText - and a - ret -; 1342d diff --git a/engine/start_menu.asm b/engine/start_menu.asm new file mode 100755 index 000000000..871da86be --- /dev/null +++ b/engine/start_menu.asm @@ -0,0 +1,1974 @@ +StartMenu:: ; 125cd + + call ClearWindowData + + ld de, SFX_MENU + call PlaySFX + + callba ReanchorBGMap_NoOAMUpdate + + ld hl, StatusFlags2 + bit 2, [hl] ; bug catching contest + ld hl, .MenuDataHeader + jr z, .GotMenuData + ld hl, .ContestMenuDataHeader +.GotMenuData: + + call LoadMenuDataHeader + call .SetUpMenuItems + ld a, [wBattleMenuCursorBuffer] + ld [wMenuCursorBuffer], a + call .DrawMenuAccount_ + call DrawVariableLengthMenuBox + call .DrawBugContestStatusBox + call SafeUpdateSprites + call _OpenAndCloseMenu_HDMATransferTileMapAndAttrMap + callba LoadFonts_NoOAMUpdate + call .DrawBugContestStatus + call UpdateTimePals + jr .Select + +.Reopen: + call UpdateSprites + call UpdateTimePals + call .SetUpMenuItems + ld a, [wBattleMenuCursorBuffer] + ld [wMenuCursorBuffer], a + +.Select: + call .GetInput + jr c, .Exit + call .DrawMenuAccount + ld a, [wMenuCursorBuffer] + ld [wBattleMenuCursorBuffer], a + call PlayClickSFX + call PlaceHollowCursor + call .OpenMenu + +; Menu items have different return functions. +; For example, saving exits the menu. + ld hl, .MenuReturns + ld e, a + ld d, 0 + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp hl + +.MenuReturns: + dw .Reopen + dw .Exit + dw .ExitMenuCallFuncCloseText + dw .ExitMenuRunScriptCloseText + dw .ExitMenuRunScript + dw .ReturnEnd + dw .ReturnRedraw + +.Exit: + ld a, [hOAMUpdate] + push af + ld a, 1 + ld [hOAMUpdate], a + call LoadFontsExtra + pop af + ld [hOAMUpdate], a +.ReturnEnd: + call ExitMenu +.ReturnEnd2: + call CloseText + call UpdateTimePals + ret + +.GetInput: +; Return carry on exit, and no-carry on selection. + xor a + ld [hBGMapMode], a + call .DrawMenuAccount + call SetUpMenu + ld a, $ff + ld [MenuSelection], a +.loop + call .PrintMenuAccount + call GetScrollingMenuJoypad + ld a, [wMenuJoypad] + cp B_BUTTON + jr z, .b + cp A_BUTTON + jr z, .a + jr .loop +.a + call PlayClickSFX + and a + ret +.b + scf + ret +; 12691 + +.ExitMenuRunScript: ; 12691 + call ExitMenu + ld a, HMENURETURN_SCRIPT + ld [hMenuReturn], a + ret +; 12699 + +.ExitMenuRunScriptCloseText: ; 12699 + call ExitMenu + ld a, HMENURETURN_SCRIPT + ld [hMenuReturn], a + jr .ReturnEnd2 +; 126a2 + +.ExitMenuCallFuncCloseText: ; 126a2 + call ExitMenu + ld hl, wQueuedScriptAddr + ld a, [hli] + ld h, [hl] + ld l, a + ld a, [wQueuedScriptBank] + rst FarCall + jr .ReturnEnd2 +; 126b1 + +.ReturnRedraw: ; 126b1 + call .Clear + jp .Reopen +; 126b7 + +.Clear: ; 126b7 + call ClearBGPalettes + call Call_ExitMenu + call ReloadTilesetAndPalettes + call .DrawMenuAccount_ + call DrawVariableLengthMenuBox + call .DrawBugContestStatus + call UpdateSprites + call ret_d90 + call FinishExitMenu + ret +; 126d3 + + +.MenuDataHeader: + db $40 ; tile backup + db 0, 10 ; start coords + db 17, 19 ; end coords + dw .MenuData + db 1 ; default selection + +.ContestMenuDataHeader: + db $40 ; tile backup + db 2, 10 ; start coords + db 17, 19 ; end coords + dw .MenuData + db 1 ; default selection + +.MenuData: + db %10101000 ; x padding, wrap around, start can close + dn 0, 0 ; rows, columns + dw MenuItemsList + dw .MenuString + dw .Items + +.Items: + dw StartMenu_Pokedex, .PokedexString, .PokedexDesc + dw StartMenu_Pokemon, .PartyString, .PartyDesc + dw StartMenu_Pack, .PackString, .PackDesc + dw StartMenu_Status, .StatusString, .StatusDesc + dw StartMenu_Save, .SaveString, .SaveDesc + dw StartMenu_Option, .OptionString, .OptionDesc + dw StartMenu_Exit, .ExitString, .ExitDesc + dw StartMenu_Pokegear, .PokegearString, .PokegearDesc + dw StartMenu_Quit, .QuitString, .QuitDesc + +.PokedexString: db "#DEX@" +.PartyString: db "#MON@" +.PackString: db "PACK@" +.StatusString: db "@" +.SaveString: db "SAVE@" +.OptionString: db "OPTION@" +.ExitString: db "EXIT@" +.PokegearString: db $24, "GEAR@" +.QuitString: db "QUIT@" + +.PokedexDesc: db "#MON" + next "database@" + +.PartyDesc: db "Party ", $4a + next "status@" + +.PackDesc: db "Contains" + next "items@" + +.PokegearDesc: db "Trainer's" + next "key device@" + +.StatusDesc: db "Your own" + next "status@" + +.SaveDesc: db "Save your" + next "progress@" + +.OptionDesc: db "Change" + next "settings@" + +.ExitDesc: db "Close this" + next "menu@" + +.QuitDesc: db "Quit and" + next "be judged.@" + + +.OpenMenu: ; 127e5 + ld a, [MenuSelection] + call .GetMenuAccountTextPointer + ld a, [hli] + ld h, [hl] + ld l, a + jp hl +; 127ef + +.MenuString: ; 127ef + push de + ld a, [MenuSelection] + call .GetMenuAccountTextPointer + inc hl + inc hl + ld a, [hli] + ld d, [hl] + ld e, a + pop hl + call PlaceString + ret +; 12800 + +.MenuDesc: ; 12800 + push de + ld a, [MenuSelection] + cp $ff + jr z, .none + call .GetMenuAccountTextPointer +rept 4 + inc hl +endr + ld a, [hli] + ld d, [hl] + ld e, a + pop hl + call PlaceString + ret +.none + pop de + ret +; 12819 + + +.GetMenuAccountTextPointer: ; 12819 + ld e, a + ld d, 0 + ld hl, wMenuData2PointerTableAddr + ld a, [hli] + ld h, [hl] + ld l, a +rept 6 + add hl, de +endr + ret +; 12829 + + +.SetUpMenuItems: ; 12829 + xor a + ld [wWhichIndexSet], a + call .FillMenuList + + ld hl, StatusFlags + bit 0, [hl] + jr z, .no_pokedex + ld a, 0 ; pokedex + call .AppendMenuList +.no_pokedex + + ld a, [PartyCount] + and a + jr z, .no_pokemon + ld a, 1 ; pokemon + call .AppendMenuList +.no_pokemon + + ld a, [wLinkMode] + and a + jr nz, .no_pack + ld hl, StatusFlags2 + bit 2, [hl] ; bug catching contest + jr nz, .no_pack + ld a, 2 ; pack + call .AppendMenuList +.no_pack + + ld hl, wPokegearFlags + bit 7, [hl] + jr z, .no_pokegear + ld a, 7 ; pokegear + call .AppendMenuList +.no_pokegear + + ld a, 3 ; status + call .AppendMenuList + + ld a, [wLinkMode] + and a + jr nz, .no_save + ld hl, StatusFlags2 + bit 2, [hl] ; bug catching contest + ld a, 8 ; quit + jr nz, .write + ld a, 4 ; save +.write + call .AppendMenuList +.no_save + + ld a, 5 ; option + call .AppendMenuList + ld a, 6 ; exit + call .AppendMenuList + ld a, c + ld [MenuItemsList], a + ret +; 1288d + + +.FillMenuList: ; 1288d + xor a + ld hl, MenuItemsList + ld [hli], a + ld a, -1 + ld bc, MenuItemsListEnd - (MenuItemsList + 1) + call ByteFill + ld de, MenuItemsList + 1 + ld c, 0 + ret +; 128a0 + +.AppendMenuList: ; 128a0 + ld [de], a + inc de + inc c + ret +; 128a4 + +.DrawMenuAccount_: ; 128a4 + jp .DrawMenuAccount +; 128a7 + +.PrintMenuAccount: ; 128a7 + call .IsMenuAccountOn + ret z + call .DrawMenuAccount + decoord 0, 14 + jp .MenuDesc +; 128b4 + +.DrawMenuAccount: ; 128b4 + call .IsMenuAccountOn + ret z + hlcoord 0, 13 + lb bc, 5, 10 + call ClearBox + hlcoord 0, 13 + ld b, 3 + ld c, 8 + jp TextBoxPalette +; 128cb + +.IsMenuAccountOn: ; 128cb + ld a, [Options2] + and 1 + ret +; 128d1 + +.DrawBugContestStatusBox: ; 128d1 + ld hl, StatusFlags2 + bit 2, [hl] ; bug catching contest + ret z + callba StartMenu_DrawBugContestStatusBox + ret +; 128de + +.DrawBugContestStatus: ; 128de + ld hl, StatusFlags2 + bit 2, [hl] ; bug catching contest + jr nz, .contest + ret +.contest + callba StartMenu_PrintBugContestStatus + ret +; 128ed + + +StartMenu_Exit: ; 128ed +; Exit the menu. + + ld a, 1 + ret +; 128f0 + + +StartMenu_Quit: ; 128f0 +; Retire from the bug catching contest. + + ld hl, .EndTheContestText + call StartMenuYesNo + jr c, .DontEndContest + ld a, BANK(BugCatchingContestReturnToGateScript) + ld hl, BugCatchingContestReturnToGateScript + call FarQueueScript + ld a, 4 + ret + +.DontEndContest: + ld a, 0 + ret + +.EndTheContestText: + text_jump UnknownText_0x1c1a6c + db "@" +; 1290b + + +StartMenu_Save: ; 1290b +; Save the game. + + call BufferScreen + callba SaveMenu + jr nc, .asm_12919 + ld a, 0 + ret +.asm_12919 + ld a, 1 + ret +; 1291c + + +StartMenu_Option: ; 1291c +; Game options. + + call FadeToMenu + callba OptionsMenu + ld a, 6 + ret +; 12928 + + +StartMenu_Status: ; 12928 +; Player status. + + call FadeToMenu + callba TrainerCard + call CloseSubmenu + ld a, 0 + ret +; 12937 + + +StartMenu_Pokedex: ; 12937 + + ld a, [PartyCount] + and a + jr z, .asm_12949 + + call FadeToMenu + callba Pokedex + call CloseSubmenu + +.asm_12949 + ld a, 0 + ret +; 1294c + + +StartMenu_Pokegear: ; 1294c + + call FadeToMenu + callba PokeGear + call CloseSubmenu + ld a, 0 + ret +; 1295b + + +StartMenu_Pack: ; 1295b + + call FadeToMenu + callba Pack + ld a, [wcf66] + and a + jr nz, .used_item + call CloseSubmenu + ld a, 0 + ret + +.used_item + call ExitAllMenus + ld a, 4 + ret +; 12976 + + +StartMenu_Pokemon: ; 12976 + + ld a, [PartyCount] + and a + jr z, .return + + call FadeToMenu + +.choosemenu + xor a + ld [PartyMenuActionText], a ; Choose a POKéMON. + call ClearBGPalettes + +.menu + callba LoadPartyMenuGFX + callba InitPartyMenuWithCancel + callba InitPartyMenuGFX + +.menunoreload + callba WritePartyMenuTilemap + callba PrintPartyMenuText + call WaitBGMap + call SetPalettes ; load regular palettes? + call DelayFrame + callba PartyMenuSelect + jr c, .return ; if cancelled or pressed B + + call PokemonActionSubmenu + cp 3 + jr z, .menu + cp 0 + jr z, .choosemenu + cp 1 + jr z, .menunoreload + cp 2 + jr z, .quit + +.return + call CloseSubmenu + ld a, 0 + ret + +.quit + ld a, b + push af + call ExitAllMenus + pop af + ret +; 129d5 + +HasNoItems: ; 129d5 + ld a, [NumItems] + and a + ret nz + ld a, [NumKeyItems] + and a + ret nz + ld a, [NumBalls] + and a + ret nz + ld hl, TMsHMs + ld b, NUM_TMS + NUM_HMS +.loop + ld a, [hli] + and a + jr nz, .done + dec b + jr nz, .loop + scf + ret +.done + and a + ret + +TossItemFromPC: ; 129f4 + push de + call PartyMonItemName + callba _CheckTossableItem + ld a, [wItemAttributeParamBuffer] + and a + jr nz, .key_item + ld hl, .TossHowMany + call MenuTextBox + callba SelectQuantityToToss + push af + call CloseWindow + call ExitMenu + pop af + jr c, .quit + ld hl, .ConfirmToss + call MenuTextBox + call YesNoBox + push af + call ExitMenu + pop af + jr c, .quit + pop hl + ld a, [CurItemQuantity] + call TossItem + call PartyMonItemName + ld hl, .TossedThisMany + call MenuTextBox + call ExitMenu + and a + ret + +.key_item + call .CantToss +.quit + pop hl + scf + ret + +.TossHowMany: + ; Toss out how many @ (S)? + text_jump UnknownText_0x1c1a90 + db "@" + +.ConfirmToss: + ; Throw away @ @ (S)? + text_jump UnknownText_0x1c1aad + db "@" + +.TossedThisMany: + ; Discarded @ (S). + text_jump UnknownText_0x1c1aca + db "@" + +.CantToss: + ld hl, .TooImportantToToss + call MenuTextBoxBackup + ret + +.TooImportantToToss: + ; That's too impor- tant to toss out! + text_jump UnknownText_0x1c1adf + db "@" +; 0x12a60 + +CantUseItem: ; 12a60 + ld hl, CantUseItemText + call MenuTextBoxWaitButton + ret +; 12a67 + +CantUseItemText: ; 12a67 + text_jump UnknownText_0x1c1b03 + db "@" +; 12a6c + + +PartyMonItemName: ; 12a6c + ld a, [CurItem] + ld [wd265], a + call GetItemName + call CopyName1 + ret +; 12a79 + + +CancelPokemonAction: ; 12a79 + callba InitPartyMenuWithCancel + callba UnfreezeMonIcons + ld a, 1 + ret +; 12a88 + + +PokemonActionSubmenu: ; 12a88 + hlcoord 1, 15 + lb bc, 2, 18 + call ClearBox + callba MonSubmenu + call GetCurNick + ld a, [MenuSelection] + ld hl, .Actions + ld de, 3 + call IsInArray + jr nc, .nothing + + inc hl + ld a, [hli] + ld h, [hl] + ld l, a + jp hl + +.nothing + ld a, 0 + ret + +.Actions: + dbw MONMENU_CUT, MonMenu_Cut ; Cut + dbw MONMENU_FLY, MonMenu_Fly ; Fly + dbw MONMENU_SURF, MonMenu_Surf ; Surf + dbw MONMENU_STRENGTH, MonMenu_Strength ; Strength + dbw MONMENU_FLASH, MonMenu_Flash ; Flash + dbw MONMENU_WHIRLPOOL, MonMenu_Whirlpool ; Whirlpool + dbw MONMENU_DIG, MonMenu_Dig ; Dig + dbw MONMENU_TELEPORT, MonMenu_Teleport ; Teleport + dbw MONMENU_SOFTBOILED, MonMenu_Softboiled_MilkDrink ; Softboiled + dbw MONMENU_MILKDRINK, MonMenu_Softboiled_MilkDrink ; MilkDrink + dbw MONMENU_HEADBUTT, MonMenu_Headbutt ; Headbutt + dbw MONMENU_WATERFALL, MonMenu_Waterfall ; Waterfall + dbw MONMENU_ROCKSMASH, MonMenu_RockSmash ; RockSmash + dbw MONMENU_SWEETSCENT, MonMenu_SweetScent ; SweetScent + dbw MONMENU_STATS, OpenPartyStats + dbw MONMENU_SWITCH, SwitchPartyMons + dbw MONMENU_ITEM, GiveTakePartyMonItem + dbw MONMENU_CANCEL, CancelPokemonAction + dbw MONMENU_MOVE, ManagePokemonMoves ; move + dbw MONMENU_MAIL, MonMailAction ; mail +; 12aec + + +SwitchPartyMons: ; 12aec + +; Don't try if there's nothing to switch! + ld a, [PartyCount] + cp 2 + jr c, .DontSwitch + + ld a, [CurPartyMon] + inc a + ld [wSwitchMon], a + + callba HoldSwitchmonIcon + callba InitPartyMenuNoCancel + + ld a, PARTYMENUACTION_MOVE + ld [PartyMenuActionText], a + callba WritePartyMenuTilemap + callba PrintPartyMenuText + + hlcoord 0, 1 + ld bc, 20 * 2 + ld a, [wSwitchMon] + dec a + call AddNTimes + ld [hl], "▷" + call WaitBGMap + call SetPalettes + call DelayFrame + + callba PartyMenuSelect + bit 1, b + jr c, .DontSwitch + + callba _SwitchPartyMons + + xor a + ld [PartyMenuActionText], a + + callba LoadPartyMenuGFX + callba InitPartyMenuWithCancel + callba InitPartyMenuGFX + + ld a, 1 + ret + +.DontSwitch: + xor a + ld [PartyMenuActionText], a + call CancelPokemonAction + ret +; 12b60 + + +GiveTakePartyMonItem: ; 12b60 + +; Eggs can't hold items! + ld a, [CurPartySpecies] + cp EGG + jr z, .cancel + + ld hl, GiveTakeItemMenuData + call LoadMenuDataHeader + call VerticalMenu + call ExitMenu + jr c, .cancel + + call GetCurNick + ld hl, StringBuffer1 + ld de, wMonOrItemNameBuffer + ld bc, PKMN_NAME_LENGTH + call CopyBytes + ld a, [wMenuCursorY] + cp 1 + jr nz, .take + + call LoadStandardMenuDataHeader + call ClearPalettes + call .GiveItem + call ClearPalettes + call LoadFontsBattleExtra + call ExitMenu + ld a, 0 + ret + +.take + call TakePartyItem + ld a, 3 + ret + +.cancel + ld a, 3 + ret +; 12ba9 + + +.GiveItem: + + callba DepositSellInitPackBuffers + +.loop + callba DepositSellPack + + ld a, [wcf66] + and a + jr z, .quit + + ld a, [wcf65] + cp 2 + jr z, .next + + call CheckTossableItem + ld a, [wItemAttributeParamBuffer] + and a + jr nz, .next + + call TryGiveItemToPartymon + jr .quit + +.next + ld hl, CantBeHeldText + call MenuTextBoxBackup + jr .loop + +.quit + ret +; 12bd9 + + +TryGiveItemToPartymon: ; 12bd9 + + call SpeechTextBox + call PartyMonItemName + call GetPartyItemLocation + ld a, [hl] + and a + jr z, .give_item_to_mon + + push hl + ld d, a + callba ItemIsMail + pop hl + jr c, .please_remove_mail + ld a, [hl] + jr .already_holding_item + +.give_item_to_mon + call GiveItemToPokemon + ld hl, MadeHoldText + call MenuTextBoxBackup + call GivePartyItem + ret + +.please_remove_mail + ld hl, PleaseRemoveMailText + call MenuTextBoxBackup + ret + +.already_holding_item + ld [wd265], a + call GetItemName + ld hl, SwitchAlreadyHoldingText + call StartMenuYesNo + jr c, .abort + + call GiveItemToPokemon + ld a, [wd265] + push af + ld a, [CurItem] + ld [wd265], a + pop af + ld [CurItem], a + call ReceiveItemFromPokemon + jr nc, .bag_full + + ld hl, TookAndMadeHoldText + call MenuTextBoxBackup + ld a, [wd265] + ld [CurItem], a + call GivePartyItem + ret + +.bag_full + ld a, [wd265] + ld [CurItem], a + call ReceiveItemFromPokemon + ld hl, ItemStorageIsFullText + call MenuTextBoxBackup + +.abort + ret +; 12c4c + + +GivePartyItem: ; 12c4c + + call GetPartyItemLocation + ld a, [CurItem] + ld [hl], a + ld d, a + callba ItemIsMail + jr nc, .done + call ComposeMailMessage + +.done + ret +; 12c60 + + +TakePartyItem: ; 12c60 + + call SpeechTextBox + call GetPartyItemLocation + ld a, [hl] + and a + jr z, .asm_12c8c + + ld [CurItem], a + call ReceiveItemFromPokemon + jr nc, .asm_12c94 + + callba ItemIsMail + call GetPartyItemLocation + ld a, [hl] + ld [wd265], a + ld [hl], NO_ITEM + call GetItemName + ld hl, TookFromText + call MenuTextBoxBackup + jr .asm_12c9a + +.asm_12c8c + ld hl, IsntHoldingAnythingText + call MenuTextBoxBackup + jr .asm_12c9a + +.asm_12c94 + ld hl, ItemStorageIsFullText + call MenuTextBoxBackup + +.asm_12c9a + ret +; 12c9b + + +GiveTakeItemMenuData: ; 12c9b + db %01010000 + db 12, 12 ; start coords + db 17, 19 ; end coords + dw .Items + db 1 ; default option + +.Items: + db %10000000 ; x padding + db 2 ; # items + db "GIVE@" + db "TAKE@" +; 12caf + + +TookAndMadeHoldText: ; 12caf + text_jump UnknownText_0x1c1b2c + db "@" +; 12cb4 + +MadeHoldText: ; 12cb4 + text_jump UnknownText_0x1c1b57 + db "@" +; 12cb9 + +PleaseRemoveMailText: ; 12cb9 + text_jump UnknownText_0x1c1b6f + db "@" +; 12cbe + +IsntHoldingAnythingText: ; 12cbe + text_jump UnknownText_0x1c1b8e + db "@" +; 12cc3 + +ItemStorageIsFullText: ; 12cc3 + text_jump UnknownText_0x1c1baa + db "@" +; 12cc8 + +TookFromText: ; 12cc8 + text_jump UnknownText_0x1c1bc4 + db "@" +; 12ccd + +SwitchAlreadyHoldingText: ; 12ccd + text_jump UnknownText_0x1c1bdc + db "@" +; 12cd2 + +CantBeHeldText: ; 12cd2 + text_jump UnknownText_0x1c1c09 + db "@" +; 12cd7 + + +GetPartyItemLocation: ; 12cd7 + push af + ld a, MON_ITEM + call GetPartyParamLocation + pop af + ret +; 12cdf + + +ReceiveItemFromPokemon: ; 12cdf + ld a, $1 + ld [wItemQuantityChangeBuffer], a + ld hl, NumItems + jp ReceiveItem +; 12cea + + +GiveItemToPokemon: ; 12cea (4:6cea) + ld a, $1 + ld [wItemQuantityChangeBuffer], a + ld hl, NumItems + jp TossItem + +StartMenuYesNo: ; 12cf5 + call MenuTextBox + call YesNoBox + jp ExitMenu +; 12cfe + + +ComposeMailMessage: ; 12cfe (4:6cfe) + ld de, wTempMailMessage + callba _ComposeMailMessage + ld hl, PlayerName + ld de, wTempMailAuthor + ld bc, NAME_LENGTH - 1 + call CopyBytes + ld hl, PlayerID + ld bc, 2 + call CopyBytes + ld a, [CurPartySpecies] + ld [de], a + inc de + ld a, [CurItem] + ld [de], a + ld a, [CurPartyMon] + ld hl, sPartyMail + ld bc, MAIL_STRUCT_LENGTH + call AddNTimes + ld d, h + ld e, l + ld hl, wTempMail + ld bc, MAIL_STRUCT_LENGTH + ld a, BANK(sPartyMail) + call GetSRAMBank + call CopyBytes + call CloseSRAM + ret + +MonMailAction: ; 12d45 +; If in the time capsule or trade center, +; selecting the mail only allows you to +; read the mail. + ld a, [wLinkMode] + cp LINK_TIMECAPSULE + jr z, .read + cp LINK_TRADECENTER + jr z, .read + +; Show the READ/TAKE/QUIT menu. + ld hl, .MenuDataHeader + call LoadMenuDataHeader + call VerticalMenu + call ExitMenu + +; Interpret the menu. + jp c, .done + ld a, [wMenuCursorY] + cp $1 + jr z, .read + cp $2 + jr z, .take + jp .done + +.read + callba ReadPartyMonMail + ld a, $0 + ret + +.take + ld hl, .sendmailtopctext + call StartMenuYesNo + jr c, .RemoveMailToBag + ld a, [CurPartyMon] + ld b, a + callba SendMailToPC + jr c, .MailboxFull + ld hl, .sentmailtopctext + call MenuTextBoxBackup + jr .done + +.MailboxFull: + ld hl, .mailboxfulltext + call MenuTextBoxBackup + jr .done + +.RemoveMailToBag: + ld hl, .mailwilllosemessagetext + call StartMenuYesNo + jr c, .done + call GetPartyItemLocation + ld a, [hl] + ld [CurItem], a + call ReceiveItemFromPokemon + jr nc, .BagIsFull + call GetPartyItemLocation + ld [hl], $0 + call GetCurNick + ld hl, .tookmailfrommontext + call MenuTextBoxBackup + jr .done + +.BagIsFull: + ld hl, .bagfulltext + call MenuTextBoxBackup + jr .done + +.done + ld a, $3 + ret +; 12dc9 + + +.MenuDataHeader: + db $40 ; flags + db 10, 12 ; start coords + db 17, 19 ; end coords + dw .MenuData2 + db 1 ; default option +; 0x12dd1 + +.MenuData2: + db $80 ; flags + db 3 ; items + db "READ@" + db "TAKE@" + db "QUIT@" +; 0x12de2 + + +.mailwilllosemessagetext +; The MAIL will lose its message. OK? + text_jump UnknownText_0x1c1c22 + db "@" +; 0x12de7 + +.tookmailfrommontext +; MAIL detached from . + text_jump UnknownText_0x1c1c47 + db "@" +; 0x12dec + +.bagfulltext +; There's no space for removing MAIL. + text_jump UnknownText_0x1c1c62 + db "@" +; 0x12df1 + +.sendmailtopctext +; Send the removed MAIL to your PC? + text_jump UnknownText_0x1c1c86 + db "@" +; 0x12df6 + +.mailboxfulltext +; Your PC's MAILBOX is full. + text_jump UnknownText_0x1c1ca9 + db "@" +; 0x12dfb + +.sentmailtopctext +; The MAIL was sent to your PC. + text_jump UnknownText_0x1c1cc4 + db "@" +; 0x12e00 + + +OpenPartyStats: ; 12e00 + call LoadStandardMenuDataHeader + call ClearSprites +; PartyMon + xor a + ld [MonType], a + call LowVolume + predef StatsScreenInit + call MaxVolume + call Call_ExitMenu + ld a, 0 + ret +; 12e1b + + +MonMenu_Cut: ; 12e1b + callba CutFunction + ld a, [wFieldMoveSucceeded] + cp $1 + jr nz, .Fail + ld b, $4 + ld a, $2 + ret + +.Fail: + ld a, $3 + ret +; 12e30 + + +MonMenu_Fly: ; 12e30 + callba FlyFunction + ld a, [wFieldMoveSucceeded] + cp $2 + jr z, .Fail + cp $0 + jr z, .Error + callba TrainerRankings_Fly + ld b, $4 + ld a, $2 + ret + +.Fail: + ld a, $3 + ret + +.Error: + ld a, $0 + ret + +.Unused: + ld a, $1 + ret +; 12e55 + +MonMenu_Flash: ; 12e55 + callba OWFlash + ld a, [wFieldMoveSucceeded] + cp $1 + jr nz, .Fail + ld b, $4 + ld a, $2 + ret + +.Fail: + ld a, $3 + ret +; 12e6a + +MonMenu_Strength: ; 12e6a + callba StrengthFunction + ld a, [wFieldMoveSucceeded] + cp $1 + jr nz, .Fail + ld b, $4 + ld a, $2 + ret + +.Fail: + ld a, $3 + ret +; 12e7f + +MonMenu_Whirlpool: ; 12e7f + callba WhirlpoolFunction + ld a, [wFieldMoveSucceeded] + cp $1 + jr nz, .Fail + ld b, $4 + ld a, $2 + ret + +.Fail: + ld a, $3 + ret +; 12e94 + +MonMenu_Waterfall: ; 12e94 + callba WaterfallFunction + ld a, [wFieldMoveSucceeded] + cp $1 + jr nz, .Fail + ld b, $4 + ld a, $2 + ret + +.Fail: + ld a, $3 + ret +; 12ea9 + +MonMenu_Teleport: ; 12ea9 + callba TeleportFunction + ld a, [wFieldMoveSucceeded] + and a + jr z, .Fail + ld b, $4 + ld a, $2 + ret + +.Fail: + ld a, $3 + ret +; 12ebd + +MonMenu_Surf: ; 12ebd + callba SurfFunction + ld a, [wFieldMoveSucceeded] + and a + jr z, .Fail + ld b, $4 + ld a, $2 + ret + +.Fail: + ld a, $3 + ret +; 12ed1 + +MonMenu_Dig: ; 12ed1 + callba DigFunction + ld a, [wFieldMoveSucceeded] + cp $1 + jr nz, .Fail + ld b, $4 + ld a, $2 + ret + +.Fail: + ld a, $3 + ret +; 12ee6 + +MonMenu_Softboiled_MilkDrink: ; 12ee6 + call .CheckMonHasEnoughHP + jr nc, .NotEnoughHP + callba Softboiled_MilkDrinkFunction + jr .finish + +.NotEnoughHP: + ld hl, .Text_NotEnoughHP + call PrintText + +.finish + xor a + ld [PartyMenuActionText], a + ld a, $3 + ret +; 12f00 + +.Text_NotEnoughHP: + ; Not enough HP! + text_jump UnknownText_0x1c1ce3 + db "@" +; 0x12f05 + +.CheckMonHasEnoughHP: +; Need to have at least (MaxHP / 5) HP left. + ld a, MON_MAXHP + call GetPartyParamLocation + ld a, [hli] + ld [hDividend + 0], a + ld a, [hl] + ld [hDividend + 1], a + ld a, 5 + ld [hDivisor], a + ld b, 2 + call Divide + ld a, MON_HP + 1 + call GetPartyParamLocation + ld a, [hQuotient + 2] + sub [hl] + dec hl + ld a, [hQuotient + 1] + sbc [hl] + ret +; 12f26 + +MonMenu_Headbutt: ; 12f26 + callba HeadbuttFunction + ld a, [wFieldMoveSucceeded] + cp $1 + jr nz, .Fail + ld b, $4 + ld a, $2 + ret + +.Fail: + ld a, $3 + ret +; 12f3b + +MonMenu_RockSmash: ; 12f3b + callba RockSmashFunction + ld a, [wFieldMoveSucceeded] + cp $1 + jr nz, .Fail + ld b, $4 + ld a, $2 + ret + +.Fail: + ld a, $3 + ret +; 12f50 + +MonMenu_SweetScent: ; 12f50 + callba SweetScentFromMenu + ld b, $4 + ld a, $2 + ret +; 12f5b + +ChooseMoveToDelete: ; 12f5b + ld hl, Options + ld a, [hl] + push af + set NO_TEXT_SCROLL, [hl] + call LoadFontsBattleExtra + call .ChooseMoveToDelete + pop bc + ld a, b + ld [Options], a + push af + call ClearBGPalettes + pop af + ret +; 12f73 + +.ChooseMoveToDelete + call SetUpMoveScreenBG + ld de, DeleteMoveScreenAttrs + call SetMenuAttributes + call SetUpMoveList + ld hl, w2DMenuFlags1 + set 6, [hl] + jr .enter_loop + +.loop + call ScrollingMenuJoypad + bit B_BUTTON_F, a + jp nz, .b_button + bit A_BUTTON_F, a + jp nz, .a_button + +.enter_loop + call PrepareToPlaceMoveData + call PlaceMoveData + jp .loop +; 12f9c + +.a_button + and a + jr .finish + +.b_button + scf + +.finish + push af + xor a + ld [wSwitchMon], a + ld hl, w2DMenuFlags1 + res 6, [hl] + call ClearSprites + call ClearTileMap + pop af + ret +; 12fb2 + +DeleteMoveScreenAttrs: ; 12fb2 + db 3, 1 + db 3, 1 + db $40, $00 + dn 2, 0 + db D_UP | D_DOWN | A_BUTTON | B_BUTTON +; 12fba + +ManagePokemonMoves: ; 12fba + ld a, [CurPartySpecies] + cp EGG + jr z, .egg + ld hl, Options + ld a, [hl] + push af + set NO_TEXT_SCROLL, [hl] + call MoveScreenLoop + pop af + ld [Options], a + call ClearBGPalettes + +.egg + ld a, $0 + ret +; 12fd5 + +MoveScreenLoop: ; 12fd5 + ld a, [CurPartyMon] + inc a + ld [wPartyMenuCursor], a + call SetUpMoveScreenBG + call Function132d3 + ld de, MoveScreenAttributes + call SetMenuAttributes +.loop + call SetUpMoveList + ld hl, w2DMenuFlags1 + set 6, [hl] + jr .skip_joy + +.joy_loop + call ScrollingMenuJoypad + bit 1, a + jp nz, .b_button + bit 0, a + jp nz, .a_button + bit 4, a + jp nz, .d_right + bit 5, a + jp nz, .d_left + +.skip_joy + call PrepareToPlaceMoveData + ld a, [wMoveSwapBuffer] + and a + jr nz, .moving_move + call PlaceMoveData + jp .joy_loop + +.moving_move + ld a, " " + hlcoord 1, 11 + ld bc, 5 + call ByteFill + hlcoord 1, 12 + lb bc, 5, SCREEN_WIDTH - 2 + call ClearBox + hlcoord 1, 12 + ld de, String_1316b + call PlaceString + jp .joy_loop +.b_button + call PlayClickSFX + call WaitSFX + ld a, [wMoveSwapBuffer] + and a + jp z, .exit + + ld a, [wMoveSwapBuffer] + ld [wMenuCursorY], a + xor a + ld [wMoveSwapBuffer], a + hlcoord 1, 2 + lb bc, 8, SCREEN_WIDTH - 2 + call ClearBox + jp .loop +; 1305b + +.d_right + ld a, [wMoveSwapBuffer] + and a + jp nz, .joy_loop + + ld a, [CurPartyMon] + ld b, a + push bc + call .cycle_right + pop bc + ld a, [CurPartyMon] + cp b + jp z, .joy_loop + jp MoveScreenLoop + +.d_left + ld a, [wMoveSwapBuffer] + and a + jp nz, .joy_loop + ld a, [CurPartyMon] + ld b, a + push bc + call .cycle_left + pop bc + ld a, [CurPartyMon] + cp b + jp z, .joy_loop + jp MoveScreenLoop + +.cycle_right + ld a, [CurPartyMon] + inc a + ld [CurPartyMon], a + ld c, a + ld b, 0 + ld hl, PartySpecies + add hl, bc + ld a, [hl] + cp -1 + jr z, .cycle_left + cp EGG + ret nz + jr .cycle_right + +.cycle_left + ld a, [CurPartyMon] + and a + ret z +.cycle_left_loop + ld a, [CurPartyMon] + dec a + ld [CurPartyMon], a + ld c, a + ld b, 0 + ld hl, PartySpecies + add hl, bc + ld a, [hl] + cp EGG + ret nz + ld a, [CurPartyMon] + and a + jr z, .cycle_right + jr .cycle_left_loop +; 130c6 + +.a_button + call PlayClickSFX + call WaitSFX + ld a, [wMoveSwapBuffer] + and a + jr nz, .place_move + ld a, [wMenuCursorY] + ld [wMoveSwapBuffer], a + call PlaceHollowCursor + jp .moving_move + +.place_move + ld hl, PartyMon1Moves + ld bc, PARTYMON_STRUCT_LENGTH + ld a, [CurPartyMon] + call AddNTimes + push hl + call .copy_move + pop hl + ld bc, $15 + add hl, bc + call .copy_move + ld a, [wBattleMode] + jr z, .swap_moves + ld hl, BattleMonMoves + ld bc, $20 + ld a, [CurPartyMon] + call AddNTimes + push hl + call .copy_move + pop hl + ld bc, 6 + add hl, bc + call .copy_move + +.swap_moves + ld de, SFX_SWITCH_POKEMON + call PlaySFX + call WaitSFX + ld de, SFX_SWITCH_POKEMON + call PlaySFX + call WaitSFX + hlcoord 1, 2 + lb bc, 8, 18 + call ClearBox + hlcoord 10, 10 + lb bc, 1, 9 + call ClearBox + jp .loop +; 1313a + +.copy_move + push hl + ld a, [wMenuCursorY] + dec a + ld c, a + ld b, $0 + add hl, bc + ld d, h + ld e, l + pop hl + ld a, [wMoveSwapBuffer] + dec a + ld c, a + ld b, $0 + add hl, bc + ld a, [de] + ld b, [hl] + ld [hl], a + ld a, b + ld [de], a + ret +; 13154 + +.exit + xor a + ld [wMoveSwapBuffer], a + ld hl, w2DMenuFlags1 + res 6, [hl] + call ClearSprites + jp ClearTileMap +; 13163 + +MoveScreenAttributes: ; 13163 + db 3, 1 + db 3, 1 + db $40, $00 + dn 2, 0 + db D_UP | D_DOWN | D_LEFT | D_RIGHT | A_BUTTON | B_BUTTON +; 1316b + +String_1316b: ; 1316b + db "Where?@" +; 13172 + +SetUpMoveScreenBG: ; 13172 + call ClearBGPalettes + call ClearTileMap + call ClearSprites + xor a + ld [hBGMapMode], a + callba LoadStatsScreenPageTilesGFX + callba ClearSpriteAnims2 + ld a, [CurPartyMon] + ld e, a + ld d, $0 + ld hl, PartySpecies + add hl, de + ld a, [hl] + ld [wd265], a + ld e, $2 + callba LoadMenuMonIcon + hlcoord 0, 1 + ld b, 9 + ld c, 18 + call TextBox + hlcoord 0, 11 + ld b, 5 + ld c, 18 + call TextBox + hlcoord 2, 0 + lb bc, 2, 3 + call ClearBox + xor a + ld [MonType], a + ld hl, PartyMonNicknames + ld a, [CurPartyMon] + call GetNick + hlcoord 5, 1 + call PlaceString + push bc + callba CopyPkmnToTempMon + pop hl + call PrintLevel + ld hl, PlayerHPPal + call SetHPPal + ld b, SCGB_MOVE_LIST + call GetSGBLayout + hlcoord 16, 0 + lb bc, 1, 3 + jp ClearBox +; 131ef + +SetUpMoveList: ; 131ef + xor a + ld [hBGMapMode], a + ld [wMoveSwapBuffer], a + ld [MonType], a + predef CopyPkmnToTempMon + ld hl, TempMonMoves + ld de, wListMoves_MoveIndicesBuffer + ld bc, NUM_MOVES + call CopyBytes + ld a, SCREEN_WIDTH * 2 + ld [Buffer1], a + hlcoord 2, 3 + predef ListMoves + hlcoord 10, 4 + predef ListMovePP + call WaitBGMap + call SetPalettes + ld a, [wNumMoves] + inc a + ld [w2DMenuNumRows], a + hlcoord 0, 11 + ld b, 5 + ld c, 18 + jp TextBox +; 13235 + +PrepareToPlaceMoveData: ; 13235 + ld hl, PartyMon1Moves + ld bc, PARTYMON_STRUCT_LENGTH + ld a, [CurPartyMon] + call AddNTimes + ld a, [wMenuCursorY] + dec a + ld c, a + ld b, $0 + add hl, bc + ld a, [hl] + ld [CurMove], a + hlcoord 1, 12 + lb bc, 5, 18 + jp ClearBox +; 13256 + +PlaceMoveData: ; 13256 + xor a + ld [hBGMapMode], a + hlcoord 0, 10 + ld de, String_132ba + call PlaceString + hlcoord 0, 11 + ld de, String_132c2 + call PlaceString + hlcoord 12, 12 + ld de, String_132ca + call PlaceString + ld a, [CurMove] + ld b, a + hlcoord 2, 12 + predef PrintMoveType + ld a, [CurMove] + dec a + ld hl, Moves + MOVE_POWER + ld bc, MOVE_LENGTH + call AddNTimes + ld a, BANK(Moves) + call GetFarByte + hlcoord 16, 12 + cp 2 + jr c, .no_power + ld [wd265], a + ld de, wd265 + lb bc, 1, 3 + call PrintNum + jr .description + +.no_power + ld de, String_132cf + call PlaceString + +.description + hlcoord 1, 14 + predef PrintMoveDesc + ld a, $1 + ld [hBGMapMode], a + ret +; 132ba + +String_132ba: ; 132ba + db "┌─────┐@" +; 132c2 +String_132c2: ; 132c2 + db "│TYPE/└@" +; 132ca +String_132ca: ; 132ca + db "ATK/@" +; 132cf +String_132cf: ; 132cf + db "---@" +; 132d3 + +Function132d3: ; 132d3 + call Function132da + call Function132fe + ret +; 132da + +Function132da: ; 132da + ld a, [CurPartyMon] + and a + ret z + ld c, a + ld e, a + ld d, 0 + ld hl, PartyCount + add hl, de +.loop + ld a, [hl] + and a + jr z, .prev + cp EGG + jr z, .prev + cp NUM_POKEMON + 1 + jr c, .legal + +.prev + dec hl + dec c + jr nz, .loop + ret + +.legal + hlcoord 16, 0 + ld [hl], "◀" + ret +; 132fe + +Function132fe: ; 132fe + ld a, [CurPartyMon] + inc a + ld c, a + ld a, [PartyCount] + cp c + ret z + ld e, c + ld d, 0 + ld hl, PartySpecies + add hl, de +.loop + ld a, [hl] + cp -1 + ret z + and a + jr z, .next + cp EGG + jr z, .next + cp NUM_POKEMON + 1 + jr c, .legal + +.next + inc hl + jr .loop + +.legal + hlcoord 18, 0 + ld [hl], "▶" + ret +; 13327 diff --git a/engine/startmenu.asm b/engine/startmenu.asm deleted file mode 100755 index 871da86be..000000000 --- a/engine/startmenu.asm +++ /dev/null @@ -1,1974 +0,0 @@ -StartMenu:: ; 125cd - - call ClearWindowData - - ld de, SFX_MENU - call PlaySFX - - callba ReanchorBGMap_NoOAMUpdate - - ld hl, StatusFlags2 - bit 2, [hl] ; bug catching contest - ld hl, .MenuDataHeader - jr z, .GotMenuData - ld hl, .ContestMenuDataHeader -.GotMenuData: - - call LoadMenuDataHeader - call .SetUpMenuItems - ld a, [wBattleMenuCursorBuffer] - ld [wMenuCursorBuffer], a - call .DrawMenuAccount_ - call DrawVariableLengthMenuBox - call .DrawBugContestStatusBox - call SafeUpdateSprites - call _OpenAndCloseMenu_HDMATransferTileMapAndAttrMap - callba LoadFonts_NoOAMUpdate - call .DrawBugContestStatus - call UpdateTimePals - jr .Select - -.Reopen: - call UpdateSprites - call UpdateTimePals - call .SetUpMenuItems - ld a, [wBattleMenuCursorBuffer] - ld [wMenuCursorBuffer], a - -.Select: - call .GetInput - jr c, .Exit - call .DrawMenuAccount - ld a, [wMenuCursorBuffer] - ld [wBattleMenuCursorBuffer], a - call PlayClickSFX - call PlaceHollowCursor - call .OpenMenu - -; Menu items have different return functions. -; For example, saving exits the menu. - ld hl, .MenuReturns - ld e, a - ld d, 0 - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp hl - -.MenuReturns: - dw .Reopen - dw .Exit - dw .ExitMenuCallFuncCloseText - dw .ExitMenuRunScriptCloseText - dw .ExitMenuRunScript - dw .ReturnEnd - dw .ReturnRedraw - -.Exit: - ld a, [hOAMUpdate] - push af - ld a, 1 - ld [hOAMUpdate], a - call LoadFontsExtra - pop af - ld [hOAMUpdate], a -.ReturnEnd: - call ExitMenu -.ReturnEnd2: - call CloseText - call UpdateTimePals - ret - -.GetInput: -; Return carry on exit, and no-carry on selection. - xor a - ld [hBGMapMode], a - call .DrawMenuAccount - call SetUpMenu - ld a, $ff - ld [MenuSelection], a -.loop - call .PrintMenuAccount - call GetScrollingMenuJoypad - ld a, [wMenuJoypad] - cp B_BUTTON - jr z, .b - cp A_BUTTON - jr z, .a - jr .loop -.a - call PlayClickSFX - and a - ret -.b - scf - ret -; 12691 - -.ExitMenuRunScript: ; 12691 - call ExitMenu - ld a, HMENURETURN_SCRIPT - ld [hMenuReturn], a - ret -; 12699 - -.ExitMenuRunScriptCloseText: ; 12699 - call ExitMenu - ld a, HMENURETURN_SCRIPT - ld [hMenuReturn], a - jr .ReturnEnd2 -; 126a2 - -.ExitMenuCallFuncCloseText: ; 126a2 - call ExitMenu - ld hl, wQueuedScriptAddr - ld a, [hli] - ld h, [hl] - ld l, a - ld a, [wQueuedScriptBank] - rst FarCall - jr .ReturnEnd2 -; 126b1 - -.ReturnRedraw: ; 126b1 - call .Clear - jp .Reopen -; 126b7 - -.Clear: ; 126b7 - call ClearBGPalettes - call Call_ExitMenu - call ReloadTilesetAndPalettes - call .DrawMenuAccount_ - call DrawVariableLengthMenuBox - call .DrawBugContestStatus - call UpdateSprites - call ret_d90 - call FinishExitMenu - ret -; 126d3 - - -.MenuDataHeader: - db $40 ; tile backup - db 0, 10 ; start coords - db 17, 19 ; end coords - dw .MenuData - db 1 ; default selection - -.ContestMenuDataHeader: - db $40 ; tile backup - db 2, 10 ; start coords - db 17, 19 ; end coords - dw .MenuData - db 1 ; default selection - -.MenuData: - db %10101000 ; x padding, wrap around, start can close - dn 0, 0 ; rows, columns - dw MenuItemsList - dw .MenuString - dw .Items - -.Items: - dw StartMenu_Pokedex, .PokedexString, .PokedexDesc - dw StartMenu_Pokemon, .PartyString, .PartyDesc - dw StartMenu_Pack, .PackString, .PackDesc - dw StartMenu_Status, .StatusString, .StatusDesc - dw StartMenu_Save, .SaveString, .SaveDesc - dw StartMenu_Option, .OptionString, .OptionDesc - dw StartMenu_Exit, .ExitString, .ExitDesc - dw StartMenu_Pokegear, .PokegearString, .PokegearDesc - dw StartMenu_Quit, .QuitString, .QuitDesc - -.PokedexString: db "#DEX@" -.PartyString: db "#MON@" -.PackString: db "PACK@" -.StatusString: db "@" -.SaveString: db "SAVE@" -.OptionString: db "OPTION@" -.ExitString: db "EXIT@" -.PokegearString: db $24, "GEAR@" -.QuitString: db "QUIT@" - -.PokedexDesc: db "#MON" - next "database@" - -.PartyDesc: db "Party ", $4a - next "status@" - -.PackDesc: db "Contains" - next "items@" - -.PokegearDesc: db "Trainer's" - next "key device@" - -.StatusDesc: db "Your own" - next "status@" - -.SaveDesc: db "Save your" - next "progress@" - -.OptionDesc: db "Change" - next "settings@" - -.ExitDesc: db "Close this" - next "menu@" - -.QuitDesc: db "Quit and" - next "be judged.@" - - -.OpenMenu: ; 127e5 - ld a, [MenuSelection] - call .GetMenuAccountTextPointer - ld a, [hli] - ld h, [hl] - ld l, a - jp hl -; 127ef - -.MenuString: ; 127ef - push de - ld a, [MenuSelection] - call .GetMenuAccountTextPointer - inc hl - inc hl - ld a, [hli] - ld d, [hl] - ld e, a - pop hl - call PlaceString - ret -; 12800 - -.MenuDesc: ; 12800 - push de - ld a, [MenuSelection] - cp $ff - jr z, .none - call .GetMenuAccountTextPointer -rept 4 - inc hl -endr - ld a, [hli] - ld d, [hl] - ld e, a - pop hl - call PlaceString - ret -.none - pop de - ret -; 12819 - - -.GetMenuAccountTextPointer: ; 12819 - ld e, a - ld d, 0 - ld hl, wMenuData2PointerTableAddr - ld a, [hli] - ld h, [hl] - ld l, a -rept 6 - add hl, de -endr - ret -; 12829 - - -.SetUpMenuItems: ; 12829 - xor a - ld [wWhichIndexSet], a - call .FillMenuList - - ld hl, StatusFlags - bit 0, [hl] - jr z, .no_pokedex - ld a, 0 ; pokedex - call .AppendMenuList -.no_pokedex - - ld a, [PartyCount] - and a - jr z, .no_pokemon - ld a, 1 ; pokemon - call .AppendMenuList -.no_pokemon - - ld a, [wLinkMode] - and a - jr nz, .no_pack - ld hl, StatusFlags2 - bit 2, [hl] ; bug catching contest - jr nz, .no_pack - ld a, 2 ; pack - call .AppendMenuList -.no_pack - - ld hl, wPokegearFlags - bit 7, [hl] - jr z, .no_pokegear - ld a, 7 ; pokegear - call .AppendMenuList -.no_pokegear - - ld a, 3 ; status - call .AppendMenuList - - ld a, [wLinkMode] - and a - jr nz, .no_save - ld hl, StatusFlags2 - bit 2, [hl] ; bug catching contest - ld a, 8 ; quit - jr nz, .write - ld a, 4 ; save -.write - call .AppendMenuList -.no_save - - ld a, 5 ; option - call .AppendMenuList - ld a, 6 ; exit - call .AppendMenuList - ld a, c - ld [MenuItemsList], a - ret -; 1288d - - -.FillMenuList: ; 1288d - xor a - ld hl, MenuItemsList - ld [hli], a - ld a, -1 - ld bc, MenuItemsListEnd - (MenuItemsList + 1) - call ByteFill - ld de, MenuItemsList + 1 - ld c, 0 - ret -; 128a0 - -.AppendMenuList: ; 128a0 - ld [de], a - inc de - inc c - ret -; 128a4 - -.DrawMenuAccount_: ; 128a4 - jp .DrawMenuAccount -; 128a7 - -.PrintMenuAccount: ; 128a7 - call .IsMenuAccountOn - ret z - call .DrawMenuAccount - decoord 0, 14 - jp .MenuDesc -; 128b4 - -.DrawMenuAccount: ; 128b4 - call .IsMenuAccountOn - ret z - hlcoord 0, 13 - lb bc, 5, 10 - call ClearBox - hlcoord 0, 13 - ld b, 3 - ld c, 8 - jp TextBoxPalette -; 128cb - -.IsMenuAccountOn: ; 128cb - ld a, [Options2] - and 1 - ret -; 128d1 - -.DrawBugContestStatusBox: ; 128d1 - ld hl, StatusFlags2 - bit 2, [hl] ; bug catching contest - ret z - callba StartMenu_DrawBugContestStatusBox - ret -; 128de - -.DrawBugContestStatus: ; 128de - ld hl, StatusFlags2 - bit 2, [hl] ; bug catching contest - jr nz, .contest - ret -.contest - callba StartMenu_PrintBugContestStatus - ret -; 128ed - - -StartMenu_Exit: ; 128ed -; Exit the menu. - - ld a, 1 - ret -; 128f0 - - -StartMenu_Quit: ; 128f0 -; Retire from the bug catching contest. - - ld hl, .EndTheContestText - call StartMenuYesNo - jr c, .DontEndContest - ld a, BANK(BugCatchingContestReturnToGateScript) - ld hl, BugCatchingContestReturnToGateScript - call FarQueueScript - ld a, 4 - ret - -.DontEndContest: - ld a, 0 - ret - -.EndTheContestText: - text_jump UnknownText_0x1c1a6c - db "@" -; 1290b - - -StartMenu_Save: ; 1290b -; Save the game. - - call BufferScreen - callba SaveMenu - jr nc, .asm_12919 - ld a, 0 - ret -.asm_12919 - ld a, 1 - ret -; 1291c - - -StartMenu_Option: ; 1291c -; Game options. - - call FadeToMenu - callba OptionsMenu - ld a, 6 - ret -; 12928 - - -StartMenu_Status: ; 12928 -; Player status. - - call FadeToMenu - callba TrainerCard - call CloseSubmenu - ld a, 0 - ret -; 12937 - - -StartMenu_Pokedex: ; 12937 - - ld a, [PartyCount] - and a - jr z, .asm_12949 - - call FadeToMenu - callba Pokedex - call CloseSubmenu - -.asm_12949 - ld a, 0 - ret -; 1294c - - -StartMenu_Pokegear: ; 1294c - - call FadeToMenu - callba PokeGear - call CloseSubmenu - ld a, 0 - ret -; 1295b - - -StartMenu_Pack: ; 1295b - - call FadeToMenu - callba Pack - ld a, [wcf66] - and a - jr nz, .used_item - call CloseSubmenu - ld a, 0 - ret - -.used_item - call ExitAllMenus - ld a, 4 - ret -; 12976 - - -StartMenu_Pokemon: ; 12976 - - ld a, [PartyCount] - and a - jr z, .return - - call FadeToMenu - -.choosemenu - xor a - ld [PartyMenuActionText], a ; Choose a POKéMON. - call ClearBGPalettes - -.menu - callba LoadPartyMenuGFX - callba InitPartyMenuWithCancel - callba InitPartyMenuGFX - -.menunoreload - callba WritePartyMenuTilemap - callba PrintPartyMenuText - call WaitBGMap - call SetPalettes ; load regular palettes? - call DelayFrame - callba PartyMenuSelect - jr c, .return ; if cancelled or pressed B - - call PokemonActionSubmenu - cp 3 - jr z, .menu - cp 0 - jr z, .choosemenu - cp 1 - jr z, .menunoreload - cp 2 - jr z, .quit - -.return - call CloseSubmenu - ld a, 0 - ret - -.quit - ld a, b - push af - call ExitAllMenus - pop af - ret -; 129d5 - -HasNoItems: ; 129d5 - ld a, [NumItems] - and a - ret nz - ld a, [NumKeyItems] - and a - ret nz - ld a, [NumBalls] - and a - ret nz - ld hl, TMsHMs - ld b, NUM_TMS + NUM_HMS -.loop - ld a, [hli] - and a - jr nz, .done - dec b - jr nz, .loop - scf - ret -.done - and a - ret - -TossItemFromPC: ; 129f4 - push de - call PartyMonItemName - callba _CheckTossableItem - ld a, [wItemAttributeParamBuffer] - and a - jr nz, .key_item - ld hl, .TossHowMany - call MenuTextBox - callba SelectQuantityToToss - push af - call CloseWindow - call ExitMenu - pop af - jr c, .quit - ld hl, .ConfirmToss - call MenuTextBox - call YesNoBox - push af - call ExitMenu - pop af - jr c, .quit - pop hl - ld a, [CurItemQuantity] - call TossItem - call PartyMonItemName - ld hl, .TossedThisMany - call MenuTextBox - call ExitMenu - and a - ret - -.key_item - call .CantToss -.quit - pop hl - scf - ret - -.TossHowMany: - ; Toss out how many @ (S)? - text_jump UnknownText_0x1c1a90 - db "@" - -.ConfirmToss: - ; Throw away @ @ (S)? - text_jump UnknownText_0x1c1aad - db "@" - -.TossedThisMany: - ; Discarded @ (S). - text_jump UnknownText_0x1c1aca - db "@" - -.CantToss: - ld hl, .TooImportantToToss - call MenuTextBoxBackup - ret - -.TooImportantToToss: - ; That's too impor- tant to toss out! - text_jump UnknownText_0x1c1adf - db "@" -; 0x12a60 - -CantUseItem: ; 12a60 - ld hl, CantUseItemText - call MenuTextBoxWaitButton - ret -; 12a67 - -CantUseItemText: ; 12a67 - text_jump UnknownText_0x1c1b03 - db "@" -; 12a6c - - -PartyMonItemName: ; 12a6c - ld a, [CurItem] - ld [wd265], a - call GetItemName - call CopyName1 - ret -; 12a79 - - -CancelPokemonAction: ; 12a79 - callba InitPartyMenuWithCancel - callba UnfreezeMonIcons - ld a, 1 - ret -; 12a88 - - -PokemonActionSubmenu: ; 12a88 - hlcoord 1, 15 - lb bc, 2, 18 - call ClearBox - callba MonSubmenu - call GetCurNick - ld a, [MenuSelection] - ld hl, .Actions - ld de, 3 - call IsInArray - jr nc, .nothing - - inc hl - ld a, [hli] - ld h, [hl] - ld l, a - jp hl - -.nothing - ld a, 0 - ret - -.Actions: - dbw MONMENU_CUT, MonMenu_Cut ; Cut - dbw MONMENU_FLY, MonMenu_Fly ; Fly - dbw MONMENU_SURF, MonMenu_Surf ; Surf - dbw MONMENU_STRENGTH, MonMenu_Strength ; Strength - dbw MONMENU_FLASH, MonMenu_Flash ; Flash - dbw MONMENU_WHIRLPOOL, MonMenu_Whirlpool ; Whirlpool - dbw MONMENU_DIG, MonMenu_Dig ; Dig - dbw MONMENU_TELEPORT, MonMenu_Teleport ; Teleport - dbw MONMENU_SOFTBOILED, MonMenu_Softboiled_MilkDrink ; Softboiled - dbw MONMENU_MILKDRINK, MonMenu_Softboiled_MilkDrink ; MilkDrink - dbw MONMENU_HEADBUTT, MonMenu_Headbutt ; Headbutt - dbw MONMENU_WATERFALL, MonMenu_Waterfall ; Waterfall - dbw MONMENU_ROCKSMASH, MonMenu_RockSmash ; RockSmash - dbw MONMENU_SWEETSCENT, MonMenu_SweetScent ; SweetScent - dbw MONMENU_STATS, OpenPartyStats - dbw MONMENU_SWITCH, SwitchPartyMons - dbw MONMENU_ITEM, GiveTakePartyMonItem - dbw MONMENU_CANCEL, CancelPokemonAction - dbw MONMENU_MOVE, ManagePokemonMoves ; move - dbw MONMENU_MAIL, MonMailAction ; mail -; 12aec - - -SwitchPartyMons: ; 12aec - -; Don't try if there's nothing to switch! - ld a, [PartyCount] - cp 2 - jr c, .DontSwitch - - ld a, [CurPartyMon] - inc a - ld [wSwitchMon], a - - callba HoldSwitchmonIcon - callba InitPartyMenuNoCancel - - ld a, PARTYMENUACTION_MOVE - ld [PartyMenuActionText], a - callba WritePartyMenuTilemap - callba PrintPartyMenuText - - hlcoord 0, 1 - ld bc, 20 * 2 - ld a, [wSwitchMon] - dec a - call AddNTimes - ld [hl], "▷" - call WaitBGMap - call SetPalettes - call DelayFrame - - callba PartyMenuSelect - bit 1, b - jr c, .DontSwitch - - callba _SwitchPartyMons - - xor a - ld [PartyMenuActionText], a - - callba LoadPartyMenuGFX - callba InitPartyMenuWithCancel - callba InitPartyMenuGFX - - ld a, 1 - ret - -.DontSwitch: - xor a - ld [PartyMenuActionText], a - call CancelPokemonAction - ret -; 12b60 - - -GiveTakePartyMonItem: ; 12b60 - -; Eggs can't hold items! - ld a, [CurPartySpecies] - cp EGG - jr z, .cancel - - ld hl, GiveTakeItemMenuData - call LoadMenuDataHeader - call VerticalMenu - call ExitMenu - jr c, .cancel - - call GetCurNick - ld hl, StringBuffer1 - ld de, wMonOrItemNameBuffer - ld bc, PKMN_NAME_LENGTH - call CopyBytes - ld a, [wMenuCursorY] - cp 1 - jr nz, .take - - call LoadStandardMenuDataHeader - call ClearPalettes - call .GiveItem - call ClearPalettes - call LoadFontsBattleExtra - call ExitMenu - ld a, 0 - ret - -.take - call TakePartyItem - ld a, 3 - ret - -.cancel - ld a, 3 - ret -; 12ba9 - - -.GiveItem: - - callba DepositSellInitPackBuffers - -.loop - callba DepositSellPack - - ld a, [wcf66] - and a - jr z, .quit - - ld a, [wcf65] - cp 2 - jr z, .next - - call CheckTossableItem - ld a, [wItemAttributeParamBuffer] - and a - jr nz, .next - - call TryGiveItemToPartymon - jr .quit - -.next - ld hl, CantBeHeldText - call MenuTextBoxBackup - jr .loop - -.quit - ret -; 12bd9 - - -TryGiveItemToPartymon: ; 12bd9 - - call SpeechTextBox - call PartyMonItemName - call GetPartyItemLocation - ld a, [hl] - and a - jr z, .give_item_to_mon - - push hl - ld d, a - callba ItemIsMail - pop hl - jr c, .please_remove_mail - ld a, [hl] - jr .already_holding_item - -.give_item_to_mon - call GiveItemToPokemon - ld hl, MadeHoldText - call MenuTextBoxBackup - call GivePartyItem - ret - -.please_remove_mail - ld hl, PleaseRemoveMailText - call MenuTextBoxBackup - ret - -.already_holding_item - ld [wd265], a - call GetItemName - ld hl, SwitchAlreadyHoldingText - call StartMenuYesNo - jr c, .abort - - call GiveItemToPokemon - ld a, [wd265] - push af - ld a, [CurItem] - ld [wd265], a - pop af - ld [CurItem], a - call ReceiveItemFromPokemon - jr nc, .bag_full - - ld hl, TookAndMadeHoldText - call MenuTextBoxBackup - ld a, [wd265] - ld [CurItem], a - call GivePartyItem - ret - -.bag_full - ld a, [wd265] - ld [CurItem], a - call ReceiveItemFromPokemon - ld hl, ItemStorageIsFullText - call MenuTextBoxBackup - -.abort - ret -; 12c4c - - -GivePartyItem: ; 12c4c - - call GetPartyItemLocation - ld a, [CurItem] - ld [hl], a - ld d, a - callba ItemIsMail - jr nc, .done - call ComposeMailMessage - -.done - ret -; 12c60 - - -TakePartyItem: ; 12c60 - - call SpeechTextBox - call GetPartyItemLocation - ld a, [hl] - and a - jr z, .asm_12c8c - - ld [CurItem], a - call ReceiveItemFromPokemon - jr nc, .asm_12c94 - - callba ItemIsMail - call GetPartyItemLocation - ld a, [hl] - ld [wd265], a - ld [hl], NO_ITEM - call GetItemName - ld hl, TookFromText - call MenuTextBoxBackup - jr .asm_12c9a - -.asm_12c8c - ld hl, IsntHoldingAnythingText - call MenuTextBoxBackup - jr .asm_12c9a - -.asm_12c94 - ld hl, ItemStorageIsFullText - call MenuTextBoxBackup - -.asm_12c9a - ret -; 12c9b - - -GiveTakeItemMenuData: ; 12c9b - db %01010000 - db 12, 12 ; start coords - db 17, 19 ; end coords - dw .Items - db 1 ; default option - -.Items: - db %10000000 ; x padding - db 2 ; # items - db "GIVE@" - db "TAKE@" -; 12caf - - -TookAndMadeHoldText: ; 12caf - text_jump UnknownText_0x1c1b2c - db "@" -; 12cb4 - -MadeHoldText: ; 12cb4 - text_jump UnknownText_0x1c1b57 - db "@" -; 12cb9 - -PleaseRemoveMailText: ; 12cb9 - text_jump UnknownText_0x1c1b6f - db "@" -; 12cbe - -IsntHoldingAnythingText: ; 12cbe - text_jump UnknownText_0x1c1b8e - db "@" -; 12cc3 - -ItemStorageIsFullText: ; 12cc3 - text_jump UnknownText_0x1c1baa - db "@" -; 12cc8 - -TookFromText: ; 12cc8 - text_jump UnknownText_0x1c1bc4 - db "@" -; 12ccd - -SwitchAlreadyHoldingText: ; 12ccd - text_jump UnknownText_0x1c1bdc - db "@" -; 12cd2 - -CantBeHeldText: ; 12cd2 - text_jump UnknownText_0x1c1c09 - db "@" -; 12cd7 - - -GetPartyItemLocation: ; 12cd7 - push af - ld a, MON_ITEM - call GetPartyParamLocation - pop af - ret -; 12cdf - - -ReceiveItemFromPokemon: ; 12cdf - ld a, $1 - ld [wItemQuantityChangeBuffer], a - ld hl, NumItems - jp ReceiveItem -; 12cea - - -GiveItemToPokemon: ; 12cea (4:6cea) - ld a, $1 - ld [wItemQuantityChangeBuffer], a - ld hl, NumItems - jp TossItem - -StartMenuYesNo: ; 12cf5 - call MenuTextBox - call YesNoBox - jp ExitMenu -; 12cfe - - -ComposeMailMessage: ; 12cfe (4:6cfe) - ld de, wTempMailMessage - callba _ComposeMailMessage - ld hl, PlayerName - ld de, wTempMailAuthor - ld bc, NAME_LENGTH - 1 - call CopyBytes - ld hl, PlayerID - ld bc, 2 - call CopyBytes - ld a, [CurPartySpecies] - ld [de], a - inc de - ld a, [CurItem] - ld [de], a - ld a, [CurPartyMon] - ld hl, sPartyMail - ld bc, MAIL_STRUCT_LENGTH - call AddNTimes - ld d, h - ld e, l - ld hl, wTempMail - ld bc, MAIL_STRUCT_LENGTH - ld a, BANK(sPartyMail) - call GetSRAMBank - call CopyBytes - call CloseSRAM - ret - -MonMailAction: ; 12d45 -; If in the time capsule or trade center, -; selecting the mail only allows you to -; read the mail. - ld a, [wLinkMode] - cp LINK_TIMECAPSULE - jr z, .read - cp LINK_TRADECENTER - jr z, .read - -; Show the READ/TAKE/QUIT menu. - ld hl, .MenuDataHeader - call LoadMenuDataHeader - call VerticalMenu - call ExitMenu - -; Interpret the menu. - jp c, .done - ld a, [wMenuCursorY] - cp $1 - jr z, .read - cp $2 - jr z, .take - jp .done - -.read - callba ReadPartyMonMail - ld a, $0 - ret - -.take - ld hl, .sendmailtopctext - call StartMenuYesNo - jr c, .RemoveMailToBag - ld a, [CurPartyMon] - ld b, a - callba SendMailToPC - jr c, .MailboxFull - ld hl, .sentmailtopctext - call MenuTextBoxBackup - jr .done - -.MailboxFull: - ld hl, .mailboxfulltext - call MenuTextBoxBackup - jr .done - -.RemoveMailToBag: - ld hl, .mailwilllosemessagetext - call StartMenuYesNo - jr c, .done - call GetPartyItemLocation - ld a, [hl] - ld [CurItem], a - call ReceiveItemFromPokemon - jr nc, .BagIsFull - call GetPartyItemLocation - ld [hl], $0 - call GetCurNick - ld hl, .tookmailfrommontext - call MenuTextBoxBackup - jr .done - -.BagIsFull: - ld hl, .bagfulltext - call MenuTextBoxBackup - jr .done - -.done - ld a, $3 - ret -; 12dc9 - - -.MenuDataHeader: - db $40 ; flags - db 10, 12 ; start coords - db 17, 19 ; end coords - dw .MenuData2 - db 1 ; default option -; 0x12dd1 - -.MenuData2: - db $80 ; flags - db 3 ; items - db "READ@" - db "TAKE@" - db "QUIT@" -; 0x12de2 - - -.mailwilllosemessagetext -; The MAIL will lose its message. OK? - text_jump UnknownText_0x1c1c22 - db "@" -; 0x12de7 - -.tookmailfrommontext -; MAIL detached from . - text_jump UnknownText_0x1c1c47 - db "@" -; 0x12dec - -.bagfulltext -; There's no space for removing MAIL. - text_jump UnknownText_0x1c1c62 - db "@" -; 0x12df1 - -.sendmailtopctext -; Send the removed MAIL to your PC? - text_jump UnknownText_0x1c1c86 - db "@" -; 0x12df6 - -.mailboxfulltext -; Your PC's MAILBOX is full. - text_jump UnknownText_0x1c1ca9 - db "@" -; 0x12dfb - -.sentmailtopctext -; The MAIL was sent to your PC. - text_jump UnknownText_0x1c1cc4 - db "@" -; 0x12e00 - - -OpenPartyStats: ; 12e00 - call LoadStandardMenuDataHeader - call ClearSprites -; PartyMon - xor a - ld [MonType], a - call LowVolume - predef StatsScreenInit - call MaxVolume - call Call_ExitMenu - ld a, 0 - ret -; 12e1b - - -MonMenu_Cut: ; 12e1b - callba CutFunction - ld a, [wFieldMoveSucceeded] - cp $1 - jr nz, .Fail - ld b, $4 - ld a, $2 - ret - -.Fail: - ld a, $3 - ret -; 12e30 - - -MonMenu_Fly: ; 12e30 - callba FlyFunction - ld a, [wFieldMoveSucceeded] - cp $2 - jr z, .Fail - cp $0 - jr z, .Error - callba TrainerRankings_Fly - ld b, $4 - ld a, $2 - ret - -.Fail: - ld a, $3 - ret - -.Error: - ld a, $0 - ret - -.Unused: - ld a, $1 - ret -; 12e55 - -MonMenu_Flash: ; 12e55 - callba OWFlash - ld a, [wFieldMoveSucceeded] - cp $1 - jr nz, .Fail - ld b, $4 - ld a, $2 - ret - -.Fail: - ld a, $3 - ret -; 12e6a - -MonMenu_Strength: ; 12e6a - callba StrengthFunction - ld a, [wFieldMoveSucceeded] - cp $1 - jr nz, .Fail - ld b, $4 - ld a, $2 - ret - -.Fail: - ld a, $3 - ret -; 12e7f - -MonMenu_Whirlpool: ; 12e7f - callba WhirlpoolFunction - ld a, [wFieldMoveSucceeded] - cp $1 - jr nz, .Fail - ld b, $4 - ld a, $2 - ret - -.Fail: - ld a, $3 - ret -; 12e94 - -MonMenu_Waterfall: ; 12e94 - callba WaterfallFunction - ld a, [wFieldMoveSucceeded] - cp $1 - jr nz, .Fail - ld b, $4 - ld a, $2 - ret - -.Fail: - ld a, $3 - ret -; 12ea9 - -MonMenu_Teleport: ; 12ea9 - callba TeleportFunction - ld a, [wFieldMoveSucceeded] - and a - jr z, .Fail - ld b, $4 - ld a, $2 - ret - -.Fail: - ld a, $3 - ret -; 12ebd - -MonMenu_Surf: ; 12ebd - callba SurfFunction - ld a, [wFieldMoveSucceeded] - and a - jr z, .Fail - ld b, $4 - ld a, $2 - ret - -.Fail: - ld a, $3 - ret -; 12ed1 - -MonMenu_Dig: ; 12ed1 - callba DigFunction - ld a, [wFieldMoveSucceeded] - cp $1 - jr nz, .Fail - ld b, $4 - ld a, $2 - ret - -.Fail: - ld a, $3 - ret -; 12ee6 - -MonMenu_Softboiled_MilkDrink: ; 12ee6 - call .CheckMonHasEnoughHP - jr nc, .NotEnoughHP - callba Softboiled_MilkDrinkFunction - jr .finish - -.NotEnoughHP: - ld hl, .Text_NotEnoughHP - call PrintText - -.finish - xor a - ld [PartyMenuActionText], a - ld a, $3 - ret -; 12f00 - -.Text_NotEnoughHP: - ; Not enough HP! - text_jump UnknownText_0x1c1ce3 - db "@" -; 0x12f05 - -.CheckMonHasEnoughHP: -; Need to have at least (MaxHP / 5) HP left. - ld a, MON_MAXHP - call GetPartyParamLocation - ld a, [hli] - ld [hDividend + 0], a - ld a, [hl] - ld [hDividend + 1], a - ld a, 5 - ld [hDivisor], a - ld b, 2 - call Divide - ld a, MON_HP + 1 - call GetPartyParamLocation - ld a, [hQuotient + 2] - sub [hl] - dec hl - ld a, [hQuotient + 1] - sbc [hl] - ret -; 12f26 - -MonMenu_Headbutt: ; 12f26 - callba HeadbuttFunction - ld a, [wFieldMoveSucceeded] - cp $1 - jr nz, .Fail - ld b, $4 - ld a, $2 - ret - -.Fail: - ld a, $3 - ret -; 12f3b - -MonMenu_RockSmash: ; 12f3b - callba RockSmashFunction - ld a, [wFieldMoveSucceeded] - cp $1 - jr nz, .Fail - ld b, $4 - ld a, $2 - ret - -.Fail: - ld a, $3 - ret -; 12f50 - -MonMenu_SweetScent: ; 12f50 - callba SweetScentFromMenu - ld b, $4 - ld a, $2 - ret -; 12f5b - -ChooseMoveToDelete: ; 12f5b - ld hl, Options - ld a, [hl] - push af - set NO_TEXT_SCROLL, [hl] - call LoadFontsBattleExtra - call .ChooseMoveToDelete - pop bc - ld a, b - ld [Options], a - push af - call ClearBGPalettes - pop af - ret -; 12f73 - -.ChooseMoveToDelete - call SetUpMoveScreenBG - ld de, DeleteMoveScreenAttrs - call SetMenuAttributes - call SetUpMoveList - ld hl, w2DMenuFlags1 - set 6, [hl] - jr .enter_loop - -.loop - call ScrollingMenuJoypad - bit B_BUTTON_F, a - jp nz, .b_button - bit A_BUTTON_F, a - jp nz, .a_button - -.enter_loop - call PrepareToPlaceMoveData - call PlaceMoveData - jp .loop -; 12f9c - -.a_button - and a - jr .finish - -.b_button - scf - -.finish - push af - xor a - ld [wSwitchMon], a - ld hl, w2DMenuFlags1 - res 6, [hl] - call ClearSprites - call ClearTileMap - pop af - ret -; 12fb2 - -DeleteMoveScreenAttrs: ; 12fb2 - db 3, 1 - db 3, 1 - db $40, $00 - dn 2, 0 - db D_UP | D_DOWN | A_BUTTON | B_BUTTON -; 12fba - -ManagePokemonMoves: ; 12fba - ld a, [CurPartySpecies] - cp EGG - jr z, .egg - ld hl, Options - ld a, [hl] - push af - set NO_TEXT_SCROLL, [hl] - call MoveScreenLoop - pop af - ld [Options], a - call ClearBGPalettes - -.egg - ld a, $0 - ret -; 12fd5 - -MoveScreenLoop: ; 12fd5 - ld a, [CurPartyMon] - inc a - ld [wPartyMenuCursor], a - call SetUpMoveScreenBG - call Function132d3 - ld de, MoveScreenAttributes - call SetMenuAttributes -.loop - call SetUpMoveList - ld hl, w2DMenuFlags1 - set 6, [hl] - jr .skip_joy - -.joy_loop - call ScrollingMenuJoypad - bit 1, a - jp nz, .b_button - bit 0, a - jp nz, .a_button - bit 4, a - jp nz, .d_right - bit 5, a - jp nz, .d_left - -.skip_joy - call PrepareToPlaceMoveData - ld a, [wMoveSwapBuffer] - and a - jr nz, .moving_move - call PlaceMoveData - jp .joy_loop - -.moving_move - ld a, " " - hlcoord 1, 11 - ld bc, 5 - call ByteFill - hlcoord 1, 12 - lb bc, 5, SCREEN_WIDTH - 2 - call ClearBox - hlcoord 1, 12 - ld de, String_1316b - call PlaceString - jp .joy_loop -.b_button - call PlayClickSFX - call WaitSFX - ld a, [wMoveSwapBuffer] - and a - jp z, .exit - - ld a, [wMoveSwapBuffer] - ld [wMenuCursorY], a - xor a - ld [wMoveSwapBuffer], a - hlcoord 1, 2 - lb bc, 8, SCREEN_WIDTH - 2 - call ClearBox - jp .loop -; 1305b - -.d_right - ld a, [wMoveSwapBuffer] - and a - jp nz, .joy_loop - - ld a, [CurPartyMon] - ld b, a - push bc - call .cycle_right - pop bc - ld a, [CurPartyMon] - cp b - jp z, .joy_loop - jp MoveScreenLoop - -.d_left - ld a, [wMoveSwapBuffer] - and a - jp nz, .joy_loop - ld a, [CurPartyMon] - ld b, a - push bc - call .cycle_left - pop bc - ld a, [CurPartyMon] - cp b - jp z, .joy_loop - jp MoveScreenLoop - -.cycle_right - ld a, [CurPartyMon] - inc a - ld [CurPartyMon], a - ld c, a - ld b, 0 - ld hl, PartySpecies - add hl, bc - ld a, [hl] - cp -1 - jr z, .cycle_left - cp EGG - ret nz - jr .cycle_right - -.cycle_left - ld a, [CurPartyMon] - and a - ret z -.cycle_left_loop - ld a, [CurPartyMon] - dec a - ld [CurPartyMon], a - ld c, a - ld b, 0 - ld hl, PartySpecies - add hl, bc - ld a, [hl] - cp EGG - ret nz - ld a, [CurPartyMon] - and a - jr z, .cycle_right - jr .cycle_left_loop -; 130c6 - -.a_button - call PlayClickSFX - call WaitSFX - ld a, [wMoveSwapBuffer] - and a - jr nz, .place_move - ld a, [wMenuCursorY] - ld [wMoveSwapBuffer], a - call PlaceHollowCursor - jp .moving_move - -.place_move - ld hl, PartyMon1Moves - ld bc, PARTYMON_STRUCT_LENGTH - ld a, [CurPartyMon] - call AddNTimes - push hl - call .copy_move - pop hl - ld bc, $15 - add hl, bc - call .copy_move - ld a, [wBattleMode] - jr z, .swap_moves - ld hl, BattleMonMoves - ld bc, $20 - ld a, [CurPartyMon] - call AddNTimes - push hl - call .copy_move - pop hl - ld bc, 6 - add hl, bc - call .copy_move - -.swap_moves - ld de, SFX_SWITCH_POKEMON - call PlaySFX - call WaitSFX - ld de, SFX_SWITCH_POKEMON - call PlaySFX - call WaitSFX - hlcoord 1, 2 - lb bc, 8, 18 - call ClearBox - hlcoord 10, 10 - lb bc, 1, 9 - call ClearBox - jp .loop -; 1313a - -.copy_move - push hl - ld a, [wMenuCursorY] - dec a - ld c, a - ld b, $0 - add hl, bc - ld d, h - ld e, l - pop hl - ld a, [wMoveSwapBuffer] - dec a - ld c, a - ld b, $0 - add hl, bc - ld a, [de] - ld b, [hl] - ld [hl], a - ld a, b - ld [de], a - ret -; 13154 - -.exit - xor a - ld [wMoveSwapBuffer], a - ld hl, w2DMenuFlags1 - res 6, [hl] - call ClearSprites - jp ClearTileMap -; 13163 - -MoveScreenAttributes: ; 13163 - db 3, 1 - db 3, 1 - db $40, $00 - dn 2, 0 - db D_UP | D_DOWN | D_LEFT | D_RIGHT | A_BUTTON | B_BUTTON -; 1316b - -String_1316b: ; 1316b - db "Where?@" -; 13172 - -SetUpMoveScreenBG: ; 13172 - call ClearBGPalettes - call ClearTileMap - call ClearSprites - xor a - ld [hBGMapMode], a - callba LoadStatsScreenPageTilesGFX - callba ClearSpriteAnims2 - ld a, [CurPartyMon] - ld e, a - ld d, $0 - ld hl, PartySpecies - add hl, de - ld a, [hl] - ld [wd265], a - ld e, $2 - callba LoadMenuMonIcon - hlcoord 0, 1 - ld b, 9 - ld c, 18 - call TextBox - hlcoord 0, 11 - ld b, 5 - ld c, 18 - call TextBox - hlcoord 2, 0 - lb bc, 2, 3 - call ClearBox - xor a - ld [MonType], a - ld hl, PartyMonNicknames - ld a, [CurPartyMon] - call GetNick - hlcoord 5, 1 - call PlaceString - push bc - callba CopyPkmnToTempMon - pop hl - call PrintLevel - ld hl, PlayerHPPal - call SetHPPal - ld b, SCGB_MOVE_LIST - call GetSGBLayout - hlcoord 16, 0 - lb bc, 1, 3 - jp ClearBox -; 131ef - -SetUpMoveList: ; 131ef - xor a - ld [hBGMapMode], a - ld [wMoveSwapBuffer], a - ld [MonType], a - predef CopyPkmnToTempMon - ld hl, TempMonMoves - ld de, wListMoves_MoveIndicesBuffer - ld bc, NUM_MOVES - call CopyBytes - ld a, SCREEN_WIDTH * 2 - ld [Buffer1], a - hlcoord 2, 3 - predef ListMoves - hlcoord 10, 4 - predef ListMovePP - call WaitBGMap - call SetPalettes - ld a, [wNumMoves] - inc a - ld [w2DMenuNumRows], a - hlcoord 0, 11 - ld b, 5 - ld c, 18 - jp TextBox -; 13235 - -PrepareToPlaceMoveData: ; 13235 - ld hl, PartyMon1Moves - ld bc, PARTYMON_STRUCT_LENGTH - ld a, [CurPartyMon] - call AddNTimes - ld a, [wMenuCursorY] - dec a - ld c, a - ld b, $0 - add hl, bc - ld a, [hl] - ld [CurMove], a - hlcoord 1, 12 - lb bc, 5, 18 - jp ClearBox -; 13256 - -PlaceMoveData: ; 13256 - xor a - ld [hBGMapMode], a - hlcoord 0, 10 - ld de, String_132ba - call PlaceString - hlcoord 0, 11 - ld de, String_132c2 - call PlaceString - hlcoord 12, 12 - ld de, String_132ca - call PlaceString - ld a, [CurMove] - ld b, a - hlcoord 2, 12 - predef PrintMoveType - ld a, [CurMove] - dec a - ld hl, Moves + MOVE_POWER - ld bc, MOVE_LENGTH - call AddNTimes - ld a, BANK(Moves) - call GetFarByte - hlcoord 16, 12 - cp 2 - jr c, .no_power - ld [wd265], a - ld de, wd265 - lb bc, 1, 3 - call PrintNum - jr .description - -.no_power - ld de, String_132cf - call PlaceString - -.description - hlcoord 1, 14 - predef PrintMoveDesc - ld a, $1 - ld [hBGMapMode], a - ret -; 132ba - -String_132ba: ; 132ba - db "┌─────┐@" -; 132c2 -String_132c2: ; 132c2 - db "│TYPE/└@" -; 132ca -String_132ca: ; 132ca - db "ATK/@" -; 132cf -String_132cf: ; 132cf - db "---@" -; 132d3 - -Function132d3: ; 132d3 - call Function132da - call Function132fe - ret -; 132da - -Function132da: ; 132da - ld a, [CurPartyMon] - and a - ret z - ld c, a - ld e, a - ld d, 0 - ld hl, PartyCount - add hl, de -.loop - ld a, [hl] - and a - jr z, .prev - cp EGG - jr z, .prev - cp NUM_POKEMON + 1 - jr c, .legal - -.prev - dec hl - dec c - jr nz, .loop - ret - -.legal - hlcoord 16, 0 - ld [hl], "◀" - ret -; 132fe - -Function132fe: ; 132fe - ld a, [CurPartyMon] - inc a - ld c, a - ld a, [PartyCount] - cp c - ret z - ld e, c - ld d, 0 - ld hl, PartySpecies - add hl, de -.loop - ld a, [hl] - cp -1 - ret z - and a - jr z, .next - cp EGG - jr z, .next - cp NUM_POKEMON + 1 - jr c, .legal - -.next - inc hl - jr .loop - -.legal - hlcoord 18, 0 - ld [hl], "▶" - ret -; 13327 diff --git a/engine/switch_party_mons.asm b/engine/switch_party_mons.asm new file mode 100644 index 000000000..cde9c82b2 --- /dev/null +++ b/engine/switch_party_mons.asm @@ -0,0 +1,145 @@ +_SwitchPartyMons: + ld a, [wd0e3] + dec a + ld [Buffer3], a + ld b, a + ld a, [wMenuCursorY] + dec a + ld [Buffer2], a + cp b + jr z, .skip + call .SwapMonAndMail + ld a, [Buffer3] + call .ClearSprite + ld a, [Buffer2] + call .ClearSprite +.skip + ret + +.ClearSprite: ; 50f34 (14:4f34) + push af + hlcoord 0, 1 + ld bc, 2 * SCREEN_WIDTH + call AddNTimes + ld bc, 2 * SCREEN_WIDTH + ld a, " " + call ByteFill + pop af + ld hl, Sprites + ld bc, $10 + call AddNTimes + ld de, $4 + ld c, $4 +.gfx_loop + ld [hl], $a0 + add hl, de + dec c + jr nz, .gfx_loop + ld de, SFX_SWITCH_POKEMON + call WaitPlaySFX + ret + +.SwapMonAndMail: ; 50f62 (14:4f62) + push hl + push de + push bc + ld bc, PartySpecies + ld a, [Buffer2] + ld l, a + ld h, $0 + add hl, bc + ld d, h + ld e, l + ld a, [Buffer3] + ld l, a + ld h, $0 + add hl, bc + ld a, [hl] + push af + ld a, [de] + ld [hl], a + pop af + ld [de], a + ld a, [Buffer2] + ld hl, PartyMon1Species + ld bc, PARTYMON_STRUCT_LENGTH + call AddNTimes + push hl + ld de, wd002 + ld bc, PARTYMON_STRUCT_LENGTH + call CopyBytes + ld a, [Buffer3] + ld hl, PartyMon1 + ld bc, PARTYMON_STRUCT_LENGTH + call AddNTimes + pop de + push hl + ld bc, PARTYMON_STRUCT_LENGTH + call CopyBytes + pop de + ld hl, wd002 + ld bc, PARTYMON_STRUCT_LENGTH + call CopyBytes + ld a, [Buffer2] + ld hl, PartyMonOT + call SkipNames + push hl + call .CopyNameTowd002 + ld a, [Buffer3] + ld hl, PartyMonOT + call SkipNames + pop de + push hl + call .CopyName + pop de + ld hl, wd002 + call .CopyName + ld hl, PartyMonNicknames + ld a, [Buffer2] + call SkipNames + push hl + call .CopyNameTowd002 + ld hl, PartyMonNicknames + ld a, [Buffer3] + call SkipNames + pop de + push hl + call .CopyName + pop de + ld hl, wd002 + call .CopyName + ld hl, sPartyMail + ld a, [Buffer2] + ld bc, MAIL_STRUCT_LENGTH + call AddNTimes + push hl + ld de, wd002 + ld bc, MAIL_STRUCT_LENGTH + ld a, BANK(sPartyMail) + call GetSRAMBank + call CopyBytes + ld hl, sPartyMail + ld a, [Buffer3] + ld bc, MAIL_STRUCT_LENGTH + call AddNTimes + pop de + push hl + ld bc, MAIL_STRUCT_LENGTH + call CopyBytes + pop de + ld hl, wd002 + ld bc, MAIL_STRUCT_LENGTH + call CopyBytes + call CloseSRAM + pop bc + pop de + pop hl + ret + +.CopyNameTowd002: ; 51036 (14:5036) + ld de, wd002 + +.CopyName: ; 51039 (14:5039) + ld bc, NAME_LENGTH + call CopyBytes + ret diff --git a/engine/tempmon.asm b/engine/tempmon.asm new file mode 100644 index 000000000..332cb0c6c --- /dev/null +++ b/engine/tempmon.asm @@ -0,0 +1,127 @@ +CopyPkmnToTempMon: ; 5084a +; gets the BaseData of a Pkmn +; and copys the PkmnStructure to TempMon + + ld a, [CurPartyMon] + ld e, a + call GetPkmnSpecies + ld a, [CurPartySpecies] + ld [CurSpecies], a + call GetBaseData + + ld a, [MonType] + ld hl, PartyMon1Species + ld bc, PARTYMON_STRUCT_LENGTH + and a + jr z, .copywholestruct + ld hl, OTPartyMon1Species + ld bc, PARTYMON_STRUCT_LENGTH + cp OTPARTYMON + jr z, .copywholestruct + ld bc, BOXMON_STRUCT_LENGTH + callab CopyBoxmonToTempMon + jr .done + +.copywholestruct + ld a, [CurPartyMon] + call AddNTimes + ld de, TempMon + ld bc, PARTYMON_STRUCT_LENGTH + call CopyBytes + +.done + ret + +CalcwBufferMonStats: ; 5088b + ld bc, wBufferMon + jr _TempMonStatsCalculation + +CalcTempmonStats: ; 50890 + ld bc, TempMon +_TempMonStatsCalculation: ; 50893 + ld hl, MON_LEVEL + add hl, bc + ld a, [hl] + ld [CurPartyLevel], a + ld hl, MON_MAXHP + add hl, bc + ld d, h + ld e, l + ld hl, MON_STAT_EXP - 1 + add hl, bc + push bc + ld b, $1 + predef CalcPkmnStats + pop bc + ld hl, MON_HP + add hl, bc + ld d, h + ld e, l + ld a, [CurPartySpecies] + cp EGG + jr nz, .not_egg + xor a + ld [de], a + inc de + ld [de], a + jr .zero_status + +.not_egg + push bc + ld hl, MON_MAXHP + add hl, bc + ld bc, 2 + call CopyBytes + pop bc + +.zero_status + ld hl, MON_STATUS + add hl, bc + xor a + ld [hli], a + ld [hl], a + ret + +GetPkmnSpecies: ; 508d5 +; [MonType] has the type of the Pkmn +; e = Nr. of Pkmn (i.e. [CurPartyMon]) + + ld a, [MonType] + and a ; PARTYMON + jr z, .partymon + cp OTPARTYMON + jr z, .otpartymon + cp BOXMON + jr z, .boxmon + cp TEMPMON + jr z, .breedmon + ; WILDMON + +.partymon + ld hl, PartySpecies + jr .done + +.otpartymon + ld hl, OTPartySpecies + jr .done + +.boxmon + ld a, BANK(sBoxSpecies) + call GetSRAMBank + ld hl, sBoxSpecies + call .done + call CloseSRAM + ret + +.breedmon + ld a, [wBreedMon1Species] + jr .done2 + +.done + ld d, 0 + add hl, de + ld a, [hl] + +.done2 + ld [CurPartySpecies], a + ret diff --git a/event/buena_menu.asm b/event/buena_menu.asm new file mode 100644 index 000000000..b453da783 --- /dev/null +++ b/event/buena_menu.asm @@ -0,0 +1,58 @@ +AskRememberPassword: ; 4ae12 + call .DoMenu + ld a, $0 + jr c, .okay + ld a, $1 + +.okay + ld [ScriptVar], a + ret + +.DoMenu: ; 4ae1f + lb bc, 14, 7 + push bc + ld hl, YesNoMenuDataHeader + call CopyMenuDataHeader + pop bc + ld a, b + ld [wMenuBorderLeftCoord], a + add $5 + ld [wMenuBorderRightCoord], a + ld a, c + ld [wMenuBorderTopCoord], a + add $4 + ld [wMenuBorderBottomCoord], a + call PushWindow + call VerticalMenu + push af + ld c, 15 + call DelayFrames + call Buena_ExitMenu + pop af + jr c, .refused + ld a, [wMenuCursorY] + cp $2 + jr z, .refused + and a + ret + +.refused + ld a, $2 + ld [wMenuCursorY], a + scf + ret + +Buena_ExitMenu: ; 4ae5e + ld a, [hOAMUpdate] + push af + call ExitMenu + call UpdateSprites + xor a + ld [hOAMUpdate], a + call DelayFrame + ld a, $1 + ld [hOAMUpdate], a + call ApplyTilemap + pop af + ld [hOAMUpdate], a + ret diff --git a/event/bug_contest.asm b/event/bug_contest.asm deleted file mode 100644 index 2cb88ad30..000000000 --- a/event/bug_contest.asm +++ /dev/null @@ -1,43 +0,0 @@ -Special_GiveParkBalls: ; 135db - xor a - ld [wContestMon], a - ld a, 20 - ld [wParkBallsRemaining], a - callba StartBugContestTimer - ret - -BugCatchingContestBattleScript:: ; 0x135eb - writecode VAR_BATTLETYPE, BATTLETYPE_CONTEST - randomwildmon - startbattle - reloadmapafterbattle - copybytetovar wParkBallsRemaining - iffalse BugCatchingContestOutOfBallsScript - end - -BugCatchingContestOverScript:: ; 0x135f8 - playsound SFX_ELEVATOR_END - opentext - writetext BugCatchingContestText_BeeepTimesUp - waitbutton - jump BugCatchingContestReturnToGateScript - -BugCatchingContestOutOfBallsScript: ; 0x13603 - playsound SFX_ELEVATOR_END - opentext - writetext BugCatchingContestText_ContestIsOver - waitbutton - -BugCatchingContestReturnToGateScript: ; 0x1360b - closetext - jumpstd bugcontestresultswarp - -BugCatchingContestText_BeeepTimesUp: ; 0x1360f - ; ANNOUNCER: BEEEP! Time's up! - text_jump UnknownText_0x1bd2ca - db "@" - -BugCatchingContestText_ContestIsOver: ; 0x13614 - ; ANNOUNCER: The Contest is over! - text_jump UnknownText_0x1bd2e7 - db "@" diff --git a/event/bug_contest/caught_mon.asm b/event/bug_contest/caught_mon.asm new file mode 100644 index 000000000..729033d8b --- /dev/null +++ b/event/bug_contest/caught_mon.asm @@ -0,0 +1,38 @@ +BugContest_SetCaughtContestMon: ; e6ce + ld a, [wContestMon] + and a + jr z, .firstcatch + ld [wd265], a + callba DisplayAlreadyCaughtText + callba DisplayCaughtContestMonStats + lb bc, 14, 7 + call PlaceYesNoBox + ret c + +.firstcatch + call .generatestats + ld a, [TempEnemyMonSpecies] + ld [wd265], a + call GetPokemonName + ld hl, .caughttext + call PrintText + ret + +.generatestats ; e6fd + ld a, [TempEnemyMonSpecies] + ld [CurSpecies], a + ld [CurPartySpecies], a + call GetBaseData + xor a + ld bc, PARTYMON_STRUCT_LENGTH + ld hl, wContestMon + call ByteFill + xor a + ld [MonType], a + ld hl, wContestMon + jp GeneratePartyMonStats + +.caughttext ; 0xe71d + ; Caught @ ! + text_jump UnknownText_0x1c10c0 + db "@" diff --git a/event/bug_contest/contest.asm b/event/bug_contest/contest.asm new file mode 100644 index 000000000..2cb88ad30 --- /dev/null +++ b/event/bug_contest/contest.asm @@ -0,0 +1,43 @@ +Special_GiveParkBalls: ; 135db + xor a + ld [wContestMon], a + ld a, 20 + ld [wParkBallsRemaining], a + callba StartBugContestTimer + ret + +BugCatchingContestBattleScript:: ; 0x135eb + writecode VAR_BATTLETYPE, BATTLETYPE_CONTEST + randomwildmon + startbattle + reloadmapafterbattle + copybytetovar wParkBallsRemaining + iffalse BugCatchingContestOutOfBallsScript + end + +BugCatchingContestOverScript:: ; 0x135f8 + playsound SFX_ELEVATOR_END + opentext + writetext BugCatchingContestText_BeeepTimesUp + waitbutton + jump BugCatchingContestReturnToGateScript + +BugCatchingContestOutOfBallsScript: ; 0x13603 + playsound SFX_ELEVATOR_END + opentext + writetext BugCatchingContestText_ContestIsOver + waitbutton + +BugCatchingContestReturnToGateScript: ; 0x1360b + closetext + jumpstd bugcontestresultswarp + +BugCatchingContestText_BeeepTimesUp: ; 0x1360f + ; ANNOUNCER: BEEEP! Time's up! + text_jump UnknownText_0x1bd2ca + db "@" + +BugCatchingContestText_ContestIsOver: ; 0x13614 + ; ANNOUNCER: The Contest is over! + text_jump UnknownText_0x1bd2e7 + db "@" diff --git a/event/bug_contest/contest_2.asm b/event/bug_contest/contest_2.asm new file mode 100755 index 000000000..493c69d0c --- /dev/null +++ b/event/bug_contest/contest_2.asm @@ -0,0 +1,133 @@ +Special_SelectRandomBugContestContestants: ; 139a8 +; Select five random people to participate in the current contest. + +; First we have to make sure that any old data is cleared away. + ld c, 10 ; Number of people to choose from. + ld hl, BugCatchingContestantEventFlagTable +.loop1 + push bc + push hl + ld e, [hl] + inc hl + ld d, [hl] + ld b, RESET_FLAG + call EventFlagAction + pop hl + inc hl + inc hl + pop bc + dec c + jr nz, .loop1 + +; Now that that's out of the way, we can get on to the good stuff. + ld c, 5 +.loop2 + push bc +.next +; Choose a flag at uniform random to be set. + call Random + cp 250 + jr nc, .next + ld c, 25 + call SimpleDivide + ld e, b + ld d, 0 + ld hl, BugCatchingContestantEventFlagTable + add hl, de + add hl, de + ld e, [hl] + inc hl + ld d, [hl] + push de +; If we've already set it, it doesn't count. + ld b, CHECK_FLAG + call EventFlagAction + pop de + ld a, c + and a + jr nz, .next +; Set the flag. This will cause that sprite to not be visible in the contest. + ld b, SET_FLAG + call EventFlagAction + pop bc +; Check if we're done. If so, return. Otherwise, choose the next victim. + dec c + jr nz, .loop2 + ret +; 139ed + +Special_CheckBugContestContestantFlag: ; 139ed +; Checks the flag of the Bug Catching Contestant whose index is loaded in a. + +; Bug: If a >= 10 when this is called, it will read beyond the table. + + ld hl, BugCatchingContestantEventFlagTable + ld e, a + ld d, 0 + add hl, de + add hl, de + ld e, [hl] + inc hl + ld d, [hl] + ld b, CHECK_FLAG + call EventFlagAction + ret +; 139fe + +BugCatchingContestantEventFlagTable: ; 139fe + dw EVENT_BUG_CATCHING_CONTESTANT_1A + dw EVENT_BUG_CATCHING_CONTESTANT_2A + dw EVENT_BUG_CATCHING_CONTESTANT_3A + dw EVENT_BUG_CATCHING_CONTESTANT_4A + dw EVENT_BUG_CATCHING_CONTESTANT_5A + dw EVENT_BUG_CATCHING_CONTESTANT_6A + dw EVENT_BUG_CATCHING_CONTESTANT_7A + dw EVENT_BUG_CATCHING_CONTESTANT_8A + dw EVENT_BUG_CATCHING_CONTESTANT_9A + dw EVENT_BUG_CATCHING_CONTESTANT_10A +; 13a12 + +ContestDropOffMons: ; 13a12 + ld hl, PartyMon1HP + ld a, [hli] + or [hl] + jr z, .fainted +; Mask the rest of your party by setting the count to 1... + ld hl, PartyCount + ld a, 1 + ld [hli], a + inc hl +; ... backing up the second mon index somewhere... + ld a, [hl] + ld [wBugContestSecondPartySpecies], a +; ... and replacing it with the terminator byte + ld [hl], $ff + xor a + ld [ScriptVar], a + ret + +.fainted + ld a, $1 + ld [ScriptVar], a + ret +; 13a31 + +ContestReturnMons: ; 13a31 +; Restore the species of the second mon. + ld hl, PartySpecies + 1 + ld a, [wBugContestSecondPartySpecies] + ld [hl], a +; Restore the party count, which must be recomputed. + ld b, $1 +.loop + ld a, [hli] + cp -1 + jr z, .done + inc b + jr .loop + +.done + ld a, b + ld [PartyCount], a + ret +; 13a47 diff --git a/event/bug_contest/display_stats.asm b/event/bug_contest/display_stats.asm new file mode 100644 index 000000000..d6ad3997e --- /dev/null +++ b/event/bug_contest/display_stats.asm @@ -0,0 +1,107 @@ +DisplayCaughtContestMonStats: ; cc000 + call ClearBGPalettes + call ClearTileMap + call ClearSprites + call LoadFontsBattleExtra + + ld hl, Options + ld a, [hl] + push af + set 4, [hl] + + hlcoord 0, 0 + ld b, 4 + ld c, 13 + call TextBox + + hlcoord 0, 6 + ld b, 4 + ld c, 13 + call TextBox + + hlcoord 2, 0 + ld de, .Stock + call PlaceString + + hlcoord 2, 6 + ld de, .This + call PlaceString + + hlcoord 5, 4 + ld de, .Health + call PlaceString + + hlcoord 5, 10 + ld de, .Health + call PlaceString + + ld a, [wContestMon] + ld [wd265], a + call GetPokemonName + ld de, StringBuffer1 + hlcoord 1, 2 + call PlaceString + + ld h, b + ld l, c + ld a, [wContestMonLevel] + ld [TempMonLevel], a + call PrintLevel + + ld de, EnemyMonNick + hlcoord 1, 8 + call PlaceString + + ld h, b + ld l, c + ld a, [EnemyMonLevel] + ld [TempMonLevel], a + call PrintLevel + + hlcoord 11, 4 + ld de, wContestMonMaxHP + lb bc, 2, 3 + call PrintNum + + hlcoord 11, 10 + ld de, EnemyMonMaxHP + call PrintNum + + ld hl, SwitchMonText + call PrintText + + pop af + ld [Options], a + + call WaitBGMap + ld b, SCGB_DIPLOMA + call GetSGBLayout + call SetPalettes + ret + +.Health: + db "HEALTH@" +.Stock: + db " STOCK ", $4a, " @" +.This: + db " THIS ", $4a, " @" + +SwitchMonText: ; cc0c2 + ; Switch #MON? + text_jump UnknownText_0x1c10cf + db "@" + +DisplayAlreadyCaughtText: ; cc0c7 + call GetPokemonName + ld hl, .AlreadyCaughtText + jp PrintText + +.AlreadyCaughtText: ; 0xcc0d0 + ; You already caught a @ . + text_jump UnknownText_0x1c10dd + db "@" + +Predef2F: +Predef38: +Predef39: ; cc0d5 + ret diff --git a/event/bug_contest/judging.asm b/event/bug_contest/judging.asm new file mode 100755 index 000000000..a7a9eb022 --- /dev/null +++ b/event/bug_contest/judging.asm @@ -0,0 +1,395 @@ +_BugContestJudging: ; 1369d + call ContestScore + callba TrainerRankings_BugContestScore + call BugContest_JudgeContestants + ld a, [wBugContestThirdPlacePersonID] + call LoadContestantName + ld a, [wBugContestThirdPlaceMon] + ld [wNamedObjectIndexBuffer], a + call GetPokemonName + ld hl, BugContest_ThirdPlaceText + call PrintText + ld a, [wBugContestSecondPlacePersonID] + call LoadContestantName + ld a, [wBugContestSecondPlaceMon] + ld [wNamedObjectIndexBuffer], a + call GetPokemonName + ld hl, BugContest_SecondPlaceText + call PrintText + ld a, [wBugContestFirstPlacePersonID] + call LoadContestantName + ld a, [wBugContestFirstPlaceMon] + ld [wNamedObjectIndexBuffer], a + call GetPokemonName + ld hl, BugContest_FirstPlaceText + call PrintText + jp BugContest_GetPlayersResult +; 136eb + +BugContest_FirstPlaceText: ; 0x136eb + text_jump ContestJudging_FirstPlaceText + start_asm + ld de, SFX_1ST_PLACE + call PlaySFX + call WaitSFX + ld hl, BugContest_FirstPlaceScoreText + ret +; 136fd + +BugContest_FirstPlaceScoreText: ; 0x136fd + ; The winning score was @ points! + text_jump ContestJudging_FirstPlaceScoreText + db "@" +; 0x13702 + +BugContest_SecondPlaceText: ; 0x13702 + ; Placing second was @ , who caught a @ !@ @ + text_jump ContestJudging_SecondPlaceText + start_asm + ld de, SFX_2ND_PLACE + call PlaySFX + call WaitSFX + ld hl, BugContest_SecondPlaceScoreText + ret +; 13714 + +BugContest_SecondPlaceScoreText: ; 0x13714 + ; The score was @ points! + text_jump ContestJudging_SecondPlaceScoreText + db "@" +; 0x13719 + +BugContest_ThirdPlaceText: ; 0x13719 + ; Placing third was @ , who caught a @ !@ @ + text_jump ContestJudging_ThirdPlaceText + start_asm + ld de, SFX_3RD_PLACE + call PlaySFX + call WaitSFX + ld hl, BugContest_ThirdPlaceScoreText + ret +; 1372b + +BugContest_ThirdPlaceScoreText: ; 0x1372b + ; The score was @ points! + text_jump ContestJudging_ThirdPlaceScoreText + db "@" +; 0x13730 + +LoadContestantName: ; 13730 + +; If a = 0, get your name. + dec a + jr z, .player +; Find the pointer for the trainer class of the Bug Catching Contestant whose ID is in a. + ld c, a + ld b, 0 + ld hl, BugContestantPointers + add hl, bc + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a +; Copy the Trainer Class to c. + ld a, [hli] + ld c, a +; Save hl and bc for later. + push hl + push bc +; Get the Trainer Class name and copy it into wBugContestWinnerName. + callab GetTrainerClassName + ld hl, StringBuffer1 + ld de, wBugContestWinnerName + ld bc, TRAINER_CLASS_NAME_LENGTH + call CopyBytes + ld hl, wBugContestWinnerName +; Delete the trailing terminator and replace it with a space. +.next + ld a, [hli] + cp "@" + jr nz, .next + dec hl + ld [hl], " " + inc hl + ld d, h + ld e, l +; Restore the Trainer Class ID and Trainer ID pointer. Save de for later. + pop bc + pop hl + push de +; Get the name of the trainer with class c and ID b. + ld a, [hl] + ld b, a + callab GetTrainerName +; Append the name to wBugContestWinnerName. + ld hl, StringBuffer1 + pop de + ld bc, NAME_LENGTH - 1 + jp CopyBytes + +.player + ld hl, PlayerName + ld de, wBugContestWinnerName + ld bc, NAME_LENGTH + jp CopyBytes +; 13783 + + +INCLUDE "data/bug_contest_winners.asm" +; 13807 + + +BugContest_GetPlayersResult: ; 13807 + ld hl, wBugContestThirdPlacePersonID + ld de, -4 + ld b, 3 +.loop + ld a, [hl] + cp 1 ; Player + jr z, .done + add hl, de + dec b + jr nz, .loop + +.done + ret +; 13819 + +BugContest_JudgeContestants: ; 13819 + call ClearContestResults + call ComputeAIContestantScores + ld hl, wBugContestTempPersonID + ld a, 1 ; Player + ld [hli], a + ld a, [wContestMon] + ld [hli], a + ld a, [hProduct] + ld [hli], a + ld a, [hProduct + 1] + ld [hl], a + call DetermineContestWinners + ret +; 13833 + +ClearContestResults: ; 13833 + ld hl, wBugContestResults + ld b, wBugContestWinnersEnd - wBugContestResults + xor a +.loop + ld [hli], a + dec b + jr nz, .loop + ret +; 1383e + +DetermineContestWinners: ; 1383e + ld de, wBugContestTempScore + ld hl, wBugContestFirstPlaceScore + ld c, 2 + call StringCmp + jr c, .not_first_place + ld hl, wBugContestSecondPlacePersonID + ld de, wBugContestThirdPlacePersonID + ld bc, 4 + call CopyBytes + ld hl, wBugContestFirstPlacePersonID + ld de, wBugContestSecondPlacePersonID + ld bc, 4 + call CopyBytes + ld hl, wBugContestFirstPlacePersonID + call CopyTempContestant + jr .done + +.not_first_place + ld de, wBugContestTempScore + ld hl, wBugContestSecondPlaceScore + ld c, 2 + call StringCmp + jr c, .not_second_place + ld hl, wBugContestSecondPlacePersonID + ld de, wBugContestThirdPlacePersonID + ld bc, 4 + call CopyBytes + ld hl, wBugContestSecondPlacePersonID + call CopyTempContestant + jr .done + +.not_second_place + ld de, wBugContestTempScore + ld hl, wBugContestThirdPlaceScore + ld c, 2 + call StringCmp + jr c, .done + ld hl, wBugContestThirdPlacePersonID + call CopyTempContestant + +.done + ret +; 138a0 + +CopyTempContestant: ; 138a0 +; Could've just called CopyBytes. + ld de, wBugContestTempPersonID +rept 3 + ld a, [de] + inc de + ld [hli], a +endr + ld a, [de] + inc de + ld [hl], a + ret +; 138b0 + +ComputeAIContestantScores: ; 138b0 + ld e, 0 +.loop + push de + call Special_CheckBugContestContestantFlag + pop de + jr nz, .done + ld a, e + inc a + inc a + ld [wBugContestTempPersonID], a + dec a + ld c, a + ld b, 0 + ld hl, BugContestantPointers + add hl, bc + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + inc hl + inc hl +.loop2 + call Random + and 3 + cp 3 + jr z, .loop2 + ld c, a + ld b, 0 + add hl, bc + add hl, bc + add hl, bc + ld a, [hli] + ld [wBugContestTempMon], a + ld a, [hli] + ld h, [hl] + ld l, a + call Random + and 7 + ld c, a + ld b, 0 + add hl, bc + ld a, h + ld [wBugContestTempScore], a + ld a, l + ld [wBugContestTempScore + 1], a + push de + call DetermineContestWinners + pop de + +.done + inc e + ld a, e + cp 10 + jr nz, .loop + ret +; 13900 + +ContestScore: ; 13900 +; Determine the player's score in the Bug Catching Contest. + + xor a + ld [hProduct], a + ld [hMultiplicand], a + + ld a, [wContestMonSpecies] ; Species + and a + jr z, .done + + ; Tally the following: + + ; Max HP * 4 + ld a, [wContestMonMaxHP + 1] + call .AddContestStat + ld a, [wContestMonMaxHP + 1] + call .AddContestStat + ld a, [wContestMonMaxHP + 1] + call .AddContestStat + ld a, [wContestMonMaxHP + 1] + call .AddContestStat + + ; Stats + ld a, [wContestMonAttack + 1] + call .AddContestStat + ld a, [wContestMonDefense + 1] + call .AddContestStat + ld a, [wContestMonSpeed + 1] + call .AddContestStat + ld a, [wContestMonSpclAtk + 1] + call .AddContestStat + ld a, [wContestMonSpclDef + 1] + call .AddContestStat + + ; DVs + ld a, [wContestMonDVs + 0] + ld b, a + and 2 + add a + add a + ld c, a + + swap b + ld a, b + and 2 + add a + add c + ld d, a + + ld a, [wContestMonDVs + 1] + ld b, a + and 2 + ld c, a + + swap b + ld a, b + and 2 + srl a + add c + add c + add d + add d + + call .AddContestStat + + ; Remaining HP / 8 + ld a, [wContestMonHP + 1] + srl a + srl a + srl a + call .AddContestStat + + ; Whether it's holding an item + ld a, [wContestMonItem] + and a + jr z, .done + + ld a, 1 + call .AddContestStat + +.done + ret +; 1397f + +.AddContestStat: ; 1397f + ld hl, hMultiplicand + add [hl] + ld [hl], a + ret nc + dec hl + inc [hl] + ret +; 13988 diff --git a/event/bug_contest_2.asm b/event/bug_contest_2.asm deleted file mode 100755 index 493c69d0c..000000000 --- a/event/bug_contest_2.asm +++ /dev/null @@ -1,133 +0,0 @@ -Special_SelectRandomBugContestContestants: ; 139a8 -; Select five random people to participate in the current contest. - -; First we have to make sure that any old data is cleared away. - ld c, 10 ; Number of people to choose from. - ld hl, BugCatchingContestantEventFlagTable -.loop1 - push bc - push hl - ld e, [hl] - inc hl - ld d, [hl] - ld b, RESET_FLAG - call EventFlagAction - pop hl - inc hl - inc hl - pop bc - dec c - jr nz, .loop1 - -; Now that that's out of the way, we can get on to the good stuff. - ld c, 5 -.loop2 - push bc -.next -; Choose a flag at uniform random to be set. - call Random - cp 250 - jr nc, .next - ld c, 25 - call SimpleDivide - ld e, b - ld d, 0 - ld hl, BugCatchingContestantEventFlagTable - add hl, de - add hl, de - ld e, [hl] - inc hl - ld d, [hl] - push de -; If we've already set it, it doesn't count. - ld b, CHECK_FLAG - call EventFlagAction - pop de - ld a, c - and a - jr nz, .next -; Set the flag. This will cause that sprite to not be visible in the contest. - ld b, SET_FLAG - call EventFlagAction - pop bc -; Check if we're done. If so, return. Otherwise, choose the next victim. - dec c - jr nz, .loop2 - ret -; 139ed - -Special_CheckBugContestContestantFlag: ; 139ed -; Checks the flag of the Bug Catching Contestant whose index is loaded in a. - -; Bug: If a >= 10 when this is called, it will read beyond the table. - - ld hl, BugCatchingContestantEventFlagTable - ld e, a - ld d, 0 - add hl, de - add hl, de - ld e, [hl] - inc hl - ld d, [hl] - ld b, CHECK_FLAG - call EventFlagAction - ret -; 139fe - -BugCatchingContestantEventFlagTable: ; 139fe - dw EVENT_BUG_CATCHING_CONTESTANT_1A - dw EVENT_BUG_CATCHING_CONTESTANT_2A - dw EVENT_BUG_CATCHING_CONTESTANT_3A - dw EVENT_BUG_CATCHING_CONTESTANT_4A - dw EVENT_BUG_CATCHING_CONTESTANT_5A - dw EVENT_BUG_CATCHING_CONTESTANT_6A - dw EVENT_BUG_CATCHING_CONTESTANT_7A - dw EVENT_BUG_CATCHING_CONTESTANT_8A - dw EVENT_BUG_CATCHING_CONTESTANT_9A - dw EVENT_BUG_CATCHING_CONTESTANT_10A -; 13a12 - -ContestDropOffMons: ; 13a12 - ld hl, PartyMon1HP - ld a, [hli] - or [hl] - jr z, .fainted -; Mask the rest of your party by setting the count to 1... - ld hl, PartyCount - ld a, 1 - ld [hli], a - inc hl -; ... backing up the second mon index somewhere... - ld a, [hl] - ld [wBugContestSecondPartySpecies], a -; ... and replacing it with the terminator byte - ld [hl], $ff - xor a - ld [ScriptVar], a - ret - -.fainted - ld a, $1 - ld [ScriptVar], a - ret -; 13a31 - -ContestReturnMons: ; 13a31 -; Restore the species of the second mon. - ld hl, PartySpecies + 1 - ld a, [wBugContestSecondPartySpecies] - ld [hl], a -; Restore the party count, which must be recomputed. - ld b, $1 -.loop - ld a, [hli] - cp -1 - jr z, .done - inc b - jr .loop - -.done - ld a, b - ld [PartyCount], a - ret -; 13a47 diff --git a/event/bug_contest_judging.asm b/event/bug_contest_judging.asm deleted file mode 100755 index a7a9eb022..000000000 --- a/event/bug_contest_judging.asm +++ /dev/null @@ -1,395 +0,0 @@ -_BugContestJudging: ; 1369d - call ContestScore - callba TrainerRankings_BugContestScore - call BugContest_JudgeContestants - ld a, [wBugContestThirdPlacePersonID] - call LoadContestantName - ld a, [wBugContestThirdPlaceMon] - ld [wNamedObjectIndexBuffer], a - call GetPokemonName - ld hl, BugContest_ThirdPlaceText - call PrintText - ld a, [wBugContestSecondPlacePersonID] - call LoadContestantName - ld a, [wBugContestSecondPlaceMon] - ld [wNamedObjectIndexBuffer], a - call GetPokemonName - ld hl, BugContest_SecondPlaceText - call PrintText - ld a, [wBugContestFirstPlacePersonID] - call LoadContestantName - ld a, [wBugContestFirstPlaceMon] - ld [wNamedObjectIndexBuffer], a - call GetPokemonName - ld hl, BugContest_FirstPlaceText - call PrintText - jp BugContest_GetPlayersResult -; 136eb - -BugContest_FirstPlaceText: ; 0x136eb - text_jump ContestJudging_FirstPlaceText - start_asm - ld de, SFX_1ST_PLACE - call PlaySFX - call WaitSFX - ld hl, BugContest_FirstPlaceScoreText - ret -; 136fd - -BugContest_FirstPlaceScoreText: ; 0x136fd - ; The winning score was @ points! - text_jump ContestJudging_FirstPlaceScoreText - db "@" -; 0x13702 - -BugContest_SecondPlaceText: ; 0x13702 - ; Placing second was @ , who caught a @ !@ @ - text_jump ContestJudging_SecondPlaceText - start_asm - ld de, SFX_2ND_PLACE - call PlaySFX - call WaitSFX - ld hl, BugContest_SecondPlaceScoreText - ret -; 13714 - -BugContest_SecondPlaceScoreText: ; 0x13714 - ; The score was @ points! - text_jump ContestJudging_SecondPlaceScoreText - db "@" -; 0x13719 - -BugContest_ThirdPlaceText: ; 0x13719 - ; Placing third was @ , who caught a @ !@ @ - text_jump ContestJudging_ThirdPlaceText - start_asm - ld de, SFX_3RD_PLACE - call PlaySFX - call WaitSFX - ld hl, BugContest_ThirdPlaceScoreText - ret -; 1372b - -BugContest_ThirdPlaceScoreText: ; 0x1372b - ; The score was @ points! - text_jump ContestJudging_ThirdPlaceScoreText - db "@" -; 0x13730 - -LoadContestantName: ; 13730 - -; If a = 0, get your name. - dec a - jr z, .player -; Find the pointer for the trainer class of the Bug Catching Contestant whose ID is in a. - ld c, a - ld b, 0 - ld hl, BugContestantPointers - add hl, bc - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a -; Copy the Trainer Class to c. - ld a, [hli] - ld c, a -; Save hl and bc for later. - push hl - push bc -; Get the Trainer Class name and copy it into wBugContestWinnerName. - callab GetTrainerClassName - ld hl, StringBuffer1 - ld de, wBugContestWinnerName - ld bc, TRAINER_CLASS_NAME_LENGTH - call CopyBytes - ld hl, wBugContestWinnerName -; Delete the trailing terminator and replace it with a space. -.next - ld a, [hli] - cp "@" - jr nz, .next - dec hl - ld [hl], " " - inc hl - ld d, h - ld e, l -; Restore the Trainer Class ID and Trainer ID pointer. Save de for later. - pop bc - pop hl - push de -; Get the name of the trainer with class c and ID b. - ld a, [hl] - ld b, a - callab GetTrainerName -; Append the name to wBugContestWinnerName. - ld hl, StringBuffer1 - pop de - ld bc, NAME_LENGTH - 1 - jp CopyBytes - -.player - ld hl, PlayerName - ld de, wBugContestWinnerName - ld bc, NAME_LENGTH - jp CopyBytes -; 13783 - - -INCLUDE "data/bug_contest_winners.asm" -; 13807 - - -BugContest_GetPlayersResult: ; 13807 - ld hl, wBugContestThirdPlacePersonID - ld de, -4 - ld b, 3 -.loop - ld a, [hl] - cp 1 ; Player - jr z, .done - add hl, de - dec b - jr nz, .loop - -.done - ret -; 13819 - -BugContest_JudgeContestants: ; 13819 - call ClearContestResults - call ComputeAIContestantScores - ld hl, wBugContestTempPersonID - ld a, 1 ; Player - ld [hli], a - ld a, [wContestMon] - ld [hli], a - ld a, [hProduct] - ld [hli], a - ld a, [hProduct + 1] - ld [hl], a - call DetermineContestWinners - ret -; 13833 - -ClearContestResults: ; 13833 - ld hl, wBugContestResults - ld b, wBugContestWinnersEnd - wBugContestResults - xor a -.loop - ld [hli], a - dec b - jr nz, .loop - ret -; 1383e - -DetermineContestWinners: ; 1383e - ld de, wBugContestTempScore - ld hl, wBugContestFirstPlaceScore - ld c, 2 - call StringCmp - jr c, .not_first_place - ld hl, wBugContestSecondPlacePersonID - ld de, wBugContestThirdPlacePersonID - ld bc, 4 - call CopyBytes - ld hl, wBugContestFirstPlacePersonID - ld de, wBugContestSecondPlacePersonID - ld bc, 4 - call CopyBytes - ld hl, wBugContestFirstPlacePersonID - call CopyTempContestant - jr .done - -.not_first_place - ld de, wBugContestTempScore - ld hl, wBugContestSecondPlaceScore - ld c, 2 - call StringCmp - jr c, .not_second_place - ld hl, wBugContestSecondPlacePersonID - ld de, wBugContestThirdPlacePersonID - ld bc, 4 - call CopyBytes - ld hl, wBugContestSecondPlacePersonID - call CopyTempContestant - jr .done - -.not_second_place - ld de, wBugContestTempScore - ld hl, wBugContestThirdPlaceScore - ld c, 2 - call StringCmp - jr c, .done - ld hl, wBugContestThirdPlacePersonID - call CopyTempContestant - -.done - ret -; 138a0 - -CopyTempContestant: ; 138a0 -; Could've just called CopyBytes. - ld de, wBugContestTempPersonID -rept 3 - ld a, [de] - inc de - ld [hli], a -endr - ld a, [de] - inc de - ld [hl], a - ret -; 138b0 - -ComputeAIContestantScores: ; 138b0 - ld e, 0 -.loop - push de - call Special_CheckBugContestContestantFlag - pop de - jr nz, .done - ld a, e - inc a - inc a - ld [wBugContestTempPersonID], a - dec a - ld c, a - ld b, 0 - ld hl, BugContestantPointers - add hl, bc - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - inc hl - inc hl -.loop2 - call Random - and 3 - cp 3 - jr z, .loop2 - ld c, a - ld b, 0 - add hl, bc - add hl, bc - add hl, bc - ld a, [hli] - ld [wBugContestTempMon], a - ld a, [hli] - ld h, [hl] - ld l, a - call Random - and 7 - ld c, a - ld b, 0 - add hl, bc - ld a, h - ld [wBugContestTempScore], a - ld a, l - ld [wBugContestTempScore + 1], a - push de - call DetermineContestWinners - pop de - -.done - inc e - ld a, e - cp 10 - jr nz, .loop - ret -; 13900 - -ContestScore: ; 13900 -; Determine the player's score in the Bug Catching Contest. - - xor a - ld [hProduct], a - ld [hMultiplicand], a - - ld a, [wContestMonSpecies] ; Species - and a - jr z, .done - - ; Tally the following: - - ; Max HP * 4 - ld a, [wContestMonMaxHP + 1] - call .AddContestStat - ld a, [wContestMonMaxHP + 1] - call .AddContestStat - ld a, [wContestMonMaxHP + 1] - call .AddContestStat - ld a, [wContestMonMaxHP + 1] - call .AddContestStat - - ; Stats - ld a, [wContestMonAttack + 1] - call .AddContestStat - ld a, [wContestMonDefense + 1] - call .AddContestStat - ld a, [wContestMonSpeed + 1] - call .AddContestStat - ld a, [wContestMonSpclAtk + 1] - call .AddContestStat - ld a, [wContestMonSpclDef + 1] - call .AddContestStat - - ; DVs - ld a, [wContestMonDVs + 0] - ld b, a - and 2 - add a - add a - ld c, a - - swap b - ld a, b - and 2 - add a - add c - ld d, a - - ld a, [wContestMonDVs + 1] - ld b, a - and 2 - ld c, a - - swap b - ld a, b - and 2 - srl a - add c - add c - add d - add d - - call .AddContestStat - - ; Remaining HP / 8 - ld a, [wContestMonHP + 1] - srl a - srl a - srl a - call .AddContestStat - - ; Whether it's holding an item - ld a, [wContestMonItem] - and a - jr z, .done - - ld a, 1 - call .AddContestStat - -.done - ret -; 1397f - -.AddContestStat: ; 1397f - ld hl, hMultiplicand - add [hl] - ld [hl], a - ret nc - dec hl - inc [hl] - ret -; 13988 diff --git a/event/bug_contest_mon_stats.asm b/event/bug_contest_mon_stats.asm deleted file mode 100644 index d6ad3997e..000000000 --- a/event/bug_contest_mon_stats.asm +++ /dev/null @@ -1,107 +0,0 @@ -DisplayCaughtContestMonStats: ; cc000 - call ClearBGPalettes - call ClearTileMap - call ClearSprites - call LoadFontsBattleExtra - - ld hl, Options - ld a, [hl] - push af - set 4, [hl] - - hlcoord 0, 0 - ld b, 4 - ld c, 13 - call TextBox - - hlcoord 0, 6 - ld b, 4 - ld c, 13 - call TextBox - - hlcoord 2, 0 - ld de, .Stock - call PlaceString - - hlcoord 2, 6 - ld de, .This - call PlaceString - - hlcoord 5, 4 - ld de, .Health - call PlaceString - - hlcoord 5, 10 - ld de, .Health - call PlaceString - - ld a, [wContestMon] - ld [wd265], a - call GetPokemonName - ld de, StringBuffer1 - hlcoord 1, 2 - call PlaceString - - ld h, b - ld l, c - ld a, [wContestMonLevel] - ld [TempMonLevel], a - call PrintLevel - - ld de, EnemyMonNick - hlcoord 1, 8 - call PlaceString - - ld h, b - ld l, c - ld a, [EnemyMonLevel] - ld [TempMonLevel], a - call PrintLevel - - hlcoord 11, 4 - ld de, wContestMonMaxHP - lb bc, 2, 3 - call PrintNum - - hlcoord 11, 10 - ld de, EnemyMonMaxHP - call PrintNum - - ld hl, SwitchMonText - call PrintText - - pop af - ld [Options], a - - call WaitBGMap - ld b, SCGB_DIPLOMA - call GetSGBLayout - call SetPalettes - ret - -.Health: - db "HEALTH@" -.Stock: - db " STOCK ", $4a, " @" -.This: - db " THIS ", $4a, " @" - -SwitchMonText: ; cc0c2 - ; Switch #MON? - text_jump UnknownText_0x1c10cf - db "@" - -DisplayAlreadyCaughtText: ; cc0c7 - call GetPokemonName - ld hl, .AlreadyCaughtText - jp PrintText - -.AlreadyCaughtText: ; 0xcc0d0 - ; You already caught a @ . - text_jump UnknownText_0x1c10dd - db "@" - -Predef2F: -Predef38: -Predef39: ; cc0d5 - ret diff --git a/event/heal_machine_anim.asm b/event/heal_machine_anim.asm new file mode 100755 index 000000000..4f543c0b3 --- /dev/null +++ b/event/heal_machine_anim.asm @@ -0,0 +1,265 @@ +HealMachineAnim: ; 12324 + ; If you have no Pokemon, don't change the buffer. This can lead to some glitchy effects if you have no Pokemon. + ld a, [PartyCount] + and a + ret z + ; The location of the healing machine relative to the player is stored in ScriptVar. + ; 0: Up and left (Pokemon Center) + ; 1: Left (Elm's Lab) + ; 2: Up (Hall of Fame) + ld a, [ScriptVar] + ld [Buffer1], a + ld a, [rOBP1] + ld [Buffer2], a + call .DoJumptableFunctions + ld a, [Buffer2] + call DmgToCgbObjPal1 + ret +; 1233e + +.DoJumptableFunctions: ; 1233e + xor a + ld [Buffer3], a +.jumpable_loop + ld a, [Buffer1] + ld e, a + ld d, 0 + ld hl, .Pointers + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + ld a, [Buffer3] + ld e, a + inc a + ld [Buffer3], a + add hl, de + ld a, [hl] + cp 5 + jr z, .finish + ld hl, .Jumptable + rst JumpTable + jr .jumpable_loop + +.finish + ret +; 12365 + +.Pointers: ; 12365 + dw .Pokecenter + dw .ElmLab + dw .HallOfFame +; 1236b + +.Pokecenter: ; 1236b + db 0, 1, 3, 5 +.ElmLab: ; 1236f + db 0, 1, 3, 5 +.HallOfFame: ; 12373 + db 0, 2, 4, 5 +; 12377 + +.Jumptable: ; 12377 + dw .LoadGFX + dw .PC_LoadBallsOntoMachine + dw .HOF_LoadBallsOntoMachine + dw .PlayHealMusic + dw .HOF_PlaySFX + dw .dummy_5 ; never encountered +; 12383 + +.LoadGFX: ; 12383 + call .LoadPalettes + ld de, .HealMachineGFX + ld hl, VTiles0 tile $7c + lb bc, BANK(.HealMachineGFX), $2 + call Request2bpp + ret +; 12393 + +.PC_LoadBallsOntoMachine: ; 12393 + ld hl, Sprites + $80 + ld de, .PC_ElmsLab_OAM + call .PlaceHealingMachineTile + call .PlaceHealingMachineTile + jr .LoadBallsOntoMachine + +.HOF_LoadBallsOntoMachine: ; 123a1 + ld hl, Sprites + $80 + ld de, .HOF_OAM + +.LoadBallsOntoMachine: ; 123a7 + ld a, [PartyCount] + ld b, a +.party_loop + call .PlaceHealingMachineTile + push de + ld de, SFX_SECOND_PART_OF_ITEMFINDER + call PlaySFX + pop de + ld c, 30 + call DelayFrames + dec b + jr nz, .party_loop + ret +; 123bf + +.PlayHealMusic: ; 123bf + ld de, MUSIC_HEAL + call PlayMusic + jp .FlashPalettes8Times +; 123c8 + +.HOF_PlaySFX: ; 123c8 + ld de, SFX_GAME_FREAK_LOGO_GS + call PlaySFX + call .FlashPalettes8Times + call WaitSFX + ld de, SFX_BOOT_PC + call PlaySFX + ret +; 123db + +.dummy_5 ; 123db + ret +; 123dc + +.PC_ElmsLab_OAM: ; 123dc + dsprite 4, 0, 4, 2, $7c, $16 + dsprite 4, 0, 4, 6, $7c, $16 + dsprite 4, 6, 4, 0, $7d, $16 + dsprite 4, 6, 5, 0, $7d, $36 ; xflip + dsprite 5, 3, 4, 0, $7d, $16 + dsprite 5, 3, 5, 0, $7d, $36 ; xflip + dsprite 6, 0, 4, 0, $7d, $16 + dsprite 6, 0, 5, 0, $7d, $36 ; xflip +; 123fc + +.HealMachineGFX: ; 123fc +INCBIN "gfx/overworld/heal_machine.2bpp" +; 1241c + +.HOF_OAM: ; 1241c + dsprite 7, 4, 10, 1, $7d, $16 + dsprite 7, 4, 10, 6, $7d, $16 + dsprite 7, 3, 9, 5, $7d, $16 + dsprite 7, 3, 11, 2, $7d, $16 + dsprite 7, 1, 9, 1, $7d, $16 + dsprite 7, 1, 11, 5, $7d, $16 +; 12434 + +.LoadPalettes: ; 12434 + call IsCGB + jr nz, .cgb + ld a, %11100000 + ld [rOBP1], a + ret + +.cgb + ld hl, .palettes + ld de, OBPals + 8 * 6 + ld bc, 8 + ld a, $5 + call FarCopyWRAM + ld a, $1 + ld [hCGBPalUpdate], a + ret +; 12451 + +.palettes ; 12451 + RGB 31, 31, 31 + RGB 31, 19, 10 + RGB 31, 07, 01 + RGB 00, 00, 00 +; 12459 + +.FlashPalettes8Times: ; 12459 + ld c, $8 +.palette_loop + push bc + call .FlashPalettes + ld c, 10 + call DelayFrames + pop bc + dec c + jr nz, .palette_loop + ret +; 12469 + +.FlashPalettes: ; 12469 + call IsCGB + jr nz, .go + ld a, [rOBP1] + xor %00101000 + ld [rOBP1], a + ret + +.go + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + + ld hl, OBPals + 8 * 6 + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + push de + ld c, $3 +.palette_loop_2 + ld a, [hli] + ld e, a + ld a, [hld] + ld d, a + dec hl + ld a, d + ld [hld], a + ld a, e + ld [hli], a + inc hl + inc hl + inc hl + dec c + jr nz, .palette_loop_2 + pop de + dec hl + ld a, d + ld [hld], a + ld a, e + ld [hl], a + + pop af + ld [rSVBK], a + ld a, $1 + ld [hCGBPalUpdate], a + ret +; 124a3 + +.PlaceHealingMachineTile: ; 124a3 + push bc + ld a, [Buffer1] + bcpixel 2, 4 + cp $1 ; ElmsLab + jr z, .okay + bcpixel 0, 0 + +.okay + ld a, [de] + add c + inc de + ld [hli], a + ld a, [de] + add b + inc de + ld [hli], a + ld a, [de] + inc de + ld [hli], a + ld a, [de] + inc de + ld [hli], a + pop bc + ret +; 124c1 diff --git a/event/photo.asm b/event/photo.asm deleted file mode 100755 index 55ac8e7d1..000000000 --- a/event/photo.asm +++ /dev/null @@ -1,295 +0,0 @@ -UnownPrinter: ; 16be4 - ld a, [UnownDex] - and a - ret z - - ld a, [hInMenu] - push af - ld a, $1 - ld [hInMenu], a - ld a, [Options] - push af - set NO_TEXT_SCROLL, a - ld [Options], a - call ClearBGPalettes - call ClearTileMap - - ld de, UnownDexATile - ld hl, VTiles1 tile $6f - lb bc, BANK(UnownDexBTile), 1 - call Request1bpp - - ld de, UnownDexBTile - ld hl, VTiles1 tile $75 - lb bc, BANK(UnownDexBTile), 1 - call Request1bpp - - hlcoord 0, 0 - lb bc, 3, 18 - call TextBox - - hlcoord 0, 5 - lb bc, 7, 7 - call TextBox - - hlcoord 0, 14 - lb bc, 2, 18 - call TextBox - - hlcoord 1, 2 - ld de, AlphRuinsStampString - call PlaceString - - hlcoord 1, 16 - ld de, UnownDexDoWhatString - call PlaceString - - hlcoord 10, 6 - ld de, UnownDexMenuString - call PlaceString - - xor a - ld [wJumptableIndex], a - call .UpdateUnownFrontpic - call WaitBGMap - - ld a, UNOWN - ld [CurPartySpecies], a - xor a - ld [TempMonDVs], a - ld [TempMonDVs + 1], a - - ld b, SCGB_TRAINER_OR_MON_FRONTPIC_PALS - call GetSGBLayout - call SetPalettes - -.joy_loop - call JoyTextDelay - - ld a, [hJoyPressed] - and B_BUTTON - jr nz, .pressed_b - - ld a, [hJoyPressed] - and A_BUTTON - jr nz, .pressed_a - - call .LeftRight - call DelayFrame - jr .joy_loop - -.pressed_a - ld a, [wJumptableIndex] - push af - callba PrintUnownStamp - call RestartMapMusic - pop af - ld [wJumptableIndex], a - jr .joy_loop - -.pressed_b - pop af - ld [Options], a - pop af - ld [hInMenu], a - call ReturnToMapFromSubmenu - ret -; 16ca0 - -.LeftRight: ; 16ca0 - ld a, [hJoyLast] - and D_RIGHT - jr nz, .press_right - ld a, [hJoyLast] - and D_LEFT - jr nz, .press_left - ret - -.press_left - ld hl, wJumptableIndex - ld a, [hl] - and a - jr nz, .wrap_around_left - ld [hl], 26 + 1 -.wrap_around_left - dec [hl] - jr .return - -.press_right - ld hl, wJumptableIndex - ld a, [hl] - cp 26 - jr c, .wrap_around_right - ld [hl], -1 -.wrap_around_right - inc [hl] - -.return - call .UpdateUnownFrontpic - ret -; 16cc8 - -.UpdateUnownFrontpic: ; 16cc8 - ld a, [wJumptableIndex] - cp 26 - jr z, .vacant - inc a - ld [UnownLetter], a - ld a, UNOWN - ld [CurPartySpecies], a - xor a - ld [wBoxAlignment], a - ld de, VTiles2 - predef GetFrontpic - call .Load2bppToSRAM - hlcoord 1, 6 - xor a - ld [hGraphicStartTile], a - lb bc, 7, 7 - predef PlaceGraphic - ld de, VTiles2 tile $31 - callba RotateUnownFrontpic - ret - -.Load2bppToSRAM: ; 16cff - ld a, [rSVBK] - push af - ld a, $6 - ld [rSVBK], a - - ld a, BANK(sScratch) - call GetSRAMBank - ld de, wDecompressScratch - ld hl, sScratch - ld a, [hROMBank] - ld b, a - ld c, $31 - call Get2bpp - call CloseSRAM - - pop af - ld [rSVBK], a - ret - -.vacant - hlcoord 1, 6 - lb bc, 7, 7 - call ClearBox - hlcoord 1, 9 - ld de, UnownDexVacantString - call PlaceString - xor a - call GetSRAMBank - ld hl, sScratch - ld bc, $31 tiles - xor a - call ByteFill - ld hl, VTiles2 tile $31 - ld de, sScratch - ld c, $31 - ld a, [hROMBank] - ld b, a - call Get2bpp - call CloseSRAM - ld c, 20 - call DelayFrames - ret -; 16d57 - -AlphRuinsStampString: - db " ALPH RUINS STAMP@" - -UnownDexDoWhatString: - db "Do what?@" - -UnownDexMenuString: - db "♂ PRINT" - next "♀ CANCEL" - next "← PREVIOUS" - next "→ NEXT" - db "@" - -UnownDexVacantString: - db "VACANT@" -; 16d9c - -UnownDexATile: ; 16d9c -INCBIN "gfx/printer/bold_a.1bpp" -UnownDexBTile: ; 16da4 -INCBIN "gfx/printer/bold_b.1bpp" -; 16dac - -PlaceUnownPrinterFrontpic: ; 16dac - hlcoord 0, 0 - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT - ld a, " " - call ByteFill - hlcoord 7, 11 - ld a, $31 - ld [hGraphicStartTile], a - lb bc, 7, 7 - predef PlaceGraphic - ret -; 16dc7 - -PhotoStudio: ; 16dc7 - ld hl, .Text_AskWhichMon - call PrintText - callba SelectMonFromParty - jr c, .cancel - ld a, [CurPartySpecies] - cp EGG - jr z, .egg - - ld hl, .Text_HoldStill - call PrintText - call DisableSpriteUpdates - callba PrintPartymon - call ReturnToMapWithSpeechTextbox - ld a, [hPrinter] - and a - jr nz, .cancel - ld hl, .Text_Presto - jr .print_text - -.cancel - ld hl, .Text_NoPicture - jr .print_text - -.egg - ld hl, .Text_Egg - -.print_text - call PrintText - ret -; 16e04 - -.Text_AskWhichMon: ; 0x16e04 - ; Which #MON should I photo- graph? - text_jump UnknownText_0x1be024 - db "@" -; 0x16e09 - -.Text_HoldStill: ; 0x16e09 - ; All righty. Hold still for a bit. - text_jump UnknownText_0x1be047 - db "@" -; 0x16e0e - -.Text_Presto: ; 0x16e0e - ; Presto! All done. Come again, OK? - text_jump UnknownText_0x1be06a - db "@" -; 0x16e13 - -.Text_NoPicture: ; 0x16e13 - ; Oh, no picture? Come again, OK? - text_jump UnknownText_0x1c0000 - db "@" -; 0x16e18 - -.Text_Egg: ; 0x16e18 - ; An EGG? My talent is worth more… - text_jump UnknownText_0x1c0021 - db "@" -; 0x16e1d diff --git a/event/poisonstep_pals.asm b/event/poisonstep_pals.asm new file mode 100644 index 000000000..c556ba498 --- /dev/null +++ b/event/poisonstep_pals.asm @@ -0,0 +1,48 @@ +LoadPoisonBGPals: ; cbcdd + call .LoadPals + ld a, [hCGB] + and a + ret nz + ret ; ???? + +.LoadPals: ; cbce5 + ld a, [hCGB] + and a + jr nz, .cgb + ld a, [TimeOfDayPal] + and $3 + cp $3 + ld a, %00000000 + jr z, .convert_pals + ld a, %10101010 + +.convert_pals + call DmgToCgbBGPals + ld c, 4 + call DelayFrames + callba _UpdateTimePals + ret + +.cgb + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld hl, BGPals + ld c, $20 +.loop +; RGB 28, 21, 31 + ld a, (palred 28 + palgreen 21 + palblue 31) % $100 + ld [hli], a + ld a, (palred 28 + palgreen 21 + palblue 31) / $100 + ld [hli], a + dec c + jr nz, .loop + pop af + ld [rSVBK], a + ld a, $1 + ld [hCGBPalUpdate], a + ld c, 4 + call DelayFrames + callba _UpdateTimePals + ret diff --git a/event/print_photo.asm b/event/print_photo.asm new file mode 100755 index 000000000..448910355 --- /dev/null +++ b/event/print_photo.asm @@ -0,0 +1,61 @@ +PhotoStudio: ; 16dc7 + ld hl, .Text_AskWhichMon + call PrintText + callba SelectMonFromParty + jr c, .cancel + ld a, [CurPartySpecies] + cp EGG + jr z, .egg + + ld hl, .Text_HoldStill + call PrintText + call DisableSpriteUpdates + callba PrintPartymon + call ReturnToMapWithSpeechTextbox + ld a, [hPrinter] + and a + jr nz, .cancel + ld hl, .Text_Presto + jr .print_text + +.cancel + ld hl, .Text_NoPicture + jr .print_text + +.egg + ld hl, .Text_Egg + +.print_text + call PrintText + ret +; 16e04 + +.Text_AskWhichMon: ; 0x16e04 + ; Which #MON should I photo- graph? + text_jump UnknownText_0x1be024 + db "@" +; 0x16e09 + +.Text_HoldStill: ; 0x16e09 + ; All righty. Hold still for a bit. + text_jump UnknownText_0x1be047 + db "@" +; 0x16e0e + +.Text_Presto: ; 0x16e0e + ; Presto! All done. Come again, OK? + text_jump UnknownText_0x1be06a + db "@" +; 0x16e13 + +.Text_NoPicture: ; 0x16e13 + ; Oh, no picture? Come again, OK? + text_jump UnknownText_0x1c0000 + db "@" +; 0x16e18 + +.Text_Egg: ; 0x16e18 + ; An EGG? My talent is worth more… + text_jump UnknownText_0x1c0021 + db "@" +; 0x16e1d diff --git a/event/print_unown.asm b/event/print_unown.asm new file mode 100644 index 000000000..5e0162bad --- /dev/null +++ b/event/print_unown.asm @@ -0,0 +1,233 @@ +UnownPrinter: ; 16be4 + ld a, [UnownDex] + and a + ret z + + ld a, [hInMenu] + push af + ld a, $1 + ld [hInMenu], a + ld a, [Options] + push af + set NO_TEXT_SCROLL, a + ld [Options], a + call ClearBGPalettes + call ClearTileMap + + ld de, UnownDexATile + ld hl, VTiles1 tile $6f + lb bc, BANK(UnownDexBTile), 1 + call Request1bpp + + ld de, UnownDexBTile + ld hl, VTiles1 tile $75 + lb bc, BANK(UnownDexBTile), 1 + call Request1bpp + + hlcoord 0, 0 + lb bc, 3, 18 + call TextBox + + hlcoord 0, 5 + lb bc, 7, 7 + call TextBox + + hlcoord 0, 14 + lb bc, 2, 18 + call TextBox + + hlcoord 1, 2 + ld de, AlphRuinsStampString + call PlaceString + + hlcoord 1, 16 + ld de, UnownDexDoWhatString + call PlaceString + + hlcoord 10, 6 + ld de, UnownDexMenuString + call PlaceString + + xor a + ld [wJumptableIndex], a + call .UpdateUnownFrontpic + call WaitBGMap + + ld a, UNOWN + ld [CurPartySpecies], a + xor a + ld [TempMonDVs], a + ld [TempMonDVs + 1], a + + ld b, SCGB_TRAINER_OR_MON_FRONTPIC_PALS + call GetSGBLayout + call SetPalettes + +.joy_loop + call JoyTextDelay + + ld a, [hJoyPressed] + and B_BUTTON + jr nz, .pressed_b + + ld a, [hJoyPressed] + and A_BUTTON + jr nz, .pressed_a + + call .LeftRight + call DelayFrame + jr .joy_loop + +.pressed_a + ld a, [wJumptableIndex] + push af + callba PrintUnownStamp + call RestartMapMusic + pop af + ld [wJumptableIndex], a + jr .joy_loop + +.pressed_b + pop af + ld [Options], a + pop af + ld [hInMenu], a + call ReturnToMapFromSubmenu + ret +; 16ca0 + +.LeftRight: ; 16ca0 + ld a, [hJoyLast] + and D_RIGHT + jr nz, .press_right + ld a, [hJoyLast] + and D_LEFT + jr nz, .press_left + ret + +.press_left + ld hl, wJumptableIndex + ld a, [hl] + and a + jr nz, .wrap_around_left + ld [hl], 26 + 1 +.wrap_around_left + dec [hl] + jr .return + +.press_right + ld hl, wJumptableIndex + ld a, [hl] + cp 26 + jr c, .wrap_around_right + ld [hl], -1 +.wrap_around_right + inc [hl] + +.return + call .UpdateUnownFrontpic + ret +; 16cc8 + +.UpdateUnownFrontpic: ; 16cc8 + ld a, [wJumptableIndex] + cp 26 + jr z, .vacant + inc a + ld [UnownLetter], a + ld a, UNOWN + ld [CurPartySpecies], a + xor a + ld [wBoxAlignment], a + ld de, VTiles2 + predef GetFrontpic + call .Load2bppToSRAM + hlcoord 1, 6 + xor a + ld [hGraphicStartTile], a + lb bc, 7, 7 + predef PlaceGraphic + ld de, VTiles2 tile $31 + callba RotateUnownFrontpic + ret + +.Load2bppToSRAM: ; 16cff + ld a, [rSVBK] + push af + ld a, $6 + ld [rSVBK], a + + ld a, BANK(sScratch) + call GetSRAMBank + ld de, wDecompressScratch + ld hl, sScratch + ld a, [hROMBank] + ld b, a + ld c, $31 + call Get2bpp + call CloseSRAM + + pop af + ld [rSVBK], a + ret + +.vacant + hlcoord 1, 6 + lb bc, 7, 7 + call ClearBox + hlcoord 1, 9 + ld de, UnownDexVacantString + call PlaceString + xor a + call GetSRAMBank + ld hl, sScratch + ld bc, $31 tiles + xor a + call ByteFill + ld hl, VTiles2 tile $31 + ld de, sScratch + ld c, $31 + ld a, [hROMBank] + ld b, a + call Get2bpp + call CloseSRAM + ld c, 20 + call DelayFrames + ret +; 16d57 + +AlphRuinsStampString: + db " ALPH RUINS STAMP@" + +UnownDexDoWhatString: + db "Do what?@" + +UnownDexMenuString: + db "♂ PRINT" + next "♀ CANCEL" + next "← PREVIOUS" + next "→ NEXT" + db "@" + +UnownDexVacantString: + db "VACANT@" +; 16d9c + +UnownDexATile: ; 16d9c +INCBIN "gfx/printer/bold_a.1bpp" +UnownDexBTile: ; 16da4 +INCBIN "gfx/printer/bold_b.1bpp" +; 16dac + +PlaceUnownPrinterFrontpic: ; 16dac + hlcoord 0, 0 + ld bc, SCREEN_WIDTH * SCREEN_HEIGHT + ld a, " " + call ByteFill + hlcoord 7, 11 + ld a, $31 + ld [hGraphicStartTile], a + lb bc, 7, 7 + predef PlaceGraphic + ret +; 16dc7 diff --git a/event/print_unown_2.asm b/event/print_unown_2.asm new file mode 100644 index 000000000..057db5176 --- /dev/null +++ b/event/print_unown_2.asm @@ -0,0 +1,111 @@ +RotateUnownFrontpic: ; e0000 +; something to do with Unown printer + push de + xor a + call GetSRAMBank + ld hl, sScratch + ld bc, 0 +.loop + push bc + push hl + push bc + ld de, wd002 + call .Copy + call .Rotate + ld hl, UnownPrinter_OverworldMapRectangle + pop bc + add hl, bc + add hl, bc + ld a, [hli] + ld e, a + ld d, [hl] + ld hl, wd012 + call .Copy + pop hl + ld bc, $10 + add hl, bc + pop bc + inc c + ld a, c + cp 7 * 7 + jr c, .loop + + ld hl, OverworldMap + ld de, sScratch + ld bc, 7 * 7 tiles + call CopyBytes + pop hl + ld de, sScratch + ld c, 7 * 7 + ld a, [hROMBank] + ld b, a + call Get2bpp + call CloseSRAM + ret + +.Copy: ; e004e + ld c, $10 +.loop_copy + ld a, [hli] + ld [de], a + inc de + dec c + jr nz, .loop_copy + ret + +.Rotate: ; e0057 + ld hl, wd012 + ld e, %10000000 + ld d, 8 +.loop_decompress + push hl + ld hl, wd002 + call .CountSetBit + pop hl + ld a, b + ld [hli], a + push hl + ld hl, wd003 + call .CountSetBit + pop hl + ld a, b + ld [hli], a + srl e + dec d + jr nz, .loop_decompress + ret + +.CountSetBit: ; e0078 + ld b, 0 + ld c, 8 +.loop_count + ld a, [hli] + and e + jr z, .clear + scf + jr .apply + +.clear + and a + +.apply + rr b + inc hl + dec c + jr nz, .loop_count + ret + +overworldmaprect: MACRO +y = 0 +rept \1 +x = \1 * (\2 +- 1) + y +rept \2 + dw OverworldMap tile x +x = x +- \2 +endr +y = y + 1 +endr +endm + +UnownPrinter_OverworldMapRectangle: ; e008b + overworldmaprect 7, 7 diff --git a/macros/wram.asm b/macros/wram.asm index de258941c..7cead9158 100755 --- a/macros/wram.asm +++ b/macros/wram.asm @@ -227,7 +227,6 @@ hof_mon: MACRO endm hall_of_fame: MACRO -\1:: \1WinCount:: db \1Mon1:: hof_mon \1Mon1 \1Mon2:: hof_mon \1Mon2 diff --git a/main.asm b/main.asm index 010895cf8..299b6ce5f 100644 --- a/main.asm +++ b/main.asm @@ -111,45 +111,7 @@ GetBreedMon2LevelGrowth: ; e6b3 ld d, a ret -BugContest_SetCaughtContestMon: ; e6ce - ld a, [wContestMon] - and a - jr z, .firstcatch - ld [wd265], a - callba DisplayAlreadyCaughtText - callba DisplayCaughtContestMonStats - lb bc, 14, 7 - call PlaceYesNoBox - ret c - -.firstcatch - call .generatestats - ld a, [TempEnemyMonSpecies] - ld [wd265], a - call GetPokemonName - ld hl, .caughttext - call PrintText - ret - -.generatestats ; e6fd - ld a, [TempEnemyMonSpecies] - ld [CurSpecies], a - ld [CurPartySpecies], a - call GetBaseData - xor a - ld bc, PARTYMON_STRUCT_LENGTH - ld hl, wContestMon - call ByteFill - xor a - ld [MonType], a - ld hl, wContestMon - jp GeneratePartyMonStats - -.caughttext ; 0xe71d - ; Caught @ ! - text_jump UnknownText_0x1c10c0 - db "@" - +INCLUDE "event/bug_contest/caught_mon.asm" INCLUDE "engine/item_effects.asm" KnowsMove: ; f9ea @@ -195,19 +157,19 @@ Script_AbortBugContest: ; 0x122c1 end INCLUDE "event/itemball.asm" -INCLUDE "engine/healmachineanim.asm" +INCLUDE "event/heal_machine_anim.asm" INCLUDE "event/whiteout.asm" INCLUDE "event/forced_movement.asm" INCLUDE "event/itemfinder.asm" -INCLUDE "engine/startmenu.asm" -INCLUDE "engine/selectmenu.asm" +INCLUDE "engine/start_menu.asm" +INCLUDE "engine/select_menu.asm" INCLUDE "event/elevator.asm" -INCLUDE "event/bug_contest.asm" +INCLUDE "event/bug_contest/contest.asm" INCLUDE "event/hidden_items.asm" INCLUDE "engine/collision_stdscripts.asm" -INCLUDE "event/bug_contest_judging.asm" +INCLUDE "event/bug_contest/judging.asm" INCLUDE "engine/pokerus_tick.asm" -INCLUDE "event/bug_contest_2.asm" +INCLUDE "event/bug_contest/contest_2.asm" INCLUDE "engine/unused_correct_party.asm" INCLUDE "engine/square_root.asm" @@ -226,7 +188,8 @@ INCLUDE "engine/money.asm" INCLUDE "data/items/marts.asm" INCLUDE "event/mom.asm" INCLUDE "event/daycare.asm" -INCLUDE "event/photo.asm" +INCLUDE "event/print_unown.asm" +INCLUDE "event/print_photo.asm" INCLUDE "engine/breeding.asm" INCLUDE "tilesets/data.asm" @@ -341,18 +304,6 @@ Kurt_SelectQuantity_InterpretJoypad: ; 27a28 SECTION "bankA", ROMX INCLUDE "engine/link.asm" - -Function29fe4: ; unreferenced - ld a, $0 - call GetSRAMBank - ld d, $0 - ld b, CHECK_FLAG - predef FlagPredef - call CloseSRAM - ld a, c - and a - ret - INCLUDE "engine/wildmons.asm" INCLUDE "battle/link_result.asm" @@ -369,68 +320,12 @@ INCLUDE "battle/trainer_huds.asm" INCLUDE "data/trainers/trainer_class_names.asm" INCLUDE "battle/ai/redundant.asm" INCLUDE "event/move_deleter.asm" -INCLUDE "engine/mysterygift2.asm" +INCLUDE "engine/mystery_gift_2.asm" INCLUDE "engine/tmhm2.asm" INCLUDE "battle/moves/move_descriptions.asm" INCLUDE "engine/pokerus.asm" INCLUDE "engine/start_battle.asm" - -PlaceGraphic: ; 2ef6e -; Fill wBoxAlignment-aligned box width b height c -; with iterating tile starting from hGraphicStartTile at hl. -; Predef $13 - - ld de, SCREEN_WIDTH - - ld a, [wBoxAlignment] - and a - jr nz, .right - - ld a, [hGraphicStartTile] -.x1 - push bc - push hl - -.y1 - ld [hl], a - add hl, de - inc a - dec c - jr nz, .y1 - - pop hl - inc hl - pop bc - dec b - jr nz, .x1 - ret - -.right -; Right-aligned. - push bc - ld b, 0 - dec c - add hl, bc - pop bc - - ld a, [hGraphicStartTile] -.x2 - push bc - push hl - -.y2 - ld [hl], a - add hl, de - inc a - dec c - jr nz, .y2 - - pop hl - dec hl - pop bc - dec b - jr nz, .x2 - ret +INCLUDE "engine/place_graphics.asm" SECTION "Effect Commands", ROMX @@ -474,95 +369,15 @@ INCLUDE "engine/mail.asm" SECTION "Crystal Unique", ROMX INCLUDE "engine/init_gender.asm" - -DrawKrisPackGFX: ; 48e81 - ld hl, PackFGFXPointers - add hl, de - add hl, de - ld a, [hli] - ld e, a - ld d, [hl] - ld hl, VTiles2 tile $50 - lb bc, BANK(PackFGFX), 15 - call Request2bpp - ret - -PackFGFXPointers: ; 48e93 - dw PackFGFX + (15 tiles) * 1 - dw PackFGFX + (15 tiles) * 3 - dw PackFGFX + (15 tiles) * 0 - dw PackFGFX + (15 tiles) * 2 - -PackFGFX: ; 48e9b -INCBIN "gfx/pack/pack_f.2bpp" - +INCLUDE "engine/pack_f.asm" INCLUDE "event/move_tutor.asm" INCLUDE "engine/crystal_colors.asm" INCLUDE "event/celebi.asm" INCLUDE "engine/main_menu.asm" INCLUDE "mobile/mobile_menu.asm" INCLUDE "engine/search.asm" - ; mobile battle selection INCLUDE "mobile/mobile_12_2.asm" - -AskRememberPassword: ; 4ae12 - call .DoMenu - ld a, $0 - jr c, .okay - ld a, $1 - -.okay - ld [ScriptVar], a - ret - -.DoMenu: ; 4ae1f - lb bc, 14, 7 - push bc - ld hl, YesNoMenuDataHeader - call CopyMenuDataHeader - pop bc - ld a, b - ld [wMenuBorderLeftCoord], a - add $5 - ld [wMenuBorderRightCoord], a - ld a, c - ld [wMenuBorderTopCoord], a - add $4 - ld [wMenuBorderBottomCoord], a - call PushWindow - call VerticalMenu - push af - ld c, 15 - call DelayFrames - call Buena_ExitMenu - pop af - jr c, .refused - ld a, [wMenuCursorY] - cp $2 - jr z, .refused - and a - ret - -.refused - ld a, $2 - ld [wMenuCursorY], a - scf - ret - -Buena_ExitMenu: ; 4ae5e - ld a, [hOAMUpdate] - push af - call ExitMenu - call UpdateSprites - xor a - ld [hOAMUpdate], a - call DelayFrame - ld a, $1 - ld [hOAMUpdate], a - call ApplyTilemap - pop af - ld [hOAMUpdate], a - ret +INCLUDE "event/buena_menu.asm" SECTION "bank13", ROMX @@ -577,26 +392,7 @@ endr ; 0x4ce1f INCLUDE "data/collision_permissions.asm" - -EmptyAllSRAMBanks: ; 4cf1f - ld a, $0 - call .EmptyBank - ld a, $1 - call .EmptyBank - ld a, $2 - call .EmptyBank - ld a, $3 - call .EmptyBank - ret - -.EmptyBank: ; 4cf34 - call GetSRAMBank - ld hl, SRAM_Begin - ld bc, SRAM_End - SRAM_Begin - xor a - call ByteFill - call CloseSRAM - ret +INCLUDE "engine/empty_sram.asm" SaveMenu_LoadEDTile: ; 4cf45 (13:4f45) ld a, [hCGB] @@ -677,18 +473,18 @@ endr ret CheckSave:: ; 4cffe - ld a, BANK(s1_a008) + ld a, BANK(sCheckValue1) ; BANK(sCheckValue2) call GetSRAMBank - ld a, [s1_a008] + ld a, [sCheckValue1] ld b, a - ld a, [s1_ad0f] + ld a, [sCheckValue2] ld c, a call CloseSRAM ld a, b - cp 99 + cp SAVE_CHECK_VALUE_1 jr nz, .ok ld a, c - cp " " + cp SAVE_CHECK_VALUE_2 jr nz, .ok ld c, $1 ret @@ -1060,133 +856,8 @@ INCLUDE "engine/search2.asm" INCLUDE "engine/stats_screen.asm" INCLUDE "event/catch_tutorial.asm" INCLUDE "engine/evolution_animation.asm" - -InitDisplayForHallOfFame: ; 4e881 - call ClearBGPalettes - call ClearTileMap - call ClearSprites - call DisableLCD - call LoadStandardFont - call LoadFontsBattleExtra - hlbgcoord 0, 0 - ld bc, VBGMap1 - VBGMap0 - ld a, " " - call ByteFill - hlcoord 0, 0, AttrMap - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT - xor a - call ByteFill - xor a - ld [hSCY], a - ld [hSCX], a - call EnableLCD - ld hl, .SavingRecordDontTurnOff - call PrintText - call WaitBGMap2 - call SetPalettes - ret - -.SavingRecordDontTurnOff: ; 0x4e8bd - ; SAVING RECORD… DON'T TURN OFF! - text_jump UnknownText_0x1bd39e - db "@" - -InitDisplayForRedCredits: ; 4e8c2 - call ClearBGPalettes - call ClearTileMap - call ClearSprites - call DisableLCD - call LoadStandardFont - call LoadFontsBattleExtra - hlbgcoord 0, 0 - ld bc, VBGMap1 - VBGMap0 - ld a, " " - call ByteFill - hlcoord 0, 0, AttrMap - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT - xor a - call ByteFill - ld hl, UnknBGPals - ld c, 4 tiles -.load_white_palettes - ld a, (palred 31 + palgreen 31 + palblue 31) % $100 - ld [hli], a - ld a, (palred 31 + palgreen 31 + palblue 31) / $100 - ld [hli], a - dec c - jr nz, .load_white_palettes - xor a - ld [hSCY], a - ld [hSCX], a - call EnableLCD - call WaitBGMap2 - call SetPalettes - ret - -ResetDisplayBetweenHallOfFameMons: ; 4e906 - ld a, [rSVBK] - push af - ld a, $6 - ld [rSVBK], a - ld hl, wDecompressScratch - ld bc, wScratchAttrMap - wDecompressScratch - ld a, " " - call ByteFill - hlbgcoord 0, 0 - ld de, wDecompressScratch - ld b, 0 - ld c, 4 tiles - call Request2bpp - pop af - ld [rSVBK], a - ret - -GetMobileOTTrainerClass: ; mobile function - ld h, b - ld l, c - call .GetMobileOTTrainerClass - ld c, a - ret - -.GetMobileOTTrainerClass: ; 4e930 - ld a, [hli] - xor [hl] - ld c, a - jr z, .skip_male_trainers - srl c - srl c -.male_trainer_loop - srl c - ld a, c - cp MaleTrainersEnd - MaleTrainers - 1 - jr nc, .male_trainer_loop - inc c - -.skip_male_trainers - ld a, [de] - cp $1 - ld hl, MaleTrainers - jr nz, .finished - - ld hl, FemaleTrainers - ld a, c - and a - jr z, .finished - -.female_trainer_loop - srl c - ld a, c - cp FemaleTrainersEnd - FemaleTrainers - 1 - jr nc, .female_trainer_loop - inc c - -.finished - ld b, $0 - add hl, bc - ld a, [hl] - ret - -INCLUDE "data/trainers/gendered_trainers.asm" +INCLUDE "engine/init_hof_credits.asm" +INCLUDE "mobile/get_trainer_class.asm" INCLUDE "battle/sliding_intro.asm" Mobile_PrintOpponentBattleMessage: ; 4ea0a @@ -1281,342 +952,13 @@ INCLUDE "event/squirtbottle.asm" INCLUDE "event/card_key.asm" INCLUDE "event/basement_key.asm" INCLUDE "event/sacred_ash.asm" - -CopyPkmnToTempMon: ; 5084a -; gets the BaseData of a Pkmn -; and copys the PkmnStructure to TempMon - - ld a, [CurPartyMon] - ld e, a - call GetPkmnSpecies - ld a, [CurPartySpecies] - ld [CurSpecies], a - call GetBaseData - - ld a, [MonType] - ld hl, PartyMon1Species - ld bc, PARTYMON_STRUCT_LENGTH - and a - jr z, .copywholestruct - ld hl, OTPartyMon1Species - ld bc, PARTYMON_STRUCT_LENGTH - cp OTPARTYMON - jr z, .copywholestruct - ld bc, BOXMON_STRUCT_LENGTH - callab CopyBoxmonToTempMon - jr .done - -.copywholestruct - ld a, [CurPartyMon] - call AddNTimes - ld de, TempMon - ld bc, PARTYMON_STRUCT_LENGTH - call CopyBytes - -.done - ret - -CalcwBufferMonStats: ; 5088b - ld bc, wBufferMon - jr _TempMonStatsCalculation - -CalcTempmonStats: ; 50890 - ld bc, TempMon -_TempMonStatsCalculation: ; 50893 - ld hl, MON_LEVEL - add hl, bc - ld a, [hl] - ld [CurPartyLevel], a - ld hl, MON_MAXHP - add hl, bc - ld d, h - ld e, l - ld hl, MON_STAT_EXP - 1 - add hl, bc - push bc - ld b, $1 - predef CalcPkmnStats - pop bc - ld hl, MON_HP - add hl, bc - ld d, h - ld e, l - ld a, [CurPartySpecies] - cp EGG - jr nz, .not_egg - xor a - ld [de], a - inc de - ld [de], a - jr .zero_status - -.not_egg - push bc - ld hl, MON_MAXHP - add hl, bc - ld bc, 2 - call CopyBytes - pop bc - -.zero_status - ld hl, MON_STATUS - add hl, bc - xor a - ld [hli], a - ld [hl], a - ret - -GetPkmnSpecies: ; 508d5 -; [MonType] has the type of the Pkmn -; e = Nr. of Pkmn (i.e. [CurPartyMon]) - - ld a, [MonType] - and a ; PARTYMON - jr z, .partymon - cp OTPARTYMON - jr z, .otpartymon - cp BOXMON - jr z, .boxmon - cp TEMPMON - jr z, .breedmon - ; WILDMON - -.partymon - ld hl, PartySpecies - jr .done - -.otpartymon - ld hl, OTPartySpecies - jr .done - -.boxmon - ld a, BANK(sBoxSpecies) - call GetSRAMBank - ld hl, sBoxSpecies - call .done - call CloseSRAM - ret - -.breedmon - ld a, [wBreedMon1Species] - jr .done2 - -.done - ld d, 0 - add hl, de - ld a, [hl] - -.done2 - ld [CurPartySpecies], a - ret - +INCLUDE "engine/tempmon.asm" INCLUDE "text/types.asm" INCLUDE "text/unused_gen_1_trainers.asm" INCLUDE "engine/mon_stats.asm" - -InitList: ; 50db9 - ld a, [wInitListType] - - cp INIT_ENEMYOT_LIST - jr nz, .check_party_ot_name - ld hl, OTPartyCount - ld de, OTPartyMonOT - ld a, ENEMY_OT_NAME - jr .done - -.check_party_ot_name - cp INIT_PLAYEROT_LIST - jr nz, .check_mon_name - ld hl, PartyCount - ld de, PartyMonOT - ld a, PARTY_OT_NAME - jr .done - -.check_mon_name - cp INIT_MON_LIST - jr nz, .check_item_name - ld hl, CurMart - ld de, PokemonNames - ld a, PKMN_NAME - jr .done - -.check_item_name - cp INIT_BAG_ITEM_LIST - jr nz, .check_ob_item_name - ld hl, NumItems - ld de, ItemNames - ld a, ITEM_NAME - jr .done - -.check_ob_item_name - ld hl, CurMart - ld de, ItemNames - ld a, ITEM_NAME -.done - ld [wNamedObjectTypeBuffer], a ; d265 - ld a, l - ld [wListPointer], a - ld a, h - ld [wListPointer + 1], a - ld a, e - ld [wUnusedD102], a - ld a, d - ld [wUnusedD102 + 1], a - ld bc, ItemAttributes ; ParseEnemyAction, HandleMapTimeAndJoypad, Music_LakeOfRage_Ch3, String_11a7c1 $67c1 - ld a, c - ld [wItemAttributesPtr], a - ld a, b - ld [wItemAttributesPtr + 1], a - ret - +INCLUDE "engine/init_list.asm" INCLUDE "engine/experience.asm" - -_SwitchPartyMons: - ld a, [wd0e3] - dec a - ld [Buffer3], a - ld b, a - ld a, [wMenuCursorY] - dec a - ld [Buffer2], a - cp b - jr z, .skip - call .SwapMonAndMail - ld a, [Buffer3] - call .ClearSprite - ld a, [Buffer2] - call .ClearSprite -.skip - ret - -.ClearSprite: ; 50f34 (14:4f34) - push af - hlcoord 0, 1 - ld bc, 2 * SCREEN_WIDTH - call AddNTimes - ld bc, 2 * SCREEN_WIDTH - ld a, " " - call ByteFill - pop af - ld hl, Sprites - ld bc, $10 - call AddNTimes - ld de, $4 - ld c, $4 -.gfx_loop - ld [hl], $a0 - add hl, de - dec c - jr nz, .gfx_loop - ld de, SFX_SWITCH_POKEMON - call WaitPlaySFX - ret - -.SwapMonAndMail: ; 50f62 (14:4f62) - push hl - push de - push bc - ld bc, PartySpecies - ld a, [Buffer2] - ld l, a - ld h, $0 - add hl, bc - ld d, h - ld e, l - ld a, [Buffer3] - ld l, a - ld h, $0 - add hl, bc - ld a, [hl] - push af - ld a, [de] - ld [hl], a - pop af - ld [de], a - ld a, [Buffer2] - ld hl, PartyMon1Species - ld bc, PARTYMON_STRUCT_LENGTH - call AddNTimes - push hl - ld de, wd002 - ld bc, PARTYMON_STRUCT_LENGTH - call CopyBytes - ld a, [Buffer3] - ld hl, PartyMon1 - ld bc, PARTYMON_STRUCT_LENGTH - call AddNTimes - pop de - push hl - ld bc, PARTYMON_STRUCT_LENGTH - call CopyBytes - pop de - ld hl, wd002 - ld bc, PARTYMON_STRUCT_LENGTH - call CopyBytes - ld a, [Buffer2] - ld hl, PartyMonOT - call SkipNames - push hl - call .CopyNameTowd002 - ld a, [Buffer3] - ld hl, PartyMonOT - call SkipNames - pop de - push hl - call .CopyName - pop de - ld hl, wd002 - call .CopyName - ld hl, PartyMonNicknames - ld a, [Buffer2] - call SkipNames - push hl - call .CopyNameTowd002 - ld hl, PartyMonNicknames - ld a, [Buffer3] - call SkipNames - pop de - push hl - call .CopyName - pop de - ld hl, wd002 - call .CopyName - ld hl, sPartyMail - ld a, [Buffer2] - ld bc, MAIL_STRUCT_LENGTH - call AddNTimes - push hl - ld de, wd002 - ld bc, MAIL_STRUCT_LENGTH - ld a, BANK(sPartyMail) - call GetSRAMBank - call CopyBytes - ld hl, sPartyMail - ld a, [Buffer3] - ld bc, MAIL_STRUCT_LENGTH - call AddNTimes - pop de - push hl - ld bc, MAIL_STRUCT_LENGTH - call CopyBytes - pop de - ld hl, wd002 - ld bc, MAIL_STRUCT_LENGTH - call CopyBytes - call CloseSRAM - pop bc - pop de - pop hl - ret - -.CopyNameTowd002: ; 51036 (14:5036) - ld de, wd002 - -.CopyName: ; 51039 (14:5039) - ld bc, NAME_LENGTH - call CopyBytes - ret - +INCLUDE "engine/switch_party_mons.asm" INCLUDE "gfx/load_pics.asm" INCLUDE "engine/move_mon_wo_mail.asm" INCLUDE "data/pokemon/base_stats.asm" @@ -1744,55 +1086,7 @@ SECTION "bank32", ROMX INCLUDE "battle/bg_effects.asm" INCLUDE "battle/anims.asm" - -LoadPoisonBGPals: ; cbcdd - call .LoadPals - ld a, [hCGB] - and a - ret nz - ret ; ???? - -.LoadPals: ; cbce5 - ld a, [hCGB] - and a - jr nz, .cgb - ld a, [TimeOfDayPal] - and $3 - cp $3 - ld a, %00000000 - jr z, .convert_pals - ld a, %10101010 - -.convert_pals - call DmgToCgbBGPals - ld c, 4 - call DelayFrames - callba _UpdateTimePals - ret - -.cgb - ld a, [rSVBK] - push af - ld a, $5 - ld [rSVBK], a - ld hl, BGPals - ld c, $20 -.loop -; RGB 28, 21, 31 - ld a, (palred 28 + palgreen 21 + palblue 31) % $100 - ld [hli], a - ld a, (palred 28 + palgreen 21 + palblue 31) / $100 - ld [hli], a - dec c - jr nz, .loop - pop af - ld [rSVBK], a - ld a, $1 - ld [hCGBPalUpdate], a - ld c, 4 - call DelayFrames - callba _UpdateTimePals - ret +INCLUDE "event/poisonstep_pals.asm" TheEndGFX:: ; cbd2e INCBIN "gfx/credits/theend.2bpp" @@ -1800,7 +1094,7 @@ INCBIN "gfx/credits/theend.2bpp" SECTION "bank33", ROMX -INCLUDE "event/bug_contest_mon_stats.asm" +INCLUDE "event/bug_contest/display_stats.asm" INCLUDE "battle/anim_commands.asm" INCLUDE "battle/anim_objects.asm" @@ -1843,117 +1137,7 @@ INCLUDE "gfx/pics/unown_frames.asm" SECTION "bank38", ROMX -RotateUnownFrontpic: ; e0000 -; something to do with Unown printer - push de - xor a - call GetSRAMBank - ld hl, sScratch - ld bc, 0 -.loop - push bc - push hl - push bc - ld de, wd002 - call .Copy - call .Rotate - ld hl, UnownPrinter_OverworldMapRectangle - pop bc - add hl, bc - add hl, bc - ld a, [hli] - ld e, a - ld d, [hl] - ld hl, wd012 - call .Copy - pop hl - ld bc, $10 - add hl, bc - pop bc - inc c - ld a, c - cp 7 * 7 - jr c, .loop - - ld hl, OverworldMap - ld de, sScratch - ld bc, 7 * 7 tiles - call CopyBytes - pop hl - ld de, sScratch - ld c, 7 * 7 - ld a, [hROMBank] - ld b, a - call Get2bpp - call CloseSRAM - ret - -.Copy: ; e004e - ld c, $10 -.loop_copy - ld a, [hli] - ld [de], a - inc de - dec c - jr nz, .loop_copy - ret - -.Rotate: ; e0057 - ld hl, wd012 - ld e, %10000000 - ld d, 8 -.loop_decompress - push hl - ld hl, wd002 - call .CountSetBit - pop hl - ld a, b - ld [hli], a - push hl - ld hl, wd003 - call .CountSetBit - pop hl - ld a, b - ld [hli], a - srl e - dec d - jr nz, .loop_decompress - ret - -.CountSetBit: ; e0078 - ld b, 0 - ld c, 8 -.loop_count - ld a, [hli] - and e - jr z, .clear - scf - jr .apply - -.clear - and a - -.apply - rr b - inc hl - dec c - jr nz, .loop_count - ret - -overworldmaprect: MACRO -y = 0 -rept \1 -x = \1 * (\2 +- 1) + y -rept \2 - dw OverworldMap tile x -x = x +- \2 -endr -y = y + 1 -endr -endm - -UnownPrinter_OverworldMapRectangle: ; e008b - overworldmaprect 7, 7 +INCLUDE "event/print_unown_2.asm" Unknown_e00ed: ; Graphics for an unused Game Corner @@ -2009,7 +1193,7 @@ SECTION "bank41", ROMX INCLUDE "engine/dma_transfer.asm" INCLUDE "gfx/emotes.asm" INCLUDE "engine/warp_connection.asm" -INCLUDE "engine/mysterygift.asm" +INCLUDE "engine/mystery_gift.asm" INCLUDE "battle/used_move_text.asm" INCLUDE "mobile/mobile_41.asm" INCLUDE "gfx/overworld_font.asm" @@ -2113,100 +1297,11 @@ INCLUDE "engine/print_party.asm" SECTION "bank77_2", ROMX -Function1dd6a9: ; 1dd6a9 -; XXX - ld a, b - ld b, c - ld c, a - push bc - push de - ld hl, sp+$2 - ld d, h - ld e, l - pop hl - lb bc, PRINTNUM_LEADINGZEROS | 2, 5 - call PrintNum - pop bc - ret - -PrintHoursMins ; 1dd6bb (77:56bb) -; Hours in b, minutes in c - ld a, b - cp 12 - push af - jr c, .AM - jr z, .PM - sub 12 - jr .PM -.AM: - or a - jr nz, .PM - ld a, 12 -.PM: - ld b, a -; Crazy stuff happening with the stack - push bc - ld hl, sp+$1 - push de - push hl - pop de - pop hl - ld [hl], " " - lb bc, 1, 2 - call PrintNum - ld [hl], ":" - inc hl - ld d, h - ld e, l - ld hl, sp+$0 - push de - push hl - pop de - pop hl - lb bc, PRINTNUM_LEADINGZEROS | 1, 2 - call PrintNum - pop bc - ld de, String_AM - pop af - jr c, .place_am_pm - ld de, String_PM -.place_am_pm - inc hl - call PlaceString - ret - -String_AM: db "AM@" ; 1dd6fc -String_PM: db "PM@" ; 1dd6ff - +INCLUDE "engine/printhoursmins.asm" INCLUDE "engine/diploma.asm" INCLUDE "engine/pokedex_3.asm" INCLUDE "event/catch_tutorial_input.asm" - -TownMap_ConvertLineBreakCharacters: ; 1de2c5 - ld hl, StringBuffer1 -.loop - ld a, [hl] - cp "@" - jr z, .end - cp "%" - jr z, .line_break - cp "¯" - jr z, .line_break - inc hl - jr .loop - -.line_break - ld [hl], "" - -.end - ld de, StringBuffer1 - hlcoord 9, 0 - call PlaceString - ret - -PokegearGFX: ; 1de2e4 -INCBIN "gfx/pokegear/pokegear.2bpp.lz" - +INCLUDE "engine/pokegear_2.asm" INCLUDE "engine/european_mail.asm" diff --git a/maps/BattleTower1F.asm b/maps/BattleTower1F.asm index 9238d5dbd..c6b188b8d 100644 --- a/maps/BattleTower1F.asm +++ b/maps/BattleTower1F.asm @@ -60,7 +60,7 @@ ReceptionistScript_0x9e3e2: opentext writetext Text_BattleTowerWelcomesYou buttonsound - writebyte BATTLETOWERACTION_CHECK_EXPLANATION_READ ; if new save file: bit 1, [s1_be4f] + writebyte BATTLETOWERACTION_CHECK_EXPLANATION_READ ; if new save file: bit 1, [sBattleTowerSaveFileFlags] special BattleTowerAction if_not_equal $0, Script_Menu_ChallengeExplanationCancel jump Script_BattleTowerIntroductionYesNo @@ -85,7 +85,7 @@ Script_ChooseChallenge: ; 0x9e40f special Special_TryQuickSave iffalse Script_Menu_ChallengeExplanationCancel dotrigger $1 - writebyte BATTLETOWERACTION_SET_EXPLANATION_READ ; set 1, [s1_be4f] + writebyte BATTLETOWERACTION_SET_EXPLANATION_READ ; set 1, [sBattleTowerSaveFileFlags] special BattleTowerAction special BattleTowerRoomMenu if_equal $a, Script_Menu_ChallengeExplanationCancel diff --git a/mobile/battle_tower_5c.asm b/mobile/battle_tower_5c.asm index 462e4f75a..baa2e6159 100755 --- a/mobile/battle_tower_5c.asm +++ b/mobile/battle_tower_5c.asm @@ -1079,9 +1079,9 @@ BattleTowerAction_CheckExplanationRead: ; 17075f (5c:475f) BattleTowerAction $00 and a ret z - ld a, BANK(s1_be4f) + ld a, BANK(sBattleTowerSaveFileFlags) call GetSRAMBank - ld a, [s1_be4f] + ld a, [sBattleTowerSaveFileFlags] and $2 ld [ScriptVar], a call CloseSRAM @@ -1097,11 +1097,11 @@ BattleTowerAction_GetChallengeState: ; 170778 (5c:4778) BattleTowerAction $02 ret BattleTowerAction_SetExplanationRead: ; 170788 (5c:4788) BattleTowerAction $01 - ld a, BANK(s1_be4f) + ld a, BANK(sBattleTowerSaveFileFlags) call GetSRAMBank - ld a, [s1_be4f] + ld a, [sBattleTowerSaveFileFlags] or $2 - ld [s1_be4f], a + ld [sBattleTowerSaveFileFlags], a call CloseSRAM ret @@ -1583,20 +1583,20 @@ Function170abe: ; 170abe (5c:4abe) BattleTowerAction $14 and a ret z - ld a, BANK(s1_be4f) + ld a, BANK(sBattleTowerSaveFileFlags) call GetSRAMBank - ld a, [s1_be4f] + ld a, [sBattleTowerSaveFileFlags] and $1 ld [ScriptVar], a call CloseSRAM ret Function170ad7: ; 170ad7 (5c:4ad7) BattleTowerAction $15 - ld a, BANK(s1_be4f) + ld a, BANK(sBattleTowerSaveFileFlags) call GetSRAMBank - ld a, [s1_be4f] + ld a, [sBattleTowerSaveFileFlags] or $1 - ld [s1_be4f], a + ld [sBattleTowerSaveFileFlags], a call CloseSRAM ret diff --git a/mobile/get_trainer_class.asm b/mobile/get_trainer_class.asm new file mode 100644 index 000000000..37fe91c56 --- /dev/null +++ b/mobile/get_trainer_class.asm @@ -0,0 +1,46 @@ +GetMobileOTTrainerClass: ; mobile function + ld h, b + ld l, c + call .GetMobileOTTrainerClass + ld c, a + ret + +.GetMobileOTTrainerClass: ; 4e930 + ld a, [hli] + xor [hl] + ld c, a + jr z, .skip_male_trainers + srl c + srl c +.male_trainer_loop + srl c + ld a, c + cp MaleTrainersEnd - MaleTrainers - 1 + jr nc, .male_trainer_loop + inc c + +.skip_male_trainers + ld a, [de] + cp $1 + ld hl, MaleTrainers + jr nz, .finished + + ld hl, FemaleTrainers + ld a, c + and a + jr z, .finished + +.female_trainer_loop + srl c + ld a, c + cp FemaleTrainersEnd - FemaleTrainers - 1 + jr nc, .female_trainer_loop + inc c + +.finished + ld b, $0 + add hl, bc + ld a, [hl] + ret + +INCLUDE "data/trainers/gendered_trainers.asm" diff --git a/sram.asm b/sram.asm index 5853cd61c..163de6bda 100644 --- a/sram.asm +++ b/sram.asm @@ -1,9 +1,11 @@ SRAM_Begin EQU $a000 SRAM_End EQU $c000 + GLOBAL SRAM_Begin, SRAM_End SECTION "Scratch", SRAM + sScratch:: @@ -11,12 +13,12 @@ SECTION "SRAM Bank 0", SRAM ; a600 sPartyMail:: -sPartyMon1Mail:: mailmsg sPartyMon1Mail -sPartyMon2Mail:: mailmsg sPartyMon2Mail -sPartyMon3Mail:: mailmsg sPartyMon3Mail -sPartyMon4Mail:: mailmsg sPartyMon4Mail -sPartyMon5Mail:: mailmsg sPartyMon5Mail -sPartyMon6Mail:: mailmsg sPartyMon6Mail +sPartyMon1Mail:: mailmsg sPartyMon1Mail +sPartyMon2Mail:: mailmsg sPartyMon2Mail +sPartyMon3Mail:: mailmsg sPartyMon3Mail +sPartyMon4Mail:: mailmsg sPartyMon4Mail +sPartyMon5Mail:: mailmsg sPartyMon5Mail +sPartyMon6Mail:: mailmsg sPartyMon6Mail ; a71a sPartyMailBackup:: @@ -28,45 +30,45 @@ sPartyMon5MailBackup:: mailmsg sPartyMon5MailBackup sPartyMon6MailBackup:: mailmsg sPartyMon6MailBackup ; a834 -sMailboxCount:: ds 1 +sMailboxCount:: db sMailbox:: -sMailbox1:: mailmsg sMailbox1 -sMailbox2:: mailmsg sMailbox2 -sMailbox3:: mailmsg sMailbox3 -sMailbox4:: mailmsg sMailbox4 -sMailbox5:: mailmsg sMailbox5 -sMailbox6:: mailmsg sMailbox6 -sMailbox7:: mailmsg sMailbox7 -sMailbox8:: mailmsg sMailbox8 -sMailbox9:: mailmsg sMailbox9 -sMailbox10:: mailmsg sMailbox10 +sMailbox1:: mailmsg sMailbox1 +sMailbox2:: mailmsg sMailbox2 +sMailbox3:: mailmsg sMailbox3 +sMailbox4:: mailmsg sMailbox4 +sMailbox5:: mailmsg sMailbox5 +sMailbox6:: mailmsg sMailbox6 +sMailbox7:: mailmsg sMailbox7 +sMailbox8:: mailmsg sMailbox8 +sMailbox9:: mailmsg sMailbox9 +sMailbox10:: mailmsg sMailbox10 ; aa0b -sMailboxCountBackup:: ds 1 +sMailboxCountBackup:: db sMailboxBackup:: -sMailbox1Backup:: mailmsg sMailbox1Backup -sMailbox2Backup:: mailmsg sMailbox2Backup -sMailbox3Backup:: mailmsg sMailbox3Backup -sMailbox4Backup:: mailmsg sMailbox4Backup -sMailbox5Backup:: mailmsg sMailbox5Backup -sMailbox6Backup:: mailmsg sMailbox6Backup -sMailbox7Backup:: mailmsg sMailbox7Backup -sMailbox8Backup:: mailmsg sMailbox8Backup -sMailbox9Backup:: mailmsg sMailbox9Backup -sMailbox10Backup:: mailmsg sMailbox10Backup +sMailbox1Backup:: mailmsg sMailbox1Backup +sMailbox2Backup:: mailmsg sMailbox2Backup +sMailbox3Backup:: mailmsg sMailbox3Backup +sMailbox4Backup:: mailmsg sMailbox4Backup +sMailbox5Backup:: mailmsg sMailbox5Backup +sMailbox6Backup:: mailmsg sMailbox6Backup +sMailbox7Backup:: mailmsg sMailbox7Backup +sMailbox8Backup:: mailmsg sMailbox8Backup +sMailbox9Backup:: mailmsg sMailbox9Backup +sMailbox10Backup:: mailmsg sMailbox10Backup ; abe2 -sMysteryGiftItem:: ds 1 -sMysteryGiftUnlocked:: ds 1 -sBackupMysteryGiftItem:: ds 1 -sNumDailyMysteryGiftPartnerIDs:: ds 1 +sMysteryGiftItem:: db +sMysteryGiftUnlocked:: db +sBackupMysteryGiftItem:: db +sNumDailyMysteryGiftPartnerIDs:: db sDailyMysteryGiftPartnerIDs:: ds 5 * 2 ; maximum 5 per day, 2 bytes per ID sMysteryGiftDecorationsReceived:: flag_array NUM_NON_TROPHY_DECOS ds 4 -sMysteryGiftTimer:: ds 1 -sMysteryGiftTimerStartDay:: ds 1 +sMysteryGiftTimer:: db +sMysteryGiftTimerStartDay:: db ds 1 -sMysteryGiftTrainerHouseFlag:: ds 1 +sMysteryGiftTrainerHouseFlag:: db sMysteryGiftPartnerName:: ds NAME_LENGTH s0_ac09:: ds 1 sMysteryGiftTrainer:: ds (1 + 1 + NUM_MOVES) * PARTY_LENGTH + 2 ; ac0a @@ -75,13 +77,15 @@ sBackupMysteryGiftItemEnd:: ds $30 sRTCStatusFlags:: ds 8 -sLuckyNumberDay:: ds 1 -sLuckyIDNumber:: ds 2 +sLuckyNumberDay:: db +sLuckyIDNumber:: dw + SECTION "Backup Save", SRAM + sBackupOptions:: ds OptionsEnd - Options -s0_b208:: ds 1 ; loaded with 99, used to check save corruption +sBackupCheckValue1:: db ; loaded with SAVE_CHECK_VALUE_1, used to check save corruption sBackupGameData:: ; b209 sBackupPlayerData:: ds wPlayerDataEnd - wPlayerData @@ -93,16 +97,18 @@ sBackupGameDataEnd:: ds $18a ; bf0d -sBackupChecksum:: ds 2 -s0_bf0f:: ds 1 ; loaded with 0x7f, used to check save corruption -sStackTop:: ds 2 +sBackupChecksum:: dw + +sBackupCheckValue2:: db ; loaded with SAVE_CHECK_VALUE_2, used to check save corruption + +sStackTop:: dw SECTION "Save", SRAM sOptions:: ds OptionsEnd - Options -s1_a008:: ds 1 ; loaded with 99, used to check save corruption +sCheckValue1:: db ; loaded with SAVE_CHECK_VALUE_1, used to check save corruption sGameData:: ; a009 sPlayerData:: ds wPlayerDataEnd - wPlayerData @@ -114,22 +120,28 @@ sGameDataEnd:: ds $18a ; ad0d -sChecksum:: ds 2 -s1_ad0f:: ds 1 ; loaded with 0x7f, used to check save corruption +sChecksum:: dw + +sCheckValue2:: db ; loaded with SAVE_CHECK_VALUE_2, used to check save corruption + SECTION "Active Box", SRAM + ; ad10 box sBox ; b160 ds $f4 + + SECTION "Link Battle Data", SRAM + sLinkBattleResults:: ds $c -sLinkBattleStats:: ; b260 -sLinkBattleWins:: ds 2 -sLinkBattleLosses:: ds 2 ; b262 -sLinkBattleDraws:: ds 2 ; b264 +sLinkBattleStats:: +sLinkBattleWins:: dw ; b260 +sLinkBattleLosses:: dw ; b262 +sLinkBattleDraws:: dw ; b264 sLinkBattleRecord:: sLinkBattleRecord1:: link_battle_record sLinkBattleRecord1 @@ -139,88 +151,80 @@ sLinkBattleRecord4:: link_battle_record sLinkBattleRecord4 sLinkBattleRecord5:: link_battle_record sLinkBattleRecord5 sLinkBattleStatsEnd:: + SECTION "SRAM Hall of Fame", SRAM + sHallOfFame:: ; b2c0 -; temporary until I can find a way to macrofy it - hall_of_fame sHallOfFame01 - hall_of_fame sHallOfFame02 - hall_of_fame sHallOfFame03 - hall_of_fame sHallOfFame04 - hall_of_fame sHallOfFame05 - hall_of_fame sHallOfFame06 - hall_of_fame sHallOfFame07 - hall_of_fame sHallOfFame08 - hall_of_fame sHallOfFame09 - hall_of_fame sHallOfFame10 - hall_of_fame sHallOfFame11 - hall_of_fame sHallOfFame12 - hall_of_fame sHallOfFame13 - hall_of_fame sHallOfFame14 - hall_of_fame sHallOfFame15 - hall_of_fame sHallOfFame16 - hall_of_fame sHallOfFame17 - hall_of_fame sHallOfFame18 - hall_of_fame sHallOfFame19 - hall_of_fame sHallOfFame20 - hall_of_fame sHallOfFame21 - hall_of_fame sHallOfFame22 - hall_of_fame sHallOfFame23 - hall_of_fame sHallOfFame24 - hall_of_fame sHallOfFame25 - hall_of_fame sHallOfFame26 - hall_of_fame sHallOfFame27 - hall_of_fame sHallOfFame28 - hall_of_fame sHallOfFame29 - hall_of_fame sHallOfFame30 - -; x = 1 -; rept NUM_HOF_TEAMS -; ; PRINTT("{x}\n") -; if STRLEN({x}) == 2 - ; PRINTT(STRSUB({x},2,1)) - ; hall_of_fame STRCAT("sHallOfFame0", STRSUB({x},2,1)) -; else - ; PRINTT(STRSUB({x},2,2)) - ; hall_of_fame STRCAT("sHallOfFame", STRSUB({x},2,2)) -; endc -; x = x + 1 -; endr +sHallOfFame01:: hall_of_fame sHallOfFame01 +sHallOfFame02:: hall_of_fame sHallOfFame02 +sHallOfFame03:: hall_of_fame sHallOfFame03 +sHallOfFame04:: hall_of_fame sHallOfFame04 +sHallOfFame05:: hall_of_fame sHallOfFame05 +sHallOfFame06:: hall_of_fame sHallOfFame06 +sHallOfFame07:: hall_of_fame sHallOfFame07 +sHallOfFame08:: hall_of_fame sHallOfFame08 +sHallOfFame09:: hall_of_fame sHallOfFame09 +sHallOfFame10:: hall_of_fame sHallOfFame10 +sHallOfFame11:: hall_of_fame sHallOfFame11 +sHallOfFame12:: hall_of_fame sHallOfFame12 +sHallOfFame13:: hall_of_fame sHallOfFame13 +sHallOfFame14:: hall_of_fame sHallOfFame14 +sHallOfFame15:: hall_of_fame sHallOfFame15 +sHallOfFame16:: hall_of_fame sHallOfFame16 +sHallOfFame17:: hall_of_fame sHallOfFame17 +sHallOfFame18:: hall_of_fame sHallOfFame18 +sHallOfFame19:: hall_of_fame sHallOfFame19 +sHallOfFame20:: hall_of_fame sHallOfFame20 +sHallOfFame21:: hall_of_fame sHallOfFame21 +sHallOfFame22:: hall_of_fame sHallOfFame22 +sHallOfFame23:: hall_of_fame sHallOfFame23 +sHallOfFame24:: hall_of_fame sHallOfFame24 +sHallOfFame25:: hall_of_fame sHallOfFame25 +sHallOfFame26:: hall_of_fame sHallOfFame26 +sHallOfFame27:: hall_of_fame sHallOfFame27 +sHallOfFame28:: hall_of_fame sHallOfFame28 +sHallOfFame29:: hall_of_fame sHallOfFame29 +sHallOfFame30:: hall_of_fame sHallOfFame30 sHallOfFameEnd:: + SECTION "SRAM Crystal Data", SRAM -sMobileEventIndex:: ds 1 ; be3c -sCrystalData:: - ds wCrystalDataEnd - wCrystalData -sMobileEventIndexBackup:: ds 1 +sMobileEventIndex:: db ; be3c + +sCrystalData:: ds wCrystalDataEnd - wCrystalData +sMobileEventIndexBackup:: db + SECTION "SRAM Battle Tower", SRAM -; data of the BattleTower must be in SRAM because you can save and leave between battles -sBattleTowerChallengeState:: ds 1 + +; Battle Tower data must be in SRAM because you can save and leave between battles +sBattleTowerChallengeState:: ; 0: normal ; 2: battle tower + db sBattleTower:: ; be46 -sNrOfBeatenBattleTowerTrainers:: ds 1 -sBTChoiceOfLevelGroup:: ds 1 -; The 7 trainers of the BattleTower are saved here, so nobody appears more than once -sBTTrainers:: ; sbe48 - ds 7 -s1_be4f:: ds 1 -sBattleTowerReward:: ds 1 -; Pkmn of previous trainer +sNrOfBeatenBattleTowerTrainers:: db +sBTChoiceOfLevelGroup:: db +; Battle Tower trainers are saved here, so nobody appears more than once +sBTTrainers:: ds BATTLETOWER_NROFTRAINERS ; sbe48 +sBattleTowerSaveFileFlags:: db +sBattleTowerReward:: db + +; team of previous trainer sBTPkmnOfTrainers:: ; 0xbe51 -sBTPkmnPrevTrainer1:: - ds 1 -sBTPkmnPrevTrainer2:: ds 1 -sBTPkmnPrevTrainer3:: ds 1 -; Pkmn of preprevious trainer -sBTPkmnPrevPrevTrainer1:: ds 1 -sBTPkmnPrevPrevTrainer2:: ds 1 -sBTPkmnPrevPrevTrainer3:: ds 1 +sBTPkmnPrevTrainer1:: db +sBTPkmnPrevTrainer2:: db +sBTPkmnPrevTrainer3:: db +; team of preprevious trainer +sBTPkmnPrevPrevTrainer1:: db +sBTPkmnPrevPrevTrainer2:: db +sBTPkmnPrevPrevTrainer3:: db SECTION "Boxes 1-7", SRAM, BANK [2] + box sBox1 box sBox2 box sBox3 @@ -229,7 +233,9 @@ SECTION "Boxes 1-7", SRAM, BANK [2] box sBox6 box sBox7 + SECTION "Boxes 8-14", SRAM + box sBox8 box sBox9 box sBox10 @@ -239,7 +245,8 @@ SECTION "Boxes 8-14", SRAM box sBox14 SECTION "SRAM Mobile", SRAM, BANK [5] -ds 1 ; Former location for sMobileEventIndex, moved to 1:BE3C in English + + ds 1 ; former location for sMobileEventIndex, moved to 1:BE3C in English sTrainerRankings:: ; a001 sTrainerRankingGameTimeHOF:: ds 4 sTrainerRankingStepCountHOF:: ds 4 @@ -285,9 +292,11 @@ sTrainerRankingShortestMagikarp:: ds 2 sTrainerRankingBugContestScore:: ds 2 sTrainerRankingsChecksum:: ds 2 sTrainerRankingsEnd:: ; a083 + ds 1 ; Former location for sMobileEventIndexBackup, moved to 1:BE44 in English sTrainerRankingsBackup:: ds sTrainerRankingsEnd - sTrainerRankings ds $945 ; aa4b + sMobileLoginPassword:: ds MOBILE_LOGIN_PASSWORD_LENGTH diff --git a/wram.asm b/wram.asm index df154266d..c26fde5a1 100644 --- a/wram.asm +++ b/wram.asm @@ -349,7 +349,7 @@ wBT_OTTemp:: battle_tower_struct wBT_OTTemp NEXTU ; c608 ; hall of fame temp struct - hall_of_fame wHallOfFameTemp +wHallOfFameTemp:: hall_of_fame wHallOfFameTemp NEXTU ; c608 ; timeset temp storage @@ -2838,14 +2838,13 @@ w3_d662:: battle_tower_struct w3_d662 UNION ; d742 w3_d742:: battle_tower_struct w3_d742 ; d822 - NEXTU ; d742 ds $be - wBTChoiceOfLvlGroup:: w3_d800:: ; ds BG_MAP_WIDTH * SCREEN_HEIGHT ($240) ds $69 ENDU ; d869 + w3_d869:: ds $17 w3_d880:: ds 1 w3_d881:: ds 1 @@ -2860,7 +2859,6 @@ w3_d8a1:: ds 1 w3_d8a2:: ds 1 w3_d8a3:: ds $19d w3_da40:: ds $1c0 - w3_dc00:: ds SCREEN_WIDTH * SCREEN_HEIGHT w3_dd68:: ds SCREEN_WIDTH * SCREEN_HEIGHT ds $11c -- cgit v1.2.3 From f96aab40141ddeeefd582f0ad733f10f3553bb98 Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Fri, 15 Dec 2017 21:32:43 -0500 Subject: Correct some documentation comments --- constants/pokemon_data_constants.asm | 2 +- constants/std_constants.asm | 2 +- home.asm | 3 +++ 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/constants/pokemon_data_constants.asm b/constants/pokemon_data_constants.asm index e3af35bbe..4093adfa9 100644 --- a/constants/pokemon_data_constants.asm +++ b/constants/pokemon_data_constants.asm @@ -35,7 +35,7 @@ GENDER_F100 EQU 254 ; 100 percent GENDERLESS EQU 255 ; BaseGrowthRate values -; GrowthRates indexes (see main.asm) +; GrowthRates indexes (see data/growth_rates.asm) const_def const MEDIUM_FAST const SLIGHTLY_FAST diff --git a/constants/std_constants.asm b/constants/std_constants.asm index 0667f020f..21fb6791f 100644 --- a/constants/std_constants.asm +++ b/constants/std_constants.asm @@ -1,5 +1,5 @@ ; StdScripts indexes (see engine/std_scripts.asm) -; also used in CheckFacingTileForStd (see main.asm) +; also used in TileCollisionStdScripts (see data/collision_stdscripts.asm) enum_start enum pokecenternurse enum difficultbookshelf diff --git a/home.asm b/home.asm index 68d0fe70f..f7d2e7748 100644 --- a/home.asm +++ b/home.asm @@ -1,17 +1,20 @@ INCLUDE "includes.asm" + SECTION "NULL", ROM0 NULL:: INCLUDE "rst.asm" INCLUDE "interrupts.asm" + SECTION "Header", ROM0 Start:: nop jp _Start + SECTION "Home", ROM0 INCLUDE "home/init.asm" -- cgit v1.2.3 From fa98c29fa44a7509b9e2377bdf84c05981dc4931 Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Fri, 15 Dec 2017 22:36:33 -0500 Subject: Add more palettes to data/palettes/ --- data/palettes/49757.pal | 39 ++ data/palettes/979c.pal | 29 + data/palettes/b6f1.pal | 24 + data/palettes/b719.pal | 9 + data/palettes/b789.pal | 19 + data/palettes/bg.pal | 227 ------ data/palettes/card_flip.pal | 44 ++ data/palettes/credits.pal | 19 + data/palettes/crystal_intro/fade.pal | 41 ++ data/palettes/crystal_intro/gamefreak_logo.pal | 23 + data/palettes/crystal_intro/intro_1.pal | 79 +++ data/palettes/crystal_intro/intro_2.pal | 79 +++ data/palettes/crystal_intro/intro_3.pal | 79 +++ data/palettes/crystal_intro/intro_4.pal | 79 +++ data/palettes/crystal_intro/intro_5.pal | 79 +++ data/palettes/debug/bg.pal | 43 ++ data/palettes/debug/ob.pal | 42 ++ data/palettes/diploma.pal | 39 ++ data/palettes/mail.pal | 49 ++ data/palettes/map_objects.pal | 39 ++ data/palettes/mg_mobile.pal | 24 + data/palettes/ob.pal | 39 -- data/palettes/pack.pal | 29 + data/palettes/pack_f.pal | 29 + data/palettes/party_menu.pal | 69 ++ data/palettes/pokegear.pal | 29 + data/palettes/pokegear_f.pal | 29 + data/palettes/predef.pal | 394 +++++++++++ data/palettes/roof.pal | 161 ----- data/palettes/roofs.pal | 161 +++++ data/palettes/sgb_border.pal | 79 +++ data/palettes/slot_machine.pal | 79 +++ data/palettes/tileset_bg.pal | 227 ++++++ data/palettes/title.pal | 81 +++ data/palettes/town_map.asm | 44 +- data/palettes/trade_room.pal | 29 + data/palettes/unused_title/bg.pal | 39 ++ data/palettes/unused_title/ob.pal | 319 +++++++++ data/sgb_border_map.asm | 29 + engine/card_flip.asm | 58 +- engine/cgb_layouts.asm | 108 +-- engine/color.asm | 921 +------------------------ engine/credits.asm | 69 +- engine/crystal_colors.asm | 161 +---- engine/crystal_intro.asm | 513 +------------- engine/debug.asm | 89 +-- engine/sgb_layouts.asm | 6 +- engine/title.asm | 82 +-- engine/unused_title.asm | 387 +---------- gfx/card_flip/card_flip.tilemap | Bin 0 -> 132 bytes 50 files changed, 2671 insertions(+), 2694 deletions(-) create mode 100644 data/palettes/49757.pal create mode 100644 data/palettes/979c.pal create mode 100644 data/palettes/b6f1.pal create mode 100644 data/palettes/b719.pal create mode 100644 data/palettes/b789.pal delete mode 100644 data/palettes/bg.pal create mode 100644 data/palettes/card_flip.pal create mode 100644 data/palettes/credits.pal create mode 100644 data/palettes/crystal_intro/fade.pal create mode 100644 data/palettes/crystal_intro/gamefreak_logo.pal create mode 100644 data/palettes/crystal_intro/intro_1.pal create mode 100644 data/palettes/crystal_intro/intro_2.pal create mode 100644 data/palettes/crystal_intro/intro_3.pal create mode 100644 data/palettes/crystal_intro/intro_4.pal create mode 100644 data/palettes/crystal_intro/intro_5.pal create mode 100644 data/palettes/debug/bg.pal create mode 100644 data/palettes/debug/ob.pal create mode 100644 data/palettes/diploma.pal create mode 100644 data/palettes/mail.pal create mode 100644 data/palettes/map_objects.pal create mode 100644 data/palettes/mg_mobile.pal delete mode 100644 data/palettes/ob.pal create mode 100644 data/palettes/pack.pal create mode 100644 data/palettes/pack_f.pal create mode 100644 data/palettes/party_menu.pal create mode 100644 data/palettes/pokegear.pal create mode 100644 data/palettes/pokegear_f.pal create mode 100644 data/palettes/predef.pal delete mode 100644 data/palettes/roof.pal create mode 100644 data/palettes/roofs.pal create mode 100644 data/palettes/sgb_border.pal create mode 100644 data/palettes/slot_machine.pal create mode 100644 data/palettes/tileset_bg.pal create mode 100644 data/palettes/title.pal create mode 100644 data/palettes/trade_room.pal create mode 100644 data/palettes/unused_title/bg.pal create mode 100644 data/palettes/unused_title/ob.pal create mode 100644 data/sgb_border_map.asm create mode 100644 gfx/card_flip/card_flip.tilemap diff --git a/data/palettes/49757.pal b/data/palettes/49757.pal new file mode 100644 index 000000000..93e884046 --- /dev/null +++ b/data/palettes/49757.pal @@ -0,0 +1,39 @@ + RGB 31, 31, 63 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + + RGB 31, 31, 63 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + + RGB 04, 02, 15 + RGB 21, 00, 21 + RGB 31, 00, 00 + RGB 31, 31, 31 + + RGB 04, 02, 15 + RGB 21, 00, 21 + RGB 30, 16, 26 + RGB 31, 31, 31 + + RGB 04, 02, 15 + RGB 21, 00, 21 + RGB 16, 16, 16 + RGB 31, 31, 31 + + RGB 04, 02, 15 + RGB 21, 00, 21 + RGB 31, 12, 12 + RGB 31, 31, 31 + + RGB 04, 02, 15 + RGB 21, 00, 21 + RGB 07, 08, 31 + RGB 31, 31, 31 + + RGB 04, 02, 15 + RGB 21, 00, 21 + RGB 29, 28, 09 + RGB 31, 31, 31 diff --git a/data/palettes/979c.pal b/data/palettes/979c.pal new file mode 100644 index 000000000..3940a030a --- /dev/null +++ b/data/palettes/979c.pal @@ -0,0 +1,29 @@ + RGB 31, 31, 31 + RGB 25, 25, 25 + RGB 13, 13, 13 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 31, 31, 07 + RGB 31, 16, 01 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 31, 19, 24 + RGB 30, 10, 06 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 12, 25, 01 + RGB 05, 14, 00 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 08, 12, 31 + RGB 01, 04, 31 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 24, 18, 07 + RGB 20, 15, 03 + RGB 00, 00, 00 diff --git a/data/palettes/b6f1.pal b/data/palettes/b6f1.pal new file mode 100644 index 000000000..1dd56f50f --- /dev/null +++ b/data/palettes/b6f1.pal @@ -0,0 +1,24 @@ + RGB 31, 31, 31 + RGB 18, 23, 31 + RGB 15, 20, 31 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 22, 00, 31 + RGB 15, 20, 31 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 31, 00, 00 + RGB 15, 20, 31 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 25, 22, 00 + RGB 15, 20, 31 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 23, 26, 31 + RGB 18, 23, 31 + RGB 00, 00, 00 diff --git a/data/palettes/b719.pal b/data/palettes/b719.pal new file mode 100644 index 000000000..09dd9a364 --- /dev/null +++ b/data/palettes/b719.pal @@ -0,0 +1,9 @@ + RGB 31, 31, 31 + RGB 07, 06, 03 + RGB 07, 06, 03 + RGB 07, 06, 03 + + RGB 31, 31, 31 + RGB 31, 31, 00 + RGB 26, 22, 00 + RGB 00, 00, 00 diff --git a/data/palettes/b789.pal b/data/palettes/b789.pal new file mode 100644 index 000000000..cce760662 --- /dev/null +++ b/data/palettes/b789.pal @@ -0,0 +1,19 @@ + RGB 31, 31, 31 + RGB 30, 22, 24 + RGB 18, 18, 18 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 10, 11, 31 + RGB 18, 18, 18 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 12, 31, 11 + RGB 18, 18, 18 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 29, 26, 05 + RGB 18, 18, 18 + RGB 00, 00, 00 diff --git a/data/palettes/bg.pal b/data/palettes/bg.pal deleted file mode 100644 index 3cd14d142..000000000 --- a/data/palettes/bg.pal +++ /dev/null @@ -1,227 +0,0 @@ -; morn - -; gray - RGB 28, 31, 16 - RGB 21, 21, 21 - RGB 13, 13, 13 - RGB 07, 07, 07 -; red - RGB 28, 31, 16 - RGB 31, 19, 24 - RGB 30, 10, 06 - RGB 07, 07, 07 -; green - RGB 22, 31, 10 - RGB 12, 25, 01 - RGB 05, 14, 00 - RGB 07, 07, 07 -; water - RGB 31, 31, 31 - RGB 08, 12, 31 - RGB 01, 04, 31 - RGB 07, 07, 07 -; yellow - RGB 28, 31, 16 - RGB 31, 31, 07 - RGB 31, 16, 01 - RGB 07, 07, 07 -; brown - RGB 28, 31, 16 - RGB 24, 18, 07 - RGB 20, 15, 03 - RGB 07, 07, 07 -; roof - RGB 28, 31, 16 - RGB 15, 31, 31 - RGB 05, 17, 31 - RGB 07, 07, 07 -; text - RGB 31, 31, 16 - RGB 31, 31, 16 - RGB 14, 09, 00 - RGB 00, 00, 00 - -; day - -; gray - RGB 27, 31, 27 - RGB 21, 21, 21 - RGB 13, 13, 13 - RGB 07, 07, 07 -; red - RGB 27, 31, 27 - RGB 31, 19, 24 - RGB 30, 10, 06 - RGB 07, 07, 07 -; green - RGB 22, 31, 10 - RGB 12, 25, 01 - RGB 05, 14, 00 - RGB 07, 07, 07 -; water - RGB 31, 31, 31 - RGB 08, 12, 31 - RGB 01, 04, 31 - RGB 07, 07, 07 -; yellow - RGB 27, 31, 27 - RGB 31, 31, 07 - RGB 31, 16, 01 - RGB 07, 07, 07 -; brown - RGB 27, 31, 27 - RGB 24, 18, 07 - RGB 20, 15, 03 - RGB 07, 07, 07 -; roof - RGB 27, 31, 27 - RGB 15, 31, 31 - RGB 05, 17, 31 - RGB 07, 07, 07 -; text - RGB 31, 31, 16 - RGB 31, 31, 16 - RGB 14, 09, 00 - RGB 00, 00, 00 - -; nite - -; gray - RGB 15, 14, 24 - RGB 11, 11, 19 - RGB 07, 07, 12 - RGB 00, 00, 00 -; red - RGB 15, 14, 24 - RGB 14, 07, 17 - RGB 13, 00, 08 - RGB 00, 00, 00 -; green - RGB 15, 14, 24 - RGB 08, 13, 19 - RGB 00, 11, 13 - RGB 00, 00, 00 -; water - RGB 15, 14, 24 - RGB 05, 05, 17 - RGB 03, 03, 10 - RGB 00, 00, 00 -; yellow - RGB 30, 30, 11 - RGB 16, 14, 18 - RGB 16, 14, 10 - RGB 00, 00, 00 -; brown - RGB 15, 14, 24 - RGB 12, 09, 15 - RGB 08, 04, 05 - RGB 00, 00, 00 -; roof - RGB 15, 14, 24 - RGB 13, 12, 23 - RGB 11, 09, 20 - RGB 00, 00, 00 -; text - RGB 31, 31, 16 - RGB 31, 31, 16 - RGB 14, 09, 00 - RGB 00, 00, 00 - -; dark - -; gray - RGB 01, 01, 02 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 -; red - RGB 01, 01, 02 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 -; green - RGB 01, 01, 02 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 -; water - RGB 01, 01, 02 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 -; yellow - RGB 30, 30, 11 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 -; brown - RGB 01, 01, 02 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 -; roof - RGB 01, 01, 02 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 -; text - RGB 31, 31, 16 - RGB 31, 31, 16 - RGB 14, 09, 00 - RGB 00, 00, 00 - -; indoor - -; gray - RGB 30, 28, 26 - RGB 19, 19, 19 - RGB 13, 13, 13 - RGB 07, 07, 07 -; red - RGB 30, 28, 26 - RGB 31, 19, 24 - RGB 30, 10, 06 - RGB 07, 07, 07 -; green - RGB 18, 24, 09 - RGB 15, 20, 01 - RGB 09, 13, 00 - RGB 07, 07, 07 -; water - RGB 30, 28, 26 - RGB 15, 16, 31 - RGB 09, 09, 31 - RGB 07, 07, 07 -; yellow - RGB 30, 28, 26 - RGB 31, 31, 07 - RGB 31, 16, 01 - RGB 07, 07, 07 -; brown - RGB 26, 24, 17 - RGB 21, 17, 07 - RGB 16, 13, 03 - RGB 07, 07, 07 -; roof - RGB 30, 28, 26 - RGB 17, 19, 31 - RGB 14, 16, 31 - RGB 07, 07, 07 -; text - RGB 31, 31, 16 - RGB 31, 31, 16 - RGB 14, 09, 00 - RGB 00, 00, 00 - -; overworld water - -; morn/day - RGB 23, 23, 31 - RGB 18, 19, 31 - RGB 13, 12, 31 - RGB 07, 07, 07 -; nite - RGB 15, 13, 27 - RGB 10, 09, 20 - RGB 04, 03, 18 - RGB 00, 00, 00 diff --git a/data/palettes/card_flip.pal b/data/palettes/card_flip.pal new file mode 100644 index 000000000..24c5566f8 --- /dev/null +++ b/data/palettes/card_flip.pal @@ -0,0 +1,44 @@ + RGB 31, 31, 31 + RGB 17, 07, 31 + RGB 06, 19, 08 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 29, 25, 00 + RGB 06, 19, 08 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 31, 13, 30 + RGB 06, 19, 08 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 08, 17, 30 + RGB 06, 19, 08 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 08, 31, 08 + RGB 06, 19, 08 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 17, 07, 31 + RGB 06, 19, 08 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 17, 07, 31 + RGB 06, 19, 08 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 17, 07, 31 + RGB 06, 19, 08 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 00, 00 + RGB 31, 00, 00 diff --git a/data/palettes/credits.pal b/data/palettes/credits.pal new file mode 100644 index 000000000..c473f0414 --- /dev/null +++ b/data/palettes/credits.pal @@ -0,0 +1,19 @@ +; pichu + RGB 31,00,31, 31,25,00, 11,14,31, 07,07,07 + RGB 31,05,05, 11,14,31, 11,14,31, 31,31,31 + RGB 31,05,05, 00,00,00, 31,31,31, 31,31,31 + +; smoochum + RGB 31,31,31, 31,27,00, 26,06,31, 07,07,07 + RGB 03,13,31, 20,00,24, 26,06,31, 31,31,31 + RGB 03,13,31, 00,00,00, 31,31,31, 31,31,31 + +; ditto + RGB 31,31,31, 23,12,28, 31,22,00, 07,07,07 + RGB 03,20,00, 31,22,00, 31,22,00, 31,31,31 + RGB 03,20,00, 00,00,00, 31,31,31, 31,31,31 + +; igglybuff + RGB 31,31,31, 31,10,31, 31,00,09, 07,07,07 + RGB 31,14,00, 31,00,09, 31,00,09, 31,31,31 + RGB 31,14,00, 31,31,31, 31,31,31, 31,31,31 diff --git a/data/palettes/crystal_intro/fade.pal b/data/palettes/crystal_intro/fade.pal new file mode 100644 index 000000000..8e03cbc43 --- /dev/null +++ b/data/palettes/crystal_intro/fade.pal @@ -0,0 +1,41 @@ +; Fade to white. + + RGB 24, 12, 09 + RGB 31, 31, 31 + RGB 12, 00, 31 + RGB 00, 00, 00 + + RGB 31, 19, 05 + RGB 31, 31, 31 + RGB 15, 05, 31 + RGB 07, 07, 07 + + RGB 31, 21, 09 + RGB 31, 31, 31 + RGB 18, 09, 31 + RGB 11, 11, 11 + + RGB 31, 23, 13 + RGB 31, 31, 31 + RGB 21, 13, 31 + RGB 15, 15, 15 + + RGB 31, 25, 17 + RGB 31, 31, 31 + RGB 25, 17, 31 + RGB 19, 19, 19 + + RGB 31, 27, 21 + RGB 31, 31, 31 + RGB 27, 21, 31 + RGB 23, 23, 23 + + RGB 31, 29, 25 + RGB 31, 31, 31 + RGB 29, 26, 31 + RGB 27, 27, 27 + + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 diff --git a/data/palettes/crystal_intro/gamefreak_logo.pal b/data/palettes/crystal_intro/gamefreak_logo.pal new file mode 100644 index 000000000..c3a526b82 --- /dev/null +++ b/data/palettes/crystal_intro/gamefreak_logo.pal @@ -0,0 +1,23 @@ +; Ditto's color as it turns into the Game Freak logo. +; Fade from pink to orange. +; One color per step. + + RGB 23, 12, 28 + RGB 23, 12, 27 + RGB 23, 13, 26 + RGB 23, 13, 24 + + RGB 24, 14, 22 + RGB 24, 14, 20 + RGB 24, 15, 18 + RGB 24, 15, 16 + + RGB 25, 16, 14 + RGB 25, 16, 12 + RGB 25, 17, 10 + RGB 25, 17, 08 + + RGB 26, 18, 06 + RGB 26, 18, 04 + RGB 26, 19, 02 + RGB 26, 19, 00 diff --git a/data/palettes/crystal_intro/intro_1.pal b/data/palettes/crystal_intro/intro_1.pal new file mode 100644 index 000000000..ae0faadac --- /dev/null +++ b/data/palettes/crystal_intro/intro_1.pal @@ -0,0 +1,79 @@ + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 11, 11, 11 + RGB 0, 0, 0 + + RGB 0, 4, 5 + RGB 1, 8, 5 + RGB 4, 12, 9 + RGB 24, 12, 9 + + RGB 0, 4, 5 + RGB 9, 6, 8 + RGB 8, 16, 5 + RGB 5, 10, 4 + + RGB 31, 31, 31 + RGB 9, 6, 8 + RGB 18, 9, 9 + RGB 13, 8, 9 + + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 11, 11, 11 + RGB 0, 0, 0 + + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 11, 11, 11 + RGB 0, 0, 0 + + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 11, 11, 11 + RGB 0, 0, 0 + + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 11, 11, 11 + RGB 0, 0, 0 + + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 2, 5, 22 + RGB 1, 5, 12 + + RGB 31, 31, 31 + RGB 31, 10, 25 + RGB 31, 21, 0 + RGB 0, 0, 0 + + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 11, 21, 31 + RGB 0, 0, 0 + + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 11, 11, 11 + RGB 0, 0, 0 + + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 11, 11, 11 + RGB 0, 0, 0 + + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 11, 11, 11 + RGB 0, 0, 0 + + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 11, 11, 11 + RGB 0, 0, 0 + + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 11, 11, 11 + RGB 0, 0, 0 diff --git a/data/palettes/crystal_intro/intro_2.pal b/data/palettes/crystal_intro/intro_2.pal new file mode 100644 index 000000000..5f83df020 --- /dev/null +++ b/data/palettes/crystal_intro/intro_2.pal @@ -0,0 +1,79 @@ + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + + RGB 31, 31, 31 + RGB 10, 0, 10 + RGB 19, 0, 19 + RGB 31, 0, 31 + + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 11, 11, 11 + RGB 0, 0, 0 + + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 11, 11, 11 + RGB 0, 0, 0 + + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 11, 11, 11 + RGB 0, 0, 0 + + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 11, 11, 11 + RGB 0, 0, 0 + + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 11, 11, 11 + RGB 0, 0, 0 + + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 11, 11, 11 + RGB 0, 0, 0 + + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 11, 11, 11 + RGB 0, 0, 0 diff --git a/data/palettes/crystal_intro/intro_3.pal b/data/palettes/crystal_intro/intro_3.pal new file mode 100644 index 000000000..95f3e052a --- /dev/null +++ b/data/palettes/crystal_intro/intro_3.pal @@ -0,0 +1,79 @@ + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 11, 11, 11 + RGB 0, 0, 0 + + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 11, 11, 11 + RGB 0, 0, 0 + + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 11, 11, 11 + RGB 0, 0, 0 + + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 11, 11, 11 + RGB 0, 0, 0 + + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 11, 11, 11 + RGB 0, 0, 0 + + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 11, 11, 11 + RGB 0, 0, 0 + + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 11, 11, 11 + RGB 0, 0, 0 + + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 11, 11, 11 + RGB 0, 0, 0 diff --git a/data/palettes/crystal_intro/intro_4.pal b/data/palettes/crystal_intro/intro_4.pal new file mode 100644 index 000000000..fdcf058de --- /dev/null +++ b/data/palettes/crystal_intro/intro_4.pal @@ -0,0 +1,79 @@ + RGB 24, 12, 9 + RGB 20, 20, 20 + RGB 11, 11, 11 + RGB 0, 0, 0 + + RGB 24, 12, 9 + RGB 31, 31, 31 + RGB 8, 9, 31 + RGB 0, 0, 0 + + RGB 24, 12, 9 + RGB 12, 20, 31 + RGB 19, 8, 31 + RGB 0, 0, 0 + + RGB 12, 20, 31 + RGB 8, 9, 31 + RGB 19, 8, 31 + RGB 0, 0, 0 + + RGB 31, 31, 31 + RGB 12, 20, 31 + RGB 8, 9, 31 + RGB 0, 0, 0 + + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 11, 11, 11 + RGB 0, 0, 0 + + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 11, 11, 11 + RGB 0, 0, 0 + + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 11, 11, 11 + RGB 0, 0, 0 + + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 11, 11, 11 + RGB 0, 0, 0 + + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 11, 11, 11 + RGB 0, 0, 0 + + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 11, 11, 11 + RGB 0, 0, 0 + + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 11, 11, 11 + RGB 0, 0, 0 + + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 11, 11, 11 + RGB 0, 0, 0 + + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 11, 11, 11 + RGB 0, 0, 0 + + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 11, 11, 11 + RGB 0, 0, 0 + + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 11, 11, 11 + RGB 0, 0, 0 diff --git a/data/palettes/crystal_intro/intro_5.pal b/data/palettes/crystal_intro/intro_5.pal new file mode 100644 index 000000000..5b1be1a5f --- /dev/null +++ b/data/palettes/crystal_intro/intro_5.pal @@ -0,0 +1,79 @@ + RGB 24, 12, 9 + RGB 20, 20, 20 + RGB 11, 11, 11 + RGB 0, 0, 0 + + RGB 24, 12, 9 + RGB 31, 31, 31 + RGB 8, 9, 31 + RGB 0, 0, 0 + + RGB 24, 12, 9 + RGB 24, 12, 9 + RGB 24, 12, 9 + RGB 24, 12, 9 + + RGB 24, 12, 9 + RGB 24, 12, 9 + RGB 24, 12, 9 + RGB 24, 12, 9 + + RGB 24, 12, 9 + RGB 24, 12, 9 + RGB 24, 12, 9 + RGB 24, 12, 9 + + RGB 24, 12, 9 + RGB 24, 12, 9 + RGB 24, 12, 9 + RGB 24, 12, 9 + + RGB 24, 12, 9 + RGB 24, 12, 9 + RGB 24, 12, 9 + RGB 24, 12, 9 + + RGB 24, 12, 9 + RGB 24, 12, 9 + RGB 24, 12, 9 + RGB 24, 12, 9 + + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 12, 0, 31 + RGB 0, 0, 0 + + RGB 31, 31, 31 + RGB 21, 9, 0 + RGB 21, 9, 0 + RGB 0, 0, 0 + + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 11, 11, 11 + RGB 0, 0, 0 + + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 11, 11, 11 + RGB 0, 0, 0 + + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 11, 11, 11 + RGB 0, 0, 0 + + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 11, 11, 11 + RGB 0, 0, 0 + + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 11, 11, 11 + RGB 0, 0, 0 + + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 11, 11, 11 + RGB 0, 0, 0 diff --git a/data/palettes/debug/bg.pal b/data/palettes/debug/bg.pal new file mode 100644 index 000000000..d0b573598 --- /dev/null +++ b/data/palettes/debug/bg.pal @@ -0,0 +1,43 @@ + ; white + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 00, 00, 00 + + ; red + RGB 31, 00, 00 + RGB 31, 00, 00 + RGB 31, 00, 00 + RGB 00, 00, 00 + + ; green + RGB 00, 31, 00 + RGB 00, 31, 00 + RGB 00, 31, 00 + RGB 00, 00, 00 + + ; blue + RGB 00, 00, 31 + RGB 00, 00, 31 + RGB 00, 00, 31 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 00, 00, 00 diff --git a/data/palettes/debug/ob.pal b/data/palettes/debug/ob.pal new file mode 100644 index 000000000..2a03f4e8f --- /dev/null +++ b/data/palettes/debug/ob.pal @@ -0,0 +1,42 @@ + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 00, 00, 00 + + ; red + RGB 31, 31, 31 + RGB 31, 00, 00 + RGB 31, 00, 00 + RGB 00, 00, 00 + + ; green + RGB 31, 31, 31 + RGB 00, 31, 00 + RGB 00, 31, 00 + RGB 00, 00, 00 + + ; blue + RGB 31, 31, 31 + RGB 00, 00, 31 + RGB 00, 00, 31 + RGB 00, 00, 00 diff --git a/data/palettes/diploma.pal b/data/palettes/diploma.pal new file mode 100644 index 000000000..2c9ec6453 --- /dev/null +++ b/data/palettes/diploma.pal @@ -0,0 +1,39 @@ + RGB 27, 31, 27 + RGB 21, 21, 21 + RGB 13, 13, 13 + RGB 00, 00, 00 + + RGB 27, 31, 27 + RGB 31, 07, 06 + RGB 20, 02, 03 + RGB 00, 00, 00 + + RGB 27, 31, 27 + RGB 10, 31, 09 + RGB 04, 14, 01 + RGB 00, 00, 00 + + RGB 27, 31, 27 + RGB 08, 12, 31 + RGB 01, 04, 31 + RGB 00, 00, 00 + + RGB 27, 31, 27 + RGB 31, 31, 07 + RGB 31, 16, 01 + RGB 00, 00, 00 + + RGB 27, 31, 27 + RGB 22, 16, 08 + RGB 13, 07, 01 + RGB 00, 00, 00 + + RGB 27, 31, 27 + RGB 15, 31, 31 + RGB 05, 17, 31 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 11, 11, 19 + RGB 07, 07, 12 + RGB 00, 00, 00 diff --git a/data/palettes/mail.pal b/data/palettes/mail.pal new file mode 100644 index 000000000..4096ffae1 --- /dev/null +++ b/data/palettes/mail.pal @@ -0,0 +1,49 @@ + RGB 20, 31, 11 + RGB 31, 19, 00 + RGB 31, 10, 09 + RGB 00, 00, 00 + + RGB 15, 20, 31 + RGB 30, 26, 00 + RGB 31, 12, 00 + RGB 00, 00, 00 + + RGB 24, 17, 31 + RGB 30, 26, 00 + RGB 08, 11, 31 + RGB 00, 00, 00 + + RGB 31, 25, 17 + RGB 31, 18, 04 + RGB 28, 12, 05 + RGB 00, 00, 00 + + RGB 19, 26, 31 + RGB 31, 05, 08 + RGB 31, 09, 31 + RGB 00, 00, 00 + + RGB 31, 19, 28 + RGB 31, 21, 00 + RGB 12, 22, 00 + RGB 00, 00, 00 + + RGB 19, 17, 23 + RGB 30, 26, 00 + RGB 31, 12, 00 + RGB 00, 00, 00 + + RGB 07, 26, 31 + RGB 26, 26, 27 + RGB 31, 11, 11 + RGB 00, 00, 00 + + RGB 21, 31, 21 + RGB 30, 26, 00 + RGB 31, 12, 00 + RGB 00, 00, 00 + + RGB 07, 26, 31 + RGB 31, 31, 00 + RGB 00, 21, 00 + RGB 00, 00, 00 diff --git a/data/palettes/map_objects.pal b/data/palettes/map_objects.pal new file mode 100644 index 000000000..a6e20d7f0 --- /dev/null +++ b/data/palettes/map_objects.pal @@ -0,0 +1,39 @@ + ; morn + RGB 28,31,16, 31,19,10, 31,07,01, 00,00,00 ; red + RGB 28,31,16, 31,19,10, 10,09,31, 00,00,00 ; blue + RGB 28,31,16, 31,19,10, 07,23,03, 00,00,00 ; green + RGB 28,31,16, 31,19,10, 15,10,03, 00,00,00 ; brown + RGB 28,31,16, 31,19,10, 30,10,06, 00,00,00 ; pink + RGB 31,31,31, 31,31,31, 13,13,13, 00,00,00 ; silver + RGB 22,31,10, 12,25,01, 05,14,00, 07,07,07 ; tree + RGB 28,31,16, 24,18,07, 20,15,03, 07,07,07 ; rock + + ; day + RGB 27,31,27, 31,19,10, 31,07,01, 00,00,00 ; red + RGB 27,31,27, 31,19,10, 10,09,31, 00,00,00 ; blue + RGB 27,31,27, 31,19,10, 07,23,03, 00,00,00 ; green + RGB 27,31,27, 31,19,10, 15,10,03, 00,00,00 ; brown + RGB 27,31,27, 31,19,10, 30,10,06, 00,00,00 ; pink + RGB 31,31,31, 31,31,31, 13,13,13, 00,00,00 ; silver + RGB 22,31,10, 12,25,01, 05,14,00, 07,07,07 ; tree + RGB 27,31,27, 24,18,07, 20,15,03, 07,07,07 ; rock + + ; nite + RGB 15,14,24, 31,19,10, 31,07,01, 00,00,00 ; red + RGB 15,14,24, 31,19,10, 10,09,31, 00,00,00 ; blue + RGB 15,14,24, 31,19,10, 07,23,03, 00,00,00 ; green + RGB 15,14,24, 31,19,10, 15,10,03, 00,00,00 ; brown + RGB 15,14,24, 31,19,10, 30,10,06, 00,00,00 ; pink + RGB 31,31,31, 31,31,31, 13,13,13, 00,00,00 ; silver + RGB 15,14,24, 08,13,19, 00,11,13, 00,00,00 ; tree + RGB 15,14,24, 12,09,15, 08,04,05, 00,00,00 ; rock + + ; dark + RGB 01,01,02, 31,19,10, 31,07,01, 00,00,00 ; red + RGB 01,01,02, 31,19,10, 10,09,31, 00,00,00 ; blue + RGB 01,01,02, 31,19,10, 07,23,03, 00,00,00 ; green + RGB 01,01,02, 31,19,10, 15,10,03, 00,00,00 ; brown + RGB 01,01,02, 31,19,10, 30,10,06, 00,00,00 ; pink + RGB 31,31,31, 31,31,31, 13,13,13, 00,00,00 ; silver + RGB 01,01,02, 00,00,00, 00,00,00, 00,00,00 ; tree + RGB 01,01,02, 00,00,00, 00,00,00, 00,00,00 ; rock diff --git a/data/palettes/mg_mobile.pal b/data/palettes/mg_mobile.pal new file mode 100644 index 000000000..c77e8c63f --- /dev/null +++ b/data/palettes/mg_mobile.pal @@ -0,0 +1,24 @@ + RGB 03, 07, 09 + RGB 26, 31, 00 + RGB 20, 16, 03 + RGB 31, 31, 31 + + RGB 13, 24, 29 + RGB 11, 16, 30 + RGB 07, 11, 22 + RGB 05, 06, 18 + + RGB 31, 31, 31 + RGB 20, 26, 31 + RGB 13, 24, 29 + RGB 11, 16, 30 + + RGB 31, 31, 31 + RGB 20, 26, 31 + RGB 00, 00, 00 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 20, 16, 08 + RGB 31, 00, 00 + RGB 00, 00, 00 diff --git a/data/palettes/ob.pal b/data/palettes/ob.pal deleted file mode 100644 index a6e20d7f0..000000000 --- a/data/palettes/ob.pal +++ /dev/null @@ -1,39 +0,0 @@ - ; morn - RGB 28,31,16, 31,19,10, 31,07,01, 00,00,00 ; red - RGB 28,31,16, 31,19,10, 10,09,31, 00,00,00 ; blue - RGB 28,31,16, 31,19,10, 07,23,03, 00,00,00 ; green - RGB 28,31,16, 31,19,10, 15,10,03, 00,00,00 ; brown - RGB 28,31,16, 31,19,10, 30,10,06, 00,00,00 ; pink - RGB 31,31,31, 31,31,31, 13,13,13, 00,00,00 ; silver - RGB 22,31,10, 12,25,01, 05,14,00, 07,07,07 ; tree - RGB 28,31,16, 24,18,07, 20,15,03, 07,07,07 ; rock - - ; day - RGB 27,31,27, 31,19,10, 31,07,01, 00,00,00 ; red - RGB 27,31,27, 31,19,10, 10,09,31, 00,00,00 ; blue - RGB 27,31,27, 31,19,10, 07,23,03, 00,00,00 ; green - RGB 27,31,27, 31,19,10, 15,10,03, 00,00,00 ; brown - RGB 27,31,27, 31,19,10, 30,10,06, 00,00,00 ; pink - RGB 31,31,31, 31,31,31, 13,13,13, 00,00,00 ; silver - RGB 22,31,10, 12,25,01, 05,14,00, 07,07,07 ; tree - RGB 27,31,27, 24,18,07, 20,15,03, 07,07,07 ; rock - - ; nite - RGB 15,14,24, 31,19,10, 31,07,01, 00,00,00 ; red - RGB 15,14,24, 31,19,10, 10,09,31, 00,00,00 ; blue - RGB 15,14,24, 31,19,10, 07,23,03, 00,00,00 ; green - RGB 15,14,24, 31,19,10, 15,10,03, 00,00,00 ; brown - RGB 15,14,24, 31,19,10, 30,10,06, 00,00,00 ; pink - RGB 31,31,31, 31,31,31, 13,13,13, 00,00,00 ; silver - RGB 15,14,24, 08,13,19, 00,11,13, 00,00,00 ; tree - RGB 15,14,24, 12,09,15, 08,04,05, 00,00,00 ; rock - - ; dark - RGB 01,01,02, 31,19,10, 31,07,01, 00,00,00 ; red - RGB 01,01,02, 31,19,10, 10,09,31, 00,00,00 ; blue - RGB 01,01,02, 31,19,10, 07,23,03, 00,00,00 ; green - RGB 01,01,02, 31,19,10, 15,10,03, 00,00,00 ; brown - RGB 01,01,02, 31,19,10, 30,10,06, 00,00,00 ; pink - RGB 31,31,31, 31,31,31, 13,13,13, 00,00,00 ; silver - RGB 01,01,02, 00,00,00, 00,00,00, 00,00,00 ; tree - RGB 01,01,02, 00,00,00, 00,00,00, 00,00,00 ; rock diff --git a/data/palettes/pack.pal b/data/palettes/pack.pal new file mode 100644 index 000000000..e8b4979bb --- /dev/null +++ b/data/palettes/pack.pal @@ -0,0 +1,29 @@ + RGB 31, 31, 31 + RGB 15, 15, 31 + RGB 00, 00, 31 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 15, 15, 31 + RGB 00, 00, 31 + RGB 00, 00, 00 + + RGB 31, 11, 31 + RGB 15, 15, 31 + RGB 00, 00, 31 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 15, 15, 31 + RGB 00, 00, 31 + RGB 31, 00, 00 + + RGB 31, 31, 31 + RGB 15, 15, 31 + RGB 31, 00, 00 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 07, 19, 07 + RGB 07, 19, 07 + RGB 00, 00, 00 diff --git a/data/palettes/pack_f.pal b/data/palettes/pack_f.pal new file mode 100644 index 000000000..a962d97d1 --- /dev/null +++ b/data/palettes/pack_f.pal @@ -0,0 +1,29 @@ + RGB 31, 31, 31 + RGB 31, 14, 31 + RGB 31, 07, 31 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 31, 14, 31 + RGB 31, 07, 31 + RGB 00, 00, 00 + + RGB 15, 15, 31 + RGB 31, 14, 31 + RGB 31, 07, 31 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 31, 14, 31 + RGB 31, 07, 31 + RGB 31, 00, 00 + + RGB 31, 31, 31 + RGB 31, 14, 31 + RGB 31, 00, 00 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 07, 19, 07 + RGB 07, 19, 07 + RGB 00, 00, 00 diff --git a/data/palettes/party_menu.pal b/data/palettes/party_menu.pal new file mode 100644 index 000000000..70af517be --- /dev/null +++ b/data/palettes/party_menu.pal @@ -0,0 +1,69 @@ + RGB 27, 31, 27 + RGB 31, 19, 10 + RGB 31, 07, 04 + RGB 00, 00, 00 + + RGB 27, 31, 27 + RGB 31, 19, 10 + RGB 10, 14, 20 + RGB 00, 00, 00 + + RGB 27, 31, 27 + RGB 31, 19, 10 + RGB 31, 07, 04 + RGB 00, 00, 00 + + RGB 27, 31, 27 + RGB 31, 19, 10 + RGB 31, 07, 04 + RGB 00, 00, 00 + + RGB 27, 31, 27 + RGB 31, 19, 10 + RGB 31, 07, 04 + RGB 00, 00, 00 + + RGB 27, 31, 27 + RGB 31, 19, 10 + RGB 31, 07, 04 + RGB 00, 00, 00 + + RGB 27, 31, 27 + RGB 31, 19, 10 + RGB 31, 07, 04 + RGB 00, 00, 00 + + RGB 27, 31, 27 + RGB 31, 19, 10 + RGB 31, 07, 04 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 21, 21, 21 + RGB 13, 13, 13 + RGB 07, 07, 07 + + RGB 31, 31, 31 + RGB 31, 31, 07 + RGB 31, 16, 01 + RGB 07, 07, 07 + + RGB 31, 31, 31 + RGB 31, 19, 24 + RGB 30, 10, 06 + RGB 07, 07, 07 + + RGB 31, 31, 31 + RGB 12, 25, 01 + RGB 05, 14, 00 + RGB 07, 07, 07 + + RGB 31, 31, 31 + RGB 08, 12, 31 + RGB 01, 04, 31 + RGB 07, 07, 07 + + RGB 31, 31, 31 + RGB 24, 18, 07 + RGB 20, 15, 03 + RGB 07, 07, 07 diff --git a/data/palettes/pokegear.pal b/data/palettes/pokegear.pal new file mode 100644 index 000000000..397986dec --- /dev/null +++ b/data/palettes/pokegear.pal @@ -0,0 +1,29 @@ + RGB 28, 31, 20 + RGB 21, 21, 21 + RGB 13, 13, 13 + RGB 00, 00, 00 + + RGB 28, 31, 20 + RGB 00, 31, 00 + RGB 00, 00, 31 + RGB 00, 00, 00 + + RGB 28, 31, 20 + RGB 00, 31, 00 + RGB 15, 07, 00 + RGB 00, 00, 00 + + RGB 28, 31, 20 + RGB 31, 15, 00 + RGB 15, 07, 00 + RGB 00, 00, 00 + + RGB 28, 31, 20 + RGB 00, 31, 00 + RGB 00, 00, 31 + RGB 31, 00, 00 + + RGB 28, 31, 20 + RGB 00, 31, 00 + RGB 15, 07, 00 + RGB 31, 00, 00 diff --git a/data/palettes/pokegear_f.pal b/data/palettes/pokegear_f.pal new file mode 100644 index 000000000..3f797c866 --- /dev/null +++ b/data/palettes/pokegear_f.pal @@ -0,0 +1,29 @@ + RGB 28, 31, 20 + RGB 21, 21, 21 + RGB 13, 13, 13 + RGB 00, 00, 00 + + RGB 28, 31, 20 + RGB 00, 31, 00 + RGB 00, 00, 31 + RGB 00, 00, 00 + + RGB 28, 31, 20 + RGB 00, 31, 00 + RGB 15, 07, 00 + RGB 00, 00, 00 + + RGB 28, 31, 20 + RGB 10, 18, 31 + RGB 13, 06, 31 + RGB 00, 00, 00 + + RGB 28, 31, 20 + RGB 00, 31, 00 + RGB 00, 00, 31 + RGB 31, 00, 00 + + RGB 28, 31, 20 + RGB 00, 31, 00 + RGB 15, 07, 00 + RGB 31, 00, 00 diff --git a/data/palettes/predef.pal b/data/palettes/predef.pal new file mode 100644 index 000000000..6975f17a2 --- /dev/null +++ b/data/palettes/predef.pal @@ -0,0 +1,394 @@ + RGB 31, 31, 31 + RGB 22, 25, 19 + RGB 16, 21, 30 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 27, 28, 31 + RGB 15, 20, 31 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 24, 28, 19 + RGB 15, 20, 31 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 24, 24, 24 + RGB 15, 20, 31 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 21, 23, 31 + RGB 15, 20, 31 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 24, 21, 27 + RGB 15, 20, 31 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 31, 24, 16 + RGB 15, 20, 31 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 25, 30, 26 + RGB 15, 20, 31 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 31, 25, 31 + RGB 15, 20, 31 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 31, 20, 19 + RGB 15, 20, 31 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 31, 26, 19 + RGB 15, 20, 31 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 27, 28, 27 + RGB 15, 20, 31 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 24, 30, 23 + RGB 15, 20, 31 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 29, 24, 29 + RGB 15, 20, 31 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 26, 23, 29 + RGB 15, 20, 31 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 25, 23, 20 + RGB 15, 20, 31 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 29, 26, 18 + RGB 15, 20, 31 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 31, 21, 18 + RGB 15, 20, 31 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 26, 25, 31 + RGB 15, 20, 31 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 22, 21, 31 + RGB 15, 20, 31 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 22, 25, 21 + RGB 15, 20, 31 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 21, 21, 22 + RGB 15, 20, 31 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 31, 20, 20 + RGB 15, 20, 31 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 26, 26, 26 + RGB 15, 20, 31 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 21, 14, 09 + RGB 15, 20, 20 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 12, 28, 22 + RGB 15, 20, 20 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 07, 07, 07 + RGB 02, 03, 03 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 30, 22, 17 + RGB 16, 14, 19 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 18, 20, 27 + RGB 11, 15, 23 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 31, 20, 10 + RGB 26, 10, 06 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 21, 25, 29 + RGB 14, 19, 25 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 27, 22, 24 + RGB 21, 15, 23 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 28, 20, 15 + RGB 21, 14, 09 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 20, 26, 16 + RGB 09, 20, 11 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 30, 22, 24 + RGB 28, 15, 21 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 31, 28, 14 + RGB 26, 20, 00 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 26, 21, 22 + RGB 15, 15, 18 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 23, 19, 13 + RGB 14, 12, 17 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 16, 18, 21 + RGB 10, 12, 18 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 22, 15, 16 + RGB 17, 02, 05 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 15, 20, 20 + RGB 05, 16, 16 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 23, 15, 19 + RGB 14, 04, 12 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 20, 17, 18 + RGB 18, 13, 11 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 23, 21, 16 + RGB 12, 12, 10 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 21, 25, 29 + RGB 30, 22, 24 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 26, 23, 16 + RGB 29, 14, 09 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 18, 18, 18 + RGB 10, 10, 10 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 30, 26, 15 + RGB 00, 23, 00 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 30, 26, 15 + RGB 31, 23, 00 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 30, 26, 15 + RGB 31, 00, 00 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 29, 26, 19 + RGB 27, 20, 14 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 24, 20, 10 + RGB 21, 00, 04 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 31, 20, 10 + RGB 21, 00, 04 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 30, 26, 16 + RGB 16, 12, 09 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 15, 28, 26 + RGB 12, 22, 26 + RGB 03, 16, 14 + + RGB 31, 31, 31 + RGB 15, 28, 26 + RGB 23, 24, 24 + RGB 00, 00, 00 + + RGB 31, 31, 24 + RGB 07, 27, 19 + RGB 26, 20, 10 + RGB 19, 12, 08 + + RGB 31, 31, 31 + RGB 31, 28, 14 + RGB 31, 13, 31 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 16, 18, 21 + RGB 10, 12, 18 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 23, 21, 16 + RGB 12, 12, 10 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 31, 14, 00 + RGB 07, 11, 15 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 26, 21, 22 + RGB 26, 10, 06 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 30, 27, 04 + RGB 24, 20, 11 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 31, 13, 25 + RGB 24, 20, 11 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 16, 19, 29 + RGB 24, 20, 11 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 30, 22, 24 + RGB 18, 18, 18 + RGB 16, 10, 07 + + RGB 31, 31, 31 + RGB 21, 25, 29 + RGB 18, 18, 18 + RGB 16, 10, 07 + + RGB 31, 31, 31 + RGB 20, 26, 16 + RGB 18, 18, 18 + RGB 16, 10, 07 + + RGB 31, 31, 31 + RGB 31, 28, 14 + RGB 18, 18, 18 + RGB 16, 10, 07 + + RGB 31, 31, 31 + RGB 18, 18, 18 + RGB 26, 10, 06 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 30, 22, 24 + RGB 28, 15, 21 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 26, 20, 00 + RGB 16, 19, 29 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 16, 02, 30 + RGB 15, 20, 31 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 16, 13, 04 + RGB 15, 20, 31 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 28, 04, 02 + RGB 15, 20, 31 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 18, 23, 31 + RGB 15, 20, 31 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 24, 20, 11 + RGB 18, 13, 11 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 25, 30, 00 + RGB 25, 30, 00 + + RGB 00, 00, 00 + RGB 08, 11, 11 + RGB 21, 21, 21 + RGB 31, 31, 31 diff --git a/data/palettes/roof.pal b/data/palettes/roof.pal deleted file mode 100644 index ba65fc7d2..000000000 --- a/data/palettes/roof.pal +++ /dev/null @@ -1,161 +0,0 @@ -; group 0 (unused) - RGB 21, 21, 21 - RGB 11, 11, 11 - RGB 21, 21, 21 - RGB 11, 11, 11 - -; group 1 (Olivine) - RGB 14, 17, 31 - RGB 07, 11, 15 - RGB 09, 09, 17 - RGB 05, 07, 13 - -; group 2 (Mahogany) - RGB 12, 19, 00 - RGB 06, 10, 00 - RGB 06, 09, 07 - RGB 04, 05, 06 - -; group 3 - RGB 21, 21, 21 - RGB 11, 11, 11 - RGB 21, 21, 21 - RGB 17, 08, 07 - -; group 4 (Ecruteak) - RGB 31, 19, 00 - RGB 27, 10, 05 - RGB 15, 07, 02 - RGB 11, 04, 02 - -; group 5 (Blackthorn) - RGB 11, 10, 16 - RGB 05, 06, 07 - RGB 03, 04, 08 - RGB 00, 00, 00 - -; group 6 (Cinnabar) - RGB 31, 10, 00 - RGB 18, 06, 00 - RGB 18, 05, 09 - RGB 17, 08, 07 - -; group 7 (Cerulean) - RGB 17, 27, 31 - RGB 05, 15, 31 - RGB 07, 08, 22 - RGB 07, 07, 16 - -; group 8 (Azalea) - RGB 22, 20, 10 - RGB 17, 14, 03 - RGB 11, 11, 05 - RGB 10, 09, 07 - -; group 9 (Lake of Rage) - RGB 31, 08, 04 - RGB 09, 09, 08 - RGB 18, 05, 09 - RGB 09, 09, 08 - -; group 10 (Violet) - RGB 24, 14, 31 - RGB 13, 07, 21 - RGB 12, 03, 18 - RGB 09, 03, 15 - -; group 11 (Goldenrod) - RGB 25, 25, 00 - RGB 20, 17, 08 - RGB 12, 12, 00 - RGB 10, 09, 05 - -; group 12 (Vermilion) - RGB 27, 23, 01 - RGB 23, 11, 00 - RGB 15, 11, 01 - RGB 11, 10, 01 - -; group 13 (Pallet) - RGB 27, 28, 31 - RGB 17, 19, 22 - RGB 14, 14, 18 - RGB 10, 09, 13 - -; group 14 (Pewter) - RGB 19, 19, 16 - RGB 10, 12, 15 - RGB 09, 09, 11 - RGB 04, 05, 07 - -; group 15 (Mount Moon Square) - RGB 14, 17, 31 - RGB 07, 11, 15 - RGB 09, 13, 19 - RGB 07, 07, 16 - -; group 16 (Route 23) - RGB 21, 21, 21 - RGB 13, 13, 13 - RGB 11, 11, 19 - RGB 07, 07, 12 - -; group 17 (Fuchsia) - RGB 31, 18, 29 - RGB 17, 13, 20 - RGB 14, 06, 12 - RGB 11, 03, 10 - -; group 18 (Lavender) - RGB 23, 15, 31 - RGB 16, 05, 31 - RGB 12, 07, 17 - RGB 08, 06, 10 - -; group 19 (Route 28) - RGB 21, 21, 25 - RGB 16, 16, 16 - RGB 13, 13, 13 - RGB 07, 07, 07 - -; group 20 - RGB 21, 21, 21 - RGB 11, 11, 11 - RGB 21, 21, 21 - RGB 11, 11, 11 - -; group 21 (Celadon) - RGB 19, 31, 15 - RGB 31, 22, 02 - RGB 12, 13, 09 - RGB 09, 12, 03 - -; group 22 (Cianwood) - RGB 15, 10, 31 - RGB 07, 05, 15 - RGB 06, 05, 17 - RGB 02, 02, 08 - -; group 23 (Viridian) - RGB 21, 31, 07 - RGB 13, 25, 04 - RGB 09, 14, 08 - RGB 06, 10, 04 - -; group 24 (New Bark) - RGB 20, 31, 14 - RGB 11, 23, 05 - RGB 09, 13, 08 - RGB 06, 09, 04 - -; group 25 (Saffron) - RGB 31, 26, 00 - RGB 31, 15, 00 - RGB 13, 13, 01 - RGB 08, 08, 01 - -; group 26 (Cherrygrove) - RGB 31, 14, 28 - RGB 31, 05, 21 - RGB 14, 07, 17 - RGB 13, 00, 08 diff --git a/data/palettes/roofs.pal b/data/palettes/roofs.pal new file mode 100644 index 000000000..ba65fc7d2 --- /dev/null +++ b/data/palettes/roofs.pal @@ -0,0 +1,161 @@ +; group 0 (unused) + RGB 21, 21, 21 + RGB 11, 11, 11 + RGB 21, 21, 21 + RGB 11, 11, 11 + +; group 1 (Olivine) + RGB 14, 17, 31 + RGB 07, 11, 15 + RGB 09, 09, 17 + RGB 05, 07, 13 + +; group 2 (Mahogany) + RGB 12, 19, 00 + RGB 06, 10, 00 + RGB 06, 09, 07 + RGB 04, 05, 06 + +; group 3 + RGB 21, 21, 21 + RGB 11, 11, 11 + RGB 21, 21, 21 + RGB 17, 08, 07 + +; group 4 (Ecruteak) + RGB 31, 19, 00 + RGB 27, 10, 05 + RGB 15, 07, 02 + RGB 11, 04, 02 + +; group 5 (Blackthorn) + RGB 11, 10, 16 + RGB 05, 06, 07 + RGB 03, 04, 08 + RGB 00, 00, 00 + +; group 6 (Cinnabar) + RGB 31, 10, 00 + RGB 18, 06, 00 + RGB 18, 05, 09 + RGB 17, 08, 07 + +; group 7 (Cerulean) + RGB 17, 27, 31 + RGB 05, 15, 31 + RGB 07, 08, 22 + RGB 07, 07, 16 + +; group 8 (Azalea) + RGB 22, 20, 10 + RGB 17, 14, 03 + RGB 11, 11, 05 + RGB 10, 09, 07 + +; group 9 (Lake of Rage) + RGB 31, 08, 04 + RGB 09, 09, 08 + RGB 18, 05, 09 + RGB 09, 09, 08 + +; group 10 (Violet) + RGB 24, 14, 31 + RGB 13, 07, 21 + RGB 12, 03, 18 + RGB 09, 03, 15 + +; group 11 (Goldenrod) + RGB 25, 25, 00 + RGB 20, 17, 08 + RGB 12, 12, 00 + RGB 10, 09, 05 + +; group 12 (Vermilion) + RGB 27, 23, 01 + RGB 23, 11, 00 + RGB 15, 11, 01 + RGB 11, 10, 01 + +; group 13 (Pallet) + RGB 27, 28, 31 + RGB 17, 19, 22 + RGB 14, 14, 18 + RGB 10, 09, 13 + +; group 14 (Pewter) + RGB 19, 19, 16 + RGB 10, 12, 15 + RGB 09, 09, 11 + RGB 04, 05, 07 + +; group 15 (Mount Moon Square) + RGB 14, 17, 31 + RGB 07, 11, 15 + RGB 09, 13, 19 + RGB 07, 07, 16 + +; group 16 (Route 23) + RGB 21, 21, 21 + RGB 13, 13, 13 + RGB 11, 11, 19 + RGB 07, 07, 12 + +; group 17 (Fuchsia) + RGB 31, 18, 29 + RGB 17, 13, 20 + RGB 14, 06, 12 + RGB 11, 03, 10 + +; group 18 (Lavender) + RGB 23, 15, 31 + RGB 16, 05, 31 + RGB 12, 07, 17 + RGB 08, 06, 10 + +; group 19 (Route 28) + RGB 21, 21, 25 + RGB 16, 16, 16 + RGB 13, 13, 13 + RGB 07, 07, 07 + +; group 20 + RGB 21, 21, 21 + RGB 11, 11, 11 + RGB 21, 21, 21 + RGB 11, 11, 11 + +; group 21 (Celadon) + RGB 19, 31, 15 + RGB 31, 22, 02 + RGB 12, 13, 09 + RGB 09, 12, 03 + +; group 22 (Cianwood) + RGB 15, 10, 31 + RGB 07, 05, 15 + RGB 06, 05, 17 + RGB 02, 02, 08 + +; group 23 (Viridian) + RGB 21, 31, 07 + RGB 13, 25, 04 + RGB 09, 14, 08 + RGB 06, 10, 04 + +; group 24 (New Bark) + RGB 20, 31, 14 + RGB 11, 23, 05 + RGB 09, 13, 08 + RGB 06, 09, 04 + +; group 25 (Saffron) + RGB 31, 26, 00 + RGB 31, 15, 00 + RGB 13, 13, 01 + RGB 08, 08, 01 + +; group 26 (Cherrygrove) + RGB 31, 14, 28 + RGB 31, 05, 21 + RGB 14, 07, 17 + RGB 13, 00, 08 diff --git a/data/palettes/sgb_border.pal b/data/palettes/sgb_border.pal new file mode 100644 index 000000000..fd5aec402 --- /dev/null +++ b/data/palettes/sgb_border.pal @@ -0,0 +1,79 @@ + RGB 24, 06, 06 + RGB 24, 24, 26 + RGB 14, 15, 20 + RGB 04, 07, 10 + + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 + + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 + + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 + + RGB 18, 24, 18 + RGB 31, 26, 15 + RGB 26, 19, 10 + RGB 12, 07, 05 + + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 + + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 + + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 + + RGB 18, 06, 31 + RGB 31, 31, 29 + RGB 31, 12, 00 + RGB 00, 00, 00 + + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 + + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 + + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 + + RGB 12, 31, 06 + RGB 22, 26, 30 + RGB 16, 17, 21 + RGB 00, 03, 00 + + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 + + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 + + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 diff --git a/data/palettes/slot_machine.pal b/data/palettes/slot_machine.pal new file mode 100644 index 000000000..0eec479f2 --- /dev/null +++ b/data/palettes/slot_machine.pal @@ -0,0 +1,79 @@ + RGB 31, 31, 31 + RGB 24, 25, 28 + RGB 24, 24, 09 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 30, 10, 06 + RGB 24, 24, 09 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 15, 31, 00 + RGB 24, 24, 09 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 31, 15, 31 + RGB 24, 24, 09 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 15, 21, 31 + RGB 24, 24, 09 + RGB 00, 00, 00 + + RGB 31, 31, 11 + RGB 31, 31, 06 + RGB 24, 24, 09 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 16, 19, 29 + RGB 25, 22, 00 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 21, 21, 21 + RGB 13, 13, 13 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 30, 10, 06 + RGB 31, 00, 00 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 12, 25, 01 + RGB 05, 14, 00 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 12, 25, 01 + RGB 30, 10, 06 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 31, 31, 06 + RGB 20, 15, 03 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 31, 31, 06 + RGB 15, 21, 31 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 31, 31, 06 + RGB 20, 15, 03 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 31, 24, 21 + RGB 31, 13, 31 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 00, 00, 00 + RGB 00, 00, 00 diff --git a/data/palettes/tileset_bg.pal b/data/palettes/tileset_bg.pal new file mode 100644 index 000000000..3cd14d142 --- /dev/null +++ b/data/palettes/tileset_bg.pal @@ -0,0 +1,227 @@ +; morn + +; gray + RGB 28, 31, 16 + RGB 21, 21, 21 + RGB 13, 13, 13 + RGB 07, 07, 07 +; red + RGB 28, 31, 16 + RGB 31, 19, 24 + RGB 30, 10, 06 + RGB 07, 07, 07 +; green + RGB 22, 31, 10 + RGB 12, 25, 01 + RGB 05, 14, 00 + RGB 07, 07, 07 +; water + RGB 31, 31, 31 + RGB 08, 12, 31 + RGB 01, 04, 31 + RGB 07, 07, 07 +; yellow + RGB 28, 31, 16 + RGB 31, 31, 07 + RGB 31, 16, 01 + RGB 07, 07, 07 +; brown + RGB 28, 31, 16 + RGB 24, 18, 07 + RGB 20, 15, 03 + RGB 07, 07, 07 +; roof + RGB 28, 31, 16 + RGB 15, 31, 31 + RGB 05, 17, 31 + RGB 07, 07, 07 +; text + RGB 31, 31, 16 + RGB 31, 31, 16 + RGB 14, 09, 00 + RGB 00, 00, 00 + +; day + +; gray + RGB 27, 31, 27 + RGB 21, 21, 21 + RGB 13, 13, 13 + RGB 07, 07, 07 +; red + RGB 27, 31, 27 + RGB 31, 19, 24 + RGB 30, 10, 06 + RGB 07, 07, 07 +; green + RGB 22, 31, 10 + RGB 12, 25, 01 + RGB 05, 14, 00 + RGB 07, 07, 07 +; water + RGB 31, 31, 31 + RGB 08, 12, 31 + RGB 01, 04, 31 + RGB 07, 07, 07 +; yellow + RGB 27, 31, 27 + RGB 31, 31, 07 + RGB 31, 16, 01 + RGB 07, 07, 07 +; brown + RGB 27, 31, 27 + RGB 24, 18, 07 + RGB 20, 15, 03 + RGB 07, 07, 07 +; roof + RGB 27, 31, 27 + RGB 15, 31, 31 + RGB 05, 17, 31 + RGB 07, 07, 07 +; text + RGB 31, 31, 16 + RGB 31, 31, 16 + RGB 14, 09, 00 + RGB 00, 00, 00 + +; nite + +; gray + RGB 15, 14, 24 + RGB 11, 11, 19 + RGB 07, 07, 12 + RGB 00, 00, 00 +; red + RGB 15, 14, 24 + RGB 14, 07, 17 + RGB 13, 00, 08 + RGB 00, 00, 00 +; green + RGB 15, 14, 24 + RGB 08, 13, 19 + RGB 00, 11, 13 + RGB 00, 00, 00 +; water + RGB 15, 14, 24 + RGB 05, 05, 17 + RGB 03, 03, 10 + RGB 00, 00, 00 +; yellow + RGB 30, 30, 11 + RGB 16, 14, 18 + RGB 16, 14, 10 + RGB 00, 00, 00 +; brown + RGB 15, 14, 24 + RGB 12, 09, 15 + RGB 08, 04, 05 + RGB 00, 00, 00 +; roof + RGB 15, 14, 24 + RGB 13, 12, 23 + RGB 11, 09, 20 + RGB 00, 00, 00 +; text + RGB 31, 31, 16 + RGB 31, 31, 16 + RGB 14, 09, 00 + RGB 00, 00, 00 + +; dark + +; gray + RGB 01, 01, 02 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 +; red + RGB 01, 01, 02 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 +; green + RGB 01, 01, 02 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 +; water + RGB 01, 01, 02 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 +; yellow + RGB 30, 30, 11 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 +; brown + RGB 01, 01, 02 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 +; roof + RGB 01, 01, 02 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 +; text + RGB 31, 31, 16 + RGB 31, 31, 16 + RGB 14, 09, 00 + RGB 00, 00, 00 + +; indoor + +; gray + RGB 30, 28, 26 + RGB 19, 19, 19 + RGB 13, 13, 13 + RGB 07, 07, 07 +; red + RGB 30, 28, 26 + RGB 31, 19, 24 + RGB 30, 10, 06 + RGB 07, 07, 07 +; green + RGB 18, 24, 09 + RGB 15, 20, 01 + RGB 09, 13, 00 + RGB 07, 07, 07 +; water + RGB 30, 28, 26 + RGB 15, 16, 31 + RGB 09, 09, 31 + RGB 07, 07, 07 +; yellow + RGB 30, 28, 26 + RGB 31, 31, 07 + RGB 31, 16, 01 + RGB 07, 07, 07 +; brown + RGB 26, 24, 17 + RGB 21, 17, 07 + RGB 16, 13, 03 + RGB 07, 07, 07 +; roof + RGB 30, 28, 26 + RGB 17, 19, 31 + RGB 14, 16, 31 + RGB 07, 07, 07 +; text + RGB 31, 31, 16 + RGB 31, 31, 16 + RGB 14, 09, 00 + RGB 00, 00, 00 + +; overworld water + +; morn/day + RGB 23, 23, 31 + RGB 18, 19, 31 + RGB 13, 12, 31 + RGB 07, 07, 07 +; nite + RGB 15, 13, 27 + RGB 10, 09, 20 + RGB 04, 03, 18 + RGB 00, 00, 00 diff --git a/data/palettes/title.pal b/data/palettes/title.pal new file mode 100644 index 000000000..95bc2a394 --- /dev/null +++ b/data/palettes/title.pal @@ -0,0 +1,81 @@ +; BG + RGB 00, 00, 00 + RGB 19, 00, 00 + RGB 15, 08, 31 + RGB 15, 08, 31 + + RGB 00, 00, 00 + RGB 31, 31, 31 + RGB 15, 16, 31 + RGB 31, 01, 13 + + RGB 00, 00, 00 + RGB 07, 07, 07 + RGB 31, 31, 31 + RGB 02, 03, 30 + + RGB 00, 00, 00 + RGB 13, 13, 13 + RGB 31, 31, 18 + RGB 02, 03, 30 + + RGB 00, 00, 00 + RGB 19, 19, 19 + RGB 29, 28, 12 + RGB 02, 03, 30 + + RGB 00, 00, 00 + RGB 25, 25, 25 + RGB 28, 25, 06 + RGB 02, 03, 30 + + RGB 00, 00, 00 + RGB 31, 31, 31 + RGB 26, 21, 00 + RGB 02, 03, 30 + + RGB 00, 00, 00 + RGB 11, 11, 19 + RGB 31, 31, 31 + RGB 00, 00, 00 + +; OBJ + RGB 00, 00, 00 + RGB 10, 00, 15 + RGB 17, 05, 22 + RGB 19, 09, 31 + + RGB 31, 31, 31 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 diff --git a/data/palettes/town_map.asm b/data/palettes/town_map.asm index 88621a2fb..49fb7a9ce 100644 --- a/data/palettes/town_map.asm +++ b/data/palettes/town_map.asm @@ -1,10 +1,10 @@ const_def - const PAL_TOWNMAP_BORDER ; 0 - const PAL_TOWNMAP_EARTH ; 1 - const PAL_TOWNMAP_MTN ; 2 - const PAL_TOWNMAP_CITY ; 3 - const PAL_TOWNMAP_POI ; 4 - const PAL_TOWNMAP_POI_MTN ; 5 + const PAL_TOWNMAP_BORDER ; 0 + const PAL_TOWNMAP_EARTH ; 1 + const PAL_TOWNMAP_MOUNTAIN ; 2 + const PAL_TOWNMAP_CITY ; 3 + const PAL_TOWNMAP_POI ; 4 + const PAL_TOWNMAP_POI_MTN ; 5 townmappals: macro rept _NARG / 2 @@ -15,20 +15,20 @@ endr endm ; gfx/pokegear/town_map.png - townmappals EARTH, EARTH, EARTH, MTN, MTN, MTN - townmappals BORDER, BORDER, EARTH, EARTH, CITY, EARTH - townmappals POI, POI_MTN, POI, POI_MTN, EARTH, EARTH - townmappals EARTH, MTN, MTN, MTN, BORDER, BORDER - townmappals EARTH, EARTH, BORDER, EARTH, EARTH, BORDER - townmappals BORDER, BORDER, EARTH, EARTH, EARTH, MTN - townmappals MTN, MTN, BORDER, BORDER, BORDER, BORDER - townmappals BORDER, BORDER, BORDER, BORDER, BORDER, BORDER + townmappals EARTH, EARTH, EARTH, MOUNTAIN, MOUNTAIN, MOUNTAIN + townmappals BORDER, BORDER, EARTH, EARTH, CITY, EARTH + townmappals POI, POI_MTN, POI, POI_MTN, EARTH, EARTH + townmappals EARTH, MOUNTAIN, MOUNTAIN, MOUNTAIN, BORDER, BORDER + townmappals EARTH, EARTH, BORDER, EARTH, EARTH, BORDER + townmappals BORDER, BORDER, EARTH, EARTH, EARTH, MOUNTAIN + townmappals MOUNTAIN, MOUNTAIN, BORDER, BORDER, BORDER, BORDER + townmappals BORDER, BORDER, BORDER, BORDER, BORDER, BORDER ; gfx/pokegear/pokegear.png - townmappals BORDER, BORDER, BORDER, BORDER, POI, POI - townmappals POI, BORDER, BORDER, BORDER, BORDER, BORDER - townmappals BORDER, BORDER, BORDER, BORDER, CITY, CITY - townmappals CITY, CITY, CITY, CITY, CITY, CITY - townmappals CITY, CITY, CITY, CITY, CITY, CITY - townmappals CITY, BORDER, CITY, CITY, CITY, CITY - townmappals CITY, CITY, CITY, CITY, BORDER, BORDER - townmappals BORDER, BORDER, BORDER, BORDER, BORDER, BORDER + townmappals BORDER, BORDER, BORDER, BORDER, POI, POI + townmappals POI, BORDER, BORDER, BORDER, BORDER, BORDER + townmappals BORDER, BORDER, BORDER, BORDER, CITY, CITY + townmappals CITY, CITY, CITY, CITY, CITY, CITY + townmappals CITY, CITY, CITY, CITY, CITY, CITY + townmappals CITY, BORDER, CITY, CITY, CITY, CITY + townmappals CITY, CITY, CITY, CITY, BORDER, BORDER + townmappals BORDER, BORDER, BORDER, BORDER, BORDER, BORDER diff --git a/data/palettes/trade_room.pal b/data/palettes/trade_room.pal new file mode 100644 index 000000000..b5615248e --- /dev/null +++ b/data/palettes/trade_room.pal @@ -0,0 +1,29 @@ + RGB 04, 02, 15 + RGB 07, 09, 31 + RGB 31, 00, 00 + RGB 31, 31, 31 + + RGB 04, 02, 15 + RGB 07, 09, 31 + RGB 15, 23, 30 + RGB 31, 31, 31 + + RGB 04, 02, 15 + RGB 07, 09, 31 + RGB 16, 16, 16 + RGB 31, 31, 31 + + RGB 04, 02, 15 + RGB 07, 09, 31 + RGB 25, 07, 04 + RGB 31, 31, 31 + + RGB 04, 02, 15 + RGB 07, 09, 31 + RGB 03, 22, 08 + RGB 31, 31, 31 + + RGB 04, 02, 15 + RGB 07, 09, 31 + RGB 29, 28, 09 + RGB 31, 31, 31 diff --git a/data/palettes/unused_title/bg.pal b/data/palettes/unused_title/bg.pal new file mode 100644 index 000000000..f0604a261 --- /dev/null +++ b/data/palettes/unused_title/bg.pal @@ -0,0 +1,39 @@ + RGB 00, 00, 00 + RGB 25, 15, 28 + RGB 22, 11, 28 + RGB 19, 08, 26 + + RGB 00, 00, 00 + RGB 17, 07, 22 + RGB 13, 07, 16 + RGB 19, 08, 26 + + RGB 25, 15, 28 + RGB 22, 11, 28 + RGB 19, 08, 26 + RGB 17, 07, 22 + + RGB 22, 11, 28 + RGB 19, 08, 26 + RGB 17, 07, 22 + RGB 13, 07, 16 + + RGB 00, 00, 00 + RGB 31, 31, 31 + RGB 16, 16, 24 + RGB 02, 13, 21 + + RGB 00, 00, 00 + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 12, 12, 12 + + RGB 00, 00, 00 + RGB 01, 11, 23 + RGB 16, 16, 24 + RGB 02, 13, 21 + + RGB 00, 00, 00 + RGB 22, 10, 31 + RGB 19, 08, 26 + RGB 17, 07, 22 diff --git a/data/palettes/unused_title/ob.pal b/data/palettes/unused_title/ob.pal new file mode 100644 index 000000000..80e7d9896 --- /dev/null +++ b/data/palettes/unused_title/ob.pal @@ -0,0 +1,319 @@ + RGB 00, 00, 00 + RGB 31, 31, 31 + RGB 16, 16, 24 + RGB 02, 13, 21 + + RGB 00, 00, 00 + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 12, 12, 12 + + RGB 00, 00, 00 + RGB 01, 11, 23 + RGB 16, 16, 24 + RGB 02, 13, 21 + + RGB 00, 00, 00 + RGB 31, 22, 00 + RGB 31, 27, 00 + RGB 31, 31, 00 + + RGB 00, 00, 00 + RGB 31, 31, 31 + RGB 16, 16, 24 + RGB 02, 13, 21 + + RGB 00, 00, 00 + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 12, 12, 12 + + RGB 00, 00, 00 + RGB 01, 11, 23 + RGB 16, 16, 24 + RGB 02, 13, 21 + + RGB 16, 31, 00 + RGB 22, 31, 00 + RGB 27, 31, 00 + RGB 31, 31, 00 + + RGB 31, 00, 18 + RGB 31, 31, 31 + RGB 16, 16, 24 + RGB 02, 13, 21 + + RGB 00, 00, 00 + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 12, 12, 12 + + RGB 00, 00, 00 + RGB 01, 11, 23 + RGB 16, 16, 24 + RGB 02, 13, 21 + + RGB 16, 31, 00 + RGB 22, 31, 00 + RGB 27, 31, 00 + RGB 31, 31, 00 + + RGB 24, 18, 31 + RGB 31, 31, 00 + RGB 31, 31, 01 + RGB 31, 31, 03 + + RGB 31, 31, 05 + RGB 31, 31, 08 + RGB 31, 31, 10 + RGB 31, 31, 12 + + RGB 31, 31, 14 + RGB 31, 31, 16 + RGB 31, 31, 18 + RGB 31, 31, 20 + + RGB 31, 31, 22 + RGB 31, 31, 25 + RGB 31, 31, 27 + RGB 31, 31, 29 + + RGB 24, 06, 06 + RGB 01, 01, 01 + RGB 03, 03, 03 + RGB 05, 05, 05 + + RGB 08, 08, 08 + RGB 10, 10, 10 + RGB 12, 12, 12 + RGB 14, 14, 14 + + RGB 16, 16, 16 + RGB 18, 18, 18 + RGB 20, 20, 20 + RGB 22, 22, 22 + + RGB 25, 25, 25 + RGB 27, 27, 27 + RGB 29, 29, 29 + RGB 31, 31, 31 + + RGB 18, 24, 18 + RGB 31, 29, 01 + RGB 31, 27, 03 + RGB 31, 25, 05 + + RGB 31, 22, 08 + RGB 31, 20, 10 + RGB 31, 18, 12 + RGB 31, 16, 14 + + RGB 31, 14, 16 + RGB 31, 12, 18 + RGB 31, 10, 20 + RGB 31, 08, 22 + + RGB 31, 05, 25 + RGB 31, 03, 27 + RGB 31, 01, 29 + RGB 31, 00, 31 + + RGB 18, 06, 31 + RGB 00, 31, 31 + RGB 00, 31, 29 + RGB 00, 31, 27 + + RGB 00, 31, 25 + RGB 00, 31, 22 + RGB 00, 31, 20 + RGB 00, 31, 18 + + RGB 00, 31, 16 + RGB 00, 31, 14 + RGB 00, 31, 12 + RGB 00, 31, 10 + + RGB 00, 31, 08 + RGB 00, 31, 05 + RGB 00, 31, 03 + RGB 00, 31, 01 + + RGB 12, 31, 06 + RGB 00, 00, 31 + RGB 00, 01, 31 + RGB 00, 03, 31 + + RGB 00, 05, 31 + RGB 00, 08, 31 + RGB 00, 10, 31 + RGB 00, 12, 31 + + RGB 00, 14, 31 + RGB 00, 16, 31 + RGB 00, 18, 31 + RGB 00, 20, 31 + + RGB 00, 22, 31 + RGB 00, 25, 31 + RGB 00, 27, 31 + RGB 00, 29, 31 + + RGB 00, 00, 00 + RGB 06, 00, 04 + RGB 19, 02, 09 + RGB 28, 04, 11 + + RGB 31, 07, 16 + RGB 31, 17, 23 + RGB 31, 26, 30 + RGB 07, 05, 10 + + RGB 14, 10, 18 + RGB 20, 20, 25 + RGB 25, 27, 31 + RGB 09, 05, 06 + + RGB 23, 16, 13 + RGB 30, 23, 22 + RGB 31, 28, 28 + RGB 31, 31, 31 + + RGB 06, 31, 31 + RGB 04, 00, 04 + RGB 11, 02, 04 + RGB 17, 02, 04 + + RGB 24, 05, 04 + RGB 28, 07, 04 + RGB 31, 11, 04 + RGB 02, 01, 15 + + RGB 04, 11, 22 + RGB 12, 25, 25 + RGB 20, 31, 31 + RGB 09, 04, 03 + + RGB 22, 11, 08 + RGB 27, 19, 16 + RGB 30, 28, 26 + RGB 31, 31, 31 + + RGB 06, 18, 06 + RGB 04, 04, 02 + RGB 07, 07, 02 + RGB 18, 18, 04 + + RGB 24, 24, 06 + RGB 27, 27, 11 + RGB 31, 31, 20 + RGB 02, 03, 10 + + RGB 04, 05, 13 + RGB 06, 10, 25 + RGB 08, 15, 31 + RGB 04, 00, 06 + + RGB 11, 07, 14 + RGB 21, 16, 23 + RGB 29, 26, 31 + RGB 31, 31, 31 + + RGB 06, 00, 18 + RGB 00, 04, 03 + RGB 02, 09, 05 + RGB 11, 19, 07 + + RGB 16, 24, 08 + RGB 22, 31, 09 + RGB 24, 31, 18 + RGB 03, 01, 03 + + RGB 10, 04, 10 + RGB 20, 08, 20 + RGB 31, 17, 31 + RGB 01, 03, 06 + + RGB 05, 09, 10 + RGB 15, 21, 21 + RGB 23, 25, 25 + RGB 31, 31, 31 + + RGB 00, 18, 31 + RGB 00, 05, 07 + RGB 00, 08, 13 + RGB 00, 12, 17 + + RGB 01, 20, 24 + RGB 04, 27, 31 + RGB 14, 31, 31 + RGB 04, 02, 02 + + RGB 15, 01, 03 + RGB 26, 04, 07 + RGB 31, 13, 16 + RGB 00, 05, 02 + + RGB 01, 11, 03 + RGB 06, 21, 06 + RGB 13, 31, 16 + RGB 31, 31, 31 + + RGB 00, 06, 06 + RGB 00, 01, 08 + RGB 00, 05, 14 + RGB 00, 08, 19 + + RGB 02, 14, 26 + RGB 04, 21, 31 + RGB 06, 26, 31 + RGB 13, 00, 00 + + RGB 27, 07, 00 + RGB 31, 17, 05 + RGB 31, 25, 16 + RGB 02, 04, 00 + + RGB 07, 11, 03 + RGB 17, 19, 05 + RGB 27, 31, 16 + RGB 31, 31, 31 + + RGB 02, 00, 00 + RGB 04, 01, 06 + RGB 11, 03, 14 + RGB 16, 04, 19 + + RGB 20, 07, 22 + RGB 26, 12, 27 + RGB 26, 20, 31 + RGB 04, 07, 00 + + RGB 16, 20, 07 + RGB 24, 28, 15 + RGB 29, 31, 24 + RGB 05, 02, 02 + + RGB 15, 04, 02 + RGB 24, 11, 10 + RGB 31, 22, 20 + RGB 31, 31, 31 + + RGB 00, 00, 14 + RGB 12, 00, 00 + RGB 27, 05, 00 + RGB 31, 15, 05 + + RGB 31, 26, 13 + RGB 31, 30, 21 + RGB 05, 07, 16 + RGB 04, 16, 20 + + RGB 04, 24, 26 + RGB 08, 31, 31 + RGB 23, 31, 31 + RGB 00, 00, 00 + + RGB 05, 05, 05 + RGB 17, 17, 15 + RGB 28, 28, 24 + RGB 31, 31, 31 diff --git a/data/sgb_border_map.asm b/data/sgb_border_map.asm new file mode 100644 index 000000000..d9efb8ead --- /dev/null +++ b/data/sgb_border_map.asm @@ -0,0 +1,29 @@ + + db $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $14, $14, $15, $14, $16, $14, $17, $14, $17, $54, $16, $54, $15, $54, $14, $54, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14 + db $01, $14, $02, $14, $03, $14, $03, $54, $02, $54, $01, $54, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $24, $14, $25, $14, $26, $14, $07, $14, $07, $54, $26, $54, $25, $54, $24, $54, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $54, $01, $14, $02, $14, $03, $14, $03, $54, $02, $54, $01, $54 + db $11, $14, $12, $14, $13, $14, $13, $54, $12, $54, $11, $54, $10, $54, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $24, $14, $34, $14, $35, $14, $35, $54, $34, $54, $33, $54, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $10, $14, $11, $14, $12, $14, $13, $14, $13, $54, $12, $54, $11, $54 + db $21, $14, $22, $14, $23, $14, $23, $54, $22, $54, $21, $54, $20, $54, $07, $14, $08, $14, $09, $14, $0a, $14, $0b, $14, $0c, $14, $0d, $14, $07, $14, $07, $14, $18, $14, $09, $14, $1a, $14, $1b, $14, $0d, $14, $0c, $14, $1c, $14, $29, $14, $07, $14, $20, $14, $21, $14, $22, $14, $23, $14, $23, $54, $22, $54, $21, $54 + db $31, $14, $32, $14, $07, $14, $07, $14, $32, $54, $36, $10, $38, $10, $38, $10, $38, $10, $38, $10, $38, $10, $38, $10, $38, $10, $38, $10, $38, $10, $38, $10, $38, $10, $38, $10, $38, $10, $38, $10, $38, $10, $38, $10, $38, $10, $38, $10, $38, $10, $38, $10, $27, $10, $32, $14, $07, $54, $07, $54, $32, $54, $31, $54 + db $05, $14, $06, $14, $07, $14, $07, $54, $06, $54, $1f, $10, $37, $10, $06, $14, $07, $14, $07, $54, $06, $54, $05, $54 + db $15, $14, $16, $14, $17, $14, $17, $54, $16, $54, $1f, $10, $37, $10, $16, $14, $17, $14, $17, $54, $16, $54, $15, $54 + db $25, $14, $26, $14, $07, $14, $07, $54, $26, $54, $1f, $10, $37, $10, $26, $14, $07, $14, $07, $54, $26, $54, $25, $54 + db $33, $14, $34, $14, $35, $14, $35, $54, $34, $54, $1f, $10, $37, $10, $34, $14, $35, $14, $35, $54, $34, $54, $33, $54 + db $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $1f, $10, $37, $10, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14 + db $02, $54, $01, $54, $07, $54, $07, $14, $07, $14, $1f, $10, $37, $10, $07, $14, $07, $14, $07, $14, $01, $14, $02, $14 + db $12, $54, $11, $54, $10, $54, $07, $14, $07, $14, $1f, $10, $37, $10, $07, $14, $07, $14, $10, $14, $11, $14, $12, $14 + db $22, $54, $21, $54, $20, $54, $07, $14, $07, $14, $1f, $10, $37, $10, $07, $14, $07, $14, $20, $14, $21, $14, $22, $14 + db $32, $54, $31, $54, $30, $54, $07, $14, $07, $14, $1f, $10, $37, $10, $07, $14, $07, $14, $30, $14, $31, $14, $32, $14 + db $06, $54, $05, $54, $04, $54, $07, $14, $07, $14, $1f, $10, $37, $10, $07, $14, $07, $14, $04, $14, $05, $14, $06, $14 + db $16, $54, $15, $54, $14, $54, $07, $14, $07, $14, $1f, $10, $37, $10, $07, $14, $07, $14, $14, $14, $15, $14, $16, $14 + db $26, $54, $25, $54, $24, $54, $07, $14, $07, $14, $1f, $10, $37, $10, $07, $14, $07, $14, $24, $14, $25, $14, $26, $14 + db $34, $54, $33, $54, $07, $54, $07, $14, $07, $14, $1f, $10, $37, $10, $07, $14, $07, $14, $07, $14, $33, $14, $34, $14 + db $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $1f, $10, $37, $10, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14 + db $01, $14, $02, $14, $03, $14, $03, $54, $02, $54, $1f, $10, $37, $10, $02, $14, $03, $14, $03, $54, $02, $54, $01, $54 + db $11, $14, $12, $14, $13, $14, $13, $54, $12, $54, $1f, $10, $37, $10, $12, $14, $13, $14, $13, $54, $12, $54, $11, $54 + db $21, $14, $22, $14, $23, $14, $23, $54, $22, $54, $1f, $10, $37, $10, $22, $14, $23, $14, $23, $54, $22, $54, $21, $54 + db $31, $14, $32, $14, $07, $14, $07, $14, $32, $54, $1f, $10, $37, $10, $32, $14, $07, $54, $07, $54, $32, $54, $31, $54 + db $05, $14, $06, $14, $07, $14, $07, $54, $06, $54, $2e, $10, $2f, $10, $2f, $10, $2f, $10, $2f, $10, $2f, $10, $2f, $10, $2f, $10, $2f, $10, $2f, $10, $2f, $10, $2f, $10, $2f, $10, $2f, $10, $2f, $10, $2f, $10, $2f, $10, $2f, $10, $2f, $10, $2f, $10, $2f, $10, $2d, $10, $06, $14, $07, $14, $07, $54, $06, $54, $05, $54 + db $15, $14, $16, $14, $17, $14, $17, $54, $16, $54, $15, $54, $14, $54, $07, $14, $07, $14, $39, $14, $0e, $14, $09, $14, $0f, $14, $28, $14, $07, $14, $19, $14, $0c, $14, $1c, $14, $29, $14, $2a, $14, $2b, $14, $2c, $14, $39, $14, $07, $14, $07, $14, $14, $14, $15, $14, $16, $14, $17, $14, $17, $54, $16, $54, $15, $54 + db $25, $14, $26, $14, $07, $14, $07, $54, $26, $54, $25, $54, $24, $54, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $01, $14, $02, $14, $03, $14, $03, $54, $02, $54, $01, $54, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $24, $14, $25, $14, $26, $14, $07, $14, $07, $54, $26, $54, $25, $54 + db $33, $14, $34, $14, $35, $14, $35, $54, $34, $54, $24, $54, $07, $54, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $10, $14, $11, $14, $12, $14, $13, $14, $13, $54, $12, $54, $11, $54, $10, $54, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $24, $14, $34, $14, $35, $14, $35, $54, $34, $54, $33, $54 + db $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $20, $14, $21, $14, $22, $14, $23, $14, $23, $54, $22, $54, $21, $54, $20, $54, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14 diff --git a/engine/card_flip.asm b/engine/card_flip.asm index ccb72c6ac..cfcd949e6 100755 --- a/engine/card_flip.asm +++ b/engine/card_flip.asm @@ -1664,50 +1664,7 @@ CardFlip_InitAttrPals: ; e0c37 (38:4c37) ; e0c93 (38:4c93) .palettes ; e0c93 - RGB 31, 31, 31 - RGB 17, 07, 31 - RGB 06, 19, 08 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 29, 25, 00 - RGB 06, 19, 08 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 31, 13, 30 - RGB 06, 19, 08 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 08, 17, 30 - RGB 06, 19, 08 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 08, 31, 08 - RGB 06, 19, 08 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 17, 07, 31 - RGB 06, 19, 08 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 17, 07, 31 - RGB 06, 19, 08 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 17, 07, 31 - RGB 06, 19, 08 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 00, 00 - RGB 31, 00, 00 +INCLUDE "data/palettes/card_flip.pal" ; e0cdb CardFlipLZ03: ; e0cdb @@ -1726,16 +1683,5 @@ CardFlipLZ02: ; e0ea8 INCBIN "gfx/card_flip/card_flip_2.2bpp.lz" CardFlipTilemap: ; e110c - db $ef, $15, $27, $2a, $2a, $06, $27, $2a, $2a, $06, $27 - db $ef, $07, $27, $3e, $3f, $42, $43, $46, $47, $4a, $4b - db $ef, $17, $26, $40, $41, $44, $45, $48, $49, $4c, $4d - db $ef, $25, $04, $00, $01, $00, $01, $00, $01, $00, $01 - db $ef, $05, $14, $10, $11, $10, $11, $10, $11, $10, $11 - db $ef, $16, $24, $20, $21, $20, $21, $20, $21, $20, $21 - db $ef, $25, $04, $00, $02, $00, $02, $00, $02, $00, $02 - db $ef, $05, $14, $10, $12, $10, $12, $10, $12, $10, $12 - db $ef, $16, $24, $20, $22, $20, $22, $20, $22, $20, $22 - db $ef, $25, $04, $00, $03, $00, $03, $00, $03, $00, $03 - db $ef, $05, $14, $10, $13, $10, $13, $10, $13, $10, $13 - db $ef, $16, $24, $20, $23, $20, $23, $20, $23, $20, $23 +INCBIN "gfx/card_flip/card_flip.tilemap" ; e1190 diff --git a/engine/cgb_layouts.asm b/engine/cgb_layouts.asm index 7ede2768f..18fda6170 100644 --- a/engine/cgb_layouts.asm +++ b/engine/cgb_layouts.asm @@ -94,7 +94,7 @@ _CGB_BattleColors: ; 8ddb ld h, $0 add hl, hl add hl, hl - ld bc, Palettes_a8be + ld bc, HPBarPals add hl, bc call LoadPalette_White_Col1_Col2_Black ; PAL_BATTLE_BG_ENEMY_HP ld a, [PlayerHPPal] @@ -102,10 +102,10 @@ _CGB_BattleColors: ; 8ddb ld h, $0 add hl, hl add hl, hl - ld bc, Palettes_a8be + ld bc, HPBarPals add hl, bc call LoadPalette_White_Col1_Col2_Black ; PAL_BATTLE_BG_PLAYER_HP - ld hl, Palettes_a8ca + ld hl, ExpBarPalette call LoadPalette_White_Col1_Col2_Black ; PAL_BATTLE_BG_EXP ld de, UnknOBPals pop hl @@ -148,7 +148,7 @@ _CGB_FinishBattleScreenLayout: ; 8e23 ld hl, Palettes_979c ld de, UnknOBPals palette PAL_BATTLE_OB_GRAY ld bc, 6 palettes - ld a, $5 + ld a, BANK(UnknOBPals) call FarCopyWRAM call ApplyAttrMap ret @@ -164,7 +164,7 @@ Mobile_InitPartyMenuBGPal7: ; 8e8b .not_mobile ld de, UnknBGPals palette 7 ld bc, 1 palettes - ld a, $5 + ld a, BANK(UnknBGPals) call FarCopyWRAM ret ; 8e9f @@ -177,7 +177,7 @@ InitPartyMenuBGPal0: ; 8e9f .not_mobile ld de, UnknBGPals palette 0 ld bc, 1 palettes - ld a, $5 + ld a, BANK(UnknBGPals) call FarCopyWRAM ret ; 8eb9 @@ -194,7 +194,7 @@ _CGB_PokegearPals: ; 8eb9 .got_pals ld de, UnknBGPals ld bc, 6 palettes - ld a, $5 + ld a, BANK(UnknBGPals) call FarCopyWRAM call ApplyPals ld a, $1 @@ -209,19 +209,19 @@ _CGB_StatsScreenHPPals: ; 8edb ld h, $0 add hl, hl add hl, hl - ld bc, Palettes_a8be + ld bc, HPBarPals add hl, bc call LoadPalette_White_Col1_Col2_Black ; hp palette ld a, [CurPartySpecies] ld bc, TempMonDVs call GetPlayerOrMonPalettePointer call LoadPalette_White_Col1_Col2_Black ; mon palette - ld hl, Palettes_a8ca + ld hl, ExpBarPalette call LoadPalette_White_Col1_Col2_Black ; exp palette ld hl, StatsScreenPagePals ld de, UnknBGPals palette 3 ld bc, 3 palettes ; pink, green, and blue page palettes - ld a, $5 + ld a, BANK(UnknBGPals) call FarCopyWRAM call WipeAttrMap @@ -309,7 +309,7 @@ _CGB_Pokedex: ; 8f70 ld hl, .PokedexCursorPalette ld de, UnknOBPals palette 7 ; green cursor palette ld bc, 1 palettes - ld a, $5 + ld a, BANK(UnknOBPals) call FarCopyWRAM call ApplyAttrMap call ApplyPals @@ -416,7 +416,7 @@ _CGB_SlotMachine: ; 906e ld hl, SlotMachinePals ld de, UnknBGPals ld bc, 16 palettes - ld a, $5 + ld a, BANK(UnknBGPals) call FarCopyWRAM call WipeAttrMap hlcoord 0, 2, AttrMap @@ -509,7 +509,7 @@ _CGB07: ; 9122 ld hl, .Palette_9156 ld de, UnknOBPals ld bc, 2 palettes - ld a, $5 + ld a, BANK(UnknOBPals) call FarCopyWRAM call WipeAttrMap ret @@ -562,7 +562,7 @@ _CGB11: ; 9195 ld hl, Palettes_b789 ld de, UnknBGPals ld bc, 5 palettes - ld a, $5 + ld a, BANK(UnknBGPals) call FarCopyWRAM call ApplyPals call WipeAttrMap @@ -574,7 +574,7 @@ _CGB_Diploma: ; 91ad ld hl, DiplomaPalettes ld de, UnknBGPals ld bc, 16 palettes - ld a, $5 + ld a, BANK(UnknBGPals) call FarCopyWRAM ld hl, PalPacket_9cb6 + 1 @@ -624,7 +624,7 @@ _CGB_Evolution: ; 91e4 ld hl, Palettes_979c ld de, UnknOBPals palette 2 ld bc, 6 palettes - ld a, $5 + ld a, BANK(UnknOBPals) call FarCopyWRAM .got_palette @@ -640,12 +640,12 @@ _CGB0c: ; 9228 ld hl, Palettes_b6f1 ld de, UnknBGPals ld bc, 5 palettes - ld a, $5 + ld a, BANK(UnknBGPals) call FarCopyWRAM ld hl, Palettes_b719 ld de, UnknOBPals ld bc, 2 palettes - ld a, $5 + ld a, BANK(UnknOBPals) call FarCopyWRAM ld a, SCGB_DIPLOMA ld [SGBPredef], a @@ -672,7 +672,7 @@ _CGB_UnownPuzzle: ; 925e call LoadHLPaletteIntoDE ld a, [rSVBK] push af - ld a, $5 + ld a, BANK(UnknOBPals) ld [rSVBK], a ld hl, UnknOBPals ld a, $1f @@ -802,7 +802,7 @@ _CGB_MoveList: ; 9373 ld h, 0 add hl, hl add hl, hl - ld bc, Palettes_a8be + ld bc, HPBarPals add hl, bc call LoadPalette_White_Col1_Col2_Black call WipeAttrMap @@ -860,7 +860,7 @@ _CGB_PackPals: ; 93d3 .got_gender ld de, UnknBGPals ld bc, 8 palettes ; 6 palettes? - ld a, $5 + ld a, BANK(UnknBGPals) call FarCopyWRAM call WipeAttrMap hlcoord 0, 0, AttrMap @@ -891,67 +891,11 @@ _CGB_PackPals: ; 93d3 ; 9439 .ChrisPackPals: ; 9439 - RGB 31, 31, 31 - RGB 15, 15, 31 - RGB 00, 00, 31 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 15, 15, 31 - RGB 00, 00, 31 - RGB 00, 00, 00 - - RGB 31, 11, 31 - RGB 15, 15, 31 - RGB 00, 00, 31 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 15, 15, 31 - RGB 00, 00, 31 - RGB 31, 00, 00 - - RGB 31, 31, 31 - RGB 15, 15, 31 - RGB 31, 00, 00 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 07, 19, 07 - RGB 07, 19, 07 - RGB 00, 00, 00 +INCLUDE "data/palettes/pack.pal" ; 9469 .KrisPackPals: ; 9469 - RGB 31, 31, 31 - RGB 31, 14, 31 - RGB 31, 07, 31 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 31, 14, 31 - RGB 31, 07, 31 - RGB 00, 00, 00 - - RGB 15, 15, 31 - RGB 31, 14, 31 - RGB 31, 07, 31 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 31, 14, 31 - RGB 31, 07, 31 - RGB 31, 00, 00 - - RGB 31, 31, 31 - RGB 31, 14, 31 - RGB 31, 00, 00 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 07, 19, 07 - RGB 07, 19, 07 - RGB 00, 00, 00 +INCLUDE "data/palettes/pack_f.pal" ; 9499 _CGB_Pokepic: ; 9499 @@ -1057,10 +1001,10 @@ _CGB1e: ; 9542 _CGB_TradeTube: ; 9555 ld hl, PalPacket_9cc6 + 1 call CopyFourPalettes - ld hl, Palettes_b681 + ld hl, PartyMenuOBPals ld de, UnknOBPals ld bc, 1 palettes - ld a, $5 + ld a, BANK(UnknOBPals) call FarCopyWRAM ld de, UnknOBPals palette 7 ld a, $1c @@ -1086,7 +1030,7 @@ _CGB_MysteryGift: ; 9591 ld hl, .Palettes ld de, UnknBGPals ld bc, 2 palettes - ld a, $5 + ld a, BANK(UnknBGPals) call FarCopyWRAM call ApplyPals call WipeAttrMap diff --git a/engine/color.asm b/engine/color.asm index e339b30be..12f22d4c1 100644 --- a/engine/color.asm +++ b/engine/color.asm @@ -354,7 +354,7 @@ ApplyHPBarPals: ld h, $0 add hl, hl add hl, hl - ld bc, Palettes_a8be + ld bc, HPBarPals add hl, bc ld bc, 4 ld a, $5 @@ -449,55 +449,7 @@ LoadMailPalettes: ret .MailPals: - RGB 20, 31, 11 - RGB 31, 19, 00 - RGB 31, 10, 09 - RGB 00, 00, 00 - - RGB 15, 20, 31 - RGB 30, 26, 00 - RGB 31, 12, 00 - RGB 00, 00, 00 - - RGB 24, 17, 31 - RGB 30, 26, 00 - RGB 08, 11, 31 - RGB 00, 00, 00 - - RGB 31, 25, 17 - RGB 31, 18, 04 - RGB 28, 12, 05 - RGB 00, 00, 00 - - RGB 19, 26, 31 - RGB 31, 05, 08 - RGB 31, 09, 31 - RGB 00, 00, 00 - - RGB 31, 19, 28 - RGB 31, 21, 00 - RGB 12, 22, 00 - RGB 00, 00, 00 - - RGB 19, 17, 23 - RGB 30, 26, 00 - RGB 31, 12, 00 - RGB 00, 00, 00 - - RGB 07, 26, 31 - RGB 26, 26, 27 - RGB 31, 11, 11 - RGB 00, 00, 00 - - RGB 21, 31, 21 - RGB 30, 26, 00 - RGB 31, 12, 00 - RGB 00, 00, 00 - - RGB 07, 26, 31 - RGB 31, 31, 00 - RGB 00, 21, 00 - RGB 00, 00, 00 +INCLUDE "data/palettes/mail.pal" INCLUDE "engine/cgb_layouts.asm" @@ -543,7 +495,7 @@ GetPredefPal: add hl, hl add hl, hl add hl, hl - ld bc, Palettes_9df6 + ld bc, PredefPals add hl, bc ret @@ -730,7 +682,7 @@ CGB_ApplyPartyMenuHPPals: ; 96f3 CGB layout $fc ret InitPartyMenuOBPals: - ld hl, Palettes_b681 + ld hl, PartyMenuOBPals ld de, UnknOBPals ld bc, 2 palettes ld a, $5 @@ -804,42 +756,14 @@ Function9779: mobile dec c jr nz, .loop ld hl, Palettes_979c - ld de, UnknOBPals + 8 * 2 + ld de, UnknOBPals palette 2 ld bc, 2 palettes ld a, $5 call FarCopyWRAM ret Palettes_979c: - RGB 31, 31, 31 - RGB 25, 25, 25 - RGB 13, 13, 13 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 31, 31, 07 - RGB 31, 16, 01 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 31, 19, 24 - RGB 30, 10, 06 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 12, 25, 01 - RGB 05, 14, 00 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 08, 12, 31 - RGB 01, 04, 31 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 24, 18, 07 - RGB 20, 15, 03 - RGB 00, 00, 00 +INCLUDE "data/palettes/979c.pal" Function97cc: ; XXX @@ -1141,7 +1065,7 @@ SGBBorder_PushBGPals: call DisableLCD ld a, %11100100 ld [rBGP], a - ld hl, Palettes_9df6 + ld hl, PredefPals ld de, VTiles1 ld bc, $1000 call CopyData @@ -1350,532 +1274,35 @@ PalPacket_9dc6: db $79, $26, $08, $00, $0b, $39, $cd, $48, $0c, $d0, $34, $a5, $ PalPacket_9dd6: db $79, $1b, $08, $00, $0b, $ea, $ea, $ea, $ea, $ea, $a9, $01, $cd, $4f, $0c, $d0 PalPacket_9de6: db $79, $10, $08, $00, $0b, $4c, $20, $08, $ea, $ea, $ea, $ea, $ea, $60, $ea, $ea -Palettes_9df6: - RGB 31, 31, 31 - RGB 22, 25, 19 - RGB 16, 21, 30 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 27, 28, 31 - RGB 15, 20, 31 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 24, 28, 19 - RGB 15, 20, 31 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 24, 24, 24 - RGB 15, 20, 31 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 21, 23, 31 - RGB 15, 20, 31 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 24, 21, 27 - RGB 15, 20, 31 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 31, 24, 16 - RGB 15, 20, 31 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 25, 30, 26 - RGB 15, 20, 31 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 31, 25, 31 - RGB 15, 20, 31 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 31, 20, 19 - RGB 15, 20, 31 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 31, 26, 19 - RGB 15, 20, 31 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 27, 28, 27 - RGB 15, 20, 31 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 24, 30, 23 - RGB 15, 20, 31 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 29, 24, 29 - RGB 15, 20, 31 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 26, 23, 29 - RGB 15, 20, 31 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 25, 23, 20 - RGB 15, 20, 31 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 29, 26, 18 - RGB 15, 20, 31 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 31, 21, 18 - RGB 15, 20, 31 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 26, 25, 31 - RGB 15, 20, 31 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 22, 21, 31 - RGB 15, 20, 31 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 22, 25, 21 - RGB 15, 20, 31 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 21, 21, 22 - RGB 15, 20, 31 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 31, 20, 20 - RGB 15, 20, 31 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 26, 26, 26 - RGB 15, 20, 31 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 21, 14, 09 - RGB 15, 20, 20 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 12, 28, 22 - RGB 15, 20, 20 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 07, 07, 07 - RGB 02, 03, 03 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 30, 22, 17 - RGB 16, 14, 19 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 18, 20, 27 - RGB 11, 15, 23 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 31, 20, 10 - RGB 26, 10, 06 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 21, 25, 29 - RGB 14, 19, 25 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 27, 22, 24 - RGB 21, 15, 23 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 28, 20, 15 - RGB 21, 14, 09 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 20, 26, 16 - RGB 09, 20, 11 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 30, 22, 24 - RGB 28, 15, 21 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 31, 28, 14 - RGB 26, 20, 00 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 26, 21, 22 - RGB 15, 15, 18 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 23, 19, 13 - RGB 14, 12, 17 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 16, 18, 21 - RGB 10, 12, 18 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 22, 15, 16 - RGB 17, 02, 05 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 15, 20, 20 - RGB 05, 16, 16 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 23, 15, 19 - RGB 14, 04, 12 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 20, 17, 18 - RGB 18, 13, 11 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 23, 21, 16 - RGB 12, 12, 10 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 21, 25, 29 - RGB 30, 22, 24 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 26, 23, 16 - RGB 29, 14, 09 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 18, 18, 18 - RGB 10, 10, 10 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 30, 26, 15 - RGB 00, 23, 00 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 30, 26, 15 - RGB 31, 23, 00 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 30, 26, 15 - RGB 31, 00, 00 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 29, 26, 19 - RGB 27, 20, 14 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 24, 20, 10 - RGB 21, 00, 04 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 31, 20, 10 - RGB 21, 00, 04 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 30, 26, 16 - RGB 16, 12, 09 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 15, 28, 26 - RGB 12, 22, 26 - RGB 03, 16, 14 - - RGB 31, 31, 31 - RGB 15, 28, 26 - RGB 23, 24, 24 - RGB 00, 00, 00 - - RGB 31, 31, 24 - RGB 07, 27, 19 - RGB 26, 20, 10 - RGB 19, 12, 08 - - RGB 31, 31, 31 - RGB 31, 28, 14 - RGB 31, 13, 31 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 16, 18, 21 - RGB 10, 12, 18 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 23, 21, 16 - RGB 12, 12, 10 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 31, 14, 00 - RGB 07, 11, 15 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 26, 21, 22 - RGB 26, 10, 06 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 30, 27, 04 - RGB 24, 20, 11 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 31, 13, 25 - RGB 24, 20, 11 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 16, 19, 29 - RGB 24, 20, 11 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 30, 22, 24 - RGB 18, 18, 18 - RGB 16, 10, 07 - - RGB 31, 31, 31 - RGB 21, 25, 29 - RGB 18, 18, 18 - RGB 16, 10, 07 - - RGB 31, 31, 31 - RGB 20, 26, 16 - RGB 18, 18, 18 - RGB 16, 10, 07 - - RGB 31, 31, 31 - RGB 31, 28, 14 - RGB 18, 18, 18 - RGB 16, 10, 07 - - RGB 31, 31, 31 - RGB 18, 18, 18 - RGB 26, 10, 06 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 30, 22, 24 - RGB 28, 15, 21 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 26, 20, 00 - RGB 16, 19, 29 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 16, 02, 30 - RGB 15, 20, 31 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 16, 13, 04 - RGB 15, 20, 31 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 28, 04, 02 - RGB 15, 20, 31 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 18, 23, 31 - RGB 15, 20, 31 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 24, 20, 11 - RGB 18, 13, 11 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 25, 30, 00 - RGB 25, 30, 00 - - RGB 00, 00, 00 - RGB 08, 11, 11 - RGB 21, 21, 21 - RGB 31, 31, 31 +PredefPals: +INCLUDE "data/palettes/predef.pal" SGBBorderMap: - db $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $14, $14, $15, $14, $16, $14, $17, $14, $17, $54, $16, $54, $15, $54, $14, $54, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14 - db $01, $14, $02, $14, $03, $14, $03, $54, $02, $54, $01, $54, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $24, $14, $25, $14, $26, $14, $07, $14, $07, $54, $26, $54, $25, $54, $24, $54, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $54, $01, $14, $02, $14, $03, $14, $03, $54, $02, $54, $01, $54 - db $11, $14, $12, $14, $13, $14, $13, $54, $12, $54, $11, $54, $10, $54, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $24, $14, $34, $14, $35, $14, $35, $54, $34, $54, $33, $54, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $10, $14, $11, $14, $12, $14, $13, $14, $13, $54, $12, $54, $11, $54 - db $21, $14, $22, $14, $23, $14, $23, $54, $22, $54, $21, $54, $20, $54, $07, $14, $08, $14, $09, $14, $0a, $14, $0b, $14, $0c, $14, $0d, $14, $07, $14, $07, $14, $18, $14, $09, $14, $1a, $14, $1b, $14, $0d, $14, $0c, $14, $1c, $14, $29, $14, $07, $14, $20, $14, $21, $14, $22, $14, $23, $14, $23, $54, $22, $54, $21, $54 - db $31, $14, $32, $14, $07, $14, $07, $14, $32, $54, $36, $10, $38, $10, $38, $10, $38, $10, $38, $10, $38, $10, $38, $10, $38, $10, $38, $10, $38, $10, $38, $10, $38, $10, $38, $10, $38, $10, $38, $10, $38, $10, $38, $10, $38, $10, $38, $10, $38, $10, $38, $10, $27, $10, $32, $14, $07, $54, $07, $54, $32, $54, $31, $54 - db $05, $14, $06, $14, $07, $14, $07, $54, $06, $54, $1f, $10, $37, $10, $06, $14, $07, $14, $07, $54, $06, $54, $05, $54 - db $15, $14, $16, $14, $17, $14, $17, $54, $16, $54, $1f, $10, $37, $10, $16, $14, $17, $14, $17, $54, $16, $54, $15, $54 - db $25, $14, $26, $14, $07, $14, $07, $54, $26, $54, $1f, $10, $37, $10, $26, $14, $07, $14, $07, $54, $26, $54, $25, $54 - db $33, $14, $34, $14, $35, $14, $35, $54, $34, $54, $1f, $10, $37, $10, $34, $14, $35, $14, $35, $54, $34, $54, $33, $54 - db $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $1f, $10, $37, $10, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14 - db $02, $54, $01, $54, $07, $54, $07, $14, $07, $14, $1f, $10, $37, $10, $07, $14, $07, $14, $07, $14, $01, $14, $02, $14 - db $12, $54, $11, $54, $10, $54, $07, $14, $07, $14, $1f, $10, $37, $10, $07, $14, $07, $14, $10, $14, $11, $14, $12, $14 - db $22, $54, $21, $54, $20, $54, $07, $14, $07, $14, $1f, $10, $37, $10, $07, $14, $07, $14, $20, $14, $21, $14, $22, $14 - db $32, $54, $31, $54, $30, $54, $07, $14, $07, $14, $1f, $10, $37, $10, $07, $14, $07, $14, $30, $14, $31, $14, $32, $14 - db $06, $54, $05, $54, $04, $54, $07, $14, $07, $14, $1f, $10, $37, $10, $07, $14, $07, $14, $04, $14, $05, $14, $06, $14 - db $16, $54, $15, $54, $14, $54, $07, $14, $07, $14, $1f, $10, $37, $10, $07, $14, $07, $14, $14, $14, $15, $14, $16, $14 - db $26, $54, $25, $54, $24, $54, $07, $14, $07, $14, $1f, $10, $37, $10, $07, $14, $07, $14, $24, $14, $25, $14, $26, $14 - db $34, $54, $33, $54, $07, $54, $07, $14, $07, $14, $1f, $10, $37, $10, $07, $14, $07, $14, $07, $14, $33, $14, $34, $14 - db $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $1f, $10, $37, $10, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14 - db $01, $14, $02, $14, $03, $14, $03, $54, $02, $54, $1f, $10, $37, $10, $02, $14, $03, $14, $03, $54, $02, $54, $01, $54 - db $11, $14, $12, $14, $13, $14, $13, $54, $12, $54, $1f, $10, $37, $10, $12, $14, $13, $14, $13, $54, $12, $54, $11, $54 - db $21, $14, $22, $14, $23, $14, $23, $54, $22, $54, $1f, $10, $37, $10, $22, $14, $23, $14, $23, $54, $22, $54, $21, $54 - db $31, $14, $32, $14, $07, $14, $07, $14, $32, $54, $1f, $10, $37, $10, $32, $14, $07, $54, $07, $54, $32, $54, $31, $54 - db $05, $14, $06, $14, $07, $14, $07, $54, $06, $54, $2e, $10, $2f, $10, $2f, $10, $2f, $10, $2f, $10, $2f, $10, $2f, $10, $2f, $10, $2f, $10, $2f, $10, $2f, $10, $2f, $10, $2f, $10, $2f, $10, $2f, $10, $2f, $10, $2f, $10, $2f, $10, $2f, $10, $2f, $10, $2f, $10, $2d, $10, $06, $14, $07, $14, $07, $54, $06, $54, $05, $54 - db $15, $14, $16, $14, $17, $14, $17, $54, $16, $54, $15, $54, $14, $54, $07, $14, $07, $14, $39, $14, $0e, $14, $09, $14, $0f, $14, $28, $14, $07, $14, $19, $14, $0c, $14, $1c, $14, $29, $14, $2a, $14, $2b, $14, $2c, $14, $39, $14, $07, $14, $07, $14, $14, $14, $15, $14, $16, $14, $17, $14, $17, $54, $16, $54, $15, $54 - db $25, $14, $26, $14, $07, $14, $07, $54, $26, $54, $25, $54, $24, $54, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $01, $14, $02, $14, $03, $14, $03, $54, $02, $54, $01, $54, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $24, $14, $25, $14, $26, $14, $07, $14, $07, $54, $26, $54, $25, $54 - db $33, $14, $34, $14, $35, $14, $35, $54, $34, $54, $24, $54, $07, $54, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $10, $14, $11, $14, $12, $14, $13, $14, $13, $54, $12, $54, $11, $54, $10, $54, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $24, $14, $34, $14, $35, $14, $35, $54, $34, $54, $33, $54 - db $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $20, $14, $21, $14, $22, $14, $23, $14, $23, $54, $22, $54, $21, $54, $20, $54, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14 +INCLUDE "data/sgb_border_map.asm" SGBBorderPalettes: - RGB 24, 06, 06 - RGB 24, 24, 26 - RGB 14, 15, 20 - RGB 04, 07, 10 - - RGB 31, 31, 25 - RGB 31, 31, 25 - RGB 31, 31, 25 - RGB 31, 31, 25 - - RGB 31, 31, 25 - RGB 31, 31, 25 - RGB 31, 31, 25 - RGB 31, 31, 25 - - RGB 31, 31, 25 - RGB 31, 31, 25 - RGB 31, 31, 25 - RGB 31, 31, 25 - - RGB 18, 24, 18 - RGB 31, 26, 15 - RGB 26, 19, 10 - RGB 12, 07, 05 - - RGB 31, 31, 25 - RGB 31, 31, 25 - RGB 31, 31, 25 - RGB 31, 31, 25 - - RGB 31, 31, 25 - RGB 31, 31, 25 - RGB 31, 31, 25 - RGB 31, 31, 25 - - RGB 31, 31, 25 - RGB 31, 31, 25 - RGB 31, 31, 25 - RGB 31, 31, 25 - - RGB 18, 06, 31 - RGB 31, 31, 29 - RGB 31, 12, 00 - RGB 00, 00, 00 - - RGB 31, 31, 25 - RGB 31, 31, 25 - RGB 31, 31, 25 - RGB 31, 31, 25 - - RGB 31, 31, 25 - RGB 31, 31, 25 - RGB 31, 31, 25 - RGB 31, 31, 25 - - RGB 31, 31, 25 - RGB 31, 31, 25 - RGB 31, 31, 25 - RGB 31, 31, 25 - - RGB 12, 31, 06 - RGB 22, 26, 30 - RGB 16, 17, 21 - RGB 00, 03, 00 - - RGB 31, 31, 25 - RGB 31, 31, 25 - RGB 31, 31, 25 - RGB 31, 31, 25 - - RGB 31, 31, 25 - RGB 31, 31, 25 - RGB 31, 31, 25 - RGB 31, 31, 25 - - RGB 31, 31, 25 - RGB 31, 31, 25 - RGB 31, 31, 25 - RGB 31, 31, 25 +INCLUDE "data/palettes/sgb_border.pal" SGBBorder: INCBIN "gfx/sgb/sgb_border.2bpp" -Palettes_a8be: +HPBarPals: +; green RGB 30, 26, 15 RGB 00, 23, 00 - +; yellow RGB 30, 26, 15 RGB 31, 21, 00 - +; red RGB 30, 26, 15 RGB 31, 00, 00 -Palettes_a8ca: +ExpBarPalette: +; blue RGB 30, 26, 15 RGB 04, 17, 31 INCLUDE "gfx/pics/palette_pointers.asm" - INCLUDE "gfx/trainer_palettes.asm" LoadMapPals: @@ -2026,324 +1453,34 @@ Palette_b311: ; b311 not mobile RGB 00, 00, 00 TilesetBGPalette: -INCLUDE "data/palettes/bg.pal" +INCLUDE "data/palettes/tileset_bg.pal" MapObjectPals:: -INCLUDE "data/palettes/ob.pal" +INCLUDE "data/palettes/map_objects.pal" RoofPals: -INCLUDE "data/palettes/roof.pal" +INCLUDE "data/palettes/roofs.pal" DiplomaPalettes: - RGB 27, 31, 27 - RGB 21, 21, 21 - RGB 13, 13, 13 - RGB 00, 00, 00 - - RGB 27, 31, 27 - RGB 31, 07, 06 - RGB 20, 02, 03 - RGB 00, 00, 00 - - RGB 27, 31, 27 - RGB 10, 31, 09 - RGB 04, 14, 01 - RGB 00, 00, 00 - - RGB 27, 31, 27 - RGB 08, 12, 31 - RGB 01, 04, 31 - RGB 00, 00, 00 - - RGB 27, 31, 27 - RGB 31, 31, 07 - RGB 31, 16, 01 - RGB 00, 00, 00 - - RGB 27, 31, 27 - RGB 22, 16, 08 - RGB 13, 07, 01 - RGB 00, 00, 00 - - RGB 27, 31, 27 - RGB 15, 31, 31 - RGB 05, 17, 31 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 11, 11, 19 - RGB 07, 07, 12 - RGB 00, 00, 00 - -Palettes_b681: - RGB 27, 31, 27 - RGB 31, 19, 10 - RGB 31, 07, 04 - RGB 00, 00, 00 - - RGB 27, 31, 27 - RGB 31, 19, 10 - RGB 10, 14, 20 - RGB 00, 00, 00 +INCLUDE "data/palettes/diploma.pal" - RGB 27, 31, 27 - RGB 31, 19, 10 - RGB 31, 07, 04 - RGB 00, 00, 00 - - RGB 27, 31, 27 - RGB 31, 19, 10 - RGB 31, 07, 04 - RGB 00, 00, 00 - - RGB 27, 31, 27 - RGB 31, 19, 10 - RGB 31, 07, 04 - RGB 00, 00, 00 - - RGB 27, 31, 27 - RGB 31, 19, 10 - RGB 31, 07, 04 - RGB 00, 00, 00 - - RGB 27, 31, 27 - RGB 31, 19, 10 - RGB 31, 07, 04 - RGB 00, 00, 00 - - RGB 27, 31, 27 - RGB 31, 19, 10 - RGB 31, 07, 04 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 21, 21, 21 - RGB 13, 13, 13 - RGB 07, 07, 07 - - RGB 31, 31, 31 - RGB 31, 31, 07 - RGB 31, 16, 01 - RGB 07, 07, 07 - - RGB 31, 31, 31 - RGB 31, 19, 24 - RGB 30, 10, 06 - RGB 07, 07, 07 - - RGB 31, 31, 31 - RGB 12, 25, 01 - RGB 05, 14, 00 - RGB 07, 07, 07 - - RGB 31, 31, 31 - RGB 08, 12, 31 - RGB 01, 04, 31 - RGB 07, 07, 07 - - RGB 31, 31, 31 - RGB 24, 18, 07 - RGB 20, 15, 03 - RGB 07, 07, 07 +PartyMenuOBPals: +INCLUDE "data/palettes/party_menu.pal" Palettes_b6f1: - RGB 31, 31, 31 - RGB 18, 23, 31 - RGB 15, 20, 31 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 22, 00, 31 - RGB 15, 20, 31 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 31, 00, 00 - RGB 15, 20, 31 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 25, 22, 00 - RGB 15, 20, 31 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 23, 26, 31 - RGB 18, 23, 31 - RGB 00, 00, 00 +INCLUDE "data/palettes/b6f1.pal" Palettes_b719: - RGB 31, 31, 31 - RGB 07, 06, 03 - RGB 07, 06, 03 - RGB 07, 06, 03 - - RGB 31, 31, 31 - RGB 31, 31, 00 - RGB 26, 22, 00 - RGB 00, 00, 00 +INCLUDE "data/palettes/b719.pal" MalePokegearPals: - RGB 28, 31, 20 - RGB 21, 21, 21 - RGB 13, 13, 13 - RGB 00, 00, 00 - - RGB 28, 31, 20 - RGB 00, 31, 00 - RGB 00, 00, 31 - RGB 00, 00, 00 - - RGB 28, 31, 20 - RGB 00, 31, 00 - RGB 15, 07, 00 - RGB 00, 00, 00 - - RGB 28, 31, 20 - RGB 31, 15, 00 - RGB 15, 07, 00 - RGB 00, 00, 00 - - RGB 28, 31, 20 - RGB 00, 31, 00 - RGB 00, 00, 31 - RGB 31, 00, 00 - - RGB 28, 31, 20 - RGB 00, 31, 00 - RGB 15, 07, 00 - RGB 31, 00, 00 +INCLUDE "data/palettes/pokegear.pal" FemalePokegearPals: - RGB 28, 31, 20 - RGB 21, 21, 21 - RGB 13, 13, 13 - RGB 00, 00, 00 - - RGB 28, 31, 20 - RGB 00, 31, 00 - RGB 00, 00, 31 - RGB 00, 00, 00 - - RGB 28, 31, 20 - RGB 00, 31, 00 - RGB 15, 07, 00 - RGB 00, 00, 00 - - RGB 28, 31, 20 - RGB 10, 18, 31 - RGB 13, 06, 31 - RGB 00, 00, 00 - - RGB 28, 31, 20 - RGB 00, 31, 00 - RGB 00, 00, 31 - RGB 31, 00, 00 - - RGB 28, 31, 20 - RGB 00, 31, 00 - RGB 15, 07, 00 - RGB 31, 00, 00 +INCLUDE "data/palettes/pokegear_f.pal" Palettes_b789: - RGB 31, 31, 31 - RGB 30, 22, 24 - RGB 18, 18, 18 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 10, 11, 31 - RGB 18, 18, 18 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 12, 31, 11 - RGB 18, 18, 18 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 29, 26, 05 - RGB 18, 18, 18 - RGB 00, 00, 00 +INCLUDE "data/palettes/b789.pal" SlotMachinePals: - RGB 31, 31, 31 - RGB 24, 25, 28 - RGB 24, 24, 09 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 30, 10, 06 - RGB 24, 24, 09 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 15, 31, 00 - RGB 24, 24, 09 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 31, 15, 31 - RGB 24, 24, 09 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 15, 21, 31 - RGB 24, 24, 09 - RGB 00, 00, 00 - - RGB 31, 31, 11 - RGB 31, 31, 06 - RGB 24, 24, 09 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 16, 19, 29 - RGB 25, 22, 00 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 21, 21, 21 - RGB 13, 13, 13 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 30, 10, 06 - RGB 31, 00, 00 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 12, 25, 01 - RGB 05, 14, 00 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 12, 25, 01 - RGB 30, 10, 06 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 31, 31, 06 - RGB 20, 15, 03 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 31, 31, 06 - RGB 15, 21, 31 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 31, 31, 06 - RGB 20, 15, 03 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 31, 24, 21 - RGB 31, 13, 31 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 00, 00, 00 - RGB 00, 00, 00 - +INCLUDE "data/palettes/slot_machine.pal" diff --git a/engine/credits.asm b/engine/credits.asm index 62e53c01f..0fe7685a6 100644 --- a/engine/credits.asm +++ b/engine/credits.asm @@ -521,7 +521,6 @@ GetCreditsPalette: ; 109b2c .UpdatePals: ; Update the first three colors in both palette buffers. - push af push hl add UnknBGPals % $100 @@ -543,72 +542,8 @@ GetCreditsPalette: ; 109b2c call CopyBytes ret - CreditsPalettes: - -; Pichu - RGB 31, 00, 31 - RGB 31, 25, 00 - RGB 11, 14, 31 - RGB 07, 07, 07 - - RGB 31, 05, 05 - RGB 11, 14, 31 - RGB 11, 14, 31 - RGB 31, 31, 31 - - RGB 31, 05, 05 - RGB 00, 00, 00 - RGB 31, 31, 31 - RGB 31, 31, 31 - -; Smoochum - RGB 31, 31, 31 - RGB 31, 27, 00 - RGB 26, 06, 31 - RGB 07, 07, 07 - - RGB 03, 13, 31 - RGB 20, 00, 24 - RGB 26, 06, 31 - RGB 31, 31, 31 - - RGB 03, 13, 31 - RGB 00, 00, 00 - RGB 31, 31, 31 - RGB 31, 31, 31 - -; Ditto - RGB 31, 31, 31 - RGB 23, 12, 28 - RGB 31, 22, 00 - RGB 07, 07, 07 - - RGB 03, 20, 00 - RGB 31, 22, 00 - RGB 31, 22, 00 - RGB 31, 31, 31 - - RGB 03, 20, 00 - RGB 00, 00, 00 - RGB 31, 31, 31 - RGB 31, 31, 31 - -; Igglybuff - RGB 31, 31, 31 - RGB 31, 10, 31 - RGB 31, 00, 09 - RGB 07, 07, 07 - - RGB 31, 14, 00 - RGB 31, 00, 09 - RGB 31, 00, 09 - RGB 31, 31, 31 - - RGB 31, 14, 00 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 +INCLUDE "data/palettes/credits.pal" ; 109bca Credits_LoadBorderGFX: ; 109bca (42:5bca) @@ -678,7 +613,5 @@ Credits_TheEnd: ; 109c11 (42:5c11) INCLUDE "gfx/credits.asm" - INCLUDE "data/credits_script.asm" - INCLUDE "data/credits_strings.asm" diff --git a/engine/crystal_colors.asm b/engine/crystal_colors.asm index 25b831f01..fd3f83ade 100755 --- a/engine/crystal_colors.asm +++ b/engine/crystal_colors.asm @@ -57,12 +57,12 @@ MG_Mobile_Layout_LoadPals: ; 49351 (12:5351) ld de, UnknBGPals ld hl, Palette_493e1 ld bc, 5 palettes - ld a, $5 ; BANK(UnknBGPals) + ld a, BANK(UnknBGPals) call FarCopyWRAM - ld de, UnknBGPals + 7 palettes + ld de, UnknBGPals palette PAL_BG_TEXT ld hl, Palette_TextBG7 ld bc, 1 palettes - ld a, $5 ; BANK(UnknBGPals) + ld a, BANK(UnknBGPals) call FarCopyWRAM ret @@ -113,37 +113,14 @@ MG_Mobile_Layout_CreatePalBoxes: ; 49384 (12:5384) ; 493e1 (12:53e1) Palette_493e1: ; 493e1 - RGB 03, 07, 09 - RGB 26, 31, 00 - RGB 20, 16, 03 - RGB 31, 31, 31 - - RGB 13, 24, 29 - RGB 11, 16, 30 - RGB 07, 11, 22 - RGB 05, 06, 18 - - RGB 31, 31, 31 - RGB 20, 26, 31 - RGB 13, 24, 29 - RGB 11, 16, 30 - - RGB 31, 31, 31 - RGB 20, 26, 31 - RGB 00, 00, 00 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 20, 16, 08 - RGB 31, 00, 00 - RGB 00, 00, 00 +INCLUDE "data/palettes/mg_mobile.pal" ; 49409 LoadOW_BGPal7:: ; 49409 ld hl, Palette_TextBG7 - ld de, UnknBGPals + 8 * 7 - ld bc, 8 - ld a, $5 + ld de, UnknBGPals palette PAL_BG_TEXT + ld bc, 1 palettes + ld a, BANK(UnknBGPals) call FarCopyWRAM ret ; 49418 @@ -157,19 +134,19 @@ Palette_TextBG7: ; 49418 Function49420:: ; 49420 (12:5420) ld hl, MansionPalette4 - ld de, UnknBGPals + $30 - ld bc, $8 - ld a, $5 ; BANK(UnknBGPals) + ld de, UnknBGPals palette PAL_BG_ROOF + ld bc, 1 palettes + ld a, BANK(UnknBGPals) call FarCopyWRAM ret ; 4942f (12:542f) MG_Mobile_Layout01: ; 4942f call MG_Mobile_Layout_LoadPals - ld de, UnknBGPals + $38 + ld de, UnknBGPals palette PAL_BG_TEXT ld hl, Palette_49478 - ld bc, $8 - ld a, $5 ; BANK(UnknBGPals) + ld bc, 1 palettes + ld a, BANK(UnknBGPals) call FarCopyWRAM call MG_Mobile_Layout_WipeAttrMap hlcoord 0, 0, AttrMap @@ -258,8 +235,8 @@ LoadSpecialMapPalette: ; 494ac .ice_path ld a, [wPermission] ; permission - and 7 - cp 3 ; Hall of Fame + and $7 + cp INDOOR ; Hall of Fame jr z, .do_nothing call LoadIcePathPalette scf @@ -286,7 +263,7 @@ LoadSpecialMapPalette: ; 494ac ; 494f2 LoadPokeComPalette: ; 494f2 - ld a, $5 + ld a, BANK(UnknBGPals) ld de, UnknBGPals ld hl, PokeComPalette ld bc, 8 palettes @@ -299,7 +276,7 @@ INCLUDE "tilesets/pokecom_center.pal" ; 49541 LoadBattleTowerPalette: ; 49541 - ld a, $5 + ld a, BANK(UnknBGPals) ld de, UnknBGPals ld hl, BattleTowerPalette ld bc, 8 palettes @@ -312,7 +289,7 @@ INCLUDE "tilesets/battle_tower.pal" ; 49590 LoadIcePathPalette: ; 49590 - ld a, $5 + ld a, BANK(UnknBGPals) ld de, UnknBGPals ld hl, IcePathPalette ld bc, 8 palettes @@ -325,7 +302,7 @@ INCLUDE "tilesets/ice_path.pal" ; 495df LoadHousePalette: ; 495df - ld a, $5 + ld a, BANK(UnknBGPals) ld de, UnknBGPals ld hl, HousePalette ld bc, 8 palettes @@ -338,7 +315,7 @@ INCLUDE "tilesets/house_1.pal" ; 4962e LoadRadioTowerPalette: ; 4962e - ld a, $5 + ld a, BANK(UnknBGPals) ld de, UnknBGPals ld hl, RadioTowerPalette ld bc, 8 palettes @@ -401,23 +378,23 @@ MansionPalette4: ; 496bd ; 496c5 LoadMansionPalette: ; 496c5 - ld a, $5 + ld a, BANK(UnknBGPals) ld de, UnknBGPals ld hl, MansionPalette1 ld bc, 8 palettes call FarCopyWRAM - ld a, $5 - ld de, UnknBGPals + 4 palettes + ld a, BANK(UnknBGPals) + ld de, UnknBGPals palette PAL_BG_YELLOW ld hl, MansionPalette2 ld bc, 1 palettes call FarCopyWRAM - ld a, $5 - ld de, UnknBGPals + 3 palettes + ld a, BANK(UnknBGPals) + ld de, UnknBGPals palette PAL_BG_WATER ld hl, MansionPalette3 ld bc, 1 palettes call FarCopyWRAM - ld a, $5 - ld de, UnknBGPals + 6 palettes + ld a, BANK(UnknBGPals) + ld de, UnknBGPals palette PAL_BG_ROOF ld hl, MansionPalette4 ld bc, 1 palettes call FarCopyWRAM @@ -435,7 +412,7 @@ MG_Mobile_Layout02: ; 49706 ld hl, Palette_49732 ld de, UnknBGPals ld bc, 1 palettes - ld a, $5 + ld a, BANK(UnknBGPals) call FarCopyWRAM callba ApplyPals call MG_Mobile_Layout_WipeAttrMap @@ -443,7 +420,7 @@ MG_Mobile_Layout02: ; 49706 ld hl, Palette_4973a ld de, UnknOBPals ld bc, 1 palettes - ld a, $5 + ld a, BANK(UnknOBPals) call FarCopyWRAM ret ; 49732 @@ -473,45 +450,7 @@ Function49742: ; 49742 ; 49757 Palette_49757: ; 49757 - RGB 31, 31, 63 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - - RGB 31, 31, 63 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - - RGB 04, 02, 15 - RGB 21, 00, 21 - RGB 31, 00, 00 - RGB 31, 31, 31 - - RGB 04, 02, 15 - RGB 21, 00, 21 - RGB 30, 16, 26 - RGB 31, 31, 31 - - RGB 04, 02, 15 - RGB 21, 00, 21 - RGB 16, 16, 16 - RGB 31, 31, 31 - - RGB 04, 02, 15 - RGB 21, 00, 21 - RGB 31, 12, 12 - RGB 31, 31, 31 - - RGB 04, 02, 15 - RGB 21, 00, 21 - RGB 07, 08, 31 - RGB 31, 31, 31 - - RGB 04, 02, 15 - RGB 21, 00, 21 - RGB 29, 28, 09 - RGB 31, 31, 31 +INCLUDE "data/palettes/49757.pal" ; 49797 _InitMG_Mobile_LinkTradePalMap: ; 49797 @@ -567,45 +506,17 @@ _InitMG_Mobile_LinkTradePalMap: ; 49797 ; 49811 LoadTradeRoomBGPals: ; 49811 - ld hl, Palette_49826 - ld de, UnknBGPals + $10 - ld bc, $30 - ld a, $5 + ld hl, TradeRoomPalette + ld de, UnknBGPals palette PAL_BG_GREEN + ld bc, 6 palettes + ld a, BANK(UnknBGPals) call FarCopyWRAM callba ApplyPals ret ; 49826 -Palette_49826: ; 49826 - RGB 04, 02, 15 - RGB 07, 09, 31 - RGB 31, 00, 00 - RGB 31, 31, 31 - - RGB 04, 02, 15 - RGB 07, 09, 31 - RGB 15, 23, 30 - RGB 31, 31, 31 - - RGB 04, 02, 15 - RGB 07, 09, 31 - RGB 16, 16, 16 - RGB 31, 31, 31 - - RGB 04, 02, 15 - RGB 07, 09, 31 - RGB 25, 07, 04 - RGB 31, 31, 31 - - RGB 04, 02, 15 - RGB 07, 09, 31 - RGB 03, 22, 08 - RGB 31, 31, 31 - - RGB 04, 02, 15 - RGB 07, 09, 31 - RGB 29, 28, 09 - RGB 31, 31, 31 +TradeRoomPalette: ; 49826 +INCLUDE "data/palettes/trade_room.pal" ; 49856 InitMG_Mobile_LinkTradePalMap: ; 49856 diff --git a/engine/crystal_intro.asm b/engine/crystal_intro.asm index d0a0b7281..b417044eb 100755 --- a/engine/crystal_intro.asm +++ b/engine/crystal_intro.asm @@ -341,29 +341,7 @@ GameFreakLogoScene5: ; e47ab (39:47ab) ; e47ac (39:47ac) GameFreakLogoPalettes: ; e47ac -; Ditto's color as it turns into the Game Freak logo. -; Fade from pink to orange. -; One color per step. - RGB 23, 12, 28 - RGB 23, 12, 27 - RGB 23, 13, 26 - RGB 23, 13, 24 - - RGB 24, 14, 22 - RGB 24, 14, 20 - RGB 24, 15, 18 - RGB 24, 15, 16 - - RGB 25, 16, 14 - RGB 25, 16, 12 - RGB 25, 17, 10 - RGB 25, 17, 08 - - RGB 26, 18, 06 - RGB 26, 18, 04 - RGB 26, 19, 02 - RGB 26, 19, 00 - +INCLUDE "data/palettes/crystal_intro/gamefreak_logo.pal" ; e47cc GameFreakLogo: ; e47cc @@ -506,11 +484,11 @@ IntroScene1: ; e495b (39:495b) ld [rSVBK], a ld hl, Palette_365ad ld de, UnknBGPals - ld bc, $80 + ld bc, 16 palettes call CopyBytes ld hl, Palette_365ad ld de, BGPals - ld bc, $80 + ld bc, 16 palettes call CopyBytes pop af ld [rSVBK], a @@ -579,11 +557,11 @@ IntroScene3: ; e49fd (39:49fd) ld [rSVBK], a ld hl, Palette_e5edd ld de, UnknBGPals - ld bc, $80 + ld bc, 16 palettes call CopyBytes ld hl, Palette_e5edd ld de, BGPals - ld bc, $80 + ld bc, 16 palettes call CopyBytes pop af ld [rSVBK], a @@ -645,11 +623,11 @@ IntroScene5: ; e4a7a (39:4a7a) ld [rSVBK], a ld hl, Palette_365ad ld de, UnknBGPals - ld bc, $80 + ld bc, 16 palettes call CopyBytes ld hl, Palette_365ad ld de, BGPals - ld bc, $80 + ld bc, 16 palettes call CopyBytes pop af ld [rSVBK], a @@ -752,12 +730,12 @@ IntroScene7: ; e4b3f (39:4b3f) ld hl, Palette_e5edd ld de, UnknBGPals - ld bc, $80 + ld bc, 16 palettes call CopyBytes ld hl, Palette_e5edd ld de, BGPals - ld bc, $80 + ld bc, 16 palettes call CopyBytes pop af @@ -910,11 +888,11 @@ IntroScene11: ; e4c86 (39:4c86) ld [rSVBK], a ld hl, Palette_365ad ld de, UnknBGPals - ld bc, $80 + ld bc, 16 palettes call CopyBytes ld hl, Palette_365ad ld de, BGPals - ld bc, $80 + ld bc, 16 palettes call CopyBytes pop af ld [rSVBK], a @@ -1037,11 +1015,11 @@ IntroScene13: ; e4d6d (39:4d6d) ld [rSVBK], a ld hl, Palette_e5edd ld de, UnknBGPals - ld bc, $80 + ld bc, 16 palettes call CopyBytes ld hl, Palette_e5edd ld de, BGPals - ld bc, $80 + ld bc, 16 palettes call CopyBytes pop af ld [rSVBK], a @@ -1146,11 +1124,11 @@ IntroScene15: ; e4e40 (39:4e40) ld [rSVBK], a ld hl, Palette_e77dd ld de, UnknBGPals - ld bc, $80 + ld bc, 16 palettes call CopyBytes ld hl, Palette_e77dd ld de, BGPals - ld bc, $80 + ld bc, 16 palettes call CopyBytes pop af ld [rSVBK], a @@ -1220,11 +1198,11 @@ IntroScene17: ; e4ef5 (39:4ef5) ld [rSVBK], a ld hl, Palette_e6d6d ld de, UnknBGPals - ld bc, $80 + ld bc, 16 palettes call CopyBytes ld hl, Palette_e6d6d ld de, BGPals - ld bc, $80 + ld bc, 16 palettes call CopyBytes pop af ld [rSVBK], a @@ -1294,11 +1272,11 @@ IntroScene19: ; e4f7e (39:4f7e) ld [rSVBK], a ld hl, Palette_e77dd ld de, UnknBGPals - ld bc, $80 + ld bc, 16 palettes call CopyBytes ld hl, Palette_e77dd ld de, BGPals - ld bc, $80 + ld bc, 16 palettes call CopyBytes pop af ld [rSVBK], a @@ -1464,11 +1442,11 @@ IntroScene26: ; e50bb (39:50bb) ld [rSVBK], a ld hl, Palette_e679d ld de, UnknBGPals - ld bc, $80 + ld bc, 16 palettes call CopyBytes ld hl, Palette_e679d ld de, BGPals - ld bc, $80 + ld bc, 16 palettes call CopyBytes pop af ld [rSVBK], a @@ -1572,47 +1550,7 @@ Intro_Scene24_ApplyPaletteFade: ; e5172 (39:5172) ; e519c (39:519c) .FadePals: ; e519c -; Fade to white. - RGB 24, 12, 09 - RGB 31, 31, 31 - RGB 12, 00, 31 - RGB 00, 00, 00 - - RGB 31, 19, 05 - RGB 31, 31, 31 - RGB 15, 05, 31 - RGB 07, 07, 07 - - RGB 31, 21, 09 - RGB 31, 31, 31 - RGB 18, 09, 31 - RGB 11, 11, 11 - - RGB 31, 23, 13 - RGB 31, 31, 31 - RGB 21, 13, 31 - RGB 15, 15, 15 - - RGB 31, 25, 17 - RGB 31, 31, 31 - RGB 25, 17, 31 - RGB 19, 19, 19 - - RGB 31, 27, 21 - RGB 31, 31, 31 - RGB 27, 21, 31 - RGB 23, 23, 23 - - RGB 31, 29, 25 - RGB 31, 31, 31 - RGB 29, 26, 31 - RGB 27, 27, 27 - - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - +INCLUDE "data/palettes/crystal_intro/fade.pal" ; e51dc CrystalIntro_InitUnownAnim: ; e51dc (39:51dc) @@ -1685,7 +1623,7 @@ CrystalIntro_UnownFade: ; e5223 (39:5223) push hl push bc ld hl, BGPals - ld bc, 4 * 16 + ld bc, 8 palettes xor a call ByteFill pop bc @@ -2150,85 +2088,8 @@ INCBIN "gfx/intro/003.tilemap.lz" ; e5edd Palette_e5edd: ; e5edd - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 11, 11, 11 - RGB 0, 0, 0 - - RGB 0, 4, 5 - RGB 1, 8, 5 - RGB 4, 12, 9 - RGB 24, 12, 9 - - RGB 0, 4, 5 - RGB 9, 6, 8 - RGB 8, 16, 5 - RGB 5, 10, 4 - - RGB 31, 31, 31 - RGB 9, 6, 8 - RGB 18, 9, 9 - RGB 13, 8, 9 - - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 11, 11, 11 - RGB 0, 0, 0 - - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 11, 11, 11 - RGB 0, 0, 0 - - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 11, 11, 11 - RGB 0, 0, 0 - - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 11, 11, 11 - RGB 0, 0, 0 - - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 2, 5, 22 - RGB 1, 5, 12 - - RGB 31, 31, 31 - RGB 31, 10, 25 - RGB 31, 21, 0 - RGB 0, 0, 0 - - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 11, 21, 31 - RGB 0, 0, 0 - - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 11, 11, 11 - RGB 0, 0, 0 - - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 11, 11, 11 - RGB 0, 0, 0 - - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 11, 11, 11 - RGB 0, 0, 0 - - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 11, 11, 11 - RGB 0, 0, 0 - - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 11, 11, 11 - RGB 0, 0, 0 +INCLUDE "data/palettes/crystal_intro/intro_1.pal" +; e5f5d IntroUnownsGFX: ; e5f5d INCBIN "gfx/intro/unowns.2bpp.lz" @@ -2263,85 +2124,8 @@ INCBIN "gfx/intro/007.tilemap.lz" ; e65ad Palette_365ad: ; e65ad - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - - RGB 31, 31, 31 - RGB 10, 0, 10 - RGB 19, 0, 19 - RGB 31, 0, 31 - - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 11, 11, 11 - RGB 0, 0, 0 - - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 11, 11, 11 - RGB 0, 0, 0 - - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 11, 11, 11 - RGB 0, 0, 0 - - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 11, 11, 11 - RGB 0, 0, 0 - - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 11, 11, 11 - RGB 0, 0, 0 - - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 11, 11, 11 - RGB 0, 0, 0 - - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 11, 11, 11 - RGB 0, 0, 0 +INCLUDE "data/palettes/crystal_intro/intro_2.pal" +; e662d IntroCrystalUnownsGFX: ; e662d INCBIN "gfx/intro/crystal_unowns.2bpp.lz" @@ -2356,85 +2140,8 @@ INCBIN "gfx/intro/015.tilemap.lz" ; e679d Palette_e679d: ; e679d - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 11, 11, 11 - RGB 0, 0, 0 - - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 11, 11, 11 - RGB 0, 0, 0 - - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 11, 11, 11 - RGB 0, 0, 0 - - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 11, 11, 11 - RGB 0, 0, 0 - - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 11, 11, 11 - RGB 0, 0, 0 - - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 11, 11, 11 - RGB 0, 0, 0 - - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 11, 11, 11 - RGB 0, 0, 0 - - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 11, 11, 11 - RGB 0, 0, 0 +INCLUDE "data/palettes/crystal_intro/intro_3.pal" +; e681d IntroSuicuneCloseGFX: ; e681d INCBIN "gfx/intro/suicune_close.2bpp.lz" @@ -2449,85 +2156,8 @@ INCBIN "gfx/intro/011.tilemap.lz" ; e6d6d Palette_e6d6d: ; e6d6d - RGB 24, 12, 9 - RGB 20, 20, 20 - RGB 11, 11, 11 - RGB 0, 0, 0 - - RGB 24, 12, 9 - RGB 31, 31, 31 - RGB 8, 9, 31 - RGB 0, 0, 0 - - RGB 24, 12, 9 - RGB 12, 20, 31 - RGB 19, 8, 31 - RGB 0, 0, 0 - - RGB 12, 20, 31 - RGB 8, 9, 31 - RGB 19, 8, 31 - RGB 0, 0, 0 - - RGB 31, 31, 31 - RGB 12, 20, 31 - RGB 8, 9, 31 - RGB 0, 0, 0 - - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 11, 11, 11 - RGB 0, 0, 0 - - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 11, 11, 11 - RGB 0, 0, 0 - - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 11, 11, 11 - RGB 0, 0, 0 - - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 11, 11, 11 - RGB 0, 0, 0 - - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 11, 11, 11 - RGB 0, 0, 0 - - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 11, 11, 11 - RGB 0, 0, 0 - - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 11, 11, 11 - RGB 0, 0, 0 - - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 11, 11, 11 - RGB 0, 0, 0 - - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 11, 11, 11 - RGB 0, 0, 0 - - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 11, 11, 11 - RGB 0, 0, 0 - - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 11, 11, 11 - RGB 0, 0, 0 +INCLUDE "data/palettes/crystal_intro/intro_4.pal" +; e6ded IntroSuicuneJumpGFX: ; e6ded INCBIN "gfx/intro/suicune_jump.2bpp.lz" @@ -2554,85 +2184,7 @@ INCBIN "gfx/intro/013.tilemap.lz" ; e77dd Palette_e77dd: ; e77dd - RGB 24, 12, 9 - RGB 20, 20, 20 - RGB 11, 11, 11 - RGB 0, 0, 0 - - RGB 24, 12, 9 - RGB 31, 31, 31 - RGB 8, 9, 31 - RGB 0, 0, 0 - - RGB 24, 12, 9 - RGB 24, 12, 9 - RGB 24, 12, 9 - RGB 24, 12, 9 - - RGB 24, 12, 9 - RGB 24, 12, 9 - RGB 24, 12, 9 - RGB 24, 12, 9 - - RGB 24, 12, 9 - RGB 24, 12, 9 - RGB 24, 12, 9 - RGB 24, 12, 9 - - RGB 24, 12, 9 - RGB 24, 12, 9 - RGB 24, 12, 9 - RGB 24, 12, 9 - - RGB 24, 12, 9 - RGB 24, 12, 9 - RGB 24, 12, 9 - RGB 24, 12, 9 - - RGB 24, 12, 9 - RGB 24, 12, 9 - RGB 24, 12, 9 - RGB 24, 12, 9 - - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 12, 0, 31 - RGB 0, 0, 0 - - RGB 31, 31, 31 - RGB 21, 9, 0 - RGB 21, 9, 0 - RGB 0, 0, 0 - - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 11, 11, 11 - RGB 0, 0, 0 - - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 11, 11, 11 - RGB 0, 0, 0 - - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 11, 11, 11 - RGB 0, 0, 0 - - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 11, 11, 11 - RGB 0, 0, 0 - - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 11, 11, 11 - RGB 0, 0, 0 - - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 11, 11, 11 - RGB 0, 0, 0 +INCLUDE "data/palettes/crystal_intro/intro_5.pal" IntroUnownBackGFX: ; e785d INCBIN "gfx/intro/unown_back.2bpp.lz" @@ -2646,4 +2198,3 @@ IntroGrass3GFX: ; e7a1d INCBIN "gfx/intro/grass3.2bpp" IntroGrass4GFX: ; e7a5d INCBIN "gfx/intro/grass4.2bpp" - diff --git a/engine/debug.asm b/engine/debug.asm index 9c2bb35c2..bcd53c021 100755 --- a/engine/debug.asm +++ b/engine/debug.asm @@ -159,7 +159,7 @@ Function819a7: ; 819a7 ld [rSVBK], a ld hl, Palette_819f4 ld de, BGPals - ld bc, $80 + ld bc, 16 palettes call CopyBytes ld a, $80 ld [rBGPI], a @@ -193,93 +193,10 @@ Function819a7: ; 819a7 ; 819f4 Palette_819f4: ; 819f4 - ; white - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 00, 00, 00 - - ; red - RGB 31, 00, 00 - RGB 31, 00, 00 - RGB 31, 00, 00 - RGB 00, 00, 00 - - ; green - RGB 00, 31, 00 - RGB 00, 31, 00 - RGB 00, 31, 00 - RGB 00, 00, 00 - - ; blue - RGB 00, 00, 31 - RGB 00, 00, 31 - RGB 00, 00, 31 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 00, 00, 00 +INCLUDE "data/palettes/debug/bg.pal" Palette_81a34: ; 81a34 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 00, 00, 00 - - ; red - RGB 31, 31, 31 - RGB 31, 00, 00 - RGB 31, 00, 00 - RGB 00, 00, 00 - - ; green - RGB 31, 31, 31 - RGB 00, 31, 00 - RGB 00, 31, 00 - RGB 00, 00, 00 - - ; blue - RGB 31, 31, 31 - RGB 00, 00, 31 - RGB 00, 00, 31 - RGB 00, 00, 00 +INCLUDE "data/palettes/debug/ob.pal" ; 81a74 Function81a74: ; 81a74 diff --git a/engine/sgb_layouts.asm b/engine/sgb_layouts.asm index dc174e86f..e59fb19d8 100644 --- a/engine/sgb_layouts.asm +++ b/engine/sgb_layouts.asm @@ -77,7 +77,7 @@ Predef_LoadSGBLayout: ; 864c ld h, 0 add hl, hl add hl, hl - ld de, Palettes_a8be + ld de, HPBarPals add hl, de ld a, [hli] @@ -95,7 +95,7 @@ Predef_LoadSGBLayout: ; 864c add hl, hl add hl, hl - ld de, Palettes_a8be + ld de, HPBarPals add hl, de ld a, [hli] ld [wSGBPals + 9], a @@ -173,7 +173,7 @@ Predef_LoadSGBLayout: ; 864c ld h, 0 add hl, hl add hl, hl - ld de, Palettes_a8be + ld de, HPBarPals add hl, de ld a, [hli] ld [wSGBPals + 3], a diff --git a/engine/title.asm b/engine/title.asm index 2073fdf58..ba7f34764 100644 --- a/engine/title.asm +++ b/engine/title.asm @@ -399,84 +399,4 @@ INCBIN "gfx/title/crystal.2bpp.lz" ; 10fede TitleScreenPalettes: -; BG - RGB 00, 00, 00 - RGB 19, 00, 00 - RGB 15, 08, 31 - RGB 15, 08, 31 - - RGB 00, 00, 00 - RGB 31, 31, 31 - RGB 15, 16, 31 - RGB 31, 01, 13 - - RGB 00, 00, 00 - RGB 07, 07, 07 - RGB 31, 31, 31 - RGB 02, 03, 30 - - RGB 00, 00, 00 - RGB 13, 13, 13 - RGB 31, 31, 18 - RGB 02, 03, 30 - - RGB 00, 00, 00 - RGB 19, 19, 19 - RGB 29, 28, 12 - RGB 02, 03, 30 - - RGB 00, 00, 00 - RGB 25, 25, 25 - RGB 28, 25, 06 - RGB 02, 03, 30 - - RGB 00, 00, 00 - RGB 31, 31, 31 - RGB 26, 21, 00 - RGB 02, 03, 30 - - RGB 00, 00, 00 - RGB 11, 11, 19 - RGB 31, 31, 31 - RGB 00, 00, 00 - -; OBJ - RGB 00, 00, 00 - RGB 10, 00, 15 - RGB 17, 05, 22 - RGB 19, 09, 31 - - RGB 31, 31, 31 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 +INCLUDE "data/palettes/title.pal" diff --git a/engine/unused_title.asm b/engine/unused_title.asm index 6cd79237b..2075d86d9 100644 --- a/engine/unused_title.asm +++ b/engine/unused_title.asm @@ -3,21 +3,24 @@ UnusedTitleScreen: ; 10c000 call ClearBGPalettes call ClearTileMap call DisableLCD + +; Turn BG Map update off xor a ld [hBGMapMode], a +; Reset timing variables ld hl, wJumptableIndex - ld [hli], a - ld [hli], a - ld [hli], a - ld [hl], a + ld [hli], a ; wJumptableIndex + ld [hli], a ; wIntroSceneFrameCounter + ld [hli], a ; wTitleScreenTimer + ld [hl], a ; wTitleScreenTimer + 1 ld hl, UnusedTitleBG_GFX ld de, VTiles2 ld bc, VBGMap0 - VTiles2 call CopyBytes - ld hl, UnusedTitleBG_GFX + $800 + ld hl, UnusedTitleBG_GFX + $80 tiles ld de, VTiles1 ld bc, VTiles2 - VTiles1 call CopyBytes @@ -65,22 +68,22 @@ UnusedTitleScreen: ; 10c000 ld hl, UnusedTitleBG_Palettes ld de, UnknBGPals - ld bc, $40 + ld bc, 8 palettes call CopyBytes ld hl, UnusedTitleFG_Palettes ld de, UnknOBPals - ld bc, $40 + ld bc, 8 palettes call CopyBytes ld hl, UnusedTitleBG_Palettes ld de, BGPals - ld bc, $40 + ld bc, 8 palettes call CopyBytes ld hl, UnusedTitleFG_Palettes ld de, OBPals - ld bc, $40 + ld bc, 8 palettes call CopyBytes pop af @@ -136,46 +139,7 @@ UnusedTitleBG_Tilemap: ; 10d0b1 ; 10d8b1 UnusedTitleBG_Palettes: ; 10d8b1 - RGB 00, 00, 00 - RGB 25, 15, 28 - RGB 22, 11, 28 - RGB 19, 08, 26 - - RGB 00, 00, 00 - RGB 17, 07, 22 - RGB 13, 07, 16 - RGB 19, 08, 26 - - RGB 25, 15, 28 - RGB 22, 11, 28 - RGB 19, 08, 26 - RGB 17, 07, 22 - - RGB 22, 11, 28 - RGB 19, 08, 26 - RGB 17, 07, 22 - RGB 13, 07, 16 - - RGB 00, 00, 00 - RGB 31, 31, 31 - RGB 16, 16, 24 - RGB 02, 13, 21 - - RGB 00, 00, 00 - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 12, 12, 12 - - RGB 00, 00, 00 - RGB 01, 11, 23 - RGB 16, 16, 24 - RGB 02, 13, 21 - - RGB 00, 00, 00 - RGB 22, 10, 31 - RGB 19, 08, 26 - RGB 17, 07, 22 - +INCLUDE "data/palettes/unused_title/bg.pal" RGB 31, 31, 31 RGB 31, 31, 31 @@ -187,12 +151,12 @@ UnusedTitleBG_Palettes: ; 10d8b1 RGB 16, 08, 16 RGB 24, 00, 24 - rept 54 +rept 54 RGB 31, 31, 31 RGB 31, 31, 31 RGB 31, 31, 31 RGB 31, 31, 31 - endr +endr ; 10dab1 UnusedTitleFG_GFX: ; 10dab1 @@ -200,326 +164,7 @@ INCBIN "gfx/title/old_fg.2bpp" ; 10eab1 UnusedTitleFG_Palettes: ; 10eab1 - RGB 00, 00, 00 - RGB 31, 31, 31 - RGB 16, 16, 24 - RGB 02, 13, 21 - - RGB 00, 00, 00 - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 12, 12, 12 - - RGB 00, 00, 00 - RGB 01, 11, 23 - RGB 16, 16, 24 - RGB 02, 13, 21 - - RGB 00, 00, 00 - RGB 31, 22, 00 - RGB 31, 27, 00 - RGB 31, 31, 00 - - RGB 00, 00, 00 - RGB 31, 31, 31 - RGB 16, 16, 24 - RGB 02, 13, 21 - - RGB 00, 00, 00 - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 12, 12, 12 - - RGB 00, 00, 00 - RGB 01, 11, 23 - RGB 16, 16, 24 - RGB 02, 13, 21 - - RGB 16, 31, 00 - RGB 22, 31, 00 - RGB 27, 31, 00 - RGB 31, 31, 00 - - - RGB 31, 00, 18 - RGB 31, 31, 31 - RGB 16, 16, 24 - RGB 02, 13, 21 - - RGB 00, 00, 00 - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 12, 12, 12 - - RGB 00, 00, 00 - RGB 01, 11, 23 - RGB 16, 16, 24 - RGB 02, 13, 21 - - RGB 16, 31, 00 - RGB 22, 31, 00 - RGB 27, 31, 00 - RGB 31, 31, 00 - - RGB 24, 18, 31 - RGB 31, 31, 00 - RGB 31, 31, 01 - RGB 31, 31, 03 - - RGB 31, 31, 05 - RGB 31, 31, 08 - RGB 31, 31, 10 - RGB 31, 31, 12 - - RGB 31, 31, 14 - RGB 31, 31, 16 - RGB 31, 31, 18 - RGB 31, 31, 20 - - RGB 31, 31, 22 - RGB 31, 31, 25 - RGB 31, 31, 27 - RGB 31, 31, 29 - - RGB 24, 06, 06 - RGB 01, 01, 01 - RGB 03, 03, 03 - RGB 05, 05, 05 - - RGB 08, 08, 08 - RGB 10, 10, 10 - RGB 12, 12, 12 - RGB 14, 14, 14 - - RGB 16, 16, 16 - RGB 18, 18, 18 - RGB 20, 20, 20 - RGB 22, 22, 22 - - RGB 25, 25, 25 - RGB 27, 27, 27 - RGB 29, 29, 29 - RGB 31, 31, 31 - - RGB 18, 24, 18 - RGB 31, 29, 01 - RGB 31, 27, 03 - RGB 31, 25, 05 - - RGB 31, 22, 08 - RGB 31, 20, 10 - RGB 31, 18, 12 - RGB 31, 16, 14 - - RGB 31, 14, 16 - RGB 31, 12, 18 - RGB 31, 10, 20 - RGB 31, 08, 22 - - RGB 31, 05, 25 - RGB 31, 03, 27 - RGB 31, 01, 29 - RGB 31, 00, 31 - - RGB 18, 06, 31 - RGB 00, 31, 31 - RGB 00, 31, 29 - RGB 00, 31, 27 - - RGB 00, 31, 25 - RGB 00, 31, 22 - RGB 00, 31, 20 - RGB 00, 31, 18 - - RGB 00, 31, 16 - RGB 00, 31, 14 - RGB 00, 31, 12 - RGB 00, 31, 10 - - RGB 00, 31, 08 - RGB 00, 31, 05 - RGB 00, 31, 03 - RGB 00, 31, 01 - - RGB 12, 31, 06 - RGB 00, 00, 31 - RGB 00, 01, 31 - RGB 00, 03, 31 - - RGB 00, 05, 31 - RGB 00, 08, 31 - RGB 00, 10, 31 - RGB 00, 12, 31 - - RGB 00, 14, 31 - RGB 00, 16, 31 - RGB 00, 18, 31 - RGB 00, 20, 31 - - RGB 00, 22, 31 - RGB 00, 25, 31 - RGB 00, 27, 31 - RGB 00, 29, 31 - - RGB 00, 00, 00 - RGB 06, 00, 04 - RGB 19, 02, 09 - RGB 28, 04, 11 - - RGB 31, 07, 16 - RGB 31, 17, 23 - RGB 31, 26, 30 - RGB 07, 05, 10 - - RGB 14, 10, 18 - RGB 20, 20, 25 - RGB 25, 27, 31 - RGB 09, 05, 06 - - RGB 23, 16, 13 - RGB 30, 23, 22 - RGB 31, 28, 28 - RGB 31, 31, 31 - - RGB 06, 31, 31 - RGB 04, 00, 04 - RGB 11, 02, 04 - RGB 17, 02, 04 - - RGB 24, 05, 04 - RGB 28, 07, 04 - RGB 31, 11, 04 - RGB 02, 01, 15 - - RGB 04, 11, 22 - RGB 12, 25, 25 - RGB 20, 31, 31 - RGB 09, 04, 03 - - RGB 22, 11, 08 - RGB 27, 19, 16 - RGB 30, 28, 26 - RGB 31, 31, 31 - - RGB 06, 18, 06 - RGB 04, 04, 02 - RGB 07, 07, 02 - RGB 18, 18, 04 - - RGB 24, 24, 06 - RGB 27, 27, 11 - RGB 31, 31, 20 - RGB 02, 03, 10 - - RGB 04, 05, 13 - RGB 06, 10, 25 - RGB 08, 15, 31 - RGB 04, 00, 06 - - RGB 11, 07, 14 - RGB 21, 16, 23 - RGB 29, 26, 31 - RGB 31, 31, 31 - - RGB 06, 00, 18 - RGB 00, 04, 03 - RGB 02, 09, 05 - RGB 11, 19, 07 - - RGB 16, 24, 08 - RGB 22, 31, 09 - RGB 24, 31, 18 - RGB 03, 01, 03 - - RGB 10, 04, 10 - RGB 20, 08, 20 - RGB 31, 17, 31 - RGB 01, 03, 06 - - RGB 05, 09, 10 - RGB 15, 21, 21 - RGB 23, 25, 25 - RGB 31, 31, 31 - - RGB 00, 18, 31 - RGB 00, 05, 07 - RGB 00, 08, 13 - RGB 00, 12, 17 - - RGB 01, 20, 24 - RGB 04, 27, 31 - RGB 14, 31, 31 - RGB 04, 02, 02 - - RGB 15, 01, 03 - RGB 26, 04, 07 - RGB 31, 13, 16 - RGB 00, 05, 02 - - RGB 01, 11, 03 - RGB 06, 21, 06 - RGB 13, 31, 16 - RGB 31, 31, 31 - - RGB 00, 06, 06 - RGB 00, 01, 08 - RGB 00, 05, 14 - RGB 00, 08, 19 - - RGB 02, 14, 26 - RGB 04, 21, 31 - RGB 06, 26, 31 - RGB 13, 00, 00 - - RGB 27, 07, 00 - RGB 31, 17, 05 - RGB 31, 25, 16 - RGB 02, 04, 00 - - RGB 07, 11, 03 - RGB 17, 19, 05 - RGB 27, 31, 16 - RGB 31, 31, 31 - - RGB 02, 00, 00 - RGB 04, 01, 06 - RGB 11, 03, 14 - RGB 16, 04, 19 - - RGB 20, 07, 22 - RGB 26, 12, 27 - RGB 26, 20, 31 - RGB 04, 07, 00 - - RGB 16, 20, 07 - RGB 24, 28, 15 - RGB 29, 31, 24 - RGB 05, 02, 02 - - RGB 15, 04, 02 - RGB 24, 11, 10 - RGB 31, 22, 20 - RGB 31, 31, 31 - - RGB 00, 00, 14 - RGB 12, 00, 00 - RGB 27, 05, 00 - RGB 31, 15, 05 - - RGB 31, 26, 13 - RGB 31, 30, 21 - RGB 05, 07, 16 - RGB 04, 16, 20 - - RGB 04, 24, 26 - RGB 08, 31, 31 - RGB 23, 31, 31 - RGB 00, 00, 00 - - RGB 05, 05, 05 - RGB 17, 17, 15 - RGB 28, 28, 24 - RGB 31, 31, 31 +INCLUDE "data/palettes/unused_title/ob.pal" ; 10ecb1 UnusedTitleFG_OAM: ; 10ecb1 diff --git a/gfx/card_flip/card_flip.tilemap b/gfx/card_flip/card_flip.tilemap new file mode 100644 index 000000000..f6cdbefb1 Binary files /dev/null and b/gfx/card_flip/card_flip.tilemap differ -- cgit v1.2.3 From 5aac8afae7a3514b76f684237f3de59e6a27977e Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Fri, 15 Dec 2017 23:29:42 -0500 Subject: =?UTF-8?q?PLAYER=5FSLIP=20=E2=86=92=20PLAYER=5FSKATE=20(probably?= =?UTF-8?q?=20used=20for=20the=20beta=20skateboard;=20DoPlayerMovement.Bik?= =?UTF-8?q?eCheck=20returns=20true=20for=20it)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- constants/wram_constants.asm | 2 +- engine/map_setup.asm | 2 +- engine/player_movement.asm | 7 +++---- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/constants/wram_constants.asm b/constants/wram_constants.asm index 23692fdef..c8c49621e 100644 --- a/constants/wram_constants.asm +++ b/constants/wram_constants.asm @@ -107,7 +107,7 @@ REGISTERED_NUMBER EQU %00111111 ; PlayerState: ; d95d PLAYER_NORMAL EQU 0 PLAYER_BIKE EQU 1 -PLAYER_SLIP EQU 2 +PLAYER_SKATE EQU 2 PLAYER_SURF EQU 4 PLAYER_SURF_PIKA EQU 8 diff --git a/engine/map_setup.asm b/engine/map_setup.asm index 5de4f30da..72fe9c07f 100644 --- a/engine/map_setup.asm +++ b/engine/map_setup.asm @@ -356,7 +356,7 @@ CheckReplaceKrisSprite: ; 154f7 ld a, [PlayerState] cp PLAYER_NORMAL jr z, .nope - cp PLAYER_SLIP + cp PLAYER_SKATE jr z, .nope cp PLAYER_SURF jr z, .surfing diff --git a/engine/player_movement.asm b/engine/player_movement.asm index 7ccb36551..5bc3e1f0b 100755 --- a/engine/player_movement.asm +++ b/engine/player_movement.asm @@ -42,7 +42,7 @@ DoPlayerMovement:: ; 80000 jr z, .Surf cp PLAYER_BIKE jr z, .Normal - cp PLAYER_SLIP + cp PLAYER_SKATE jr z, .Ice .Normal: @@ -750,11 +750,10 @@ DoPlayerMovement:: ; 80000 ; 803ca .BikeCheck: ; 803ca - ld a, [PlayerState] cp PLAYER_BIKE ret z - cp PLAYER_SLIP + cp PLAYER_SKATE ret ; 803d3 @@ -824,7 +823,7 @@ CheckStandingOnIce:: ; 80404 call CheckIceTile jr nc, .yep ld a, [PlayerState] - cp PLAYER_SLIP + cp PLAYER_SKATE jr nz, .not_ice .yep -- cgit v1.2.3 From cbde91d7edb4be3c8773d71ef814fb599ee7e7f3 Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Fri, 15 Dec 2017 23:59:24 -0500 Subject: Only engine/decorations.asm uses PadCoords_de --- engine/decorations.asm | 10 ++++++++++ main.asm | 10 ---------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/engine/decorations.asm b/engine/decorations.asm index b69f4f3c3..160022b93 100755 --- a/engine/decorations.asm +++ b/engine/decorations.asm @@ -1374,3 +1374,13 @@ _GetDecorationSprite: ; 27085 ld a, c ret ; 27092 + +PadCoords_de: ; 27092 + ld a, d + add 4 + ld d, a + ld a, e + add 4 + ld e, a + call GetBlockLocation + ret diff --git a/main.asm b/main.asm index 299b6ce5f..f336abad3 100644 --- a/main.asm +++ b/main.asm @@ -238,16 +238,6 @@ INCLUDE "engine/trainer_card.asm" INCLUDE "engine/prof_oaks_pc.asm" INCLUDE "engine/decorations.asm" -PadCoords_de: ; 27092 - ld a, d - add 4 - ld d, a - ld a, e - add 4 - ld e, a - call GetBlockLocation - ret - LevelUpHappinessMod: ; 2709e ld a, [CurPartyMon] ld hl, PartyMon1CaughtLocation -- cgit v1.2.3 From fbf931f5d3b505bb336c3bc17d4d332ab374d033 Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Sat, 16 Dec 2017 00:50:03 -0500 Subject: Ad some more constants for meaningful audio WRAM bits --- audio/engine.asm | 18 +++++++++--------- battle/core.asm | 4 ++-- constants/audio_constants.asm | 18 ++++++++++++++++++ engine/item_effects.asm | 2 +- 4 files changed, 30 insertions(+), 12 deletions(-) diff --git a/audio/engine.asm b/audio/engine.asm index da90e19ec..cd68bc96d 100644 --- a/audio/engine.asm +++ b/audio/engine.asm @@ -245,7 +245,7 @@ UpdateChannels: ; e8125 .Channel1: ld a, [Danger] - bit 7, a + bit DANGER_ON_F, a ret nz .Channel5: ld hl, Channel1NoteFlags - Channel1 @@ -537,9 +537,9 @@ _CheckSFX: ; e82e7 PlayDanger: ; e8307 ld a, [Danger] - bit 7, a + bit DANGER_ON_F, a ret z - and $7f + and $ff - (1 << DANGER_ON_F) ld d, a call _CheckSFX jr c, .asm_e8335 @@ -573,7 +573,7 @@ PlayDanger: ; e8307 jr c, .asm_e833c xor a .asm_e833c - or $80 + or 1 << DANGER_ON_F ld [Danger], a ; is hw ch1 on? ld a, [SoundOutput] @@ -632,9 +632,9 @@ FadeMusic: ; e8358 ld [MusicFadeCount], a ; get SO1 volume ld a, [Volume] - and $7 + and VOLUME_SO1_LEVEL ; which way are we fading? - bit 7, d + bit MUSIC_FADE_IN_F, d jr nz, .fadein ; fading out and a @@ -648,7 +648,7 @@ FadeMusic: ; e8358 ld [Volume], a ; did we just get on a bike? ld a, [PlayerState] - cp $1 ; bicycle + cp PLAYER_BIKE jr z, .bicycle push bc ; restart sound @@ -688,7 +688,7 @@ FadeMusic: ; e8358 pop bc ; fade in ld hl, MusicFade - set 7, [hl] + set MUSIC_FADE_IN_F, [hl] ret .fadein @@ -2976,7 +2976,7 @@ PlayTrainerEncounterMusic:: ; e900a ld [MusicFade], a ; play nothing for one frame push de - ld de, 0 ; id: Music_Nothing + ld de, MUSIC_NONE call PlayMusic call DelayFrame ; play new song diff --git a/battle/core.asm b/battle/core.asm index 325ce52f9..438c08f08 100644 --- a/battle/core.asm +++ b/battle/core.asm @@ -4822,12 +4822,12 @@ CheckDanger: ; 3df9e .no_danger ld hl, Danger - res 7, [hl] + res DANGER_ON_F, [hl] jr .done .danger ld hl, Danger - set 7, [hl] + set DANGER_ON_F, [hl] .done ret diff --git a/constants/audio_constants.asm b/constants/audio_constants.asm index e2c62c389..861c35ee0 100755 --- a/constants/audio_constants.asm +++ b/constants/audio_constants.asm @@ -67,4 +67,22 @@ NUM_CHANNELS EQU const_value const NOTE_VIBRATO_OVERRIDE ; 6 ; Volume: +VOLUME_SO1_F EQU 3 +VOLUME_SO2_F EQU 7 +VOLUME_SO1_LEVEL EQU %00000111 +VOLUME_SO2_LEVEL EQU %01110000 MAX_VOLUME EQU $77 + +; SoundInput: +SOUND_INPUT_CH1_F EQU 0 +SOUND_INPUT_CH2_F EQU 1 +SOUND_INPUT_CH3_F EQU 2 +SOUND_INPUT_CH4_F EQU 3 +SOUND_INPUT_GLOBAL_F EQU 7 + +; Danger: +DANGER_PITCH_F EQU 4 +DANGER_ON_F EQU 7 + +; MusicFade: +MUSIC_FADE_IN_F EQU 7 diff --git a/engine/item_effects.asm b/engine/item_effects.asm index b38b13874..cc2132034 100644 --- a/engine/item_effects.asm +++ b/engine/item_effects.asm @@ -2398,7 +2398,7 @@ PokeFlute: ; f50c call PrintText ld a, [Danger] - and $80 + and 1 << DANGER_ON_F jr nz, .dummy2 .dummy2 ld hl, .AllSleepingMonWokeUp -- cgit v1.2.3 From bd6dc94da038500cf0f8cf179287ce71dd8e9bf6 Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Sat, 16 Dec 2017 00:52:16 -0500 Subject: Move tileset-specific palette code into tilesets/ --- engine/crystal_colors.asm | 201 +----------------------------------------- tilesets/special_palettes.asm | 200 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 201 insertions(+), 200 deletions(-) create mode 100644 tilesets/special_palettes.asm diff --git a/engine/crystal_colors.asm b/engine/crystal_colors.asm index fd3f83ade..f8c1a6781 100755 --- a/engine/crystal_colors.asm +++ b/engine/crystal_colors.asm @@ -207,206 +207,7 @@ Function49496: ; 49496 ret ; 494ac -LoadSpecialMapPalette: ; 494ac - ld a, [wTileset] - cp TILESET_POKECOM_CENTER - jr z, .pokecom_2f - cp TILESET_BATTLE_TOWER - jr z, .battle_tower - cp TILESET_ICE_PATH - jr z, .ice_path - cp TILESET_HOUSE_1 - jr z, .house - cp TILESET_RADIO_TOWER - jr z, .radio_tower - cp TILESET_CELADON_MANSION - jr z, .mansion_mobile - jr .do_nothing - -.pokecom_2f - call LoadPokeComPalette - scf - ret - -.battle_tower - call LoadBattleTowerPalette - scf - ret - -.ice_path - ld a, [wPermission] ; permission - and $7 - cp INDOOR ; Hall of Fame - jr z, .do_nothing - call LoadIcePathPalette - scf - ret - -.house - call LoadHousePalette - scf - ret - -.radio_tower - call LoadRadioTowerPalette - scf - ret - -.mansion_mobile - call LoadMansionPalette - scf - ret - -.do_nothing - and a - ret -; 494f2 - -LoadPokeComPalette: ; 494f2 - ld a, BANK(UnknBGPals) - ld de, UnknBGPals - ld hl, PokeComPalette - ld bc, 8 palettes - call FarCopyWRAM - ret -; 49501 - -PokeComPalette: ; 49501 -INCLUDE "tilesets/pokecom_center.pal" -; 49541 - -LoadBattleTowerPalette: ; 49541 - ld a, BANK(UnknBGPals) - ld de, UnknBGPals - ld hl, BattleTowerPalette - ld bc, 8 palettes - call FarCopyWRAM - ret -; 49550 - -BattleTowerPalette: ; 49550 -INCLUDE "tilesets/battle_tower.pal" -; 49590 - -LoadIcePathPalette: ; 49590 - ld a, BANK(UnknBGPals) - ld de, UnknBGPals - ld hl, IcePathPalette - ld bc, 8 palettes - call FarCopyWRAM - ret -; 4959f - -IcePathPalette: ; 4959f -INCLUDE "tilesets/ice_path.pal" -; 495df - -LoadHousePalette: ; 495df - ld a, BANK(UnknBGPals) - ld de, UnknBGPals - ld hl, HousePalette - ld bc, 8 palettes - call FarCopyWRAM - ret -; 495ee - -HousePalette: ; 495ee -INCLUDE "tilesets/house_1.pal" -; 4962e - -LoadRadioTowerPalette: ; 4962e - ld a, BANK(UnknBGPals) - ld de, UnknBGPals - ld hl, RadioTowerPalette - ld bc, 8 palettes - call FarCopyWRAM - ret -; 4963d - -RadioTowerPalette: ; 4963d -INCLUDE "tilesets/radio_tower.pal" -; 4967d - -MansionPalette1: ; 4967d - RGB 30, 28, 26 - RGB 19, 19, 19 - RGB 13, 13, 13 - RGB 07, 07, 07 - - RGB 30, 28, 26 - RGB 31, 19, 24 - RGB 30, 10, 06 - RGB 07, 07, 07 - - RGB 18, 24, 09 - RGB 15, 20, 01 - RGB 09, 13, 00 - RGB 07, 07, 07 - - RGB 30, 28, 26 - RGB 15, 16, 31 - RGB 09, 09, 31 - RGB 07, 07, 07 - - RGB 30, 28, 26 - RGB 31, 31, 07 - RGB 31, 16, 01 - RGB 07, 07, 07 - - RGB 26, 24, 17 - RGB 21, 17, 07 - RGB 16, 13, 03 - RGB 07, 07, 07 - -MansionPalette3: ; 496ad - RGB 30, 28, 26 - RGB 17, 19, 31 - RGB 14, 16, 31 - RGB 07, 07, 07 - - RGB 31, 31, 16 - RGB 31, 31, 16 - RGB 14, 09, 00 - RGB 00, 00, 00 -; 496bd - -MansionPalette4: ; 496bd - RGB 05, 05, 16 - RGB 08, 19, 28 - RGB 00, 00, 00 - RGB 31, 31, 31 -; 496c5 - -LoadMansionPalette: ; 496c5 - ld a, BANK(UnknBGPals) - ld de, UnknBGPals - ld hl, MansionPalette1 - ld bc, 8 palettes - call FarCopyWRAM - ld a, BANK(UnknBGPals) - ld de, UnknBGPals palette PAL_BG_YELLOW - ld hl, MansionPalette2 - ld bc, 1 palettes - call FarCopyWRAM - ld a, BANK(UnknBGPals) - ld de, UnknBGPals palette PAL_BG_WATER - ld hl, MansionPalette3 - ld bc, 1 palettes - call FarCopyWRAM - ld a, BANK(UnknBGPals) - ld de, UnknBGPals palette PAL_BG_ROOF - ld hl, MansionPalette4 - ld bc, 1 palettes - call FarCopyWRAM - ret -; 496fe - -MansionPalette2: ; 496fe - RGB 25, 24, 23 - RGB 20, 19, 19 - RGB 14, 16, 31 - RGB 07, 07, 07 -; 49706 +INCLUDE "tilesets/special_palettes.asm" MG_Mobile_Layout02: ; 49706 ld hl, Palette_49732 diff --git a/tilesets/special_palettes.asm b/tilesets/special_palettes.asm new file mode 100644 index 000000000..4e83c7390 --- /dev/null +++ b/tilesets/special_palettes.asm @@ -0,0 +1,200 @@ +LoadSpecialMapPalette: ; 494ac + ld a, [wTileset] + cp TILESET_POKECOM_CENTER + jr z, .pokecom_2f + cp TILESET_BATTLE_TOWER + jr z, .battle_tower + cp TILESET_ICE_PATH + jr z, .ice_path + cp TILESET_HOUSE_1 + jr z, .house + cp TILESET_RADIO_TOWER + jr z, .radio_tower + cp TILESET_CELADON_MANSION + jr z, .mansion_mobile + jr .do_nothing + +.pokecom_2f + call LoadPokeComPalette + scf + ret + +.battle_tower + call LoadBattleTowerPalette + scf + ret + +.ice_path + ld a, [wPermission] ; permission + and $7 + cp INDOOR ; Hall of Fame + jr z, .do_nothing + call LoadIcePathPalette + scf + ret + +.house + call LoadHousePalette + scf + ret + +.radio_tower + call LoadRadioTowerPalette + scf + ret + +.mansion_mobile + call LoadMansionPalette + scf + ret + +.do_nothing + and a + ret +; 494f2 + +LoadPokeComPalette: ; 494f2 + ld a, BANK(UnknBGPals) + ld de, UnknBGPals + ld hl, PokeComPalette + ld bc, 8 palettes + call FarCopyWRAM + ret +; 49501 + +PokeComPalette: ; 49501 +INCLUDE "tilesets/pokecom_center.pal" +; 49541 + +LoadBattleTowerPalette: ; 49541 + ld a, BANK(UnknBGPals) + ld de, UnknBGPals + ld hl, BattleTowerPalette + ld bc, 8 palettes + call FarCopyWRAM + ret +; 49550 + +BattleTowerPalette: ; 49550 +INCLUDE "tilesets/battle_tower.pal" +; 49590 + +LoadIcePathPalette: ; 49590 + ld a, BANK(UnknBGPals) + ld de, UnknBGPals + ld hl, IcePathPalette + ld bc, 8 palettes + call FarCopyWRAM + ret +; 4959f + +IcePathPalette: ; 4959f +INCLUDE "tilesets/ice_path.pal" +; 495df + +LoadHousePalette: ; 495df + ld a, BANK(UnknBGPals) + ld de, UnknBGPals + ld hl, HousePalette + ld bc, 8 palettes + call FarCopyWRAM + ret +; 495ee + +HousePalette: ; 495ee +INCLUDE "tilesets/house_1.pal" +; 4962e + +LoadRadioTowerPalette: ; 4962e + ld a, BANK(UnknBGPals) + ld de, UnknBGPals + ld hl, RadioTowerPalette + ld bc, 8 palettes + call FarCopyWRAM + ret +; 4963d + +RadioTowerPalette: ; 4963d +INCLUDE "tilesets/radio_tower.pal" +; 4967d + +MansionPalette1: ; 4967d + RGB 30, 28, 26 + RGB 19, 19, 19 + RGB 13, 13, 13 + RGB 07, 07, 07 + + RGB 30, 28, 26 + RGB 31, 19, 24 + RGB 30, 10, 06 + RGB 07, 07, 07 + + RGB 18, 24, 09 + RGB 15, 20, 01 + RGB 09, 13, 00 + RGB 07, 07, 07 + + RGB 30, 28, 26 + RGB 15, 16, 31 + RGB 09, 09, 31 + RGB 07, 07, 07 + + RGB 30, 28, 26 + RGB 31, 31, 07 + RGB 31, 16, 01 + RGB 07, 07, 07 + + RGB 26, 24, 17 + RGB 21, 17, 07 + RGB 16, 13, 03 + RGB 07, 07, 07 + +MansionPalette3: ; 496ad + RGB 30, 28, 26 + RGB 17, 19, 31 + RGB 14, 16, 31 + RGB 07, 07, 07 + + RGB 31, 31, 16 + RGB 31, 31, 16 + RGB 14, 09, 00 + RGB 00, 00, 00 +; 496bd + +MansionPalette4: ; 496bd + RGB 05, 05, 16 + RGB 08, 19, 28 + RGB 00, 00, 00 + RGB 31, 31, 31 +; 496c5 + +LoadMansionPalette: ; 496c5 + ld a, BANK(UnknBGPals) + ld de, UnknBGPals + ld hl, MansionPalette1 + ld bc, 8 palettes + call FarCopyWRAM + ld a, BANK(UnknBGPals) + ld de, UnknBGPals palette PAL_BG_YELLOW + ld hl, MansionPalette2 + ld bc, 1 palettes + call FarCopyWRAM + ld a, BANK(UnknBGPals) + ld de, UnknBGPals palette PAL_BG_WATER + ld hl, MansionPalette3 + ld bc, 1 palettes + call FarCopyWRAM + ld a, BANK(UnknBGPals) + ld de, UnknBGPals palette PAL_BG_ROOF + ld hl, MansionPalette4 + ld bc, 1 palettes + call FarCopyWRAM + ret +; 496fe + +MansionPalette2: ; 496fe + RGB 25, 24, 23 + RGB 20, 19, 19 + RGB 14, 16, 31 + RGB 07, 07, 07 +; 49706 -- cgit v1.2.3 From aa44ecfc4ff7e85629825c7068a014794b206463 Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Sat, 16 Dec 2017 12:09:16 -0500 Subject: Consolidate duplicate graphics --- event/celebi.asm | 11 ++++++----- gfx/overworld/celebi/1.png | Bin 0 -> 148 bytes gfx/overworld/celebi/2.png | Bin 0 -> 148 bytes gfx/overworld/celebi/3.png | Bin 0 -> 148 bytes gfx/overworld/celebi/4.png | Bin 0 -> 148 bytes gfx/special/celebi/1.png | Bin 148 -> 0 bytes gfx/special/celebi/2.png | Bin 148 -> 0 bytes gfx/special/celebi/3.png | Bin 148 -> 0 bytes gfx/special/celebi/4.png | Bin 148 -> 0 bytes gfx/special/celebi/leaf.png | Bin 134 -> 0 bytes 10 files changed, 6 insertions(+), 5 deletions(-) create mode 100644 gfx/overworld/celebi/1.png create mode 100644 gfx/overworld/celebi/2.png create mode 100644 gfx/overworld/celebi/3.png create mode 100644 gfx/overworld/celebi/4.png delete mode 100644 gfx/special/celebi/1.png delete mode 100644 gfx/special/celebi/2.png delete mode 100644 gfx/special/celebi/3.png delete mode 100644 gfx/special/celebi/4.png delete mode 100644 gfx/special/celebi/leaf.png diff --git a/event/celebi.asm b/event/celebi.asm index c9be9cb39..ab0a333f2 100755 --- a/event/celebi.asm +++ b/event/celebi.asm @@ -124,12 +124,13 @@ CelebiEvent_SpawnLeaf: ; 49944 ; 49962 SpecialCelebiLeafGFX: ; 49962 -INCBIN "gfx/special/celebi/leaf.2bpp" +INCBIN "gfx/overworld/cut_grass.2bpp" + SpecialCelebiGFX: ; 499a2 -INCBIN "gfx/special/celebi/1.2bpp" -INCBIN "gfx/special/celebi/2.2bpp" -INCBIN "gfx/special/celebi/3.2bpp" -INCBIN "gfx/special/celebi/4.2bpp" +INCBIN "gfx/overworld/celebi/1.2bpp" +INCBIN "gfx/overworld/celebi/2.2bpp" +INCBIN "gfx/overworld/celebi/3.2bpp" +INCBIN "gfx/overworld/celebi/4.2bpp" UpdateCelebiPosition: ; 49aa2 (12:5aa2) diff --git a/gfx/overworld/celebi/1.png b/gfx/overworld/celebi/1.png new file mode 100644 index 000000000..bd07ec8c4 Binary files /dev/null and b/gfx/overworld/celebi/1.png differ diff --git a/gfx/overworld/celebi/2.png b/gfx/overworld/celebi/2.png new file mode 100644 index 000000000..c83a8788a Binary files /dev/null and b/gfx/overworld/celebi/2.png differ diff --git a/gfx/overworld/celebi/3.png b/gfx/overworld/celebi/3.png new file mode 100644 index 000000000..6233fc56d Binary files /dev/null and b/gfx/overworld/celebi/3.png differ diff --git a/gfx/overworld/celebi/4.png b/gfx/overworld/celebi/4.png new file mode 100644 index 000000000..6233fc56d Binary files /dev/null and b/gfx/overworld/celebi/4.png differ diff --git a/gfx/special/celebi/1.png b/gfx/special/celebi/1.png deleted file mode 100644 index bd07ec8c4..000000000 Binary files a/gfx/special/celebi/1.png and /dev/null differ diff --git a/gfx/special/celebi/2.png b/gfx/special/celebi/2.png deleted file mode 100644 index c83a8788a..000000000 Binary files a/gfx/special/celebi/2.png and /dev/null differ diff --git a/gfx/special/celebi/3.png b/gfx/special/celebi/3.png deleted file mode 100644 index 6233fc56d..000000000 Binary files a/gfx/special/celebi/3.png and /dev/null differ diff --git a/gfx/special/celebi/4.png b/gfx/special/celebi/4.png deleted file mode 100644 index 6233fc56d..000000000 Binary files a/gfx/special/celebi/4.png and /dev/null differ diff --git a/gfx/special/celebi/leaf.png b/gfx/special/celebi/leaf.png deleted file mode 100644 index b10e0cf8c..000000000 Binary files a/gfx/special/celebi/leaf.png and /dev/null differ -- cgit v1.2.3 From 05d49f7d752b03cbccb2fdcca2781a8a5de85425 Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Sat, 16 Dec 2017 12:49:43 -0500 Subject: Move more code out of main.asm --- engine/flag_predef.asm | 70 +++++++++++++++++++++++++++ engine/item_effects.asm | 1 + main.asm | 111 ++++--------------------------------------- mobile/print_opp_message.asm | 30 ++++++++++++ 4 files changed, 110 insertions(+), 102 deletions(-) create mode 100644 engine/flag_predef.asm create mode 100644 mobile/print_opp_message.asm diff --git a/engine/flag_predef.asm b/engine/flag_predef.asm new file mode 100644 index 000000000..bd4f37882 --- /dev/null +++ b/engine/flag_predef.asm @@ -0,0 +1,70 @@ +FlagPredef: ; 4d7c1 +; Perform action b on flag c in flag array hl. +; If checking a flag, check flag array d:hl unless d is 0. + +; For longer flag arrays, see FlagAction. + + push hl + push bc + +; Divide by 8 to get the byte we want. + push bc + srl c + srl c + srl c + ld b, 0 + add hl, bc + pop bc + +; Which bit we want from the byte + ld a, c + and 7 + ld c, a + +; Shift left until we can mask the bit + ld a, 1 + jr z, .shifted +.shift + add a + dec c + jr nz, .shift +.shifted + ld c, a + +; What are we doing to this flag? + dec b + jr z, .set ; 1 + dec b + jr z, .check ; 2 + +.reset + ld a, c + cpl + and [hl] + ld [hl], a + jr .done + +.set + ld a, [hl] + or c + ld [hl], a + jr .done + +.check + ld a, d + cp 0 + jr nz, .farcheck + + ld a, [hl] + and c + jr .done + +.farcheck + call GetFarByte + and c + +.done + pop bc + pop hl + ld c, a + ret diff --git a/engine/item_effects.asm b/engine/item_effects.asm index cc2132034..d1b5e7161 100644 --- a/engine/item_effects.asm +++ b/engine/item_effects.asm @@ -14,6 +14,7 @@ _DoItemEffect:: ; e722 ItemEffects: ; e73c +; entries correspond to item ids (see constants/item_constants.asm) dw MasterBall dw UltraBall dw Brightpowder diff --git a/main.asm b/main.asm index f336abad3..e0611c483 100644 --- a/main.asm +++ b/main.asm @@ -703,77 +703,7 @@ LinkTextbox2: ; 4d35b INCLUDE "engine/delete_save_change_clock.asm" INCLUDE "tilesets/tileset_headers.asm" - -FlagPredef: ; 4d7c1 -; Perform action b on flag c in flag array hl. -; If checking a flag, check flag array d:hl unless d is 0. - -; For longer flag arrays, see FlagAction. - - push hl - push bc - -; Divide by 8 to get the byte we want. - push bc - srl c - srl c - srl c - ld b, 0 - add hl, bc - pop bc - -; Which bit we want from the byte - ld a, c - and 7 - ld c, a - -; Shift left until we can mask the bit - ld a, 1 - jr z, .shifted -.shift - add a - dec c - jr nz, .shift -.shifted - ld c, a - -; What are we doing to this flag? - dec b - jr z, .set ; 1 - dec b - jr z, .check ; 2 - -.reset - ld a, c - cpl - and [hl] - ld [hl], a - jr .done - -.set - ld a, [hl] - or c - ld [hl], a - jr .done - -.check - ld a, d - cp 0 - jr nz, .farcheck - - ld a, [hl] - and c - jr .done - -.farcheck - call GetFarByte - and c - -.done - pop bc - pop hl - ld c, a - ret +INCLUDE "engine/flag_predef.asm" GetTrademonFrontpic: ; 4d7fd ld a, [wOTTrademonSpecies] @@ -849,37 +779,7 @@ INCLUDE "engine/evolution_animation.asm" INCLUDE "engine/init_hof_credits.asm" INCLUDE "mobile/get_trainer_class.asm" INCLUDE "battle/sliding_intro.asm" - -Mobile_PrintOpponentBattleMessage: ; 4ea0a - ld a, c - push af - call SpeechTextBox - call MobileTextBorder - pop af - dec a - ld bc, $c - ld hl, w5_MobileOpponentBattleMessages - call AddNTimes - ld de, wMobileOpponentBattleMessage - ld bc, $c - ld a, $5 ; BANK(w5_MobileOpponentBattleMessages) - call FarCopyWRAM - - ld a, [rSVBK] - push af - ld a, $1 - ld [rSVBK], a - - ld bc, wMobileOpponentBattleMessage - decoord 1, 14 - callba PrintEZChatBattleMessage - - pop af - ld [rSVBK], a - - ld c, 180 - call DelayFrames - ret +INCLUDE "mobile/print_opp_message.asm" CheckBattleScene: ; 4ea44 ; Return carry if battle scene is turned off. @@ -1204,7 +1104,11 @@ SECTION "bank43", ROMX INCLUDE "engine/unused_title.asm" INCLUDE "engine/title.asm" + + INCLUDE "mobile/mobile_45.asm" + + INCLUDE "mobile/mobile_46.asm" @@ -1241,7 +1145,10 @@ _UpdateBattleHUDs: callba FinishBattleAnim ret + INCLUDE "mobile/mobile_5e.asm" + + INCLUDE "mobile/mobile_5f.asm" diff --git a/mobile/print_opp_message.asm b/mobile/print_opp_message.asm new file mode 100644 index 000000000..0be18acae --- /dev/null +++ b/mobile/print_opp_message.asm @@ -0,0 +1,30 @@ +Mobile_PrintOpponentBattleMessage: ; 4ea0a + ld a, c + push af + call SpeechTextBox + call MobileTextBorder + pop af + dec a + ld bc, $c + ld hl, w5_MobileOpponentBattleMessages + call AddNTimes + ld de, wMobileOpponentBattleMessage + ld bc, $c + ld a, $5 ; BANK(w5_MobileOpponentBattleMessages) + call FarCopyWRAM + + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + + ld bc, wMobileOpponentBattleMessage + decoord 1, 14 + callba PrintEZChatBattleMessage + + pop af + ld [rSVBK], a + + ld c, 180 + call DelayFrames + ret -- cgit v1.2.3 From 25a3960646548c40af70f9f59bed544f4ce8d472 Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Sat, 16 Dec 2017 19:00:50 -0500 Subject: Move some more main.asm routines into individual files --- Makefile | 19 ++-- data/text_buffers.asm | 9 ++ engine/check_battle_scene.asm | 47 +++++++++ engine/collision_stdscripts.asm | 29 ------ engine/get_breedmon_growth.asm | 27 ++++++ engine/knows_move.asm | 25 +++++ engine/pack.asm | 8 +- engine/player_gfx_2.asm | 5 + engine/trademon_frontpic.asm | 38 ++++++++ event/hidden_items.asm | 51 ---------- event/itemball.asm | 54 ----------- event/misc_scripts.asm | 62 ++++++++++++ event/misc_scripts_2.asm | 51 ++++++++++ event/std_collision.asm | 29 ++++++ gfx/sprites.asm | 204 ++++++++++++++++++++-------------------- home.asm | 3 + main.asm | 186 +++--------------------------------- mobile/mobile_40.asm | 2 + mobile/mobile_41.asm | 2 - mobile/mobile_46.asm | 1 + mobile/mobile_5e.asm | 4 - mobile/mobile_5f.asm | 4 - pokecrystal.link | 3 +- text/common_text.asm | 6 ++ 24 files changed, 435 insertions(+), 434 deletions(-) create mode 100644 data/text_buffers.asm create mode 100644 engine/check_battle_scene.asm delete mode 100644 engine/collision_stdscripts.asm create mode 100644 engine/get_breedmon_growth.asm create mode 100644 engine/knows_move.asm create mode 100644 engine/player_gfx_2.asm create mode 100644 engine/trademon_frontpic.asm delete mode 100644 event/hidden_items.asm delete mode 100755 event/itemball.asm create mode 100755 event/misc_scripts.asm create mode 100644 event/misc_scripts_2.asm create mode 100644 event/std_collision.asm diff --git a/Makefile b/Makefile index 83667441a..4a4c640f9 100644 --- a/Makefile +++ b/Makefile @@ -17,19 +17,20 @@ RGBLINK := rgblink crystal_obj := \ -wram.o \ -main.o \ -lib/mobile/main.o \ -home.o \ audio.o \ +home.o \ +main.o \ maps.o \ -engine/events.o \ -engine/credits.o \ +wram.o \ +data/pokemon/dex_entries.o \ data/pokemon/egg_moves.o \ data/pokemon/evos_attacks.o \ -data/pokemon/dex_entries.o \ -text/common_text.o \ -gfx/pics.o +engine/credits.o \ +engine/events.o \ +gfx/pics.o \ +gfx/sprites.o \ +lib/mobile/main.o \ +text/common_text.o crystal11_obj := $(crystal_obj:.o=11.o) diff --git a/data/text_buffers.asm b/data/text_buffers.asm new file mode 100644 index 000000000..5a03c8cc7 --- /dev/null +++ b/data/text_buffers.asm @@ -0,0 +1,9 @@ +StringBufferPointers:: ; 24000 +; entries correspond to arguments for text_buffer (TX_STRINGBUFFER) + dw StringBuffer3 ; 0 + dw StringBuffer4 ; 1 + dw StringBuffer5 ; 2 + dw StringBuffer2 ; 3 + dw StringBuffer1 ; 4 + dw EnemyMonNick ; 5 + dw BattleMonNick ; 6 diff --git a/engine/check_battle_scene.asm b/engine/check_battle_scene.asm new file mode 100644 index 000000000..b63f00907 --- /dev/null +++ b/engine/check_battle_scene.asm @@ -0,0 +1,47 @@ +CheckBattleScene: ; 4ea44 +; Return carry if battle scene is turned off. + + ld a, 0 + ld hl, wLinkMode + call GetFarWRAMByte + cp LINK_MOBILE + jr z, .mobile + + ld a, [Options] + bit BATTLE_SCENE, a + jr nz, .off + + and a + ret + +.mobile + ld a, [wcd2f] + and a + jr nz, .from_wram + + ld a, $4 + call GetSRAMBank + ld a, [$a60c] + ld c, a + call CloseSRAM + + ld a, c + bit 0, c + jr z, .off + + and a + ret + +.from_wram + ld a, $5 + ld hl, w5_dc00 + call GetFarWRAMByte + bit 0, a + jr z, .off + + and a + ret + +.off + scf + ret diff --git a/engine/collision_stdscripts.asm b/engine/collision_stdscripts.asm deleted file mode 100644 index 17b1e49b2..000000000 --- a/engine/collision_stdscripts.asm +++ /dev/null @@ -1,29 +0,0 @@ -CheckFacingTileForStd:: ; 1365b -; Checks to see if the tile you're facing has a std script associated with it. If so, executes the script and returns carry. - ld a, c - ld de, 3 - ld hl, TileCollisionStdScripts - call IsInArray - jr nc, .notintable - - ld a, jumpstd_command - ld [wJumpStdScriptBuffer], a - inc hl - ld a, [hli] - ld [wJumpStdScriptBuffer + 1], a - ld a, [hli] - ld [wJumpStdScriptBuffer + 2], a - ld a, BANK(Script_JumpStdFromRAM) - ld hl, Script_JumpStdFromRAM - call CallScript - scf - ret - -.notintable - xor a - ret - -INCLUDE "data/collision_stdscripts.asm" - -Script_JumpStdFromRAM: ; 0x1369a - jump wJumpStdScriptBuffer diff --git a/engine/get_breedmon_growth.asm b/engine/get_breedmon_growth.asm new file mode 100644 index 000000000..20c546315 --- /dev/null +++ b/engine/get_breedmon_growth.asm @@ -0,0 +1,27 @@ +GetBreedMon1LevelGrowth: ; e698 + ld hl, wBreedMon1Stats + ld de, TempMon + ld bc, BOXMON_STRUCT_LENGTH + call CopyBytes + callab CalcLevel + ld a, [wBreedMon1Level] + ld b, a + ld a, d + ld e, a + sub b + ld d, a + ret + +GetBreedMon2LevelGrowth: ; e6b3 + ld hl, wBreedMon2Stats + ld de, TempMon + ld bc, BOXMON_STRUCT_LENGTH + call CopyBytes + callab CalcLevel + ld a, [wBreedMon2Level] + ld b, a + ld a, d + ld e, a + sub b + ld d, a + ret diff --git a/engine/knows_move.asm b/engine/knows_move.asm new file mode 100644 index 000000000..4ec3da347 --- /dev/null +++ b/engine/knows_move.asm @@ -0,0 +1,25 @@ +KnowsMove: ; f9ea + ld a, MON_MOVES + call GetPartyParamLocation + ld a, [wPutativeTMHMMove] + ld b, a + ld c, NUM_MOVES +.loop + ld a, [hli] + cp b + jr z, .knows_move + dec c + jr nz, .loop + and a + ret + +.knows_move + ld hl, .Text_knows + call PrintText + scf + ret + +.Text_knows: ; 0xfa06 + ; knows @ . + text_jump UnknownText_0x1c5ea8 + db "@" diff --git a/engine/pack.asm b/engine/pack.asm index e10b70e12..858548771 100644 --- a/engine/pack.asm +++ b/engine/pack.asm @@ -1315,10 +1315,10 @@ DrawPackGFX: ; 1089d ; 108cc PackGFXPointers: ; 108cc - dw PackGFX + $f0 * 1 - dw PackGFX + $f0 * 3 - dw PackGFX + $f0 * 0 - dw PackGFX + $f0 * 2 + dw PackGFX + (15 tiles) * 1 + dw PackGFX + (15 tiles) * 3 + dw PackGFX + (15 tiles) * 0 + dw PackGFX + (15 tiles) * 2 ; 108d4 Pack_InterpretJoypad: ; 108d4 (4:48d4) diff --git a/engine/player_gfx_2.asm b/engine/player_gfx_2.asm new file mode 100644 index 000000000..d6e7791a3 --- /dev/null +++ b/engine/player_gfx_2.asm @@ -0,0 +1,5 @@ +ChrisBackpic: ; 2ba1a +INCBIN "gfx/player/chris_back.2bpp.lz" + +DudeBackpic: ; 2bbaa +INCBIN "gfx/battle/dude.2bpp.lz" diff --git a/engine/trademon_frontpic.asm b/engine/trademon_frontpic.asm new file mode 100644 index 000000000..1641443ea --- /dev/null +++ b/engine/trademon_frontpic.asm @@ -0,0 +1,38 @@ +GetTrademonFrontpic: ; 4d7fd + ld a, [wOTTrademonSpecies] + ld hl, wOTTrademonDVs + ld de, VTiles2 + push de + push af + predef GetUnownLetter + pop af + ld [CurPartySpecies], a + ld [CurSpecies], a + call GetBaseData + pop de + predef FrontpicPredef + ret + +AnimateTrademonFrontpic: ; 4d81e + ld a, [wOTTrademonSpecies] + call IsAPokemon + ret c + callba ShowOTTrademonStats + ld a, [wOTTrademonSpecies] + ld [CurPartySpecies], a + ld a, [wOTTrademonDVs] + ld [TempMonDVs], a + ld a, [wOTTrademonDVs + 1] + ld [TempMonDVs + 1], a + ld b, SCGB_PLAYER_OR_MON_FRONTPIC_PALS + call GetSGBLayout + ld a, %11100100 ; 3,2,1,0 + call DmgToCgbBGPals + callba TradeAnim_ShowGetmonFrontpic + ld a, [wOTTrademonSpecies] + ld [CurPartySpecies], a + hlcoord 7, 2 + ld d, $0 + ld e, ANIM_MON_TRADE + predef AnimateFrontpic + ret diff --git a/event/hidden_items.asm b/event/hidden_items.asm deleted file mode 100644 index c4c51d5e6..000000000 --- a/event/hidden_items.asm +++ /dev/null @@ -1,51 +0,0 @@ -RepelWoreOffScript:: ; 0x13619 - opentext - writetext .text - waitbutton - closetext - end - -.text ; 0x13620 - ; REPEL's effect wore off. - text_jump UnknownText_0x1bd308 - db "@" - -HiddenItemScript:: ; 0x13625 - opentext - copybytetovar EngineBuffer3 - itemtotext 0, 0 - writetext .found_text - giveitem ITEM_FROM_MEM - iffalse .bag_full - callasm SetMemEvent - specialsound - itemnotify - jump .finish - -.bag_full ; 0x1363e - buttonsound - writetext .no_room_text - waitbutton - -.finish ; 13643 - closetext - end - -.found_text ; 0x13645 - ; found @ ! - text_jump UnknownText_0x1bd321 - db "@" - -.no_room_text ; 0x1364a - ; But has no space left… - text_jump UnknownText_0x1bd331 - db "@" - -SetMemEvent: ; 1364f - ld hl, EngineBuffer1 - ld a, [hli] - ld d, [hl] - ld e, a - ld b, SET_FLAG - call EventFlagAction - ret diff --git a/event/itemball.asm b/event/itemball.asm deleted file mode 100755 index ed0c6a9e0..000000000 --- a/event/itemball.asm +++ /dev/null @@ -1,54 +0,0 @@ -FindItemInBallScript:: ; 0x122ce - callasm .TryReceiveItem - iffalse .no_room - disappear LAST_TALKED - opentext - writetext .text_found - playsound SFX_ITEM - pause 60 - itemnotify - closetext - end -; 0x122e3 - -.no_room ; 0x122e3 - opentext - writetext .text_found - waitbutton - writetext .text_bag_full - waitbutton - closetext - end -; 0x122ee - -.text_found ; 0x122ee - ; found @ ! - text_jump UnknownText_0x1c0a1c - db "@" -; 0x122f3 - -.text_bag_full ; 0x122f3 - ; But can't carry any more items. - text_jump UnknownText_0x1c0a2c - db "@" -; 0x122f8 - -.TryReceiveItem: ; 122f8 - xor a - ld [ScriptVar], a - ld a, [EngineBuffer1] - ld [wNamedObjectIndexBuffer], a - call GetItemName - ld hl, StringBuffer3 - call CopyName2 - ld a, [EngineBuffer1] - ld [CurItem], a - ld a, [CurFruit] - ld [wItemQuantityChangeBuffer], a - ld hl, NumItems - call ReceiveItem - ret nc - ld a, $1 - ld [ScriptVar], a - ret -; 12324 diff --git a/event/misc_scripts.asm b/event/misc_scripts.asm new file mode 100755 index 000000000..97372a57a --- /dev/null +++ b/event/misc_scripts.asm @@ -0,0 +1,62 @@ +Script_AbortBugContest: ; 0x122c1 + checkflag ENGINE_BUG_CONTEST_TIMER + iffalse .finish + setflag ENGINE_DAILY_BUG_CONTEST + special ContestReturnMons +.finish + end + +FindItemInBallScript:: ; 0x122ce + callasm .TryReceiveItem + iffalse .no_room + disappear LAST_TALKED + opentext + writetext .text_found + playsound SFX_ITEM + pause 60 + itemnotify + closetext + end +; 0x122e3 + +.no_room ; 0x122e3 + opentext + writetext .text_found + waitbutton + writetext .text_bag_full + waitbutton + closetext + end +; 0x122ee + +.text_found ; 0x122ee + ; found @ ! + text_jump UnknownText_0x1c0a1c + db "@" +; 0x122f3 + +.text_bag_full ; 0x122f3 + ; But can't carry any more items. + text_jump UnknownText_0x1c0a2c + db "@" +; 0x122f8 + +.TryReceiveItem: ; 122f8 + xor a + ld [ScriptVar], a + ld a, [EngineBuffer1] + ld [wNamedObjectIndexBuffer], a + call GetItemName + ld hl, StringBuffer3 + call CopyName2 + ld a, [EngineBuffer1] + ld [CurItem], a + ld a, [CurFruit] + ld [wItemQuantityChangeBuffer], a + ld hl, NumItems + call ReceiveItem + ret nc + ld a, $1 + ld [ScriptVar], a + ret +; 12324 diff --git a/event/misc_scripts_2.asm b/event/misc_scripts_2.asm new file mode 100644 index 000000000..c4c51d5e6 --- /dev/null +++ b/event/misc_scripts_2.asm @@ -0,0 +1,51 @@ +RepelWoreOffScript:: ; 0x13619 + opentext + writetext .text + waitbutton + closetext + end + +.text ; 0x13620 + ; REPEL's effect wore off. + text_jump UnknownText_0x1bd308 + db "@" + +HiddenItemScript:: ; 0x13625 + opentext + copybytetovar EngineBuffer3 + itemtotext 0, 0 + writetext .found_text + giveitem ITEM_FROM_MEM + iffalse .bag_full + callasm SetMemEvent + specialsound + itemnotify + jump .finish + +.bag_full ; 0x1363e + buttonsound + writetext .no_room_text + waitbutton + +.finish ; 13643 + closetext + end + +.found_text ; 0x13645 + ; found @ ! + text_jump UnknownText_0x1bd321 + db "@" + +.no_room_text ; 0x1364a + ; But has no space left… + text_jump UnknownText_0x1bd331 + db "@" + +SetMemEvent: ; 1364f + ld hl, EngineBuffer1 + ld a, [hli] + ld d, [hl] + ld e, a + ld b, SET_FLAG + call EventFlagAction + ret diff --git a/event/std_collision.asm b/event/std_collision.asm new file mode 100644 index 000000000..17b1e49b2 --- /dev/null +++ b/event/std_collision.asm @@ -0,0 +1,29 @@ +CheckFacingTileForStd:: ; 1365b +; Checks to see if the tile you're facing has a std script associated with it. If so, executes the script and returns carry. + ld a, c + ld de, 3 + ld hl, TileCollisionStdScripts + call IsInArray + jr nc, .notintable + + ld a, jumpstd_command + ld [wJumpStdScriptBuffer], a + inc hl + ld a, [hli] + ld [wJumpStdScriptBuffer + 1], a + ld a, [hli] + ld [wJumpStdScriptBuffer + 2], a + ld a, BANK(Script_JumpStdFromRAM) + ld hl, Script_JumpStdFromRAM + call CallScript + scf + ret + +.notintable + xor a + ret + +INCLUDE "data/collision_stdscripts.asm" + +Script_JumpStdFromRAM: ; 0x1369a + jump wJumpStdScriptBuffer diff --git a/gfx/sprites.asm b/gfx/sprites.asm index f7740d6a6..318f7506e 100644 --- a/gfx/sprites.asm +++ b/gfx/sprites.asm @@ -1,108 +1,108 @@ SECTION "Sprites 1", ROMX -ChrisSpriteGFX: INCBIN "gfx/sprites/chris.2bpp" ; c0000 -ChrisBikeSpriteGFX: INCBIN "gfx/sprites/chris_bike.2bpp" ; c0180 -GameboyKidSpriteGFX: INCBIN "gfx/sprites/gameboy_kid.2bpp" ; c0300 -SilverSpriteGFX: INCBIN "gfx/sprites/silver.2bpp" ; c03c0 -OakSpriteGFX: INCBIN "gfx/sprites/oak.2bpp" ; c0540 -RedSpriteGFX: INCBIN "gfx/sprites/red.2bpp" ; c06c0 -BlueSpriteGFX: INCBIN "gfx/sprites/blue.2bpp" ; c0840 -BillSpriteGFX: INCBIN "gfx/sprites/bill.2bpp" ; c09c0 -ElderSpriteGFX: INCBIN "gfx/sprites/elder.2bpp" ; c0b40 -JanineSpriteGFX: INCBIN "gfx/sprites/janine.2bpp" ; c0cc0 -KurtSpriteGFX: INCBIN "gfx/sprites/kurt.2bpp" ; c0e40 -MomSpriteGFX: INCBIN "gfx/sprites/mom.2bpp" ; c0fc0 -BlaineSpriteGFX: INCBIN "gfx/sprites/blaine.2bpp" ; c1140 -RedsMomSpriteGFX: INCBIN "gfx/sprites/reds_mom.2bpp" ; c12c0 -DaisySpriteGFX: INCBIN "gfx/sprites/daisy.2bpp" ; c1440 -ElmSpriteGFX: INCBIN "gfx/sprites/elm.2bpp" ; c15c0 -WillSpriteGFX: INCBIN "gfx/sprites/will.2bpp" ; c1740 -FalknerSpriteGFX: INCBIN "gfx/sprites/falkner.2bpp" ; c1800 -WhitneySpriteGFX: INCBIN "gfx/sprites/whitney.2bpp" ; c1980 -BugsySpriteGFX: INCBIN "gfx/sprites/bugsy.2bpp" ; c1b00 -MortySpriteGFX: INCBIN "gfx/sprites/morty.2bpp" ; c1c80 -ChuckSpriteGFX: INCBIN "gfx/sprites/chuck.2bpp" ; c1e00 -JasmineSpriteGFX: INCBIN "gfx/sprites/jasmine.2bpp" ; c1f80 -PryceSpriteGFX: INCBIN "gfx/sprites/pryce.2bpp" ; c2100 -ClairSpriteGFX: INCBIN "gfx/sprites/clair.2bpp" ; c2280 -BrockSpriteGFX: INCBIN "gfx/sprites/brock.2bpp" ; c2400 -KarenSpriteGFX: INCBIN "gfx/sprites/karen.2bpp" ; c2580 -BrunoSpriteGFX: INCBIN "gfx/sprites/bruno.2bpp" ; c2640 -MistySpriteGFX: INCBIN "gfx/sprites/misty.2bpp" ; c27c0 -LanceSpriteGFX: INCBIN "gfx/sprites/lance.2bpp" ; c2940 -SurgeSpriteGFX: INCBIN "gfx/sprites/surge.2bpp" ; c2ac0 -ErikaSpriteGFX: INCBIN "gfx/sprites/erika.2bpp" ; c2c40 -KogaSpriteGFX: INCBIN "gfx/sprites/koga.2bpp" ; c2dc0 -SabrinaSpriteGFX: INCBIN "gfx/sprites/sabrina.2bpp" ; c2f40 -CooltrainerMSpriteGFX: INCBIN "gfx/sprites/cooltrainer_m.2bpp" ; c30c0 -CooltrainerFSpriteGFX: INCBIN "gfx/sprites/cooltrainer_f.2bpp" ; c3240 -BugCatcherSpriteGFX: INCBIN "gfx/sprites/bug_catcher.2bpp" ; c33c0 -TwinSpriteGFX: INCBIN "gfx/sprites/twin.2bpp" ; c3540 -YoungsterSpriteGFX: INCBIN "gfx/sprites/youngster.2bpp" ; c36c0 -LassSpriteGFX: INCBIN "gfx/sprites/lass.2bpp" ; c3840 -TeacherSpriteGFX: INCBIN "gfx/sprites/teacher.2bpp" ; c39c0 -BuenaSpriteGFX: INCBIN "gfx/sprites/buena.2bpp" ; c3b40 -SuperNerdSpriteGFX: INCBIN "gfx/sprites/super_nerd.2bpp" ; c3cc0 -RockerSpriteGFX: INCBIN "gfx/sprites/rocker.2bpp" ; c3e40 +ChrisSpriteGFX:: INCBIN "gfx/sprites/chris.2bpp" ; c0000 +ChrisBikeSpriteGFX:: INCBIN "gfx/sprites/chris_bike.2bpp" ; c0180 +GameboyKidSpriteGFX:: INCBIN "gfx/sprites/gameboy_kid.2bpp" ; c0300 +SilverSpriteGFX:: INCBIN "gfx/sprites/silver.2bpp" ; c03c0 +OakSpriteGFX:: INCBIN "gfx/sprites/oak.2bpp" ; c0540 +RedSpriteGFX:: INCBIN "gfx/sprites/red.2bpp" ; c06c0 +BlueSpriteGFX:: INCBIN "gfx/sprites/blue.2bpp" ; c0840 +BillSpriteGFX:: INCBIN "gfx/sprites/bill.2bpp" ; c09c0 +ElderSpriteGFX:: INCBIN "gfx/sprites/elder.2bpp" ; c0b40 +JanineSpriteGFX:: INCBIN "gfx/sprites/janine.2bpp" ; c0cc0 +KurtSpriteGFX:: INCBIN "gfx/sprites/kurt.2bpp" ; c0e40 +MomSpriteGFX:: INCBIN "gfx/sprites/mom.2bpp" ; c0fc0 +BlaineSpriteGFX:: INCBIN "gfx/sprites/blaine.2bpp" ; c1140 +RedsMomSpriteGFX:: INCBIN "gfx/sprites/reds_mom.2bpp" ; c12c0 +DaisySpriteGFX:: INCBIN "gfx/sprites/daisy.2bpp" ; c1440 +ElmSpriteGFX:: INCBIN "gfx/sprites/elm.2bpp" ; c15c0 +WillSpriteGFX:: INCBIN "gfx/sprites/will.2bpp" ; c1740 +FalknerSpriteGFX:: INCBIN "gfx/sprites/falkner.2bpp" ; c1800 +WhitneySpriteGFX:: INCBIN "gfx/sprites/whitney.2bpp" ; c1980 +BugsySpriteGFX:: INCBIN "gfx/sprites/bugsy.2bpp" ; c1b00 +MortySpriteGFX:: INCBIN "gfx/sprites/morty.2bpp" ; c1c80 +ChuckSpriteGFX:: INCBIN "gfx/sprites/chuck.2bpp" ; c1e00 +JasmineSpriteGFX:: INCBIN "gfx/sprites/jasmine.2bpp" ; c1f80 +PryceSpriteGFX:: INCBIN "gfx/sprites/pryce.2bpp" ; c2100 +ClairSpriteGFX:: INCBIN "gfx/sprites/clair.2bpp" ; c2280 +BrockSpriteGFX:: INCBIN "gfx/sprites/brock.2bpp" ; c2400 +KarenSpriteGFX:: INCBIN "gfx/sprites/karen.2bpp" ; c2580 +BrunoSpriteGFX:: INCBIN "gfx/sprites/bruno.2bpp" ; c2640 +MistySpriteGFX:: INCBIN "gfx/sprites/misty.2bpp" ; c27c0 +LanceSpriteGFX:: INCBIN "gfx/sprites/lance.2bpp" ; c2940 +SurgeSpriteGFX:: INCBIN "gfx/sprites/surge.2bpp" ; c2ac0 +ErikaSpriteGFX:: INCBIN "gfx/sprites/erika.2bpp" ; c2c40 +KogaSpriteGFX:: INCBIN "gfx/sprites/koga.2bpp" ; c2dc0 +SabrinaSpriteGFX:: INCBIN "gfx/sprites/sabrina.2bpp" ; c2f40 +CooltrainerMSpriteGFX:: INCBIN "gfx/sprites/cooltrainer_m.2bpp" ; c30c0 +CooltrainerFSpriteGFX:: INCBIN "gfx/sprites/cooltrainer_f.2bpp" ; c3240 +BugCatcherSpriteGFX:: INCBIN "gfx/sprites/bug_catcher.2bpp" ; c33c0 +TwinSpriteGFX:: INCBIN "gfx/sprites/twin.2bpp" ; c3540 +YoungsterSpriteGFX:: INCBIN "gfx/sprites/youngster.2bpp" ; c36c0 +LassSpriteGFX:: INCBIN "gfx/sprites/lass.2bpp" ; c3840 +TeacherSpriteGFX:: INCBIN "gfx/sprites/teacher.2bpp" ; c39c0 +BuenaSpriteGFX:: INCBIN "gfx/sprites/buena.2bpp" ; c3b40 +SuperNerdSpriteGFX:: INCBIN "gfx/sprites/super_nerd.2bpp" ; c3cc0 +RockerSpriteGFX:: INCBIN "gfx/sprites/rocker.2bpp" ; c3e40 SECTION "Sprites 2", ROMX -PokefanMSpriteGFX: INCBIN "gfx/sprites/pokefan_m.2bpp" ; c4000 -PokefanFSpriteGFX: INCBIN "gfx/sprites/pokefan_f.2bpp" ; c4180 -GrampsSpriteGFX: INCBIN "gfx/sprites/gramps.2bpp" ; c4300 -GrannySpriteGFX: INCBIN "gfx/sprites/granny.2bpp" ; c4480 -SwimmerGuySpriteGFX: INCBIN "gfx/sprites/swimmer_guy.2bpp" ; c4600 -SwimmerGirlSpriteGFX: INCBIN "gfx/sprites/swimmer_girl.2bpp" ; c4780 -BigSnorlaxSpriteGFX: INCBIN "gfx/sprites/big_snorlax.2bpp" ; c4900 -SurfingPikachuSpriteGFX: INCBIN "gfx/sprites/surfing_pikachu.2bpp" ; c4980 -RocketSpriteGFX: INCBIN "gfx/sprites/rocket.2bpp" ; c4b00 -RocketGirlSpriteGFX: INCBIN "gfx/sprites/rocket_girl.2bpp" ; c4c80 -NurseSpriteGFX: INCBIN "gfx/sprites/nurse.2bpp" ; c4e00 -LinkReceptionistSpriteGFX: INCBIN "gfx/sprites/link_receptionist.2bpp" ; c4ec0 -ClerkSpriteGFX: INCBIN "gfx/sprites/clerk.2bpp" ; c5040 -FisherSpriteGFX: INCBIN "gfx/sprites/fisher.2bpp" ; c51c0 -FishingGuruSpriteGFX: INCBIN "gfx/sprites/fishing_guru.2bpp" ; c5340 -ScientistSpriteGFX: INCBIN "gfx/sprites/scientist.2bpp" ; c54c0 -KimonoGirlSpriteGFX: INCBIN "gfx/sprites/kimono_girl.2bpp" ; c5640 -SageSpriteGFX: INCBIN "gfx/sprites/sage.2bpp" ; c57c0 -UnusedGuySpriteGFX: INCBIN "gfx/sprites/unused_guy.2bpp" ; c5940 -GentlemanSpriteGFX: INCBIN "gfx/sprites/gentleman.2bpp" ; c5ac0 -BlackBeltSpriteGFX: INCBIN "gfx/sprites/black_belt.2bpp" ; c5c40 -ReceptionistSpriteGFX: INCBIN "gfx/sprites/receptionist.2bpp" ; c5dc0 -OfficerSpriteGFX: INCBIN "gfx/sprites/officer.2bpp" ; c5f40 -CalSpriteGFX: INCBIN "gfx/sprites/cal.2bpp" ; c60c0 -SlowpokeSpriteGFX: INCBIN "gfx/sprites/slowpoke.2bpp" ; c6240 -CaptainSpriteGFX: INCBIN "gfx/sprites/captain.2bpp" ; c6280 -BigLaprasSpriteGFX: INCBIN "gfx/sprites/big_lapras.2bpp" ; c6400 -GymGuySpriteGFX: INCBIN "gfx/sprites/gym_guy.2bpp" ; c6480 -SailorSpriteGFX: INCBIN "gfx/sprites/sailor.2bpp" ; c6600 -BikerSpriteGFX: INCBIN "gfx/sprites/biker.2bpp" ; c6780 -PharmacistSpriteGFX: INCBIN "gfx/sprites/pharmacist.2bpp" ; c6900 -MonsterSpriteGFX: INCBIN "gfx/sprites/monster.2bpp" ; c6a80 -FairySpriteGFX: INCBIN "gfx/sprites/fairy.2bpp" ; c6c00 -BirdSpriteGFX: INCBIN "gfx/sprites/bird.2bpp" ; c6d80 -DragonSpriteGFX: INCBIN "gfx/sprites/dragon.2bpp" ; c6f00 -BigOnixSpriteGFX: INCBIN "gfx/sprites/big_onix.2bpp" ; c7080 -N64SpriteGFX: INCBIN "gfx/sprites/n64.2bpp" ; c7140 -SudowoodoSpriteGFX: INCBIN "gfx/sprites/sudowoodo.2bpp" ; c7180 -SurfSpriteGFX: INCBIN "gfx/sprites/surf.2bpp" ; c7200 -PokeBallSpriteGFX: INCBIN "gfx/sprites/poke_ball.2bpp" ; c7380 -PokedexSpriteGFX: INCBIN "gfx/sprites/pokedex.2bpp" ; c7500 -PaperSpriteGFX: INCBIN "gfx/sprites/paper.2bpp" ; c7680 -VirtualBoySpriteGFX: INCBIN "gfx/sprites/virtual_boy.2bpp" ; c7800 -OldLinkReceptionistSpriteGFX: INCBIN "gfx/sprites/old_link_receptionist.2bpp" ; c7840 -RockSpriteGFX: INCBIN "gfx/sprites/rock.2bpp" ; c7880 -BoulderSpriteGFX: INCBIN "gfx/sprites/boulder.2bpp" ; c78c0 -SnesSpriteGFX: INCBIN "gfx/sprites/snes.2bpp" ; c7900 -FamicomSpriteGFX: INCBIN "gfx/sprites/famicom.2bpp" ; c7940 -FruitTreeSpriteGFX: INCBIN "gfx/sprites/fruit_tree.2bpp" ; c7980 -GoldTrophySpriteGFX: INCBIN "gfx/sprites/gold_trophy.2bpp" ; c79c0 -SilverTrophySpriteGFX: INCBIN "gfx/sprites/silver_trophy.2bpp" ; c7a00 -KrisSpriteGFX: INCBIN "gfx/sprites/kris.2bpp" ; c7a40 -KrisBikeSpriteGFX: INCBIN "gfx/sprites/kris_bike.2bpp" ; c7bc0 -KurtOutsideSpriteGFX: INCBIN "gfx/sprites/kurt_outside.2bpp" ; c7d40 -SuicuneSpriteGFX: INCBIN "gfx/sprites/suicune.2bpp" ; c7e00 -EnteiSpriteGFX: INCBIN "gfx/sprites/entei.2bpp" ; c7e40 -RaikouSpriteGFX: INCBIN "gfx/sprites/raikou.2bpp" ; c7e80 -StandingYoungsterSpriteGFX: INCBIN "gfx/sprites/standing_youngster.2bpp" ; c7ec0 +PokefanMSpriteGFX:: INCBIN "gfx/sprites/pokefan_m.2bpp" ; c4000 +PokefanFSpriteGFX:: INCBIN "gfx/sprites/pokefan_f.2bpp" ; c4180 +GrampsSpriteGFX:: INCBIN "gfx/sprites/gramps.2bpp" ; c4300 +GrannySpriteGFX:: INCBIN "gfx/sprites/granny.2bpp" ; c4480 +SwimmerGuySpriteGFX:: INCBIN "gfx/sprites/swimmer_guy.2bpp" ; c4600 +SwimmerGirlSpriteGFX:: INCBIN "gfx/sprites/swimmer_girl.2bpp" ; c4780 +BigSnorlaxSpriteGFX:: INCBIN "gfx/sprites/big_snorlax.2bpp" ; c4900 +SurfingPikachuSpriteGFX:: INCBIN "gfx/sprites/surfing_pikachu.2bpp" ; c4980 +RocketSpriteGFX:: INCBIN "gfx/sprites/rocket.2bpp" ; c4b00 +RocketGirlSpriteGFX:: INCBIN "gfx/sprites/rocket_girl.2bpp" ; c4c80 +NurseSpriteGFX:: INCBIN "gfx/sprites/nurse.2bpp" ; c4e00 +LinkReceptionistSpriteGFX:: INCBIN "gfx/sprites/link_receptionist.2bpp" ; c4ec0 +ClerkSpriteGFX:: INCBIN "gfx/sprites/clerk.2bpp" ; c5040 +FisherSpriteGFX:: INCBIN "gfx/sprites/fisher.2bpp" ; c51c0 +FishingGuruSpriteGFX:: INCBIN "gfx/sprites/fishing_guru.2bpp" ; c5340 +ScientistSpriteGFX:: INCBIN "gfx/sprites/scientist.2bpp" ; c54c0 +KimonoGirlSpriteGFX:: INCBIN "gfx/sprites/kimono_girl.2bpp" ; c5640 +SageSpriteGFX:: INCBIN "gfx/sprites/sage.2bpp" ; c57c0 +UnusedGuySpriteGFX:: INCBIN "gfx/sprites/unused_guy.2bpp" ; c5940 +GentlemanSpriteGFX:: INCBIN "gfx/sprites/gentleman.2bpp" ; c5ac0 +BlackBeltSpriteGFX:: INCBIN "gfx/sprites/black_belt.2bpp" ; c5c40 +ReceptionistSpriteGFX:: INCBIN "gfx/sprites/receptionist.2bpp" ; c5dc0 +OfficerSpriteGFX:: INCBIN "gfx/sprites/officer.2bpp" ; c5f40 +CalSpriteGFX:: INCBIN "gfx/sprites/cal.2bpp" ; c60c0 +SlowpokeSpriteGFX:: INCBIN "gfx/sprites/slowpoke.2bpp" ; c6240 +CaptainSpriteGFX:: INCBIN "gfx/sprites/captain.2bpp" ; c6280 +BigLaprasSpriteGFX:: INCBIN "gfx/sprites/big_lapras.2bpp" ; c6400 +GymGuySpriteGFX:: INCBIN "gfx/sprites/gym_guy.2bpp" ; c6480 +SailorSpriteGFX:: INCBIN "gfx/sprites/sailor.2bpp" ; c6600 +BikerSpriteGFX:: INCBIN "gfx/sprites/biker.2bpp" ; c6780 +PharmacistSpriteGFX:: INCBIN "gfx/sprites/pharmacist.2bpp" ; c6900 +MonsterSpriteGFX:: INCBIN "gfx/sprites/monster.2bpp" ; c6a80 +FairySpriteGFX:: INCBIN "gfx/sprites/fairy.2bpp" ; c6c00 +BirdSpriteGFX:: INCBIN "gfx/sprites/bird.2bpp" ; c6d80 +DragonSpriteGFX:: INCBIN "gfx/sprites/dragon.2bpp" ; c6f00 +BigOnixSpriteGFX:: INCBIN "gfx/sprites/big_onix.2bpp" ; c7080 +N64SpriteGFX:: INCBIN "gfx/sprites/n64.2bpp" ; c7140 +SudowoodoSpriteGFX:: INCBIN "gfx/sprites/sudowoodo.2bpp" ; c7180 +SurfSpriteGFX:: INCBIN "gfx/sprites/surf.2bpp" ; c7200 +PokeBallSpriteGFX:: INCBIN "gfx/sprites/poke_ball.2bpp" ; c7380 +PokedexSpriteGFX:: INCBIN "gfx/sprites/pokedex.2bpp" ; c7500 +PaperSpriteGFX:: INCBIN "gfx/sprites/paper.2bpp" ; c7680 +VirtualBoySpriteGFX:: INCBIN "gfx/sprites/virtual_boy.2bpp" ; c7800 +OldLinkReceptionistSpriteGFX:: INCBIN "gfx/sprites/old_link_receptionist.2bpp" ; c7840 +RockSpriteGFX:: INCBIN "gfx/sprites/rock.2bpp" ; c7880 +BoulderSpriteGFX:: INCBIN "gfx/sprites/boulder.2bpp" ; c78c0 +SnesSpriteGFX:: INCBIN "gfx/sprites/snes.2bpp" ; c7900 +FamicomSpriteGFX:: INCBIN "gfx/sprites/famicom.2bpp" ; c7940 +FruitTreeSpriteGFX:: INCBIN "gfx/sprites/fruit_tree.2bpp" ; c7980 +GoldTrophySpriteGFX:: INCBIN "gfx/sprites/gold_trophy.2bpp" ; c79c0 +SilverTrophySpriteGFX:: INCBIN "gfx/sprites/silver_trophy.2bpp" ; c7a00 +KrisSpriteGFX:: INCBIN "gfx/sprites/kris.2bpp" ; c7a40 +KrisBikeSpriteGFX:: INCBIN "gfx/sprites/kris_bike.2bpp" ; c7bc0 +KurtOutsideSpriteGFX:: INCBIN "gfx/sprites/kurt_outside.2bpp" ; c7d40 +SuicuneSpriteGFX:: INCBIN "gfx/sprites/suicune.2bpp" ; c7e00 +EnteiSpriteGFX:: INCBIN "gfx/sprites/entei.2bpp" ; c7e40 +RaikouSpriteGFX:: INCBIN "gfx/sprites/raikou.2bpp" ; c7e80 +StandingYoungsterSpriteGFX:: INCBIN "gfx/sprites/standing_youngster.2bpp" ; c7ec0 diff --git a/home.asm b/home.asm index f7d2e7748..6aa8777cb 100644 --- a/home.asm +++ b/home.asm @@ -4,7 +4,10 @@ INCLUDE "includes.asm" SECTION "NULL", ROM0 NULL:: + INCLUDE "rst.asm" + + INCLUDE "interrupts.asm" diff --git a/main.asm b/main.asm index e0611c483..cfa9d9218 100644 --- a/main.asm +++ b/main.asm @@ -82,63 +82,10 @@ INCLUDE "engine/player_step.asm" INCLUDE "engine/anim_hp_bar.asm" INCLUDE "engine/move_mon.asm" INCLUDE "engine/billspctop.asm" - -GetBreedMon1LevelGrowth: ; e698 - ld hl, wBreedMon1Stats - ld de, TempMon - ld bc, BOXMON_STRUCT_LENGTH - call CopyBytes - callab CalcLevel - ld a, [wBreedMon1Level] - ld b, a - ld a, d - ld e, a - sub b - ld d, a - ret - -GetBreedMon2LevelGrowth: ; e6b3 - ld hl, wBreedMon2Stats - ld de, TempMon - ld bc, BOXMON_STRUCT_LENGTH - call CopyBytes - callab CalcLevel - ld a, [wBreedMon2Level] - ld b, a - ld a, d - ld e, a - sub b - ld d, a - ret - +INCLUDE "engine/get_breedmon_growth.asm" INCLUDE "event/bug_contest/caught_mon.asm" INCLUDE "engine/item_effects.asm" - -KnowsMove: ; f9ea - ld a, MON_MOVES - call GetPartyParamLocation - ld a, [wPutativeTMHMMove] - ld b, a - ld c, NUM_MOVES -.loop - ld a, [hli] - cp b - jr z, .knows_move - dec c - jr nz, .loop - and a - ret - -.knows_move - ld hl, .Text_knows - call PrintText - scf - ret - -.Text_knows: ; 0xfa06 - ; knows @ . - text_jump UnknownText_0x1c5ea8 - db "@" +INCLUDE "engine/knows_move.asm" SECTION "bank4", ROMX @@ -147,16 +94,7 @@ INCLUDE "engine/pack.asm" INCLUDE "engine/time.asm" INCLUDE "engine/tmhm.asm" INCLUDE "engine/namingscreen.asm" - -Script_AbortBugContest: ; 0x122c1 - checkflag ENGINE_BUG_CONTEST_TIMER - iffalse .finish - setflag ENGINE_DAILY_BUG_CONTEST - special ContestReturnMons -.finish - end - -INCLUDE "event/itemball.asm" +INCLUDE "event/misc_scripts.asm" INCLUDE "event/heal_machine_anim.asm" INCLUDE "event/whiteout.asm" INCLUDE "event/forced_movement.asm" @@ -165,8 +103,8 @@ INCLUDE "engine/start_menu.asm" INCLUDE "engine/select_menu.asm" INCLUDE "event/elevator.asm" INCLUDE "event/bug_contest/contest.asm" -INCLUDE "event/hidden_items.asm" -INCLUDE "engine/collision_stdscripts.asm" +INCLUDE "event/misc_scripts_2.asm" +INCLUDE "event/std_collision.asm" INCLUDE "event/bug_contest/judging.asm" INCLUDE "engine/pokerus_tick.asm" INCLUDE "event/bug_contest/contest_2.asm" @@ -201,15 +139,7 @@ INCLUDE "engine/clock_reset.asm" SECTION "bank9", ROMX -StringBufferPointers:: ; 24000 - dw StringBuffer3 - dw StringBuffer4 - dw StringBuffer5 - dw StringBuffer2 - dw StringBuffer1 - dw EnemyMonNick - dw BattleMonNick - +INCLUDE "data/text_buffers.asm" INCLUDE "engine/menu.asm" UpdateItemDescription: ; 0x244c3 @@ -296,12 +226,7 @@ SECTION "bankA", ROMX INCLUDE "engine/link.asm" INCLUDE "engine/wildmons.asm" INCLUDE "battle/link_result.asm" - -ChrisBackpic: ; 2ba1a -INCBIN "gfx/player/chris_back.2bpp.lz" - -DudeBackpic: ; 2bbaa -INCBIN "gfx/battle/dude.2bpp.lz" +INCLUDE "engine/player_gfx_2.asm" SECTION "bankB", ROMX @@ -704,45 +629,7 @@ LinkTextbox2: ; 4d35b INCLUDE "engine/delete_save_change_clock.asm" INCLUDE "tilesets/tileset_headers.asm" INCLUDE "engine/flag_predef.asm" - -GetTrademonFrontpic: ; 4d7fd - ld a, [wOTTrademonSpecies] - ld hl, wOTTrademonDVs - ld de, VTiles2 - push de - push af - predef GetUnownLetter - pop af - ld [CurPartySpecies], a - ld [CurSpecies], a - call GetBaseData - pop de - predef FrontpicPredef - ret - -AnimateTrademonFrontpic: ; 4d81e - ld a, [wOTTrademonSpecies] - call IsAPokemon - ret c - callba ShowOTTrademonStats - ld a, [wOTTrademonSpecies] - ld [CurPartySpecies], a - ld a, [wOTTrademonDVs] - ld [TempMonDVs], a - ld a, [wOTTrademonDVs + 1] - ld [TempMonDVs + 1], a - ld b, SCGB_PLAYER_OR_MON_FRONTPIC_PALS - call GetSGBLayout - ld a, %11100100 ; 3,2,1,0 - call DmgToCgbBGPals - callba TradeAnim_ShowGetmonFrontpic - ld a, [wOTTrademonSpecies] - ld [CurPartySpecies], a - hlcoord 7, 2 - ld d, $0 - ld e, ANIM_MON_TRADE - predef AnimateFrontpic - ret +INCLUDE "engine/trademon_frontpic.asm" CheckPokerus: ; 4d860 ; Return carry if a monster in your party has Pokerus @@ -780,55 +667,7 @@ INCLUDE "engine/init_hof_credits.asm" INCLUDE "mobile/get_trainer_class.asm" INCLUDE "battle/sliding_intro.asm" INCLUDE "mobile/print_opp_message.asm" - -CheckBattleScene: ; 4ea44 -; Return carry if battle scene is turned off. - - ld a, 0 - ld hl, wLinkMode - call GetFarWRAMByte - cp LINK_MOBILE - jr z, .mobile - - ld a, [Options] - bit BATTLE_SCENE, a - jr nz, .off - - and a - ret - -.mobile - ld a, [wcd2f] - and a - jr nz, .from_wram - - ld a, $4 - call GetSRAMBank - ld a, [$a60c] - ld c, a - call CloseSRAM - - ld a, c - bit 0, c - jr z, .off - - and a - ret - -.from_wram - ld a, $5 - ld hl, w5_dc00 - call GetFarWRAMByte - bit 0, a - jr z, .off - - and a - ret - -.off - scf - ret - +INCLUDE "engine/check_battle_scene.asm" INCLUDE "engine/gbc_only.asm" INCLUDE "event/poke_seer.asm" @@ -969,7 +808,6 @@ SECTION "bank2F", ROMX INCLUDE "engine/std_scripts.asm" INCLUDE "engine/phone_scripts.asm" INCLUDE "engine/trainer_scripts.asm" -INCLUDE "gfx/sprites.asm" SECTION "bank32", ROMX @@ -1073,8 +911,6 @@ INCLUDE "engine/npctrade.asm" INCLUDE "event/mom_phone.asm" -SECTION "mobile_40", ROMX - INCLUDE "mobile/mobile_40.asm" @@ -1146,9 +982,13 @@ _UpdateBattleHUDs: ret +SECTION "mobile_5e", ROMX + INCLUDE "mobile/mobile_5e.asm" +SECTION "bank5F", ROMX + INCLUDE "mobile/mobile_5f.asm" diff --git a/mobile/mobile_40.asm b/mobile/mobile_40.asm index fa6a39fdf..c476e4297 100644 --- a/mobile/mobile_40.asm +++ b/mobile/mobile_40.asm @@ -1,3 +1,5 @@ +SECTION "mobile_40", ROMX + Function100000: ; 100000 ; d: 1 or 2 ; e: bank diff --git a/mobile/mobile_41.asm b/mobile/mobile_41.asm index 37e10a01e..9ab9f7ed2 100755 --- a/mobile/mobile_41.asm +++ b/mobile/mobile_41.asm @@ -1,5 +1,3 @@ -SECTION "bank41_2", ROMX - ; These functions deal with miscellaneous statistics ; which were used for Trainer Rankings in Pokémon News. diff --git a/mobile/mobile_46.asm b/mobile/mobile_46.asm index 48fed0f33..986bf9509 100755 --- a/mobile/mobile_46.asm +++ b/mobile/mobile_46.asm @@ -3015,6 +3015,7 @@ Unknown_1196b8: ; 1196b8 db "Sun" ; 1196cd + SECTION "bank46_2", ROMX ; A hack to use ascii above. diff --git a/mobile/mobile_5e.asm b/mobile/mobile_5e.asm index b22f714ea..baf247fe2 100644 --- a/mobile/mobile_5e.asm +++ b/mobile/mobile_5e.asm @@ -1,10 +1,6 @@ - -SECTION "Misc Crystal", ROMX - MobileAdapterGFX:: INCBIN "gfx/mobile/mobile_adapter.2bpp" - Function17a68f:: ; 17a68f (5e:668f) call Function17a6a8 call Function17a751 diff --git a/mobile/mobile_5f.asm b/mobile/mobile_5f.asm index 816e23394..9b0c5455b 100644 --- a/mobile/mobile_5f.asm +++ b/mobile/mobile_5f.asm @@ -1,8 +1,4 @@ - -SECTION "bank5F", ROMX - Function17c000: ; 17c000 - call DisableLCD ld hl, VTiles2 diff --git a/pokecrystal.link b/pokecrystal.link index 60ff314ff..6002adbf5 100644 --- a/pokecrystal.link +++ b/pokecrystal.link @@ -173,7 +173,6 @@ ROMX $40 "bank40_3" ROMX $41 "bank41" - "bank41_2" ROMX $42 "mobile_42" "Intro Logo" @@ -243,7 +242,7 @@ ROMX $5e "bank5E" "Songs 5" "Crystal Sound Effects" - "Misc Crystal" + "mobile_5e" ROMX $5f "bank5F" ROMX $60 diff --git a/text/common_text.asm b/text/common_text.asm index c4891ab15..d21685480 100644 --- a/text/common_text.asm +++ b/text/common_text.asm @@ -1,12 +1,18 @@ INCLUDE "includes.asm" + SECTION "Text 1", ROMX + INCLUDE "text/common_1.asm" + SECTION "Text 2", ROMX + INCLUDE "text/common_2.asm" INCLUDE "text/common_3.asm" + SECTION "Text 3", ROMX + INCLUDE "text/common_4.asm" INCLUDE "text/common_5.asm" -- cgit v1.2.3 From 3ed016f9e05356e941d89237ae9d7858d436ba35 Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Sun, 17 Dec 2017 19:48:04 -0500 Subject: Auto-label more map scripts --- docs/bugs_and_glitches.md | 4 +- maps/BlackthornDragonSpeechHouse.asm | 18 +++-- maps/BlackthornMart.asm | 20 ++--- maps/BlackthornPokecenter1F.asm | 24 +++--- maps/BluesHouse.asm | 58 +++++++------- maps/CeladonCity.asm | 64 +++++++-------- maps/CeladonDeptStore1F.asm | 24 +++--- maps/CeladonDeptStore2F.asm | 16 ++-- maps/CeladonDeptStore3F.asm | 16 ++-- maps/CeladonDeptStore4F.asm | 16 ++-- maps/CeladonDeptStore5F.asm | 24 +++--- maps/CeladonDeptStore6F.asm | 16 ++-- maps/CeladonGameCorner.asm | 8 +- maps/CeladonMansion3F.asm | 16 ++-- maps/CeladonMansionRoof.asm | 8 +- maps/CeladonPokecenter1F.asm | 16 ++-- maps/CeruleanCity.asm | 8 +- maps/CeruleanGymBadgeSpeechHouse.asm | 8 +- maps/CeruleanPokecenter1F.asm | 8 +- maps/CeruleanPoliceStation.asm | 16 ++-- maps/CeruleanTradeSpeechHouse.asm | 16 ++-- maps/CherrygroveGymSpeechHouse.asm | 16 ++-- maps/CherrygroveMart.asm | 8 +- maps/CherrygrovePokecenter1F.asm | 16 ++-- maps/CianwoodCity.asm | 6 +- maps/CianwoodLugiaSpeechHouse.asm | 24 +++--- maps/CianwoodPokecenter1F.asm | 16 ++-- maps/CinnabarPokecenter1F.asm | 16 ++-- maps/CopycatsHouse1F.asm | 8 +- maps/DanceTheatre.asm | 16 ++-- maps/DiglettsCave.asm | 8 +- maps/EarlsPokemonAcademy.asm | 16 ++-- maps/EcruteakCity.asm | 40 +++++----- maps/EcruteakHouse.asm | 8 +- maps/EcruteakLugiaSpeechHouse.asm | 16 ++-- maps/EcruteakMart.asm | 16 ++-- maps/FastShip1F.asm | 8 +- maps/FuchsiaBillSpeechHouse.asm | 16 ++-- maps/FuchsiaMart.asm | 16 ++-- maps/FuchsiaPokecenter1F.asm | 16 ++-- maps/GoldenrodCity.asm | 104 ++++++++++++------------- maps/GoldenrodDeptStore1F.asm | 32 ++++---- maps/GoldenrodDeptStore2F.asm | 24 +++--- maps/GoldenrodDeptStore3F.asm | 16 ++-- maps/GoldenrodDeptStore4F.asm | 16 ++-- maps/GoldenrodDeptStore5F.asm | 16 ++-- maps/GoldenrodDeptStore6F.asm | 16 ++-- maps/GoldenrodDeptStoreB1F.asm | 24 +++--- maps/GoldenrodDeptStoreRoof.asm | 40 +++++----- maps/GoldenrodHappinessRater.asm | 16 ++-- maps/GoldenrodMagnetTrainStation.asm | 8 +- maps/GoldenrodPPSpeechHouse.asm | 16 ++-- maps/GoldenrodPokeComCenter2FMobile.asm | 24 +++--- maps/GoldenrodPokecenter1F.asm | 16 ++-- maps/IlexForestAzaleaGate.asm | 16 ++-- maps/IndigoPlateauPokecenter1F.asm | 8 +- maps/LakeOfRage.asm | 16 ++-- maps/LavRadioTower1F.asm | 24 +++--- maps/LavenderMart.asm | 16 ++-- maps/LavenderPokecenter1F.asm | 16 ++-- maps/LavenderTown.asm | 32 ++++---- maps/LavenderTownSpeechHouse.asm | 8 +- maps/MahoganyPokecenter1F.asm | 24 +++--- maps/MahoganyRedGyaradosSpeechHouse.asm | 8 +- maps/MahoganyTown.asm | 16 ++-- maps/MountMoonGiftShop.asm | 10 +-- maps/MrFujisHouse.asm | 16 ++-- maps/NationalPark.asm | 40 +++++----- maps/OlivineCafe.asm | 16 ++-- maps/OlivineCity.asm | 16 ++-- maps/OlivineHouseBeta.asm | 8 +- maps/OlivineLighthouse1F.asm | 16 ++-- maps/OlivineMart.asm | 16 ++-- maps/OlivinePokecenter1F.asm | 16 ++-- maps/OlivinePort.asm | 8 +- maps/OlivinePortPassage.asm | 8 +- maps/PalletTown.asm | 16 ++-- maps/PewterCity.asm | 16 ++-- maps/PewterMart.asm | 16 ++-- maps/PewterNidoranSpeechHouse.asm | 8 +- maps/PewterPokecenter1F.asm | 16 ++-- maps/PewterSnoozeSpeechHouse.asm | 8 +- maps/PokemonFanClub.asm | 16 ++-- maps/RadioTower1F.asm | 16 ++-- maps/RadioTower2F.asm | 24 +++--- maps/RadioTower3F.asm | 8 +- maps/RadioTower4F.asm | 8 +- maps/Route10Pokecenter1F.asm | 16 ++-- maps/Route15FuchsiaGate.asm | 8 +- maps/Route16FuchsiaSpeechHouse.asm | 8 +- maps/Route16Gate.asm | 8 +- maps/Route1718Gate.asm | 8 +- maps/Route27.asm | 10 +-- maps/Route2946Gate.asm | 16 ++-- maps/Route2Gate.asm | 8 +- maps/Route31VioletGate.asm | 16 ++-- maps/Route32Pokecenter1F.asm | 8 +- maps/Route32RuinsOfAlphGate.asm | 24 +++--- maps/Route34IlexForestGate.asm | 8 +- maps/Route35GoldenrodGate.asm | 8 +- maps/Route35NationalParkGate.asm | 8 +- maps/Route36RuinsOfAlphGate.asm | 16 ++-- maps/Route38EcruteakGate.asm | 8 +- maps/Route40.asm | 24 +++--- maps/Route40BattleTowerGate.asm | 16 ++-- maps/Route42EcruteakGate.asm | 8 +- maps/Route5.asm | 8 +- maps/Route5CleanseTagSpeechHouse.asm | 8 +- maps/Route5SaffronCityGate.asm | 8 +- maps/Route5UndergroundEntrance.asm | 8 +- maps/Route6.asm | 8 +- maps/Route8SaffronGate.asm | 8 +- maps/RuinsOfAlphKabutoChamber.asm | 8 +- maps/SaffronCity.asm | 40 +++++----- maps/SaffronMart.asm | 16 ++-- maps/SaffronPokecenter1F.asm | 8 +- maps/SaffronTrainStation.asm | 16 ++-- maps/SilverCavePokecenter1F.asm | 8 +- maps/SlowpokeWellB1F.asm | 8 +- maps/SoulHouse.asm | 24 +++--- maps/SproutTower1F.asm | 32 ++++---- maps/TeamRocketBaseB3F.asm | 8 +- maps/TinTower1F.asm | 80 +++++++++---------- maps/TrainerHouse1F.asm | 40 +++++----- maps/VermilionCity.asm | 16 ++-- maps/VermilionHouseDiglettsCaveSpeechHouse.asm | 8 +- maps/VermilionMagnetTrainSpeechHouse.asm | 16 ++-- maps/VermilionMart.asm | 16 ++-- maps/VermilionPokecenter1F.asm | 16 ++-- maps/VermilionPortPassage.asm | 8 +- maps/VioletKylesHouse.asm | 8 +- maps/VioletMart.asm | 16 ++-- maps/VioletNicknameSpeechHouse.asm | 16 ++-- maps/VioletPokecenter1F.asm | 24 +++--- maps/ViridianCity.asm | 8 +- maps/ViridianMart.asm | 16 ++-- maps/ViridianNicknameSpeechHouse.asm | 16 ++-- maps/ViridianPokecenter1F.asm | 16 ++-- maps/WiseTriosRoom.asm | 24 +++--- 139 files changed, 1176 insertions(+), 1174 deletions(-) diff --git a/docs/bugs_and_glitches.md b/docs/bugs_and_glitches.md index fe0a973dc..a3fbc769a 100644 --- a/docs/bugs_and_glitches.md +++ b/docs/bugs_and_glitches.md @@ -25,7 +25,7 @@ - [Love Ball boosts catch rate for the wrong gender](#love-ball-boosts-catch-rate-for-the-wrong-gender) - [Fast Ball only boosts catch rate for three Pokémon](#fast-ball-only-boosts-catch-rate-for-three-pokémon) - [Dragon Scale, not Dragon Fang, boosts Dragon-type moves](#dragon-scale-not-dragon-fang-boosts-dragon-type-moves) -- [Daisy's massages don't always increase happiness](#daisys-massages-dont-always-increase-happiness) +- [Daisy's grooming doesn't always increase happiness](#daisys-grooming-doesnt-always-increase-happiness) - [Magikarp in Lake of Rage are shorter, not longer](#magikarp-in-lake-of-rage-are-shorter-not-longer) - [Magikarp lengths can be miscalculated](#magikarp-lengths-can-be-miscalculated) - [Battle transitions fail to account for the enemy's level](#battle-transitions-fail-to-account-for-the-enemys-level) @@ -662,7 +662,7 @@ This is a bug with `ItemAttributes` in [items/item_attributes.asm](/items/item_a **Fix:** Move `HELD_DRAGON_BOOST` to the `DRAGON FANG` attributes and `0` to `DRAGON SCALE`. -## Daisy's massages don't always increase happiness +## Daisy's grooming doesn't always increase happiness This is a bug with `MassageOrHaircut` in [event/special.asm](/event/special.asm): diff --git a/maps/BlackthornDragonSpeechHouse.asm b/maps/BlackthornDragonSpeechHouse.asm index 1126e1d2d..7217e1050 100644 --- a/maps/BlackthornDragonSpeechHouse.asm +++ b/maps/BlackthornDragonSpeechHouse.asm @@ -9,24 +9,26 @@ BlackthornDragonSpeechHouse_MapScriptHeader: .MapCallbacks: db 0 -GrannyScript_0x195949: - jumptextfaceplayer UnknownText_0x19595c +BlackthornDragonSpeechHouseGrannyScript: + jumptextfaceplayer BlackthornDragonSpeechHouseGrannyText -Dratini: +BlackthornDragonSpeechHouseDratiniScript: opentext - writetext DratiniText + writetext BlackthornDragonSpeechHouseDratiniText cry DRATINI waitbutton closetext end ; unused +BlackthornDragonSpeechHousePictureBookshelf: jumpstd picturebookshelf ; unused +BlackthornDragonSpeechHouseMagazineBookshelf: jumpstd magazinebookshelf -UnknownText_0x19595c: +BlackthornDragonSpeechHouseGrannyText: text "A clan of trainers" line "who can freely" @@ -41,7 +43,7 @@ UnknownText_0x19595c: line "this town." done -DratiniText: +BlackthornDragonSpeechHouseDratiniText: text "DRATINI: Draa!" done @@ -62,5 +64,5 @@ BlackthornDragonSpeechHouse_MapEventHeader: .PersonEvents: db 2 - person_event SPRITE_GRANNY, 3, 2, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, GrannyScript_0x195949, -1 - person_event SPRITE_EKANS, 5, 5, SPRITEMOVEDATA_POKEMON, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, Dratini, -1 + person_event SPRITE_GRANNY, 3, 2, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, BlackthornDragonSpeechHouseGrannyScript, -1 + person_event SPRITE_EKANS, 5, 5, SPRITEMOVEDATA_POKEMON, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, BlackthornDragonSpeechHouseDratiniScript, -1 diff --git a/maps/BlackthornMart.asm b/maps/BlackthornMart.asm index 972ae6f64..be7987a76 100644 --- a/maps/BlackthornMart.asm +++ b/maps/BlackthornMart.asm @@ -10,19 +10,19 @@ BlackthornMart_MapScriptHeader: .MapCallbacks: db 0 -ClerkScript_0x195a5d: +BlackthornMartClerkScript: opentext pokemart MARTTYPE_STANDARD, MART_BLACKTHORN closetext end -CooltrainerMScript_0x195a64: - jumptextfaceplayer UnknownText_0x195a6a +BlackthornMartCooltrainerMScript: + jumptextfaceplayer BlackthornMartCooltrainerMText -BlackBeltScript_0x195a67: - jumptextfaceplayer UnknownText_0x195ae9 +BlackthornMartBlackBeltScript: + jumptextfaceplayer BlackthornMartBlackBeltText -UnknownText_0x195a6a: +BlackthornMartCooltrainerMText: text "You can't buy MAX" line "REVIVE, but it" @@ -36,7 +36,7 @@ UnknownText_0x195a6a: line "needed for moves." done -UnknownText_0x195ae9: +BlackthornMartBlackBeltText: text "MAX REPEL keeps" line "weak #MON away" cont "from you." @@ -63,6 +63,6 @@ BlackthornMart_MapEventHeader: .PersonEvents: db 3 - person_event SPRITE_CLERK, 3, 1, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, ClerkScript_0x195a5d, -1 - person_event SPRITE_COOLTRAINER_M, 6, 7, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 2, -1, -1, 0, PERSONTYPE_SCRIPT, 0, CooltrainerMScript_0x195a64, -1 - person_event SPRITE_BLACK_BELT, 2, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, BlackBeltScript_0x195a67, -1 + person_event SPRITE_CLERK, 3, 1, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, BlackthornMartClerkScript, -1 + person_event SPRITE_COOLTRAINER_M, 6, 7, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 2, -1, -1, 0, PERSONTYPE_SCRIPT, 0, BlackthornMartCooltrainerMScript, -1 + person_event SPRITE_BLACK_BELT, 2, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, BlackthornMartBlackBeltScript, -1 diff --git a/maps/BlackthornPokecenter1F.asm b/maps/BlackthornPokecenter1F.asm index 6da357319..b235d6143 100644 --- a/maps/BlackthornPokecenter1F.asm +++ b/maps/BlackthornPokecenter1F.asm @@ -11,19 +11,19 @@ BlackthornPokecenter1F_MapScriptHeader: .MapCallbacks: db 0 -NurseScript_0x195b79: +BlackthornPokecenter1FNurseScript: jumpstd pokecenternurse -GentlemanScript_0x195b7c: - jumptextfaceplayer UnknownText_0x195b85 +BlackthornPokecenter1FGentlemanScript: + jumptextfaceplayer BlackthornPokecenter1FGentlemanText -TwinScript_0x195b7f: - jumptextfaceplayer UnknownText_0x195bfd +BlackthornPokecenter1FTwinScript: + jumptextfaceplayer BlackthornPokecenter1FTwinText -CooltrainerMScript_0x195b82: +BlackthornPokecenter1FCooltrainerMScript: jumpstd happinesschecknpc -UnknownText_0x195b85: +BlackthornPokecenter1FGentlemanText: text "Deep inside far-" line "off INDIGO PLATEAU" @@ -37,7 +37,7 @@ UnknownText_0x195b85: line "the country." done -UnknownText_0x195bfd: +BlackthornPokecenter1FTwinText: text "There was this" line "move I just had" @@ -67,7 +67,7 @@ BlackthornPokecenter1F_MapEventHeader: .PersonEvents: db 4 - person_event SPRITE_NURSE, 1, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, NurseScript_0x195b79, -1 - person_event SPRITE_GENTLEMAN, 3, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, GentlemanScript_0x195b7c, -1 - person_event SPRITE_TWIN, 4, 1, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, TwinScript_0x195b7f, -1 - person_event SPRITE_COOLTRAINER_M, 6, 7, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, CooltrainerMScript_0x195b82, -1 + person_event SPRITE_NURSE, 1, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, BlackthornPokecenter1FNurseScript, -1 + person_event SPRITE_GENTLEMAN, 3, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, BlackthornPokecenter1FGentlemanScript, -1 + person_event SPRITE_TWIN, 4, 1, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, BlackthornPokecenter1FTwinScript, -1 + person_event SPRITE_COOLTRAINER_M, 6, 7, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, BlackthornPokecenter1FCooltrainerMScript, -1 diff --git a/maps/BluesHouse.asm b/maps/BluesHouse.asm index 72cd935fc..58bc77983 100644 --- a/maps/BluesHouse.asm +++ b/maps/BluesHouse.asm @@ -8,29 +8,29 @@ BluesHouse_MapScriptHeader: .MapCallbacks: db 0 -DaisyScript_0x19b0d0: +DaisyScript: faceplayer opentext checkcode VAR_HOUR - if_equal $f, UnknownScript_0x19b0de - writetext UnknownText_0x19b130 + if_equal 15, .ThreePM + writetext DaisyHelloText waitbutton closetext end -UnknownScript_0x19b0de: +.ThreePM: checkflag ENGINE_TEA_IN_BLUES_HOUSE - iftrue UnknownScript_0x19b11e - writetext UnknownText_0x19b1b6 + iftrue .AlreadyGroomedMon + writetext DaisyOfferGroomingText yesorno - iffalse UnknownScript_0x19b124 - writetext UnknownText_0x19b244 + iffalse .Refused + writetext DaisyWhichMonText waitbutton special Special_DaisyMassage - if_equal 0, UnknownScript_0x19b124 - if_equal 1, UnknownScript_0x19b12a + if_equal 0, .Refused + if_equal 1, .CantGroomEgg setflag ENGINE_TEA_IN_BLUES_HOUSE - writetext UnknownText_0x19b266 + writetext DaisyAlrightText waitbutton closetext special FadeOutPalettes @@ -39,33 +39,33 @@ UnknownScript_0x19b0de: special FadeInPalettes special RestartMapMusic opentext - writetext UnknownText_0x19b296 + writetext GroomedMonLooksContentText special PlayCurMonCry buttonsound - writetext UnknownText_0x19b2aa + writetext DaisyAllDoneText waitbutton closetext end -UnknownScript_0x19b11e: - writetext UnknownText_0x19b2fa +.AlreadyGroomedMon: + writetext DaisyAlreadyGroomedText waitbutton closetext end -UnknownScript_0x19b124: - writetext UnknownText_0x19b334 +.Refused: + writetext DaisyRefusedText waitbutton closetext end -UnknownScript_0x19b12a: - writetext UnknownText_0x19b377 +.CantGroomEgg: + writetext DaisyCantGroomEggText waitbutton closetext end -UnknownText_0x19b130: +DaisyHelloText: text "DAISY: Hi! My kid" line "brother is the GYM" @@ -79,7 +79,7 @@ UnknownText_0x19b130: line "for the trainers." done -UnknownText_0x19b1b6: +DaisyOfferGroomingText: text "DAISY: Hi! Good" line "timing. I'm about" cont "to have some tea." @@ -94,24 +94,24 @@ UnknownText_0x19b1b6: line "to groom one?" done -UnknownText_0x19b244: +DaisyWhichMonText: text "DAISY: Which one" line "should I groom?" done -UnknownText_0x19b266: +DaisyAlrightText: text "DAISY: OK, I'll" line "get it looking" cont "nice in no time." done -UnknownText_0x19b296: +GroomedMonLooksContentText: text_from_ram StringBuffer3 text " looks" line "content." done -UnknownText_0x19b2aa: +DaisyAllDoneText: text "DAISY: There you" line "go! All done." @@ -122,7 +122,7 @@ UnknownText_0x19b2aa: line "#MON." done -UnknownText_0x19b2fa: +DaisyAlreadyGroomedText: text "DAISY: I always" line "have tea around" @@ -130,7 +130,7 @@ UnknownText_0x19b2fa: line "join me." done -UnknownText_0x19b334: +DaisyRefusedText: text "DAISY: You don't" line "want to have one" @@ -138,7 +138,7 @@ UnknownText_0x19b334: line "just have tea." done -UnknownText_0x19b377: +DaisyCantGroomEggText: text "DAISY: Oh, sorry." line "I honestly can't" cont "groom an EGG." @@ -161,4 +161,4 @@ BluesHouse_MapEventHeader: .PersonEvents: db 1 - person_event SPRITE_DAISY, 3, 2, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, DaisyScript_0x19b0d0, -1 + person_event SPRITE_DAISY, 3, 2, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, DaisyScript, -1 diff --git a/maps/CeladonCity.asm b/maps/CeladonCity.asm index a46e01da5..e1dc6356a 100644 --- a/maps/CeladonCity.asm +++ b/maps/CeladonCity.asm @@ -21,8 +21,8 @@ CeladonCity_MapScriptHeader: setflag ENGINE_FLYPOINT_CELADON return -FisherScript_0x1a9f43: - jumptextfaceplayer UnknownText_0x1a9f7d +CeladonCityFisherScript: + jumptextfaceplayer CeladonCityFisherText CeladonCityPoliwrath: opentext @@ -32,26 +32,26 @@ CeladonCityPoliwrath: closetext end -TeacherScript_0x1a9f50: - jumptextfaceplayer UnknownText_0x1a9fde +CeladonCityTeacher1Script: + jumptextfaceplayer CeladonCityTeacher1Text -GrampsScript_0x1a9f53: - jumptextfaceplayer UnknownText_0x1aa043 +CeladonCityGramps1Script: + jumptextfaceplayer CeladonCityGramps1Text -GrampsScript_0x1a9f56: - jumptextfaceplayer UnknownText_0x1aa0dc +CeladonCityGramps2Script: + jumptextfaceplayer CeladonCityGramps2Text -YoungsterScript_0x1a9f59: - jumptextfaceplayer UnknownText_0x1aa115 +CeladonCityYoungster1Script: + jumptextfaceplayer CeladonCityYoungster1Text -YoungsterScript_0x1a9f5c: - jumptextfaceplayer UnknownText_0x1aa155 +CeladonCityYoungster2Script: + jumptextfaceplayer CeladonCityYoungster2Text -TeacherScript_0x1a9f5f: - jumptextfaceplayer UnknownText_0x1aa1bd +CeladonCityTeacher2Script: + jumptextfaceplayer CeladonCityTeacher2Text -LassScript_0x1a9f62: - jumptextfaceplayer UnknownText_0x1aa306 +CeladonCityLassScript: + jumptextfaceplayer CeladonCityLassText CeladonCitySign: jumptext CeladonCitySignText @@ -77,7 +77,7 @@ CeladonCityPokecenterSign: CeladonCityHiddenPpUp: dwb EVENT_CELADON_CITY_HIDDEN_PP_UP, PP_UP -UnknownText_0x1a9f7d: +CeladonCityFisherText: text "This POLIWRATH is" line "my partner." @@ -90,7 +90,7 @@ CeladonCityPoliwrathText: text "POLIWRATH: Croak!" done -UnknownText_0x1a9fde: +CeladonCityTeacher1Text: text "I lost at the slot" line "machines again…" @@ -101,7 +101,7 @@ UnknownText_0x1a9fde: line "them out too." done -UnknownText_0x1aa043: +CeladonCityGramps1Text: text "GRIMER have been" line "appearing lately." @@ -116,7 +116,7 @@ UnknownText_0x1aa043: cont "a serious problem…" done -UnknownText_0x1aa0dc: +CeladonCityGramps2Text: text "Nihihi! This GYM" line "is great! Only" @@ -124,7 +124,7 @@ UnknownText_0x1aa0dc: line "here!" done -UnknownText_0x1aa115: +CeladonCityYoungster1Text: text "Want to know a" line "secret?" @@ -133,7 +133,7 @@ UnknownText_0x1aa115: cont "door." done -UnknownText_0x1aa155: +CeladonCityYoungster2Text: text "They're holding an" line "eating contest at" cont "the restaurant." @@ -143,7 +143,7 @@ UnknownText_0x1aa155: cont "feel bloated…" done -UnknownText_0x1aa1bd: +CeladonCityTeacher2Text: text "CELADON DEPT.STORE" line "has the biggest" @@ -179,7 +179,7 @@ UnknownText_0x1aa25b: line "KANTO…" done -UnknownText_0x1aa306: +CeladonCityLassText: text "Looking at the" line "ground while I was" @@ -266,12 +266,12 @@ CeladonCity_MapEventHeader: .PersonEvents: db 9 - person_event SPRITE_FISHER, 11, 26, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, FisherScript_0x1a9f43, -1 + person_event SPRITE_FISHER, 11, 26, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, CeladonCityFisherScript, -1 person_event SPRITE_POLIWAG, 11, 27, SPRITEMOVEDATA_POKEMON, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, CeladonCityPoliwrath, -1 - person_event SPRITE_TEACHER, 24, 20, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 2, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, TeacherScript_0x1a9f50, -1 - person_event SPRITE_GRAMPS, 16, 14, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BROWN, PERSONTYPE_SCRIPT, 0, GrampsScript_0x1a9f53, -1 - person_event SPRITE_GRAMPS, 31, 8, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, GrampsScript_0x1a9f56, -1 - person_event SPRITE_YOUNGSTER, 13, 18, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 2, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, YoungsterScript_0x1a9f59, -1 - person_event SPRITE_YOUNGSTER, 33, 24, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, YoungsterScript_0x1a9f5c, -1 - person_event SPRITE_TEACHER, 14, 6, SPRITEMOVEDATA_WANDER, 2, 2, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, TeacherScript_0x1a9f5f, -1 - person_event SPRITE_LASS, 22, 7, SPRITEMOVEDATA_WALK_UP_DOWN, 2, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, LassScript_0x1a9f62, -1 + person_event SPRITE_TEACHER, 24, 20, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 2, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, CeladonCityTeacher1Script, -1 + person_event SPRITE_GRAMPS, 16, 14, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BROWN, PERSONTYPE_SCRIPT, 0, CeladonCityGramps1Script, -1 + person_event SPRITE_GRAMPS, 31, 8, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, CeladonCityGramps2Script, -1 + person_event SPRITE_YOUNGSTER, 13, 18, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 2, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, CeladonCityYoungster1Script, -1 + person_event SPRITE_YOUNGSTER, 33, 24, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, CeladonCityYoungster2Script, -1 + person_event SPRITE_TEACHER, 14, 6, SPRITEMOVEDATA_WANDER, 2, 2, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, CeladonCityTeacher2Script, -1 + person_event SPRITE_LASS, 22, 7, SPRITEMOVEDATA_WALK_UP_DOWN, 2, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, CeladonCityLassScript, -1 diff --git a/maps/CeladonDeptStore1F.asm b/maps/CeladonDeptStore1F.asm index 60fc6064f..d8d1a1411 100644 --- a/maps/CeladonDeptStore1F.asm +++ b/maps/CeladonDeptStore1F.asm @@ -10,14 +10,14 @@ CeladonDeptStore1F_MapScriptHeader: .MapCallbacks: db 0 -ReceptionistScript_0x709e0: - jumptextfaceplayer UnknownText_0x709ef +CeladonDeptStore1FReceptionistScript: + jumptextfaceplayer CeladonDeptStore1FReceptionistText -GentlemanScript_0x709e3: - jumptextfaceplayer UnknownText_0x70a35 +CeladonDeptStore1FGentlemanScript: + jumptextfaceplayer CeladonDeptStore1FGentlemanText -TeacherScript_0x709e6: - jumptextfaceplayer UnknownText_0x70aa9 +CeladonDeptStore1FTeacherScript: + jumptextfaceplayer CeladonDeptStore1FTeacherText CeladonDeptStore1FDirectory: jumptext CeladonDeptStore1FDirectoryText @@ -25,7 +25,7 @@ CeladonDeptStore1FDirectory: CeladonDeptStore1FElevatorButton: jumpstd elevatorbutton -UnknownText_0x709ef: +CeladonDeptStore1FReceptionistText: text "Hello! Welcome to" line "CELADON DEPT." cont "STORE!" @@ -34,7 +34,7 @@ UnknownText_0x709ef: line "on the wall." done -UnknownText_0x70a35: +CeladonDeptStore1FGentlemanText: text "This DEPT.STORE is" line "part of the same" @@ -46,7 +46,7 @@ UnknownText_0x70a35: cont "same time." done -UnknownText_0x70aa9: +CeladonDeptStore1FTeacherText: text "This is my first" line "time here." @@ -94,6 +94,6 @@ CeladonDeptStore1F_MapEventHeader: .PersonEvents: db 3 - person_event SPRITE_RECEPTIONIST, 1, 10, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, ReceptionistScript_0x709e0, -1 - person_event SPRITE_GENTLEMAN, 4, 11, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, 0, PERSONTYPE_SCRIPT, 0, GentlemanScript_0x709e3, -1 - person_event SPRITE_TEACHER, 3, 5, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, TeacherScript_0x709e6, -1 + person_event SPRITE_RECEPTIONIST, 1, 10, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, CeladonDeptStore1FReceptionistScript, -1 + person_event SPRITE_GENTLEMAN, 4, 11, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, 0, PERSONTYPE_SCRIPT, 0, CeladonDeptStore1FGentlemanScript, -1 + person_event SPRITE_TEACHER, 3, 5, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, CeladonDeptStore1FTeacherScript, -1 diff --git a/maps/CeladonDeptStore2F.asm b/maps/CeladonDeptStore2F.asm index f77747aea..c056a7143 100644 --- a/maps/CeladonDeptStore2F.asm +++ b/maps/CeladonDeptStore2F.asm @@ -25,11 +25,11 @@ ClerkScript_0x70bb5: closetext end -PokefanMScript_0x70bbd: - jumptextfaceplayer UnknownText_0x70bc9 +CeladonDeptStore2FPokefanMScript: + jumptextfaceplayer CeladonDeptStore2FPokefanMText -YoungsterScript_0x70bc0: - jumptextfaceplayer UnknownText_0x70c3e +CeladonDeptStore2FYoungsterScript: + jumptextfaceplayer CeladonDeptStore2FYoungsterText CeladonDeptStore2FDirectory: jumptext CeladonDeptStore2FDirectoryText @@ -37,7 +37,7 @@ CeladonDeptStore2FDirectory: CeladonDeptStore2FElevatorButton: jumpstd elevatorbutton -UnknownText_0x70bc9: +CeladonDeptStore2FPokefanMText: text "I just recently" line "became a trainer." @@ -49,7 +49,7 @@ UnknownText_0x70bc9: cont "convenient items." done -UnknownText_0x70c3e: +CeladonDeptStore2FYoungsterText: text "My dad's having a" line "hard time learning" @@ -90,5 +90,5 @@ CeladonDeptStore2F_MapEventHeader: db 4 person_event SPRITE_CLERK, 5, 13, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, ClerkScript_0x70bad, -1 person_event SPRITE_CLERK, 5, 14, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, ClerkScript_0x70bb5, -1 - person_event SPRITE_POKEFAN_M, 2, 5, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, PokefanMScript_0x70bbd, -1 - person_event SPRITE_YOUNGSTER, 2, 6, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, YoungsterScript_0x70bc0, -1 + person_event SPRITE_POKEFAN_M, 2, 5, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, CeladonDeptStore2FPokefanMScript, -1 + person_event SPRITE_YOUNGSTER, 2, 6, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, CeladonDeptStore2FYoungsterScript, -1 diff --git a/maps/CeladonDeptStore3F.asm b/maps/CeladonDeptStore3F.asm index a4ff77955..64437faec 100644 --- a/maps/CeladonDeptStore3F.asm +++ b/maps/CeladonDeptStore3F.asm @@ -19,8 +19,8 @@ ClerkScript_0x70d29: closetext end -YoungsterScript_0x70d31: - jumptextfaceplayer UnknownText_0x70d53 +CeladonDeptStore3FYoungsterScript: + jumptextfaceplayer CeladonDeptStore3FYoungsterText GameboyKidScript_0x70d34: faceplayer @@ -40,8 +40,8 @@ GameboyKidScript_0x70d3f: spriteface CELADONDEPTSTORE3F_GAMEBOY_KID2, DOWN end -SuperNerdScript_0x70d4a: - jumptextfaceplayer UnknownText_0x70e61 +CeladonDeptStore3FSuperNerdScript: + jumptextfaceplayer CeladonDeptStore3FSuperNerdText CeladonDeptStore3FElevatorButton: jumpstd elevatorbutton @@ -49,7 +49,7 @@ CeladonDeptStore3FElevatorButton: CeladonDeptStore3FDirectory: jumptext CeladonDeptStore3FDirectoryText -UnknownText_0x70d53: +CeladonDeptStore3FYoungsterText: text "I can't decide" line "which #MON I" @@ -82,7 +82,7 @@ UnknownText_0x70dc7: cont "ferent #MON!" done -UnknownText_0x70e61: +CeladonDeptStore3FSuperNerdText: text "The TM SHOP sells" line "some rare moves." done @@ -115,7 +115,7 @@ CeladonDeptStore3F_MapEventHeader: .PersonEvents: db 5 person_event SPRITE_CLERK, 1, 7, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, ClerkScript_0x70d29, -1 - person_event SPRITE_YOUNGSTER, 4, 6, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, YoungsterScript_0x70d31, -1 + person_event SPRITE_YOUNGSTER, 4, 6, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, CeladonDeptStore3FYoungsterScript, -1 person_event SPRITE_GAMEBOY_KID, 1, 9, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, GameboyKidScript_0x70d34, -1 person_event SPRITE_GAMEBOY_KID, 1, 10, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, GameboyKidScript_0x70d3f, -1 - person_event SPRITE_SUPER_NERD, 4, 13, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, SuperNerdScript_0x70d4a, -1 + person_event SPRITE_SUPER_NERD, 4, 13, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, CeladonDeptStore3FSuperNerdScript, -1 diff --git a/maps/CeladonDeptStore4F.asm b/maps/CeladonDeptStore4F.asm index 7acaa69db..a31c98015 100644 --- a/maps/CeladonDeptStore4F.asm +++ b/maps/CeladonDeptStore4F.asm @@ -17,11 +17,11 @@ ClerkScript_0x70f0d: closetext end -SuperNerdScript_0x70f15: - jumptextfaceplayer UnknownText_0x70f21 +CeladonDeptStore4FSuperNerdScript: + jumptextfaceplayer CeladonDeptStore4FSuperNerdText -YoungsterScript_0x70f18: - jumptextfaceplayer UnknownText_0x70f55 +CeladonDeptStore4FYoungsterScript: + jumptextfaceplayer CeladonDeptStore4FYoungsterText CeladonDeptStore4FDirectory: jumptext CeladonDeptStore4FDirectoryText @@ -29,13 +29,13 @@ CeladonDeptStore4FDirectory: CeladonDeptStore4FElevatorButton: jumpstd elevatorbutton -UnknownText_0x70f21: +CeladonDeptStore4FSuperNerdText: text "I'm here to buy" line "SURF MAIL to send" cont "to my girlfriend." done -UnknownText_0x70f55: +CeladonDeptStore4FYoungsterText: text "This is the only" line "place where you" @@ -71,5 +71,5 @@ CeladonDeptStore4F_MapEventHeader: .PersonEvents: db 3 person_event SPRITE_CLERK, 5, 13, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, ClerkScript_0x70f0d, -1 - person_event SPRITE_SUPER_NERD, 6, 7, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, SuperNerdScript_0x70f15, -1 - person_event SPRITE_YOUNGSTER, 2, 8, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, YoungsterScript_0x70f18, -1 + person_event SPRITE_SUPER_NERD, 6, 7, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, CeladonDeptStore4FSuperNerdScript, -1 + person_event SPRITE_YOUNGSTER, 2, 8, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, CeladonDeptStore4FYoungsterScript, -1 diff --git a/maps/CeladonDeptStore5F.asm b/maps/CeladonDeptStore5F.asm index 6ee0fce13..d111c0c2c 100644 --- a/maps/CeladonDeptStore5F.asm +++ b/maps/CeladonDeptStore5F.asm @@ -26,14 +26,14 @@ ClerkScript_0x7100c: closetext end -GentlemanScript_0x71014: - jumptextfaceplayer UnknownText_0x71023 +CeladonDeptStore5FGentlemanScript: + jumptextfaceplayer CeladonDeptStore5FGentlemanText -SailorScript_0x71017: - jumptextfaceplayer UnknownText_0x71072 +CeladonDeptStore5FSailorScript: + jumptextfaceplayer CeladonDeptStore5FSailorText -TeacherScript_0x7101a: - jumptextfaceplayer UnknownText_0x710b6 +CeladonDeptStore5FTeacherScript: + jumptextfaceplayer CeladonDeptStore5FTeacherText CeladonDeptStore5FDirectory: jumptext CeladonDeptStore5FDirectoryText @@ -41,7 +41,7 @@ CeladonDeptStore5FDirectory: CeladonDeptStore5FElevatorButton: jumpstd elevatorbutton -UnknownText_0x71023: +CeladonDeptStore5FGentlemanText: text "I want to buy some" line "items that raise" @@ -50,7 +50,7 @@ UnknownText_0x71023: cont "enough money…" done -UnknownText_0x71072: +CeladonDeptStore5FSailorText: text "I want PP UP, so I" line "can raise the PP" @@ -58,7 +58,7 @@ UnknownText_0x71072: line "can't buy it…" done -UnknownText_0x710b6: +CeladonDeptStore5FTeacherText: text "Using items on" line "them makes #-" cont "MON happy." @@ -93,6 +93,6 @@ CeladonDeptStore5F_MapEventHeader: db 5 person_event SPRITE_CLERK, 5, 7, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, ClerkScript_0x71004, -1 person_event SPRITE_CLERK, 5, 8, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, ClerkScript_0x7100c, -1 - person_event SPRITE_GENTLEMAN, 5, 13, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, GentlemanScript_0x71014, -1 - person_event SPRITE_SAILOR, 4, 3, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, SailorScript_0x71017, -1 - person_event SPRITE_TEACHER, 7, 1, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, TeacherScript_0x7101a, -1 + person_event SPRITE_GENTLEMAN, 5, 13, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, CeladonDeptStore5FGentlemanScript, -1 + person_event SPRITE_SAILOR, 4, 3, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, CeladonDeptStore5FSailorScript, -1 + person_event SPRITE_TEACHER, 7, 1, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, CeladonDeptStore5FTeacherScript, -1 diff --git a/maps/CeladonDeptStore6F.asm b/maps/CeladonDeptStore6F.asm index a25b5e591..843946bea 100644 --- a/maps/CeladonDeptStore6F.asm +++ b/maps/CeladonDeptStore6F.asm @@ -14,11 +14,11 @@ CeladonDeptStore6F_MapScriptHeader: changeblock $c, $0, $3 return -SuperNerdScript_0x7117a: - jumptextfaceplayer UnknownText_0x712c7 +CeladonDeptStore6FSuperNerdScript: + jumptextfaceplayer CeladonDeptStore6FSuperNerdText -YoungsterScript_0x7117d: - jumptextfaceplayer UnknownText_0x71310 +CeladonDeptStore6FYoungsterScript: + jumptextfaceplayer CeladonDeptStore6FYoungsterText CeladonVendingMachine: opentext @@ -125,7 +125,7 @@ CeladonVendingNoSpaceText: line "room for stuff…" done -UnknownText_0x712c7: +CeladonDeptStore6FSuperNerdText: text "A vending machine" line "with a prize rou-" cont "lette…" @@ -134,7 +134,7 @@ UnknownText_0x712c7: line "those anymore." done -UnknownText_0x71310: +CeladonDeptStore6FYoungsterText: text "Aww! There's no" line "games here!" @@ -169,5 +169,5 @@ CeladonDeptStore6F_MapEventHeader: .PersonEvents: db 2 - person_event SPRITE_SUPER_NERD, 2, 9, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, SuperNerdScript_0x7117a, -1 - person_event SPRITE_YOUNGSTER, 5, 12, SPRITEMOVEDATA_WANDER, 1, 2, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, YoungsterScript_0x7117d, -1 + person_event SPRITE_SUPER_NERD, 2, 9, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, CeladonDeptStore6FSuperNerdScript, -1 + person_event SPRITE_YOUNGSTER, 5, 12, SPRITEMOVEDATA_WANDER, 1, 2, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, CeladonDeptStore6FYoungsterScript, -1 diff --git a/maps/CeladonGameCorner.asm b/maps/CeladonGameCorner.asm index bd9b9b713..e5223d7db 100644 --- a/maps/CeladonGameCorner.asm +++ b/maps/CeladonGameCorner.asm @@ -19,8 +19,8 @@ CeladonGameCorner_MapScriptHeader: ClerkScript_0x7211d: jumpstd gamecornercoinvendor -ReceptionistScript_0x72120: - jumptextfaceplayer UnknownText_0x721d0 +CeladonGameCornerReceptionistScript: + jumptextfaceplayer CeladonGameCornerReceptionistText PokefanMScript_0x72123: faceplayer @@ -149,7 +149,7 @@ MovementData_0x721cd: turn_head LEFT step_end -UnknownText_0x721d0: +CeladonGameCornerReceptionistText: text "Welcome!" para "You may exchange" @@ -337,7 +337,7 @@ CeladonGameCorner_MapEventHeader: .PersonEvents: db 9 person_event SPRITE_CLERK, 2, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, ClerkScript_0x7211d, -1 - person_event SPRITE_RECEPTIONIST, 2, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, ReceptionistScript_0x72120, -1 + person_event SPRITE_RECEPTIONIST, 2, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, CeladonGameCornerReceptionistScript, -1 person_event SPRITE_POKEFAN_M, 10, 14, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, PokefanMScript_0x72123, -1 person_event SPRITE_TEACHER, 7, 17, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, TeacherScript_0x7212e, -1 person_event SPRITE_FISHING_GURU, 7, 11, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, FishingGuruScript_0x72139, -1 diff --git a/maps/CeladonMansion3F.asm b/maps/CeladonMansion3F.asm index 95ede4ab7..60e636cae 100644 --- a/maps/CeladonMansion3F.asm +++ b/maps/CeladonMansion3F.asm @@ -65,11 +65,11 @@ UnknownScript_0x716b6: closetext end -SuperNerdScript_0x716bc: - jumptextfaceplayer UnknownText_0x71895 +CeladonMansion3FSuperNerdScript: + jumptextfaceplayer CeladonMansion3FSuperNerdText -FisherScript_0x716bf: - jumptextfaceplayer UnknownText_0x718ca +CeladonMansion3FFisherScript: + jumptextfaceplayer CeladonMansion3FFisherText MapCeladonMansion3FSignpost0Script: jumptext UnknownText_0x7190b @@ -145,7 +145,7 @@ UnknownText_0x71863: cont "cel printing." done -UnknownText_0x71895: +CeladonMansion3FSuperNerdText: text "Who, me? I'm the" line "PROGRAMMER." @@ -153,7 +153,7 @@ UnknownText_0x71895: line "machines!" done -UnknownText_0x718ca: +CeladonMansion3FFisherText: text "Aren't the TWINS" line "adorable?" @@ -214,5 +214,5 @@ CeladonMansion3F_MapEventHeader: db 4 person_event SPRITE_COOLTRAINER_M, 6, 3, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, CooltrainerMScript_0x71670, -1 person_event SPRITE_GYM_GUY, 4, 3, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, GymGuyScript_0x71696, -1 - person_event SPRITE_SUPER_NERD, 7, 0, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, SuperNerdScript_0x716bc, -1 - person_event SPRITE_FISHER, 4, 0, SPRITEMOVEDATA_STANDING_UP, 0, 2, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, FisherScript_0x716bf, -1 + person_event SPRITE_SUPER_NERD, 7, 0, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, CeladonMansion3FSuperNerdScript, -1 + person_event SPRITE_FISHER, 4, 0, SPRITEMOVEDATA_STANDING_UP, 0, 2, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, CeladonMansion3FFisherScript, -1 diff --git a/maps/CeladonMansionRoof.asm b/maps/CeladonMansionRoof.asm index 07ac72267..8857e93c9 100644 --- a/maps/CeladonMansionRoof.asm +++ b/maps/CeladonMansionRoof.asm @@ -8,13 +8,13 @@ CeladonMansionRoof_MapScriptHeader: .MapCallbacks: db 0 -FisherScript_0x71a39: - jumptextfaceplayer UnknownText_0x71a3f +CeladonMansionRoofFisherScript: + jumptextfaceplayer CeladonMansionRoofFisherText MapCeladonMansionRoofSignpost0Script: jumptext UnknownText_0x71aa1 -UnknownText_0x71a3f: +CeladonMansionRoofFisherText: text "High places--I do" line "love them so!" @@ -52,4 +52,4 @@ CeladonMansionRoof_MapEventHeader: .PersonEvents: db 1 - person_event SPRITE_FISHER, 5, 7, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, FisherScript_0x71a39, -1 + person_event SPRITE_FISHER, 5, 7, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, CeladonMansionRoofFisherScript, -1 diff --git a/maps/CeladonPokecenter1F.asm b/maps/CeladonPokecenter1F.asm index 03912f623..086de9a86 100644 --- a/maps/CeladonPokecenter1F.asm +++ b/maps/CeladonPokecenter1F.asm @@ -18,11 +18,11 @@ NurseScript_0x71e22: GentlemanScript_0x71e25: jumpstd happinesschecknpc -CooltrainerFScript_0x71e28: - jumptextfaceplayer UnknownText_0x71e70 +CeladonPokecenter1FCooltrainerFScript: + jumptextfaceplayer CeladonPokecenter1FCooltrainerFText -PharmacistScript_0x71e2b: - jumptextfaceplayer UnknownText_0x71ec1 +CeladonPokecenter1FPharmacistScript: + jumptextfaceplayer CeladonPokecenter1FPharmacistText CeladonEusine: faceplayer @@ -72,7 +72,7 @@ CeladonEusine: step DOWN step_end -UnknownText_0x71e70: +CeladonPokecenter1FCooltrainerFText: text "ERIKA is a master" line "of grass #MON." @@ -81,7 +81,7 @@ UnknownText_0x71e70: cont "watch yourself." done -UnknownText_0x71ec1: +CeladonPokecenter1FPharmacistText: text "TEAM ROCKET's" line "hideout is in the" @@ -165,6 +165,6 @@ CeladonPokecenter1F_MapEventHeader: db 5 person_event SPRITE_NURSE, 1, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, NurseScript_0x71e22, -1 person_event SPRITE_GENTLEMAN, 5, 1, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, 0, PERSONTYPE_SCRIPT, 0, GentlemanScript_0x71e25, -1 - person_event SPRITE_PHARMACIST, 3, 0, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, PharmacistScript_0x71e2b, -1 - person_event SPRITE_COOLTRAINER_F, 6, 8, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, CooltrainerFScript_0x71e28, -1 + person_event SPRITE_PHARMACIST, 3, 0, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, CeladonPokecenter1FPharmacistScript, -1 + person_event SPRITE_COOLTRAINER_F, 6, 8, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, CeladonPokecenter1FCooltrainerFScript, -1 person_event SPRITE_SUPER_NERD, 3, 4, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, CeladonEusine, EVENT_SET_WHEN_FOUGHT_HO_OH diff --git a/maps/CeruleanCity.asm b/maps/CeruleanCity.asm index 9c781cb43..af29f796c 100644 --- a/maps/CeruleanCity.asm +++ b/maps/CeruleanCity.asm @@ -34,8 +34,8 @@ UnknownScript_0x184017: closetext end -SuperNerdScript_0x18401d: - jumptextfaceplayer UnknownText_0x1841a8 +CeruleanCitySuperNerdScript: + jumptextfaceplayer CeruleanCitySuperNerdText CeruleanCitySlowbro: opentext @@ -174,7 +174,7 @@ UnknownText_0x184144: cont "it sounds fun too." done -UnknownText_0x1841a8: +CeruleanCitySuperNerdText: text "The CAPE in the" line "north is a good" @@ -306,7 +306,7 @@ CeruleanCity_MapEventHeader: .PersonEvents: db 6 person_event SPRITE_COOLTRAINER_M, 23, 15, SPRITEMOVEDATA_WANDER, 2, 2, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, CooltrainerMScript_0x184009, -1 - person_event SPRITE_SUPER_NERD, 15, 23, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, SuperNerdScript_0x18401d, -1 + person_event SPRITE_SUPER_NERD, 15, 23, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, CeruleanCitySuperNerdScript, -1 person_event SPRITE_SLOWPOKE, 24, 20, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, CeruleanCitySlowbro, -1 person_event SPRITE_COOLTRAINER_F, 24, 21, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, CooltrainerFScript_0x18402a, -1 person_event SPRITE_FISHER, 26, 30, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, FisherScript_0x18404a, -1 diff --git a/maps/CeruleanGymBadgeSpeechHouse.asm b/maps/CeruleanGymBadgeSpeechHouse.asm index c6cdd60ac..2eae4d404 100644 --- a/maps/CeruleanGymBadgeSpeechHouse.asm +++ b/maps/CeruleanGymBadgeSpeechHouse.asm @@ -8,10 +8,10 @@ CeruleanGymBadgeSpeechHouse_MapScriptHeader: .MapCallbacks: db 0 -PokefanMScript_0x188002: - jumptextfaceplayer UnknownText_0x188005 +CeruleanGymBadgeSpeechHousePokefanMScript: + jumptextfaceplayer CeruleanGymBadgeSpeechHousePokefanMText -UnknownText_0x188005: +CeruleanGymBadgeSpeechHousePokefanMText: text "Are you collecting" line "KANTO GYM BADGES?" done @@ -33,4 +33,4 @@ CeruleanGymBadgeSpeechHouse_MapEventHeader: .PersonEvents: db 1 - person_event SPRITE_POKEFAN_M, 3, 2, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, PokefanMScript_0x188002, -1 + person_event SPRITE_POKEFAN_M, 3, 2, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, CeruleanGymBadgeSpeechHousePokefanMScript, -1 diff --git a/maps/CeruleanPokecenter1F.asm b/maps/CeruleanPokecenter1F.asm index 7933c6386..75990c9c8 100644 --- a/maps/CeruleanPokecenter1F.asm +++ b/maps/CeruleanPokecenter1F.asm @@ -21,8 +21,8 @@ SuperNerdScript_0x188212: .mobile jumptextfaceplayer UnknownText_0x18828c -GymGuyScript_0x18821e: - jumptextfaceplayer UnknownText_0x1882ff +CeruleanPokecenter1FGymGuyScript: + jumptextfaceplayer CeruleanPokecenter1FGymGuyText UnknownText_0x188221: text "For battles, I'd" @@ -48,7 +48,7 @@ UnknownText_0x18828c: cont "nerve wracking." done -UnknownText_0x1882ff: +CeruleanPokecenter1FGymGuyText: text "The MAGNET TRAIN" line "travels at over" @@ -82,4 +82,4 @@ CeruleanPokecenter1F_MapEventHeader: db 3 person_event SPRITE_NURSE, 1, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, NurseScript_0x18820f, -1 person_event SPRITE_SUPER_NERD, 4, 8, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, 0, PERSONTYPE_SCRIPT, 0, SuperNerdScript_0x188212, -1 - person_event SPRITE_GYM_GUY, 5, 1, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, GymGuyScript_0x18821e, -1 + person_event SPRITE_GYM_GUY, 5, 1, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, CeruleanPokecenter1FGymGuyScript, -1 diff --git a/maps/CeruleanPoliceStation.asm b/maps/CeruleanPoliceStation.asm index 452f35444..219efdca5 100644 --- a/maps/CeruleanPoliceStation.asm +++ b/maps/CeruleanPoliceStation.asm @@ -10,11 +10,11 @@ CeruleanPoliceStation_MapScriptHeader: .MapCallbacks: db 0 -FishingGuruScript_0x18804a: - jumptextfaceplayer UnknownText_0x18805a +CeruleanPoliceStationFishingGuruScript: + jumptextfaceplayer CeruleanPoliceStationFishingGuruText -PokefanFScript_0x18804d: - jumptextfaceplayer UnknownText_0x1880c3 +CeruleanPoliceStationPokefanFScript: + jumptextfaceplayer CeruleanPoliceStationPokefanFText CeruleanDiglett: opentext @@ -24,7 +24,7 @@ CeruleanDiglett: closetext end -UnknownText_0x18805a: +CeruleanPoliceStationFishingGuruText: text "I heard that some" line "shady character is" cont "skulking about." @@ -34,7 +34,7 @@ UnknownText_0x18805a: cont "to be a thief." done -UnknownText_0x1880c3: +CeruleanPoliceStationPokefanFText: text "We were held up by" line "robbers before." done @@ -60,6 +60,6 @@ CeruleanPoliceStation_MapEventHeader: .PersonEvents: db 3 - person_event SPRITE_FISHING_GURU, 1, 5, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, FishingGuruScript_0x18804a, -1 - person_event SPRITE_POKEFAN_F, 4, 5, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, PokefanFScript_0x18804d, -1 + person_event SPRITE_FISHING_GURU, 1, 5, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, CeruleanPoliceStationFishingGuruScript, -1 + person_event SPRITE_POKEFAN_F, 4, 5, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, CeruleanPoliceStationPokefanFScript, -1 person_event SPRITE_DIGLETT, 5, 3, SPRITEMOVEDATA_POKEMON, 0, 0, -1, -1, PAL_NPC_BROWN, PERSONTYPE_SCRIPT, 0, CeruleanDiglett, -1 diff --git a/maps/CeruleanTradeSpeechHouse.asm b/maps/CeruleanTradeSpeechHouse.asm index 13c4b86ca..617f443e5 100644 --- a/maps/CeruleanTradeSpeechHouse.asm +++ b/maps/CeruleanTradeSpeechHouse.asm @@ -11,11 +11,11 @@ CeruleanTradeSpeechHouse_MapScriptHeader: .MapCallbacks: db 0 -GrannyScript_0x188133: - jumptextfaceplayer UnknownText_0x18814d +CeruleanTradeSpeechHouseGrannyScript: + jumptextfaceplayer CeruleanTradeSpeechHouseGrannyText -GrampsScript_0x188136: - jumptextfaceplayer UnknownText_0x18818a +CeruleanTradeSpeechHouseGrampsScript: + jumptextfaceplayer CeruleanTradeSpeechHouseGrampsText RhydonScript_0x188139: opentext @@ -33,14 +33,14 @@ ZubatScript_0x188143: closetext end -UnknownText_0x18814d: +CeruleanTradeSpeechHouseGrannyText: text "My husband lives" line "happily with #-" cont "MON he got through" cont "trades." done -UnknownText_0x18818a: +CeruleanTradeSpeechHouseGrampsText: text "Ah… I'm so happy…" done @@ -70,7 +70,7 @@ CeruleanTradeSpeechHouse_MapEventHeader: .PersonEvents: db 4 - person_event SPRITE_GRANNY, 4, 2, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, GrannyScript_0x188133, -1 - person_event SPRITE_GRAMPS, 2, 1, SPRITEMOVEDATA_WANDER, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, GrampsScript_0x188136, -1 + person_event SPRITE_GRANNY, 4, 2, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, CeruleanTradeSpeechHouseGrannyScript, -1 + person_event SPRITE_GRAMPS, 2, 1, SPRITEMOVEDATA_WANDER, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, CeruleanTradeSpeechHouseGrampsScript, -1 person_event SPRITE_RHYDON, 2, 5, SPRITEMOVEDATA_POKEMON, 0, 0, -1, -1, PAL_NPC_BROWN, PERSONTYPE_SCRIPT, 0, RhydonScript_0x188139, -1 person_event SPRITE_ZUBAT, 6, 5, SPRITEMOVEDATA_POKEMON, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, ZubatScript_0x188143, -1 diff --git a/maps/CherrygroveGymSpeechHouse.asm b/maps/CherrygroveGymSpeechHouse.asm index fdc765707..9b918fc92 100644 --- a/maps/CherrygroveGymSpeechHouse.asm +++ b/maps/CherrygroveGymSpeechHouse.asm @@ -9,16 +9,16 @@ CherrygroveGymSpeechHouse_MapScriptHeader: .MapCallbacks: db 0 -PokefanMScript_0x196ae1: - jumptextfaceplayer UnknownText_0x196aea +CherrygroveGymSpeechHousePokefanMScript: + jumptextfaceplayer CherrygroveGymSpeechHousePokefanMText -BugCatcherScript_0x196ae4: - jumptextfaceplayer UnknownText_0x196b65 +CherrygroveGymSpeechHouseBugCatcherScript: + jumptextfaceplayer CherrygroveGymSpeechHouseBugCatcherText CherrygroveGymSpeechHouseBookshelf: jumpstd picturebookshelf -UnknownText_0x196aea: +CherrygroveGymSpeechHousePokefanMText: text "You're trying to" line "see how good you" @@ -32,7 +32,7 @@ UnknownText_0x196aea: line "collect BADGES." done -UnknownText_0x196b65: +CherrygroveGymSpeechHouseBugCatcherText: text "When I get older," line "I'm going to be a" cont "GYM LEADER!" @@ -63,5 +63,5 @@ CherrygroveGymSpeechHouse_MapEventHeader: .PersonEvents: db 2 - person_event SPRITE_POKEFAN_M, 3, 2, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, PokefanMScript_0x196ae1, -1 - person_event SPRITE_BUG_CATCHER, 5, 5, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, BugCatcherScript_0x196ae4, -1 + person_event SPRITE_POKEFAN_M, 3, 2, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, CherrygroveGymSpeechHousePokefanMScript, -1 + person_event SPRITE_BUG_CATCHER, 5, 5, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, CherrygroveGymSpeechHouseBugCatcherScript, -1 diff --git a/maps/CherrygroveMart.asm b/maps/CherrygroveMart.asm index 99e15d905..34e5da5f1 100644 --- a/maps/CherrygroveMart.asm +++ b/maps/CherrygroveMart.asm @@ -39,8 +39,8 @@ UnknownScript_0x19682b: closetext end -YoungsterScript_0x196831: - jumptextfaceplayer UnknownText_0x1968a0 +CherrygroveMartYoungsterScript: + jumptextfaceplayer CherrygroveMartYoungsterText UnknownText_0x196834: text "They're fresh out" @@ -56,7 +56,7 @@ UnknownText_0x196873: cont "catch #MON!" done -UnknownText_0x1968a0: +CherrygroveMartYoungsterText: text "When I was walking" line "in the grass, a" @@ -90,4 +90,4 @@ CherrygroveMart_MapEventHeader: db 3 person_event SPRITE_CLERK, 3, 1, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, ClerkScript_0x19680a, -1 person_event SPRITE_COOLTRAINER_M, 6, 7, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 2, -1, -1, 0, PERSONTYPE_SCRIPT, 0, CooltrainerMScript_0x19681d, -1 - person_event SPRITE_YOUNGSTER, 5, 2, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, YoungsterScript_0x196831, -1 + person_event SPRITE_YOUNGSTER, 5, 2, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, CherrygroveMartYoungsterScript, -1 diff --git a/maps/CherrygrovePokecenter1F.asm b/maps/CherrygrovePokecenter1F.asm index e3c9893fa..0a03ba707 100644 --- a/maps/CherrygrovePokecenter1F.asm +++ b/maps/CherrygrovePokecenter1F.asm @@ -14,11 +14,11 @@ CherrygrovePokecenter1F_MapScriptHeader: NurseScript_0x19696d: jumpstd pokecenternurse -FisherScript_0x196970: - jumptextfaceplayer UnknownText_0x19698a +CherrygrovePokecenter1FFisherScript: + jumptextfaceplayer CherrygrovePokecenter1FFisherText -GentlemanScript_0x196973: - jumptextfaceplayer UnknownText_0x1969c8 +CherrygrovePokecenter1FGentlemanScript: + jumptextfaceplayer CherrygrovePokecenter1FGentlemanText TeacherScript_0x196976: faceplayer @@ -36,7 +36,7 @@ UnknownScript_0x196984: closetext end -UnknownText_0x19698a: +CherrygrovePokecenter1FFisherText: text "It's great. I can" line "store any number" @@ -44,7 +44,7 @@ UnknownText_0x19698a: line "it's all free." done -UnknownText_0x1969c8: +CherrygrovePokecenter1FGentlemanText: text "That PC is free" line "for any trainer" cont "to use." @@ -87,6 +87,6 @@ CherrygrovePokecenter1F_MapEventHeader: .PersonEvents: db 4 person_event SPRITE_NURSE, 1, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, NurseScript_0x19696d, -1 - person_event SPRITE_FISHER, 3, 2, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, FisherScript_0x196970, -1 - person_event SPRITE_GENTLEMAN, 6, 8, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, GentlemanScript_0x196973, -1 + person_event SPRITE_FISHER, 3, 2, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, CherrygrovePokecenter1FFisherScript, -1 + person_event SPRITE_GENTLEMAN, 6, 8, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, CherrygrovePokecenter1FGentlemanScript, -1 person_event SPRITE_TEACHER, 6, 1, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, TeacherScript_0x196976, -1 diff --git a/maps/CianwoodCity.asm b/maps/CianwoodCity.asm index eb2036ece..80aac3499 100644 --- a/maps/CianwoodCity.asm +++ b/maps/CianwoodCity.asm @@ -120,8 +120,8 @@ CianwoodCityPokefanM: CianwoodCityLass: jumptextfaceplayer CianwoodCityLassText -UnknownScript_0x1a00bc: - jumptextfaceplayer UnknownText_0x1a03cc +CianwoodCityUnknownScript: + jumptextfaceplayer CianwoodCityUnknownText CianwoodCitySign: jumptext CianwoodCitySignText @@ -267,7 +267,7 @@ CianwoodCityLassText: done ; possibly unused -UnknownText_0x1a03cc: +CianwoodCityUnknownText: text "There are several" line "islands between" cont "here and OLIVINE." diff --git a/maps/CianwoodLugiaSpeechHouse.asm b/maps/CianwoodLugiaSpeechHouse.asm index 9faa5e897..5e136bf71 100644 --- a/maps/CianwoodLugiaSpeechHouse.asm +++ b/maps/CianwoodLugiaSpeechHouse.asm @@ -10,19 +10,19 @@ CianwoodLugiaSpeechHouse_MapScriptHeader: .MapCallbacks: db 0 -TeacherScript_0x9e1b0: - jumptextfaceplayer UnknownText_0x9e1bc +CianwoodLugiaSpeechHouseTeacherScript: + jumptextfaceplayer CianwoodLugiaSpeechHouseTeacherText -LassScript_0x9e1b3: - jumptextfaceplayer UnknownText_0x9e23f +CianwoodLugiaSpeechHouseLassScript: + jumptextfaceplayer CianwoodLugiaSpeechHouseLassText -TwinScript_0x9e1b6: - jumptextfaceplayer UnknownText_0x9e2a9 +CianwoodLugiaSpeechHouseTwinScript: + jumptextfaceplayer CianwoodLugiaSpeechHouseTwinText CianwoodLugiaSpeechHouseBookshelf: jumpstd picturebookshelf -UnknownText_0x9e1bc: +CianwoodLugiaSpeechHouseTeacherText: text "You came from" line "OLIVINE?" @@ -36,7 +36,7 @@ UnknownText_0x9e1bc: cont "them." done -UnknownText_0x9e23f: +CianwoodLugiaSpeechHouseLassText: text "I heard that you" line "can only see it if" @@ -48,7 +48,7 @@ UnknownText_0x9e23f: cont "creature." done -UnknownText_0x9e2a9: +CianwoodLugiaSpeechHouseTwinText: text "I've heard that" line "the whirlpools" @@ -80,6 +80,6 @@ CianwoodLugiaSpeechHouse_MapEventHeader: .PersonEvents: db 3 - person_event SPRITE_TEACHER, 4, 2, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, TeacherScript_0x9e1b0, -1 - person_event SPRITE_LASS, 5, 6, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, LassScript_0x9e1b3, -1 - person_event SPRITE_TWIN, 2, 0, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, TwinScript_0x9e1b6, -1 + person_event SPRITE_TEACHER, 4, 2, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, CianwoodLugiaSpeechHouseTeacherScript, -1 + person_event SPRITE_LASS, 5, 6, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, CianwoodLugiaSpeechHouseLassScript, -1 + person_event SPRITE_TWIN, 2, 0, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, CianwoodLugiaSpeechHouseTwinScript, -1 diff --git a/maps/CianwoodPokecenter1F.asm b/maps/CianwoodPokecenter1F.asm index 4671836b7..bcc8e1256 100644 --- a/maps/CianwoodPokecenter1F.asm +++ b/maps/CianwoodPokecenter1F.asm @@ -14,8 +14,8 @@ CianwoodPokecenter1F_MapScriptHeader: NurseScript_0x9dbcf: jumpstd pokecenternurse -LassScript_0x9dbd2: - jumptextfaceplayer UnknownText_0x9dbed +CianwoodPokecenter1FLassScript: + jumptextfaceplayer CianwoodPokecenter1FLassText CianwoodGymGuyScript: faceplayer @@ -34,10 +34,10 @@ CianwoodGymGuyScript: closetext end -SuperNerdScript_0x9dbea: - jumptextfaceplayer UnknownText_0x9ded7 +CianwoodPokecenter1FSuperNerdScript: + jumptextfaceplayer CianwoodPokecenter1FSuperNerdText -UnknownText_0x9dbed: +CianwoodPokecenter1FLassText: text "Did you meet the" line "#MANIAC?" @@ -117,7 +117,7 @@ UnknownText_0x9de66: cont "gotta crank it up!" done -UnknownText_0x9ded7: +CianwoodPokecenter1FSuperNerdText: text "I love showing off" line "the #MON that" @@ -150,6 +150,6 @@ CianwoodPokecenter1F_MapEventHeader: .PersonEvents: db 4 person_event SPRITE_NURSE, 1, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, NurseScript_0x9dbcf, -1 - person_event SPRITE_LASS, 5, 1, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, LassScript_0x9dbd2, -1 + person_event SPRITE_LASS, 5, 1, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, CianwoodPokecenter1FLassScript, -1 person_event SPRITE_GYM_GUY, 3, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, CianwoodGymGuyScript, -1 - person_event SPRITE_SUPER_NERD, 6, 8, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, SuperNerdScript_0x9dbea, -1 + person_event SPRITE_SUPER_NERD, 6, 8, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, CianwoodPokecenter1FSuperNerdScript, -1 diff --git a/maps/CinnabarPokecenter1F.asm b/maps/CinnabarPokecenter1F.asm index 97f240011..151b76b3e 100644 --- a/maps/CinnabarPokecenter1F.asm +++ b/maps/CinnabarPokecenter1F.asm @@ -13,13 +13,13 @@ CinnabarPokecenter1F_MapScriptHeader: NurseScript_0x1ab32c: jumpstd pokecenternurse -CooltrainerFScript_0x1ab32f: - jumptextfaceplayer UnknownText_0x1ab335 +CinnabarPokecenter1FCooltrainerFScript: + jumptextfaceplayer CinnabarPokecenter1FCooltrainerFText -FisherScript_0x1ab332: - jumptextfaceplayer UnknownText_0x1ab37f +CinnabarPokecenter1FFisherScript: + jumptextfaceplayer CinnabarPokecenter1FFisherText -UnknownText_0x1ab335: +CinnabarPokecenter1FCooltrainerFText: text "CINNABAR GYM's" line "BLAINE apparently" @@ -28,7 +28,7 @@ UnknownText_0x1ab335: cont "cave…" done -UnknownText_0x1ab37f: +CinnabarPokecenter1FFisherText: text "It's been a year" line "since the volcano" cont "erupted." @@ -53,5 +53,5 @@ CinnabarPokecenter1F_MapEventHeader: .PersonEvents: db 3 person_event SPRITE_NURSE, 1, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, NurseScript_0x1ab32c, -1 - person_event SPRITE_COOLTRAINER_F, 6, 7, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 2, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, CooltrainerFScript_0x1ab32f, -1 - person_event SPRITE_FISHER, 4, 2, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, FisherScript_0x1ab332, -1 + person_event SPRITE_COOLTRAINER_F, 6, 7, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 2, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, CinnabarPokecenter1FCooltrainerFScript, -1 + person_event SPRITE_FISHER, 4, 2, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, CinnabarPokecenter1FFisherScript, -1 diff --git a/maps/CopycatsHouse1F.asm b/maps/CopycatsHouse1F.asm index af89fb903..8449b41bb 100644 --- a/maps/CopycatsHouse1F.asm +++ b/maps/CopycatsHouse1F.asm @@ -10,8 +10,8 @@ CopycatsHouse1F_MapScriptHeader: .MapCallbacks: db 0 -PokefanMScript_0x18ad13: - jumptextfaceplayer UnknownText_0x18ad34 +CopycatsHouse1FPokefanMScript: + jumptextfaceplayer CopycatsHouse1FPokefanMText PokefanFScript_0x18ad16: faceplayer @@ -37,7 +37,7 @@ ClefairyScript_0x18ad2a: closetext end -UnknownText_0x18ad34: +CopycatsHouse1FPokefanMText: text "My daughter likes" line "to mimic people." @@ -90,6 +90,6 @@ CopycatsHouse1F_MapEventHeader: .PersonEvents: db 3 - person_event SPRITE_POKEFAN_M, 3, 2, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, PokefanMScript_0x18ad13, -1 + person_event SPRITE_POKEFAN_M, 3, 2, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, CopycatsHouse1FPokefanMScript, -1 person_event SPRITE_POKEFAN_F, 4, 5, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, PokefanFScript_0x18ad16, -1 person_event SPRITE_CLEFAIRY, 6, 6, SPRITEMOVEDATA_POKEMON, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, ClefairyScript_0x18ad2a, -1 diff --git a/maps/DanceTheatre.asm b/maps/DanceTheatre.asm index f2e5aea81..746428ba9 100644 --- a/maps/DanceTheatre.asm +++ b/maps/DanceTheatre.asm @@ -128,11 +128,11 @@ RhydonScript_0x9951b: closetext end -CooltrainerMScript_0x99525: - jumptextfaceplayer UnknownText_0x99a24 +DanceTheatreCooltrainerMScript: + jumptextfaceplayer DanceTheatreCooltrainerMText -GrannyScript_0x99528: - jumptextfaceplayer UnknownText_0x99aaa +DanceTheatreGrannyScript: + jumptextfaceplayer DanceTheatreGrannyText MapDanceTheatreSignpost1Script: jumptext UnknownText_0x99b79 @@ -298,7 +298,7 @@ UnknownText_0x99a0a: line "gugogooh!" done -UnknownText_0x99a24: +DanceTheatreCooltrainerMText: text "That man's always" line "with his RHYDON." @@ -312,7 +312,7 @@ UnknownText_0x99a24: cont "#MON?" done -UnknownText_0x99aaa: +DanceTheatreGrannyText: text "The KIMONO GIRLS" line "are so beautiful…" @@ -363,5 +363,5 @@ DanceTheatre_MapEventHeader: person_event SPRITE_KIMONO_GIRL, 2, 11, SPRITEMOVEDATA_SPINCLOCKWISE, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_TRAINER, 0, TrainerKimono_girlMiki, -1 person_event SPRITE_GENTLEMAN, 10, 7, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, GentlemanScript_0x994c6, -1 person_event SPRITE_RHYDON, 8, 6, SPRITEMOVEDATA_POKEMON, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, RhydonScript_0x9951b, -1 - person_event SPRITE_COOLTRAINER_M, 10, 10, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, CooltrainerMScript_0x99525, -1 - person_event SPRITE_GRANNY, 6, 3, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, GrannyScript_0x99528, -1 + person_event SPRITE_COOLTRAINER_M, 10, 10, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, DanceTheatreCooltrainerMScript, -1 + person_event SPRITE_GRANNY, 6, 3, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, DanceTheatreGrannyScript, -1 diff --git a/maps/DiglettsCave.asm b/maps/DiglettsCave.asm index 88aa1e90b..230610df5 100644 --- a/maps/DiglettsCave.asm +++ b/maps/DiglettsCave.asm @@ -8,14 +8,14 @@ DiglettsCave_MapScriptHeader: .MapCallbacks: db 0 -PokefanMScript_0x74002: - jumptextfaceplayer UnknownText_0x74008 +DiglettsCavePokefanMScript: + jumptextfaceplayer DiglettsCavePokefanMText DiglettsCaveHiddenMaxRevive: dwb EVENT_DIGLETTS_CAVE_HIDDEN_MAX_REVIVE, MAX_REVIVE -UnknownText_0x74008: +DiglettsCavePokefanMText: text "A bunch of DIGLETT" line "popped out of the" @@ -45,4 +45,4 @@ DiglettsCave_MapEventHeader: .PersonEvents: db 1 - person_event SPRITE_POKEFAN_M, 31, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, PokefanMScript_0x74002, -1 + person_event SPRITE_POKEFAN_M, 31, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, DiglettsCavePokefanMScript, -1 diff --git a/maps/EarlsPokemonAcademy.asm b/maps/EarlsPokemonAcademy.asm index 91d9689ef..db5b79f9a 100644 --- a/maps/EarlsPokemonAcademy.asm +++ b/maps/EarlsPokemonAcademy.asm @@ -38,8 +38,8 @@ AcademyEarl: closetext end -YoungsterScript_0x68a83: - jumptextfaceplayer UnknownText_0x68d80 +EarlsPokemonAcademyYoungster1Script: + jumptextfaceplayer EarlsPokemonAcademyYoungster1Text GameboyKidScript_0x68a86: faceplayer @@ -59,8 +59,8 @@ GameboyKidScript_0x68a91: spriteface EARLSPOKEMONACADEMY_GAMEBOY_KID2, DOWN end -YoungsterScript_0x68a9c: - jumptextfaceplayer UnknownText_0x68e39 +EarlsPokemonAcademyYoungster2Script: + jumptextfaceplayer EarlsPokemonAcademyYoungster2Text AcademyBlackboard: opentext @@ -231,7 +231,7 @@ UnknownText_0x68d31: line "you must be!" done -UnknownText_0x68d80: +EarlsPokemonAcademyYoungster1Text: text "I'm taking notes" line "of the teacher's" cont "lecture." @@ -253,7 +253,7 @@ UnknownText_0x68e07: cont "ing something!" done -UnknownText_0x68e39: +EarlsPokemonAcademyYoungster2Text: text "A #MON holding" line "a BERRY will heal" cont "itself in battle." @@ -434,8 +434,8 @@ EarlsPokemonAcademy_MapEventHeader: .PersonEvents: db 6 person_event SPRITE_FISHER, 2, 4, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, AcademyEarl, EVENT_EARLS_ACADEMY_EARL - person_event SPRITE_YOUNGSTER, 5, 2, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, YoungsterScript_0x68a83, -1 + person_event SPRITE_YOUNGSTER, 5, 2, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, EarlsPokemonAcademyYoungster1Script, -1 person_event SPRITE_GAMEBOY_KID, 11, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, GameboyKidScript_0x68a86, -1 person_event SPRITE_GAMEBOY_KID, 11, 4, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, GameboyKidScript_0x68a91, -1 - person_event SPRITE_YOUNGSTER, 7, 4, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, YoungsterScript_0x68a9c, -1 + person_event SPRITE_YOUNGSTER, 7, 4, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, EarlsPokemonAcademyYoungster2Script, -1 person_event SPRITE_POKEDEX, 4, 2, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, AcademyNotebook, -1 diff --git a/maps/EcruteakCity.asm b/maps/EcruteakCity.asm index 9e2c8fa08..8d742d07a 100644 --- a/maps/EcruteakCity.asm +++ b/maps/EcruteakCity.asm @@ -19,17 +19,17 @@ EcruteakCity_MapScriptHeader: setflag ENGINE_FLYPOINT_ECRUTEAK return -GrampsScript_0x1a4009: - jumptextfaceplayer UnknownText_0x1a4105 +EcruteakCityGramps1Script: + jumptextfaceplayer EcruteakCityGramps1Text -GrampsScript_0x1a400c: - jumptextfaceplayer UnknownText_0x1a4147 +EcruteakCityGramps2Script: + jumptextfaceplayer EcruteakCityGramps2Text -GrampsScript_0x1a400f: - jumptextfaceplayer UnknownText_0x1a43cb +EcruteakCityGramps3Script: + jumptextfaceplayer EcruteakCityGramps3Text -LassScript_0x1a4012: - jumptextfaceplayer UnknownText_0x1a41db +EcruteakCityLassScript: + jumptextfaceplayer EcruteakCityLassText LassScript_0x1a4015: faceplayer @@ -63,8 +63,8 @@ UnknownScript_0x1a4037: closetext end -YoungsterScript_0x1a403d: - jumptextfaceplayer UnknownText_0x1a4386 +EcruteakCityYoungsterScript: + jumptextfaceplayer EcruteakCityYoungsterText EcruteakCitySign: jumptext EcruteakCitySignText @@ -111,7 +111,7 @@ UnusedMissingDaughterText: line "do…?" done -UnknownText_0x1a4105: +EcruteakCityGramps1Text: text "ECRUTEAK used to" line "have two towers:" @@ -119,7 +119,7 @@ UnknownText_0x1a4105: line "east and west." done -UnknownText_0x1a4147: +EcruteakCityGramps2Text: text "Ah, child." line "Have you learned" @@ -134,7 +134,7 @@ UnknownText_0x1a4147: cont "nice, I hear." done -UnknownText_0x1a41db: +EcruteakCityLassText: text "I'm going to prac-" line "tice at the DANCE" @@ -181,7 +181,7 @@ UnknownText_0x1a4325: cont "night again." done -UnknownText_0x1a4386: +EcruteakCityYoungsterText: text "I hear #MON are" line "rampaging at the" @@ -189,7 +189,7 @@ UnknownText_0x1a4386: line "like to see that." done -UnknownText_0x1a43cb: +EcruteakCityGramps3Text: text "In the distant" line "past…" @@ -297,10 +297,10 @@ EcruteakCity_MapEventHeader: .PersonEvents: db 7 - person_event SPRITE_GRAMPS, 15, 18, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, 0, PERSONTYPE_SCRIPT, 0, GrampsScript_0x1a4009, -1 - person_event SPRITE_GRAMPS, 21, 20, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, GrampsScript_0x1a400c, -1 - person_event SPRITE_LASS, 29, 21, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 2, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, LassScript_0x1a4012, -1 + person_event SPRITE_GRAMPS, 15, 18, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, 0, PERSONTYPE_SCRIPT, 0, EcruteakCityGramps1Script, -1 + person_event SPRITE_GRAMPS, 21, 20, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, EcruteakCityGramps2Script, -1 + person_event SPRITE_LASS, 29, 21, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 2, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, EcruteakCityLassScript, -1 person_event SPRITE_LASS, 9, 3, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, LassScript_0x1a4015, -1 person_event SPRITE_FISHER, 22, 9, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, FisherScript_0x1a4029, -1 - person_event SPRITE_YOUNGSTER, 14, 10, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, YoungsterScript_0x1a403d, -1 - person_event SPRITE_GRAMPS, 7, 3, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, GrampsScript_0x1a400f, EVENT_ECRUTEAK_CITY_GRAMPS + person_event SPRITE_YOUNGSTER, 14, 10, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, EcruteakCityYoungsterScript, -1 + person_event SPRITE_GRAMPS, 7, 3, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, EcruteakCityGramps3Script, EVENT_ECRUTEAK_CITY_GRAMPS diff --git a/maps/EcruteakHouse.asm b/maps/EcruteakHouse.asm index 4cfc70927..2959ad3cc 100644 --- a/maps/EcruteakHouse.asm +++ b/maps/EcruteakHouse.asm @@ -134,8 +134,8 @@ SageScript_0x980b0: closetext end -GrampsScript_0x980c4: - jumptextfaceplayer UnknownText_0x984ab +EcruteakHouseGrampsScript: + jumptextfaceplayer EcruteakHouseGrampsText MovementData_0x980c7: fix_facing @@ -266,7 +266,7 @@ UnknownText_0x9846f: line "to the top!" done -UnknownText_0x984ab: +EcruteakHouseGrampsText: text "Two towers…" line "Two #MON…" @@ -302,4 +302,4 @@ EcruteakHouse_MapEventHeader: person_event SPRITE_SAGE, 6, 4, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, SageScript_0x98062, EVENT_RANG_CLEAR_BELL_1 person_event SPRITE_SAGE, 6, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, SageScript_0x98062, EVENT_RANG_CLEAR_BELL_2 person_event SPRITE_SAGE, 9, 6, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, 0, PERSONTYPE_SCRIPT, 0, SageScript_0x980b0, EVENT_ECRUTEAK_HOUSE_WANDERING_SAGE - person_event SPRITE_GRAMPS, 11, 3, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, 0, PERSONTYPE_SCRIPT, 0, GrampsScript_0x980c4, EVENT_ECRUTEAK_HOUSE_WANDERING_SAGE + person_event SPRITE_GRAMPS, 11, 3, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, 0, PERSONTYPE_SCRIPT, 0, EcruteakHouseGrampsScript, EVENT_ECRUTEAK_HOUSE_WANDERING_SAGE diff --git a/maps/EcruteakLugiaSpeechHouse.asm b/maps/EcruteakLugiaSpeechHouse.asm index 4307a19c9..6ec0173ee 100644 --- a/maps/EcruteakLugiaSpeechHouse.asm +++ b/maps/EcruteakLugiaSpeechHouse.asm @@ -9,16 +9,16 @@ EcruteakLugiaSpeechHouse_MapScriptHeader: .MapCallbacks: db 0 -GrampsScript_0x99334: - jumptextfaceplayer UnknownText_0x9933d +EcruteakLugiaSpeechHouseGrampsScript: + jumptextfaceplayer EcruteakLugiaSpeechHouseGrampsText -YoungsterScript_0x99337: - jumptextfaceplayer UnknownText_0x993ec +EcruteakLugiaSpeechHouseYoungsterScript: + jumptextfaceplayer EcruteakLugiaSpeechHouseYoungsterText LugiaSpeechHouseRadio: jumpstd radio2 -UnknownText_0x9933d: +EcruteakLugiaSpeechHouseGrampsText: text "This happened when" line "I was young." @@ -36,7 +36,7 @@ UnknownText_0x9933d: line "and a dragon." done -UnknownText_0x993ec: +EcruteakLugiaSpeechHouseYoungsterText: text "Is there really a" line "#MON that big?" @@ -62,5 +62,5 @@ EcruteakLugiaSpeechHouse_MapEventHeader: .PersonEvents: db 2 - person_event SPRITE_GRAMPS, 3, 2, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, GrampsScript_0x99334, -1 - person_event SPRITE_YOUNGSTER, 4, 5, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, YoungsterScript_0x99337, -1 + person_event SPRITE_GRAMPS, 3, 2, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, EcruteakLugiaSpeechHouseGrampsScript, -1 + person_event SPRITE_YOUNGSTER, 4, 5, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, EcruteakLugiaSpeechHouseYoungsterScript, -1 diff --git a/maps/EcruteakMart.asm b/maps/EcruteakMart.asm index deb35aeef..1747c1d57 100644 --- a/maps/EcruteakMart.asm +++ b/maps/EcruteakMart.asm @@ -16,13 +16,13 @@ ClerkScript_0x99c3b: closetext end -SuperNerdScript_0x99c42: - jumptextfaceplayer UnknownText_0x99c48 +EcruteakMartSuperNerdScript: + jumptextfaceplayer EcruteakMartSuperNerdText -GrannyScript_0x99c45: - jumptextfaceplayer UnknownText_0x99cd5 +EcruteakMartGrannyScript: + jumptextfaceplayer EcruteakMartGrannyText -UnknownText_0x99c48: +EcruteakMartSuperNerdText: text "My EEVEE evolved" line "into an ESPEON." @@ -37,7 +37,7 @@ UnknownText_0x99c48: line "same way…" done -UnknownText_0x99cd5: +EcruteakMartGrannyText: text "If you use REVIVE," line "a #MON that's" @@ -63,5 +63,5 @@ EcruteakMart_MapEventHeader: .PersonEvents: db 3 person_event SPRITE_CLERK, 3, 1, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, ClerkScript_0x99c3b, -1 - person_event SPRITE_SUPER_NERD, 2, 5, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, SuperNerdScript_0x99c42, -1 - person_event SPRITE_GRANNY, 6, 6, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, GrannyScript_0x99c45, -1 + person_event SPRITE_SUPER_NERD, 2, 5, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, EcruteakMartSuperNerdScript, -1 + person_event SPRITE_GRANNY, 6, 6, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, EcruteakMartGrannyScript, -1 diff --git a/maps/FastShip1F.asm b/maps/FastShip1F.asm index 284fa374d..e54a9e3cd 100644 --- a/maps/FastShip1F.asm +++ b/maps/FastShip1F.asm @@ -116,8 +116,8 @@ SailorScript_0x751d0: closetext end -SailorScript_0x751e4: - jumptextfaceplayer UnknownText_0x753c0 +FastShip1FSailorScript: + jumptextfaceplayer FastShip1FSailorText WorriedGrandpaTriggerRight: moveperson FASTSHIP1F_GENTLEMAN, $14, $6 @@ -250,7 +250,7 @@ UnknownText_0x7534f: cont "you're sleeping." done -UnknownText_0x753c0: +FastShip1FSailorText: text "The passengers are" line "all trainers." @@ -316,5 +316,5 @@ FastShip1F_MapEventHeader: db 4 person_event SPRITE_SAILOR, 2, 25, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, SailorScript_0x75160, -1 person_event SPRITE_SAILOR, 7, 14, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, SailorScript_0x751d0, -1 - person_event SPRITE_SAILOR, 17, 22, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 2, -1, -1, 0, PERSONTYPE_SCRIPT, 0, SailorScript_0x751e4, -1 + person_event SPRITE_SAILOR, 17, 22, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 2, -1, -1, 0, PERSONTYPE_SCRIPT, 0, FastShip1FSailorScript, -1 person_event SPRITE_GENTLEMAN, 6, 19, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, ObjectEvent, EVENT_FAST_SHIP_1F_GENTLEMAN diff --git a/maps/FuchsiaBillSpeechHouse.asm b/maps/FuchsiaBillSpeechHouse.asm index 9d415f2f8..2b420775b 100644 --- a/maps/FuchsiaBillSpeechHouse.asm +++ b/maps/FuchsiaBillSpeechHouse.asm @@ -9,19 +9,19 @@ FuchsiaBillSpeechHouse_MapScriptHeader: .MapCallbacks: db 0 -PokefanFScript_0x1963bd: - jumptextfaceplayer UnknownText_0x1963c3 +FuchsiaBillSpeechHousePokefanFScript: + jumptextfaceplayer FuchsiaBillSpeechHousePokefanFText -YoungsterScript_0x1963c0: - jumptextfaceplayer UnknownText_0x1963f9 +FuchsiaBillSpeechHouseYoungsterScript: + jumptextfaceplayer FuchsiaBillSpeechHouseYoungsterText -UnknownText_0x1963c3: +FuchsiaBillSpeechHousePokefanFText: text "My grandpa is at " line "my brother BILL's" cont "on CERULEAN CAPE." done -UnknownText_0x1963f9: +FuchsiaBillSpeechHouseYoungsterText: text "I saw these weird," line "slow #MON on" cont "CYCLING ROAD." @@ -44,5 +44,5 @@ FuchsiaBillSpeechHouse_MapEventHeader: .PersonEvents: db 2 - person_event SPRITE_POKEFAN_F, 3, 2, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, PokefanFScript_0x1963bd, -1 - person_event SPRITE_YOUNGSTER, 4, 6, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, YoungsterScript_0x1963c0, -1 + person_event SPRITE_POKEFAN_F, 3, 2, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, FuchsiaBillSpeechHousePokefanFScript, -1 + person_event SPRITE_YOUNGSTER, 4, 6, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, FuchsiaBillSpeechHouseYoungsterScript, -1 diff --git a/maps/FuchsiaMart.asm b/maps/FuchsiaMart.asm index 423dfdc1a..7e123e721 100644 --- a/maps/FuchsiaMart.asm +++ b/maps/FuchsiaMart.asm @@ -16,13 +16,13 @@ ClerkScript_0x195ce8: closetext end -FisherScript_0x195cef: - jumptextfaceplayer UnknownText_0x195cf5 +FuchsiaMartFisherScript: + jumptextfaceplayer FuchsiaMartFisherText -CooltrainerFScript_0x195cf2: - jumptextfaceplayer UnknownText_0x195d36 +FuchsiaMartCooltrainerFScript: + jumptextfaceplayer FuchsiaMartCooltrainerFText -UnknownText_0x195cf5: +FuchsiaMartFisherText: text "I was hoping to" line "buy some SAFARI" @@ -30,7 +30,7 @@ UnknownText_0x195cf5: line "but it's closed…" done -UnknownText_0x195d36: +FuchsiaMartCooltrainerFText: text "The SAFARI ZONE" line "WARDEN's grand-" cont "daughter lives in" @@ -55,5 +55,5 @@ FuchsiaMart_MapEventHeader: .PersonEvents: db 3 person_event SPRITE_CLERK, 3, 1, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, ClerkScript_0x195ce8, -1 - person_event SPRITE_FISHER, 2, 3, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, FisherScript_0x195cef, -1 - person_event SPRITE_COOLTRAINER_F, 6, 7, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 2, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, CooltrainerFScript_0x195cf2, -1 + person_event SPRITE_FISHER, 2, 3, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, FuchsiaMartFisherScript, -1 + person_event SPRITE_COOLTRAINER_F, 6, 7, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 2, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, FuchsiaMartCooltrainerFScript, -1 diff --git a/maps/FuchsiaPokecenter1F.asm b/maps/FuchsiaPokecenter1F.asm index 422661e0b..d275eaece 100644 --- a/maps/FuchsiaPokecenter1F.asm +++ b/maps/FuchsiaPokecenter1F.asm @@ -18,11 +18,11 @@ FuchsiaPokecenter1F_MapScriptHeader: NurseScript_0x196459: jumpstd pokecenternurse -CooltrainerMScript_0x19645c: - jumptextfaceplayer UnknownText_0x196494 +FuchsiaPokecenter1FCooltrainerMScript: + jumptextfaceplayer FuchsiaPokecenter1FCooltrainerMText -CooltrainerFScript_0x19645f: - jumptextfaceplayer UnknownText_0x1964dc +FuchsiaPokecenter1FCooltrainerFScript: + jumptextfaceplayer FuchsiaPokecenter1FCooltrainerFText JanineImpersonatorScript_0x196462: faceplayer @@ -60,7 +60,7 @@ MovementData_0x196486: turn_head DOWN step_end -UnknownText_0x196494: +FuchsiaPokecenter1FCooltrainerMText: text "Hey! You have a" line "brand new kind of" cont "#DEX." @@ -69,7 +69,7 @@ UnknownText_0x196494: line "that to you?" done -UnknownText_0x1964dc: +FuchsiaPokecenter1FCooltrainerFText: text "I got quite a" line "shock at the GYM." @@ -107,6 +107,6 @@ FuchsiaPokecenter1F_MapEventHeader: .PersonEvents: db 4 person_event SPRITE_NURSE, 1, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, NurseScript_0x196459, -1 - person_event SPRITE_COOLTRAINER_M, 4, 8, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, 0, PERSONTYPE_SCRIPT, 0, CooltrainerMScript_0x19645c, -1 - person_event SPRITE_COOLTRAINER_F, 4, 1, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, 0, PERSONTYPE_SCRIPT, 0, CooltrainerFScript_0x19645f, -1 + person_event SPRITE_COOLTRAINER_M, 4, 8, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, 0, PERSONTYPE_SCRIPT, 0, FuchsiaPokecenter1FCooltrainerMScript, -1 + person_event SPRITE_COOLTRAINER_F, 4, 1, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, 0, PERSONTYPE_SCRIPT, 0, FuchsiaPokecenter1FCooltrainerFScript, -1 person_event SPRITE_JANINE_IMPERSONATOR, 3, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, JanineImpersonatorScript_0x196462, -1 diff --git a/maps/GoldenrodCity.asm b/maps/GoldenrodCity.asm index 48959cac8..74aedf8a7 100644 --- a/maps/GoldenrodCity.asm +++ b/maps/GoldenrodCity.asm @@ -6,13 +6,13 @@ const_value set 2 const GOLDENRODCITY_YOUNGSTER2 const GOLDENRODCITY_LASS const GOLDENRODCITY_GRAMPS + const GOLDENRODCITY_ROCKETSCOUT const GOLDENRODCITY_ROCKET1 const GOLDENRODCITY_ROCKET2 const GOLDENRODCITY_ROCKET3 const GOLDENRODCITY_ROCKET4 const GOLDENRODCITY_ROCKET5 const GOLDENRODCITY_ROCKET6 - const GOLDENRODCITY_ROCKET7 const GOLDENRODCITY_POKEFAN_M2 GoldenrodCity_MapScriptHeader: @@ -160,11 +160,11 @@ MoveTutor: closetext end -PokefanMScript_0x1989e3: - jumptextfaceplayer UnknownText_0x198a69 +GoldenrodCityPokefanMScript: + jumptextfaceplayer GoldenrodCityPokefanMText -YoungsterScript_0x1989e6: - jumptextfaceplayer UnknownText_0x198aa9 +GoldenrodCityYoungster1Script: + jumptextfaceplayer GoldenrodCityYoungster1Text CooltrainerFScript_0x1989e9: faceplayer @@ -198,43 +198,43 @@ CooltrainerFScript_0x1989fd: closetext end -YoungsterScript_0x198a11: - jumptextfaceplayer UnknownText_0x198c36 +GoldenrodCityYoungster2Script: + jumptextfaceplayer GoldenrodCityYoungster2Text -LassScript_0x198a14: - jumptextfaceplayer UnknownText_0x198c83 +GoldenrodCityLassScript: + jumptextfaceplayer GoldenrodCityLassText -GrampsScript_0x198a17: - jumptextfaceplayer UnknownText_0x198ccf +GoldenrodCityGrampsScript: + jumptextfaceplayer GoldenrodCityGrampsText -RocketScript_0x198a1a: +GoldenrodCityRocketScoutScript: opentext - writetext UnknownText_0x198d0d + writetext GoldenrodCityRocketScoutText1 buttonsound faceplayer - writetext UnknownText_0x198d2a + writetext GoldenrodCityRocketScoutText2 waitbutton closetext - spriteface GOLDENRODCITY_ROCKET1, UP + spriteface GOLDENRODCITY_ROCKETSCOUT, UP end -RocketScript_0x198a29: - jumptextfaceplayer UnknownText_0x198d4e +GoldenrodCityRocket1Script: + jumptextfaceplayer GoldenrodCityRocket1Text -RocketScript_0x198a2c: - jumptextfaceplayer UnknownText_0x198d6d +GoldenrodCityRocket2Script: + jumptextfaceplayer GoldenrodCityRocket2Text -RocketScript_0x198a2f: - jumptextfaceplayer UnknownText_0x198daa +GoldenrodCityRocket3Script: + jumptextfaceplayer GoldenrodCityRocket3Text -RocketScript_0x198a32: - jumptextfaceplayer UnknownText_0x198de2 +GoldenrodCityRocket4Script: + jumptextfaceplayer GoldenrodCityRocket4Text -RocketScript_0x198a35: - jumptextfaceplayer UnknownText_0x198e1f +GoldenrodCityRocket5Script: + jumptextfaceplayer GoldenrodCityRocket5Text -RocketScript_0x198a38: - jumptextfaceplayer UnknownText_0x198e4b +GoldenrodCityRocket6Script: + jumptextfaceplayer GoldenrodCityRocket6Text GoldenrodCityStationSign: jumptext GoldenrodCityStationSignText @@ -286,7 +286,7 @@ MovementData_0x198a63: step UP step_end -UnknownText_0x198a69: +GoldenrodCityPokefanMText: text "They built the new" line "RADIO TOWER to" @@ -294,7 +294,7 @@ UnknownText_0x198a69: line "creaky one." done -UnknownText_0x198aa9: +GoldenrodCityYoungster1Text: text "I know there's a" line "new BIKE SHOP, but" @@ -339,7 +339,7 @@ UnknownText_0x198c14: line "works as a radio!" done -UnknownText_0x198c36: +GoldenrodCityYoungster2Text: text "E-he-he-he…" para "I got in trouble" @@ -349,7 +349,7 @@ UnknownText_0x198c36: line "DEPT.STORE." done -UnknownText_0x198c83: +GoldenrodCityLassText: text "The man at that" line "house rates your" cont "#MON names." @@ -358,7 +358,7 @@ UnknownText_0x198c83: line "your #MON." done -UnknownText_0x198ccf: +GoldenrodCityGrampsText: text "Whew! This is one" line "big town. I don't" @@ -366,22 +366,22 @@ UnknownText_0x198ccf: line "thing is." done -UnknownText_0x198d0d: +GoldenrodCityRocketScoutText1: text "So this is the" line "RADIO TOWER…" done -UnknownText_0x198d2a: +GoldenrodCityRocketScoutText2: text "What do you want," line "you pest? Scram!" done -UnknownText_0x198d4e: +GoldenrodCityRocket1Text: text "Stay out of the" line "way! Beat it!" done -UnknownText_0x198d6d: +GoldenrodCityRocket2Text: text "Take over the" line "RADIO TOWER…" @@ -389,7 +389,7 @@ UnknownText_0x198d6d: line "your business!" done -UnknownText_0x198daa: +GoldenrodCityRocket3Text: text "#MON? They're" line "nothing more than" @@ -397,7 +397,7 @@ UnknownText_0x198daa: line "money!" done -UnknownText_0x198de2: +GoldenrodCityRocket4Text: text "Our dream will" line "soon come true…" @@ -405,13 +405,13 @@ UnknownText_0x198de2: line "struggle…" done -UnknownText_0x198e1f: +GoldenrodCityRocket5Text: text "Hey, brat! You" line "don't belong here!" cont "Get lost!" done -UnknownText_0x198e4b: +GoldenrodCityRocket6Text: text "Come taste the" line "true terror of" cont "TEAM ROCKET!" @@ -596,18 +596,18 @@ GoldenrodCity_MapEventHeader: .PersonEvents: db 15 - person_event SPRITE_POKEFAN_M, 18, 7, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, PokefanMScript_0x1989e3, EVENT_GOLDENROD_CITY_CIVILIANS - person_event SPRITE_YOUNGSTER, 17, 30, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, 0, PERSONTYPE_SCRIPT, 0, YoungsterScript_0x1989e6, EVENT_GOLDENROD_CITY_CIVILIANS + person_event SPRITE_POKEFAN_M, 18, 7, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, GoldenrodCityPokefanMScript, EVENT_GOLDENROD_CITY_CIVILIANS + person_event SPRITE_YOUNGSTER, 17, 30, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, 0, PERSONTYPE_SCRIPT, 0, GoldenrodCityYoungster1Script, EVENT_GOLDENROD_CITY_CIVILIANS person_event SPRITE_COOLTRAINER_F, 16, 12, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, CooltrainerFScript_0x1989e9, EVENT_GOLDENROD_CITY_CIVILIANS person_event SPRITE_COOLTRAINER_F, 26, 20, SPRITEMOVEDATA_WANDER, 2, 1, -1, -1, 0, PERSONTYPE_SCRIPT, 0, CooltrainerFScript_0x1989fd, EVENT_GOLDENROD_CITY_CIVILIANS - person_event SPRITE_YOUNGSTER, 17, 19, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, YoungsterScript_0x198a11, EVENT_GOLDENROD_CITY_CIVILIANS - person_event SPRITE_LASS, 10, 17, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 2, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, LassScript_0x198a14, EVENT_GOLDENROD_CITY_CIVILIANS - person_event SPRITE_GRAMPS, 27, 11, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, 0, PERSONTYPE_SCRIPT, 0, GrampsScript_0x198a17, EVENT_GOLDENROD_CITY_CIVILIANS - person_event SPRITE_ROCKET, 16, 4, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, RocketScript_0x198a1a, EVENT_GOLDENROD_CITY_ROCKET_SCOUT - person_event SPRITE_ROCKET, 20, 28, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, RocketScript_0x198a29, EVENT_GOLDENROD_CITY_ROCKET_TAKEOVER - person_event SPRITE_ROCKET, 15, 8, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, RocketScript_0x198a2c, EVENT_GOLDENROD_CITY_ROCKET_TAKEOVER - person_event SPRITE_ROCKET, 23, 16, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, RocketScript_0x198a2f, EVENT_RADIO_TOWER_ROCKET_TAKEOVER - person_event SPRITE_ROCKET, 20, 29, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, RocketScript_0x198a32, EVENT_RADIO_TOWER_ROCKET_TAKEOVER - person_event SPRITE_ROCKET, 7, 29, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, RocketScript_0x198a35, EVENT_RADIO_TOWER_ROCKET_TAKEOVER - person_event SPRITE_ROCKET, 10, 31, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, RocketScript_0x198a38, EVENT_RADIO_TOWER_ROCKET_TAKEOVER + person_event SPRITE_YOUNGSTER, 17, 19, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, GoldenrodCityYoungster2Script, EVENT_GOLDENROD_CITY_CIVILIANS + person_event SPRITE_LASS, 10, 17, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 2, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, GoldenrodCityLassScript, EVENT_GOLDENROD_CITY_CIVILIANS + person_event SPRITE_GRAMPS, 27, 11, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, 0, PERSONTYPE_SCRIPT, 0, GoldenrodCityGrampsScript, EVENT_GOLDENROD_CITY_CIVILIANS + person_event SPRITE_ROCKET, 16, 4, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, GoldenrodCityRocketScoutScript, EVENT_GOLDENROD_CITY_ROCKET_SCOUT + person_event SPRITE_ROCKET, 20, 28, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, GoldenrodCityRocket1Script, EVENT_GOLDENROD_CITY_ROCKET_TAKEOVER + person_event SPRITE_ROCKET, 15, 8, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, GoldenrodCityRocket2Script, EVENT_GOLDENROD_CITY_ROCKET_TAKEOVER + person_event SPRITE_ROCKET, 23, 16, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, GoldenrodCityRocket3Script, EVENT_RADIO_TOWER_ROCKET_TAKEOVER + person_event SPRITE_ROCKET, 20, 29, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, GoldenrodCityRocket4Script, EVENT_RADIO_TOWER_ROCKET_TAKEOVER + person_event SPRITE_ROCKET, 7, 29, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, GoldenrodCityRocket5Script, EVENT_RADIO_TOWER_ROCKET_TAKEOVER + person_event SPRITE_ROCKET, 10, 31, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, GoldenrodCityRocket6Script, EVENT_RADIO_TOWER_ROCKET_TAKEOVER person_event SPRITE_POKEFAN_M, 22, 12, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, MoveTutor, EVENT_GOLDENROD_CITY_MOVE_TUTOR diff --git a/maps/GoldenrodDeptStore1F.asm b/maps/GoldenrodDeptStore1F.asm index 51c387d07..7b9671054 100644 --- a/maps/GoldenrodDeptStore1F.asm +++ b/maps/GoldenrodDeptStore1F.asm @@ -11,17 +11,17 @@ GoldenrodDeptStore1F_MapScriptHeader: .MapCallbacks: db 0 -ReceptionistScript_0x55981: - jumptextfaceplayer UnknownText_0x55993 +GoldenrodDeptStore1FReceptionistScript: + jumptextfaceplayer GoldenrodDeptStore1FReceptionistText -GentlemanScript_0x55984: - jumptextfaceplayer UnknownText_0x559b7 +GoldenrodDeptStore1FGentlemanScript: + jumptextfaceplayer GoldenrodDeptStore1FGentlemanText -PokefanFScript_0x55987: - jumptextfaceplayer UnknownText_0x55a1a +GoldenrodDeptStore1FPokefanFScript: + jumptextfaceplayer GoldenrodDeptStore1FPokefanFText -BugCatcherScript_0x5598a: - jumptextfaceplayer UnknownText_0x55a3a +GoldenrodDeptStore1FBugCatcherScript: + jumptextfaceplayer GoldenrodDeptStore1FBugCatcherText GoldenrodDeptStore1FDirectory: jumptext GoldenrodDeptStore1FDirectoryText @@ -29,12 +29,12 @@ GoldenrodDeptStore1FDirectory: GoldenrodDeptStore1FElevatorButton: jumpstd elevatorbutton -UnknownText_0x55993: +GoldenrodDeptStore1FReceptionistText: text "Welcome to GOLDEN-" line "ROD DEPT.STORE." done -UnknownText_0x559b7: +GoldenrodDeptStore1FGentlemanText: text "The DEPT.STORE" line "has a decent se-" cont "lection." @@ -46,12 +46,12 @@ UnknownText_0x559b7: line "prizes." done -UnknownText_0x55a1a: +GoldenrodDeptStore1FPokefanFText: text "I'm raring to shop" line "again today!" done -UnknownText_0x55a3a: +GoldenrodDeptStore1FBugCatcherText: text "Mom's good at" line "bargain hunting." @@ -99,7 +99,7 @@ GoldenrodDeptStore1F_MapEventHeader: .PersonEvents: db 4 - person_event SPRITE_RECEPTIONIST, 1, 10, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, ReceptionistScript_0x55981, -1 - person_event SPRITE_POKEFAN_F, 4, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, PokefanFScript_0x55987, -1 - person_event SPRITE_BUG_CATCHER, 5, 5, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, BugCatcherScript_0x5598a, -1 - person_event SPRITE_GENTLEMAN, 5, 11, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, 0, PERSONTYPE_SCRIPT, 0, GentlemanScript_0x55984, -1 + person_event SPRITE_RECEPTIONIST, 1, 10, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, GoldenrodDeptStore1FReceptionistScript, -1 + person_event SPRITE_POKEFAN_F, 4, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, GoldenrodDeptStore1FPokefanFScript, -1 + person_event SPRITE_BUG_CATCHER, 5, 5, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, GoldenrodDeptStore1FBugCatcherScript, -1 + person_event SPRITE_GENTLEMAN, 5, 11, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, 0, PERSONTYPE_SCRIPT, 0, GoldenrodDeptStore1FGentlemanScript, -1 diff --git a/maps/GoldenrodDeptStore2F.asm b/maps/GoldenrodDeptStore2F.asm index b6cda7cb1..41e929bda 100644 --- a/maps/GoldenrodDeptStore2F.asm +++ b/maps/GoldenrodDeptStore2F.asm @@ -26,14 +26,14 @@ ClerkScript_0x55b65: closetext end -YoungsterScript_0x55b6d: - jumptextfaceplayer UnknownText_0x55c25 +GoldenrodDeptStore2FYoungsterScript: + jumptextfaceplayer GoldenrodDeptStore2FYoungsterText -CooltrainerFScript_0x55b70: - jumptextfaceplayer UnknownText_0x55c7b +GoldenrodDeptStore2FCooltrainerFScript: + jumptextfaceplayer GoldenrodDeptStore2FCooltrainerFText -GentlemanScript_0x55b73: - jumptextfaceplayer UnknownText_0x55cb7 +GoldenrodDeptStore2FGentlemanScript: + jumptextfaceplayer GoldenrodDeptStore2FGentlemanText GoldenrodDeptStore2FDirectory: jumptext GoldenrodDeptStore2FDirectoryText @@ -62,7 +62,7 @@ UnknownText_0x55bd3: cont "techniques." done -UnknownText_0x55c25: +GoldenrodDeptStore2FYoungsterText: text "#GEAR can store" line "up to ten phone" cont "numbers." @@ -72,7 +72,7 @@ UnknownText_0x55c25: cont "to keep." done -UnknownText_0x55c7b: +GoldenrodDeptStore2FCooltrainerFText: text "I got my ABRA at" line "the GAME CORNER." @@ -80,7 +80,7 @@ UnknownText_0x55c7b: line "partner." done -UnknownText_0x55cb7: +GoldenrodDeptStore2FGentlemanText: text "This DEPT.STORE" line "makes me realize" @@ -122,6 +122,6 @@ GoldenrodDeptStore2F_MapEventHeader: db 5 person_event SPRITE_CLERK, 5, 13, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, ClerkScript_0x55b5d, -1 person_event SPRITE_CLERK, 6, 13, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, ClerkScript_0x55b65, -1 - person_event SPRITE_YOUNGSTER, 6, 9, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, YoungsterScript_0x55b6d, -1 - person_event SPRITE_COOLTRAINER_F, 2, 6, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 2, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, CooltrainerFScript_0x55b70, -1 - person_event SPRITE_GENTLEMAN, 6, 2, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, GentlemanScript_0x55b73, -1 + person_event SPRITE_YOUNGSTER, 6, 9, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, GoldenrodDeptStore2FYoungsterScript, -1 + person_event SPRITE_COOLTRAINER_F, 2, 6, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 2, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, GoldenrodDeptStore2FCooltrainerFScript, -1 + person_event SPRITE_GENTLEMAN, 6, 2, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, GoldenrodDeptStore2FGentlemanScript, -1 diff --git a/maps/GoldenrodDeptStore3F.asm b/maps/GoldenrodDeptStore3F.asm index a9cd1dc15..ec07b0a72 100644 --- a/maps/GoldenrodDeptStore3F.asm +++ b/maps/GoldenrodDeptStore3F.asm @@ -17,11 +17,11 @@ ClerkScript_0x55db8: closetext end -SuperNerdScript_0x55dc0: - jumptextfaceplayer UnknownText_0x55dcc +GoldenrodDeptStore3FSuperNerdScript: + jumptextfaceplayer GoldenrodDeptStore3FSuperNerdText -RockerScript_0x55dc3: - jumptextfaceplayer UnknownText_0x55e15 +GoldenrodDeptStore3FRockerScript: + jumptextfaceplayer GoldenrodDeptStore3FRockerText GoldenrodDeptStore3FDirectory: jumptext GoldenrodDeptStore3FDirectoryText @@ -29,7 +29,7 @@ GoldenrodDeptStore3FDirectory: GoldenrodDeptStore3FElevatorButton: jumpstd elevatorbutton -UnknownText_0x55dcc: +GoldenrodDeptStore3FSuperNerdText: text "I, I, I'm really" line "impatient!" @@ -38,7 +38,7 @@ UnknownText_0x55dcc: cont "my #MON." done -UnknownText_0x55e15: +GoldenrodDeptStore3FRockerText: text "Hey! When you bat-" line "tle, do you use X" cont "SPECIAL?" @@ -77,5 +77,5 @@ GoldenrodDeptStore3F_MapEventHeader: .PersonEvents: db 3 person_event SPRITE_CLERK, 1, 6, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, ClerkScript_0x55db8, -1 - person_event SPRITE_SUPER_NERD, 5, 12, SPRITEMOVEDATA_SPINRANDOM_FAST, 1, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, SuperNerdScript_0x55dc0, -1 - person_event SPRITE_ROCKER, 5, 2, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, RockerScript_0x55dc3, -1 + person_event SPRITE_SUPER_NERD, 5, 12, SPRITEMOVEDATA_SPINRANDOM_FAST, 1, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, GoldenrodDeptStore3FSuperNerdScript, -1 + person_event SPRITE_ROCKER, 5, 2, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, GoldenrodDeptStore3FRockerScript, -1 diff --git a/maps/GoldenrodDeptStore4F.asm b/maps/GoldenrodDeptStore4F.asm index 61c5ff120..8e8fc4714 100644 --- a/maps/GoldenrodDeptStore4F.asm +++ b/maps/GoldenrodDeptStore4F.asm @@ -18,11 +18,11 @@ ClerkScript_0x55ee9: closetext end -CooltrainerMScript_0x55ef1: - jumptextfaceplayer UnknownText_0x55f08 +GoldenrodDeptStore4FCooltrainerMScript: + jumptextfaceplayer GoldenrodDeptStore4FCooltrainerMText -BugCatcherScript_0x55ef4: - jumptextfaceplayer UnknownText_0x55f52 +GoldenrodDeptStore4FBugCatcherScript: + jumptextfaceplayer GoldenrodDeptStore4FBugCatcherText GameboyKidScript_0x55ef7: faceplayer @@ -39,7 +39,7 @@ GoldenrodDeptStore4FDirectory: GoldenrodDeptStore4FElevatorButton: jumpstd elevatorbutton -UnknownText_0x55f08: +GoldenrodDeptStore4FCooltrainerMText: text "Hey. I love strong" line "#MON." @@ -48,7 +48,7 @@ UnknownText_0x55f08: cont "their ATTACK." done -UnknownText_0x55f52: +GoldenrodDeptStore4FBugCatcherText: text "IRON adds to your" line "#MON's DEFENSE." done @@ -98,6 +98,6 @@ GoldenrodDeptStore4F_MapEventHeader: .PersonEvents: db 4 person_event SPRITE_CLERK, 5, 13, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, ClerkScript_0x55ee9, -1 - person_event SPRITE_COOLTRAINER_M, 7, 11, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, CooltrainerMScript_0x55ef1, -1 - person_event SPRITE_BUG_CATCHER, 2, 7, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, 0, PERSONTYPE_SCRIPT, 0, BugCatcherScript_0x55ef4, -1 + person_event SPRITE_COOLTRAINER_M, 7, 11, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, GoldenrodDeptStore4FCooltrainerMScript, -1 + person_event SPRITE_BUG_CATCHER, 2, 7, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, 0, PERSONTYPE_SCRIPT, 0, GoldenrodDeptStore4FBugCatcherScript, -1 person_event SPRITE_GAMEBOY_KID, 1, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, GameboyKidScript_0x55ef7, -1 diff --git a/maps/GoldenrodDeptStore5F.asm b/maps/GoldenrodDeptStore5F.asm index 0c33b44a3..e4b99959e 100644 --- a/maps/GoldenrodDeptStore5F.asm +++ b/maps/GoldenrodDeptStore5F.asm @@ -120,8 +120,8 @@ Carrie: closetext end -LassScript_0x56130: - jumptextfaceplayer UnknownText_0x562ad +GoldenrodDeptStore5FLassScript: + jumptextfaceplayer GoldenrodDeptStore5FLassText Mike: faceplayer @@ -131,8 +131,8 @@ Mike: closetext end -PokefanMScript_0x5613a: - jumptextfaceplayer UnknownText_0x562f3 +GoldenrodDeptStore5FPokefanMScript: + jumptextfaceplayer GoldenrodDeptStore5FPokefanMText GoldenrodDeptStore5FDirectory: jumptext GoldenrodDeptStore5FDirectoryText @@ -189,7 +189,7 @@ UnknownText_0x56279: cont "Game Boy Color." done -UnknownText_0x562ad: +GoldenrodDeptStore5FLassText: text "On Sundays, a lady" line "comes to check out" cont "#MON." @@ -198,7 +198,7 @@ UnknownText_0x562ad: line "away TMs!" done -UnknownText_0x562f3: +GoldenrodDeptStore5FPokefanMText: text "You can't rename a" line "#MON you get in" cont "a trade." @@ -238,8 +238,8 @@ GoldenrodDeptStore5F_MapEventHeader: .PersonEvents: db 6 person_event SPRITE_CLERK, 5, 8, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, ClerkScript_0x5609c, -1 - person_event SPRITE_LASS, 6, 3, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, 0, PERSONTYPE_SCRIPT, 0, LassScript_0x56130, -1 + person_event SPRITE_LASS, 6, 3, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, 0, PERSONTYPE_SCRIPT, 0, GoldenrodDeptStore5FLassScript, -1 person_event SPRITE_COOLTRAINER_M, 3, 6, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, Mike, -1 - person_event SPRITE_POKEFAN_M, 5, 13, SPRITEMOVEDATA_WANDER, 2, 2, -1, -1, 0, PERSONTYPE_SCRIPT, 0, PokefanMScript_0x5613a, -1 + person_event SPRITE_POKEFAN_M, 5, 13, SPRITEMOVEDATA_WANDER, 2, 2, -1, -1, 0, PERSONTYPE_SCRIPT, 0, GoldenrodDeptStore5FPokefanMScript, -1 person_event SPRITE_TWIN, 1, 9, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, Carrie, -1 person_event SPRITE_RECEPTIONIST, 5, 7, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, ReceptionistScript_0x560ce, EVENT_GOLDENROD_DEPT_STORE_5F_HAPPINESS_EVENT_LADY diff --git a/maps/GoldenrodDeptStore6F.asm b/maps/GoldenrodDeptStore6F.asm index b8b683561..18c936e81 100644 --- a/maps/GoldenrodDeptStore6F.asm +++ b/maps/GoldenrodDeptStore6F.asm @@ -84,11 +84,11 @@ GoldenrodVendingMachine: db "CANCEL@" -LassScript_0x564bf: - jumptextfaceplayer UnknownText_0x5654b +GoldenrodDeptStore6FLassScript: + jumptextfaceplayer GoldenrodDeptStore6FLassText -SuperNerdScript_0x564c2: - jumptextfaceplayer UnknownText_0x565ca +GoldenrodDeptStore6FSuperNerdScript: + jumptextfaceplayer GoldenrodDeptStore6FSuperNerdText GoldenrodDeptStore6FDirectory: jumptext GoldenrodDeptStore6FDirectoryText @@ -119,7 +119,7 @@ GoldenrodVendingNoSpaceText: line "room for stuff." done -UnknownText_0x5654b: +GoldenrodDeptStore6FLassText: text "Do you listen to" line "LUCKY CHANNEL?" @@ -133,7 +133,7 @@ UnknownText_0x5654b: line "numbers." done -UnknownText_0x565ca: +GoldenrodDeptStore6FSuperNerdText: text "If you're tired," line "try the vending" cont "machine's drinks." @@ -173,5 +173,5 @@ GoldenrodDeptStore6F_MapEventHeader: .PersonEvents: db 2 - person_event SPRITE_LASS, 2, 10, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, LassScript_0x564bf, -1 - person_event SPRITE_SUPER_NERD, 2, 8, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, SuperNerdScript_0x564c2, -1 + person_event SPRITE_LASS, 2, 10, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, GoldenrodDeptStore6FLassScript, -1 + person_event SPRITE_SUPER_NERD, 2, 8, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, GoldenrodDeptStore6FSuperNerdScript, -1 diff --git a/maps/GoldenrodDeptStoreB1F.asm b/maps/GoldenrodDeptStoreB1F.asm index 859e5e6dd..4e6a3b03e 100644 --- a/maps/GoldenrodDeptStoreB1F.asm +++ b/maps/GoldenrodDeptStoreB1F.asm @@ -46,14 +46,14 @@ UnknownScript_0x7d7ac: clearevent EVENT_WAREHOUSE_BLOCKED_OFF return -BlackBeltScript_0x7d7b0: - jumptextfaceplayer UnknownText_0x7d7cb +GoldenrodDeptStoreB1FBlackBelt1Script: + jumptextfaceplayer GoldenrodDeptStoreB1FBlackBelt1Text -BlackBeltScript_0x7d7b3: - jumptextfaceplayer UnknownText_0x7d82c +GoldenrodDeptStoreB1FBlackBelt2Script: + jumptextfaceplayer GoldenrodDeptStoreB1FBlackBelt2Text -BlackBeltScript_0x7d7b6: - jumptextfaceplayer UnknownText_0x7d875 +GoldenrodDeptStoreB1FBlackBelt3Script: + jumptextfaceplayer GoldenrodDeptStoreB1FBlackBelt3Text MachopScript_0x7d7b9: opentext @@ -75,7 +75,7 @@ GoldenrodDeptStoreB1FBurnHeal: GoldenrodDeptStoreB1FUltraBall: itemball ULTRA_BALL -UnknownText_0x7d7cb: +GoldenrodDeptStoreB1FBlackBelt1Text: text "Hey, kid! You're" line "holding us up!" @@ -86,7 +86,7 @@ UnknownText_0x7d7cb: line "one can see us!" done -UnknownText_0x7d82c: +GoldenrodDeptStoreB1FBlackBelt2Text: text "I lose my passion" line "for work if some-" cont "one's watching." @@ -95,7 +95,7 @@ UnknownText_0x7d82c: line "scoot!" done -UnknownText_0x7d875: +GoldenrodDeptStoreB1FBlackBelt3Text: text "Oohah! Oohah!" para "The stuff on the" @@ -131,7 +131,7 @@ GoldenrodDeptStoreB1F_MapEventHeader: person_event SPRITE_POKE_BALL, 2, 14, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, GoldenrodDeptStoreB1FAmuletCoin, EVENT_GOLDENROD_DEPT_STORE_B1F_AMULET_COIN person_event SPRITE_POKE_BALL, 3, 6, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, GoldenrodDeptStoreB1FBurnHeal, EVENT_GOLDENROD_DEPT_STORE_B1F_BURN_HEAL person_event SPRITE_POKE_BALL, 15, 15, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, GoldenrodDeptStoreB1FUltraBall, EVENT_GOLDENROD_DEPT_STORE_B1F_ULTRA_BALL - person_event SPRITE_BLACK_BELT, 10, 9, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, BlackBeltScript_0x7d7b0, -1 - person_event SPRITE_BLACK_BELT, 8, 4, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, BlackBeltScript_0x7d7b3, -1 - person_event SPRITE_BLACK_BELT, 13, 6, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, BlackBeltScript_0x7d7b6, -1 + person_event SPRITE_BLACK_BELT, 10, 9, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, GoldenrodDeptStoreB1FBlackBelt1Script, -1 + person_event SPRITE_BLACK_BELT, 8, 4, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, GoldenrodDeptStoreB1FBlackBelt2Script, -1 + person_event SPRITE_BLACK_BELT, 13, 6, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, GoldenrodDeptStoreB1FBlackBelt3Script, -1 person_event SPRITE_MACHOP, 7, 7, SPRITEMOVEDATA_POKEMON, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, MachopScript_0x7d7b9, -1 diff --git a/maps/GoldenrodDeptStoreRoof.asm b/maps/GoldenrodDeptStoreRoof.asm index ed61d935f..bfdc3a527 100644 --- a/maps/GoldenrodDeptStoreRoof.asm +++ b/maps/GoldenrodDeptStoreRoof.asm @@ -45,8 +45,8 @@ ClerkScript_0x5673f: closetext end -PokefanFScript_0x56746: - jumptextfaceplayer UnknownText_0x5677f +GoldenrodDeptStoreRoofPokefanFScript: + jumptextfaceplayer GoldenrodDeptStoreRoofPokefanFText FisherScript_0x56749: faceplayer @@ -57,8 +57,8 @@ FisherScript_0x56749: spriteface GOLDENRODDEPTSTOREROOF_FISHER, UP end -TwinScript_0x56754: - jumptextfaceplayer UnknownText_0x56839 +GoldenrodDeptStoreRoofTwinScript: + jumptextfaceplayer GoldenrodDeptStoreRoofTwinText SuperNerdScript_0x56757: opentext @@ -73,14 +73,14 @@ SuperNerdScript_0x56757: spriteface GOLDENRODDEPTSTOREROOF_SUPER_NERD, RIGHT end -PokefanMScript_0x5676a: - jumptextfaceplayer UnknownText_0x5688e +GoldenrodDeptStoreRoofPokefanMScript: + jumptextfaceplayer GoldenrodDeptStoreRoofPokefanMText -TeacherScript_0x5676d: - jumptextfaceplayer UnknownText_0x56901 +GoldenrodDeptStoreRoofTeacherScript: + jumptextfaceplayer GoldenrodDeptStoreRoofTeacherText -BugCatcherScript_0x56770: - jumptextfaceplayer UnknownText_0x56942 +GoldenrodDeptStoreRoofBugCatcherScript: + jumptextfaceplayer GoldenrodDeptStoreRoofBugCatcherText Binoculars1: jumptext Binoculars1Text @@ -94,7 +94,7 @@ Binoculars3: PokeDollVendingMachine: jumptext PokeDollVendingMachineText -UnknownText_0x5677f: +GoldenrodDeptStoreRoofPokefanFText: text "Whew, I'm tired." para "I sometimes come" @@ -116,7 +116,7 @@ UnknownText_0x567d2: line "dolls!" done -UnknownText_0x56839: +GoldenrodDeptStoreRoofTwinText: text "They have bargain" line "sales here every" cont "so often." @@ -131,7 +131,7 @@ UnknownText_0x56871: line "bothering me?" done -UnknownText_0x5688e: +GoldenrodDeptStoreRoofPokefanMText: text "There's something" line "I really want, but" @@ -143,7 +143,7 @@ UnknownText_0x5688e: cont "I've collected…" done -UnknownText_0x56901: +GoldenrodDeptStoreRoofTeacherText: text "Oh, everything is" line "so cheap!" @@ -151,7 +151,7 @@ UnknownText_0x56901: line "my PACK's crammed!" done -UnknownText_0x56942: +GoldenrodDeptStoreRoofBugCatcherText: text "My #MON always" line "get paralyzed or" @@ -232,10 +232,10 @@ GoldenrodDeptStoreRoof_MapEventHeader: .PersonEvents: db 8 person_event SPRITE_CLERK, 4, 1, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, ClerkScript_0x5673f, EVENT_GOLDENROD_SALE_OFF - person_event SPRITE_POKEFAN_F, 3, 10, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, PokefanFScript_0x56746, -1 + person_event SPRITE_POKEFAN_F, 3, 10, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, GoldenrodDeptStoreRoofPokefanFScript, -1 person_event SPRITE_FISHER, 1, 2, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, FisherScript_0x56749, -1 - person_event SPRITE_TWIN, 4, 3, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, TwinScript_0x56754, EVENT_GOLDENROD_SALE_ON + person_event SPRITE_TWIN, 4, 3, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, GoldenrodDeptStoreRoofTwinScript, EVENT_GOLDENROD_SALE_ON person_event SPRITE_SUPER_NERD, 6, 14, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, SuperNerdScript_0x56757, EVENT_GOLDENROD_SALE_ON - person_event SPRITE_POKEFAN_M, 0, 7, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, 0, PERSONTYPE_SCRIPT, 0, PokefanMScript_0x5676a, EVENT_GOLDENROD_SALE_OFF - person_event SPRITE_TEACHER, 3, 5, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, TeacherScript_0x5676d, EVENT_GOLDENROD_SALE_OFF - person_event SPRITE_BUG_CATCHER, 6, 1, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, BugCatcherScript_0x56770, EVENT_GOLDENROD_SALE_OFF + person_event SPRITE_POKEFAN_M, 0, 7, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, 0, PERSONTYPE_SCRIPT, 0, GoldenrodDeptStoreRoofPokefanMScript, EVENT_GOLDENROD_SALE_OFF + person_event SPRITE_TEACHER, 3, 5, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, GoldenrodDeptStoreRoofTeacherScript, EVENT_GOLDENROD_SALE_OFF + person_event SPRITE_BUG_CATCHER, 6, 1, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, GoldenrodDeptStoreRoofBugCatcherScript, EVENT_GOLDENROD_SALE_OFF diff --git a/maps/GoldenrodHappinessRater.asm b/maps/GoldenrodHappinessRater.asm index 9b082c082..7455a1eb1 100644 --- a/maps/GoldenrodHappinessRater.asm +++ b/maps/GoldenrodHappinessRater.asm @@ -59,11 +59,11 @@ UnknownScript_0x54991: closetext end -PokefanMScript_0x54997: - jumptextfaceplayer UnknownText_0x54b04 +GoldenrodHappinessRaterPokefanMScript: + jumptextfaceplayer GoldenrodHappinessRaterPokefanMText -TwinScript_0x5499a: - jumptextfaceplayer UnknownText_0x54b67 +GoldenrodHappinessRaterTwinScript: + jumptextfaceplayer GoldenrodHappinessRaterTwinText HappinessRatersHouseBookshelf: jumpstd difficultbookshelf @@ -118,7 +118,7 @@ UnknownText_0x54ad1: cont "It looks mean." done -UnknownText_0x54b04: +GoldenrodHappinessRaterPokefanMText: text "I keep losing in" line "battles, and my" @@ -130,7 +130,7 @@ UnknownText_0x54b04: cont "like me much…" done -UnknownText_0x54b67: +GoldenrodHappinessRaterTwinText: text "When I use an item" line "on my #MON, it" cont "acts really glad!" @@ -157,5 +157,5 @@ GoldenrodHappinessRater_MapEventHeader: .PersonEvents: db 3 person_event SPRITE_TEACHER, 4, 2, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, TeacherScript_0x54953, -1 - person_event SPRITE_POKEFAN_M, 3, 5, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, PokefanMScript_0x54997, -1 - person_event SPRITE_TWIN, 6, 5, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, TwinScript_0x5499a, -1 + person_event SPRITE_POKEFAN_M, 3, 5, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, GoldenrodHappinessRaterPokefanMScript, -1 + person_event SPRITE_TWIN, 6, 5, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, GoldenrodHappinessRaterTwinScript, -1 diff --git a/maps/GoldenrodMagnetTrainStation.asm b/maps/GoldenrodMagnetTrainStation.asm index d94c5a3bd..a00b47e11 100644 --- a/maps/GoldenrodMagnetTrainStation.asm +++ b/maps/GoldenrodMagnetTrainStation.asm @@ -68,8 +68,8 @@ Script_ArriveFromSaffron: closetext end -GentlemanScript_0x55143: - jumptextfaceplayer UnknownText_0x552a3 +GoldenrodMagnetTrainStationGentlemanScript: + jumptextfaceplayer GoldenrodMagnetTrainStationGentlemanText MovementData_0x55146: step UP @@ -150,7 +150,7 @@ UnknownText_0x5526a: line "again." done -UnknownText_0x552a3: +GoldenrodMagnetTrainStationGentlemanText: text "I'm the PRESIDENT." para "My dream was to" @@ -185,4 +185,4 @@ GoldenrodMagnetTrainStation_MapEventHeader: .PersonEvents: db 2 person_event SPRITE_OFFICER, 9, 9, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, OfficerScript_0x550ec, -1 - person_event SPRITE_GENTLEMAN, 14, 11, SPRITEMOVEDATA_WANDER, 2, 2, -1, -1, 0, PERSONTYPE_SCRIPT, 0, GentlemanScript_0x55143, EVENT_GOLDENROD_TRAIN_STATION_GENTLEMAN + person_event SPRITE_GENTLEMAN, 14, 11, SPRITEMOVEDATA_WANDER, 2, 2, -1, -1, 0, PERSONTYPE_SCRIPT, 0, GoldenrodMagnetTrainStationGentlemanScript, EVENT_GOLDENROD_TRAIN_STATION_GENTLEMAN diff --git a/maps/GoldenrodPPSpeechHouse.asm b/maps/GoldenrodPPSpeechHouse.asm index 809970862..3eb250ff1 100644 --- a/maps/GoldenrodPPSpeechHouse.asm +++ b/maps/GoldenrodPPSpeechHouse.asm @@ -9,11 +9,11 @@ GoldenrodPPSpeechHouse_MapScriptHeader: .MapCallbacks: db 0 -FisherScript_0x5564a: - jumptextfaceplayer UnknownText_0x55659 +GoldenrodPPSpeechHouseFisherScript: + jumptextfaceplayer GoldenrodPPSpeechHouseFisherText -LassScript_0x5564d: - jumptextfaceplayer UnknownText_0x556ca +GoldenrodPPSpeechHouseLassScript: + jumptextfaceplayer GoldenrodPPSpeechHouseLassText GoldenrodPPSpeechHouseBookshelf2: jumpstd difficultbookshelf @@ -24,7 +24,7 @@ GoldenrodPPSpeechHouseBookshelf1: GoldenrodPPSpeechHouseRadio: jumpstd radio2 -UnknownText_0x55659: +GoldenrodPPSpeechHouseFisherText: text "Once while I was" line "battling, my" @@ -38,7 +38,7 @@ UnknownText_0x55659: line "gone." done -UnknownText_0x556ca: +GoldenrodPPSpeechHouseLassText: text "Sometimes, a" line "healthy #MON" @@ -71,5 +71,5 @@ GoldenrodPPSpeechHouse_MapEventHeader: .PersonEvents: db 2 - person_event SPRITE_FISHER, 4, 2, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, FisherScript_0x5564a, -1 - person_event SPRITE_LASS, 3, 5, SPRITEMOVEDATA_STANDING_LEFT, 1, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, LassScript_0x5564d, -1 + person_event SPRITE_FISHER, 4, 2, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, GoldenrodPPSpeechHouseFisherScript, -1 + person_event SPRITE_LASS, 3, 5, SPRITEMOVEDATA_STANDING_LEFT, 1, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, GoldenrodPPSpeechHouseLassScript, -1 diff --git a/maps/GoldenrodPokeComCenter2FMobile.asm b/maps/GoldenrodPokeComCenter2FMobile.asm index 289284ee5..ec4bb3f28 100644 --- a/maps/GoldenrodPokeComCenter2FMobile.asm +++ b/maps/GoldenrodPokeComCenter2FMobile.asm @@ -10,14 +10,14 @@ GoldenrodPokeComCenter2FMobile_MapScriptHeader: .MapCallbacks: db 0 -ScientistScript_0x625d1: - jumptextfaceplayer UnknownText_0x62674 +GoldenrodPokeComCenter2FMobileScientist1Script: + jumptextfaceplayer GoldenrodPokeComCenter2FMobileScientist1Text -ScientistScript_0x625d4: - jumptextfaceplayer UnknownText_0x626f9 +GoldenrodPokeComCenter2FMobileScientist2Script: + jumptextfaceplayer GoldenrodPokeComCenter2FMobileScientist2Text -ScientistScript_0x625d7: - jumptextfaceplayer UnknownText_0x62795 +GoldenrodPokeComCenter2FMobileScientist3Script: + jumptextfaceplayer GoldenrodPokeComCenter2FMobileScientist3Text MapGoldenrodPokeComCenter2FMobileSignpost0Script: opentext @@ -112,7 +112,7 @@ MenuDataHeader_0x6264c: MapGoldenrodPokeComCenter2FMobileSignpost2Script: jumptext UnknownText_0x62b26 -UnknownText_0x62674: +GoldenrodPokeComCenter2FMobileScientist1Text: text "#COM CENTER and" line "MOBILE CENTER were" @@ -126,7 +126,7 @@ UnknownText_0x62674: line "strangers." done -UnknownText_0x626f9: +GoldenrodPokeComCenter2FMobileScientist2Text: text "When you linked" line "with someone by" @@ -143,7 +143,7 @@ UnknownText_0x626f9: line "got the shakes!" done -UnknownText_0x62795: +GoldenrodPokeComCenter2FMobileScientist3Text: text "They were able to" line "build this huge" @@ -288,6 +288,6 @@ GoldenrodPokeComCenter2FMobile_MapEventHeader: .PersonEvents: db 3 - person_event SPRITE_SCIENTIST, 28, 4, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, ScientistScript_0x625d1, -1 - person_event SPRITE_SCIENTIST, 27, 7, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, ScientistScript_0x625d4, -1 - person_event SPRITE_SCIENTIST, 29, 7, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, ScientistScript_0x625d7, -1 + person_event SPRITE_SCIENTIST, 28, 4, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, GoldenrodPokeComCenter2FMobileScientist1Script, -1 + person_event SPRITE_SCIENTIST, 27, 7, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, GoldenrodPokeComCenter2FMobileScientist2Script, -1 + person_event SPRITE_SCIENTIST, 29, 7, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, GoldenrodPokeComCenter2FMobileScientist3Script, -1 diff --git a/maps/GoldenrodPokecenter1F.asm b/maps/GoldenrodPokecenter1F.asm index fc82c2549..e39832ab2 100644 --- a/maps/GoldenrodPokecenter1F.asm +++ b/maps/GoldenrodPokecenter1F.asm @@ -79,11 +79,11 @@ GoldenrodPokecenter1F_GSBallTriggerRight: .cancel end -GameboyKidScript_0x6101e: - jumptextfaceplayer UnknownText_0x62105 +GoldenrodPokecenter1FGameboyKidScript: + jumptextfaceplayer GoldenrodPokecenter1FGameboyKidText -LassScript_0x61021: - jumptextfaceplayer UnknownText_0x62260 +GoldenrodPokecenter1FLassScript: + jumptextfaceplayer GoldenrodPokecenter1FLassText PokefanFScript_0x61024: faceplayer @@ -663,7 +663,7 @@ UnknownText_0x620a1: cont "NEWS?" done -UnknownText_0x62105: +GoldenrodPokecenter1FGameboyKidText: text "The COLOSSEUM" line "upstairs is for" cont "link battles." @@ -701,7 +701,7 @@ UnknownText_0x62222: line "younger!" done -UnknownText_0x62260: +GoldenrodPokecenter1FLassText: text "A higher level" line "#MON doesn't" cont "always win." @@ -827,6 +827,6 @@ GoldenrodPokecenter1F_MapEventHeader: db 5 person_event SPRITE_NURSE, 1, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, NurseScript_0x60f91, -1 person_event SPRITE_LINK_RECEPTIONIST, 8, 16, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, ObjectEvent, -1 - person_event SPRITE_GAMEBOY_KID, 1, 6, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, GameboyKidScript_0x6101e, -1 - person_event SPRITE_LASS, 4, 1, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, 0, PERSONTYPE_SCRIPT, 0, LassScript_0x61021, -1 + person_event SPRITE_GAMEBOY_KID, 1, 6, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, GoldenrodPokecenter1FGameboyKidScript, -1 + person_event SPRITE_LASS, 4, 1, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, 0, PERSONTYPE_SCRIPT, 0, GoldenrodPokecenter1FLassScript, -1 person_event SPRITE_POKEFAN_F, 5, 7, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BROWN, PERSONTYPE_SCRIPT, 0, PokefanFScript_0x61024, -1 diff --git a/maps/IlexForestAzaleaGate.asm b/maps/IlexForestAzaleaGate.asm index 8105d6f32..b8d5b5481 100644 --- a/maps/IlexForestAzaleaGate.asm +++ b/maps/IlexForestAzaleaGate.asm @@ -9,19 +9,19 @@ IlexForestAzaleaGate_MapScriptHeader: .MapCallbacks: db 0 -OfficerScript_0x62c7a: - jumptextfaceplayer UnknownText_0x62c80 +IlexForestAzaleaGateOfficerScript: + jumptextfaceplayer IlexForestAzaleaGateOfficerText -GrannyScript_0x62c7d: - jumptextfaceplayer UnknownText_0x62cb0 +IlexForestAzaleaGateGrannyScript: + jumptextfaceplayer IlexForestAzaleaGateGrannyText -UnknownText_0x62c80: +IlexForestAzaleaGateOfficerText: text "ILEX FOREST is" line "big. Be careful!" cont "Don't get lost." done -UnknownText_0x62cb0: +IlexForestAzaleaGateGrannyText: text "The FOREST is" line "watched over by" cont "its protector." @@ -49,5 +49,5 @@ IlexForestAzaleaGate_MapEventHeader: .PersonEvents: db 2 - person_event SPRITE_OFFICER, 2, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, OfficerScript_0x62c7a, -1 - person_event SPRITE_GRANNY, 3, 1, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BROWN, PERSONTYPE_SCRIPT, 0, GrannyScript_0x62c7d, -1 + person_event SPRITE_OFFICER, 2, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, IlexForestAzaleaGateOfficerScript, -1 + person_event SPRITE_GRANNY, 3, 1, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BROWN, PERSONTYPE_SCRIPT, 0, IlexForestAzaleaGateGrannyScript, -1 diff --git a/maps/IndigoPlateauPokecenter1F.asm b/maps/IndigoPlateauPokecenter1F.asm index 080d319d6..5e3850a80 100644 --- a/maps/IndigoPlateauPokecenter1F.asm +++ b/maps/IndigoPlateauPokecenter1F.asm @@ -145,8 +145,8 @@ ClerkScript_0x18012f: closetext end -CooltrainerMScript_0x180136: - jumptextfaceplayer UnknownText_0x180178 +IndigoPlateauPokecenter1FCooltrainerMScript: + jumptextfaceplayer IndigoPlateauPokecenter1FCooltrainerMText TeleportGuyScript: faceplayer @@ -203,7 +203,7 @@ PlateauRivalLeavesMovement: step DOWN step_end -UnknownText_0x180178: +IndigoPlateauPokecenter1FCooltrainerMText: text "At the #MON" line "LEAGUE, you'll get" @@ -325,7 +325,7 @@ IndigoPlateauPokecenter1F_MapEventHeader: db 6 person_event SPRITE_NURSE, 7, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, NurseScript_0x18012c, -1 person_event SPRITE_CLERK, 7, 11, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, ClerkScript_0x18012f, -1 - person_event SPRITE_COOLTRAINER_M, 11, 11, SPRITEMOVEDATA_WANDER, 2, 2, -1, -1, 0, PERSONTYPE_SCRIPT, 0, CooltrainerMScript_0x180136, -1 + person_event SPRITE_COOLTRAINER_M, 11, 11, SPRITEMOVEDATA_WANDER, 2, 2, -1, -1, 0, PERSONTYPE_SCRIPT, 0, IndigoPlateauPokecenter1FCooltrainerMScript, -1 person_event SPRITE_SILVER, 9, 16, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, ObjectEvent, EVENT_INDIGO_PLATEAU_POKECENTER_RIVAL person_event SPRITE_GRAMPS, 9, 1, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, TeleportGuyScript, EVENT_TELEPORT_GUY person_event SPRITE_JYNX, 9, 0, SPRITEMOVEDATA_POKEMON, 0, 0, -1, -1, PAL_NPC_BROWN, PERSONTYPE_SCRIPT, 0, AbraScript, EVENT_TELEPORT_GUY diff --git a/maps/LakeOfRage.asm b/maps/LakeOfRage.asm index c6d56a03b..f09981f1e 100644 --- a/maps/LakeOfRage.asm +++ b/maps/LakeOfRage.asm @@ -121,11 +121,11 @@ UnknownScript_0x7009c: closetext end -SuperNerdScript_0x700a2: - jumptextfaceplayer UnknownText_0x70444 +LakeOfRageSuperNerdScript: + jumptextfaceplayer LakeOfRageSuperNerdText -CooltrainerFScript_0x700a5: - jumptextfaceplayer UnknownText_0x704bb +LakeOfRageCooltrainerFScript: + jumptextfaceplayer LakeOfRageCooltrainerFText MapLakeOfRageSignpost0Script: jumptext UnknownText_0x708d7 @@ -336,7 +336,7 @@ UnknownText_0x70421: line "KARP are biting!" done -UnknownText_0x70444: +LakeOfRageSuperNerdText: text "I heard this lake" line "was made by ram-" cont "paging GYARADOS." @@ -348,7 +348,7 @@ UnknownText_0x70444: line "break now?" done -UnknownText_0x704bb: +LakeOfRageCooltrainerFText: text "Did my eyes de-" line "ceive me? I saw a" @@ -520,8 +520,8 @@ LakeOfRage_MapEventHeader: db 12 person_event SPRITE_LANCE, 28, 21, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, LanceScript_0x70022, EVENT_LAKE_OF_RAGE_LANCE person_event SPRITE_GRAMPS, 26, 20, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, GrampsScript_0x7008e, -1 - person_event SPRITE_SUPER_NERD, 13, 36, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, SuperNerdScript_0x700a2, -1 - person_event SPRITE_COOLTRAINER_F, 29, 25, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, 0, PERSONTYPE_SCRIPT, 0, CooltrainerFScript_0x700a5, -1 + person_event SPRITE_SUPER_NERD, 13, 36, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, LakeOfRageSuperNerdScript, -1 + person_event SPRITE_COOLTRAINER_F, 29, 25, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, 0, PERSONTYPE_SCRIPT, 0, LakeOfRageCooltrainerFScript, -1 person_event SPRITE_FISHER, 23, 30, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_TRAINER, 1, TrainerFisherAndre, EVENT_LAKE_OF_RAGE_CIVILIANS person_event SPRITE_FISHER, 26, 24, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_TRAINER, 1, TrainerFisherRaymond, EVENT_LAKE_OF_RAGE_CIVILIANS person_event SPRITE_COOLTRAINER_M, 15, 4, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_TRAINER, 1, TrainerCooltrainermAaron, EVENT_LAKE_OF_RAGE_CIVILIANS diff --git a/maps/LavRadioTower1F.asm b/maps/LavRadioTower1F.asm index 1ad1bd35e..29f1cfc91 100644 --- a/maps/LavRadioTower1F.asm +++ b/maps/LavRadioTower1F.asm @@ -12,14 +12,14 @@ LavRadioTower1F_MapScriptHeader: .MapCallbacks: db 0 -ReceptionistScript_0x7ee63: - jumptextfaceplayer UnknownText_0x7eebf +LavRadioTower1FReceptionistScript: + jumptextfaceplayer LavRadioTower1FReceptionistText -OfficerScript_0x7ee66: - jumptextfaceplayer UnknownText_0x7eefa +LavRadioTower1FOfficerScript: + jumptextfaceplayer LavRadioTower1FOfficerText -SuperNerdScript_0x7ee69: - jumptextfaceplayer UnknownText_0x7ef90 +LavRadioTower1FSuperNerdScript: + jumptextfaceplayer LavRadioTower1FSuperNerdText GentlemanScript_0x7ee6c: faceplayer @@ -77,7 +77,7 @@ MapLavRadioTower1FSignpost1Script: UnknownScript_0x7eebc: jumptext UnknownText_0x7f36b -UnknownText_0x7eebf: +LavRadioTower1FReceptionistText: text "Welcome!" line "Feel free to look" @@ -85,7 +85,7 @@ UnknownText_0x7eebf: line "this floor." done -UnknownText_0x7eefa: +LavRadioTower1FOfficerText: text "Sorry, but you can" line "only tour the" cont "ground floor." @@ -100,7 +100,7 @@ UnknownText_0x7eefa: line "up our security." done -UnknownText_0x7ef90: +LavRadioTower1FSuperNerdText: text "Many people are" line "hard at work here" @@ -240,8 +240,8 @@ LavRadioTower1F_MapEventHeader: .PersonEvents: db 5 - person_event SPRITE_RECEPTIONIST, 6, 6, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, ReceptionistScript_0x7ee63, -1 - person_event SPRITE_OFFICER, 1, 15, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, OfficerScript_0x7ee66, -1 - person_event SPRITE_SUPER_NERD, 3, 1, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, SuperNerdScript_0x7ee69, -1 + person_event SPRITE_RECEPTIONIST, 6, 6, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, LavRadioTower1FReceptionistScript, -1 + person_event SPRITE_OFFICER, 1, 15, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, LavRadioTower1FOfficerScript, -1 + person_event SPRITE_SUPER_NERD, 3, 1, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, LavRadioTower1FSuperNerdScript, -1 person_event SPRITE_GENTLEMAN, 1, 9, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, GentlemanScript_0x7ee6c, -1 person_event SPRITE_SUPER_NERD, 6, 14, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, SuperNerdScript_0x7eea2, -1 diff --git a/maps/LavenderMart.asm b/maps/LavenderMart.asm index 499e1187e..ba43dc2df 100644 --- a/maps/LavenderMart.asm +++ b/maps/LavenderMart.asm @@ -16,13 +16,13 @@ ClerkScript_0x7eb1c: closetext end -PokefanMScript_0x7eb23: - jumptextfaceplayer UnknownText_0x7eb29 +LavenderMartPokefanMScript: + jumptextfaceplayer LavenderMartPokefanMText -RockerScript_0x7eb26: - jumptextfaceplayer UnknownText_0x7ebac +LavenderMartRockerScript: + jumptextfaceplayer LavenderMartRockerText -UnknownText_0x7eb29: +LavenderMartPokefanMText: text "REPEL is a neces-" line "sity if you are" @@ -36,7 +36,7 @@ UnknownText_0x7eb29: line "all the caves." done -UnknownText_0x7ebac: +LavenderMartRockerText: text "I heard about a" line "craftsman who" @@ -65,5 +65,5 @@ LavenderMart_MapEventHeader: .PersonEvents: db 3 person_event SPRITE_CLERK, 3, 1, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, ClerkScript_0x7eb1c, -1 - person_event SPRITE_POKEFAN_M, 6, 6, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 2, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, PokefanMScript_0x7eb23, -1 - person_event SPRITE_ROCKER, 2, 9, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, RockerScript_0x7eb26, -1 + person_event SPRITE_POKEFAN_M, 6, 6, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 2, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, LavenderMartPokefanMScript, -1 + person_event SPRITE_ROCKER, 2, 9, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, LavenderMartRockerScript, -1 diff --git a/maps/LavenderPokecenter1F.asm b/maps/LavenderPokecenter1F.asm index c961364d5..5b740df4a 100644 --- a/maps/LavenderPokecenter1F.asm +++ b/maps/LavenderPokecenter1F.asm @@ -14,11 +14,11 @@ LavenderPokecenter1F_MapScriptHeader: NurseScript_0x7e6a0: jumpstd pokecenternurse -GentlemanScript_0x7e6a3: - jumptextfaceplayer UnknownText_0x7e6bd +LavenderPokecenter1FGentlemanScript: + jumptextfaceplayer LavenderPokecenter1FGentlemanText -TeacherScript_0x7e6a6: - jumptextfaceplayer UnknownText_0x7e710 +LavenderPokecenter1FTeacherScript: + jumptextfaceplayer LavenderPokecenter1FTeacherText YoungsterScript_0x7e6a9: faceplayer @@ -36,7 +36,7 @@ UnknownScript_0x7e6b7: closetext end -UnknownText_0x7e6bd: +LavenderPokecenter1FGentlemanText: text "To the north of" line "LAVENDER is ROCK" @@ -45,7 +45,7 @@ UnknownText_0x7e6bd: cont "POWER PLANT." done -UnknownText_0x7e710: +LavenderPokecenter1FTeacherText: text "There's a radio" line "program that plays" cont "# FLUTE music." @@ -99,6 +99,6 @@ LavenderPokecenter1F_MapEventHeader: .PersonEvents: db 4 person_event SPRITE_NURSE, 1, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, NurseScript_0x7e6a0, -1 - person_event SPRITE_GENTLEMAN, 6, 7, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, 0, PERSONTYPE_SCRIPT, 0, GentlemanScript_0x7e6a3, -1 - person_event SPRITE_TEACHER, 3, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, TeacherScript_0x7e6a6, -1 + person_event SPRITE_GENTLEMAN, 6, 7, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, 0, PERSONTYPE_SCRIPT, 0, LavenderPokecenter1FGentlemanScript, -1 + person_event SPRITE_TEACHER, 3, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, LavenderPokecenter1FTeacherScript, -1 person_event SPRITE_YOUNGSTER, 5, 1, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, YoungsterScript_0x7e6a9, -1 diff --git a/maps/LavenderTown.asm b/maps/LavenderTown.asm index 65bb780f2..9ed0c9c5a 100644 --- a/maps/LavenderTown.asm +++ b/maps/LavenderTown.asm @@ -16,17 +16,17 @@ LavenderTown_MapScriptHeader: setflag ENGINE_FLYPOINT_LAVENDER return -PokefanMScript_0x1ad6e4: - jumptextfaceplayer UnknownText_0x1ad702 +LavenderTownPokefanMScript: + jumptextfaceplayer LavenderTownPokefanMText -TeacherScript_0x1ad6e7: - jumptextfaceplayer UnknownText_0x1ad73a +LavenderTownTeacherScript: + jumptextfaceplayer LavenderTownTeacherText -GrampsScript_0x1ad6ea: - jumptextfaceplayer UnknownText_0x1ad75c +LavenderTownGrampsScript: + jumptextfaceplayer LavenderTownGrampsText -YoungsterScript_0x1ad6ed: - jumptextfaceplayer UnknownText_0x1ad7ac +LavenderTownYoungsterScript: + jumptextfaceplayer LavenderTownYoungsterText LavenderTownSign: jumptext LavenderTownSignText @@ -46,7 +46,7 @@ LavenderPokecenterSignText: LavenderMartSignText: jumpstd martsign -UnknownText_0x1ad702: +LavenderTownPokefanMText: text "That's quite some" line "building, eh?" @@ -54,12 +54,12 @@ UnknownText_0x1ad702: line "TOWER." done -UnknownText_0x1ad73a: +LavenderTownTeacherText: text "KANTO has many" line "good radio shows." done -UnknownText_0x1ad75c: +LavenderTownGrampsText: text "People come from" line "all over to pay" @@ -68,7 +68,7 @@ UnknownText_0x1ad75c: cont "of #MON." done -UnknownText_0x1ad7ac: +LavenderTownYoungsterText: text "You need a #" line "FLUTE to wake" cont "sleeping #MON." @@ -133,7 +133,7 @@ LavenderTown_MapEventHeader: .PersonEvents: db 4 - person_event SPRITE_POKEFAN_M, 7, 12, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, PokefanMScript_0x1ad6e4, -1 - person_event SPRITE_TEACHER, 15, 2, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, TeacherScript_0x1ad6e7, -1 - person_event SPRITE_GRAMPS, 12, 14, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, GrampsScript_0x1ad6ea, -1 - person_event SPRITE_YOUNGSTER, 11, 6, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 1, YoungsterScript_0x1ad6ed, -1 + person_event SPRITE_POKEFAN_M, 7, 12, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, LavenderTownPokefanMScript, -1 + person_event SPRITE_TEACHER, 15, 2, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, LavenderTownTeacherScript, -1 + person_event SPRITE_GRAMPS, 12, 14, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, LavenderTownGrampsScript, -1 + person_event SPRITE_YOUNGSTER, 11, 6, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 1, LavenderTownYoungsterScript, -1 diff --git a/maps/LavenderTownSpeechHouse.asm b/maps/LavenderTownSpeechHouse.asm index 7ba3064e2..d9432bcc5 100644 --- a/maps/LavenderTownSpeechHouse.asm +++ b/maps/LavenderTownSpeechHouse.asm @@ -8,13 +8,13 @@ LavenderTownSpeechHouse_MapScriptHeader: .MapCallbacks: db 0 -PokefanFScript_0x7ea47: - jumptextfaceplayer UnknownText_0x7ea4d +LavenderTownSpeechHousePokefanFScript: + jumptextfaceplayer LavenderTownSpeechHousePokefanFText LavenderTownSpeechHouseBookshelf: jumpstd picturebookshelf -UnknownText_0x7ea4d: +LavenderTownSpeechHousePokefanFText: text "LAVENDER is a" line "tiny, quiet town" @@ -47,4 +47,4 @@ LavenderTownSpeechHouse_MapEventHeader: .PersonEvents: db 1 - person_event SPRITE_POKEFAN_F, 3, 2, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, PokefanFScript_0x7ea47, -1 + person_event SPRITE_POKEFAN_F, 3, 2, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, LavenderTownSpeechHousePokefanFScript, -1 diff --git a/maps/MahoganyPokecenter1F.asm b/maps/MahoganyPokecenter1F.asm index 73c978836..7c98250f4 100644 --- a/maps/MahoganyPokecenter1F.asm +++ b/maps/MahoganyPokecenter1F.asm @@ -14,16 +14,16 @@ MahoganyPokecenter1F_MapScriptHeader: NurseScript_0x19a356: jumpstd pokecenternurse -PokefanMScript_0x19a359: - jumptextfaceplayer UnknownText_0x19a362 +MahoganyPokecenter1FPokefanMScript: + jumptextfaceplayer MahoganyPokecenter1FPokefanMText -YoungsterScript_0x19a35c: - jumptextfaceplayer UnknownText_0x19a3b3 +MahoganyPokecenter1FYoungsterScript: + jumptextfaceplayer MahoganyPokecenter1FYoungsterText -CooltrainerFScript_0x19a35f: - jumptextfaceplayer UnknownText_0x19a418 +MahoganyPokecenter1FCooltrainerFScript: + jumptextfaceplayer MahoganyPokecenter1FCooltrainerFText -UnknownText_0x19a362: +MahoganyPokecenter1FPokefanMText: text "What's this? TEAM" line "ROCKET has come" cont "back?" @@ -33,7 +33,7 @@ UnknownText_0x19a362: cont "RAGE…" done -UnknownText_0x19a3b3: +MahoganyPokecenter1FYoungsterText: text "I stop my #MON" line "from evolving too" cont "early." @@ -44,7 +44,7 @@ UnknownText_0x19a3b3: cont "evolve." done -UnknownText_0x19a418: +MahoganyPokecenter1FCooltrainerFText: text "#MON do become" line "stronger when they" @@ -72,6 +72,6 @@ MahoganyPokecenter1F_MapEventHeader: .PersonEvents: db 4 person_event SPRITE_NURSE, 1, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, NurseScript_0x19a356, -1 - person_event SPRITE_POKEFAN_M, 2, 7, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, PokefanMScript_0x19a359, -1 - person_event SPRITE_YOUNGSTER, 3, 1, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, YoungsterScript_0x19a35c, -1 - person_event SPRITE_COOLTRAINER_F, 3, 2, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, CooltrainerFScript_0x19a35f, -1 + person_event SPRITE_POKEFAN_M, 2, 7, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, MahoganyPokecenter1FPokefanMScript, -1 + person_event SPRITE_YOUNGSTER, 3, 1, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, MahoganyPokecenter1FYoungsterScript, -1 + person_event SPRITE_COOLTRAINER_F, 3, 2, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, MahoganyPokecenter1FCooltrainerFScript, -1 diff --git a/maps/MahoganyRedGyaradosSpeechHouse.asm b/maps/MahoganyRedGyaradosSpeechHouse.asm index c03e07361..0361f5195 100644 --- a/maps/MahoganyRedGyaradosSpeechHouse.asm +++ b/maps/MahoganyRedGyaradosSpeechHouse.asm @@ -9,8 +9,8 @@ MahoganyRedGyaradosSpeechHouse_MapScriptHeader: .MapCallbacks: db 0 -BlackBeltScript_0x19997f: - jumptextfaceplayer UnknownText_0x19999c +MahoganyRedGyaradosSpeechHouseBlackBeltScript: + jumptextfaceplayer MahoganyRedGyaradosSpeechHouseBlackBeltText TeacherScript_0x199982: faceplayer @@ -34,7 +34,7 @@ UnknownScript_0x195996: UnknownScript_0x195999: jumpstd magazinebookshelf -UnknownText_0x19999c: +MahoganyRedGyaradosSpeechHouseBlackBeltText: text "I heard that a red" line "GYARADOS appeared" cont "at the LAKE." @@ -77,5 +77,5 @@ MahoganyRedGyaradosSpeechHouse_MapEventHeader: .PersonEvents: db 2 - person_event SPRITE_BLACK_BELT, 3, 2, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, BlackBeltScript_0x19997f, -1 + person_event SPRITE_BLACK_BELT, 3, 2, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, MahoganyRedGyaradosSpeechHouseBlackBeltScript, -1 person_event SPRITE_TEACHER, 5, 6, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, TeacherScript_0x199982, -1 diff --git a/maps/MahoganyTown.asm b/maps/MahoganyTown.asm index 5439e065c..9655b7073 100644 --- a/maps/MahoganyTown.asm +++ b/maps/MahoganyTown.asm @@ -103,11 +103,11 @@ UnknownScript_0x19008c: closetext end -FisherScript_0x190092: - jumptextfaceplayer UnknownText_0x190276 +MahoganyTownFisherScript: + jumptextfaceplayer MahoganyTownFisherText -LassScript_0x190095: - jumptextfaceplayer UnknownText_0x1902f2 +MahoganyTownLassScript: + jumptextfaceplayer MahoganyTownLassText MahoganyTownSign: jumptext MahoganyTownSignText @@ -200,7 +200,7 @@ UnknownText_0x19021d: cont "anglers there." done -UnknownText_0x190276: +MahoganyTownFisherText: text "Since you came" line "this far, take the" @@ -214,7 +214,7 @@ UnknownText_0x190276: line "right now." done -UnknownText_0x1902f2: +MahoganyTownLassText: text "Visit Grandma's" line "shop. She sells" @@ -272,5 +272,5 @@ MahoganyTown_MapEventHeader: db 4 person_event SPRITE_POKEFAN_M, 8, 19, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, PokefanMScript_0x19002e, EVENT_MAHOGANY_TOWN_POKEFAN_M_BLOCKS_EAST person_event SPRITE_GRAMPS, 9, 6, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, 0, PERSONTYPE_SCRIPT, 0, GrampsScript_0x19007e, -1 - person_event SPRITE_FISHER, 14, 6, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, FisherScript_0x190092, EVENT_MAHOGANY_TOWN_POKEFAN_M_BLOCKS_GYM - person_event SPRITE_LASS, 8, 12, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, LassScript_0x190095, EVENT_MAHOGANY_MART_OWNERS + person_event SPRITE_FISHER, 14, 6, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, MahoganyTownFisherScript, EVENT_MAHOGANY_TOWN_POKEFAN_M_BLOCKS_GYM + person_event SPRITE_LASS, 8, 12, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, MahoganyTownLassScript, EVENT_MAHOGANY_MART_OWNERS diff --git a/maps/MountMoonGiftShop.asm b/maps/MountMoonGiftShop.asm index aa0b97167..8dfe26579 100644 --- a/maps/MountMoonGiftShop.asm +++ b/maps/MountMoonGiftShop.asm @@ -18,10 +18,10 @@ GrampsScript_0x771a8: closetext end -LassScript_0x771b0: - jumptextfaceplayer UnknownText_0x771b3 +MountMoonGiftShopLassScript: + jumptextfaceplayer MountMoonGiftShopLassText -UnknownText_0x771b3: +MountMoonGiftShopLassText: text "When the sun goes" line "down, CLEFAIRY" cont "come out to play." @@ -46,5 +46,5 @@ MountMoonGiftShop_MapEventHeader: db 4 person_event SPRITE_GRAMPS, 3, 4, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, MORN, 0, PERSONTYPE_SCRIPT, 0, GrampsScript_0x771a8, -1 person_event SPRITE_GRAMPS, 2, 1, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, DAY, 0, PERSONTYPE_SCRIPT, 0, GrampsScript_0x771a8, -1 - person_event SPRITE_LASS, 6, 1, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, MORN, 0, PERSONTYPE_SCRIPT, 0, LassScript_0x771b0, -1 - person_event SPRITE_LASS, 4, 5, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, DAY, 0, PERSONTYPE_SCRIPT, 0, LassScript_0x771b0, -1 + person_event SPRITE_LASS, 6, 1, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, MORN, 0, PERSONTYPE_SCRIPT, 0, MountMoonGiftShopLassScript, -1 + person_event SPRITE_LASS, 4, 5, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, DAY, 0, PERSONTYPE_SCRIPT, 0, MountMoonGiftShopLassScript, -1 diff --git a/maps/MrFujisHouse.asm b/maps/MrFujisHouse.asm index a439b7b54..35b7dbcf8 100644 --- a/maps/MrFujisHouse.asm +++ b/maps/MrFujisHouse.asm @@ -12,11 +12,11 @@ MrFujisHouse_MapScriptHeader: .MapCallbacks: db 0 -SuperNerdScript_0x7e8ca: - jumptextfaceplayer UnknownText_0x7e8f1 +MrFujisHouseSuperNerdScript: + jumptextfaceplayer MrFujisHouseSuperNerdText -LassScript_0x7e8cd: - jumptextfaceplayer UnknownText_0x7e940 +MrFujisHouseLassScript: + jumptextfaceplayer MrFujisHouseLassText MrFujisPsyduck: opentext @@ -45,7 +45,7 @@ MrFujisPidgey: MrFujisHouseBookshelf: jumpstd difficultbookshelf -UnknownText_0x7e8f1: +MrFujisHouseSuperNerdText: text "MR.FUJI does live" line "here, but he's not" @@ -55,7 +55,7 @@ UnknownText_0x7e8f1: line "the SOUL HOUSE." done -UnknownText_0x7e940: +MrFujisHouseLassText: text "Some cold-hearted" line "people stop caring" cont "for their #MON." @@ -98,8 +98,8 @@ MrFujisHouse_MapEventHeader: .PersonEvents: db 5 - person_event SPRITE_SUPER_NERD, 1, 4, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, SuperNerdScript_0x7e8ca, -1 - person_event SPRITE_LASS, 4, 3, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, 0, PERSONTYPE_SCRIPT, 0, LassScript_0x7e8cd, -1 + person_event SPRITE_SUPER_NERD, 1, 4, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, MrFujisHouseSuperNerdScript, -1 + person_event SPRITE_LASS, 4, 3, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, 0, PERSONTYPE_SCRIPT, 0, MrFujisHouseLassScript, -1 person_event SPRITE_RHYDON, 4, 7, SPRITEMOVEDATA_POKEMON, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, MrFujisPsyduck, -1 person_event SPRITE_GROWLITHE, 5, 5, SPRITEMOVEDATA_POKEMON, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, MrFujisNidorino, -1 person_event SPRITE_MOLTRES, 3, 1, SPRITEMOVEDATA_POKEMON, 0, 0, -1, -1, PAL_NPC_BROWN, PERSONTYPE_SCRIPT, 0, MrFujisPidgey, -1 diff --git a/maps/NationalPark.asm b/maps/NationalPark.asm index 6298f3e34..c1b953bd1 100644 --- a/maps/NationalPark.asm +++ b/maps/NationalPark.asm @@ -21,11 +21,11 @@ NationalPark_MapScriptHeader: .MapCallbacks: db 0 -LassScript_0x5c002: - jumptextfaceplayer UnknownText_0x5c1d3 +NationalParkLassScript: + jumptextfaceplayer NationalParkLassText -PokefanFScript_0x5c005: - jumptextfaceplayer UnknownText_0x5c22e +NationalParkPokefanFScript: + jumptextfaceplayer NationalParkPokefanFText TeacherScript_0x5c008: faceplayer @@ -44,14 +44,14 @@ UnknownScript_0x5c021: closetext end -YoungsterScript_0x5c023: - jumptextfaceplayer UnknownText_0x5c35d +NationalParkYoungster1Script: + jumptextfaceplayer NationalParkYoungster1Text -YoungsterScript_0x5c026: - jumptextfaceplayer UnknownText_0x5c38f +NationalParkYoungster2Script: + jumptextfaceplayer NationalParkYoungster2Text -TeacherScript_0x5c029: - jumptextfaceplayer UnknownText_0x5c3bc +NationalParkTeacherScript: + jumptextfaceplayer NationalParkTeacherText NationalParkPersian: faceplayer @@ -308,7 +308,7 @@ NationalParkHiddenFullHeal: dwb EVENT_NATIONAL_PARK_HIDDEN_FULL_HEAL, FULL_HEAL -UnknownText_0x5c1d3: +NationalParkLassText: text "Look! Check out my" line "bag!" @@ -319,7 +319,7 @@ UnknownText_0x5c1d3: line "them on my bag." done -UnknownText_0x5c22e: +NationalParkPokefanFText: text "This is MAIL I got" line "from my daughter." cont "It cheers me up." @@ -354,19 +354,19 @@ UnknownText_0x5c30d: cont "during battle." done -UnknownText_0x5c35d: +NationalParkYoungster1Text: text "I'm playing with" line "stickers I printed" cont "from my #DEX." done -UnknownText_0x5c38f: +NationalParkYoungster2Text: text "I get the other" line "guy's #DEX" cont "sticker if I win." done -UnknownText_0x5c3bc: +NationalParkTeacherText: text "I take walks in" line "the PARK, but I" @@ -537,12 +537,12 @@ NationalPark_MapEventHeader: .PersonEvents: db 14 - person_event SPRITE_LASS, 24, 15, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, LassScript_0x5c002, -1 - person_event SPRITE_POKEFAN_F, 4, 14, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, PokefanFScript_0x5c005, -1 + person_event SPRITE_LASS, 24, 15, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, NationalParkLassScript, -1 + person_event SPRITE_POKEFAN_F, 4, 14, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, NationalParkPokefanFScript, -1 person_event SPRITE_TEACHER, 40, 27, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, TeacherScript_0x5c008, -1 - person_event SPRITE_YOUNGSTER, 41, 11, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, YoungsterScript_0x5c023, -1 - person_event SPRITE_YOUNGSTER, 41, 10, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, YoungsterScript_0x5c026, -1 - person_event SPRITE_TEACHER, 41, 17, SPRITEMOVEDATA_WANDER, 2, 1, -1, -1, 0, PERSONTYPE_SCRIPT, 0, TeacherScript_0x5c029, -1 + person_event SPRITE_YOUNGSTER, 41, 11, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, NationalParkYoungster1Script, -1 + person_event SPRITE_YOUNGSTER, 41, 10, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, NationalParkYoungster2Script, -1 + person_event SPRITE_TEACHER, 41, 17, SPRITEMOVEDATA_WANDER, 2, 1, -1, -1, 0, PERSONTYPE_SCRIPT, 0, NationalParkTeacherScript, -1 person_event SPRITE_GROWLITHE, 40, 26, SPRITEMOVEDATA_POKEMON, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, NationalParkPersian, -1 person_event SPRITE_YOUNGSTER, 23, 27, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_TRAINER, 3, TrainerSchoolboyJack1, -1 person_event SPRITE_POKEFAN_F, 29, 18, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_TRAINER, 2, TrainerPokefanfBeverly1, -1 diff --git a/maps/OlivineCafe.asm b/maps/OlivineCafe.asm index 9cf4e67f6..01216d0bb 100644 --- a/maps/OlivineCafe.asm +++ b/maps/OlivineCafe.asm @@ -25,11 +25,11 @@ UnknownScript_0x9c8d3: closetext end -FishingGuruScript_0x9c8d9: - jumptextfaceplayer UnknownText_0x9c9c5 +OlivineCafeFishingGuruScript: + jumptextfaceplayer OlivineCafeFishingGuruText -SailorScript_0x9c8dc: - jumptextfaceplayer UnknownText_0x9ca09 +OlivineCafeSailorScript: + jumptextfaceplayer OlivineCafeSailorText UnknownText_0x9c8df: text "Hah! Your #MON" @@ -56,7 +56,7 @@ UnknownText_0x9c965: line "buff bod!" done -UnknownText_0x9c9c5: +OlivineCafeFishingGuruText: text "OLIVINE CAFE's" line "menu is chock full" @@ -64,7 +64,7 @@ UnknownText_0x9c9c5: line "beefy SAILORS!" done -UnknownText_0x9ca09: +OlivineCafeSailorText: text "Whenever I roll" line "into this town, I" @@ -96,5 +96,5 @@ OlivineCafe_MapEventHeader: .PersonEvents: db 3 person_event SPRITE_SAILOR, 3, 4, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, SailorScript_0x9c8c1, -1 - person_event SPRITE_FISHING_GURU, 3, 7, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, FishingGuruScript_0x9c8d9, -1 - person_event SPRITE_SAILOR, 6, 6, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, SailorScript_0x9c8dc, -1 + person_event SPRITE_FISHING_GURU, 3, 7, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, OlivineCafeFishingGuruScript, -1 + person_event SPRITE_SAILOR, 6, 6, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, OlivineCafeSailorScript, -1 diff --git a/maps/OlivineCity.asm b/maps/OlivineCity.asm index 21b9943ec..e52dc54f6 100644 --- a/maps/OlivineCity.asm +++ b/maps/OlivineCity.asm @@ -72,8 +72,8 @@ UnknownScript_0x1a886b: special MapCallbackSprites_LoadUsedSpritesGFX end -SailorScript_0x1a88a3: - jumptextfaceplayer UnknownText_0x1a8a58 +OlivineCitySailor1Script: + jumptextfaceplayer OlivineCitySailor1Text StandingYoungsterScript_0x1a88a6: faceplayer @@ -91,8 +91,8 @@ UnknownScript_0x1a88b4: closetext end -SailorScript_0x1a88ba: - jumptextfaceplayer UnknownText_0x1a8b71 +OlivineCitySailor2Script: + jumptextfaceplayer OlivineCitySailor2Text OlivineCitySign: jumptext OlivineCitySignText @@ -207,7 +207,7 @@ UnknownText_0x1a88fa: cont "less weak!" done -UnknownText_0x1a8a58: +OlivineCitySailor1Text: text "Dark roads are" line "dangerous at" cont "night." @@ -240,7 +240,7 @@ UnknownText_0x1a8b41: line "awesome." done -UnknownText_0x1a8b71: +OlivineCitySailor2Text: text "The sea is sweet!" para "Sunsets on the sea" @@ -322,7 +322,7 @@ OlivineCity_MapEventHeader: .PersonEvents: db 4 - person_event SPRITE_SAILOR, 27, 26, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, SailorScript_0x1a88a3, -1 + person_event SPRITE_SAILOR, 27, 26, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, OlivineCitySailor1Script, -1 person_event SPRITE_STANDING_YOUNGSTER, 13, 20, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, StandingYoungsterScript_0x1a88a6, -1 - person_event SPRITE_SAILOR, 21, 17, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, 0, PERSONTYPE_SCRIPT, 0, SailorScript_0x1a88ba, -1 + person_event SPRITE_SAILOR, 21, 17, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, 0, PERSONTYPE_SCRIPT, 0, OlivineCitySailor2Script, -1 person_event SPRITE_OLIVINE_RIVAL, 11, 10, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, ObjectEvent, EVENT_RIVAL_OLIVINE_CITY diff --git a/maps/OlivineHouseBeta.asm b/maps/OlivineHouseBeta.asm index 06cffbe27..b3bc7e4d3 100644 --- a/maps/OlivineHouseBeta.asm +++ b/maps/OlivineHouseBeta.asm @@ -9,8 +9,8 @@ OlivineHouseBeta_MapScriptHeader: .MapCallbacks: db 0 -TeacherScript_0x9c58f: - jumptextfaceplayer UnknownText_0x9c5a2 +OlivineHouseBetaTeacherScript: + jumptextfaceplayer OlivineHouseBetaTeacherText RhydonScript_0x9c592: opentext @@ -26,7 +26,7 @@ OlivineHouseBetaBookshelf1: OlivineHouseBetaBookshelf2: jumpstd magazinebookshelf -UnknownText_0x9c5a2: +OlivineHouseBetaTeacherText: text "When my #MON" line "got sick, the" @@ -58,5 +58,5 @@ OlivineHouseBeta_MapEventHeader: .PersonEvents: db 2 - person_event SPRITE_TEACHER, 3, 2, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, TeacherScript_0x9c58f, -1 + person_event SPRITE_TEACHER, 3, 2, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, OlivineHouseBetaTeacherScript, -1 person_event SPRITE_RHYDON, 4, 6, SPRITEMOVEDATA_WALK_UP_DOWN, 2, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, RhydonScript_0x9c592, -1 diff --git a/maps/OlivineLighthouse1F.asm b/maps/OlivineLighthouse1F.asm index 422e86ad2..40dda9638 100644 --- a/maps/OlivineLighthouse1F.asm +++ b/maps/OlivineLighthouse1F.asm @@ -9,13 +9,13 @@ OlivineLighthouse1F_MapScriptHeader: .MapCallbacks: db 0 -SailorScript_0x5ae67: - jumptextfaceplayer UnknownText_0x5ae6d +OlivineLighthouse1FSailorScript: + jumptextfaceplayer OlivineLighthouse1FSailorText -PokefanFScript_0x5ae6a: - jumptextfaceplayer UnknownText_0x5aec2 +OlivineLighthouse1FPokefanFScript: + jumptextfaceplayer OlivineLighthouse1FPokefanFText -UnknownText_0x5ae6d: +OlivineLighthouse1FSailorText: text "People train at" line "this LIGHTHOUSE." @@ -24,7 +24,7 @@ UnknownText_0x5ae6d: cont "all the trainers." done -UnknownText_0x5aec2: +OlivineLighthouse1FPokefanFText: text "In the past, #-" line "MON used to light" @@ -56,5 +56,5 @@ OlivineLighthouse1F_MapEventHeader: .PersonEvents: db 2 - person_event SPRITE_SAILOR, 2, 8, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, SailorScript_0x5ae67, -1 - person_event SPRITE_POKEFAN_F, 9, 16, SPRITEMOVEDATA_WALK_UP_DOWN, 2, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, PokefanFScript_0x5ae6a, -1 + person_event SPRITE_SAILOR, 2, 8, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, OlivineLighthouse1FSailorScript, -1 + person_event SPRITE_POKEFAN_F, 9, 16, SPRITEMOVEDATA_WALK_UP_DOWN, 2, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, OlivineLighthouse1FPokefanFScript, -1 diff --git a/maps/OlivineMart.asm b/maps/OlivineMart.asm index d54546111..e18ce3f91 100644 --- a/maps/OlivineMart.asm +++ b/maps/OlivineMart.asm @@ -16,13 +16,13 @@ ClerkScript_0x9cac7: closetext end -CooltrainerFScript_0x9cace: - jumptextfaceplayer UnknownText_0x9cad4 +OlivineMartCooltrainerFScript: + jumptextfaceplayer OlivineMartCooltrainerFText -LassScript_0x9cad1: - jumptextfaceplayer UnknownText_0x9cb16 +OlivineMartLassScript: + jumptextfaceplayer OlivineMartLassText -UnknownText_0x9cad4: +OlivineMartCooltrainerFText: text "Do your #MON" line "already know the" @@ -30,7 +30,7 @@ UnknownText_0x9cad4: line "people on water?" done -UnknownText_0x9cb16: +OlivineMartLassText: text "My BUTTERFREE came" line "from my boyfriend" cont "overseas." @@ -63,5 +63,5 @@ OlivineMart_MapEventHeader: .PersonEvents: db 3 person_event SPRITE_CLERK, 3, 1, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, ClerkScript_0x9cac7, -1 - person_event SPRITE_COOLTRAINER_F, 2, 6, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 2, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, CooltrainerFScript_0x9cace, -1 - person_event SPRITE_LASS, 6, 1, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, LassScript_0x9cad1, -1 + person_event SPRITE_COOLTRAINER_F, 2, 6, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 2, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, OlivineMartCooltrainerFScript, -1 + person_event SPRITE_LASS, 6, 1, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, OlivineMartLassScript, -1 diff --git a/maps/OlivinePokecenter1F.asm b/maps/OlivinePokecenter1F.asm index f331c95db..8454b786a 100644 --- a/maps/OlivinePokecenter1F.asm +++ b/maps/OlivinePokecenter1F.asm @@ -17,13 +17,13 @@ NurseScript_0x9c002: FishingGuruScript_0x9c005: jumpstd happinesschecknpc -FisherScript_0x9c008: - jumptextfaceplayer UnknownText_0x9c00e +OlivinePokecenter1FFisherScript: + jumptextfaceplayer OlivinePokecenter1FFisherText -TeacherScript_0x9c00b: - jumptextfaceplayer UnknownText_0x9c086 +OlivinePokecenter1FTeacherScript: + jumptextfaceplayer OlivinePokecenter1FTeacherText -UnknownText_0x9c00e: +OlivinePokecenter1FFisherText: text "The SAILOR in the" line "OLIVINE CAFE next" @@ -37,7 +37,7 @@ UnknownText_0x9c00e: line "big boulders." done -UnknownText_0x9c086: +OlivinePokecenter1FTeacherText: text "There's a person" line "in CIANWOOD CITY" cont "across the sea." @@ -67,5 +67,5 @@ OlivinePokecenter1F_MapEventHeader: db 4 person_event SPRITE_NURSE, 1, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, NurseScript_0x9c002, -1 person_event SPRITE_FISHING_GURU, 4, 8, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, 0, PERSONTYPE_SCRIPT, 0, FishingGuruScript_0x9c005, -1 - person_event SPRITE_FISHER, 3, 2, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, FisherScript_0x9c008, -1 - person_event SPRITE_TEACHER, 1, 7, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, TeacherScript_0x9c00b, -1 + person_event SPRITE_FISHER, 3, 2, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, OlivinePokecenter1FFisherScript, -1 + person_event SPRITE_TEACHER, 1, 7, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, OlivinePokecenter1FTeacherScript, -1 diff --git a/maps/OlivinePort.asm b/maps/OlivinePort.asm index f0137e294..60e5d4d04 100644 --- a/maps/OlivinePort.asm +++ b/maps/OlivinePort.asm @@ -194,8 +194,8 @@ UnknownScript_0x749f8: closetext end -SailorScript_0x749fe: - jumptextfaceplayer UnknownText_0x74cd7 +OlivinePortSailorScript: + jumptextfaceplayer OlivinePortSailorText FishingGuruScript_0x74a01: faceplayer @@ -377,7 +377,7 @@ UnknownText_0x74ca2: para "I wish I could go…" done -UnknownText_0x74cd7: +OlivinePortSailorText: text "We don't want you" line "to fall into the" @@ -405,7 +405,7 @@ OlivinePort_MapEventHeader: .PersonEvents: db 7 person_event SPRITE_SAILOR, 23, 7, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, SailorScript_0x748c0, EVENT_OLIVINE_PORT_SAILOR_AT_GANGWAY - person_event SPRITE_SAILOR, 15, 7, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, SailorScript_0x749fe, EVENT_OLIVINE_PORT_SPRITES_BEFORE_HALL_OF_FAME + person_event SPRITE_SAILOR, 15, 7, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, OlivinePortSailorScript, EVENT_OLIVINE_PORT_SPRITES_BEFORE_HALL_OF_FAME person_event SPRITE_SAILOR, 15, 6, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, SailorScript_0x7499c, EVENT_OLIVINE_PORT_SPRITES_AFTER_HALL_OF_FAME person_event SPRITE_FISHING_GURU, 14, 4, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, FishingGuruScript_0x74a01, EVENT_OLIVINE_PORT_SPRITES_BEFORE_HALL_OF_FAME person_event SPRITE_FISHING_GURU, 14, 13, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, FishingGuruScript_0x74a0c, EVENT_OLIVINE_PORT_SPRITES_BEFORE_HALL_OF_FAME diff --git a/maps/OlivinePortPassage.asm b/maps/OlivinePortPassage.asm index 116a05dfd..2f7a145bc 100644 --- a/maps/OlivinePortPassage.asm +++ b/maps/OlivinePortPassage.asm @@ -8,10 +8,10 @@ OlivinePortPassage_MapScriptHeader: .MapCallbacks: db 0 -PokefanMScript_0x76fac: - jumptextfaceplayer UnknownText_0x76faf +OlivinePortPassagePokefanMScript: + jumptextfaceplayer OlivinePortPassagePokefanMText -UnknownText_0x76faf: +OlivinePortPassagePokefanMText: text "FAST SHIP S.S.AQUA" line "sails to KANTO on" @@ -39,4 +39,4 @@ OlivinePortPassage_MapEventHeader: .PersonEvents: db 1 - person_event SPRITE_POKEFAN_M, 1, 17, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, PokefanMScript_0x76fac, EVENT_OLIVINE_PORT_PASSAGE_POKEFAN_M + person_event SPRITE_POKEFAN_M, 1, 17, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, OlivinePortPassagePokefanMScript, EVENT_OLIVINE_PORT_PASSAGE_POKEFAN_M diff --git a/maps/PalletTown.asm b/maps/PalletTown.asm index 53dd04022..895e79e9c 100644 --- a/maps/PalletTown.asm +++ b/maps/PalletTown.asm @@ -14,11 +14,11 @@ PalletTown_MapScriptHeader: setflag ENGINE_FLYPOINT_PALLET return -TeacherScript_0x1ac6d5: - jumptextfaceplayer UnknownText_0x1ac6e7 +PalletTownTeacherScript: + jumptextfaceplayer PalletTownTeacherText -FisherScript_0x1ac6d8: - jumptextfaceplayer UnknownText_0x1ac720 +PalletTownFisherScript: + jumptextfaceplayer PalletTownFisherText PalletTownSign: jumptext PalletTownSignText @@ -32,7 +32,7 @@ OaksLabSign: BluesHouseSign: jumptext BluesHouseSignText -UnknownText_0x1ac6e7: +PalletTownTeacherText: text "I'm raising #-" line "MON too." @@ -40,7 +40,7 @@ UnknownText_0x1ac6e7: line "private guards." done -UnknownText_0x1ac720: +PalletTownFisherText: text "Technology is" line "incredible!" @@ -91,5 +91,5 @@ PalletTown_MapEventHeader: .PersonEvents: db 2 - person_event SPRITE_TEACHER, 8, 3, SPRITEMOVEDATA_WANDER, 2, 2, -1, -1, 0, PERSONTYPE_SCRIPT, 0, TeacherScript_0x1ac6d5, -1 - person_event SPRITE_FISHER, 14, 12, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 2, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, FisherScript_0x1ac6d8, -1 + person_event SPRITE_TEACHER, 8, 3, SPRITEMOVEDATA_WANDER, 2, 2, -1, -1, 0, PERSONTYPE_SCRIPT, 0, PalletTownTeacherScript, -1 + person_event SPRITE_FISHER, 14, 12, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 2, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, PalletTownFisherScript, -1 diff --git a/maps/PewterCity.asm b/maps/PewterCity.asm index 9194cc4ec..6ea37bbf9 100644 --- a/maps/PewterCity.asm +++ b/maps/PewterCity.asm @@ -17,11 +17,11 @@ PewterCity_MapScriptHeader: setflag ENGINE_FLYPOINT_PEWTER return -CooltrainerFScript_0x18c009: - jumptextfaceplayer UnknownText_0x18c042 +PewterCityCooltrainerFScript: + jumptextfaceplayer PewterCityCooltrainerFText -BugCatcherScript_0x18c00c: - jumptextfaceplayer UnknownText_0x18c080 +PewterCityBugCatcherScript: + jumptextfaceplayer PewterCityBugCatcherText GrampsScript_0x18c00f: faceplayer @@ -68,7 +68,7 @@ FruitTreeScript_0x18c03e: FruitTreeScript_0x18c040: fruittree FRUITTREE_PEWTER_CITY_2 -UnknownText_0x18c042: +PewterCityCooltrainerFText: text "Have you visited" line "PEWTER GYM?" @@ -76,7 +76,7 @@ UnknownText_0x18c042: line "rock-type #MON." done -UnknownText_0x18c080: +PewterCityBugCatcherText: text "At night, CLEFAIRY" line "come out to play" cont "at MT.MOON." @@ -179,8 +179,8 @@ PewterCity_MapEventHeader: .PersonEvents: db 5 - person_event SPRITE_COOLTRAINER_F, 11, 19, SPRITEMOVEDATA_WANDER, 2, 2, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, CooltrainerFScript_0x18c009, -1 - person_event SPRITE_BUG_CATCHER, 29, 14, SPRITEMOVEDATA_WANDER, 2, 2, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, BugCatcherScript_0x18c00c, -1 + person_event SPRITE_COOLTRAINER_F, 11, 19, SPRITEMOVEDATA_WANDER, 2, 2, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, PewterCityCooltrainerFScript, -1 + person_event SPRITE_BUG_CATCHER, 29, 14, SPRITEMOVEDATA_WANDER, 2, 2, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, PewterCityBugCatcherScript, -1 person_event SPRITE_GRAMPS, 17, 29, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 2, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, GrampsScript_0x18c00f, -1 person_event SPRITE_FRUIT_TREE, 3, 32, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, FruitTreeScript_0x18c03e, -1 person_event SPRITE_FRUIT_TREE, 3, 30, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, FruitTreeScript_0x18c040, -1 diff --git a/maps/PewterMart.asm b/maps/PewterMart.asm index 553733889..9fb075ed9 100644 --- a/maps/PewterMart.asm +++ b/maps/PewterMart.asm @@ -16,13 +16,13 @@ ClerkScript_0x1a2dcb: closetext end -YoungsterScript_0x1a2dd2: - jumptextfaceplayer UnknownText_0x1a2dd8 +PewterMartYoungsterScript: + jumptextfaceplayer PewterMartYoungsterText -SuperNerdScript_0x1a2dd5: - jumptextfaceplayer UnknownText_0x1a2e3a +PewterMartSuperNerdScript: + jumptextfaceplayer PewterMartSuperNerdText -UnknownText_0x1a2dd8: +PewterMartYoungsterText: text "Hi! Check out my" line "GYARADOS!" @@ -33,7 +33,7 @@ UnknownText_0x1a2dd8: line "it has become." done -UnknownText_0x1a2e3a: +PewterMartSuperNerdText: text "There once was a" line "weird old man who" cont "sold MAGIKARP." @@ -63,5 +63,5 @@ PewterMart_MapEventHeader: .PersonEvents: db 3 person_event SPRITE_CLERK, 3, 1, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, ClerkScript_0x1a2dcb, -1 - person_event SPRITE_YOUNGSTER, 2, 9, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 2, -1, -1, 0, PERSONTYPE_SCRIPT, 0, YoungsterScript_0x1a2dd2, -1 - person_event SPRITE_SUPER_NERD, 6, 6, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, SuperNerdScript_0x1a2dd5, -1 + person_event SPRITE_YOUNGSTER, 2, 9, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 2, -1, -1, 0, PERSONTYPE_SCRIPT, 0, PewterMartYoungsterScript, -1 + person_event SPRITE_SUPER_NERD, 6, 6, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, PewterMartSuperNerdScript, -1 diff --git a/maps/PewterNidoranSpeechHouse.asm b/maps/PewterNidoranSpeechHouse.asm index 394613336..07650d3e6 100644 --- a/maps/PewterNidoranSpeechHouse.asm +++ b/maps/PewterNidoranSpeechHouse.asm @@ -9,8 +9,8 @@ PewterNidoranSpeechHouse_MapScriptHeader: .MapCallbacks: db 0 -SuperNerdScript_0x1a2807: - jumptextfaceplayer UnknownText_0x1a2814 +PewterNidoranSpeechHouseSuperNerdScript: + jumptextfaceplayer PewterNidoranSpeechHouseSuperNerdText PewterNidoran: opentext @@ -20,7 +20,7 @@ PewterNidoran: closetext end -UnknownText_0x1a2814: +PewterNidoranSpeechHouseSuperNerdText: text "NIDORAN, shake!" done @@ -45,5 +45,5 @@ PewterNidoranSpeechHouse_MapEventHeader: .PersonEvents: db 2 - person_event SPRITE_SUPER_NERD, 5, 3, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, SuperNerdScript_0x1a2807, -1 + person_event SPRITE_SUPER_NERD, 5, 3, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, PewterNidoranSpeechHouseSuperNerdScript, -1 person_event SPRITE_GROWLITHE, 5, 4, SPRITEMOVEDATA_POKEMON, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, PewterNidoran, -1 diff --git a/maps/PewterPokecenter1F.asm b/maps/PewterPokecenter1F.asm index e9ddbbd32..2eb12d641 100644 --- a/maps/PewterPokecenter1F.asm +++ b/maps/PewterPokecenter1F.asm @@ -15,8 +15,8 @@ PewterPokecenter1F_MapScriptHeader: NurseScript_0x1a2ee7: jumpstd pokecenternurse -TeacherScript_0x1a2eea: - jumptextfaceplayer UnknownText_0x1a2f01 +PewterPokecenter1FTeacherScript: + jumptextfaceplayer PewterPokecenter1FTeacherText PewterJigglypuff: opentext @@ -26,8 +26,8 @@ PewterJigglypuff: closetext end -BugCatcherScript_0x1a2ef7: - jumptextfaceplayer UnknownText_0x1a2f75 +PewterPokecenter1FBugCatcherScript: + jumptextfaceplayer PewterPokecenter1FBugCatcherText Chris: faceplayer @@ -37,7 +37,7 @@ Chris: closetext end -UnknownText_0x1a2f01: +PewterPokecenter1FTeacherText: text "…Yeah, and the" line "GYM in CINNABAR's" @@ -53,7 +53,7 @@ PewterJigglypuffText: line "pupuu." done -UnknownText_0x1a2f75: +PewterPokecenter1FBugCatcherText: text "Most #MON get" line "drowsy if they" @@ -86,7 +86,7 @@ PewterPokecenter1F_MapEventHeader: .PersonEvents: db 5 person_event SPRITE_NURSE, 1, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, NurseScript_0x1a2ee7, -1 - person_event SPRITE_TEACHER, 6, 8, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, TeacherScript_0x1a2eea, -1 + person_event SPRITE_TEACHER, 6, 8, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, PewterPokecenter1FTeacherScript, -1 person_event SPRITE_JIGGLYPUFF, 3, 1, SPRITEMOVEDATA_POKEMON, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, PewterJigglypuff, -1 - person_event SPRITE_BUG_CATCHER, 3, 2, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, BugCatcherScript_0x1a2ef7, -1 + person_event SPRITE_BUG_CATCHER, 3, 2, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, PewterPokecenter1FBugCatcherScript, -1 person_event SPRITE_POKEFAN_M, 2, 7, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, Chris, -1 diff --git a/maps/PewterSnoozeSpeechHouse.asm b/maps/PewterSnoozeSpeechHouse.asm index 49257b8c2..b8a83262b 100644 --- a/maps/PewterSnoozeSpeechHouse.asm +++ b/maps/PewterSnoozeSpeechHouse.asm @@ -8,13 +8,13 @@ PewterSnoozeSpeechHouse_MapScriptHeader: .MapCallbacks: db 0 -GrampsScript_0x1a3059: - jumptextfaceplayer UnknownText_0x1a305f +PewterSnoozeSpeechHouseGrampsScript: + jumptextfaceplayer PewterSnoozeSpeechHouseGrampsText PewterSnoozeSpeechHouseBookshelf: jumpstd picturebookshelf -UnknownText_0x1a305f: +PewterSnoozeSpeechHouseGrampsText: text "I like snoozing" line "with the radio on…" cont "…Zzzz…" @@ -39,4 +39,4 @@ PewterSnoozeSpeechHouse_MapEventHeader: .PersonEvents: db 1 - person_event SPRITE_GRAMPS, 3, 5, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, GrampsScript_0x1a3059, -1 + person_event SPRITE_GRAMPS, 3, 5, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, PewterSnoozeSpeechHouseGrampsScript, -1 diff --git a/maps/PokemonFanClub.asm b/maps/PokemonFanClub.asm index 72215ae42..08ed2ade9 100644 --- a/maps/PokemonFanClub.asm +++ b/maps/PokemonFanClub.asm @@ -49,8 +49,8 @@ UnknownScript_0x19181f: closetext end -ReceptionistScript_0x191821: - jumptextfaceplayer UnknownText_0x191b6d +PokemonFanClubReceptionistScript: + jumptextfaceplayer PokemonFanClubReceptionistText FisherScript_0x191824: faceplayer @@ -100,8 +100,8 @@ UnknownScript_0x191865: closetext end -TeacherScript_0x19186b: - jumptextfaceplayer UnknownText_0x191d73 +PokemonFanClubTeacherScript: + jumptextfaceplayer PokemonFanClubTeacherText ClefairyDoll: jumptext ClefairyDollText @@ -199,7 +199,7 @@ UnknownText_0x191b38: line "want to listen." done -UnknownText_0x191b6d: +PokemonFanClubReceptionistText: text "Our CHAIRMAN is" line "very vocal when it" cont "comes to #MON…" @@ -264,7 +264,7 @@ UnknownText_0x191d58: line "jammed full." done -UnknownText_0x191d73: +PokemonFanClubTeacherText: text "Look at my darling" line "BAYLEEF!" @@ -316,8 +316,8 @@ PokemonFanClub_MapEventHeader: .PersonEvents: db 6 person_event SPRITE_GENTLEMAN, 1, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, GentlemanScript_0x1917e9, -1 - person_event SPRITE_RECEPTIONIST, 1, 4, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, ReceptionistScript_0x191821, -1 + person_event SPRITE_RECEPTIONIST, 1, 4, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, PokemonFanClubReceptionistScript, -1 person_event SPRITE_FISHER, 3, 2, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, FisherScript_0x191824, -1 - person_event SPRITE_TEACHER, 2, 7, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, TeacherScript_0x19186b, -1 + person_event SPRITE_TEACHER, 2, 7, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, PokemonFanClubTeacherScript, -1 person_event SPRITE_FAIRY, 4, 2, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, ClefairyDoll, EVENT_VERMILION_FAN_CLUB_DOLL person_event SPRITE_ODDISH, 3, 7, SPRITEMOVEDATA_POKEMON, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, FanClubBayleef, -1 diff --git a/maps/RadioTower1F.asm b/maps/RadioTower1F.asm index 2e9524b9c..ad13a471f 100644 --- a/maps/RadioTower1F.asm +++ b/maps/RadioTower1F.asm @@ -179,11 +179,11 @@ UnknownScript_0x5ce4b: closetext end -LassScript_0x5ce51: - jumptextfaceplayer UnknownText_0x5d476 +RadioTower1FLassScript: + jumptextfaceplayer RadioTower1FLassText -YoungsterScript_0x5ce54: - jumptextfaceplayer UnknownText_0x5d4ac +RadioTower1FYoungsterScript: + jumptextfaceplayer RadioTower1FYoungsterText TrainerGruntM3: trainer EVENT_BEAT_ROCKET_GRUNTM_3, GRUNTM, GRUNTM_3, GruntM3SeenText, GruntM3BeatenText, 0, GruntM3Script @@ -405,7 +405,7 @@ UnknownText_0x5d443: cont "change your mind." done -UnknownText_0x5d476: +RadioTower1FLassText: text "BEN is a fabulous" line "DJ." @@ -413,7 +413,7 @@ UnknownText_0x5d476: line "makes me melt!" done -UnknownText_0x5d4ac: +RadioTower1FYoungsterText: text "I love MARY, from" line "#MON TALK." @@ -493,8 +493,8 @@ RadioTower1F_MapEventHeader: .PersonEvents: db 6 person_event SPRITE_RECEPTIONIST, 6, 5, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, ReceptionistScript_0x5cd29, -1 - person_event SPRITE_LASS, 4, 16, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, LassScript_0x5ce51, EVENT_GOLDENROD_CITY_CIVILIANS - person_event SPRITE_YOUNGSTER, 4, 15, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, YoungsterScript_0x5ce54, EVENT_GOLDENROD_CITY_CIVILIANS + person_event SPRITE_LASS, 4, 16, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, RadioTower1FLassScript, EVENT_GOLDENROD_CITY_CIVILIANS + person_event SPRITE_YOUNGSTER, 4, 15, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, RadioTower1FYoungsterScript, EVENT_GOLDENROD_CITY_CIVILIANS person_event SPRITE_ROCKET, 1, 14, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_TRAINER, 3, TrainerGruntM3, EVENT_RADIO_TOWER_ROCKET_TAKEOVER person_event SPRITE_GENTLEMAN, 6, 8, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, GentlemanScript_0x5cd3d, EVENT_GOLDENROD_CITY_CIVILIANS person_event SPRITE_COOLTRAINER_F, 6, 12, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, CooltrainerFScript_0x5cdd5, EVENT_GOLDENROD_CITY_CIVILIANS diff --git a/maps/RadioTower2F.asm b/maps/RadioTower2F.asm index 0df11fdce..74fe053f9 100644 --- a/maps/RadioTower2F.asm +++ b/maps/RadioTower2F.asm @@ -21,8 +21,8 @@ RadioTower2F_MapScriptHeader: UnknownScript_0x5d6fd: end -SuperNerdScript_0x5d6fe: - jumptextfaceplayer UnknownText_0x5d924 +RadioTower2FSuperNerdScript: + jumptextfaceplayer RadioTower2FSuperNerdText TeacherScript_0x5d701: faceplayer @@ -48,11 +48,11 @@ RadioTowerJigglypuff: closetext end -BlackBeltScript_0x5d71f: - jumptextfaceplayer UnknownText_0x5d9cb +RadioTower2FBlackBelt1Script: + jumptextfaceplayer RadioTower2FBlackBelt1Text -BlackBeltScript_0x5d722: - jumptextfaceplayer UnknownText_0x5da44 +RadioTower2FBlackBelt2Script: + jumptextfaceplayer RadioTower2FBlackBelt2Text TrainerGruntM4: trainer EVENT_BEAT_ROCKET_GRUNTM_4, GRUNTM, GRUNTM_4, GruntM4SeenText, GruntM4BeatenText, 0, GruntM4Script @@ -343,7 +343,7 @@ MovementData_0x5d921: slow_step RIGHT step_end -UnknownText_0x5d924: +RadioTower2FSuperNerdText: text "You can listen to" line "the radio any-" cont "where. Tune in!" @@ -366,7 +366,7 @@ RadioTowerJigglypuffText: line "Jiggly…" done -UnknownText_0x5d9cb: +RadioTower2FBlackBelt1Text: text "Sorry. Authorized" line "personnel only" cont "beyond this point." @@ -379,7 +379,7 @@ UnknownText_0x5d9cb: cont "DIRECTOR…" done -UnknownText_0x5da44: +RadioTower2FBlackBelt2Text: text "Feel free to look" line "around anywhere." @@ -733,14 +733,14 @@ RadioTower2F_MapEventHeader: .PersonEvents: db 11 - person_event SPRITE_SUPER_NERD, 6, 6, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, SuperNerdScript_0x5d6fe, EVENT_GOLDENROD_CITY_CIVILIANS + person_event SPRITE_SUPER_NERD, 6, 6, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, RadioTower2FSuperNerdScript, EVENT_GOLDENROD_CITY_CIVILIANS person_event SPRITE_TEACHER, 2, 17, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, TeacherScript_0x5d701, -1 person_event SPRITE_ROCKET, 4, 1, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, PERSONTYPE_TRAINER, 3, TrainerGruntM4, EVENT_RADIO_TOWER_ROCKET_TAKEOVER person_event SPRITE_ROCKET, 4, 8, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_TRAINER, 3, TrainerGruntM5, EVENT_RADIO_TOWER_ROCKET_TAKEOVER person_event SPRITE_ROCKET, 1, 4, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_TRAINER, 2, TrainerGruntM6, EVENT_RADIO_TOWER_ROCKET_TAKEOVER person_event SPRITE_ROCKET_GIRL, 5, 10, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_TRAINER, 3, TrainerGruntF2, EVENT_RADIO_TOWER_ROCKET_TAKEOVER - person_event SPRITE_BLACK_BELT, 1, 0, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, BlackBeltScript_0x5d71f, EVENT_RADIO_TOWER_BLACKBELT_BLOCKS_STAIRS - person_event SPRITE_BLACK_BELT, 1, 1, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, BlackBeltScript_0x5d722, EVENT_RADIO_TOWER_CIVILIANS_AFTER + person_event SPRITE_BLACK_BELT, 1, 0, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, RadioTower2FBlackBelt1Script, EVENT_RADIO_TOWER_BLACKBELT_BLOCKS_STAIRS + person_event SPRITE_BLACK_BELT, 1, 1, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, RadioTower2FBlackBelt2Script, EVENT_RADIO_TOWER_CIVILIANS_AFTER person_event SPRITE_JIGGLYPUFF, 1, 12, SPRITEMOVEDATA_POKEMON, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, RadioTowerJigglypuff, -1 person_event SPRITE_BUENA, 5, 14, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, Buena, -1 person_event SPRITE_RECEPTIONIST, 7, 12, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, ReceptionistScript_0x5d8ff, EVENT_GOLDENROD_CITY_CIVILIANS diff --git a/maps/RadioTower3F.asm b/maps/RadioTower3F.asm index ae2b1b1bf..ac48ebda1 100644 --- a/maps/RadioTower3F.asm +++ b/maps/RadioTower3F.asm @@ -25,8 +25,8 @@ RadioTower3F_MapScriptHeader: changeblock $e, $4, $1 return -SuperNerdScript_0x5e553: - jumptextfaceplayer UnknownText_0x5e621 +RadioTower3FSuperNerdScript: + jumptextfaceplayer RadioTower3FSuperNerdText GymGuyScript_0x5e556: faceplayer @@ -156,7 +156,7 @@ MapRadioTower3FSignpost0Script: MapRadioTower3FSignpost1Script: jumptext UnknownText_0x5eae4 -UnknownText_0x5e621: +RadioTower3FSuperNerdText: text "We have recordings" line "of the cries of" @@ -349,7 +349,7 @@ RadioTower3F_MapEventHeader: .PersonEvents: db 7 - person_event SPRITE_SUPER_NERD, 4, 7, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, SuperNerdScript_0x5e553, EVENT_RADIO_TOWER_CIVILIANS_AFTER + person_event SPRITE_SUPER_NERD, 4, 7, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, RadioTower3FSuperNerdScript, EVENT_RADIO_TOWER_CIVILIANS_AFTER person_event SPRITE_GYM_GUY, 4, 3, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, GymGuyScript_0x5e556, -1 person_event SPRITE_COOLTRAINER_F, 3, 11, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, CooltrainerFScript_0x5e56a, -1 person_event SPRITE_ROCKET, 1, 5, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, PERSONTYPE_TRAINER, 2, TrainerGruntM7, EVENT_RADIO_TOWER_ROCKET_TAKEOVER diff --git a/maps/RadioTower4F.asm b/maps/RadioTower4F.asm index f29ab1dac..497e43fc4 100644 --- a/maps/RadioTower4F.asm +++ b/maps/RadioTower4F.asm @@ -14,8 +14,8 @@ RadioTower4F_MapScriptHeader: .MapCallbacks: db 0 -FisherScript_0x5eb82: - jumptextfaceplayer UnknownText_0x5ec12 +RadioTower4FFisherScript: + jumptextfaceplayer RadioTower4FFisherText TeacherScript_0x5eb85: faceplayer @@ -105,7 +105,7 @@ MapRadioTower4FSignpost0Script: MapRadioTower4FSignpost1Script: jumptext UnknownText_0x5f00d -UnknownText_0x5ec12: +RadioTower4FFisherText: text "I listened to the" line "radio while I was" cont "at the RUINS." @@ -266,7 +266,7 @@ RadioTower4F_MapEventHeader: .PersonEvents: db 7 - person_event SPRITE_FISHER, 4, 6, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, FisherScript_0x5eb82, EVENT_RADIO_TOWER_CIVILIANS_AFTER + person_event SPRITE_FISHER, 4, 6, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, RadioTower4FFisherScript, EVENT_RADIO_TOWER_CIVILIANS_AFTER person_event SPRITE_TEACHER, 6, 14, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, TeacherScript_0x5eb85, -1 person_event SPRITE_GROWLITHE, 7, 12, SPRITEMOVEDATA_POKEMON, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, RadioTowerMeowth, -1 person_event SPRITE_ROCKET, 6, 5, SPRITEMOVEDATA_SPINCLOCKWISE, 0, 0, -1, -1, 0, PERSONTYPE_TRAINER, 3, TrainerGruntM10, EVENT_RADIO_TOWER_ROCKET_TAKEOVER diff --git a/maps/Route10Pokecenter1F.asm b/maps/Route10Pokecenter1F.asm index 18f1bd8ab..7fa695d0f 100644 --- a/maps/Route10Pokecenter1F.asm +++ b/maps/Route10Pokecenter1F.asm @@ -14,8 +14,8 @@ Route10Pokecenter1F_MapScriptHeader: NurseScript_0x188bd4: jumpstd pokecenternurse -GentlemanScript_0x188bd7: - jumptextfaceplayer UnknownText_0x188bf1 +Route10Pokecenter1FGentlemanScript: + jumptextfaceplayer Route10Pokecenter1FGentlemanText GymGuyScript_0x188bda: faceplayer @@ -33,10 +33,10 @@ UnknownScript_0x188be8: closetext end -CooltrainerFScript_0x188bee: - jumptextfaceplayer UnknownText_0x188d0c +Route10Pokecenter1FCooltrainerFScript: + jumptextfaceplayer Route10Pokecenter1FCooltrainerFText -UnknownText_0x188bf1: +Route10Pokecenter1FGentlemanText: text "A #MON CENTER" line "near a cave?" @@ -69,7 +69,7 @@ UnknownText_0x188c9e: line "thing about that." done -UnknownText_0x188d0c: +Route10Pokecenter1FCooltrainerFText: text "When you go out-" line "side, you can see" @@ -99,6 +99,6 @@ Route10Pokecenter1F_MapEventHeader: .PersonEvents: db 4 person_event SPRITE_NURSE, 1, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, NurseScript_0x188bd4, -1 - person_event SPRITE_GENTLEMAN, 6, 7, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, GentlemanScript_0x188bd7, -1 + person_event SPRITE_GENTLEMAN, 6, 7, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, Route10Pokecenter1FGentlemanScript, -1 person_event SPRITE_GYM_GUY, 2, 7, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, GymGuyScript_0x188bda, -1 - person_event SPRITE_COOLTRAINER_F, 3, 1, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, CooltrainerFScript_0x188bee, -1 + person_event SPRITE_COOLTRAINER_F, 3, 1, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, Route10Pokecenter1FCooltrainerFScript, -1 diff --git a/maps/Route15FuchsiaGate.asm b/maps/Route15FuchsiaGate.asm index 920a07d97..855986895 100644 --- a/maps/Route15FuchsiaGate.asm +++ b/maps/Route15FuchsiaGate.asm @@ -8,10 +8,10 @@ Route15FuchsiaGate_MapScriptHeader: .MapCallbacks: db 0 -OfficerScript_0x19679e: - jumptextfaceplayer UnknownText_0x1967a1 +Route15FuchsiaGateOfficerScript: + jumptextfaceplayer Route15FuchsiaGateOfficerText -UnknownText_0x1967a1: +Route15FuchsiaGateOfficerText: text "You're working on" line "a #DEX? That's" @@ -38,4 +38,4 @@ Route15FuchsiaGate_MapEventHeader: .PersonEvents: db 1 - person_event SPRITE_OFFICER, 2, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, OfficerScript_0x19679e, -1 + person_event SPRITE_OFFICER, 2, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, Route15FuchsiaGateOfficerScript, -1 diff --git a/maps/Route16FuchsiaSpeechHouse.asm b/maps/Route16FuchsiaSpeechHouse.asm index 911cc1111..26f47f14a 100644 --- a/maps/Route16FuchsiaSpeechHouse.asm +++ b/maps/Route16FuchsiaSpeechHouse.asm @@ -8,13 +8,13 @@ Route16FuchsiaSpeechHouse_MapScriptHeader: .MapCallbacks: db 0 -SuperNerdScript_0x73373: - jumptextfaceplayer UnknownText_0x73379 +Route16FuchsiaSpeechHouseSuperNerdScript: + jumptextfaceplayer Route16FuchsiaSpeechHouseSuperNerdText Route16FuchsiaSpeechHouseBookshelf: jumpstd picturebookshelf -UnknownText_0x73379: +Route16FuchsiaSpeechHouseSuperNerdText: text "If you cruise down" line "CYCLING ROAD, you" @@ -41,4 +41,4 @@ Route16FuchsiaSpeechHouse_MapEventHeader: .PersonEvents: db 1 - person_event SPRITE_SUPER_NERD, 3, 2, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, SuperNerdScript_0x73373, -1 + person_event SPRITE_SUPER_NERD, 3, 2, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, Route16FuchsiaSpeechHouseSuperNerdScript, -1 diff --git a/maps/Route16Gate.asm b/maps/Route16Gate.asm index 3da6f3458..d8bfdc0d3 100644 --- a/maps/Route16Gate.asm +++ b/maps/Route16Gate.asm @@ -12,8 +12,8 @@ Route16Gate_MapScriptHeader: .DummyTrigger: end -OfficerScript_0x733ea: - jumptextfaceplayer UnknownText_0x73408 +Route16GateOfficerScript: + jumptextfaceplayer Route16GateOfficerText UnknownScript_0x733ed: checkitem BICYCLE @@ -35,7 +35,7 @@ MovementData_0x73405: turn_head LEFT step_end -UnknownText_0x73408: +Route16GateOfficerText: text "CYCLING ROAD" line "starts here." @@ -81,4 +81,4 @@ Route16Gate_MapEventHeader: .PersonEvents: db 1 - person_event SPRITE_OFFICER, 2, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, OfficerScript_0x733ea, -1 + person_event SPRITE_OFFICER, 2, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, Route16GateOfficerScript, -1 diff --git a/maps/Route1718Gate.asm b/maps/Route1718Gate.asm index b93e7978f..c87d389aa 100644 --- a/maps/Route1718Gate.asm +++ b/maps/Route1718Gate.asm @@ -12,8 +12,8 @@ Route1718Gate_MapScriptHeader: .DummyTrigger: end -OfficerScript_0x7360e: - jumptextfaceplayer UnknownText_0x7362c +Route1718GateOfficerScript: + jumptextfaceplayer Route1718GateOfficerText UnknownScript_0x73611: checkitem BICYCLE @@ -35,7 +35,7 @@ MovementData_0x73629: turn_head LEFT step_end -UnknownText_0x7362c: +Route1718GateOfficerText: text "CYCLING ROAD" line "Uphill Starts Here" done @@ -72,4 +72,4 @@ Route1718Gate_MapEventHeader: .PersonEvents: db 1 - person_event SPRITE_OFFICER, 2, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, OfficerScript_0x7360e, -1 + person_event SPRITE_OFFICER, 2, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, Route1718GateOfficerScript, -1 diff --git a/maps/Route27.asm b/maps/Route27.asm index 9af0531cf..e513fdab7 100644 --- a/maps/Route27.asm +++ b/maps/Route27.asm @@ -39,14 +39,14 @@ UnknownScript_0x1a088c: opentext writetext UnknownText_0x1a0a6b buttonsound - writetext UnknownText_0x1a0a71 + writetext Route27FisherText waitbutton closetext dotrigger $1 end -FisherScript_0x1a089c: - jumptextfaceplayer UnknownText_0x1a0a71 +Route27FisherScript: + jumptextfaceplayer Route27FisherText TrainerPsychicGilbert: trainer EVENT_BEAT_PSYCHIC_GILBERT, PSYCHIC_T, GILBERT, PsychicGilbertSeenText, PsychicGilbertBeatenText, 0, PsychicGilbertScript @@ -320,7 +320,7 @@ UnknownText_0x1a0a6b: text "Hey!" done -UnknownText_0x1a0a71: +Route27FisherText: text "Do you know what" line "you just did?" @@ -496,4 +496,4 @@ Route27_MapEventHeader: person_event SPRITE_YOUNGSTER, 13, 58, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_TRAINER, 3, TrainerBird_keeperJose2, -1 person_event SPRITE_POKE_BALL, 12, 60, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, Route27TMSolarbeam, EVENT_ROUTE_27_TM_SOLARBEAM person_event SPRITE_POKE_BALL, 12, 53, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, Route27RareCandy, EVENT_ROUTE_27_RARE_CANDY - person_event SPRITE_FISHER, 10, 21, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 3, FisherScript_0x1a089c, -1 + person_event SPRITE_FISHER, 10, 21, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 3, Route27FisherScript, -1 diff --git a/maps/Route2946Gate.asm b/maps/Route2946Gate.asm index be5068078..d2fa5d5dc 100644 --- a/maps/Route2946Gate.asm +++ b/maps/Route2946Gate.asm @@ -9,13 +9,13 @@ Route2946Gate_MapScriptHeader: .MapCallbacks: db 0 -OfficerScript_0x7b5bb: - jumptextfaceplayer UnknownText_0x7b5c1 +Route2946GateOfficerScript: + jumptextfaceplayer Route2946GateOfficerText -YoungsterScript_0x7b5be: - jumptextfaceplayer UnknownText_0x7b60d +Route2946GateYoungsterScript: + jumptextfaceplayer Route2946GateYoungsterText -UnknownText_0x7b5c1: +Route2946GateOfficerText: text "You can't climb" line "ledges." @@ -24,7 +24,7 @@ UnknownText_0x7b5c1: cont "take a shortcut." done -UnknownText_0x7b60d: +Route2946GateYoungsterText: text "Different kinds of" line "#MON appear" cont "past here." @@ -55,5 +55,5 @@ Route2946Gate_MapEventHeader: .PersonEvents: db 2 - person_event SPRITE_OFFICER, 4, 0, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, OfficerScript_0x7b5bb, -1 - person_event SPRITE_YOUNGSTER, 4, 6, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, YoungsterScript_0x7b5be, -1 + person_event SPRITE_OFFICER, 4, 0, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, Route2946GateOfficerScript, -1 + person_event SPRITE_YOUNGSTER, 4, 6, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, Route2946GateYoungsterScript, -1 diff --git a/maps/Route2Gate.asm b/maps/Route2Gate.asm index c3674b074..1647215b9 100644 --- a/maps/Route2Gate.asm +++ b/maps/Route2Gate.asm @@ -8,10 +8,10 @@ Route2Gate_MapScriptHeader: .MapCallbacks: db 0 -ScientistScript_0x9b952: - jumptextfaceplayer UnknownText_0x9b955 +Route2GateScientistScript: + jumptextfaceplayer Route2GateScientistText -UnknownText_0x9b955: +Route2GateScientistText: text "Are you ?" para "I work as PROF." @@ -44,4 +44,4 @@ Route2Gate_MapEventHeader: .PersonEvents: db 1 - person_event SPRITE_SCIENTIST, 4, 6, SPRITEMOVEDATA_WALK_UP_DOWN, 2, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, ScientistScript_0x9b952, -1 + person_event SPRITE_SCIENTIST, 4, 6, SPRITEMOVEDATA_WALK_UP_DOWN, 2, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, Route2GateScientistScript, -1 diff --git a/maps/Route31VioletGate.asm b/maps/Route31VioletGate.asm index 28b43d2d8..de72c9a51 100644 --- a/maps/Route31VioletGate.asm +++ b/maps/Route31VioletGate.asm @@ -9,19 +9,19 @@ Route31VioletGate_MapScriptHeader: .MapCallbacks: db 0 -OfficerScript_0x197634: - jumptextfaceplayer UnknownText_0x19763a +Route31VioletGateOfficerScript: + jumptextfaceplayer Route31VioletGateOfficerText -CooltrainerFScript_0x197637: - jumptextfaceplayer UnknownText_0x197661 +Route31VioletGateCooltrainerFScript: + jumptextfaceplayer Route31VioletGateCooltrainerFText -UnknownText_0x19763a: +Route31VioletGateOfficerText: text "Hi there!" line "Did you visit" cont "SPROUT TOWER?" done -UnknownText_0x197661: +Route31VioletGateCooltrainerFText: text "I came too far" line "out. I'd better" cont "phone home!" @@ -46,5 +46,5 @@ Route31VioletGate_MapEventHeader: .PersonEvents: db 2 - person_event SPRITE_OFFICER, 2, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, OfficerScript_0x197634, -1 - person_event SPRITE_COOLTRAINER_F, 2, 1, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, CooltrainerFScript_0x197637, -1 + person_event SPRITE_OFFICER, 2, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, Route31VioletGateOfficerScript, -1 + person_event SPRITE_COOLTRAINER_F, 2, 1, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, Route31VioletGateCooltrainerFScript, -1 diff --git a/maps/Route32Pokecenter1F.asm b/maps/Route32Pokecenter1F.asm index 18c9622ee..bc9f4f0f8 100644 --- a/maps/Route32Pokecenter1F.asm +++ b/maps/Route32Pokecenter1F.asm @@ -42,8 +42,8 @@ UnknownScript_0x69b7a: closetext end -CooltrainerFScript_0x69b80: - jumptextfaceplayer UnknownText_0x69cac +Route32Pokecenter1FCooltrainerFScript: + jumptextfaceplayer Route32Pokecenter1FCooltrainerFText UnknownText_0x69b83: text "This is a great" @@ -85,7 +85,7 @@ UnknownText_0x69c8d: line "they biting?" done -UnknownText_0x69cac: +Route32Pokecenter1FCooltrainerFText: text "What should I make" line "my #MON hold?" @@ -114,4 +114,4 @@ Route32Pokecenter1F_MapEventHeader: db 3 person_event SPRITE_NURSE, 1, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, NurseScript_0x69b52, -1 person_event SPRITE_FISHING_GURU, 4, 1, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, FishingGuruScript_0x69b55, -1 - person_event SPRITE_COOLTRAINER_F, 2, 6, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, CooltrainerFScript_0x69b80, -1 + person_event SPRITE_COOLTRAINER_F, 2, 6, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, Route32Pokecenter1FCooltrainerFScript, -1 diff --git a/maps/Route32RuinsOfAlphGate.asm b/maps/Route32RuinsOfAlphGate.asm index b530cbf5f..523fee2e9 100644 --- a/maps/Route32RuinsOfAlphGate.asm +++ b/maps/Route32RuinsOfAlphGate.asm @@ -10,16 +10,16 @@ Route32RuinsOfAlphGate_MapScriptHeader: .MapCallbacks: db 0 -OfficerScript_0x69a2d: - jumptextfaceplayer UnknownText_0x69a36 +Route32RuinsOfAlphGateOfficerScript: + jumptextfaceplayer Route32RuinsOfAlphGateOfficerText -PokefanMScript_0x69a30: - jumptextfaceplayer UnknownText_0x69a81 +Route32RuinsOfAlphGatePokefanMScript: + jumptextfaceplayer Route32RuinsOfAlphGatePokefanMText -YoungsterScript_0x69a33: - jumptextfaceplayer UnknownText_0x69abd +Route32RuinsOfAlphGateYoungsterScript: + jumptextfaceplayer Route32RuinsOfAlphGateYoungsterText -UnknownText_0x69a36: +Route32RuinsOfAlphGateOfficerText: text "RUINS OF ALPH" para "A Look-and-Touch" @@ -29,7 +29,7 @@ UnknownText_0x69a36: line "stone panels!" done -UnknownText_0x69a81: +Route32RuinsOfAlphGatePokefanMText: text "You're studying" line "the RUINS?" @@ -37,7 +37,7 @@ UnknownText_0x69a81: line "in the making." done -UnknownText_0x69abd: +Route32RuinsOfAlphGateYoungsterText: text "There are drawings" line "on stone panels." @@ -65,6 +65,6 @@ Route32RuinsOfAlphGate_MapEventHeader: .PersonEvents: db 3 - person_event SPRITE_OFFICER, 2, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, OfficerScript_0x69a2d, -1 - person_event SPRITE_POKEFAN_M, 2, 8, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, PAL_NPC_BROWN, PERSONTYPE_SCRIPT, 0, PokefanMScript_0x69a30, -1 - person_event SPRITE_YOUNGSTER, 6, 1, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, YoungsterScript_0x69a33, -1 + person_event SPRITE_OFFICER, 2, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, Route32RuinsOfAlphGateOfficerScript, -1 + person_event SPRITE_POKEFAN_M, 2, 8, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, PAL_NPC_BROWN, PERSONTYPE_SCRIPT, 0, Route32RuinsOfAlphGatePokefanMScript, -1 + person_event SPRITE_YOUNGSTER, 6, 1, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, Route32RuinsOfAlphGateYoungsterScript, -1 diff --git a/maps/Route34IlexForestGate.asm b/maps/Route34IlexForestGate.asm index 143a1adc9..d629eecdd 100644 --- a/maps/Route34IlexForestGate.asm +++ b/maps/Route34IlexForestGate.asm @@ -75,8 +75,8 @@ IlexGateButterfree: closetext end -LassScript_0x62d94: - jumptextfaceplayer UnknownText_0x62e97 +Route34IlexForestGateLassScript: + jumptextfaceplayer Route34IlexForestGateLassText MovementData_0x62d97: step UP @@ -121,7 +121,7 @@ UnknownText_0x62e83: text "BUTTERFREE: Freeh!" done -UnknownText_0x62e97: +Route34IlexForestGateLassText: text "Did you see the" line "shrine honoring" cont "the protector?" @@ -157,5 +157,5 @@ Route34IlexForestGate_MapEventHeader: db 4 person_event SPRITE_TEACHER, 3, 9, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, TeacherScript_0x62d63, EVENT_ROUTE_34_ILEX_FOREST_GATE_TEACHER_BEHIND_COUNTER person_event SPRITE_BUTTERFREE, 4, 9, SPRITEMOVEDATA_POKEMON, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, IlexGateButterfree, -1 - person_event SPRITE_LASS, 4, 3, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, LassScript_0x62d94, EVENT_ROUTE_34_ILEX_FOREST_GATE_LASS + person_event SPRITE_LASS, 4, 3, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, Route34IlexForestGateLassScript, EVENT_ROUTE_34_ILEX_FOREST_GATE_LASS person_event SPRITE_TEACHER, 7, 5, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, TeacherScript_0x62d63, EVENT_ROUTE_34_ILEX_FOREST_GATE_TEACHER_IN_WALKWAY diff --git a/maps/Route35GoldenrodGate.asm b/maps/Route35GoldenrodGate.asm index e68250183..4cdf461df 100644 --- a/maps/Route35GoldenrodGate.asm +++ b/maps/Route35GoldenrodGate.asm @@ -91,8 +91,8 @@ PokefanFScript_0x69dc6: closetext end -FisherScript_0x69dda: - jumptextfaceplayer UnknownText_0x6a0cb +Route35GoldenrodGateFisherScript: + jumptextfaceplayer Route35GoldenrodGateFisherText UnknownText_0x69ddd: text "Excuse me, kid!" @@ -181,7 +181,7 @@ UnknownText_0x6a09a: cont "on the radio." done -UnknownText_0x6a0cb: +Route35GoldenrodGateFisherText: text "I wonder how many" line "kinds of #MON" @@ -216,4 +216,4 @@ Route35GoldenrodGate_MapEventHeader: db 3 person_event SPRITE_OFFICER, 4, 0, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, OfficerScript_0x69d37, -1 person_event SPRITE_POKEFAN_F, 4, 6, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, PokefanFScript_0x69dc6, -1 - person_event SPRITE_FISHER, 2, 3, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, FisherScript_0x69dda, -1 + person_event SPRITE_FISHER, 2, 3, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, Route35GoldenrodGateFisherScript, -1 diff --git a/maps/Route35NationalParkGate.asm b/maps/Route35NationalParkGate.asm index 1214827f8..935a8e518 100644 --- a/maps/Route35NationalParkGate.asm +++ b/maps/Route35NationalParkGate.asm @@ -199,8 +199,8 @@ OfficerScript_0x6a2ca: closetext end -YoungsterScript_0x6a2d8: - jumptextfaceplayer UnknownText_0x6a8d8 +Route35NationalParkGateYoungsterScript: + jumptextfaceplayer Route35NationalParkGateYoungsterText MapRoute36NationalParkGateSignpost0Script: jumptext UnknownText_0x6a90e @@ -411,7 +411,7 @@ UnknownText_0x6a894: line "give it a shot." done -UnknownText_0x6a8d8: +Route35NationalParkGateYoungsterText: text "When is the next" line "Bug-Catching Con-" cont "test going to be?" @@ -458,5 +458,5 @@ Route35NationalParkGate_MapEventHeader: .PersonEvents: db 3 person_event SPRITE_OFFICER, 1, 2, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, OfficerScript_0x6a204, EVENT_ROUTE_35_NATIONAL_PARK_GATE_OFFICER_CONTEST_DAY - person_event SPRITE_YOUNGSTER, 5, 6, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, YoungsterScript_0x6a2d8, EVENT_ROUTE_35_NATIONAL_PARK_GATE_YOUNGSTER + person_event SPRITE_YOUNGSTER, 5, 6, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, Route35NationalParkGateYoungsterScript, EVENT_ROUTE_35_NATIONAL_PARK_GATE_YOUNGSTER person_event SPRITE_OFFICER, 3, 0, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, OfficerScript_0x6a2ca, EVENT_ROUTE_35_NATIONAL_PARK_GATE_OFFICER_NOT_CONTEST_DAY diff --git a/maps/Route36RuinsOfAlphGate.asm b/maps/Route36RuinsOfAlphGate.asm index e9fe6d2f5..95501862a 100644 --- a/maps/Route36RuinsOfAlphGate.asm +++ b/maps/Route36RuinsOfAlphGate.asm @@ -9,20 +9,20 @@ Route36RuinsOfAlphGate_MapScriptHeader: .MapCallbacks: db 0 -OfficerScript_0x6aa1a: - jumptextfaceplayer UnknownText_0x6aa20 +Route36RuinsOfAlphGateOfficerScript: + jumptextfaceplayer Route36RuinsOfAlphGateOfficerText -GrampsScript_0x6aa1d: - jumptextfaceplayer UnknownText_0x6aa5b +Route36RuinsOfAlphGateGrampsScript: + jumptextfaceplayer Route36RuinsOfAlphGateGrampsText -UnknownText_0x6aa20: +Route36RuinsOfAlphGateOfficerText: text "Don't you wonder" line "who'd make some-" cont "thing like this?" cont "And why?" done -UnknownText_0x6aa5b: +Route36RuinsOfAlphGateGrampsText: text "Did you see that" line "strange tree in" cont "the road?" @@ -53,5 +53,5 @@ Route36RuinsOfAlphGate_MapEventHeader: .PersonEvents: db 2 - person_event SPRITE_OFFICER, 4, 0, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, OfficerScript_0x6aa1a, -1 - person_event SPRITE_GRAMPS, 5, 7, SPRITEMOVEDATA_WANDER, 2, 1, -1, -1, PAL_NPC_BROWN, PERSONTYPE_SCRIPT, 0, GrampsScript_0x6aa1d, -1 + person_event SPRITE_OFFICER, 4, 0, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, Route36RuinsOfAlphGateOfficerScript, -1 + person_event SPRITE_GRAMPS, 5, 7, SPRITEMOVEDATA_WANDER, 2, 1, -1, -1, PAL_NPC_BROWN, PERSONTYPE_SCRIPT, 0, Route36RuinsOfAlphGateGrampsScript, -1 diff --git a/maps/Route38EcruteakGate.asm b/maps/Route38EcruteakGate.asm index 3516c72c9..f61bcaaa4 100644 --- a/maps/Route38EcruteakGate.asm +++ b/maps/Route38EcruteakGate.asm @@ -8,10 +8,10 @@ Route38EcruteakGate_MapScriptHeader: .MapCallbacks: db 0 -OfficerScript_0x9cbd7: - jumptextfaceplayer UnknownText_0x9cbda +Route38EcruteakGateOfficerScript: + jumptextfaceplayer Route38EcruteakGateOfficerText -UnknownText_0x9cbda: +Route38EcruteakGateOfficerText: text "Where did you say" line "you're from?" @@ -43,4 +43,4 @@ Route38EcruteakGate_MapEventHeader: .PersonEvents: db 1 - person_event SPRITE_OFFICER, 2, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, OfficerScript_0x9cbd7, -1 + person_event SPRITE_OFFICER, 2, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, Route38EcruteakGateOfficerScript, -1 diff --git a/maps/Route40.asm b/maps/Route40.asm index bbf90ab75..8cc77ff97 100644 --- a/maps/Route40.asm +++ b/maps/Route40.asm @@ -75,8 +75,8 @@ SwimmermRandallScript: closetext end -LassScript_0x1a61c4: - jumptextfaceplayer UnknownText_0x1a6429 +Route40Lass1Script: + jumptextfaceplayer Route40Lass1Text PokefanMScript_0x1a61c7: special Mobile_DummyReturnFalse @@ -86,11 +86,11 @@ PokefanMScript_0x1a61c7: .mobile jumptextfaceplayer UnknownText_0x1a649b -LassScript_0x1a61d3: - jumptextfaceplayer UnknownText_0x1a64e6 +Route40Lass2Script: + jumptextfaceplayer Route40Lass2Text -StandingYoungsterScript_0x1a61d6: - jumptextfaceplayer UnknownText_0x1a6564 +Route40StandingYoungsterScript: + jumptextfaceplayer Route40StandingYoungsterText MonicaScript: faceplayer @@ -235,7 +235,7 @@ SwimmerfPaulaAfterBattleText: cont "carry me along." done -UnknownText_0x1a6429: +Route40Lass1Text: text "Although you can't" line "see it from here," @@ -259,7 +259,7 @@ UnknownText_0x1a649b: para "What? What?" done -UnknownText_0x1a64e6: +Route40Lass2Text: text "I came to OLIVINE" line "by ship to see the" @@ -271,7 +271,7 @@ UnknownText_0x1a64e6: cont "from a big city." done -UnknownText_0x1a6564: +Route40StandingYoungsterText: text "Have you gone to" line "the BATTLE TOWER?" @@ -362,8 +362,8 @@ Route40_MapEventHeader: person_event SPRITE_ROCK, 11, 7, SPRITEMOVEDATA_SMASHABLE_ROCK, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, Route40Rock, -1 person_event SPRITE_ROCK, 9, 6, SPRITEMOVEDATA_SMASHABLE_ROCK, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, Route40Rock, -1 person_event SPRITE_ROCK, 8, 7, SPRITEMOVEDATA_SMASHABLE_ROCK, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, Route40Rock, -1 - person_event SPRITE_LASS, 13, 11, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, LassScript_0x1a61c4, -1 + person_event SPRITE_LASS, 13, 11, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, Route40Lass1Script, -1 person_event SPRITE_BUENA, 10, 8, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, MonicaScript, EVENT_ROUTE_40_MONICA_OF_MONDAY person_event SPRITE_POKEFAN_M, 6, 7, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, PokefanMScript_0x1a61c7, -1 - person_event SPRITE_LASS, 4, 13, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, LassScript_0x1a61d3, -1 - person_event SPRITE_STANDING_YOUNGSTER, 9, 16, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, StandingYoungsterScript_0x1a61d6, EVENT_BATTLE_TOWER_OUTSIDE_SAILOR + person_event SPRITE_LASS, 4, 13, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, Route40Lass2Script, -1 + person_event SPRITE_STANDING_YOUNGSTER, 9, 16, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, Route40StandingYoungsterScript, EVENT_BATTLE_TOWER_OUTSIDE_SAILOR diff --git a/maps/Route40BattleTowerGate.asm b/maps/Route40BattleTowerGate.asm index 0f8b139c7..238686d9d 100644 --- a/maps/Route40BattleTowerGate.asm +++ b/maps/Route40BattleTowerGate.asm @@ -14,11 +14,11 @@ Route40BattleTowerGate_MapScriptHeader: clearevent EVENT_BATTLE_TOWER_OUTSIDE_SAILOR return -RockerScript_0x9f669: - jumptextfaceplayer UnknownText_0x9f716 +Route40BattleTowerGateRockerScript: + jumptextfaceplayer Route40BattleTowerGateRockerText -TwinScript_0x9f66c: - jumptextfaceplayer UnknownText_0x9f7c8 +Route40BattleTowerGateTwinScript: + jumptextfaceplayer Route40BattleTowerGateTwinText UnknownText_0x9f66f: text "Did you come to" @@ -40,7 +40,7 @@ UnknownText_0x9f6ba: line "when I win." done -UnknownText_0x9f716: +Route40BattleTowerGateRockerText: text "Are you going to" line "the BATTLE TOWER?" @@ -59,7 +59,7 @@ UnknownText_0x9f783: line "the BATTLE TOWER." done -UnknownText_0x9f7c8: +Route40BattleTowerGateTwinText: text "The levels of the" line "#MON I want to" @@ -89,5 +89,5 @@ Route40BattleTowerGate_MapEventHeader: .PersonEvents: db 2 - person_event SPRITE_ROCKER, 3, 3, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, RockerScript_0x9f669, EVENT_BATTLE_TOWER_OUTSIDE_SAILOR - person_event SPRITE_TWIN, 5, 7, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, TwinScript_0x9f66c, -1 + person_event SPRITE_ROCKER, 3, 3, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, Route40BattleTowerGateRockerScript, EVENT_BATTLE_TOWER_OUTSIDE_SAILOR + person_event SPRITE_TWIN, 5, 7, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, Route40BattleTowerGateTwinScript, -1 diff --git a/maps/Route42EcruteakGate.asm b/maps/Route42EcruteakGate.asm index e014340e4..ae13507e7 100644 --- a/maps/Route42EcruteakGate.asm +++ b/maps/Route42EcruteakGate.asm @@ -8,10 +8,10 @@ Route42EcruteakGate_MapScriptHeader: .MapCallbacks: db 0 -OfficerScript_0x19a4b5: - jumptextfaceplayer UnknownText_0x19a4b8 +Route42EcruteakGateOfficerScript: + jumptextfaceplayer Route42EcruteakGateOfficerText -UnknownText_0x19a4b8: +Route42EcruteakGateOfficerText: text "MT.MORTAR is like" line "a maze inside." @@ -38,4 +38,4 @@ Route42EcruteakGate_MapEventHeader: .PersonEvents: db 1 - person_event SPRITE_OFFICER, 2, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, OfficerScript_0x19a4b5, -1 + person_event SPRITE_OFFICER, 2, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, Route42EcruteakGateOfficerScript, -1 diff --git a/maps/Route5.asm b/maps/Route5.asm index d534faefd..734748f19 100644 --- a/maps/Route5.asm +++ b/maps/Route5.asm @@ -8,8 +8,8 @@ Route5_MapScriptHeader: .MapCallbacks: db 0 -PokefanMScript_0x1adb19: - jumptextfaceplayer UnknownText_0x1adb22 +Route5PokefanMScript: + jumptextfaceplayer Route5PokefanMText Route5UndergroundPathSign: jumptext Route5UndergroundPathSignText @@ -17,7 +17,7 @@ Route5UndergroundPathSign: HouseForSaleSign: jumptext HouseForSaleSignText -UnknownText_0x1adb22: +Route5PokefanMText: text "The road is closed" line "until the problem" @@ -60,4 +60,4 @@ Route5_MapEventHeader: .PersonEvents: db 1 - person_event SPRITE_POKEFAN_M, 16, 17, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, PokefanMScript_0x1adb19, EVENT_ROUTE_5_6_POKEFAN_M_BLOCKS_UNDERGROUND_PATH + person_event SPRITE_POKEFAN_M, 16, 17, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, Route5PokefanMScript, EVENT_ROUTE_5_6_POKEFAN_M_BLOCKS_UNDERGROUND_PATH diff --git a/maps/Route5CleanseTagSpeechHouse.asm b/maps/Route5CleanseTagSpeechHouse.asm index 9dec30107..9736deb70 100644 --- a/maps/Route5CleanseTagSpeechHouse.asm +++ b/maps/Route5CleanseTagSpeechHouse.asm @@ -26,8 +26,8 @@ UnknownScript_0x18b64d: closetext end -TeacherScript_0x18b64f: - jumptextfaceplayer UnknownText_0x18b6de +Route5CleanseTagSpeechHouseTeacherScript: + jumptextfaceplayer Route5CleanseTagSpeechHouseTeacherText HouseForSaleBookshelf: jumpstd difficultbookshelf @@ -49,7 +49,7 @@ UnknownText_0x18b6a7: cont "are protected now." done -UnknownText_0x18b6de: +Route5CleanseTagSpeechHouseTeacherText: text "My grandma is into" line "warding off what" @@ -80,4 +80,4 @@ Route5CleanseTagSpeechHouse_MapEventHeader: .PersonEvents: db 2 person_event SPRITE_GRANNY, 5, 2, SPRITEMOVEDATA_SPINCLOCKWISE, 0, 0, -1, -1, PAL_NPC_BROWN, PERSONTYPE_SCRIPT, 0, GrannyScript_0x18b634, -1 - person_event SPRITE_TEACHER, 3, 5, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, TeacherScript_0x18b64f, -1 + person_event SPRITE_TEACHER, 3, 5, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, Route5CleanseTagSpeechHouseTeacherScript, -1 diff --git a/maps/Route5SaffronCityGate.asm b/maps/Route5SaffronCityGate.asm index fd3707ff2..c57c9e59e 100644 --- a/maps/Route5SaffronCityGate.asm +++ b/maps/Route5SaffronCityGate.asm @@ -8,10 +8,10 @@ Route5SaffronCityGate_MapScriptHeader: .MapCallbacks: db 0 -OfficerScript_0x18b5b9: - jumptextfaceplayer UnknownText_0x18b5bc +Route5SaffronCityGateOfficerScript: + jumptextfaceplayer Route5SaffronCityGateOfficerText -UnknownText_0x18b5bc: +Route5SaffronCityGateOfficerText: text "You're from JOHTO," line "aren't you?" @@ -39,4 +39,4 @@ Route5SaffronCityGate_MapEventHeader: .PersonEvents: db 1 - person_event SPRITE_OFFICER, 4, 0, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, OfficerScript_0x18b5b9, -1 + person_event SPRITE_OFFICER, 4, 0, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, Route5SaffronCityGateOfficerScript, -1 diff --git a/maps/Route5UndergroundEntrance.asm b/maps/Route5UndergroundEntrance.asm index b43587d4d..dbbe22ad0 100644 --- a/maps/Route5UndergroundEntrance.asm +++ b/maps/Route5UndergroundEntrance.asm @@ -8,10 +8,10 @@ Route5UndergroundEntrance_MapScriptHeader: .MapCallbacks: db 0 -TeacherScript_0x18b555: - jumptextfaceplayer UnknownText_0x18b558 +Route5UndergroundEntranceTeacherScript: + jumptextfaceplayer Route5UndergroundEntranceTeacherText -UnknownText_0x18b558: +Route5UndergroundEntranceTeacherText: text "Many cities in" line "JOHTO have long" @@ -37,4 +37,4 @@ Route5UndergroundEntrance_MapEventHeader: .PersonEvents: db 1 - person_event SPRITE_TEACHER, 2, 2, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, TeacherScript_0x18b555, -1 + person_event SPRITE_TEACHER, 2, 2, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, Route5UndergroundEntranceTeacherScript, -1 diff --git a/maps/Route6.asm b/maps/Route6.asm index 583398c9b..600cfe456 100644 --- a/maps/Route6.asm +++ b/maps/Route6.asm @@ -32,13 +32,13 @@ PokefanmAllanScript: closetext end -PokefanMScript_0x1ad951: - jumptextfaceplayer UnknownText_0x1ad957 +Route6PokefanMScript: + jumptextfaceplayer Route6PokefanMText Route6UndergroundPathSign: jumptext Route6UndergroundPathSignText -UnknownText_0x1ad957: +Route6PokefanMText: text "The road is closed" line "until the problem" @@ -109,6 +109,6 @@ Route6_MapEventHeader: .PersonEvents: db 3 - person_event SPRITE_POKEFAN_M, 4, 17, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BROWN, PERSONTYPE_SCRIPT, 2, PokefanMScript_0x1ad951, EVENT_ROUTE_5_6_POKEFAN_M_BLOCKS_UNDERGROUND_PATH + person_event SPRITE_POKEFAN_M, 4, 17, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BROWN, PERSONTYPE_SCRIPT, 2, Route6PokefanMScript, EVENT_ROUTE_5_6_POKEFAN_M_BLOCKS_UNDERGROUND_PATH person_event SPRITE_POKEFAN_M, 12, 9, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_TRAINER, 0, TrainerPokefanmRex, -1 person_event SPRITE_POKEFAN_M, 12, 10, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_TRAINER, 0, TrainerPokefanmAllan, -1 diff --git a/maps/Route8SaffronGate.asm b/maps/Route8SaffronGate.asm index a7947b4de..44908079f 100644 --- a/maps/Route8SaffronGate.asm +++ b/maps/Route8SaffronGate.asm @@ -8,10 +8,10 @@ Route8SaffronGate_MapScriptHeader: .MapCallbacks: db 0 -OfficerScript_0x7f416: - jumptextfaceplayer UnknownText_0x7f419 +Route8SaffronGateOfficerScript: + jumptextfaceplayer Route8SaffronGateOfficerText -UnknownText_0x7f419: +Route8SaffronGateOfficerText: text "Have you been to" line "LAVENDER TOWN?" @@ -38,4 +38,4 @@ Route8SaffronGate_MapEventHeader: .PersonEvents: db 1 - person_event SPRITE_OFFICER, 2, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, OfficerScript_0x7f416, -1 + person_event SPRITE_OFFICER, 2, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, Route8SaffronGateOfficerScript, -1 diff --git a/maps/RuinsOfAlphKabutoChamber.asm b/maps/RuinsOfAlphKabutoChamber.asm index b91d46275..d70ce63b2 100644 --- a/maps/RuinsOfAlphKabutoChamber.asm +++ b/maps/RuinsOfAlphKabutoChamber.asm @@ -51,8 +51,8 @@ RuinsOfAlphKabutoChamber_MapScriptHeader: closetext end -ReceptionistScript_0x58769: - jumptextfaceplayer UnknownText_0x58800 +RuinsOfAlphKabutoChamberReceptionistScript: + jumptextfaceplayer RuinsOfAlphKabutoChamberReceptionistText MapRuinsOfAlphKabutoChamberSignpost2Script: refreshscreen $0 @@ -147,7 +147,7 @@ MovementData_0x587fe: db $59 ; movement step_end -UnknownText_0x58800: +RuinsOfAlphKabutoChamberReceptionistText: text "Welcome to this" line "chamber." @@ -281,5 +281,5 @@ RuinsOfAlphKabutoChamber_MapEventHeader: .PersonEvents: db 2 - person_event SPRITE_RECEPTIONIST, 5, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, ReceptionistScript_0x58769, EVENT_RUINS_OF_ALPH_KABUTO_CHAMBER_RECEPTIONIST + person_event SPRITE_RECEPTIONIST, 5, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, RuinsOfAlphKabutoChamberReceptionistScript, EVENT_RUINS_OF_ALPH_KABUTO_CHAMBER_RECEPTIONIST person_event SPRITE_SCIENTIST, 1, 3, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, ScientistScript_0x587a8, -1 diff --git a/maps/SaffronCity.asm b/maps/SaffronCity.asm index 4b50f427c..7613c17a3 100644 --- a/maps/SaffronCity.asm +++ b/maps/SaffronCity.asm @@ -52,11 +52,11 @@ UnknownScript_0x19934c: closetext end -CooltrainerMScript_0x199352: - jumptextfaceplayer UnknownText_0x1994fe +SaffronCityCooltrainerMScript: + jumptextfaceplayer SaffronCityCooltrainerMText -CooltrainerFScript_0x199355: - jumptextfaceplayer UnknownText_0x19958e +SaffronCityCooltrainerFScript: + jumptextfaceplayer SaffronCityCooltrainerFText FisherScript_0x199358: faceplayer @@ -74,14 +74,14 @@ UnknownScript_0x199366: closetext end -YoungsterScript_0x19936c: - jumptextfaceplayer UnknownText_0x1996a5 +SaffronCityYoungster1Script: + jumptextfaceplayer SaffronCityYoungster1Text -YoungsterScript_0x19936f: - jumptextfaceplayer UnknownText_0x1996e5 +SaffronCityYoungster2Script: + jumptextfaceplayer SaffronCityYoungster2Text -LassScript_0x199372: - jumptextfaceplayer UnknownText_0x199745 +SaffronCityLassScript: + jumptextfaceplayer SaffronCityLassText SaffronCitySign: jumptext SaffronCitySignText @@ -148,7 +148,7 @@ UnknownText_0x1994ae: cont "the MAGNET TRAIN." done -UnknownText_0x1994fe: +SaffronCityCooltrainerMText: text "I went to the GYM," line "raring for battles" cont "against trainers…" @@ -163,7 +163,7 @@ UnknownText_0x1994fe: line "embarrassed." done -UnknownText_0x19958e: +SaffronCityCooltrainerFText: text "This is SILPH CO.," line "famous for #MON" cont "merchandise." @@ -196,7 +196,7 @@ UnknownText_0x19964b: line "Haaah, I'm full!" done -UnknownText_0x1996a5: +SaffronCityYoungster1Text: text "Going into an" line "alley for the" @@ -204,7 +204,7 @@ UnknownText_0x1996a5: line "me sorta anxious." done -UnknownText_0x1996e5: +SaffronCityYoungster2Text: text "There's a place" line "called TRAINER" @@ -215,7 +215,7 @@ UnknownText_0x1996e5: line "over the place." done -UnknownText_0x199745: +SaffronCityLassText: text "Our city was" line "featured on a" cont "radio program." @@ -305,9 +305,9 @@ SaffronCity_MapEventHeader: db 8 person_event SPRITE_LASS, 14, 7, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 2, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, LassScript_0x19932a, -1 person_event SPRITE_POKEFAN_M, 30, 19, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 2, -1, -1, PAL_NPC_BROWN, PERSONTYPE_SCRIPT, 0, PokefanMScript_0x19933e, -1 - person_event SPRITE_COOLTRAINER_M, 7, 32, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, CooltrainerMScript_0x199352, -1 - person_event SPRITE_COOLTRAINER_F, 24, 20, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 2, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, CooltrainerFScript_0x199355, -1 + person_event SPRITE_COOLTRAINER_M, 7, 32, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, SaffronCityCooltrainerMScript, -1 + person_event SPRITE_COOLTRAINER_F, 24, 20, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 2, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, SaffronCityCooltrainerFScript, -1 person_event SPRITE_FISHER, 12, 27, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, FisherScript_0x199358, -1 - person_event SPRITE_YOUNGSTER, 19, 15, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, YoungsterScript_0x19936c, -1 - person_event SPRITE_YOUNGSTER, 22, 35, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, YoungsterScript_0x19936f, -1 - person_event SPRITE_LASS, 8, 19, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, LassScript_0x199372, -1 + person_event SPRITE_YOUNGSTER, 19, 15, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, SaffronCityYoungster1Script, -1 + person_event SPRITE_YOUNGSTER, 22, 35, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, SaffronCityYoungster2Script, -1 + person_event SPRITE_LASS, 8, 19, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, SaffronCityLassScript, -1 diff --git a/maps/SaffronMart.asm b/maps/SaffronMart.asm index 5d81bee19..edef6f75c 100644 --- a/maps/SaffronMart.asm +++ b/maps/SaffronMart.asm @@ -16,19 +16,19 @@ ClerkScript_0x18a3bf: closetext end -CooltrainerMScript_0x18a3c6: - jumptextfaceplayer UnknownText_0x18a3cc +SaffronMartCooltrainerMScript: + jumptextfaceplayer SaffronMartCooltrainerMText -CooltrainerFScript_0x18a3c9: - jumptextfaceplayer UnknownText_0x18a3f3 +SaffronMartCooltrainerFScript: + jumptextfaceplayer SaffronMartCooltrainerFText -UnknownText_0x18a3cc: +SaffronMartCooltrainerMText: text "There's a big" line "RADIO TOWER in" cont "LAVENDER." done -UnknownText_0x18a3f3: +SaffronMartCooltrainerFText: text "I want to become" line "stronger, but I'm" cont "not good yet…" @@ -55,5 +55,5 @@ SaffronMart_MapEventHeader: .PersonEvents: db 3 person_event SPRITE_CLERK, 3, 1, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, ClerkScript_0x18a3bf, -1 - person_event SPRITE_COOLTRAINER_M, 2, 7, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_BROWN, PERSONTYPE_SCRIPT, 0, CooltrainerMScript_0x18a3c6, -1 - person_event SPRITE_COOLTRAINER_F, 6, 7, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, CooltrainerFScript_0x18a3c9, -1 + person_event SPRITE_COOLTRAINER_M, 2, 7, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_BROWN, PERSONTYPE_SCRIPT, 0, SaffronMartCooltrainerMScript, -1 + person_event SPRITE_COOLTRAINER_F, 6, 7, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, SaffronMartCooltrainerFScript, -1 diff --git a/maps/SaffronPokecenter1F.asm b/maps/SaffronPokecenter1F.asm index 975ea587c..dfa0494d7 100644 --- a/maps/SaffronPokecenter1F.asm +++ b/maps/SaffronPokecenter1F.asm @@ -38,8 +38,8 @@ FisherScript_0x18a48c: closetext end -YoungsterScript_0x18a4a0: - jumptextfaceplayer UnknownText_0x18a6c5 +SaffronPokecenter1FYoungsterScript: + jumptextfaceplayer SaffronPokecenter1FYoungsterText UnknownText_0x18a4a3: text "What are JOHTO's" @@ -100,7 +100,7 @@ UnknownText_0x18a62e: cont "knowledge." done -UnknownText_0x18a6c5: +SaffronPokecenter1FYoungsterText: text "SILPH CO.'s HEAD" line "OFFICE and the" @@ -132,4 +132,4 @@ SaffronPokecenter1F_MapEventHeader: person_event SPRITE_NURSE, 1, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, NurseScript_0x18a47d, -1 person_event SPRITE_TEACHER, 2, 7, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, TeacherScript_0x18a480, -1 person_event SPRITE_FISHER, 6, 8, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, FisherScript_0x18a48c, -1 - person_event SPRITE_YOUNGSTER, 4, 1, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, YoungsterScript_0x18a4a0, -1 + person_event SPRITE_YOUNGSTER, 4, 1, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, SaffronPokecenter1FYoungsterScript, -1 diff --git a/maps/SaffronTrainStation.asm b/maps/SaffronTrainStation.asm index f6599a6ed..bfe878439 100644 --- a/maps/SaffronTrainStation.asm +++ b/maps/SaffronTrainStation.asm @@ -86,11 +86,11 @@ UnknownScript_0x18a883: closetext end -TeacherScript_0x18a889: - jumptextfaceplayer UnknownText_0x18aaab +SaffronTrainStationTeacherScript: + jumptextfaceplayer SaffronTrainStationTeacherText -LassScript_0x18a88c: - jumptextfaceplayer UnknownText_0x18ab20 +SaffronTrainStationLassScript: + jumptextfaceplayer SaffronTrainStationLassText MovementData_0x18a88f: step UP @@ -192,7 +192,7 @@ UnknownText_0x18aa61: line "KANTO and JOHTO?" done -UnknownText_0x18aaab: +SaffronTrainStationTeacherText: text "Before the MAGNET" line "TRAIN STATION was" @@ -204,7 +204,7 @@ UnknownText_0x18aaab: cont "to live there." done -UnknownText_0x18ab20: +SaffronTrainStationLassText: text "Hi. Do you have a" line "rail PASS? I have" @@ -237,5 +237,5 @@ SaffronTrainStation_MapEventHeader: db 4 person_event SPRITE_OFFICER, 9, 9, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, OfficerScript_0x18a81e, -1 person_event SPRITE_GYM_GUY, 14, 10, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, 0, PERSONTYPE_SCRIPT, 0, GymGuyScript_0x18a875, -1 - person_event SPRITE_TEACHER, 11, 6, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, TeacherScript_0x18a889, EVENT_SAFFRON_TRAIN_STATION_POPULATION - person_event SPRITE_LASS, 10, 6, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, LassScript_0x18a88c, EVENT_SAFFRON_TRAIN_STATION_POPULATION + person_event SPRITE_TEACHER, 11, 6, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, SaffronTrainStationTeacherScript, EVENT_SAFFRON_TRAIN_STATION_POPULATION + person_event SPRITE_LASS, 10, 6, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, SaffronTrainStationLassScript, EVENT_SAFFRON_TRAIN_STATION_POPULATION diff --git a/maps/SilverCavePokecenter1F.asm b/maps/SilverCavePokecenter1F.asm index ab6eab65a..dedcf8561 100644 --- a/maps/SilverCavePokecenter1F.asm +++ b/maps/SilverCavePokecenter1F.asm @@ -12,10 +12,10 @@ SilverCavePokecenter1F_MapScriptHeader: NurseScript_0x1ae59a: jumpstd pokecenternurse -GrannyScript_0x1ae59d: - jumptextfaceplayer UnknownText_0x1ae5a0 +SilverCavePokecenter1FGrannyScript: + jumptextfaceplayer SilverCavePokecenter1FGrannyText -UnknownText_0x1ae5a0: +SilverCavePokecenter1FGrannyText: text "Trainers who seek" line "power climb MT." @@ -48,4 +48,4 @@ SilverCavePokecenter1F_MapEventHeader: .PersonEvents: db 2 person_event SPRITE_NURSE, 1, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, NurseScript_0x1ae59a, -1 - person_event SPRITE_GRANNY, 5, 1, SPRITEMOVEDATA_STANDING_LEFT, 1, 2, -1, -1, 0, PERSONTYPE_SCRIPT, 0, GrannyScript_0x1ae59d, -1 + person_event SPRITE_GRANNY, 5, 1, SPRITEMOVEDATA_STANDING_LEFT, 1, 2, -1, -1, 0, PERSONTYPE_SCRIPT, 0, SilverCavePokecenter1FGrannyScript, -1 diff --git a/maps/SlowpokeWellB1F.asm b/maps/SlowpokeWellB1F.asm index be5d0eace..2ceac27c5 100644 --- a/maps/SlowpokeWellB1F.asm +++ b/maps/SlowpokeWellB1F.asm @@ -16,8 +16,8 @@ SlowpokeWellB1F_MapScriptHeader: .MapCallbacks: db 0 -KurtScript_0x5a5d5: - jumptextfaceplayer UnknownText_0x5a6b5 +SlowpokeWellB1FKurtScript: + jumptextfaceplayer SlowpokeWellB1FKurtText TrainerGruntM29: trainer EVENT_BEAT_ROCKET_GRUNTM_29, GRUNTM, GRUNTM_29, GruntM29SeenText, GruntM29BeatenText, 0, GruntM29Script @@ -144,7 +144,7 @@ KurtSlowpokeWellVictoryMovementData: turn_head LEFT step_end -UnknownText_0x5a6b5: +SlowpokeWellB1FKurtText: text "KURT: Hey there," line "!" @@ -343,6 +343,6 @@ SlowpokeWellB1F_MapEventHeader: person_event SPRITE_ROCKET_GIRL, 4, 10, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_TRAINER, 4, TrainerGruntF1, EVENT_SLOWPOKE_WELL_ROCKETS person_event SPRITE_SLOWPOKE, 4, 7, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, SlowpokeScript_0x5a681, EVENT_SLOWPOKE_WELL_SLOWPOKES person_event SPRITE_SLOWPOKE, 2, 6, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, SlowpokeScript_0x5a695, EVENT_SLOWPOKE_WELL_SLOWPOKES - person_event SPRITE_KURT, 14, 16, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, KurtScript_0x5a5d5, EVENT_SLOWPOKE_WELL_KURT + person_event SPRITE_KURT, 14, 16, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, SlowpokeWellB1FKurtScript, EVENT_SLOWPOKE_WELL_KURT person_event SPRITE_BOULDER, 2, 3, SPRITEMOVEDATA_STRENGTH_BOULDER, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, SlowpokeWellB1FBoulder, -1 person_event SPRITE_POKE_BALL, 3, 10, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, SlowpokeWellB1FSuperPotion, EVENT_SLOWPOKE_WELL_B1F_SUPER_POTION diff --git a/maps/SoulHouse.asm b/maps/SoulHouse.asm index 9b77f4306..ba46065a3 100644 --- a/maps/SoulHouse.asm +++ b/maps/SoulHouse.asm @@ -14,14 +14,14 @@ SoulHouse_MapScriptHeader: MrFuji: jumptextfaceplayer MrFujiText -TeacherScript_0x7ec4a: - jumptextfaceplayer UnknownText_0x7ed4d +SoulHouseTeacherScript: + jumptextfaceplayer SoulHouseTeacherText -LassScript_0x7ec4d: - jumptextfaceplayer UnknownText_0x7edb1 +SoulHouseLassScript: + jumptextfaceplayer SoulHouseLassText -GrannyScript_0x7ec50: - jumptextfaceplayer UnknownText_0x7eddb +SoulHouseGrannyScript: + jumptextfaceplayer SoulHouseGrannyText MrFujiText: text "MR.FUJI: Welcome." @@ -48,7 +48,7 @@ MrFujiText: line "make them happy." done -UnknownText_0x7ed4d: +SoulHouseTeacherText: text "There are other" line "graves of #MON" cont "here, I think." @@ -58,13 +58,13 @@ UnknownText_0x7ed4d: cont "MR.FUJI may enter." done -UnknownText_0x7edb1: +SoulHouseLassText: text "I came with my mom" line "to visit #MON" cont "graves…" done -UnknownText_0x7eddb: +SoulHouseGrannyText: text "The #MON that" line "lived with me…" @@ -90,6 +90,6 @@ SoulHouse_MapEventHeader: .PersonEvents: db 4 person_event SPRITE_GRAMPS, 2, 4, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, MrFuji, -1 - person_event SPRITE_TEACHER, 3, 7, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, TeacherScript_0x7ec4a, -1 - person_event SPRITE_LASS, 5, 2, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, LassScript_0x7ec4d, -1 - person_event SPRITE_GRANNY, 3, 1, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, GrannyScript_0x7ec50, -1 + person_event SPRITE_TEACHER, 3, 7, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, SoulHouseTeacherScript, -1 + person_event SPRITE_LASS, 5, 2, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, SoulHouseLassScript, -1 + person_event SPRITE_GRANNY, 3, 1, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, SoulHouseGrannyScript, -1 diff --git a/maps/SproutTower1F.asm b/maps/SproutTower1F.asm index 5287ef850..1c4905f53 100644 --- a/maps/SproutTower1F.asm +++ b/maps/SproutTower1F.asm @@ -13,17 +13,17 @@ SproutTower1F_MapScriptHeader: .MapCallbacks: db 0 -SageScript_0x1844fe: - jumptextfaceplayer UnknownText_0x1845d8 +SproutTower1FSage1Script: + jumptextfaceplayer SproutTower1FSage1Text -SageScript_0x184501: - jumptextfaceplayer UnknownText_0x18460a +SproutTower1FSage2Script: + jumptextfaceplayer SproutTower1FSage2Text -GrannyScript_0x184504: - jumptextfaceplayer UnknownText_0x184649 +SproutTower1FGrannyScript: + jumptextfaceplayer SproutTower1FGrannyText -TeacherScript_0x184507: - jumptextfaceplayer UnknownText_0x18469d +SproutTower1FTeacherScript: + jumptextfaceplayer SproutTower1FTeacherText TrainerSageChow: trainer EVENT_BEAT_SAGE_CHOW, SAGE, CHOW, SageChowSeenText, SageChowBeatenText, 0, SageChowScript @@ -64,13 +64,13 @@ SageChowAfterBattleText: line "thankful for this." done -UnknownText_0x1845d8: +SproutTower1FSage1Text: text "Only if you reach" line "the top will you" cont "obtain an HM." done -UnknownText_0x18460a: +SproutTower1FSage2Text: text "SPROUT TOWER was" line "built long ago" @@ -78,7 +78,7 @@ UnknownText_0x18460a: line "#MON training." done -UnknownText_0x184649: +SproutTower1FGrannyText: text "A BELLSPROUT over" line "100 feet tall…" @@ -87,7 +87,7 @@ UnknownText_0x184649: cont "pillar here." done -UnknownText_0x18469d: +SproutTower1FTeacherText: text "See the pillar" line "shaking?" @@ -124,9 +124,9 @@ SproutTower1F_MapEventHeader: .PersonEvents: db 6 - person_event SPRITE_SAGE, 4, 7, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, SageScript_0x1844fe, -1 - person_event SPRITE_SAGE, 7, 6, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, SageScript_0x184501, -1 - person_event SPRITE_GRANNY, 12, 11, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, GrannyScript_0x184504, -1 - person_event SPRITE_TEACHER, 9, 9, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, TeacherScript_0x184507, -1 + person_event SPRITE_SAGE, 4, 7, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, SproutTower1FSage1Script, -1 + person_event SPRITE_SAGE, 7, 6, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, SproutTower1FSage2Script, -1 + person_event SPRITE_GRANNY, 12, 11, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, SproutTower1FGrannyScript, -1 + person_event SPRITE_TEACHER, 9, 9, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, SproutTower1FTeacherScript, -1 person_event SPRITE_SAGE, 5, 3, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_TRAINER, 4, TrainerSageChow, -1 person_event SPRITE_POKE_BALL, 7, 16, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, SproutTower1FParlyzHeal, EVENT_SPROUT_TOWER1F_PARLYZ_HEAL diff --git a/maps/TeamRocketBaseB3F.asm b/maps/TeamRocketBaseB3F.asm index 916e7dd9d..347bedc90 100644 --- a/maps/TeamRocketBaseB3F.asm +++ b/maps/TeamRocketBaseB3F.asm @@ -83,8 +83,8 @@ RocketBaseRival: special RestartMapMusic end -RocketScript_0x6e048: - jumptextfaceplayer UnknownText_0x6e235 +TeamRocketBaseB3FRocketScript: + jumptextfaceplayer TeamRocketBaseB3FRocketText UnknownScript_0x6e04b: applymovement PLAYER, MovementData_0x6e133 @@ -337,7 +337,7 @@ LanceGetPasswordText: line "get the passwords." done -UnknownText_0x6e235: +TeamRocketBaseB3FRocketText: text "Urrggh… The guy" line "in the cape is" cont "incredibly tough…" @@ -604,7 +604,7 @@ TeamRocketBaseB3F_MapEventHeader: person_event SPRITE_ROCKET, 14, 5, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, 0, PERSONTYPE_TRAINER, 3, RaticateTailGrunt, EVENT_TEAM_ROCKET_BASE_POPULATION person_event SPRITE_SCIENTIST, 11, 23, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_TRAINER, 0, TrainerScientistRoss, EVENT_TEAM_ROCKET_BASE_POPULATION person_event SPRITE_SCIENTIST, 15, 11, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_TRAINER, 3, TrainerScientistMitch, EVENT_TEAM_ROCKET_BASE_POPULATION - person_event SPRITE_ROCKET, 14, 24, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, RocketScript_0x6e048, EVENT_TEAM_ROCKET_BASE_POPULATION + person_event SPRITE_ROCKET, 14, 24, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, TeamRocketBaseB3FRocketScript, EVENT_TEAM_ROCKET_BASE_POPULATION person_event SPRITE_SILVER, 5, 4, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, ObjectEvent, EVENT_RIVAL_TEAM_ROCKET_BASE person_event SPRITE_POKE_BALL, 12, 1, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, TeamRocketBaseB3FProtein, EVENT_TEAM_ROCKET_BASE_B3F_PROTEIN person_event SPRITE_POKE_BALL, 12, 3, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, TeamRocketBaseB3FXSpecial, EVENT_TEAM_ROCKET_BASE_B3F_X_SPECIAL diff --git a/maps/TinTower1F.asm b/maps/TinTower1F.asm index 73b5f3554..87fbfe13e 100644 --- a/maps/TinTower1F.asm +++ b/maps/TinTower1F.asm @@ -169,31 +169,31 @@ TinTower1F_MapScriptHeader: playmapmusic end -SageScript_0x185173: - jumptextfaceplayer UnknownText_0x185386 +TinTower1FSage1Script: + jumptextfaceplayer TinTower1FSage1Text -SageScript_0x185176: - jumptextfaceplayer UnknownText_0x185433 +TinTower1FSage2Script: + jumptextfaceplayer TinTower1FSage2Text -SageScript_0x185179: - jumptextfaceplayer UnknownText_0x185544 +TinTower1FSage3Script: + jumptextfaceplayer TinTower1FSage3Text -SageScript_0x18517c: +TinTower1FSage4Script: checkevent EVENT_FOUGHT_HO_OH - iftrue UnknownScript_0x185185 - jumptextfaceplayer UnknownText_0x1855ee + iftrue .FoughtHoOh + jumptextfaceplayer TinTower1FSage4Text1 -UnknownScript_0x185185: - jumptextfaceplayer UnknownText_0x185765 +.FoughtHoOh: + jumptextfaceplayer TinTower1FSage4Text2 -SageScript_0x185188: +TinTower1FSage5Script: faceplayer opentext checkevent EVENT_FOUGHT_HO_OH - iftrue UnknownScript_0x1851b6 + iftrue .FoughtHoOh checkevent EVENT_GOT_RAINBOW_WING - iftrue UnknownScript_0x1851b0 - writetext UnknownText_0x185629 + iftrue .GotRainbowWing + writetext TinTower1FSage5Text1 buttonsound verbosegiveitem RAINBOW_WING closetext @@ -206,25 +206,25 @@ SageScript_0x185188: setevent EVENT_GOT_RAINBOW_WING closetext opentext -UnknownScript_0x1851b0: - writetext UnknownText_0x18564a +.GotRainbowWing: + writetext TinTower1FSage5Text2 waitbutton closetext end -UnknownScript_0x1851b6: - writetext UnknownText_0x185803 +.FoughtHoOh: + writetext TinTower1FSage5Text3 waitbutton closetext end -SageScript_0x1851bc: +TinTower1FSage6Script: checkevent EVENT_FOUGHT_HO_OH - iftrue UnknownScript_0x1851c5 - jumptextfaceplayer UnknownText_0x185654 + iftrue .FoughtHoOh + jumptextfaceplayer TinTower1FSage6Text1 -UnknownScript_0x1851c5: - jumptextfaceplayer UnknownText_0x1858d0 +.FoughtHoOh: + jumptextfaceplayer TinTower1FSage6Text2 TinTowerEusine: jumptextfaceplayer TinTowerEusineHoOhText @@ -347,7 +347,7 @@ TinTowerEusineSuicuneText: para "Later, !" done -UnknownText_0x185386: +TinTower1FSage1Text: text "According to" line "legend…" @@ -367,7 +367,7 @@ UnknownText_0x185386: line "humans?" done -UnknownText_0x185433: +TinTower1FSage2Text: text "When the BRASS" line "TOWER burned down," @@ -399,7 +399,7 @@ UnknownText_0x185433: line "say." done -UnknownText_0x185544: +TinTower1FSage3Text: text "The two TOWERS are" line "said to have been" @@ -416,7 +416,7 @@ UnknownText_0x185544: line "important today." done -UnknownText_0x1855ee: +TinTower1FSage4Text1: text "HO-OH appears to" line "have descended" @@ -424,16 +424,16 @@ UnknownText_0x1855ee: line "TOWER!" done -UnknownText_0x185629: +TinTower1FSage5Text1: text "This will protect" line "you. Take it." done -UnknownText_0x18564a: +TinTower1FSage5Text2: text "Now, go." done -UnknownText_0x185654: +TinTower1FSage6Text1: text "I believe you are" line "being tested." @@ -464,7 +464,7 @@ TinTowerEusineHoOhText: line "#MANIAC!" done -UnknownText_0x185765: +TinTower1FSage4Text2: text "The legendary" line "#MON are said" @@ -481,7 +481,7 @@ UnknownText_0x185765: line "put out the fire…" done -UnknownText_0x185803: +TinTower1FSage5Text3: text "When the legendary" line "#MON appeared…" @@ -502,7 +502,7 @@ UnknownText_0x185803: cont "frightened people." done -UnknownText_0x1858d0: +TinTower1FSage6Text2: text "Of the legendary" line "#MON, SUICUNE" @@ -544,9 +544,9 @@ TinTower1F_MapEventHeader: person_event SPRITE_RAIKOU, 9, 7, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, PAL_NPC_BROWN, PERSONTYPE_SCRIPT, 0, ObjectEvent, EVENT_TIN_TOWER_1F_RAIKOU person_event SPRITE_ENTEI, 9, 12, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, ObjectEvent, EVENT_TIN_TOWER_1F_ENTEI person_event SPRITE_SUPER_NERD, 3, 8, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, TinTowerEusine, EVENT_TIN_TOWER_1F_EUSINE - person_event SPRITE_SAGE, 9, 5, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, SageScript_0x185173, EVENT_TIN_TOWER_1F_WISE_TRIO_1 - person_event SPRITE_SAGE, 11, 11, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, SageScript_0x185176, EVENT_TIN_TOWER_1F_WISE_TRIO_1 - person_event SPRITE_SAGE, 6, 14, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, SageScript_0x185179, EVENT_TIN_TOWER_1F_WISE_TRIO_1 - person_event SPRITE_SAGE, 2, 4, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, SageScript_0x18517c, EVENT_TIN_TOWER_1F_WISE_TRIO_2 - person_event SPRITE_SAGE, 1, 9, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, SageScript_0x185188, EVENT_TIN_TOWER_1F_WISE_TRIO_2 - person_event SPRITE_SAGE, 2, 14, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, 0, PERSONTYPE_SCRIPT, 0, SageScript_0x1851bc, EVENT_TIN_TOWER_1F_WISE_TRIO_2 + person_event SPRITE_SAGE, 9, 5, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, TinTower1FSage1Script, EVENT_TIN_TOWER_1F_WISE_TRIO_1 + person_event SPRITE_SAGE, 11, 11, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, TinTower1FSage2Script, EVENT_TIN_TOWER_1F_WISE_TRIO_1 + person_event SPRITE_SAGE, 6, 14, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, TinTower1FSage3Script, EVENT_TIN_TOWER_1F_WISE_TRIO_1 + person_event SPRITE_SAGE, 2, 4, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, TinTower1FSage4Script, EVENT_TIN_TOWER_1F_WISE_TRIO_2 + person_event SPRITE_SAGE, 1, 9, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, TinTower1FSage5Script, EVENT_TIN_TOWER_1F_WISE_TRIO_2 + person_event SPRITE_SAGE, 2, 14, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, 0, PERSONTYPE_SCRIPT, 0, TinTower1FSage6Script, EVENT_TIN_TOWER_1F_WISE_TRIO_2 diff --git a/maps/TrainerHouse1F.asm b/maps/TrainerHouse1F.asm index 98b0960f1..87fd7b592 100644 --- a/maps/TrainerHouse1F.asm +++ b/maps/TrainerHouse1F.asm @@ -12,20 +12,20 @@ TrainerHouse1F_MapScriptHeader: .MapCallbacks: db 0 -ReceptionistScript_0x9af67: - jumptextfaceplayer UnknownText_0x9af7f +TrainerHouse1FReceptionistScript: + jumptextfaceplayer TrainerHouse1FReceptionistText -CooltrainerMScript_0x9af6a: - jumptextfaceplayer UnknownText_0x9b025 +TrainerHouse1FCooltrainerMScript: + jumptextfaceplayer TrainerHouse1FCooltrainerMText -CooltrainerFScript_0x9af6d: - jumptextfaceplayer UnknownText_0x9b0b5 +TrainerHouse1FCooltrainerFScript: + jumptextfaceplayer TrainerHouse1FCooltrainerFText -YoungsterScript_0x9af70: - jumptextfaceplayer UnknownText_0x9b11d +TrainerHouse1FYoungsterScript: + jumptextfaceplayer TrainerHouse1FYoungsterText -GentlemanScript_0x9af73: - jumptextfaceplayer UnknownText_0x9b1c9 +TrainerHouse1FGentlemanScript: + jumptextfaceplayer TrainerHouse1FGentlemanText MapTrainerHouse1FSignpost0Script: jumptext UnknownText_0x9b1f4 @@ -36,7 +36,7 @@ MapTrainerHouse1FSignpost1Script: MapTrainerHouse1FSignpost2Script: jumptext UnknownText_0x9b2c1 -UnknownText_0x9af7f: +TrainerHouse1FReceptionistText: text "Welcome to TRAINER" line "HOUSE, the newest" @@ -53,7 +53,7 @@ UnknownText_0x9af7f: line "downstairs." done -UnknownText_0x9b025: +TrainerHouse1FCooltrainerMText: text "VIRIDIAN is the" line "town closest to" cont "INDIGO PLATEAU." @@ -68,7 +68,7 @@ UnknownText_0x9b025: line "PLATEAU." done -UnknownText_0x9b0b5: +TrainerHouse1FCooltrainerFText: text "They hold practice" line "battles downstairs" cont "here." @@ -80,7 +80,7 @@ UnknownText_0x9b0b5: line "battles." done -UnknownText_0x9b11d: +TrainerHouse1FYoungsterText: text "I guess you can't" line "become the CHAMP" @@ -97,7 +97,7 @@ UnknownText_0x9b11d: line "towns in KANTO." done -UnknownText_0x9b1c9: +TrainerHouse1FGentlemanText: text "Whew… I'm taking a" line "rest from #MON" cont "battles." @@ -158,8 +158,8 @@ TrainerHouse1F_MapEventHeader: .PersonEvents: db 5 - person_event SPRITE_RECEPTIONIST, 11, 0, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, ReceptionistScript_0x9af67, -1 - person_event SPRITE_COOLTRAINER_M, 11, 7, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, CooltrainerMScript_0x9af6a, -1 - person_event SPRITE_COOLTRAINER_F, 2, 6, SPRITEMOVEDATA_STANDING_DOWN, 0, 2, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, CooltrainerFScript_0x9af6d, -1 - person_event SPRITE_YOUNGSTER, 8, 4, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 2, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, YoungsterScript_0x9af70, -1 - person_event SPRITE_GENTLEMAN, 4, 2, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, GentlemanScript_0x9af73, -1 + person_event SPRITE_RECEPTIONIST, 11, 0, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, TrainerHouse1FReceptionistScript, -1 + person_event SPRITE_COOLTRAINER_M, 11, 7, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, TrainerHouse1FCooltrainerMScript, -1 + person_event SPRITE_COOLTRAINER_F, 2, 6, SPRITEMOVEDATA_STANDING_DOWN, 0, 2, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, TrainerHouse1FCooltrainerFScript, -1 + person_event SPRITE_YOUNGSTER, 8, 4, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 2, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, TrainerHouse1FYoungsterScript, -1 + person_event SPRITE_GENTLEMAN, 4, 2, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, TrainerHouse1FGentlemanScript, -1 diff --git a/maps/VermilionCity.asm b/maps/VermilionCity.asm index ea794dd6a..405f450b3 100644 --- a/maps/VermilionCity.asm +++ b/maps/VermilionCity.asm @@ -18,8 +18,8 @@ VermilionCity_MapScriptHeader: setflag ENGINE_FLYPOINT_VERMILION return -TeacherScript_0x1aa983: - jumptextfaceplayer UnknownText_0x1aaa15 +VermilionCityTeacherScript: + jumptextfaceplayer VermilionCityTeacherText VermilionMachopOwner: jumptextfaceplayer VermilionMachopOwnerText @@ -37,8 +37,8 @@ VermilionMachop: closetext end -SuperNerdScript_0x1aa99b: - jumptextfaceplayer UnknownText_0x1aab1a +VermilionCitySuperNerdScript: + jumptextfaceplayer VermilionCitySuperNerdText VermilionSnorlax: opentext @@ -125,7 +125,7 @@ VermilionCityMartSign: VermilionCityHiddenFullHeal: dwb EVENT_VERMILION_CITY_HIDDEN_FULL_HEAL, FULL_HEAL -UnknownText_0x1aaa15: +VermilionCityTeacherText: text "VERMILION PORT is" line "KANTO's seaside" cont "gateway." @@ -156,7 +156,7 @@ VermilionMachopText2: cont "the ground flat." done -UnknownText_0x1aab1a: +VermilionCitySuperNerdText: text "There are eight" line "GYMS in KANTO." @@ -300,9 +300,9 @@ VermilionCity_MapEventHeader: .PersonEvents: db 6 - person_event SPRITE_TEACHER, 9, 18, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, 0, PERSONTYPE_SCRIPT, 0, TeacherScript_0x1aa983, -1 + person_event SPRITE_TEACHER, 9, 18, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, 0, PERSONTYPE_SCRIPT, 0, VermilionCityTeacherScript, -1 person_event SPRITE_GRAMPS, 6, 23, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, VermilionMachopOwner, -1 person_event SPRITE_MACHOP, 7, 26, SPRITEMOVEDATA_POKEMON, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, VermilionMachop, -1 - person_event SPRITE_SUPER_NERD, 16, 14, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, SuperNerdScript_0x1aa99b, -1 + person_event SPRITE_SUPER_NERD, 16, 14, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, VermilionCitySuperNerdScript, -1 person_event SPRITE_BIG_SNORLAX, 8, 34, SPRITEMOVEDATA_SNORLAX, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, VermilionSnorlax, EVENT_VERMILION_CITY_SNORLAX person_event SPRITE_POKEFAN_M, 12, 31, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, VermilionGymBadgeGuy, -1 diff --git a/maps/VermilionHouseDiglettsCaveSpeechHouse.asm b/maps/VermilionHouseDiglettsCaveSpeechHouse.asm index 53360680c..b7440fcd7 100644 --- a/maps/VermilionHouseDiglettsCaveSpeechHouse.asm +++ b/maps/VermilionHouseDiglettsCaveSpeechHouse.asm @@ -8,10 +8,10 @@ VermilionHouseDiglettsCaveSpeechHouse_MapScriptHeader: .MapCallbacks: db 0 -GentlemanScript_0x192031: - jumptextfaceplayer UnknownText_0x192034 +VermilionHouseDiglettsCaveSpeechHouseGentlemanScript: + jumptextfaceplayer VermilionHouseDiglettsCaveSpeechHouseGentlemanText -UnknownText_0x192034: +VermilionHouseDiglettsCaveSpeechHouseGentlemanText: text "Over many years," line "DIGLETT dug a" cont "large tunnel." @@ -37,4 +37,4 @@ VermilionHouseDiglettsCaveSpeechHouse_MapEventHeader: .PersonEvents: db 1 - person_event SPRITE_GENTLEMAN, 3, 1, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, GentlemanScript_0x192031, -1 + person_event SPRITE_GENTLEMAN, 3, 1, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, VermilionHouseDiglettsCaveSpeechHouseGentlemanScript, -1 diff --git a/maps/VermilionMagnetTrainSpeechHouse.asm b/maps/VermilionMagnetTrainSpeechHouse.asm index 763f89755..1d94b09a9 100644 --- a/maps/VermilionMagnetTrainSpeechHouse.asm +++ b/maps/VermilionMagnetTrainSpeechHouse.asm @@ -9,16 +9,16 @@ VermilionMagnetTrainSpeechHouse_MapScriptHeader: .MapCallbacks: db 0 -PokefanFScript_0x191eb7: - jumptextfaceplayer UnknownText_0x191ec0 +VermilionMagnetTrainSpeechHousePokefanFScript: + jumptextfaceplayer VermilionMagnetTrainSpeechHousePokefanFText -YoungsterScript_0x191eba: - jumptextfaceplayer UnknownText_0x191f16 +VermilionMagnetTrainSpeechHouseYoungsterScript: + jumptextfaceplayer VermilionMagnetTrainSpeechHouseYoungsterText VermilionMagnetTrainSpeechHouseBookshelf: jumpstd picturebookshelf -UnknownText_0x191ec0: +VermilionMagnetTrainSpeechHousePokefanFText: text "Do you know about" line "the MAGNET TRAIN?" @@ -27,7 +27,7 @@ UnknownText_0x191ec0: cont "DENROD in JOHTO." done -UnknownText_0x191f16: +VermilionMagnetTrainSpeechHouseYoungsterText: text "I want to go to" line "SAFFRON to see" cont "the MAGNET TRAIN." @@ -52,5 +52,5 @@ VermilionMagnetTrainSpeechHouse_MapEventHeader: .PersonEvents: db 2 - person_event SPRITE_POKEFAN_F, 3, 2, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, PokefanFScript_0x191eb7, -1 - person_event SPRITE_YOUNGSTER, 3, 0, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, YoungsterScript_0x191eba, -1 + person_event SPRITE_POKEFAN_F, 3, 2, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, VermilionMagnetTrainSpeechHousePokefanFScript, -1 + person_event SPRITE_YOUNGSTER, 3, 0, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, VermilionMagnetTrainSpeechHouseYoungsterScript, -1 diff --git a/maps/VermilionMart.asm b/maps/VermilionMart.asm index e5092c8ca..71a7d601f 100644 --- a/maps/VermilionMart.asm +++ b/maps/VermilionMart.asm @@ -16,13 +16,13 @@ ClerkScript_0x191f7e: closetext end -SuperNerdScript_0x191f85: - jumptextfaceplayer UnknownText_0x191f8b +VermilionMartSuperNerdScript: + jumptextfaceplayer VermilionMartSuperNerdText -BuenaScript_0x191f88: - jumptextfaceplayer UnknownText_0x191fca +VermilionMartBuenaScript: + jumptextfaceplayer VermilionMartBuenaText -UnknownText_0x191f8b: +VermilionMartSuperNerdText: text "TEAM ROCKET is no" line "longer in KANTO." @@ -30,7 +30,7 @@ UnknownText_0x191f8b: line "me happy." done -UnknownText_0x191fca: +VermilionMartBuenaText: text "I'm thinking about" line "going shopping in" cont "SAFFRON." @@ -54,5 +54,5 @@ VermilionMart_MapEventHeader: .PersonEvents: db 3 person_event SPRITE_CLERK, 3, 1, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, ClerkScript_0x191f7e, -1 - person_event SPRITE_SUPER_NERD, 2, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, SuperNerdScript_0x191f85, -1 - person_event SPRITE_BUENA, 6, 8, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, BuenaScript_0x191f88, -1 + person_event SPRITE_SUPER_NERD, 2, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, VermilionMartSuperNerdScript, -1 + person_event SPRITE_BUENA, 6, 8, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, VermilionMartBuenaScript, -1 diff --git a/maps/VermilionPokecenter1F.asm b/maps/VermilionPokecenter1F.asm index f4bbd0140..1a6e6b905 100644 --- a/maps/VermilionPokecenter1F.asm +++ b/maps/VermilionPokecenter1F.asm @@ -30,11 +30,11 @@ UnknownScript_0x191614: closetext end -SailorScript_0x19161a: - jumptextfaceplayer UnknownText_0x1916fe +VermilionPokecenter1FSailorScript: + jumptextfaceplayer VermilionPokecenter1FSailorText -BugCatcherScript_0x19161d: - jumptextfaceplayer UnknownText_0x19173b +VermilionPokecenter1FBugCatcherScript: + jumptextfaceplayer VermilionPokecenter1FBugCatcherText UnknownText_0x191620: text "A sleeping #MON" @@ -59,7 +59,7 @@ UnknownText_0x191698: line "have disappeared." done -UnknownText_0x1916fe: +VermilionPokecenter1FSailorText: text "The FAST SHIP is a" line "great place to" @@ -67,7 +67,7 @@ UnknownText_0x1916fe: line "trainers." done -UnknownText_0x19173b: +VermilionPokecenter1FBugCatcherText: text "Oh? You have some" line "BADGES I've never" cont "seen before." @@ -96,5 +96,5 @@ VermilionPokecenter1F_MapEventHeader: db 4 person_event SPRITE_NURSE, 1, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, NurseScript_0x191603, -1 person_event SPRITE_FISHING_GURU, 2, 7, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, FishingGuruScript_0x191606, -1 - person_event SPRITE_SAILOR, 5, 6, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, SailorScript_0x19161a, -1 - person_event SPRITE_BUG_CATCHER, 5, 1, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, BugCatcherScript_0x19161d, -1 + person_event SPRITE_SAILOR, 5, 6, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, VermilionPokecenter1FSailorScript, -1 + person_event SPRITE_BUG_CATCHER, 5, 1, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, VermilionPokecenter1FBugCatcherScript, -1 diff --git a/maps/VermilionPortPassage.asm b/maps/VermilionPortPassage.asm index 8acb74505..028bb6094 100644 --- a/maps/VermilionPortPassage.asm +++ b/maps/VermilionPortPassage.asm @@ -8,10 +8,10 @@ VermilionPortPassage_MapScriptHeader: .MapCallbacks: db 0 -TeacherScript_0x7701a: - jumptextfaceplayer UnknownText_0x7701d +VermilionPortPassageTeacherScript: + jumptextfaceplayer VermilionPortPassageTeacherText -UnknownText_0x7701d: +VermilionPortPassageTeacherText: text "The FAST SHIP" line "sails on Wednes-" cont "days and Sundays" @@ -38,4 +38,4 @@ VermilionPortPassage_MapEventHeader: .PersonEvents: db 1 - person_event SPRITE_TEACHER, 1, 17, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, TeacherScript_0x7701a, -1 + person_event SPRITE_TEACHER, 1, 17, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, VermilionPortPassageTeacherScript, -1 diff --git a/maps/VioletKylesHouse.asm b/maps/VioletKylesHouse.asm index 041bfd9d7..de6a1edf8 100644 --- a/maps/VioletKylesHouse.asm +++ b/maps/VioletKylesHouse.asm @@ -9,8 +9,8 @@ VioletKylesHouse_MapScriptHeader: .MapCallbacks: db 0 -PokefanMScript_0x6998d: - jumptextfaceplayer UnknownText_0x69997 +VioletKylesHousePokefanMScript: + jumptextfaceplayer VioletKylesHousePokefanMText Kyle: faceplayer @@ -20,7 +20,7 @@ Kyle: closetext end -UnknownText_0x69997: +VioletKylesHousePokefanMText: text "A #MON you get" line "in a trade grows" cont "quickly." @@ -49,5 +49,5 @@ VioletKylesHouse_MapEventHeader: .PersonEvents: db 2 - person_event SPRITE_POKEFAN_M, 3, 2, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, PokefanMScript_0x6998d, -1 + person_event SPRITE_POKEFAN_M, 3, 2, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, VioletKylesHousePokefanMScript, -1 person_event SPRITE_YOUNGSTER, 5, 6, SPRITEMOVEDATA_WALK_UP_DOWN, 2, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, Kyle, -1 diff --git a/maps/VioletMart.asm b/maps/VioletMart.asm index 35b0d5593..db6790bfe 100644 --- a/maps/VioletMart.asm +++ b/maps/VioletMart.asm @@ -16,13 +16,13 @@ ClerkScript_0x68295: closetext end -GrannyScript_0x6829c: - jumptextfaceplayer UnknownText_0x682a2 +VioletMartGrannyScript: + jumptextfaceplayer VioletMartGrannyText -CooltrainerMScript_0x6829f: - jumptextfaceplayer UnknownText_0x68323 +VioletMartCooltrainerMScript: + jumptextfaceplayer VioletMartCooltrainerMText -UnknownText_0x682a2: +VioletMartGrannyText: text "When you first" line "catch a #MON," cont "it may be weak." @@ -36,7 +36,7 @@ UnknownText_0x682a2: cont "love." done -UnknownText_0x68323: +VioletMartCooltrainerMText: text "#MON can hold" line "items like POTION" cont "and ANTIDOTE." @@ -66,5 +66,5 @@ VioletMart_MapEventHeader: .PersonEvents: db 3 person_event SPRITE_CLERK, 3, 1, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, ClerkScript_0x68295, -1 - person_event SPRITE_GRANNY, 6, 7, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, 0, PERSONTYPE_SCRIPT, 0, GrannyScript_0x6829c, -1 - person_event SPRITE_COOLTRAINER_M, 2, 5, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, CooltrainerMScript_0x6829f, -1 + person_event SPRITE_GRANNY, 6, 7, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, 0, PERSONTYPE_SCRIPT, 0, VioletMartGrannyScript, -1 + person_event SPRITE_COOLTRAINER_M, 2, 5, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, VioletMartCooltrainerMScript, -1 diff --git a/maps/VioletNicknameSpeechHouse.asm b/maps/VioletNicknameSpeechHouse.asm index e10c41d0a..61f95bb0b 100644 --- a/maps/VioletNicknameSpeechHouse.asm +++ b/maps/VioletNicknameSpeechHouse.asm @@ -10,11 +10,11 @@ VioletNicknameSpeechHouse_MapScriptHeader: .MapCallbacks: db 0 -TeacherScript_0x693e9: - jumptextfaceplayer UnknownText_0x693fa +VioletNicknameSpeechHouseTeacherScript: + jumptextfaceplayer VioletNicknameSpeechHouseTeacherText -LassScript_0x693ec: - jumptextfaceplayer UnknownText_0x6945e +VioletNicknameSpeechHouseLassScript: + jumptextfaceplayer VioletNicknameSpeechHouseLassText BirdScript_0x693ef: faceplayer @@ -25,7 +25,7 @@ BirdScript_0x693ef: closetext end -UnknownText_0x693fa: +VioletNicknameSpeechHouseTeacherText: text "She uses the names" line "of her favorite" cont "things to eat." @@ -35,7 +35,7 @@ UnknownText_0x693fa: cont "#MON, I mean." done -UnknownText_0x6945e: +VioletNicknameSpeechHouseLassText: text "I call my PIDGEY" line "STRAWBERRY!" done @@ -61,6 +61,6 @@ VioletNicknameSpeechHouse_MapEventHeader: .PersonEvents: db 3 - person_event SPRITE_TEACHER, 3, 2, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, TeacherScript_0x693e9, -1 - person_event SPRITE_LASS, 4, 6, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, LassScript_0x693ec, -1 + person_event SPRITE_TEACHER, 3, 2, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, VioletNicknameSpeechHouseTeacherScript, -1 + person_event SPRITE_LASS, 4, 6, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, VioletNicknameSpeechHouseLassScript, -1 person_event SPRITE_BIRD, 2, 5, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, PAL_NPC_BROWN, PERSONTYPE_SCRIPT, 0, BirdScript_0x693ef, -1 diff --git a/maps/VioletPokecenter1F.asm b/maps/VioletPokecenter1F.asm index 46afff49a..f871a5977 100644 --- a/maps/VioletPokecenter1F.asm +++ b/maps/VioletPokecenter1F.asm @@ -78,14 +78,14 @@ VioletPokecenter1F_ElmsAideScript: writetext UnknownText_0x69712 jump .AskTakeEgg -GameboyKidScript_0x69540: - jumptextfaceplayer UnknownText_0x69809 +VioletPokecenter1FGameboyKidScript: + jumptextfaceplayer VioletPokecenter1FGameboyKidText -GentlemanScript_0x69543: - jumptextfaceplayer UnknownText_0x6983c +VioletPokecenter1FGentlemanScript: + jumptextfaceplayer VioletPokecenter1FGentlemanText -YoungsterScript_0x69546: - jumptextfaceplayer UnknownText_0x698b8 +VioletPokecenter1FYoungsterScript: + jumptextfaceplayer VioletPokecenter1FYoungsterText MovementData_AideWalksStraightOutOfPokecenter: step DOWN @@ -182,13 +182,13 @@ UnknownText_0x69791: line "a friend far away." done -UnknownText_0x69809: +VioletPokecenter1FGameboyKidText: text "A guy named BILL" line "made the #MON" cont "PC storage system." done -UnknownText_0x6983c: +VioletPokecenter1FGentlemanText: text "It was around" line "three years ago." @@ -201,7 +201,7 @@ UnknownText_0x6983c: cont "kid broke 'em up." done -UnknownText_0x698b8: +VioletPokecenter1FYoungsterText: text "#MON are smart." line "They won't obey a" @@ -234,7 +234,7 @@ VioletPokecenter1F_MapEventHeader: .PersonEvents: db 5 person_event SPRITE_NURSE, 1, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, VioletPokecenterNurse, -1 - person_event SPRITE_GAMEBOY_KID, 6, 7, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, GameboyKidScript_0x69540, -1 - person_event SPRITE_GENTLEMAN, 4, 1, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, GentlemanScript_0x69543, -1 - person_event SPRITE_YOUNGSTER, 1, 8, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, YoungsterScript_0x69546, -1 + person_event SPRITE_GAMEBOY_KID, 6, 7, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, VioletPokecenter1FGameboyKidScript, -1 + person_event SPRITE_GENTLEMAN, 4, 1, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, VioletPokecenter1FGentlemanScript, -1 + person_event SPRITE_YOUNGSTER, 1, 8, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, VioletPokecenter1FYoungsterScript, -1 person_event SPRITE_SCIENTIST, 3, 4, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, VioletPokecenter1F_ElmsAideScript, EVENT_ELMS_AIDE_IN_VIOLET_POKEMON_CENTER diff --git a/maps/ViridianCity.asm b/maps/ViridianCity.asm index a6b30627a..3b4ce8f33 100644 --- a/maps/ViridianCity.asm +++ b/maps/ViridianCity.asm @@ -66,8 +66,8 @@ FisherScript_0x1a9a75: closetext end -YoungsterScript_0x1a9a90: - jumptextfaceplayer UnknownText_0x1a9daa +ViridianCityYoungsterScript: + jumptextfaceplayer ViridianCityYoungsterText ViridianCitySign: jumptext ViridianCitySignText @@ -176,7 +176,7 @@ UnknownText_0x1a9d86: para "…Zzzzz…" done -UnknownText_0x1a9daa: +ViridianCityYoungsterText: text "I heard that there" line "are many items on" @@ -244,4 +244,4 @@ ViridianCity_MapEventHeader: person_event SPRITE_GRAMPS, 5, 18, SPRITEMOVEDATA_WANDER, 2, 2, -1, -1, 0, PERSONTYPE_SCRIPT, 0, GrampsScript_0x1a9a4c, -1 person_event SPRITE_GRAMPS, 8, 30, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, GrampsScript_0x1a9a61, -1 person_event SPRITE_FISHER, 23, 6, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, FisherScript_0x1a9a75, -1 - person_event SPRITE_YOUNGSTER, 21, 17, SPRITEMOVEDATA_WANDER, 3, 3, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, YoungsterScript_0x1a9a90, -1 + person_event SPRITE_YOUNGSTER, 21, 17, SPRITEMOVEDATA_WANDER, 3, 3, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, ViridianCityYoungsterScript, -1 diff --git a/maps/ViridianMart.asm b/maps/ViridianMart.asm index 25764b0a5..dbb1e8d09 100644 --- a/maps/ViridianMart.asm +++ b/maps/ViridianMart.asm @@ -16,19 +16,19 @@ ClerkScript_0x9b5e7: closetext end -LassScript_0x9b5ee: - jumptextfaceplayer UnknownText_0x9b5f4 +ViridianMartLassScript: + jumptextfaceplayer ViridianMartLassText -CooltrainerMScript_0x9b5f1: - jumptextfaceplayer UnknownText_0x9b61a +ViridianMartCooltrainerMScript: + jumptextfaceplayer ViridianMartCooltrainerMText -UnknownText_0x9b5f4: +ViridianMartLassText: text "The GYM LEADER" line "here is totally" cont "cool." done -UnknownText_0x9b61a: +ViridianMartCooltrainerMText: text "Have you been to" line "CINNABAR?" @@ -54,5 +54,5 @@ ViridianMart_MapEventHeader: .PersonEvents: db 3 person_event SPRITE_CLERK, 3, 1, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, ClerkScript_0x9b5e7, -1 - person_event SPRITE_LASS, 2, 7, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 2, -1, -1, 0, PERSONTYPE_SCRIPT, 0, LassScript_0x9b5ee, -1 - person_event SPRITE_COOLTRAINER_M, 6, 1, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, CooltrainerMScript_0x9b5f1, -1 + person_event SPRITE_LASS, 2, 7, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 2, -1, -1, 0, PERSONTYPE_SCRIPT, 0, ViridianMartLassScript, -1 + person_event SPRITE_COOLTRAINER_M, 6, 1, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, ViridianMartCooltrainerMScript, -1 diff --git a/maps/ViridianNicknameSpeechHouse.asm b/maps/ViridianNicknameSpeechHouse.asm index b28c14ac1..9c402b327 100644 --- a/maps/ViridianNicknameSpeechHouse.asm +++ b/maps/ViridianNicknameSpeechHouse.asm @@ -11,11 +11,11 @@ ViridianNicknameSpeechHouse_MapScriptHeader: .MapCallbacks: db 0 -PokefanMScript_0x9ae3a: - jumptextfaceplayer UnknownText_0x9ae54 +ViridianNicknameSpeechHousePokefanMScript: + jumptextfaceplayer ViridianNicknameSpeechHousePokefanMText -LassScript_0x9ae3d: - jumptextfaceplayer UnknownText_0x9aecb +ViridianNicknameSpeechHouseLassScript: + jumptextfaceplayer ViridianNicknameSpeechHouseLassText Speary: opentext @@ -33,7 +33,7 @@ Rattey: closetext end -UnknownText_0x9ae54: +ViridianNicknameSpeechHousePokefanMText: text "Do you put a lot" line "of thought into" @@ -47,7 +47,7 @@ UnknownText_0x9ae54: line "with others." done -UnknownText_0x9aecb: +ViridianNicknameSpeechHouseLassText: text "They're SPEARY--" line "a SPEAROW--and" cont "RATTEY--a RATTATA." @@ -78,7 +78,7 @@ ViridianNicknameSpeechHouse_MapEventHeader: .PersonEvents: db 4 - person_event SPRITE_POKEFAN_M, 4, 2, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, PokefanMScript_0x9ae3a, -1 - person_event SPRITE_LASS, 4, 5, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, LassScript_0x9ae3d, -1 + person_event SPRITE_POKEFAN_M, 4, 2, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, ViridianNicknameSpeechHousePokefanMScript, -1 + person_event SPRITE_LASS, 4, 5, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, ViridianNicknameSpeechHouseLassScript, -1 person_event SPRITE_MOLTRES, 2, 5, SPRITEMOVEDATA_POKEMON, 0, 2, -1, -1, PAL_NPC_BROWN, PERSONTYPE_SCRIPT, 0, Speary, -1 person_event SPRITE_GROWLITHE, 3, 6, SPRITEMOVEDATA_POKEMON, 0, 2, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, Rattey, -1 diff --git a/maps/ViridianPokecenter1F.asm b/maps/ViridianPokecenter1F.asm index 35c634f03..2db55de00 100644 --- a/maps/ViridianPokecenter1F.asm +++ b/maps/ViridianPokecenter1F.asm @@ -30,11 +30,11 @@ CooltrainerMScript_0x9b693: closetext end -CooltrainerFScript_0x9b6a7: - jumptextfaceplayer UnknownText_0x9b76b +ViridianPokecenter1FCooltrainerFScript: + jumptextfaceplayer ViridianPokecenter1FCooltrainerFText -BugCatcherScript_0x9b6aa: - jumptextfaceplayer UnknownText_0x9b7c8 +ViridianPokecenter1FBugCatcherScript: + jumptextfaceplayer ViridianPokecenter1FBugCatcherText UnknownText_0x9b6ad: text "Where in the world" @@ -56,7 +56,7 @@ UnknownText_0x9b6f5: line "any underlings." done -UnknownText_0x9b76b: +ViridianPokecenter1FCooltrainerFText: text "I heard that the" line "GYM in CINNABAR is" cont "gone." @@ -66,7 +66,7 @@ UnknownText_0x9b76b: cont "the GYM LEADER." done -UnknownText_0x9b7c8: +ViridianPokecenter1FBugCatcherText: text "My dream is to be-" line "come a GYM LEADER." done @@ -91,5 +91,5 @@ ViridianPokecenter1F_MapEventHeader: db 4 person_event SPRITE_NURSE, 1, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, NurseScript_0x9b690, -1 person_event SPRITE_COOLTRAINER_M, 4, 8, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, CooltrainerMScript_0x9b693, -1 - person_event SPRITE_COOLTRAINER_F, 3, 5, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, CooltrainerFScript_0x9b6a7, -1 - person_event SPRITE_BUG_CATCHER, 6, 1, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, BugCatcherScript_0x9b6aa, -1 + person_event SPRITE_COOLTRAINER_F, 3, 5, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, ViridianPokecenter1FCooltrainerFScript, -1 + person_event SPRITE_BUG_CATCHER, 6, 1, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, ViridianPokecenter1FBugCatcherScript, -1 diff --git a/maps/WiseTriosRoom.asm b/maps/WiseTriosRoom.asm index 5f4a38dad..1eaa1f82f 100644 --- a/maps/WiseTriosRoom.asm +++ b/maps/WiseTriosRoom.asm @@ -43,14 +43,14 @@ WiseTriosRoom_MapScriptHeader: setevent EVENT_WISE_TRIOS_ROOM_WISE_TRIO_2 return -SageScript_0x9859a: - jumptextfaceplayer UnknownText_0x9862b +WiseTriosRoomSage1Script: + jumptextfaceplayer WiseTriosRoomSage1Text -SageScript_0x9859d: - jumptextfaceplayer UnknownText_0x9868b +WiseTriosRoomSage2Script: + jumptextfaceplayer WiseTriosRoomSage2Text -SageScript_0x985a0: - jumptextfaceplayer UnknownText_0x987af +WiseTriosRoomSage3Script: + jumptextfaceplayer WiseTriosRoomSage3Text UnknownScript_0x985a3: spriteface WISETRIOSROOM_SAGE3, UP @@ -130,7 +130,7 @@ MovementData_0x98628: step DOWN step_end -UnknownText_0x9862b: +WiseTriosRoomSage1Text: text "Astounding…" para "SUICUNE, ENTEI and" @@ -141,7 +141,7 @@ UnknownText_0x9862b: line "coming true?" done -UnknownText_0x9868b: +WiseTriosRoomSage2Text: text "We train at the" line "BURNED TOWER, but" @@ -172,7 +172,7 @@ UnknownText_0x98712: line "entering!" done -UnknownText_0x987af: +WiseTriosRoomSage3Text: text "We, the WISE TRIO," line "are the protectors" @@ -363,9 +363,9 @@ WiseTriosRoom_MapEventHeader: .PersonEvents: db 6 - person_event SPRITE_SAGE, 2, 6, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, SageScript_0x9859a, EVENT_WISE_TRIOS_ROOM_WISE_TRIO_1 - person_event SPRITE_SAGE, 7, 6, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, 0, PERSONTYPE_SCRIPT, 0, SageScript_0x9859d, EVENT_WISE_TRIOS_ROOM_WISE_TRIO_1 - person_event SPRITE_SAGE, 5, 7, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, SageScript_0x985a0, EVENT_WISE_TRIOS_ROOM_WISE_TRIO_1 + person_event SPRITE_SAGE, 2, 6, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, WiseTriosRoomSage1Script, EVENT_WISE_TRIOS_ROOM_WISE_TRIO_1 + person_event SPRITE_SAGE, 7, 6, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, 0, PERSONTYPE_SCRIPT, 0, WiseTriosRoomSage2Script, EVENT_WISE_TRIOS_ROOM_WISE_TRIO_1 + person_event SPRITE_SAGE, 5, 7, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, WiseTriosRoomSage3Script, EVENT_WISE_TRIOS_ROOM_WISE_TRIO_1 person_event SPRITE_SAGE, 2, 4, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_TRAINER, 2, TrainerSageGaku, EVENT_WISE_TRIOS_ROOM_WISE_TRIO_2 person_event SPRITE_SAGE, 6, 4, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, PERSONTYPE_TRAINER, 2, TrainerSageMasa, EVENT_WISE_TRIOS_ROOM_WISE_TRIO_2 person_event SPRITE_SAGE, 4, 6, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, PERSONTYPE_TRAINER, 2, TrainerSageKoji, EVENT_WISE_TRIOS_ROOM_WISE_TRIO_2 -- cgit v1.2.3 From 17058aaec275675dd128bdcb65055c2710400b97 Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Sun, 17 Dec 2017 20:45:04 -0500 Subject: Auto-label more map scripts --- maps/BlackthornGym1F.asm | 12 +- maps/BlackthornGym2F.asm | 8 +- maps/CeladonCity.asm | 4 +- maps/CeladonDeptStore3F.asm | 16 +-- maps/CeladonDeptStore6F.asm | 13 +- maps/CeladonDeptStoreElevator.asm | 18 ++- maps/CeladonGameCorner.asm | 174 +++++++++++++-------------- maps/CeladonGym.asm | 20 +-- maps/CeruleanCity.asm | 68 +++++------ maps/CeruleanGym.asm | 12 +- maps/DanceTheatre.asm | 20 +-- maps/DarkCaveBlackthornEntrance.asm | 20 +-- maps/DragonsDenB1F.asm | 16 +-- maps/EarlsPokemonAcademy.asm | 16 +-- maps/EcruteakGym.asm | 16 +-- maps/FastShipB1F.asm | 40 +++--- maps/FastShipCabins_NNW_NNE_NE.asm | 24 ++-- maps/FastShipCabins_SE_SSE_CaptainsCabin.asm | 28 ++--- maps/FastShipCabins_SW_SSW_NW.asm | 16 +-- maps/GoldenrodDeptStoreElevator.asm | 4 +- maps/GoldenrodGym.asm | 16 +-- maps/IlexForest.asm | 4 +- maps/LakeOfRage.asm | 16 +-- maps/MahoganyGym.asm | 20 +-- maps/MountMortar1FInside.asm | 8 +- maps/MountMortar2FInside.asm | 4 +- maps/NationalPark.asm | 16 +-- maps/OlivineLighthouse2F.asm | 8 +- maps/OlivineLighthouse3F.asm | 12 +- maps/OlivineLighthouse4F.asm | 8 +- maps/OlivineLighthouse5F.asm | 8 +- maps/PewterGym.asm | 4 +- maps/RadioTower1F.asm | 4 +- maps/RadioTower2F.asm | 16 +-- maps/RadioTower3F.asm | 16 +-- maps/RadioTower4F.asm | 16 +-- maps/RadioTower5F.asm | 4 +- maps/RedsHouse2F.asm | 16 +-- maps/Route1.asm | 8 +- maps/Route10South.asm | 8 +- maps/Route11.asm | 16 +-- maps/Route12.asm | 16 +-- maps/Route13.asm | 20 +-- maps/Route14.asm | 12 +- maps/Route15.asm | 24 ++-- maps/Route17.asm | 16 +-- maps/Route18.asm | 8 +- maps/Route19.asm | 16 +-- maps/Route2.asm | 12 +- maps/Route20.asm | 12 +- maps/Route21.asm | 12 +- maps/Route25.asm | 28 ++--- maps/Route26.asm | 24 ++-- maps/Route27.asm | 24 ++-- maps/Route3.asm | 16 +-- maps/Route35.asm | 32 ++--- maps/Route36.asm | 4 +- maps/Route37.asm | 12 +- maps/Route38.asm | 40 +++--- maps/Route39.asm | 16 +-- maps/Route4.asm | 12 +- maps/Route40.asm | 16 +-- maps/Route41.asm | 40 +++--- maps/Route42.asm | 12 +- maps/Route43.asm | 24 ++-- maps/Route44.asm | 28 ++--- maps/Route45.asm | 28 ++--- maps/Route46.asm | 12 +- maps/Route6.asm | 8 +- maps/Route8.asm | 20 +-- maps/Route9.asm | 24 ++-- maps/RuinsOfAlphOutside.asm | 12 +- maps/SaffronGym.asm | 16 +-- maps/SlowpokeWellB1F.asm | 16 +-- maps/SproutTower1F.asm | 4 +- maps/SproutTower2F.asm | 8 +- maps/SproutTower3F.asm | 12 +- maps/TeamRocketBaseB1F.asm | 8 +- maps/TeamRocketBaseB2F.asm | 12 +- maps/TeamRocketBaseB3F.asm | 8 +- maps/TinTower9F.asm | 6 +- maps/UndergroundPathSwitchRoomEntrances.asm | 24 ++-- maps/UndergroundWarehouse.asm | 12 +- maps/UnionCave1F.asm | 20 +-- maps/UnionCaveB1F.asm | 16 +-- maps/UnionCaveB2F.asm | 12 +- maps/VermilionGym.asm | 12 +- maps/VioletGym.asm | 8 +- maps/WarehouseEntrance.asm | 16 +-- maps/WiseTriosRoom.asm | 12 +- 90 files changed, 788 insertions(+), 787 deletions(-) diff --git a/maps/BlackthornGym1F.asm b/maps/BlackthornGym1F.asm index baae2fe8e..651d7e7ec 100644 --- a/maps/BlackthornGym1F.asm +++ b/maps/BlackthornGym1F.asm @@ -93,9 +93,9 @@ BlackthornGymClairScript: end TrainerCooltrainermPaul: - trainer EVENT_BEAT_COOLTRAINERM_PAUL, COOLTRAINERM, PAUL, CooltrainermPaulSeenText, CooltrainermPaulBeatenText, 0, CooltrainermPaulScript + trainer EVENT_BEAT_COOLTRAINERM_PAUL, COOLTRAINERM, PAUL, CooltrainermPaulSeenText, CooltrainermPaulBeatenText, 0, .Script -CooltrainermPaulScript: +.Script: end_if_just_battled opentext writetext CooltrainermPaulAfterBattleText @@ -104,9 +104,9 @@ CooltrainermPaulScript: end TrainerCooltrainermMike: - trainer EVENT_BEAT_COOLTRAINERM_MIKE, COOLTRAINERM, MIKE, CooltrainermMikeSeenText, CooltrainermMikeBeatenText, 0, CooltrainermMikeScript + trainer EVENT_BEAT_COOLTRAINERM_MIKE, COOLTRAINERM, MIKE, CooltrainermMikeSeenText, CooltrainermMikeBeatenText, 0, .Script -CooltrainermMikeScript: +.Script: end_if_just_battled opentext writetext CooltrainermMikeAfterBattleText @@ -115,9 +115,9 @@ CooltrainermMikeScript: end TrainerCooltrainerfLola: - trainer EVENT_BEAT_COOLTRAINERF_LOLA, COOLTRAINERF, LOLA, CooltrainerfLolaSeenText, CooltrainerfLolaBeatenText, 0, CooltrainerfLolaScript + trainer EVENT_BEAT_COOLTRAINERF_LOLA, COOLTRAINERF, LOLA, CooltrainerfLolaSeenText, CooltrainerfLolaBeatenText, 0, .Script -CooltrainerfLolaScript: +.Script: end_if_just_battled opentext writetext CooltrainerfLolaAfterBattleText diff --git a/maps/BlackthornGym2F.asm b/maps/BlackthornGym2F.asm index 92b623b2a..3dd4a4d45 100644 --- a/maps/BlackthornGym2F.asm +++ b/maps/BlackthornGym2F.asm @@ -61,9 +61,9 @@ BlackthornGymBoulder: jumpstd strengthboulder TrainerCooltrainermCody: - trainer EVENT_BEAT_COOLTRAINERM_CODY, COOLTRAINERM, CODY, CooltrainermCodySeenText, CooltrainermCodyBeatenText, 0, CooltrainermCodyScript + trainer EVENT_BEAT_COOLTRAINERM_CODY, COOLTRAINERM, CODY, CooltrainermCodySeenText, CooltrainermCodyBeatenText, 0, .Script -CooltrainermCodyScript: +.Script: end_if_just_battled opentext writetext CooltrainermCodyAfterBattleText @@ -72,9 +72,9 @@ CooltrainermCodyScript: end TrainerCooltrainerfFran: - trainer EVENT_BEAT_COOLTRAINERF_FRAN, COOLTRAINERF, FRAN, CooltrainerfFranSeenText, CooltrainerfFranBeatenText, 0, CooltrainerfFranScript + trainer EVENT_BEAT_COOLTRAINERF_FRAN, COOLTRAINERF, FRAN, CooltrainerfFranSeenText, CooltrainerfFranBeatenText, 0, .Script -CooltrainerfFranScript: +.Script: end_if_just_battled opentext writetext CooltrainerfFranAfterBattleText diff --git a/maps/CeladonCity.asm b/maps/CeladonCity.asm index e1dc6356a..14b1a2d70 100644 --- a/maps/CeladonCity.asm +++ b/maps/CeladonCity.asm @@ -160,8 +160,8 @@ CeladonCityTeacher2Text: line "a sales clerk." done -; possibly unused -UnknownText_0x1aa25b: +; unused +CeladonCityUnusedPokeComCenterText: text "I love being" line "surrounded by tall" cont "buildings!" diff --git a/maps/CeladonDeptStore3F.asm b/maps/CeladonDeptStore3F.asm index 64437faec..72f4f26ea 100644 --- a/maps/CeladonDeptStore3F.asm +++ b/maps/CeladonDeptStore3F.asm @@ -22,19 +22,19 @@ ClerkScript_0x70d29: CeladonDeptStore3FYoungsterScript: jumptextfaceplayer CeladonDeptStore3FYoungsterText -GameboyKidScript_0x70d34: +CeladonDeptStore3FGameboyKid1Script: faceplayer opentext - writetext UnknownText_0x70d86 + writetext CeladonDeptStore3FGameboyKid1Text waitbutton closetext spriteface CELADONDEPTSTORE3F_GAMEBOY_KID1, DOWN end -GameboyKidScript_0x70d3f: +CeladonDeptStore3FGameboyKid2Script: faceplayer opentext - writetext UnknownText_0x70dc7 + writetext CeladonDeptStore3FGameboyKid2Text waitbutton closetext spriteface CELADONDEPTSTORE3F_GAMEBOY_KID2, DOWN @@ -57,7 +57,7 @@ CeladonDeptStore3FYoungsterText: line "on…" done -UnknownText_0x70d86: +CeladonDeptStore3FGameboyKid1Text: text "Uh-oh! I traded my" line "#MON without" @@ -65,7 +65,7 @@ UnknownText_0x70d86: line "GRADE from it." done -UnknownText_0x70dc7: +CeladonDeptStore3FGameboyKid2Text: text "Yeah! I'm finally" line "getting a PORYGON!" @@ -116,6 +116,6 @@ CeladonDeptStore3F_MapEventHeader: db 5 person_event SPRITE_CLERK, 1, 7, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, ClerkScript_0x70d29, -1 person_event SPRITE_YOUNGSTER, 4, 6, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, CeladonDeptStore3FYoungsterScript, -1 - person_event SPRITE_GAMEBOY_KID, 1, 9, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, GameboyKidScript_0x70d34, -1 - person_event SPRITE_GAMEBOY_KID, 1, 10, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, GameboyKidScript_0x70d3f, -1 + person_event SPRITE_GAMEBOY_KID, 1, 9, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, CeladonDeptStore3FGameboyKid1Script, -1 + person_event SPRITE_GAMEBOY_KID, 1, 10, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, CeladonDeptStore3FGameboyKid2Script, -1 person_event SPRITE_SUPER_NERD, 4, 13, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, CeladonDeptStore3FSuperNerdScript, -1 diff --git a/maps/CeladonDeptStore6F.asm b/maps/CeladonDeptStore6F.asm index 843946bea..88f6b756e 100644 --- a/maps/CeladonDeptStore6F.asm +++ b/maps/CeladonDeptStore6F.asm @@ -20,7 +20,7 @@ CeladonDeptStore6FSuperNerdScript: CeladonDeptStore6FYoungsterScript: jumptextfaceplayer CeladonDeptStore6FYoungsterText -CeladonVendingMachine: +CeladonDeptStore6FVendingMachine: opentext writetext CeladonVendingText .Start: @@ -98,7 +98,8 @@ CeladonVendingMachine: CeladonDeptStore6FDirectory: jumptext CeladonDeptStore6FDirectoryText -UnknownScript_0x7124d: +; unused +CeladonDeptStore6FElevatorButton: jumpstd elevatorbutton CeladonVendingText: @@ -162,10 +163,10 @@ CeladonDeptStore6F_MapEventHeader: db 6 signpost 0, 14, SIGNPOST_READ, CeladonDeptStore6FDirectory signpost 0, 3, SIGNPOST_READ, CeladonDeptStore1FElevatorButton - signpost 1, 8, SIGNPOST_UP, CeladonVendingMachine - signpost 1, 9, SIGNPOST_UP, CeladonVendingMachine - signpost 1, 10, SIGNPOST_UP, CeladonVendingMachine - signpost 1, 11, SIGNPOST_UP, CeladonVendingMachine + signpost 1, 8, SIGNPOST_UP, CeladonDeptStore6FVendingMachine + signpost 1, 9, SIGNPOST_UP, CeladonDeptStore6FVendingMachine + signpost 1, 10, SIGNPOST_UP, CeladonDeptStore6FVendingMachine + signpost 1, 11, SIGNPOST_UP, CeladonDeptStore6FVendingMachine .PersonEvents: db 2 diff --git a/maps/CeladonDeptStoreElevator.asm b/maps/CeladonDeptStoreElevator.asm index 2f3be1a3d..5af977699 100644 --- a/maps/CeladonDeptStoreElevator.asm +++ b/maps/CeladonDeptStoreElevator.asm @@ -5,20 +5,19 @@ CeladonDeptStoreElevator_MapScriptHeader: .MapCallbacks: db 0 -MapCeladonDeptStoreElevatorSignpost0Script: +CeladonDeptStoreElevatorScript: opentext - elevator Elevator_0x713be + elevator CeladonDeptStoreElevatorData closetext - iffalse UnknownScript_0x713bd + iffalse .Done pause 5 playsound SFX_ELEVATOR earthquake 60 waitsfx -UnknownScript_0x713bd: +.Done: end - -Elevator_0x713be: +CeladonDeptStoreElevatorData: db 6 ; floors elevfloor FLOOR_1F, 4, CELADON_DEPT_STORE_1F elevfloor FLOOR_2F, 3, CELADON_DEPT_STORE_2F @@ -28,22 +27,21 @@ Elevator_0x713be: elevfloor FLOOR_6F, 2, CELADON_DEPT_STORE_6F db $ff ; end - CeladonDeptStoreElevator_MapEventHeader: ; filler db 0, 0 .Warps: db 2 - warp_def $3, $1, 255, CELADON_DEPT_STORE_1F - warp_def $3, $2, 255, CELADON_DEPT_STORE_1F + warp_def $3, $1, -1, CELADON_DEPT_STORE_1F + warp_def $3, $2, -1, CELADON_DEPT_STORE_1F .XYTriggers: db 0 .Signposts: db 1 - signpost 0, 3, SIGNPOST_READ, MapCeladonDeptStoreElevatorSignpost0Script + signpost 0, 3, SIGNPOST_READ, CeladonDeptStoreElevatorScript .PersonEvents: db 0 diff --git a/maps/CeladonGameCorner.asm b/maps/CeladonGameCorner.asm index e5223d7db..78e7c9e56 100644 --- a/maps/CeladonGameCorner.asm +++ b/maps/CeladonGameCorner.asm @@ -16,77 +16,77 @@ CeladonGameCorner_MapScriptHeader: .MapCallbacks: db 0 -ClerkScript_0x7211d: +CeladonGameCornerClerkScript: jumpstd gamecornercoinvendor CeladonGameCornerReceptionistScript: jumptextfaceplayer CeladonGameCornerReceptionistText -PokefanMScript_0x72123: +CeladonGameCornerPokefanMScript: faceplayer opentext - writetext UnknownText_0x72215 + writetext CeladonGameCornerPokefanMText waitbutton closetext spriteface CELADONGAMECORNER_POKEFAN_M, LEFT end -TeacherScript_0x7212e: +CeladonGameCornerTeacherScript: faceplayer opentext - writetext UnknownText_0x72242 + writetext CeladonGameCornerTeacherText waitbutton closetext spriteface CELADONGAMECORNER_TEACHER, RIGHT end -FishingGuruScript_0x72139: +CeladonGameCornerFishingGuruScript: faceplayer opentext - writetext UnknownText_0x72295 + writetext CeladonGameCornerFishingGuruText waitbutton closetext spriteface CELADONGAMECORNER_FISHING_GURU, RIGHT end -FisherScript_0x72144: +CeladonGameCornerFisherScript: faceplayer opentext checkevent EVENT_GOT_COINS_FROM_GAMBLER_AT_CELADON - iftrue .UnknownScript_0x72169 - writetext UnknownText_0x722dc + iftrue .GotCoins + writetext CeladonGameCornerFisherText1 buttonsound checkitem COIN_CASE - iffalse UnknownScript_0x7217b + iffalse .NoCoinCase checkcoins 9998 - if_equal $0, UnknownScript_0x72184 + if_equal $0, .FullCoinCase stringtotext .coinname, $1 - scall .UnknownScript_0x72172 + scall .GiveCoins givecoins 18 setevent EVENT_GOT_COINS_FROM_GAMBLER_AT_CELADON -.UnknownScript_0x72169: - writetext UnknownText_0x72345 +.GotCoins: + writetext CeladonGameCornerFisherText2 waitbutton closetext spriteface LAST_TALKED, LEFT end -.UnknownScript_0x72172: +.GiveCoins: jumpstd receiveitem end .coinname db "COIN@" -UnknownScript_0x7217b: - writetext UnknownText_0x7238a +.NoCoinCase: + writetext CeladonGameCornerFisherNoCoinCaseText waitbutton closetext spriteface LAST_TALKED, LEFT end -UnknownScript_0x72184: - writetext UnknownText_0x723d9 +.FullCoinCase: + writetext CeladonGameCornerFisherFullCoinCaseText waitbutton closetext spriteface LAST_TALKED, LEFT @@ -95,45 +95,45 @@ UnknownScript_0x72184: CeladonGymGuyScript: jumptextfaceplayer CeladonGymGuyText -GrampsScript_0x72190: +CeladonGameCornerGrampsScript: faceplayer opentext - writetext UnknownText_0x724ad + writetext CeladonGameCornerGrampsText waitbutton closetext spriteface CELADONGAMECORNER_GRAMPS, LEFT end -MapCeladonGameCornerSignpost36Script: - jumptext UnknownText_0x724f3 +CeladonGameCornerPoster1Script: + jumptext CeladonGameCornerPoster1Text -MapCeladonGameCornerSignpost37Script: - jumptext UnknownText_0x72521 +CeladonGameCornerPoster2Script: + jumptext CeladonGameCornerPoster2Text -MapCeladonGameCornerSignpost35Script: +CeladonGameCornerLuckySlotMachineScript: random $6 - if_equal $0, MapCeladonGameCornerSignpost16Script + if_equal $0, CeladonGameCornerSlotMachineScript refreshscreen $0 writebyte $0 special Special_SlotMachine closetext end -MapCeladonGameCornerSignpost16Script: +CeladonGameCornerSlotMachineScript: refreshscreen $0 writebyte $1 special Special_SlotMachine closetext end -MapCeladonGameCornerSignpost11Script: +CeladonGameCornerCardFlipScript: refreshscreen $0 special Special_CardFlip closetext end -MapCeladonGameCornerSignpost32Script: - jumptext UnknownText_0x7254f +CeladonGameCornerLighterScript: + jumptext CeladonGameCornerLighterText MapCeladonGameCornerSignpost9Script: opentext @@ -159,13 +159,13 @@ CeladonGameCornerReceptionistText: line "next door." done -UnknownText_0x72215: +CeladonGameCornerPokefanMText: text "The slot machines" line "are all state of" cont "the art." done -UnknownText_0x72242: +CeladonGameCornerTeacherText: text "It's this machine" line "I want." @@ -176,7 +176,7 @@ UnknownText_0x72242: line "today." done -UnknownText_0x72295: +CeladonGameCornerFishingGuruText: text "I think this slot" line "machine will pay" cont "out…" @@ -185,7 +185,7 @@ UnknownText_0x72295: line "among machines." done -UnknownText_0x722dc: +CeladonGameCornerFisherText1: text "Gahahaha!" para "The coins just" @@ -198,7 +198,7 @@ UnknownText_0x722dc: line "with you!" done -UnknownText_0x72345: +CeladonGameCornerFisherText2: text "Gahahaha!" para "It makes me feel" @@ -208,7 +208,7 @@ UnknownText_0x72345: line "people!" done -UnknownText_0x7238a: +CeladonGameCornerFisherNoCoinCaseText: text "Hey, you don't" line "have a COIN CASE." @@ -217,7 +217,7 @@ UnknownText_0x7238a: cont "coins, kid?" done -UnknownText_0x723d9: +CeladonGameCornerFisherFullCoinCaseText: text "Hey, your COIN" line "CASE is full, kid." @@ -241,7 +241,7 @@ CeladonGymGuyText: line "enough coins yet…" done -UnknownText_0x724ad: +CeladonGameCornerGrampsText: text "Hmmm… The odds are" line "surely better for" @@ -249,7 +249,7 @@ UnknownText_0x724ad: line "but… What to do?" done -UnknownText_0x724f3: +CeladonGameCornerPoster1Text: text "Hey!" para "Underneath this" @@ -258,7 +258,7 @@ UnknownText_0x724f3: para "There's nothing!" done -UnknownText_0x72521: +CeladonGameCornerPoster2Text: text "Hey!" para "Underneath this" @@ -267,7 +267,7 @@ UnknownText_0x72521: para "There's nothing!" done -UnknownText_0x7254f: +CeladonGameCornerLighterText: text "There's a lighter" line "here." done @@ -295,53 +295,53 @@ CeladonGameCorner_MapEventHeader: .Signposts: db 38 - signpost 6, 1, SIGNPOST_READ, MapCeladonGameCornerSignpost11Script - signpost 7, 1, SIGNPOST_READ, MapCeladonGameCornerSignpost11Script - signpost 8, 1, SIGNPOST_READ, MapCeladonGameCornerSignpost11Script - signpost 9, 1, SIGNPOST_READ, MapCeladonGameCornerSignpost11Script - signpost 10, 1, SIGNPOST_READ, MapCeladonGameCornerSignpost11Script - signpost 11, 1, SIGNPOST_LEFT, MapCeladonGameCornerSignpost11Script - signpost 6, 6, SIGNPOST_READ, MapCeladonGameCornerSignpost11Script - signpost 7, 6, SIGNPOST_READ, MapCeladonGameCornerSignpost11Script - signpost 8, 6, SIGNPOST_READ, MapCeladonGameCornerSignpost11Script + signpost 6, 1, SIGNPOST_READ, CeladonGameCornerCardFlipScript + signpost 7, 1, SIGNPOST_READ, CeladonGameCornerCardFlipScript + signpost 8, 1, SIGNPOST_READ, CeladonGameCornerCardFlipScript + signpost 9, 1, SIGNPOST_READ, CeladonGameCornerCardFlipScript + signpost 10, 1, SIGNPOST_READ, CeladonGameCornerCardFlipScript + signpost 11, 1, SIGNPOST_LEFT, CeladonGameCornerCardFlipScript + signpost 6, 6, SIGNPOST_READ, CeladonGameCornerCardFlipScript + signpost 7, 6, SIGNPOST_READ, CeladonGameCornerCardFlipScript + signpost 8, 6, SIGNPOST_READ, CeladonGameCornerCardFlipScript signpost 9, 6, SIGNPOST_READ, MapCeladonGameCornerSignpost9Script - signpost 10, 6, SIGNPOST_READ, MapCeladonGameCornerSignpost11Script - signpost 11, 6, SIGNPOST_RIGHT, MapCeladonGameCornerSignpost11Script - signpost 6, 7, SIGNPOST_READ, MapCeladonGameCornerSignpost35Script - signpost 7, 7, SIGNPOST_READ, MapCeladonGameCornerSignpost35Script - signpost 8, 7, SIGNPOST_READ, MapCeladonGameCornerSignpost35Script - signpost 9, 7, SIGNPOST_READ, MapCeladonGameCornerSignpost35Script - signpost 10, 7, SIGNPOST_READ, MapCeladonGameCornerSignpost16Script - signpost 11, 7, SIGNPOST_LEFT, MapCeladonGameCornerSignpost35Script - signpost 6, 12, SIGNPOST_READ, MapCeladonGameCornerSignpost35Script - signpost 7, 12, SIGNPOST_READ, MapCeladonGameCornerSignpost35Script - signpost 8, 12, SIGNPOST_READ, MapCeladonGameCornerSignpost35Script - signpost 9, 12, SIGNPOST_READ, MapCeladonGameCornerSignpost35Script - signpost 10, 12, SIGNPOST_READ, MapCeladonGameCornerSignpost35Script - signpost 11, 12, SIGNPOST_RIGHT, MapCeladonGameCornerSignpost35Script - signpost 6, 13, SIGNPOST_READ, MapCeladonGameCornerSignpost35Script - signpost 7, 13, SIGNPOST_READ, MapCeladonGameCornerSignpost35Script - signpost 8, 13, SIGNPOST_READ, MapCeladonGameCornerSignpost35Script - signpost 9, 13, SIGNPOST_READ, MapCeladonGameCornerSignpost35Script - signpost 10, 13, SIGNPOST_READ, MapCeladonGameCornerSignpost35Script - signpost 11, 13, SIGNPOST_LEFT, MapCeladonGameCornerSignpost35Script - signpost 6, 18, SIGNPOST_READ, MapCeladonGameCornerSignpost35Script - signpost 7, 18, SIGNPOST_READ, MapCeladonGameCornerSignpost35Script - signpost 8, 18, SIGNPOST_READ, MapCeladonGameCornerSignpost32Script - signpost 9, 18, SIGNPOST_READ, MapCeladonGameCornerSignpost35Script - signpost 10, 18, SIGNPOST_READ, MapCeladonGameCornerSignpost35Script - signpost 11, 18, SIGNPOST_RIGHT, MapCeladonGameCornerSignpost35Script - signpost 0, 15, SIGNPOST_READ, MapCeladonGameCornerSignpost36Script - signpost 0, 9, SIGNPOST_READ, MapCeladonGameCornerSignpost37Script + signpost 10, 6, SIGNPOST_READ, CeladonGameCornerCardFlipScript + signpost 11, 6, SIGNPOST_RIGHT, CeladonGameCornerCardFlipScript + signpost 6, 7, SIGNPOST_READ, CeladonGameCornerLuckySlotMachineScript + signpost 7, 7, SIGNPOST_READ, CeladonGameCornerLuckySlotMachineScript + signpost 8, 7, SIGNPOST_READ, CeladonGameCornerLuckySlotMachineScript + signpost 9, 7, SIGNPOST_READ, CeladonGameCornerLuckySlotMachineScript + signpost 10, 7, SIGNPOST_READ, CeladonGameCornerSlotMachineScript + signpost 11, 7, SIGNPOST_LEFT, CeladonGameCornerLuckySlotMachineScript + signpost 6, 12, SIGNPOST_READ, CeladonGameCornerLuckySlotMachineScript + signpost 7, 12, SIGNPOST_READ, CeladonGameCornerLuckySlotMachineScript + signpost 8, 12, SIGNPOST_READ, CeladonGameCornerLuckySlotMachineScript + signpost 9, 12, SIGNPOST_READ, CeladonGameCornerLuckySlotMachineScript + signpost 10, 12, SIGNPOST_READ, CeladonGameCornerLuckySlotMachineScript + signpost 11, 12, SIGNPOST_RIGHT, CeladonGameCornerLuckySlotMachineScript + signpost 6, 13, SIGNPOST_READ, CeladonGameCornerLuckySlotMachineScript + signpost 7, 13, SIGNPOST_READ, CeladonGameCornerLuckySlotMachineScript + signpost 8, 13, SIGNPOST_READ, CeladonGameCornerLuckySlotMachineScript + signpost 9, 13, SIGNPOST_READ, CeladonGameCornerLuckySlotMachineScript + signpost 10, 13, SIGNPOST_READ, CeladonGameCornerLuckySlotMachineScript + signpost 11, 13, SIGNPOST_LEFT, CeladonGameCornerLuckySlotMachineScript + signpost 6, 18, SIGNPOST_READ, CeladonGameCornerLuckySlotMachineScript + signpost 7, 18, SIGNPOST_READ, CeladonGameCornerLuckySlotMachineScript + signpost 8, 18, SIGNPOST_READ, CeladonGameCornerLighterScript + signpost 9, 18, SIGNPOST_READ, CeladonGameCornerLuckySlotMachineScript + signpost 10, 18, SIGNPOST_READ, CeladonGameCornerLuckySlotMachineScript + signpost 11, 18, SIGNPOST_RIGHT, CeladonGameCornerLuckySlotMachineScript + signpost 0, 15, SIGNPOST_READ, CeladonGameCornerPoster1Script + signpost 0, 9, SIGNPOST_READ, CeladonGameCornerPoster2Script .PersonEvents: db 9 - person_event SPRITE_CLERK, 2, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, ClerkScript_0x7211d, -1 + person_event SPRITE_CLERK, 2, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, CeladonGameCornerClerkScript, -1 person_event SPRITE_RECEPTIONIST, 2, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, CeladonGameCornerReceptionistScript, -1 - person_event SPRITE_POKEFAN_M, 10, 14, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, PokefanMScript_0x72123, -1 - person_event SPRITE_TEACHER, 7, 17, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, TeacherScript_0x7212e, -1 - person_event SPRITE_FISHING_GURU, 7, 11, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, FishingGuruScript_0x72139, -1 - person_event SPRITE_FISHER, 10, 8, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, DAY, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, FisherScript_0x72144, -1 - person_event SPRITE_FISHER, 10, 8, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, NITE, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, FisherScript_0x72144, -1 + person_event SPRITE_POKEFAN_M, 10, 14, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, CeladonGameCornerPokefanMScript, -1 + person_event SPRITE_TEACHER, 7, 17, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, CeladonGameCornerTeacherScript, -1 + person_event SPRITE_FISHING_GURU, 7, 11, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, CeladonGameCornerFishingGuruScript, -1 + person_event SPRITE_FISHER, 10, 8, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, DAY, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, CeladonGameCornerFisherScript, -1 + person_event SPRITE_FISHER, 10, 8, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, NITE, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, CeladonGameCornerFisherScript, -1 person_event SPRITE_GYM_GUY, 3, 11, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, CeladonGymGuyScript, -1 - person_event SPRITE_GRAMPS, 8, 2, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, GrampsScript_0x72190, -1 + person_event SPRITE_GRAMPS, 8, 2, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, CeladonGameCornerGrampsScript, -1 diff --git a/maps/CeladonGym.asm b/maps/CeladonGym.asm index 67b8a86fc..88fe6d8e0 100644 --- a/maps/CeladonGym.asm +++ b/maps/CeladonGym.asm @@ -50,9 +50,9 @@ UnknownScript_0x72aae: end TrainerLassMichelle: - trainer EVENT_BEAT_LASS_MICHELLE, LASS, MICHELLE, LassMichelleSeenText, LassMichelleBeatenText, 0, LassMichelleScript + trainer EVENT_BEAT_LASS_MICHELLE, LASS, MICHELLE, LassMichelleSeenText, LassMichelleBeatenText, 0, .Script -LassMichelleScript: +.Script: end_if_just_battled opentext writetext LassMichelleAfterBattleText @@ -61,9 +61,9 @@ LassMichelleScript: end TrainerPicnickerTanya: - trainer EVENT_BEAT_PICNICKER_TANYA, PICNICKER, TANYA, PicnickerTanyaSeenText, PicnickerTanyaBeatenText, 0, PicnickerTanyaScript + trainer EVENT_BEAT_PICNICKER_TANYA, PICNICKER, TANYA, PicnickerTanyaSeenText, PicnickerTanyaBeatenText, 0, .Script -PicnickerTanyaScript: +.Script: end_if_just_battled opentext writetext PicnickerTanyaAfterBattleText @@ -72,9 +72,9 @@ PicnickerTanyaScript: end TrainerBeautyJulia: - trainer EVENT_BEAT_BEAUTY_JULIA, BEAUTY, JULIA, BeautyJuliaSeenText, BeautyJuliaBeatenText, 0, BeautyJuliaScript + trainer EVENT_BEAT_BEAUTY_JULIA, BEAUTY, JULIA, BeautyJuliaSeenText, BeautyJuliaBeatenText, 0, .Script -BeautyJuliaScript: +.Script: end_if_just_battled opentext writetext BeautyJuliaAfterBattleText @@ -83,9 +83,9 @@ BeautyJuliaScript: end TrainerTwinsJoandzoe1: - trainer EVENT_BEAT_TWINS_JO_AND_ZOE, TWINS, JOANDZOE1, TwinsJoandzoe1SeenText, TwinsJoandzoe1BeatenText, 0, TwinsJoandzoe1Script + trainer EVENT_BEAT_TWINS_JO_AND_ZOE, TWINS, JOANDZOE1, TwinsJoandzoe1SeenText, TwinsJoandzoe1BeatenText, 0, .Script -TwinsJoandzoe1Script: +.Script: end_if_just_battled opentext writetext TwinsJoandzoe1AfterBattleText @@ -94,9 +94,9 @@ TwinsJoandzoe1Script: end TrainerTwinsJoandzoe2: - trainer EVENT_BEAT_TWINS_JO_AND_ZOE, TWINS, JOANDZOE2, TwinsJoandzoe2SeenText, TwinsJoandzoe2BeatenText, 0, TwinsJoandzoe2Script + trainer EVENT_BEAT_TWINS_JO_AND_ZOE, TWINS, JOANDZOE2, TwinsJoandzoe2SeenText, TwinsJoandzoe2BeatenText, 0, .Script -TwinsJoandzoe2Script: +.Script: end_if_just_battled opentext writetext TwinsJoandzoe2AfterBattleText diff --git a/maps/CeruleanCity.asm b/maps/CeruleanCity.asm index af29f796c..55b3ff6d7 100644 --- a/maps/CeruleanCity.asm +++ b/maps/CeruleanCity.asm @@ -18,18 +18,18 @@ CeruleanCity_MapScriptHeader: setflag ENGINE_FLYPOINT_CERULEAN return -CooltrainerMScript_0x184009: +CeruleanCityCooltrainerMScript: faceplayer opentext checkevent EVENT_RETURNED_MACHINE_PART - iftrue UnknownScript_0x184017 - writetext UnknownText_0x1840bc + iftrue .ReturnedMachinePart + writetext CeruleanCityCooltrainerMText1 waitbutton closetext end -UnknownScript_0x184017: - writetext UnknownText_0x184144 +.ReturnedMachinePart: + writetext CeruleanCityCooltrainerMText2 waitbutton closetext end @@ -45,15 +45,15 @@ CeruleanCitySlowbro: closetext end -CooltrainerFScript_0x18402a: +CeruleanCityCooltrainerFScript: faceplayer opentext - writetext UnknownText_0x1841fa + writetext CeruleanCityCooltrainerFText1 waitbutton closetext spriteface CERULEANCITY_COOLTRAINER_F, LEFT opentext - writetext UnknownText_0x184229 + writetext CeruleanCityCooltrainerFText2 waitbutton closetext opentext @@ -62,41 +62,41 @@ CooltrainerFScript_0x18402a: waitbutton closetext opentext - writetext UnknownText_0x18424b + writetext CeruleanCityCooltrainerFText3 waitbutton closetext end -FisherScript_0x18404a: +CeruleanCityFisherScript: faceplayer opentext checkevent EVENT_RETURNED_MACHINE_PART - iftrue UnknownScript_0x184058 + iftrue .ReturnedMachinePart checkevent EVENT_MET_ROCKET_GRUNT_AT_CERULEAN_GYM - iftrue UnknownScript_0x18405e -UnknownScript_0x184058: - writetext UnknownText_0x18424e + iftrue .MetCeruleanRocket +.ReturnedMachinePart: + writetext CeruleanCityFisherText waitbutton closetext end -UnknownScript_0x18405e: - writetext UnknownText_0x184275 +.MetCeruleanRocket: + writetext CeruleanCityFisherRocketTipText waitbutton closetext end -YoungsterScript_0x184064: +CeruleanCityYoungsterScript: faceplayer opentext - writetext UnknownText_0x1842a9 + writetext CeruleanCityYoungsterText1 waitbutton closetext checkevent EVENT_FOUND_BERSERK_GENE_IN_CERULEAN_CITY - iffalse UnknownScript_0x184072 + iffalse .BerserkGenePingsItemfinder end -UnknownScript_0x184072: +.BerserkGenePingsItemfinder: waitsfx playsound SFX_SECOND_PART_OF_ITEMFINDER waitsfx @@ -117,7 +117,7 @@ UnknownScript_0x184072: showemote EMOTE_SHOCK, CERULEANCITY_YOUNGSTER, 15 spriteface CERULEANCITY_YOUNGSTER, LEFT opentext - writetext UnknownText_0x1842ee + writetext CeruleanCityYoungsterText2 waitbutton closetext end @@ -149,7 +149,7 @@ CeruleanCityMartSign: CeruleanCityHiddenBerserkGene: dwb EVENT_FOUND_BERSERK_GENE_IN_CERULEAN_CITY, BERSERK_GENE -UnknownText_0x1840bc: +CeruleanCityCooltrainerMText1: text "KANTO's POWER" line "PLANT?" @@ -164,7 +164,7 @@ UnknownText_0x1840bc: cont "some sort there." done -UnknownText_0x184144: +CeruleanCityCooltrainerMText2: text "You're collecting" line "every single kind" cont "of #MON?" @@ -186,34 +186,34 @@ CeruleanCitySlowbroText: text "SLOWBRO: Yarah?" done -UnknownText_0x1841fa: +CeruleanCityCooltrainerFText1: text "My SLOWBRO and I" line "make an awesome" cont "combination!" done -UnknownText_0x184229: +CeruleanCityCooltrainerFText2: text "SLOWBRO, show me" line "your CONFUSION!" done -UnknownText_0x18424b: +CeruleanCityCooltrainerFText3: text "…" done -UnknownText_0x18424e: +CeruleanCityFisherText: text "I'm a huge fan of" line "CERULEAN GYM's" cont "MISTY." done -UnknownText_0x184275: +CeruleanCityFisherRocketTipText: text "I saw this shady" line "guy go off toward" cont "CERULEAN's CAPE." done -UnknownText_0x1842a9: +CeruleanCityYoungsterText1: text "There used to be a" line "cave here that had" @@ -221,7 +221,7 @@ UnknownText_0x1842a9: line "#MON in it." done -UnknownText_0x1842ee: +CeruleanCityYoungsterText2: text "Ayuh?" para "My ITEMFINDER is" @@ -305,9 +305,9 @@ CeruleanCity_MapEventHeader: .PersonEvents: db 6 - person_event SPRITE_COOLTRAINER_M, 23, 15, SPRITEMOVEDATA_WANDER, 2, 2, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, CooltrainerMScript_0x184009, -1 + person_event SPRITE_COOLTRAINER_M, 23, 15, SPRITEMOVEDATA_WANDER, 2, 2, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, CeruleanCityCooltrainerMScript, -1 person_event SPRITE_SUPER_NERD, 15, 23, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, PAL_NPC_BLUE, PERSONTYPE_SCRIPT, 0, CeruleanCitySuperNerdScript, -1 person_event SPRITE_SLOWPOKE, 24, 20, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, CeruleanCitySlowbro, -1 - person_event SPRITE_COOLTRAINER_F, 24, 21, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, CooltrainerFScript_0x18402a, -1 - person_event SPRITE_FISHER, 26, 30, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, FisherScript_0x18404a, -1 - person_event SPRITE_YOUNGSTER, 12, 6, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 1, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, YoungsterScript_0x184064, -1 + person_event SPRITE_COOLTRAINER_F, 24, 21, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, CeruleanCityCooltrainerFScript, -1 + person_event SPRITE_FISHER, 26, 30, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, CeruleanCityFisherScript, -1 + person_event SPRITE_YOUNGSTER, 12, 6, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 1, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, CeruleanCityYoungsterScript, -1 diff --git a/maps/CeruleanGym.asm b/maps/CeruleanGym.asm index 4ae52bfa6..e7f9e9a1f 100644 --- a/maps/CeruleanGym.asm +++ b/maps/CeruleanGym.asm @@ -86,9 +86,9 @@ MistyScript_0x188432: end TrainerSwimmerfDiana: - trainer EVENT_BEAT_SWIMMERF_DIANA, SWIMMERF, DIANA, SwimmerfDianaSeenText, SwimmerfDianaBeatenText, 0, SwimmerfDianaScript + trainer EVENT_BEAT_SWIMMERF_DIANA, SWIMMERF, DIANA, SwimmerfDianaSeenText, SwimmerfDianaBeatenText, 0, .Script -SwimmerfDianaScript: +.Script: end_if_just_battled opentext writetext SwimmerfDianaAfterBattleText @@ -97,9 +97,9 @@ SwimmerfDianaScript: end TrainerSwimmerfBriana: - trainer EVENT_BEAT_SWIMMERF_BRIANA, SWIMMERF, BRIANA, SwimmerfBrianaSeenText, SwimmerfBrianaBeatenText, 0, SwimmerfBrianaScript + trainer EVENT_BEAT_SWIMMERF_BRIANA, SWIMMERF, BRIANA, SwimmerfBrianaSeenText, SwimmerfBrianaBeatenText, 0, .Script -SwimmerfBrianaScript: +.Script: end_if_just_battled opentext writetext SwimmerfBrianaAfterBattleText @@ -108,9 +108,9 @@ SwimmerfBrianaScript: end TrainerSwimmermParker: - trainer EVENT_BEAT_SWIMMERM_PARKER, SWIMMERM, PARKER, SwimmermParkerSeenText, SwimmermParkerBeatenText, 0, SwimmermParkerScript + trainer EVENT_BEAT_SWIMMERM_PARKER, SWIMMERM, PARKER, SwimmermParkerSeenText, SwimmermParkerBeatenText, 0, .Script -SwimmermParkerScript: +.Script: end_if_just_battled opentext writetext SwimmermParkerAfterBattleText diff --git a/maps/DanceTheatre.asm b/maps/DanceTheatre.asm index 746428ba9..96324b446 100644 --- a/maps/DanceTheatre.asm +++ b/maps/DanceTheatre.asm @@ -17,9 +17,9 @@ DanceTheatre_MapScriptHeader: db 0 TrainerKimono_girlNaoko2: - trainer EVENT_BEAT_KIMONO_GIRL_NAOKO, KIMONO_GIRL, NAOKO2, Kimono_girlNaoko2SeenText, Kimono_girlNaoko2BeatenText, 0, Kimono_girlNaoko2Script + trainer EVENT_BEAT_KIMONO_GIRL_NAOKO, KIMONO_GIRL, NAOKO2, Kimono_girlNaoko2SeenText, Kimono_girlNaoko2BeatenText, 0, .Script -Kimono_girlNaoko2Script: +.Script: end_if_just_battled opentext writetext Kimono_girlNaoko2AfterBattleText @@ -28,9 +28,9 @@ Kimono_girlNaoko2Script: end TrainerKimono_girlSayo: - trainer EVENT_BEAT_KIMONO_GIRL_SAYO, KIMONO_GIRL, SAYO, Kimono_girlSayoSeenText, Kimono_girlSayoBeatenText, 0, Kimono_girlSayoScript + trainer EVENT_BEAT_KIMONO_GIRL_SAYO, KIMONO_GIRL, SAYO, Kimono_girlSayoSeenText, Kimono_girlSayoBeatenText, 0, .Script -Kimono_girlSayoScript: +.Script: end_if_just_battled opentext writetext Kimono_girlSayoAfterBattleText @@ -39,9 +39,9 @@ Kimono_girlSayoScript: end TrainerKimono_girlZuki: - trainer EVENT_BEAT_KIMONO_GIRL_ZUKI, KIMONO_GIRL, ZUKI, Kimono_girlZukiSeenText, Kimono_girlZukiBeatenText, 0, Kimono_girlZukiScript + trainer EVENT_BEAT_KIMONO_GIRL_ZUKI, KIMONO_GIRL, ZUKI, Kimono_girlZukiSeenText, Kimono_girlZukiBeatenText, 0, .Script -Kimono_girlZukiScript: +.Script: end_if_just_battled opentext writetext Kimono_girlZukiAfterBattleText @@ -50,9 +50,9 @@ Kimono_girlZukiScript: end TrainerKimono_girlKuni: - trainer EVENT_BEAT_KIMONO_GIRL_KUNI, KIMONO_GIRL, KUNI, Kimono_girlKuniSeenText, Kimono_girlKuniBeatenText, 0, Kimono_girlKuniScript + trainer EVENT_BEAT_KIMONO_GIRL_KUNI, KIMONO_GIRL, KUNI, Kimono_girlKuniSeenText, Kimono_girlKuniBeatenText, 0, .Script -Kimono_girlKuniScript: +.Script: end_if_just_battled opentext writetext Kimono_girlKuniAfterBattleText @@ -61,9 +61,9 @@ Kimono_girlKuniScript: end TrainerKimono_girlMiki: - trainer EVENT_BEAT_KIMONO_GIRL_MIKI, KIMONO_GIRL, MIKI, Kimono_girlMikiSeenText, Kimono_girlMikiBeatenText, 0, Kimono_girlMikiScript + trainer EVENT_BEAT_KIMONO_GIRL_MIKI, KIMONO_GIRL, MIKI, Kimono_girlMikiSeenText, Kimono_girlMikiBeatenText, 0, .Script -Kimono_girlMikiScript: +.Script: end_if_just_battled opentext writetext Kimono_girlMikiAfterBattleText diff --git a/maps/DarkCaveBlackthornEntrance.asm b/maps/DarkCaveBlackthornEntrance.asm index ead75b1d8..88b66a289 100644 --- a/maps/DarkCaveBlackthornEntrance.asm +++ b/maps/DarkCaveBlackthornEntrance.asm @@ -10,20 +10,20 @@ DarkCaveBlackthornEntrance_MapScriptHeader: .MapCallbacks: db 0 -PharmacistScript_0x18c720: +DarkCaveBlackthornEntrancePharmacistScript: faceplayer opentext checkevent EVENT_GOT_BLACKGLASSES_IN_DARK_CAVE - iftrue UnknownScript_0x18c735 - writetext UnknownText_0x18c73f + iftrue .GotBlackglasses + writetext DarkCaveBlackthornEntrancePharmacistText1 buttonsound verbosegiveitem BLACKGLASSES - iffalse UnknownScript_0x18c739 + iffalse .PackFull setevent EVENT_GOT_BLACKGLASSES_IN_DARK_CAVE -UnknownScript_0x18c735: - writetext UnknownText_0x18c80c +.GotBlackglasses: + writetext DarkCaveBlackthornEntrancePharmacistText2 waitbutton -UnknownScript_0x18c739: +.PackFull: closetext end @@ -33,7 +33,7 @@ DarkCaveBlackthornEntranceRevive: DarkCaveBlackthornEntranceTMSnore: itemball TM_SNORE -UnknownText_0x18c73f: +DarkCaveBlackthornEntrancePharmacistText1: text "Whoa! You startled" line "me there!" @@ -55,7 +55,7 @@ UnknownText_0x18c73f: cont "you saw me, OK?" done -UnknownText_0x18c80c: +DarkCaveBlackthornEntrancePharmacistText2: text "BLACKGLASSES ups" line "the power of dark-" cont "type moves." @@ -78,6 +78,6 @@ DarkCaveBlackthornEntrance_MapEventHeader: .PersonEvents: db 3 - person_event SPRITE_PHARMACIST, 3, 7, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, PharmacistScript_0x18c720, -1 + person_event SPRITE_PHARMACIST, 3, 7, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, DarkCaveBlackthornEntrancePharmacistScript, -1 person_event SPRITE_POKE_BALL, 24, 21, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, DarkCaveBlackthornEntranceRevive, EVENT_DARK_CAVE_BLACKTHORN_ENTRANCE_REVIVE person_event SPRITE_POKE_BALL, 22, 7, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, DarkCaveBlackthornEntranceTMSnore, EVENT_DARK_CAVE_BLACKTHORN_ENTRANCE_TM_SNORE diff --git a/maps/DragonsDenB1F.asm b/maps/DragonsDenB1F.asm index d17c3c4a3..c41fb07ed 100644 --- a/maps/DragonsDenB1F.asm +++ b/maps/DragonsDenB1F.asm @@ -84,9 +84,9 @@ DragonsDenB1F_ClairTrigger: end TrainerCooltrainermDarin: - trainer EVENT_BEAT_COOLTRAINERM_DARIN, COOLTRAINERM, DARIN, CooltrainermDarinSeenText, CooltrainermDarinBeatenText, 0, CooltrainermDarinScript + trainer EVENT_BEAT_COOLTRAINERM_DARIN, COOLTRAINERM, DARIN, CooltrainermDarinSeenText, CooltrainermDarinBeatenText, 0, .Script -CooltrainermDarinScript: +.Script: end_if_just_battled opentext writetext CooltrainermDarinAfterBattleText @@ -95,9 +95,9 @@ CooltrainermDarinScript: end TrainerCooltrainerfCara: - trainer EVENT_BEAT_COOLTRAINERF_CARA, COOLTRAINERF, CARA, CooltrainerfCaraSeenText, CooltrainerfCaraBeatenText, 0, CooltrainerfCaraScript + trainer EVENT_BEAT_COOLTRAINERF_CARA, COOLTRAINERF, CARA, CooltrainerfCaraSeenText, CooltrainerfCaraBeatenText, 0, .Script -CooltrainerfCaraScript: +.Script: end_if_just_battled opentext writetext CooltrainerfCaraAfterBattleText @@ -106,9 +106,9 @@ CooltrainerfCaraScript: end TrainerTwinsLeaandpia1: - trainer EVENT_BEAT_TWINS_LEA_AND_PIA, TWINS, LEAANDPIA1, TwinsLeaandpia1SeenText, TwinsLeaandpia1BeatenText, 0, TwinsLeaandpia1Script + trainer EVENT_BEAT_TWINS_LEA_AND_PIA, TWINS, LEAANDPIA1, TwinsLeaandpia1SeenText, TwinsLeaandpia1BeatenText, 0, .Script -TwinsLeaandpia1Script: +.Script: end_if_just_battled opentext writetext TwinsLeaandpia1AfterBattleText @@ -117,9 +117,9 @@ TwinsLeaandpia1Script: end TrainerTwinsLeaandpia2: - trainer EVENT_BEAT_TWINS_LEA_AND_PIA, TWINS, LEAANDPIA1, TwinsLeaandpia2SeenText, TwinsLeaandpia2BeatenText, 0, TwinsLeaandpia2Script + trainer EVENT_BEAT_TWINS_LEA_AND_PIA, TWINS, LEAANDPIA1, TwinsLeaandpia2SeenText, TwinsLeaandpia2BeatenText, 0, .Script -TwinsLeaandpia2Script: +.Script: end_if_just_battled opentext writetext TwinsLeaandpia2AfterBattleText diff --git a/maps/EarlsPokemonAcademy.asm b/maps/EarlsPokemonAcademy.asm index db5b79f9a..f4df23dc1 100644 --- a/maps/EarlsPokemonAcademy.asm +++ b/maps/EarlsPokemonAcademy.asm @@ -41,19 +41,19 @@ AcademyEarl: EarlsPokemonAcademyYoungster1Script: jumptextfaceplayer EarlsPokemonAcademyYoungster1Text -GameboyKidScript_0x68a86: +EarlsPokemonAcademyGameboyKid1Script: faceplayer opentext - writetext UnknownText_0x68dda + writetext EarlsPokemonAcademyGameboyKid1Text waitbutton closetext spriteface EARLSPOKEMONACADEMY_GAMEBOY_KID1, DOWN end -GameboyKidScript_0x68a91: +EarlsPokemonAcademyGameboyKid2Script: faceplayer opentext - writetext UnknownText_0x68e07 + writetext EarlsPokemonAcademyGameboyKid2Text waitbutton closetext spriteface EARLSPOKEMONACADEMY_GAMEBOY_KID2, DOWN @@ -241,13 +241,13 @@ EarlsPokemonAcademyYoungster1Text: cont "blackboard too." done -UnknownText_0x68dda: +EarlsPokemonAcademyGameboyKid1Text: text "I traded my best" line "#MON to the" cont "guy beside me." done -UnknownText_0x68e07: +EarlsPokemonAcademyGameboyKid2Text: text "Huh? The #MON I" line "just got is hold-" cont "ing something!" @@ -435,7 +435,7 @@ EarlsPokemonAcademy_MapEventHeader: db 6 person_event SPRITE_FISHER, 2, 4, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, AcademyEarl, EVENT_EARLS_ACADEMY_EARL person_event SPRITE_YOUNGSTER, 5, 2, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, EarlsPokemonAcademyYoungster1Script, -1 - person_event SPRITE_GAMEBOY_KID, 11, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, GameboyKidScript_0x68a86, -1 - person_event SPRITE_GAMEBOY_KID, 11, 4, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, GameboyKidScript_0x68a91, -1 + person_event SPRITE_GAMEBOY_KID, 11, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, EarlsPokemonAcademyGameboyKid1Script, -1 + person_event SPRITE_GAMEBOY_KID, 11, 4, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, EarlsPokemonAcademyGameboyKid2Script, -1 person_event SPRITE_YOUNGSTER, 7, 4, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, EarlsPokemonAcademyYoungster2Script, -1 person_event SPRITE_POKEDEX, 4, 2, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, AcademyNotebook, -1 diff --git a/maps/EcruteakGym.asm b/maps/EcruteakGym.asm index d2bdc64eb..1b61ecfb2 100644 --- a/maps/EcruteakGym.asm +++ b/maps/EcruteakGym.asm @@ -98,9 +98,9 @@ EcruteakGymClosed: end TrainerSageJeffrey: - trainer EVENT_BEAT_SAGE_JEFFREY, SAGE, JEFFREY, SageJeffreySeenText, SageJeffreyBeatenText, 0, SageJeffreyScript + trainer EVENT_BEAT_SAGE_JEFFREY, SAGE, JEFFREY, SageJeffreySeenText, SageJeffreyBeatenText, 0, .Script -SageJeffreyScript: +.Script: end_if_just_battled opentext writetext SageJeffreyAfterBattleText @@ -109,9 +109,9 @@ SageJeffreyScript: end TrainerSagePing: - trainer EVENT_BEAT_SAGE_PING, SAGE, PING, SagePingSeenText, SagePingBeatenText, 0, SagePingScript + trainer EVENT_BEAT_SAGE_PING, SAGE, PING, SagePingSeenText, SagePingBeatenText, 0, .Script -SagePingScript: +.Script: end_if_just_battled opentext writetext SagePingAfterBattleText @@ -120,9 +120,9 @@ SagePingScript: end TrainerMediumMartha: - trainer EVENT_BEAT_MEDIUM_MARTHA, MEDIUM, MARTHA, MediumMarthaSeenText, MediumMarthaBeatenText, 0, MediumMarthaScript + trainer EVENT_BEAT_MEDIUM_MARTHA, MEDIUM, MARTHA, MediumMarthaSeenText, MediumMarthaBeatenText, 0, .Script -MediumMarthaScript: +.Script: end_if_just_battled opentext writetext MediumMarthaAfterBattleText @@ -131,9 +131,9 @@ MediumMarthaScript: end TrainerMediumGrace: - trainer EVENT_BEAT_MEDIUM_GRACE, MEDIUM, GRACE, MediumGraceSeenText, MediumGraceBeatenText, 0, MediumGraceScript + trainer EVENT_BEAT_MEDIUM_GRACE, MEDIUM, GRACE, MediumGraceSeenText, MediumGraceBeatenText, 0, .Script -MediumGraceScript: +.Script: end_if_just_battled opentext writetext MediumGraceAfterBattleText diff --git a/maps/FastShipB1F.asm b/maps/FastShipB1F.asm index 951b1c737..0069b5a86 100644 --- a/maps/FastShipB1F.asm +++ b/maps/FastShipB1F.asm @@ -94,9 +94,9 @@ UnknownScript_0x767a0: end TrainerSailorJeff: - trainer EVENT_BEAT_SAILOR_JEFF, SAILOR, JEFF, SailorJeffSeenText, SailorJeffBeatenText, 0, SailorJeffScript + trainer EVENT_BEAT_SAILOR_JEFF, SAILOR, JEFF, SailorJeffSeenText, SailorJeffBeatenText, 0, .Script -SailorJeffScript: +.Script: end_if_just_battled opentext writetext SailorJeffAfterBattleText @@ -105,9 +105,9 @@ SailorJeffScript: end TrainerPicnickerDebra: - trainer EVENT_BEAT_PICNICKER_DEBRA, PICNICKER, DEBRA, PicnickerDebraSeenText, PicnickerDebraBeatenText, 0, PicnickerDebraScript + trainer EVENT_BEAT_PICNICKER_DEBRA, PICNICKER, DEBRA, PicnickerDebraSeenText, PicnickerDebraBeatenText, 0, .Script -PicnickerDebraScript: +.Script: end_if_just_battled opentext writetext PicnickerDebraAfterBattleText @@ -116,9 +116,9 @@ PicnickerDebraScript: end TrainerJugglerFritz: - trainer EVENT_BEAT_JUGGLER_FRITZ, JUGGLER, FRITZ, JugglerFritzSeenText, JugglerFritzBeatenText, 0, JugglerFritzScript + trainer EVENT_BEAT_JUGGLER_FRITZ, JUGGLER, FRITZ, JugglerFritzSeenText, JugglerFritzBeatenText, 0, .Script -JugglerFritzScript: +.Script: end_if_just_battled opentext writetext JugglerFritzAfterBattleText @@ -127,9 +127,9 @@ JugglerFritzScript: end TrainerSailorGarrett: - trainer EVENT_BEAT_SAILOR_GARRETT, SAILOR, GARRETT, SailorGarrettSeenText, SailorGarrettBeatenText, 0, SailorGarrettScript + trainer EVENT_BEAT_SAILOR_GARRETT, SAILOR, GARRETT, SailorGarrettSeenText, SailorGarrettBeatenText, 0, .Script -SailorGarrettScript: +.Script: end_if_just_battled opentext writetext SailorGarrettAfterBattleText @@ -138,9 +138,9 @@ SailorGarrettScript: end TrainerFisherJonah: - trainer EVENT_BEAT_FISHER_JONAH, FISHER, JONAH, FisherJonahSeenText, FisherJonahBeatenText, 0, FisherJonahScript + trainer EVENT_BEAT_FISHER_JONAH, FISHER, JONAH, FisherJonahSeenText, FisherJonahBeatenText, 0, .Script -FisherJonahScript: +.Script: end_if_just_battled opentext writetext FisherJonahAfterBattleText @@ -149,9 +149,9 @@ FisherJonahScript: end TrainerBlackbeltWai: - trainer EVENT_BEAT_BLACKBELT_WAI, BLACKBELT_T, WAI, BlackbeltWaiSeenText, BlackbeltWaiBeatenText, 0, BlackbeltWaiScript + trainer EVENT_BEAT_BLACKBELT_WAI, BLACKBELT_T, WAI, BlackbeltWaiSeenText, BlackbeltWaiBeatenText, 0, .Script -BlackbeltWaiScript: +.Script: end_if_just_battled opentext writetext BlackbeltWaiAfterBattleText @@ -160,9 +160,9 @@ BlackbeltWaiScript: end TrainerSailorKenneth: - trainer EVENT_BEAT_SAILOR_KENNETH, SAILOR, KENNETH, SailorKennethSeenText, SailorKennethBeatenText, 0, SailorKennethScript + trainer EVENT_BEAT_SAILOR_KENNETH, SAILOR, KENNETH, SailorKennethSeenText, SailorKennethBeatenText, 0, .Script -SailorKennethScript: +.Script: end_if_just_battled opentext writetext SailorKennethAfterBattleText @@ -171,9 +171,9 @@ SailorKennethScript: end TrainerTeacherShirley: - trainer EVENT_BEAT_TEACHER_SHIRLEY, TEACHER, SHIRLEY, TeacherShirleySeenText, TeacherShirleyBeatenText, 0, TeacherShirleyScript + trainer EVENT_BEAT_TEACHER_SHIRLEY, TEACHER, SHIRLEY, TeacherShirleySeenText, TeacherShirleyBeatenText, 0, .Script -TeacherShirleyScript: +.Script: end_if_just_battled opentext writetext TeacherShirleyAfterBattleText @@ -182,9 +182,9 @@ TeacherShirleyScript: end TrainerSchoolboyNate: - trainer EVENT_BEAT_SCHOOLBOY_NATE, SCHOOLBOY, NATE, SchoolboyNateSeenText, SchoolboyNateBeatenText, 0, SchoolboyNateScript + trainer EVENT_BEAT_SCHOOLBOY_NATE, SCHOOLBOY, NATE, SchoolboyNateSeenText, SchoolboyNateBeatenText, 0, .Script -SchoolboyNateScript: +.Script: end_if_just_battled opentext writetext SchoolboyNateAfterBattleText @@ -193,9 +193,9 @@ SchoolboyNateScript: end TrainerSchoolboyRicky: - trainer EVENT_BEAT_SCHOOLBOY_RICKY, SCHOOLBOY, RICKY, SchoolboyRickySeenText, SchoolboyRickyBeatenText, 0, SchoolboyRickyScript + trainer EVENT_BEAT_SCHOOLBOY_RICKY, SCHOOLBOY, RICKY, SchoolboyRickySeenText, SchoolboyRickyBeatenText, 0, .Script -SchoolboyRickyScript: +.Script: end_if_just_battled opentext writetext SchoolboyRickyAfterBattleText diff --git a/maps/FastShipCabins_NNW_NNE_NE.asm b/maps/FastShipCabins_NNW_NNE_NE.asm index 682fe8596..2f141db45 100644 --- a/maps/FastShipCabins_NNW_NNE_NE.asm +++ b/maps/FastShipCabins_NNW_NNE_NE.asm @@ -15,9 +15,9 @@ FastShipCabins_NNW_NNE_NE_MapScriptHeader: db 0 TrainerCooltrainermSean: - trainer EVENT_BEAT_COOLTRAINERM_SEAN, COOLTRAINERM, SEAN, CooltrainermSeanSeenText, CooltrainermSeanBeatenText, 0, CooltrainermSeanScript + trainer EVENT_BEAT_COOLTRAINERM_SEAN, COOLTRAINERM, SEAN, CooltrainermSeanSeenText, CooltrainermSeanBeatenText, 0, .Script -CooltrainermSeanScript: +.Script: end_if_just_battled opentext writetext CooltrainermSeanAfterBattleText @@ -26,9 +26,9 @@ CooltrainermSeanScript: end TrainerCooltrainerfCarol: - trainer EVENT_BEAT_COOLTRAINERF_CAROL, COOLTRAINERF, CAROL, CooltrainerfCarolSeenText, CooltrainerfCarolBeatenText, 0, CooltrainerfCarolScript + trainer EVENT_BEAT_COOLTRAINERF_CAROL, COOLTRAINERF, CAROL, CooltrainerfCarolSeenText, CooltrainerfCarolBeatenText, 0, .Script -CooltrainerfCarolScript: +.Script: end_if_just_battled opentext writetext CooltrainerfCarolAfterBattleText @@ -37,9 +37,9 @@ CooltrainerfCarolScript: end TrainerPokemaniacEthan: - trainer EVENT_BEAT_POKEMANIAC_ETHAN, POKEMANIAC, ETHAN, PokemaniacEthanSeenText, PokemaniacEthanBeatenText, 0, PokemaniacEthanScript + trainer EVENT_BEAT_POKEMANIAC_ETHAN, POKEMANIAC, ETHAN, PokemaniacEthanSeenText, PokemaniacEthanBeatenText, 0, .Script -PokemaniacEthanScript: +.Script: end_if_just_battled opentext writetext PokemaniacEthanAfterBattleText @@ -48,9 +48,9 @@ PokemaniacEthanScript: end TrainerHikerNoland: - trainer EVENT_BEAT_HIKER_NOLAND, HIKER, NOLAND, HikerNolandSeenText, HikerNolandBeatenText, 0, HikerNolandScript + trainer EVENT_BEAT_HIKER_NOLAND, HIKER, NOLAND, HikerNolandSeenText, HikerNolandBeatenText, 0, .Script -HikerNolandScript: +.Script: end_if_just_battled opentext writetext HikerNolandAfterBattleText @@ -59,9 +59,9 @@ HikerNolandScript: end TrainerGentlemanEdward: - trainer EVENT_BEAT_GENTLEMAN_EDWARD, GENTLEMAN, EDWARD, GentlemanEdwardSeenText, GentlemanEdwardBeatenText, 0, GentlemanEdwardScript + trainer EVENT_BEAT_GENTLEMAN_EDWARD, GENTLEMAN, EDWARD, GentlemanEdwardSeenText, GentlemanEdwardBeatenText, 0, .Script -GentlemanEdwardScript: +.Script: end_if_just_battled opentext writetext GentlemanEdwardAfterBattleText @@ -70,9 +70,9 @@ GentlemanEdwardScript: end TrainerBurglarCorey: - trainer EVENT_BEAT_BURGLAR_COREY, BURGLAR, COREY, BurglarCoreySeenText, BurglarCoreyBeatenText, 0, BurglarCoreyScript + trainer EVENT_BEAT_BURGLAR_COREY, BURGLAR, COREY, BurglarCoreySeenText, BurglarCoreyBeatenText, 0, .Script -BurglarCoreyScript: +.Script: end_if_just_battled opentext writetext BurglarCoreyAfterBattleText diff --git a/maps/FastShipCabins_SE_SSE_CaptainsCabin.asm b/maps/FastShipCabins_SE_SSE_CaptainsCabin.asm index c8fa4300b..8e0575964 100644 --- a/maps/FastShipCabins_SE_SSE_CaptainsCabin.asm +++ b/maps/FastShipCabins_SE_SSE_CaptainsCabin.asm @@ -141,9 +141,9 @@ TwinScript_0x75f6d: end TrainerPokefanmColin: - trainer EVENT_BEAT_POKEFANM_COLIN, POKEFANM, COLIN, PokefanmColinSeenText, PokefanmColinBeatenText, 0, PokefanmColinScript + trainer EVENT_BEAT_POKEFANM_COLIN, POKEFANM, COLIN, PokefanmColinSeenText, PokefanmColinBeatenText, 0, .Script -PokefanmColinScript: +.Script: end_if_just_battled opentext writetext PokefanmColinAfterBattleText @@ -152,9 +152,9 @@ PokefanmColinScript: end TrainerTwinsMegandpeg1: - trainer EVENT_BEAT_TWINS_MEG_AND_PEG, TWINS, MEGANDPEG1, TwinsMegandpeg1SeenText, TwinsMegandpeg1BeatenText, 0, TwinsMegandpeg1Script + trainer EVENT_BEAT_TWINS_MEG_AND_PEG, TWINS, MEGANDPEG1, TwinsMegandpeg1SeenText, TwinsMegandpeg1BeatenText, 0, .Script -TwinsMegandpeg1Script: +.Script: end_if_just_battled opentext writetext TwinsMegandpeg1AfterBattleText @@ -163,9 +163,9 @@ TwinsMegandpeg1Script: end TrainerTwinsMegandpeg2: - trainer EVENT_BEAT_TWINS_MEG_AND_PEG, TWINS, MEGANDPEG2, TwinsMegandpeg2SeenText, TwinsMegandpeg2BeatenText, 0, TwinsMegandpeg2Script + trainer EVENT_BEAT_TWINS_MEG_AND_PEG, TWINS, MEGANDPEG2, TwinsMegandpeg2SeenText, TwinsMegandpeg2BeatenText, 0, .Script -TwinsMegandpeg2Script: +.Script: end_if_just_battled opentext writetext TwinsMegandpeg2AfterBattleText @@ -174,9 +174,9 @@ TwinsMegandpeg2Script: end TrainerPsychicRodney: - trainer EVENT_BEAT_PSYCHIC_RODNEY, PSYCHIC_T, RODNEY, PsychicRodneySeenText, PsychicRodneyBeatenText, 0, PsychicRodneyScript + trainer EVENT_BEAT_PSYCHIC_RODNEY, PSYCHIC_T, RODNEY, PsychicRodneySeenText, PsychicRodneyBeatenText, 0, .Script -PsychicRodneyScript: +.Script: end_if_just_battled opentext writetext PsychicRodneyAfterBattleText @@ -185,9 +185,9 @@ PsychicRodneyScript: end TrainerPokefanmJeremy: - trainer EVENT_BEAT_POKEFANM_JEREMY, POKEFANM, JEREMY, PokefanmJeremySeenText, PokefanmJeremyBeatenText, 0, PokefanmJeremyScript + trainer EVENT_BEAT_POKEFANM_JEREMY, POKEFANM, JEREMY, PokefanmJeremySeenText, PokefanmJeremyBeatenText, 0, .Script -PokefanmJeremyScript: +.Script: end_if_just_battled opentext writetext PokefanmJeremyAfterBattleText @@ -196,9 +196,9 @@ PokefanmJeremyScript: end TrainerPokefanfGeorgia: - trainer EVENT_BEAT_POKEFANF_GEORGIA, POKEFANF, GEORGIA, PokefanfGeorgiaSeenText, PokefanfGeorgiaBeatenText, 0, PokefanfGeorgiaScript + trainer EVENT_BEAT_POKEFANF_GEORGIA, POKEFANF, GEORGIA, PokefanfGeorgiaSeenText, PokefanfGeorgiaBeatenText, 0, .Script -PokefanfGeorgiaScript: +.Script: end_if_just_battled opentext writetext PokefanfGeorgiaAfterBattleText @@ -207,9 +207,9 @@ PokefanfGeorgiaScript: end TrainerSupernerdShawn: - trainer EVENT_BEAT_SUPER_NERD_SHAWN, SUPER_NERD, SHAWN, SupernerdShawnSeenText, SupernerdShawnBeatenText, 0, SupernerdShawnScript + trainer EVENT_BEAT_SUPER_NERD_SHAWN, SUPER_NERD, SHAWN, SupernerdShawnSeenText, SupernerdShawnBeatenText, 0, .Script -SupernerdShawnScript: +.Script: end_if_just_battled opentext writetext SupernerdShawnAfterBattleText diff --git a/maps/FastShipCabins_SW_SSW_NW.asm b/maps/FastShipCabins_SW_SSW_NW.asm index 0cd7dbe90..b1430f1c4 100644 --- a/maps/FastShipCabins_SW_SSW_NW.asm +++ b/maps/FastShipCabins_SW_SSW_NW.asm @@ -12,9 +12,9 @@ FastShipCabins_SW_SSW_NW_MapScriptHeader: db 0 TrainerFirebreatherLyle: - trainer EVENT_BEAT_FIREBREATHER_LYLE, FIREBREATHER, LYLE, FirebreatherLyleSeenText, FirebreatherLyleBeatenText, 0, FirebreatherLyleScript + trainer EVENT_BEAT_FIREBREATHER_LYLE, FIREBREATHER, LYLE, FirebreatherLyleSeenText, FirebreatherLyleBeatenText, 0, .Script -FirebreatherLyleScript: +.Script: end_if_just_battled opentext writetext FirebreatherLyleAfterBattleText @@ -23,9 +23,9 @@ FirebreatherLyleScript: end TrainerBug_catcherKen: - trainer EVENT_BEAT_BUG_CATCHER_KEN, BUG_CATCHER, KEN, Bug_catcherKenSeenText, Bug_catcherKenBeatenText, 0, Bug_catcherKenScript + trainer EVENT_BEAT_BUG_CATCHER_KEN, BUG_CATCHER, KEN, Bug_catcherKenSeenText, Bug_catcherKenBeatenText, 0, .Script -Bug_catcherKenScript: +.Script: end_if_just_battled opentext writetext Bug_catcherKenAfterBattleText @@ -34,9 +34,9 @@ Bug_catcherKenScript: end TrainerBeautyCassie: - trainer EVENT_BEAT_BEAUTY_CASSIE, BEAUTY, CASSIE, BeautyCassieSeenText, BeautyCassieBeatenText, 0, BeautyCassieScript + trainer EVENT_BEAT_BEAUTY_CASSIE, BEAUTY, CASSIE, BeautyCassieSeenText, BeautyCassieBeatenText, 0, .Script -BeautyCassieScript: +.Script: end_if_just_battled opentext writetext BeautyCassieAfterBattleText @@ -45,9 +45,9 @@ BeautyCassieScript: end TrainerGuitaristClyde: - trainer EVENT_BEAT_GUITARIST_CLYDE, GUITARIST, CLYDE, GuitaristClydeSeenText, GuitaristClydeBeatenText, 0, GuitaristClydeScript + trainer EVENT_BEAT_GUITARIST_CLYDE, GUITARIST, CLYDE, GuitaristClydeSeenText, GuitaristClydeBeatenText, 0, .Script -GuitaristClydeScript: +.Script: end_if_just_battled special Mobile_DummyReturnFalse iftrue .mobile diff --git a/maps/GoldenrodDeptStoreElevator.asm b/maps/GoldenrodDeptStoreElevator.asm index 3a12e7707..82f14b404 100644 --- a/maps/GoldenrodDeptStoreElevator.asm +++ b/maps/GoldenrodDeptStoreElevator.asm @@ -62,8 +62,8 @@ GoldenrodDeptStoreElevator_MapEventHeader: .Warps: db 2 - warp_def $3, $1, 255, GOLDENROD_DEPT_STORE_1F - warp_def $3, $2, 255, GOLDENROD_DEPT_STORE_1F + warp_def $3, $1, -1, GOLDENROD_DEPT_STORE_1F + warp_def $3, $2, -1, GOLDENROD_DEPT_STORE_1F .XYTriggers: db 0 diff --git a/maps/GoldenrodGym.asm b/maps/GoldenrodGym.asm index c8f47f6dc..3551b7ee7 100644 --- a/maps/GoldenrodGym.asm +++ b/maps/GoldenrodGym.asm @@ -93,9 +93,9 @@ GoldenrodGymTriggerRockets: jumpstd radiotowerrockets TrainerLassCarrie: - trainer EVENT_BEAT_LASS_CARRIE, LASS, CARRIE, LassCarrieSeenText, LassCarrieBeatenText, 0, LassCarrieScript + trainer EVENT_BEAT_LASS_CARRIE, LASS, CARRIE, LassCarrieSeenText, LassCarrieBeatenText, 0, .Script -LassCarrieScript: +.Script: end_if_just_battled opentext writetext LassCarrieAfterBattleText @@ -117,9 +117,9 @@ WhitneyCriesScript: end TrainerLassBridget: - trainer EVENT_BEAT_LASS_BRIDGET, LASS, BRIDGET, LassBridgetSeenText, LassBridgetBeatenText, 0, LassBridgetScript + trainer EVENT_BEAT_LASS_BRIDGET, LASS, BRIDGET, LassBridgetSeenText, LassBridgetBeatenText, 0, .Script -LassBridgetScript: +.Script: end_if_just_battled opentext writetext LassBridgetAfterBattleText @@ -128,9 +128,9 @@ LassBridgetScript: end TrainerBeautyVictoria: - trainer EVENT_BEAT_BEAUTY_VICTORIA, BEAUTY, VICTORIA, BeautyVictoriaSeenText, BeautyVictoriaBeatenText, 0, BeautyVictoriaScript + trainer EVENT_BEAT_BEAUTY_VICTORIA, BEAUTY, VICTORIA, BeautyVictoriaSeenText, BeautyVictoriaBeatenText, 0, .Script -BeautyVictoriaScript: +.Script: end_if_just_battled opentext writetext BeautyVictoriaAfterBattleText @@ -139,9 +139,9 @@ BeautyVictoriaScript: end TrainerBeautySamantha: - trainer EVENT_BEAT_BEAUTY_SAMANTHA, BEAUTY, SAMANTHA, BeautySamanthaSeenText, BeautySamanthaBeatenText, 0, BeautySamanthaScript + trainer EVENT_BEAT_BEAUTY_SAMANTHA, BEAUTY, SAMANTHA, BeautySamanthaSeenText, BeautySamanthaBeatenText, 0, .Script -BeautySamanthaScript: +.Script: end_if_just_battled opentext writetext BeautySamanthaAfterBattleText diff --git a/maps/IlexForest.asm b/maps/IlexForest.asm index 95a8e8b66..5365e35d4 100644 --- a/maps/IlexForest.asm +++ b/maps/IlexForest.asm @@ -388,9 +388,9 @@ IlexForestHeadbuttGuyScript: end TrainerBug_catcherWayne: - trainer EVENT_BEAT_BUG_CATCHER_WAYNE, BUG_CATCHER, WAYNE, Bug_catcherWayneSeenText, Bug_catcherWayneBeatenText, 0, Bug_catcherWayneScript + trainer EVENT_BEAT_BUG_CATCHER_WAYNE, BUG_CATCHER, WAYNE, Bug_catcherWayneSeenText, Bug_catcherWayneBeatenText, 0, .Script -Bug_catcherWayneScript: +.Script: end_if_just_battled opentext writetext Bug_catcherWayneAfterBattleText diff --git a/maps/LakeOfRage.asm b/maps/LakeOfRage.asm index f09981f1e..426caacd4 100644 --- a/maps/LakeOfRage.asm +++ b/maps/LakeOfRage.asm @@ -146,9 +146,9 @@ UnknownScript_0x700b8: end TrainerFisherAndre: - trainer EVENT_BEAT_FISHER_ANDRE, FISHER, ANDRE, FisherAndreSeenText, FisherAndreBeatenText, 0, FisherAndreScript + trainer EVENT_BEAT_FISHER_ANDRE, FISHER, ANDRE, FisherAndreSeenText, FisherAndreBeatenText, 0, .Script -FisherAndreScript: +.Script: end_if_just_battled opentext writetext FisherAndreAfterBattleText @@ -157,9 +157,9 @@ FisherAndreScript: end TrainerFisherRaymond: - trainer EVENT_BEAT_FISHER_RAYMOND, FISHER, RAYMOND, FisherRaymondSeenText, FisherRaymondBeatenText, 0, FisherRaymondScript + trainer EVENT_BEAT_FISHER_RAYMOND, FISHER, RAYMOND, FisherRaymondSeenText, FisherRaymondBeatenText, 0, .Script -FisherRaymondScript: +.Script: end_if_just_battled opentext writetext FisherRaymondAfterBattleText @@ -168,9 +168,9 @@ FisherRaymondScript: end TrainerCooltrainermAaron: - trainer EVENT_BEAT_COOLTRAINERM_AARON, COOLTRAINERM, AARON, CooltrainermAaronSeenText, CooltrainermAaronBeatenText, 0, CooltrainermAaronScript + trainer EVENT_BEAT_COOLTRAINERM_AARON, COOLTRAINERM, AARON, CooltrainermAaronSeenText, CooltrainermAaronBeatenText, 0, .Script -CooltrainermAaronScript: +.Script: end_if_just_battled opentext writetext CooltrainermAaronAfterBattleText @@ -179,9 +179,9 @@ CooltrainermAaronScript: end TrainerCooltrainerfLois: - trainer EVENT_BEAT_COOLTRAINERF_LOIS, COOLTRAINERF, LOIS, CooltrainerfLoisSeenText, CooltrainerfLoisBeatenText, 0, CooltrainerfLoisScript + trainer EVENT_BEAT_COOLTRAINERF_LOIS, COOLTRAINERF, LOIS, CooltrainerfLoisSeenText, CooltrainerfLoisBeatenText, 0, .Script -CooltrainerfLoisScript: +.Script: end_if_just_battled opentext writetext CooltrainerfLoisAfterBattleText diff --git a/maps/MahoganyGym.asm b/maps/MahoganyGym.asm index 67fb89372..acb68e46c 100644 --- a/maps/MahoganyGym.asm +++ b/maps/MahoganyGym.asm @@ -71,9 +71,9 @@ MahoganyGymTriggerRockets: jumpstd radiotowerrockets TrainerSkierRoxanne: - trainer EVENT_BEAT_SKIER_ROXANNE, SKIER, ROXANNE, SkierRoxanneSeenText, SkierRoxanneBeatenText, 0, SkierRoxanneScript + trainer EVENT_BEAT_SKIER_ROXANNE, SKIER, ROXANNE, SkierRoxanneSeenText, SkierRoxanneBeatenText, 0, .Script -SkierRoxanneScript: +.Script: end_if_just_battled opentext writetext SkierRoxanneAfterBattleText @@ -82,9 +82,9 @@ SkierRoxanneScript: end TrainerSkierClarissa: - trainer EVENT_BEAT_SKIER_CLARISSA, SKIER, CLARISSA, SkierClarissaSeenText, SkierClarissaBeatenText, 0, SkierClarissaScript + trainer EVENT_BEAT_SKIER_CLARISSA, SKIER, CLARISSA, SkierClarissaSeenText, SkierClarissaBeatenText, 0, .Script -SkierClarissaScript: +.Script: end_if_just_battled opentext writetext SkierClarissaAfterBattleText @@ -93,9 +93,9 @@ SkierClarissaScript: end TrainerBoarderRonald: - trainer EVENT_BEAT_BOARDER_RONALD, BOARDER, RONALD, BoarderRonaldSeenText, BoarderRonaldBeatenText, 0, BoarderRonaldScript + trainer EVENT_BEAT_BOARDER_RONALD, BOARDER, RONALD, BoarderRonaldSeenText, BoarderRonaldBeatenText, 0, .Script -BoarderRonaldScript: +.Script: end_if_just_battled opentext writetext BoarderRonaldAfterBattleText @@ -104,9 +104,9 @@ BoarderRonaldScript: end TrainerBoarderBrad: - trainer EVENT_BEAT_BOARDER_BRAD, BOARDER, BRAD, BoarderBradSeenText, BoarderBradBeatenText, 0, BoarderBradScript + trainer EVENT_BEAT_BOARDER_BRAD, BOARDER, BRAD, BoarderBradSeenText, BoarderBradBeatenText, 0, .Script -BoarderBradScript: +.Script: end_if_just_battled opentext writetext BoarderBradAfterBattleText @@ -115,9 +115,9 @@ BoarderBradScript: end TrainerBoarderDouglas: - trainer EVENT_BEAT_BOARDER_DOUGLAS, BOARDER, DOUGLAS, BoarderDouglasSeenText, BoarderDouglasBeatenText, 0, BoarderDouglasScript + trainer EVENT_BEAT_BOARDER_DOUGLAS, BOARDER, DOUGLAS, BoarderDouglasSeenText, BoarderDouglasBeatenText, 0, .Script -BoarderDouglasScript: +.Script: end_if_just_battled opentext writetext BoarderDouglasAfterBattleText diff --git a/maps/MountMortar1FInside.asm b/maps/MountMortar1FInside.asm index d5c1fdf10..4708b7c60 100644 --- a/maps/MountMortar1FInside.asm +++ b/maps/MountMortar1FInside.asm @@ -18,9 +18,9 @@ MountMortar1FInside_MapScriptHeader: db 0 TrainerPokemaniacMiller: - trainer EVENT_BEAT_POKEMANIAC_MILLER, POKEMANIAC, MILLER, PokemaniacMillerSeenText, PokemaniacMillerBeatenText, 0, PokemaniacMillerScript + trainer EVENT_BEAT_POKEMANIAC_MILLER, POKEMANIAC, MILLER, PokemaniacMillerSeenText, PokemaniacMillerBeatenText, 0, .Script -PokemaniacMillerScript: +.Script: end_if_just_battled opentext writetext PokemaniacMillerAfterBattleText @@ -29,9 +29,9 @@ PokemaniacMillerScript: end TrainerSupernerdMarkus: - trainer EVENT_BEAT_SUPER_NERD_MARKUS, SUPER_NERD, MARKUS, SupernerdMarkusSeenText, SupernerdMarkusBeatenText, 0, SupernerdMarkusScript + trainer EVENT_BEAT_SUPER_NERD_MARKUS, SUPER_NERD, MARKUS, SupernerdMarkusSeenText, SupernerdMarkusBeatenText, 0, .Script -SupernerdMarkusScript: +.Script: end_if_just_battled opentext writetext SupernerdMarkusAfterBattleText diff --git a/maps/MountMortar2FInside.asm b/maps/MountMortar2FInside.asm index 2c57b863a..a78d8453e 100644 --- a/maps/MountMortar2FInside.asm +++ b/maps/MountMortar2FInside.asm @@ -15,9 +15,9 @@ MountMortar2FInside_MapScriptHeader: db 0 TrainerSupernerdHugh: - trainer EVENT_BEAT_SUPER_NERD_HUGH, SUPER_NERD, HUGH, SupernerdHughSeenText, SupernerdHughBeatenText, 0, SupernerdHughScript + trainer EVENT_BEAT_SUPER_NERD_HUGH, SUPER_NERD, HUGH, SupernerdHughSeenText, SupernerdHughBeatenText, 0, .Script -SupernerdHughScript: +.Script: end_if_just_battled opentext writetext SupernerdHughAfterBattleText diff --git a/maps/NationalPark.asm b/maps/NationalPark.asm index c1b953bd1..e0a228bb2 100644 --- a/maps/NationalPark.asm +++ b/maps/NationalPark.asm @@ -72,9 +72,9 @@ GameboyKidScript_0x5c037: end TrainerSchoolboyJack1: - trainer EVENT_BEAT_SCHOOLBOY_JACK, SCHOOLBOY, JACK1, SchoolboyJack1SeenText, SchoolboyJack1BeatenText, 0, SchoolboyJack1Script + trainer EVENT_BEAT_SCHOOLBOY_JACK, SCHOOLBOY, JACK1, SchoolboyJack1SeenText, SchoolboyJack1BeatenText, 0, .Script -SchoolboyJack1Script: +.Script: writecode VAR_CALLERID, PHONE_SCHOOLBOY_JACK end_if_just_battled opentext @@ -189,9 +189,9 @@ UnknownScript_0x5c114: end TrainerPokefanmWilliam: - trainer EVENT_BEAT_POKEFANM_WILLIAM, POKEFANM, WILLIAM, PokefanmWilliamSeenText, PokefanmWilliamBeatenText, 0, PokefanmWilliamScript + trainer EVENT_BEAT_POKEFANM_WILLIAM, POKEFANM, WILLIAM, PokefanmWilliamSeenText, PokefanmWilliamBeatenText, 0, .Script -PokefanmWilliamScript: +.Script: end_if_just_battled opentext writetext PokefanmWilliamAfterBattleText @@ -200,9 +200,9 @@ PokefanmWilliamScript: end TrainerPokefanfBeverly1: - trainer EVENT_BEAT_POKEFANF_BEVERLY, POKEFANF, BEVERLY1, PokefanfBeverly1SeenText, PokefanfBeverly1BeatenText, 0, PokefanfBeverly1Script + trainer EVENT_BEAT_POKEFANF_BEVERLY, POKEFANF, BEVERLY1, PokefanfBeverly1SeenText, PokefanfBeverly1BeatenText, 0, .Script -PokefanfBeverly1Script: +.Script: writecode VAR_CALLERID, PHONE_POKEFAN_BEVERLY end_if_just_battled opentext @@ -279,9 +279,9 @@ UnknownScript_0x5c1ab: end TrainerLassKrise: - trainer EVENT_BEAT_LASS_KRISE, LASS, KRISE, LassKriseSeenText, LassKriseBeatenText, 0, LassKriseScript + trainer EVENT_BEAT_LASS_KRISE, LASS, KRISE, LassKriseSeenText, LassKriseBeatenText, 0, .Script -LassKriseScript: +.Script: end_if_just_battled opentext writetext LassKriseAfterBattleText diff --git a/maps/OlivineLighthouse2F.asm b/maps/OlivineLighthouse2F.asm index 24cafdc2c..d55515fe3 100644 --- a/maps/OlivineLighthouse2F.asm +++ b/maps/OlivineLighthouse2F.asm @@ -10,9 +10,9 @@ OlivineLighthouse2F_MapScriptHeader: db 0 TrainerGentlemanAlfred: - trainer EVENT_BEAT_GENTLEMAN_ALFRED, GENTLEMAN, ALFRED, GentlemanAlfredSeenText, GentlemanAlfredBeatenText, 0, GentlemanAlfredScript + trainer EVENT_BEAT_GENTLEMAN_ALFRED, GENTLEMAN, ALFRED, GentlemanAlfredSeenText, GentlemanAlfredBeatenText, 0, .Script -GentlemanAlfredScript: +.Script: end_if_just_battled opentext writetext GentlemanAlfredAfterBattleText @@ -21,9 +21,9 @@ GentlemanAlfredScript: end TrainerSailorHuey1: - trainer EVENT_BEAT_SAILOR_HUEY, SAILOR, HUEY1, SailorHuey1SeenText, SailorHuey1BeatenText, 0, SailorHuey1Script + trainer EVENT_BEAT_SAILOR_HUEY, SAILOR, HUEY1, SailorHuey1SeenText, SailorHuey1BeatenText, 0, .Script -SailorHuey1Script: +.Script: writecode VAR_CALLERID, PHONE_SAILOR_HUEY end_if_just_battled opentext diff --git a/maps/OlivineLighthouse3F.asm b/maps/OlivineLighthouse3F.asm index 7282c6e80..2b15d3487 100644 --- a/maps/OlivineLighthouse3F.asm +++ b/maps/OlivineLighthouse3F.asm @@ -12,9 +12,9 @@ OlivineLighthouse3F_MapScriptHeader: db 0 TrainerBird_keeperTheo: - trainer EVENT_BEAT_BIRD_KEEPER_THEO, BIRD_KEEPER, THEO, Bird_keeperTheoSeenText, Bird_keeperTheoBeatenText, 0, Bird_keeperTheoScript + trainer EVENT_BEAT_BIRD_KEEPER_THEO, BIRD_KEEPER, THEO, Bird_keeperTheoSeenText, Bird_keeperTheoBeatenText, 0, .Script -Bird_keeperTheoScript: +.Script: end_if_just_battled opentext writetext Bird_keeperTheoAfterBattleText @@ -23,9 +23,9 @@ Bird_keeperTheoScript: end TrainerGentlemanPreston: - trainer EVENT_BEAT_GENTLEMAN_PRESTON, GENTLEMAN, PRESTON, GentlemanPrestonSeenText, GentlemanPrestonBeatenText, 0, GentlemanPrestonScript + trainer EVENT_BEAT_GENTLEMAN_PRESTON, GENTLEMAN, PRESTON, GentlemanPrestonSeenText, GentlemanPrestonBeatenText, 0, .Script -GentlemanPrestonScript: +.Script: end_if_just_battled opentext writetext GentlemanPrestonAfterBattleText @@ -34,9 +34,9 @@ GentlemanPrestonScript: end TrainerSailorTerrell: - trainer EVENT_BEAT_SAILOR_TERRELL, SAILOR, TERRELL, SailorTerrellSeenText, SailorTerrellBeatenText, 0, SailorTerrellScript + trainer EVENT_BEAT_SAILOR_TERRELL, SAILOR, TERRELL, SailorTerrellSeenText, SailorTerrellBeatenText, 0, .Script -SailorTerrellScript: +.Script: end_if_just_battled opentext writetext SailorTerrellAfterBattleText diff --git a/maps/OlivineLighthouse4F.asm b/maps/OlivineLighthouse4F.asm index c1a3911e5..f9ff1d86c 100644 --- a/maps/OlivineLighthouse4F.asm +++ b/maps/OlivineLighthouse4F.asm @@ -10,9 +10,9 @@ OlivineLighthouse4F_MapScriptHeader: db 0 TrainerLassConnie: - trainer EVENT_BEAT_LASS_CONNIE, LASS, CONNIE1, LassConnie1SeenText, LassConnie1BeatenText, 0, LassConnie1Script + trainer EVENT_BEAT_LASS_CONNIE, LASS, CONNIE1, LassConnie1SeenText, LassConnie1BeatenText, 0, .Script -LassConnie1Script: +.Script: end_if_just_battled opentext writetext LassConnie1AfterBattleText @@ -21,9 +21,9 @@ LassConnie1Script: end TrainerSailorKent: - trainer EVENT_BEAT_SAILOR_KENT, SAILOR, KENT, SailorKentSeenText, SailorKentBeatenText, 0, SailorKentScript + trainer EVENT_BEAT_SAILOR_KENT, SAILOR, KENT, SailorKentSeenText, SailorKentBeatenText, 0, .Script -SailorKentScript: +.Script: end_if_just_battled opentext writetext SailorKentAfterBattleText diff --git a/maps/OlivineLighthouse5F.asm b/maps/OlivineLighthouse5F.asm index 6dd14f384..08a9c4309 100644 --- a/maps/OlivineLighthouse5F.asm +++ b/maps/OlivineLighthouse5F.asm @@ -13,9 +13,9 @@ OlivineLighthouse5F_MapScriptHeader: db 0 TrainerBird_keeperDenis: - trainer EVENT_BEAT_BIRD_KEEPER_DENIS, BIRD_KEEPER, DENIS, Bird_keeperDenisSeenText, Bird_keeperDenisBeatenText, 0, Bird_keeperDenisScript + trainer EVENT_BEAT_BIRD_KEEPER_DENIS, BIRD_KEEPER, DENIS, Bird_keeperDenisSeenText, Bird_keeperDenisBeatenText, 0, .Script -Bird_keeperDenisScript: +.Script: end_if_just_battled opentext writetext Bird_keeperDenisAfterBattleText @@ -24,9 +24,9 @@ Bird_keeperDenisScript: end TrainerSailorErnest: - trainer EVENT_BEAT_SAILOR_ERNEST, SAILOR, ERNEST, SailorErnestSeenText, SailorErnestBeatenText, 0, SailorErnestScript + trainer EVENT_BEAT_SAILOR_ERNEST, SAILOR, ERNEST, SailorErnestSeenText, SailorErnestBeatenText, 0, .Script -SailorErnestScript: +.Script: end_if_just_battled opentext writetext SailorErnestAfterBattleText diff --git a/maps/PewterGym.asm b/maps/PewterGym.asm index d1549a7eb..8fe9b726d 100644 --- a/maps/PewterGym.asm +++ b/maps/PewterGym.asm @@ -41,9 +41,9 @@ BrockScript_0x1a2864: end TrainerCamperJerry: - trainer EVENT_BEAT_CAMPER_JERRY, CAMPER, JERRY, CamperJerrySeenText, CamperJerryBeatenText, 0, CamperJerryScript + trainer EVENT_BEAT_CAMPER_JERRY, CAMPER, JERRY, CamperJerrySeenText, CamperJerryBeatenText, 0, .Script -CamperJerryScript: +.Script: end_if_just_battled opentext writetext CamperJerryAfterBattleText diff --git a/maps/RadioTower1F.asm b/maps/RadioTower1F.asm index ad13a471f..283663e69 100644 --- a/maps/RadioTower1F.asm +++ b/maps/RadioTower1F.asm @@ -186,9 +186,9 @@ RadioTower1FYoungsterScript: jumptextfaceplayer RadioTower1FYoungsterText TrainerGruntM3: - trainer EVENT_BEAT_ROCKET_GRUNTM_3, GRUNTM, GRUNTM_3, GruntM3SeenText, GruntM3BeatenText, 0, GruntM3Script + trainer EVENT_BEAT_ROCKET_GRUNTM_3, GRUNTM, GRUNTM_3, GruntM3SeenText, GruntM3BeatenText, 0, .Script -GruntM3Script: +.Script: end_if_just_battled opentext writetext GruntM3AfterBattleText diff --git a/maps/RadioTower2F.asm b/maps/RadioTower2F.asm index 74fe053f9..31093f073 100644 --- a/maps/RadioTower2F.asm +++ b/maps/RadioTower2F.asm @@ -55,9 +55,9 @@ RadioTower2FBlackBelt2Script: jumptextfaceplayer RadioTower2FBlackBelt2Text TrainerGruntM4: - trainer EVENT_BEAT_ROCKET_GRUNTM_4, GRUNTM, GRUNTM_4, GruntM4SeenText, GruntM4BeatenText, 0, GruntM4Script + trainer EVENT_BEAT_ROCKET_GRUNTM_4, GRUNTM, GRUNTM_4, GruntM4SeenText, GruntM4BeatenText, 0, .Script -GruntM4Script: +.Script: end_if_just_battled opentext writetext GruntM4AfterBattleText @@ -66,9 +66,9 @@ GruntM4Script: end TrainerGruntM5: - trainer EVENT_BEAT_ROCKET_GRUNTM_5, GRUNTM, GRUNTM_5, GruntM5SeenText, GruntM5BeatenText, 0, GruntM5Script + trainer EVENT_BEAT_ROCKET_GRUNTM_5, GRUNTM, GRUNTM_5, GruntM5SeenText, GruntM5BeatenText, 0, .Script -GruntM5Script: +.Script: end_if_just_battled opentext writetext GruntM5AfterBattleText @@ -77,9 +77,9 @@ GruntM5Script: end TrainerGruntM6: - trainer EVENT_BEAT_ROCKET_GRUNTM_6, GRUNTM, GRUNTM_6, GruntM6SeenText, GruntM6BeatenText, 0, GruntM6Script + trainer EVENT_BEAT_ROCKET_GRUNTM_6, GRUNTM, GRUNTM_6, GruntM6SeenText, GruntM6BeatenText, 0, .Script -GruntM6Script: +.Script: end_if_just_battled opentext writetext GruntM6AfterBattleText @@ -88,9 +88,9 @@ GruntM6Script: end TrainerGruntF2: - trainer EVENT_BEAT_ROCKET_GRUNTF_2, GRUNTF, GRUNTF_2, GruntF2SeenText, GruntF2BeatenText, 0, GruntF2Script + trainer EVENT_BEAT_ROCKET_GRUNTF_2, GRUNTF, GRUNTF_2, GruntF2SeenText, GruntF2BeatenText, 0, .Script -GruntF2Script: +.Script: end_if_just_battled opentext writetext GruntF2AfterBattleText diff --git a/maps/RadioTower3F.asm b/maps/RadioTower3F.asm index ac48ebda1..ef15ce603 100644 --- a/maps/RadioTower3F.asm +++ b/maps/RadioTower3F.asm @@ -83,9 +83,9 @@ UnknownScript_0x5e5a1: end TrainerGruntM7: - trainer EVENT_BEAT_ROCKET_GRUNTM_7, GRUNTM, GRUNTM_7, GruntM7SeenText, GruntM7BeatenText, 0, GruntM7Script + trainer EVENT_BEAT_ROCKET_GRUNTM_7, GRUNTM, GRUNTM_7, GruntM7SeenText, GruntM7BeatenText, 0, .Script -GruntM7Script: +.Script: end_if_just_battled opentext writetext GruntM7AfterBattleText @@ -94,9 +94,9 @@ GruntM7Script: end TrainerGruntM8: - trainer EVENT_BEAT_ROCKET_GRUNTM_8, GRUNTM, GRUNTM_8, GruntM8SeenText, GruntM8BeatenText, 0, GruntM8Script + trainer EVENT_BEAT_ROCKET_GRUNTM_8, GRUNTM, GRUNTM_8, GruntM8SeenText, GruntM8BeatenText, 0, .Script -GruntM8Script: +.Script: end_if_just_battled opentext writetext GruntM8AfterBattleText @@ -105,9 +105,9 @@ GruntM8Script: end TrainerGruntM9: - trainer EVENT_BEAT_ROCKET_GRUNTM_9, GRUNTM, GRUNTM_9, GruntM9SeenText, GruntM9BeatenText, 0, GruntM9Script + trainer EVENT_BEAT_ROCKET_GRUNTM_9, GRUNTM, GRUNTM_9, GruntM9SeenText, GruntM9BeatenText, 0, .Script -GruntM9Script: +.Script: end_if_just_battled opentext writetext GruntM9AfterBattleText @@ -116,9 +116,9 @@ GruntM9Script: end TrainerScientistMarc: - trainer EVENT_BEAT_SCIENTIST_MARC, SCIENTIST, MARC, ScientistMarcSeenText, ScientistMarcBeatenText, 0, ScientistMarcScript + trainer EVENT_BEAT_SCIENTIST_MARC, SCIENTIST, MARC, ScientistMarcSeenText, ScientistMarcBeatenText, 0, .Script -ScientistMarcScript: +.Script: end_if_just_battled opentext writetext ScientistMarcAfterBattleText diff --git a/maps/RadioTower4F.asm b/maps/RadioTower4F.asm index 497e43fc4..38c802c85 100644 --- a/maps/RadioTower4F.asm +++ b/maps/RadioTower4F.asm @@ -56,9 +56,9 @@ RadioTowerMeowth: end TrainerGruntM10: - trainer EVENT_BEAT_ROCKET_GRUNTM_10, GRUNTM, GRUNTM_10, GruntM10SeenText, GruntM10BeatenText, 0, GruntM10Script + trainer EVENT_BEAT_ROCKET_GRUNTM_10, GRUNTM, GRUNTM_10, GruntM10SeenText, GruntM10BeatenText, 0, .Script -GruntM10Script: +.Script: end_if_just_battled opentext writetext GruntM10AfterBattleText @@ -67,9 +67,9 @@ GruntM10Script: end TrainerExecutivem2: - trainer EVENT_BEAT_ROCKET_EXECUTIVEM_2, EXECUTIVEM, EXECUTIVEM_2, Executivem2SeenText, Executivem2BeatenText, 0, Executivem2Script + trainer EVENT_BEAT_ROCKET_EXECUTIVEM_2, EXECUTIVEM, EXECUTIVEM_2, Executivem2SeenText, Executivem2BeatenText, 0, .Script -Executivem2Script: +.Script: end_if_just_battled opentext writetext Executivem2AfterBattleText @@ -78,9 +78,9 @@ Executivem2Script: end TrainerGruntF4: - trainer EVENT_BEAT_ROCKET_GRUNTF_4, GRUNTF, GRUNTF_4, GruntF4SeenText, GruntF4BeatenText, 0, GruntF4Script + trainer EVENT_BEAT_ROCKET_GRUNTF_4, GRUNTF, GRUNTF_4, GruntF4SeenText, GruntF4BeatenText, 0, .Script -GruntF4Script: +.Script: end_if_just_battled opentext writetext GruntF4AfterBattleText @@ -89,9 +89,9 @@ GruntF4Script: end TrainerScientistRich: - trainer EVENT_BEAT_SCIENTIST_RICH, SCIENTIST, RICH, ScientistRichSeenText, ScientistRichBeatenText, 0, ScientistRichScript + trainer EVENT_BEAT_SCIENTIST_RICH, SCIENTIST, RICH, ScientistRichSeenText, ScientistRichBeatenText, 0, .Script -ScientistRichScript: +.Script: end_if_just_battled opentext writetext ScientistRichAfterBattleText diff --git a/maps/RadioTower5F.asm b/maps/RadioTower5F.asm index e8b70f7e1..020569db2 100644 --- a/maps/RadioTower5F.asm +++ b/maps/RadioTower5F.asm @@ -68,9 +68,9 @@ Director: end TrainerExecutivef1: - trainer EVENT_BEAT_ROCKET_EXECUTIVEF_1, EXECUTIVEF, EXECUTIVEF_1, Executivef1SeenText, Executivef1BeatenText, 0, Executivef1Script + trainer EVENT_BEAT_ROCKET_EXECUTIVEF_1, EXECUTIVEF, EXECUTIVEF_1, Executivef1SeenText, Executivef1BeatenText, 0, .Script -Executivef1Script: +.Script: end_if_just_battled opentext writetext Executivef1AfterBattleText diff --git a/maps/RedsHouse2F.asm b/maps/RedsHouse2F.asm index 5704cdcaf..5934f2cf4 100644 --- a/maps/RedsHouse2F.asm +++ b/maps/RedsHouse2F.asm @@ -5,13 +5,13 @@ RedsHouse2F_MapScriptHeader: .MapCallbacks: db 0 -MapRedsHouse2FSignpost0Script: - jumptext UnknownText_0x19b050 +RedsHouse2FN64Script: + jumptext RedsHouse2FN64Text -MapRedsHouse2FSignpost1Script: - jumptext UnknownText_0x19b087 +RedsHouse2FPCScript: + jumptext RedsHouse2FPCText -UnknownText_0x19b050: +RedsHouse2FN64Text: text " played the" line "N64." @@ -19,7 +19,7 @@ UnknownText_0x19b050: line "no time to lose!" done -UnknownText_0x19b087: +RedsHouse2FPCText: text "It looks like it" line "hasn't been used" cont "in a long time…" @@ -38,8 +38,8 @@ RedsHouse2F_MapEventHeader: .Signposts: db 2 - signpost 5, 3, SIGNPOST_READ, MapRedsHouse2FSignpost0Script - signpost 1, 0, SIGNPOST_READ, MapRedsHouse2FSignpost1Script + signpost 5, 3, SIGNPOST_READ, RedsHouse2FN64Script + signpost 1, 0, SIGNPOST_READ, RedsHouse2FPCScript .PersonEvents: db 0 diff --git a/maps/Route1.asm b/maps/Route1.asm index 3bda2934f..d083b2708 100644 --- a/maps/Route1.asm +++ b/maps/Route1.asm @@ -11,9 +11,9 @@ Route1_MapScriptHeader: db 0 TrainerSchoolboyDanny: - trainer EVENT_BEAT_SCHOOLBOY_DANNY, SCHOOLBOY, DANNY, SchoolboyDannySeenText, SchoolboyDannyBeatenText, 0, SchoolboyDannyScript + trainer EVENT_BEAT_SCHOOLBOY_DANNY, SCHOOLBOY, DANNY, SchoolboyDannySeenText, SchoolboyDannyBeatenText, 0, .Script -SchoolboyDannyScript: +.Script: end_if_just_battled opentext writetext SchoolboyDannyAfterBattleText @@ -22,9 +22,9 @@ SchoolboyDannyScript: end TrainerCooltrainerfQuinn: - trainer EVENT_BEAT_COOLTRAINERF_QUINN, COOLTRAINERF, QUINN, CooltrainerfQuinnSeenText, CooltrainerfQuinnBeatenText, 0, CooltrainerfQuinnScript + trainer EVENT_BEAT_COOLTRAINERF_QUINN, COOLTRAINERF, QUINN, CooltrainerfQuinnSeenText, CooltrainerfQuinnBeatenText, 0, .Script -CooltrainerfQuinnScript: +.Script: end_if_just_battled opentext writetext CooltrainerfQuinnAfterBattleText diff --git a/maps/Route10South.asm b/maps/Route10South.asm index db5c7c5e9..2c9a6fd7f 100644 --- a/maps/Route10South.asm +++ b/maps/Route10South.asm @@ -10,9 +10,9 @@ Route10South_MapScriptHeader: db 0 TrainerHikerJim: - trainer EVENT_BEAT_HIKER_JIM, HIKER, JIM, HikerJimSeenText, HikerJimBeatenText, 0, HikerJimScript + trainer EVENT_BEAT_HIKER_JIM, HIKER, JIM, HikerJimSeenText, HikerJimBeatenText, 0, .Script -HikerJimScript: +.Script: end_if_just_battled opentext writetext HikerJimAfterBattleText @@ -21,9 +21,9 @@ HikerJimScript: end TrainerPokefanmRobert: - trainer EVENT_BEAT_POKEFANM_ROBERT, POKEFANM, ROBERT, PokefanmRobertSeenText, PokefanmRobertBeatenText, 0, PokefanmRobertScript + trainer EVENT_BEAT_POKEFANM_ROBERT, POKEFANM, ROBERT, PokefanmRobertSeenText, PokefanmRobertBeatenText, 0, .Script -PokefanmRobertScript: +.Script: end_if_just_battled opentext writetext PokefanmRobertAfterBattleText diff --git a/maps/Route11.asm b/maps/Route11.asm index ca6159c38..c01fefdb8 100644 --- a/maps/Route11.asm +++ b/maps/Route11.asm @@ -13,9 +13,9 @@ Route11_MapScriptHeader: db 0 TrainerYoungsterOwen: - trainer EVENT_BEAT_YOUNGSTER_OWEN, YOUNGSTER, OWEN, YoungsterOwenSeenText, YoungsterOwenBeatenText, 0, YoungsterOwenScript + trainer EVENT_BEAT_YOUNGSTER_OWEN, YOUNGSTER, OWEN, YoungsterOwenSeenText, YoungsterOwenBeatenText, 0, .Script -YoungsterOwenScript: +.Script: end_if_just_battled opentext writetext YoungsterOwenAfterBattleText @@ -24,9 +24,9 @@ YoungsterOwenScript: end TrainerYoungsterJason: - trainer EVENT_BEAT_YOUNGSTER_JASON, YOUNGSTER, JASON, YoungsterJasonSeenText, YoungsterJasonBeatenText, 0, YoungsterJasonScript + trainer EVENT_BEAT_YOUNGSTER_JASON, YOUNGSTER, JASON, YoungsterJasonSeenText, YoungsterJasonBeatenText, 0, .Script -YoungsterJasonScript: +.Script: end_if_just_battled opentext writetext YoungsterJasonAfterBattleText @@ -35,9 +35,9 @@ YoungsterJasonScript: end TrainerPsychicHerman: - trainer EVENT_BEAT_PSYCHIC_HERMAN, PSYCHIC_T, HERMAN, PsychicHermanSeenText, PsychicHermanBeatenText, 0, PsychicHermanScript + trainer EVENT_BEAT_PSYCHIC_HERMAN, PSYCHIC_T, HERMAN, PsychicHermanSeenText, PsychicHermanBeatenText, 0, .Script -PsychicHermanScript: +.Script: end_if_just_battled opentext writetext PsychicHermanAfterBattleText @@ -46,9 +46,9 @@ PsychicHermanScript: end TrainerPsychicFidel: - trainer EVENT_BEAT_PSYCHIC_FIDEL, PSYCHIC_T, FIDEL, PsychicFidelSeenText, PsychicFidelBeatenText, 0, PsychicFidelScript + trainer EVENT_BEAT_PSYCHIC_FIDEL, PSYCHIC_T, FIDEL, PsychicFidelSeenText, PsychicFidelBeatenText, 0, .Script -PsychicFidelScript: +.Script: end_if_just_battled opentext writetext PsychicFidelAfterBattleText diff --git a/maps/Route12.asm b/maps/Route12.asm index 00c00f15f..ea867c641 100644 --- a/maps/Route12.asm +++ b/maps/Route12.asm @@ -14,9 +14,9 @@ Route12_MapScriptHeader: db 0 TrainerFisherKyle: - trainer EVENT_BEAT_FISHER_KYLE, FISHER, KYLE, FisherKyleSeenText, FisherKyleBeatenText, 0, FisherKyleScript + trainer EVENT_BEAT_FISHER_KYLE, FISHER, KYLE, FisherKyleSeenText, FisherKyleBeatenText, 0, .Script -FisherKyleScript: +.Script: end_if_just_battled opentext writetext FisherKyleAfterBattleText @@ -25,9 +25,9 @@ FisherKyleScript: end TrainerFisherMartin: - trainer EVENT_BEAT_FISHER_MARTIN, FISHER, MARTIN, FisherMartinSeenText, FisherMartinBeatenText, 0, FisherMartinScript + trainer EVENT_BEAT_FISHER_MARTIN, FISHER, MARTIN, FisherMartinSeenText, FisherMartinBeatenText, 0, .Script -FisherMartinScript: +.Script: end_if_just_battled opentext writetext FisherMartinAfterBattleText @@ -36,9 +36,9 @@ FisherMartinScript: end TrainerFisherStephen: - trainer EVENT_BEAT_FISHER_STEPHEN, FISHER, STEPHEN, FisherStephenSeenText, FisherStephenBeatenText, 0, FisherStephenScript + trainer EVENT_BEAT_FISHER_STEPHEN, FISHER, STEPHEN, FisherStephenSeenText, FisherStephenBeatenText, 0, .Script -FisherStephenScript: +.Script: end_if_just_battled opentext writetext FisherStephenAfterBattleText @@ -47,9 +47,9 @@ FisherStephenScript: end TrainerFisherBarney: - trainer EVENT_BEAT_FISHER_BARNEY, FISHER, BARNEY, FisherBarneySeenText, FisherBarneyBeatenText, 0, FisherBarneyScript + trainer EVENT_BEAT_FISHER_BARNEY, FISHER, BARNEY, FisherBarneySeenText, FisherBarneyBeatenText, 0, .Script -FisherBarneyScript: +.Script: end_if_just_battled opentext writetext FisherBarneyAfterBattleText diff --git a/maps/Route13.asm b/maps/Route13.asm index baa220c44..03490891b 100644 --- a/maps/Route13.asm +++ b/maps/Route13.asm @@ -13,9 +13,9 @@ Route13_MapScriptHeader: db 0 TrainerPokefanmAlex: - trainer EVENT_BEAT_POKEFANM_ALEX, POKEFANM, ALEX, PokefanmAlexSeenText, PokefanmAlexBeatenText, 0, PokefanmAlexScript + trainer EVENT_BEAT_POKEFANM_ALEX, POKEFANM, ALEX, PokefanmAlexSeenText, PokefanmAlexBeatenText, 0, .Script -PokefanmAlexScript: +.Script: end_if_just_battled opentext writetext PokefanmAlexAfterBattleText @@ -24,9 +24,9 @@ PokefanmAlexScript: end TrainerPokefanmJoshua: - trainer EVENT_BEAT_POKEFANM_JOSHUA, POKEFANM, JOSHUA, PokefanmJoshuaSeenText, PokefanmJoshuaBeatenText, 0, PokefanmJoshuaScript + trainer EVENT_BEAT_POKEFANM_JOSHUA, POKEFANM, JOSHUA, PokefanmJoshuaSeenText, PokefanmJoshuaBeatenText, 0, .Script -PokefanmJoshuaScript: +.Script: end_if_just_battled opentext writetext PokefanmJoshuaAfterBattleText @@ -35,9 +35,9 @@ PokefanmJoshuaScript: end TrainerBird_keeperPerry: - trainer EVENT_BEAT_BIRD_KEEPER_PERRY, BIRD_KEEPER, PERRY, Bird_keeperPerrySeenText, Bird_keeperPerryBeatenText, 0, Bird_keeperPerryScript + trainer EVENT_BEAT_BIRD_KEEPER_PERRY, BIRD_KEEPER, PERRY, Bird_keeperPerrySeenText, Bird_keeperPerryBeatenText, 0, .Script -Bird_keeperPerryScript: +.Script: end_if_just_battled opentext writetext Bird_keeperPerryAfterBattleText @@ -46,9 +46,9 @@ Bird_keeperPerryScript: end TrainerBird_keeperBret: - trainer EVENT_BEAT_BIRD_KEEPER_BRET, BIRD_KEEPER, BRET, Bird_keeperBretSeenText, Bird_keeperBretBeatenText, 0, Bird_keeperBretScript + trainer EVENT_BEAT_BIRD_KEEPER_BRET, BIRD_KEEPER, BRET, Bird_keeperBretSeenText, Bird_keeperBretBeatenText, 0, .Script -Bird_keeperBretScript: +.Script: end_if_just_battled opentext writetext Bird_keeperBretAfterBattleText @@ -57,9 +57,9 @@ Bird_keeperBretScript: end TrainerHikerKenny: - trainer EVENT_BEAT_HIKER_KENNY, HIKER, KENNY, HikerKennySeenText, HikerKennyBeatenText, 0, HikerKennyScript + trainer EVENT_BEAT_HIKER_KENNY, HIKER, KENNY, HikerKennySeenText, HikerKennyBeatenText, 0, .Script -HikerKennyScript: +.Script: end_if_just_battled opentext writetext HikerKennyAfterBattleText diff --git a/maps/Route14.asm b/maps/Route14.asm index 841ee2c97..e7a3c7f3f 100644 --- a/maps/Route14.asm +++ b/maps/Route14.asm @@ -20,9 +20,9 @@ Kim: end TrainerPokefanmCarter: - trainer EVENT_BEAT_POKEFANM_CARTER, POKEFANM, CARTER, PokefanmCarterSeenText, PokefanmCarterBeatenText, 0, PokefanmCarterScript + trainer EVENT_BEAT_POKEFANM_CARTER, POKEFANM, CARTER, PokefanmCarterSeenText, PokefanmCarterBeatenText, 0, .Script -PokefanmCarterScript: +.Script: end_if_just_battled opentext writetext PokefanmCarterAfterBattleText @@ -31,9 +31,9 @@ PokefanmCarterScript: end TrainerBird_keeperRoy: - trainer EVENT_BEAT_BIRD_KEEPER_ROY, BIRD_KEEPER, ROY, Bird_keeperRoySeenText, Bird_keeperRoyBeatenText, 0, Bird_keeperRoyScript + trainer EVENT_BEAT_BIRD_KEEPER_ROY, BIRD_KEEPER, ROY, Bird_keeperRoySeenText, Bird_keeperRoyBeatenText, 0, .Script -Bird_keeperRoyScript: +.Script: end_if_just_battled opentext writetext Bird_keeperRoyAfterBattleText @@ -42,9 +42,9 @@ Bird_keeperRoyScript: end TrainerPokefanmTrevor: - trainer EVENT_BEAT_POKEFANM_TREVOR, POKEFANM, TREVOR, PokefanmTrevorSeenText, PokefanmTrevorBeatenText, 0, PokefanmTrevorScript + trainer EVENT_BEAT_POKEFANM_TREVOR, POKEFANM, TREVOR, PokefanmTrevorSeenText, PokefanmTrevorBeatenText, 0, .Script -PokefanmTrevorScript: +.Script: end_if_just_battled opentext writetext PokefanmTrevorAfterBattleText diff --git a/maps/Route15.asm b/maps/Route15.asm index 3d78e29a2..317c536fb 100644 --- a/maps/Route15.asm +++ b/maps/Route15.asm @@ -15,9 +15,9 @@ Route15_MapScriptHeader: db 0 TrainerTeacherColette: - trainer EVENT_BEAT_TEACHER_COLETTE, TEACHER, COLETTE, TeacherColetteSeenText, TeacherColetteBeatenText, 0, TeacherColetteScript + trainer EVENT_BEAT_TEACHER_COLETTE, TEACHER, COLETTE, TeacherColetteSeenText, TeacherColetteBeatenText, 0, .Script -TeacherColetteScript: +.Script: end_if_just_battled opentext writetext TeacherColetteAfterBattleText @@ -26,9 +26,9 @@ TeacherColetteScript: end TrainerTeacherHillary: - trainer EVENT_BEAT_TEACHER_HILLARY, TEACHER, HILLARY, TeacherHillarySeenText, TeacherHillaryBeatenText, 0, TeacherHillaryScript + trainer EVENT_BEAT_TEACHER_HILLARY, TEACHER, HILLARY, TeacherHillarySeenText, TeacherHillaryBeatenText, 0, .Script -TeacherHillaryScript: +.Script: end_if_just_battled opentext writetext TeacherHillaryAfterBattleText @@ -37,9 +37,9 @@ TeacherHillaryScript: end TrainerSchoolboyKipp: - trainer EVENT_BEAT_SCHOOLBOY_KIP, SCHOOLBOY, KIPP, SchoolboyKippSeenText, SchoolboyKippBeatenText, 0, SchoolboyKippScript + trainer EVENT_BEAT_SCHOOLBOY_KIP, SCHOOLBOY, KIPP, SchoolboyKippSeenText, SchoolboyKippBeatenText, 0, .Script -SchoolboyKippScript: +.Script: end_if_just_battled opentext writetext SchoolboyKippAfterBattleText @@ -48,9 +48,9 @@ SchoolboyKippScript: end TrainerSchoolboyTommy: - trainer EVENT_BEAT_SCHOOLBOY_TOMMY, SCHOOLBOY, TOMMY, SchoolboyTommySeenText, SchoolboyTommyBeatenText, 0, SchoolboyTommyScript + trainer EVENT_BEAT_SCHOOLBOY_TOMMY, SCHOOLBOY, TOMMY, SchoolboyTommySeenText, SchoolboyTommyBeatenText, 0, .Script -SchoolboyTommyScript: +.Script: end_if_just_battled opentext writetext SchoolboyTommyAfterBattleText @@ -59,9 +59,9 @@ SchoolboyTommyScript: end TrainerSchoolboyJohnny: - trainer EVENT_BEAT_SCHOOLBOY_JOHNNY, SCHOOLBOY, JOHNNY, SchoolboyJohnnySeenText, SchoolboyJohnnyBeatenText, 0, SchoolboyJohnnyScript + trainer EVENT_BEAT_SCHOOLBOY_JOHNNY, SCHOOLBOY, JOHNNY, SchoolboyJohnnySeenText, SchoolboyJohnnyBeatenText, 0, .Script -SchoolboyJohnnyScript: +.Script: end_if_just_battled opentext writetext SchoolboyJohnnyAfterBattleText @@ -70,9 +70,9 @@ SchoolboyJohnnyScript: end TrainerSchoolboyBilly: - trainer EVENT_BEAT_SCHOOLBOY_BILLY, SCHOOLBOY, BILLY, SchoolboyBillySeenText, SchoolboyBillyBeatenText, 0, SchoolboyBillyScript + trainer EVENT_BEAT_SCHOOLBOY_BILLY, SCHOOLBOY, BILLY, SchoolboyBillySeenText, SchoolboyBillyBeatenText, 0, .Script -SchoolboyBillyScript: +.Script: end_if_just_battled opentext writetext SchoolboyBillyAfterBattleText diff --git a/maps/Route17.asm b/maps/Route17.asm index 03cfd3e4b..89043b890 100644 --- a/maps/Route17.asm +++ b/maps/Route17.asm @@ -18,9 +18,9 @@ Route17_MapScriptHeader: return TrainerBikerCharles: - trainer EVENT_BEAT_BIKER_CHARLES, BIKER, CHARLES, BikerCharlesSeenText, BikerCharlesBeatenText, 0, BikerCharlesScript + trainer EVENT_BEAT_BIKER_CHARLES, BIKER, CHARLES, BikerCharlesSeenText, BikerCharlesBeatenText, 0, .Script -BikerCharlesScript: +.Script: end_if_just_battled opentext writetext BikerCharlesAfterBattleText @@ -29,9 +29,9 @@ BikerCharlesScript: end TrainerBikerRiley: - trainer EVENT_BEAT_BIKER_RILEY, BIKER, RILEY, BikerRileySeenText, BikerRileyBeatenText, 0, BikerRileyScript + trainer EVENT_BEAT_BIKER_RILEY, BIKER, RILEY, BikerRileySeenText, BikerRileyBeatenText, 0, .Script -BikerRileyScript: +.Script: end_if_just_battled opentext writetext BikerRileyAfterBattleText @@ -40,9 +40,9 @@ BikerRileyScript: end TrainerBikerJoel: - trainer EVENT_BEAT_BIKER_JOEL, BIKER, JOEL, BikerJoelSeenText, BikerJoelBeatenText, 0, BikerJoelScript + trainer EVENT_BEAT_BIKER_JOEL, BIKER, JOEL, BikerJoelSeenText, BikerJoelBeatenText, 0, .Script -BikerJoelScript: +.Script: end_if_just_battled opentext writetext BikerJoelAfterBattleText @@ -51,9 +51,9 @@ BikerJoelScript: end TrainerBikerGlenn: - trainer EVENT_BEAT_BIKER_GLENN, BIKER, GLENN, BikerGlennSeenText, BikerGlennBeatenText, 0, BikerGlennScript + trainer EVENT_BEAT_BIKER_GLENN, BIKER, GLENN, BikerGlennSeenText, BikerGlennBeatenText, 0, .Script -BikerGlennScript: +.Script: end_if_just_battled opentext writetext BikerGlennAfterBattleText diff --git a/maps/Route18.asm b/maps/Route18.asm index 8c02559f4..16f5c6920 100644 --- a/maps/Route18.asm +++ b/maps/Route18.asm @@ -10,9 +10,9 @@ Route18_MapScriptHeader: db 0 TrainerBird_keeperBoris: - trainer EVENT_BEAT_BIRD_KEEPER_BORIS, BIRD_KEEPER, BORIS, Bird_keeperBorisSeenText, Bird_keeperBorisBeatenText, 0, Bird_keeperBorisScript + trainer EVENT_BEAT_BIRD_KEEPER_BORIS, BIRD_KEEPER, BORIS, Bird_keeperBorisSeenText, Bird_keeperBorisBeatenText, 0, .Script -Bird_keeperBorisScript: +.Script: end_if_just_battled opentext writetext Bird_keeperBorisAfterBattleText @@ -21,9 +21,9 @@ Bird_keeperBorisScript: end TrainerBird_keeperBob: - trainer EVENT_BEAT_BIRD_KEEPER_BOB, BIRD_KEEPER, BOB, Bird_keeperBobSeenText, Bird_keeperBobBeatenText, 0, Bird_keeperBobScript + trainer EVENT_BEAT_BIRD_KEEPER_BOB, BIRD_KEEPER, BOB, Bird_keeperBobSeenText, Bird_keeperBobBeatenText, 0, .Script -Bird_keeperBobScript: +.Script: end_if_just_battled opentext writetext Bird_keeperBobAfterBattleText diff --git a/maps/Route19.asm b/maps/Route19.asm index 18bffe3e4..02e59165f 100644 --- a/maps/Route19.asm +++ b/maps/Route19.asm @@ -27,9 +27,9 @@ Route19_MapScriptHeader: return TrainerSwimmerfDawn: - trainer EVENT_BEAT_SWIMMERF_DAWN, SWIMMERF, DAWN, SwimmerfDawnSeenText, SwimmerfDawnBeatenText, 0, SwimmerfDawnScript + trainer EVENT_BEAT_SWIMMERF_DAWN, SWIMMERF, DAWN, SwimmerfDawnSeenText, SwimmerfDawnBeatenText, 0, .Script -SwimmerfDawnScript: +.Script: end_if_just_battled opentext writetext SwimmerfDawnAfterBattleText @@ -38,9 +38,9 @@ SwimmerfDawnScript: end TrainerSwimmermHarold: - trainer EVENT_BEAT_SWIMMERM_HAROLD, SWIMMERM, HAROLD, SwimmermHaroldSeenText, SwimmermHaroldBeatenText, 0, SwimmermHaroldScript + trainer EVENT_BEAT_SWIMMERM_HAROLD, SWIMMERM, HAROLD, SwimmermHaroldSeenText, SwimmermHaroldBeatenText, 0, .Script -SwimmermHaroldScript: +.Script: end_if_just_battled opentext writetext SwimmermHaroldAfterBattleText @@ -49,9 +49,9 @@ SwimmermHaroldScript: end TrainerSwimmermJerome: - trainer EVENT_BEAT_SWIMMERM_JEROME, SWIMMERM, JEROME, SwimmermJeromeSeenText, SwimmermJeromeBeatenText, 0, SwimmermJeromeScript + trainer EVENT_BEAT_SWIMMERM_JEROME, SWIMMERM, JEROME, SwimmermJeromeSeenText, SwimmermJeromeBeatenText, 0, .Script -SwimmermJeromeScript: +.Script: end_if_just_battled opentext writetext SwimmermJeromeAfterBattleText @@ -60,9 +60,9 @@ SwimmermJeromeScript: end TrainerSwimmermTucker: - trainer EVENT_BEAT_SWIMMERM_TUCKER, SWIMMERM, TUCKER, SwimmermTuckerSeenText, SwimmermTuckerBeatenText, 0, SwimmermTuckerScript + trainer EVENT_BEAT_SWIMMERM_TUCKER, SWIMMERM, TUCKER, SwimmermTuckerSeenText, SwimmermTuckerBeatenText, 0, .Script -SwimmermTuckerScript: +.Script: end_if_just_battled opentext writetext SwimmermTuckerAfterBattleText diff --git a/maps/Route2.asm b/maps/Route2.asm index be4069932..d33381b26 100644 --- a/maps/Route2.asm +++ b/maps/Route2.asm @@ -16,9 +16,9 @@ Route2_MapScriptHeader: db 0 TrainerBug_catcherRob: - trainer EVENT_BEAT_BUG_CATCHER_ROB, BUG_CATCHER, ROB, Bug_catcherRobSeenText, Bug_catcherRobBeatenText, 0, Bug_catcherRobScript + trainer EVENT_BEAT_BUG_CATCHER_ROB, BUG_CATCHER, ROB, Bug_catcherRobSeenText, Bug_catcherRobBeatenText, 0, .Script -Bug_catcherRobScript: +.Script: end_if_just_battled opentext writetext Bug_catcherRobAfterBattleText @@ -27,9 +27,9 @@ Bug_catcherRobScript: end TrainerBug_catcherEd: - trainer EVENT_BEAT_BUG_CATCHER_ED, BUG_CATCHER, ED, Bug_catcherEdSeenText, Bug_catcherEdBeatenText, 0, Bug_catcherEdScript + trainer EVENT_BEAT_BUG_CATCHER_ED, BUG_CATCHER, ED, Bug_catcherEdSeenText, Bug_catcherEdBeatenText, 0, .Script -Bug_catcherEdScript: +.Script: end_if_just_battled opentext writetext Bug_catcherEdAfterBattleText @@ -38,9 +38,9 @@ Bug_catcherEdScript: end TrainerBug_catcherDoug: - trainer EVENT_BEAT_BUG_CATCHER_DOUG, BUG_CATCHER, DOUG, Bug_catcherDougSeenText, Bug_catcherDougBeatenText, 0, Bug_catcherDougScript + trainer EVENT_BEAT_BUG_CATCHER_DOUG, BUG_CATCHER, DOUG, Bug_catcherDougSeenText, Bug_catcherDougBeatenText, 0, .Script -Bug_catcherDougScript: +.Script: end_if_just_battled opentext writetext Bug_catcherDougAfterBattleText diff --git a/maps/Route20.asm b/maps/Route20.asm index c849e516c..c0a05f7a4 100644 --- a/maps/Route20.asm +++ b/maps/Route20.asm @@ -16,9 +16,9 @@ Route20_MapScriptHeader: return TrainerSwimmerfNicole: - trainer EVENT_BEAT_SWIMMERF_NICOLE, SWIMMERF, NICOLE, SwimmerfNicoleSeenText, SwimmerfNicoleBeatenText, 0, SwimmerfNicoleScript + trainer EVENT_BEAT_SWIMMERF_NICOLE, SWIMMERF, NICOLE, SwimmerfNicoleSeenText, SwimmerfNicoleBeatenText, 0, .Script -SwimmerfNicoleScript: +.Script: end_if_just_battled opentext writetext SwimmerfNicoleAfterBattleText @@ -27,9 +27,9 @@ SwimmerfNicoleScript: end TrainerSwimmerfLori: - trainer EVENT_BEAT_SWIMMERF_LORI, SWIMMERF, LORI, SwimmerfLoriSeenText, SwimmerfLoriBeatenText, 0, SwimmerfLoriScript + trainer EVENT_BEAT_SWIMMERF_LORI, SWIMMERF, LORI, SwimmerfLoriSeenText, SwimmerfLoriBeatenText, 0, .Script -SwimmerfLoriScript: +.Script: end_if_just_battled opentext writetext SwimmerfLoriAfterBattleText @@ -38,9 +38,9 @@ SwimmerfLoriScript: end TrainerSwimmermCameron: - trainer EVENT_BEAT_SWIMMERM_CAMERON, SWIMMERM, CAMERON, SwimmermCameronSeenText, SwimmermCameronBeatenText, 0, SwimmermCameronScript + trainer EVENT_BEAT_SWIMMERM_CAMERON, SWIMMERM, CAMERON, SwimmermCameronSeenText, SwimmermCameronBeatenText, 0, .Script -SwimmermCameronScript: +.Script: end_if_just_battled opentext writetext SwimmermCameronAfterBattleText diff --git a/maps/Route21.asm b/maps/Route21.asm index 28b17d11d..64bc65257 100644 --- a/maps/Route21.asm +++ b/maps/Route21.asm @@ -11,9 +11,9 @@ Route21_MapScriptHeader: db 0 TrainerSwimmermSeth: - trainer EVENT_BEAT_SWIMMERM_SETH, SWIMMERM, SETH, SwimmermSethSeenText, SwimmermSethBeatenText, 0, SwimmermSethScript + trainer EVENT_BEAT_SWIMMERM_SETH, SWIMMERM, SETH, SwimmermSethSeenText, SwimmermSethBeatenText, 0, .Script -SwimmermSethScript: +.Script: end_if_just_battled opentext writetext SwimmermSethAfterBattleText @@ -22,9 +22,9 @@ SwimmermSethScript: end TrainerSwimmerfNikki: - trainer EVENT_BEAT_SWIMMERF_NIKKI, SWIMMERF, NIKKI, SwimmerfNikkiSeenText, SwimmerfNikkiBeatenText, 0, SwimmerfNikkiScript + trainer EVENT_BEAT_SWIMMERF_NIKKI, SWIMMERF, NIKKI, SwimmerfNikkiSeenText, SwimmerfNikkiBeatenText, 0, .Script -SwimmerfNikkiScript: +.Script: end_if_just_battled opentext writetext SwimmerfNikkiAfterBattleText @@ -33,9 +33,9 @@ SwimmerfNikkiScript: end TrainerFisherArnold: - trainer EVENT_BEAT_FISHER_ARNOLD, FISHER, ARNOLD, FisherArnoldSeenText, FisherArnoldBeatenText, 0, FisherArnoldScript + trainer EVENT_BEAT_FISHER_ARNOLD, FISHER, ARNOLD, FisherArnoldSeenText, FisherArnoldBeatenText, 0, .Script -FisherArnoldScript: +.Script: end_if_just_battled opentext writetext FisherArnoldAfterBattleText diff --git a/maps/Route25.asm b/maps/Route25.asm index 76b43b70f..44e854532 100644 --- a/maps/Route25.asm +++ b/maps/Route25.asm @@ -79,9 +79,9 @@ UnknownScript_0x19eee0: end TrainerSchoolboyDudley: - trainer EVENT_BEAT_SCHOOLBOY_DUDLEY, SCHOOLBOY, DUDLEY, SchoolboyDudleySeenText, SchoolboyDudleyBeatenText, 0, SchoolboyDudleyScript + trainer EVENT_BEAT_SCHOOLBOY_DUDLEY, SCHOOLBOY, DUDLEY, SchoolboyDudleySeenText, SchoolboyDudleyBeatenText, 0, .Script -SchoolboyDudleyScript: +.Script: end_if_just_battled opentext writetext SchoolboyDudleyAfterBattleText @@ -90,9 +90,9 @@ SchoolboyDudleyScript: end TrainerLassEllen: - trainer EVENT_BEAT_LASS_ELLEN, LASS, ELLEN, LassEllenSeenText, LassEllenBeatenText, 0, LassEllenScript + trainer EVENT_BEAT_LASS_ELLEN, LASS, ELLEN, LassEllenSeenText, LassEllenBeatenText, 0, .Script -LassEllenScript: +.Script: end_if_just_battled opentext writetext LassEllenAfterBattleText @@ -101,9 +101,9 @@ LassEllenScript: end TrainerSchoolboyJoe: - trainer EVENT_BEAT_SCHOOLBOY_JOE, SCHOOLBOY, JOE, SchoolboyJoeSeenText, SchoolboyJoeBeatenText, 0, SchoolboyJoeScript + trainer EVENT_BEAT_SCHOOLBOY_JOE, SCHOOLBOY, JOE, SchoolboyJoeSeenText, SchoolboyJoeBeatenText, 0, .Script -SchoolboyJoeScript: +.Script: end_if_just_battled opentext writetext SchoolboyJoeAfterBattleText @@ -112,9 +112,9 @@ SchoolboyJoeScript: end TrainerLassLaura: - trainer EVENT_BEAT_LASS_LAURA, LASS, LAURA, LassLauraSeenText, LassLauraBeatenText, 0, LassLauraScript + trainer EVENT_BEAT_LASS_LAURA, LASS, LAURA, LassLauraSeenText, LassLauraBeatenText, 0, .Script -LassLauraScript: +.Script: end_if_just_battled opentext writetext LassLauraAfterBattleText @@ -123,9 +123,9 @@ LassLauraScript: end TrainerCamperLloyd: - trainer EVENT_BEAT_CAMPER_LLOYD, CAMPER, LLOYD, CamperLloydSeenText, CamperLloydBeatenText, 0, CamperLloydScript + trainer EVENT_BEAT_CAMPER_LLOYD, CAMPER, LLOYD, CamperLloydSeenText, CamperLloydBeatenText, 0, .Script -CamperLloydScript: +.Script: end_if_just_battled opentext writetext CamperLloydAfterBattleText @@ -134,9 +134,9 @@ CamperLloydScript: end TrainerLassShannon: - trainer EVENT_BEAT_LASS_SHANNON, LASS, SHANNON, LassShannonSeenText, LassShannonBeatenText, 0, LassShannonScript + trainer EVENT_BEAT_LASS_SHANNON, LASS, SHANNON, LassShannonSeenText, LassShannonBeatenText, 0, .Script -LassShannonScript: +.Script: end_if_just_battled opentext writetext LassShannonAfterBattleText @@ -145,9 +145,9 @@ LassShannonScript: end TrainerSupernerdPat: - trainer EVENT_BEAT_SUPER_NERD_PAT, SUPER_NERD, PAT, SupernerdPatSeenText, SupernerdPatBeatenText, 0, SupernerdPatScript + trainer EVENT_BEAT_SUPER_NERD_PAT, SUPER_NERD, PAT, SupernerdPatSeenText, SupernerdPatBeatenText, 0, .Script -SupernerdPatScript: +.Script: end_if_just_battled opentext writetext SupernerdPatAfterBattleText diff --git a/maps/Route26.asm b/maps/Route26.asm index 589ed25d0..f48f2b082 100644 --- a/maps/Route26.asm +++ b/maps/Route26.asm @@ -16,9 +16,9 @@ Route26_MapScriptHeader: db 0 TrainerCooltrainermJake: - trainer EVENT_BEAT_COOLTRAINERM_JAKE, COOLTRAINERM, JAKE, CooltrainermJakeSeenText, CooltrainermJakeBeatenText, 0, CooltrainermJakeScript + trainer EVENT_BEAT_COOLTRAINERM_JAKE, COOLTRAINERM, JAKE, CooltrainermJakeSeenText, CooltrainermJakeBeatenText, 0, .Script -CooltrainermJakeScript: +.Script: end_if_just_battled opentext writetext CooltrainermJakeAfterBattleText @@ -27,9 +27,9 @@ CooltrainermJakeScript: end TrainerCooltrainermGaven3: - trainer EVENT_BEAT_COOLTRAINERM_GAVEN, COOLTRAINERM, GAVEN3, CooltrainermGaven3SeenText, CooltrainermGaven3BeatenText, 0, CooltrainermGaven3Script + trainer EVENT_BEAT_COOLTRAINERM_GAVEN, COOLTRAINERM, GAVEN3, CooltrainermGaven3SeenText, CooltrainermGaven3BeatenText, 0, .Script -CooltrainermGaven3Script: +.Script: writecode VAR_CALLERID, PHONE_COOLTRAINERM_GAVEN end_if_just_battled opentext @@ -120,9 +120,9 @@ UnknownScript_0x1a4dd7: end TrainerCooltrainerfJoyce: - trainer EVENT_BEAT_COOLTRAINERF_JOYCE, COOLTRAINERF, JOYCE, CooltrainerfJoyceSeenText, CooltrainerfJoyceBeatenText, 0, CooltrainerfJoyceScript + trainer EVENT_BEAT_COOLTRAINERF_JOYCE, COOLTRAINERF, JOYCE, CooltrainerfJoyceSeenText, CooltrainerfJoyceBeatenText, 0, .Script -CooltrainerfJoyceScript: +.Script: end_if_just_battled opentext writetext CooltrainerfJoyceAfterBattleText @@ -131,9 +131,9 @@ CooltrainerfJoyceScript: end TrainerCooltrainerfBeth1: - trainer EVENT_BEAT_COOLTRAINERF_BETH, COOLTRAINERF, BETH1, CooltrainerfBeth1SeenText, CooltrainerfBeth1BeatenText, 0, CooltrainerfBeth1Script + trainer EVENT_BEAT_COOLTRAINERF_BETH, COOLTRAINERF, BETH1, CooltrainerfBeth1SeenText, CooltrainerfBeth1BeatenText, 0, .Script -CooltrainerfBeth1Script: +.Script: writecode VAR_CALLERID, PHONE_COOLTRAINERF_BETH end_if_just_battled opentext @@ -224,9 +224,9 @@ UnknownScript_0x1a4e93: end TrainerPsychicRichard: - trainer EVENT_BEAT_PSYCHIC_RICHARD, PSYCHIC_T, RICHARD, PsychicRichardSeenText, PsychicRichardBeatenText, 0, PsychicRichardScript + trainer EVENT_BEAT_PSYCHIC_RICHARD, PSYCHIC_T, RICHARD, PsychicRichardSeenText, PsychicRichardBeatenText, 0, .Script -PsychicRichardScript: +.Script: end_if_just_battled opentext writetext PsychicRichardAfterBattleText @@ -235,9 +235,9 @@ PsychicRichardScript: end TrainerFisherScott: - trainer EVENT_BEAT_FISHER_SCOTT, FISHER, SCOTT, FisherScottSeenText, FisherScottBeatenText, 0, FisherScottScript + trainer EVENT_BEAT_FISHER_SCOTT, FISHER, SCOTT, FisherScottSeenText, FisherScottBeatenText, 0, .Script -FisherScottScript: +.Script: end_if_just_battled opentext writetext FisherScottAfterBattleText diff --git a/maps/Route27.asm b/maps/Route27.asm index e513fdab7..10716d9fb 100644 --- a/maps/Route27.asm +++ b/maps/Route27.asm @@ -49,9 +49,9 @@ Route27FisherScript: jumptextfaceplayer Route27FisherText TrainerPsychicGilbert: - trainer EVENT_BEAT_PSYCHIC_GILBERT, PSYCHIC_T, GILBERT, PsychicGilbertSeenText, PsychicGilbertBeatenText, 0, PsychicGilbertScript + trainer EVENT_BEAT_PSYCHIC_GILBERT, PSYCHIC_T, GILBERT, PsychicGilbertSeenText, PsychicGilbertBeatenText, 0, .Script -PsychicGilbertScript: +.Script: end_if_just_battled opentext writetext PsychicGilbertAfterBattleText @@ -60,9 +60,9 @@ PsychicGilbertScript: end TrainerBird_keeperJose2: - trainer EVENT_BEAT_BIRD_KEEPER_JOSE2, BIRD_KEEPER, JOSE2, Bird_keeperJose2SeenText, Bird_keeperJose2BeatenText, 0, Bird_keeperJose2Script + trainer EVENT_BEAT_BIRD_KEEPER_JOSE2, BIRD_KEEPER, JOSE2, Bird_keeperJose2SeenText, Bird_keeperJose2BeatenText, 0, .Script -Bird_keeperJose2Script: +.Script: writecode VAR_CALLERID, PHONE_BIRDKEEPER_JOSE end_if_just_battled opentext @@ -173,9 +173,9 @@ UnknownScript_0x1a0977: end TrainerCooltrainermBlake: - trainer EVENT_BEAT_COOLTRAINERM_BLAKE, COOLTRAINERM, BLAKE, CooltrainermBlakeSeenText, CooltrainermBlakeBeatenText, 0, CooltrainermBlakeScript + trainer EVENT_BEAT_COOLTRAINERM_BLAKE, COOLTRAINERM, BLAKE, CooltrainermBlakeSeenText, CooltrainermBlakeBeatenText, 0, .Script -CooltrainermBlakeScript: +.Script: end_if_just_battled opentext writetext CooltrainermBlakeAfterBattleText @@ -184,9 +184,9 @@ CooltrainermBlakeScript: end TrainerCooltrainermBrian: - trainer EVENT_BEAT_COOLTRAINERM_BRIAN, COOLTRAINERM, BRIAN, CooltrainermBrianSeenText, CooltrainermBrianBeatenText, 0, CooltrainermBrianScript + trainer EVENT_BEAT_COOLTRAINERM_BRIAN, COOLTRAINERM, BRIAN, CooltrainermBrianSeenText, CooltrainermBrianBeatenText, 0, .Script -CooltrainermBrianScript: +.Script: end_if_just_battled opentext writetext CooltrainermBrianAfterBattleText @@ -195,9 +195,9 @@ CooltrainermBrianScript: end TrainerCooltrainerfReena: - trainer EVENT_BEAT_COOLTRAINERF_REENA, COOLTRAINERF, REENA1, CooltrainerfReena1SeenText, CooltrainerfReena1BeatenText, 0, CooltrainerfReena1Script + trainer EVENT_BEAT_COOLTRAINERF_REENA, COOLTRAINERF, REENA1, CooltrainerfReena1SeenText, CooltrainerfReena1BeatenText, 0, .Script -CooltrainerfReena1Script: +.Script: writecode VAR_CALLERID, PHONE_COOLTRAINERF_REENA end_if_just_battled opentext @@ -288,9 +288,9 @@ UnknownScript_0x1a0a47: end TrainerCooltrainerfMegan: - trainer EVENT_BEAT_COOLTRAINERF_MEGAN, COOLTRAINERF, MEGAN, CooltrainerfMeganSeenText, CooltrainerfMeganBeatenText, 0, CooltrainerfMeganScript + trainer EVENT_BEAT_COOLTRAINERF_MEGAN, COOLTRAINERF, MEGAN, CooltrainerfMeganSeenText, CooltrainerfMeganBeatenText, 0, .Script -CooltrainerfMeganScript: +.Script: end_if_just_battled opentext writetext CooltrainerfMeganAfterBattleText diff --git a/maps/Route3.asm b/maps/Route3.asm index 96159e7e3..5b5d9a1d2 100644 --- a/maps/Route3.asm +++ b/maps/Route3.asm @@ -12,9 +12,9 @@ Route3_MapScriptHeader: db 0 TrainerFirebreatherOtis: - trainer EVENT_BEAT_FIREBREATHER_OTIS, FIREBREATHER, OTIS, FirebreatherOtisSeenText, FirebreatherOtisBeatenText, 0, FirebreatherOtisScript + trainer EVENT_BEAT_FIREBREATHER_OTIS, FIREBREATHER, OTIS, FirebreatherOtisSeenText, FirebreatherOtisBeatenText, 0, .Script -FirebreatherOtisScript: +.Script: end_if_just_battled opentext writetext FirebreatherOtisAfterBattleText @@ -23,9 +23,9 @@ FirebreatherOtisScript: end TrainerYoungsterWarren: - trainer EVENT_BEAT_YOUNGSTER_WARREN, YOUNGSTER, WARREN, YoungsterWarrenSeenText, YoungsterWarrenBeatenText, 0, YoungsterWarrenScript + trainer EVENT_BEAT_YOUNGSTER_WARREN, YOUNGSTER, WARREN, YoungsterWarrenSeenText, YoungsterWarrenBeatenText, 0, .Script -YoungsterWarrenScript: +.Script: end_if_just_battled opentext writetext YoungsterWarrenAfterBattleText @@ -34,9 +34,9 @@ YoungsterWarrenScript: end TrainerYoungsterJimmy: - trainer EVENT_BEAT_YOUNGSTER_JIMMY, YOUNGSTER, JIMMY, YoungsterJimmySeenText, YoungsterJimmyBeatenText, 0, YoungsterJimmyScript + trainer EVENT_BEAT_YOUNGSTER_JIMMY, YOUNGSTER, JIMMY, YoungsterJimmySeenText, YoungsterJimmyBeatenText, 0, .Script -YoungsterJimmyScript: +.Script: end_if_just_battled opentext writetext YoungsterJimmyAfterBattleText @@ -45,9 +45,9 @@ YoungsterJimmyScript: end TrainerFirebreatherBurt: - trainer EVENT_BEAT_FIREBREATHER_BURT, FIREBREATHER, BURT, FirebreatherBurtSeenText, FirebreatherBurtBeatenText, 0, FirebreatherBurtScript + trainer EVENT_BEAT_FIREBREATHER_BURT, FIREBREATHER, BURT, FirebreatherBurtSeenText, FirebreatherBurtBeatenText, 0, .Script -FirebreatherBurtScript: +.Script: end_if_just_battled opentext writetext FirebreatherBurtAfterBattleText diff --git a/maps/Route35.asm b/maps/Route35.asm index 8ce6adde7..7d5d2d48a 100644 --- a/maps/Route35.asm +++ b/maps/Route35.asm @@ -19,9 +19,9 @@ Route35_MapScriptHeader: db 0 TrainerBird_keeperBryan: - trainer EVENT_BEAT_BIRD_KEEPER_BRYAN, BIRD_KEEPER, BRYAN, Bird_keeperBryanSeenText, Bird_keeperBryanBeatenText, 0, Bird_keeperBryanScript + trainer EVENT_BEAT_BIRD_KEEPER_BRYAN, BIRD_KEEPER, BRYAN, Bird_keeperBryanSeenText, Bird_keeperBryanBeatenText, 0, .Script -Bird_keeperBryanScript: +.Script: end_if_just_battled opentext writetext Bird_keeperBryanAfterBattleText @@ -30,9 +30,9 @@ Bird_keeperBryanScript: end TrainerJugglerIrwin: - trainer EVENT_BEAT_JUGGLER_IRWIN, JUGGLER, IRWIN1, JugglerIrwin1SeenText, JugglerIrwin1BeatenText, 0, JugglerIrwin1Script + trainer EVENT_BEAT_JUGGLER_IRWIN, JUGGLER, IRWIN1, JugglerIrwin1SeenText, JugglerIrwin1BeatenText, 0, .Script -JugglerIrwin1Script: +.Script: writecode VAR_CALLERID, PHONE_JUGGLER_IRWIN end_if_just_battled opentext @@ -85,9 +85,9 @@ UnknownScript_0x19c91b: end TrainerCamperIvan: - trainer EVENT_BEAT_CAMPER_IVAN, CAMPER, IVAN, CamperIvanSeenText, CamperIvanBeatenText, 0, CamperIvanScript + trainer EVENT_BEAT_CAMPER_IVAN, CAMPER, IVAN, CamperIvanSeenText, CamperIvanBeatenText, 0, .Script -CamperIvanScript: +.Script: end_if_just_battled opentext writetext CamperIvanAfterBattleText @@ -96,9 +96,9 @@ CamperIvanScript: end TrainerCamperElliot: - trainer EVENT_BEAT_CAMPER_ELLIOT, CAMPER, ELLIOT, CamperElliotSeenText, CamperElliotBeatenText, 0, CamperElliotScript + trainer EVENT_BEAT_CAMPER_ELLIOT, CAMPER, ELLIOT, CamperElliotSeenText, CamperElliotBeatenText, 0, .Script -CamperElliotScript: +.Script: end_if_just_battled opentext writetext CamperElliotAfterBattleText @@ -107,9 +107,9 @@ CamperElliotScript: end TrainerPicnickerBrooke: - trainer EVENT_BEAT_PICNICKER_BROOKE, PICNICKER, BROOKE, PicnickerBrookeSeenText, PicnickerBrookeBeatenText, 0, PicnickerBrookeScript + trainer EVENT_BEAT_PICNICKER_BROOKE, PICNICKER, BROOKE, PicnickerBrookeSeenText, PicnickerBrookeBeatenText, 0, .Script -PicnickerBrookeScript: +.Script: end_if_just_battled opentext writetext PicnickerBrookeAfterBattleText @@ -118,9 +118,9 @@ PicnickerBrookeScript: end TrainerPicnickerKim: - trainer EVENT_BEAT_PICNICKER_KIM, PICNICKER, KIM, PicnickerKimSeenText, PicnickerKimBeatenText, 0, PicnickerKimScript + trainer EVENT_BEAT_PICNICKER_KIM, PICNICKER, KIM, PicnickerKimSeenText, PicnickerKimBeatenText, 0, .Script -PicnickerKimScript: +.Script: end_if_just_battled opentext writetext PicnickerKimAfterBattleText @@ -129,9 +129,9 @@ PicnickerKimScript: end TrainerBug_catcherArnie1: - trainer EVENT_BEAT_BUG_CATCHER_ARNIE, BUG_CATCHER, ARNIE1, Bug_catcherArnie1SeenText, Bug_catcherArnie1BeatenText, 0, Bug_catcherArnie1Script + trainer EVENT_BEAT_BUG_CATCHER_ARNIE, BUG_CATCHER, ARNIE1, Bug_catcherArnie1SeenText, Bug_catcherArnie1BeatenText, 0, .Script -Bug_catcherArnie1Script: +.Script: writecode VAR_CALLERID, PHONE_BUG_CATCHER_ARNIE end_if_just_battled opentext @@ -226,9 +226,9 @@ UnknownScript_0x19ca2f: end TrainerFirebreatherWalt: - trainer EVENT_BEAT_FIREBREATHER_WALT, FIREBREATHER, WALT, FirebreatherWaltSeenText, FirebreatherWaltBeatenText, 0, FirebreatherWaltScript + trainer EVENT_BEAT_FIREBREATHER_WALT, FIREBREATHER, WALT, FirebreatherWaltSeenText, FirebreatherWaltBeatenText, 0, .Script -FirebreatherWaltScript: +.Script: end_if_just_battled opentext writetext FirebreatherWaltAfterBattleText diff --git a/maps/Route36.asm b/maps/Route36.asm index 5519a692b..d0accbaa7 100644 --- a/maps/Route36.asm +++ b/maps/Route36.asm @@ -310,7 +310,7 @@ TrainerPsychicMark: .Script: end_if_just_battled opentext - writetext UnknownText_0x19471e + writetext PsychicMarkAfterBattleText waitbutton closetext end @@ -553,7 +553,7 @@ PsychicMarkBeatenText: text "I misread you!" done -UnknownText_0x19471e: +PsychicMarkAfterBattleText: text "I'd be strong if" line "only I could tell" diff --git a/maps/Route37.asm b/maps/Route37.asm index 2b6ad223a..0c1c926b3 100644 --- a/maps/Route37.asm +++ b/maps/Route37.asm @@ -26,9 +26,9 @@ Route37_MapScriptHeader: return TrainerTwinsAnnandanne1: - trainer EVENT_BEAT_TWINS_ANN_AND_ANNE, TWINS, ANNANDANNE1, TwinsAnnandanne1SeenText, TwinsAnnandanne1BeatenText, 0, TwinsAnnandanne1Script + trainer EVENT_BEAT_TWINS_ANN_AND_ANNE, TWINS, ANNANDANNE1, TwinsAnnandanne1SeenText, TwinsAnnandanne1BeatenText, 0, .Script -TwinsAnnandanne1Script: +.Script: end_if_just_battled opentext writetext TwinsAnnandanne1AfterBattleText @@ -37,9 +37,9 @@ TwinsAnnandanne1Script: end TrainerTwinsAnnandanne2: - trainer EVENT_BEAT_TWINS_ANN_AND_ANNE, TWINS, ANNANDANNE2, TwinsAnnandanne2SeenText, TwinsAnnandanne2BeatenText, 0, TwinsAnnandanne2Script + trainer EVENT_BEAT_TWINS_ANN_AND_ANNE, TWINS, ANNANDANNE2, TwinsAnnandanne2SeenText, TwinsAnnandanne2BeatenText, 0, .Script -TwinsAnnandanne2Script: +.Script: end_if_just_battled opentext writetext TwinsAnnandanne2AfterBattleText @@ -48,9 +48,9 @@ TwinsAnnandanne2Script: end TrainerPsychicGreg: - trainer EVENT_BEAT_PSYCHIC_GREG, PSYCHIC_T, GREG, PsychicGregSeenText, PsychicGregBeatenText, 0, PsychicGregScript + trainer EVENT_BEAT_PSYCHIC_GREG, PSYCHIC_T, GREG, PsychicGregSeenText, PsychicGregBeatenText, 0, .Script -PsychicGregScript: +.Script: end_if_just_battled opentext writetext PsychicGregAfterBattleText diff --git a/maps/Route38.asm b/maps/Route38.asm index a496ec99f..0f4227e8e 100644 --- a/maps/Route38.asm +++ b/maps/Route38.asm @@ -15,31 +15,31 @@ Route38_MapScriptHeader: db 0 TrainerBird_keeperToby: - trainer EVENT_BEAT_BIRD_KEEPER_TOBY, BIRD_KEEPER, TOBY, Bird_keeperTobySeenText, Bird_keeperTobyBeatenText, 0, .script + trainer EVENT_BEAT_BIRD_KEEPER_TOBY, BIRD_KEEPER, TOBY, Bird_keeperTobySeenText, Bird_keeperTobyBeatenText, 0, .Script -.script +.Script end_if_just_battled opentext - writetext UnknownText_0x1a1f86 + writetext Bird_keeperTobyAfterBattleText waitbutton closetext end TrainerSailorHarry: - trainer EVENT_BEAT_SAILOR_HARRY, SAILOR, HARRY, SailorHarrySeenText, SailorHarryBeatenText, 0, .script + trainer EVENT_BEAT_SAILOR_HARRY, SAILOR, HARRY, SailorHarrySeenText, SailorHarryBeatenText, 0, .Script -.script +.Script end_if_just_battled opentext - writetext UnknownText_0x1a220c + writetext SailorHarryAfterBattleText waitbutton closetext end TrainerLassDana1: - trainer EVENT_BEAT_LASS_DANA, LASS, DANA1, LassDana1SeenText, LassDana1BeatenText, 0, .script + trainer EVENT_BEAT_LASS_DANA, LASS, DANA1, LassDana1SeenText, LassDana1BeatenText, 0, .Script -.script +.Script writecode VAR_CALLERID, PHONE_LASS_DANA end_if_just_battled opentext @@ -175,9 +175,9 @@ TrainerLassDana1: end TrainerSchoolboyChad1: - trainer EVENT_BEAT_SCHOOLBOY_CHAD, SCHOOLBOY, CHAD1, SchoolboyChad1SeenText, SchoolboyChad1BeatenText, 0, .script + trainer EVENT_BEAT_SCHOOLBOY_CHAD, SCHOOLBOY, CHAD1, SchoolboyChad1SeenText, SchoolboyChad1BeatenText, 0, .Script -.script +.Script writecode VAR_CALLERID, PHONE_SCHOOLBOY_CHAD end_if_just_battled opentext @@ -292,23 +292,23 @@ TrainerSchoolboyChad1: end TrainerBeautyValerie: - trainer EVENT_BEAT_BEAUTY_VALERIE, BEAUTY, VALERIE, BeautyValerieSeenText, BeautyValerieBeatenText, 0, .script + trainer EVENT_BEAT_BEAUTY_VALERIE, BEAUTY, VALERIE, BeautyValerieSeenText, BeautyValerieBeatenText, 0, .Script -.script +.Script end_if_just_battled opentext - writetext UnknownText_0x1a2185 + writetext BeautyValerieAfterBattleText waitbutton closetext end TrainerBeautyOlivia: - trainer EVENT_BEAT_BEAUTY_OLIVIA, BEAUTY, OLIVIA, BeautyOliviaSeenText, BeautyOliviaBeatenText, 0, .script + trainer EVENT_BEAT_BEAUTY_OLIVIA, BEAUTY, OLIVIA, BeautyOliviaSeenText, BeautyOliviaBeatenText, 0, .Script -.script +.Script end_if_just_battled opentext - writetext UnknownText_0x1a229a + writetext BeautyOliviaAfterBattleText waitbutton closetext end @@ -333,7 +333,7 @@ Bird_keeperTobyBeatenText: line "flying away now." done -UnknownText_0x1a1f86: +Bird_keeperTobyAfterBattleText: text "I plan to train in" line "CIANWOOD CITY to" @@ -400,7 +400,7 @@ BeautyValerieBeatenText: line "see your #MON!" done -UnknownText_0x1a2185: +BeautyValerieAfterBattleText: text "When I see #-" line "MON, it seems to" cont "soothe my nerves." @@ -419,7 +419,7 @@ SailorHarryBeatenText: line "world class!" done -UnknownText_0x1a220c: +SailorHarryAfterBattleText: text "All kinds of peo-" line "ple around the" @@ -438,7 +438,7 @@ BeautyOliviaBeatenText: line "MILK every day." done -UnknownText_0x1a229a: +BeautyOliviaAfterBattleText: text "MOOMOO MILK is" line "good for beauty" diff --git a/maps/Route39.asm b/maps/Route39.asm index 48690345e..54e1426a5 100644 --- a/maps/Route39.asm +++ b/maps/Route39.asm @@ -26,9 +26,9 @@ Route39Miltank: end TrainerPokefanmDerek1: - trainer EVENT_BEAT_POKEFANM_DEREK, POKEFANM, DEREK1, PokefanmDerek1SeenText, PokefanmDerek1BeatenText, 0, PokefanmDerek1Script + trainer EVENT_BEAT_POKEFANM_DEREK, POKEFANM, DEREK1, PokefanmDerek1SeenText, PokefanmDerek1BeatenText, 0, .Script -PokefanmDerek1Script: +.Script: writecode VAR_CALLERID, PHONE_POKEFANM_DEREK end_if_just_battled opentext @@ -105,9 +105,9 @@ PackIsFull: end TrainerPokefanfRuth: - trainer EVENT_BEAT_POKEFANF_RUTH, POKEFANF, RUTH, PokefanfRuthSeenText, PokefanfRuthBeatenText, 0, PokefanfRuthScript + trainer EVENT_BEAT_POKEFANF_RUTH, POKEFANF, RUTH, PokefanfRuthSeenText, PokefanfRuthBeatenText, 0, .Script -PokefanfRuthScript: +.Script: end_if_just_battled opentext writetext PokefanfRuthAfterBattleText @@ -116,9 +116,9 @@ PokefanfRuthScript: end TrainerSailorEugene: - trainer EVENT_BEAT_SAILOR_EUGENE, SAILOR, EUGENE, SailorEugeneSeenText, SailorEugeneBeatenText, 0, SailorEugeneScript + trainer EVENT_BEAT_SAILOR_EUGENE, SAILOR, EUGENE, SailorEugeneSeenText, SailorEugeneBeatenText, 0, .Script -SailorEugeneScript: +.Script: end_if_just_battled opentext writetext SailorEugeneAfterBattleText @@ -127,9 +127,9 @@ SailorEugeneScript: end TrainerPsychicNorman: - trainer EVENT_BEAT_PSYCHIC_NORMAN, PSYCHIC_T, NORMAN, PsychicNormanSeenText, PsychicNormanBeatenText, 0, PsychicNormanScript + trainer EVENT_BEAT_PSYCHIC_NORMAN, PSYCHIC_T, NORMAN, PsychicNormanSeenText, PsychicNormanBeatenText, 0, .Script -PsychicNormanScript: +.Script: end_if_just_battled opentext writetext PsychicNormanAfterBattleText diff --git a/maps/Route4.asm b/maps/Route4.asm index b674afdad..4f6207cf3 100644 --- a/maps/Route4.asm +++ b/maps/Route4.asm @@ -12,9 +12,9 @@ Route4_MapScriptHeader: db 0 TrainerBird_keeperHank: - trainer EVENT_BEAT_BIRD_KEEPER_HANK, BIRD_KEEPER, HANK, Bird_keeperHankSeenText, Bird_keeperHankBeatenText, 0, Bird_keeperHankScript + trainer EVENT_BEAT_BIRD_KEEPER_HANK, BIRD_KEEPER, HANK, Bird_keeperHankSeenText, Bird_keeperHankBeatenText, 0, .Script -Bird_keeperHankScript: +.Script: end_if_just_battled opentext writetext Bird_keeperHankAfterBattleText @@ -23,9 +23,9 @@ Bird_keeperHankScript: end TrainerPicnickerHope: - trainer EVENT_BEAT_PICNICKER_HOPE, PICNICKER, HOPE, PicnickerHopeSeenText, PicnickerHopeBeatenText, 0, PicnickerHopeScript + trainer EVENT_BEAT_PICNICKER_HOPE, PICNICKER, HOPE, PicnickerHopeSeenText, PicnickerHopeBeatenText, 0, .Script -PicnickerHopeScript: +.Script: end_if_just_battled opentext writetext PicnickerHopeAfterBattleText @@ -34,9 +34,9 @@ PicnickerHopeScript: end TrainerPicnickerSharon: - trainer EVENT_BEAT_PICNICKER_SHARON, PICNICKER, SHARON, PicnickerSharonSeenText, PicnickerSharonBeatenText, 0, PicnickerSharonScript + trainer EVENT_BEAT_PICNICKER_SHARON, PICNICKER, SHARON, PicnickerSharonSeenText, PicnickerSharonBeatenText, 0, .Script -PicnickerSharonScript: +.Script: end_if_just_battled opentext writetext PicnickerSharonAfterBattleText diff --git a/maps/Route40.asm b/maps/Route40.asm index 8cc77ff97..65f36135a 100644 --- a/maps/Route40.asm +++ b/maps/Route40.asm @@ -32,9 +32,9 @@ Route40_MapScriptHeader: return TrainerSwimmerfElaine: - trainer EVENT_BEAT_SWIMMERF_ELAINE, SWIMMERF, ELAINE, SwimmerfElaineSeenText, SwimmerfElaineBeatenText, 0, SwimmerfElaineScript + trainer EVENT_BEAT_SWIMMERF_ELAINE, SWIMMERF, ELAINE, SwimmerfElaineSeenText, SwimmerfElaineBeatenText, 0, .Script -SwimmerfElaineScript: +.Script: end_if_just_battled opentext writetext SwimmerfElaineAfterBattleText @@ -43,9 +43,9 @@ SwimmerfElaineScript: end TrainerSwimmerfPaula: - trainer EVENT_BEAT_SWIMMERF_PAULA, SWIMMERF, PAULA, SwimmerfPaulaSeenText, SwimmerfPaulaBeatenText, 0, SwimmerfPaulaScript + trainer EVENT_BEAT_SWIMMERF_PAULA, SWIMMERF, PAULA, SwimmerfPaulaSeenText, SwimmerfPaulaBeatenText, 0, .Script -SwimmerfPaulaScript: +.Script: end_if_just_battled opentext writetext SwimmerfPaulaAfterBattleText @@ -54,9 +54,9 @@ SwimmerfPaulaScript: end TrainerSwimmermSimon: - trainer EVENT_BEAT_SWIMMERM_SIMON, SWIMMERM, SIMON, SwimmermSimonSeenText, SwimmermSimonBeatenText, 0, SwimmermSimonScript + trainer EVENT_BEAT_SWIMMERM_SIMON, SWIMMERM, SIMON, SwimmermSimonSeenText, SwimmermSimonBeatenText, 0, .Script -SwimmermSimonScript: +.Script: end_if_just_battled opentext writetext SwimmermSimonAfterBattleText @@ -65,9 +65,9 @@ SwimmermSimonScript: end TrainerSwimmermRandall: - trainer EVENT_BEAT_SWIMMERM_RANDALL, SWIMMERM, RANDALL, SwimmermRandallSeenText, SwimmermRandallBeatenText, 0, SwimmermRandallScript + trainer EVENT_BEAT_SWIMMERM_RANDALL, SWIMMERM, RANDALL, SwimmermRandallSeenText, SwimmermRandallBeatenText, 0, .Script -SwimmermRandallScript: +.Script: end_if_just_battled opentext writetext SwimmermRandallAfterBattleText diff --git a/maps/Route41.asm b/maps/Route41.asm index 174909216..3ff1bb587 100644 --- a/maps/Route41.asm +++ b/maps/Route41.asm @@ -18,9 +18,9 @@ Route41_MapScriptHeader: db 0 TrainerSwimmerfKaylee: - trainer EVENT_BEAT_SWIMMERF_KAYLEE, SWIMMERF, KAYLEE, SwimmerfKayleeSeenText, SwimmerfKayleeBeatenText, 0, SwimmerfKayleeScript + trainer EVENT_BEAT_SWIMMERF_KAYLEE, SWIMMERF, KAYLEE, SwimmerfKayleeSeenText, SwimmerfKayleeBeatenText, 0, .Script -SwimmerfKayleeScript: +.Script: end_if_just_battled opentext writetext SwimmerfKayleeAfterBattleText @@ -29,9 +29,9 @@ SwimmerfKayleeScript: end TrainerSwimmerfSusie: - trainer EVENT_BEAT_SWIMMERF_SUSIE, SWIMMERF, SUSIE, SwimmerfSusieSeenText, SwimmerfSusieBeatenText, 0, SwimmerfSusieScript + trainer EVENT_BEAT_SWIMMERF_SUSIE, SWIMMERF, SUSIE, SwimmerfSusieSeenText, SwimmerfSusieBeatenText, 0, .Script -SwimmerfSusieScript: +.Script: end_if_just_battled opentext writetext SwimmerfSusieAfterBattleText @@ -40,9 +40,9 @@ SwimmerfSusieScript: end TrainerSwimmerfDenise: - trainer EVENT_BEAT_SWIMMERF_DENISE, SWIMMERF, DENISE, SwimmerfDeniseSeenText, SwimmerfDeniseBeatenText, 0, SwimmerfDeniseScript + trainer EVENT_BEAT_SWIMMERF_DENISE, SWIMMERF, DENISE, SwimmerfDeniseSeenText, SwimmerfDeniseBeatenText, 0, .Script -SwimmerfDeniseScript: +.Script: end_if_just_battled opentext writetext SwimmerfDeniseAfterBattleText @@ -51,9 +51,9 @@ SwimmerfDeniseScript: end TrainerSwimmerfKara: - trainer EVENT_BEAT_SWIMMERF_KARA, SWIMMERF, KARA, SwimmerfKaraSeenText, SwimmerfKaraBeatenText, 0, SwimmerfKaraScript + trainer EVENT_BEAT_SWIMMERF_KARA, SWIMMERF, KARA, SwimmerfKaraSeenText, SwimmerfKaraBeatenText, 0, .Script -SwimmerfKaraScript: +.Script: end_if_just_battled opentext writetext SwimmerfKaraAfterBattleText @@ -62,9 +62,9 @@ SwimmerfKaraScript: end TrainerSwimmerfWendy: - trainer EVENT_BEAT_SWIMMERF_WENDY, SWIMMERF, WENDY, SwimmerfWendySeenText, SwimmerfWendyBeatenText, 0, SwimmerfWendyScript + trainer EVENT_BEAT_SWIMMERF_WENDY, SWIMMERF, WENDY, SwimmerfWendySeenText, SwimmerfWendyBeatenText, 0, .Script -SwimmerfWendyScript: +.Script: end_if_just_battled opentext writetext SwimmerfWendyAfterBattleText @@ -73,9 +73,9 @@ SwimmerfWendyScript: end TrainerSwimmermCharlie: - trainer EVENT_BEAT_SWIMMERM_CHARLIE, SWIMMERM, CHARLIE, SwimmermCharlieSeenText, SwimmermCharlieBeatenText, 0, SwimmermCharlieScript + trainer EVENT_BEAT_SWIMMERM_CHARLIE, SWIMMERM, CHARLIE, SwimmermCharlieSeenText, SwimmermCharlieBeatenText, 0, .Script -SwimmermCharlieScript: +.Script: end_if_just_battled opentext writetext SwimmermCharlieAfterBattleText @@ -84,9 +84,9 @@ SwimmermCharlieScript: end TrainerSwimmermGeorge: - trainer EVENT_BEAT_SWIMMERM_GEORGE, SWIMMERM, GEORGE, SwimmermGeorgeSeenText, SwimmermGeorgeBeatenText, 0, SwimmermGeorgeScript + trainer EVENT_BEAT_SWIMMERM_GEORGE, SWIMMERM, GEORGE, SwimmermGeorgeSeenText, SwimmermGeorgeBeatenText, 0, .Script -SwimmermGeorgeScript: +.Script: end_if_just_battled opentext writetext SwimmermGeorgeAfterBattleText @@ -95,9 +95,9 @@ SwimmermGeorgeScript: end TrainerSwimmermBerke: - trainer EVENT_BEAT_SWIMMERM_BERKE, SWIMMERM, BERKE, SwimmermBerkeSeenText, SwimmermBerkeBeatenText, 0, SwimmermBerkeScript + trainer EVENT_BEAT_SWIMMERM_BERKE, SWIMMERM, BERKE, SwimmermBerkeSeenText, SwimmermBerkeBeatenText, 0, .Script -SwimmermBerkeScript: +.Script: end_if_just_battled opentext writetext SwimmermBerkeAfterBattleText @@ -106,9 +106,9 @@ SwimmermBerkeScript: end TrainerSwimmermKirk: - trainer EVENT_BEAT_SWIMMERM_KIRK, SWIMMERM, KIRK, SwimmermKirkSeenText, SwimmermKirkBeatenText, 0, SwimmermKirkScript + trainer EVENT_BEAT_SWIMMERM_KIRK, SWIMMERM, KIRK, SwimmermKirkSeenText, SwimmermKirkBeatenText, 0, .Script -SwimmermKirkScript: +.Script: end_if_just_battled opentext writetext SwimmermKirkAfterBattleText @@ -117,9 +117,9 @@ SwimmermKirkScript: end TrainerSwimmermMathew: - trainer EVENT_BEAT_SWIMMERM_MATHEW, SWIMMERM, MATHEW, SwimmermMathewSeenText, SwimmermMathewBeatenText, 0, SwimmermMathewScript + trainer EVENT_BEAT_SWIMMERM_MATHEW, SWIMMERM, MATHEW, SwimmermMathewSeenText, SwimmermMathewBeatenText, 0, .Script -SwimmermMathewScript: +.Script: end_if_just_battled opentext writetext SwimmermMathewAfterBattleText diff --git a/maps/Route42.asm b/maps/Route42.asm index 99bb953cb..eab7e282c 100644 --- a/maps/Route42.asm +++ b/maps/Route42.asm @@ -37,9 +37,9 @@ Route42SuicuneScript: end TrainerFisherTully1: - trainer EVENT_BEAT_FISHER_TULLY, FISHER, TULLY1, FisherTully1SeenText, FisherTully1BeatenText, 0, FisherTully1Script + trainer EVENT_BEAT_FISHER_TULLY, FISHER, TULLY1, FisherTully1SeenText, FisherTully1BeatenText, 0, .Script -FisherTully1Script: +.Script: writecode VAR_CALLERID, PHONE_FISHER_TULLY end_if_just_battled opentext @@ -163,9 +163,9 @@ UnknownScript_0x1a9311: end TrainerPokemaniacShane: - trainer EVENT_BEAT_POKEMANIAC_SHANE, POKEMANIAC, SHANE, PokemaniacShaneSeenText, PokemaniacShaneBeatenText, 0, PokemaniacShaneScript + trainer EVENT_BEAT_POKEMANIAC_SHANE, POKEMANIAC, SHANE, PokemaniacShaneSeenText, PokemaniacShaneBeatenText, 0, .Script -PokemaniacShaneScript: +.Script: end_if_just_battled opentext writetext PokemaniacShaneAfterBattleText @@ -174,9 +174,9 @@ PokemaniacShaneScript: end TrainerHikerBenjamin: - trainer EVENT_BEAT_HIKER_BENJAMIN, HIKER, BENJAMIN, HikerBenjaminSeenText, HikerBenjaminBeatenText, 0, HikerBenjaminScript + trainer EVENT_BEAT_HIKER_BENJAMIN, HIKER, BENJAMIN, HikerBenjaminSeenText, HikerBenjaminBeatenText, 0, .Script -HikerBenjaminScript: +.Script: end_if_just_battled opentext writetext HikerBenjaminAfterBattleText diff --git a/maps/Route43.asm b/maps/Route43.asm index dcb0d70be..d3e16b3df 100644 --- a/maps/Route43.asm +++ b/maps/Route43.asm @@ -27,9 +27,9 @@ Route43_MapScriptHeader: return TrainerCamperSpencer: - trainer EVENT_BEAT_CAMPER_SPENCER, CAMPER, SPENCER, CamperSpencerSeenText, CamperSpencerBeatenText, 0, CamperSpencerScript + trainer EVENT_BEAT_CAMPER_SPENCER, CAMPER, SPENCER, CamperSpencerSeenText, CamperSpencerBeatenText, 0, .Script -CamperSpencerScript: +.Script: end_if_just_battled opentext writetext CamperSpencerAfterBattleText @@ -38,9 +38,9 @@ CamperSpencerScript: end TrainerPokemaniacBen: - trainer EVENT_BEAT_POKEMANIAC_BEN, POKEMANIAC, BEN, PokemaniacBenSeenText, PokemaniacBenBeatenText, 0, PokemaniacBenScript + trainer EVENT_BEAT_POKEMANIAC_BEN, POKEMANIAC, BEN, PokemaniacBenSeenText, PokemaniacBenBeatenText, 0, .Script -PokemaniacBenScript: +.Script: end_if_just_battled opentext writetext PokemaniacBenAfterBattleText @@ -49,9 +49,9 @@ PokemaniacBenScript: end TrainerPokemaniacBrent1: - trainer EVENT_BEAT_POKEMANIAC_BRENT, POKEMANIAC, BRENT1, PokemaniacBrent1SeenText, PokemaniacBrent1BeatenText, 0, PokemaniacBrent1Script + trainer EVENT_BEAT_POKEMANIAC_BRENT, POKEMANIAC, BRENT1, PokemaniacBrent1SeenText, PokemaniacBrent1BeatenText, 0, .Script -PokemaniacBrent1Script: +.Script: writecode VAR_CALLERID, PHONE_POKEMANIAC_BRENT end_if_just_battled opentext @@ -154,9 +154,9 @@ UnknownScript_0x19d144: end TrainerPokemaniacRon: - trainer EVENT_BEAT_POKEMANIAC_RON, POKEMANIAC, RON, PokemaniacRonSeenText, PokemaniacRonBeatenText, 0, PokemaniacRonScript + trainer EVENT_BEAT_POKEMANIAC_RON, POKEMANIAC, RON, PokemaniacRonSeenText, PokemaniacRonBeatenText, 0, .Script -PokemaniacRonScript: +.Script: end_if_just_battled opentext writetext PokemaniacRonAfterBattleText @@ -165,9 +165,9 @@ PokemaniacRonScript: end TrainerFisherMarvin: - trainer EVENT_BEAT_FISHER_MARVIN, FISHER, MARVIN, FisherMarvinSeenText, FisherMarvinBeatenText, 0, FisherMarvinScript + trainer EVENT_BEAT_FISHER_MARVIN, FISHER, MARVIN, FisherMarvinSeenText, FisherMarvinBeatenText, 0, .Script -FisherMarvinScript: +.Script: end_if_just_battled opentext writetext FisherMarvinAfterBattleText @@ -176,9 +176,9 @@ FisherMarvinScript: end TrainerPicnickerTiffany3: - trainer EVENT_BEAT_PICNICKER_TIFFANY, PICNICKER, TIFFANY3, PicnickerTiffany3SeenText, PicnickerTiffany3BeatenText, 0, PicnickerTiffany3Script + trainer EVENT_BEAT_PICNICKER_TIFFANY, PICNICKER, TIFFANY3, PicnickerTiffany3SeenText, PicnickerTiffany3BeatenText, 0, .Script -PicnickerTiffany3Script: +.Script: writecode VAR_CALLERID, PHONE_PICNICKER_TIFFANY end_if_just_battled opentext diff --git a/maps/Route44.asm b/maps/Route44.asm index dc24e8ddb..31c8a9c92 100644 --- a/maps/Route44.asm +++ b/maps/Route44.asm @@ -19,9 +19,9 @@ Route44_MapScriptHeader: db 0 TrainerBird_keeperVance1: - trainer EVENT_BEAT_BIRD_KEEPER_VANCE, BIRD_KEEPER, VANCE1, Bird_keeperVance1SeenText, Bird_keeperVance1BeatenText, 0, Bird_keeperVance1Script + trainer EVENT_BEAT_BIRD_KEEPER_VANCE, BIRD_KEEPER, VANCE1, Bird_keeperVance1SeenText, Bird_keeperVance1BeatenText, 0, .Script -Bird_keeperVance1Script: +.Script: writecode VAR_CALLERID, PHONE_BIRDKEEPER_VANCE end_if_just_battled opentext @@ -150,9 +150,9 @@ UnknownScript_0x19d90a: end TrainerPsychicPhil: - trainer EVENT_BEAT_PSYCHIC_PHIL, PSYCHIC_T, PHIL, PsychicPhilSeenText, PsychicPhilBeatenText, 0, PsychicPhilScript + trainer EVENT_BEAT_PSYCHIC_PHIL, PSYCHIC_T, PHIL, PsychicPhilSeenText, PsychicPhilBeatenText, 0, .Script -PsychicPhilScript: +.Script: end_if_just_battled opentext writetext PsychicPhilAfterBattleText @@ -161,9 +161,9 @@ PsychicPhilScript: end TrainerFisherWilton1: - trainer EVENT_BEAT_FISHER_WILTON, FISHER, WILTON1, FisherWilton1SeenText, FisherWilton1BeatenText, 0, FisherWilton1Script + trainer EVENT_BEAT_FISHER_WILTON, FISHER, WILTON1, FisherWilton1SeenText, FisherWilton1BeatenText, 0, .Script -FisherWilton1Script: +.Script: writecode VAR_CALLERID, PHONE_FISHER_WILTON end_if_just_battled opentext @@ -256,9 +256,9 @@ UnknownScript_0x19d9e7: jump UnknownScript_0x19d8ff TrainerFisherEdgar: - trainer EVENT_BEAT_FISHER_EDGAR, FISHER, EDGAR, FisherEdgarSeenText, FisherEdgarBeatenText, 0, FisherEdgarScript + trainer EVENT_BEAT_FISHER_EDGAR, FISHER, EDGAR, FisherEdgarSeenText, FisherEdgarBeatenText, 0, .Script -FisherEdgarScript: +.Script: end_if_just_battled opentext writetext FisherEdgarAfterBattleText @@ -267,9 +267,9 @@ FisherEdgarScript: end TrainerCooltrainerfCybil: - trainer EVENT_BEAT_COOLTRAINERF_CYBIL, COOLTRAINERF, CYBIL, CooltrainerfCybilSeenText, CooltrainerfCybilBeatenText, 0, CooltrainerfCybilScript + trainer EVENT_BEAT_COOLTRAINERF_CYBIL, COOLTRAINERF, CYBIL, CooltrainerfCybilSeenText, CooltrainerfCybilBeatenText, 0, .Script -CooltrainerfCybilScript: +.Script: end_if_just_battled opentext writetext CooltrainerfCybilAfterBattleText @@ -278,9 +278,9 @@ CooltrainerfCybilScript: end TrainerPokemaniacZach: - trainer EVENT_BEAT_POKEMANIAC_ZACH, POKEMANIAC, ZACH, PokemaniacZachSeenText, PokemaniacZachBeatenText, 0, PokemaniacZachScript + trainer EVENT_BEAT_POKEMANIAC_ZACH, POKEMANIAC, ZACH, PokemaniacZachSeenText, PokemaniacZachBeatenText, 0, .Script -PokemaniacZachScript: +.Script: end_if_just_battled opentext writetext PokemaniacZachAfterBattleText @@ -289,9 +289,9 @@ PokemaniacZachScript: end TrainerCooltrainermAllen: - trainer EVENT_BEAT_COOLTRAINERM_ALLEN, COOLTRAINERM, ALLEN, CooltrainermAllenSeenText, CooltrainermAllenBeatenText, 0, CooltrainermAllenScript + trainer EVENT_BEAT_COOLTRAINERM_ALLEN, COOLTRAINERM, ALLEN, CooltrainermAllenSeenText, CooltrainermAllenBeatenText, 0, .Script -CooltrainermAllenScript: +.Script: end_if_just_battled opentext writetext CooltrainermAllenAfterBattleText diff --git a/maps/Route45.asm b/maps/Route45.asm index 8caac5aa6..7232e3494 100644 --- a/maps/Route45.asm +++ b/maps/Route45.asm @@ -21,9 +21,9 @@ Route45_MapScriptHeader: db 0 TrainerBlackbeltKenji: - trainer EVENT_BEAT_BLACKBELT_KENJI, BLACKBELT_T, KENJI3, BlackbeltKenji3SeenText, BlackbeltKenji3BeatenText, 0, BlackbeltKenji3Script + trainer EVENT_BEAT_BLACKBELT_KENJI, BLACKBELT_T, KENJI3, BlackbeltKenji3SeenText, BlackbeltKenji3BeatenText, 0, .Script -BlackbeltKenji3Script: +.Script: writecode VAR_CALLERID, PHONE_BLACKBELT_KENJI end_if_just_battled opentext @@ -125,9 +125,9 @@ UnknownScript_0x19e146: end TrainerHikerErik: - trainer EVENT_BEAT_HIKER_ERIK, HIKER, ERIK, HikerErikSeenText, HikerErikBeatenText, 0, HikerErikScript + trainer EVENT_BEAT_HIKER_ERIK, HIKER, ERIK, HikerErikSeenText, HikerErikBeatenText, 0, .Script -HikerErikScript: +.Script: end_if_just_battled opentext writetext HikerErikAfterBattleText @@ -136,9 +136,9 @@ HikerErikScript: end TrainerHikerMichael: - trainer EVENT_BEAT_HIKER_MICHAEL, HIKER, MICHAEL, HikerMichaelSeenText, HikerMichaelBeatenText, 0, HikerMichaelScript + trainer EVENT_BEAT_HIKER_MICHAEL, HIKER, MICHAEL, HikerMichaelSeenText, HikerMichaelBeatenText, 0, .Script -HikerMichaelScript: +.Script: end_if_just_battled opentext writetext HikerMichaelAfterBattleText @@ -147,9 +147,9 @@ HikerMichaelScript: end TrainerHikerParry: - trainer EVENT_BEAT_HIKER_PARRY, HIKER, PARRY3, HikerParry3SeenText, HikerParry3BeatenText, 0, HikerParry3Script + trainer EVENT_BEAT_HIKER_PARRY, HIKER, PARRY3, HikerParry3SeenText, HikerParry3BeatenText, 0, .Script -HikerParry3Script: +.Script: writecode VAR_CALLERID, PHONE_HIKER_PARRY end_if_just_battled opentext @@ -233,9 +233,9 @@ UnknownScript_0x19e219: jump UnknownScript_0x19e127 TrainerHikerTimothy: - trainer EVENT_BEAT_HIKER_TIMOTHY, HIKER, TIMOTHY, HikerTimothySeenText, HikerTimothyBeatenText, 0, HikerTimothyScript + trainer EVENT_BEAT_HIKER_TIMOTHY, HIKER, TIMOTHY, HikerTimothySeenText, HikerTimothyBeatenText, 0, .Script -HikerTimothyScript: +.Script: end_if_just_battled opentext writetext HikerTimothyAfterBattleText @@ -244,9 +244,9 @@ HikerTimothyScript: end TrainerCooltrainermRyan: - trainer EVENT_BEAT_COOLTRAINERM_RYAN, COOLTRAINERM, RYAN, CooltrainermRyanSeenText, CooltrainermRyanBeatenText, 0, CooltrainermRyanScript + trainer EVENT_BEAT_COOLTRAINERM_RYAN, COOLTRAINERM, RYAN, CooltrainermRyanSeenText, CooltrainermRyanBeatenText, 0, .Script -CooltrainermRyanScript: +.Script: end_if_just_battled opentext writetext CooltrainermRyanAfterBattleText @@ -255,9 +255,9 @@ CooltrainermRyanScript: end TrainerCooltrainerfKelly: - trainer EVENT_BEAT_COOLTRAINERF_KELLY, COOLTRAINERF, KELLY, CooltrainerfKellySeenText, CooltrainerfKellyBeatenText, 0, CooltrainerfKellyScript + trainer EVENT_BEAT_COOLTRAINERF_KELLY, COOLTRAINERF, KELLY, CooltrainerfKellySeenText, CooltrainerfKellyBeatenText, 0, .Script -CooltrainerfKellyScript: +.Script: end_if_just_battled opentext writetext CooltrainerfKellyAfterBattleText diff --git a/maps/Route46.asm b/maps/Route46.asm index 0a1a52d9e..e6c8d2cf2 100644 --- a/maps/Route46.asm +++ b/maps/Route46.asm @@ -14,9 +14,9 @@ Route46_MapScriptHeader: db 0 TrainerCamperTed: - trainer EVENT_BEAT_CAMPER_TED, CAMPER, TED, CamperTedSeenText, CamperTedBeatenText, 0, CamperTedScript + trainer EVENT_BEAT_CAMPER_TED, CAMPER, TED, CamperTedSeenText, CamperTedBeatenText, 0, .Script -CamperTedScript: +.Script: end_if_just_battled opentext writetext CamperTedAfterBattleText @@ -25,9 +25,9 @@ CamperTedScript: end TrainerPicnickerErin1: - trainer EVENT_BEAT_PICNICKER_ERIN, PICNICKER, ERIN1, PicnickerErin1SeenText, PicnickerErin1BeatenText, 0, PicnickerErin1Script + trainer EVENT_BEAT_PICNICKER_ERIN, PICNICKER, ERIN1, PicnickerErin1SeenText, PicnickerErin1BeatenText, 0, .Script -PicnickerErin1Script: +.Script: writecode VAR_CALLERID, PHONE_PICNICKER_ERIN end_if_just_battled opentext @@ -148,9 +148,9 @@ UnknownScript_0x1a9772: end TrainerHikerBailey: - trainer EVENT_BEAT_HIKER_BAILEY, HIKER, BAILEY, HikerBaileySeenText, HikerBaileyBeatenText, 0, HikerBaileyScript + trainer EVENT_BEAT_HIKER_BAILEY, HIKER, BAILEY, HikerBaileySeenText, HikerBaileyBeatenText, 0, .Script -HikerBaileyScript: +.Script: end_if_just_battled opentext writetext HikerBaileyAfterBattleText diff --git a/maps/Route6.asm b/maps/Route6.asm index 600cfe456..abf56e013 100644 --- a/maps/Route6.asm +++ b/maps/Route6.asm @@ -11,9 +11,9 @@ Route6_MapScriptHeader: db 0 TrainerPokefanmRex: - trainer EVENT_BEAT_POKEFANM_REX, POKEFANM, REX, PokefanmRexSeenText, PokefanmRexBeatenText, 0, PokefanmRexScript + trainer EVENT_BEAT_POKEFANM_REX, POKEFANM, REX, PokefanmRexSeenText, PokefanmRexBeatenText, 0, .Script -PokefanmRexScript: +.Script: end_if_just_battled opentext writetext PokefanmRexAfterBattleText @@ -22,9 +22,9 @@ PokefanmRexScript: end TrainerPokefanmAllan: - trainer EVENT_BEAT_POKEFANM_ALLAN, POKEFANM, ALLAN, PokefanmAllanSeenText, PokefanmAllanBeatenText, 0, PokefanmAllanScript + trainer EVENT_BEAT_POKEFANM_ALLAN, POKEFANM, ALLAN, PokefanmAllanSeenText, PokefanmAllanBeatenText, 0, .Script -PokefanmAllanScript: +.Script: end_if_just_battled opentext writetext PokefanmAllanAfterBattleText diff --git a/maps/Route8.asm b/maps/Route8.asm index 840547185..33e97f0e7 100644 --- a/maps/Route8.asm +++ b/maps/Route8.asm @@ -14,9 +14,9 @@ Route8_MapScriptHeader: db 0 TrainerBikerDwayne: - trainer EVENT_BEAT_BIKER_DWAYNE, BIKER, DWAYNE, BikerDwayneSeenText, BikerDwayneBeatenText, 0, BikerDwayneScript + trainer EVENT_BEAT_BIKER_DWAYNE, BIKER, DWAYNE, BikerDwayneSeenText, BikerDwayneBeatenText, 0, .Script -BikerDwayneScript: +.Script: end_if_just_battled opentext writetext BikerDwayneAfterBattleText @@ -25,9 +25,9 @@ BikerDwayneScript: end TrainerBikerHarris: - trainer EVENT_BEAT_BIKER_HARRIS, BIKER, HARRIS, BikerHarrisSeenText, BikerHarrisBeatenText, 0, BikerHarrisScript + trainer EVENT_BEAT_BIKER_HARRIS, BIKER, HARRIS, BikerHarrisSeenText, BikerHarrisBeatenText, 0, .Script -BikerHarrisScript: +.Script: end_if_just_battled opentext writetext BikerHarrisAfterBattleText @@ -36,9 +36,9 @@ BikerHarrisScript: end TrainerBikerZeke: - trainer EVENT_BEAT_BIKER_ZEKE, BIKER, ZEKE, BikerZekeSeenText, BikerZekeBeatenText, 0, BikerZekeScript + trainer EVENT_BEAT_BIKER_ZEKE, BIKER, ZEKE, BikerZekeSeenText, BikerZekeBeatenText, 0, .Script -BikerZekeScript: +.Script: end_if_just_battled opentext writetext BikerZekeAfterBattleText @@ -47,9 +47,9 @@ BikerZekeScript: end TrainerSupernerdSam: - trainer EVENT_BEAT_SUPER_NERD_SAM, SUPER_NERD, SAM, SupernerdSamSeenText, SupernerdSamBeatenText, 0, SupernerdSamScript + trainer EVENT_BEAT_SUPER_NERD_SAM, SUPER_NERD, SAM, SupernerdSamSeenText, SupernerdSamBeatenText, 0, .Script -SupernerdSamScript: +.Script: end_if_just_battled opentext writetext SupernerdSamAfterBattleText @@ -58,9 +58,9 @@ SupernerdSamScript: end TrainerSupernerdTom: - trainer EVENT_BEAT_SUPER_NERD_TOM, SUPER_NERD, TOM, SupernerdTomSeenText, SupernerdTomBeatenText, 0, SupernerdTomScript + trainer EVENT_BEAT_SUPER_NERD_TOM, SUPER_NERD, TOM, SupernerdTomSeenText, SupernerdTomBeatenText, 0, .Script -SupernerdTomScript: +.Script: end_if_just_battled opentext writetext SupernerdTomAfterBattleText diff --git a/maps/Route9.asm b/maps/Route9.asm index e5c0df2db..e41f0efd6 100644 --- a/maps/Route9.asm +++ b/maps/Route9.asm @@ -14,9 +14,9 @@ Route9_MapScriptHeader: db 0 TrainerCamperDean: - trainer EVENT_BEAT_CAMPER_DEAN, CAMPER, DEAN, CamperDeanSeenText, CamperDeanBeatenText, 0, CamperDeanScript + trainer EVENT_BEAT_CAMPER_DEAN, CAMPER, DEAN, CamperDeanSeenText, CamperDeanBeatenText, 0, .Script -CamperDeanScript: +.Script: end_if_just_battled opentext writetext CamperDeanAfterBattleText @@ -25,9 +25,9 @@ CamperDeanScript: end TrainerPicnickerHeidi: - trainer EVENT_BEAT_PICNICKER_HEIDI, PICNICKER, HEIDI, PicnickerHeidiSeenText, PicnickerHeidiBeatenText, 0, PicnickerHeidiScript + trainer EVENT_BEAT_PICNICKER_HEIDI, PICNICKER, HEIDI, PicnickerHeidiSeenText, PicnickerHeidiBeatenText, 0, .Script -PicnickerHeidiScript: +.Script: end_if_just_battled opentext writetext PicnickerHeidiAfterBattleText @@ -36,9 +36,9 @@ PicnickerHeidiScript: end TrainerCamperSid: - trainer EVENT_BEAT_CAMPER_SID, CAMPER, SID, CamperSidSeenText, CamperSidBeatenText, 0, CamperSidScript + trainer EVENT_BEAT_CAMPER_SID, CAMPER, SID, CamperSidSeenText, CamperSidBeatenText, 0, .Script -CamperSidScript: +.Script: end_if_just_battled opentext writetext CamperSidAfterBattleText @@ -47,9 +47,9 @@ CamperSidScript: end TrainerPicnickerEdna: - trainer EVENT_BEAT_PICNICKER_EDNA, PICNICKER, EDNA, PicnickerEdnaSeenText, PicnickerEdnaBeatenText, 0, PicnickerEdnaScript + trainer EVENT_BEAT_PICNICKER_EDNA, PICNICKER, EDNA, PicnickerEdnaSeenText, PicnickerEdnaBeatenText, 0, .Script -PicnickerEdnaScript: +.Script: end_if_just_battled opentext writetext PicnickerEdnaAfterBattleText @@ -58,9 +58,9 @@ PicnickerEdnaScript: end TrainerHikerTim: - trainer EVENT_BEAT_HIKER_TIM, HIKER, TIM, HikerTimSeenText, HikerTimBeatenText, 0, HikerTimScript + trainer EVENT_BEAT_HIKER_TIM, HIKER, TIM, HikerTimSeenText, HikerTimBeatenText, 0, .Script -HikerTimScript: +.Script: end_if_just_battled opentext writetext HikerTimAfterBattleText @@ -69,9 +69,9 @@ HikerTimScript: end TrainerHikerSidney: - trainer EVENT_BEAT_HIKER_SIDNEY, HIKER, SIDNEY, HikerSidneySeenText, HikerSidneyBeatenText, 0, HikerSidneyScript + trainer EVENT_BEAT_HIKER_SIDNEY, HIKER, SIDNEY, HikerSidneySeenText, HikerSidneyBeatenText, 0, .Script -HikerSidneyScript: +.Script: end_if_just_battled opentext writetext HikerSidneyAfterBattleText diff --git a/maps/RuinsOfAlphOutside.asm b/maps/RuinsOfAlphOutside.asm index f18e8d99b..687133219 100644 --- a/maps/RuinsOfAlphOutside.asm +++ b/maps/RuinsOfAlphOutside.asm @@ -102,9 +102,9 @@ YoungsterScript_0x5807e: end TrainerPsychicNathan: - trainer EVENT_BEAT_PSYCHIC_NATHAN, PSYCHIC_T, NATHAN, PsychicNathanSeenText, PsychicNathanBeatenText, 0, PsychicNathanScript + trainer EVENT_BEAT_PSYCHIC_NATHAN, PSYCHIC_T, NATHAN, PsychicNathanSeenText, PsychicNathanBeatenText, 0, .Script -PsychicNathanScript: +.Script: end_if_just_battled opentext writetext PsychicNathanAfterBattleText @@ -114,12 +114,12 @@ PsychicNathanScript: TrainerSuperNerdStan: - trainer EVENT_BEAT_SUPER_NERD_STAN, SUPER_NERD, STAN, UnknownText_0x581e5, UnknownText_0x58217, 0, UnknownScript_0x580a9 + trainer EVENT_BEAT_SUPER_NERD_STAN, SUPER_NERD, STAN, UnknownText_0x581e5, UnknownText_0x58217, 0, .Script -UnknownScript_0x580a9: +.Script: end_if_just_battled opentext - writetext UnknownText_0x58250 + writetext SuperNerdStanAfterBattleText waitbutton closetext end @@ -194,7 +194,7 @@ UnknownText_0x58217: line "understanding…" done -UnknownText_0x58250: +SuperNerdStanAfterBattleText: text "The RUINS are from" line "about 1500 years" cont "ago." diff --git a/maps/SaffronGym.asm b/maps/SaffronGym.asm index b8c4932d7..0e4385b83 100644 --- a/maps/SaffronGym.asm +++ b/maps/SaffronGym.asm @@ -47,9 +47,9 @@ SabrinaScript_0x189c2e: end TrainerMediumRebecca: - trainer EVENT_BEAT_MEDIUM_REBECCA, MEDIUM, REBECCA, MediumRebeccaSeenText, MediumRebeccaBeatenText, 0, MediumRebeccaScript + trainer EVENT_BEAT_MEDIUM_REBECCA, MEDIUM, REBECCA, MediumRebeccaSeenText, MediumRebeccaBeatenText, 0, .Script -MediumRebeccaScript: +.Script: end_if_just_battled opentext writetext MediumRebeccaAfterBattleText @@ -58,9 +58,9 @@ MediumRebeccaScript: end TrainerPsychicFranklin: - trainer EVENT_BEAT_PSYCHIC_FRANKLIN, PSYCHIC_T, FRANKLIN, PsychicFranklinSeenText, PsychicFranklinBeatenText, 0, PsychicFranklinScript + trainer EVENT_BEAT_PSYCHIC_FRANKLIN, PSYCHIC_T, FRANKLIN, PsychicFranklinSeenText, PsychicFranklinBeatenText, 0, .Script -PsychicFranklinScript: +.Script: end_if_just_battled opentext writetext PsychicFranklinAfterBattleText @@ -69,9 +69,9 @@ PsychicFranklinScript: end TrainerMediumDoris: - trainer EVENT_BEAT_MEDIUM_DORIS, MEDIUM, DORIS, MediumDorisSeenText, MediumDorisBeatenText, 0, MediumDorisScript + trainer EVENT_BEAT_MEDIUM_DORIS, MEDIUM, DORIS, MediumDorisSeenText, MediumDorisBeatenText, 0, .Script -MediumDorisScript: +.Script: end_if_just_battled opentext writetext MediumDorisAfterBattleText @@ -80,9 +80,9 @@ MediumDorisScript: end TrainerPsychicJared: - trainer EVENT_BEAT_PSYCHIC_JARED, PSYCHIC_T, JARED, PsychicJaredSeenText, PsychicJaredBeatenText, 0, PsychicJaredScript + trainer EVENT_BEAT_PSYCHIC_JARED, PSYCHIC_T, JARED, PsychicJaredSeenText, PsychicJaredBeatenText, 0, .Script -PsychicJaredScript: +.Script: end_if_just_battled opentext writetext PsychicJaredAfterBattleText diff --git a/maps/SlowpokeWellB1F.asm b/maps/SlowpokeWellB1F.asm index 2ceac27c5..e716d3574 100644 --- a/maps/SlowpokeWellB1F.asm +++ b/maps/SlowpokeWellB1F.asm @@ -20,9 +20,9 @@ SlowpokeWellB1FKurtScript: jumptextfaceplayer SlowpokeWellB1FKurtText TrainerGruntM29: - trainer EVENT_BEAT_ROCKET_GRUNTM_29, GRUNTM, GRUNTM_29, GruntM29SeenText, GruntM29BeatenText, 0, GruntM29Script + trainer EVENT_BEAT_ROCKET_GRUNTM_29, GRUNTM, GRUNTM_29, GruntM29SeenText, GruntM29BeatenText, 0, .Script -GruntM29Script: +.Script: end_if_just_battled opentext writetext GruntM29AfterBattleText @@ -31,9 +31,9 @@ GruntM29Script: end TrainerGruntM1: - trainer EVENT_BEAT_ROCKET_GRUNTM_1, GRUNTM, GRUNTM_1, GruntM1SeenText, GruntM1BeatenText, 0, GruntM1Script + trainer EVENT_BEAT_ROCKET_GRUNTM_1, GRUNTM, GRUNTM_1, GruntM1SeenText, GruntM1BeatenText, 0, .Script -GruntM1Script: +.Script: opentext writetext TrainerGruntM1WhenTalkText waitbutton @@ -74,9 +74,9 @@ GruntM1Script: end TrainerGruntM2: - trainer EVENT_BEAT_ROCKET_GRUNTM_2, GRUNTM, GRUNTM_2, GruntM2SeenText, GruntM2BeatenText, 0, GruntM2Script + trainer EVENT_BEAT_ROCKET_GRUNTM_2, GRUNTM, GRUNTM_2, GruntM2SeenText, GruntM2BeatenText, 0, .Script -GruntM2Script: +.Script: end_if_just_battled opentext writetext GruntM2AfterBattleText @@ -85,9 +85,9 @@ GruntM2Script: end TrainerGruntF1: - trainer EVENT_BEAT_ROCKET_GRUNTF_1, GRUNTF, GRUNTF_1, GruntF1SeenText, GruntF1BeatenText, 0, GruntF1Script + trainer EVENT_BEAT_ROCKET_GRUNTF_1, GRUNTF, GRUNTF_1, GruntF1SeenText, GruntF1BeatenText, 0, .Script -GruntF1Script: +.Script: end_if_just_battled opentext writetext GruntF1AfterBattleText diff --git a/maps/SproutTower1F.asm b/maps/SproutTower1F.asm index 1c4905f53..782031e97 100644 --- a/maps/SproutTower1F.asm +++ b/maps/SproutTower1F.asm @@ -26,9 +26,9 @@ SproutTower1FTeacherScript: jumptextfaceplayer SproutTower1FTeacherText TrainerSageChow: - trainer EVENT_BEAT_SAGE_CHOW, SAGE, CHOW, SageChowSeenText, SageChowBeatenText, 0, SageChowScript + trainer EVENT_BEAT_SAGE_CHOW, SAGE, CHOW, SageChowSeenText, SageChowBeatenText, 0, .Script -SageChowScript: +.Script: end_if_just_battled opentext writetext SageChowAfterBattleText diff --git a/maps/SproutTower2F.asm b/maps/SproutTower2F.asm index 1833c1372..acd62a2cb 100644 --- a/maps/SproutTower2F.asm +++ b/maps/SproutTower2F.asm @@ -11,9 +11,9 @@ SproutTower2F_MapScriptHeader: db 0 TrainerSageNico: - trainer EVENT_BEAT_SAGE_NICO, SAGE, NICO, SageNicoSeenText, SageNicoBeatenText, 0, SageNicoScript + trainer EVENT_BEAT_SAGE_NICO, SAGE, NICO, SageNicoSeenText, SageNicoBeatenText, 0, .Script -SageNicoScript: +.Script: end_if_just_battled opentext writetext SageNicoAfterBattleText @@ -22,9 +22,9 @@ SageNicoScript: end TrainerSageEdmond: - trainer EVENT_BEAT_SAGE_EDMOND, SAGE, EDMOND, SageEdmondSeenText, SageEdmondBeatenText, 0, SageEdmondScript + trainer EVENT_BEAT_SAGE_EDMOND, SAGE, EDMOND, SageEdmondSeenText, SageEdmondBeatenText, 0, .Script -SageEdmondScript: +.Script: end_if_just_battled opentext writetext SageEdmondAfterBattleText diff --git a/maps/SproutTower3F.asm b/maps/SproutTower3F.asm index 71188ee59..c882ac18e 100644 --- a/maps/SproutTower3F.asm +++ b/maps/SproutTower3F.asm @@ -93,9 +93,9 @@ UnknownScript_0x1849d1: end TrainerSageJin: - trainer EVENT_BEAT_SAGE_JIN, SAGE, JIN, SageJinSeenText, SageJinBeatenText, 0, SageJinScript + trainer EVENT_BEAT_SAGE_JIN, SAGE, JIN, SageJinSeenText, SageJinBeatenText, 0, .Script -SageJinScript: +.Script: end_if_just_battled opentext writetext SageJinAfterBattleText @@ -104,9 +104,9 @@ SageJinScript: end TrainerSageTroy: - trainer EVENT_BEAT_SAGE_TROY, SAGE, TROY, SageTroySeenText, SageTroyBeatenText, 0, SageTroyScript + trainer EVENT_BEAT_SAGE_TROY, SAGE, TROY, SageTroySeenText, SageTroyBeatenText, 0, .Script -SageTroyScript: +.Script: end_if_just_battled opentext writetext SageTroyAfterBattleText @@ -115,9 +115,9 @@ SageTroyScript: end TrainerSageNeal: - trainer EVENT_BEAT_SAGE_NEAL, SAGE, NEAL, SageNealSeenText, SageNealBeatenText, 0, SageNealScript + trainer EVENT_BEAT_SAGE_NEAL, SAGE, NEAL, SageNealSeenText, SageNealBeatenText, 0, .Script -SageNealScript: +.Script: end_if_just_battled opentext writetext SageNealAfterBattleText diff --git a/maps/TeamRocketBaseB1F.asm b/maps/TeamRocketBaseB1F.asm index 390ea5d7a..34781a23c 100644 --- a/maps/TeamRocketBaseB1F.asm +++ b/maps/TeamRocketBaseB1F.asm @@ -481,9 +481,9 @@ NoExplodingTrap: end TrainerScientistJed: - trainer EVENT_BEAT_SCIENTIST_JED, SCIENTIST, JED, ScientistJedSeenText, ScientistJedBeatenText, 0, ScientistJedScript + trainer EVENT_BEAT_SCIENTIST_JED, SCIENTIST, JED, ScientistJedSeenText, ScientistJedBeatenText, 0, .Script -ScientistJedScript: +.Script: end_if_just_battled opentext writetext ScientistJedAfterBattleText @@ -492,9 +492,9 @@ ScientistJedScript: end TrainerGruntM16: - trainer EVENT_BEAT_ROCKET_GRUNTM_16, GRUNTM, GRUNTM_16, GruntM16SeenText, GruntM16BeatenText, 0, GruntM16Script + trainer EVENT_BEAT_ROCKET_GRUNTM_16, GRUNTM, GRUNTM_16, GruntM16SeenText, GruntM16BeatenText, 0, .Script -GruntM16Script: +.Script: end_if_just_battled opentext writetext GruntM16AfterBattleText diff --git a/maps/TeamRocketBaseB2F.asm b/maps/TeamRocketBaseB2F.asm index 9223be138..84f1a3148 100644 --- a/maps/TeamRocketBaseB2F.asm +++ b/maps/TeamRocketBaseB2F.asm @@ -189,9 +189,9 @@ UnknownScript_0x6d0be: end TrainerGruntM17: - trainer EVENT_BEAT_ROCKET_GRUNTM_17, GRUNTM, GRUNTM_17, GruntM17SeenText, GruntM17BeatenText, 0, GruntM17Script + trainer EVENT_BEAT_ROCKET_GRUNTM_17, GRUNTM, GRUNTM_17, GruntM17SeenText, GruntM17BeatenText, 0, .Script -GruntM17Script: +.Script: end_if_just_battled opentext writetext GruntM17AfterBattleText @@ -200,9 +200,9 @@ GruntM17Script: end TrainerGruntM18: - trainer EVENT_BEAT_ROCKET_GRUNTM_18, GRUNTM, GRUNTM_18, GruntM18SeenText, GruntM18BeatenText, 0, GruntM18Script + trainer EVENT_BEAT_ROCKET_GRUNTM_18, GRUNTM, GRUNTM_18, GruntM18SeenText, GruntM18BeatenText, 0, .Script -GruntM18Script: +.Script: end_if_just_battled opentext writetext GruntM18AfterBattleText @@ -211,9 +211,9 @@ GruntM18Script: end TrainerGruntM19: - trainer EVENT_BEAT_ROCKET_GRUNTM_19, GRUNTM, GRUNTM_19, GruntM19SeenText, GruntM19BeatenText, 0, GruntM19Script + trainer EVENT_BEAT_ROCKET_GRUNTM_19, GRUNTM, GRUNTM_19, GruntM19SeenText, GruntM19BeatenText, 0, .Script -GruntM19Script: +.Script: end_if_just_battled opentext writetext GruntM19AfterBattleText diff --git a/maps/TeamRocketBaseB3F.asm b/maps/TeamRocketBaseB3F.asm index 347bedc90..905cdad4d 100644 --- a/maps/TeamRocketBaseB3F.asm +++ b/maps/TeamRocketBaseB3F.asm @@ -152,9 +152,9 @@ GruntM28Script: end TrainerScientistRoss: - trainer EVENT_BEAT_SCIENTIST_ROSS, SCIENTIST, ROSS, ScientistRossSeenText, ScientistRossBeatenText, 0, ScientistRossScript + trainer EVENT_BEAT_SCIENTIST_ROSS, SCIENTIST, ROSS, ScientistRossSeenText, ScientistRossBeatenText, 0, .Script -ScientistRossScript: +.Script: end_if_just_battled opentext writetext ScientistRossAfterBattleText @@ -163,9 +163,9 @@ ScientistRossScript: end TrainerScientistMitch: - trainer EVENT_BEAT_SCIENTIST_MITCH, SCIENTIST, MITCH, ScientistMitchSeenText, ScientistMitchBeatenText, 0, ScientistMitchScript + trainer EVENT_BEAT_SCIENTIST_MITCH, SCIENTIST, MITCH, ScientistMitchSeenText, ScientistMitchBeatenText, 0, .Script -ScientistMitchScript: +.Script: end_if_just_battled opentext writetext ScientistMitchAfterBattleText diff --git a/maps/TinTower9F.asm b/maps/TinTower9F.asm index 728a94147..14a458528 100644 --- a/maps/TinTower9F.asm +++ b/maps/TinTower9F.asm @@ -11,11 +11,13 @@ TinTower9F_MapScriptHeader: TinTower9FHPUp: itemball HP_UP -UnknownText_0x185b8a: +; unused +TinTower9FUnusedHoOhText: text "HO-OH: Shaoooh!" done -UnknownText_0x185b9b: +; unused +TinTower9FUnusedLugiaText: text "LUGIA: Gyaaan!" done diff --git a/maps/UndergroundPathSwitchRoomEntrances.asm b/maps/UndergroundPathSwitchRoomEntrances.asm index f060fbf1a..abfbb0f72 100644 --- a/maps/UndergroundPathSwitchRoomEntrances.asm +++ b/maps/UndergroundPathSwitchRoomEntrances.asm @@ -206,9 +206,9 @@ UndergroundSilverBattleScript: end TrainerGruntM11: - trainer EVENT_BEAT_ROCKET_GRUNTM_11, GRUNTM, GRUNTM_11, GruntM11SeenText, GruntM11BeatenText, 0, GruntM11Script + trainer EVENT_BEAT_ROCKET_GRUNTM_11, GRUNTM, GRUNTM_11, GruntM11SeenText, GruntM11BeatenText, 0, .Script -GruntM11Script: +.Script: end_if_just_battled opentext writetext GruntM11AfterBattleText @@ -217,9 +217,9 @@ GruntM11Script: end TrainerGruntM25: - trainer EVENT_BEAT_ROCKET_GRUNTM_25, GRUNTM, GRUNTM_25, GruntM25SeenText, GruntM25BeatenText, 0, GruntM25Script + trainer EVENT_BEAT_ROCKET_GRUNTM_25, GRUNTM, GRUNTM_25, GruntM25SeenText, GruntM25BeatenText, 0, .Script -GruntM25Script: +.Script: end_if_just_battled opentext writetext GruntM25AfterBattleText @@ -228,9 +228,9 @@ GruntM25Script: end TrainerBurglarDuncan: - trainer EVENT_BEAT_BURGLAR_DUNCAN, BURGLAR, DUNCAN, BurglarDuncanSeenText, BurglarDuncanBeatenText, 0, BurglarDuncanScript + trainer EVENT_BEAT_BURGLAR_DUNCAN, BURGLAR, DUNCAN, BurglarDuncanSeenText, BurglarDuncanBeatenText, 0, .Script -BurglarDuncanScript: +.Script: end_if_just_battled opentext writetext BurglarDuncanAfterBattleText @@ -239,9 +239,9 @@ BurglarDuncanScript: end TrainerBurglarEddie: - trainer EVENT_BEAT_BURGLAR_EDDIE, BURGLAR, EDDIE, BurglarEddieSeenText, BurglarEddieBeatenText, 0, BurglarEddieScript + trainer EVENT_BEAT_BURGLAR_EDDIE, BURGLAR, EDDIE, BurglarEddieSeenText, BurglarEddieBeatenText, 0, .Script -BurglarEddieScript: +.Script: end_if_just_battled opentext writetext BurglarEddieAfterBattleText @@ -250,9 +250,9 @@ BurglarEddieScript: end TrainerGruntM13: - trainer EVENT_BEAT_ROCKET_GRUNTM_13, GRUNTM, GRUNTM_13, GruntM13SeenText, GruntM13BeatenText, 0, GruntM13Script + trainer EVENT_BEAT_ROCKET_GRUNTM_13, GRUNTM, GRUNTM_13, GruntM13SeenText, GruntM13BeatenText, 0, .Script -GruntM13Script: +.Script: end_if_just_battled opentext writetext GruntM13AfterBattleText @@ -261,9 +261,9 @@ GruntM13Script: end TrainerGruntF3: - trainer EVENT_BEAT_ROCKET_GRUNTF_3, GRUNTF, GRUNTF_3, GruntF3SeenText, GruntF3BeatenText, 0, GruntF3Script + trainer EVENT_BEAT_ROCKET_GRUNTF_3, GRUNTF, GRUNTF_3, GruntF3SeenText, GruntF3BeatenText, 0, .Script -GruntF3Script: +.Script: end_if_just_battled opentext writetext GruntF3AfterBattleText diff --git a/maps/UndergroundWarehouse.asm b/maps/UndergroundWarehouse.asm index 67f5632ca..7876d0557 100644 --- a/maps/UndergroundWarehouse.asm +++ b/maps/UndergroundWarehouse.asm @@ -36,9 +36,9 @@ UndergroundWarehouse_MapScriptHeader: return TrainerGruntM24: - trainer EVENT_BEAT_ROCKET_GRUNTM_24, GRUNTM, GRUNTM_24, GruntM24SeenText, GruntM24BeatenText, 0, GruntM24Script + trainer EVENT_BEAT_ROCKET_GRUNTM_24, GRUNTM, GRUNTM_24, GruntM24SeenText, GruntM24BeatenText, 0, .Script -GruntM24Script: +.Script: end_if_just_battled opentext writetext GruntM24AfterBattleText @@ -47,9 +47,9 @@ GruntM24Script: end TrainerGruntM14: - trainer EVENT_BEAT_ROCKET_GRUNTM_14, GRUNTM, GRUNTM_14, GruntM14SeenText, GruntM14BeatenText, 0, GruntM14Script + trainer EVENT_BEAT_ROCKET_GRUNTM_14, GRUNTM, GRUNTM_14, GruntM14SeenText, GruntM14BeatenText, 0, .Script -GruntM14Script: +.Script: end_if_just_battled opentext writetext GruntM14AfterBattleText @@ -58,9 +58,9 @@ GruntM14Script: end TrainerGruntM15: - trainer EVENT_BEAT_ROCKET_GRUNTM_15, GRUNTM, GRUNTM_15, GruntM15SeenText, GruntM15BeatenText, 0, GruntM15Script + trainer EVENT_BEAT_ROCKET_GRUNTM_15, GRUNTM, GRUNTM_15, GruntM15SeenText, GruntM15BeatenText, 0, .Script -GruntM15Script: +.Script: end_if_just_battled opentext writetext GruntM15AfterBattleText diff --git a/maps/UnionCave1F.asm b/maps/UnionCave1F.asm index fbcaa23e9..0879a120c 100644 --- a/maps/UnionCave1F.asm +++ b/maps/UnionCave1F.asm @@ -17,9 +17,9 @@ UnionCave1F_MapScriptHeader: db 0 TrainerPokemaniacLarry: - trainer EVENT_BEAT_POKEMANIAC_LARRY, POKEMANIAC, LARRY, PokemaniacLarrySeenText, PokemaniacLarryBeatenText, 0, PokemaniacLarryScript + trainer EVENT_BEAT_POKEMANIAC_LARRY, POKEMANIAC, LARRY, PokemaniacLarrySeenText, PokemaniacLarryBeatenText, 0, .Script -PokemaniacLarryScript: +.Script: end_if_just_battled opentext writetext PokemaniacLarryAfterBattleText @@ -28,9 +28,9 @@ PokemaniacLarryScript: end TrainerHikerRussell: - trainer EVENT_BEAT_HIKER_RUSSELL, HIKER, RUSSELL, HikerRussellSeenText, HikerRussellBeatenText, 0, HikerRussellScript + trainer EVENT_BEAT_HIKER_RUSSELL, HIKER, RUSSELL, HikerRussellSeenText, HikerRussellBeatenText, 0, .Script -HikerRussellScript: +.Script: end_if_just_battled opentext writetext HikerRussellAfterBattleText @@ -39,9 +39,9 @@ HikerRussellScript: end TrainerHikerDaniel: - trainer EVENT_BEAT_HIKER_DANIEL, HIKER, DANIEL, HikerDanielSeenText, HikerDanielBeatenText, 0, HikerDanielScript + trainer EVENT_BEAT_HIKER_DANIEL, HIKER, DANIEL, HikerDanielSeenText, HikerDanielBeatenText, 0, .Script -HikerDanielScript: +.Script: end_if_just_battled opentext writetext HikerDanielAfterBattleText @@ -50,9 +50,9 @@ HikerDanielScript: end TrainerFirebreatherBill: - trainer EVENT_BEAT_FIREBREATHER_BILL, FIREBREATHER, BILL, FirebreatherBillSeenText, FirebreatherBillBeatenText, 0, FirebreatherBillScript + trainer EVENT_BEAT_FIREBREATHER_BILL, FIREBREATHER, BILL, FirebreatherBillSeenText, FirebreatherBillBeatenText, 0, .Script -FirebreatherBillScript: +.Script: end_if_just_battled opentext writetext FirebreatherBillAfterBattleText @@ -61,9 +61,9 @@ FirebreatherBillScript: end TrainerFirebreatherRay: - trainer EVENT_BEAT_FIREBREATHER_RAY, FIREBREATHER, RAY, FirebreatherRaySeenText, FirebreatherRayBeatenText, 0, FirebreatherRayScript + trainer EVENT_BEAT_FIREBREATHER_RAY, FIREBREATHER, RAY, FirebreatherRaySeenText, FirebreatherRayBeatenText, 0, .Script -FirebreatherRayScript: +.Script: end_if_just_battled opentext writetext FirebreatherRayAfterBattleText diff --git a/maps/UnionCaveB1F.asm b/maps/UnionCaveB1F.asm index 1608b6884..a11702651 100644 --- a/maps/UnionCaveB1F.asm +++ b/maps/UnionCaveB1F.asm @@ -15,9 +15,9 @@ UnionCaveB1F_MapScriptHeader: db 0 TrainerPokemaniacAndrew: - trainer EVENT_BEAT_POKEMANIAC_ANDREW, POKEMANIAC, ANDREW, PokemaniacAndrewSeenText, PokemaniacAndrewBeatenText, 0, PokemaniacAndrewScript + trainer EVENT_BEAT_POKEMANIAC_ANDREW, POKEMANIAC, ANDREW, PokemaniacAndrewSeenText, PokemaniacAndrewBeatenText, 0, .Script -PokemaniacAndrewScript: +.Script: end_if_just_battled opentext writetext PokemaniacAndrewAfterBattleText @@ -26,9 +26,9 @@ PokemaniacAndrewScript: end TrainerPokemaniacCalvin: - trainer EVENT_BEAT_POKEMANIAC_CALVIN, POKEMANIAC, CALVIN, PokemaniacCalvinSeenText, PokemaniacCalvinBeatenText, 0, PokemaniacCalvinScript + trainer EVENT_BEAT_POKEMANIAC_CALVIN, POKEMANIAC, CALVIN, PokemaniacCalvinSeenText, PokemaniacCalvinBeatenText, 0, .Script -PokemaniacCalvinScript: +.Script: end_if_just_battled opentext writetext PokemaniacCalvinAfterBattleText @@ -37,9 +37,9 @@ PokemaniacCalvinScript: end TrainerHikerPhillip: - trainer EVENT_BEAT_HIKER_PHILLIP, HIKER, PHILLIP, HikerPhillipSeenText, HikerPhillipBeatenText, 0, HikerPhillipScript + trainer EVENT_BEAT_HIKER_PHILLIP, HIKER, PHILLIP, HikerPhillipSeenText, HikerPhillipBeatenText, 0, .Script -HikerPhillipScript: +.Script: end_if_just_battled opentext writetext HikerPhillipAfterBattleText @@ -48,9 +48,9 @@ HikerPhillipScript: end TrainerHikerLeonard: - trainer EVENT_BEAT_HIKER_LEONARD, HIKER, LEONARD, HikerLeonardSeenText, HikerLeonardBeatenText, 0, HikerLeonardScript + trainer EVENT_BEAT_HIKER_LEONARD, HIKER, LEONARD, HikerLeonardSeenText, HikerLeonardBeatenText, 0, .Script -HikerLeonardScript: +.Script: end_if_just_battled opentext writetext HikerLeonardAfterBattleText diff --git a/maps/UnionCaveB2F.asm b/maps/UnionCaveB2F.asm index 55c5fde36..6ad0ff78e 100644 --- a/maps/UnionCaveB2F.asm +++ b/maps/UnionCaveB2F.asm @@ -38,9 +38,9 @@ UnionCaveLapras: end TrainerCooltrainermNick: - trainer EVENT_BEAT_COOLTRAINERM_NICK, COOLTRAINERM, NICK, CooltrainermNickSeenText, CooltrainermNickBeatenText, 0, CooltrainermNickScript + trainer EVENT_BEAT_COOLTRAINERM_NICK, COOLTRAINERM, NICK, CooltrainermNickSeenText, CooltrainermNickBeatenText, 0, .Script -CooltrainermNickScript: +.Script: end_if_just_battled opentext writetext CooltrainermNickAfterBattleText @@ -49,9 +49,9 @@ CooltrainermNickScript: end TrainerCooltrainerfGwen: - trainer EVENT_BEAT_COOLTRAINERF_GWEN, COOLTRAINERF, GWEN, CooltrainerfGwenSeenText, CooltrainerfGwenBeatenText, 0, CooltrainerfGwenScript + trainer EVENT_BEAT_COOLTRAINERF_GWEN, COOLTRAINERF, GWEN, CooltrainerfGwenSeenText, CooltrainerfGwenBeatenText, 0, .Script -CooltrainerfGwenScript: +.Script: end_if_just_battled opentext writetext CooltrainerfGwenAfterBattleText @@ -60,9 +60,9 @@ CooltrainerfGwenScript: end TrainerCooltrainerfEmma: - trainer EVENT_BEAT_COOLTRAINERF_EMMA, COOLTRAINERF, EMMA, CooltrainerfEmmaSeenText, CooltrainerfEmmaBeatenText, 0, CooltrainerfEmmaScript + trainer EVENT_BEAT_COOLTRAINERF_EMMA, COOLTRAINERF, EMMA, CooltrainerfEmmaSeenText, CooltrainerfEmmaBeatenText, 0, .Script -CooltrainerfEmmaScript: +.Script: end_if_just_battled opentext writetext CooltrainerfEmmaAfterBattleText diff --git a/maps/VermilionGym.asm b/maps/VermilionGym.asm index f5cf8e96a..e98ebb848 100644 --- a/maps/VermilionGym.asm +++ b/maps/VermilionGym.asm @@ -45,9 +45,9 @@ SurgeScript_0x1920a5: end TrainerGentlemanGregory: - trainer EVENT_BEAT_GENTLEMAN_GREGORY, GENTLEMAN, GREGORY, GentlemanGregorySeenText, GentlemanGregoryBeatenText, 0, GentlemanGregoryScript + trainer EVENT_BEAT_GENTLEMAN_GREGORY, GENTLEMAN, GREGORY, GentlemanGregorySeenText, GentlemanGregoryBeatenText, 0, .Script -GentlemanGregoryScript: +.Script: end_if_just_battled opentext writetext GentlemanGregoryAfterBattleText @@ -56,9 +56,9 @@ GentlemanGregoryScript: end TrainerGuitaristVincent: - trainer EVENT_BEAT_GUITARIST_VINCENT, GUITARIST, VINCENT, GuitaristVincentSeenText, GuitaristVincentBeatenText, 0, GuitaristVincentScript + trainer EVENT_BEAT_GUITARIST_VINCENT, GUITARIST, VINCENT, GuitaristVincentSeenText, GuitaristVincentBeatenText, 0, .Script -GuitaristVincentScript: +.Script: end_if_just_battled opentext writetext GuitaristVincentAfterBattleText @@ -67,9 +67,9 @@ GuitaristVincentScript: end TrainerJugglerHorton: - trainer EVENT_BEAT_JUGGLER_HORTON, JUGGLER, HORTON, JugglerHortonSeenText, JugglerHortonBeatenText, 0, JugglerHortonScript + trainer EVENT_BEAT_JUGGLER_HORTON, JUGGLER, HORTON, JugglerHortonSeenText, JugglerHortonBeatenText, 0, .Script -JugglerHortonScript: +.Script: end_if_just_battled opentext writetext JugglerHortonAfterBattleText diff --git a/maps/VioletGym.asm b/maps/VioletGym.asm index a1f6beeb7..b98a789a5 100644 --- a/maps/VioletGym.asm +++ b/maps/VioletGym.asm @@ -67,9 +67,9 @@ VioletGymTriggerRockets: jumpstd radiotowerrockets TrainerBird_keeperRod: - trainer EVENT_BEAT_BIRD_KEEPER_ROD, BIRD_KEEPER, ROD, Bird_keeperRodSeenText, Bird_keeperRodBeatenText, 0, Bird_keeperRodScript + trainer EVENT_BEAT_BIRD_KEEPER_ROD, BIRD_KEEPER, ROD, Bird_keeperRodSeenText, Bird_keeperRodBeatenText, 0, .Script -Bird_keeperRodScript: +.Script: end_if_just_battled opentext writetext Bird_keeperRodAfterBattleText @@ -78,9 +78,9 @@ Bird_keeperRodScript: end TrainerBird_keeperAbe: - trainer EVENT_BEAT_BIRD_KEEPER_ABE, BIRD_KEEPER, ABE, Bird_keeperAbeSeenText, Bird_keeperAbeBeatenText, 0, Bird_keeperAbeScript + trainer EVENT_BEAT_BIRD_KEEPER_ABE, BIRD_KEEPER, ABE, Bird_keeperAbeSeenText, Bird_keeperAbeBeatenText, 0, .Script -Bird_keeperAbeScript: +.Script: end_if_just_battled opentext writetext Bird_keeperAbeAfterBattleText diff --git a/maps/WarehouseEntrance.asm b/maps/WarehouseEntrance.asm index 6acaa08b2..9028ccb8f 100644 --- a/maps/WarehouseEntrance.asm +++ b/maps/WarehouseEntrance.asm @@ -111,9 +111,9 @@ WarehouseEntrance_MapScriptHeader: return TrainerSupernerdEric: - trainer EVENT_BEAT_SUPER_NERD_ERIC, SUPER_NERD, ERIC, SupernerdEricSeenText, SupernerdEricBeatenText, 0, SupernerdEricScript + trainer EVENT_BEAT_SUPER_NERD_ERIC, SUPER_NERD, ERIC, SupernerdEricSeenText, SupernerdEricBeatenText, 0, .Script -SupernerdEricScript: +.Script: end_if_just_battled opentext writetext SupernerdEricAfterBattleText @@ -122,9 +122,9 @@ SupernerdEricScript: end TrainerSupernerdTeru: - trainer EVENT_BEAT_SUPER_NERD_TERU, SUPER_NERD, TERU, SupernerdTeruSeenText, SupernerdTeruBeatenText, 0, SupernerdTeruScript + trainer EVENT_BEAT_SUPER_NERD_TERU, SUPER_NERD, TERU, SupernerdTeruSeenText, SupernerdTeruBeatenText, 0, .Script -SupernerdTeruScript: +.Script: end_if_just_battled opentext writetext SupernerdTeruAfterBattleText @@ -133,9 +133,9 @@ SupernerdTeruScript: end TrainerPokemaniacIssac: - trainer EVENT_BEAT_POKEMANIAC_ISSAC, POKEMANIAC, ISSAC, PokemaniacIssacSeenText, PokemaniacIssacBeatenText, 0, PokemaniacIssacScript + trainer EVENT_BEAT_POKEMANIAC_ISSAC, POKEMANIAC, ISSAC, PokemaniacIssacSeenText, PokemaniacIssacBeatenText, 0, .Script -PokemaniacIssacScript: +.Script: end_if_just_battled opentext writetext PokemaniacIssacAfterBattleText @@ -144,9 +144,9 @@ PokemaniacIssacScript: end TrainerPokemaniacDonald: - trainer EVENT_BEAT_POKEMANIAC_DONALD, POKEMANIAC, DONALD, PokemaniacDonaldSeenText, PokemaniacDonaldBeatenText, 0, PokemaniacDonaldScript + trainer EVENT_BEAT_POKEMANIAC_DONALD, POKEMANIAC, DONALD, PokemaniacDonaldSeenText, PokemaniacDonaldBeatenText, 0, .Script -PokemaniacDonaldScript: +.Script: end_if_just_battled opentext writetext PokemaniacDonaldAfterBattleText diff --git a/maps/WiseTriosRoom.asm b/maps/WiseTriosRoom.asm index 1eaa1f82f..a14a3d3fb 100644 --- a/maps/WiseTriosRoom.asm +++ b/maps/WiseTriosRoom.asm @@ -69,9 +69,9 @@ UnknownScript_0x985a3: end TrainerSageGaku: - trainer EVENT_BEAT_SAGE_GAKU, SAGE, GAKU, SageGakuSeenText, SageGakuBeatenText, 0, SageGakuScript + trainer EVENT_BEAT_SAGE_GAKU, SAGE, GAKU, SageGakuSeenText, SageGakuBeatenText, 0, .Script -SageGakuScript: +.Script: opentext writetext UnknownText_0x98938 waitbutton @@ -79,9 +79,9 @@ SageGakuScript: end TrainerSageMasa: - trainer EVENT_BEAT_SAGE_MASA, SAGE, MASA, SageMasaSeenText, SageMasaBeatenText, 0, SageMasaScript + trainer EVENT_BEAT_SAGE_MASA, SAGE, MASA, SageMasaSeenText, SageMasaBeatenText, 0, .Script -SageMasaScript: +.Script: opentext writetext UnknownText_0x98a35 waitbutton @@ -89,9 +89,9 @@ SageMasaScript: end TrainerSageKoji: - trainer EVENT_BEAT_SAGE_KOJI, SAGE, KOJI, SageKojiSeenText, SageKojiBeatenText, 0, SageKojiScript + trainer EVENT_BEAT_SAGE_KOJI, SAGE, KOJI, SageKojiSeenText, SageKojiBeatenText, 0, .Script -SageKojiScript: +.Script: checkevent EVENT_KOJI_ALLOWS_YOU_PASSAGE_TO_TIN_TOWER iftrue UnknownScript_0x9861b pause 10 -- cgit v1.2.3 From 2fa1e97aebdb23445355a74ca7f49787508f4f0d Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Tue, 19 Dec 2017 19:04:56 -0500 Subject: Document two more bugs --- battle/effect_commands.asm | 1 + docs/bugs_and_glitches.md | 80 ++++++++++++++++++++++++++++++++++++++++++++-- engine/item_effects.asm | 4 +++ 3 files changed, 83 insertions(+), 2 deletions(-) diff --git a/battle/effect_commands.asm b/battle/effect_commands.asm index b49cb2e3d..57e4c574f 100644 --- a/battle/effect_commands.asm +++ b/battle/effect_commands.asm @@ -9765,6 +9765,7 @@ BattleCommand_ThunderAccuracy: ; 37d94 CheckHiddenOpponent: ; 37daa +; BUG: This routine should account for Lock-On and Mind Reader. ld a, BATTLE_VARS_SUBSTATUS3_OPP call GetBattleVar and 1 << SUBSTATUS_FLYING | 1 << SUBSTATUS_UNDERGROUND diff --git a/docs/bugs_and_glitches.md b/docs/bugs_and_glitches.md index a3fbc769a..688a4d455 100644 --- a/docs/bugs_and_glitches.md +++ b/docs/bugs_and_glitches.md @@ -256,7 +256,18 @@ This is a bug with `CheckPlayerHasUsableMoves` in [battle/core.asm](/battle/core This bug affects Attract, Curse, Foresight, Mean Look, Mimic, Nightmare, Spider Web, Transform, and stat-lowering effects of moves like String Shot or Bubble during the semi-invulnerable turn of Fly or Dig. -*To do:* Identify specific code causing this bug and fix it. +This is a bug with `CheckHiddenOpponent` in [battle/effect_commands.asm](/battle/effect_commands.asm): + +```asm +CheckHiddenOpponent: ; 37daa +; BUG: This routine should account for Lock-On and Mind Reader. + ld a, BATTLE_VARS_SUBSTATUS3_OPP + call GetBattleVar + and 1 << SUBSTATUS_FLYING | 1 << SUBSTATUS_UNDERGROUND + ret +``` + +*To do:* Fix this bug. ## Beat Up can desynchronize link battles @@ -1007,7 +1018,72 @@ endr This bug can affect Mew or Pokémon other than Ditto that used Transform via Mirror Move or Sketch. -*To do:* Identify specific code causing this bug and fix it. +This is a bug with `PokeBall` in [items/item_effects.asm](/items/item_effects.asm): + +```asm + ld hl, EnemySubStatus5 + ld a, [hl] + push af + set SUBSTATUS_TRANSFORMED, [hl] + +; This code is buggy. Any wild Pokémon that has Transformed will be +; caught as a Ditto, even if it was something else like Mew. +; To fix, do not set [TempEnemyMonSpecies] to DITTO. + bit SUBSTATUS_TRANSFORMED, a + jr nz, .ditto + jr .not_ditto + +.ditto + ld a, DITTO + ld [TempEnemyMonSpecies], a + jr .load_data + +.not_ditto + set SUBSTATUS_TRANSFORMED, [hl] + ld hl, wEnemyBackupDVs + ld a, [EnemyMonDVs] + ld [hli], a + ld a, [EnemyMonDVs + 1] + ld [hl], a + +.load_data + ld a, [TempEnemyMonSpecies] + ld [CurPartySpecies], a + ld a, [EnemyMonLevel] + ld [CurPartyLevel], a + callba LoadEnemyMon + + pop af + ld [EnemySubStatus5], a +``` + +**Fix:** + +```asm + ld hl, EnemySubStatus5 + ld a, [hl] + push af + set SUBSTATUS_TRANSFORMED, [hl] + + bit SUBSTATUS_TRANSFORMED, a + jr nz, .load_data + + ld hl, wEnemyBackupDVs + ld a, [EnemyMonDVs] + ld [hli], a + ld a, [EnemyMonDVs + 1] + ld [hl], a + +.load_data + ld a, [TempEnemyMonSpecies] + ld [CurPartySpecies], a + ld a, [EnemyMonLevel] + ld [CurPartyLevel], a + callba LoadEnemyMon + + pop af + ld [EnemySubStatus5], a +``` ## Using a Park Ball in normal battles has a corrupt animation diff --git a/engine/item_effects.asm b/engine/item_effects.asm index d1b5e7161..e881f6338 100644 --- a/engine/item_effects.asm +++ b/engine/item_effects.asm @@ -452,6 +452,10 @@ ParkBall: ; e8a2 ld a, [hl] push af set SUBSTATUS_TRANSFORMED, [hl] + +; This code is buggy. Any wild Pokémon that has Transformed will be +; caught as a Ditto, even if it was something else like Mew. +; To fix, do not set [TempEnemyMonSpecies] to DITTO. bit SUBSTATUS_TRANSFORMED, a jr nz, .ditto jr .not_ditto -- cgit v1.2.3 From 02609940dbf50e1a4d7052646bedd67a2796136b Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Thu, 21 Dec 2017 11:43:41 -0500 Subject: Document one more bug --- docs/bugs_and_glitches.md | 17 +++++++++++++++++ engine/npc_movement.asm | 3 ++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/docs/bugs_and_glitches.md b/docs/bugs_and_glitches.md index 688a4d455..596463a09 100644 --- a/docs/bugs_and_glitches.md +++ b/docs/bugs_and_glitches.md @@ -35,6 +35,7 @@ - [Playing Entei's Pokédex cry can distort Raikou's and Suicune's](#playing-enteis-pokédex-cry-can-distort-raikous-and-suicunes) - [`LoadMetatiles` wraps around past 128 blocks](#loadmetatiles-wraps-around-past-128-blocks) - [Surfing directly across a map connection does not load the new map](#surfing-directly-across-a-map-connection-does-not-load-the-new-map) +- [`Function6ec1` does not correctly limit object movement](#function6ec1-does-not-correctly-limit-object-movement) - [`CheckOwnMon` only checks the first five letters of OT names](#checkownmon-only-checks-the-first-five-letters-of-ot-names) - [Catching a Transformed Pokémon always catches a Ditto](#catching-a-transformed-pokémon-always-catches-a-ditto) - [Using a Park Ball in normal battles has a corrupt animation](#using-a-park-ball-in-normal-battles-has-a-corrupt-animation) @@ -974,6 +975,22 @@ In [home/map.asm](/home/map.asm): *To do:* Identify specific code causing this bug and fix it. +## `Function6ec1` does not correctly limit object movement + +This bug is why the Lapras in Union Cave, which uses `SPRITEMOVEDATA_LAPRAS`, is not restricted by its `1, 1` movement radius. + +In [engine/npc_movement.asm](/engine/npc_movement.asm): + +```asm + ld hl, OBJECT_FLAGS1 + add hl, bc + bit 4, [hl] ; lost, uncomment next line to fix +; jr nz, .resume +``` + +**Fix:** Uncomment `jr nz, .resume`. + + ## `CheckOwnMon` only checks the first five letters of OT names ([Video](https://www.youtube.com/watch?v=GVTTmReM4nQ)) diff --git a/engine/npc_movement.asm b/engine/npc_movement.asm index 9a18cdcb1..e102cc554 100755 --- a/engine/npc_movement.asm +++ b/engine/npc_movement.asm @@ -7,7 +7,8 @@ Function6ec1: ; 6ec1 ld hl, OBJECT_FLAGS1 add hl, bc - bit 4, [hl] ; lost + bit 4, [hl] ; lost, uncomment next line to fix +; jr nz, .resume push hl push bc call Function6f2c -- cgit v1.2.3 From d6dccb7df57b4afa86483ed8c68dca605125fbdb Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Thu, 21 Dec 2017 11:56:33 -0500 Subject: Use NAME_LENGTH_JAPANESE more --- mobile/battle_tower_5c.asm | 10 +++++----- mobile/fixed_words.asm | 4 ++-- mobile/mobile_22.asm | 10 +++++----- mobile/mobile_40.asm | 4 ++-- mobile/mobile_42.asm | 6 +++--- mobile/mobile_45.asm | 2 +- mobile/mobile_45_sprite_engine.asm | 4 ++-- mobile/mobile_46.asm | 2 +- mobile/mobile_5c.asm | 4 ++-- mobile/mobile_menu.asm | 2 +- 10 files changed, 24 insertions(+), 24 deletions(-) diff --git a/mobile/battle_tower_5c.asm b/mobile/battle_tower_5c.asm index baa2e6159..85c7dcf31 100755 --- a/mobile/battle_tower_5c.asm +++ b/mobile/battle_tower_5c.asm @@ -107,7 +107,7 @@ Function170139: ; 170139 ld e, l ld d, h ld hl, PlayerName - ld bc, 5 ; Japanese name length + ld bc, NAME_LENGTH_JAPANESE - 1 call CopyBytes ld bc, PlayerID ld de, PlayerGender @@ -159,7 +159,7 @@ Function170139: ; 170139 ld a, $5 call GetSRAMBank ld hl, $a894 - ld bc, 6 + ld bc, NAME_LENGTH_JAPANESE call CopyBytes ld hl, wMisc ld de, $a948 @@ -879,7 +879,7 @@ Function1704e1: ; 1704e1 ld de, wcd49 push bc call PlaceString - ld de, 6 + ld de, NAME_LENGTH_JAPANESE add hl, de pop bc pop af @@ -1362,7 +1362,7 @@ BattleTowerAction_EggTicket: ; 17093c (5c:493c) BattleTowerAction $0e jr nz, .not_egg push hl ld hl, PartyMonOT - ld de, $6 ; NAME_LENGTH + ld de, NAME_LENGTH_JAPANESE ld a, b and a jr z, .skip @@ -1372,7 +1372,7 @@ BattleTowerAction_EggTicket: ; 17093c (5c:493c) BattleTowerAction $0e jr nz, .loop2 .skip ld de, String_1709a4 - ld a, $6 ; NAME_LENGTH + ld a, NAME_LENGTH_JAPANESE .compare_loop push af ld a, [de] diff --git a/mobile/fixed_words.asm b/mobile/fixed_words.asm index 56e53da91..d98470095 100755 --- a/mobile/fixed_words.asm +++ b/mobile/fixed_words.asm @@ -257,7 +257,7 @@ CopyMobileEZChatToC608: ; 11c156 sla c rl b add hl, bc - ld bc, 5 ; length of a string + ld bc, NAME_LENGTH_JAPANESE - 1 .copy_string ld de, $c608 call CopyBytes @@ -3236,7 +3236,7 @@ EZChat_GetCategoryWordsByKana: ; 11d4aa push hl ; skip to the attributes - ld hl, 5 ; length of a string + ld hl, NAME_LENGTH_JAPANESE - 1 add hl, de ; get the number of words in the category diff --git a/mobile/mobile_22.asm b/mobile/mobile_22.asm index 08ba8cfd2..59a858bcd 100644 --- a/mobile/mobile_22.asm +++ b/mobile/mobile_22.asm @@ -381,7 +381,7 @@ Function89331: ; 89331 ; Sets carry if it does not find a nonspace character. ; Returns the location of the following character in hl. push bc - ld c, 5 + ld c, NAME_LENGTH_JAPANESE - 1 .loop ld a, [hli] cp "@" @@ -410,12 +410,12 @@ Function89346: ; 89346 (22:5346) jr _incave Function8934a: ; 8934a - ld hl, 6 + ld hl, NAME_LENGTH_JAPANESE add hl, bc _incave: ; Scans up to 5 characters starting at hl, looking for a nonspace character up to the next terminator. Sets carry if it does not find a nonspace character. Returns the location of the following character in hl. push bc - ld c, 5 + ld c, NAME_LENGTH_JAPANESE - 1 .loop ld a, [hli] cp "@" @@ -448,7 +448,7 @@ Function89363: ; 89363 ._incave push de - ld e, 6 + ld e, NAME_LENGTH_JAPANESE .loop ld a, [hli] cp -1 @@ -2394,7 +2394,7 @@ Function89e9a: ; 89e9a (22:5e9a) ld a, $5 ld [rSVBK], a ld hl, Palette_89eb1 - ld de, UnknBGPals + 5 palettes + ld de, UnknBGPals palette 5 ld bc, 1 palettes call CopyBytes pop af diff --git a/mobile/mobile_40.asm b/mobile/mobile_40.asm index c476e4297..79cba8310 100644 --- a/mobile/mobile_40.asm +++ b/mobile/mobile_40.asm @@ -2679,7 +2679,7 @@ LoadSelectedPartiesForColosseum: ; 1010f2 .CopyThreeSpecies: ; 101145 ; Load the 3 choices to the buffer push de - ld bc, StringBuffer2 + 6 + ld bc, StringBuffer2 + NAME_LENGTH_JAPANESE xor a .party_loop push af @@ -2695,7 +2695,7 @@ LoadSelectedPartiesForColosseum: ; 1010f2 ld a, 3 ld [de], a inc de - ld hl, StringBuffer2 + 6 + ld hl, StringBuffer2 + NAME_LENGTH_JAPANESE ld bc, 3 call CopyBytes ld a, $ff diff --git a/mobile/mobile_42.asm b/mobile/mobile_42.asm index b625d6bcf..98bbcf485 100644 --- a/mobile/mobile_42.asm +++ b/mobile/mobile_42.asm @@ -947,7 +947,7 @@ MobileTradeAnim_GiveTrademon1: ; 108763 ld de, SFX_GIVE_TRADEMON call PlaySFX ld c, 40 - ld hl, BGPals + 6 palettes + ld hl, BGPals palette 6 call Function1082f0 call Function108af4 .loop @@ -1179,7 +1179,7 @@ MobileTradeAnim_GetTrademon2: ; 108894 MobileTradeAnim_GetTrademon3: ; 10890a ld c, 40 - ld hl, BGPals + 6 palettes + ld hl, BGPals palette 6 call Function1082f0 call Function108af4 call GetMobileTradeAnimByte @@ -1718,7 +1718,7 @@ Function108c80: ; 108c80 ; 108c9b DebugMobileTrade: ; 108c9b -; localization error: NAME_LENGTH (11) should be 6 here +; localization error: NAME_LENGTH (11) should be NAME_LENGTH_JAPANESE (6) here ld hl, .DebugTradeData ld a, [hli] diff --git a/mobile/mobile_45.asm b/mobile/mobile_45.asm index d300a0373..6c581de87 100644 --- a/mobile/mobile_45.asm +++ b/mobile/mobile_45.asm @@ -1895,7 +1895,7 @@ Function114b55: ; 114b55 .asm_114b8c pop hl xor a -rept 6 +rept NAME_LENGTH_JAPANESE ld [hli], a endr jr .asm_114b82 diff --git a/mobile/mobile_45_sprite_engine.asm b/mobile/mobile_45_sprite_engine.asm index a85e7fce4..8493a3cf8 100755 --- a/mobile/mobile_45_sprite_engine.asm +++ b/mobile/mobile_45_sprite_engine.asm @@ -523,12 +523,12 @@ Function116294: ; 116294 push af ld a, $5 ld [rSVBK], a - ld hl, UnknBGPals + 8 * 6 + ld hl, UnknBGPals palette 6 ld de, $c320 ld bc, 2 palettes call CopyBytes ld hl, Palette_11734e - ld de, UnknBGPals + 8 * 7 + ld de, UnknBGPals palette 7 ld bc, 1 palettes call CopyBytes call SetPalettes diff --git a/mobile/mobile_46.asm b/mobile/mobile_46.asm index 986bf9509..19b255c34 100755 --- a/mobile/mobile_46.asm +++ b/mobile/mobile_46.asm @@ -7103,7 +7103,7 @@ Mobile46_RunJumptable: ; 11b45c Function11b483: ; 11b483 call .InitRAM ld hl, PlayerName - ld a, $5 ; Japanese Name Length + ld a, NAME_LENGTH_JAPANESE - 1 .loop1 push af ld a, [hli] diff --git a/mobile/mobile_5c.asm b/mobile/mobile_5c.asm index f33ff7af4..3294cc3dc 100755 --- a/mobile/mobile_5c.asm +++ b/mobile/mobile_5c.asm @@ -44,13 +44,13 @@ Function17005a: ; 17005a ld [wOTTrademonSpecies], a ld hl, $a827 ld de, wOTTrademonSenderName - ld bc, 5 ; Japanese Name Length + ld bc, NAME_LENGTH_JAPANESE - 1 call CopyBytes ld a, "@" ld [de], a ld hl, $a85c ld de, wOTTrademonOTName - ld bc, 5 ; Japanese Name Length + ld bc, NAME_LENGTH_JAPANESE - 1 call CopyBytes ld a, "@" ld [de], a diff --git a/mobile/mobile_menu.asm b/mobile/mobile_menu.asm index 1bee0cced..6a4e6cf61 100755 --- a/mobile/mobile_menu.asm +++ b/mobile/mobile_menu.asm @@ -192,7 +192,7 @@ Function4a0c2: ; 4a0c2 (12:60c2) call GetSRAMBank ld hl, sPlayerData + PlayerName - wPlayerData ld de, PlayerName - ld bc, 6 ; japanese name length + ld bc, NAME_LENGTH_JAPANESE call CopyBytes call CloseSRAM callba _LoadData -- cgit v1.2.3 From ff4d25eee37c0947736258a5f9dea89072b3d7e3 Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Thu, 21 Dec 2017 12:11:35 -0500 Subject: Include bugfix in comments --- docs/bugs_and_glitches.md | 11 ++++++++--- engine/overworld.asm | 6 ++++-- engine/player_movement.asm | 3 +++ 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/docs/bugs_and_glitches.md b/docs/bugs_and_glitches.md index 596463a09..a72e4afc3 100644 --- a/docs/bugs_and_glitches.md +++ b/docs/bugs_and_glitches.md @@ -878,6 +878,8 @@ This is a bug with `DoPlayerMovement.CheckWarp` in [engine/player_movement.asm]( ; making bumps silent. ld a, [WalkingDirection] + ; cp STANDING + ; jr z, .not_warp ld e, a ld d, 0 ld hl, .EdgeWarps @@ -889,6 +891,7 @@ This is a bug with `DoPlayerMovement.CheckWarp` in [engine/player_movement.asm]( ld a, 1 ld [wd041], a ld a, [WalkingDirection] + ; This is in the wrong place. cp STANDING jr z, .not_warp ``` @@ -1221,8 +1224,8 @@ In [engine/overworld.asm](/engine/overworld.asm): ```asm LoadSpriteGFX: ; 14306 -; Bug: b is not preserved, so -; it's useless as a next count. +; Bug: b is not preserved, so it's useless as a next count. +; Uncomment the lines below to fix. ld hl, UsedSprites ld b, SPRITE_GFX_LIST_CAPACITY @@ -1241,13 +1244,15 @@ LoadSpriteGFX: ; 14306 ret .LoadSprite: + ; push bc call GetSprite + ; pop bc ld a, l ret ; 1431e ``` -**Fix:** Surround `call GetSprite` with `push bc`/`pop bc`. +**Fix:** Uncomment `push bc` and `pop bc`. ## `ChooseWildEncounter` doesn't really validate the wild Pokémon species diff --git a/engine/overworld.asm b/engine/overworld.asm index 90291b616..a085d1d5a 100755 --- a/engine/overworld.asm +++ b/engine/overworld.asm @@ -389,8 +389,8 @@ AddSpriteGFX: ; 142e5 LoadSpriteGFX: ; 14306 -; Bug: b is not preserved, so -; it's useless as a next count. +; Bug: b is not preserved, so it's useless as a next count. +; Uncomment the lines below to fix. ld hl, UsedSprites ld b, SPRITE_GFX_LIST_CAPACITY @@ -409,7 +409,9 @@ LoadSpriteGFX: ; 14306 ret .LoadSprite: + ; push bc call GetSprite + ; pop bc ld a, l ret ; 1431e diff --git a/engine/player_movement.asm b/engine/player_movement.asm index 5bc3e1f0b..34ca81fe9 100755 --- a/engine/player_movement.asm +++ b/engine/player_movement.asm @@ -409,6 +409,8 @@ DoPlayerMovement:: ; 80000 ; making bumps silent. ld a, [WalkingDirection] + ; cp STANDING + ; jr z, .not_warp ld e, a ld d, 0 ld hl, .EdgeWarps @@ -420,6 +422,7 @@ DoPlayerMovement:: ; 80000 ld a, 1 ld [wd041], a ld a, [WalkingDirection] + ; This is in the wrong place. cp STANDING jr z, .not_warp -- cgit v1.2.3 From 763bd48141340ca55d7d4ad94c46c8ee212bf86d Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Fri, 22 Dec 2017 17:52:34 -0500 Subject: Document a graphical error --- docs/bugs_and_glitches.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/docs/bugs_and_glitches.md b/docs/bugs_and_glitches.md index a72e4afc3..de7305588 100644 --- a/docs/bugs_and_glitches.md +++ b/docs/bugs_and_glitches.md @@ -33,6 +33,7 @@ - [Team Rocket battle music is not used for Executives or Scientists](#team-rocket-battle-music-is-not-used-for-executives-or-scientists) - [No bump noise if standing on tile `$3E`](#no-bump-noise-if-standing-on-tile-3e) - [Playing Entei's Pokédex cry can distort Raikou's and Suicune's](#playing-enteis-pokédex-cry-can-distort-raikous-and-suicunes) +- [In-battle “`…`” ellipsis is too high](#in-battle--ellipsis-is-too-high) - [`LoadMetatiles` wraps around past 128 blocks](#loadmetatiles-wraps-around-past-128-blocks) - [Surfing directly across a map connection does not load the new map](#surfing-directly-across-a-map-connection-does-not-load-the-new-map) - [`Function6ec1` does not correctly limit object movement](#function6ec1-does-not-correctly-limit-object-movement) @@ -943,6 +944,17 @@ The exact cause is unknown, but a workaround exists for `DexEntryScreen_MenuActi ``` +## In-battle “`…`” ellipsis is too high + +This is a mistake with the “`…`” tile in [gfx/battle/hp_exp_bar_border.png](/gfx/battle/hp_exp_bar_border.png): + +![image](https://i.imgur.com/hVK5ofi.png) + +**Fix:** Lower the ellipsis by two pixels: + +![image](https://i.imgur.com/qfMvhlG.png) + + ## `LoadMetatiles` wraps around past 128 blocks This bug prevents you from using blocksets with more than 128 blocks. -- cgit v1.2.3 From ae3bef55963ba51d5e760c8d7fd052333fccd75e Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Fri, 22 Dec 2017 17:59:50 -0500 Subject: Document one more graphical mistake --- docs/bugs_and_glitches.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/docs/bugs_and_glitches.md b/docs/bugs_and_glitches.md index de7305588..6feeb8fa0 100644 --- a/docs/bugs_and_glitches.md +++ b/docs/bugs_and_glitches.md @@ -34,6 +34,7 @@ - [No bump noise if standing on tile `$3E`](#no-bump-noise-if-standing-on-tile-3e) - [Playing Entei's Pokédex cry can distort Raikou's and Suicune's](#playing-enteis-pokédex-cry-can-distort-raikous-and-suicunes) - [In-battle “`…`” ellipsis is too high](#in-battle--ellipsis-is-too-high) +- [Two tiles in the `port` tileset are drawn incorrectly](#two-tiles-in-the-port-tileset-are-drawn-incorrectly) - [`LoadMetatiles` wraps around past 128 blocks](#loadmetatiles-wraps-around-past-128-blocks) - [Surfing directly across a map connection does not load the new map](#surfing-directly-across-a-map-connection-does-not-load-the-new-map) - [`Function6ec1` does not correctly limit object movement](#function6ec1-does-not-correctly-limit-object-movement) @@ -955,6 +956,17 @@ This is a mistake with the “`…`” tile in [gfx/battle/hp_exp_bar_border.png ![image](https://i.imgur.com/qfMvhlG.png) +## Two tiles in the `port` tileset are drawn incorrectly + +This is a mistake with the top-left and top-right warp carpet tiles in [gfx/tilesets/port.png](/gfx/tilesets/port.png): + +![image](https://i.imgur.com/6SJuORN.png) + +**Fix:** Adjust them to match the right-hand corner tiles: + +![image](https://i.imgur.com/PD3Fjdu.png) + + ## `LoadMetatiles` wraps around past 128 blocks This bug prevents you from using blocksets with more than 128 blocks. -- cgit v1.2.3 From 1ecbfc49f402c777c365f3c48bea5f21ad4e4c48 Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Fri, 22 Dec 2017 18:01:06 -0500 Subject: Correct directions --- docs/bugs_and_glitches.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/bugs_and_glitches.md b/docs/bugs_and_glitches.md index 6feeb8fa0..97f75f83f 100644 --- a/docs/bugs_and_glitches.md +++ b/docs/bugs_and_glitches.md @@ -958,7 +958,7 @@ This is a mistake with the “`…`” tile in [gfx/battle/hp_exp_bar_border.png ## Two tiles in the `port` tileset are drawn incorrectly -This is a mistake with the top-left and top-right warp carpet tiles in [gfx/tilesets/port.png](/gfx/tilesets/port.png): +This is a mistake with the left-hand warp carpet corner tiles in [gfx/tilesets/port.png](/gfx/tilesets/port.png): ![image](https://i.imgur.com/6SJuORN.png) -- cgit v1.2.3 From b423e3b90bb85ef7e5cf501d832db707c9b1fde3 Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Fri, 22 Dec 2017 22:50:28 -0500 Subject: Split more code from home.asm into home/ files --- home.asm | 559 +----------------------------------------------------- home/names.asm | 287 ++++++++++++++++++++++++++++ home/trainers.asm | 263 +++++++++++++++++++++++++ 3 files changed, 554 insertions(+), 555 deletions(-) create mode 100644 home/names.asm create mode 100644 home/trainers.asm diff --git a/home.asm b/home.asm index 6aa8777cb..dc03faa2c 100644 --- a/home.asm +++ b/home.asm @@ -46,9 +46,9 @@ INCLUDE "home/map.asm" InexplicablyEmptyFunction:: ; 2d43 ; Inexplicably empty. ; Seen in PredefPointers. - rept 16 +rept 16 nop - endr +endr ret ; 2d54 @@ -771,295 +771,7 @@ GetWeekday:: ; 3376 INCLUDE "home/pokedex_flags.asm" -NamesPointers:: ; 33ab - dba PokemonNames - dba MoveNames - dbw 0, 0 - dba ItemNames - dbw 0, PartyMonOT - dbw 0, OTPartyMonOT - dba TrainerClassNames - dbw $4, $4b52 ; within PackMenuGFX -; 33c3 - -GetName:: ; 33c3 -; Return name CurSpecies from name list wNamedObjectTypeBuffer in StringBuffer1. - - ld a, [hROMBank] - push af - push hl - push bc - push de - - ld a, [wNamedObjectTypeBuffer] - cp PKMN_NAME - jr nz, .NotPokeName - - ld a, [CurSpecies] - ld [wd265], a - call GetPokemonName - ld hl, PKMN_NAME_LENGTH - add hl, de - ld e, l - ld d, h - jr .done - -.NotPokeName: - ld a, [wNamedObjectTypeBuffer] - dec a - ld e, a - ld d, 0 - ld hl, NamesPointers - add hl, de - add hl, de - add hl, de - ld a, [hli] - rst Bankswitch - ld a, [hli] - ld h, [hl] - ld l, a - - ld a, [CurSpecies] - dec a - call GetNthString - - ld de, StringBuffer1 - ld bc, ITEM_NAME_LENGTH - call CopyBytes - -.done - ld a, e - ld [wUnusedD102], a - ld a, d - ld [wUnusedD102 + 1], a - - pop de - pop bc - pop hl - pop af - rst Bankswitch - ret -; 3411 - -GetNthString:: ; 3411 -; Return the address of the -; ath string starting from hl. - - and a - ret z - - push bc - ld b, a - ld c, "@" -.readChar - ld a, [hli] - cp c - jr nz, .readChar - dec b - jr nz, .readChar - pop bc - ret -; 3420 - -GetBasePokemonName:: ; 3420 -; Discards gender (Nidoran). - - push hl - call GetPokemonName - - ld hl, StringBuffer1 -.loop - ld a, [hl] - cp "@" - jr z, .quit - cp "♂" - jr z, .end - cp "♀" - jr z, .end - inc hl - jr .loop -.end - ld [hl], "@" -.quit - pop hl - ret - -; 343b - -GetPokemonName:: ; 343b -; Get Pokemon name wd265. - - ld a, [hROMBank] - push af - push hl - ld a, BANK(PokemonNames) - rst Bankswitch - -; Each name is ten characters - ld a, [wd265] - dec a - ld d, 0 - ld e, a - ld h, 0 - ld l, a - add hl, hl ; hl = hl * 4 - add hl, hl ; hl = hl * 4 - add hl, de ; hl = (hl*4) + de - add hl, hl ; hl = (5*hl) + (5*hl) - ld de, PokemonNames - add hl, de - -; Terminator - ld de, StringBuffer1 - push de - ld bc, PKMN_NAME_LENGTH - 1 - call CopyBytes - ld hl, StringBuffer1 + PKMN_NAME_LENGTH - 1 - ld [hl], "@" - pop de - - pop hl - pop af - rst Bankswitch - ret -; 3468 - -GetItemName:: ; 3468 -; Get item name wd265. - - push hl - push bc - ld a, [wd265] - - cp TM01 - jr nc, .TM - - ld [CurSpecies], a - ld a, ITEM_NAME - ld [wNamedObjectTypeBuffer], a - call GetName - jr .Copied -.TM: - call GetTMHMName -.Copied: - ld de, StringBuffer1 - pop bc - pop hl - ret -; 3487 - -GetTMHMName:: ; 3487 -; Get TM/HM name by item id wd265. - - push hl - push de - push bc - ld a, [wd265] - push af - -; TM/HM prefix - cp HM01 - push af - jr c, .TM - - ld hl, .HMText - ld bc, .HMTextEnd - .HMText - jr .asm_34a1 - -.TM: - ld hl, .TMText - ld bc, .TMTextEnd - .TMText - -.asm_34a1 - ld de, StringBuffer1 - call CopyBytes - -; TM/HM number - push de - ld a, [wd265] - ld c, a - callab GetTMHMNumber - pop de - -; HM numbers start from 51, not 1 - pop af - ld a, c - jr c, .asm_34b9 - sub NUM_TMS -.asm_34b9 - -; Divide and mod by 10 to get the top and bottom digits respectively - ld b, "0" -.mod10 - sub 10 - jr c, .asm_34c2 - inc b - jr .mod10 -.asm_34c2 - add 10 - - push af - ld a, b - ld [de], a - inc de - pop af - - ld b, "0" - add b - ld [de], a - -; End the string - inc de - ld a, "@" - ld [de], a - - pop af - ld [wd265], a - pop bc - pop de - pop hl - ret - -.TMText: - db "TM" -.TMTextEnd: - db "@" - -.HMText: - db "HM" -.HMTextEnd: - db "@" -; 34df - -IsHM:: ; 34df - cp HM01 - jr c, .NotHM - scf - ret -.NotHM: - and a - ret -; 34e7 - - -INCLUDE "home/hm_moves.asm" - - -GetMoveName:: ; 34f8 - push hl - - ld a, MOVE_NAME - ld [wNamedObjectTypeBuffer], a - - ld a, [wNamedObjectIndexBuffer] ; move id - ld [CurSpecies], a - - call GetName - ld de, StringBuffer1 - - pop hl - ret -; 350c +INCLUDE "home/names.asm" ScrollingMenu:: ; 350c call CopyMenuData2 @@ -1271,270 +983,7 @@ HandleStoneQueue:: ; 3567 ret ; 3600 -CheckTrainerBattle2:: ; 3600 - - ld a, [hROMBank] - push af - - call SwitchToMapScriptHeaderBank - call CheckTrainerBattle - - pop bc - ld a, b - rst Bankswitch - ret -; 360d - -CheckTrainerBattle:: ; 360d -; Check if any trainer on the map sees the player and wants to battle. - -; Skip the player object. - ld a, 1 - ld de, MapObjects + OBJECT_LENGTH - -.loop - -; Start a battle if the object: - - push af - push de - -; Has a sprite - ld hl, MAPOBJECT_SPRITE - add hl, de - ld a, [hl] - and a - jr z, .next - -; Is a trainer - ld hl, MAPOBJECT_COLOR - add hl, de - ld a, [hl] - and $f - cp $2 - jr nz, .next - -; Is visible on the map - ld hl, MAPOBJECT_OBJECT_STRUCT_ID - add hl, de - ld a, [hl] - cp -1 - jr z, .next - -; Is facing the player... - call GetObjectStruct - call FacingPlayerDistance_bc - jr nc, .next - -; ...within their sight range - ld hl, MAPOBJECT_RANGE - add hl, de - ld a, [hl] - cp b - jr c, .next - -; And hasn't already been beaten - push bc - push de - ld hl, MAPOBJECT_SCRIPT_POINTER - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - ld e, [hl] - inc hl - ld d, [hl] - ld b, CHECK_FLAG - call EventFlagAction - ld a, c - pop de - pop bc - and a - jr z, .startbattle - -.next - pop de - ld hl, OBJECT_LENGTH - add hl, de - ld d, h - ld e, l - - pop af - inc a - cp NUM_OBJECTS - jr nz, .loop - xor a - ret - -.startbattle - pop de - pop af - ld [hLastTalked], a - ld a, b - ld [EngineBuffer2], a - ld a, c - ld [EngineBuffer3], a - jr LoadTrainer_continue -; 3674 - -TalkToTrainer:: ; 3674 - ld a, 1 - ld [EngineBuffer2], a - ld a, -1 - ld [EngineBuffer3], a - -LoadTrainer_continue:: ; 367e - call GetMapScriptHeaderBank - ld [EngineBuffer1], a - - ld a, [hLastTalked] - call GetMapObject - - ld hl, MAPOBJECT_SCRIPT_POINTER - add hl, bc - ld a, [EngineBuffer1] - call GetFarHalfword - ld de, wTempTrainerHeader - ld bc, wTempTrainerHeaderEnd - wTempTrainerHeader - ld a, [EngineBuffer1] - call FarCopyBytes - xor a - ld [wRunningTrainerBattleScript], a - scf - ret -; 36a5 - -FacingPlayerDistance_bc:: ; 36a5 - - push de - call FacingPlayerDistance - ld b, d - ld c, e - pop de - ret -; 36ad - -FacingPlayerDistance:: ; 36ad -; Return carry if the sprite at bc is facing the player, -; and its distance in d. - - ld hl, OBJECT_NEXT_MAP_X ; x - add hl, bc - ld d, [hl] - - ld hl, OBJECT_NEXT_MAP_Y ; y - add hl, bc - ld e, [hl] - - ld a, [PlayerStandingMapX] - cp d - jr z, .CheckY - - ld a, [PlayerStandingMapY] - cp e - jr z, .CheckX - - and a - ret - -.CheckY: - ld a, [PlayerStandingMapY] - sub e - jr z, .NotFacing - jr nc, .Above - -; Below - cpl - inc a - ld d, a - ld e, OW_UP - jr .CheckFacing - -.Above: - ld d, a - ld e, OW_DOWN - jr .CheckFacing - -.CheckX: - ld a, [PlayerStandingMapX] - sub d - jr z, .NotFacing - jr nc, .Left - -; Right - cpl - inc a - ld d, a - ld e, OW_LEFT - jr .CheckFacing - -.Left: - ld d, a - ld e, OW_RIGHT - -.CheckFacing: - call GetSpriteDirection - cp e - jr nz, .NotFacing - scf - ret - -.NotFacing: - and a - ret -; 36f5 - -CheckTrainerFlag:: ; 36f5 - push bc - ld hl, OBJECT_MAP_OBJECT_INDEX - add hl, bc - ld a, [hl] - call GetMapObject - ld hl, MAPOBJECT_SCRIPT_POINTER - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - call GetMapScriptHeaderBank - call GetFarHalfword - ld d, h - ld e, l - push de - ld b, CHECK_FLAG - call EventFlagAction - pop de - ld a, c - and a - pop bc - ret -; 3718 - -PrintWinLossText:: ; 3718 - ld a, [BattleType] - cp BATTLETYPE_CANLOSE - jr .canlose ; ?????????? - -; unreferenced - ld hl, wWinTextPointer - jr .ok - -.canlose - ld a, [wBattleResult] - ld hl, wWinTextPointer - and $f - jr z, .ok - ld hl, wLossTextPointer - -.ok - ld a, [hli] - ld h, [hl] - ld l, a - call GetMapScriptHeaderBank - call FarPrintText - call WaitBGMap - call WaitPressAorB_BlinkCursor - ret -; 3741 +INCLUDE "home/trainers.asm" IsAPokemon:: ; 3741 ; Return carry if species a is not a Pokemon. diff --git a/home/names.asm b/home/names.asm new file mode 100644 index 000000000..7aa02f8ad --- /dev/null +++ b/home/names.asm @@ -0,0 +1,287 @@ +NamesPointers:: ; 33ab + dba PokemonNames + dba MoveNames + dbw 0, 0 + dba ItemNames + dbw 0, PartyMonOT + dbw 0, OTPartyMonOT + dba TrainerClassNames + dbw $4, $4b52 ; within PackMenuGFX +; 33c3 + +GetName:: ; 33c3 +; Return name CurSpecies from name list wNamedObjectTypeBuffer in StringBuffer1. + + ld a, [hROMBank] + push af + push hl + push bc + push de + + ld a, [wNamedObjectTypeBuffer] + cp PKMN_NAME + jr nz, .NotPokeName + + ld a, [CurSpecies] + ld [wd265], a + call GetPokemonName + ld hl, PKMN_NAME_LENGTH + add hl, de + ld e, l + ld d, h + jr .done + +.NotPokeName: + ld a, [wNamedObjectTypeBuffer] + dec a + ld e, a + ld d, 0 + ld hl, NamesPointers + add hl, de + add hl, de + add hl, de + ld a, [hli] + rst Bankswitch + ld a, [hli] + ld h, [hl] + ld l, a + + ld a, [CurSpecies] + dec a + call GetNthString + + ld de, StringBuffer1 + ld bc, ITEM_NAME_LENGTH + call CopyBytes + +.done + ld a, e + ld [wUnusedD102], a + ld a, d + ld [wUnusedD102 + 1], a + + pop de + pop bc + pop hl + pop af + rst Bankswitch + ret +; 3411 + +GetNthString:: ; 3411 +; Return the address of the +; ath string starting from hl. + + and a + ret z + + push bc + ld b, a + ld c, "@" +.readChar + ld a, [hli] + cp c + jr nz, .readChar + dec b + jr nz, .readChar + pop bc + ret +; 3420 + +GetBasePokemonName:: ; 3420 +; Discards gender (Nidoran). + + push hl + call GetPokemonName + + ld hl, StringBuffer1 +.loop + ld a, [hl] + cp "@" + jr z, .quit + cp "♂" + jr z, .end + cp "♀" + jr z, .end + inc hl + jr .loop +.end + ld [hl], "@" +.quit + pop hl + ret + +; 343b + +GetPokemonName:: ; 343b +; Get Pokemon name wd265. + + ld a, [hROMBank] + push af + push hl + ld a, BANK(PokemonNames) + rst Bankswitch + +; Each name is ten characters + ld a, [wd265] + dec a + ld d, 0 + ld e, a + ld h, 0 + ld l, a + add hl, hl ; hl = hl * 4 + add hl, hl ; hl = hl * 4 + add hl, de ; hl = (hl*4) + de + add hl, hl ; hl = (5*hl) + (5*hl) + ld de, PokemonNames + add hl, de + +; Terminator + ld de, StringBuffer1 + push de + ld bc, PKMN_NAME_LENGTH - 1 + call CopyBytes + ld hl, StringBuffer1 + PKMN_NAME_LENGTH - 1 + ld [hl], "@" + pop de + + pop hl + pop af + rst Bankswitch + ret +; 3468 + +GetItemName:: ; 3468 +; Get item name wd265. + + push hl + push bc + ld a, [wd265] + + cp TM01 + jr nc, .TM + + ld [CurSpecies], a + ld a, ITEM_NAME + ld [wNamedObjectTypeBuffer], a + call GetName + jr .Copied +.TM: + call GetTMHMName +.Copied: + ld de, StringBuffer1 + pop bc + pop hl + ret +; 3487 + +GetTMHMName:: ; 3487 +; Get TM/HM name by item id wd265. + + push hl + push de + push bc + ld a, [wd265] + push af + +; TM/HM prefix + cp HM01 + push af + jr c, .TM + + ld hl, .HMText + ld bc, .HMTextEnd - .HMText + jr .asm_34a1 + +.TM: + ld hl, .TMText + ld bc, .TMTextEnd - .TMText + +.asm_34a1 + ld de, StringBuffer1 + call CopyBytes + +; TM/HM number + push de + ld a, [wd265] + ld c, a + callab GetTMHMNumber + pop de + +; HM numbers start from 51, not 1 + pop af + ld a, c + jr c, .asm_34b9 + sub NUM_TMS +.asm_34b9 + +; Divide and mod by 10 to get the top and bottom digits respectively + ld b, "0" +.mod10 + sub 10 + jr c, .asm_34c2 + inc b + jr .mod10 +.asm_34c2 + add 10 + + push af + ld a, b + ld [de], a + inc de + pop af + + ld b, "0" + add b + ld [de], a + +; End the string + inc de + ld a, "@" + ld [de], a + + pop af + ld [wd265], a + pop bc + pop de + pop hl + ret + +.TMText: + db "TM" +.TMTextEnd: + db "@" + +.HMText: + db "HM" +.HMTextEnd: + db "@" +; 34df + +IsHM:: ; 34df + cp HM01 + jr c, .NotHM + scf + ret +.NotHM: + and a + ret +; 34e7 + +INCLUDE "home/hm_moves.asm" + +GetMoveName:: ; 34f8 + push hl + + ld a, MOVE_NAME + ld [wNamedObjectTypeBuffer], a + + ld a, [wNamedObjectIndexBuffer] ; move id + ld [CurSpecies], a + + call GetName + ld de, StringBuffer1 + + pop hl + ret +; 350c diff --git a/home/trainers.asm b/home/trainers.asm new file mode 100644 index 000000000..857a95629 --- /dev/null +++ b/home/trainers.asm @@ -0,0 +1,263 @@ +CheckTrainerBattle2:: ; 3600 + ld a, [hROMBank] + push af + + call SwitchToMapScriptHeaderBank + call CheckTrainerBattle + + pop bc + ld a, b + rst Bankswitch + ret +; 360d + +CheckTrainerBattle:: ; 360d +; Check if any trainer on the map sees the player and wants to battle. + +; Skip the player object. + ld a, 1 + ld de, MapObjects + OBJECT_LENGTH + +.loop + +; Start a battle if the object: + + push af + push de + +; Has a sprite + ld hl, MAPOBJECT_SPRITE + add hl, de + ld a, [hl] + and a + jr z, .next + +; Is a trainer + ld hl, MAPOBJECT_COLOR + add hl, de + ld a, [hl] + and $f + cp $2 + jr nz, .next + +; Is visible on the map + ld hl, MAPOBJECT_OBJECT_STRUCT_ID + add hl, de + ld a, [hl] + cp -1 + jr z, .next + +; Is facing the player... + call GetObjectStruct + call FacingPlayerDistance_bc + jr nc, .next + +; ...within their sight range + ld hl, MAPOBJECT_RANGE + add hl, de + ld a, [hl] + cp b + jr c, .next + +; And hasn't already been beaten + push bc + push de + ld hl, MAPOBJECT_SCRIPT_POINTER + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + ld e, [hl] + inc hl + ld d, [hl] + ld b, CHECK_FLAG + call EventFlagAction + ld a, c + pop de + pop bc + and a + jr z, .startbattle + +.next + pop de + ld hl, OBJECT_LENGTH + add hl, de + ld d, h + ld e, l + + pop af + inc a + cp NUM_OBJECTS + jr nz, .loop + xor a + ret + +.startbattle + pop de + pop af + ld [hLastTalked], a + ld a, b + ld [EngineBuffer2], a + ld a, c + ld [EngineBuffer3], a + jr LoadTrainer_continue +; 3674 + +TalkToTrainer:: ; 3674 + ld a, 1 + ld [EngineBuffer2], a + ld a, -1 + ld [EngineBuffer3], a + +LoadTrainer_continue:: ; 367e + call GetMapScriptHeaderBank + ld [EngineBuffer1], a + + ld a, [hLastTalked] + call GetMapObject + + ld hl, MAPOBJECT_SCRIPT_POINTER + add hl, bc + ld a, [EngineBuffer1] + call GetFarHalfword + ld de, wTempTrainerHeader + ld bc, wTempTrainerHeaderEnd - wTempTrainerHeader + ld a, [EngineBuffer1] + call FarCopyBytes + xor a + ld [wRunningTrainerBattleScript], a + scf + ret +; 36a5 + +FacingPlayerDistance_bc:: ; 36a5 + + push de + call FacingPlayerDistance + ld b, d + ld c, e + pop de + ret +; 36ad + +FacingPlayerDistance:: ; 36ad +; Return carry if the sprite at bc is facing the player, +; and its distance in d. + + ld hl, OBJECT_NEXT_MAP_X ; x + add hl, bc + ld d, [hl] + + ld hl, OBJECT_NEXT_MAP_Y ; y + add hl, bc + ld e, [hl] + + ld a, [PlayerStandingMapX] + cp d + jr z, .CheckY + + ld a, [PlayerStandingMapY] + cp e + jr z, .CheckX + + and a + ret + +.CheckY: + ld a, [PlayerStandingMapY] + sub e + jr z, .NotFacing + jr nc, .Above + +; Below + cpl + inc a + ld d, a + ld e, OW_UP + jr .CheckFacing + +.Above: + ld d, a + ld e, OW_DOWN + jr .CheckFacing + +.CheckX: + ld a, [PlayerStandingMapX] + sub d + jr z, .NotFacing + jr nc, .Left + +; Right + cpl + inc a + ld d, a + ld e, OW_LEFT + jr .CheckFacing + +.Left: + ld d, a + ld e, OW_RIGHT + +.CheckFacing: + call GetSpriteDirection + cp e + jr nz, .NotFacing + scf + ret + +.NotFacing: + and a + ret +; 36f5 + +CheckTrainerFlag:: ; 36f5 + push bc + ld hl, OBJECT_MAP_OBJECT_INDEX + add hl, bc + ld a, [hl] + call GetMapObject + ld hl, MAPOBJECT_SCRIPT_POINTER + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + call GetMapScriptHeaderBank + call GetFarHalfword + ld d, h + ld e, l + push de + ld b, CHECK_FLAG + call EventFlagAction + pop de + ld a, c + and a + pop bc + ret +; 3718 + +PrintWinLossText:: ; 3718 + ld a, [BattleType] + cp BATTLETYPE_CANLOSE + jr .canlose ; ?????????? + +; unreferenced + ld hl, wWinTextPointer + jr .ok + +.canlose + ld a, [wBattleResult] + ld hl, wWinTextPointer + and $f + jr z, .ok + ld hl, wLossTextPointer + +.ok + ld a, [hli] + ld h, [hl] + ld l, a + call GetMapScriptHeaderBank + call FarPrintText + call WaitBGMap + call WaitPressAorB_BlinkCursor + ret +; 3741 -- cgit v1.2.3 From 14a244ad3a2e66de9690c11e6e1b5c488408427a Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Fri, 22 Dec 2017 22:56:21 -0500 Subject: IsHM is not used within home/names.asm; group it with the other HM routines+data --- home/hm_moves.asm | 12 +++++++++++- home/names.asm | 10 ---------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/home/hm_moves.asm b/home/hm_moves.asm index 082005186..c4233d094 100644 --- a/home/hm_moves.asm +++ b/home/hm_moves.asm @@ -1,4 +1,14 @@ -; HM moves can't be forgotten +; HM moves can't be forgotten + +IsHM:: ; 34df + cp HM01 + jr c, .NotHM + scf + ret +.NotHM: + and a + ret +; 34e7 IsHMMove:: ; 34e7 ld hl, .HMMoves diff --git a/home/names.asm b/home/names.asm index 7aa02f8ad..b8c82fb89 100644 --- a/home/names.asm +++ b/home/names.asm @@ -258,16 +258,6 @@ GetTMHMName:: ; 3487 db "@" ; 34df -IsHM:: ; 34df - cp HM01 - jr c, .NotHM - scf - ret -.NotHM: - and a - ret -; 34e7 - INCLUDE "home/hm_moves.asm" GetMoveName:: ; 34f8 -- cgit v1.2.3 From daa071451d998e7cf460468870ca82498a5eb4af Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Fri, 22 Dec 2017 23:08:55 -0500 Subject: More comments for constant<->table correspondences --- constants/misc_constants.asm | 6 ++++-- home/names.asm | 1 + 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/constants/misc_constants.asm b/constants/misc_constants.asm index cbdbf3f98..25032cc10 100644 --- a/constants/misc_constants.asm +++ b/constants/misc_constants.asm @@ -27,7 +27,7 @@ ITEM_NAME_LENGTH EQU 13 TRAINER_CLASS_NAME_LENGTH EQU 13 NAME_LENGTH_JAPANESE EQU 6 -; GetName types (see home.asm) +; GetName types (see home/names.asm) PKMN_NAME EQU 1 MOVE_NAME EQU 2 ; dummied out EQU 3 @@ -44,12 +44,13 @@ const_value set 5 const PRINTNUM_RIGHTALIGN_F ; 6 const PRINTNUM_LEADINGZEROS_F ; 7 +; PrintNum arguments (see engine/printnum.asm) PRINTNUM_MONEY EQU 1 << PRINTNUM_MONEY_F PRINTNUM_RIGHTALIGN EQU 1 << PRINTNUM_RIGHTALIGN_F PRINTNUM_LEADINGZEROS EQU 1 << PRINTNUM_LEADINGZEROS_F -; movement +; DoPlayerMovement.DoStep arguments (see engine/player_movement.asm) const_def const STEP_SLOW ; 0 const STEP_WALK ; 1 @@ -61,6 +62,7 @@ PRINTNUM_LEADINGZEROS EQU 1 << PRINTNUM_LEADINGZEROS_F const STEP_WALK_IN_PLACE ; 7 +; hMenuReturn HMENURETURN_SCRIPT EQU %10000000 HMENURETURN_ASM EQU %11111111 diff --git a/home/names.asm b/home/names.asm index b8c82fb89..bd90f7828 100644 --- a/home/names.asm +++ b/home/names.asm @@ -1,4 +1,5 @@ NamesPointers:: ; 33ab +; entries correspond to GetName constants (see constants/misc_constants.asm) dba PokemonNames dba MoveNames dbw 0, 0 -- cgit v1.2.3 From aa97752efeef1425a0e0a00059f4a44569c917fc Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Sat, 23 Dec 2017 00:31:04 -0500 Subject: Move NUM_BUENA_PRIZES to event/buena.asm (still hard-coded) Buena_PrizeMenu has "rept NUM_BUENA_PRIZES", which needs NUM_BUENA_PRIZES to be already defined. BuenaPrizeItems and BuenaPrizeItemsEnd are needed to define NUM_BUENA_PRIZES; but BuenaPrizeItems is defined after Buena_PrizeMenu. I don't see a way to avoid hard-coding its value of 9. Contrast that with the NUM_MOM_ITEMS constants, which are not used as "rept" arguments and so can be defined within their code file. --- constants/radio_constants.asm | 3 --- data/items/buena_prizes.asm | 3 ++- event/buena.asm | 2 ++ event/mom_phone.asm | 9 ++++++--- 4 files changed, 10 insertions(+), 7 deletions(-) diff --git a/constants/radio_constants.asm b/constants/radio_constants.asm index 4e9d94434..86817081e 100644 --- a/constants/radio_constants.asm +++ b/constants/radio_constants.asm @@ -123,6 +123,3 @@ NUM_PASSWORDS_PER_CATEGORY EQU 3 const BUENA_ITEM const BUENA_MOVE const BUENA_STRING - -; BuenaPrizeItems table length (see data/items/buena_prizes.asm) -NUM_BUENA_PRIZES EQU 9 diff --git a/data/items/buena_prizes.asm b/data/items/buena_prizes.asm index 34a3bd524..8aecf2bd0 100644 --- a/data/items/buena_prizes.asm +++ b/data/items/buena_prizes.asm @@ -1,5 +1,5 @@ BuenaPrizeItems: ; 8b15e -; there are NUM_BUENA_PRIZES entries +; there are NUM_BUENA_PRIZES items (see event/buena.asm) db ULTRA_BALL, 2 db FULL_RESTORE, 2 db NUGGET, 3 @@ -9,4 +9,5 @@ BuenaPrizeItems: ; 8b15e db CARBOS, 5 db CALCIUM, 5 db HP_UP, 5 +BuenaPrizeItemsEnd: ; 8b170 diff --git a/event/buena.asm b/event/buena.asm index fa54cc3de..2cb3b5a63 100644 --- a/event/buena.asm +++ b/event/buena.asm @@ -288,6 +288,8 @@ Buena_PrizeMenu: ; 8b0e2 dba .prizepoints ; 8b129 +NUM_BUENA_PRIZES EQU 9 ; ((BuenaPrizeItemsEnd - BuenaPrizeItems) / 2) + .indices ; 8b129 db NUM_BUENA_PRIZES x = 1 diff --git a/event/mom_phone.asm b/event/mom_phone.asm index 58ecad02a..aab4abe4b 100755 --- a/event/mom_phone.asm +++ b/event/mom_phone.asm @@ -1,3 +1,6 @@ +NUM_MOM_ITEMS_1 EQUS "((MomItems_1End - MomItems_1) / 8)" +NUM_MOM_ITEMS_2 EQUS "((MomItems_2End - MomItems_2) / 8)" + const_value = 1 const MOM_ITEM const MOM_DOLL @@ -57,7 +60,7 @@ MomTriesToBuySomething:: ; fcfec CheckBalance_MomItem2: ; fd044 ld a, [wWhichMomItem] - cp 10 + cp NUM_MOM_ITEMS_2 jr nc, .nope call GetItemFromMom ld a, [hli] @@ -100,7 +103,7 @@ CheckBalance_MomItem2: ; fd044 .exact call .AddMoney - ld a, 5 + ld a, NUM_MOM_ITEMS_1 call RandomRange inc a ld [wWhichMomItemSet], a @@ -195,7 +198,7 @@ GetItemFromMom: ; fd117 .zero ld a, [wWhichMomItem] - cp 10 ; length of MomItems_2 + cp NUM_MOM_ITEMS_2 jr c, .ok xor a -- cgit v1.2.3 From 2f9f2317a3e02808a20449e8b9ed55d0718e5f0b Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Sat, 23 Dec 2017 01:19:34 -0500 Subject: Document the meaning of hour and daytime values for person_events --- macros/scripts/maps.asm | 8 ++++++-- maps/second_map_headers.asm | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/macros/scripts/maps.asm b/macros/scripts/maps.asm index 010506544..6c1e0b6b6 100644 --- a/macros/scripts/maps.asm +++ b/macros/scripts/maps.asm @@ -43,8 +43,12 @@ person_event: macro ;\3: x: left to right, starts at 0 ;\4: movement function: a SPRITEMOVEDATA_* constant ;\5, \6: movement radius: y, x -;\7: clock hour: ??? -;\8: clock daytime: sum of MORN, DAY, and/or NITE, or 0 for always +;\7, \8: hour1 and hour2: control the hours a person_event is visible (0-23) +; * if hour1 < hour2, the person_event will only appear from hour1 to hour2 +; * if hour1 > hour2, the person_event will not appear from hour2 to hour1 +; * if hour1 == hour2, the person_event will always appear +; * if hour1 == -1, hour2 is treated as a time-of-day value: +; a combo of MORN, DAY, and/or NITE, or -1 to always appear ;\9: color: a PAL_NPC_* constant, or 0 for sprite default ;\10: function: a PERSONTYPE_* constant ;\11: sight range: applies to PERSONTYPE_TRAINER diff --git a/maps/second_map_headers.asm b/maps/second_map_headers.asm index f4162226f..e81c8c774 100644 --- a/maps/second_map_headers.asm +++ b/maps/second_map_headers.asm @@ -2,7 +2,7 @@ map_header_2: macro ;\1: map label ;\2: map id ;\3: border block -;\4: connections: sum of NORTH, SOUTH, WEST, and/or EAST, or 0 for none +;\4: connections: combo of NORTH, SOUTH, WEST, and/or EAST, or 0 for none \1_SecondMapHeader:: db \3 db \2_HEIGHT, \2_WIDTH -- cgit v1.2.3 From 1d2df3bba124676075c3841b850d92c1c532b5df Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Sat, 23 Dec 2017 11:34:55 -0500 Subject: Some more WRAM cleanup --- engine/timeset.asm | 2 +- engine/unown_puzzle.asm | 2 +- mobile/battle_tower_5c.asm | 6 +-- wram.asm | 119 +++++++++++++++++++++++++-------------------- 4 files changed, 70 insertions(+), 59 deletions(-) diff --git a/engine/timeset.asm b/engine/timeset.asm index 2a578f998..09c5b3a75 100755 --- a/engine/timeset.asm +++ b/engine/timeset.asm @@ -40,7 +40,7 @@ InitClock: ; 90672 (24:4672) call RotateFourPalettesRight ld hl, Text_WokeUpOak call PrintText - ld hl, wc608 + ld hl, wTimeSetBuffer ld bc, 50 xor a call ByteFill diff --git a/engine/unown_puzzle.asm b/engine/unown_puzzle.asm index 9f20ccb3e..3afe8a17d 100755 --- a/engine/unown_puzzle.asm +++ b/engine/unown_puzzle.asm @@ -14,7 +14,7 @@ UnownPuzzle: ; e1190 xor a ld [hBGMapMode], a call DisableLCD - ld hl, wMisc + ld hl, wMisc ; includes wPuzzlePieces ld bc, wMiscEnd - wMisc xor a call ByteFill diff --git a/mobile/battle_tower_5c.asm b/mobile/battle_tower_5c.asm index 85c7dcf31..4ab57ea2c 100755 --- a/mobile/battle_tower_5c.asm +++ b/mobile/battle_tower_5c.asm @@ -612,11 +612,11 @@ CopyBTTrainer_FromBT_OT_TowBT_OTTemp: ; 1704a2 ; copy the BattleTower-Trainer data that lies at 'BT_OTTrainer' to 'wBT_OTTemp' ld a, [rSVBK] push af - ld a, $3 ; BANK(BT_OTTrainer) + ld a, BANK(BT_OTTrainer) ld [rSVBK], a - ld hl, BT_OTTrainer ; $d100 - ld de, wBT_OTTemp ; wMisc + ld hl, BT_OTTrainer + ld de, wBT_OTTemp ld bc, BATTLE_TOWER_STRUCT_LENGTH call CopyBytes diff --git a/wram.asm b/wram.asm index c26fde5a1..db094bf4b 100644 --- a/wram.asm +++ b/wram.asm @@ -168,7 +168,8 @@ wPlayerNextMovement:: db wPlayerMovement:: db ds 2 wc2e2:: -wMovementPerson:: db +wMovementPerson:: + db wMovementDataPointer:: ds 3 ; dba wc2e6:: ds 4 wMovementByteWasControlSwitch:: db @@ -330,11 +331,11 @@ SECTION "Battle", WRAM0 UNION ; c608 ; unidentified uses -wc608:: +wc608:: ds 480 NEXTU ; c608 ; miscellaneous -wMisc:: ds (SCREEN_WIDTH + 4) * (SCREEN_HEIGHT + 2) +wMisc:: ds WMISC_WIDTH * WMISC_HEIGHT wMiscEnd:: NEXTU ; c608 @@ -353,6 +354,7 @@ wHallOfFameTemp:: hall_of_fame wHallOfFameTemp NEXTU ; c608 ; timeset temp storage +wTimeSetBuffer:: ds 20 wInitHourBuffer:: db ; c61c ds 9 @@ -507,7 +509,8 @@ EnemyDamageTaken:: dw ; c684 wBattleReward:: ds 3 ; c686 wBattleAnimParam:: wKickCounter:: -wPresentPower:: db ; c689 +wPresentPower:: + db ; c689 BattleScriptBuffer:: ds 40 ; c68a BattleScriptBufferAddress:: dw ; c6b2 @@ -800,7 +803,7 @@ wUnownPuzzleEnd:: NEXTU ; c6d0 ; pokedex wPokedexDataStart:: -wPokedexOrder:: ds $100 ; NUM_POKEMON + 5 +wPokedexOrder:: ds $100 ; >= NUM_POKEMON wPokedexOrderEnd:: wPokedexMetadata:: wDexListingScrollOffset:: db ; offset of the first displayed entry from the start @@ -1266,14 +1269,16 @@ wcf5d:: dw MonType:: db ; cf5f CurSpecies:: -CurMove:: db ; cf60 +CurMove:: + db ; cf60 wNamedObjectTypeBuffer:: db ds 1 wBattleTowerBattleEnded:: -wJumptableIndex:: db +wJumptableIndex:: + db UNION ; cf64 ; unidentified @@ -1624,7 +1629,9 @@ wEarthquakeMovementDataBuffer:: ds 5 NEXTU ; d002 ; miscellaneous wTempDayOfWeek:: -wApricorns:: db +wApricorns:: + db + ds 2 StartFlypoint:: db @@ -1792,7 +1799,8 @@ wTMHMPocketScrollPosition:: db wSwitchMon:: wSwitchItem:: wMoveSwapBuffer:: -wd0e3:: ds 1 +wd0e3:: + db wMenuScrollPosition:: ds 4 @@ -2098,11 +2106,12 @@ wPutativeTMHMMove:: db wInitListType:: db wBattleHasJustStarted:: db -wFoundMatchingIDInParty:: wNamedObjectIndexBuffer:: wCurTMHM:: wTypeMatchup:: -wd265:: db +wFoundMatchingIDInParty:: +wd265:: + db wFailedToFlee:: db wNumFleeAttempts:: db @@ -2116,11 +2125,9 @@ TimeOfDay:: db ; d269 SECTION "Enemy Party", WRAMX UNION ; d26b -wPokedexShowPointerAddr:: -wd26b:: ds 1 -wd26c:: ds 1 -wPokedexShowPointerBank:: -wd26d:: ds 1 +wd26b:: +wPokedexShowPointerAddr:: dw +wPokedexShowPointerBank:: db ds 3 wd271:: ds 5 @@ -2136,22 +2143,6 @@ OTPartySpecies:: ds PARTY_LENGTH ; d281 OTPartyEnd:: ds 1 ; legacy scripts don't check PartyCount UNION ; d288 -; catch tutorial dude pack -wDudeBag:: -wDudeNumItems:: db -wDudeItems:: ds 2 * 4 -wDudeItemsEnd:: db - -wDudeNumKeyItems:: db ; d292 -wDudeKeyItems:: ds 18 -wDudeKeyItemsEnd:: db - -wDudeNumBalls:: db ; d2a6 -wDudeBalls:: ds 2 * 4 ; d2a7 -wDudeBallsEnd:: db ; d2af -wDudeBagEnd:: - -NEXTU ; d288 ; ot party mons OTPartyMons:: OTPartyMon1:: party_struct OTPartyMon1 ; d288 @@ -2166,6 +2157,22 @@ OTPartyMonOT:: ds NAME_LENGTH * PARTY_LENGTH ; d3a8 OTPartyMonNicknames:: ds PKMN_NAME_LENGTH * PARTY_LENGTH ; d3ea OTPartyDataEnd:: ds 4 + +NEXTU ; d288 +; catch tutorial dude pack +wDudeBag:: +wDudeNumItems:: db +wDudeItems:: ds 2 * 4 +wDudeItemsEnd:: db + +wDudeNumKeyItems:: db ; d292 +wDudeKeyItems:: ds 18 +wDudeKeyItemsEnd:: db + +wDudeNumBalls:: db ; d2a6 +wDudeBalls:: ds 2 * 4 ; d2a7 +wDudeBallsEnd:: db ; d2af +wDudeBagEnd:: ENDU ; d430 wd430:: @@ -2202,9 +2209,11 @@ wScriptStack:: ds 3 * 5 ScriptDelay:: db ; d44d wPriorityScriptBank:: -wScriptTextBank:: db ; d44e +wScriptTextBank:: + db ; d44e wPriorityScriptAddr:: -wScriptTextAddr:: dw ; d44f +wScriptTextAddr:: + dw ; d44f ds 1 wWildEncounterCooldown:: db ; d452 wXYComparePointer:: dw ; d453 @@ -2816,40 +2825,37 @@ SECTION "Battle Tower", WRAMX w3_d000:: ds 1 ; d000 w3_d001:: ds 1 -w3_d002:: - ds $7e -w3_d080:: - ds $10 -w3_d090:: - ds $70 - -w3_d100:: ; BattleTower OpponentTrainer-Data (length = 0xe0 = $a + $1 + 3*$3b + $24) +w3_d002:: ds $7e +w3_d080:: ds $10 +w3_d090:: ds $70 + +w3_d100:: BT_OTTrainer:: battle_tower_struct BT_OT -; d1e0 ds $20 -; d200 -BT_TrainerTextIndex:: ds 2 +BT_TrainerTextIndex:: db ; d200 + ds 1 w3_d202:: battle_tower_struct w3_d202 w3_d2e2:: battle_tower_struct w3_d2e2 w3_d3c2:: battle_tower_struct w3_d3c2 w3_d4a2:: battle_tower_struct w3_d4a2 w3_d582:: battle_tower_struct w3_d582 w3_d662:: battle_tower_struct w3_d662 + UNION ; d742 w3_d742:: battle_tower_struct w3_d742 ; d822 + NEXTU ; d742 ds $be -wBTChoiceOfLvlGroup:: -w3_d800:: ; ds BG_MAP_WIDTH * SCREEN_HEIGHT ($240) - ds $69 -ENDU ; d869 +w3_d800:: ds BG_MAP_WIDTH * SCREEN_HEIGHT +NEXTU ; d742 + ds $be +wBTChoiceOfLvlGroup:: db + ds $68 w3_d869:: ds $17 w3_d880:: ds 1 -w3_d881:: ds 1 -w3_d882:: ds 1 -w3_d883:: ds 7 +w3_d881:: ds 9 w3_d88a:: ds 5 w3_d88f:: ds 5 w3_d894:: ds 1 @@ -2857,11 +2863,16 @@ w3_d895:: ds 11 w3_d8a0:: ds 1 w3_d8a1:: ds 1 w3_d8a2:: ds 1 -w3_d8a3:: ds $19d -w3_da40:: ds $1c0 +w3_d8a3:: ds 1 +ENDU ; d869 + + ds $1c0 + w3_dc00:: ds SCREEN_WIDTH * SCREEN_HEIGHT w3_dd68:: ds SCREEN_WIDTH * SCREEN_HEIGHT + ds $11c + w3_dfec:: ds $10 w3_dffc:: ds 4 -- cgit v1.2.3 From 2309396c886a89e5f26a3be5060fed34b344951b Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Sat, 23 Dec 2017 11:47:28 -0500 Subject: Don't keep commented-out SECTION headers --- wram.asm | 47 ++++++++++++++++++++++++++--------------------- 1 file changed, 26 insertions(+), 21 deletions(-) diff --git a/wram.asm b/wram.asm index db094bf4b..b205eb523 100644 --- a/wram.asm +++ b/wram.asm @@ -2132,7 +2132,7 @@ wPokedexShowPointerBank:: db wd271:: ds 5 NEXTU ; d26b -; SECTION "Enemy Party", WRAMX +; enemy party OTPlayerName:: ds NAME_LENGTH ; d26b ENDU ; d276 @@ -2426,9 +2426,7 @@ FarfetchdPosition:: db ; d964 ds 13 - -;SECTION "Map Triggers", WRAMX - +; map triggers wPokecenter2FTrigger:: db ; d972 wTradeCenterTrigger:: db ; d973 wColosseumTrigger:: db ; d974 @@ -2511,9 +2509,7 @@ wMobileBattleRoomTrigger:: db ; d9c0 ds 49 - -;SECTION "Events", WRAMX - +; fight counts wJackFightCount:: db ; d9f2 wBeverlyFightCount:: db ; unused wHueyFightCount:: db @@ -2543,6 +2539,7 @@ wKenjiFightCount:: db ; unused wParryFightCount:: db wErinFightCount:: db ; da0e + ds 100 EventFlags:: flag_array NUM_EVENTS ; da72 @@ -2714,7 +2711,6 @@ PartyMonNicknamesEnd:: ds 22 - PokedexCaught:: flag_array NUM_POKEMON ; de99 EndPokedexCaught:: @@ -2773,12 +2769,14 @@ wRoamMons_CurrentMapNumber:: db wRoamMons_CurrentMapGroup:: db wRoamMons_LastMapNumber:: db wRoamMons_LastMapGroup:: db + wBestMagikarpLengthFeet:: db wBestMagikarpLengthInches:: db wMagikarpRecordHoldersName:: ds NAME_LENGTH -; dff5 + wPokemonDataEnd:: wGameDataEnd:: +; dff5 SECTION "Pic Animations", WRAMX @@ -2937,31 +2935,38 @@ BattleAnimLoops:: db ; d415 BattleAnimVar:: db ; d416 BattleAnimByte:: db ; d417 wBattleAnimOAMPointerLo:: db ; d418 -BattleAnimTemps:: ; d419 -wBattleAnimTempOAMFlags:: + +UNION ; d419 +; unidentified wBattleAnimTemp0:: db wBattleAnimTemp1:: db -wBattleAnimTempTileID:: wBattleAnimTemp2:: db -wBattleAnimTempXCoord:: wBattleAnimTemp3:: db -wBattleAnimTempYCoord:: wBattleAnimTemp4:: db -wBattleAnimTempXOffset:: wBattleAnimTemp5:: db -wBattleAnimTempYOffset:: wBattleAnimTemp6:: db wBattleAnimTemp7:: db -wBattleAnimTempPalette:: wBattleAnimTemp8:: db -UNION ; d422 -wSurfWaveBGEffect:: ds $40 -wSurfWaveBGEffectEnd:: +NEXTU ; d419 +wBattleAnimTempOAMFlags:: db + ds 1 +wBattleAnimTempTileID:: db +wBattleAnimTempXCoord:: db +wBattleAnimTempYCoord:: db +wBattleAnimTempXOffset:: db +wBattleAnimTempYOffset:: db + ds 1 +wBattleAnimTempPalette:: db +ENDU ; d422 -NEXTU ; d422 +UNION ; d422 ds $32 wBattleAnimEnd:: + +NEXTU ; d422 +wSurfWaveBGEffect:: ds $40 +wSurfWaveBGEffectEnd:: ENDU ; d462 -- cgit v1.2.3 From 82a8228e67efa5949e58d8eb449477d46fb9669f Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Sat, 23 Dec 2017 12:08:34 -0500 Subject: Keep images within repo --- docs/bugs_and_glitches.md | 8 ++++---- docs/images/hp_exp_bar_border.png | Bin 0 -> 125 bytes docs/images/hp_exp_bar_border_fix.png | Bin 0 -> 124 bytes docs/images/port.png | Bin 0 -> 1055 bytes docs/images/port_fix.png | Bin 0 -> 1056 bytes 5 files changed, 4 insertions(+), 4 deletions(-) create mode 100644 docs/images/hp_exp_bar_border.png create mode 100644 docs/images/hp_exp_bar_border_fix.png create mode 100644 docs/images/port.png create mode 100644 docs/images/port_fix.png diff --git a/docs/bugs_and_glitches.md b/docs/bugs_and_glitches.md index 97f75f83f..b38ec12ee 100644 --- a/docs/bugs_and_glitches.md +++ b/docs/bugs_and_glitches.md @@ -949,22 +949,22 @@ The exact cause is unknown, but a workaround exists for `DexEntryScreen_MenuActi This is a mistake with the “`…`” tile in [gfx/battle/hp_exp_bar_border.png](/gfx/battle/hp_exp_bar_border.png): -![image](https://i.imgur.com/hVK5ofi.png) +![image](/docs/images/hp_exp_bar_border.png) **Fix:** Lower the ellipsis by two pixels: -![image](https://i.imgur.com/qfMvhlG.png) +![image](/docs/images/hp_exp_bar_border_fix.png) ## Two tiles in the `port` tileset are drawn incorrectly This is a mistake with the left-hand warp carpet corner tiles in [gfx/tilesets/port.png](/gfx/tilesets/port.png): -![image](https://i.imgur.com/6SJuORN.png) +![image](/docs/images/port.png) **Fix:** Adjust them to match the right-hand corner tiles: -![image](https://i.imgur.com/PD3Fjdu.png) +![image](/docs/images/port_fix.png) ## `LoadMetatiles` wraps around past 128 blocks diff --git a/docs/images/hp_exp_bar_border.png b/docs/images/hp_exp_bar_border.png new file mode 100644 index 000000000..9d16a042b Binary files /dev/null and b/docs/images/hp_exp_bar_border.png differ diff --git a/docs/images/hp_exp_bar_border_fix.png b/docs/images/hp_exp_bar_border_fix.png new file mode 100644 index 000000000..02d36f8a0 Binary files /dev/null and b/docs/images/hp_exp_bar_border_fix.png differ diff --git a/docs/images/port.png b/docs/images/port.png new file mode 100644 index 000000000..8a18aad7d Binary files /dev/null and b/docs/images/port.png differ diff --git a/docs/images/port_fix.png b/docs/images/port_fix.png new file mode 100644 index 000000000..055a377a5 Binary files /dev/null and b/docs/images/port_fix.png differ -- cgit v1.2.3 From 3c37bfc6fa2570a0a77c1230673910257ecf32df Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Sat, 23 Dec 2017 12:17:11 -0500 Subject: Correct address comment --- wram.asm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wram.asm b/wram.asm index b205eb523..b9bae0e3e 100644 --- a/wram.asm +++ b/wram.asm @@ -2862,7 +2862,7 @@ w3_d8a0:: ds 1 w3_d8a1:: ds 1 w3_d8a2:: ds 1 w3_d8a3:: ds 1 -ENDU ; d869 +ENDU ; d8a4 ds $1c0 -- cgit v1.2.3