From 37980e84d02f9389cee843b9ebd9a29ae344a1cf Mon Sep 17 00:00:00 2001 From: Llinos Evans <36418502+PlagueVonKarma@users.noreply.github.com> Date: Thu, 25 Jul 2024 02:18:19 +0100 Subject: [PATCH] Lots of new trainer classes & pics, port kep cries This adds Tohjo Giovanni, Archer, Ariana, Prof. Blue, and fixes various bugs with my last commit. Also fixes the bug with Chris's img not having an embedded palette. I also ported over all the KEP cries that are available as a bunch were incomplete or seemingly being remade. Next step is to integrate much of this. --- .gitignore | 1 + constants/event_flags.asm | 11 +- constants/sprite_constants.asm | 6 +- constants/trainer_constants.asm | 16 +- data/maps/outdoor_sprites.asm | 4 +- data/pokemon/cries.asm | 80 ++++---- data/sprites/sprites.asm | 24 +-- data/trainers/attributes.asm | 24 +++ data/trainers/class_names.asm | 10 +- data/trainers/dvs.asm | 4 + data/trainers/encounter_music.asm | 4 + data/trainers/genders.asm | 4 + data/trainers/leaders.asm | 12 +- data/trainers/palettes.asm | 6 +- data/trainers/parties_new_classes.asm | 266 ++++++++++++++++++++------ data/trainers/party_pointers.asm | 4 + data/trainers/pic_pointers.asm | 4 + data/trainers/sprites.asm | 4 + gfx/pics.asm | 6 +- gfx/player/chris.gbcpal | Bin 0 -> 8 bytes gfx/player/chris.png | Bin 417 -> 997 bytes gfx/trainers/ariana.png | Bin 15938 -> 410 bytes gfx/trainers/cal.png | Bin 944 -> 453 bytes gfx/trainers/giovanni.png | Bin 14890 -> 0 bytes gfx/trainers/giovanni3.png | Bin 386 -> 423 bytes gfx/trainers/giovanni_coat.png | Bin 17456 -> 460 bytes gfx/trainers/green.png | Bin 14804 -> 426 bytes gfx/trainers/imposter_oak.png | Bin 0 -> 519 bytes gfx/trainers/imposteroak.png | Bin 430 -> 0 bytes gfx/trainers/impostor_oak.png | Bin 18029 -> 0 bytes maps/DebugRoom.asm | 25 ++- 31 files changed, 392 insertions(+), 123 deletions(-) create mode 100644 gfx/player/chris.gbcpal delete mode 100644 gfx/trainers/giovanni.png create mode 100644 gfx/trainers/imposter_oak.png delete mode 100644 gfx/trainers/imposteroak.png delete mode 100644 gfx/trainers/impostor_oak.png diff --git a/.gitignore b/.gitignore index 879586b..586d447 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,7 @@ *.2bpp *.lz *.gbcpal +!chris.gbcpal *.dimensions *.animated.tilemap *.sgb.tilemap diff --git a/constants/event_flags.asm b/constants/event_flags.asm index 13ad2d9..7d5d99a 100644 --- a/constants/event_flags.asm +++ b/constants/event_flags.asm @@ -1097,10 +1097,19 @@ const EVENT_BEAT_LEADER_SOUTHGUY const EVENT_BEAT_LEADER_IMPOSTEROAK const EVENT_BEAT_LEADER_AGATHA + const EVENT_BEAT_TOHJO_GIOVANNI const EVENT_BEAT_LEADER_GIOVANNI const EVENT_BEAT_LEADER_GREEN const EVENT_BEAT_KURT -; Unused: next 93 events + const EVENT_BEAT_ARIANA1 + const EVENT_BEAT_ARIANA2 + const EVENT_BEAT_ARIANA3 + const EVENT_BEAT_ARIANA4 + const EVENT_BEAT_ARCHER1 + const EVENT_BEAT_ARCHER2 + const EVENT_BEAT_ARCHER3 + const EVENT_BEAT_PROFBLUE +; Unused: next 85 events const_next 1600 ; Sprite visibility flags diff --git a/constants/sprite_constants.asm b/constants/sprite_constants.asm index b2da8cb..4d30584 100644 --- a/constants/sprite_constants.asm +++ b/constants/sprite_constants.asm @@ -121,8 +121,8 @@ const SPRITE_BANCHOMAN ; Bancho student with a pompadour. const SPRITE_ENOKI ; Prototype Morty, may use somewhere. const SPRITE_IMPOSTER_OAK - const GOLD_SKATEBOARD - const SILVERS_SISTER + const SPRITE_GOLD_SKATEBOARD + const SPRITE_SILVERS_SISTER ; KEP imports proceeding... const SPRITE_OWVOLTORB @@ -135,7 +135,7 @@ const SPRITE_GREEN const SPRITE_OWDIGLETT const SPRITE_CAT - const SPRITE_PWARBOK + const SPRITE_OWARBOK const SPRITE_BAOBA const SPRITE_SILPH_PRESIDENT const SPRITE_SAFARI_ZONE_WORKER diff --git a/constants/trainer_constants.asm b/constants/trainer_constants.asm index 2cece7c..f8635a5 100644 --- a/constants/trainer_constants.asm +++ b/constants/trainer_constants.asm @@ -743,10 +743,12 @@ DEF KRIS EQU __trainer_class__ const DALI trainerclass SOLDIER ; 52 - const PEPPINO ; unused, may change + const WIART ; unused, named after Adrian Carton de Wiart, a famous Irish-Belgian soldier who was shot in most parts of the body and fought in so many wars, just because he thought it was fun. + ; Flynn trainerclass SPORTSMAN ; 53 const JACQUES ; unused + ; Pele? trainerclass AEROFOSSIL ; 54 const FOSSIL1 @@ -770,6 +772,9 @@ DEF KRIS EQU __trainer_class__ trainerclass AGATHA ; 56 const AGATHA1 + trainerclass COATGIOVANNI ; 56 + const GIOVANNI1 + trainerclass LEADERGIOVANNI ; 56 const GIOVANNI3 @@ -778,6 +783,15 @@ DEF KRIS EQU __trainer_class__ trainerclass KURT ; 56 const KURT1 + + trainerclass ARIANA + const ARIANA1 + + trainerclass ARCHER + const ARCHER1 + + trainerclass PROFBLUE + const PROFBLUE1 DEF TOPAZ EQU __trainer_class__ DEF NUM_TRAINER_CLASSES EQU __trainer_class__ - 1 diff --git a/data/maps/outdoor_sprites.asm b/data/maps/outdoor_sprites.asm index 084a643..fa19737 100644 --- a/data/maps/outdoor_sprites.asm +++ b/data/maps/outdoor_sprites.asm @@ -697,8 +697,8 @@ CableClubGroupSprites: SilentHillsGroupSprites: ; 12 non-walking filler sprites db SPRITE_SUICUNE - db SPRITE_SILVER_TROPHY - db SPRITE_FAMICOM + db SPRITE_SILVERS_SISTER + db SPRITE_SAFARI_ZONE_WORKER db SPRITE_POKEDEX db SPRITE_WILL db SPRITE_ROCKER diff --git a/data/pokemon/cries.asm b/data/pokemon/cries.asm index ee83d2c..f697dfe 100644 --- a/data/pokemon/cries.asm +++ b/data/pokemon/cries.asm @@ -22,13 +22,13 @@ PokemonCries:: mon_cry CRY_WEEDLE, 238, 129 ; WEEDLE mon_cry CRY_BLASTOISE, 255, 129 ; KAKUNA mon_cry CRY_BLASTOISE, 96, 256 ; BEEDRILL - mon_cry CRY_NIDORAN_M, 0, 0 ; GENTLARVA (incomplete) - mon_cry CRY_NIDORAN_M, 0, 0 ; PUPAL (incomplete) - mon_cry CRY_NIDORAN_M, 0, 0 ; CARAPTHOR (incomplete) + mon_cry CRY_MUK, 163, 187 ; GENTLARVA + mon_cry CRY_KRABBY, 144, 151 ; PUPAL + mon_cry CRY_KRABBY, 245, 288 ; CARAPTHOR mon_cry CRY_KANGASKHAN, 163, 129 ; KOTORA mon_cry CRY_KANGASKHAN, 45, 129 ; GAOTORA - mon_cry CRY_KANGASKHAN, 5, 129 ; GOROTORA - mon_cry CRY_KANGASKHAN, 5, 129 ; RAITORA (Clone of Gorotora's for nowtm) + mon_cry CRY_RHYDON, 32, 144 ; GOROTORA + mon_cry CRY_KANGASKHAN, 5, 129 ; RAITORA (incomplete?) mon_cry CRY_PIDGEY, 223, 132 ; PIDGEY mon_cry CRY_PIDGEOTTO, 40, 320 ; PIDGEOTTO mon_cry CRY_PIDGEOTTO, 17, 383 ; PIDGEOT @@ -73,9 +73,9 @@ PokemonCries:: mon_cry CRY_CLEFAIRY, 193, 156 ; COINPUR mon_cry CRY_CLEFAIRY, 119, 144 ; MEOWTH mon_cry CRY_CLEFAIRY, 153, 383 ; PERSIAN - mon_cry CRY_CLEFAIRY, 26, 192 ; PERRSERKER (may revise) + mon_cry CRY_AIPOM, -221, 232 ; PERRSERKER (kep import; may revise - mm?) mon_cry CRY_PSYDUCK, 32, 224 ; PSYDUCK - mon_cry CRY_PSYDUCK, 32, 224 ; WEIRDUCK (incomplete) + mon_cry CRY_PSYDUCK, 147, 208 ; WEIRDUCK mon_cry CRY_PSYDUCK, 255, 192 ; GOLDUCK mon_cry CRY_NIDOQUEEN, 221, 224 ; MANKEY mon_cry CRY_NIDOQUEEN, 175, 192 ; PRIMEAPE @@ -98,28 +98,28 @@ PokemonCries:: mon_cry CRY_SLOWKING, 573, 320 ; BELLIGNAN mon_cry CRY_VENONAT, 0, 256 ; TENTACOOL mon_cry CRY_VENONAT, 238, 383 ; TENTACRUEL - mon_cry CRY_NIDORAN_M, 0, 0 ; TOEDSCOOL (incomplete) - mon_cry CRY_NIDORAN_M, 0, 0 ; TOEDSCRUEL (incomplete) - mon_cry CRY_NIDORAN_M, 0, 0 ; BLOTTLE (incomplete) - mon_cry CRY_NIDORAN_M, 0, 0 ; PENDRAKEN (incomplete) + mon_cry CRY_DIGLETT, -22, 353 ; TOEDSCOOL + mon_cry CRY_SLOWKING, -38, 704 ; TOEDSCRUEL + mon_cry CRY_BLASTOISE, 147, 128 ; BLOTTLE + mon_cry CRY_BLASTOISE, 60, 128 ; PENDRAKEN mon_cry CRY_VULPIX, 240, 144 ; GEODUDE mon_cry CRY_VULPIX, 0, 256 ; GRAVELER mon_cry CRY_GOLEM, 224, 192 ; GOLEM - mon_cry CRY_NIDORAN_M, 0, 0 ; KOLTA (incomplete) + mon_cry CRY_WEEPINBELL, 55, 144 ; KOLTA mon_cry CRY_WEEPINBELL, 0, 256 ; PONYTA mon_cry CRY_WEEPINBELL, 32, 320 ; RAPIDASH - mon_cry CRY_NIDORAN_M, 0, 0 ; BALUMBA (incomplete) + mon_cry CRY_PIDGEY, 0, 256 ; BALUMBA mon_cry CRY_SLOWPOKE, 0, 256 ; SLOWPOKE mon_cry CRY_GROWLITHE, 0, 256 ; SLOWBRO mon_cry CRY_METAPOD, 128, 224 ; MAGNEMITE - mon_cry CRY_NIDORAN_M, 0, 0 ; MAGNETITE (incomplete) + mon_cry CRY_METAPOD, 177, 272 ; MAGNETITE mon_cry CRY_METAPOD, 32, 320 ; MAGNETON - mon_cry CRY_NIDORAN_M, 0, 0 ; MAGNEZONE (incomplete) - mon_cry CRY_NIDORAN_M, 0, 0 ; GAVILLAIN (incomplete) - mon_cry CRY_NIDORAN_M, 0, 0 ; CHEEP (incomplete) - mon_cry CRY_NIDORAN_M, 0, 0 ; JABETTA (incomplete) - mon_cry CRY_NIDORAN_M, 0, 0 ; RIBBITO (incomplete) - mon_cry CRY_NIDORAN_M, 0, 0 ; CROAKOZUNA (incomplete) + mon_cry CRY_AMPHAROS, 656, 682 ; MAGNEZONE + mon_cry CRY_EARTHTRON, 246, 192 ; GAVILLAIN + mon_cry CRY_RATTATA, 255, 192 ; CHEEP + mon_cry CRY_RATTATA, 50, 383 ; JABETTA + mon_cry CRY_GOLEM, 147, 224 ; RIBBITO + mon_cry CRY_GOLEM, 37, 383 ; CROAKOZUNA mon_cry CRY_SPEAROW, 221, 129 ; FARFETCH_D mon_cry CRY_SUNFLORA, 13, 256 ; LUXWAN (incomplete - just taken from remoraid for now) mon_cry CRY_DIGLETT, 187, 129 ; DODUO @@ -131,7 +131,7 @@ PokemonCries:: mon_cry CRY_MUK, 239, 383 ; MUK mon_cry CRY_FEAROW, 0, 256 ; SHELLDER mon_cry CRY_FEAROW, 111, 352 ; CLOYSTER - mon_cry CRY_NIDORAN_M, 0, 0 ; DISTURBAN (incomplete) + mon_cry CRY_TOTODILE, 512, 320 ; DISTURBAN mon_cry CRY_METAPOD, 0, 256 ; GASTLY mon_cry CRY_METAPOD, 48, 192 ; HAUNTER mon_cry CRY_MUK, 0, 383 ; GENGAR @@ -146,11 +146,11 @@ PokemonCries:: mon_cry CRY_DROWZEE, 0, 256 ; EXEGGUTOR mon_cry CRY_CLEFAIRY, 0, 256 ; CUBONE mon_cry CRY_ODDISH, 79, 224 ; MAROWAK - mon_cry CRY_NIDORAN_M, 0, 0 ; GUARDIA (incomplete) + mon_cry CRY_ODDISH, 0, 383 ; GUARDIA mon_cry CRY_GOLEM, 128, 320 ; HITMONLEE mon_cry CRY_SEEL, 238, 320 ; HITMONCHAN mon_cry CRY_SEEL, 0, 256 ; LICKITUNG - mon_cry CRY_SEEL, -256, 300 ; LICKILICKY, tentative + mon_cry CRY_SEEL, 169, 639 ; LICKILICKY mon_cry CRY_SEEL, -300, 400 ; LICKILORD, tentative mon_cry CRY_GOLEM, 230, 349 ; KOFFING mon_cry CRY_GOLEM, 255, 383 ; WEEZING @@ -160,14 +160,14 @@ PokemonCries:: mon_cry CRY_PIDGEOTTO, 10, 320 ; CHANSEY mon_cry CRY_GOLEM, 50, 140 ; BURGELA, tentative mon_cry CRY_GOLEM, 0, 256 ; TANGELA - mon_cry CRY_GOLEM, -256, 350 ; TANGROWTH, tentative + mon_cry CRY_RAIKOU, 426, 592 ; TANGROWTH mon_cry CRY_GOLEM, -140, 383 ; JUNGELA, tentative mon_cry CRY_KANGASKHAN, 0, 256 ; KANGASKHAN mon_cry CRY_CLEFAIRY, 153, 144 ; HORSEA mon_cry CRY_CLEFAIRY, 60, 129 ; SEADRA mon_cry CRY_BLASTOISE, 247, 128 ; BLASTYKE mon_cry CRY_BLASTOISE, 0, 256 ; BLASTOISE - mon_cry CRY_NIDORAN_M, 0, 0 ; ORFRY (incomplete) + mon_cry CRY_CATERPIE, 137, 142 ; ORFRY mon_cry CRY_CATERPIE, 128, 192 ; GOLDEEN mon_cry CRY_CATERPIE, 16, 383 ; SEAKING mon_cry CRY_PARAS, 2, 160 ; STARYU @@ -177,11 +177,11 @@ PokemonCries:: mon_cry CRY_CATERPIE, 0, 256 ; SCYTHER mon_cry CRY_CATERPIE, -512, 383 ; KLEAVOR mon_cry CRY_DROWZEE, 255, 383 ; JYNX - mon_cry CRY_NIDORAN_M, 0, 0 ; BUU + mon_cry CRY_DROWZEE, 46, 352 ; BUU mon_cry CRY_VOLTORB, 143, 383 ; ELECTABUZZ - mon_cry CRY_NIDORAN_M, 0, 0 ; ELECTIVIRE (incomplete) + mon_cry CRY_TEDDIURSA, 470, 256 ; ELECTIVIRE mon_cry CRY_CHARMANDER, 255, 176 ; MAGMAR - mon_cry CRY_NIDORAN_M, 0, 0 ; MAGMORTAR (incomplete) + mon_cry CRY_PIDGEOTTO, 3093, 642 ; MAGMORTAR mon_cry CRY_PIDGEOTTO, 0, 256 ; PINSIR mon_cry CRY_RAICHU, 291, 256 ; TRICULES mon_cry CRY_SQUIRTLE, 17, 192 ; TAUROS @@ -191,7 +191,7 @@ PokemonCries:: mon_cry CRY_EKANS, 0, 256 ; TERRADOS (incomplete) mon_cry CRY_LAPRAS, 0, 256 ; LAPRAS mon_cry CRY_PIDGEY, 255, 383 ; DITTO - mon_cry CRY_NIDORAN_M, 0, 0 ; MIMMEO (incomplete) + mon_cry CRY_PIDGEY, 80, 383 ; MIMMEO mon_cry CRY_VENONAT, 136, 224 ; EEVEE mon_cry CRY_VENONAT, 170, 383 ; VAPOREON mon_cry CRY_VENONAT, 61, 256 ; JOLTEON @@ -203,16 +203,16 @@ PokemonCries:: mon_cry CRY_FEAROW, 238, 129 ; KABUTOPS mon_cry CRY_NIDORAN_M, 0, 0 ; FERADACTYL (incomplete) mon_cry CRY_VILEPLUME, 32, 368 ; AERODACTYL - mon_cry CRY_NIDORAN_M, 0, 0 ; DECILLA (incomplete) - mon_cry CRY_NIDORAN_M, 0, 0 ; GAWARHED (incomplete) + mon_cry CRY_BULBASAUR, 64, 256 ; DECILLA + mon_cry CRY_BULBASAUR, 0, 256 ; GAWARHED mon_cry CRY_GRIMER, 101, 128 ; MUNCHLAX mon_cry CRY_GRIMER, 85, 129 ; SNORLAX mon_cry CRY_RAICHU, 128, 192 ; ARTICUNO mon_cry CRY_FEAROW, 255, 256 ; ZAPDOS mon_cry CRY_RAICHU, 248, 192 ; MOLTRES - mon_cry CRY_NIDORAN_M, 0, 0 ; SQUEAMATA (incomplete) - mon_cry CRY_NIDORAN_M, 0, 0 ; MINISTARE (incomplete) - mon_cry CRY_NIDORAN_M, 0, 0 ; IGUANARCH (incomplete) + mon_cry CRY_BULBASAUR, 100, 320 ; SQUEAMATA + mon_cry CRY_BULBASAUR, 64, 320 ; MINISTARE + mon_cry CRY_BULBASAUR, 32, 320 ; IGUANARCH mon_cry CRY_BULBASAUR, 96, 192 ; DRATINI mon_cry CRY_BULBASAUR, 64, 256 ; DRAGONAIR mon_cry CRY_BULBASAUR, 60, 320 ; DRAGONITE @@ -285,9 +285,9 @@ PokemonCries:: mon_cry CRY_WOOPER, -198, 320 ; QUAGSIRE mon_cry CRY_AIPOM, 162, 320 ; ESPEON mon_cry CRY_VENONAT, -233, 240 ; UMBREON - mon_cry CRY_NIDORAN_M, 0, 0 ; LEAFEON (incomplete) - mon_cry CRY_NIDORAN_M, 0, 0 ; GLACEON (incomplete) - mon_cry CRY_NIDORAN_M, 0, 0 ; SYLVEON (incomplete) + mon_cry CRY_CHIKORITA, -1, 512 ; LEAFEON + mon_cry CRY_AMPHAROS, 63, 592 ; GLACEON + mon_cry CRY_NIDOQUEEN, 253, 367 ; SYLVEON mon_cry CRY_MARILL, -31, 384 ; MURKROW mon_cry CRY_NIDORAN_M, 0, 0 ; HONCHKROW (incomplete) mon_cry CRY_SLOWKING, 260, 512 ; SLOWKING @@ -341,7 +341,7 @@ PokemonCries:: mon_cry CRY_SENTRET, 72, 560 ; PHANPY mon_cry CRY_DONPHAN, 0, 416 ; DONPHAN mon_cry CRY_GIRAFARIG, 115, 576 ; PORYGON2 - mon_cry CRY_NIDORAN_M, 0, 0 ; PORYGON_Z (incomplete) + mon_cry CRY_PARAS, 287, 519 ; PORYGONZ mon_cry CRY_AIPOM, -352, 384 ; STANTLER mon_cry CRY_NIDORAN_M, 0, 0 ; WYRDEER (incomplete) mon_cry CRY_PICHU, -538, 496 ; SMEARGLE @@ -379,8 +379,8 @@ PokemonCries:: mon_cry CRY_NIDORAN_M, 0, 128 ; XYLODON mon_cry CRY_NIDORAN_M, 0, 128 ; XYLOFIN mon_cry CRY_METAPOD, 766, 566 ; DOKUROAR - mon_cry CRY_NIDORAN_M, 0, 128 ; SCREAM_TAIL - mon_cry CRY_NIDORAN_M, 0, 128 ; SANDY_SHOCKS + mon_cry CRY_PIDGEY, 250, 256 ; SCREAM_TAIL + mon_cry CRY_METAPOD, 31, 349 ; SANDY_SHOCKS mon_cry CRY_NIDORAN_M, 0, 128 ; GREAT_TUSK mon_cry CRY_NIDORAN_M, 0, 128 ; FLUTTER_MANE mon_cry CRY_NIDORAN_M, 0, 128 ; IRON_TREADS diff --git a/data/sprites/sprites.asm b/data/sprites/sprites.asm index f60d390..33c8cd1 100644 --- a/data/sprites/sprites.asm +++ b/data/sprites/sprites.asm @@ -116,36 +116,36 @@ OverworldSprites: overworld_sprite TopazRunSpriteGFX, 12, WALKING_SPRITE, PAL_OW_PURPLE ; SW97 Imports - overworld_sprite TsukushiGFX, 4, STILL_SPRITE, PAL_OW_PURPLE + overworld_sprite TsukushiGFX, 12, STANDING_SPRITE, PAL_OW_PURPLE overworld_sprite MikanGFX, 12, WALKING_SPRITE, PAL_OW_GREEN overworld_sprite MediumSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BROWN overworld_sprite AgathaGFX, 12, WALKING_SPRITE, PAL_OW_PURPLE overworld_sprite HelmetBikerGFX, 12, WALKING_SPRITE, PAL_OW_RED - overworld_sprite WalkerGFX, 4, STILL_SPRITE, PAL_OW_BLUE + overworld_sprite WalkerGFX, 12, STANDING_SPRITE, PAL_OW_BLUE overworld_sprite SpaceworldGirlGFX, 12, WALKING_SPRITE, PAL_OW_RED overworld_sprite BanchomanGFX, 12, WALKING_SPRITE, PAL_OW_PURPLE - overworld_sprite EnokiGFX, 4, STILL_SPRITE, PAL_OW_PURPLE + overworld_sprite EnokiGFX, 12, STANDING_SPRITE, PAL_OW_PURPLE overworld_sprite ImposterOakGFX, 12, WALKING_SPRITE, PAL_OW_BROWN overworld_sprite GoldSkateboardGFX, 12, WALKING_SPRITE, PAL_OW_RED overworld_sprite SilverSisterGFX, 12, WALKING_SPRITE, PAL_OW_RED ; KEP Imports - overworld_sprite VoltorbGFX, 4, STILL_SPRITE, PAL_OW_RED + overworld_sprite VoltorbGFX, 12, STANDING_SPRITE, PAL_OW_RED overworld_sprite SmallBirdGFX, 12, WALKING_SPRITE, PAL_OW_BROWN overworld_sprite OfficerJennyGFX, 12, WALKING_SPRITE, PAL_OW_BLUE - overworld_sprite KoffingGFX, 4, STILL_SPRITE, PAL_OW_PURPLE + overworld_sprite KoffingGFX, 12, STANDING_SPRITE, PAL_OW_PURPLE overworld_sprite JessieGFX, 12, WALKING_SPRITE, PAL_OW_RED overworld_sprite JamesGFX, 12, WALKING_SPRITE, PAL_OW_BLUE - overworld_sprite GengarGFX, 4, STILL_SPRITE, PAL_OW_PURPLE + overworld_sprite GengarGFX, 12, STANDING_SPRITE, PAL_OW_PURPLE overworld_sprite GreenGFX, 12, WALKING_SPRITE, PAL_OW_GREEN - overworld_sprite DiglettGFX, 4, STILL_SPRITE, PAL_OW_BROWN + overworld_sprite DiglettGFX, 12, STANDING_SPRITE, PAL_OW_BROWN overworld_sprite CatGFX, 12, WALKING_SPRITE, PAL_OW_BROWN - overworld_sprite ArbokGFX, 4, STILL_SPRITE, PAL_OW_PURPLE - overworld_sprite BaobaGFX, 4, STILL_SPRITE, PAL_OW_BROWN - overworld_sprite SilphChiefGFX, 4, STILL_SPRITE, PAL_OW_BROWN - overworld_sprite SafariZoneWorkerGFX, 4, STILL_SPRITE, PAL_OW_BROWN + overworld_sprite ArbokGFX, 12, STANDING_SPRITE, PAL_OW_PURPLE + overworld_sprite BaobaGFX, 12, STANDING_SPRITE, PAL_OW_BROWN + overworld_sprite SilphChiefGFX, 12, STANDING_SPRITE, PAL_OW_BROWN + overworld_sprite SafariZoneWorkerGFX, 12, STANDING_SPRITE, PAL_OW_BROWN overworld_sprite LoreleiGFX, 12, WALKING_SPRITE, PAL_OW_RED overworld_sprite GiovanniGFX, 12, WALKING_SPRITE, PAL_OW_RED overworld_sprite ChannelerGFX, 12, WALKING_SPRITE, PAL_OW_BROWN - overworld_sprite BaldingGuyGFX, 4, STILL_SPRITE, PAL_OW_BROWN + overworld_sprite BaldingGuyGFX, 12, STANDING_SPRITE, PAL_OW_BROWN assert_table_length NUM_OVERWORLD_SPRITES diff --git a/data/trainers/attributes.asm b/data/trainers/attributes.asm index deaaebe..5f989ce 100644 --- a/data/trainers/attributes.asm +++ b/data/trainers/attributes.asm @@ -507,6 +507,12 @@ TrainerClassAttributes: dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY | AI_OPPORTUNIST | AI_TYPES dw CONTEXT_USE | SWITCH_SOMETIMES +; Giovanni 1 + db FULL_RESTORE, NO_ITEM ; items + db 25 ; base reward + dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY | AI_OPPORTUNIST | AI_TYPES + dw CONTEXT_USE | SWITCH_SOMETIMES + ; Giovanni 3 db FULL_RESTORE, FULL_HEAL ; items db 25 ; base reward @@ -525,4 +531,22 @@ TrainerClassAttributes: dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY | AI_OPPORTUNIST | AI_TYPES dw CONTEXT_USE | SWITCH_SOMETIMES +; Ariana + db FULL_RESTORE, NO_ITEM ; items + db 25 ; base reward + dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY | AI_OPPORTUNIST | AI_TYPES + dw CONTEXT_USE | SWITCH_SOMETIMES + +; Archer + db FULL_RESTORE, NO_ITEM ; items + db 25 ; base reward + dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY | AI_OPPORTUNIST | AI_TYPES + dw CONTEXT_USE | SWITCH_SOMETIMES + +; Prof.Blue + db FULL_RESTORE, FULL_RESTORE ; items + db 25 ; base reward + dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY + dw CONTEXT_USE | SWITCH_SOMETIMES + assert_table_length NUM_TRAINER_CLASSES diff --git a/data/trainers/class_names.asm b/data/trainers/class_names.asm index 2b1b38e..65e5108 100644 --- a/data/trainers/class_names.asm +++ b/data/trainers/class_names.asm @@ -12,7 +12,7 @@ TrainerClassNames:: li "RIVAL" li "#MON PROF." li "ELITE FOUR" - li " TRAINER" + li "TRAINER" li "ELITE FOUR" li "ELITE FOUR" li "ELITE FOUR" @@ -63,7 +63,7 @@ TrainerClassNames:: li "KIMONO GIRL" li "TWINS" li "#FAN" - li " TRAINER" + li "TRAINER" li "LEADER" li "OFFICER" li "ROCKET" @@ -83,9 +83,13 @@ TrainerClassNames:: li "LEADER" li "LEADER" li "LEADER" - li "LEADER?" ; Impostor Oak + li "LEADER?" ; Imposter Oak li "LEADER" + li "TRAINER" li "LEADER" li "LEADER" li "BALLSMITH" + li "EXECUTIVE" + li "EXECUTIVE" + li "PROFESSOR" assert_list_length NUM_TRAINER_CLASSES diff --git a/data/trainers/dvs.asm b/data/trainers/dvs.asm index 9ee0e9e..2ee2599 100644 --- a/data/trainers/dvs.asm +++ b/data/trainers/dvs.asm @@ -86,7 +86,11 @@ TrainerClassDVs: dn 13, 12, 13, 13 ; South guy dn 13, 12, 13, 13 ; IMPOSTEROAK dn 12, 12, 15, 15 ; AGATHA (HP Fighting 70) + dn 13, 12, 13, 13 ; GIOVANNI1 dn 13, 12, 13, 13 ; GIOVANNI3 dn 13, 12, 13, 13 ; GREEN dn 13, 12, 13, 13 ; KURT + dn 13, 12, 13, 13 ; ARIANA + dn 13, 12, 13, 13 ; ARCHER + dn 13, 12, 13, 13 ; PROF.BLUE assert_table_length NUM_TRAINER_CLASSES diff --git a/data/trainers/encounter_music.asm b/data/trainers/encounter_music.asm index 4216a48..bf2e8c3 100644 --- a/data/trainers/encounter_music.asm +++ b/data/trainers/encounter_music.asm @@ -88,7 +88,11 @@ TrainerEncounterMusic:: db MUSIC_OFFICER_ENCOUNTER ; South Guy db MUSIC_POKEMANIAC_ENCOUNTER ; IMPOSTOROAK db MUSIC_SAGE_ENCOUNTER ; AGATHA + db MUSIC_ROCKET_ENCOUNTER ; GIOVANNI1 db MUSIC_ROCKET_ENCOUNTER ; GIOVANNI3 db MUSIC_OFFICER_ENCOUNTER ; GREEN db MUSIC_OFFICER_ENCOUNTER ; KURT + db MUSIC_ROCKET_ENCOUNTER ; ARIANA + db MUSIC_ROCKET_ENCOUNTER ; ARCHER + db MUSIC_OFFICER_ENCOUNTER ; PROF.BLUE assert_table_length NUM_TRAINER_CLASSES + 1 diff --git a/data/trainers/genders.asm b/data/trainers/genders.asm index 4eb0c32..0f29913 100644 --- a/data/trainers/genders.asm +++ b/data/trainers/genders.asm @@ -87,7 +87,11 @@ BTTrainerClassGenders: db MALE ; SOUTH GUY db MALE ; IMPOSTEROAK db FEMALE ; AGATHA + db MALE ; GIOVANNI1 db MALE ; GIOVANNI3 db FEMALE ; GREEN db MALE ; KURT + db MALE ; ARIANA + db FEMALE ; ARCHER + db MALE ; PROF.BLUE assert_table_length NUM_TRAINER_CLASSES diff --git a/data/trainers/leaders.asm b/data/trainers/leaders.asm index a41f641..e83a091 100644 --- a/data/trainers/leaders.asm +++ b/data/trainers/leaders.asm @@ -17,8 +17,16 @@ GymLeaders: db BRUNO db KAREN db KOGA - db CHAMPION - db RED +; db CHAMPION +; db RED +; For now Nihon bosses will be here. + db WALKER + db LORELEI + db XXX + db IMPOSTEROAK + db AGATHA + db LEADERGIOVANNI + db GREEN ; fallthrough KantoGymLeaders: db BROCK diff --git a/data/trainers/palettes.asm b/data/trainers/palettes.asm index a36d1c9..afdb27d 100644 --- a/data/trainers/palettes.asm +++ b/data/trainers/palettes.asm @@ -7,7 +7,7 @@ TrainerPalettes: table_width PAL_COLOR_SIZE * 2, TrainerPalettes PlayerPalette: -INCBIN "gfx/player/chris.gbcpal", middle_colors +INCBIN "gfx/player/chris.gbcpal", middle_colors ; ignore the fact that this is an exception in the gitignore. do not research. DO NOT RESEARCH. I SAID DO NOT RESEARCH!! KrisPalette: ; Kris shares Falkner's palette INCBIN "gfx/trainers/falkner.gbcpal", middle_colors INCBIN "gfx/trainers/whitney.gbcpal", middle_colors @@ -94,9 +94,13 @@ INCBIN "gfx/trainers/lorelei.gbcpal", middle_colors INCBIN "gfx/trainers/southguy.gbcpal", middle_colors INCBIN "gfx/trainers/oak.gbcpal", middle_colors ; dupe for imposter oak INCBIN "gfx/trainers/agatha.gbcpal", middle_colors +INCBIN "gfx/trainers/giovanni_coat.gbcpal", middle_colors INCBIN "gfx/trainers/giovanni3.gbcpal", middle_colors INCBIN "gfx/trainers/green.gbcpal", middle_colors INCBIN "gfx/trainers/kurt.gbcpal", middle_colors +INCBIN "gfx/trainers/ariana.gbcpal", middle_colors +INCBIN "gfx/trainers/archer.gbcpal", middle_colors +INCBIN "gfx/trainers/blue_professor.gbcpal", middle_colors EnbyPalette: INCLUDE "gfx/player/topaz.pal" diff --git a/data/trainers/parties_new_classes.asm b/data/trainers/parties_new_classes.asm index 88a8544..381ead1 100644 --- a/data/trainers/parties_new_classes.asm +++ b/data/trainers/parties_new_classes.asm @@ -80,7 +80,7 @@ PainterGroup: SoldierGroup: next_list_item ; SOLDIER (1) - db "PEPPINO@", TRAINERTYPE_NORMAL + db "WIART@", TRAINERTYPE_NORMAL db 23 dw FORRETRESS db -1 ; end @@ -267,15 +267,15 @@ LassGroup: db 43 dw NIDOQUEEN ; From the Yellow Lass db NO_ITEM - db BODY_SLAM, SCRATCH, BLIZZARD, THUNDERBOLT + dw BODY_SLAM, SCRATCH, BLIZZARD, THUNDERBOLT db 43 dw GOROTORA ; Basically the beta Pikaclone counterpart, right? db NO_ITEM - db THUNDERBOLT, SCARY_FACE, QUICK_ATTACK, PURSUIT + dw THUNDERBOLT, SCARY_FACE, QUICK_ATTACK, PURSUIT db 45 dw PIKACHU ; And a pipe bomb. db LIGHT_BALL - db THUNDERBOLT, QUICK_ATTACK, DOUBLE_EDGE, AGILITY ; Moves from Johto anime + dw THUNDERBOLT, QUICK_ATTACK, DOUBLE_EDGE, AGILITY ; Moves from Johto anime db -1 ; end end_list_items @@ -286,27 +286,27 @@ WalkerGroup: db 60 dw TOGEKISS db PINK_BOW - db EXTREMESPEED, MIRROR_MOVE, SAFEGUARD, HIDDEN_POWER ; HP Water + dw EXTREMESPEED, MIRROR_MOVE, SAFEGUARD, HIDDEN_POWER ; HP Water db 60 dw LUXWAN db STICK - db FURY_CUTTER, SLASH, DRILL_PECK, THUNDERBOLT + dw FURY_CUTTER, SLASH, DRILL_PECK, THUNDERBOLT db 60 dw CARETORKER db LEFTOVERS - db SOFTBOILED, DRILL_PECK, HEAL_BELL, WHIRLWIND ; Drill Peck should be Dazzling Gleam! + dw SOFTBOILED, DRILL_PECK, HEAL_BELL, WHIRLWIND ; Drill Peck should be Dazzling Gleam! db 60 dw DODRIO db POLKADOT_BOW - db FLAIL, DRILL_PECK, AGILITY, ENDURE + dw FLAIL, DRILL_PECK, AGILITY, ENDURE db 60 dw AERODACTYL ; Progenitor of Birds in Tajiri lore! db MIRACLEBERRY - db ROCK_HEAD, WING_ATTACK, EARTHQUAKE, FIRE_BLAST + dw ROCK_HEAD, WING_ATTACK, EARTHQUAKE, FIRE_BLAST db 60 dw SKARMORY db NO_ITEM ; Fire-type damage reduction item here please! - db STEEL_WING, DRILL_PECK, PURSUIT, LEER + dw STEEL_WING, DRILL_PECK, PURSUIT, LEER db -1 ; end end_list_items @@ -316,27 +316,27 @@ LoreleiGroup: db 60 dw CLOYSTER db MINT_BERRY - db SPIKES, ICE_BEAM, SURF, EXPLOSION + dw SPIKES, ICE_BEAM, SURF, EXPLOSION db 60 dw SNEASEL ; WEAVILE db PRZCUREBERRY - db BEAT_UP, SLASH, ICE_BEAM, SWAGGER + dw BEAT_UP, SLASH, ICE_BEAM, SWAGGER db 60 dw JYNX db NO_ITEM - db LOVELY_KISS, PSYCHIC_M, PERISH_SONG, THIEF + dw LOVELY_KISS, PSYCHIC_M, PERISH_SONG, THIEF db 60 dw LUXWAN ; BUNBERG db MIRACLEBERRY - db SYNTHESIS, ICE_BEAM, RAZOR_LEAF, PRESENT ; funny,,,,, + dw SYNTHESIS, ICE_BEAM, RAZOR_LEAF, PRESENT ; funny,,,,, db 60 dw NINETALES ; NINETALESA db FAIRY_FEATHER - db ICE_BEAM, CONFUSE_RAY, HIDDEN_POWER, NO_MOVE ; DAZZLING_GLEAM please! also, HP Electric + dw ICE_BEAM, CONFUSE_RAY, HIDDEN_POWER, NO_MOVE ; DAZZLING_GLEAM please! also, HP Electric db 60 dw LAPRAS db NEVERMELTICE - db THUNDERBOLT, ICE_BEAM, SURF, CONFUSE_RAY + dw THUNDERBOLT, ICE_BEAM, SURF, CONFUSE_RAY db -1 ; end end_list_items @@ -346,27 +346,27 @@ XXXGroup: ; South Man db 60 dw BALUMBA db MIRACLEBERRY - db HYPNOSIS, GUST, EXPLOSION, NO_MOVE ; Dazzling Gleam pls! + dw HYPNOSIS, GUST, EXPLOSION, NO_MOVE ; Dazzling Gleam pls! db 60 dw SYLVEON db PRZCUREBERRY - db QUICK_ATTACK, GROWTH, LIGHT_SCREEN, NO_MOVE ; Dazzling Gleam pls! + dw QUICK_ATTACK, GROWTH, LIGHT_SCREEN, NO_MOVE ; Dazzling Gleam pls! db 60 dw MIMEAR db MAGNET - db LOVELY_KISS, THUNDERBOLT, PRESENT, NO_MOVE ; Dazzling Gleam pls! + dw LOVELY_KISS, THUNDERBOLT, PRESENT, NO_MOVE ; Dazzling Gleam pls! db 60 dw WEEZING ; WEEZINGG db NO_ITEM ; Ground-type reducing item - db SLUDGE_BOMB, FIRE_BLAST, EXPLOSION, NO_MOVE ; Dazzling Gleam pls! + dw SLUDGE_BOMB, FIRE_BLAST, EXPLOSION, NO_MOVE ; Dazzling Gleam pls! db 60 dw PHANDARIN db PSNCUREBERRY - db SHADOW_BALL, BODY_SLAM, PURSUIT, NO_MOVE ; Dazzling Gleam pls! + dw SHADOW_BALL, BODY_SLAM, PURSUIT, NO_MOVE ; Dazzling Gleam pls! db 60 dw GRANBO db FAIRY_FEATHER - db NO_MOVE, NO_MOVE, NO_MOVE, NO_MOVE ; Dazzling Gleam pls! + dw SURF, NO_MOVE, NO_MOVE, NO_MOVE ; Dazzling Gleam pls! db -1 ; end end_list_items @@ -376,27 +376,27 @@ ImposterOakGroup: db 60 dw TAUROS db POLKADOT_BOW - db BODY_SLAM, HYPER_BEAM, FIRE_BLAST, THUNDERBOLT + dw BODY_SLAM, HYPER_BEAM, FIRE_BLAST, THUNDERBOLT db 60 dw EXEGGUTOR db MIRACLE_SEED - db SLEEP_POWDER, GIGA_DRAIN, PSYCHIC_M, STUN_SPORE + dw SLEEP_POWDER, GIGA_DRAIN, PSYCHIC_M, STUN_SPORE db 60 dw ARCANINE db MINT_BERRY - db FIRE_BLAST, EXTREMESPEED, BODY_SLAM, REST + dw FIRE_BLAST, EXTREMESPEED, BODY_SLAM, REST db 60 dw GYARADOS db MYSTIC_WATER - db HYDRO_PUMP, THUNDERBOLT, DOUBLE_EDGE, ROAR - db 60 + dw HYDRO_PUMP, THUNDERBOLT, DOUBLE_EDGE, ROAR + db 55 ; Lower-levelled because Oak ran out of the stolen gym Pokemon! dw WEEZING - db NO_ITEM - db SLUDGE_BOMB, THUNDERBOLT, EXPLOSION, FIRE_BLAST - db 60 + db BERRY + dw SLUDGE_BOMB, THUNDERBOLT, EXPLOSION, FIRE_BLAST + db 55 dw GENGAR - db NO_ITEM - db HYPNOSIS, DREAM_EATER, SHADOW_BALL, EXPLOSION ; An inept set designed to illustrate that Impostor Oak isn't actually very competent. + db BERRY + dw HYPNOSIS, DREAM_EATER, SHADOW_BALL, EXPLOSION ; An inept set designed to illustrate that Impostor Oak isn't actually very competent. db -1 ; end end_list_items @@ -406,27 +406,51 @@ AgathaGroup: db 60 dw KITSEN db NO_ITEM - db HYPNOSIS, THIEF, NIGHTMARE, DESTINY_BOND ; rude + dw HYPNOSIS, THIEF, NIGHTMARE, DESTINY_BOND ; rude db 60 dw PRIMEAPE ; ANNIHILAPE db SCOPE_LENS ; hahahahaha - db CROSS_CHOP, ROCK_HEAD, SHADOW_BALL, FOCUS_ENERGY + dw CROSS_CHOP, ROCK_HEAD, SHADOW_BALL, FOCUS_ENERGY db 60 dw MAROWAK ; MAROWAKA db THICK_CLUB - db EARTHQUAKE, BONEMERANG, SHADOW_BALL, SWORDS_DANCE + dw EARTHQUAKE, BONEMERANG, SHADOW_BALL, SWORDS_DANCE db 60 dw MISMAGIUS db PRZCUREBERRY - db THUNDERBOLT, PERISH_SONG, MEAN_LOOK, PROTECT ; also rude + dw THUNDERBOLT, PERISH_SONG, MEAN_LOOK, PROTECT ; also rude db 60 dw GENGAR db MAGNET ; psychic damage-reducing item? - db CONFUSE_RAY, THUNDERBOLT, GIGA_DRAIN, PSYCHIC_M + dw CONFUSE_RAY, THUNDERBOLT, GIGA_DRAIN, PSYCHIC_M db 60 dw DOKUROAR db HARD_STONE - db ROCK_SLASH, SHADOW_BALL, EARTHQUAKE, HIDDEN_POWER ; HP Fighting + dw ROCK_SLASH, SHADOW_BALL, EARTHQUAKE, HIDDEN_POWER ; HP Fighting + db -1 ; end + end_list_items + +Giovanni1Group: + next_list_item + db "GIOVANNI@", TRAINERTYPE_MOVES + db 50 + dw BEEDRILL + dw SWORDS_DANCE, TWINEEDLE, GIGA_DRAIN, SLUDGE_BOMB + db 50 + dw HONCHKROW + dw FAINT_ATTACK, DRILL_PECK, NIGHT_SHADE, PURSUIT + db 50 + dw NIDOKING + dw ICE_BEAM, EARTHQUAKE, ROCK_SLIDE, HORN_DRILL + db 50 + dw NIDOQUEEN + dw THUNDERBOLT, EARTHQUAKE, BODY_SLAM, FIRE_BLAST + db 50 + dw KANGASKHAN + dw BODY_SLAM, EARTHQUAKE, ENDURE, REVERSAL ; Oh the siren call of this strat...I should give it Attract to punish high-DV players, but it's just so fucking funny + db 50 + dw PERSIAN + dw BITE, SLASH, THUNDERBOLT, HYPNOSIS ; Bite over Faint Attack because it has the same BP and flinches. db -1 ; end end_list_items @@ -438,27 +462,27 @@ LeaderGiovanniGroup: ; since he uses different sprites db 60 dw GLIGAR ; GLISCOR db SHARP_BEAK - db EARTHQUAKE, WING_ATTACK, SWORDS_DANCE, SANDSTORM + dw EARTHQUAKE, WING_ATTACK, SWORDS_DANCE, SANDSTORM db 60 dw DONPHAN ; TRAMPEL db LEFTOVERS - db BELLY_DRUM, EARTHQUAKE, BODY_SLAM, ROCK_SLIDE + dw BELLY_DRUM, EARTHQUAKE, BODY_SLAM, ROCK_SLIDE db 60 dw NIDOQUEEN db MYSTIC_WATER - db SURF, FIRE_BLAST, EARTHQUAKE, BODY_SLAM + dw SURF, FIRE_BLAST, EARTHQUAKE, BODY_SLAM db 60 dw MAROWAK ; GUARDIA db THICK_CLUB - db SWORDS_DANCE, EARTHQUAKE, BONEMERANG, BODY_SLAM + dw SWORDS_DANCE, EARTHQUAKE, BONEMERANG, BODY_SLAM db 60 dw NIDOKING db NEVERMELTICE - db THUNDERBOLT, ICE_BEAM, EARTHQUAKE, BODY_SLAM + dw THUNDERBOLT, ICE_BEAM, EARTHQUAKE, BODY_SLAM db 60 dw RHYDON ; RHYPERIOR db SOFT_SAND - db EARTHQUAKE, ROCK_SLIDE, BODY_SLAM, ROAR + dw EARTHQUAKE, ROCK_SLIDE, BODY_SLAM, ROAR db -1 ; end end_list_items @@ -468,27 +492,27 @@ GreenGroup: db 60 dw HITMONCHAN db MIRACLEBERRY - db MACH_PUNCH, MIND_READER, DYNAMICPUNCH, PURSUIT + dw MACH_PUNCH, MIND_READER, DYNAMICPUNCH, PURSUIT db 60 dw JOLTEON db MINT_BERRY - db THUNDERBOLT, REST, DOUBLE_KICK, THUNDER_WAVE + dw THUNDERBOLT, REST, DOUBLE_KICK, THUNDER_WAVE db 60 dw LAPRAS db MYSTIC_WATER - db THUNDERBOLT, ICE_BEAM, SURF, CONFUSE_RAY + dw THUNDERBOLT, ICE_BEAM, SURF, CONFUSE_RAY db 60 dw AERODACTYL db BURNT_BERRY - db ROCK_HEAD, WING_ATTACK, FIRE_BLAST, EARTHQUAKE + dw ROCK_HEAD, WING_ATTACK, FIRE_BLAST, EARTHQUAKE db 60 dw GYARADOS db NO_ITEM ; electric damage-reducing item - db THUNDERBOLT, HYDRO_PUMP, TWISTER, ICE_BEAM + dw THUNDERBOLT, HYDRO_PUMP, TWISTER, ICE_BEAM db 60 dw VENUSAUR db MIRACLE_SEED - db GIGA_DRAIN, SLUDGE_BOMB, SWORDS_DANCE, BODY_SLAM + dw GIGA_DRAIN, SLUDGE_BOMB, SWORDS_DANCE, BODY_SLAM db -1 ; end end_list_items @@ -499,22 +523,152 @@ KurtGroup: db "KURT@", TRAINERTYPE_MOVES db 50 dw PARASECT - db SPORE, GIGA_DRAIN, SLASH, ROCK_SLASH + dw SPORE, GIGA_DRAIN, SLASH, ROCK_SLASH db 50 dw SANDSLASH - db SWORDS_DANCE, EARTHQUAKE, ROCK_SLIDE, BODY_SLAM + dw SWORDS_DANCE, EARTHQUAKE, ROCK_SLIDE, BODY_SLAM db 50 dw BELLOSSOM - db SLEEP_POWDER, GROWTH, PETAL_DANCE, SYNTHESIS + dw SLEEP_POWDER, GROWTH, PETAL_DANCE, SYNTHESIS db 50 dw MUK - db SLUDGE_BOMB, EXPLOSION, FIRE_BLAST, THUNDERBOLT + dw SLUDGE_BOMB, EXPLOSION, FIRE_BLAST, THUNDERBOLT db 50 dw GRANBULL - db HEAL_BELL, TAKE_DOWN, CURSE, SHADOW_BALL + dw HEAL_BELL, TAKE_DOWN, CURSE, SHADOW_BALL db 50 dw SLOWBRO - db SURF, PSYCHIC_M, ICE_BEAM, EARTHQUAKE + dw SURF, PSYCHIC_M, ICE_BEAM, EARTHQUAKE db -1 ; end end_list_items +ArianaGroup: + next_list_item + db "ARIANA@", TRAINERTYPE_NORMAL + db 30 + dw BELLEDAM + db 30 + dw VILEPLUME + db 30 + dw MUK + db 30 + dw ARBOK + db 30 + dw HONCHKROW + db -1 ; end + + db "ARIANA@", TRAINERTYPE_NORMAL + db 30 + dw ARBOK + db 30 + dw VILEPLUME + db 30 + dw MUK + db 30 + dw HONCHKROW + db 30 + dw SNEASEL + db -1 ; end + + db "ARIANA@", TRAINERTYPE_NORMAL + db 30 + dw BELLEDAM + db 30 + dw ARBOK + db 30 + dw VILEPLUME + db 30 + dw MUK + db 30 + dw HONCHKROW + db 30 + dw SNEASEL + db -1 ; end + + db "ARIANA@", TRAINERTYPE_NORMAL + db 30 + dw BELLEDAM + db 30 + dw ARBOK + db 30 + dw VILEPLUME + db 30 + dw HONCHKROW + db 30 + dw SNEASEL + db 30 + dw JUNGELA + db -1 ; end + end_list_items + +ArcherGroup: + next_list_item + db "ARCHER@", TRAINERTYPE_NORMAL + db 30 + dw ELECTRODE + db 30 + dw MAGMAR + db 30 + dw GOLBAT + db 30 + dw HOUNDOOM + db -1 ; end + + db "ARCHER@", TRAINERTYPE_NORMAL + db 30 + dw ELECTRODE + db 30 + dw MAGMORTAR + db 30 + dw GOLBAT + db 30 + dw WEEZING + db 30 + dw HOUNDOOM + db -1 ; end + + db "ARCHER@", TRAINERTYPE_NORMAL + db 30 + dw ELECTRODE + db 30 + dw MAGMORTAR + db 30 + dw GOLBAT + db 30 + dw WEEZING + db 30 + dw PILOSWINE ; MAMOSWINE + db 30 + dw HOUNDOOM + db -1 ; end + end_list_items + +ProfBlueGroup: + next_list_item + db "BLUE@", TRAINERTYPE_ITEM_MOVES + db 70 + dw UMBREON + db LEFTOVERS + dw MEAN_LOOK, BATON_PASS, MOONLIGHT, CURSE + db 70 + dw HERACROSS + db BLACKBELT_I + dw ENDURE, REVERSAL, MEGAHORN, FLAIL + db 70 + dw TYRANITAR + db HARD_STONE + dw EARTHQUAKE, ROCK_SLASH, PURSUIT, ICE_BEAM + db 70 + dw ARCANINE + db MIRACLEBERRY + dw FIRE_BLAST, EXTREMESPEED, BODY_SLAM, CRUNCH + db 70 + dw BLASTOISE + db MYSTIC_WATER + dw HYDRO_PUMP, ICE_BEAM, MIRROR_COAT, EARTHQUAKE + db 70 + dw ELECTIVIRE + db MAGNET + dw THUNDERBOLT, CROSS_CHOP, EARTHQUAKE, THIEF + db -1 ; end + end_list_items diff --git a/data/trainers/party_pointers.asm b/data/trainers/party_pointers.asm index 25c9a7b..f8b2f27 100644 --- a/data/trainers/party_pointers.asm +++ b/data/trainers/party_pointers.asm @@ -87,7 +87,11 @@ TrainerGroups: dba XXXGroup dba ImposterOakGroup dba AgathaGroup + dba Giovanni1Group dba LeaderGiovanniGroup dba GreenGroup dba KurtGroup + dba ArianaGroup + dba ArcherGroup + dba ProfBlueGroup assert_table_length NUM_TRAINER_CLASSES diff --git a/data/trainers/pic_pointers.asm b/data/trainers/pic_pointers.asm index 457721f..5e71c6d 100644 --- a/data/trainers/pic_pointers.asm +++ b/data/trainers/pic_pointers.asm @@ -87,7 +87,11 @@ TrainerPicPointers:: dba SouthGuyPic dba ImposterOakPic dba AgathaPic + dba Giovanni1Pic dba Giovanni3Pic dba GreenPic dba KurtPic + dba ArianaPic + dba ArcherPic + dba ProfBluePic assert_table_length NUM_TRAINER_CLASSES diff --git a/data/trainers/sprites.asm b/data/trainers/sprites.asm index e25b00f..088d202 100644 --- a/data/trainers/sprites.asm +++ b/data/trainers/sprites.asm @@ -85,7 +85,11 @@ BTTrainerClassSprites: db SPRITE_RED ; South Guy Placeholder db SPRITE_RED ; Imposter Oak Placeholder db SPRITE_RED ; Agatha Placeholder + db SPRITE_RED ; Giovanni1 Placeholder db SPRITE_RED ; Giovanni3 Placeholder db SPRITE_RED ; Green Placeholder db SPRITE_RED ; Kurt Placeholder + db SPRITE_RED ; Ariana + db SPRITE_RED ; Archer + db SPRITE_RED ; Prof.Blue assert_table_length NUM_TRAINER_CLASSES diff --git a/gfx/pics.asm b/gfx/pics.asm index 9ad72f7..3a5efe0 100644 --- a/gfx/pics.asm +++ b/gfx/pics.asm @@ -1036,8 +1036,12 @@ TogekissBackpic: INCBIN "gfx/pokemon/togekiss/back.2bpp.lz" WalkerPic: INCBIN "gfx/trainers/walker.2bpp.lz" LoreleiPic: INCBIN "gfx/trainers/lorelei.2bpp.lz" SouthGuyPic: INCBIN "gfx/trainers/southguy.2bpp.lz" -ImposterOakPic: INCBIN "gfx/trainers/imposteroak.2bpp.lz" +ImposterOakPic: INCBIN "gfx/trainers/imposter_oak.2bpp.lz" AgathaPic: INCBIN "gfx/trainers/agatha.2bpp.lz" +Giovanni1Pic: INCBIN "gfx/trainers/giovanni_coat.2bpp.lz" Giovanni3Pic: INCBIN "gfx/trainers/giovanni3.2bpp.lz" GreenPic: INCBIN "gfx/trainers/green.2bpp.lz" KurtPic: INCBIN "gfx/trainers/kurt.2bpp.lz" +ArianaPic: INCBIN "gfx/trainers/ariana.2bpp.lz" +ArcherPic: INCBIN "gfx/trainers/archer.2bpp.lz" +ProfBluePic: INCBIN "gfx/trainers/blue_professor.2bpp.lz" diff --git a/gfx/player/chris.gbcpal b/gfx/player/chris.gbcpal new file mode 100644 index 0000000000000000000000000000000000000000..da8d0af3fb4f62a5ad245a3dbfb1b8306347fd48 GIT binary patch literal 8 PcmexgA8BMJ%D?~s51;~7 literal 0 HcmV?d00001 diff --git a/gfx/player/chris.png b/gfx/player/chris.png index 19869944e6bbb0bf34e9e157fc2aa03580c97e2e..c4472862ebb9d2a3de13616116f12c47f43e7033 100644 GIT binary patch delta 987 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 delta 934 zcmV;X16lmV1F#2>7=Ho-0002h=+lh=00D(*LqkwWLqi~Na&Km7Y-IodD3N`UJxIeq z9K~PLN<}InRuEChP@OD@ia1IYi(sL&62R|084ld5RI=Bjg z;0K7agOj3*l=#1-&?3fz<9@um_qclp2=y{k&A>RIYL=0T$A83ZZbb~fB8Ywj(2HS- znR+6jGx_(bAarW+RVI`Q*kx9)Fhl#~v8_R9XN`^{2MI2F7jq-)8%L?Z$&T6^Jn)l={4CS@u zG}mbkA&x~Pkbi^-8C7hc3=2_OHBwBZXg}uRA9Vala>?Y{03*jdDo`Oge(*o|-K|-e zoN$vuF`(ncwm(LI;4aXp+4lFbZ8uH;|1)rHhU7?onnIxfyr0oG<$%6hplj9bt+|iW2OvXTEq~nr2Zz9Dk+Ro3-rd>W+rMX; z{rvz}N^+bih1{0_000b7OjJbx004yE!$26o@h3J}6lp8Tteen9 z=`5zcbn&gJy+Z}Dqu^(#1fgAAT>JpmF_TV$f~eS`N)5P|wm2wGEkUg1(laW#=W3Sl z%RjGA4*0+Zf4erAGNZkSMAm*UO7tp;k}1(mlz(mH(}^SVhF`X%lV?H8Vr5+bz}j{y zs|0HUs%r*T+v@L?MD_Qr-XXGMWM>jI6VjtA^W|(lWSuIyvM4^GZdvL9jEAgI3qbSm zR&!R0?u2A%O^s{R4qqdtHdE&$6Y^d?i#6$PNIzCoCeoWYI$cQ_TY^4Oh#}R03Kjey zihrf%1Uo^EZy+s&q{Vaj-A^?I#|RL>!44e*i3oOACx7JjAmyd?h@F_mkJJ z1NG`cs$J&1NVj@p&Jpq!m=;Asfu)fCwja($b2ywBF!&wLHz%`jZ$`oV#Q*>R07*qo IM6N<$g6mqVLjV8( diff --git a/gfx/trainers/giovanni.png b/gfx/trainers/giovanni.png deleted file mode 100644 index c00006f0b5298c3e9652ef7dd19a3c1a739f254a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14890 zcmeHtWmH_vwr%4M4Fm|@XmEFTcXw#qA-KD{LvRQV!GgP62=1=IJva%EeCNC8o;%+C zbH;e@-|5l2_pYk7=2|stR`sqiDpE;75(Nb(| zq?ekOiwf8sHP=X8-eK; zj2Y@*?5#|tcaJpHEzCCdC<26_0VTYzH=B#UaJs!}zV91hsAbF(A-Ou3orETiTYe#o%ar0&MtkdwR`*|P2B;9R0Rwd>`=-wk| zaSayvukTiu^AG74o(3M92Px|Z-xdd#5)ADxo-1GNZfed!uUFjX_Zp8^`VYy&{uU`} zg7LgW53b24@inj4S4w{O9!~~|cfTzJwFNgG(}#y6_tRHjtZpvWzpuN`t__Z)eyKL( zy!EBM;LYV)&iHAd@o4u#@8fXce&Fux_Ylfx+x@b4kH{}J?kbAP8{^pTX{f11$2^P~ zTf4ORVcBg~CL$k7}6{5Wy3{1B9Iny3I-;ehJDb#nW!1;k+SbD-cHS1m{o$0)C^isl>=v7Ero#s%lV*YIGN7!P`cyQLd5bKV(onUx_LWGK)4%vz6| zwdSELu)0XN^Qog`{m{7f+?mijOkj76gx!%bsZO=EE(dprWy5OTX=dH*M+d@c7qcU> z^8~MMMe_IR=8Ft#6Yr-XaMg}OR|*Vyc+<<_tsct(uIrO|hYulAQ;9wU%XM4vWyt-N_1M(0}&o9NP-OvZ&hjaj-Td%WhjzF%&-{MQP(o~*5E+-_R*EQ?+GyT+&=?Pp}# zXBTnp?d(p8OunQiEVtOXAf}1J1MMx+vv#U0x6a*=@ZCjfxK4(Whq)iDz7&%SvD>Md zn{fRAX$_scv16$;~rUV_hZdX`S@UAZl~+^vb!tC{w4N$?tEf~Hd? zg!`*b-?&h|fzx~Mtu9vDLrstX2x~h7G!NbBHN80YZcD$5v_L@T11yN7wnYFuM7NJ? zv~R8|{wpm=J@zRxdSsW;Fy}Ry_~oo-U{c?;4S&qOW#Y=a#QZeA$#)Ya3V9P-@Zxll z=V3oK{JpiwPiP%T&7n+)M5`gYs!_I`-MepEk4@X-)D1)ms5d$l zB}S$Yc6uhQ>*sxeF>~;P`cL=ux54gE%EwRpdWX8GUF4qELluLOZlnEf{ z0o_|=%?TN%ReV|l(EcLyqhPU(`IeBa5MWv_8loI61@GfR6mseUmA6YDBi$rz03pNN z@~Toq+&292p!Y#T~qC4EfR?ICEj3c!uL>PTa5!CTH0oOq@Fl#u15g8 zD29L!)cG=EvX3J^2`6Q}ZFQS4^A=nwSIdr$mnYV6WxNB1{SS^hZ5pi!f#ikNn+ps$ zbgyM%$Ms~s)<(Nw&b64!T=Lu1)lSy_dxY4jdVIUxub~8qE4Jjnd!Fy>Ms3cjQPvEF z_QdIUOM#xkKm1?ke=Vc^KBk>gIu<=+a?Tk}JX8R*=t8S7v&V_OJm5M)+xOSRd7}pf zPay!q{6?aXUdS|SHR}?;c_@4&90F7Yo`*U2d-PeS+RVwt4S6rK)#K-SGGUKFyL4cb zajBoI5R=OP9MxwEd6D<(B43s#HTwKxP=G?%k(3Te?G{t^d{F)JtJ(s<2Az*;TjAO| zzdjh%KAX0%p5xrsFP8oc_9GSXdMdgl7(|i`Fo9g zLsHTSZY|Z?;$qopvWKfGcGwBkA_NDyf5f|(gb(%v+|`hIF$`#YRY`=}Cve=ydy?;k z_AZb~)=!mU+sNJp2K27;qb9vv1!nZTLty-fz#@{cUO`BPU}fRZsLc7U;8uB+@2g-_ zIP=cA2>p59Gf9=S(04)Qqgr-u=Dr+&adk_94FWI2h*O+iW8#@s0Q%QiSO=KQY^V*) zgsB22(?NdiX>mC9{hw-Pz@`LHd&hoLL1=C#-{t$y5!BP-2|EeU_!XEQfPDD*9T368 zLKr3;kY_=jV26(!_Lr7zEu@-v8e+6M^2)ky0g8?MCn@8vSGUJoO;8)dv-#aSsGkzZ zq7~4(*rxFBp?yXQD*K{?*n>O_;RC3E1kunZ%tJKm2%F|a;?vJhsu9T%fET~OM4 zj+=;uV(jF<8^O++;j8&fC<#L2i(whMn4YXEMzJaoJJuAn7cKlPG_~1WQRvrO&*Y+w zD9O&YdLiQhmExXO1c$r)$;e%`00KlB0(*D|6EZd}@yB%NkChL!=(>Qln_h>!PttfHXhB}a*J)bM@HwyttwjQYFoTT`d zo;5>XNdPNmJHWR!61fF(6=s^Ux$LE`&>gdkUM3)ds4&$>k-;E@qK7aof>RI)m&XhG z)Oc)$c@y^=^woaU@j#FVj0-_%V;o!yyvLw4URxtn=;MRUPAYFuo%--l;M$H7- z@9I)sM$dAi0ar-Ewj^`f(x0i4E-=uD9n*(_%;6dYa5l}z8HLA+h2UZzpv}%P>X9ua zlWW<~!tdh@S@s1L@Zl8+i3^>6>eXmCT)*_u;*%*ut$lCDLL-Yu4o58&L3sHdZkzk^ z5~XBstf_0sf{||uvR+6NJ_YJ$kaKZC7kv#(j5R(F&pL@K z*@>XZfRX5SgFCemh(2!7Z^!a{mpYNvtxnAT=!R<$wAZ9VTl6&eN2y!W`qyGeL%L(i z@FG{u!6kLpDKy*rtjIVyk#Pb2mRTP6d(r|Or$T7UW!(5WuylQyN>NdkO7b+k7%l3( z=-S6b1)snv05ZT1*d#q*;A;y+%0g8L?omp(VBE+({D*ys#mL`jLb{NIgJB|B@*$84 zu~LJd?BB(p-|rwpm=B;jn!Lm`jQws9x#o1%3bBDz-fZ(mk{?mDmY5LIfTtQ))Z=4; z2R1@$*{W=QmwF0Wze$8M_{O?@brUp zK^nEt29o1;spJYQsY|Ks521>QOEjm%Zfg)_a!dhJ=0x^1YM^9p@+k=&y2k)XW$?%3 z+QCJo@0_0r(PyP}xTcuZ`&l5+YI;pbOq4cNm%>hJQKZ>OWa)v&OHr#0Fw6eqRZFs= zR1i|CwujnM$hJM#2wE0BOVaz6L|_gYNX0{^ck05U79(0NnRzm|OJ<3>d}+Y3oURov zlKm6TAU-`vP;*4NU0#!9+$D-K|L{u?8#ckNcvP0NO3E!%j7Y;}W zeXdeV3iF`~Gm9BJi5e{wTX4k;(JEj-WrFbU!so0vf z*qp!+>C>6do|j_qBV<0Y^x;>bxXoizR0V;M^fF{$`hKyzhftTe5TyyvW|@C#7`miK zmVPEk#OL=KNt67Q$f8Elg6Yi-)KwHYZnx zst6FC#P_Qr?{OYo%dAsGCJSA#T-i~ozd#bJ$)sx5OY{q;BdIdgGn}VKIU&@D%+#Vp z01v%LvjbjylaGC(IoI_xZq?XL`6>d+NJB~==6 z$TMle#Uw$}kYj6x!hM5o1S^=qPte6G%VM4`aEFMmdD|i1L~xpw(h#{4zMwj5dq`<; z;2JSy5=Ci@GzbWDWhp|luZAtkD6J!*M}jWM6Z=C)G)A~0!f_Qu)r1Xu%Bqc(PB05Y zFQMwxIK^Mp%4{@0@<(o!jYjx8!3C^AXd&3zu{v>l5dV4VSLp#sEyn;-rOifdgG9QA zYs8VtlPXY<06@w=#~E-2ymx|x7dIM>7RdKOG1EfLKLKie1F-@kfQhMb4{MwKcC(dI zA-N3H&>y2gV9LcmPs-a7+7IO&|El`cGc-A z4i!&hdDX4n+si6Zet_+>KT=RS6RJeCQJ))>g>_(f>KrGIexXyQ@V{nN(2yRqkK}=n zqZJ8)8Wq2PJ)-O*5PeB+4Z=rR!0hJLwJh8I&|b-Bxq#g$L}sc9@yP3l93y!29p;)}_ME6QSQt-2m3 zwi2`X+seEZ?hEpw!&**}N~open|I6#xD(Y%Iu$16qBAn~1#JKeNsq%Fzir0Cu_YeP z()L6RQNVdyKM=ly#7Ok0tS*_ZuU6TvY#`HFhGk*3`nepx9^hTz1y=UZT)m9hRnyYk zNb#4l5mLuc>o~bsMlXEmwHmp8>`qww^#bU_;+~${-nxU_bPK|iK~9uF3UK7NGZY|< zkRw{J=}Q>kC9wQBLCdUm9wsk>Tsh>J_;U-(qdTSYfFz{<#-+YGwse-9)&Tb-;P)C) z3fBK;i+)lO(MT>*w zgAk}VS*$V$BG@kV*q=q>AmdjuQJOFx)d111IudH z$+~nZflnzTOj+bpPUH+C8rrUj-A<05&FYuBRFW#rD+eQ!#E|+G(pU1PxOzG6qk~j1 zk>7=a&CR+bHoo;`A2a>FLX_9)zZ+SET=bR~dmse_ns3kqNbFOINxZ0~VZO+RzBE@& z)Dz&sg3Pp+vdjEMz&lwAP z;%QVR#_SMjt_`qzz8t3^)0sZIC)tWykx-eo%9}!+pzzNYumj%xSSmXY4ZOtvaK2+G z-C0B-mj^{4Vf2~y!&S9{0r1}6fv#^Ev z3}csgQiomFNn*|_enBF*+-(Z~u`HgZBJ1|r0@XEuaTgtUiRs7iF=a%mqg%4?ZKnZV z8?Xz&#c4ULPm_`iE#_q|msdhWnXW1-M$TZ172b2L$A%|Xf|FO1&QV$7m|{&K^`I6R z4M;qy|Cuebwxtv{Q(Dm_QZjiew%hF$nAvue6_>WpiKhyXXvR zUgpHv)Zv8td$*HnW4$#|kj2LsvxobJ?(a=8{p^8Wz`hFmF*KvPY_g?hu~c z*xZh!O((s%!a2o^_FH0V`2VfBQMI>(LGM z@CSbV*KH%3jm}3BD=kTuu%ASYB^||7EN;T>*smQQqqcq*Q21V=Z(E-9*{cpJbK0j&-b-&pj%ep8ORY3FqTwpM z&FT)3>5Acba;;>9WEuTeM1}GRHopseS=ENsl~!xt0tTMwtQ-jMI?M*B?y=LA5W(s* ze~25xI-cw<>(%&CwjJ$(3>v#k*WHV%T1OYyRsychFuG}8&1xNEkUEuME6fSKB+GxN zfcR?#Afy4;s6kx3x%l~Ed?^M1?Ke5_ehkbjji2#;t#231gnjl*(U2ML8MSOJz98)o zawV3RUR2J)QsW;wb3T|Gu%b!Q7i1Z%Ng|?GP}bF4{aEv*e?}Qaf&KDW=QzR@t8G4c zFE&~fv%D9*HMz=fDXT_#$I@|iA3^LI0al&9;hn3ElIiheN)awLr~{qCj|*#}$VKlShe=jt4WCeRZtdX>kOs=pLOT&17DoMTUGTL(Nz?zBQD+3W%b!eE zcNPNn2!-RWK`RHdHJDL7gjCM@BQK^fG9d|__Y2P1bV)rWTQ_@7_r`>7DFv|f)_&o! z=_wb-trS}lgP+PIFou@)tz`BDIX#?#i{aKWoWSs8*)Z3IS@u{K!vp0~A|;(q9o3J_ z>Z43}rxD34;m%FlLK9=pW@BnV zzQpS#tOaV=s>@fj0NIsq}RNm>P$Z)H4o0J?fjSK4*<$NiP-=IozKG4(tN&J zaL0_+4ZT~#+=Y%2omD#RXv~#ur@@Cab@hTP5sNn2GcZ_qtdAw*B?jR`5K8o!LcJCo zF|KAK36n)J$G0s%G{}P~2Z}4u5zf{e?pjVj5IBQ_TScRlaQtYMP|Y4iRSwc$|~Hbj<5e37XlNpsnuUQAq0qSerZsm6pfLf7)k{uu4&iotDt zygxkMf9r0Ztv?bzwEX}Xxvo8yUj3N!yb*NW5Sy0JHyz_N>7PZ@Ot!}FA8KMp}qof}2}osh!!=FgKP*L&4hXG-V96S*%xBH`%NDJE#~>72Ry z*Qy%fYgA?#JD=1*V7XWyP$s$wv6QVkk86)3aVVwbGz~v&$30Q=eYhr?#_E&8PTH+? z88ER(t!-f4&c-rH*TB(G*1AT2X)&=}%JBWPrzooB5Oi58s2#&ZON!oL&kZ`uvuEVl zY0xie2!ri}CbX)KgRh%n;3_a^FLtAZBiBLSmraAHDV zM{MF!(@uc0qjkBzc_CQ~F?{eCe91;pjU*J7sn@7Dc~sC;GVw;hL!)MOf7_4WGC%rp zoJaT#PWbq9-$yG1%iRGL6*mvt*NF2EEKdV(J0+k_g54`+ep0j~bW_~{Mx5e#>JsMn z?Fo-@MyCxh@9+eW+a5U$Hz}*6AJ2_#^nxmT8w&!q-rlor!;v@V5@vm%_*NShw9s$N z9og{nNFM+~>=p<ElVdB{)Mc4LyMK5Va)sF26h->q@}8)f{%dd#b{=ukGrGHRBmH`Y;hfH~h*{ zfS4NYu(!AfVNEgdks`*63|HgxfpWM^5ln(1G(+2YCEo7|esWdanAl;TL$4xfa__?D z`3K+i$C>dW~UDWDkW#@K+KP_{9}PF;Y6m1L_QEd_t%TB?kE*w z%Q~RZo`p`?8bjctm8KgaCJGcV6h0V~9EZMZ9Mk+Btz=nW4wIB)fuGEEj!%!{ESERx z)DnPcC398*kL)8&n6MIT4dj<-tmiz>pXpRkMT;E50c2YL@Kk3dY#EF}{n6({)|wm; z@U7xFZ`x)G@n>ONJYsH||Vb=b%J3=9t*eq=)H=L z)cHYhn65Wiq#i}xBG7#;og&bDLv3WA{mkcmpRJS#WdmjL64eF|Sc`v$&CQ2OAL0-N zr6=w~pW#cKwJGTKjyuDiEdQ+AxP*{q#!g}vC=bJ~D<_C_AV!(=(@M-(b+@zOl6OyR zPe`@|%rb%JUuwe?mXrrRp{^HwY$#A#UJ0_gR6((V5iCokwYK6}=wonaL;M8&19`q_ zvOt7NpUd<&`?5xh#C^1#xKxH=(ge`Th&lv0va2>xIZVMG_OKAP`f*y*EF$z3is-=4 zb4xv{vG${j8)h7xLhAFhGN*j582fqtL(gr?4BksVb}SrMu&Ip6d<)xII=hM2{OwX+ zW_eWRqbhnRc4y|HQoDNUi^kukO{DG%$n@#I2EX7ahzWfRW$=s2P$ljw@vb+W5G{IG z5oP3|7ghs>8`0h!<%^toUv49DFj3Rvb8RH3!(IB&d?% zV_}v!T1MkVxm8p9@rnaJra-o4(Bv_CB8`-cWx^#Pv=--<2?z?E7FuIKr~Wb)DSz0) z-#vRDWpR93c&0*bX!2pJDJ)p9-p>;C>u$PYPswC1H_Dwzd@|(}h3CXXy~L06iRz*% z$mjQHzS4`bpS!hTf}`p+d@Fq7p!2OrA|Fha5Zm&jJXKDjVJa1_8(BTlimS=sRhFdm zp)VCfQ4Df(o^mIjk*!;UDn!H@`rv7<+v;~a;)$mM!@sMdQBnR3M^M9>Y*WzdV3q)> zq@oYxgeo3=BkIOxGmDi^!kM2~sUa6odzkT&0g+~XuPN%%yLo*${fR?W2!z+&7bHcb z4}$eI$qRv*E-z>wZdG4ul);{k9lLOBF23qo>X-jFGPD$HW(N!6wh>-S{=dCMJc!Nr8WCR%taNsVlhJ@YWbN9P^ja#i4Xu) z;ljTAZdnEMr5Uk;5mI+p&wMr{dG?dxNL)o17n&gHX3sKvGeNQzimhh{Pi}cAX3`Mj zTs|3Y#8^25mH7omVvwr5dW0*TJ6~OSj`264tMyItPQ2HI2L+M2fhvXAWJAZ9|yKf(keb|)W(Z}$&gs?1|u zRphJEiXXpgL)7HBx_d0Hn%iM;u>Z=xMFFiQC~(Wwg8uvk?<}*z13LBzgM-SqA@wLb z0=4m^2U$u9;>67rGG^5dPsYN|y}LiCiaeTBD9j}VQyXO=$q;b@d1gN%YF@ai7_26R zxr*|GB=vaQ>qC=H^_ky9aC5TCb}$oB`Pn@>A`mgBjFzd7+4Vtg{L~^8UZ~;tGZKx) zLo!dnY_!U#*>DdwDQf;S1a%9XCmsrJybK$M7h+^q3LN9wR;>1sXpqsP!^9XLTG-@I zBrwm9w4yMzdcnhV6kj2|H1Zcv6l}AFPkod$`F_3$O%B{*7gNKiTQmGfG{87fI93;taQsmN&#PEm zaeK+uuA{HeX%lXynwp6n$a!Fi9MWA4P=Uj_v<1M?!59S+_1i)nTL<`LiM4snAe6b% zDUvJf#|eS3mHyc~A62;V(VG3d`I0qaf5+{iZ#GL`lOLp2^@$q;XytNF{o(Q>3kq6G zMel+b@}tr*iaw#vyEeLC@HW>O6QL^^cn1 z(};W^f6?b6$USs;{u%5lrOxxzL9+2e1Nrn0C8e??%#@s^*gsGAbK)J>Qk$p&Qx%S( zyG=#%nyZv*ctL=6P0>6%FbSJ-Ia5V4=-YQT;I~jx*bpqRlCPN1OtzLf5|wBTfL%>k z(!T?(xbHm{5V$xMj&VvbuXu__=}7)4ITh&N-JS_vlhj2SxTuM#)}|gYBx?_vdg2Sd zzd|m8_PNimy|rd?>lzzX$EX8zv`MM)UA0;is4xpy>?y)F50| zO`dT5`kr-6SE%rKXhP_6h^@Ox@UwvTvCnTJ6d}1^DFI!6Tm$X-xB_!&vs14QMgRHG z1JQH5lBg)&TM1n?$D9L8X05-C;l{r4&>6o-2D()Fl%T=KLxv|q994!=#m?wBM@_gp zsyC=8PEr@~L6?%heEFn(qS7RP+uB5z31`o%eRmwUe7)_62Hr4vKR^!LYu?BXk?NHae}deB>&{{UO&HcYlA@Yrdk zH68`6GdIeP!f(XodVPTu_=DXkIy$#vrhtyH9Y3#$rwH*PlgBk|b?#)dw;qM+SxBOl zJTQQ05Q0qarVLanAiv0b4U=Z^p@KH8FgaX4k6~u+!3HaP3NB@Pen#A{uPQEa7lQ43 zXIx>w4r?)&r+n3-`0JqshGW@AnWE8Dt8{>rF^)h;e*$)WQS;7q#ep81aCvYlc9&3J zqhBb-6BQm%jH=*f4Sh23W`58QZcP?cq4bnMPl!MKtFU5d;54C>yJHCrB{tYLtkAE( z(3RklQSy{+baDL^5_1L)+J8Pr2mpWxwGtIok`@*HucMuB2RgHT6Zxh3g$M=>XJy1` zNHu`UBT6}R5m8(+SkXoW4Olv^OszjfEoTynTDTCaVc-O@D^VFH+IU(JgSOxzz6K{3 zMyEV<7fq241@HQGwBNUQ!@=LOsDAI^%C}BSj2a%WwHHV3B8~8ao{9!Xe)1yiOb9%9 zXbX?8aaYdW_dTDS{<0?z`yjTXU4oB&#dGzuq}X}m1M1hLB48e7Jg$rIj%4*WhVG9H zJam`iwTaT-(ZeGLjq$(Pjmw0|@QD*BtHoZ2R((S}pr5dA9m~AmV?^F>+-F;~LM4e4 zCr=20$5pq@M@CZCVONnWvK0KWP3-a_?KHZ#0w5daqfsK^_PZ2(SpTA(k?oi)!koW5 z*d!fN)C%5+&I8@4Cq zmnl*J=*XMq+z;r|&9|99`_dXe3kMR_r(Xxah4)w{)-UpHtS@h@c3Wir`UTLGamog1 zU@HLt$kSGDXKl6Q<#=?kN4#s8-9(ImzXK?`lK0yyhu!)VC3&_~a!pfeX^rF3+ z6l7(}PpZi-&m`|CYG!FA<>h3i>ZPD&;$>sPZAvOAfXL^;^9EpN<^l$J*xA}U^LX%+ z{)Nl)_WY-skrecoiHi+Csg}GFNYuf}48+F3#=t}`?qTJ|LMng=;&U=J=TQ-p_#5J_ z#7}DJ;^N4|$ms6w&fw0<;NWDz$jr^n&B(;U$ihPZW`vdV03^6lj z6DKQ27b^#Q&>u{&v4g7%KPl;3JLtdivvZV}|0le?^WQAI@xkZ;c4TB`U}ChhWBgYS zXBTm|H;}&*`d>Yq)!vRQGpd+5JGeTTn2EcY*}IVaD}<@ZKm8qDooxT=j;RTwnXQ@K zo2m0#RObH?Qc_x8>7O2dD6p`ybNtKejqLwn`Bwg?;s2W2UunEq$;A}qGCU1x)U~VQR7A|9xe}zzV zvU-yl*!Ewu`U7S92E}Q{!ES28!9s7w#$-;<#$wJ%Z_LiYOmEJ~2{z~C;$mlFH~%Xe zQxhHu2PZr5+xS@7fi27!9qldtYWTw-kFb(7KPd|X(|^|}*@9in-yGgVZDnuj;O_k2 zO=?zlW~wgWKYTKCvM_V8bFy)J%2Eo&Z8Co`~% zgOi$rgDpSlpWvWB7Jn%d#P<*SrL3IaEIj{+^>4YVntl97=^yH~wfd_G1o}&HJYbVQ zI_4*J2D_R4gSa=pe>9m`g6%EL-lpc?TKKPetN&$Kn9bh!2Qx9zb8@nA)3cdyn$sJz znR3yabH9xjyD2LZ_gkL-Be1iBxr;m4$xPVdO)PJ{d6UXty#Z1EO&az8w0E~O`@;wm z3mZKXCp`z`teuA9ejdqYLrB z_bF!fZ*M^EZ@UmcIl-SD46>4(n)vJMYp1u&0txV~f{UBZ;q3-tEGsDnh=3uKdMh9} zN@+U-07#gBE(kzo_WQR=I2UPoakxXc_gHjv0GYeTHy>STF<~{TN#7ZMg?^@YaE{GH z?^P11KNx{!KZJzLWe4_}QG+N$26`ZXM-)7cp>FW_q6O#ZT08)#^@OMt({i26IW*p@ z;gg_ZnO}p9iod%v60AL)gK%)P-Wf$5hIY5KHFCC#@}Vx#8}l0R5AYeKmtBE-?DcHC zm=3#mpEM;qhu2tm&eqUmbagw}mm2vO{W3YVkV|+7YO)TPtJryKQPK&WL;{d52+@7abhuKLVs9DhJu6ZK7zlPyoyRz~vs zcI}1(1-4meq&-EzGT-V0m1^CB4jNMb+bAv|dVApEoAM6&i)T>E-#yooe-0$4}xr~Y8rbs&+Fq~I>e3ce({ODe|Q zNd97saS4ZI=xyiT^JK+lgwQ1(%5-z=|3REV5P~@FjtDq4Do`RO*9XAZ2iBs&cW0T& z=lVS{f**tJO4cm}Rxt`DSKO**ySlfF>nd)q`tiNFPjdUcor=?Og7+!M4SxWR9Sq{Z SXr6%p00007eHDzeL2g<@vu+o_eNZp6ARLIT%E&6$2bQz3h!rYPw z1PM}{dUwmAH3DsvRIr$NZ|A*OS5{C^d2j%wwU-+rxnrH>7=H&4uZ8wa5yiH%Y^$O? zllYlM7C~?tp$ukk{Ve?*#0VzZeuVB^vU(h*4agfX?+4q|dIRQ8*@D=CP(Ti#ZMwr1 z%=%7{C6L1(5;#rb8;BhU6P2QHRjR^8sR}ow`g*Hz&!qY$u7mbd?iV2b8N@vZL5T4Y zsVj%{OQQ-y#7JdQ3t;U7YjWt_nKJcS=fpbrc;T->ThfYMU2D*Uc)QiZ_vV_^m*0M+ h;_mYY`=^|C`3pvN4ByPkztaE!002ovPDHLkV1hi9qO|}3 diff --git a/gfx/trainers/giovanni_coat.png b/gfx/trainers/giovanni_coat.png index aa33cd3633d1b84955cb0747f5305f6f17f54522..31e055ffc80a7097f78e071dbc32c04e93dc7a8b 100644 GIT binary patch delta 426 zcmV;b0agC6hylz4kQfOF0{{R3pIFN*lU+g@e*t?*L_t(|+MSl+76cIph3oeI@4O;0 zdrW2gSUZl-tt5!fO?uOwZd#wNBnDmwUGpB44`8!!=TJpe4gx?C?TVsuY+uQ$kKZ`5 z?Yj?-Fbh-rZ9TDm)m>~vlTxDnEg3sZQzd3_7v+kd(l?LBEFPdxPU?>Lv_b#k;h>R7 zf8sgPjj2br*(**amfCR|b~0pxm1!&Pgf|^ENoLef4&95B}vysIRY!ic=L>^MR~eN9;IS2$8+!3 z3Z;U)?cNo42o8!Mt}iUCN^vLoCYVY-15yX^o;au^&ULE7Zf?1j{Hkad-T&hOg$IO9 z^NHdER8)K&h#n7+9sC=}YQXzIT(1sws3eGJso-gRdKpNv8#ts$ztr<8R~!BT6jG%P UlfZ(s2LJ#707*qoM6N<$g7aU$R{#J2 literal 17456 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 Z=EDEov0}e*nSFA270002u2q_Ez00CJ^ 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 Xcj diff --git a/gfx/trainers/imposter_oak.png b/gfx/trainers/imposter_oak.png new file mode 100644 index 0000000000000000000000000000000000000000..2f4d150d87d93a44f0ed238b84c49a9a048444be GIT binary patch literal 519 zcmV+i0{H!jP)W+p30005DNklOq{ zYk#^(;Nxo<)YDq%uT}(sDTHYg)Z&@_%%MU?M?OzP}svx#65%SC8pdux+qKNsFMA%M<1b$KIMi zvY8HOu&hwYbSXvV$KYy}P10f;aU1<;DTlQ>*Yfey-iqxgqMJM`Lp3&wjjaBFbn%Q~ z6)7ble1e3esY*c(MEhsF9C+9I`&p1PL*eA{;lfKw8*`XXu;JM?~u2Tziy^dGU@I7VsD5ad{$5Z86G`D?qND=fkYCXx|_Qv;?7Ur+tIN_qa$E zn&R_y#p&``m&bF}#yo?zp36>IjQdb#2K}cC^Z2%z)j1+>+&W}rOt>TB?VRfkg)ksx zUjI(JZ)Rp!#R}Jy##~CKRy@G=400003^NklY3u_FAq}`V7_mUad=?u|ehU<+xn_<SA>)6GL+@Nj_jJD&PrKR@_bEr6^tHGeS6zXT%#cS#fd6axYMO=fqx+n#FBv z3TS?_y;jeprC8^pT$)2bcvig*=4(aM6{i(u7wweYyi~s-t07*qoM6N<$f`MJV@Bjb+ diff --git a/gfx/trainers/impostor_oak.png b/gfx/trainers/impostor_oak.png deleted file mode 100644 index a48671e92a77f252eb853c444bf213edabad586b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18029 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