PvK has the goods

This adds a ton of overworld sprites, some from KEP, others from SW97/99, for you all to mess around with. It also adds the prototype trainer sprites from SW99 to use with the old trainer classes, though some don't have modern GSC shading.

Unfortunately, the SW99 trainer sprites need palfixing and my PC can't be fucked running it for some reason.

Lots of potential here, particularly with making Mediums now use their distinct sprites, and having Channelers to fit into the mix. I'll be using these when fleshing out the Haunted House and Lavender Crypt.

South Guy still doesn't have a name, so internally, they are called such.

Green from KEP/TPP Anniversary Red has been imported too, because she's awesome like that.

Yes this commit has the cat sprite. All rise for the best thing ever.
This commit is contained in:
Llinos Evans 2024-07-24 20:40:44 +01:00
parent f261edd7e7
commit 66c71c1a97
61 changed files with 561 additions and 9 deletions

View file

@ -476,4 +476,53 @@ TrainerClassAttributes:
dw AI_BASIC | AI_CAUTIOUS | AI_STATUS
dw CONTEXT_USE | SWITCH_RARELY
; Nihon Bosses get AI_OPPORTUNIST and AI_TYPES to encourage actually killing the opponent. If they're still not hard enough, consider adding AI_CAUTIOUS to discourage status moves further.
; Walker
db FULL_RESTORE, FULL_HEAL ; 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
; Lorelei
db FULL_RESTORE, FULL_HEAL ; 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
; South Guy
db FULL_RESTORE, FULL_HEAL ; 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
; Impostor Oak
db HYPER_POTION, AWAKENING ; items - he's less competent, so he has worse items.
db 25 ; base reward
dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY | AI_TYPES
dw CONTEXT_USE | SWITCH_RARELY ; same here.
; Agatha
db FULL_RESTORE, FULL_HEAL ; 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
dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY | AI_OPPORTUNIST | AI_TYPES
dw CONTEXT_USE | SWITCH_SOMETIMES
; Green
db FULL_RESTORE, FULL_HEAL ; 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
; Kurt can be smart too.
db FULL_RESTORE, FULL_HEAL ; 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
assert_table_length NUM_TRAINER_CLASSES

View file

@ -80,4 +80,12 @@ TrainerClassNames::
li "SPORTSMAN"
li "???"
li "???"
li "LEADER"
li "LEADER"
li "LEADER"
li "LEADER?" ; Impostor Oak
li "LEADER"
li "LEADER"
li "LEADER"
li "<PKMN> TRAINER"
assert_list_length NUM_TRAINER_CLASSES

View file

@ -81,4 +81,12 @@ TrainerClassDVs:
dn 9, 8, 8, 8 ; SPORTSMAN
dn 15, 15, 15, 15 ; FOSSIL1
dn 15, 15, 15, 15 ; FOSSIL2
dn 14, 13, 15, 15 ; WALKER (HP Water 70)
dn 14, 15, 15, 15 ; LORELEI (HP Electric 70)
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 ; GIOVANNI3
dn 13, 12, 13, 13 ; GREEN
dn 13, 12, 13, 13 ; KURT
assert_table_length NUM_TRAINER_CLASSES

View file

@ -83,4 +83,12 @@ TrainerEncounterMusic::
db MUSIC_HIKER_ENCOUNTER ; sportsman
db MUSIC_ROCKET_ENCOUNTER ; fossil1
db MUSIC_ROCKET_ENCOUNTER ; fossil2
db MUSIC_OFFICER_ENCOUNTER ; WALKER
db MUSIC_BEAUTY_ENCOUNTER ; LORELEI
db MUSIC_OFFICER_ENCOUNTER ; South Guy
db MUSIC_POKEMANIAC_ENCOUNTER ; IMPOSTOROAK
db MUSIC_SAGE_ENCOUNTER ; AGATHA
db MUSIC_ROCKET_ENCOUNTER ; GIOVANNI3
db MUSIC_OFFICER_ENCOUNTER ; GREEN
db MUSIC_OFFICER_ENCOUNTER ; KURT
assert_table_length NUM_TRAINER_CLASSES + 1

View file

@ -82,4 +82,12 @@ BTTrainerClassGenders:
db MALE ; SPORTSMAN
db MALE ; FOSSIL
db FEMALE ; FOSSIL
db MALE ; WALKER
db FEMALE ; LORELEI
db MALE ; SOUTH GUY
db MALE ; IMPOSTEROAK
db FEMALE ; AGATHA
db MALE ; GIOVANNI3
db FEMALE ; GREEN
db MALE ; KURT
assert_table_length NUM_TRAINER_CLASSES

View file

@ -89,6 +89,14 @@ INCBIN "gfx/trainers/soldier.gbcpal", middle_colors
INCBIN "gfx/trainers/sportsman.gbcpal", middle_colors
INCBIN "gfx/trainers/oak.gbcpal", middle_colors ; duplicate for fossils
INCBIN "gfx/trainers/oak.gbcpal", middle_colors ; duplicate for fossils
INCBIN "gfx/trainers/walker.gbcpal", middle_colors
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/giovanni3.gbcpal", middle_colors
INCBIN "gfx/trainers/green.gbcpal", middle_colors
INCBIN "gfx/trainers/kurt.gbcpal", middle_colors
EnbyPalette:
INCLUDE "gfx/player/topaz.pal"

View file

@ -1304,7 +1304,56 @@ BirdKeeperGroup:
dw PIDGEOT
dw SWIFT, DETECT, STEEL_WING, FLY
db -1 ; end
next_list_item ; BIRD_KEEPER (19)
db "MATT@", TRAINERTYPE_MOVES ; Reference to the Birdkeeper in Falkner's Stadium 2 Gym.
db 50
dw NOCTOWL
dw HYPNOSIS, DREAM_EATER, STEEL_WING, TAKE_DOWN
db 50
dw CACAWPHONY
dw MEGAPHONE, DRILL_PECK, DOUBLE_EDGE, SCREECH
db 50
dw XATU
dw HYPNOSIS, PSYCHIC_M, NIGHT_SHADE, DRILL_PECK
db -1 ; end
next_list_item ; BIRD_KEEPER (19)
db "SHAW@", TRAINERTYPE_MOVES ; Reference to the Shaw Monument in Scotland, an 18th-century falconry observation tower that is fully intact!
db 50
dw TREBIR
dw PERISH_SONG, ENCORE, SING, WING_ATTACK
db 50
dw FEAROW
dw MIRROR_MOVE, DOUBLE_EDGE, STEEL_WING, DRILL_PECK
db 50
dw HONCHKROW
dw PURSUIT, DRILL_PECK, NIGHT_SHADE, QUICK_ATTACK
db -1 ; end
next_list_item ; BIRD_KEEPER (19)
db "FREDERICK@", TRAINERTYPE_MOVES ; Reference to the Frederick II of Hohenstaufen, one of the earliest knowledgable Falconers in history
db 50
dw TREBIR
dw PERISH_SONG, ENCORE, SING, WING_ATTACK
db 50
dw FEAROW
dw MIRROR_MOVE, DOUBLE_EDGE, STEEL_WING, DRILL_PECK
db 50
dw HONCHKROW
dw PURSUIT, DRILL_PECK, NIGHT_SHADE, QUICK_ATTACK
db -1 ; end
next_list_item ; BIRD_KEEPER (19)
db "NORIKAGE@", TRAINERTYPE_MOVES ; Asakura Norikage 朝倉 教景 (1476 - 1555), brought Goshawk breeding to Asakura Clan in the 16th Century.
db 50
dw DELIBIRD
dw PRESENT, ICY_WIND, QUICK_ATTACK, THIEF
db 50
dw PIDGEOT
dw WING_ATTACK, QUICK_ATTACK, MIRROR_MOVE, WHIRLWIND
db -1 ; end
end_list_items
JanineGroup:

View file

@ -279,3 +279,242 @@ LassGroup:
db -1 ; end
end_list_items
WalkerGroup:
next_list_item
db "WALKER@", TRAINERTYPE_ITEM_MOVES
db 60
dw TOGEKISS
db PINK_BOW
db EXTREMESPEED, MIRROR_MOVE, SAFEGUARD, HIDDEN_POWER ; HP Water
db 60
dw LUXWAN
db STICK
db 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!
db 60
dw DODRIO
db POLKADOT_BOW
db 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
db 60
dw SKARMORY
db NO_ITEM ; Fire-type damage reduction item here please!
db STEEL_WING, DRILL_PECK, PURSUIT, LEER
db -1 ; end
end_list_items
LoreleiGroup:
next_list_item
db "LORELEI@", TRAINERTYPE_ITEM_MOVES
db 60
dw CLOYSTER
db MINT_BERRY
db SPIKES, ICE_BEAM, SURF, EXPLOSION
db 60
dw SNEASEL ; WEAVILE
db PRZCUREBERRY
db BEAT_UP, SLASH, ICE_BEAM, SWAGGER
db 60
dw JYNX
db NO_ITEM
db LOVELY_KISS, PSYCHIC_M, PERISH_SONG, THIEF
db 60
dw LUXWAN ; BUNBERG
db MIRACLEBERRY
db 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
db 60
dw LAPRAS
db NEVERMELTICE
db THUNDERBOLT, ICE_BEAM, SURF, CONFUSE_RAY
db -1 ; end
end_list_items
XXXGroup: ; South Man
next_list_item
db "???@", TRAINERTYPE_ITEM_MOVES
db 60
dw BALUMBA
db MIRACLEBERRY
db 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!
db 60
dw MIMEAR
db MAGNET
db 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!
db 60
dw PHANDARIN
db PSNCUREBERRY
db 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!
db -1 ; end
end_list_items
ImposterOakGroup:
next_list_item
db "PROF.OAK@", TRAINERTYPE_ITEM_MOVES
db 60
dw TAUROS
db POLKADOT_BOW
db BODY_SLAM, HYPER_BEAM, FIRE_BLAST, THUNDERBOLT
db 60
dw EXEGGUTOR
db MIRACLESEED
db SLEEP_POWDER, GIGA_DRAIN, PSYCHIC_M, STUN_SPORE
db 60
dw ARCANINE
db MINT_BERRY
db FIRE_BLAST, EXTREMESPEED, BODY_SLAM, REST
db 60
dw GYARADOS
db MYSTICWATER
db HYDRO_PUMP, THUNDERBOLT, DOUBLE_EDGE, ROAR
db 60
dw WEEZING
db NO_ITEM
db SLUDGE_BOMB, THUNDERBOLT, EXPLOSION, FIRE_BLAST
db 60
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 -1 ; end
end_list_items
AgathaGroup:
next_list_item
db "AGATHA@", TRAINERTYPE_ITEM_MOVES
db 60
dw KITSEN
db NO_ITEM
db HYPNOSIS, THIEF, NIGHTMARE, DESTINY_BOND ; rude
db 60
dw PRIMEAPE ; ANNIHILAPE
db SCOPE_LENS ; hahahahaha
db CROSS_CHOP, ROCK_HEAD, SHADOW_BALL, FOCUS_ENERGY
db 60
dw MAROWAK ; MAROWAKA
db THICK_CLUB
db EARTHQUAKE, BONEMERANG, SHADOW_BALL, SWORDS_DANCE
db 60
dw MISMAGIUS
db PRZCUREBERRY
db 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
db 60
dw DOKUROAR
db HARD_STONE
db ROCK_SLASH, SHADOW_BALL, EARTHQUAKE, HIDDEN_POWER ; HP Fighting
db -1 ; end
end_list_items
; Could fit Cactormus with Spikes into this, considering it's a notable Ground move.
; Ship out Nidoqueen?
LeaderGiovanniGroup: ; since he uses different sprites
next_list_item
db "GIOVANNI@", TRAINERTYPE_ITEM_MOVES
db 60
dw GLIGAR ; GLISCOR
db SHARP_BEAK
db EARTHQUAKE, WING_ATTACK, SWORDS_DANCE, SANDSTORM
db 60
dw DONPHAN ; TRAMPEL
db LEFTOVERS
db BELLY_DRUM, EARTHQUAKE, BODY_SLAM, ROCK_SLIDE
db 60
dw NIDOQUEEN
db MYSTICWATER
db SURF, FIRE_BLAST, EARTHQUAKE, BODY_SLAM
db 60
dw MAROWAK ; GUARDIA
db THICK_CLUB
db SWORDS_DANCE, EARTHQUAKE, BONEMERANG, BODY_SLAM
db 60
dw NIDOKING
db NEVERMELTICE
db THUNDERBOLT, ICE_BEAM, EARTHQUAKE, BODY_SLAM
db 60
dw RHYDON ; RHYPERIOR
db SOFT_SAND
db EARTHQUAKE, ROCK_SLIDE, BODY_SLAM, ROAR
db -1 ; end
end_list_items
GreenGroup:
next_list_item
db "GREEN@", TRAINERTYPE_ITEM_MOVES
db 60
dw HITMONCHAN
db MIRACLEBERRY
db MACH_PUNCH, MIND_READER, DYNAMICPUNCH, PURSUIT
db 60
dw JOLTEON
db MINT_BERRY
db THUNDERBOLT, REST, DOUBLE_KICK, THUNDER_WAVE
db 60
dw LAPRAS
db MYSTICWATER
db THUNDERBOLT, ICE_BEAM, SURF, CONFUSE_RAY
db 60
dw AERODACTYL
db BURNT_BERRY
db 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
db 60
dw VENUSAUR
db MIRACLESEED
db GIGA_DRAIN, SLUDGE_BOMB, SWORDS_DANCE, BODY_SLAM
db -1 ; end
end_list_items
; To be used during the GS Ball event.
; Uses a lot of his "favourites" from the Kurtball thing.
KurtGroup:
next_list_item
db "KURT@", TRAINERTYPE_MOVES
db 50
dw PARASECT
db SPORE, GIGA_DRAIN, SLASH, ROCK_SLASH
db 50
dw SANDSLASH
db SWORDS_DANCE, EARTHQUAKE, ROCK_SLIDE, BODY_SLAM
db 50
dw BELLOSSOM
db SLEEP_POWDER, GROWTH, PETAL_DANCE, SYNTHESIS
db 50
dw MUK
db SLUDGE_BOMB, EXPLOSION, FIRE_BLAST, THUNDERBOLT
db 50
dw GRANBULL
db HEAL_BELL, TAKE_DOWN, CURSE, SHADOW_BALL
db 50
dw SLOWBRO
db SURF, PSYCHIC_M, ICE_BEAM, EARTHQUAKE
db -1 ; end
end_list_items

View file

@ -82,4 +82,11 @@ TrainerGroups:
dba SportsmanGroup
dba AerofossilGroup
dba KabufossilGroup
dba WalkerGroup
dba LoreleiGroup
dba XXXGroup
dba AgathaGroup
dba Giovanni3Group
dba GreenGroup
dba KurtGroup
assert_table_length NUM_TRAINER_CLASSES

View file

@ -82,4 +82,12 @@ TrainerPicPointers::
dba SportsmanPic
dba AerodactylFossilPic
dba KabutopsFossilPic
dba WalkerPic
dba LoreleiPic
dba SouthGuyPic
dba ImposterOakPic
dba AgathaPic
dba Giovanni3Pic
dba GreenPic
dba KurtPic
assert_table_length NUM_TRAINER_CLASSES

View file

@ -80,4 +80,12 @@ BTTrainerClassSprites:
db SPRITE_SAILOR ; Sportsman uhhh
db SPRITE_RED ; Fossil Placeholder
db SPRITE_RED ; Fossil Placeholder
db SPRITE_RED ; Walker Placeholder
db SPRITE_RED ; Lorelei Placeholder
db SPRITE_RED ; South Guy Placeholder
db SPRITE_RED ; Imposter Oak Placeholder
db SPRITE_RED ; Agatha Placeholder
db SPRITE_RED ; Giovanni3 Placeholder
db SPRITE_RED ; Green Placeholder
db SPRITE_RED ; Kurt Placeholder
assert_table_length NUM_TRAINER_CLASSES