From 091b5194e7bfc6049931202d9712541083fd61cd Mon Sep 17 00:00:00 2001 From: garak Date: Tue, 27 Nov 2018 11:21:48 -0500 Subject: [PATCH] frontier pike and pyramid data --- .../battle_pyramid_level_50_wild_mons.inc | 1003 ---------------- .../battle_pyramid_open_level_wild_mons.inc | 1003 ---------------- data/battle_frontier_2.s | 104 -- data/battle_frontier_3.s | 97 -- data/battle_pike.s | 212 ---- data/createsprite.py | 85 ++ data/mossdeep_gym.s | 47 + include/battle_pyramid.h | 42 + include/strings.h | 44 + ld_script.txt | 4 +- src/battle_pike.c | 383 +++++- src/battle_pyramid.c | 42 - .../battle_pyramid_level_50_wild_mons.h | 1064 +++++++++++++++++ .../battle_pyramid_open_level_wild_mons.h | 1064 +++++++++++++++++ src/frontier_data.c | 237 ++++ src/frontier_util.c | 146 ++- src/strings.c | 15 +- 17 files changed, 3106 insertions(+), 2486 deletions(-) delete mode 100644 data/battle_frontier/battle_pyramid_level_50_wild_mons.inc delete mode 100644 data/battle_frontier/battle_pyramid_open_level_wild_mons.inc delete mode 100644 data/battle_frontier_2.s delete mode 100644 data/battle_pike.s create mode 100644 data/createsprite.py create mode 100644 data/mossdeep_gym.s create mode 100644 src/data/battle_frontier/battle_pyramid_level_50_wild_mons.h create mode 100644 src/data/battle_frontier/battle_pyramid_open_level_wild_mons.h create mode 100644 src/frontier_data.c diff --git a/data/battle_frontier/battle_pyramid_level_50_wild_mons.inc b/data/battle_frontier/battle_pyramid_level_50_wild_mons.inc deleted file mode 100644 index 251a1aeaed..0000000000 --- a/data/battle_frontier/battle_pyramid_level_50_wild_mons.inc +++ /dev/null @@ -1,1003 +0,0 @@ - .align 2 -gBattlePyramidLevel50WildMons_Round1:: @ 86126B0 -@ 0 - .2byte SPECIES_PLUSLE - .byte 35 @ base level - .byte 2 @ unknown - .2byte MOVE_THUNDER_WAVE, MOVE_SPARK, MOVE_ENCORE, MOVE_NONE - -@ 1 - .2byte SPECIES_MINUN - .byte 35 @ base level - .byte 2 @ unknown - .2byte MOVE_THUNDER_WAVE, MOVE_THUNDERBOLT, MOVE_QUICK_ATTACK, MOVE_NONE - -@ 2 - .2byte SPECIES_PIKACHU - .byte 37 @ base level - .byte 2 @ unknown - .2byte MOVE_THUNDER_WAVE, MOVE_THUNDERBOLT, MOVE_SLAM, MOVE_NONE - -@ 3 - .2byte SPECIES_ELECTABUZZ - .byte 37 @ base level - .byte 2 @ unknown - .2byte MOVE_THUNDER_PUNCH, MOVE_SWIFT, MOVE_SCREECH, MOVE_NONE - -@ 4 - .2byte SPECIES_VILEPLUME - .byte 39 @ base level - .byte 2 @ unknown - .2byte MOVE_STUN_SPORE, MOVE_GIGA_DRAIN, MOVE_PROTECT, MOVE_NONE - -@ 5 - .2byte SPECIES_MANECTRIC - .byte 39 @ base level - .byte 2 @ unknown - .2byte MOVE_THUNDER_WAVE, MOVE_THUNDER, MOVE_QUICK_ATTACK, MOVE_NONE - -@ 6 - .2byte SPECIES_BRELOOM - .byte 40 @ base level - .byte 2 @ unknown - .2byte MOVE_STUN_SPORE, MOVE_FOCUS_PUNCH, MOVE_GIGA_DRAIN, MOVE_MACH_PUNCH - -@ 7 - .2byte SPECIES_JOLTEON - .byte 40 @ base level - .byte 2 @ unknown - .2byte MOVE_THUNDER_WAVE, MOVE_THUNDER, MOVE_PIN_MISSILE, MOVE_QUICK_ATTACK - -gBattlePyramidLevel50WildMons_Round2:: @ 8612710 -@ 0 - .2byte SPECIES_GULPIN - .byte 36 @ base level - .byte 2 @ unknown - .2byte MOVE_TOXIC, MOVE_SLUDGE, MOVE_PROTECT, MOVE_NONE - -@ 1 - .2byte SPECIES_ROSELIA - .byte 36 @ base level - .byte 2 @ unknown - .2byte MOVE_TOXIC, MOVE_GIGA_DRAIN, MOVE_MAGICAL_LEAF, MOVE_PETAL_DANCE - -@ 2 - .2byte SPECIES_BUTTERFREE - .byte 38 @ base level - .byte 2 @ unknown - .2byte MOVE_POISON_POWDER, MOVE_GUST, MOVE_PSYBEAM, MOVE_NONE - -@ 3 - .2byte SPECIES_SEVIPER - .byte 38 @ base level - .byte 2 @ unknown - .2byte MOVE_POISON_FANG, MOVE_SWAGGER, MOVE_CRUNCH, MOVE_POISON_TAIL - -@ 4 - .2byte SPECIES_SKARMORY - .byte 40 @ base level - .byte 2 @ unknown - .2byte MOVE_TOXIC, MOVE_FLY, MOVE_STEEL_WING, MOVE_NONE - -@ 5 - .2byte SPECIES_LUDICOLO - .byte 40 @ base level - .byte 1 @ unknown - .2byte MOVE_TOXIC, MOVE_PROTECT, MOVE_DIVE, MOVE_RAIN_DANCE - -@ 6 - .2byte SPECIES_CROBAT - .byte 41 @ base level - .byte 2 @ unknown - .2byte MOVE_TOXIC, MOVE_CONFUSE_RAY, MOVE_MEAN_LOOK, MOVE_BITE - -@ 7 - .2byte SPECIES_GENGAR - .byte 41 @ base level - .byte 2 @ unknown - .2byte MOVE_TOXIC, MOVE_SHADOW_PUNCH, MOVE_NIGHT_SHADE, MOVE_NONE - -gBattlePyramidLevel50WildMons_Round3:: @ 8612770 -@ 0 - .2byte SPECIES_GROWLITHE - .byte 37 @ base level - .byte 2 @ unknown - .2byte MOVE_FLAME_WHEEL, MOVE_TAKE_DOWN, MOVE_NONE, MOVE_NONE - -@ 1 - .2byte SPECIES_VULPIX - .byte 37 @ base level - .byte 2 @ unknown - .2byte MOVE_WILL_O_WISP, MOVE_FLAMETHROWER, MOVE_NONE, MOVE_NONE - -@ 2 - .2byte SPECIES_MAGCARGO - .byte 39 @ base level - .byte 1 @ unknown - .2byte MOVE_FLAMETHROWER, MOVE_ROCK_SLIDE, MOVE_PROTECT, MOVE_NONE - -@ 3 - .2byte SPECIES_NINETALES - .byte 39 @ base level - .byte 2 @ unknown - .2byte MOVE_WILL_O_WISP, MOVE_QUICK_ATTACK, MOVE_FLAMETHROWER, MOVE_NONE - -@ 4 - .2byte SPECIES_MEDICHAM - .byte 41 @ base level - .byte 2 @ unknown - .2byte MOVE_FIRE_PUNCH, MOVE_HI_JUMP_KICK, MOVE_NONE, MOVE_NONE - -@ 5 - .2byte SPECIES_WEEZING - .byte 41 @ base level - .byte 2 @ unknown - .2byte MOVE_WILL_O_WISP, MOVE_FLAMETHROWER, MOVE_PROTECT, MOVE_NONE - -@ 6 - .2byte SPECIES_DUSCLOPS - .byte 42 @ base level - .byte 2 @ unknown - .2byte MOVE_WILL_O_WISP, MOVE_CONFUSE_RAY, MOVE_MEAN_LOOK, MOVE_SHADOW_PUNCH - -@ 7 - .2byte SPECIES_HOUNDOOM - .byte 42 @ base level - .byte 2 @ unknown - .2byte MOVE_FLAMETHROWER, MOVE_BITE, MOVE_SOLAR_BEAM, MOVE_OVERHEAT - -gBattlePyramidLevel50WildMons_Round4:: @ 86127D0 -@ 0 - .2byte SPECIES_DUNSPARCE - .byte 42 @ base level - .byte 2 @ unknown - .2byte MOVE_SPITE, MOVE_TOXIC, MOVE_PROTECT, MOVE_NONE - -@ 1 - .2byte SPECIES_BANETTE - .byte 41 @ base level - .byte 2 @ unknown - .2byte MOVE_GRUDGE, MOVE_WILL_O_WISP, MOVE_NIGHT_SHADE, MOVE_NONE - -@ 2 - .2byte SPECIES_MISDREAVUS - .byte 42 @ base level - .byte 2 @ unknown - .2byte MOVE_GRUDGE, MOVE_SPITE, MOVE_SHADOW_BALL, MOVE_NONE - -@ 3 - .2byte SPECIES_NINETALES - .byte 42 @ base level - .byte 2 @ unknown - .2byte MOVE_GRUDGE, MOVE_WILL_O_WISP, MOVE_OVERHEAT, MOVE_NONE - -@ 4 - .2byte SPECIES_ABSOL - .byte 44 @ base level - .byte 2 @ unknown - .2byte MOVE_BITE, MOVE_AERIAL_ACE, MOVE_SHADOW_BALL, MOVE_PROTECT - -@ 5 - .2byte SPECIES_DUSCLOPS - .byte 44 @ base level - .byte 2 @ unknown - .2byte MOVE_WILL_O_WISP, MOVE_PROTECT, MOVE_TOXIC, MOVE_SHADOW_BALL - -@ 6 - .2byte SPECIES_SHEDINJA - .byte 45 @ base level - .byte 2 @ unknown - .2byte MOVE_GRUDGE, MOVE_TOXIC, MOVE_SPITE, MOVE_NONE - -@ 7 - .2byte SPECIES_GENGAR - .byte 45 @ base level - .byte 2 @ unknown - .2byte MOVE_GRUDGE, MOVE_SPITE, MOVE_NIGHT_SHADE, MOVE_NONE - -gBattlePyramidLevel50WildMons_Round5:: @ 8612830 -@ 0 - .2byte SPECIES_HAUNTER - .byte 41 @ base level - .byte 2 @ unknown - .2byte MOVE_NIGHT_SHADE, MOVE_THUNDERBOLT, MOVE_SLUDGE_BOMB, MOVE_NONE - -@ 1 - .2byte SPECIES_CHIMECHO - .byte 41 @ base level - .byte 2 @ unknown - .2byte MOVE_DOUBLE_EDGE, MOVE_TOXIC, MOVE_PSYCHIC, MOVE_PROTECT - -@ 2 - .2byte SPECIES_SOLROCK - .byte 42 @ base level - .byte 2 @ unknown - .2byte MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_FIRE_BLAST, MOVE_TOXIC - -@ 3 - .2byte SPECIES_MISDREAVUS - .byte 42 @ base level - .byte 2 @ unknown - .2byte MOVE_PSYCHIC, MOVE_SPITE, MOVE_SHADOW_BALL, MOVE_PAIN_SPLIT - -@ 4 - .2byte SPECIES_CLAYDOL - .byte 44 @ base level - .byte 2 @ unknown - .2byte MOVE_EARTHQUAKE, MOVE_ANCIENT_POWER, MOVE_SELF_DESTRUCT, MOVE_PSYCHIC - -@ 5 - .2byte SPECIES_WEEZING - .byte 44 @ base level - .byte 2 @ unknown - .2byte MOVE_SLUDGE_BOMB, MOVE_SELF_DESTRUCT, MOVE_PROTECT, MOVE_NONE - -@ 6 - .2byte SPECIES_FLYGON - .byte 45 @ base level - .byte 2 @ unknown - .2byte MOVE_EARTHQUAKE, MOVE_CRUNCH, MOVE_DRAGON_CLAW, MOVE_DRAGON_BREATH - -@ 7 - .2byte SPECIES_GENGAR - .byte 45 @ base level - .byte 2 @ unknown - .2byte MOVE_THUNDERBOLT, MOVE_PSYCHIC, MOVE_GIGA_DRAIN, MOVE_NIGHT_SHADE - -gBattlePyramidLevel50WildMons_Round6:: @ 8612890 -@ 0 - .2byte SPECIES_DIGLETT - .byte 41 @ base level - .byte 2 @ unknown - .2byte MOVE_ROCK_SLIDE, MOVE_SLASH, MOVE_DIG, MOVE_NONE - -@ 1 - .2byte SPECIES_TRAPINCH - .byte 41 @ base level - .byte 2 @ unknown - .2byte MOVE_ROCK_SLIDE, MOVE_EARTHQUAKE, MOVE_GIGA_DRAIN, MOVE_NONE - -@ 2 - .2byte SPECIES_WYNAUT - .byte 42 @ base level - .byte 0 @ unknown - .2byte MOVE_DESTINY_BOND, MOVE_SPLASH, MOVE_COUNTER, MOVE_MIRROR_COAT - -@ 3 - .2byte SPECIES_DIGLETT - .byte 42 @ base level - .byte 2 @ unknown - .2byte MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_MAGNITUDE, MOVE_TOXIC - -@ 4 - .2byte SPECIES_TRAPINCH - .byte 44 @ base level - .byte 2 @ unknown - .2byte MOVE_ROCK_SLIDE, MOVE_EARTHQUAKE, MOVE_GIGA_DRAIN, MOVE_PROTECT - -@ 5 - .2byte SPECIES_WYNAUT - .byte 44 @ base level - .byte 0 @ unknown - .2byte MOVE_COUNTER, MOVE_MIRROR_COAT, MOVE_DESTINY_BOND, MOVE_NONE - -@ 6 - .2byte SPECIES_WOBBUFFET - .byte 45 @ base level - .byte 0 @ unknown - .2byte MOVE_COUNTER, MOVE_MIRROR_COAT, MOVE_DESTINY_BOND, MOVE_NONE - -@ 7 - .2byte SPECIES_DUGTRIO - .byte 45 @ base level - .byte 1 @ unknown - .2byte MOVE_ROCK_SLIDE, MOVE_SLUDGE_BOMB, MOVE_EARTHQUAKE, MOVE_PROTECT - -gBattlePyramidLevel50WildMons_Round7:: @ 86128F0 -@ 0 - .2byte SPECIES_GLALIE - .byte 41 @ base level - .byte 2 @ unknown - .2byte MOVE_ICE_BEAM, MOVE_CRUNCH, MOVE_PROTECT, MOVE_NONE - -@ 1 - .2byte SPECIES_SNEASEL - .byte 41 @ base level - .byte 2 @ unknown - .2byte MOVE_ICE_BEAM, MOVE_CRUSH_CLAW, MOVE_SPITE, MOVE_NONE - -@ 2 - .2byte SPECIES_DEWGONG - .byte 42 @ base level - .byte 2 @ unknown - .2byte MOVE_BLIZZARD, MOVE_DOUBLE_EDGE, MOVE_SURF, MOVE_NONE - -@ 3 - .2byte SPECIES_PILOSWINE - .byte 42 @ base level - .byte 2 @ unknown - .2byte MOVE_ICE_BEAM, MOVE_EARTHQUAKE, MOVE_TOXIC, MOVE_NONE - -@ 4 - .2byte SPECIES_JYNX - .byte 44 @ base level - .byte 2 @ unknown - .2byte MOVE_BLIZZARD, MOVE_LOVELY_KISS, MOVE_PSYCHIC, MOVE_NONE - -@ 5 - .2byte SPECIES_CLOYSTER - .byte 44 @ base level - .byte 2 @ unknown - .2byte MOVE_ICE_BEAM, MOVE_SURF, MOVE_PROTECT, MOVE_NONE - -@ 6 - .2byte SPECIES_WALREIN - .byte 45 @ base level - .byte 2 @ unknown - .2byte MOVE_BLIZZARD, MOVE_BODY_SLAM, MOVE_SURF, MOVE_NONE - -@ 7 - .2byte SPECIES_LAPRAS - .byte 45 @ base level - .byte 2 @ unknown - .2byte MOVE_SING, MOVE_BODY_SLAM, MOVE_ICE_BEAM, MOVE_PSYCHIC - -gBattlePyramidLevel50WildMons_Round8:: @ 8612950 -@ 0 - .2byte SPECIES_WEEZING - .byte 41 @ base level - .byte 2 @ unknown - .2byte MOVE_SELF_DESTRUCT, MOVE_SLUDGE_BOMB, MOVE_FIRE_BLAST, MOVE_NONE - -@ 1 - .2byte SPECIES_ELECTRODE - .byte 41 @ base level - .byte 2 @ unknown - .2byte MOVE_SELF_DESTRUCT, MOVE_THUNDERBOLT, MOVE_ROLLOUT, MOVE_NONE - -@ 2 - .2byte SPECIES_GENGAR - .byte 42 @ base level - .byte 2 @ unknown - .2byte MOVE_DESTINY_BOND, MOVE_LICK, MOVE_SHADOW_BALL, MOVE_NONE - -@ 3 - .2byte SPECIES_GOLEM - .byte 42 @ base level - .byte 2 @ unknown - .2byte MOVE_SELF_DESTRUCT, MOVE_PROTECT, MOVE_EARTHQUAKE, MOVE_NONE - -@ 4 - .2byte SPECIES_PINECO - .byte 44 @ base level - .byte 2 @ unknown - .2byte MOVE_EXPLOSION, MOVE_DOUBLE_EDGE, MOVE_GIGA_DRAIN, MOVE_NONE - -@ 5 - .2byte SPECIES_SOLROCK - .byte 44 @ base level - .byte 2 @ unknown - .2byte MOVE_EXPLOSION, MOVE_FIRE_SPIN, MOVE_PSYWAVE, MOVE_NONE - -@ 6 - .2byte SPECIES_FORRETRESS - .byte 45 @ base level - .byte 2 @ unknown - .2byte MOVE_EXPLOSION, MOVE_TOXIC, MOVE_ROCK_SLIDE, MOVE_NONE - -@ 7 - .2byte SPECIES_SHIFTRY - .byte 45 @ base level - .byte 2 @ unknown - .2byte MOVE_EXPLOSION, MOVE_GIGA_DRAIN, MOVE_SOLAR_BEAM, MOVE_PROTECT - -gBattlePyramidLevel50WildMons_Round9:: @ 86129B0 -@ 0 - .2byte SPECIES_WOBBUFFET - .byte 41 @ base level - .byte 2 @ unknown - .2byte MOVE_COUNTER, MOVE_MIRROR_COAT, MOVE_SAFEGUARD, MOVE_DESTINY_BOND - -@ 1 - .2byte SPECIES_METANG - .byte 41 @ base level - .byte 2 @ unknown - .2byte MOVE_EARTHQUAKE, MOVE_TOXIC, MOVE_SLUDGE_BOMB, MOVE_PSYCHIC - -@ 2 - .2byte SPECIES_EXEGGUTOR - .byte 42 @ base level - .byte 2 @ unknown - .2byte MOVE_EGG_BOMB, MOVE_PSYCHIC, MOVE_HYPNOSIS, MOVE_NONE - -@ 3 - .2byte SPECIES_SLOWKING - .byte 42 @ base level - .byte 2 @ unknown - .2byte MOVE_SHADOW_BALL, MOVE_SURF, MOVE_ICE_BEAM, MOVE_FLAMETHROWER - -@ 4 - .2byte SPECIES_XATU - .byte 44 @ base level - .byte 2 @ unknown - .2byte MOVE_CONFUSE_RAY, MOVE_SHADOW_BALL, MOVE_PSYCHIC, MOVE_STEEL_WING - -@ 5 - .2byte SPECIES_ALAKAZAM - .byte 44 @ base level - .byte 2 @ unknown - .2byte MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_TOXIC - -@ 6 - .2byte SPECIES_STARMIE - .byte 45 @ base level - .byte 2 @ unknown - .2byte MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_SURF, MOVE_ICE_BEAM - -@ 7 - .2byte SPECIES_ESPEON - .byte 45 @ base level - .byte 2 @ unknown - .2byte MOVE_PSYCHIC, MOVE_DIG, MOVE_SHADOW_BALL, MOVE_NONE - -gBattlePyramidLevel50WildMons_Round10:: @ 8612A10 -@ 0 - .2byte SPECIES_GOLEM - .byte 41 @ base level - .byte 2 @ unknown - .2byte MOVE_SELF_DESTRUCT, MOVE_EARTHQUAKE, MOVE_PROTECT, MOVE_NONE - -@ 1 - .2byte SPECIES_STEELIX - .byte 41 @ base level - .byte 2 @ unknown - .2byte MOVE_IRON_TAIL, MOVE_CRUNCH, MOVE_EARTHQUAKE, MOVE_NONE - -@ 2 - .2byte SPECIES_OMASTAR - .byte 42 @ base level - .byte 2 @ unknown - .2byte MOVE_SURF, MOVE_MUD_SHOT, MOVE_ANCIENT_POWER, MOVE_NONE - -@ 3 - .2byte SPECIES_LUNATONE - .byte 42 @ base level - .byte 2 @ unknown - .2byte MOVE_HYPNOSIS, MOVE_PSYWAVE, MOVE_EXPLOSION, MOVE_NONE - -@ 4 - .2byte SPECIES_SHUCKLE - .byte 44 @ base level - .byte 2 @ unknown - .2byte MOVE_TOXIC, MOVE_PROTECT, MOVE_WRAP, MOVE_NONE - -@ 5 - .2byte SPECIES_ARMALDO - .byte 44 @ base level - .byte 2 @ unknown - .2byte MOVE_ANCIENT_POWER, MOVE_PROTECT, MOVE_AERIAL_ACE, MOVE_NONE - -@ 6 - .2byte SPECIES_CRADILY - .byte 45 @ base level - .byte 2 @ unknown - .2byte MOVE_SLUDGE_BOMB, MOVE_GIGA_DRAIN, MOVE_CONFUSE_RAY, MOVE_NONE - -@ 7 - .2byte SPECIES_AERODACTYL - .byte 45 @ base level - .byte 2 @ unknown - .2byte MOVE_HYPER_BEAM, MOVE_ROCK_SLIDE, MOVE_BITE, MOVE_NONE - -gBattlePyramidLevel50WildMons_Round11:: @ 8612A70 -@ 0 - .2byte SPECIES_POLIWRATH - .byte 41 @ base level - .byte 2 @ unknown - .2byte MOVE_SUBMISSION, MOVE_FOCUS_PUNCH, MOVE_SURF, MOVE_NONE - -@ 1 - .2byte SPECIES_HARIYAMA - .byte 41 @ base level - .byte 2 @ unknown - .2byte MOVE_FAKE_OUT, MOVE_SURF, MOVE_FOCUS_PUNCH, MOVE_NONE - -@ 2 - .2byte SPECIES_BRELOOM - .byte 42 @ base level - .byte 2 @ unknown - .2byte MOVE_SPORE, MOVE_FOCUS_PUNCH, MOVE_PROTECT, MOVE_NONE - -@ 3 - .2byte SPECIES_MEDICHAM - .byte 42 @ base level - .byte 2 @ unknown - .2byte MOVE_THUNDER_PUNCH, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_FOCUS_PUNCH - -@ 4 - .2byte SPECIES_HITMONCHAN - .byte 44 @ base level - .byte 2 @ unknown - .2byte MOVE_THUNDER_PUNCH, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_FOCUS_PUNCH - -@ 5 - .2byte SPECIES_HITMONLEE - .byte 44 @ base level - .byte 2 @ unknown - .2byte MOVE_MEGA_KICK, MOVE_FOCUS_PUNCH, MOVE_NONE, MOVE_NONE - -@ 6 - .2byte SPECIES_HERACROSS - .byte 45 @ base level - .byte 2 @ unknown - .2byte MOVE_MEGAHORN, MOVE_EARTHQUAKE, MOVE_FOCUS_PUNCH, MOVE_ROCK_SLIDE - -@ 7 - .2byte SPECIES_MACHAMP - .byte 50 @ base level - .byte 2 @ unknown - .2byte MOVE_ROCK_SLIDE, MOVE_EARTHQUAKE, MOVE_FOCUS_PUNCH, MOVE_SEISMIC_TOSS - -gBattlePyramidLevel50WildMons_Round12:: @ 8612AD0 -@ 0 - .2byte SPECIES_QUAGSIRE - .byte 41 @ base level - .byte 2 @ unknown - .2byte MOVE_RAIN_DANCE, MOVE_SURF, MOVE_PROTECT, MOVE_NONE - -@ 1 - .2byte SPECIES_TROPIUS - .byte 41 @ base level - .byte 2 @ unknown - .2byte MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM, MOVE_NONE, MOVE_NONE - -@ 2 - .2byte SPECIES_PUPITAR - .byte 42 @ base level - .byte 2 @ unknown - .2byte MOVE_SANDSTORM, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_NONE - -@ 3 - .2byte SPECIES_LAPRAS - .byte 42 @ base level - .byte 2 @ unknown - .2byte MOVE_HAIL, MOVE_ICE_BEAM, MOVE_NONE, MOVE_NONE - -@ 4 - .2byte SPECIES_CACTURNE - .byte 44 @ base level - .byte 2 @ unknown - .2byte MOVE_SANDSTORM, MOVE_GIGA_DRAIN, MOVE_SOLAR_BEAM, MOVE_NONE - -@ 5 - .2byte SPECIES_FLAREON - .byte 44 @ base level - .byte 2 @ unknown - .2byte MOVE_SUNNY_DAY, MOVE_FLAMETHROWER, MOVE_PROTECT, MOVE_NONE - -@ 6 - .2byte SPECIES_WALREIN - .byte 45 @ base level - .byte 2 @ unknown - .2byte MOVE_HAIL, MOVE_ICE_BEAM, MOVE_NONE, MOVE_NONE - -@ 7 - .2byte SPECIES_GYARADOS - .byte 50 @ base level - .byte 2 @ unknown - .2byte MOVE_RAIN_DANCE, MOVE_THUNDER, MOVE_HYDRO_PUMP, MOVE_NONE - -gBattlePyramidLevel50WildMons_Round13:: @ 8612B30 -@ 0 - .2byte SPECIES_PINECO - .byte 42 @ base level - .byte 2 @ unknown - .2byte MOVE_EXPLOSION, MOVE_TAKE_DOWN, MOVE_NONE, MOVE_NONE - -@ 1 - .2byte SPECIES_SHUCKLE - .byte 42 @ base level - .byte 2 @ unknown - .2byte MOVE_TOXIC, MOVE_EARTHQUAKE, MOVE_PROTECT, MOVE_NONE - -@ 2 - .2byte SPECIES_VENOMOTH - .byte 46 @ base level - .byte 2 @ unknown - .2byte MOVE_SILVER_WIND, MOVE_POISON_POWDER, MOVE_SLEEP_POWDER, MOVE_PSYCHIC - -@ 3 - .2byte SPECIES_SCIZOR - .byte 46 @ base level - .byte 2 @ unknown - .2byte MOVE_QUICK_ATTACK, MOVE_METAL_CLAW, MOVE_FURY_CUTTER, MOVE_PURSUIT - -@ 4 - .2byte SPECIES_HERACROSS - .byte 48 @ base level - .byte 2 @ unknown - .2byte MOVE_MEGAHORN, MOVE_BRICK_BREAK, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE - -@ 5 - .2byte SPECIES_FORRETRESS - .byte 48 @ base level - .byte 2 @ unknown - .2byte MOVE_EXPLOSION, MOVE_EARTHQUAKE, MOVE_PROTECT, MOVE_NONE - -@ 6 - .2byte SPECIES_ARMALDO - .byte 50 @ base level - .byte 2 @ unknown - .2byte MOVE_WATER_PULSE, MOVE_PROTECT, MOVE_ROCK_SLIDE, MOVE_NONE - -@ 7 - .2byte SPECIES_SHEDINJA - .byte 50 @ base level - .byte 2 @ unknown - .2byte MOVE_SHADOW_BALL, MOVE_TOXIC, MOVE_SPITE, MOVE_GRUDGE - -gBattlePyramidLevel50WildMons_Round14:: @ 8612B90 -@ 0 - .2byte SPECIES_SABLEYE - .byte 42 @ base level - .byte 2 @ unknown - .2byte MOVE_NIGHT_SHADE, MOVE_PSYCHIC, MOVE_AERIAL_ACE, MOVE_NONE - -@ 1 - .2byte SPECIES_SNEASEL - .byte 42 @ base level - .byte 2 @ unknown - .2byte MOVE_ICE_BEAM, MOVE_TAUNT, MOVE_FAINT_ATTACK, MOVE_QUICK_ATTACK - -@ 2 - .2byte SPECIES_CRAWDAUNT - .byte 46 @ base level - .byte 2 @ unknown - .2byte MOVE_CRABHAMMER, MOVE_ICE_BEAM, MOVE_SURF, MOVE_NONE - -@ 3 - .2byte SPECIES_SHIFTRY - .byte 46 @ base level - .byte 2 @ unknown - .2byte MOVE_EXPLOSION, MOVE_SHADOW_BALL, MOVE_AERIAL_ACE, MOVE_GIGA_DRAIN - -@ 4 - .2byte SPECIES_CACTURNE - .byte 48 @ base level - .byte 2 @ unknown - .2byte MOVE_TOXIC, MOVE_GIGA_DRAIN, MOVE_NEEDLE_ARM, MOVE_NONE - -@ 5 - .2byte SPECIES_ABSOL - .byte 48 @ base level - .byte 2 @ unknown - .2byte MOVE_BITE, MOVE_PROTECT, MOVE_SLASH, MOVE_NONE - -@ 6 - .2byte SPECIES_HOUNDOOM - .byte 50 @ base level - .byte 2 @ unknown - .2byte MOVE_OVERHEAT, MOVE_CRUNCH, MOVE_SHADOW_BALL, MOVE_PROTECT - -@ 7 - .2byte SPECIES_UMBREON - .byte 50 @ base level - .byte 2 @ unknown - .2byte MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_IRON_TAIL, MOVE_QUICK_ATTACK - -gBattlePyramidLevel50WildMons_Round15:: @ 8612BF0 -@ 0 - .2byte SPECIES_OCTILLERY - .byte 42 @ base level - .byte 2 @ unknown - .2byte MOVE_OCTAZOOKA, MOVE_ICE_BEAM, MOVE_FIRE_BLAST, MOVE_NONE - -@ 1 - .2byte SPECIES_DEWGONG - .byte 42 @ base level - .byte 2 @ unknown - .2byte MOVE_WATER_PULSE, MOVE_ICE_BEAM, MOVE_HEADBUTT, MOVE_NONE - -@ 2 - .2byte SPECIES_PELIPPER - .byte 46 @ base level - .byte 2 @ unknown - .2byte MOVE_PROTECT, MOVE_SUPERSONIC, MOVE_SURF, MOVE_NONE - -@ 3 - .2byte SPECIES_QUAGSIRE - .byte 46 @ base level - .byte 2 @ unknown - .2byte MOVE_EARTHQUAKE, MOVE_ROCK_TOMB, MOVE_SURF, MOVE_NONE - -@ 4 - .2byte SPECIES_LUDICOLO - .byte 48 @ base level - .byte 2 @ unknown - .2byte MOVE_PROTECT, MOVE_SOLAR_BEAM, MOVE_TOXIC, MOVE_ICE_BEAM - -@ 5 - .2byte SPECIES_SLOWKING - .byte 48 @ base level - .byte 2 @ unknown - .2byte MOVE_PSYCHIC, MOVE_HEADBUTT, MOVE_SWAGGER, MOVE_NONE - -@ 6 - .2byte SPECIES_STARMIE - .byte 50 @ base level - .byte 2 @ unknown - .2byte MOVE_WATER_PULSE, MOVE_THUNDERBOLT, MOVE_CONFUSE_RAY, MOVE_BLIZZARD - -@ 7 - .2byte SPECIES_BLASTOISE - .byte 50 @ base level - .byte 2 @ unknown - .2byte MOVE_HYDRO_PUMP, MOVE_BITE, MOVE_ICE_BEAM, MOVE_NONE - -gBattlePyramidLevel50WildMons_Round16:: @ 8612C50 -@ 0 - .2byte SPECIES_DUSKULL - .byte 42 @ base level - .byte 2 @ unknown - .2byte MOVE_NIGHT_SHADE, MOVE_WILL_O_WISP, MOVE_SHADOW_BALL, MOVE_PROTECT - -@ 1 - .2byte SPECIES_HAUNTER - .byte 42 @ base level - .byte 2 @ unknown - .2byte MOVE_TOXIC, MOVE_SPITE, MOVE_HYPNOSIS, MOVE_SHADOW_BALL - -@ 2 - .2byte SPECIES_BANETTE - .byte 46 @ base level - .byte 2 @ unknown - .2byte MOVE_SHADOW_BALL, MOVE_SPITE, MOVE_WILL_O_WISP, MOVE_NONE - -@ 3 - .2byte SPECIES_MISDREAVUS - .byte 46 @ base level - .byte 2 @ unknown - .2byte MOVE_PERISH_SONG, MOVE_SPITE, MOVE_MEAN_LOOK, MOVE_NONE - -@ 4 - .2byte SPECIES_SABLEYE - .byte 48 @ base level - .byte 2 @ unknown - .2byte MOVE_SHADOW_BALL, MOVE_MEAN_LOOK, MOVE_DIG, MOVE_NIGHT_SHADE - -@ 5 - .2byte SPECIES_DUSCLOPS - .byte 48 @ base level - .byte 2 @ unknown - .2byte MOVE_WILL_O_WISP, MOVE_TOXIC, MOVE_SHADOW_BALL, MOVE_NONE - -@ 6 - .2byte SPECIES_SHEDINJA - .byte 50 @ base level - .byte 2 @ unknown - .2byte MOVE_SHADOW_BALL, MOVE_SPITE, MOVE_GRUDGE, MOVE_PROTECT - -@ 7 - .2byte SPECIES_GENGAR - .byte 50 @ base level - .byte 2 @ unknown - .2byte MOVE_PSYCHIC, MOVE_DESTINY_BOND, MOVE_SPITE, MOVE_NIGHT_SHADE - -gBattlePyramidLevel50WildMons_Round17:: @ 8612CB0 -@ 0 - .2byte SPECIES_MAWILE - .byte 42 @ base level - .byte 2 @ unknown - .2byte MOVE_CRUNCH, MOVE_TOXIC, MOVE_ICE_BEAM, MOVE_NONE - -@ 1 - .2byte SPECIES_MAGNETON - .byte 42 @ base level - .byte 2 @ unknown - .2byte MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_NONE, MOVE_NONE - -@ 2 - .2byte SPECIES_STEELIX - .byte 46 @ base level - .byte 2 @ unknown - .2byte MOVE_ROCK_THROW, MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_NONE - -@ 3 - .2byte SPECIES_SCIZOR - .byte 46 @ base level - .byte 2 @ unknown - .2byte MOVE_METAL_CLAW, MOVE_SLASH, MOVE_NONE, MOVE_NONE - -@ 4 - .2byte SPECIES_FORRETRESS - .byte 48 @ base level - .byte 2 @ unknown - .2byte MOVE_EXPLOSION, MOVE_TOXIC, MOVE_NONE, MOVE_NONE - -@ 5 - .2byte SPECIES_SKARMORY - .byte 48 @ base level - .byte 2 @ unknown - .2byte MOVE_STEEL_WING, MOVE_TOXIC, MOVE_FLY, MOVE_PROTECT - -@ 6 - .2byte SPECIES_AGGRON - .byte 50 @ base level - .byte 2 @ unknown - .2byte MOVE_EARTHQUAKE, MOVE_TAKE_DOWN, MOVE_SURF, MOVE_ICE_BEAM - -@ 7 - .2byte SPECIES_METAGROSS - .byte 50 @ base level - .byte 2 @ unknown - .2byte MOVE_EARTHQUAKE, MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_BRICK_BREAK - -gBattlePyramidLevel50WildMons_Round18:: @ 8612D10 -@ 0 - .2byte SPECIES_DRAGONAIR - .byte 42 @ base level - .byte 2 @ unknown - .2byte MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_ICE_BEAM, MOVE_NONE - -@ 1 - .2byte SPECIES_VIBRAVA - .byte 42 @ base level - .byte 2 @ unknown - .2byte MOVE_EARTHQUAKE, MOVE_DRAGON_BREATH, MOVE_CRUNCH, MOVE_STEEL_WING - -@ 2 - .2byte SPECIES_ALTARIA - .byte 46 @ base level - .byte 2 @ unknown - .2byte MOVE_EARTHQUAKE, MOVE_DRAGON_CLAW, MOVE_SING, MOVE_PROTECT - -@ 3 - .2byte SPECIES_FLYGON - .byte 46 @ base level - .byte 2 @ unknown - .2byte MOVE_EARTHQUAKE, MOVE_DRAGON_CLAW, MOVE_FIRE_BLAST, MOVE_NONE - -@ 4 - .2byte SPECIES_AERODACTYL - .byte 48 @ base level - .byte 2 @ unknown - .2byte MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_DRAGON_CLAW, MOVE_NONE - -@ 5 - .2byte SPECIES_GYARADOS - .byte 48 @ base level - .byte 2 @ unknown - .2byte MOVE_EARTHQUAKE, MOVE_SURF, MOVE_THRASH, MOVE_BITE - -@ 6 - .2byte SPECIES_KINGDRA - .byte 50 @ base level - .byte 2 @ unknown - .2byte MOVE_HYDRO_PUMP, MOVE_ICE_BEAM, MOVE_PROTECT, MOVE_NONE - -@ 7 - .2byte SPECIES_CHARIZARD - .byte 50 @ base level - .byte 2 @ unknown - .2byte MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, MOVE_FIRE_BLAST, MOVE_IRON_TAIL - -gBattlePyramidLevel50WildMons_Round19:: @ 8612D70 -@ 0 - .2byte SPECIES_ARCANINE - .byte 42 @ base level - .byte 2 @ unknown - .2byte MOVE_FIRE_BLAST, MOVE_TAKE_DOWN, MOVE_NONE, MOVE_NONE - -@ 1 - .2byte SPECIES_POLIWRATH - .byte 42 @ base level - .byte 2 @ unknown - .2byte MOVE_HYDRO_PUMP, MOVE_ICE_BEAM, MOVE_NONE, MOVE_NONE - -@ 2 - .2byte SPECIES_RAICHU - .byte 46 @ base level - .byte 2 @ unknown - .2byte MOVE_THUNDER, MOVE_THUNDER_WAVE, MOVE_SLAM, MOVE_NONE - -@ 3 - .2byte SPECIES_VAPOREON - .byte 46 @ base level - .byte 2 @ unknown - .2byte MOVE_SURF, MOVE_ICE_BEAM, MOVE_NONE, MOVE_NONE - -@ 4 - .2byte SPECIES_JOLTEON - .byte 48 @ base level - .byte 2 @ unknown - .2byte MOVE_THUNDERBOLT, MOVE_PIN_MISSILE, MOVE_NONE, MOVE_NONE - -@ 5 - .2byte SPECIES_FLAREON - .byte 48 @ base level - .byte 2 @ unknown - .2byte MOVE_FLAMETHROWER, MOVE_BITE, MOVE_NONE, MOVE_NONE - -@ 6 - .2byte SPECIES_NINETALES - .byte 50 @ base level - .byte 2 @ unknown - .2byte MOVE_FLAMETHROWER, MOVE_WILL_O_WISP, MOVE_PROTECT, MOVE_NONE - -@ 7 - .2byte SPECIES_STARMIE - .byte 50 @ base level - .byte 2 @ unknown - .2byte MOVE_ICE_BEAM, MOVE_SURF, MOVE_THUNDERBOLT, MOVE_PSYCHIC - -gBattlePyramidLevel50WildMons_Round20:: @ 8612DD0 -@ 0 - .2byte SPECIES_KANGASKHAN - .byte 42 @ base level - .byte 2 @ unknown - .2byte MOVE_HYPER_BEAM, MOVE_FLAMETHROWER, MOVE_SURF, MOVE_DIZZY_PUNCH - -@ 1 - .2byte SPECIES_SWELLOW - .byte 42 @ base level - .byte 2 @ unknown - .2byte MOVE_AERIAL_ACE, MOVE_HYPER_BEAM, MOVE_TOXIC, MOVE_NONE - -@ 2 - .2byte SPECIES_URSARING - .byte 46 @ base level - .byte 2 @ unknown - .2byte MOVE_HYPER_BEAM, MOVE_EARTHQUAKE, MOVE_FOCUS_PUNCH, MOVE_PROTECT - -@ 3 - .2byte SPECIES_PORYGON2 - .byte 46 @ base level - .byte 2 @ unknown - .2byte MOVE_PSYBEAM, MOVE_HYPER_BEAM, MOVE_SHADOW_BALL, MOVE_ICE_BEAM - -@ 4 - .2byte SPECIES_TAUROS - .byte 48 @ base level - .byte 2 @ unknown - .2byte MOVE_EARTHQUAKE, MOVE_HYPER_BEAM, MOVE_SURF, MOVE_THUNDERBOLT - -@ 5 - .2byte SPECIES_FEAROW - .byte 48 @ base level - .byte 2 @ unknown - .2byte MOVE_HYPER_BEAM, MOVE_FLY, MOVE_MIRROR_MOVE, MOVE_PROTECT - -@ 6 - .2byte SPECIES_SNORLAX - .byte 50 @ base level - .byte 2 @ unknown - .2byte MOVE_HYPER_BEAM, MOVE_BODY_SLAM, MOVE_SHADOW_BALL, MOVE_EARTHQUAKE - -@ 7 - .2byte SPECIES_SLAKING - .byte 50 @ base level - .byte 2 @ unknown - .2byte MOVE_HYPER_BEAM, MOVE_EARTHQUAKE, MOVE_SHADOW_BALL, MOVE_ICE_BEAM - - .align 2 -gBattlePyramidLevel50WildMonPointers:: @ 8612E30 - .4byte gBattlePyramidLevel50WildMons_Round1 - .4byte gBattlePyramidLevel50WildMons_Round2 - .4byte gBattlePyramidLevel50WildMons_Round3 - .4byte gBattlePyramidLevel50WildMons_Round4 - .4byte gBattlePyramidLevel50WildMons_Round5 - .4byte gBattlePyramidLevel50WildMons_Round6 - .4byte gBattlePyramidLevel50WildMons_Round7 - .4byte gBattlePyramidLevel50WildMons_Round8 - .4byte gBattlePyramidLevel50WildMons_Round9 - .4byte gBattlePyramidLevel50WildMons_Round10 - .4byte gBattlePyramidLevel50WildMons_Round11 - .4byte gBattlePyramidLevel50WildMons_Round12 - .4byte gBattlePyramidLevel50WildMons_Round13 - .4byte gBattlePyramidLevel50WildMons_Round14 - .4byte gBattlePyramidLevel50WildMons_Round15 - .4byte gBattlePyramidLevel50WildMons_Round16 - .4byte gBattlePyramidLevel50WildMons_Round17 - .4byte gBattlePyramidLevel50WildMons_Round18 - .4byte gBattlePyramidLevel50WildMons_Round19 - .4byte gBattlePyramidLevel50WildMons_Round20 diff --git a/data/battle_frontier/battle_pyramid_open_level_wild_mons.inc b/data/battle_frontier/battle_pyramid_open_level_wild_mons.inc deleted file mode 100644 index 0ae67a44b2..0000000000 --- a/data/battle_frontier/battle_pyramid_open_level_wild_mons.inc +++ /dev/null @@ -1,1003 +0,0 @@ - .align 2 -gBattlePyramidOpenLevelWildMons_Round1:: @ 8612E80 -@ 0 - .2byte SPECIES_PLUSLE - .byte 15 @ base level difference - .byte 2 @ unknown - .2byte MOVE_THUNDER_WAVE, MOVE_SPARK, MOVE_ENCORE, MOVE_NONE - -@ 1 - .2byte SPECIES_MINUN - .byte 15 @ base level difference - .byte 2 @ unknown - .2byte MOVE_THUNDER_WAVE, MOVE_THUNDERBOLT, MOVE_QUICK_ATTACK, MOVE_NONE - -@ 2 - .2byte SPECIES_PIKACHU - .byte 13 @ base level difference - .byte 2 @ unknown - .2byte MOVE_THUNDER_WAVE, MOVE_THUNDERBOLT, MOVE_SLAM, MOVE_NONE - -@ 3 - .2byte SPECIES_ELECTABUZZ - .byte 13 @ base level difference - .byte 2 @ unknown - .2byte MOVE_THUNDER_PUNCH, MOVE_SWIFT, MOVE_SCREECH, MOVE_NONE - -@ 4 - .2byte SPECIES_VILEPLUME - .byte 8 @ base level difference - .byte 2 @ unknown - .2byte MOVE_STUN_SPORE, MOVE_GIGA_DRAIN, MOVE_PROTECT, MOVE_NONE - -@ 5 - .2byte SPECIES_MANECTRIC - .byte 8 @ base level difference - .byte 2 @ unknown - .2byte MOVE_THUNDER_WAVE, MOVE_THUNDER, MOVE_QUICK_ATTACK, MOVE_NONE - -@ 6 - .2byte SPECIES_BRELOOM - .byte 6 @ base level difference - .byte 2 @ unknown - .2byte MOVE_STUN_SPORE, MOVE_FOCUS_PUNCH, MOVE_GIGA_DRAIN, MOVE_MACH_PUNCH - -@ 7 - .2byte SPECIES_JOLTEON - .byte 6 @ base level difference - .byte 2 @ unknown - .2byte MOVE_THUNDER_WAVE, MOVE_THUNDER, MOVE_PIN_MISSILE, MOVE_QUICK_ATTACK - -gBattlePyramidOpenLevelWildMons_Round2:: @ 8612EE0 -@ 0 - .2byte SPECIES_GULPIN - .byte 14 @ base level difference - .byte 2 @ unknown - .2byte MOVE_TOXIC, MOVE_SLUDGE, MOVE_PROTECT, MOVE_NONE - -@ 1 - .2byte SPECIES_ROSELIA - .byte 14 @ base level difference - .byte 2 @ unknown - .2byte MOVE_TOXIC, MOVE_GIGA_DRAIN, MOVE_MAGICAL_LEAF, MOVE_PETAL_DANCE - -@ 2 - .2byte SPECIES_BUTTERFREE - .byte 12 @ base level difference - .byte 2 @ unknown - .2byte MOVE_POISON_POWDER, MOVE_GUST, MOVE_PSYBEAM, MOVE_NONE - -@ 3 - .2byte SPECIES_SEVIPER - .byte 12 @ base level difference - .byte 2 @ unknown - .2byte MOVE_POISON_FANG, MOVE_SWAGGER, MOVE_CRUNCH, MOVE_POISON_TAIL - -@ 4 - .2byte SPECIES_SKARMORY - .byte 7 @ base level difference - .byte 2 @ unknown - .2byte MOVE_TOXIC, MOVE_FLY, MOVE_STEEL_WING, MOVE_NONE - -@ 5 - .2byte SPECIES_LUDICOLO - .byte 7 @ base level difference - .byte 1 @ unknown - .2byte MOVE_TOXIC, MOVE_PROTECT, MOVE_DIVE, MOVE_RAIN_DANCE - -@ 6 - .2byte SPECIES_CROBAT - .byte 5 @ base level difference - .byte 2 @ unknown - .2byte MOVE_TOXIC, MOVE_CONFUSE_RAY, MOVE_MEAN_LOOK, MOVE_BITE - -@ 7 - .2byte SPECIES_GENGAR - .byte 5 @ base level difference - .byte 2 @ unknown - .2byte MOVE_TOXIC, MOVE_SHADOW_PUNCH, MOVE_NIGHT_SHADE, MOVE_NONE - -gBattlePyramidOpenLevelWildMons_Round3:: @ 8612F40 -@ 0 - .2byte SPECIES_GROWLITHE - .byte 13 @ base level difference - .byte 2 @ unknown - .2byte MOVE_FLAME_WHEEL, MOVE_TAKE_DOWN, MOVE_NONE, MOVE_NONE - -@ 1 - .2byte SPECIES_VULPIX - .byte 13 @ base level difference - .byte 2 @ unknown - .2byte MOVE_WILL_O_WISP, MOVE_FLAMETHROWER, MOVE_NONE, MOVE_NONE - -@ 2 - .2byte SPECIES_MAGCARGO - .byte 11 @ base level difference - .byte 1 @ unknown - .2byte MOVE_FLAMETHROWER, MOVE_ROCK_SLIDE, MOVE_PROTECT, MOVE_NONE - -@ 3 - .2byte SPECIES_NINETALES - .byte 11 @ base level difference - .byte 2 @ unknown - .2byte MOVE_WILL_O_WISP, MOVE_QUICK_ATTACK, MOVE_FLAMETHROWER, MOVE_NONE - -@ 4 - .2byte SPECIES_MEDICHAM - .byte 6 @ base level difference - .byte 2 @ unknown - .2byte MOVE_FIRE_PUNCH, MOVE_HI_JUMP_KICK, MOVE_NONE, MOVE_NONE - -@ 5 - .2byte SPECIES_WEEZING - .byte 6 @ base level difference - .byte 2 @ unknown - .2byte MOVE_WILL_O_WISP, MOVE_FLAMETHROWER, MOVE_PROTECT, MOVE_NONE - -@ 6 - .2byte SPECIES_DUSCLOPS - .byte 5 @ base level difference - .byte 2 @ unknown - .2byte MOVE_WILL_O_WISP, MOVE_CONFUSE_RAY, MOVE_MEAN_LOOK, MOVE_SHADOW_PUNCH - -@ 7 - .2byte SPECIES_HOUNDOOM - .byte 5 @ base level difference - .byte 2 @ unknown - .2byte MOVE_FLAMETHROWER, MOVE_BITE, MOVE_SOLAR_BEAM, MOVE_OVERHEAT - -gBattlePyramidOpenLevelWildMons_Round4:: @ 8612FA0 -@ 0 - .2byte SPECIES_DUNSPARCE - .byte 10 @ base level difference - .byte 2 @ unknown - .2byte MOVE_SPITE, MOVE_TOXIC, MOVE_PROTECT, MOVE_NONE - -@ 1 - .2byte SPECIES_BANETTE - .byte 8 @ base level difference - .byte 2 @ unknown - .2byte MOVE_GRUDGE, MOVE_WILL_O_WISP, MOVE_NIGHT_SHADE, MOVE_NONE - -@ 2 - .2byte SPECIES_MISDREAVUS - .byte 8 @ base level difference - .byte 2 @ unknown - .2byte MOVE_GRUDGE, MOVE_SPITE, MOVE_SHADOW_BALL, MOVE_NONE - -@ 3 - .2byte SPECIES_NINETALES - .byte 6 @ base level difference - .byte 2 @ unknown - .2byte MOVE_GRUDGE, MOVE_WILL_O_WISP, MOVE_OVERHEAT, MOVE_NONE - -@ 4 - .2byte SPECIES_ABSOL - .byte 10 @ base level difference - .byte 2 @ unknown - .2byte MOVE_BITE, MOVE_AERIAL_ACE, MOVE_SHADOW_BALL, MOVE_PROTECT - -@ 5 - .2byte SPECIES_DUSCLOPS - .byte 6 @ base level difference - .byte 2 @ unknown - .2byte MOVE_WILL_O_WISP, MOVE_PROTECT, MOVE_TOXIC, MOVE_SHADOW_BALL - -@ 6 - .2byte SPECIES_SHEDINJA - .byte 5 @ base level difference - .byte 2 @ unknown - .2byte MOVE_GRUDGE, MOVE_TOXIC, MOVE_SPITE, MOVE_NONE - -@ 7 - .2byte SPECIES_GENGAR - .byte 5 @ base level difference - .byte 2 @ unknown - .2byte MOVE_GRUDGE, MOVE_SPITE, MOVE_NIGHT_SHADE, MOVE_NONE - -gBattlePyramidOpenLevelWildMons_Round5:: @ 8613000 -@ 0 - .2byte SPECIES_HAUNTER - .byte 10 @ base level difference - .byte 2 @ unknown - .2byte MOVE_NIGHT_SHADE, MOVE_THUNDERBOLT, MOVE_SLUDGE_BOMB, MOVE_NONE - -@ 1 - .2byte SPECIES_CHIMECHO - .byte 10 @ base level difference - .byte 2 @ unknown - .2byte MOVE_DOUBLE_EDGE, MOVE_TOXIC, MOVE_PSYCHIC, MOVE_PROTECT - -@ 2 - .2byte SPECIES_SOLROCK - .byte 8 @ base level difference - .byte 2 @ unknown - .2byte MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_FIRE_BLAST, MOVE_TOXIC - -@ 3 - .2byte SPECIES_MISDREAVUS - .byte 8 @ base level difference - .byte 2 @ unknown - .2byte MOVE_PSYCHIC, MOVE_SPITE, MOVE_SHADOW_BALL, MOVE_PAIN_SPLIT - -@ 4 - .2byte SPECIES_CLAYDOL - .byte 6 @ base level difference - .byte 2 @ unknown - .2byte MOVE_EARTHQUAKE, MOVE_ANCIENT_POWER, MOVE_SELF_DESTRUCT, MOVE_PSYCHIC - -@ 5 - .2byte SPECIES_WEEZING - .byte 6 @ base level difference - .byte 2 @ unknown - .2byte MOVE_SLUDGE_BOMB, MOVE_SELF_DESTRUCT, MOVE_PROTECT, MOVE_NONE - -@ 6 - .2byte SPECIES_FLYGON - .byte 5 @ base level difference - .byte 2 @ unknown - .2byte MOVE_EARTHQUAKE, MOVE_CRUNCH, MOVE_DRAGON_CLAW, MOVE_DRAGON_BREATH - -@ 7 - .2byte SPECIES_GENGAR - .byte 5 @ base level difference - .byte 2 @ unknown - .2byte MOVE_THUNDERBOLT, MOVE_PSYCHIC, MOVE_GIGA_DRAIN, MOVE_NIGHT_SHADE - -gBattlePyramidOpenLevelWildMons_Round6:: @ 8613060 -@ 0 - .2byte SPECIES_DIGLETT - .byte 10 @ base level difference - .byte 2 @ unknown - .2byte MOVE_ROCK_SLIDE, MOVE_SLASH, MOVE_DIG, MOVE_NONE - -@ 1 - .2byte SPECIES_TRAPINCH - .byte 10 @ base level difference - .byte 2 @ unknown - .2byte MOVE_ROCK_SLIDE, MOVE_EARTHQUAKE, MOVE_GIGA_DRAIN, MOVE_NONE - -@ 2 - .2byte SPECIES_WYNAUT - .byte 8 @ base level difference - .byte 0 @ unknown - .2byte MOVE_DESTINY_BOND, MOVE_SPLASH, MOVE_COUNTER, MOVE_MIRROR_COAT - -@ 3 - .2byte SPECIES_DIGLETT - .byte 8 @ base level difference - .byte 1 @ unknown - .2byte MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_MAGNITUDE, MOVE_TOXIC - -@ 4 - .2byte SPECIES_TRAPINCH - .byte 6 @ base level difference - .byte 1 @ unknown - .2byte MOVE_ROCK_SLIDE, MOVE_EARTHQUAKE, MOVE_GIGA_DRAIN, MOVE_PROTECT - -@ 5 - .2byte SPECIES_WYNAUT - .byte 6 @ base level difference - .byte 0 @ unknown - .2byte MOVE_COUNTER, MOVE_MIRROR_COAT, MOVE_DESTINY_BOND, MOVE_NONE - -@ 6 - .2byte SPECIES_WOBBUFFET - .byte 5 @ base level difference - .byte 0 @ unknown - .2byte MOVE_COUNTER, MOVE_MIRROR_COAT, MOVE_DESTINY_BOND, MOVE_NONE - -@ 7 - .2byte SPECIES_DUGTRIO - .byte 5 @ base level difference - .byte 1 @ unknown - .2byte MOVE_ROCK_SLIDE, MOVE_SLUDGE_BOMB, MOVE_EARTHQUAKE, MOVE_PROTECT - -gBattlePyramidOpenLevelWildMons_Round7:: @ 86130C0 -@ 0 - .2byte SPECIES_GLALIE - .byte 10 @ base level difference - .byte 2 @ unknown - .2byte MOVE_ICE_BEAM, MOVE_CRUNCH, MOVE_PROTECT, MOVE_NONE - -@ 1 - .2byte SPECIES_SNEASEL - .byte 10 @ base level difference - .byte 2 @ unknown - .2byte MOVE_ICE_BEAM, MOVE_CRUSH_CLAW, MOVE_SPITE, MOVE_NONE - -@ 2 - .2byte SPECIES_DEWGONG - .byte 8 @ base level difference - .byte 2 @ unknown - .2byte MOVE_BLIZZARD, MOVE_DOUBLE_EDGE, MOVE_SURF, MOVE_NONE - -@ 3 - .2byte SPECIES_PILOSWINE - .byte 8 @ base level difference - .byte 2 @ unknown - .2byte MOVE_ICE_BEAM, MOVE_EARTHQUAKE, MOVE_TOXIC, MOVE_NONE - -@ 4 - .2byte SPECIES_JYNX - .byte 6 @ base level difference - .byte 2 @ unknown - .2byte MOVE_BLIZZARD, MOVE_LOVELY_KISS, MOVE_PSYCHIC, MOVE_NONE - -@ 5 - .2byte SPECIES_CLOYSTER - .byte 6 @ base level difference - .byte 2 @ unknown - .2byte MOVE_ICE_BEAM, MOVE_SURF, MOVE_PROTECT, MOVE_NONE - -@ 6 - .2byte SPECIES_WALREIN - .byte 5 @ base level difference - .byte 2 @ unknown - .2byte MOVE_BLIZZARD, MOVE_BODY_SLAM, MOVE_SURF, MOVE_NONE - -@ 7 - .2byte SPECIES_LAPRAS - .byte 5 @ base level difference - .byte 2 @ unknown - .2byte MOVE_SING, MOVE_BODY_SLAM, MOVE_ICE_BEAM, MOVE_PSYCHIC - -gBattlePyramidOpenLevelWildMons_Round8:: @ 8613120 -@ 0 - .2byte SPECIES_WEEZING - .byte 10 @ base level difference - .byte 2 @ unknown - .2byte MOVE_SELF_DESTRUCT, MOVE_SLUDGE_BOMB, MOVE_FIRE_BLAST, MOVE_NONE - -@ 1 - .2byte SPECIES_ELECTRODE - .byte 10 @ base level difference - .byte 2 @ unknown - .2byte MOVE_SELF_DESTRUCT, MOVE_THUNDERBOLT, MOVE_ROLLOUT, MOVE_NONE - -@ 2 - .2byte SPECIES_GENGAR - .byte 8 @ base level difference - .byte 2 @ unknown - .2byte MOVE_DESTINY_BOND, MOVE_LICK, MOVE_SHADOW_BALL, MOVE_NONE - -@ 3 - .2byte SPECIES_GOLEM - .byte 8 @ base level difference - .byte 2 @ unknown - .2byte MOVE_SELF_DESTRUCT, MOVE_PROTECT, MOVE_EARTHQUAKE, MOVE_NONE - -@ 4 - .2byte SPECIES_PINECO - .byte 6 @ base level difference - .byte 2 @ unknown - .2byte MOVE_EXPLOSION, MOVE_DOUBLE_EDGE, MOVE_GIGA_DRAIN, MOVE_NONE - -@ 5 - .2byte SPECIES_SOLROCK - .byte 5 @ base level difference - .byte 2 @ unknown - .2byte MOVE_EXPLOSION, MOVE_FIRE_SPIN, MOVE_PSYWAVE, MOVE_NONE - -@ 6 - .2byte SPECIES_FORRETRESS - .byte 5 @ base level difference - .byte 2 @ unknown - .2byte MOVE_EXPLOSION, MOVE_TOXIC, MOVE_ROCK_SLIDE, MOVE_NONE - -@ 7 - .2byte SPECIES_SHIFTRY - .byte 5 @ base level difference - .byte 2 @ unknown - .2byte MOVE_EXPLOSION, MOVE_GIGA_DRAIN, MOVE_SOLAR_BEAM, MOVE_PROTECT - -gBattlePyramidOpenLevelWildMons_Round9:: @ 8613180 -@ 0 - .2byte SPECIES_WOBBUFFET - .byte 10 @ base level difference - .byte 2 @ unknown - .2byte MOVE_COUNTER, MOVE_MIRROR_COAT, MOVE_SAFEGUARD, MOVE_DESTINY_BOND - -@ 1 - .2byte SPECIES_METANG - .byte 10 @ base level difference - .byte 2 @ unknown - .2byte MOVE_EARTHQUAKE, MOVE_TOXIC, MOVE_SLUDGE_BOMB, MOVE_PSYCHIC - -@ 2 - .2byte SPECIES_EXEGGUTOR - .byte 8 @ base level difference - .byte 2 @ unknown - .2byte MOVE_EGG_BOMB, MOVE_PSYCHIC, MOVE_HYPNOSIS, MOVE_NONE - -@ 3 - .2byte SPECIES_SLOWKING - .byte 8 @ base level difference - .byte 2 @ unknown - .2byte MOVE_SHADOW_BALL, MOVE_SURF, MOVE_ICE_BEAM, MOVE_FLAMETHROWER - -@ 4 - .2byte SPECIES_XATU - .byte 6 @ base level difference - .byte 2 @ unknown - .2byte MOVE_CONFUSE_RAY, MOVE_SHADOW_BALL, MOVE_PSYCHIC, MOVE_STEEL_WING - -@ 5 - .2byte SPECIES_ALAKAZAM - .byte 6 @ base level difference - .byte 2 @ unknown - .2byte MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_TOXIC - -@ 6 - .2byte SPECIES_STARMIE - .byte 5 @ base level difference - .byte 2 @ unknown - .2byte MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_SURF, MOVE_ICE_BEAM - -@ 7 - .2byte SPECIES_ESPEON - .byte 5 @ base level difference - .byte 2 @ unknown - .2byte MOVE_PSYCHIC, MOVE_DIG, MOVE_SHADOW_BALL, MOVE_NONE - -gBattlePyramidOpenLevelWildMons_Round10:: @ 86131E0 -@ 0 - .2byte SPECIES_GOLEM - .byte 10 @ base level difference - .byte 2 @ unknown - .2byte MOVE_SELF_DESTRUCT, MOVE_EARTHQUAKE, MOVE_PROTECT, MOVE_NONE - -@ 1 - .2byte SPECIES_STEELIX - .byte 10 @ base level difference - .byte 2 @ unknown - .2byte MOVE_IRON_TAIL, MOVE_CRUNCH, MOVE_EARTHQUAKE, MOVE_NONE - -@ 2 - .2byte SPECIES_OMASTAR - .byte 8 @ base level difference - .byte 2 @ unknown - .2byte MOVE_SURF, MOVE_MUD_SHOT, MOVE_ANCIENT_POWER, MOVE_NONE - -@ 3 - .2byte SPECIES_LUNATONE - .byte 8 @ base level difference - .byte 2 @ unknown - .2byte MOVE_HYPNOSIS, MOVE_PSYWAVE, MOVE_EXPLOSION, MOVE_NONE - -@ 4 - .2byte SPECIES_SHUCKLE - .byte 6 @ base level difference - .byte 2 @ unknown - .2byte MOVE_TOXIC, MOVE_PROTECT, MOVE_WRAP, MOVE_NONE - -@ 5 - .2byte SPECIES_ARMALDO - .byte 6 @ base level difference - .byte 2 @ unknown - .2byte MOVE_ANCIENT_POWER, MOVE_PROTECT, MOVE_AERIAL_ACE, MOVE_NONE - -@ 6 - .2byte SPECIES_CRADILY - .byte 5 @ base level difference - .byte 2 @ unknown - .2byte MOVE_SLUDGE_BOMB, MOVE_GIGA_DRAIN, MOVE_CONFUSE_RAY, MOVE_NONE - -@ 7 - .2byte SPECIES_AERODACTYL - .byte 5 @ base level difference - .byte 2 @ unknown - .2byte MOVE_HYPER_BEAM, MOVE_ROCK_SLIDE, MOVE_BITE, MOVE_NONE - -gBattlePyramidOpenLevelWildMons_Round11:: @ 8613240 -@ 0 - .2byte SPECIES_POLIWRATH - .byte 10 @ base level difference - .byte 2 @ unknown - .2byte MOVE_SUBMISSION, MOVE_FOCUS_PUNCH, MOVE_SURF, MOVE_NONE - -@ 1 - .2byte SPECIES_HARIYAMA - .byte 10 @ base level difference - .byte 2 @ unknown - .2byte MOVE_FAKE_OUT, MOVE_SURF, MOVE_FOCUS_PUNCH, MOVE_NONE - -@ 2 - .2byte SPECIES_BRELOOM - .byte 8 @ base level difference - .byte 2 @ unknown - .2byte MOVE_SPORE, MOVE_FOCUS_PUNCH, MOVE_PROTECT, MOVE_NONE - -@ 3 - .2byte SPECIES_MEDICHAM - .byte 8 @ base level difference - .byte 2 @ unknown - .2byte MOVE_THUNDER_PUNCH, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_FOCUS_PUNCH - -@ 4 - .2byte SPECIES_HITMONCHAN - .byte 6 @ base level difference - .byte 2 @ unknown - .2byte MOVE_THUNDER_PUNCH, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_FOCUS_PUNCH - -@ 5 - .2byte SPECIES_HITMONLEE - .byte 6 @ base level difference - .byte 2 @ unknown - .2byte MOVE_MEGA_KICK, MOVE_FOCUS_PUNCH, MOVE_NONE, MOVE_NONE - -@ 6 - .2byte SPECIES_HERACROSS - .byte 5 @ base level difference - .byte 2 @ unknown - .2byte MOVE_MEGAHORN, MOVE_EARTHQUAKE, MOVE_FOCUS_PUNCH, MOVE_ROCK_SLIDE - -@ 7 - .2byte SPECIES_MACHAMP - .byte 5 @ base level difference - .byte 2 @ unknown - .2byte MOVE_ROCK_SLIDE, MOVE_EARTHQUAKE, MOVE_FOCUS_PUNCH, MOVE_SEISMIC_TOSS - -gBattlePyramidOpenLevelWildMons_Round12:: @ 86132A0 -@ 0 - .2byte SPECIES_QUAGSIRE - .byte 10 @ base level difference - .byte 2 @ unknown - .2byte MOVE_RAIN_DANCE, MOVE_SURF, MOVE_PROTECT, MOVE_NONE - -@ 1 - .2byte SPECIES_TROPIUS - .byte 10 @ base level difference - .byte 2 @ unknown - .2byte MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM, MOVE_NONE, MOVE_NONE - -@ 2 - .2byte SPECIES_PUPITAR - .byte 8 @ base level difference - .byte 2 @ unknown - .2byte MOVE_SANDSTORM, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_NONE - -@ 3 - .2byte SPECIES_LAPRAS - .byte 8 @ base level difference - .byte 2 @ unknown - .2byte MOVE_HAIL, MOVE_ICE_BEAM, MOVE_NONE, MOVE_NONE - -@ 4 - .2byte SPECIES_CACTURNE - .byte 6 @ base level difference - .byte 2 @ unknown - .2byte MOVE_SANDSTORM, MOVE_GIGA_DRAIN, MOVE_SOLAR_BEAM, MOVE_NONE - -@ 5 - .2byte SPECIES_FLAREON - .byte 6 @ base level difference - .byte 2 @ unknown - .2byte MOVE_SUNNY_DAY, MOVE_FLAMETHROWER, MOVE_PROTECT, MOVE_NONE - -@ 6 - .2byte SPECIES_WALREIN - .byte 5 @ base level difference - .byte 2 @ unknown - .2byte MOVE_HAIL, MOVE_ICE_BEAM, MOVE_NONE, MOVE_NONE - -@ 7 - .2byte SPECIES_GYARADOS - .byte 5 @ base level difference - .byte 2 @ unknown - .2byte MOVE_RAIN_DANCE, MOVE_THUNDER, MOVE_HYDRO_PUMP, MOVE_NONE - -gBattlePyramidOpenLevelWildMons_Round13:: @ 8613300 -@ 0 - .2byte SPECIES_PINECO - .byte 10 @ base level difference - .byte 2 @ unknown - .2byte MOVE_EXPLOSION, MOVE_TAKE_DOWN, MOVE_NONE, MOVE_NONE - -@ 1 - .2byte SPECIES_SHUCKLE - .byte 8 @ base level difference - .byte 2 @ unknown - .2byte MOVE_TOXIC, MOVE_EARTHQUAKE, MOVE_PROTECT, MOVE_NONE - -@ 2 - .2byte SPECIES_VENOMOTH - .byte 8 @ base level difference - .byte 2 @ unknown - .2byte MOVE_SILVER_WIND, MOVE_POISON_POWDER, MOVE_SLEEP_POWDER, MOVE_PSYCHIC - -@ 3 - .2byte SPECIES_SCIZOR - .byte 6 @ base level difference - .byte 2 @ unknown - .2byte MOVE_QUICK_ATTACK, MOVE_METAL_CLAW, MOVE_FURY_CUTTER, MOVE_PURSUIT - -@ 4 - .2byte SPECIES_HERACROSS - .byte 6 @ base level difference - .byte 2 @ unknown - .2byte MOVE_MEGAHORN, MOVE_BRICK_BREAK, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE - -@ 5 - .2byte SPECIES_FORRETRESS - .byte 5 @ base level difference - .byte 2 @ unknown - .2byte MOVE_EXPLOSION, MOVE_EARTHQUAKE, MOVE_PROTECT, MOVE_NONE - -@ 6 - .2byte SPECIES_ARMALDO - .byte 5 @ base level difference - .byte 2 @ unknown - .2byte MOVE_WATER_PULSE, MOVE_PROTECT, MOVE_ROCK_SLIDE, MOVE_NONE - -@ 7 - .2byte SPECIES_SHEDINJA - .byte 5 @ base level difference - .byte 2 @ unknown - .2byte MOVE_SHADOW_BALL, MOVE_TOXIC, MOVE_SPITE, MOVE_GRUDGE - -gBattlePyramidOpenLevelWildMons_Round14:: @ 8613360 -@ 0 - .2byte SPECIES_SABLEYE - .byte 10 @ base level difference - .byte 2 @ unknown - .2byte MOVE_NIGHT_SHADE, MOVE_PSYCHIC, MOVE_AERIAL_ACE, MOVE_NONE - -@ 1 - .2byte SPECIES_SNEASEL - .byte 10 @ base level difference - .byte 2 @ unknown - .2byte MOVE_ICE_BEAM, MOVE_TAUNT, MOVE_FAINT_ATTACK, MOVE_QUICK_ATTACK - -@ 2 - .2byte SPECIES_CRAWDAUNT - .byte 8 @ base level difference - .byte 2 @ unknown - .2byte MOVE_CRABHAMMER, MOVE_ICE_BEAM, MOVE_SURF, MOVE_NONE - -@ 3 - .2byte SPECIES_SHIFTRY - .byte 8 @ base level difference - .byte 2 @ unknown - .2byte MOVE_EXPLOSION, MOVE_SHADOW_BALL, MOVE_AERIAL_ACE, MOVE_GIGA_DRAIN - -@ 4 - .2byte SPECIES_CACTURNE - .byte 6 @ base level difference - .byte 2 @ unknown - .2byte MOVE_TOXIC, MOVE_GIGA_DRAIN, MOVE_NEEDLE_ARM, MOVE_NONE - -@ 5 - .2byte SPECIES_ABSOL - .byte 6 @ base level difference - .byte 2 @ unknown - .2byte MOVE_BITE, MOVE_PROTECT, MOVE_SLASH, MOVE_NONE - -@ 6 - .2byte SPECIES_HOUNDOOM - .byte 5 @ base level difference - .byte 2 @ unknown - .2byte MOVE_OVERHEAT, MOVE_CRUNCH, MOVE_SHADOW_BALL, MOVE_PROTECT - -@ 7 - .2byte SPECIES_UMBREON - .byte 5 @ base level difference - .byte 2 @ unknown - .2byte MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_IRON_TAIL, MOVE_QUICK_ATTACK - -gBattlePyramidOpenLevelWildMons_Round15:: @ 86133C0 -@ 0 - .2byte SPECIES_OCTILLERY - .byte 10 @ base level difference - .byte 2 @ unknown - .2byte MOVE_OCTAZOOKA, MOVE_ICE_BEAM, MOVE_FIRE_BLAST, MOVE_NONE - -@ 1 - .2byte SPECIES_DEWGONG - .byte 10 @ base level difference - .byte 2 @ unknown - .2byte MOVE_WATER_PULSE, MOVE_ICE_BEAM, MOVE_HEADBUTT, MOVE_NONE - -@ 2 - .2byte SPECIES_PELIPPER - .byte 8 @ base level difference - .byte 2 @ unknown - .2byte MOVE_PROTECT, MOVE_SUPERSONIC, MOVE_SURF, MOVE_NONE - -@ 3 - .2byte SPECIES_QUAGSIRE - .byte 8 @ base level difference - .byte 2 @ unknown - .2byte MOVE_EARTHQUAKE, MOVE_ROCK_TOMB, MOVE_SURF, MOVE_NONE - -@ 4 - .2byte SPECIES_LUDICOLO - .byte 6 @ base level difference - .byte 2 @ unknown - .2byte MOVE_PROTECT, MOVE_SOLAR_BEAM, MOVE_TOXIC, MOVE_ICE_BEAM - -@ 5 - .2byte SPECIES_SLOWKING - .byte 6 @ base level difference - .byte 2 @ unknown - .2byte MOVE_PSYCHIC, MOVE_HEADBUTT, MOVE_SWAGGER, MOVE_NONE - -@ 6 - .2byte SPECIES_STARMIE - .byte 5 @ base level difference - .byte 2 @ unknown - .2byte MOVE_WATER_PULSE, MOVE_THUNDERBOLT, MOVE_CONFUSE_RAY, MOVE_BLIZZARD - -@ 7 - .2byte SPECIES_BLASTOISE - .byte 5 @ base level difference - .byte 2 @ unknown - .2byte MOVE_HYDRO_PUMP, MOVE_BITE, MOVE_ICE_BEAM, MOVE_NONE - -gBattlePyramidOpenLevelWildMons_Round16:: @ 8613420 -@ 0 - .2byte SPECIES_DUSKULL - .byte 10 @ base level difference - .byte 2 @ unknown - .2byte MOVE_NIGHT_SHADE, MOVE_WILL_O_WISP, MOVE_SHADOW_BALL, MOVE_PROTECT - -@ 1 - .2byte SPECIES_HAUNTER - .byte 10 @ base level difference - .byte 2 @ unknown - .2byte MOVE_TOXIC, MOVE_SPITE, MOVE_HYPNOSIS, MOVE_SHADOW_BALL - -@ 2 - .2byte SPECIES_BANETTE - .byte 8 @ base level difference - .byte 2 @ unknown - .2byte MOVE_SHADOW_BALL, MOVE_SPITE, MOVE_WILL_O_WISP, MOVE_NONE - -@ 3 - .2byte SPECIES_MISDREAVUS - .byte 8 @ base level difference - .byte 2 @ unknown - .2byte MOVE_PERISH_SONG, MOVE_SPITE, MOVE_MEAN_LOOK, MOVE_NONE - -@ 4 - .2byte SPECIES_SABLEYE - .byte 6 @ base level difference - .byte 2 @ unknown - .2byte MOVE_SHADOW_BALL, MOVE_MEAN_LOOK, MOVE_DIG, MOVE_NIGHT_SHADE - -@ 5 - .2byte SPECIES_DUSCLOPS - .byte 6 @ base level difference - .byte 2 @ unknown - .2byte MOVE_WILL_O_WISP, MOVE_TOXIC, MOVE_SHADOW_BALL, MOVE_NONE - -@ 6 - .2byte SPECIES_SHEDINJA - .byte 5 @ base level difference - .byte 2 @ unknown - .2byte MOVE_SHADOW_BALL, MOVE_SPITE, MOVE_GRUDGE, MOVE_PROTECT - -@ 7 - .2byte SPECIES_GENGAR - .byte 5 @ base level difference - .byte 2 @ unknown - .2byte MOVE_PSYCHIC, MOVE_DESTINY_BOND, MOVE_SPITE, MOVE_NIGHT_SHADE - -gBattlePyramidOpenLevelWildMons_Round17:: @ 8613480 -@ 0 - .2byte SPECIES_MAWILE - .byte 10 @ base level difference - .byte 2 @ unknown - .2byte MOVE_CRUNCH, MOVE_TOXIC, MOVE_ICE_BEAM, MOVE_NONE - -@ 1 - .2byte SPECIES_MAGNETON - .byte 10 @ base level difference - .byte 2 @ unknown - .2byte MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_NONE, MOVE_NONE - -@ 2 - .2byte SPECIES_STEELIX - .byte 8 @ base level difference - .byte 2 @ unknown - .2byte MOVE_ROCK_THROW, MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_NONE - -@ 3 - .2byte SPECIES_SCIZOR - .byte 8 @ base level difference - .byte 2 @ unknown - .2byte MOVE_METAL_CLAW, MOVE_SLASH, MOVE_NONE, MOVE_NONE - -@ 4 - .2byte SPECIES_FORRETRESS - .byte 6 @ base level difference - .byte 2 @ unknown - .2byte MOVE_EXPLOSION, MOVE_TOXIC, MOVE_NONE, MOVE_NONE - -@ 5 - .2byte SPECIES_SKARMORY - .byte 6 @ base level difference - .byte 2 @ unknown - .2byte MOVE_STEEL_WING, MOVE_TOXIC, MOVE_FLY, MOVE_PROTECT - -@ 6 - .2byte SPECIES_AGGRON - .byte 5 @ base level difference - .byte 2 @ unknown - .2byte MOVE_EARTHQUAKE, MOVE_TAKE_DOWN, MOVE_SURF, MOVE_ICE_BEAM - -@ 7 - .2byte SPECIES_METAGROSS - .byte 5 @ base level difference - .byte 2 @ unknown - .2byte MOVE_EARTHQUAKE, MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_BRICK_BREAK - -gBattlePyramidOpenLevelWildMons_Round18:: @ 86134E0 -@ 0 - .2byte SPECIES_DRAGONAIR - .byte 10 @ base level difference - .byte 2 @ unknown - .2byte MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_ICE_BEAM, MOVE_NONE - -@ 1 - .2byte SPECIES_VIBRAVA - .byte 10 @ base level difference - .byte 2 @ unknown - .2byte MOVE_EARTHQUAKE, MOVE_DRAGON_BREATH, MOVE_CRUNCH, MOVE_STEEL_WING - -@ 2 - .2byte SPECIES_ALTARIA - .byte 8 @ base level difference - .byte 2 @ unknown - .2byte MOVE_EARTHQUAKE, MOVE_DRAGON_CLAW, MOVE_SING, MOVE_PROTECT - -@ 3 - .2byte SPECIES_FLYGON - .byte 8 @ base level difference - .byte 2 @ unknown - .2byte MOVE_EARTHQUAKE, MOVE_DRAGON_CLAW, MOVE_FIRE_BLAST, MOVE_NONE - -@ 4 - .2byte SPECIES_AERODACTYL - .byte 6 @ base level difference - .byte 2 @ unknown - .2byte MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_DRAGON_CLAW, MOVE_NONE - -@ 5 - .2byte SPECIES_GYARADOS - .byte 6 @ base level difference - .byte 2 @ unknown - .2byte MOVE_EARTHQUAKE, MOVE_SURF, MOVE_THRASH, MOVE_BITE - -@ 6 - .2byte SPECIES_KINGDRA - .byte 5 @ base level difference - .byte 2 @ unknown - .2byte MOVE_HYDRO_PUMP, MOVE_ICE_BEAM, MOVE_PROTECT, MOVE_NONE - -@ 7 - .2byte SPECIES_CHARIZARD - .byte 5 @ base level difference - .byte 2 @ unknown - .2byte MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, MOVE_FIRE_BLAST, MOVE_IRON_TAIL - -gBattlePyramidOpenLevelWildMons_Round19:: @ 8613540 -@ 0 - .2byte SPECIES_ARCANINE - .byte 10 @ base level difference - .byte 2 @ unknown - .2byte MOVE_FIRE_BLAST, MOVE_TAKE_DOWN, MOVE_NONE, MOVE_NONE - -@ 1 - .2byte SPECIES_POLIWRATH - .byte 10 @ base level difference - .byte 2 @ unknown - .2byte MOVE_HYDRO_PUMP, MOVE_ICE_BEAM, MOVE_NONE, MOVE_NONE - -@ 2 - .2byte SPECIES_RAICHU - .byte 8 @ base level difference - .byte 2 @ unknown - .2byte MOVE_THUNDER, MOVE_THUNDER_WAVE, MOVE_SLAM, MOVE_NONE - -@ 3 - .2byte SPECIES_VAPOREON - .byte 8 @ base level difference - .byte 2 @ unknown - .2byte MOVE_SURF, MOVE_ICE_BEAM, MOVE_NONE, MOVE_NONE - -@ 4 - .2byte SPECIES_JOLTEON - .byte 6 @ base level difference - .byte 2 @ unknown - .2byte MOVE_THUNDERBOLT, MOVE_PIN_MISSILE, MOVE_NONE, MOVE_NONE - -@ 5 - .2byte SPECIES_FLAREON - .byte 6 @ base level difference - .byte 2 @ unknown - .2byte MOVE_FLAMETHROWER, MOVE_BITE, MOVE_NONE, MOVE_NONE - -@ 6 - .2byte SPECIES_NINETALES - .byte 5 @ base level difference - .byte 2 @ unknown - .2byte MOVE_FLAMETHROWER, MOVE_WILL_O_WISP, MOVE_PROTECT, MOVE_NONE - -@ 7 - .2byte SPECIES_STARMIE - .byte 5 @ base level difference - .byte 2 @ unknown - .2byte MOVE_ICE_BEAM, MOVE_SURF, MOVE_THUNDERBOLT, MOVE_PSYCHIC - -gBattlePyramidOpenLevelWildMons_Round20:: @ 86135A0 -@ 0 - .2byte SPECIES_KANGASKHAN - .byte 10 @ base level difference - .byte 2 @ unknown - .2byte MOVE_HYPER_BEAM, MOVE_FLAMETHROWER, MOVE_SURF, MOVE_DIZZY_PUNCH - -@ 1 - .2byte SPECIES_SWELLOW - .byte 10 @ base level difference - .byte 2 @ unknown - .2byte MOVE_AERIAL_ACE, MOVE_HYPER_BEAM, MOVE_TOXIC, MOVE_NONE - -@ 2 - .2byte SPECIES_URSARING - .byte 8 @ base level difference - .byte 2 @ unknown - .2byte MOVE_HYPER_BEAM, MOVE_EARTHQUAKE, MOVE_FOCUS_PUNCH, MOVE_PROTECT - -@ 3 - .2byte SPECIES_PORYGON2 - .byte 8 @ base level difference - .byte 2 @ unknown - .2byte MOVE_PSYBEAM, MOVE_HYPER_BEAM, MOVE_SHADOW_BALL, MOVE_ICE_BEAM - -@ 4 - .2byte SPECIES_TAUROS - .byte 6 @ base level difference - .byte 2 @ unknown - .2byte MOVE_EARTHQUAKE, MOVE_HYPER_BEAM, MOVE_SURF, MOVE_THUNDERBOLT - -@ 5 - .2byte SPECIES_FEAROW - .byte 6 @ base level difference - .byte 2 @ unknown - .2byte MOVE_HYPER_BEAM, MOVE_FLY, MOVE_MIRROR_MOVE, MOVE_PROTECT - -@ 6 - .2byte SPECIES_SNORLAX - .byte 5 @ base level difference - .byte 2 @ unknown - .2byte MOVE_HYPER_BEAM, MOVE_BODY_SLAM, MOVE_SHADOW_BALL, MOVE_EARTHQUAKE - -@ 7 - .2byte SPECIES_SLAKING - .byte 5 @ base level difference - .byte 2 @ unknown - .2byte MOVE_HYPER_BEAM, MOVE_EARTHQUAKE, MOVE_SHADOW_BALL, MOVE_ICE_BEAM - - .align 2 -gBattlePyramidOpenLevelWildMonPointers:: @ 8613600 - .4byte gBattlePyramidOpenLevelWildMons_Round1 - .4byte gBattlePyramidOpenLevelWildMons_Round2 - .4byte gBattlePyramidOpenLevelWildMons_Round3 - .4byte gBattlePyramidOpenLevelWildMons_Round4 - .4byte gBattlePyramidOpenLevelWildMons_Round5 - .4byte gBattlePyramidOpenLevelWildMons_Round6 - .4byte gBattlePyramidOpenLevelWildMons_Round7 - .4byte gBattlePyramidOpenLevelWildMons_Round8 - .4byte gBattlePyramidOpenLevelWildMons_Round9 - .4byte gBattlePyramidOpenLevelWildMons_Round10 - .4byte gBattlePyramidOpenLevelWildMons_Round11 - .4byte gBattlePyramidOpenLevelWildMons_Round12 - .4byte gBattlePyramidOpenLevelWildMons_Round13 - .4byte gBattlePyramidOpenLevelWildMons_Round14 - .4byte gBattlePyramidOpenLevelWildMons_Round15 - .4byte gBattlePyramidOpenLevelWildMons_Round16 - .4byte gBattlePyramidOpenLevelWildMons_Round17 - .4byte gBattlePyramidOpenLevelWildMons_Round18 - .4byte gBattlePyramidOpenLevelWildMons_Round19 - .4byte gBattlePyramidOpenLevelWildMons_Round20 diff --git a/data/battle_frontier_2.s b/data/battle_frontier_2.s deleted file mode 100644 index 2b1eab991f..0000000000 --- a/data/battle_frontier_2.s +++ /dev/null @@ -1,104 +0,0 @@ -#include "constants/moves.h" -#include "constants/species.h" -#include "constants/trainers.h" - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - - .align 2 -gUnknown_08611CB0:: @ 8611CB0 - .4byte gText_BattleTower2 - .4byte gUnknown_085ED164 - .4byte gText_BattleTower2 - .4byte gUnknown_085ED170 - .4byte gText_BattleTower2 - .4byte gUnknown_085ED17C - .4byte gText_BattleDome - .4byte gUnknown_085ED164 - .4byte gText_BattlePalace - .4byte gUnknown_085ED164 - .4byte gText_BattleArena - .4byte gUnknown_085ED190 - .4byte gText_BattleFactory - .4byte gUnknown_085ED164 - .4byte gText_BattlePike - .4byte gUnknown_085ED190 - .4byte gText_BattlePyramid - .4byte gUnknown_085ED190 - .4byte gText_BattleTower2 - .4byte gUnknown_085ED188 - - .align 2 -gUnknown_08611D00:: @ 8611D00 - .4byte gUnknown_085EE3B0 - .4byte gUnknown_085EE3B8 - - .align 2 -gUnknown_08611D08:: @ 8611D08 - .4byte gUnknown_085EE3C4 - .4byte gUnknown_085EE3C4 - .4byte gUnknown_085EE3C4 - .4byte gUnknown_085EE3D4 - .4byte gUnknown_085EE3C4 - .4byte gUnknown_085EE3FC - .4byte gUnknown_085EE3C4 - .4byte gUnknown_085EE3E8 - .4byte gUnknown_085EE410 - .4byte gUnknown_085EE3C4 - - .align 1 -gFacilityToBrainTrainerId:: @ 8611D30 - .2byte TRAINER_ANABEL, TRAINER_TUCKER, TRAINER_SPENSER - .2byte TRAINER_GRETA, TRAINER_NOLAND, TRAINER_LUCY - .2byte TRAINER_BRANDON - - .align 2 -gUnknown_08611D40:: @ 8611D40 - .4byte gText_082C843F - .4byte gText_082C848B - .4byte gText_082C8628 - .4byte gText_082C85B4 - .4byte gText_082C8512 - .4byte gText_082C859D - .4byte gText_082C86C3 - - .align 2 -gUnknown_08611D5C:: @ 8611D5C - .4byte gText_082C8458 - .4byte gText_082C84C1 - .4byte gText_082C8662 - .4byte gText_082C85E3 - .4byte gText_082C853B - .4byte gText_082C85A4 - .4byte gText_082C86FE - - .align 2 -gUnknown_08611D78:: @ 8611D78 - .4byte gText_082C846C - .4byte gText_082C84D0 - .4byte gText_082C8682 - .4byte gText_082C85F5 - .4byte gText_082C8561 - .4byte gText_082C85A9 - .4byte gText_082C8739 - - .align 2 -gUnknown_08611D94:: @ 8611D94 - .4byte gText_082C8480 - .4byte gText_082C84F7 - .4byte gText_082C86B3 - .4byte gText_082C8611 - .4byte gText_082C8589 - .4byte gText_082C85AE - .4byte gText_082C877B - - .align 2 -gUnknown_08611DB0:: @ 8611DB0 - .4byte gUnknown_08611D40 - .4byte gUnknown_08611D78 - - .align 2 -gUnknown_08611DB8:: @ 8611DB8 - .4byte gUnknown_08611D5C - .4byte gUnknown_08611D94 diff --git a/data/battle_frontier_3.s b/data/battle_frontier_3.s index fc5a45e372..b83af6f282 100644 --- a/data/battle_frontier_3.s +++ b/data/battle_frontier_3.s @@ -6,103 +6,6 @@ .section .rodata -gUnknown_08612698:: @ 8612698 - store_lock_anim - walk_right - free_unlock_anim - step_end - -gUnknown_0861269C:: @ 861269C - store_lock_anim - walk_down - free_unlock_anim - step_end - -gUnknown_086126A0:: @ 86126A0 - store_lock_anim - walk_left - free_unlock_anim - step_end - -gUnknown_086126A4:: @ 86126A4 - store_lock_anim - walk_up - free_unlock_anim - step_end - -gUnknown_086126A8:: @ 86126A8 - face_right - step_end - -gUnknown_086126AA:: @ 86126AA - face_down - step_end - -gUnknown_086126AC:: @ 86126AC - face_left - step_end - -gUnknown_086126AE:: @ 86126AE - face_up - step_end - -@ 86126B0 - .include "data/battle_frontier/battle_pyramid_level_50_wild_mons.inc" - -@ 8612E80 - .include "data/battle_frontier/battle_pyramid_open_level_wild_mons.inc" - - .align 2 -gUnknown_08613650:: @ 8613650 - .byte 0x07, 0x03, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 0x03, 0x03, 0x00, 0x00, 0x00, 0x06, 0x03, 0x00, 0x00, 0x80, 0x01, 0x01, 0x02, 0x02, 0x03, 0x03, 0x04, 0x04, 0x00, 0x00, 0x00 - .byte 0x05, 0x03, 0x00, 0x00, 0x78, 0x02, 0x02, 0x03, 0x03, 0x04, 0x04, 0x05, 0x05, 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x00, 0x78, 0x03, 0x03, 0x04, 0x04, 0x05, 0x05, 0x06, 0x06, 0x00, 0x00, 0x00 - .byte 0x04, 0x04, 0x00, 0x01, 0x70, 0x04, 0x04, 0x05, 0x05, 0x06, 0x06, 0x07, 0x07, 0x00, 0x00, 0x00, 0x03, 0x05, 0x00, 0x02, 0x70, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x00, 0x00, 0x00 - .byte 0x03, 0x05, 0x00, 0x00, 0x68, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x00, 0x00, 0x00, 0x02, 0x04, 0x00, 0x01, 0x68, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x00, 0x00, 0x00 - .byte 0x04, 0x05, 0x00, 0x02, 0x60, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x00, 0x00, 0x00, 0x03, 0x06, 0x00, 0x04, 0x60, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x00, 0x00, 0x00 - .byte 0x02, 0x03, 0x00, 0x00, 0x58, 0x0c, 0x0d, 0x0e, 0x0c, 0x0d, 0x0e, 0x0c, 0x0d, 0x00, 0x00, 0x00, 0x04, 0x05, 0x00, 0x00, 0x58, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x00, 0x00, 0x00 - .byte 0x03, 0x07, 0x00, 0x00, 0x50, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x00, 0x00, 0x00, 0x02, 0x04, 0x00, 0x00, 0x50, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x00, 0x00, 0x00 - .byte 0x03, 0x06, 0x00, 0x00, 0x50, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x00, 0x00, 0x00, 0x03, 0x08, 0x00, 0x00, 0x50, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00 - -gUnknown_08613750:: @ 8613750 - .byte 0x28, 0x00, 0x46, 0x01, 0x5a, 0x02, 0x64, 0x03, 0x23, 0x01, 0x37, 0x02, 0x4b, 0x03, 0x5a, 0x04, 0x64, 0x0a, 0x23, 0x02, 0x37, 0x03, 0x4b, 0x04, 0x5a, 0x05, 0x64, 0x0b, 0x23, 0x03, 0x37, 0x04 - .byte 0x4b, 0x05, 0x5a, 0x06, 0x64, 0x0c, 0x23, 0x04, 0x37, 0x05, 0x4b, 0x06, 0x5a, 0x07, 0x64, 0x0d, 0x23, 0x05, 0x37, 0x06, 0x4b, 0x07, 0x5a, 0x08, 0x64, 0x0e, 0x23, 0x06, 0x37, 0x07, 0x4b, 0x08 - .byte 0x5a, 0x09, 0x64, 0x0f - -gUnknown_08613794:: @ 8613794 - .byte 0x00, 0x04, 0x09, 0x0e, 0x13, 0x18, 0x1d, 0x00 - - .align 1 -sPickupItemsLvl50:: @ 861379C - .2byte 0x0015, 0x0051, 0x0085, 0x0022, 0x008d, 0x0018, 0x00b3, 0x00db, 0x0019, 0x002d, 0x0015, 0x004a, 0x0087, 0x0022, 0x008a, 0x0018 - .2byte 0x00c8, 0x00ba, 0x0013, 0x0025, 0x0015, 0x004b, 0x0088, 0x0022, 0x008d, 0x0018, 0x00c6, 0x00c4, 0x0019, 0x002d, 0x0015, 0x004c - .2byte 0x008d, 0x0022, 0x008a, 0x0018, 0x00b7, 0x00bb, 0x0013, 0x0025, 0x0015, 0x004d, 0x0086, 0x0022, 0x008d, 0x0018, 0x00b3, 0x00db - .2byte 0x0019, 0x002d, 0x0015, 0x004e, 0x008d, 0x0022, 0x008a, 0x0018, 0x00c8, 0x00ba, 0x0013, 0x0025, 0x0015, 0x004f, 0x008d, 0x0022 - .2byte 0x008d, 0x0018, 0x00c6, 0x00c4, 0x0019, 0x002d, 0x0015, 0x0049, 0x008d, 0x0022, 0x008a, 0x0018, 0x00b7, 0x00bb, 0x0013, 0x0025 - .2byte 0x0015, 0x0051, 0x008d, 0x0022, 0x008d, 0x0018, 0x00b3, 0x00db, 0x0019, 0x002d, 0x0015, 0x004a, 0x008d, 0x0022, 0x008a, 0x0018 - .2byte 0x00c8, 0x00ba, 0x0013, 0x0025, 0x0015, 0x004b, 0x008d, 0x0022, 0x008d, 0x0018, 0x00c6, 0x00c4, 0x0019, 0x002d, 0x0015, 0x004c - .2byte 0x008d, 0x0022, 0x008a, 0x0018, 0x00b7, 0x00bb, 0x0013, 0x0025, 0x0015, 0x004d, 0x008d, 0x0022, 0x008d, 0x0018, 0x00b3, 0x00db - .2byte 0x0019, 0x002d, 0x0015, 0x004e, 0x008d, 0x0022, 0x008a, 0x0018, 0x00c8, 0x00ba, 0x0013, 0x0025, 0x0015, 0x004f, 0x008d, 0x0022 - .2byte 0x008d, 0x0018, 0x00c6, 0x00c4, 0x0019, 0x002d, 0x0015, 0x0049, 0x008d, 0x0022, 0x008a, 0x0018, 0x00b7, 0x00bb, 0x0013, 0x0025 - .2byte 0x0015, 0x0051, 0x008d, 0x0022, 0x008d, 0x0018, 0x00b3, 0x00db, 0x0019, 0x002d, 0x0015, 0x004a, 0x008d, 0x0022, 0x008a, 0x0018 - .2byte 0x00c8, 0x00ba, 0x0013, 0x0025, 0x0015, 0x004b, 0x008d, 0x0022, 0x008d, 0x0018, 0x00c6, 0x00c4, 0x0019, 0x002d, 0x0015, 0x004c - .2byte 0x008d, 0x0022, 0x008a, 0x0018, 0x00b7, 0x00bb, 0x0013, 0x0025 - - .align 1 -sPickupItemsLvlOpen:: @ 861392C - .2byte 0x0015, 0x0051, 0x0085, 0x0022, 0x008d, 0x0018, 0x00b3, 0x00db, 0x0019, 0x002d, 0x0015, 0x004a, 0x0087, 0x0022, 0x008a, 0x0018 - .2byte 0x00c8, 0x00ba, 0x0013, 0x0025, 0x0015, 0x004b, 0x0088, 0x0022, 0x008d, 0x0018, 0x00c6, 0x00c4, 0x0019, 0x002d, 0x0015, 0x004c - .2byte 0x008d, 0x0022, 0x008a, 0x0018, 0x00b7, 0x00bb, 0x0013, 0x0025, 0x0015, 0x004d, 0x0086, 0x0022, 0x008d, 0x0018, 0x00b3, 0x00db - .2byte 0x0019, 0x002d, 0x0015, 0x004e, 0x008d, 0x0022, 0x008a, 0x0018, 0x00c8, 0x00ba, 0x0013, 0x0025, 0x0015, 0x004f, 0x008d, 0x0022 - .2byte 0x008d, 0x0018, 0x00c6, 0x00c4, 0x0019, 0x002d, 0x0015, 0x0049, 0x008d, 0x0022, 0x008a, 0x0018, 0x00b7, 0x00bb, 0x0013, 0x0025 - .2byte 0x0015, 0x0051, 0x008d, 0x0022, 0x008d, 0x0018, 0x00b3, 0x00db, 0x0019, 0x002d, 0x0015, 0x004a, 0x008d, 0x0022, 0x008a, 0x0018 - .2byte 0x00c8, 0x00ba, 0x0013, 0x0025, 0x0015, 0x004b, 0x008d, 0x0022, 0x008d, 0x0018, 0x00c6, 0x00c4, 0x0019, 0x002d, 0x0015, 0x004c - .2byte 0x008d, 0x0022, 0x008a, 0x0018, 0x00b7, 0x00bb, 0x0013, 0x0025, 0x0015, 0x004d, 0x008d, 0x0022, 0x008d, 0x0018, 0x00b3, 0x00db - .2byte 0x0019, 0x002d, 0x0015, 0x004e, 0x008d, 0x0022, 0x008a, 0x0018, 0x00c8, 0x00ba, 0x0013, 0x0025, 0x0015, 0x004f, 0x008d, 0x0022 - .2byte 0x008d, 0x0018, 0x00c6, 0x00c4, 0x0019, 0x002d, 0x0015, 0x0049, 0x008d, 0x0022, 0x008a, 0x0018, 0x00b7, 0x00bb, 0x0013, 0x0025 - .2byte 0x0015, 0x0051, 0x008d, 0x0022, 0x008d, 0x0018, 0x00b3, 0x00db, 0x0019, 0x002d, 0x0015, 0x004a, 0x008d, 0x0022, 0x008a, 0x0018 - .2byte 0x00c8, 0x00ba, 0x0013, 0x0025, 0x0015, 0x004b, 0x008d, 0x0022, 0x008d, 0x0018, 0x00c6, 0x00c4, 0x0019, 0x002d, 0x0015, 0x004c - .2byte 0x008d, 0x0022, 0x008a, 0x0018, 0x00b7, 0x00bb, 0x0013, 0x0025 - gUnknown_08613ABC:: @ 8613ABC .byte 0x1f, 0x00, 0x2e, 0x01, 0x3d, 0x02, 0x47, 0x03, 0x51, 0x04, 0x5b, 0x05, 0x5e, 0x06, 0x61, 0x07, 0x64, 0x08, 0x0f, 0x00, 0x2e, 0x01, 0x3d, 0x02, 0x47, 0x03, 0x51, 0x04, 0x5b, 0x05, 0x5e, 0x06 .byte 0x61, 0x08, 0x64, 0x09, 0x0f, 0x00, 0x1e, 0x01, 0x3d, 0x02, 0x47, 0x03, 0x51, 0x04, 0x5b, 0x05, 0x5e, 0x06, 0x61, 0x07, 0x64, 0x08, 0x1c, 0x00, 0x2b, 0x01, 0x3a, 0x02, 0x44, 0x03, 0x4e, 0x04 diff --git a/data/battle_pike.s b/data/battle_pike.s deleted file mode 100644 index 88f040f171..0000000000 --- a/data/battle_pike.s +++ /dev/null @@ -1,212 +0,0 @@ -#include "constants/moves.h" -#include "constants/species.h" -#include "constants/trainers.h" - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - - .align 2 -gUnknown_086121D4:: @ 86121D4 - .2byte 0x017b, 0x0004, 0x005c, 0x0089, 0x0022, 0x00bc, 0x0149, 0x0004, 0x005c, 0x005f, 0x0022, 0x0039, 0x016a, 0x0005, 0x0105, 0x00d4 - .2byte 0x005c, 0x0145 - - .align 1 -gUnknown_086121F8:: @ 86121F8 - .2byte 0x017b, 0x0004, 0x005c, 0x0089, 0x0022, 0x00bc, 0x0149, 0x0004, 0x005c, 0x005f, 0x0022, 0x0039, 0x0065, 0x0005, 0x0099, 0x0078 - .2byte 0x0057, 0x005c - - .align 1 -gUnknown_0861221C:: @ 861221C - .2byte 0x017b, 0x0004, 0x005c, 0x0089, 0x0022, 0x00bc, 0x0149, 0x0004, 0x005c, 0x005f, 0x0022, 0x0039, 0x0133, 0x0005, 0x0093, 0x004e - .2byte 0x004d, 0x00ed - - .align 1 -gUnknown_08612240:: @ 8612240 - .2byte 0x017b, 0x0004, 0x005c, 0x0089, 0x0022, 0x00bc, 0x0149, 0x0004, 0x005c, 0x005f, 0x0022, 0x0039, 0x00ca, 0x0005, 0x0044, 0x00f3 - .2byte 0x00db, 0x00c2 - - .align 2 -gUnknown_08612264:: @ 8612264 - .4byte gUnknown_086121D4 - .4byte gUnknown_086121F8 - .4byte gUnknown_0861221C - .4byte gUnknown_08612240 - - .align 1 -gUnknown_08612274:: @ 8612274 - .2byte 0x017b, 0x0004, 0x005c, 0x0089, 0x0131, 0x00bc, 0x0149, 0x0004, 0x005c, 0x005f, 0x0022, 0x003a, 0x016a, 0x0005, 0x0105, 0x00d4 - .2byte 0x005c, 0x003a - - .align 1 -gUnknown_08612298:: @ 8612298 - .2byte 0x017b, 0x0004, 0x005c, 0x0089, 0x0131, 0x00bc, 0x0149, 0x0004, 0x005c, 0x005f, 0x0022, 0x003a, 0x0065, 0x0005, 0x0099, 0x0078 - .2byte 0x0057, 0x005c - - .align 1 -gUnknown_086122BC:: @ 86122BC - .2byte 0x017b, 0x0004, 0x005c, 0x0089, 0x0131, 0x00bc, 0x0149, 0x0004, 0x005c, 0x005f, 0x0022, 0x003a, 0x0133, 0x0005, 0x0093, 0x004e - .2byte 0x004d, 0x00ed - - .align 1 -gUnknown_086122E0:: @ 86122E0 - .2byte 0x017b, 0x0004, 0x005c, 0x0089, 0x0131, 0x00bc, 0x0149, 0x0004, 0x005c, 0x005f, 0x0022, 0x003a, 0x00ca, 0x0005, 0x0044, 0x00f3 - .2byte 0x00db, 0x00e3 - - .align 2 -gUnknown_08612304:: @ 8612304 - .4byte gUnknown_08612274 - .4byte gUnknown_08612298 - .4byte gUnknown_086122BC - .4byte gUnknown_086122E0 - - .align 2 -gUnknown_08612314:: @ 8612314 - .4byte gUnknown_08612264 - .4byte gUnknown_08612304 - - .align 2 -gUnknown_0861231C:: @ 861231C - .2byte 0x0012 - .byte 0x03, 0x05, 0x06 - - .align 2 - .2byte 0x0005 - .byte 0x0d, 0x20, 0x25 - - .align 2 - .2byte 0x0011 - .byte 0x08, 0x0b, 0x0c - - .align 2 - .2byte 0x0024 - .byte 0x22, 0x1e, 0x21 - - .align 2 - .2byte 0x0015 - .byte 0x00, 0x00, 0x00 - - .align 2 - .2byte 0x001e - .byte 0x01, 0x01, 0x01 - - .align 2 - .2byte 0x002c - .byte 0x16, 0x17, 0x1b - - .align 2 - .2byte 0x0037 - .byte 0x08, 0x16, 0x1f - - .align 2 - .2byte 0x000e - .byte 0x0d, 0x27, 0x15 - - .align 2 - .2byte 0x0014 - .byte 0x02, 0x04, 0x11 - - .align 2 - .2byte 0x0038 - .byte 0x1e, 0x14, 0x24 - - .align 2 - .2byte 0x0042 - .byte 0x1c, 0x22, 0x19 - - .align 2 - .2byte 0x0026 - .byte 0x17, 0x26, 0x1a - - .align 2 - .2byte 0x0032 - .byte 0x17, 0x1e, 0x0b - - .align 2 - .2byte 0x002f - .byte 0x0f, 0x13, 0x0e - - .align 2 - .2byte 0x0027 - .byte 0x02, 0x1d, 0x1a - - .align 2 - .2byte 0x0033 - .byte 0x25, 0x0c, 0x20 - - .align 2 - .2byte 0x0021 - .byte 0x18, 0x17, 0x26 - - .align 2 - .2byte 0x0018 - .byte 0x05, 0x16, 0x04 - - .align 2 - .2byte 0x000b - .byte 0x29, 0x25, 0x23 - - .align 2 - .2byte 0x0035 - .byte 0x27, 0x0e, 0x0d - - .align 2 - .2byte 0x0030 - .byte 0x0a, 0x07, 0x09 - - .align 2 - .2byte 0x000c - .byte 0x28, 0x14, 0x10 - - .align 2 - .2byte 0x0034 - .byte 0x12, 0x0d, 0x15 - - .align 2 - .2byte 0x0013 - .byte 0x16, 0x1f, 0x1b - - .align 2 -gUnknown_086123E4:: @ 86123E4 - .byte 0x29, 0x0a, 0x30, 0x06, 0x01, 0x0a, 0x0f, 0x14, 0x20, 0x10, 0x0e, 0x27 - .byte 0x2a, 0x0a, 0x1d, 0x08, 0x1b, 0x06, 0x34, 0x10, 0x20, 0x1e, 0x29, 0x0a - .byte 0x22, 0x1e, 0x31, 0x12, 0x01, 0x0a, 0x18, 0x10, 0x1a, 0x1c, 0x03, 0x0c - .byte 0x0f, 0x1e, 0x0b, 0x10, 0x39, 0x10, 0x0f, 0x20, 0x2b, 0x10, 0x14, 0x0a - .byte 0x3b, 0x10, 0x02, 0x0a, 0x1e, 0x16, 0x20, 0x10, 0x3e, 0x14, 0x03, 0x0c - .byte 0x31, 0x0a, 0x02, 0x0e, 0x15, 0x0e, 0x36, 0x14, 0x37, 0x10, 0x0a, 0x1e - .byte 0x29, 0x0a, 0x25, 0x10, 0x2a, 0x14, 0x34, 0x10, 0x0f, 0x1e, 0x1b, 0x0a - .byte 0x01, 0x0a, 0x07, 0x0e, 0x2a, 0x12, 0x0f, 0x1e, 0x1f, 0x06, 0xff, 0xff - .byte 0x35, 0x1a, 0x36, 0x10, 0x0f, 0x0e, 0x01, 0x0a, 0x21, 0x26, 0x0f, 0x1e - .byte 0x25, 0x0e, 0x2f, 0x10, 0x2d, 0x06, 0x1e, 0x20, 0x03, 0x0c, 0xff, 0xff - .byte 0x1d, 0x0c, 0x1d, 0x08, 0x2b, 0x0a, 0x0f, 0x10, 0x02, 0x0a, 0x03, 0x0c - .byte 0x2a, 0x0a, 0x3e, 0x0a, 0x00, 0x20, 0x27, 0x10, 0x08, 0x1c, 0x04, 0x0c - .byte 0x01, 0x0a, 0x12, 0x12, 0x01, 0x0a, 0x00, 0x10, 0x2d, 0x06, 0xff, 0xff - .byte 0x22, 0x1e, 0x31, 0x12, 0x01, 0x0a, 0x18, 0x10, 0x1c, 0x1c, 0x03, 0x0c - .byte 0x01, 0x0a, 0x0b, 0x06, 0x30, 0x10, 0x28, 0x0a, 0x49, 0x25, 0x24, 0x06 - .byte 0x14, 0x10, 0x2c, 0x0a, 0x15, 0x04, 0x42, 0x16, 0x1b, 0x1e, 0x03, 0x0c - .byte 0x28, 0x06, 0x0f, 0x1a, 0x0b, 0x10, 0x17, 0x20, 0x00, 0x0c, 0xff, 0xff - .byte 0x01, 0x0a, 0x15, 0x10, 0x47, 0x16, 0x0f, 0x1e, 0x39, 0x0e, 0x36, 0x0e - .byte 0x01, 0x0a, 0x17, 0x10, 0x20, 0x16, 0x19, 0x0e, 0x31, 0x0a, 0x38, 0x0c - .byte 0x1d, 0x0c, 0x1d, 0x08, 0x00, 0x0c, 0x22, 0x10, 0x12, 0x1c, 0x0b, 0x02 - .byte 0x29, 0x10, 0x04, 0x14, 0x2f, 0x10, 0x06, 0x10, 0x28, 0x1e, 0x1c, 0x1c - .byte 0x29, 0x10, 0x20, 0x0e, 0x28, 0x10, 0x16, 0x1c, 0x29, 0x1e, 0x03, 0x0c - .byte 0x0f, 0x1e, 0x0b, 0x10, 0x2f, 0x0e, 0x38, 0x06, 0x0c, 0x10, 0xff, 0xff - .byte 0x29, 0x0a, 0x08, 0x14, 0x2f, 0x10, 0x1e, 0x06, 0x2c, 0x10, 0xff, 0xff - .byte 0x23, 0x10, 0x0b, 0x10, 0x1d, 0x08, 0x2d, 0x06, 0x37, 0x10, 0x14, 0x0a - .byte 0x29, 0x0a, 0x22, 0x10, 0x08, 0x14, 0x2f, 0x10, 0x1e, 0x16, 0x29, 0x10 - .byte 0x01, 0x06, 0x2c, 0x10, 0x01, 0x0a, 0x15, 0x10, 0x39, 0x0e, 0x36, 0x0e - .byte 0x20, 0x10, 0x0b, 0x02, 0x3f, 0x10, 0x12, 0x1c, 0x04, 0x0c, 0xff, 0xff - .byte 0x18, 0x10, 0x02, 0x0a, 0x3a, 0x10, 0x46, 0x04, 0x0e, 0x02, 0x03, 0x0c - .byte 0x10, 0x1e, 0x0b, 0x02, 0x0a, 0x1e, 0x0b, 0x10, 0x3a, 0x06, 0xff, 0xff - .byte 0x02, 0x0a, 0x12, 0x12, 0x0f, 0x1e, 0x0b, 0x10, 0x38, 0x06, 0x03, 0x0c - .byte 0x22, 0x1e, 0x00, 0x10, 0x1b, 0x16, 0x3f, 0x10, 0x0f, 0x1e, 0x03, 0x0c - .byte 0x29, 0x0a, 0x1e, 0x0e, 0x25, 0x10, 0x26, 0x1e, 0x00, 0x0c, 0xff, 0xff - .byte 0x01, 0x0a, 0x1e, 0x0e, 0x36, 0x12, 0x2f, 0x10, 0x0b, 0x12, 0x04, 0x0c - .byte 0x05, 0x28, 0x0f, 0x1e, 0x1b, 0x0a, 0x0b, 0x10, 0x20, 0x10, 0x3b, 0x06 - .byte 0x01, 0x0a, 0x1f, 0x10, 0x3e, 0x0a, 0x37, 0x10, 0x20, 0x10, 0x28, 0x06 - .byte 0x26, 0x10, 0x31, 0x0a, 0x29, 0x1e, 0x1c, 0x1c, 0x01, 0x0a, 0x12, 0x12 - .byte 0x0a, 0x0c, 0x00, 0x0c, 0x29, 0x10, 0x1c, 0x10, 0x0f, 0x1e, 0x23, 0x0c - .byte 0x28, 0x0a, 0x0e, 0x02, 0x0f, 0x10, 0x39, 0x10, 0x2a, 0x14, 0x04, 0x0c - .byte 0x28, 0x0a, 0x0e, 0x02, 0x0f, 0x10, 0x20, 0x06, 0x2f, 0x10, 0x3c, 0x04 - .byte 0x39, 0x0c, 0x39, 0x0c, 0x00, 0x0c, 0x29, 0x0a, 0x17, 0x20, 0x39, 0x0c - .byte 0x5c, 0x26, 0x0b, 0x10, 0x20, 0x10, 0x30, 0x12, 0x05, 0x1e, 0x0c, 0x10 diff --git a/data/createsprite.py b/data/createsprite.py new file mode 100644 index 0000000000..8af44aa555 --- /dev/null +++ b/data/createsprite.py @@ -0,0 +1,85 @@ +import math + +inFile = "battle_anim_scripts.s" +#outFile = "createsprite.txt" +outFile = "battle_anim_scripts.s" + +fIN = open(inFile, 'r') + +ANIM_BANK_ATTACKER = 0b00000000 +ANIM_BANK_TARGET = 0b10000000 +ONE = 0b1111111 + +# +inLines = fIN.readlines() + +text = "" + +count = 0 + +uniques = set() + +def lsb(n): + return 0 + +# createsprite2 gBattleAnimSpriteTemplate_83D96F8, ANIM_BANK_ATTACKER, 40, 200, -32, 0, 100, 0 +# createsprite gBattleAnimSpriteTemplate_83D96F8, 40, 200, -32, 0, 100, 0 + +# createsprite2 gBattleAnimSpriteTemplate_83DAC10, ANIM_BANK_ATTACKER, 66, 0 +# createsprite gBattleAnimSpriteTemplate_83DAC10, 66, 0 + +# line 3891 +for line in inLines: + count += 1 + if (not line.startswith("\tcreatesprite")):# or (count > 500): # 3890 < x < 3899 + text += line + + else: + split = line.replace(',','').strip().split() + #print(split[3:-1]) + + text += '\t' + text += "createsprite2 " + split[1] + ', ' + + #try: + combined = int(split[2], 0) + #except: + # combined = int(split[2], 0) + + battler = combined + uniques.add((battler, battler & ONE)) + #priority = str(lsb(battler)) + + if battler & ANIM_BANK_TARGET: + battler_txt = "ANIM_BANK_TARGET" + priority_txt = str(battler & ONE) + + else: + battler_txt = "ANIM_BANK_ATTACKER" #split[2] | battler + priority_txt = str(battler & ONE) + + text += battler_txt + ', ' + priority_txt + ', ' + + # createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 2 + # createsprite2 gBasicHitSplatSpriteTemplate, ANIM_BANK_ATTACKER, 2, 0, 0, 1, 2 + + # .if battler == ANIM_BANK_TARGET + # .byte 0x80 | (subpriority_offset & 0x3F) + # .else + # .byte (subpriority_offset & 0x3F) + + if len(split) > 3: + for item in split[3:-1]: + text += item + ', ' + text += split[-1] + '\n' + + else: + text = text[:-2] + '\n' + +print(uniques) + +fOUT = open(outFile, 'w') +fOUT.write(text) + +fIN.close() +fOUT.close() diff --git a/data/mossdeep_gym.s b/data/mossdeep_gym.s new file mode 100644 index 0000000000..59698dea6f --- /dev/null +++ b/data/mossdeep_gym.s @@ -0,0 +1,47 @@ +#include "constants/moves.h" +#include "constants/species.h" +#include "constants/trainers.h" + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + +gUnknown_08612698:: @ 8612698 + store_lock_anim + walk_right + free_unlock_anim + step_end + +gUnknown_0861269C:: @ 861269C + store_lock_anim + walk_down + free_unlock_anim + step_end + +gUnknown_086126A0:: @ 86126A0 + store_lock_anim + walk_left + free_unlock_anim + step_end + +gUnknown_086126A4:: @ 86126A4 + store_lock_anim + walk_up + free_unlock_anim + step_end + +gUnknown_086126A8:: @ 86126A8 + face_right + step_end + +gUnknown_086126AA:: @ 86126AA + face_down + step_end + +gUnknown_086126AC:: @ 86126AC + face_left + step_end + +gUnknown_086126AE:: @ 86126AE + face_up + step_end diff --git a/include/battle_pyramid.h b/include/battle_pyramid.h index 5d38e9f358..8d8e01bfbf 100644 --- a/include/battle_pyramid.h +++ b/include/battle_pyramid.h @@ -1,6 +1,33 @@ #ifndef GUARD_BATTLE_PYRAMID_H #define GUARD_BATTLE_PYRAMID_H +#define TOTAL_ROUNDS 20 +#define PICKUP_ITEMS_PER_ROUND 10 + +struct PyramidWildMon +{ + u16 species; + u8 lvl; + u8 abilityBit; + u16 moves[4]; +}; + +struct Struct_08613650 +{ + u8 unk0; + u8 unk1; + u8 unk2; + u8 unk3; + u8 runMultiplier; + u8 unk5[8]; +}; + +struct ClassMusic +{ + u8 class; + u8 music; +}; + void CallBattlePyramidFunction(void); u16 LocalIdToPyramidTrainerId(u8 localId); bool8 GetBattlePyramidTrainerFlag(u8 eventId); @@ -21,4 +48,19 @@ void sub_81AA2F8(void); u8 sub_81AAA40(void); u16 GetBattlePyramidPickupItemId(void); +// Const rom data. +extern const u16 sPickupItemsLvl50[TOTAL_ROUNDS][PICKUP_ITEMS_PER_ROUND]; +extern const u16 sPickupItemsLvlOpen[TOTAL_ROUNDS][PICKUP_ITEMS_PER_ROUND]; +extern const u8 gUnknown_08613ABC[63][2]; +extern const u8 gUnknown_08613B3A[]; +extern const u16 gUnknown_08D856C8[][16]; +extern const u8 gUnknown_08613C1C[50][2]; +extern const u8 *const *const *const gUnknown_08613EC0[]; +extern const struct ClassMusic gUnknown_08613B44[54]; +extern const struct PyramidWildMon *const gBattlePyramidOpenLevelWildMonPointers[]; +extern const struct PyramidWildMon *const gBattlePyramidLevel50WildMonPointers[]; +extern const struct Struct_08613650 gUnknown_08613650[]; +extern const u8 gUnknown_08613750[34][2]; +extern const u8 gUnknown_08613794[]; + #endif // GUARD_BATTLE_PYRAMID_H diff --git a/include/strings.h b/include/strings.h index 3746e459a4..c4af6f5b20 100644 --- a/include/strings.h +++ b/include/strings.h @@ -1181,4 +1181,48 @@ extern const u8 gText_Are[]; extern const u8 gText_Are2[]; extern const u8 gText_123Dot[][3]; +// Frontier util. +extern const u8 gUnknown_085ED164[]; +extern const u8 gUnknown_085ED170[]; +extern const u8 gUnknown_085ED17C[]; +extern const u8 gUnknown_085ED188[]; +extern const u8 gUnknown_085ED190[]; + +extern const u8 gText_RecordsLv50[]; +extern const u8 gText_RecordsOpenLevel[]; +extern const u8 gText_FrontierFacilityWinStreak[]; +extern const u8 gText_FrontierFacilityClearStreak[]; +extern const u8 gText_FrontierFacilityRoomsCleared[]; +extern const u8 gText_FrontierFacilityKOsStreak[]; +extern const u8 gText_FrontierFacilityFloorsCleared[]; + +extern const u8 gText_082C843F[]; +extern const u8 gText_082C848B[]; +extern const u8 gText_082C8628[]; +extern const u8 gText_082C85B4[]; +extern const u8 gText_082C8512[]; +extern const u8 gText_082C859D[]; +extern const u8 gText_082C86C3[]; +extern const u8 gText_082C8458[]; +extern const u8 gText_082C84C1[]; +extern const u8 gText_082C8662[]; +extern const u8 gText_082C85E3[]; +extern const u8 gText_082C853B[]; +extern const u8 gText_082C85A4[]; +extern const u8 gText_082C86FE[]; +extern const u8 gText_082C846C[]; +extern const u8 gText_082C84D0[]; +extern const u8 gText_082C8682[]; +extern const u8 gText_082C85F5[]; +extern const u8 gText_082C8561[]; +extern const u8 gText_082C85A9[]; +extern const u8 gText_082C8739[]; +extern const u8 gText_082C8480[]; +extern const u8 gText_082C84F7[]; +extern const u8 gText_082C86B3[]; +extern const u8 gText_082C8611[]; +extern const u8 gText_082C8589[]; +extern const u8 gText_082C85AE[]; +extern const u8 gText_082C877B[]; + #endif //GUARD_STRINGS_H diff --git a/ld_script.txt b/ld_script.txt index 486562547c..0307d43612 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -574,11 +574,11 @@ SECTIONS { src/battle_factory_screen.o(.rodata); src/apprentice.o(.rodata); src/frontier_util.o(.rodata); - data/battle_frontier_2.o(.rodata); src/battle_arena.o(.rodata); src/battle_factory.o(.rodata); - data/battle_pike.o(.rodata); src/battle_pike.o(.rodata); + data/mossdeep_gym.o(.rodata); + src/frontier_data.o(.rodata); data/battle_frontier_3.o(.rodata); src/battle_pyramid.o(.rodata); src/item_menu.o(.rodata); diff --git a/src/battle_pike.c b/src/battle_pike.c index a0a50d86ef..21e7a06149 100644 --- a/src/battle_pike.c +++ b/src/battle_pike.c @@ -19,6 +19,7 @@ #include "constants/rgb.h" #include "constants/trainers.h" #include "constants/species.h" +#include "constants/moves.h" #define PIKE_ROOM_SINGLE_BATTLE 0 #define PIKE_ROOM_HEAL_FULL 1 @@ -40,7 +41,7 @@ struct Unk0861231C u8 unk2; u8 unk3; u8 unk4; - u8 unk5; + u8 unk5;//? unused ? }; struct PikeWildMon @@ -50,9 +51,6 @@ struct PikeWildMon u16 moves[4]; }; -extern const struct Unk0861231C gUnknown_0861231C[]; -extern const struct PikeWildMon *const *const gUnknown_08612314[2]; -extern const u16 gUnknown_086123E4[][6]; extern const struct BattleFrontierTrainer gBattleFrontierTrainers[]; // IWRAM bss @@ -106,6 +104,383 @@ static bool8 sub_81A7D8C(struct Task *task); static bool8 sub_81A7DE8(struct Task *task); // Const rom data. + +// extern const struct PikeWildMon *const *const gUnknown_08612314[2]; + +const struct PikeWildMon gUnknown_086121D4[] = +{ + { + .species = SPECIES_SEVIPER, + .levelDelta = 4, + .moves = {MOVE_TOXIC, MOVE_GLARE, MOVE_BODY_SLAM, MOVE_SLUDGE_BOMB} + }, + { + .species = SPECIES_MILOTIC, + .levelDelta = 4, + .moves = {MOVE_TOXIC, MOVE_HYPNOSIS, MOVE_BODY_SLAM, MOVE_SURF} + }, + { + .species = SPECIES_DUSCLOPS, + .levelDelta = 5, + .moves = {MOVE_WILL_O_WISP, MOVE_MEAN_LOOK, MOVE_TOXIC, MOVE_SHADOW_PUNCH} + } +}; + +const struct PikeWildMon gUnknown_086121F8[] = +{ + { + .species = SPECIES_SEVIPER, + .levelDelta = 4, + .moves = {MOVE_TOXIC, MOVE_GLARE, MOVE_BODY_SLAM, MOVE_SLUDGE_BOMB} + }, + { + .species = SPECIES_MILOTIC, + .levelDelta = 4, + .moves = {MOVE_TOXIC, MOVE_HYPNOSIS, MOVE_BODY_SLAM, MOVE_SURF} + }, + { + .species = SPECIES_ELECTRODE, + .levelDelta = 5, + .moves = {MOVE_EXPLOSION, MOVE_SELF_DESTRUCT, MOVE_THUNDER, MOVE_TOXIC} + } +}; + +const struct PikeWildMon gUnknown_0861221C[] = +{ + { + .species = SPECIES_SEVIPER, + .levelDelta = 4, + .moves = {MOVE_TOXIC, MOVE_GLARE, MOVE_BODY_SLAM, MOVE_SLUDGE_BOMB} + }, + { + .species = SPECIES_MILOTIC, + .levelDelta = 4, + .moves = {MOVE_TOXIC, MOVE_HYPNOSIS, MOVE_BODY_SLAM, MOVE_SURF} + }, + { + .species = SPECIES_BRELOOM, + .levelDelta = 5, + .moves = {MOVE_SPORE, MOVE_STUN_SPORE, MOVE_POISON_POWDER, MOVE_HIDDEN_POWER} + } +}; + +const struct PikeWildMon gUnknown_08612240[] = +{ + { + .species = SPECIES_SEVIPER, + .levelDelta = 4, + .moves = {MOVE_TOXIC, MOVE_GLARE, MOVE_BODY_SLAM, MOVE_SLUDGE_BOMB} + }, + { + .species = SPECIES_MILOTIC, + .levelDelta = 4, + .moves = {MOVE_TOXIC, MOVE_HYPNOSIS, MOVE_BODY_SLAM, MOVE_SURF} + }, + { + .species = SPECIES_WOBBUFFET, + .levelDelta = 5, + .moves = {MOVE_COUNTER, MOVE_MIRROR_COAT, MOVE_SAFEGUARD, MOVE_DESTINY_BOND} + } +}; + +const struct PikeWildMon *const gUnknown_08612264[] = +{ + gUnknown_086121D4, + gUnknown_086121F8, + gUnknown_0861221C, + gUnknown_08612240 +}; + +const struct PikeWildMon gUnknown_08612274[] = +{ + { + .species = SPECIES_SEVIPER, + .levelDelta = 4, + .moves = {MOVE_TOXIC, MOVE_GLARE, MOVE_POISON_FANG, MOVE_SLUDGE_BOMB} + }, + { + .species = SPECIES_MILOTIC, + .levelDelta = 4, + .moves = {MOVE_TOXIC, MOVE_HYPNOSIS, MOVE_BODY_SLAM, MOVE_ICE_BEAM} + }, + { + .species = SPECIES_DUSCLOPS, + .levelDelta = 5, + .moves = {MOVE_WILL_O_WISP, MOVE_MEAN_LOOK, MOVE_TOXIC, MOVE_ICE_BEAM} + } +}; + +const struct PikeWildMon gUnknown_08612298[] = +{ + { + .species = SPECIES_SEVIPER, + .levelDelta = 4, + .moves = {MOVE_TOXIC, MOVE_GLARE, MOVE_POISON_FANG, MOVE_SLUDGE_BOMB} + }, + { + .species = SPECIES_MILOTIC, + .levelDelta = 4, + .moves = {MOVE_TOXIC, MOVE_HYPNOSIS, MOVE_BODY_SLAM, MOVE_ICE_BEAM} + }, + { + .species = SPECIES_ELECTRODE, + .levelDelta = 5, + .moves = {MOVE_EXPLOSION, MOVE_SELF_DESTRUCT, MOVE_THUNDER, MOVE_TOXIC} + } +}; + +const struct PikeWildMon gUnknown_086122BC[] = +{ + { + .species = SPECIES_SEVIPER, + .levelDelta = 4, + .moves = {MOVE_TOXIC, MOVE_GLARE, MOVE_POISON_FANG, MOVE_SLUDGE_BOMB} + }, + { + .species = SPECIES_MILOTIC, + .levelDelta = 4, + .moves = {MOVE_TOXIC, MOVE_HYPNOSIS, MOVE_BODY_SLAM, MOVE_ICE_BEAM} + }, + { + .species = SPECIES_BRELOOM, + .levelDelta = 5, + .moves = {MOVE_SPORE, MOVE_STUN_SPORE, MOVE_POISON_POWDER, MOVE_HIDDEN_POWER} + } +}; + +const struct PikeWildMon gUnknown_086122E0[] = +{ + { + .species = SPECIES_SEVIPER, + .levelDelta = 4, + .moves = {MOVE_TOXIC, MOVE_GLARE, MOVE_POISON_FANG, MOVE_SLUDGE_BOMB} + }, + { + .species = SPECIES_MILOTIC, + .levelDelta = 4, + .moves = {MOVE_TOXIC, MOVE_HYPNOSIS, MOVE_BODY_SLAM, MOVE_ICE_BEAM} + }, + { + .species = SPECIES_WOBBUFFET, + .levelDelta = 5, + .moves = {MOVE_COUNTER, MOVE_MIRROR_COAT, MOVE_SAFEGUARD, MOVE_ENCORE} + } +}; + +const struct PikeWildMon *const gUnknown_08612304[] = +{ + gUnknown_08612274, + gUnknown_08612298, + gUnknown_086122BC, + gUnknown_086122E0 +}; + +const struct PikeWildMon *const *const gUnknown_08612314[2] = +{ + gUnknown_08612264, + gUnknown_08612304 +}; + +const struct Unk0861231C gUnknown_0861231C[] = +{ + { + .unk0 = 0x0012, + .unk2 = 0x03, + .unk3 = 0x05, + .unk4 = 0x06 + }, + { + .unk0 = 0x0005, + .unk2 = 0x0d, + .unk3 = 0x20, + .unk4 = 0x25 + }, + { + .unk0 = 0x0011, + .unk2 = 0x08, + .unk3 = 0x0b, + .unk4 = 0x0c + }, + { + .unk0 = 0x0024, + .unk2 = 0x22, + .unk3 = 0x1e, + .unk4 = 0x21 + }, + { + .unk0 = 0x0015, + .unk2 = 0x00, + .unk3 = 0x00, + .unk4 = 0x00 + }, + { + .unk0 = 0x001e, + .unk2 = 0x01, + .unk3 = 0x01, + .unk4 = 0x01 + }, + { + .unk0 = 0x002c, + .unk2 = 0x16, + .unk3 = 0x17, + .unk4 = 0x1b + }, + { + .unk0 = 0x0037, + .unk2 = 0x08, + .unk3 = 0x16, + .unk4 = 0x1f + }, + { + .unk0 = 0x000e, + .unk2 = 0x0d, + .unk3 = 0x27, + .unk4 = 0x15 + }, + { + .unk0 = 0x0014, + .unk2 = 0x02, + .unk3 = 0x04, + .unk4 = 0x11 + }, + { + .unk0 = 0x0038, + .unk2 = 0x1e, + .unk3 = 0x14, + .unk4 = 0x24 + }, + { + .unk0 = 0x0042, + .unk2 = 0x1c, + .unk3 = 0x22, + .unk4 = 0x19 + }, + { + .unk0 = 0x0026, + .unk2 = 0x17, + .unk3 = 0x26, + .unk4 = 0x1a + }, + { + .unk0 = 0x0032, + .unk2 = 0x17, + .unk3 = 0x1e, + .unk4 = 0x0b + }, + { + .unk0 = 0x002f, + .unk2 = 0x0f, + .unk3 = 0x13, + .unk4 = 0x0e + }, + { + .unk0 = 0x0027, + .unk2 = 0x02, + .unk3 = 0x1d, + .unk4 = 0x1a + }, + { + .unk0 = 0x0033, + .unk2 = 0x25, + .unk3 = 0x0c, + .unk4 = 0x20 + }, + { + .unk0 = 0x0021, + .unk2 = 0x18, + .unk3 = 0x17, + .unk4 = 0x26 + }, + { + .unk0 = 0x0018, + .unk2 = 0x05, + .unk3 = 0x16, + .unk4 = 0x04 + }, + { + .unk0 = 0x000b, + .unk2 = 0x29, + .unk3 = 0x25, + .unk4 = 0x23 + }, + { + .unk0 = 0x0035, + .unk2 = 0x27, + .unk3 = 0x0e, + .unk4 = 0x0d + }, + { + .unk0 = 0x0030, + .unk2 = 0x0a, + .unk3 = 0x07, + .unk4 = 0x09 + }, + { + .unk0 = 0x000c, + .unk2 = 0x28, + .unk3 = 0x14, + .unk4 = 0x10 + }, + { + .unk0 = 0x0034, + .unk2 = 0x12, + .unk3 = 0x0d, + .unk4 = 0x15 + }, + { + .unk0 = 0x0013, + .unk2 = 0x16, + .unk3 = 0x1f, + .unk4 = 0x1b + } +}; + +const u16 gUnknown_086123E4[][6] = +{ + {0x0a29, 0x0630, 0x0a01, 0x140f, 0x1020, 0x270e}, + {0x0a2a, 0x081d, 0x061b, 0x1034, 0x1e20, 0x0a29}, + {0x1e22, 0x1231, 0x0a01, 0x1018, 0x1c1a, 0x0c03}, + {0x1e0f, 0x100b, 0x1039, 0x200f, 0x102b, 0x0a14}, + {0x103b, 0x0a02, 0x161e, 0x1020, 0x143e, 0x0c03}, + {0x0a31, 0x0e02, 0x0e15, 0x1436, 0x1037, 0x1e0a}, + {0x0a29, 0x1025, 0x142a, 0x1034, 0x1e0f, 0x0a1b}, + {0x0a01, 0x0e07, 0x122a, 0x1e0f, 0x061f, 0xffff}, + {0x1a35, 0x1036, 0x0e0f, 0x0a01, 0x2621, 0x1e0f}, + {0x0e25, 0x102f, 0x062d, 0x201e, 0x0c03, 0xffff}, + {0x0c1d, 0x081d, 0x0a2b, 0x100f, 0x0a02, 0x0c03}, + {0x0a2a, 0x0a3e, 0x2000, 0x1027, 0x1c08, 0x0c04}, + {0x0a01, 0x1212, 0x0a01, 0x1000, 0x062d, 0xffff}, + {0x1e22, 0x1231, 0x0a01, 0x1018, 0x1c1c, 0x0c03}, + {0x0a01, 0x060b, 0x1030, 0x0a28, 0x2549, 0x0624}, + {0x1014, 0x0a2c, 0x0415, 0x1642, 0x1e1b, 0x0c03}, + {0x0628, 0x1a0f, 0x100b, 0x2017, 0x0c00, 0xffff}, + {0x0a01, 0x1015, 0x1647, 0x1e0f, 0x0e39, 0x0e36}, + {0x0a01, 0x1017, 0x1620, 0x0e19, 0x0a31, 0x0c38}, + {0x0c1d, 0x081d, 0x0c00, 0x1022, 0x1c12, 0x020b}, + {0x1029, 0x1404, 0x102f, 0x1006, 0x1e28, 0x1c1c}, + {0x1029, 0x0e20, 0x1028, 0x1c16, 0x1e29, 0x0c03}, + {0x1e0f, 0x100b, 0x0e2f, 0x0638, 0x100c, 0xffff}, + {0x0a29, 0x1408, 0x102f, 0x061e, 0x102c, 0xffff}, + {0x1023, 0x100b, 0x081d, 0x062d, 0x1037, 0x0a14}, + {0x0a29, 0x1022, 0x1408, 0x102f, 0x161e, 0x1029}, + {0x0601, 0x102c, 0x0a01, 0x1015, 0x0e39, 0x0e36}, + {0x1020, 0x020b, 0x103f, 0x1c12, 0x0c04, 0xffff}, + {0x1018, 0x0a02, 0x103a, 0x0446, 0x020e, 0x0c03}, + {0x1e10, 0x020b, 0x1e0a, 0x100b, 0x063a, 0xffff}, + {0x0a02, 0x1212, 0x1e0f, 0x100b, 0x0638, 0x0c03}, + {0x1e22, 0x1000, 0x161b, 0x103f, 0x1e0f, 0x0c03}, + {0x0a29, 0x0e1e, 0x1025, 0x1e26, 0x0c00, 0xffff}, + {0x0a01, 0x0e1e, 0x1236, 0x102f, 0x120b, 0x0c04}, + {0x2805, 0x1e0f, 0x0a1b, 0x100b, 0x1020, 0x063b}, + {0x0a01, 0x101f, 0x0a3e, 0x1037, 0x1020, 0x0628}, + {0x1026, 0x0a31, 0x1e29, 0x1c1c, 0x0a01, 0x1212}, + {0x0c0a, 0x0c00, 0x1029, 0x101c, 0x1e0f, 0x0c23}, + {0x0a28, 0x020e, 0x100f, 0x1039, 0x142a, 0x0c04}, + {0x0a28, 0x020e, 0x100f, 0x0620, 0x102f, 0x043c}, + {0x0c39, 0x0c39, 0x0c00, 0x0a29, 0x2017, 0x0c39}, + {0x265c, 0x100b, 0x1020, 0x1230, 0x1e05, 0x100c}, +}; + static const u8 gUnknown_086125DC[][4] = { {0x23, 0x46, 0x23, 0x01}, diff --git a/src/battle_pyramid.c b/src/battle_pyramid.c index 01f1389252..dabaf20d02 100644 --- a/src/battle_pyramid.c +++ b/src/battle_pyramid.c @@ -34,33 +34,6 @@ extern void door_upload_tiles(void); extern const struct MapLayout *const gMapLayouts[]; -#define TOTAL_ROUNDS 20 -#define PICKUP_ITEMS_PER_ROUND 10 - -struct Struct_08613650 -{ - u8 unk0; - u8 unk1; - u8 unk2; - u8 unk3; - u8 runMultiplier; - u8 unk5[8]; -}; - -struct PyramidWildMon -{ - u16 species; - u8 lvl; - u8 abilityBit; - u16 moves[4]; -}; - -struct ClassMusic -{ - u8 class; - u8 music; -}; - extern const u16 gBattleFrontierHeldItems[]; extern const struct FacilityMon gBattleFrontierMons[]; extern const struct BattleFrontierTrainer gBattleFrontierTrainers[]; @@ -101,21 +74,6 @@ static bool8 sub_81AA648(u8, u8); static bool8 sub_81AA760(u8 arg0, u8 *mapNums, u8 whichMap, u8 id); static bool8 sub_81AA810(u8 arg0, u8 x, u8 y, u8 *mapNums, u8 whichMap, u8 id); -// Const rom data. -extern const struct Struct_08613650 gUnknown_08613650[]; -extern const u16 sPickupItemsLvl50[TOTAL_ROUNDS][PICKUP_ITEMS_PER_ROUND]; -extern const u16 sPickupItemsLvlOpen[TOTAL_ROUNDS][PICKUP_ITEMS_PER_ROUND]; -extern const u8 gUnknown_08613ABC[63][2]; -extern const u8 gUnknown_08613B3A[]; -extern const u16 gUnknown_08D856C8[][16]; -extern const u8 gUnknown_08613C1C[50][2]; -extern const u8 *const *const *const gUnknown_08613EC0[]; -extern const struct ClassMusic gUnknown_08613B44[54]; -extern const struct PyramidWildMon *const gBattlePyramidOpenLevelWildMonPointers[]; -extern const struct PyramidWildMon *const gBattlePyramidLevel50WildMonPointers[]; -extern const u8 gUnknown_08613794[]; -extern const u8 gUnknown_08613750[34][2]; - static const u8 gUnknown_08613ED8[] = {3, 4, 5, 6, 7, 8, 3, 4}; static void (* const sBattlePyramidFunctions[])(void) = diff --git a/src/data/battle_frontier/battle_pyramid_level_50_wild_mons.h b/src/data/battle_frontier/battle_pyramid_level_50_wild_mons.h new file mode 100644 index 0000000000..0248ce9583 --- /dev/null +++ b/src/data/battle_frontier/battle_pyramid_level_50_wild_mons.h @@ -0,0 +1,1064 @@ + +const struct PyramidWildMon gBattlePyramidLevel50WildMons_Round1[] = +{ + { + .species = SPECIES_PLUSLE, + .lvl = 35, + .abilityBit = 2, + .moves = {MOVE_THUNDER_WAVE, MOVE_SPARK, MOVE_ENCORE, MOVE_NONE} + }, + { + .species = SPECIES_MINUN, + .lvl = 35, + .abilityBit = 2, + .moves = {MOVE_THUNDER_WAVE, MOVE_THUNDERBOLT, MOVE_QUICK_ATTACK, MOVE_NONE} + }, + { + .species = SPECIES_PIKACHU, + .lvl = 37, + .abilityBit = 2, + .moves = {MOVE_THUNDER_WAVE, MOVE_THUNDERBOLT, MOVE_SLAM, MOVE_NONE} + }, + { + .species = SPECIES_ELECTABUZZ, + .lvl = 37, + .abilityBit = 2, + .moves = {MOVE_THUNDER_PUNCH, MOVE_SWIFT, MOVE_SCREECH, MOVE_NONE} + }, + { + .species = SPECIES_VILEPLUME, + .lvl = 39, + .abilityBit = 2, + .moves = {MOVE_STUN_SPORE, MOVE_GIGA_DRAIN, MOVE_PROTECT, MOVE_NONE} + }, + { + .species = SPECIES_MANECTRIC, + .lvl = 39, + .abilityBit = 2, + .moves = {MOVE_THUNDER_WAVE, MOVE_THUNDER, MOVE_QUICK_ATTACK, MOVE_NONE} + }, + { + .species = SPECIES_BRELOOM, + .lvl = 40, + .abilityBit = 2, + .moves = {MOVE_STUN_SPORE, MOVE_FOCUS_PUNCH, MOVE_GIGA_DRAIN, MOVE_MACH_PUNCH} + }, + { + .species = SPECIES_JOLTEON, + .lvl = 40, + .abilityBit = 2, + .moves = {MOVE_THUNDER_WAVE, MOVE_THUNDER, MOVE_PIN_MISSILE, MOVE_QUICK_ATTACK} + } +}; + +const struct PyramidWildMon gBattlePyramidLevel50WildMons_Round2[] = +{ + { + .species = SPECIES_GULPIN, + .lvl = 36, + .abilityBit = 2, + .moves = {MOVE_TOXIC, MOVE_SLUDGE, MOVE_PROTECT, MOVE_NONE} + }, + { + .species = SPECIES_ROSELIA, + .lvl = 36, + .abilityBit = 2, + .moves = {MOVE_TOXIC, MOVE_GIGA_DRAIN, MOVE_MAGICAL_LEAF, MOVE_PETAL_DANCE} + }, + { + .species = SPECIES_BUTTERFREE, + .lvl = 38, + .abilityBit = 2, + .moves = {MOVE_POISON_POWDER, MOVE_GUST, MOVE_PSYBEAM, MOVE_NONE} + }, + { + .species = SPECIES_SEVIPER, + .lvl = 38, + .abilityBit = 2, + .moves = {MOVE_POISON_FANG, MOVE_SWAGGER, MOVE_CRUNCH, MOVE_POISON_TAIL} + }, + { + .species = SPECIES_SKARMORY, + .lvl = 40, + .abilityBit = 2, + .moves = {MOVE_TOXIC, MOVE_FLY, MOVE_STEEL_WING, MOVE_NONE} + }, + { + .species = SPECIES_LUDICOLO, + .lvl = 40, + .abilityBit = 1, + .moves = {MOVE_TOXIC, MOVE_PROTECT, MOVE_DIVE, MOVE_RAIN_DANCE} + }, + { + .species = SPECIES_CROBAT, + .lvl = 41, + .abilityBit = 2, + .moves = {MOVE_TOXIC, MOVE_CONFUSE_RAY, MOVE_MEAN_LOOK, MOVE_BITE} + }, + { + .species = SPECIES_GENGAR, + .lvl = 41, + .abilityBit = 2, + .moves = {MOVE_TOXIC, MOVE_SHADOW_PUNCH, MOVE_NIGHT_SHADE, MOVE_NONE} + } +}; + +const struct PyramidWildMon gBattlePyramidLevel50WildMons_Round3[] = +{ + { + .species = SPECIES_GROWLITHE, + .lvl = 37, + .abilityBit = 2, + .moves = {MOVE_FLAME_WHEEL, MOVE_TAKE_DOWN, MOVE_NONE, MOVE_NONE} + }, + { + .species = SPECIES_VULPIX, + .lvl = 37, + .abilityBit = 2, + .moves = {MOVE_WILL_O_WISP, MOVE_FLAMETHROWER, MOVE_NONE, MOVE_NONE} + }, + { + .species = SPECIES_MAGCARGO, + .lvl = 39, + .abilityBit = 1, + .moves = {MOVE_FLAMETHROWER, MOVE_ROCK_SLIDE, MOVE_PROTECT, MOVE_NONE} + }, + { + .species = SPECIES_NINETALES, + .lvl = 39, + .abilityBit = 2, + .moves = {MOVE_WILL_O_WISP, MOVE_QUICK_ATTACK, MOVE_FLAMETHROWER, MOVE_NONE} + }, + { + .species = SPECIES_MEDICHAM, + .lvl = 41, + .abilityBit = 2, + .moves = {MOVE_FIRE_PUNCH, MOVE_HI_JUMP_KICK, MOVE_NONE, MOVE_NONE} + }, + { + .species = SPECIES_WEEZING, + .lvl = 41, + .abilityBit = 2, + .moves = {MOVE_WILL_O_WISP, MOVE_FLAMETHROWER, MOVE_PROTECT, MOVE_NONE} + }, + { + .species = SPECIES_DUSCLOPS, + .lvl = 42, + .abilityBit = 2, + .moves = {MOVE_WILL_O_WISP, MOVE_CONFUSE_RAY, MOVE_MEAN_LOOK, MOVE_SHADOW_PUNCH} + }, + { + .species = SPECIES_HOUNDOOM, + .lvl = 42, + .abilityBit = 2, + .moves = {MOVE_FLAMETHROWER, MOVE_BITE, MOVE_SOLAR_BEAM, MOVE_OVERHEAT} + } +}; + +const struct PyramidWildMon gBattlePyramidLevel50WildMons_Round4[] = +{ + { + .species = SPECIES_DUNSPARCE, + .lvl = 42, + .abilityBit = 2, + .moves = {MOVE_SPITE, MOVE_TOXIC, MOVE_PROTECT, MOVE_NONE} + }, + { + .species = SPECIES_BANETTE, + .lvl = 41, + .abilityBit = 2, + .moves = {MOVE_GRUDGE, MOVE_WILL_O_WISP, MOVE_NIGHT_SHADE, MOVE_NONE} + }, + { + .species = SPECIES_MISDREAVUS, + .lvl = 42, + .abilityBit = 2, + .moves = {MOVE_GRUDGE, MOVE_SPITE, MOVE_SHADOW_BALL, MOVE_NONE} + }, + { + .species = SPECIES_NINETALES, + .lvl = 42, + .abilityBit = 2, + .moves = {MOVE_GRUDGE, MOVE_WILL_O_WISP, MOVE_OVERHEAT, MOVE_NONE} + }, + { + .species = SPECIES_ABSOL, + .lvl = 44, + .abilityBit = 2, + .moves = {MOVE_BITE, MOVE_AERIAL_ACE, MOVE_SHADOW_BALL, MOVE_PROTECT} + }, + { + .species = SPECIES_DUSCLOPS, + .lvl = 44, + .abilityBit = 2, + .moves = {MOVE_WILL_O_WISP, MOVE_PROTECT, MOVE_TOXIC, MOVE_SHADOW_BALL} + }, + { + .species = SPECIES_SHEDINJA, + .lvl = 45, + .abilityBit = 2, + .moves = {MOVE_GRUDGE, MOVE_TOXIC, MOVE_SPITE, MOVE_NONE} + }, + { + .species = SPECIES_GENGAR, + .lvl = 45, + .abilityBit = 2, + .moves = {MOVE_GRUDGE, MOVE_SPITE, MOVE_NIGHT_SHADE, MOVE_NONE} + } +}; + +const struct PyramidWildMon gBattlePyramidLevel50WildMons_Round5[] = +{ + { + .species = SPECIES_HAUNTER, + .lvl = 41, + .abilityBit = 2, + .moves = {MOVE_NIGHT_SHADE, MOVE_THUNDERBOLT, MOVE_SLUDGE_BOMB, MOVE_NONE} + }, + { + .species = SPECIES_CHIMECHO, + .lvl = 41, + .abilityBit = 2, + .moves = {MOVE_DOUBLE_EDGE, MOVE_TOXIC, MOVE_PSYCHIC, MOVE_PROTECT} + }, + { + .species = SPECIES_SOLROCK, + .lvl = 42, + .abilityBit = 2, + .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_FIRE_BLAST, MOVE_TOXIC} + }, + { + .species = SPECIES_MISDREAVUS, + .lvl = 42, + .abilityBit = 2, + .moves = {MOVE_PSYCHIC, MOVE_SPITE, MOVE_SHADOW_BALL, MOVE_PAIN_SPLIT} + }, + { + .species = SPECIES_CLAYDOL, + .lvl = 44, + .abilityBit = 2, + .moves = {MOVE_EARTHQUAKE, MOVE_ANCIENT_POWER, MOVE_SELF_DESTRUCT, MOVE_PSYCHIC} + }, + { + .species = SPECIES_WEEZING, + .lvl = 44, + .abilityBit = 2, + .moves = {MOVE_SLUDGE_BOMB, MOVE_SELF_DESTRUCT, MOVE_PROTECT, MOVE_NONE} + }, + { + .species = SPECIES_FLYGON, + .lvl = 45, + .abilityBit = 2, + .moves = {MOVE_EARTHQUAKE, MOVE_CRUNCH, MOVE_DRAGON_CLAW, MOVE_DRAGON_BREATH} + }, + { + .species = SPECIES_GENGAR, + .lvl = 45, + .abilityBit = 2, + .moves = {MOVE_THUNDERBOLT, MOVE_PSYCHIC, MOVE_GIGA_DRAIN, MOVE_NIGHT_SHADE} + } +}; + +const struct PyramidWildMon gBattlePyramidLevel50WildMons_Round6[] = +{ + { + .species = SPECIES_DIGLETT, + .lvl = 41, + .abilityBit = 2, + .moves = {MOVE_ROCK_SLIDE, MOVE_SLASH, MOVE_DIG, MOVE_NONE} + }, + { + .species = SPECIES_TRAPINCH, + .lvl = 41, + .abilityBit = 2, + .moves = {MOVE_ROCK_SLIDE, MOVE_EARTHQUAKE, MOVE_GIGA_DRAIN, MOVE_NONE} + }, + { + .species = SPECIES_WYNAUT, + .lvl = 42, + .abilityBit = 0, + .moves = {MOVE_DESTINY_BOND, MOVE_SPLASH, MOVE_COUNTER, MOVE_MIRROR_COAT} + }, + { + .species = SPECIES_DIGLETT, + .lvl = 42, + .abilityBit = 2, + .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_MAGNITUDE, MOVE_TOXIC} + }, + { + .species = SPECIES_TRAPINCH, + .lvl = 44, + .abilityBit = 2, + .moves = {MOVE_ROCK_SLIDE, MOVE_EARTHQUAKE, MOVE_GIGA_DRAIN, MOVE_PROTECT} + }, + { + .species = SPECIES_WYNAUT, + .lvl = 44, + .abilityBit = 0, + .moves = {MOVE_COUNTER, MOVE_MIRROR_COAT, MOVE_DESTINY_BOND, MOVE_NONE} + }, + { + .species = SPECIES_WOBBUFFET, + .lvl = 45, + .abilityBit = 0, + .moves = {MOVE_COUNTER, MOVE_MIRROR_COAT, MOVE_DESTINY_BOND, MOVE_NONE} + }, + { + .species = SPECIES_DUGTRIO, + .lvl = 45, + .abilityBit = 1, + .moves = {MOVE_ROCK_SLIDE, MOVE_SLUDGE_BOMB, MOVE_EARTHQUAKE, MOVE_PROTECT} + } +}; + +const struct PyramidWildMon gBattlePyramidLevel50WildMons_Round7[] = +{ + { + .species = SPECIES_GLALIE, + .lvl = 41, + .abilityBit = 2, + .moves = {MOVE_ICE_BEAM, MOVE_CRUNCH, MOVE_PROTECT, MOVE_NONE} + }, + { + .species = SPECIES_SNEASEL, + .lvl = 41, + .abilityBit = 2, + .moves = {MOVE_ICE_BEAM, MOVE_CRUSH_CLAW, MOVE_SPITE, MOVE_NONE} + }, + { + .species = SPECIES_DEWGONG, + .lvl = 42, + .abilityBit = 2, + .moves = {MOVE_BLIZZARD, MOVE_DOUBLE_EDGE, MOVE_SURF, MOVE_NONE} + }, + { + .species = SPECIES_PILOSWINE, + .lvl = 42, + .abilityBit = 2, + .moves = {MOVE_ICE_BEAM, MOVE_EARTHQUAKE, MOVE_TOXIC, MOVE_NONE} + }, + { + .species = SPECIES_JYNX, + .lvl = 44, + .abilityBit = 2, + .moves = {MOVE_BLIZZARD, MOVE_LOVELY_KISS, MOVE_PSYCHIC, MOVE_NONE} + }, + { + .species = SPECIES_CLOYSTER, + .lvl = 44, + .abilityBit = 2, + .moves = {MOVE_ICE_BEAM, MOVE_SURF, MOVE_PROTECT, MOVE_NONE} + }, + { + .species = SPECIES_WALREIN, + .lvl = 45, + .abilityBit = 2, + .moves = {MOVE_BLIZZARD, MOVE_BODY_SLAM, MOVE_SURF, MOVE_NONE} + }, + { + .species = SPECIES_LAPRAS, + .lvl = 45, + .abilityBit = 2, + .moves = {MOVE_SING, MOVE_BODY_SLAM, MOVE_ICE_BEAM, MOVE_PSYCHIC} + } +}; + +const struct PyramidWildMon gBattlePyramidLevel50WildMons_Round8[] = +{ + { + .species = SPECIES_WEEZING, + .lvl = 41, + .abilityBit = 2, + .moves = {MOVE_SELF_DESTRUCT, MOVE_SLUDGE_BOMB, MOVE_FIRE_BLAST, MOVE_NONE} + }, + { + .species = SPECIES_ELECTRODE, + .lvl = 41, + .abilityBit = 2, + .moves = {MOVE_SELF_DESTRUCT, MOVE_THUNDERBOLT, MOVE_ROLLOUT, MOVE_NONE} + }, + { + .species = SPECIES_GENGAR, + .lvl = 42, + .abilityBit = 2, + .moves = {MOVE_DESTINY_BOND, MOVE_LICK, MOVE_SHADOW_BALL, MOVE_NONE} + }, + { + .species = SPECIES_GOLEM, + .lvl = 42, + .abilityBit = 2, + .moves = {MOVE_SELF_DESTRUCT, MOVE_PROTECT, MOVE_EARTHQUAKE, MOVE_NONE} + }, + { + .species = SPECIES_PINECO, + .lvl = 44, + .abilityBit = 2, + .moves = {MOVE_EXPLOSION, MOVE_DOUBLE_EDGE, MOVE_GIGA_DRAIN, MOVE_NONE} + }, + { + .species = SPECIES_SOLROCK, + .lvl = 44, + .abilityBit = 2, + .moves = {MOVE_EXPLOSION, MOVE_FIRE_SPIN, MOVE_PSYWAVE, MOVE_NONE} + }, + { + .species = SPECIES_FORRETRESS, + .lvl = 45, + .abilityBit = 2, + .moves = {MOVE_EXPLOSION, MOVE_TOXIC, MOVE_ROCK_SLIDE, MOVE_NONE} + }, + { + .species = SPECIES_SHIFTRY, + .lvl = 45, + .abilityBit = 2, + .moves = {MOVE_EXPLOSION, MOVE_GIGA_DRAIN, MOVE_SOLAR_BEAM, MOVE_PROTECT} + } +}; + +const struct PyramidWildMon gBattlePyramidLevel50WildMons_Round9[] = +{ + { + .species = SPECIES_WOBBUFFET, + .lvl = 41, + .abilityBit = 2, + .moves = {MOVE_COUNTER, MOVE_MIRROR_COAT, MOVE_SAFEGUARD, MOVE_DESTINY_BOND} + }, + { + .species = SPECIES_METANG, + .lvl = 41, + .abilityBit = 2, + .moves = {MOVE_EARTHQUAKE, MOVE_TOXIC, MOVE_SLUDGE_BOMB, MOVE_PSYCHIC} + }, + { + .species = SPECIES_EXEGGUTOR, + .lvl = 42, + .abilityBit = 2, + .moves = {MOVE_EGG_BOMB, MOVE_PSYCHIC, MOVE_HYPNOSIS, MOVE_NONE} + }, + { + .species = SPECIES_SLOWKING, + .lvl = 42, + .abilityBit = 2, + .moves = {MOVE_SHADOW_BALL, MOVE_SURF, MOVE_ICE_BEAM, MOVE_FLAMETHROWER} + }, + { + .species = SPECIES_XATU, + .lvl = 44, + .abilityBit = 2, + .moves = {MOVE_CONFUSE_RAY, MOVE_SHADOW_BALL, MOVE_PSYCHIC, MOVE_STEEL_WING} + }, + { + .species = SPECIES_ALAKAZAM, + .lvl = 44, + .abilityBit = 2, + .moves = {MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_TOXIC} + }, + { + .species = SPECIES_STARMIE, + .lvl = 45, + .abilityBit = 2, + .moves = {MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_SURF, MOVE_ICE_BEAM} + }, + { + .species = SPECIES_ESPEON, + .lvl = 45, + .abilityBit = 2, + .moves = {MOVE_PSYCHIC, MOVE_DIG, MOVE_SHADOW_BALL, MOVE_NONE} + } +}; + +const struct PyramidWildMon gBattlePyramidLevel50WildMons_Round10[] = +{ + { + .species = SPECIES_GOLEM, + .lvl = 41, + .abilityBit = 2, + .moves = {MOVE_SELF_DESTRUCT, MOVE_EARTHQUAKE, MOVE_PROTECT, MOVE_NONE} + }, + { + .species = SPECIES_STEELIX, + .lvl = 41, + .abilityBit = 2, + .moves = {MOVE_IRON_TAIL, MOVE_CRUNCH, MOVE_EARTHQUAKE, MOVE_NONE} + }, + { + .species = SPECIES_OMASTAR, + .lvl = 42, + .abilityBit = 2, + .moves = {MOVE_SURF, MOVE_MUD_SHOT, MOVE_ANCIENT_POWER, MOVE_NONE} + }, + { + .species = SPECIES_LUNATONE, + .lvl = 42, + .abilityBit = 2, + .moves = {MOVE_HYPNOSIS, MOVE_PSYWAVE, MOVE_EXPLOSION, MOVE_NONE} + }, + { + .species = SPECIES_SHUCKLE, + .lvl = 44, + .abilityBit = 2, + .moves = {MOVE_TOXIC, MOVE_PROTECT, MOVE_WRAP, MOVE_NONE} + }, + { + .species = SPECIES_ARMALDO, + .lvl = 44, + .abilityBit = 2, + .moves = {MOVE_ANCIENT_POWER, MOVE_PROTECT, MOVE_AERIAL_ACE, MOVE_NONE} + }, + { + .species = SPECIES_CRADILY, + .lvl = 45, + .abilityBit = 2, + .moves = {MOVE_SLUDGE_BOMB, MOVE_GIGA_DRAIN, MOVE_CONFUSE_RAY, MOVE_NONE} + }, + { + .species = SPECIES_AERODACTYL, + .lvl = 45, + .abilityBit = 2, + .moves = {MOVE_HYPER_BEAM, MOVE_ROCK_SLIDE, MOVE_BITE, MOVE_NONE} + } +}; + +const struct PyramidWildMon gBattlePyramidLevel50WildMons_Round11[] = +{ + { + .species = SPECIES_POLIWRATH, + .lvl = 41, + .abilityBit = 2, + .moves = {MOVE_SUBMISSION, MOVE_FOCUS_PUNCH, MOVE_SURF, MOVE_NONE} + }, + { + .species = SPECIES_HARIYAMA, + .lvl = 41, + .abilityBit = 2, + .moves = {MOVE_FAKE_OUT, MOVE_SURF, MOVE_FOCUS_PUNCH, MOVE_NONE} + }, + { + .species = SPECIES_BRELOOM, + .lvl = 42, + .abilityBit = 2, + .moves = {MOVE_SPORE, MOVE_FOCUS_PUNCH, MOVE_PROTECT, MOVE_NONE} + }, + { + .species = SPECIES_MEDICHAM, + .lvl = 42, + .abilityBit = 2, + .moves = {MOVE_THUNDER_PUNCH, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_FOCUS_PUNCH} + }, + { + .species = SPECIES_HITMONCHAN, + .lvl = 44, + .abilityBit = 2, + .moves = {MOVE_THUNDER_PUNCH, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_FOCUS_PUNCH} + }, + { + .species = SPECIES_HITMONLEE, + .lvl = 44, + .abilityBit = 2, + .moves = {MOVE_MEGA_KICK, MOVE_FOCUS_PUNCH, MOVE_NONE, MOVE_NONE} + }, + { + .species = SPECIES_HERACROSS, + .lvl = 45, + .abilityBit = 2, + .moves = {MOVE_MEGAHORN, MOVE_EARTHQUAKE, MOVE_FOCUS_PUNCH, MOVE_ROCK_SLIDE} + }, + { + .species = SPECIES_MACHAMP, + .lvl = 50, + .abilityBit = 2, + .moves = {MOVE_ROCK_SLIDE, MOVE_EARTHQUAKE, MOVE_FOCUS_PUNCH, MOVE_SEISMIC_TOSS} + } +}; + +const struct PyramidWildMon gBattlePyramidLevel50WildMons_Round12[] = +{ + { + .species = SPECIES_QUAGSIRE, + .lvl = 41, + .abilityBit = 2, + .moves = {MOVE_RAIN_DANCE, MOVE_SURF, MOVE_PROTECT, MOVE_NONE} + }, + { + .species = SPECIES_TROPIUS, + .lvl = 41, + .abilityBit = 2, + .moves = {MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM, MOVE_NONE, MOVE_NONE} + }, + { + .species = SPECIES_PUPITAR, + .lvl = 42, + .abilityBit = 2, + .moves = {MOVE_SANDSTORM, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_NONE} + }, + { + .species = SPECIES_LAPRAS, + .lvl = 42, + .abilityBit = 2, + .moves = {MOVE_HAIL, MOVE_ICE_BEAM, MOVE_NONE, MOVE_NONE} + }, + { + .species = SPECIES_CACTURNE, + .lvl = 44, + .abilityBit = 2, + .moves = {MOVE_SANDSTORM, MOVE_GIGA_DRAIN, MOVE_SOLAR_BEAM, MOVE_NONE} + }, + { + .species = SPECIES_FLAREON, + .lvl = 44, + .abilityBit = 2, + .moves = {MOVE_SUNNY_DAY, MOVE_FLAMETHROWER, MOVE_PROTECT, MOVE_NONE} + }, + { + .species = SPECIES_WALREIN, + .lvl = 45, + .abilityBit = 2, + .moves = {MOVE_HAIL, MOVE_ICE_BEAM, MOVE_NONE, MOVE_NONE} + }, + { + .species = SPECIES_GYARADOS, + .lvl = 50, + .abilityBit = 2, + .moves = {MOVE_RAIN_DANCE, MOVE_THUNDER, MOVE_HYDRO_PUMP, MOVE_NONE} + } +}; + +const struct PyramidWildMon gBattlePyramidLevel50WildMons_Round13[] = +{ + { + .species = SPECIES_PINECO, + .lvl = 42, + .abilityBit = 2, + .moves = {MOVE_EXPLOSION, MOVE_TAKE_DOWN, MOVE_NONE, MOVE_NONE} + }, + { + .species = SPECIES_SHUCKLE, + .lvl = 42, + .abilityBit = 2, + .moves = {MOVE_TOXIC, MOVE_EARTHQUAKE, MOVE_PROTECT, MOVE_NONE} + }, + { + .species = SPECIES_VENOMOTH, + .lvl = 46, + .abilityBit = 2, + .moves = {MOVE_SILVER_WIND, MOVE_POISON_POWDER, MOVE_SLEEP_POWDER, MOVE_PSYCHIC} + }, + { + .species = SPECIES_SCIZOR, + .lvl = 46, + .abilityBit = 2, + .moves = {MOVE_QUICK_ATTACK, MOVE_METAL_CLAW, MOVE_FURY_CUTTER, MOVE_PURSUIT} + }, + { + .species = SPECIES_HERACROSS, + .lvl = 48, + .abilityBit = 2, + .moves = {MOVE_MEGAHORN, MOVE_BRICK_BREAK, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE} + }, + { + .species = SPECIES_FORRETRESS, + .lvl = 48, + .abilityBit = 2, + .moves = {MOVE_EXPLOSION, MOVE_EARTHQUAKE, MOVE_PROTECT, MOVE_NONE} + }, + { + .species = SPECIES_ARMALDO, + .lvl = 50, + .abilityBit = 2, + .moves = {MOVE_WATER_PULSE, MOVE_PROTECT, MOVE_ROCK_SLIDE, MOVE_NONE} + }, + { + .species = SPECIES_SHEDINJA, + .lvl = 50, + .abilityBit = 2, + .moves = {MOVE_SHADOW_BALL, MOVE_TOXIC, MOVE_SPITE, MOVE_GRUDGE} + } +}; + +const struct PyramidWildMon gBattlePyramidLevel50WildMons_Round14[] = +{ + { + .species = SPECIES_SABLEYE, + .lvl = 42, + .abilityBit = 2, + .moves = {MOVE_NIGHT_SHADE, MOVE_PSYCHIC, MOVE_AERIAL_ACE, MOVE_NONE} + }, + { + .species = SPECIES_SNEASEL, + .lvl = 42, + .abilityBit = 2, + .moves = {MOVE_ICE_BEAM, MOVE_TAUNT, MOVE_FAINT_ATTACK, MOVE_QUICK_ATTACK} + }, + { + .species = SPECIES_CRAWDAUNT, + .lvl = 46, + .abilityBit = 2, + .moves = {MOVE_CRABHAMMER, MOVE_ICE_BEAM, MOVE_SURF, MOVE_NONE} + }, + { + .species = SPECIES_SHIFTRY, + .lvl = 46, + .abilityBit = 2, + .moves = {MOVE_EXPLOSION, MOVE_SHADOW_BALL, MOVE_AERIAL_ACE, MOVE_GIGA_DRAIN} + }, + { + .species = SPECIES_CACTURNE, + .lvl = 48, + .abilityBit = 2, + .moves = {MOVE_TOXIC, MOVE_GIGA_DRAIN, MOVE_NEEDLE_ARM, MOVE_NONE} + }, + { + .species = SPECIES_ABSOL, + .lvl = 48, + .abilityBit = 2, + .moves = {MOVE_BITE, MOVE_PROTECT, MOVE_SLASH, MOVE_NONE} + }, + { + .species = SPECIES_HOUNDOOM, + .lvl = 50, + .abilityBit = 2, + .moves = {MOVE_OVERHEAT, MOVE_CRUNCH, MOVE_SHADOW_BALL, MOVE_PROTECT} + }, + { + .species = SPECIES_UMBREON, + .lvl = 50, + .abilityBit = 2, + .moves = {MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_IRON_TAIL, MOVE_QUICK_ATTACK} + } +}; + +const struct PyramidWildMon gBattlePyramidLevel50WildMons_Round15[] = +{ + { + .species = SPECIES_OCTILLERY, + .lvl = 42, + .abilityBit = 2, + .moves = {MOVE_OCTAZOOKA, MOVE_ICE_BEAM, MOVE_FIRE_BLAST, MOVE_NONE} + }, + { + .species = SPECIES_DEWGONG, + .lvl = 42, + .abilityBit = 2, + .moves = {MOVE_WATER_PULSE, MOVE_ICE_BEAM, MOVE_HEADBUTT, MOVE_NONE} + }, + { + .species = SPECIES_PELIPPER, + .lvl = 46, + .abilityBit = 2, + .moves = {MOVE_PROTECT, MOVE_SUPERSONIC, MOVE_SURF, MOVE_NONE} + }, + { + .species = SPECIES_QUAGSIRE, + .lvl = 46, + .abilityBit = 2, + .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_TOMB, MOVE_SURF, MOVE_NONE} + }, + { + .species = SPECIES_LUDICOLO, + .lvl = 48, + .abilityBit = 2, + .moves = {MOVE_PROTECT, MOVE_SOLAR_BEAM, MOVE_TOXIC, MOVE_ICE_BEAM} + }, + { + .species = SPECIES_SLOWKING, + .lvl = 48, + .abilityBit = 2, + .moves = {MOVE_PSYCHIC, MOVE_HEADBUTT, MOVE_SWAGGER, MOVE_NONE} + }, + { + .species = SPECIES_STARMIE, + .lvl = 50, + .abilityBit = 2, + .moves = {MOVE_WATER_PULSE, MOVE_THUNDERBOLT, MOVE_CONFUSE_RAY, MOVE_BLIZZARD} + }, + { + .species = SPECIES_BLASTOISE, + .lvl = 50, + .abilityBit = 2, + .moves = {MOVE_HYDRO_PUMP, MOVE_BITE, MOVE_ICE_BEAM, MOVE_NONE} + } +}; + +const struct PyramidWildMon gBattlePyramidLevel50WildMons_Round16[] = +{ + { + .species = SPECIES_DUSKULL, + .lvl = 42, + .abilityBit = 2, + .moves = {MOVE_NIGHT_SHADE, MOVE_WILL_O_WISP, MOVE_SHADOW_BALL, MOVE_PROTECT} + }, + { + .species = SPECIES_HAUNTER, + .lvl = 42, + .abilityBit = 2, + .moves = {MOVE_TOXIC, MOVE_SPITE, MOVE_HYPNOSIS, MOVE_SHADOW_BALL} + }, + { + .species = SPECIES_BANETTE, + .lvl = 46, + .abilityBit = 2, + .moves = {MOVE_SHADOW_BALL, MOVE_SPITE, MOVE_WILL_O_WISP, MOVE_NONE} + }, + { + .species = SPECIES_MISDREAVUS, + .lvl = 46, + .abilityBit = 2, + .moves = {MOVE_PERISH_SONG, MOVE_SPITE, MOVE_MEAN_LOOK, MOVE_NONE} + }, + { + .species = SPECIES_SABLEYE, + .lvl = 48, + .abilityBit = 2, + .moves = {MOVE_SHADOW_BALL, MOVE_MEAN_LOOK, MOVE_DIG, MOVE_NIGHT_SHADE} + }, + { + .species = SPECIES_DUSCLOPS, + .lvl = 48, + .abilityBit = 2, + .moves = {MOVE_WILL_O_WISP, MOVE_TOXIC, MOVE_SHADOW_BALL, MOVE_NONE} + }, + { + .species = SPECIES_SHEDINJA, + .lvl = 50, + .abilityBit = 2, + .moves = {MOVE_SHADOW_BALL, MOVE_SPITE, MOVE_GRUDGE, MOVE_PROTECT} + }, + { + .species = SPECIES_GENGAR, + .lvl = 50, + .abilityBit = 2, + .moves = {MOVE_PSYCHIC, MOVE_DESTINY_BOND, MOVE_SPITE, MOVE_NIGHT_SHADE} + } +}; + +const struct PyramidWildMon gBattlePyramidLevel50WildMons_Round17[] = +{ + { + .species = SPECIES_MAWILE, + .lvl = 42, + .abilityBit = 2, + .moves = {MOVE_CRUNCH, MOVE_TOXIC, MOVE_ICE_BEAM, MOVE_NONE} + }, + { + .species = SPECIES_MAGNETON, + .lvl = 42, + .abilityBit = 2, + .moves = {MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_NONE, MOVE_NONE} + }, + { + .species = SPECIES_STEELIX, + .lvl = 46, + .abilityBit = 2, + .moves = {MOVE_ROCK_THROW, MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_NONE} + }, + { + .species = SPECIES_SCIZOR, + .lvl = 46, + .abilityBit = 2, + .moves = {MOVE_METAL_CLAW, MOVE_SLASH, MOVE_NONE, MOVE_NONE} + }, + { + .species = SPECIES_FORRETRESS, + .lvl = 48, + .abilityBit = 2, + .moves = {MOVE_EXPLOSION, MOVE_TOXIC, MOVE_NONE, MOVE_NONE} + }, + { + .species = SPECIES_SKARMORY, + .lvl = 48, + .abilityBit = 2, + .moves = {MOVE_STEEL_WING, MOVE_TOXIC, MOVE_FLY, MOVE_PROTECT} + }, + { + .species = SPECIES_AGGRON, + .lvl = 50, + .abilityBit = 2, + .moves = {MOVE_EARTHQUAKE, MOVE_TAKE_DOWN, MOVE_SURF, MOVE_ICE_BEAM} + }, + { + .species = SPECIES_METAGROSS, + .lvl = 50, + .abilityBit = 2, + .moves = {MOVE_EARTHQUAKE, MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_BRICK_BREAK} + } +}; + +const struct PyramidWildMon gBattlePyramidLevel50WildMons_Round18[] = +{ + { + .species = SPECIES_DRAGONAIR, + .lvl = 42, + .abilityBit = 2, + .moves = {MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_ICE_BEAM, MOVE_NONE} + }, + { + .species = SPECIES_VIBRAVA, + .lvl = 42, + .abilityBit = 2, + .moves = {MOVE_EARTHQUAKE, MOVE_DRAGON_BREATH, MOVE_CRUNCH, MOVE_STEEL_WING} + }, + { + .species = SPECIES_ALTARIA, + .lvl = 46, + .abilityBit = 2, + .moves = {MOVE_EARTHQUAKE, MOVE_DRAGON_CLAW, MOVE_SING, MOVE_PROTECT} + }, + { + .species = SPECIES_FLYGON, + .lvl = 46, + .abilityBit = 2, + .moves = {MOVE_EARTHQUAKE, MOVE_DRAGON_CLAW, MOVE_FIRE_BLAST, MOVE_NONE} + }, + { + .species = SPECIES_AERODACTYL, + .lvl = 48, + .abilityBit = 2, + .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_DRAGON_CLAW, MOVE_NONE} + }, + { + .species = SPECIES_GYARADOS, + .lvl = 48, + .abilityBit = 2, + .moves = {MOVE_EARTHQUAKE, MOVE_SURF, MOVE_THRASH, MOVE_BITE} + }, + { + .species = SPECIES_KINGDRA, + .lvl = 50, + .abilityBit = 2, + .moves = {MOVE_HYDRO_PUMP, MOVE_ICE_BEAM, MOVE_PROTECT, MOVE_NONE} + }, + { + .species = SPECIES_CHARIZARD, + .lvl = 50, + .abilityBit = 2, + .moves = {MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, MOVE_FIRE_BLAST, MOVE_IRON_TAIL} + } +}; + +const struct PyramidWildMon gBattlePyramidLevel50WildMons_Round19[] = +{ + { + .species = SPECIES_ARCANINE, + .lvl = 42, + .abilityBit = 2, + .moves = {MOVE_FIRE_BLAST, MOVE_TAKE_DOWN, MOVE_NONE, MOVE_NONE} + }, + { + .species = SPECIES_POLIWRATH, + .lvl = 42, + .abilityBit = 2, + .moves = {MOVE_HYDRO_PUMP, MOVE_ICE_BEAM, MOVE_NONE, MOVE_NONE} + }, + { + .species = SPECIES_RAICHU, + .lvl = 46, + .abilityBit = 2, + .moves = {MOVE_THUNDER, MOVE_THUNDER_WAVE, MOVE_SLAM, MOVE_NONE} + }, + { + .species = SPECIES_VAPOREON, + .lvl = 46, + .abilityBit = 2, + .moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_NONE, MOVE_NONE} + }, + { + .species = SPECIES_JOLTEON, + .lvl = 48, + .abilityBit = 2, + .moves = {MOVE_THUNDERBOLT, MOVE_PIN_MISSILE, MOVE_NONE, MOVE_NONE} + }, + { + .species = SPECIES_FLAREON, + .lvl = 48, + .abilityBit = 2, + .moves = {MOVE_FLAMETHROWER, MOVE_BITE, MOVE_NONE, MOVE_NONE} + }, + { + .species = SPECIES_NINETALES, + .lvl = 50, + .abilityBit = 2, + .moves = {MOVE_FLAMETHROWER, MOVE_WILL_O_WISP, MOVE_PROTECT, MOVE_NONE} + }, + { + .species = SPECIES_STARMIE, + .lvl = 50, + .abilityBit = 2, + .moves = {MOVE_ICE_BEAM, MOVE_SURF, MOVE_THUNDERBOLT, MOVE_PSYCHIC} + } +}; + +const struct PyramidWildMon gBattlePyramidLevel50WildMons_Round20[] = +{ + { + .species = SPECIES_KANGASKHAN, + .lvl = 42, + .abilityBit = 2, + .moves = {MOVE_HYPER_BEAM, MOVE_FLAMETHROWER, MOVE_SURF, MOVE_DIZZY_PUNCH} + }, + { + .species = SPECIES_SWELLOW, + .lvl = 42, + .abilityBit = 2, + .moves = {MOVE_AERIAL_ACE, MOVE_HYPER_BEAM, MOVE_TOXIC, MOVE_NONE} + }, + { + .species = SPECIES_URSARING, + .lvl = 46, + .abilityBit = 2, + .moves = {MOVE_HYPER_BEAM, MOVE_EARTHQUAKE, MOVE_FOCUS_PUNCH, MOVE_PROTECT} + }, + { + .species = SPECIES_PORYGON2, + .lvl = 46, + .abilityBit = 2, + .moves = {MOVE_PSYBEAM, MOVE_HYPER_BEAM, MOVE_SHADOW_BALL, MOVE_ICE_BEAM} + }, + { + .species = SPECIES_TAUROS, + .lvl = 48, + .abilityBit = 2, + .moves = {MOVE_EARTHQUAKE, MOVE_HYPER_BEAM, MOVE_SURF, MOVE_THUNDERBOLT} + }, + { + .species = SPECIES_FEAROW, + .lvl = 48, + .abilityBit = 2, + .moves = {MOVE_HYPER_BEAM, MOVE_FLY, MOVE_MIRROR_MOVE, MOVE_PROTECT} + }, + { + .species = SPECIES_SNORLAX, + .lvl = 50, + .abilityBit = 2, + .moves = {MOVE_HYPER_BEAM, MOVE_BODY_SLAM, MOVE_SHADOW_BALL, MOVE_EARTHQUAKE} + }, + { + .species = SPECIES_SLAKING, + .lvl = 50, + .abilityBit = 2, + .moves = {MOVE_HYPER_BEAM, MOVE_EARTHQUAKE, MOVE_SHADOW_BALL, MOVE_ICE_BEAM} + } +}; + +const struct PyramidWildMon *const gBattlePyramidLevel50WildMonPointers[] = +{ + gBattlePyramidLevel50WildMons_Round1, + gBattlePyramidLevel50WildMons_Round2, + gBattlePyramidLevel50WildMons_Round3, + gBattlePyramidLevel50WildMons_Round4, + gBattlePyramidLevel50WildMons_Round5, + gBattlePyramidLevel50WildMons_Round6, + gBattlePyramidLevel50WildMons_Round7, + gBattlePyramidLevel50WildMons_Round8, + gBattlePyramidLevel50WildMons_Round9, + gBattlePyramidLevel50WildMons_Round10, + gBattlePyramidLevel50WildMons_Round11, + gBattlePyramidLevel50WildMons_Round12, + gBattlePyramidLevel50WildMons_Round13, + gBattlePyramidLevel50WildMons_Round14, + gBattlePyramidLevel50WildMons_Round15, + gBattlePyramidLevel50WildMons_Round16, + gBattlePyramidLevel50WildMons_Round17, + gBattlePyramidLevel50WildMons_Round18, + gBattlePyramidLevel50WildMons_Round19, + gBattlePyramidLevel50WildMons_Round20 +}; diff --git a/src/data/battle_frontier/battle_pyramid_open_level_wild_mons.h b/src/data/battle_frontier/battle_pyramid_open_level_wild_mons.h new file mode 100644 index 0000000000..154a927991 --- /dev/null +++ b/src/data/battle_frontier/battle_pyramid_open_level_wild_mons.h @@ -0,0 +1,1064 @@ + +const struct PyramidWildMon gBattlePyramidOpenLevelWildMons_Round1[] = +{ + { + .species = SPECIES_PLUSLE, + .lvl = 15, + .abilityBit = 2, + .moves = {MOVE_THUNDER_WAVE, MOVE_SPARK, MOVE_ENCORE, MOVE_NONE} + }, + { + .species = SPECIES_MINUN, + .lvl = 15, + .abilityBit = 2, + .moves = {MOVE_THUNDER_WAVE, MOVE_THUNDERBOLT, MOVE_QUICK_ATTACK, MOVE_NONE} + }, + { + .species = SPECIES_PIKACHU, + .lvl = 13, + .abilityBit = 2, + .moves = {MOVE_THUNDER_WAVE, MOVE_THUNDERBOLT, MOVE_SLAM, MOVE_NONE} + }, + { + .species = SPECIES_ELECTABUZZ, + .lvl = 13, + .abilityBit = 2, + .moves = {MOVE_THUNDER_PUNCH, MOVE_SWIFT, MOVE_SCREECH, MOVE_NONE} + }, + { + .species = SPECIES_VILEPLUME, + .lvl = 8, + .abilityBit = 2, + .moves = {MOVE_STUN_SPORE, MOVE_GIGA_DRAIN, MOVE_PROTECT, MOVE_NONE} + }, + { + .species = SPECIES_MANECTRIC, + .lvl = 8, + .abilityBit = 2, + .moves = {MOVE_THUNDER_WAVE, MOVE_THUNDER, MOVE_QUICK_ATTACK, MOVE_NONE} + }, + { + .species = SPECIES_BRELOOM, + .lvl = 6, + .abilityBit = 2, + .moves = {MOVE_STUN_SPORE, MOVE_FOCUS_PUNCH, MOVE_GIGA_DRAIN, MOVE_MACH_PUNCH} + }, + { + .species = SPECIES_JOLTEON, + .lvl = 6, + .abilityBit = 2, + .moves = {MOVE_THUNDER_WAVE, MOVE_THUNDER, MOVE_PIN_MISSILE, MOVE_QUICK_ATTACK} + } +}; + +const struct PyramidWildMon gBattlePyramidOpenLevelWildMons_Round2[] = +{ + { + .species = SPECIES_GULPIN, + .lvl = 14, + .abilityBit = 2, + .moves = {MOVE_TOXIC, MOVE_SLUDGE, MOVE_PROTECT, MOVE_NONE} + }, + { + .species = SPECIES_ROSELIA, + .lvl = 14, + .abilityBit = 2, + .moves = {MOVE_TOXIC, MOVE_GIGA_DRAIN, MOVE_MAGICAL_LEAF, MOVE_PETAL_DANCE} + }, + { + .species = SPECIES_BUTTERFREE, + .lvl = 12, + .abilityBit = 2, + .moves = {MOVE_POISON_POWDER, MOVE_GUST, MOVE_PSYBEAM, MOVE_NONE} + }, + { + .species = SPECIES_SEVIPER, + .lvl = 12, + .abilityBit = 2, + .moves = {MOVE_POISON_FANG, MOVE_SWAGGER, MOVE_CRUNCH, MOVE_POISON_TAIL} + }, + { + .species = SPECIES_SKARMORY, + .lvl = 7, + .abilityBit = 2, + .moves = {MOVE_TOXIC, MOVE_FLY, MOVE_STEEL_WING, MOVE_NONE} + }, + { + .species = SPECIES_LUDICOLO, + .lvl = 7, + .abilityBit = 1, + .moves = {MOVE_TOXIC, MOVE_PROTECT, MOVE_DIVE, MOVE_RAIN_DANCE} + }, + { + .species = SPECIES_CROBAT, + .lvl = 5, + .abilityBit = 2, + .moves = {MOVE_TOXIC, MOVE_CONFUSE_RAY, MOVE_MEAN_LOOK, MOVE_BITE} + }, + { + .species = SPECIES_GENGAR, + .lvl = 5, + .abilityBit = 2, + .moves = {MOVE_TOXIC, MOVE_SHADOW_PUNCH, MOVE_NIGHT_SHADE, MOVE_NONE} + } +}; + +const struct PyramidWildMon gBattlePyramidOpenLevelWildMons_Round3[] = +{ + { + .species = SPECIES_GROWLITHE, + .lvl = 13, + .abilityBit = 2, + .moves = {MOVE_FLAME_WHEEL, MOVE_TAKE_DOWN, MOVE_NONE, MOVE_NONE} + }, + { + .species = SPECIES_VULPIX, + .lvl = 13, + .abilityBit = 2, + .moves = {MOVE_WILL_O_WISP, MOVE_FLAMETHROWER, MOVE_NONE, MOVE_NONE} + }, + { + .species = SPECIES_MAGCARGO, + .lvl = 11, + .abilityBit = 1, + .moves = {MOVE_FLAMETHROWER, MOVE_ROCK_SLIDE, MOVE_PROTECT, MOVE_NONE} + }, + { + .species = SPECIES_NINETALES, + .lvl = 11, + .abilityBit = 2, + .moves = {MOVE_WILL_O_WISP, MOVE_QUICK_ATTACK, MOVE_FLAMETHROWER, MOVE_NONE} + }, + { + .species = SPECIES_MEDICHAM, + .lvl = 6, + .abilityBit = 2, + .moves = {MOVE_FIRE_PUNCH, MOVE_HI_JUMP_KICK, MOVE_NONE, MOVE_NONE} + }, + { + .species = SPECIES_WEEZING, + .lvl = 6, + .abilityBit = 2, + .moves = {MOVE_WILL_O_WISP, MOVE_FLAMETHROWER, MOVE_PROTECT, MOVE_NONE} + }, + { + .species = SPECIES_DUSCLOPS, + .lvl = 5, + .abilityBit = 2, + .moves = {MOVE_WILL_O_WISP, MOVE_CONFUSE_RAY, MOVE_MEAN_LOOK, MOVE_SHADOW_PUNCH} + }, + { + .species = SPECIES_HOUNDOOM, + .lvl = 5, + .abilityBit = 2, + .moves = {MOVE_FLAMETHROWER, MOVE_BITE, MOVE_SOLAR_BEAM, MOVE_OVERHEAT} + } +}; + +const struct PyramidWildMon gBattlePyramidOpenLevelWildMons_Round4[] = +{ + { + .species = SPECIES_DUNSPARCE, + .lvl = 10, + .abilityBit = 2, + .moves = {MOVE_SPITE, MOVE_TOXIC, MOVE_PROTECT, MOVE_NONE} + }, + { + .species = SPECIES_BANETTE, + .lvl = 8, + .abilityBit = 2, + .moves = {MOVE_GRUDGE, MOVE_WILL_O_WISP, MOVE_NIGHT_SHADE, MOVE_NONE} + }, + { + .species = SPECIES_MISDREAVUS, + .lvl = 8, + .abilityBit = 2, + .moves = {MOVE_GRUDGE, MOVE_SPITE, MOVE_SHADOW_BALL, MOVE_NONE} + }, + { + .species = SPECIES_NINETALES, + .lvl = 6, + .abilityBit = 2, + .moves = {MOVE_GRUDGE, MOVE_WILL_O_WISP, MOVE_OVERHEAT, MOVE_NONE} + }, + { + .species = SPECIES_ABSOL, + .lvl = 10, + .abilityBit = 2, + .moves = {MOVE_BITE, MOVE_AERIAL_ACE, MOVE_SHADOW_BALL, MOVE_PROTECT} + }, + { + .species = SPECIES_DUSCLOPS, + .lvl = 6, + .abilityBit = 2, + .moves = {MOVE_WILL_O_WISP, MOVE_PROTECT, MOVE_TOXIC, MOVE_SHADOW_BALL} + }, + { + .species = SPECIES_SHEDINJA, + .lvl = 5, + .abilityBit = 2, + .moves = {MOVE_GRUDGE, MOVE_TOXIC, MOVE_SPITE, MOVE_NONE} + }, + { + .species = SPECIES_GENGAR, + .lvl = 5, + .abilityBit = 2, + .moves = {MOVE_GRUDGE, MOVE_SPITE, MOVE_NIGHT_SHADE, MOVE_NONE} + } +}; + +const struct PyramidWildMon gBattlePyramidOpenLevelWildMons_Round5[] = +{ + { + .species = SPECIES_HAUNTER, + .lvl = 10, + .abilityBit = 2, + .moves = {MOVE_NIGHT_SHADE, MOVE_THUNDERBOLT, MOVE_SLUDGE_BOMB, MOVE_NONE} + }, + { + .species = SPECIES_CHIMECHO, + .lvl = 10, + .abilityBit = 2, + .moves = {MOVE_DOUBLE_EDGE, MOVE_TOXIC, MOVE_PSYCHIC, MOVE_PROTECT} + }, + { + .species = SPECIES_SOLROCK, + .lvl = 8, + .abilityBit = 2, + .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_FIRE_BLAST, MOVE_TOXIC} + }, + { + .species = SPECIES_MISDREAVUS, + .lvl = 8, + .abilityBit = 2, + .moves = {MOVE_PSYCHIC, MOVE_SPITE, MOVE_SHADOW_BALL, MOVE_PAIN_SPLIT} + }, + { + .species = SPECIES_CLAYDOL, + .lvl = 6, + .abilityBit = 2, + .moves = {MOVE_EARTHQUAKE, MOVE_ANCIENT_POWER, MOVE_SELF_DESTRUCT, MOVE_PSYCHIC} + }, + { + .species = SPECIES_WEEZING, + .lvl = 6, + .abilityBit = 2, + .moves = {MOVE_SLUDGE_BOMB, MOVE_SELF_DESTRUCT, MOVE_PROTECT, MOVE_NONE} + }, + { + .species = SPECIES_FLYGON, + .lvl = 5, + .abilityBit = 2, + .moves = {MOVE_EARTHQUAKE, MOVE_CRUNCH, MOVE_DRAGON_CLAW, MOVE_DRAGON_BREATH} + }, + { + .species = SPECIES_GENGAR, + .lvl = 5, + .abilityBit = 2, + .moves = {MOVE_THUNDERBOLT, MOVE_PSYCHIC, MOVE_GIGA_DRAIN, MOVE_NIGHT_SHADE} + } +}; + +const struct PyramidWildMon gBattlePyramidOpenLevelWildMons_Round6[] = +{ + { + .species = SPECIES_DIGLETT, + .lvl = 10, + .abilityBit = 2, + .moves = {MOVE_ROCK_SLIDE, MOVE_SLASH, MOVE_DIG, MOVE_NONE} + }, + { + .species = SPECIES_TRAPINCH, + .lvl = 10, + .abilityBit = 2, + .moves = {MOVE_ROCK_SLIDE, MOVE_EARTHQUAKE, MOVE_GIGA_DRAIN, MOVE_NONE} + }, + { + .species = SPECIES_WYNAUT, + .lvl = 8, + .abilityBit = 0, + .moves = {MOVE_DESTINY_BOND, MOVE_SPLASH, MOVE_COUNTER, MOVE_MIRROR_COAT} + }, + { + .species = SPECIES_DIGLETT, + .lvl = 8, + .abilityBit = 1, + .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_MAGNITUDE, MOVE_TOXIC} + }, + { + .species = SPECIES_TRAPINCH, + .lvl = 6, + .abilityBit = 1, + .moves = {MOVE_ROCK_SLIDE, MOVE_EARTHQUAKE, MOVE_GIGA_DRAIN, MOVE_PROTECT} + }, + { + .species = SPECIES_WYNAUT, + .lvl = 6, + .abilityBit = 0, + .moves = {MOVE_COUNTER, MOVE_MIRROR_COAT, MOVE_DESTINY_BOND, MOVE_NONE} + }, + { + .species = SPECIES_WOBBUFFET, + .lvl = 5, + .abilityBit = 0, + .moves = {MOVE_COUNTER, MOVE_MIRROR_COAT, MOVE_DESTINY_BOND, MOVE_NONE} + }, + { + .species = SPECIES_DUGTRIO, + .lvl = 5, + .abilityBit = 1, + .moves = {MOVE_ROCK_SLIDE, MOVE_SLUDGE_BOMB, MOVE_EARTHQUAKE, MOVE_PROTECT} + } +}; + +const struct PyramidWildMon gBattlePyramidOpenLevelWildMons_Round7[] = +{ + { + .species = SPECIES_GLALIE, + .lvl = 10, + .abilityBit = 2, + .moves = {MOVE_ICE_BEAM, MOVE_CRUNCH, MOVE_PROTECT, MOVE_NONE} + }, + { + .species = SPECIES_SNEASEL, + .lvl = 10, + .abilityBit = 2, + .moves = {MOVE_ICE_BEAM, MOVE_CRUSH_CLAW, MOVE_SPITE, MOVE_NONE} + }, + { + .species = SPECIES_DEWGONG, + .lvl = 8, + .abilityBit = 2, + .moves = {MOVE_BLIZZARD, MOVE_DOUBLE_EDGE, MOVE_SURF, MOVE_NONE} + }, + { + .species = SPECIES_PILOSWINE, + .lvl = 8, + .abilityBit = 2, + .moves = {MOVE_ICE_BEAM, MOVE_EARTHQUAKE, MOVE_TOXIC, MOVE_NONE} + }, + { + .species = SPECIES_JYNX, + .lvl = 6, + .abilityBit = 2, + .moves = {MOVE_BLIZZARD, MOVE_LOVELY_KISS, MOVE_PSYCHIC, MOVE_NONE} + }, + { + .species = SPECIES_CLOYSTER, + .lvl = 6, + .abilityBit = 2, + .moves = {MOVE_ICE_BEAM, MOVE_SURF, MOVE_PROTECT, MOVE_NONE} + }, + { + .species = SPECIES_WALREIN, + .lvl = 5, + .abilityBit = 2, + .moves = {MOVE_BLIZZARD, MOVE_BODY_SLAM, MOVE_SURF, MOVE_NONE} + }, + { + .species = SPECIES_LAPRAS, + .lvl = 5, + .abilityBit = 2, + .moves = {MOVE_SING, MOVE_BODY_SLAM, MOVE_ICE_BEAM, MOVE_PSYCHIC} + } +}; + +const struct PyramidWildMon gBattlePyramidOpenLevelWildMons_Round8[] = +{ + { + .species = SPECIES_WEEZING, + .lvl = 10, + .abilityBit = 2, + .moves = {MOVE_SELF_DESTRUCT, MOVE_SLUDGE_BOMB, MOVE_FIRE_BLAST, MOVE_NONE} + }, + { + .species = SPECIES_ELECTRODE, + .lvl = 10, + .abilityBit = 2, + .moves = {MOVE_SELF_DESTRUCT, MOVE_THUNDERBOLT, MOVE_ROLLOUT, MOVE_NONE} + }, + { + .species = SPECIES_GENGAR, + .lvl = 8, + .abilityBit = 2, + .moves = {MOVE_DESTINY_BOND, MOVE_LICK, MOVE_SHADOW_BALL, MOVE_NONE} + }, + { + .species = SPECIES_GOLEM, + .lvl = 8, + .abilityBit = 2, + .moves = {MOVE_SELF_DESTRUCT, MOVE_PROTECT, MOVE_EARTHQUAKE, MOVE_NONE} + }, + { + .species = SPECIES_PINECO, + .lvl = 6, + .abilityBit = 2, + .moves = {MOVE_EXPLOSION, MOVE_DOUBLE_EDGE, MOVE_GIGA_DRAIN, MOVE_NONE} + }, + { + .species = SPECIES_SOLROCK, + .lvl = 5, + .abilityBit = 2, + .moves = {MOVE_EXPLOSION, MOVE_FIRE_SPIN, MOVE_PSYWAVE, MOVE_NONE} + }, + { + .species = SPECIES_FORRETRESS, + .lvl = 5, + .abilityBit = 2, + .moves = {MOVE_EXPLOSION, MOVE_TOXIC, MOVE_ROCK_SLIDE, MOVE_NONE} + }, + { + .species = SPECIES_SHIFTRY, + .lvl = 5, + .abilityBit = 2, + .moves = {MOVE_EXPLOSION, MOVE_GIGA_DRAIN, MOVE_SOLAR_BEAM, MOVE_PROTECT} + } +}; + +const struct PyramidWildMon gBattlePyramidOpenLevelWildMons_Round9[] = +{ + { + .species = SPECIES_WOBBUFFET, + .lvl = 10, + .abilityBit = 2, + .moves = {MOVE_COUNTER, MOVE_MIRROR_COAT, MOVE_SAFEGUARD, MOVE_DESTINY_BOND} + }, + { + .species = SPECIES_METANG, + .lvl = 10, + .abilityBit = 2, + .moves = {MOVE_EARTHQUAKE, MOVE_TOXIC, MOVE_SLUDGE_BOMB, MOVE_PSYCHIC} + }, + { + .species = SPECIES_EXEGGUTOR, + .lvl = 8, + .abilityBit = 2, + .moves = {MOVE_EGG_BOMB, MOVE_PSYCHIC, MOVE_HYPNOSIS, MOVE_NONE} + }, + { + .species = SPECIES_SLOWKING, + .lvl = 8, + .abilityBit = 2, + .moves = {MOVE_SHADOW_BALL, MOVE_SURF, MOVE_ICE_BEAM, MOVE_FLAMETHROWER} + }, + { + .species = SPECIES_XATU, + .lvl = 6, + .abilityBit = 2, + .moves = {MOVE_CONFUSE_RAY, MOVE_SHADOW_BALL, MOVE_PSYCHIC, MOVE_STEEL_WING} + }, + { + .species = SPECIES_ALAKAZAM, + .lvl = 6, + .abilityBit = 2, + .moves = {MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_TOXIC} + }, + { + .species = SPECIES_STARMIE, + .lvl = 5, + .abilityBit = 2, + .moves = {MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_SURF, MOVE_ICE_BEAM} + }, + { + .species = SPECIES_ESPEON, + .lvl = 5, + .abilityBit = 2, + .moves = {MOVE_PSYCHIC, MOVE_DIG, MOVE_SHADOW_BALL, MOVE_NONE} + } +}; + +const struct PyramidWildMon gBattlePyramidOpenLevelWildMons_Round10[] = +{ + { + .species = SPECIES_GOLEM, + .lvl = 10, + .abilityBit = 2, + .moves = {MOVE_SELF_DESTRUCT, MOVE_EARTHQUAKE, MOVE_PROTECT, MOVE_NONE} + }, + { + .species = SPECIES_STEELIX, + .lvl = 10, + .abilityBit = 2, + .moves = {MOVE_IRON_TAIL, MOVE_CRUNCH, MOVE_EARTHQUAKE, MOVE_NONE} + }, + { + .species = SPECIES_OMASTAR, + .lvl = 8, + .abilityBit = 2, + .moves = {MOVE_SURF, MOVE_MUD_SHOT, MOVE_ANCIENT_POWER, MOVE_NONE} + }, + { + .species = SPECIES_LUNATONE, + .lvl = 8, + .abilityBit = 2, + .moves = {MOVE_HYPNOSIS, MOVE_PSYWAVE, MOVE_EXPLOSION, MOVE_NONE} + }, + { + .species = SPECIES_SHUCKLE, + .lvl = 6, + .abilityBit = 2, + .moves = {MOVE_TOXIC, MOVE_PROTECT, MOVE_WRAP, MOVE_NONE} + }, + { + .species = SPECIES_ARMALDO, + .lvl = 6, + .abilityBit = 2, + .moves = {MOVE_ANCIENT_POWER, MOVE_PROTECT, MOVE_AERIAL_ACE, MOVE_NONE} + }, + { + .species = SPECIES_CRADILY, + .lvl = 5, + .abilityBit = 2, + .moves = {MOVE_SLUDGE_BOMB, MOVE_GIGA_DRAIN, MOVE_CONFUSE_RAY, MOVE_NONE} + }, + { + .species = SPECIES_AERODACTYL, + .lvl = 5, + .abilityBit = 2, + .moves = {MOVE_HYPER_BEAM, MOVE_ROCK_SLIDE, MOVE_BITE, MOVE_NONE} + } +}; + +const struct PyramidWildMon gBattlePyramidOpenLevelWildMons_Round11[] = +{ + { + .species = SPECIES_POLIWRATH, + .lvl = 10, + .abilityBit = 2, + .moves = {MOVE_SUBMISSION, MOVE_FOCUS_PUNCH, MOVE_SURF, MOVE_NONE} + }, + { + .species = SPECIES_HARIYAMA, + .lvl = 10, + .abilityBit = 2, + .moves = {MOVE_FAKE_OUT, MOVE_SURF, MOVE_FOCUS_PUNCH, MOVE_NONE} + }, + { + .species = SPECIES_BRELOOM, + .lvl = 8, + .abilityBit = 2, + .moves = {MOVE_SPORE, MOVE_FOCUS_PUNCH, MOVE_PROTECT, MOVE_NONE} + }, + { + .species = SPECIES_MEDICHAM, + .lvl = 8, + .abilityBit = 2, + .moves = {MOVE_THUNDER_PUNCH, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_FOCUS_PUNCH} + }, + { + .species = SPECIES_HITMONCHAN, + .lvl = 6, + .abilityBit = 2, + .moves = {MOVE_THUNDER_PUNCH, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_FOCUS_PUNCH} + }, + { + .species = SPECIES_HITMONLEE, + .lvl = 6, + .abilityBit = 2, + .moves = {MOVE_MEGA_KICK, MOVE_FOCUS_PUNCH, MOVE_NONE, MOVE_NONE} + }, + { + .species = SPECIES_HERACROSS, + .lvl = 5, + .abilityBit = 2, + .moves = {MOVE_MEGAHORN, MOVE_EARTHQUAKE, MOVE_FOCUS_PUNCH, MOVE_ROCK_SLIDE} + }, + { + .species = SPECIES_MACHAMP, + .lvl = 5, + .abilityBit = 2, + .moves = {MOVE_ROCK_SLIDE, MOVE_EARTHQUAKE, MOVE_FOCUS_PUNCH, MOVE_SEISMIC_TOSS} + } +}; + +const struct PyramidWildMon gBattlePyramidOpenLevelWildMons_Round12[] = +{ + { + .species = SPECIES_QUAGSIRE, + .lvl = 10, + .abilityBit = 2, + .moves = {MOVE_RAIN_DANCE, MOVE_SURF, MOVE_PROTECT, MOVE_NONE} + }, + { + .species = SPECIES_TROPIUS, + .lvl = 10, + .abilityBit = 2, + .moves = {MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM, MOVE_NONE, MOVE_NONE} + }, + { + .species = SPECIES_PUPITAR, + .lvl = 8, + .abilityBit = 2, + .moves = {MOVE_SANDSTORM, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_NONE} + }, + { + .species = SPECIES_LAPRAS, + .lvl = 8, + .abilityBit = 2, + .moves = {MOVE_HAIL, MOVE_ICE_BEAM, MOVE_NONE, MOVE_NONE} + }, + { + .species = SPECIES_CACTURNE, + .lvl = 6, + .abilityBit = 2, + .moves = {MOVE_SANDSTORM, MOVE_GIGA_DRAIN, MOVE_SOLAR_BEAM, MOVE_NONE} + }, + { + .species = SPECIES_FLAREON, + .lvl = 6, + .abilityBit = 2, + .moves = {MOVE_SUNNY_DAY, MOVE_FLAMETHROWER, MOVE_PROTECT, MOVE_NONE} + }, + { + .species = SPECIES_WALREIN, + .lvl = 5, + .abilityBit = 2, + .moves = {MOVE_HAIL, MOVE_ICE_BEAM, MOVE_NONE, MOVE_NONE} + }, + { + .species = SPECIES_GYARADOS, + .lvl = 5, + .abilityBit = 2, + .moves = {MOVE_RAIN_DANCE, MOVE_THUNDER, MOVE_HYDRO_PUMP, MOVE_NONE} + } +}; + +const struct PyramidWildMon gBattlePyramidOpenLevelWildMons_Round13[] = +{ + { + .species = SPECIES_PINECO, + .lvl = 10, + .abilityBit = 2, + .moves = {MOVE_EXPLOSION, MOVE_TAKE_DOWN, MOVE_NONE, MOVE_NONE} + }, + { + .species = SPECIES_SHUCKLE, + .lvl = 8, + .abilityBit = 2, + .moves = {MOVE_TOXIC, MOVE_EARTHQUAKE, MOVE_PROTECT, MOVE_NONE} + }, + { + .species = SPECIES_VENOMOTH, + .lvl = 8, + .abilityBit = 2, + .moves = {MOVE_SILVER_WIND, MOVE_POISON_POWDER, MOVE_SLEEP_POWDER, MOVE_PSYCHIC} + }, + { + .species = SPECIES_SCIZOR, + .lvl = 6, + .abilityBit = 2, + .moves = {MOVE_QUICK_ATTACK, MOVE_METAL_CLAW, MOVE_FURY_CUTTER, MOVE_PURSUIT} + }, + { + .species = SPECIES_HERACROSS, + .lvl = 6, + .abilityBit = 2, + .moves = {MOVE_MEGAHORN, MOVE_BRICK_BREAK, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE} + }, + { + .species = SPECIES_FORRETRESS, + .lvl = 5, + .abilityBit = 2, + .moves = {MOVE_EXPLOSION, MOVE_EARTHQUAKE, MOVE_PROTECT, MOVE_NONE} + }, + { + .species = SPECIES_ARMALDO, + .lvl = 5, + .abilityBit = 2, + .moves = {MOVE_WATER_PULSE, MOVE_PROTECT, MOVE_ROCK_SLIDE, MOVE_NONE} + }, + { + .species = SPECIES_SHEDINJA, + .lvl = 5, + .abilityBit = 2, + .moves = {MOVE_SHADOW_BALL, MOVE_TOXIC, MOVE_SPITE, MOVE_GRUDGE} + } +}; + +const struct PyramidWildMon gBattlePyramidOpenLevelWildMons_Round14[] = +{ + { + .species = SPECIES_SABLEYE, + .lvl = 10, + .abilityBit = 2, + .moves = {MOVE_NIGHT_SHADE, MOVE_PSYCHIC, MOVE_AERIAL_ACE, MOVE_NONE} + }, + { + .species = SPECIES_SNEASEL, + .lvl = 10, + .abilityBit = 2, + .moves = {MOVE_ICE_BEAM, MOVE_TAUNT, MOVE_FAINT_ATTACK, MOVE_QUICK_ATTACK} + }, + { + .species = SPECIES_CRAWDAUNT, + .lvl = 8, + .abilityBit = 2, + .moves = {MOVE_CRABHAMMER, MOVE_ICE_BEAM, MOVE_SURF, MOVE_NONE} + }, + { + .species = SPECIES_SHIFTRY, + .lvl = 8, + .abilityBit = 2, + .moves = {MOVE_EXPLOSION, MOVE_SHADOW_BALL, MOVE_AERIAL_ACE, MOVE_GIGA_DRAIN} + }, + { + .species = SPECIES_CACTURNE, + .lvl = 6, + .abilityBit = 2, + .moves = {MOVE_TOXIC, MOVE_GIGA_DRAIN, MOVE_NEEDLE_ARM, MOVE_NONE} + }, + { + .species = SPECIES_ABSOL, + .lvl = 6, + .abilityBit = 2, + .moves = {MOVE_BITE, MOVE_PROTECT, MOVE_SLASH, MOVE_NONE} + }, + { + .species = SPECIES_HOUNDOOM, + .lvl = 5, + .abilityBit = 2, + .moves = {MOVE_OVERHEAT, MOVE_CRUNCH, MOVE_SHADOW_BALL, MOVE_PROTECT} + }, + { + .species = SPECIES_UMBREON, + .lvl = 5, + .abilityBit = 2, + .moves = {MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_IRON_TAIL, MOVE_QUICK_ATTACK} + } +}; + +const struct PyramidWildMon gBattlePyramidOpenLevelWildMons_Round15[] = +{ + { + .species = SPECIES_OCTILLERY, + .lvl = 10, + .abilityBit = 2, + .moves = {MOVE_OCTAZOOKA, MOVE_ICE_BEAM, MOVE_FIRE_BLAST, MOVE_NONE} + }, + { + .species = SPECIES_DEWGONG, + .lvl = 10, + .abilityBit = 2, + .moves = {MOVE_WATER_PULSE, MOVE_ICE_BEAM, MOVE_HEADBUTT, MOVE_NONE} + }, + { + .species = SPECIES_PELIPPER, + .lvl = 8, + .abilityBit = 2, + .moves = {MOVE_PROTECT, MOVE_SUPERSONIC, MOVE_SURF, MOVE_NONE} + }, + { + .species = SPECIES_QUAGSIRE, + .lvl = 8, + .abilityBit = 2, + .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_TOMB, MOVE_SURF, MOVE_NONE} + }, + { + .species = SPECIES_LUDICOLO, + .lvl = 6, + .abilityBit = 2, + .moves = {MOVE_PROTECT, MOVE_SOLAR_BEAM, MOVE_TOXIC, MOVE_ICE_BEAM} + }, + { + .species = SPECIES_SLOWKING, + .lvl = 6, + .abilityBit = 2, + .moves = {MOVE_PSYCHIC, MOVE_HEADBUTT, MOVE_SWAGGER, MOVE_NONE} + }, + { + .species = SPECIES_STARMIE, + .lvl = 5, + .abilityBit = 2, + .moves = {MOVE_WATER_PULSE, MOVE_THUNDERBOLT, MOVE_CONFUSE_RAY, MOVE_BLIZZARD} + }, + { + .species = SPECIES_BLASTOISE, + .lvl = 5, + .abilityBit = 2, + .moves = {MOVE_HYDRO_PUMP, MOVE_BITE, MOVE_ICE_BEAM, MOVE_NONE} + } +}; + +const struct PyramidWildMon gBattlePyramidOpenLevelWildMons_Round16[] = +{ + { + .species = SPECIES_DUSKULL, + .lvl = 10, + .abilityBit = 2, + .moves = {MOVE_NIGHT_SHADE, MOVE_WILL_O_WISP, MOVE_SHADOW_BALL, MOVE_PROTECT} + }, + { + .species = SPECIES_HAUNTER, + .lvl = 10, + .abilityBit = 2, + .moves = {MOVE_TOXIC, MOVE_SPITE, MOVE_HYPNOSIS, MOVE_SHADOW_BALL} + }, + { + .species = SPECIES_BANETTE, + .lvl = 8, + .abilityBit = 2, + .moves = {MOVE_SHADOW_BALL, MOVE_SPITE, MOVE_WILL_O_WISP, MOVE_NONE} + }, + { + .species = SPECIES_MISDREAVUS, + .lvl = 8, + .abilityBit = 2, + .moves = {MOVE_PERISH_SONG, MOVE_SPITE, MOVE_MEAN_LOOK, MOVE_NONE} + }, + { + .species = SPECIES_SABLEYE, + .lvl = 6, + .abilityBit = 2, + .moves = {MOVE_SHADOW_BALL, MOVE_MEAN_LOOK, MOVE_DIG, MOVE_NIGHT_SHADE} + }, + { + .species = SPECIES_DUSCLOPS, + .lvl = 6, + .abilityBit = 2, + .moves = {MOVE_WILL_O_WISP, MOVE_TOXIC, MOVE_SHADOW_BALL, MOVE_NONE} + }, + { + .species = SPECIES_SHEDINJA, + .lvl = 5, + .abilityBit = 2, + .moves = {MOVE_SHADOW_BALL, MOVE_SPITE, MOVE_GRUDGE, MOVE_PROTECT} + }, + { + .species = SPECIES_GENGAR, + .lvl = 5, + .abilityBit = 2, + .moves = {MOVE_PSYCHIC, MOVE_DESTINY_BOND, MOVE_SPITE, MOVE_NIGHT_SHADE} + } +}; + +const struct PyramidWildMon gBattlePyramidOpenLevelWildMons_Round17[] = +{ + { + .species = SPECIES_MAWILE, + .lvl = 10, + .abilityBit = 2, + .moves = {MOVE_CRUNCH, MOVE_TOXIC, MOVE_ICE_BEAM, MOVE_NONE} + }, + { + .species = SPECIES_MAGNETON, + .lvl = 10, + .abilityBit = 2, + .moves = {MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_NONE, MOVE_NONE} + }, + { + .species = SPECIES_STEELIX, + .lvl = 8, + .abilityBit = 2, + .moves = {MOVE_ROCK_THROW, MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_NONE} + }, + { + .species = SPECIES_SCIZOR, + .lvl = 8, + .abilityBit = 2, + .moves = {MOVE_METAL_CLAW, MOVE_SLASH, MOVE_NONE, MOVE_NONE} + }, + { + .species = SPECIES_FORRETRESS, + .lvl = 6, + .abilityBit = 2, + .moves = {MOVE_EXPLOSION, MOVE_TOXIC, MOVE_NONE, MOVE_NONE} + }, + { + .species = SPECIES_SKARMORY, + .lvl = 6, + .abilityBit = 2, + .moves = {MOVE_STEEL_WING, MOVE_TOXIC, MOVE_FLY, MOVE_PROTECT} + }, + { + .species = SPECIES_AGGRON, + .lvl = 5, + .abilityBit = 2, + .moves = {MOVE_EARTHQUAKE, MOVE_TAKE_DOWN, MOVE_SURF, MOVE_ICE_BEAM} + }, + { + .species = SPECIES_METAGROSS, + .lvl = 5, + .abilityBit = 2, + .moves = {MOVE_EARTHQUAKE, MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_BRICK_BREAK} + } +}; + +const struct PyramidWildMon gBattlePyramidOpenLevelWildMons_Round18[] = +{ + { + .species = SPECIES_DRAGONAIR, + .lvl = 10, + .abilityBit = 2, + .moves = {MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_ICE_BEAM, MOVE_NONE} + }, + { + .species = SPECIES_VIBRAVA, + .lvl = 10, + .abilityBit = 2, + .moves = {MOVE_EARTHQUAKE, MOVE_DRAGON_BREATH, MOVE_CRUNCH, MOVE_STEEL_WING} + }, + { + .species = SPECIES_ALTARIA, + .lvl = 8, + .abilityBit = 2, + .moves = {MOVE_EARTHQUAKE, MOVE_DRAGON_CLAW, MOVE_SING, MOVE_PROTECT} + }, + { + .species = SPECIES_FLYGON, + .lvl = 8, + .abilityBit = 2, + .moves = {MOVE_EARTHQUAKE, MOVE_DRAGON_CLAW, MOVE_FIRE_BLAST, MOVE_NONE} + }, + { + .species = SPECIES_AERODACTYL, + .lvl = 6, + .abilityBit = 2, + .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_DRAGON_CLAW, MOVE_NONE} + }, + { + .species = SPECIES_GYARADOS, + .lvl = 6, + .abilityBit = 2, + .moves = {MOVE_EARTHQUAKE, MOVE_SURF, MOVE_THRASH, MOVE_BITE} + }, + { + .species = SPECIES_KINGDRA, + .lvl = 5, + .abilityBit = 2, + .moves = {MOVE_HYDRO_PUMP, MOVE_ICE_BEAM, MOVE_PROTECT, MOVE_NONE} + }, + { + .species = SPECIES_CHARIZARD, + .lvl = 5, + .abilityBit = 2, + .moves = {MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, MOVE_FIRE_BLAST, MOVE_IRON_TAIL} + } +}; + +const struct PyramidWildMon gBattlePyramidOpenLevelWildMons_Round19[] = +{ + { + .species = SPECIES_ARCANINE, + .lvl = 10, + .abilityBit = 2, + .moves = {MOVE_FIRE_BLAST, MOVE_TAKE_DOWN, MOVE_NONE, MOVE_NONE} + }, + { + .species = SPECIES_POLIWRATH, + .lvl = 10, + .abilityBit = 2, + .moves = {MOVE_HYDRO_PUMP, MOVE_ICE_BEAM, MOVE_NONE, MOVE_NONE} + }, + { + .species = SPECIES_RAICHU, + .lvl = 8, + .abilityBit = 2, + .moves = {MOVE_THUNDER, MOVE_THUNDER_WAVE, MOVE_SLAM, MOVE_NONE} + }, + { + .species = SPECIES_VAPOREON, + .lvl = 8, + .abilityBit = 2, + .moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_NONE, MOVE_NONE} + }, + { + .species = SPECIES_JOLTEON, + .lvl = 6, + .abilityBit = 2, + .moves = {MOVE_THUNDERBOLT, MOVE_PIN_MISSILE, MOVE_NONE, MOVE_NONE} + }, + { + .species = SPECIES_FLAREON, + .lvl = 6, + .abilityBit = 2, + .moves = {MOVE_FLAMETHROWER, MOVE_BITE, MOVE_NONE, MOVE_NONE} + }, + { + .species = SPECIES_NINETALES, + .lvl = 5, + .abilityBit = 2, + .moves = {MOVE_FLAMETHROWER, MOVE_WILL_O_WISP, MOVE_PROTECT, MOVE_NONE} + }, + { + .species = SPECIES_STARMIE, + .lvl = 5, + .abilityBit = 2, + .moves = {MOVE_ICE_BEAM, MOVE_SURF, MOVE_THUNDERBOLT, MOVE_PSYCHIC} + } +}; + +const struct PyramidWildMon gBattlePyramidOpenLevelWildMons_Round20[] = +{ + { + .species = SPECIES_KANGASKHAN, + .lvl = 10, + .abilityBit = 2, + .moves = {MOVE_HYPER_BEAM, MOVE_FLAMETHROWER, MOVE_SURF, MOVE_DIZZY_PUNCH} + }, + { + .species = SPECIES_SWELLOW, + .lvl = 10, + .abilityBit = 2, + .moves = {MOVE_AERIAL_ACE, MOVE_HYPER_BEAM, MOVE_TOXIC, MOVE_NONE} + }, + { + .species = SPECIES_URSARING, + .lvl = 8, + .abilityBit = 2, + .moves = {MOVE_HYPER_BEAM, MOVE_EARTHQUAKE, MOVE_FOCUS_PUNCH, MOVE_PROTECT} + }, + { + .species = SPECIES_PORYGON2, + .lvl = 8, + .abilityBit = 2, + .moves = {MOVE_PSYBEAM, MOVE_HYPER_BEAM, MOVE_SHADOW_BALL, MOVE_ICE_BEAM} + }, + { + .species = SPECIES_TAUROS, + .lvl = 6, + .abilityBit = 2, + .moves = {MOVE_EARTHQUAKE, MOVE_HYPER_BEAM, MOVE_SURF, MOVE_THUNDERBOLT} + }, + { + .species = SPECIES_FEAROW, + .lvl = 6, + .abilityBit = 2, + .moves = {MOVE_HYPER_BEAM, MOVE_FLY, MOVE_MIRROR_MOVE, MOVE_PROTECT} + }, + { + .species = SPECIES_SNORLAX, + .lvl = 5, + .abilityBit = 2, + .moves = {MOVE_HYPER_BEAM, MOVE_BODY_SLAM, MOVE_SHADOW_BALL, MOVE_EARTHQUAKE} + }, + { + .species = SPECIES_SLAKING, + .lvl = 5, + .abilityBit = 2, + .moves = {MOVE_HYPER_BEAM, MOVE_EARTHQUAKE, MOVE_SHADOW_BALL, MOVE_ICE_BEAM} + } +}; + +const struct PyramidWildMon *const gBattlePyramidOpenLevelWildMonPointers[] = +{ + gBattlePyramidOpenLevelWildMons_Round1, + gBattlePyramidOpenLevelWildMons_Round2, + gBattlePyramidOpenLevelWildMons_Round3, + gBattlePyramidOpenLevelWildMons_Round4, + gBattlePyramidOpenLevelWildMons_Round5, + gBattlePyramidOpenLevelWildMons_Round6, + gBattlePyramidOpenLevelWildMons_Round7, + gBattlePyramidOpenLevelWildMons_Round8, + gBattlePyramidOpenLevelWildMons_Round9, + gBattlePyramidOpenLevelWildMons_Round10, + gBattlePyramidOpenLevelWildMons_Round11, + gBattlePyramidOpenLevelWildMons_Round12, + gBattlePyramidOpenLevelWildMons_Round13, + gBattlePyramidOpenLevelWildMons_Round14, + gBattlePyramidOpenLevelWildMons_Round15, + gBattlePyramidOpenLevelWildMons_Round16, + gBattlePyramidOpenLevelWildMons_Round17, + gBattlePyramidOpenLevelWildMons_Round18, + gBattlePyramidOpenLevelWildMons_Round19, + gBattlePyramidOpenLevelWildMons_Round20 +}; diff --git a/src/frontier_data.c b/src/frontier_data.c new file mode 100644 index 0000000000..8a78bb57b8 --- /dev/null +++ b/src/frontier_data.c @@ -0,0 +1,237 @@ +#include "global.h" + +#include "battle_pyramid.h" + +#include "constants/moves.h" +#include "constants/species.h" +#include "constants/items.h" + + + +#include "data/battle_frontier/battle_pyramid_level_50_wild_mons.h" +#include "data/battle_frontier/battle_pyramid_open_level_wild_mons.h" + + + +const struct Struct_08613650 gUnknown_08613650[] = +{ + { + .unk0 = 0x07, + .unk1 = 0x03, + .unk2 = 0x00, + .unk3 = 0x00, + .runMultiplier = 0x80, + .unk5 = {0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 0x03, 0x03} + }, + { + .unk0 = 0x06, + .unk1 = 0x03, + .unk2 = 0x00, + .unk3 = 0x00, + .runMultiplier = 0x80, + .unk5 = {0x01, 0x01, 0x02, 0x02, 0x03, 0x03, 0x04, 0x04} + }, + { + .unk0 = 0x05, + .unk1 = 0x03, + .unk2 = 0x00, + .unk3 = 0x00, + .runMultiplier = 0x78, + .unk5 = {0x02, 0x02, 0x03, 0x03, 0x04, 0x04, 0x05, 0x05} + }, + { + .unk0 = 0x04, + .unk1 = 0x04, + .unk2 = 0x00, + .unk3 = 0x00, + .runMultiplier = 0x78, + .unk5 = {0x03, 0x03, 0x04, 0x04, 0x05, 0x05, 0x06, 0x06} + }, + { + .unk0 = 0x04, + .unk1 = 0x04, + .unk2 = 0x00, + .unk3 = 0x01, + .runMultiplier = 0x70, + .unk5 = {0x04, 0x04, 0x05, 0x05, 0x06, 0x06, 0x07, 0x07} + }, + { + .unk0 = 0x03, + .unk1 = 0x05, + .unk2 = 0x00, + .unk3 = 0x02, + .runMultiplier = 0x70, + .unk5 = {0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c} + }, + { + .unk0 = 0x03, + .unk1 = 0x05, + .unk2 = 0x00, + .unk3 = 0x00, + .runMultiplier = 0x68, + .unk5 = {0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d} + }, + { + .unk0 = 0x02, + .unk1 = 0x04, + .unk2 = 0x00, + .unk3 = 0x01, + .runMultiplier = 0x68, + .unk5 = {0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e} + }, + { + .unk0 = 0x04, + .unk1 = 0x05, + .unk2 = 0x00, + .unk3 = 0x02, + .runMultiplier = 0x60, + .unk5 = {0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f} + }, + { + .unk0 = 0x03, + .unk1 = 0x06, + .unk2 = 0x00, + .unk3 = 0x04, + .runMultiplier = 0x60, + .unk5 = {0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f} + }, + { + .unk0 = 0x02, + .unk1 = 0x03, + .unk2 = 0x00, + .unk3 = 0x00, + .runMultiplier = 0x58, + .unk5 = {0x0c, 0x0d, 0x0e, 0x0c, 0x0d, 0x0e, 0x0c, 0x0d} + }, + { + .unk0 = 0x04, + .unk1 = 0x05, + .unk2 = 0x00, + .unk3 = 0x00, + .runMultiplier = 0x58, + .unk5 = {0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b} + }, + { + .unk0 = 0x03, + .unk1 = 0x07, + .unk2 = 0x00, + .unk3 = 0x00, + .runMultiplier = 0x50, + .unk5 = {0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c} + }, + { + .unk0 = 0x02, + .unk1 = 0x04, + .unk2 = 0x00, + .unk3 = 0x00, + .runMultiplier = 0x50, + .unk5 = {0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d} + }, + { + .unk0 = 0x03, + .unk1 = 0x06, + .unk2 = 0x00, + .unk3 = 0x00, + .runMultiplier = 0x50, + .unk5 = {0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e} + }, + { + .unk0 = 0x03, + .unk1 = 0x08, + .unk2 = 0x00, + .unk3 = 0x00, + .runMultiplier = 0x50, + .unk5 = {0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f} + } +}; + +const u8 gUnknown_08613750[34][2] = +{ + {0x28, 0x00}, + {0x46, 0x01}, + {0x5a, 0x02}, + {0x64, 0x03}, + {0x23, 0x01}, + {0x37, 0x02}, + {0x4b, 0x03}, + {0x5a, 0x04}, + {0x64, 0x0a}, + {0x23, 0x02}, + {0x37, 0x03}, + {0x4b, 0x04}, + {0x5a, 0x05}, + {0x64, 0x0b}, + {0x23, 0x03}, + {0x37, 0x04}, + {0x4b, 0x05}, + {0x5a, 0x06}, + {0x64, 0x0c}, + {0x23, 0x04}, + {0x37, 0x05}, + {0x4b, 0x06}, + {0x5a, 0x07}, + {0x64, 0x0d}, + {0x23, 0x05}, + {0x37, 0x06}, + {0x4b, 0x07}, + {0x5a, 0x08}, + {0x64, 0x0e}, + {0x23, 0x06}, + {0x37, 0x07}, + {0x4b, 0x08}, + {0x5a, 0x09}, + {0x64, 0x0f} +}; + +const u8 gUnknown_08613794[] = +{ + 0x00, 0x04, 0x09, 0x0e, 0x13, 0x18, 0x1d, 0x00 +}; + +const u16 sPickupItemsLvl50[TOTAL_ROUNDS][PICKUP_ITEMS_PER_ROUND] = +{ + {ITEM_HYPER_POTION, ITEM_FLUFFY_TAIL, ITEM_CHERI_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_BRIGHT_POWDER, ITEM_SHELL_BELL, ITEM_MAX_REVIVE, ITEM_SACRED_ASH}, + {ITEM_HYPER_POTION, ITEM_DIRE_HIT, ITEM_PECHA_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_LEFTOVERS, ITEM_CHOICE_BAND, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR}, + {ITEM_HYPER_POTION, ITEM_X_ATTACK, ITEM_RAWST_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_SCOPE_LENS, ITEM_FOCUS_BAND, ITEM_MAX_REVIVE, ITEM_SACRED_ASH}, + {ITEM_HYPER_POTION, ITEM_X_DEFEND, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_QUICK_CLAW, ITEM_KINGS_ROCK, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR}, + {ITEM_HYPER_POTION, ITEM_X_SPEED, ITEM_CHESTO_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_BRIGHT_POWDER, ITEM_SHELL_BELL, ITEM_MAX_REVIVE, ITEM_SACRED_ASH}, + {ITEM_HYPER_POTION, ITEM_X_ACCURACY, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_LEFTOVERS, ITEM_CHOICE_BAND, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR}, + {ITEM_HYPER_POTION, ITEM_X_SPECIAL, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_SCOPE_LENS, ITEM_FOCUS_BAND, ITEM_MAX_REVIVE, ITEM_SACRED_ASH}, + {ITEM_HYPER_POTION, ITEM_GUARD_SPEC, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_QUICK_CLAW, ITEM_KINGS_ROCK, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR}, + {ITEM_HYPER_POTION, ITEM_FLUFFY_TAIL, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_BRIGHT_POWDER, ITEM_SHELL_BELL, ITEM_MAX_REVIVE, ITEM_SACRED_ASH}, + {ITEM_HYPER_POTION, ITEM_DIRE_HIT, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_LEFTOVERS, ITEM_CHOICE_BAND, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR}, + {ITEM_HYPER_POTION, ITEM_X_ATTACK, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_SCOPE_LENS, ITEM_FOCUS_BAND, ITEM_MAX_REVIVE, ITEM_SACRED_ASH}, + {ITEM_HYPER_POTION, ITEM_X_DEFEND, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_QUICK_CLAW, ITEM_KINGS_ROCK, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR}, + {ITEM_HYPER_POTION, ITEM_X_SPEED, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_BRIGHT_POWDER, ITEM_SHELL_BELL, ITEM_MAX_REVIVE, ITEM_SACRED_ASH}, + {ITEM_HYPER_POTION, ITEM_X_ACCURACY, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_LEFTOVERS, ITEM_CHOICE_BAND, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR}, + {ITEM_HYPER_POTION, ITEM_X_SPECIAL, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_SCOPE_LENS, ITEM_FOCUS_BAND, ITEM_MAX_REVIVE, ITEM_SACRED_ASH}, + {ITEM_HYPER_POTION, ITEM_GUARD_SPEC, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_QUICK_CLAW, ITEM_KINGS_ROCK, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR}, + {ITEM_HYPER_POTION, ITEM_FLUFFY_TAIL, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_BRIGHT_POWDER, ITEM_SHELL_BELL, ITEM_MAX_REVIVE, ITEM_SACRED_ASH}, + {ITEM_HYPER_POTION, ITEM_DIRE_HIT, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_LEFTOVERS, ITEM_CHOICE_BAND, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR}, + {ITEM_HYPER_POTION, ITEM_X_ATTACK, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_SCOPE_LENS, ITEM_FOCUS_BAND, ITEM_MAX_REVIVE, ITEM_SACRED_ASH}, + {ITEM_HYPER_POTION, ITEM_X_DEFEND, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_QUICK_CLAW, ITEM_KINGS_ROCK, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR}, +}; + +const u16 sPickupItemsLvlOpen[TOTAL_ROUNDS][PICKUP_ITEMS_PER_ROUND] = +{ + {ITEM_HYPER_POTION, ITEM_FLUFFY_TAIL, ITEM_CHERI_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_BRIGHT_POWDER, ITEM_SHELL_BELL, ITEM_MAX_REVIVE, ITEM_SACRED_ASH}, + {ITEM_HYPER_POTION, ITEM_DIRE_HIT, ITEM_PECHA_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_LEFTOVERS, ITEM_CHOICE_BAND, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR}, + {ITEM_HYPER_POTION, ITEM_X_ATTACK, ITEM_RAWST_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_SCOPE_LENS, ITEM_FOCUS_BAND, ITEM_MAX_REVIVE, ITEM_SACRED_ASH}, + {ITEM_HYPER_POTION, ITEM_X_DEFEND, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_QUICK_CLAW, ITEM_KINGS_ROCK, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR}, + {ITEM_HYPER_POTION, ITEM_X_SPEED, ITEM_CHESTO_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_BRIGHT_POWDER, ITEM_SHELL_BELL, ITEM_MAX_REVIVE, ITEM_SACRED_ASH}, + {ITEM_HYPER_POTION, ITEM_X_ACCURACY, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_LEFTOVERS, ITEM_CHOICE_BAND, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR}, + {ITEM_HYPER_POTION, ITEM_X_SPECIAL, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_SCOPE_LENS, ITEM_FOCUS_BAND, ITEM_MAX_REVIVE, ITEM_SACRED_ASH}, + {ITEM_HYPER_POTION, ITEM_GUARD_SPEC, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_QUICK_CLAW, ITEM_KINGS_ROCK, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR}, + {ITEM_HYPER_POTION, ITEM_FLUFFY_TAIL, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_BRIGHT_POWDER, ITEM_SHELL_BELL, ITEM_MAX_REVIVE, ITEM_SACRED_ASH}, + {ITEM_HYPER_POTION, ITEM_DIRE_HIT, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_LEFTOVERS, ITEM_CHOICE_BAND, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR}, + {ITEM_HYPER_POTION, ITEM_X_ATTACK, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_SCOPE_LENS, ITEM_FOCUS_BAND, ITEM_MAX_REVIVE, ITEM_SACRED_ASH}, + {ITEM_HYPER_POTION, ITEM_X_DEFEND, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_QUICK_CLAW, ITEM_KINGS_ROCK, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR}, + {ITEM_HYPER_POTION, ITEM_X_SPEED, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_BRIGHT_POWDER, ITEM_SHELL_BELL, ITEM_MAX_REVIVE, ITEM_SACRED_ASH}, + {ITEM_HYPER_POTION, ITEM_X_ACCURACY, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_LEFTOVERS, ITEM_CHOICE_BAND, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR}, + {ITEM_HYPER_POTION, ITEM_X_SPECIAL, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_SCOPE_LENS, ITEM_FOCUS_BAND, ITEM_MAX_REVIVE, ITEM_SACRED_ASH}, + {ITEM_HYPER_POTION, ITEM_GUARD_SPEC, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_QUICK_CLAW, ITEM_KINGS_ROCK, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR}, + {ITEM_HYPER_POTION, ITEM_FLUFFY_TAIL, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_BRIGHT_POWDER, ITEM_SHELL_BELL, ITEM_MAX_REVIVE, ITEM_SACRED_ASH}, + {ITEM_HYPER_POTION, ITEM_DIRE_HIT, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_LEFTOVERS, ITEM_CHOICE_BAND, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR}, + {ITEM_HYPER_POTION, ITEM_X_ATTACK, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_SCOPE_LENS, ITEM_FOCUS_BAND, ITEM_MAX_REVIVE, ITEM_SACRED_ASH}, + {ITEM_HYPER_POTION, ITEM_X_DEFEND, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_QUICK_CLAW, ITEM_KINGS_ROCK, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR}, +}; diff --git a/src/frontier_util.c b/src/frontier_util.c index a65d147843..7ac2e6fa74 100644 --- a/src/frontier_util.c +++ b/src/frontier_util.c @@ -49,12 +49,8 @@ struct FrontierBrainMon }; extern const struct BattleFrontierTrainer gBattleFrontierTrainers[]; -extern const u8 *const gUnknown_08611D08[]; -extern const u8 *const gUnknown_08611CB0[][2]; -extern const u8 *const gUnknown_08611D00[]; -extern const u8 *const *const gUnknown_08611DB0[]; -extern const u8 *const *const gUnknown_08611DB8[]; -extern const u16 gFacilityToBrainTrainerId[]; +//extern const u8 *const *const gUnknown_08611DB0[]; +//extern const u8 *const *const gUnknown_08611DB8[]; extern void sub_81B8558(void); @@ -689,6 +685,132 @@ const u16 gFrontierBannedSpecies[] = SPECIES_MEW, SPECIES_MEWTWO, SPECIES_HO_OH, SPECIES_LUGIA, SPECIES_CELEBI, SPECIES_KYOGRE, SPECIES_GROUDON, SPECIES_RAYQUAZA, SPECIES_JIRACHI, SPECIES_DEOXYS, 0xFFFF }; + +const u8 *const gUnknown_08611CB0[][2] = +{ + {gText_BattleTower2, gUnknown_085ED164}, + {gText_BattleTower2, gUnknown_085ED170}, + {gText_BattleTower2, gUnknown_085ED17C}, + {gText_BattleDome, gUnknown_085ED164}, + {gText_BattlePalace, gUnknown_085ED164}, + {gText_BattleArena, gUnknown_085ED190}, + {gText_BattleFactory, gUnknown_085ED164}, + {gText_BattlePike, gUnknown_085ED190}, + {gText_BattlePyramid, gUnknown_085ED190}, + {gText_BattleTower2, gUnknown_085ED188}, +}; + +const u8 *const gLevelModeText[] = +{ + gText_RecordsLv50, + gText_RecordsOpenLevel, +}; + +const u8 *const gFacilityToRecordsText[] = +{ + gText_FrontierFacilityWinStreak, + gText_FrontierFacilityWinStreak, + gText_FrontierFacilityWinStreak, + gText_FrontierFacilityClearStreak, + gText_FrontierFacilityWinStreak, + gText_FrontierFacilityKOsStreak, + gText_FrontierFacilityWinStreak, + gText_FrontierFacilityRoomsCleared, + gText_FrontierFacilityFloorsCleared, + gText_FrontierFacilityWinStreak, +}; + +const u16 gFacilityToBrainTrainerId[] = +{ + [FRONTIER_FACILITY_TOWER] = TRAINER_ANABEL, + [FRONTIER_FACILITY_DOME] = TRAINER_TUCKER, + [FRONTIER_FACILITY_PALACE] = TRAINER_SPENSER, + [FRONTIER_FACILITY_ARENA] = TRAINER_GRETA, + [FRONTIER_FACILITY_FACTORY] = TRAINER_NOLAND, + [FRONTIER_FACILITY_PIKE] = TRAINER_LUCY, + [FRONTIER_FACILITY_PYRAMID] = TRAINER_BRANDON, +}; + +const u8 *const gUnknown_08611D40[] = +{ + gText_082C843F, + gText_082C848B, + gText_082C8628, + gText_082C85B4, + gText_082C8512, + gText_082C859D, + gText_082C86C3, +}; + +const u8 *const gUnknown_08611D5C[] = +{ + gText_082C8458, + gText_082C84C1, + gText_082C8662, + gText_082C85E3, + gText_082C853B, + gText_082C85A4, + gText_082C86FE, +}; + +const u8 *const gUnknown_08611D78[] = +{ + gText_082C846C, + gText_082C84D0, + gText_082C8682, + gText_082C85F5, + gText_082C8561, + gText_082C85A9, + gText_082C8739, +}; + +const u8 *const gUnknown_08611D94[] = +{ + gText_082C8480, + gText_082C84F7, + gText_082C86B3, + gText_082C8611, + gText_082C8589, + gText_082C85AE, + gText_082C877B, +}; + +const u8 *const *const gUnknown_08611DB0[] = +{ + gUnknown_08611D40, + gUnknown_08611D78, +}; + +const u8 *const *const gUnknown_08611DB8[] = +{ + gUnknown_08611D5C, + gUnknown_08611D94, +}; + + + + + + + + + + + + + + + + + + + + + + + + + // code void CallFrontierUtilFunc(void) @@ -2129,8 +2251,8 @@ static void Print1PRecord(s32 position, s32 x, s32 y, struct RankingHall1P *hall if (winStreak > 9999) winStreak = 9999; ConvertIntToDecimalStringN(gStringVar2, winStreak, STR_CONV_MODE_RIGHT_ALIGN, 4); - StringExpandPlaceholders(gStringVar4, gUnknown_08611D08[hallFacilityId]); - AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, GetStringRightAlignXOffset(1, gUnknown_08611D08[hallFacilityId], 0xC8), (8 * (y + 5 * position)) + 1, TEXT_SPEED_FF, NULL); + StringExpandPlaceholders(gStringVar4, gFacilityToRecordsText[hallFacilityId]); + AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, GetStringRightAlignXOffset(1, gFacilityToRecordsText[hallFacilityId], 0xC8), (8 * (y + 5 * position)) + 1, TEXT_SPEED_FF, NULL); } } @@ -2156,8 +2278,8 @@ static void Print2PRecord(s32 position, s32 x, s32 y, struct RankingHall2P *hall if (winStreak > 9999) winStreak = 9999; ConvertIntToDecimalStringN(gStringVar2, winStreak, STR_CONV_MODE_RIGHT_ALIGN, 4); - StringExpandPlaceholders(gStringVar4, gUnknown_08611D08[9]); - AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, GetStringRightAlignXOffset(1, gUnknown_08611D08[9], 0xC8), (8 * (y + 5 * position)) + 1, TEXT_SPEED_FF, NULL); + StringExpandPlaceholders(gStringVar4, gFacilityToRecordsText[9]); + AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, GetStringRightAlignXOffset(1, gFacilityToRecordsText[9], 0xC8), (8 * (y + 5 * position)) + 1, TEXT_SPEED_FF, NULL); } } @@ -2239,8 +2361,8 @@ static void PrintHallRecords(s32 hallFacilityId, s32 lvlMode) StringCopy(gStringVar1, gUnknown_08611CB0[hallFacilityId][0]); StringExpandPlaceholders(gStringVar4, gUnknown_08611CB0[hallFacilityId][1]); AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, 0, 1, TEXT_SPEED_FF, NULL); - x = GetStringRightAlignXOffset(1, gUnknown_08611D00[lvlMode], 0xD0); - AddTextPrinterParameterized(gRecordsWindowId, 1, gUnknown_08611D00[lvlMode], x, 1, TEXT_SPEED_FF, NULL); + x = GetStringRightAlignXOffset(1, gLevelModeText[lvlMode], 0xD0); + AddTextPrinterParameterized(gRecordsWindowId, 1, gLevelModeText[lvlMode], x, 1, TEXT_SPEED_FF, NULL); if (hallFacilityId == HALL_FACILITIES_COUNT) { gSaveBlock2Ptr->frontier.field_EE1[0][PLAYER_NAME_LENGTH] = EOS; diff --git a/src/strings.c b/src/strings.c index 9cb384e708..72aedde6e3 100644 --- a/src/strings.c +++ b/src/strings.c @@ -1265,6 +1265,7 @@ const u8 gUnknown_085ED188[] = _("{STR_VAR_1} LINK"); asm(".align 2"); const u8 gUnknown_085ED190[] = _("{STR_VAR_1}"); + const u8 gText_Give[] = _("Give"); const u8 gText_NoNeed[] = _("No need"); const u8 gText_ColorLightShadowDarkGrey[] = _("{COLOR LIGHT_GREY}{SHADOW DARK_GREY}"); @@ -1548,25 +1549,25 @@ const u8 gText_TimesVar1[] = _("Times: {STR_VAR_1}"); const u8 gText_FloorsCleared[] = _("Floors cleared: {STR_VAR_1}"); asm(".align 2"); -const u8 gUnknown_085EE3B0[] = _("LV. 50"); +const u8 gText_RecordsLv50[] = _("LV. 50"); asm(".align 2"); -const u8 gUnknown_085EE3B8[] = _("OPEN LEVEL"); +const u8 gText_RecordsOpenLevel[] = _("OPEN LEVEL"); asm(".align 2"); -const u8 gUnknown_085EE3C4[] = _("Win streak: {STR_VAR_2}"); +const u8 gText_FrontierFacilityWinStreak[] = _("Win streak: {STR_VAR_2}"); asm(".align 2"); -const u8 gUnknown_085EE3D4[] = _("Clear streak: {STR_VAR_2}"); +const u8 gText_FrontierFacilityClearStreak[] = _("Clear streak: {STR_VAR_2}"); asm(".align 2"); -const u8 gUnknown_085EE3E8[] = _("Rooms cleared: {STR_VAR_2}"); +const u8 gText_FrontierFacilityRoomsCleared[] = _("Rooms cleared: {STR_VAR_2}"); asm(".align 2"); -const u8 gUnknown_085EE3FC[] = _("KOs in a row: {STR_VAR_2}"); +const u8 gText_FrontierFacilityKOsStreak[] = _("KOs in a row: {STR_VAR_2}"); asm(".align 2"); -const u8 gUnknown_085EE410[] = _("Floors cleared: {STR_VAR_2}"); +const u8 gText_FrontierFacilityFloorsCleared[] = _("Floors cleared: {STR_VAR_2}"); asm(".align 2"); const u8 gText_123Dot[][3] = {_("1."), _("2."), _("3.")};