WE ARE TEAM ROCKET, YOU CANNOT BEAT US

- Adds a slightly remade version of the Rocket battle theme that plays when fighting Rocket Grunts, Jessie & James, and Giovanni (1 and 2)

- Giovanni 3 and Chief now share a new battle theme composed by myself and LuciShrimp, which is a slower, more intimidating remix of the regular Rocket fight theme.

- Gave Giovanni 3 his own trainer class, allowing for better AI routines and smarter move choices.

- Removed Giovanni's name from the Viridian City Gym statues to keep his identity a further secret. It also made more sense than in vanilla.

- Gave the postgame Morimoto fight a better selection of moves.
This commit is contained in:
Martha Schilling 2024-01-06 17:11:31 +00:00
parent f65a0313b2
commit f9bbabbcca
22 changed files with 2216 additions and 14 deletions

View file

@ -119,6 +119,8 @@ New Music
- Mew and the Legendary Birds have their own battle theme, a demake of the FireRed/LeafGreen pitch-shifted remix. Not simply pitching it up, percussion elements have been added to give it that rustic FRLG "feel" that distinguishes it from the original games. Composed by LuciShrimp.
- Limited static encounters, such as the two sleeping Snorlax, and the restored prototype Omega, also use this theme.
- Mt. Moon Crater uses a demake of Scarlet and Violet's Area Zero theme! Composed by LuciShrimp.
- Team Rocket's battle theme from GSC has been backported with some small changes to give it more of an RBY feel. Plays during Rocket Grunt fights, including Jessie and James, as well as the initial 2 Giovanni battles. Composed by LuciShrimp.
- In addition to the aforementioned Team Rocket battle theme, a slower, pitched-down arrangement plays when battling Giovanni in his gym, as well as against a postgame boss. Composed by LuciShrimp and Martha's Against Humanity.
- Pokemon Yellow's various tracks have been backported, such as Jessie and James's encounter theme.
- Several pieces of unused music, including Digda01, Victory4, Field6, Kincho01, and Giovanni's theme have been implemented.
- A remix of the unused Koukan (trading) music is also used as a town theme. Composed by BGVC.
@ -360,11 +362,11 @@ KEP spriters hold the policy of requiring sprites to be used with direct credit
If you use our implementations of anything at all, it is encouraged to submit Pull Requests for bug fixes if you find any issues! We very much appreciate them!
* Plague von Karma - Creator of the Showdown Mod, Director, Developer, Scenarios, Balancing, Dialogue, Pokedex entries, Maps (Mt. Moon Crater, Galarian Bird dungeons, Rock Tunnel, Cinnabar Volcano floors, enhanced Diglett's Cave, Shinjuku Jacky's room, and more), Event scripting, Hyper Training, FRLG Tea, post-game rematches, male/female character selection, Meltan implementation, Yellow backports, and occasional spriter (assisting with Bellignan, Carapthor)
* Martha's Against Humanity - Developer, Pokémon implementation, Pokedex entries, Event scripting, tweaks of Albatross's sprites, Sylveon, Bellignan and Mimmeo sprites, Maps (Citrine City, Cinnabar Volcano, Underwater Tunnel, Silph Gauntlet,), SGB border, new palettes for postgame areas and Game Corner, etc.
* Martha's Against Humanity - Developer, Pokémon implementation, Pokedex entries, event scripting, tweaks of Albatross's sprites, Sylveon, Bellignan, Galarian Slowking, Galarian Slowbro and Mimmeo sprites, Maps (Citrine City, Cinnabar Volcano, Underwater Tunnel, Silph Gauntlet,), Giovanni's battle theme, SGB border, new palettes for postgame areas and Game Corner, etc.
* Ema Skye - Developer, Maps (Silph Co. and Pokemon Tower shortening), Mt. Moon Crater Guard, Showdown Mod assistance.
* BlueZangoose / Vimescarrot - Pokemon box expansion, Instatext option, general assistance.
* Albatross - Many of the new sprites used in the hack (A significant number of post-Gen 1 evolutions, all regional variants, Meltan and Carapthor lines, etc.)
* LuciShrimp - Mewtwo & FireRed/LeafGreen Legendary custom battle music; Area Zero map theme for Mt. Moon Crater.
* LuciShrimp - Mewtwo & FireRed/LeafGreen Legendary custom battle music; Area Zero map theme for Mt. Moon Crater, Team Rocket theme changes and Giovanni's battle theme.
* jojobear13 & Mateo - DV/StatExp display, move deleter, & move relearner functionality from Shin Pokered, followed [this guide](https://github.com/jojobear13/shinpokered/blob/master/how%20to%20guides/how%20to%20add%20the%20move%20relearner%26deleter.txt). Tweaks were made to make it compatible with the pokered version we worked off of. Thanks specifically to Mateo's Red++ for the ferry system! Jojobear also provided bug fixes!
* thornAvery - Various bug fixes, notably to text speed errors, as well as making the Battle Tent a lot more functional.
* LadyMisticus - Bug fixes and minor adjustments, and made a well-documented spreadsheet for the hack that details every Pokemon's stats, movepools and locations, plus more!
@ -396,9 +398,9 @@ If you use our implementations of anything at all, it is encouraged to submit Pu
* Dr. Lava - Translations of some content used in this hack, particularly the 1996 Pokedex book's entries for DYKG.
* Nob Ogasawara - Prototype Pokemon names, produced for DYKG.
Albatross sprites: Articuno-G, Blissey, Dugtrio-A, Electivire, Electrode-H, Espeon (back), Exeggutor-A, Gentlarva, Glaceon, Golem-A, Hitmontop, Iguanarch, Kleavor, Leafeon, Lickilicky, Marowak-A, Melmetal, Meltan, Moltres-G, Mr. Rime, Muk-A, Ninetales-A, Perrserker, Persian-A, Politoed, Porygon-Z, Pupal, Raichu-A, Rapidash-G, Raticate-A, Rhyperior, Sandslash-A, Sandy Shocks, Scizor, Sirfetchd, Slowbro-G, Slowking (back), Slowking-G, Sylveon (back), Tangrowth, Tauros-P (all forms), Toedscool, Toedscruel, Umbreon (back), Weezing-G, Wiglett, Zapdos-G
Albatross sprites: Articuno-G, Blissey, Dugtrio-A, Electivire, Electrode-H, Espeon (back), Exeggutor-A, Gentlarva, Glaceon, Golem-A, Hitmontop, Iguanarch, Kleavor, Leafeon, Lickilicky, Marowak-A, Melmetal, Meltan, Moltres-G, Mr. Rime, Muk-A, Ninetales-A, Perrserker, Persian-A, Politoed, Porygon-Z, Pupal, Raichu-A, Rapidash-G, Raticate-A, Rhyperior, Sandslash-A, Sandy Shocks, Scizor, Sirfetchd, Slowbro-G, Slowking (back), Slowking-G (back), Sylveon (back), Tangrowth, Tauros-P (all forms), Toedscool, Toedscruel, Umbreon (back), Weezing-G, Wiglett, Zapdos-G
Marthas Against Humanity sprites: Bellignan (front, with help from PvK), Mimmeo (front), Sylveon (front, with help from Albatross)
Marthas Against Humanity sprites: Bellignan (front, with help from PvK), Mimmeo (front), Slowking-G, Slowbro-G, Sylveon (front, with help from Albatross)
Albatross sprites refined by either Marthas Against Humanity or PvK: Annihilape, Arcanine-H, Bellossom, Carapthor, Gorillaimo, Kingdra, Magmortar, Magnezone, Ministare, Porygon2, Scream Tail, Squeamata, Tauros-P (all forms), Wugtrio

View file

@ -381,6 +381,8 @@ INCLUDE "crysaudio/music/RBY/kinchou01.asm"
INCLUDE "crysaudio/music/RBY/mewtwo01.asm"
INCLUDE "crysaudio/music/RBY/legendarybattle.asm"
INCLUDE "crysaudio/music/RBY/giovannisroom.asm"
INCLUDE "crysaudio/music/RBY/rocketrby.asm"
INCLUDE "crysaudio/music/RBY/giovannibattle.asm"
SECTION "TCG Songs 1", ROMX

View file

@ -60,6 +60,16 @@ PlayBattleMusic::
jp z, .GymOrElite4Battle
cp OPP_BLAINE
jp z, .GymOrElite4Battle
cp OPP_ROCKET
jr z, .RocketBattle
cp OPP_JESSIE_JAMES
jr z, .RocketBattle
cp OPP_GIOVANNI
jr z, .RocketBattle
cp OPP_LEADER_GIOVANNI
jr z, .Giovanni
cp OPP_CHIEF
jr z, .Giovanni
cp OPP_LORELEI ; elite four now play the gym leader battle theme
jr z, .GymOrElite4Battle
cp OPP_BRUNO
@ -71,9 +81,7 @@ PlayBattleMusic::
cp OPP_PROF_OAK ; could also use the final battle theme, but I think the gym leader/elite 4 theme fits better instead. I'm happy to change this if it isn't well-liked.
jr z, .GymOrElite4Battle
cp OPP_RIVAL3
jr z, .finalBattle
cp OPP_CHIEF
jr z, .finalBattle
jr z, .finalBattle
jr nz, .normalTrainerBattle
.GymOrElite4Battle
ld a, MUSIC_GYM_LEADER_BATTLE
@ -81,6 +89,12 @@ PlayBattleMusic::
.normalTrainerBattle
ld a, MUSIC_TRAINER_BATTLE
jr .playSong
.RocketBattle
ld a, MUSIC_ROCKET_RBY
jr .playSong
.Giovanni
ld a, MUSIC_GIOVANNI_BATTLE
jr .playSong
.finalBattle
ld a, MUSIC_FINAL_BATTLE
jr .playSong

View file

@ -65,6 +65,8 @@
const MUSIC_MEWTWO01
const MUSIC_LEGENDARYBATTLE
const MUSIC_GIOVANNIS_ROOM
const MUSIC_ROCKET_RBY
const MUSIC_GIOVANNI_BATTLE
const NUM_SONGS

View file

@ -67,4 +67,5 @@ ENDM
trainer_const KOICHI
trainer_const JACK
trainer_const JESSIE_JAMES
trainer_const LEADER_GIOVANNI
DEF NUM_TRAINERS EQU const_value - 1

File diff suppressed because it is too large Load diff

View file

@ -1,3 +1,6 @@
; Demake of Stadium Mewtwo's theme by LuciShrimp
; Features space-like sparkles, making use of the Game Boy's sound library.
Music_Mewtwo01:
channel_count 4
channel 1, Music_Mewtwo01_Ch1

File diff suppressed because it is too large Load diff

View file

@ -59,3 +59,5 @@ Music:
dba Music_Mewtwo01
dba Music_LegendaryBattle
dba Music_GiovannisRoom
dba Music_RocketRBY
dba Music_GiovanniBattle

View file

@ -11,7 +11,7 @@ ViridianGym_Object:
def_bg_events
def_object_events
object_event 2, 2, SPRITE_GIOVANNI, STAY, DOWN, 1, OPP_GIOVANNI, 3
object_event 2, 2, SPRITE_GIOVANNI, STAY, DOWN, 1, OPP_LEADER_GIOVANNI, 1
object_event 12, 7, SPRITE_COOLTRAINER_M, STAY, DOWN, 2, OPP_COOLTRAINER_M, 9
object_event 11, 11, SPRITE_HIKER, STAY, UP, 3, OPP_BLACKBELT, 5
object_event 10, 7, SPRITE_ROCKER, STAY, DOWN, 4, OPP_TAMER, 3

View file

@ -56,4 +56,5 @@ TrainerAIPointers:
dbw 2, BlackbeltAI ; Koichi
dbw 2, BlackbeltAI ; Jack
dbw 2, GenericAI ; Jessie & James
dbw 3, SabrinaAI
assert_table_length NUM_TRAINERS

View file

@ -21,4 +21,5 @@ EvilTrainerList::
db OPP_CHANNELER
db OPP_AGATHA
db OPP_JESSIE_JAMES
db OPP_LEADER_GIOVANNI
db -1 ; end

View file

@ -61,4 +61,5 @@ TrainerClassMoveChoiceModifications:
move_choices 1, 2, 3 ; KOICHI
move_choices 1, 2, 3, 4 ; JACK
move_choices 1, 3, ; JESSIE_JAMES
move_choices 1, 2, 3, 4 ; LEADER_GIOVANNI
assert_list_length NUM_TRAINERS

View file

@ -52,4 +52,5 @@ TrainerNames::
li "KOICHI"
li "JACKY" ; Often called Jack, but the only source for that is the file names themselves, which are oft shortened or literal japanese translations; all other context is "Shinjuku Jacky".
li "JESSIE&JAMES"
li "GIOVANNI"
assert_list_length NUM_TRAINERS

View file

@ -52,6 +52,7 @@ TrainerDataPointers:
dw KoichiData
dw JackData
dw JessieJamesData
dw LeaderGiovanniData
assert_table_length NUM_TRAINERS
; if first byte != $FF, then

View file

@ -59,4 +59,5 @@ TrainerPicAndMoneyPointers::
pic_money KoichiPic, 9900
pic_money JackPic, 5000
pic_money JessieJamesPic, 5000
pic_money GiovanniPic2, 9900
assert_table_length NUM_TRAINERS

View file

@ -78,12 +78,13 @@ BlaineData:
db $FF, 47, RAPIDASH, 46, NINETALES, 46, FLAREON, 48, CHARIZARD, 48, ARCANINE, 50, MAGMORTAR, 0 ; 7 (unused)
db $FF, 62, RAPIDASH, 62, ARCANINE, 61, TAUROS_PB, 61, FLAREON, 62, CHARIZARD, 65, MAGMORTAR, 0 ; 8 (postgame)
GiovanniData: ; is not scaled as he is always fought last
GiovanniData:
; Rocket Hideout B4F
db $FF, 28, BEEDRILL, 30, RHYHORN, 30, KANGASKHAN, 32, PERSIAN, 0
; Silph Co. 11F - did you know this team was weaker than the rival in vanilla level-wise?
db $FF, 38, BEEDRILL, 39, RHYDON, 38, KANGASKHAN, 40, NIDOKING, 40, NIDOQUEEN, 42, PERSIAN, 0
; Viridian Gym
LeaderGiovanniData:
db $FF, 47, TRAMPEL, 46, DUGTRIO, 46, GUARDIA, 48, NIDOQUEEN, 48, NIDOKING, 50, RHYPERIOR, 0
LoreleiData:

View file

@ -795,7 +795,7 @@ SpecialTrainerMoves:
db 5, 2, SMOG
db 0
db GIOVANNI, 3 ; Gym Leader Giovanni
db LEADER_GIOVANNI, 1
db 1, 1, BUBBLEBEAM
db 1, 2, EARTHQUAKE
db 2, 1, FISSURE
@ -1157,6 +1157,27 @@ SpecialTrainerMoves:
db 6, 3, BODY_SLAM
db 6, 4, SOLARBEAM
db 0
db COOLTRAINER_M, 11 ; GAME FREAK Morimoto
db 1, 1, BODY_SLAM
db 1, 2, HYPER_BEAM
db 1, 3, EARTHQUAKE
db 1, 4, ICE_PUNCH
db 2, 1, QUICK_ATTACK
db 2, 2, HYPER_BEAM
db 2, 3, GROWTH
db 2, 4, FIRE_BLAST
db 3, 1, QUICK_ATTACK
db 3, 2, BLIZZARD
db 3, 3, GROWTH
db 4, 1, QUICK_ATTACK
db 4, 3, GROWTH
db 5, 1, EARTHQUAKE
db 5, 2, ROCK_SLIDE
db 6, 1, BLIZZARD
db 6, 2, FIRE_BLAST
db 6, 3, THUNDER
db 0
db YUJIROU, 10 ; Yujirou postgame
db 1, 1, BUBBLEBEAM

View file

@ -991,6 +991,11 @@ TrainerBattleVictory:
ld hl, wFlags_D733
set 1, [hl]
.notrival
ld a, [wTrainerClass]
cp LEADER_GIOVANNI ; final battle against Giovanni
jr nz, .notrivalorGio
ld b, MUSIC_DEFEATED_GYM_LEADER
.notrivalorGio
ld a, [wLinkState]
cp LINK_STATE_BATTLING
ld a, b

View file

@ -594,3 +594,4 @@ FirefighterPic:: INCBIN "gfx/trainers/firefighter.pic"
KoichiPic:: INCBIN "gfx/trainers/koichi.pic"
JackPic:: INCBIN "gfx/trainers/jack.pic"
JessieJamesPic:: INCBIN "gfx/trainers/jessiejames.pic"
GiovanniPic2:: INCBIN "gfx/trainers/giovanni2.pic"

BIN
gfx/trainers/giovanni2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 368 B

View file

@ -15,7 +15,7 @@ ViridianGym_Script:
db "VIRIDIAN CITY@"
.LeaderName:
db "GIOVANNI@"
db "????????@"
ViridianGymDoorCallbackScript:
ld hl, wCurrentMapScriptFlags
@ -263,8 +263,6 @@ GiovanniText:
ld [wSpriteIndex], a
call EngageMapTrainer
call InitBattleEnemyParameters ; giovanni is deliberately not scaled as he is always fought last
ld a, $8
ld [wGymLeaderNo], a
ld a, $3
ld [wViridianGymCurScript], a
.done