From 5f168c2b2537ffa829e920dc55565e6496100826 Mon Sep 17 00:00:00 2001 From: Llinos Evans <36418502+PlagueVonKarma@users.noreply.github.com> Date: Fri, 22 Dec 2023 14:54:37 +0000 Subject: [PATCH 01/11] Polish Mt. Moon Crater theme General cleaning up of the track, smoother loop, among other bits and pieces. --- crysaudio/music/RBY/areazero.asm | 531 ++++++++++++++++--------------- 1 file changed, 279 insertions(+), 252 deletions(-) diff --git a/crysaudio/music/RBY/areazero.asm b/crysaudio/music/RBY/areazero.asm index 87b615ef..f9057cc8 100644 --- a/crysaudio/music/RBY/areazero.asm +++ b/crysaudio/music/RBY/areazero.asm @@ -80,13 +80,8 @@ Music_AreaZero_Ch1: note C#, 2 note D#, 2 note G#, 2 - volume_envelope 6, 8 - note_type 10, 6, 8 - note F_, 2 - note_type 1, 6, 8 - rest 4 - note_type 12, 6, 8 volume_envelope 9, 8 + note F_, 2 note F#, 2 note C#, 2 note D#, 2 @@ -1082,7 +1077,6 @@ Music_AreaZero_Ch1: note C#, 2 volume_envelope 2, 8 note D#, 2 - volume_envelope 1, 8 note G#, 2 octave 8 sound_loop 0, .mainLoop @@ -1094,9 +1088,9 @@ Music_AreaZero_Ch2: volume_envelope 10, 8 note_type 12, 10, 8 duty_cycle 1 - rest 2 - volume_envelope 1, 8 octave 4 + volume_envelope 1, 8 + note G#, 2 note F_, 2 note F#, 2 note C#, 2 @@ -1630,7 +1624,6 @@ Music_AreaZero_Ch2: Music_AreaZero_Ch3: note_type 12, 1, 0 .mainLoop: - vibrato 0, 2, 4 volume_envelope 3, 1 octave 2 note_type 12, 3, 1 @@ -1682,6 +1675,7 @@ Music_AreaZero_Ch3: rest 2 note_type 12, 2, 2 volume_envelope 3, 1 + vibrato 0, 3, 5 note D#, 2 note_type 12, 2, 2 volume_envelope 3, 1 @@ -3344,51 +3338,64 @@ Music_AreaZero_Ch4: rest 16 rest 16 rest 16 - octave 7 - rest 16 - rest 16 rest 16 rest 16 rest 16 rest 16 + octave 6 + drum_note 12, 1 + rest 7 + drum_note 12, 1 + rest 7 + drum_note 12, 1 + rest 3 + drum_note 12, 1 + rest 3 + drum_note 12, 1 + rest 3 + drum_note 12, 1 + rest 1 + drum_note 12, 1 + drum_note 12, 1 drum_speed 6 + octave 5 drum_note 12, 1 drum_note 12, 1 - octave 8 drum_speed 12 + octave 6 drum_note 4, 1 drum_note 4, 1 rest 1 drum_note 4, 1 rest 3 drum_speed 6 - octave 7 + octave 5 drum_note 12, 1 drum_note 12, 1 - octave 8 drum_speed 12 + octave 6 drum_note 4, 1 drum_note 4, 1 rest 1 drum_note 4, 1 rest 3 drum_speed 6 - octave 7 + octave 5 drum_note 12, 1 drum_note 12, 1 - octave 8 drum_speed 12 + octave 6 drum_note 4, 1 drum_note 4, 1 rest 1 drum_note 4, 1 rest 3 drum_speed 6 - octave 7 + octave 5 drum_note 12, 1 drum_note 12, 1 - octave 8 drum_speed 12 + octave 6 drum_note 4, 1 drum_note 4, 1 rest 1 @@ -3399,45 +3406,45 @@ Music_AreaZero_Ch4: drum_note 4, 1 drum_speed 12 drum_note 4, 1 - octave 7 drum_speed 6 + octave 5 drum_note 12, 1 drum_note 12, 1 drum_speed 12 - octave 8 + octave 6 drum_note 4, 1 drum_note 4, 1 rest 1 drum_note 4, 1 - octave 7 rest 3 drum_speed 6 + octave 5 drum_note 12, 1 drum_note 12, 1 drum_speed 12 - octave 8 + octave 6 drum_note 4, 1 drum_note 4, 1 rest 1 drum_note 4, 1 - octave 7 rest 3 drum_speed 6 + octave 5 drum_note 12, 1 drum_note 12, 1 drum_speed 12 - octave 8 + octave 6 drum_note 4, 1 drum_note 4, 1 rest 1 drum_note 4, 1 - octave 7 rest 3 drum_speed 6 + octave 5 drum_note 12, 1 drum_note 12, 1 drum_speed 12 - octave 8 + octave 6 drum_note 4, 1 drum_note 4, 1 rest 1 @@ -3448,30 +3455,30 @@ Music_AreaZero_Ch4: drum_note 4, 1 drum_speed 12 drum_note 4, 1 - octave 7 + octave 5 drum_note 12, 1 rest 3 - octave 8 + octave 6 drum_note 4, 1 rest 3 - octave 7 + octave 5 drum_note 11, 1 rest 3 - octave 8 + octave 6 drum_note 3, 1 rest 2 drum_note 3, 1 - octave 7 + octave 5 drum_note 12, 1 rest 3 - octave 8 + octave 6 drum_note 3, 1 rest 3 - octave 7 + octave 5 drum_note 11, 1 rest 3 - octave 8 drum_speed 6 + octave 6 drum_note 3, 1 drum_note 3, 1 drum_speed 12 @@ -3482,40 +3489,41 @@ Music_AreaZero_Ch4: drum_note 3, 1 drum_note 3, 1 drum_speed 12 - octave 7 - drum_note 12, 1 - octave 8 - rest 3 - drum_note 3, 1 - rest 3 - octave 7 - drum_note 11, 1 - rest 3 - octave 8 - drum_note 3, 1 - rest 3 - octave 7 + octave 5 drum_note 12, 1 rest 3 - octave 8 + octave 6 drum_note 3, 1 rest 3 - octave 7 + octave 5 drum_note 11, 1 rest 3 - octave 8 + octave 6 drum_note 3, 1 rest 3 - octave 7 + octave 5 + drum_note 12, 1 + rest 3 + octave 6 + drum_note 3, 1 + rest 3 + octave 5 + drum_note 11, 1 + rest 3 + octave 6 + drum_note 3, 1 + rest 2 + drum_note 3, 1 drum_speed 6 + octave 5 drum_note 11, 1 drum_note 11, 1 drum_speed 12 rest 1 - octave 8 + octave 6 drum_note 3, 1 rest 1 - octave 7 + octave 5 drum_note 12, 1 rest 2 drum_speed 6 @@ -3524,42 +3532,45 @@ Music_AreaZero_Ch4: drum_note 11, 1 drum_speed 12 rest 1 - octave 8 + octave 6 drum_note 3, 1 rest 1 - octave 7 + octave 5 drum_note 12, 1 rest 1 - octave 8 - drum_note 5, 1 + octave 6 + drum_note 6, 1 drum_speed 6 rest 2 - drum_speed 12 - octave 7 + octave 5 drum_note 11, 1 - rest 3 - octave 8 + drum_note 11, 1 + drum_speed 12 + rest 1 + octave 6 + drum_note 3, 1 + rest 1 drum_note 6, 1 rest 1 drum_note 1, 1 drum_speed 6 rest 2 - octave 7 + octave 5 drum_note 12, 1 drum_note 12, 1 drum_speed 12 - octave 8 + octave 6 drum_note 4, 1 drum_note 4, 1 rest 3 drum_note 4, 1 drum_speed 6 rest 2 - octave 7 + octave 5 drum_note 12, 1 drum_note 12, 1 - octave 8 drum_speed 12 + octave 6 drum_note 4, 1 drum_note 4, 1 rest 3 @@ -3567,11 +3578,11 @@ Music_AreaZero_Ch4: drum_speed 6 drum_note 3, 1 drum_note 3, 1 - octave 7 + octave 5 drum_note 12, 1 drum_note 12, 1 drum_speed 12 - octave 8 + octave 6 drum_note 4, 1 drum_note 4, 1 rest 1 @@ -3582,11 +3593,11 @@ Music_AreaZero_Ch4: drum_note 4, 1 drum_note 3, 1 drum_note 4, 1 - octave 7 + octave 5 drum_note 12, 1 drum_note 12, 1 drum_speed 12 - octave 8 + octave 6 drum_note 4, 1 drum_note 4, 1 rest 3 @@ -3594,60 +3605,75 @@ Music_AreaZero_Ch4: drum_speed 6 drum_note 3, 1 drum_note 3, 1 - octave 7 + octave 5 drum_note 12, 1 drum_note 12, 1 drum_speed 12 - octave 8 + octave 6 drum_note 4, 1 drum_note 4, 1 + drum_note 3, 1 + octave 5 + drum_note 12, 1 + octave 6 + drum_note 4, 1 + drum_speed 6 + drum_note 3, 1 + drum_note 3, 1 + drum_note 3, 1 + drum_note 3, 1 + drum_speed 12 + drum_note 8, 1 + drum_speed 6 + rest 2 + drum_speed 12 + rest 2 + drum_note 8, 1 + rest 3 + drum_note 8, 1 + drum_speed 6 + rest 2 + drum_speed 12 + rest 2 + drum_note 8, 1 rest 1 - drum_note 4, 1 - drum_note 4, 1 - drum_speed 6 - drum_note 4, 1 - drum_note 4, 1 - drum_note 4, 1 - drum_note 4, 1 - drum_speed 12 drum_note 8, 1 - drum_speed 6 - rest 2 - drum_speed 12 + rest 1 + drum_note 8, 1 + rest 3 + drum_note 8, 1 + rest 3 + drum_note 8, 1 + rest 1 + drum_note 8, 1 + rest 1 + drum_note 8, 1 + drum_note 8, 1 + drum_note 8, 1 + drum_note 8, 1 + drum_note 8, 1 + rest 3 + drum_note 8, 1 + rest 3 + drum_note 8, 1 + rest 3 + drum_note 8, 1 + rest 1 + drum_note 8, 1 + rest 1 + drum_note 8, 1 + rest 3 + drum_note 8, 1 rest 2 + drum_note 12, 1 drum_note 8, 1 - rest 3 + drum_note 12, 1 drum_note 8, 1 - drum_speed 6 - rest 2 - drum_speed 12 - rest 2 + drum_note 12, 1 drum_note 8, 1 - rest 3 + drum_note 12, 1 drum_note 8, 1 - rest 3 - drum_note 8, 1 - rest 3 - drum_note 8, 1 - rest 3 - drum_note 8, 1 - rest 3 - drum_note 8, 1 - rest 3 - drum_note 8, 1 - rest 3 - drum_note 8, 1 - rest 3 - drum_note 8, 1 - rest 3 - drum_note 8, 1 - rest 3 - drum_note 8, 1 - rest 3 - drum_note 8, 1 - rest 3 - drum_note 8, 1 - rest 3 + drum_note 12, 1 drum_note 8, 1 rest 3 drum_note 8, 1 @@ -3748,37 +3774,37 @@ Music_AreaZero_Ch4: drum_speed 6 drum_note 4, 1 drum_note 4, 1 - octave 7 drum_speed 12 + octave 5 drum_note 12, 1 rest 1 - octave 8 + octave 6 drum_note 4, 1 drum_speed 6 drum_note 4, 1 drum_note 4, 1 - octave 7 drum_speed 12 + octave 5 drum_note 12, 1 rest 1 - octave 8 + octave 6 drum_note 4, 1 drum_speed 6 drum_note 4, 1 drum_note 4, 1 - octave 7 drum_speed 12 + octave 5 drum_note 12, 1 rest 1 - octave 8 + octave 6 drum_note 4, 1 drum_speed 6 drum_note 4, 1 drum_note 4, 1 - octave 7 drum_speed 12 + octave 5 drum_note 12, 1 - octave 8 + octave 6 drum_note 6, 1 drum_speed 6 drum_note 4, 1 @@ -3786,303 +3812,303 @@ Music_AreaZero_Ch4: drum_note 4, 1 drum_note 4, 1 drum_speed 12 - octave 7 + octave 5 drum_note 12, 1 rest 1 - octave 8 + octave 6 drum_note 4, 1 drum_note 4, 1 - octave 7 + octave 5 drum_note 12, 1 rest 1 - octave 8 + octave 6 drum_note 4, 1 drum_note 4, 1 - octave 7 + octave 5 drum_note 12, 1 rest 1 - octave 8 + octave 6 drum_note 4, 1 drum_note 4, 1 - octave 7 + octave 5 drum_note 12, 1 - octave 8 + octave 6 drum_note 6, 1 drum_note 4, 1 drum_note 4, 1 - octave 7 + octave 5 drum_note 12, 1 rest 1 - octave 8 + octave 6 drum_note 4, 1 drum_note 4, 1 - octave 7 + octave 5 drum_note 12, 1 rest 1 - octave 8 + octave 6 drum_note 4, 1 drum_note 4, 1 - octave 7 + octave 5 drum_note 12, 1 - octave 8 + octave 6 drum_note 6, 1 drum_note 4, 1 drum_note 4, 1 - octave 7 + octave 5 drum_note 12, 1 rest 1 - octave 8 + octave 6 drum_note 4, 1 drum_note 4, 1 - octave 7 + octave 5 drum_note 12, 1 rest 1 - octave 8 + octave 6 drum_note 4, 1 drum_note 4, 1 - octave 7 + octave 5 drum_note 12, 1 rest 1 - octave 8 + octave 6 drum_note 4, 1 drum_note 4, 1 - octave 7 + octave 5 drum_note 12, 1 - octave 8 + octave 6 drum_note 6, 1 drum_note 4, 1 drum_note 4, 1 - octave 7 + octave 5 drum_note 12, 1 rest 1 - octave 8 + octave 6 drum_note 4, 1 drum_note 4, 1 - octave 7 + octave 5 drum_note 12, 1 rest 1 - octave 8 + octave 6 drum_note 4, 1 drum_note 4, 1 - octave 7 + octave 5 drum_note 12, 1 rest 1 - octave 8 + octave 6 drum_note 4, 1 drum_note 4, 1 - octave 7 + octave 5 drum_note 12, 1 - octave 8 + octave 6 drum_note 6, 1 drum_note 4, 1 drum_note 4, 1 - octave 7 + octave 5 drum_note 12, 1 - octave 8 + octave 6 drum_note 6, 1 drum_note 4, 1 drum_note 4, 1 - octave 7 + octave 5 drum_note 12, 1 - octave 8 rest 1 + octave 6 drum_note 10, 1 rest 1 - octave 7 + octave 5 drum_note 12, 1 - octave 8 rest 1 + octave 6 drum_note 10, 1 rest 1 - octave 7 + octave 5 drum_note 12, 1 - octave 8 rest 1 + octave 6 drum_note 10, 1 rest 1 - octave 7 + octave 5 drum_note 12, 1 - octave 8 rest 1 + octave 6 drum_note 10, 1 drum_note 10, 1 - octave 7 + octave 5 drum_note 12, 1 - octave 8 rest 1 + octave 6 drum_note 10, 1 rest 1 - octave 7 + octave 5 drum_note 12, 1 - octave 8 rest 1 + octave 6 drum_note 10, 1 rest 1 - octave 7 + octave 5 drum_note 12, 1 - octave 8 rest 1 + octave 6 drum_note 10, 1 - octave 7 + octave 5 drum_note 12, 1 drum_note 12, 1 - octave 8 + octave 6 drum_note 10, 1 drum_note 10, 1 drum_speed 6 drum_note 10, 1 drum_note 10, 1 drum_speed 12 - octave 7 + octave 5 drum_note 12, 1 - octave 8 rest 1 + octave 6 drum_note 10, 1 rest 1 - octave 7 + octave 5 drum_note 12, 1 - octave 8 rest 1 + octave 6 drum_note 10, 1 rest 1 - octave 7 + octave 5 drum_note 12, 1 - octave 8 rest 1 + octave 6 drum_note 10, 1 rest 1 - octave 7 + octave 5 drum_note 12, 1 - octave 8 rest 1 + octave 6 drum_note 10, 1 drum_note 10, 1 - octave 7 + octave 5 drum_note 12, 1 - octave 8 rest 1 + octave 6 drum_note 10, 1 rest 1 - octave 7 + octave 5 drum_note 12, 1 - octave 8 rest 1 + octave 6 drum_note 10, 1 rest 1 - octave 7 + octave 5 drum_note 12, 1 - octave 8 rest 1 + octave 6 drum_note 10, 1 - octave 7 + octave 5 drum_note 12, 1 drum_note 12, 1 - rest 1 drum_note 12, 1 - drum_speed 6 - drum_note 12, 1 - drum_note 12, 1 - drum_speed 12 - drum_note 12, 1 - octave 8 - rest 1 - drum_note 10, 1 - rest 1 - octave 7 - drum_note 12, 1 - octave 8 - rest 1 - drum_note 10, 1 - rest 1 - octave 7 - drum_note 12, 1 - octave 8 - rest 1 - drum_note 10, 1 - rest 1 - octave 7 - drum_note 12, 1 - octave 8 - rest 1 - drum_note 10, 1 - drum_note 10, 1 - octave 7 - drum_note 12, 1 - octave 8 - rest 1 - drum_note 10, 1 - rest 1 - octave 7 - drum_note 12, 1 - octave 8 - rest 1 - drum_note 10, 1 - rest 1 - octave 7 - drum_note 12, 1 - octave 8 - rest 1 - drum_note 10, 1 - octave 7 - drum_note 12, 1 - drum_note 12, 1 - octave 8 - rest 1 + octave 6 drum_note 10, 1 drum_speed 6 drum_note 10, 1 drum_note 10, 1 drum_speed 12 - octave 7 - drum_note 12, 1 - octave 8 + drum_note 10, 1 rest 1 drum_note 10, 1 rest 1 - octave 7 + octave 5 drum_note 12, 1 - octave 8 rest 1 + octave 6 drum_note 10, 1 rest 1 - octave 7 + octave 5 drum_note 12, 1 - octave 8 rest 1 + octave 6 drum_note 10, 1 rest 1 - octave 7 + octave 5 drum_note 12, 1 - octave 8 rest 1 + octave 6 drum_note 10, 1 drum_note 10, 1 - octave 7 + octave 5 drum_note 12, 1 - octave 8 rest 1 + octave 6 drum_note 10, 1 rest 1 - octave 7 + octave 5 drum_note 12, 1 - octave 8 rest 1 + octave 6 drum_note 10, 1 rest 1 - octave 7 + octave 5 drum_note 12, 1 - octave 8 rest 1 + octave 6 drum_note 10, 1 - octave 7 + octave 5 drum_note 12, 1 drum_note 12, 1 rest 1 - drum_note 12, 1 + octave 6 + drum_note 10, 1 drum_speed 6 + drum_note 10, 1 + drum_note 10, 1 + drum_speed 12 + octave 5 + drum_note 12, 1 + rest 1 + octave 6 + drum_note 10, 1 + rest 1 + octave 5 + drum_note 12, 1 + rest 1 + octave 6 + drum_note 10, 1 + rest 1 + octave 5 + drum_note 12, 1 + rest 1 + octave 6 + drum_note 10, 1 + rest 1 + octave 5 + drum_note 12, 1 + rest 1 + octave 6 + drum_note 10, 1 + drum_note 10, 1 + octave 5 + drum_note 12, 1 + rest 1 + octave 6 + drum_note 10, 1 + rest 1 + octave 5 + drum_note 12, 1 + rest 1 + octave 6 + drum_note 10, 1 + rest 1 + octave 5 + drum_note 12, 1 + rest 1 + octave 6 + drum_note 10, 1 + octave 5 drum_note 12, 1 drum_note 12, 1 - octave 8 + rest 1 + octave 6 + drum_note 10, 1 + drum_speed 6 + drum_note 10, 1 + drum_note 10, 1 drum_speed 12 drum_note 1, 1 rest 1 @@ -4370,5 +4396,6 @@ Music_AreaZero_Ch4: drum_note 1, 1 drum_speed 12 drum_note 1, 1 + octave 8 rest 15 sound_loop 0, .mainLoop From 355661350e6c2a9bc9b05d33f8645b8e2f8fb240 Mon Sep 17 00:00:00 2001 From: Martha Schilling Date: Sun, 24 Dec 2023 12:22:39 +0000 Subject: [PATCH 02/11] Updated fishing encounter tables Also gave Sharpoon a rare Surf encounter on the Sea Routes. --- data/wild/maps/MtMoonCrater.asm | 2 +- data/wild/maps/SeaRoutes.asm | 2 +- data/wild/super_rod.asm | 170 +++++++++++++++----------------- 3 files changed, 82 insertions(+), 92 deletions(-) diff --git a/data/wild/maps/MtMoonCrater.asm b/data/wild/maps/MtMoonCrater.asm index 0b738181..4a090114 100644 --- a/data/wild/maps/MtMoonCrater.asm +++ b/data/wild/maps/MtMoonCrater.asm @@ -16,7 +16,7 @@ MtMoonCraterMons: db 52, GOLDUCK db 54, GOLDUCK db 50, GOLDUCK - db 56, JABETTA + db 52, JABETTA db 50, JABETTA db 52, CROAKOZUNA db 54, CROAKOZUNA diff --git a/data/wild/maps/SeaRoutes.asm b/data/wild/maps/SeaRoutes.asm index 13b74049..5fe8dd8e 100644 --- a/data/wild/maps/SeaRoutes.asm +++ b/data/wild/maps/SeaRoutes.asm @@ -12,5 +12,5 @@ SeaRoutesWildMons: db 30, TENTACRUEL db 35, TENTACRUEL db 35, PENDRAKEN - db 40, PENDRAKEN + db 35, SHARPOON end_water_wildmons diff --git a/data/wild/super_rod.asm b/data/wild/super_rod.asm index 9e613ae2..6246db04 100644 --- a/data/wild/super_rod.asm +++ b/data/wild/super_rod.asm @@ -4,52 +4,51 @@ SuperRodData: dbw PALLET_TOWN, .Group1 dbw VIRIDIAN_CITY, .Group1 dbw CERULEAN_CITY, .Group2 - dbw VERMILION_CITY, .Group3 - dbw CELADON_CITY, .Group11 - dbw FUCHSIA_CITY, .Group5 - dbw CINNABAR_ISLAND, .Group8 - dbw CITRINE_CITY, .Group9 + dbw VERMILION_CITY, .Group4 + dbw CELADON_CITY, .Group13 + dbw FUCHSIA_CITY, .Group6 + dbw CINNABAR_ISLAND, .Group9 + dbw CITRINE_CITY, .Group11 dbw ROUTE_4, .Group2 dbw ROUTE_6, .Group2 - dbw ROUTE_10, .Group4 - dbw ROUTE_11, .Group3 - dbw ROUTE_12, .Group4 - dbw ROUTE_13, .Group5 - dbw ROUTE_17, .Group5 - dbw ROUTE_18, .Group5 - dbw ROUTE_19, .Group8 - dbw ROUTE_20, .Group8 - dbw ROUTE_21, .Group8 + dbw ROUTE_10, .Group5 + dbw ROUTE_11, .Group4 + dbw ROUTE_12, .Group5 + dbw ROUTE_13, .Group6 + dbw ROUTE_17, .Group6 + dbw ROUTE_18, .Group6 + dbw ROUTE_19, .Group9 + dbw ROUTE_20, .Group9 + dbw ROUTE_21, .Group9 dbw ROUTE_22, .Group1 - dbw ROUTE_23, .Group8 + dbw ROUTE_23, .Group6 dbw ROUTE_24, .Group2 - dbw ROUTE_25, .Group2 - dbw BRUNSWICK_TRAIL, .Group9 - dbw CERULEAN_GYM, .Group2 - dbw VERMILION_DOCK, .Group3 - dbw SEAFOAM_ISLANDS_B3F, .Group8 - dbw SEAFOAM_ISLANDS_B4F, .Group8 - dbw SAFARI_ZONE_EAST, .Group6 - dbw SAFARI_ZONE_NORTH, .Group6 - dbw SAFARI_ZONE_WEST, .Group6 - dbw SAFARI_ZONE_CENTER, .Group6 - dbw CERULEAN_CAVE_2F, .Group10 - dbw CERULEAN_CAVE_B1F, .Group10 - dbw CERULEAN_CAVE_1F, .Group10 - dbw SILPH_GAUNTLET_5F, .Group6 - dbw ROCK_TUNNEL_1F, .Group4 - dbw CELADON_UNIVERSITY_OUTSIDE, .Group11 - dbw FARAWAY_ISLAND_INSIDE, .Group5 - dbw MT_MOON_CRATER, .Group10 - dbw DIGLETTS_CAVE, .Group12 - dbw BILLS_GARDEN, .Group7 - dbw UNDERWATER_TUNNEL, .Group8 - dbw LORELEIS_ROOM, .Group8 - dbw GARNET_CAVERN_1F, .Group9 - dbw GARNET_CAVERN_2F, .Group9 - dbw GARNET_CAVERN_B1F, .Group9 - dbw CINNABAR_VOLCANO_FLOORS, .Group13 - dbw CINNABAR_VOLCANO, .Group13 + dbw ROUTE_25, .Group3 + dbw BRUNSWICK_TRAIL, .Group11 + dbw VERMILION_DOCK, .Group4 + dbw VERMILION_FERRY_DOCK, .Group4 + dbw CITRINE_FERRY_DOCK, .Group11 + dbw SEAFOAM_ISLANDS_B3F, .Group9 + dbw SEAFOAM_ISLANDS_B4F, .Group9 + dbw SAFARI_ZONE_EAST, .Group7 + dbw SAFARI_ZONE_NORTH, .Group7 + dbw SAFARI_ZONE_WEST, .Group7 + dbw SAFARI_ZONE_CENTER, .Group7 + dbw CERULEAN_CAVE_2F, .Group12 + dbw CERULEAN_CAVE_B1F, .Group12 + dbw CERULEAN_CAVE_1F, .Group12 + dbw SILPH_GAUNTLET_5F, .Group7 + dbw ROCK_TUNNEL_1F, .Group5 + dbw CELADON_UNIVERSITY_OUTSIDE, .Group13 + dbw MT_MOON_CRATER, .Group12 + dbw DIGLETTS_CAVE, .Group14 + dbw BILLS_GARDEN, .Group8 + dbw UNDERWATER_TUNNEL, .Group10 + dbw GARNET_CAVERN_1F, .Group11 + dbw GARNET_CAVERN_2F, .Group11 + dbw GARNET_CAVERN_B1F, .Group11 + dbw CINNABAR_VOLCANO_FLOORS, .Group15 + dbw CINNABAR_VOLCANO, .Group15 db -1 ; end ; fishing groups @@ -62,107 +61,98 @@ SuperRodData: db 5, ORFRY db 7, ORFRY -.Group2: ; Route 4, Cerulean, Route 24, Route 25, Route 6 - db 5 +.Group2: ; Route 4, Cerulean, Route 24, Route 6 + db 4 db 12, MAGIKARP db 12, POLIWAG db 12, ORFRY db 12, PSYDUCK + +.Group3: ; Route 25 + db 4 + db 12, MAGIKARP + db 12, POLIWAG + db 12, ORFRY db 12, CHEEP -.Group3: ; Route 11, Vermilion - db 5 +.Group4: ; Route 11, Vermilion + db 4 db 15, BLOTTLE db 15, MAGIKARP - db 15, GOLDEEN db 15, TENTACOOL db 15, CHEEP -.Group4: ; Route 10, Route 12, Rock Tunnel - db 5 +.Group5: ; Route 10, Route 12, Rock Tunnel + db 4 + db 20, RIBBITO + db 20, POLIWAG db 20, SLOWPOKE - db 20, PSYDUCK - db 20, TENTACOOL - db 20, BLOTTLE db 20, KRABBY -.Group5: ; Route 13, Route 17, Route 18, Fuchsia - db 5 +.Group6: ; Route 13, Route 17, Route 18, Fuchsia, Route 23 + db 4 db 25, HORSEA db 25, POLIWHIRL db 25, KRABBY - db 25, CHEEP db 25, BLOTTLE -.Group6: ; Safari Zone - db 6 +.Group7: ; Safari Zone + db 4 db 15, DRATINI db 20, SLOWPOKE db 25, KRABBY db 25, WEIRDUCK - db 25, POLIWHIRL - db 30, DRAGONAIR -.Group7: ; Bill's Garden - db 6 +.Group8: ; Bill's Garden + db 4 db 50, SQUIRTLE db 50, SQUIRTLE db 50, DRATINI db 50, DRATINI - db 50, DRAGONAIR - db 55, DRAGONITE -.Group8: ; Sea Routes, Route 23, Seafoam Islands, Underwater Tunnel - db 6 +.Group9: ; Cinnabar, Route 19-21, Seafoam Islands + db 4 db 30, STARYU db 30, HORSEA db 30, SHELLDER - db 30, SHARPOON - db 30, BLASTYKE db 30, GOLDEEN -.Group9: ; Citrine, Brunswick, Garnet - db 8 - db 50, SHARPOON - db 50, SEAKING +.Group10: ; Underwater Tunnel + db 4 + db 35, SHELLDER + db 35, STARYU + db 35, CROAKOZUNA + db 35, GOLDUCK + +.Group11: ; Citrine, Brunswick, Garnet + db 4 db 50, KINGLER db 50, SEADRA db 50, PENDRAKEN db 50, GYARADOS - db 50, JABETTA - db 50, CROAKOZUNA -.Group10: ; Cerulean Cave - db 8 +.Group12: ; Cerulean Cave, Mt Moon Crater + db 4 db 50, SLOWBRO db 50, SEAKING - db 50, KINGLER - db 50, SHELLDER db 50, GYARADOS - db 50, JABETTA db 50, CROAKOZUNA - db 50, GOLDUCK -.Group11: ; Celadon - db 7 - db 5, MAGIKARP +.Group13: ; Celadon + db 4 db 10, MAGIKARP db 15, MAGIKARP db 20, MAGIKARP - db 25, MAGIKARP - db 20, GYARADOS db 20, GRIMER -.Group12: ; Diglett's Cave - db 6 - db 16, WIGLETT +.Group14: ; Diglett's Cave + db 4 + db 17, WIGLETT db 18, WIGLETT db 19, WIGLETT - db 21, WIGLETT db 20, WIGLETT - db 28, WUGTRIO -.Group13: ; Cinnabar Volcano +.Group15: ; Cinnabar Volcano db 3 db 35, MAGMAR db 37, MAGMAR From 6678af8722a5369c852d2326b3becffe2f973d0b Mon Sep 17 00:00:00 2001 From: Llinos Evans <36418502+PlagueVonKarma@users.noreply.github.com> Date: Sun, 24 Dec 2023 18:13:41 +0000 Subject: [PATCH 03/11] Silph Gauntlet reset-on-victory This functionally turns the Silph Gauntlet into a battle tower of sorts. I did notice some weirdness post-event-reset so definitely do some tests. It should be fine, though. --- constants/event_constants.asm | 3 ++- data/maps/objects/RedsHouse2F.asm | 3 ++- engine/debug/debug_party.asm | 1 + scripts/SilphCo1F.asm | 1 + scripts/SilphGauntlet7F.asm | 4 ++-- text/SilphGauntlet2F.asm | 5 +++-- text/SilphGauntlet3F.asm | 2 +- 7 files changed, 12 insertions(+), 7 deletions(-) diff --git a/constants/event_constants.asm b/constants/event_constants.asm index a64a17b2..7232ace7 100644 --- a/constants/event_constants.asm +++ b/constants/event_constants.asm @@ -817,6 +817,7 @@ DEF INDIGO_PLATEAU_EVENTS_END EQU const_value - 1 const EVENT_BEAT_VICTORY_ROAD_1_TRAINER_1 const_skip 4 const EVENT_VICTORY_ROAD_1_BOULDER_ON_SWITCH + const EVENT_BEAT_CHIEF ; moved out of the below union to prevent bugs ; Silph Gauntlet events const_next $930 @@ -872,7 +873,7 @@ DEF SILPH_GAUNTLET_EVENTS_START EQU const_value const EVENT_BEAT_GAUNTLET_SABRINA const EVENT_BEAT_GAUNTLET_BLAINE const_skip - const EVENT_BEAT_CHIEF + const_skip const_skip 5 const_skip DEF SILPH_GAUNTLET_EVENTS_END EQU const_value - 1 diff --git a/data/maps/objects/RedsHouse2F.asm b/data/maps/objects/RedsHouse2F.asm index de0c4f76..2bc15fdb 100644 --- a/data/maps/objects/RedsHouse2F.asm +++ b/data/maps/objects/RedsHouse2F.asm @@ -4,11 +4,12 @@ RedsHouse2F_Object: def_warp_events warp_event 7, 1, REDS_HOUSE_1F, 3 ;warp_event 5, 1, SILPH_GAUNTLET_7F, 1 ; - Test Chief + warp_event 5, 1, SILPH_CO_1F, 1 ; - Go through Gauntlet ;warp_event 5, 1, SILPH_CO_11F, 2 ; - Test J&J, Omega, & Giovanni. To test the Omega refight, change to SHOW in hide/show data, and set warp ID to 1. ;warp_event 5, 1, ROCKET_HIDEOUT_B4F, 2 ; - Test Giovanni 1 ;warp_event 5, 1, MT_MOON_SQUARE, 1 ; - Test Shop, NPCs, and Crater ;warp_event 5, 1, CELESTE_HILL, 1 ; - Test GMolt - warp_event 5, 1, HALL_OF_FAME, 1 ; Test post-game setup + ;warp_event 5, 1, HALL_OF_FAME, 1 ; Test post-game setup ;warp_event 5, 1, GARNET_CAVERN_B1F, 1 ; Test GCuno ;warp_event 5, 1, FARAWAY_ISLAND_INSIDE, 1 ; Test Mew ;warp_event 5, 1, GIOVANNIS_ROOM, 1 ; Test spinner tiles diff --git a/engine/debug/debug_party.asm b/engine/debug/debug_party.asm index 014491fe..a9a78e64 100644 --- a/engine/debug/debug_party.asm +++ b/engine/debug/debug_party.asm @@ -206,6 +206,7 @@ DebugItemsList: db BICYCLE, 1 db EXP_ALL, 1 db FULL_RESTORE, 99 + db MAX_ELIXER, 99 db MAX_REPEL, 99 db RARE_CANDY, 99 db ESCAPE_ROPE, 99 diff --git a/scripts/SilphCo1F.asm b/scripts/SilphCo1F.asm index 601607b0..f7debde5 100644 --- a/scripts/SilphCo1F.asm +++ b/scripts/SilphCo1F.asm @@ -9,6 +9,7 @@ SilphCo1F_ScriptPointers: dw SilphCo1FScript1 SilphCo1FScript0: + ResetEvent EVENT_BEAT_CHIEF ; Used so you can rematch Chief and later the gauntlet, without him being reset alongside everything else. An absolutely tragic way to fix a bug, but it works. If you enter his room, you have to fight him, so this all works under the hood without infringing on design. ld b, SILPHLETTER call IsItemInBag ret nz diff --git a/scripts/SilphGauntlet7F.asm b/scripts/SilphGauntlet7F.asm index e6e86aba..e3e6f860 100644 --- a/scripts/SilphGauntlet7F.asm +++ b/scripts/SilphGauntlet7F.asm @@ -71,7 +71,7 @@ ChiefScript3: xor a ld [wIsTrainerBattle], a call UpdateSprites - SetEvent EVENT_BEAT_CHIEF + SetEvent EVENT_BEAT_CHIEF ; Ensures Chief cannot be rematched in the room. ld a, $f0 ld [wJoyIgnore], a ld a, $1 @@ -95,7 +95,7 @@ ChiefScript4: ld a, HS_CERULEAN_CAVE_GUY ld [wMissableObjectIndex], a predef HideObject - ; ResetEventRange SILPH_GAUNTLET_EVENTS_START, SILPH_GAUNTLET_EVENTS_END, 1 ; I want this to reset the trainers so you can refight them, but I'm very unsure how this works... + ResetEventRange SILPH_GAUNTLET_EVENTS_START, SILPH_GAUNTLET_EVENTS_END, 1 ld a, $0 ld [wSilphGauntlet7FCurScript], a diff --git a/text/SilphGauntlet2F.asm b/text/SilphGauntlet2F.asm index e5c67396..5b04bf25 100644 --- a/text/SilphGauntlet2F.asm +++ b/text/SilphGauntlet2F.asm @@ -58,8 +58,9 @@ _SilphGauntlet2FAfterBattleText3:: _SilphGauntlet2FBattleText4:: text "Hahaha! This is" line "great! So many" - cont "rare #MON! Show" - cont "me yours, now!" + cont "rare #MON!" + para "Show me yours," + line "now!" done _SilphGauntlet2FEndBattleText4:: diff --git a/text/SilphGauntlet3F.asm b/text/SilphGauntlet3F.asm index 9087b199..1eaad982 100644 --- a/text/SilphGauntlet3F.asm +++ b/text/SilphGauntlet3F.asm @@ -22,7 +22,7 @@ _SilphGauntlet3FBattleText2:: done _SilphGauntlet3FEndBattleText2:: - text "Sploosh!" + text "Agh!" prompt _SilphGauntlet3FAfterBattleText2:: From 39b1340ddafefae77fbf5e7b331944efbdd0bdb1 Mon Sep 17 00:00:00 2001 From: Llinos Evans <36418502+PlagueVonKarma@users.noreply.github.com> Date: Sun, 24 Dec 2023 18:21:21 +0000 Subject: [PATCH 04/11] Fighting Dojo fix Admittedly very very comical. Moves the normal processing checks down to where the normal processing actually happens. --- scripts/FightingDojo.asm | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/scripts/FightingDojo.asm b/scripts/FightingDojo.asm index c1e94b24..a1f5ffba 100644 --- a/scripts/FightingDojo.asm +++ b/scripts/FightingDojo.asm @@ -109,14 +109,7 @@ FightingDojoText1: ; gym scaling can be removed to make space text_asm CheckEvent EVENT_POST_GAME_ATTAINED ; No need to view previous stuff, technically you can skip Bide this way but I think that's hilarious jp z, .normalProcessing - CheckEvent EVENT_GOT_HITMON ; failsafe - jp nz, .continue2 - CheckEvent EVENT_DEFEATED_FIGHTING_DOJO - jp nz, .continue1 - CheckEventReuseA EVENT_BEAT_KARATE_MASTER - jp nz, .continue2 -.rematchMode ; Rematch functionality. Just loads pre-battle text and his trainer. - ld hl, KoichiRematchPreBattleText + ld hl, KoichiRematchPreBattleText ; Rematch functionality. Just loads pre-battle text and his trainer. call PrintText ld c, BANK(Music_MeetMaleTrainer) ld a, MUSIC_MEET_MALE_TRAINER @@ -139,6 +132,12 @@ FightingDojoText1: ; gym scaling can be removed to make space ld [wGymLeaderNo], a jr .asm_9dba4 .normalProcessing + CheckEvent EVENT_DEFEATED_FIGHTING_DOJO + jp nz, .continue1 + CheckEventReuseA EVENT_BEAT_KARATE_MASTER + jp nz, .continue2 + CheckEvent EVENT_GOT_HITMON ; failsafe + jp nz, .continue2 ld hl, FightingDojoText_5ce8e call PrintText ld hl, wd72d From fd03388931d4df76d52fb9bc7f493b0f913e890c Mon Sep 17 00:00:00 2001 From: Llinos Evans <36418502+PlagueVonKarma@users.noreply.github.com> Date: Sun, 24 Dec 2023 18:29:43 +0000 Subject: [PATCH 05/11] Fix Pikachu and Eevee's Starter Dex entries Forgor --- engine/events/starter_dex.asm | 1 + 1 file changed, 1 insertion(+) diff --git a/engine/events/starter_dex.asm b/engine/events/starter_dex.asm index 0dbe39b3..3030a158 100644 --- a/engine/events/starter_dex.asm +++ b/engine/events/starter_dex.asm @@ -8,4 +8,5 @@ StarterDex: predef ShowPokedexData xor a ld [wPokedexOwned], a + ld [wPokedexOwned + 1], a ret From 154f4bc6bc2aab934c6b7b44ec731765d1700120 Mon Sep 17 00:00:00 2001 From: Llinos Evans <36418502+PlagueVonKarma@users.noreply.github.com> Date: Sun, 24 Dec 2023 18:52:30 +0000 Subject: [PATCH 06/11] more precise credits --- README.md | 3 ++- scripts/ViridianPreGym.asm | 13 ++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index ad33b878..5e971cae 100644 --- a/README.md +++ b/README.md @@ -97,7 +97,7 @@ New Areas - This is a reference to a Magikarp event from July 1998, and includes the lore from it and other areas of Pokemon's early worldbuilding. - There are features new infinitely re-battleable trainers for grinding money. - There's a Move Deleter and Move Relearner, allowing for HM deletion and getting back lost moves. -- Citrine City is a new island city that can be accessed in the postgame through a new port in Vermillion. +- Citrine City is a new island city that can be accessed in the postgame through a new port in Vermillion. Name derived from the Helix Chamber PokeThon ROM Hack. - There's a house with a Move Tutor that can teach Tradeback moves without the need for GSC's Time Capsule! - It features a Team Rocket house where they will sell you TMs and Evolution Items, as well as provide a Hyper Training feature to get Max DVs! - The Battle Tent from the TwitchPlaysPokemon Anniversary hack makes a return, featuring new trainers and Pokemon! @@ -130,6 +130,7 @@ Improved Areas - In effect, you get two stages: Pewter/Cerulean/Vermilion, then Celadon/Fuchsia/Saffron/Cinnabar. Some limits were placed due to the power spike introduced by Celadon City. - Giovanni now uses his unused theme song from Yellow, plus has his LGPE monologue in the Rocket Hideout. - Jessie and James have been backported from Yellow, appearing in Mt. Moon, Rocket Hideout, Pokemon Tower, and Silph Co. Additionally, they have a closure role in the post-game. +- Viridian City features a Pre-Gym, building on what was seen in the Helix Chamber PokeThon ROM Hack, featuring Yujirou. In the KEP team's opinion, this was the best interpretation of the prototype materials! - Diglett's Cave has a more detailed map with Onix, Wiglett, and Wugtrio also appearing! It also has its prototype music! - The Day Care now contains a PC, is generally more detailed, and houses Melanie from Yellow. If you pick Pikachu or Eevee and beat Misty, Melanie will give you a Bulbasaur. - Route 24 now features two things; diff --git a/scripts/ViridianPreGym.asm b/scripts/ViridianPreGym.asm index 8281fc30..c2a98a7a 100644 --- a/scripts/ViridianPreGym.asm +++ b/scripts/ViridianPreGym.asm @@ -26,13 +26,12 @@ ViridianGymYujirouPostBattle: jp z, ViridianGymResetScripts ld a, $f0 ld [wJoyIgnore], a - - SetEvents EVENT_BEAT_YUJIROU, EVENT_BEAT_VIRIDIAN_PREGYM_TRAINER_0, EVENT_BEAT_VIRIDIAN_PREGYM_TRAINER_1 ; Needs to be set here for the correct text to pop up. - ld a, $3 - ld [hSpriteIndex], a - call DisplayTextID - - jp ViridianPreGymResetScripts +; SetEvents EVENT_BEAT_YUJIROU, EVENT_BEAT_VIRIDIAN_PREGYM_TRAINER_0, EVENT_BEAT_VIRIDIAN_PREGYM_TRAINER_1 ; Needs to be set here for the correct text to pop up. +; ld a, $3 +; ld [hSpriteIndex], a +; call DisplayTextID +; xor a +; ld [wViridianPreGymCurScript], a ViridianPreGym_TextPointers: dw ViridianPreGymText1 From 200dc696aa3b83d55084ef30bde23c405c51f189 Mon Sep 17 00:00:00 2001 From: Misty Date: Sun, 24 Dec 2023 15:37:48 -0500 Subject: [PATCH 07/11] Geodude Line update + Nidoreign Tweak Integrated the new Geodude line movesets, as well as added Spike Cannon to Nidoreign's level-up moveset. (Might've been accidentally removed, as it was on the spreadsheet but not in the code.) --- data/pokemon/evos_moves.asm | 48 ++++++++++++++++++++++++------------- 1 file changed, 32 insertions(+), 16 deletions(-) diff --git a/data/pokemon/evos_moves.asm b/data/pokemon/evos_moves.asm index 871b8d12..647091af 100644 --- a/data/pokemon/evos_moves.asm +++ b/data/pokemon/evos_moves.asm @@ -672,6 +672,7 @@ NidoreignEvosMoves: ; Evolutions db 0 ; Learnset + db 23, SPIKE_CANNON db 36, ROCK_SLIDE db 43, BODY_SLAM db 50, THRASH @@ -768,10 +769,14 @@ GravelerEvosMoves: db 11, DEFENSE_CURL db 16, ROCK_THROW db 21, SELFDESTRUCT - db 29, HARDEN - db 36, EARTHQUAKE - db 43, EXPLOSION - db 50, ROCK_SLIDE + db 25, MEGA_PUNCH + db 30, HARDEN + db 35, EARTHQUAKE + db 40, BODY_SLAM + db 45, ROCK_SLIDE + db 50, EXPLOSION + db 55, DOUBLE_EDGE + db 60, FISSURE db 0 ChanseyEvosMoves: @@ -894,10 +899,14 @@ GolemEvosMoves: db 11, DEFENSE_CURL db 16, ROCK_THROW db 21, SELFDESTRUCT - db 29, HARDEN - db 36, EARTHQUAKE - db 43, EXPLOSION - db 50, ROCK_SLIDE + db 25, MEGA_PUNCH + db 30, HARDEN + db 35, EARTHQUAKE + db 40, BODY_SLAM + db 45, ROCK_SLIDE + db 50, EXPLOSION + db 55, DOUBLE_EDGE + db 60, FISSURE db 0 BalumbaEvosMoves: @@ -2390,7 +2399,6 @@ NidorinaEvosMoves: db 55, TAKE_DOWN ; Prototype db 0 -; Needs Body Slam, Mega Punch, Double-Edge, and Fissure distributed GeodudeEvosMoves: ; Evolutions db EV_LEVEL, 25, GRAVELER @@ -2399,10 +2407,14 @@ GeodudeEvosMoves: db 11, DEFENSE_CURL db 16, ROCK_THROW db 21, SELFDESTRUCT - db 26, HARDEN - db 31, EARTHQUAKE - db 36, EXPLOSION + db 25, MEGA_PUNCH + db 29, HARDEN + db 33, EARTHQUAKE + db 37, BODY_SLAM db 41, ROCK_SLIDE + db 45, EXPLOSION + db 49, DOUBLE_EDGE + db 53, FISSURE db 0 PorygonEvosMoves: @@ -3320,10 +3332,14 @@ GolemAEvosMoves: db 11, DEFENSE_CURL db 16, ROCK_THROW db 21, SELFDESTRUCT - db 29, THUNDERPUNCH - db 36, DOUBLE_EDGE - db 43, EXPLOSION - db 50, ROCK_SLIDE + db 25, MEGA_PUNCH + db 30, THUNDERPUNCH + db 35, THUNDER_WAVE + db 40, BODY_SLAM + db 45, ROCK_SLIDE + db 50, EXPLOSION + db 55, DOUBLE_EDGE + db 60, THUNDER db 0 RapidashGEvosMoves: From 543ea46d8e815beccd32f675009858f02d372662 Mon Sep 17 00:00:00 2001 From: Martha Schilling Date: Sun, 24 Dec 2023 22:18:00 +0000 Subject: [PATCH 08/11] Koichi unique trainer class! Well, 'unique' is VERY loose here. He looks and behaves identically to a Black Belt still, just with a proper name and a higher payout. He replaces the unused Junior class. In addition, I've brought back the text on the scrolls on the back wall in the Fighting Dojo that were accidentally inaccessible for a while. --- audio/play_battle_music.asm | 2 ++ constants/trainer_constants.asm | 2 +- data/events/hidden_objects.asm | 4 ++-- data/maps/objects/FightingDojo.asm | 10 +++++----- data/maps/objects/SilphGauntlet2F.asm | 2 +- data/maps/objects/VictoryRoad2F.asm | 2 +- data/maps/objects/ViridianGym.asm | 6 +++--- data/trainers/ai_pointers.asm | 2 +- data/trainers/encounter_types.asm | 6 ++++++ data/trainers/move_choices.asm | 2 +- data/trainers/names.asm | 2 +- data/trainers/parties.asm | 19 ++++++++++++++++++- data/trainers/pic_pointers_money.asm | 8 ++++---- data/trainers/scaled_parties.asm | 16 +--------------- engine/battletentdata.asm | 2 +- gfx/blocksets/pregym.bst | Bin 864 -> 896 bytes gfx/pics.asm | 2 +- gfx/trainers/junior.png | Bin 645 -> 0 bytes gfx/trainers/koichi.png | Bin 0 -> 594 bytes maps/FightingDojo.blk | 2 +- scripts/FightingDojo.asm | 4 ++-- 21 files changed, 52 insertions(+), 41 deletions(-) delete mode 100644 gfx/trainers/junior.png create mode 100644 gfx/trainers/koichi.png diff --git a/audio/play_battle_music.asm b/audio/play_battle_music.asm index 84fdb35a..d0500f6f 100644 --- a/audio/play_battle_music.asm +++ b/audio/play_battle_music.asm @@ -44,6 +44,8 @@ PlayBattleMusic:: jr c, .wildBattle cp OPP_YUJIROU jr z, .Elite4Battle + cp OPP_KOICHI + jr z, .Elite4Battle cp OPP_LORELEI ; elite four now play the gym leader battle theme jr z, .Elite4Battle cp OPP_BRUNO diff --git a/constants/trainer_constants.asm b/constants/trainer_constants.asm index f747bfc2..6287488b 100644 --- a/constants/trainer_constants.asm +++ b/constants/trainer_constants.asm @@ -64,7 +64,7 @@ ENDM trainer_const YUJIROU ; $0D, was unused juggler, also not 0D but I can't be bothered to change everything trainer_const STUDENT trainer_const FIREFIGHTER - trainer_const JUNIOR + trainer_const KOICHI trainer_const JACK trainer_const JESSIE_JAMES DEF NUM_TRAINERS EQU const_value - 1 diff --git a/data/events/hidden_objects.asm b/data/events/hidden_objects.asm index 6cc05fe6..c94a1df5 100644 --- a/data/events/hidden_objects.asm +++ b/data/events/hidden_objects.asm @@ -575,8 +575,8 @@ CeladonMansion5HiddenObjects: FightingDojoHiddenObjects: hidden_object 3, 9, SPRITE_FACING_UP, PrintFightingDojoText hidden_object 6, 9, SPRITE_FACING_UP, PrintFightingDojoText - hidden_object 4, 0, SPRITE_FACING_UP, PrintFightingDojoText2 - hidden_object 5, 0, SPRITE_FACING_UP, PrintFightingDojoText3 + hidden_object 1, 0, SPRITE_FACING_UP, PrintFightingDojoText2 + hidden_object 2, 0, SPRITE_FACING_UP, PrintFightingDojoText3 db -1 ; end IndigoPlateauLobbyHiddenObjects: diff --git a/data/maps/objects/FightingDojo.asm b/data/maps/objects/FightingDojo.asm index 7d9bba96..e45499dd 100644 --- a/data/maps/objects/FightingDojo.asm +++ b/data/maps/objects/FightingDojo.asm @@ -8,11 +8,11 @@ FightingDojo_Object: def_bg_events def_object_events - object_event 4, 1, SPRITE_HIKER, STAY, DOWN, 1, OPP_BLACKBELT, 1 ; koichi - object_event 3, 3, SPRITE_HIKER, STAY, RIGHT, 2, OPP_BLACKBELT, 11 - object_event 3, 5, SPRITE_HIKER, STAY, RIGHT, 3, OPP_BLACKBELT, 12 - object_event 6, 4, SPRITE_HIKER, STAY, LEFT, 4, OPP_BLACKBELT, 13 - object_event 6, 6, SPRITE_HIKER, STAY, LEFT, 5, OPP_BLACKBELT, 14 + object_event 4, 1, SPRITE_HIKER, STAY, DOWN, 1, OPP_KOICHI, 1 + object_event 3, 3, SPRITE_HIKER, STAY, RIGHT, 2, OPP_BLACKBELT, 3 + object_event 3, 5, SPRITE_HIKER, STAY, RIGHT, 3, OPP_BLACKBELT, 4 + object_event 6, 4, SPRITE_HIKER, STAY, LEFT, 4, OPP_BLACKBELT, 2 + object_event 6, 6, SPRITE_HIKER, STAY, LEFT, 5, OPP_BLACKBELT, 1 object_event 5, 1, SPRITE_POKE_BALL, STAY, NONE, 6 ; Hitmonlee object_event 7, 1, SPRITE_POKE_BALL, STAY, NONE, 7 ; Hitmonchan object_event 6, 1, SPRITE_POKE_BALL, STAY, NONE, 8 ; Hitmontop diff --git a/data/maps/objects/SilphGauntlet2F.asm b/data/maps/objects/SilphGauntlet2F.asm index d4ec14e2..6dbf2c51 100644 --- a/data/maps/objects/SilphGauntlet2F.asm +++ b/data/maps/objects/SilphGauntlet2F.asm @@ -13,6 +13,6 @@ SilphGauntlet2F_Object: object_event 24, 13, SPRITE_SUPER_NERD, STAY, RIGHT, 3, OPP_SUPER_NERD, 8 object_event 23, 19, SPRITE_SUPER_NERD, STAY, UP, 4, OPP_POKEMANIAC, 8 object_event 11, 16, SPRITE_BEAUTY, STAY, DOWN, 5, OPP_BEAUTY, 11 - object_event 2, 16, SPRITE_HIKER, STAY, RIGHT, 6, OPP_BLACKBELT, 19 + object_event 2, 16, SPRITE_HIKER, STAY, RIGHT, 6, OPP_BLACKBELT, 9 def_warps_to SILPH_GAUNTLET_2F diff --git a/data/maps/objects/VictoryRoad2F.asm b/data/maps/objects/VictoryRoad2F.asm index 5f1cdbaf..f0761fdd 100644 --- a/data/maps/objects/VictoryRoad2F.asm +++ b/data/maps/objects/VictoryRoad2F.asm @@ -13,7 +13,7 @@ VictoryRoad2F_Object: def_bg_events def_object_events - object_event 12, 9, SPRITE_HIKER, STAY, LEFT, 1, OPP_BLACKBELT, 16 + object_event 12, 9, SPRITE_HIKER, STAY, LEFT, 1, OPP_BLACKBELT, 8 object_event 21, 13, SPRITE_SUPER_NERD, STAY, LEFT, 2, OPP_JUGGLER, 2 object_event 19, 8, SPRITE_COOLTRAINER_M, STAY, DOWN, 3, OPP_TAMER, 5 object_event 4, 2, SPRITE_SUPER_NERD, STAY, DOWN, 4, OPP_POKEMANIAC, 6 diff --git a/data/maps/objects/ViridianGym.asm b/data/maps/objects/ViridianGym.asm index 983a5c1d..d5c36e19 100644 --- a/data/maps/objects/ViridianGym.asm +++ b/data/maps/objects/ViridianGym.asm @@ -13,11 +13,11 @@ ViridianGym_Object: def_object_events object_event 2, 2, SPRITE_GIOVANNI, STAY, DOWN, 1, OPP_GIOVANNI, 3 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, 13 + object_event 11, 11, SPRITE_HIKER, STAY, UP, 3, OPP_BLACKBELT, 5 object_event 10, 7, SPRITE_ROCKER, STAY, DOWN, 4, OPP_TAMER, 3 - object_event 7, 10, SPRITE_HIKER, STAY, LEFT, 5, OPP_BLACKBELT, 14 + object_event 7, 10, SPRITE_HIKER, STAY, LEFT, 5, OPP_BLACKBELT, 6 object_event 13, 5, SPRITE_COOLTRAINER_M, STAY, RIGHT, 6, OPP_COOLTRAINER_M, 10 - object_event 9, 1, SPRITE_HIKER, STAY, DOWN, 7, OPP_BLACKBELT, 15 + object_event 9, 1, SPRITE_HIKER, STAY, DOWN, 7, OPP_BLACKBELT, 7 object_event 2, 16, SPRITE_ROCKER, STAY, RIGHT, 8, OPP_TAMER, 4 object_event 4, 8, SPRITE_COOLTRAINER_M, STAY, DOWN, 9, OPP_COOLTRAINER_M, 1 object_event 16, 15, SPRITE_GYM_GUIDE, STAY, DOWN, 10 ; person diff --git a/data/trainers/ai_pointers.asm b/data/trainers/ai_pointers.asm index 1ec9ce0c..e783308c 100644 --- a/data/trainers/ai_pointers.asm +++ b/data/trainers/ai_pointers.asm @@ -53,7 +53,7 @@ TrainerAIPointers: dbw 3, GenericAI ; Yujirou dbw 3, GenericAI ; Student dbw 3, GenericAI ; Firefighter - dbw 3, GenericAI ; Junior + dbw 2, BlackbeltAI ; Koichi dbw 2, BlackbeltAI ; Jack dbw 2, GenericAI ; Jessie & James assert_table_length NUM_TRAINERS diff --git a/data/trainers/encounter_types.asm b/data/trainers/encounter_types.asm index 6ab860bf..ca08d434 100644 --- a/data/trainers/encounter_types.asm +++ b/data/trainers/encounter_types.asm @@ -3,6 +3,8 @@ FemaleTrainerList:: db OPP_JR_TRAINER_F db OPP_BEAUTY db OPP_COOLTRAINER_F + db OPP_MISTY + db OPP_ERIKA db OPP_STUDENT db -1 ; end @@ -14,5 +16,9 @@ EvilTrainerList:: db OPP_SCIENTIST db OPP_GIOVANNI db OPP_ROCKET + db OPP_KOGA + db OPP_SABRINA + db OPP_CHANNELER + db OPP_AGATHA db OPP_JESSIE_JAMES db -1 ; end diff --git a/data/trainers/move_choices.asm b/data/trainers/move_choices.asm index 59965c97..306c7c7c 100644 --- a/data/trainers/move_choices.asm +++ b/data/trainers/move_choices.asm @@ -58,7 +58,7 @@ TrainerClassMoveChoiceModifications: move_choices 1, 3, ; YUJIROU, was UNUSED_JUGGLER move_choices 1, 3, ; STUDENT move_choices 1, 3, ; FIREFIGHTER - move_choices 1, 3, ; JUNIOR + move_choices 1, 3, ; KOICHI move_choices 1, 3, ; JACK move_choices 1, 3, ; JESSIE_JAMES assert_list_length NUM_TRAINERS diff --git a/data/trainers/names.asm b/data/trainers/names.asm index bc0309e7..c9dae124 100644 --- a/data/trainers/names.asm +++ b/data/trainers/names.asm @@ -49,7 +49,7 @@ TrainerNames:: li "YUJIROU" li "STUDENT" li "FIREFIGHTER" - li "JUNIOR" + 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" assert_list_length NUM_TRAINERS diff --git a/data/trainers/parties.asm b/data/trainers/parties.asm index 7e549c81..e6cd8de6 100644 --- a/data/trainers/parties.asm +++ b/data/trainers/parties.asm @@ -49,7 +49,7 @@ TrainerDataPointers: dw YujirouData ; was unused juggler dw StudentData dw FirefighterData - dw JuniorData + dw KoichiData dw JackData dw JessieJamesData assert_table_length NUM_TRAINERS @@ -542,6 +542,23 @@ BirdKeeperData: db 29, PIDGEOTTO, FEAROW, 0 db 28, SPEAROW, DODUO, FEAROW, 0 +; Fighting specialist, even the ones in Giovanni's gym! +; These have been changed to bulky, 'intimidating' Ground types to fit the theme +BlackbeltData: +; Fighting Dojo Trainers + db 31, MANKEY, MACHOKE, JABETTA, 0 + db 32, PRIMEAPE, CARAPTHOR, 0 + db 35, GORILLAIMO, 0 + db 33, MACHOP, POLIWRATH, 0 +; Viridian Gym - changed to fit the Ground-type gym theme + db 40, MAROWAK, GOLEM, 0 + db 43, GUARDIA, 0 + db 38, CACTORMUS, DUGTRIO, STEELIX, 0 +; Victory Road 2F + db 43, MACHOKE, MACHOP, MACHOKE, 0 +; Silph Gauntlet 2F (Mt. Moon) + db 63, HITMONTOP, JABETTA, GORILLAIMO, POLIWRATH, CARAPTHOR, MACHAMP, 0 + ; Uses Silph products and Steel-types ChiefData: ; Silph Gauntlet 7F diff --git a/data/trainers/pic_pointers_money.asm b/data/trainers/pic_pointers_money.asm index 9b8b207c..af202ba2 100644 --- a/data/trainers/pic_pointers_money.asm +++ b/data/trainers/pic_pointers_money.asm @@ -53,10 +53,10 @@ TrainerPicAndMoneyPointers:: pic_money ChannelerPic, 3000 pic_money AgathaPic, 9900 pic_money LancePic, 9900 - pic_money YujirouPic, 9900 ; was unused juggler + pic_money YujirouPic, 3500 ; was unused juggler pic_money StudentPic, 1000 - pic_money FirefighterPic, 1500 - pic_money JuniorPic, 1000 + pic_money FirefighterPic, 2500 + pic_money KoichiPic, 9900 pic_money JackPic, 5000 - pic_money JessieJamesPic, 9900 + pic_money JessieJamesPic, 5000 assert_table_length NUM_TRAINERS diff --git a/data/trainers/scaled_parties.asm b/data/trainers/scaled_parties.asm index 30a86936..f32e42ee 100644 --- a/data/trainers/scaled_parties.asm +++ b/data/trainers/scaled_parties.asm @@ -119,8 +119,7 @@ YujirouData: ; was unused juggler ; post-game rematch team db $FF, 61, PERSIAN, 60, TAUROS, 60, BLISSEY, 61, LUXWAN, 61, SNORLAX, 64, LICKILICKY, 0 -BlackbeltData: -; Koichi parties +KoichiData: db 13, HITMONLEE, HITMONCHAN, HITMONTOP, 0 ; 0 badges (unused) db $FF, 17, MACHOP, 20, HITMONLEE, 20, HITMONCHAN, 20, HITMONTOP, 0 ; 1 db $FF, 20, MACHOP, 20, MANKEY, 24, HITMONLEE, 24, HITMONCHAN, 24, HITMONTOP, 0 ; 2 @@ -131,16 +130,3 @@ BlackbeltData: db $FF, 46, MACHAMP, 46, CARAPTHOR, 46, ANNIHILAPE, 49, HITMONLEE, 49, HITMONCHAN, 49, HITMONTOP, 0 ; 7 db $FF, 50, MACHAMP, 50, CARAPTHOR, 50, ANNIHILAPE, 53, HITMONLEE, 53, HITMONCHAN, 53, HITMONTOP, 0 ; 8 db $FF, 60, MACHAMP, 60, ANNIHILAPE, 60, TAUROS_P, 65, HITMONLEE, 65, HITMONCHAN, 65, HITMONTOP, 0 ; Postgame -; Fighting Dojo Trainers - db 31, CHEEP, CHEEP, JABETTA, 0 - db 32, MACHOKE, MACHAMP, 0 - db 35, GORILLAIMO, 0 - db 31, MACHOP, MANKEY, PRIMEAPE, 0 -; Viridian Gym - changed to fit the Ground-type gym theme - db 40, SANDSLASH, GOLEM, 0 - db 43, GUARDIA, 0 - db 38, CACTORMUS, DUGTRIO, STEELIX, 0 -; Victory Road 2F - db 43, MACHOKE, MACHOP, MACHOKE, 0 -; Silph Gauntlet 2F (Mt. Moon) - db 63, HITMONLEE, JABETTA, HITMONCHAN, POLIWRATH, CARAPTHOR, MACHAMP, 0 diff --git a/engine/battletentdata.asm b/engine/battletentdata.asm index 2d787330..41b785f7 100644 --- a/engine/battletentdata.asm +++ b/engine/battletentdata.asm @@ -217,7 +217,7 @@ BTTrainerClassList:: db BLACKBELT, SPRITE_HIKER, 2 db SCIENTIST, SPRITE_SCIENTIST, 8 db FIREFIGHTER, SPRITE_FISHER, 0 - db JUNIOR, SPRITE_YOUNGSTER, 8 + db STUDENT, SPRITE_GIRL, 8 db CHANNELER, SPRITE_CHANNELER, 8 BTMonList:: diff --git a/gfx/blocksets/pregym.bst b/gfx/blocksets/pregym.bst index bcbb36ea377247f9c19383dfe805ef28b1da009e..c40d725e96816099d7f7a6843f775cfc919ca077 100644 GIT binary patch delta 79 zcmaFB*1*2u5R(i81EY+904pmio2aO$7!NNKGY_wjFb^*`HxKXRdrT3GGLy}jH5ItQ TfSrq*TU?5pTb3WhMdkqjzE}wV delta 46 ycmZo*f55ik5R(iOGoy@|IV&qGo2aO$7y}bCgMgX23^y1|zQ+{7C@|TaSrY)k5(lXO diff --git a/gfx/pics.asm b/gfx/pics.asm index 2b05b246..e19cb907 100644 --- a/gfx/pics.asm +++ b/gfx/pics.asm @@ -591,6 +591,6 @@ LancePic:: INCBIN "gfx/trainers/lance.pic" YujirouPic:: INCBIN "gfx/trainers/yujirou.pic" StudentPic:: INCBIN "gfx/trainers/student.pic" FirefighterPic:: INCBIN "gfx/trainers/firefighter.pic" -JuniorPic:: INCBIN "gfx/trainers/junior.pic" +KoichiPic:: INCBIN "gfx/trainers/koichi.pic" JackPic:: INCBIN "gfx/trainers/jack.pic" JessieJamesPic:: INCBIN "gfx/trainers/jessiejames.pic" diff --git a/gfx/trainers/junior.png b/gfx/trainers/junior.png deleted file mode 100644 index 8f42567cf80dfbe6dd6a7c51db14f370df5c55b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 645 zcmV;00($+4P)t-G&u9_vKmt=@a@9V-(m{>(BmJqj2IbMQL|m2R-tkdZ*GlT?Z#~TW>p?PI zeay^%iiAoj2>r57Jso=I0TESIWP;a_I}%TVE<8;ofDw@3!q(dSNzxqK=HbgUrYW#V zQ+sjMN87P4*`zPhakEGn;~^rgwHSS{PucutB5k8zpuBQfnpr|qGU}zTTV99H7L&7y zO78Xa@MHS~$cV^s7m{V-X6RCu{uod6!sD{#j^9X+P7u|KG{kx|*=JK+7<&FdcLydM z59>WzA#G8bd`2dHe^URi3caeH_xC9<;W(l=ZcZ99zA2fw;2+7;=t9{GdP;YaFm^o3 zMRfk;ao%yEj;bo!sFWTmlW3gm0g1JrNp$3ts8DQFJfFc2kL=(Jf;AGJ00000NkvXXu0mjfIAJ&E diff --git a/gfx/trainers/koichi.png b/gfx/trainers/koichi.png new file mode 100644 index 0000000000000000000000000000000000000000..8ba5480fec44d71782e9085852d15552dc07dd09 GIT binary patch literal 594 zcmV-Y0fKV6Ew#Qfv#p84Iy%Q^eoKK$Mr-uFGge;)idRno9h zVGlS9>&}>k>h>wP>M^MV0D8JRgx2e@pR!XNpkz(XQQA!ADeWc?D4izjU<2qg33u&* zdychzMQZb#EbHbD1G-V zw~ODZ-eze{y3Fa6m7VES(|waMipvdVVfDtNC!GGPIu4Wjw<5b$c8+VYx|xz{pJz() z%1W}u{GDmOUR?Caua+DL6&OfQsxr_08r%R5%7&mEtO!gb$&Kl8BeW*>WwO zc@I5j3ZHt(?79$nusD7aMx(t~(xIoD8Rkpm#SonMIxh<`nw&KDYyqT*)Su1Jm@kz3 z%8+-t-Z9OzfQsPvJ3t)`V*=lFk(?I3&H)Ci_!Gr-!H3D9J`pyUv$xY6O8S7i*nA$a zohP`ja}Tu*7NZ1JomJG<5DNq=I**CQw-VdJW1W-Or2FvUZ=EAY<8)hlDAI5g_vsp? zNC;1V)wn`AAjCYB{;W#3y1dj)dzI+c1iie6V?QXX!fWGNuhsR~!C^4B!&uMzaf-Ln g`!Z?eM>m6i012f Date: Sun, 24 Dec 2023 22:48:31 +0000 Subject: [PATCH 09/11] whoa! new vire backsprite! (whoa!) --- gfx/pokemon/back/electivireb.png | Bin 576 -> 628 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/gfx/pokemon/back/electivireb.png b/gfx/pokemon/back/electivireb.png index a4addeac048ff6ee5fb37ecdcba9f1d6ba346da8..9d6f45c3d10b9ce1be54ac7ea04a9cd1cbeaeb82 100644 GIT binary patch delta 386 zcmX@W@`YuB%0v?<*~1JBe1{p2=dVa%U|?V`@$_|Nf6gNzrY*#^%7J6zWECl6T|*;X zBa;v#BP$bQD?@W_0|P4qgYU1`8cnE!I%_H}ZehRNIb^x&POP{#7`pF7a4x zHS_HhfyYeD%*@6eg$mhMSqz-BuC5AgRA{@lDpcE%?H?p7)!>+S1zE zm~_8Jb1gaCz@t6EA>?;`oABy}p3v_9#x-nREvaAsr|-D_N??|$=MQ`5Ru1OX;oK7r zN+_I?*kJI){&3*&3k?Bo3eHnPRa`_eOqf^Q-)O|Jyl?##vnjKRfkDFH>FVdQ&MBb@ E05?38SO5S3 delta 332 zcmeyua)4!m3NK5#qpu?a!^VE@KZ&dp6&pI&Qh@pvjk+y+>m4QL}c7^2=4~nD98bV~%nVQ-rt1)KQ zAMkW>43W58dft}nPyi3Z1Cc)mJ=6UazOw0s?r}Ic-O>FhpPbVkM^?c%YF8HaE?_Sx ze)EVo=8lZam5oxu+3uU4C@U&5K2y(T_ Date: Mon, 25 Dec 2023 13:16:44 +0000 Subject: [PATCH 10/11] Celeste Hill and Brunswick wild encounter glitch fixed The fix really was that easy, huh. --- engine/battle/wild_encounters.asm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/engine/battle/wild_encounters.asm b/engine/battle/wild_encounters.asm index 28a85aee..f05b0543 100644 --- a/engine/battle/wild_encounters.asm +++ b/engine/battle/wild_encounters.asm @@ -57,6 +57,8 @@ TryDoWildEncounter: ld a, [wCurMapTileset] cp FOREST ; Viridian Forest/Safari Zone jp z, .CantEncounter2 + cp CELESTE + jp z, .CantEncounter2 ld a, [wGrassRate] .CanEncounter ; compare encounter chance with a random number to determine if there will be an encounter From 5ea0fc5de911a5fc40dcd8b4566cf35ea610c77b Mon Sep 17 00:00:00 2001 From: Llinos Evans <36418502+PlagueVonKarma@users.noreply.github.com> Date: Mon, 25 Dec 2023 22:15:27 +0000 Subject: [PATCH 11/11] New starter pathing, beautify Oak's Lab Please stop asking me about the sprite limit i beg u Ok so this commit does the following; - Oak's Lab now uses the Fossil Lab tileset, featuring lots of new contraptions etc to make up for the old removed aides. - Places the Pikachu and Eevee starters in a new place, which results in a slightly blocky mess, but does the job. - Fossil Lab tileset graphic has many new things. Lots of bad tiles in the blockset in case we want to use this more. - Changes the rival's pathing so he, y'know, works on the new map... - Re-adds the Oak email thing, but I had to do like 4 stupid workarounds because it was broken for unknown reasons. Just made it a generic bg event with no issues. - Removed the old oak email event; no visible difference. --- data/maps/headers/OaksLab.asm | 2 +- data/maps/objects/OaksLab.asm | 8 ++- data/text_predef_pointers.asm | 2 +- data/tilesets/collision_tile_ids.asm | 4 +- .../events/hidden_objects/oaks_lab_email.asm | 16 ++--- gfx/blocksets/fossillab.bst | Bin 928 -> 928 bytes gfx/tilesets/fossillab.png | Bin 2234 -> 2280 bytes maps/OaksLab.blk | 3 +- scripts/OaksLab.asm | 62 ++++++++++++++---- 9 files changed, 69 insertions(+), 28 deletions(-) diff --git a/data/maps/headers/OaksLab.asm b/data/maps/headers/OaksLab.asm index a31d9d37..0cc37744 100644 --- a/data/maps/headers/OaksLab.asm +++ b/data/maps/headers/OaksLab.asm @@ -1,2 +1,2 @@ - map_header OaksLab, OAKS_LAB, GYM, 0 + map_header OaksLab, OAKS_LAB, FOSSILLAB, 0 end_map_header diff --git a/data/maps/objects/OaksLab.asm b/data/maps/objects/OaksLab.asm index f25c51b2..a6657727 100644 --- a/data/maps/objects/OaksLab.asm +++ b/data/maps/objects/OaksLab.asm @@ -1,11 +1,13 @@ OaksLab_Object: - db $3 ; border block + db $17 ; border block def_warp_events warp_event 6, 11, LAST_MAP, 3 warp_event 7, 11, LAST_MAP, 3 def_bg_events + bg_event 10, 6, 30 ; PC because it keeps breaking + bg_event 11, 6, 30 ; PC because it keeps breaking def_object_events object_event 6, 4, SPRITE_BLUE, STAY, NONE, 1, OPP_RIVAL1, 1 @@ -19,7 +21,7 @@ OaksLab_Object: ;object_event 2, 11, SPRITE_GIRL, WALK, UP_DOWN, 9 ; person ;object_event 4, 11, SPRITE_SCIENTIST, STAY, NONE, 10 ; person ;object_event 11, 11, SPRITE_SCIENTIST, STAY, NONE, 11 ; person - object_event 4, 3, SPRITE_POKE_BALL, STAY, NONE, 28 ; person, Pikachu - object_event 5, 3, SPRITE_POKE_BALL, STAY, NONE, 29 ; person, Eevee + object_event 8, 6, SPRITE_POKE_BALL, STAY, NONE, 28 ; person, Pikachu + object_event 9, 6, SPRITE_POKE_BALL, STAY, NONE, 29 ; person, Eevee def_warps_to OAKS_LAB diff --git a/data/text_predef_pointers.asm b/data/text_predef_pointers.asm index ca6e0362..5f9aff3d 100644 --- a/data/text_predef_pointers.asm +++ b/data/text_predef_pointers.asm @@ -11,7 +11,7 @@ TextPredefs:: add_tx_pre PushStartText ; 05 add_tx_pre SaveOptionText ; 06 add_tx_pre StrengthsAndWeaknessesText ; 07 - add_tx_pre OakLabEmailText ; 08 +; add_tx_pre OakLabEmailText ; 08 add_tx_pre AerodactylFossilText ; 09 add_tx_pre Route15UpstairsBinocularsText ; 0A add_tx_pre KabutopsFossilText ; 0B diff --git a/data/tilesets/collision_tile_ids.asm b/data/tilesets/collision_tile_ids.asm index ba42e2dd..2c2c0669 100644 --- a/data/tilesets/collision_tile_ids.asm +++ b/data/tilesets/collision_tile_ids.asm @@ -55,10 +55,12 @@ Lobby_Coll:: Mansion_Coll:: coll_tiles $01, $05, $11, $12, $14, $1a, $1c, $2c, $53 -FossilLab_Coll:: ; It has the same tileset except the trees are the fossil machine, so... Lab_Coll:: coll_tiles $0c, $26, $16, $1e, $34, $37 +FossilLab_Coll:: ; Originally just the Lab collision, but now that Oak uses it, it's using separate collision. Added plenty just to be sure. + coll_tiles $0c, $26, $16, $1e, $34, $37, $17, $4C, $47, $58, $57, $59, $27, $4D + Club_Coll:: coll_tiles $0f, $1a, $1f, $26, $28, $29, $2c, $2d, $2e, $2f, $41 diff --git a/engine/events/hidden_objects/oaks_lab_email.asm b/engine/events/hidden_objects/oaks_lab_email.asm index b66babe0..0a244a35 100644 --- a/engine/events/hidden_objects/oaks_lab_email.asm +++ b/engine/events/hidden_objects/oaks_lab_email.asm @@ -1,10 +1,6 @@ -DisplayOakLabEmailText: - ld a, [wSpritePlayerStateData1FacingDirection] - cp SPRITE_FACING_UP - ret nz - call EnableAutoTextBoxDrawing - tx_pre_jump OakLabEmailText - -OakLabEmailText:: - text_far _OakLabEmailText - text_end +;DisplayOakLabEmailText: +; ld a, [wSpritePlayerStateData1FacingDirection] +; cp SPRITE_FACING_UP +; ret nz +; call EnableAutoTextBoxDrawing +; tx_pre_jump OakLabEmailText diff --git a/gfx/blocksets/fossillab.bst b/gfx/blocksets/fossillab.bst index 91f667919f1ff0d80d916c4e4c36a588b30a62ef..ba89bc108453d94300edde9140526cf2595530d1 100644 GIT binary patch delta 267 zcmZ3$zJPs#fq;ahgrte7iK#mjOmqlPfU#k;f}(|ifS{!z8@sx%kGQ-0#0?4x4vvma z0fB)*;Smv$Aa#yFejtz^0p(Bp@W243-_gn4Jut}K9ikE@>h2EI8-d`tyH8>=fa?L8 z?+7$MkWr0M4Tu;S)f^nv7`2qZ_Ih{*!Q3)Afk}%E;;hLNm^K)oyGscQ`1l#s5xpp0^rqOuJ0K!~3nY9B12}>sI10!Dj=)Hc;0QLFzy8vuY2Rzp zhyAd-&=GM~BJLgpHPBZV*FTD6xkzvVi;@uePQc(q6lFiU>H)KyFdoo95?TK9yq+N# z#YEGZ8pToEwEsRyz%(UHy<4H~eE%>r(}Pt_c#Lbk37*M+_F zGycbqA6Ij`q#r(i{#^DQ;o*-gsT`A(V|(ZdM~ScW)Q=x;&3{%O6f?!~t!N9tlbuO8 zqY@nw?z=t~LVS+??1AyZ@3$f!qK&Hk$XtFTvXyDx$<;JUIS zyAgDK&K20vI)6IdTd|ryi_wH?Et$R3PJk8Yd0{AlnM1UrPa&wko5%ZO5v^b+s0bj+ z6`2lgna@=_tm5e7ZpFJlvP4c)a)Kvcc;GWg4i{*iOrJh%A)`O&XP2Y#6wRJ1lFb2K zJAOpz>(Pc$pH8`>v;`n1Dmfu@RtxIzLdd{|2kxz4{(mi(@Oy{$z3cIL{K_D*Plf#Z z`8ez<%XM_mc%0R>1vw|1+`A3;jdm?W`f(SctG3D)*^ut4z*Za?EAT~Y+k#@oSWt{6 zC}(i>4S-<)uhD>^S%-I~i5`3dT$dmwAuw`dgF56SBBG7r-K1v|pJ56Ss}`1*0=KO+qZ8Q`St79iv$vy6+tA^$?S=DBy*bhTT&&tl2g!)`qR+QKY zN}%gc5+Bi=S3d*0qtJK2BoXK^rV6x>t*M;i<2tt3eQUNRyyB_=fIukGUJ#QY?!}Wk zl@p{7QAYeDSUTS3_YS(1P1yQ<;Y?44y`%*I6Q@^;-U_x>$&PXg`cREge`HJ2uz$V9 zCt%)c?hJj%P02p^GRgvoA3Iqj0p-pSBC<9ld z0a=?T26#n+CwFz?#XcV&ZHue_9ZZFLaD3qrEg~jdDA7!wRX6?9Kvs08Mp)hz*?6rR z-+adlkI5=NP{mPgvK!;$G2`B2Ox$A3W1C_RS^QNHFTMeAC>FqkJ%0rtRCLRci%ib)VwuOWX0=#?Uvs(&Cdx&=NO6X44%zyXU?=z~oB|F-mfk(-b z4_Wf{oe)onYJnhGvD)3xjfZF>7QxED4%rYIr-F?A;I^x|U9M>VbLg2UvHr)F6ZR}@ zD{2gHO6eG{;lY=JQ`8R&Ja3Ps6gPV{2( zd9KE<`h;R6d>&-%kKl{^%VfvR3n1=vv84c30q)qEfD8pP3u;#Y9dT?N)A^qzJ<1iY zasnLXNPxQl9Djv19`TRZi(CD9OytF!PuI;0U~dvMeih(uhfI=i6xQcEPI6iRO1w@) zPtch#kLCd8x%tmPP$F-^Tb=@5;4%5$SM?)fQlR?jd?w7v+^>ED(6-vqQ5Vp!g7-Io zFPVSS(?+%pD60-1dq}k9N21eo3A| z_kk>?dXZNtfTLu=MV`SKiIR;dq4TqwKl}L%G2u!yJ9`T^F8~7INA)To^!c&LGXc_= zD53jc()bu?w=p4(uU=!3F2P&y*8?c&w5eUk{FIx219S=Mpm-`9t3Gk|x+2|szAH5R si|^$unIl=dP6z&R&6aWh&GmTq4}a9cu()wvdjJ3c07*qoM6N<$f?d5(sQ>@~ delta 2171 zcmV->2!!|O5xNnOR)0@PL_t(|Ue%ggQXDxDMZv)eao8VbeehudZ_&f);WF3hOes~5 zhB*;(R+XewzND^hbNl<1n*q@jlwK1?CICUPU%U9o6$aYei-oN_cE{p8$euzjvbZy3gQ5@ng~P#E*2y zw$T_T+C7^$^3#2sU4z!*nfhD`V&WeIanr?3Gs4FnasoKfFpLH_y877QxjVre@UhY( zy%EOxnj_F7KYwOp&tkNG7NZW8FPXl>PJj`N^TJR9GlO`}cnU%Nvvs^b7SRZHf{Fm5 z9FdLTS!Q$f97b{Ud1rC>36SB*7o#EoeV(ZhST9?Xd-Y2Szjj=Q>x_DQT!l^>QLQ<8 z9@mug^%X1iai7I?m8+ZpnX#kfJ1T_A*)8@saegK{bbrT1v`%DoeP?CP^ml+6dZEBr zwG}Xyrky0m1-kvHmU9{(&6hn;*&-bpt0G%v&s>2m@@)mhOdCTn>cBk32L|Gx=&KS1u7A%RV?A0-1~xHnW{1WwpE;F;*_e_2 zBe0*j*rND#VIKA?CbG2)w!`HeAd)%MbrOSC+DxyHUB%~mt58r}X3sK|z)>PQW40n& zyG^7gfRdtMReh^fcLweZY}pB0{n#^C5Km&cS`^Il6JRT80mPsRoQ(yb`wH~U98^EL zx_=Tn0gzu6(kGo=m`4NIwL*8!{r&w#{`&Rn{aWx0vgbZ;#9uFg7)D|#0(Y>J>^&$T zE3(6^K(vErg%XMDXX{93)`t%jkB^TR`S9>?kw8MTB8X&TGJT?a2f%o5-GFapmh33I zU^{av>5wQT%Vl)8qI? zP@g}mHVR{-E@yNC&gh;DTS zJw3f$^&!}^fJb7oqZFR(PT~c6MonuVz3G{wSgB=rq9awG>x?gzmu~?WS`m$;2q=y? zkHpJpu6?JoXslS+QUt5W&XEKay{@}-Pc5zE$c7BxI9&V2;yxx)c%RSLb${gY5-8)i zmP2lsUwiU1rz)sUiXs-r3T{Ui*;z?vi~bo}Bd!JUSxk~P4GC22M2unV6fl8bmn$nWYI+fbkdkB{V_JaDMm<_ zbPGL`{um#R8P^_T;ud2bpDFf`#a{(+`Ll30#vPp{U*oqFfRG_8FJ3U(2@ZCSz{gPm z=sshn8@hIW6qf=x%ScZuFMM95UL1RvB|-hw4z7~xcwxl#&|4KRaeuA)1oJyKWMGS$ zY>RTnUB}3+MBOAm9#t?pL7;L3CuhN9E)?r+x>j*|RWXLXTiAj%g z#QXmRF!)GZU-oq`+x<#-RS+372djkf%=;8j;R(SPFP5k?23!(mr>pCUHdI90vbEiY z5vTtYTz%Kil21|4RDTFUjzkGKI%*md$(~ij-O0Vr_kg?H0&_<#!n15`$r+~?fTQDo z^lMf|+hM40me(aG{Z!5^2D6c`acGrfh6aWd2$&cR(=;KtN#gBl>LG_WaN(vJ0 zErPz-L_C_~M*wJilxKq-tX0Vwr~f^G5)Z!fNpySnPB7l+J1wbrW|c__)VD|2Ud`V>pUG)_iTJ7r@peX#Oa`Ri79oXfLdfe*E(t zC)q6kC0-wio`0YtVIBY2Wu2@1O`sBa2D2cm_*5*J+=3TXmVEilb=8lINr7wpH#uvv z_Eic1M+J^oJCbC?u_6oJ3P&bC676!Srg539h`)zyrFyxBs}umi?mF#>)z~VyE1Z>l zIKsY)DtWOuy5k~ODS*9X!9}icR`Nl~juK{e`q+&44RlH$6*1vTG)Mair~eQ{0QjsS z=(JHl=+ihKTS?$WX4C}w&Pe_Y5|n>k`E-Eovs4sk88X*)IaCu<{wKhN~UeK?_K}^002ovPDHLkV1oX&9+3b5 diff --git a/maps/OaksLab.blk b/maps/OaksLab.blk index 0e87062e..91d6bb9a 100644 --- a/maps/OaksLab.blk +++ b/maps/OaksLab.blk @@ -1 +1,2 @@ -hhhghhhijijmnmnhhhhhh \ No newline at end of file +  # (   + 6 \ No newline at end of file diff --git a/scripts/OaksLab.asm b/scripts/OaksLab.asm index 052f2225..e820cc45 100644 --- a/scripts/OaksLab.asm +++ b/scripts/OaksLab.asm @@ -285,25 +285,31 @@ OaksLabScript8: ld de, .PikachuMovement1 jr z, .moveBlue .PikachuMovement1 - db NPC_MOVEMENT_LEFT + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_DOWN db -1 ; end .Eevee ld de, .EeveeMovement1 - ld a, [wYCoord] - cp 4 ; is the player standing below the table? - jr z, .moveBlue - ld de, .EeveeMovement2 +; ld a, [wYCoord] +; cp 4 ; is the player standing below the table? +; jr z, .moveBlue +; ld de, .EeveeMovement2 jp .moveBlue .EeveeMovement1 +; db NPC_MOVEMENT_DOWN +; db NPC_MOVEMENT_LEFT +; db NPC_MOVEMENT_LEFT +; db NPC_MOVEMENT_UP + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_LEFT - db NPC_MOVEMENT_LEFT - db NPC_MOVEMENT_UP db -1 ; end -.EeveeMovement2 - db NPC_MOVEMENT_LEFT - db NPC_MOVEMENT_LEFT +;.EeveeMovement2 +; db NPC_MOVEMENT_LEFT +; db NPC_MOVEMENT_LEFT db -1 ; end .moveBlue @@ -323,9 +329,20 @@ OaksLabScript9: ; This is where Blue picks up the ball and removes the sprite. ld [wJoyIgnore], a ld a, $1 ldh [hSpriteIndex], a + + ; So when using this new table system, we actually need to add cases for when you have the new starters... + + ld a, [wPlayerStarter] + cp STARTER4 + jr z, .skip + cp STARTER5 + jr z, .skip + ; Since he's just moved down, we just need to skip this process. It's actually harder for him to pick up the regular starters! ld a, SPRITE_FACING_UP ldh [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay +.skip + ld a, $d ldh [hSpriteIndexOrTextID], a call DisplayTextID @@ -361,11 +378,21 @@ OaksLabScript9: ; This is where Blue picks up the ball and removes the sprite. ld [wcf91], a ld [wd11e], a call GetMonName + + ; why does he do this twice why does he do this twice why does he do this twice + ld a, [wPlayerStarter] + cp STARTER4 + jr z, .skip2 + cp STARTER5 + jr z, .skip2 + ld a, $1 ldh [hSpriteIndex], a ld a, SPRITE_FACING_UP ldh [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay + +.skip2 ld a, $e ldh [hSpriteIndexOrTextID], a call DisplayTextID @@ -803,6 +830,7 @@ OaksLab_TextPointers: dw OaksLabText27 dw OaksLabTextPikachu dw OaksLabTextEevee + dw OakLabEmailText OaksLab_TextPointers2: dw OaksLabText1 @@ -1368,3 +1396,15 @@ PikachuEeveeShows: db HS_DAMIEN ; Charmander guy db HS_VERMILION_JENNY ; Squirtle db -1 ; end + +; Moved here to turn into a new bg event +OakLabEmailText: + text_asm + call EnableAutoTextBoxDrawing + ld hl, OakLabEmailTextGet + call PrintText + jp TextScriptEnd + +OakLabEmailTextGet: + text_far _OakLabEmailText + text_end