diff --git a/README.md b/README.md index 3e36ff1..f4d3ccd 100644 --- a/README.md +++ b/README.md @@ -151,6 +151,7 @@ JEP-affiliated spriters require sprites to be used with direct credit for non-co - LadyMisticus: Sprite edits of Imposter Oak, Archer, Ariana, Prof.Blue, Giovanni (both), Green; Cal, Blaine (original) ### Unaffiliated +Many sprites in this hack are taken from different artists and ROM Hacks, aggressively curated and sometimes even edited and worked upon by JEP developers. The grand aim was to get a consistent GSC artstyle. - [nuuk](https://x.com/nuukiie): Azurill, Electivire, Farigiraf, Glaceon, Honchkrow, Leafeon, Magmortar, Magnezone, Mamoswine, Porygon-Z, Sylveon, Wyrdeer, Clodsire (back) - Scarlax, Pix, BloodlessNX, Kam, Poket, BimbelyGimbly: Animated sprites from [Pokemon October](https://github.com/pokeachromicdevs/pokeoctober): Bellignan, Caretorker (Adbarstork), Inoshika (Aggroswine), Bipulla, Sonegg (Clefling), Kolta (Coalta), Coinpur, Dodaerie, Bundra (Germifrost), Kiwooked (Kiwacki), Eucala (Koalyptus), Trebir, Burgela, Gorotora, Pockle (Shuqlour, edited by Martha), Moibelle, Molambino, Dokuroar (Necrorex), Orfry, Smujj, Stricheel, SW99 Feraligatr (edited by Plague von Karma), Belledam, Feradactyl (Gargranite) - Gorotora is edited from RacieBeep's Yellow sprite in the Helix Chamber PokeThon ROM Hack. A full list of Helix Chamber sprites are available [here](https://cdn.discordapp.com/attachments/1014321591657709569/1015347305483878521/unknown.png). Helix Chamber spriters have a "must credit" policy. @@ -161,6 +162,8 @@ JEP-affiliated spriters require sprites to be used with direct credit for non-co - Tom Wang: Gold/Chris running sprite - Seasick: Kris running sprite - Pigu-A, RevoSucks, walle303 - Contributors to Pokemon Anniversary Red's repository, where we reused the Green/FeMC sprites. +- ShadowOne333: Annihilape and Ursaluna sprites used in [JohtoLegends](https://github.com/aforward9600/JohtoLegends) +- [ShadowOne333 & Rangi/polishedcrystal](https://github.com/ShadowOne333/polishedcrystal/): Alolan Dugtrio, Kleavor, Mr. Rime, Galarian Ponyta, Hisuian Sneasel, Galarian Weezing, and Galarian Zapdos. ShadowOne333's repository contained animations for some Pokemon that the [mother branch](https://github.com/Rangi42/polishedcrystal] did not. ## Music Credits diff --git a/audio.asm b/audio.asm index 63ea9d8..2965b13 100644 --- a/audio.asm +++ b/audio.asm @@ -166,8 +166,12 @@ INCLUDE "audio/music/NorthCity.asm" INCLUDE "audio/music/Tanoby01.asm" INCLUDE "audio/music/mart.asm" INCLUDE "audio/music/SepiaCity.asm" + +SECTION "New Songs 2", ROMX + INCLUDE "audio/music/CoralCity.asm" INCLUDE "audio/music/CrystalCrater.asm" +INCLUDE "audio/music/SavoyCity.asm" SECTION "Sound Effects", ROMX diff --git a/audio/music/SavoyCity.asm b/audio/music/SavoyCity.asm new file mode 100644 index 0000000..f26570b --- /dev/null +++ b/audio/music/SavoyCity.asm @@ -0,0 +1,1110 @@ +; Savoy City theme +; 4/4 rhythm, composed in B Mixolydian. +; An urban theme, loosely inspired by A Cyber's World by Toby Fox. +; This theme has an upbeat feeling, emphasised by a simple backing and a repeating motif. +; Channel 1 and 2 work in tandem for a reverb effect, in a similar vein to my Area Zero theme demake in KEP. +; Stereo panning is limited to the backing channel, as the soundscape got way too cluttered with the lead notes bouncing around the metaphorical room. +; Composed by LuciShrimp. + +Music_SavoyCity: + channel_count 4 + channel 1, Music_SavoyCity_Ch1 + channel 2, Music_SavoyCity_Ch2 + channel 3, Music_SavoyCity_Ch3 + channel 4, Music_SavoyCity_Ch4 + +Music_SavoyCity_Ch1: + tempo 256 + volume 7, 7 + note_type 12, 15, 8 + octave 5 + sound_call .sub1 + duty_cycle 3 + octave 3 + volume_envelope 8, 5 + vibrato 8, 2, 1 + note A_, 1 + note G#, 1 + note F#, 1 + note G#, 1 + octave 5 + sound_call .sub1 + note_type 12, 8, 5 + duty_cycle 3 + octave 4 + vibrato 8, 2, 1 + note F#, 1 + note E_, 1 + note D#, 1 + note C#, 1 + octave 2 + volume_envelope 12, 5 + note F#, 6 + note F#, 6 + note F#, 4 + note G#, 6 + note G#, 6 + note E_, 4 + note F#, 8 + octave 4 + volume_envelope 4, 5 + note C#, 2 + rest 1 + octave 3 + note E_, 2 + note G#, 1 + note A_, 2 + volume_envelope 12, 5 + octave 2 + note B_, 3 + note A_, 3 + note G#, 3 + note F#, 3 + note D#, 1 + note E_, 1 + note F#, 1 + note A_, 1 + octave 8 +.mainLoop: + volume_envelope 12, 5 + vibrato 8, 2, 1 + octave 2 + note B_, 6 + note B_, 6 + note B_, 4 + octave 3 + note C#, 6 + note C#, 6 + octave 2 + note A_, 4 + note B_, 8 + volume_envelope 4, 5 + octave 4 + note C#, 2 + octave 3 + rest 1 + note E_, 2 + note G#, 1 + note A_, 2 + volume_envelope 12, 5 + note E_, 3 + note D#, 3 + note C#, 3 + octave 2 + note B_, 3 + note F#, 1 + note G#, 1 + note A_, 1 + note B_, 1 + octave 3 + note_type 12, 12, 5 + note C#, 6 + note C#, 6 + octave 2 + note A_, 4 + note B_, 6 + note B_, 6 + note G#, 4 + note F#, 8 + octave 4 + volume_envelope 4, 5 + note G#, 2 + octave 3 + note B_, 2 + octave 2 + volume_envelope 12, 5 + note G#, 1 + note A_, 1 + note B_, 1 + octave 3 + note C#, 1 + note D#, 8 + octave 4 + volume_envelope 4, 5 + note G#, 2 + note B_, 2 + note G#, 2 + octave 5 + note C#, 1 + octave 4 + note B_, 1 + octave 3 + volume_envelope 12, 5 + note E_, 6 + note E_, 6 + note D#, 4 + note F#, 6 + note C#, 6 + note D#, 4 + note E_, 4 + note C#, 2 + note D#, 4 + octave 2 + note B_, 2 + octave 3 + note C#, 4 + octave 2 + note B_, 4 + note G#, 2 + note A_, 4 + note F#, 2 + note G#, 1 + note A_, 1 + note B_, 1 + octave 3 + note C#, 1 +.loop1: + vibrato 8, 2, 1 + note D#, 4 + octave 2 + note B_, 2 + note A_, 1 + note B_, 1 + octave 3 + note C#, 4 + octave 2 + note A_, 4 + note B_, 4 + note A_, 2 + note E_, 1 + note F#, 1 + note G#, 2 + note B_, 2 + octave 3 + note E_, 2 + note D#, 1 + note C#, 1 + sound_loop 2, .loop1 + vibrato 5, 1, 1 + duty_cycle 3 + octave 3 + sound_call .sub2 + vibrato 8, 2, 1 + octave 4 + note C#, 2 + octave 3 + sound_call .sub2 + note_type 12, 12, 5 + vibrato 8, 2, 1 + octave 4 + note C#, 2 + octave 3 + note F#, 6 + note F#, 6 + note F#, 4 + note G#, 6 + note G#, 6 + note E_, 4 + volume_envelope 12, 7 + vibrato 19, 3, 1 + note F#, 16 + rest 16 + vibrato 8, 2, 1 + volume_envelope 12, 5 + note B_, 6 + note B_, 6 + note B_, 4 + octave 4 + note C#, 6 + note C#, 6 + octave 3 + note A_, 4 + note B_, 8 + octave 4 + volume_envelope 2, 5 + note C#, 2 + rest 1 + octave 3 + volume_envelope 3, 5 + note E_, 2 + note G#, 1 + note A_, 2 + octave 4 + note C#, 2 + octave 3 + note B_, 2 + volume_envelope 4, 5 + note G#, 2 + note A_, 2 + octave 4 + note C#, 2 + note E_, 2 + note C#, 2 + note F#, 1 + note E_, 1 + octave 8 + sound_loop 0, .mainLoop + +.sub1: + duty_cycle 3 + tempo 153 + volume_envelope 8, 5 + vibrato 8, 2, 1 + octave 3 + note B_, 3 + note G#, 1 + note A_, 2 + octave 4 + note C#, 2 + octave 3 + note E_, 3 + note G#, 1 + note A_, 2 + octave 4 + note C#, 2 + octave 3 + note B_, 2 + note G#, 2 + note A_, 2 + octave 4 + note C#, 2 + note E_, 2 + note C#, 2 + octave 5 + sound_ret + +.sub2: + vibrato 8, 2, 1 + note G#, 4 + note E_, 2 + note D#, 1 + note E_, 1 + note F#, 4 + note D#, 4 + note E_, 4 + note D#, 2 + octave 2 + note A_, 1 + note B_, 1 + octave 3 + note C#, 2 + note E_, 2 + note G#, 1 + note A_, 1 + sound_ret + +Music_SavoyCity_Ch2: + note_type 12, 15, 8 + rest 3 + vibrato 5, 1, 1 + duty_cycle 3 + volume_envelope 4, 5 + octave 3 + note B_, 2 + note G#, 1 + note A_, 2 + octave 4 + note C#, 2 + octave 3 + rest 1 + note E_, 2 + note G#, 1 + note A_, 2 + octave 4 + note C#, 2 + octave 3 + note B_, 2 + note G#, 2 + note A_, 2 + octave 4 + note C#, 2 + note E_, 2 + note C#, 2 + octave 3 + note A_, 1 + note G#, 1 + note F#, 1 + note G#, 1 + rest 1 + note B_, 2 + note G#, 1 + note A_, 2 + octave 4 + note C#, 2 + octave 3 + rest 1 + note E_, 2 + note G#, 1 + note A_, 2 + octave 4 + note C#, 2 + octave 3 + note B_, 2 + note G#, 2 + note A_, 2 + octave 4 + note C#, 2 + note E_, 2 + note C#, 2 + note_type 12, 15, 8 + rest 2 + volume_envelope 8, 5 + sound_call .sub1 + octave 8 +.mainLoop: + octave 4 + sound_call .sub1 + note_type 12, 8, 5 + sound_call .sub2 + note E_, 1 + note D#, 1 + octave 4 + note C#, 1 + note D#, 1 + sound_call .sub2 + note_type 12, 8, 5 + octave 5 + note C#, 1 + octave 4 + note B_, 1 + note A_, 1 + note G#, 1 + note_type 12, 15, 8 + sound_call .sub2 + octave 4 + note_type 12, 8, 5 + note E_, 1 + note D#, 1 + note C#, 1 + note D#, 1 + sound_call .sub2 + octave 4 + note_type 12, 8, 5 + note F#, 1 + note E_, 1 + note D#, 1 + note C#, 1 + sound_call .sub1 + note_type 12, 8, 5 + octave 4 + sound_call .sub3 + note_type 12, 6, 7 + octave 4 + note C#, 6 + note C#, 6 + note C#, 4 + note D#, 6 + note D#, 6 + octave 3 + note B_, 4 + octave 4 + note C#, 16 + rest 16 + volume_envelope 1, 5 + octave 3 + note B_, 3 + note G#, 1 + note A_, 2 + octave 4 + note C#, 2 + octave 3 + volume_envelope 2, 5 + note E_, 3 + note G#, 1 + note A_, 2 + octave 4 + note C#, 2 + volume_envelope 3, 5 + octave 3 + note B_, 2 + note G#, 2 + note A_, 2 + octave 4 + note C#, 2 + volume_envelope 4, 5 + note E_, 2 + note C#, 2 + octave 3 + note A_, 1 + note G#, 1 + note F#, 1 + note G#, 1 + volume_envelope 5, 5 + note B_, 3 + note G#, 1 + note A_, 2 + octave 4 + note C#, 2 + octave 3 + volume_envelope 6, 5 + note E_, 3 + note G#, 1 + note A_, 2 + octave 4 + note C#, 2 + volume_envelope 7, 5 + octave 3 + note B_, 2 + note G#, 2 + note A_, 2 + octave 4 + note C#, 2 + volume_envelope 8, 5 + note E_, 2 + note C#, 2 + note F#, 1 + note E_, 1 + note D#, 1 + note C#, 1 + octave 8 + sound_loop 0, .mainLoop + +.sub1: + volume_envelope 8, 5 + octave 3 + note B_, 3 + note G#, 1 + note A_, 2 + octave 4 + note C#, 2 + octave 3 + note E_, 3 + note G#, 1 + note A_, 2 + octave 4 + note C#, 2 + octave 3 + note B_, 2 + note G#, 2 + note A_, 2 + octave 4 + note C#, 2 + note E_, 2 + note C#, 2 + octave 3 + note A_, 1 + note G#, 1 + note F#, 1 + note G#, 1 + note B_, 3 + note G#, 1 + note A_, 2 + octave 4 + note C#, 2 + octave 3 + note E_, 3 + note G#, 1 + note A_, 2 + octave 4 + note C#, 2 + octave 3 + note B_, 2 + note G#, 2 + note A_, 2 + octave 4 + note C#, 2 + note E_, 2 + note C#, 2 + note F#, 1 + note E_, 1 + note D#, 1 + note C#, 1 + sound_ret + +.sub2: + volume_envelope 8, 5 + note F#, 3 + note D#, 1 + note E_, 2 + note G#, 2 + octave 3 + note B_, 3 + octave 4 + note D#, 1 + note E_, 2 + note G#, 2 + note F#, 2 + note D#, 2 + note E_, 2 + note G#, 2 + note B_, 2 + note G#, 2 + sound_ret + +.sub3: + octave 3 + note B_, 3 + note G#, 1 + note A_, 2 + octave 4 + note C#, 2 + octave 3 + note E_, 3 + note G#, 1 + note A_, 2 + octave 4 + note C#, 2 + octave 3 + note B_, 2 + note G#, 2 + note A_, 2 + octave 4 + note C#, 2 + note E_, 2 + note C#, 2 + octave 3 + note B_, 1 + note G#, 1 + note F#, 1 + note G#, 1 + note B_, 3 + note G#, 1 + note A_, 2 + octave 4 + note C#, 2 + octave 3 + note E_, 3 + note G#, 1 + note A_, 2 + octave 4 + note C#, 2 + octave 3 + note B_, 2 + note G#, 2 + note A_, 2 + octave 4 + note C#, 2 + note E_, 2 + note C#, 2 + note F#, 1 + note E_, 1 + note D#, 1 + note C#, 1 + sound_ret + +Music_SavoyCity_Ch3: + note_type 12, 1, 0 + rest 16 + rest 16 + rest 16 + rest 16 + volume_envelope 2, 3 + vibrato 4, 2, 2 + octave 1 + note B_, 4 + stereo_panning TRUE, FALSE + note B_, 4 + stereo_panning TRUE, TRUE + note B_, 4 + stereo_panning FALSE, TRUE + note B_, 3 + octave 2 + note C#, 1 + stereo_panning TRUE, TRUE + note D#, 4 + stereo_panning TRUE, FALSE + note D#, 4 + stereo_panning TRUE, TRUE + note D#, 3 + note E_, 1 + stereo_panning FALSE, TRUE + note F#, 3 + note E_, 1 + octave 1 + stereo_panning TRUE, TRUE + note B_, 4 + stereo_panning TRUE, FALSE + note B_, 4 + stereo_panning TRUE, TRUE + note B_, 4 + stereo_panning FALSE, TRUE + note B_, 3 + octave 2 + note C#, 1 + stereo_panning TRUE, TRUE + note F#, 4 + stereo_panning TRUE, FALSE + note E_, 4 + stereo_panning TRUE, TRUE + note D#, 4 + stereo_panning FALSE, TRUE + note C#, 2 + octave 1 + note B_, 1 + note A_, 1 + octave 8 +.mainLoop: + volume_envelope 2, 3 + octave 1 + stereo_panning TRUE, TRUE + note B_, 4 + stereo_panning TRUE, FALSE + note B_, 4 + octave 2 + stereo_panning TRUE, TRUE + note F#, 2 + note E_, 2 + octave 1 + stereo_panning FALSE, TRUE + note B_, 4 + octave 2 + stereo_panning TRUE, TRUE + note D#, 4 + stereo_panning TRUE, FALSE + note F#, 2 + note E_, 2 + octave 1 + stereo_panning TRUE, TRUE + note B_, 4 + octave 2 + stereo_panning FALSE, TRUE + note F#, 4 + octave 1 + stereo_panning TRUE, TRUE + note B_, 4 + octave 2 + stereo_panning TRUE, FALSE + note D#, 2 + note C#, 2 + octave 1 + stereo_panning TRUE, TRUE + note B_, 4 + octave 2 + stereo_panning FALSE, TRUE + note D#, 2 + note C#, 2 + octave 1 + stereo_panning TRUE, TRUE + note B_, 4 + octave 2 + stereo_panning TRUE, FALSE + note F#, 4 + stereo_panning TRUE, TRUE + note E_, 2 + note D#, 2 + stereo_panning FALSE, TRUE + note C#, 2 + octave 1 + note A_, 2 + sound_call .sub1 + octave 2 + stereo_panning TRUE, TRUE + note A_, 4 + stereo_panning TRUE, FALSE + note A_, 4 + stereo_panning TRUE, TRUE + note A_, 3 + note B_, 1 + octave 3 + stereo_panning FALSE, TRUE + note C#, 4 + octave 1 + sound_call .sub1 + note_type 12, 2, 3 + octave 3 + stereo_panning TRUE, TRUE + note C#, 4 + octave 2 + stereo_panning TRUE, FALSE + note B_, 4 + stereo_panning TRUE, TRUE + note A_, 3 + note G#, 1 + stereo_panning FALSE, TRUE + note E_, 4 + stereo_panning TRUE, TRUE + note F#, 4 + stereo_panning TRUE, FALSE + note F#, 4 + octave 3 + stereo_panning TRUE, TRUE + note C#, 2 + octave 2 + note B_, 2 + stereo_panning FALSE, TRUE + note F#, 4 + octave 3 + stereo_panning TRUE, TRUE + note C#, 4 + octave 2 + stereo_panning TRUE, FALSE + note B_, 2 + note A_, 2 + stereo_panning TRUE, TRUE + note F#, 4 + stereo_panning FALSE, TRUE + note B_, 4 + stereo_panning TRUE, TRUE + note F#, 4 + stereo_panning TRUE, FALSE + note A_, 3 + note G#, 1 + stereo_panning TRUE, TRUE + note F#, 4 + stereo_panning FALSE, TRUE + note A_, 3 + note G#, 1 + stereo_panning TRUE, TRUE + note F#, 4 + octave 3 + stereo_panning TRUE, FALSE + note C#, 1 + note C#, 2 + octave 2 + note B_, 1 + stereo_panning TRUE, TRUE + note A_, 2 + note G#, 2 + stereo_panning FALSE, TRUE + note F#, 1 + note E_, 1 + note D#, 1 + note E_, 1 + sound_call .sub2 + octave 2 + note C#, 2 + octave 1 + stereo_panning TRUE, TRUE + note A_, 2 + octave 2 + note C#, 2 + octave 1 + stereo_panning FALSE, TRUE + note B_, 2 + octave 2 + note C#, 2 + sound_call .sub2 + note_type 12, 2, 3 + octave 2 + note C#, 2 + octave 1 + stereo_panning TRUE, TRUE + note A_, 2 + octave 2 + note C#, 2 + octave 1 + stereo_panning FALSE, TRUE + note B_, 2 + octave 2 + note C#, 2 +.loop3: + stereo_panning TRUE, TRUE + note E_, 1 + note E_, 2 + note E_, 1 + stereo_panning TRUE, FALSE + note G#, 2 + octave 2 + note B_, 2 + stereo_panning TRUE, TRUE + note D#, 2 + note F#, 2 + stereo_panning FALSE, TRUE + note D#, 2 + note F#, 2 + octave 3 + stereo_panning TRUE, TRUE + note C#, 1 + octave 2 + note A_, 2 + note F#, 1 + stereo_panning TRUE, FALSE + note E_, 2 + note F#, 2 + stereo_panning TRUE, TRUE + note D#, 2 + note F#, 2 + stereo_panning FALSE, TRUE + note E_, 2 + note F#, 2 + sound_loop 2, .loop3 + octave 1 + stereo_panning TRUE, TRUE + note B_, 4 + stereo_panning TRUE, FALSE + note B_, 4 + stereo_panning TRUE, TRUE + note B_, 4 + stereo_panning FALSE, TRUE + note B_, 3 + octave 2 + note C#, 1 + stereo_panning TRUE, TRUE + note D#, 4 + stereo_panning TRUE, FALSE + note D#, 4 + stereo_panning TRUE, TRUE + note D#, 3 + note E_, 1 + stereo_panning FALSE, TRUE + note F#, 3 + note E_, 1 + octave 1 + stereo_panning TRUE, TRUE + note B_, 4 + stereo_panning TRUE, FALSE + note B_, 4 + stereo_panning TRUE, TRUE + note B_, 4 + stereo_panning FALSE, TRUE + note B_, 3 + octave 2 + note C#, 1 + stereo_panning TRUE, TRUE + note F#, 4 + stereo_panning TRUE, FALSE + note E_, 4 + stereo_panning TRUE, TRUE + note D#, 4 + stereo_panning FALSE, TRUE + note C#, 2 + octave 1 + note B_, 1 + note A_, 1 + stereo_panning TRUE, TRUE + note B_, 4 + stereo_panning TRUE, FALSE + note B_, 4 + octave 2 + stereo_panning TRUE, TRUE + note F#, 2 + note E_, 2 + octave 1 + stereo_panning FALSE, TRUE + note B_, 4 + octave 2 + stereo_panning TRUE, TRUE + note D#, 4 + stereo_panning TRUE, FALSE + note F#, 2 + note E_, 2 + octave 1 + stereo_panning TRUE, TRUE + note B_, 4 + octave 2 + stereo_panning FALSE, TRUE + note F#, 4 + octave 1 + stereo_panning TRUE, TRUE + note B_, 4 + octave 2 + stereo_panning TRUE, FALSE + note D#, 2 + note C#, 2 + octave 1 + stereo_panning TRUE, TRUE + note B_, 4 + octave 2 + stereo_panning FALSE, TRUE + note D#, 2 + note C#, 2 + octave 1 + stereo_panning TRUE, TRUE + note B_, 4 + octave 2 + stereo_panning TRUE, FALSE + note F#, 4 + stereo_panning TRUE, TRUE + note E_, 2 + note D#, 2 + stereo_panning FALSE, TRUE + note C#, 2 + octave 1 + note A_, 2 + octave 8 + sound_loop 0, .mainLoop + +.sub1: + octave 2 + stereo_panning TRUE, TRUE + note F#, 4 + stereo_panning TRUE, FALSE + note F#, 4 + stereo_panning TRUE, TRUE + note F#, 4 + stereo_panning FALSE, TRUE + note F#, 3 + note G#, 1 + octave 1 + sound_ret + +.sub2: + octave 1 + stereo_panning TRUE, TRUE + note B_, 1 + note B_, 2 + note B_, 1 + octave 2 + stereo_panning TRUE, FALSE + note D#, 2 + note F#, 2 + octave 1 + stereo_panning TRUE, TRUE + note A_, 2 + octave 2 + note C#, 2 + octave 1 + stereo_panning FALSE, TRUE + note A_, 2 + octave 2 + note C#, 2 + stereo_panning TRUE, TRUE + note G#, 1 + note E_, 2 + note C#, 1 + octave 1 + stereo_panning TRUE, FALSE + note B_, 2 + octave 2 + sound_ret + +Music_SavoyCity_Ch4: + toggle_noise 0 + drum_speed 12 + rest 16 + rest 16 + rest 16 + rest 16 + octave 5 +.loop2: + toggle_noise + toggle_noise 3 + drum_note 2, 4 + drum_note 2, 4 + drum_note 2, 3 + drum_note 2, 1 + drum_note 3, 2 + drum_note 3, 2 + sound_loop 3, .loop2 + toggle_noise + toggle_noise 3 + drum_note 2, 4 + drum_note 2, 4 + drum_note 2, 1 + drum_note 2, 1 + drum_note 2, 1 + drum_note 2, 1 + drum_note 3, 1 + drum_note 3, 1 + drum_note 3, 1 + drum_note 3, 1 + octave 8 +.mainLoop: + toggle_noise + toggle_noise 3 + octave 5 +.loop1: + toggle_noise + toggle_noise 3 + drum_note 12, 4 + octave 6 + drum_note 3, 4 + drum_note 2, 4 + drum_note 3, 4 + drum_note 2, 4 + drum_note 3, 4 + drum_note 2, 2 + drum_note 2, 2 + drum_note 3, 2 + drum_note 3, 1 + drum_note 3, 1 + drum_note 2, 3 + drum_note 2, 1 + drum_note 3, 3 + drum_note 3, 1 + drum_note 2, 3 + drum_note 2, 1 + drum_note 3, 3 + drum_note 3, 1 + drum_note 2, 3 + drum_note 2, 1 + drum_note 3, 3 + drum_note 3, 1 + drum_note 2, 2 + drum_note 2, 1 + drum_note 2, 1 + drum_note 3, 1 + drum_note 3, 1 + drum_note 3, 1 + drum_note 3, 1 + sound_call .sub1 + octave 5 + sound_loop 3, .loop1 + drum_speed 12 + octave 6 + toggle_noise + toggle_noise 3 + drum_note 2, 2 + drum_note 2, 1 + drum_note 2, 1 + drum_note 3, 3 + drum_note 3, 1 + drum_note 2, 2 + drum_note 2, 1 + drum_note 2, 1 + drum_note 3, 3 + drum_note 3, 1 + drum_note 2, 2 + drum_note 2, 1 + drum_note 2, 1 + drum_note 3, 3 + drum_note 3, 1 + drum_note 2, 2 + drum_note 2, 1 + drum_note 2, 1 + drum_note 3, 1 + drum_note 3, 1 + drum_note 3, 1 + drum_note 3, 1 + drum_note 2, 1 + drum_note 2, 2 + drum_note 2, 1 + drum_note 3, 2 + drum_note 3, 2 + drum_note 2, 1 + drum_note 2, 2 + drum_note 2, 1 + drum_note 3, 2 + drum_note 3, 2 + rest 16 + octave 8 + sound_loop 0, .mainLoop + +.sub1: + toggle_noise + toggle_noise 3 + drum_note 2, 2 + drum_note 2, 1 + drum_note 2, 1 + drum_note 3, 3 + drum_note 3, 1 + drum_note 2, 2 + drum_note 2, 1 + drum_note 2, 1 + drum_note 3, 3 + drum_note 3, 1 + drum_note 2, 2 + drum_note 2, 1 + drum_note 2, 1 + drum_note 3, 3 + drum_note 3, 1 + drum_note 2, 2 + drum_note 2, 1 + drum_note 2, 1 + drum_note 3, 1 + drum_note 3, 1 + drum_note 3, 1 + drum_note 3, 1 + drum_note 2, 1 + drum_note 2, 2 + drum_note 2, 1 + drum_note 3, 2 + drum_note 3, 2 + drum_note 2, 1 + drum_note 2, 2 + drum_note 2, 1 + drum_note 3, 2 + drum_note 3, 2 + drum_note 2, 1 + drum_note 2, 2 + drum_note 2, 1 + drum_note 3, 2 + drum_note 3, 2 + drum_note 2, 2 + drum_note 2, 1 + drum_note 2, 1 + drum_note 3, 1 + drum_note 3, 1 + drum_note 3, 1 + drum_note 3, 1 + sound_ret diff --git a/audio/music_pointers.asm b/audio/music_pointers.asm index cdd2995..06bad1f 100644 --- a/audio/music_pointers.asm +++ b/audio/music_pointers.asm @@ -123,4 +123,5 @@ Music: dba Music_CoralCity dba Music_SepiaCity dba Music_CrystalCrater + dba Music_SavoyCity assert_table_length NUM_MUSIC_SONGS diff --git a/constants/battle_constants.asm b/constants/battle_constants.asm index 9bff323..be245a6 100644 --- a/constants/battle_constants.asm +++ b/constants/battle_constants.asm @@ -96,6 +96,7 @@ DEF SPDSPCDV_SHINY EQU $AA const BATTLETYPE_FORCEITEM const BATTLETYPE_CELEBI const BATTLETYPE_SUICUNE + const BATTLETYPE_INVERSE ; BattleVarPairs indexes (see home/battle_vars.asm) const_def diff --git a/constants/music_constants.asm b/constants/music_constants.asm index b4ff64a..eafb846 100644 --- a/constants/music_constants.asm +++ b/constants/music_constants.asm @@ -121,6 +121,7 @@ const MUSIC_CORALCITY ; 74 const MUSIC_SEPIACITY ; 75 const MUSIC_CRYSTALCRATER ; 76 + const MUSIC_SAVOYCITY ; 77 DEF NUM_MUSIC_SONGS EQU const_value ; GetMapMusic picks music for this value (see home/map.asm) diff --git a/data/maps/maps.asm b/data/maps/maps.asm index 6dfa43a..03902fd 100644 --- a/data/maps/maps.asm +++ b/data/maps/maps.asm @@ -718,28 +718,28 @@ MapGroup_OldCity: map OldCity, TILESET_NIHON_OLD, TOWN, LANDMARK_OLD_CITY, MUSIC_SEPIACITY, TRUE, PALETTE_AUTO, FISHGROUP_POND map OldCityPokecenter1F, TILESET_POKECENTER, INDOOR, LANDMARK_OLD_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_NONE map OldMart, TILESET_NIHON_MART, INDOOR, LANDMARK_OLD_CITY, MUSIC_MART, FALSE, PALETTE_DAY, FISHGROUP_NONE - map HoneyGrandmasHouse, TILESET_TRADITIONAL_HOUSE, INDOOR, LANDMARK_OLD_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_NONE - map OldCityEarlsHouse, TILESET_TRADITIONAL_HOUSE, INDOOR, LANDMARK_OLD_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_NONE - map OldCityFamilyHouse, TILESET_TRADITIONAL_HOUSE, INDOOR, LANDMARK_OLD_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_NONE - map SepiaSchool, TILESET_LAB, INDOOR, LANDMARK_OLD_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_NONE + map HoneyGrandmasHouse, TILESET_TRADITIONAL_HOUSE, INDOOR, LANDMARK_OLD_CITY, MUSIC_SEPIACITY, FALSE, PALETTE_DAY, FISHGROUP_NONE + map OldCityEarlsHouse, TILESET_TRADITIONAL_HOUSE, INDOOR, LANDMARK_OLD_CITY, MUSIC_SEPIACITY, FALSE, PALETTE_DAY, FISHGROUP_NONE + map OldCityFamilyHouse, TILESET_TRADITIONAL_HOUSE, INDOOR, LANDMARK_OLD_CITY, MUSIC_SEPIACITY, FALSE, PALETTE_DAY, FISHGROUP_NONE + map SepiaSchool, TILESET_LAB, INDOOR, LANDMARK_OLD_CITY, MUSIC_SEPIACITY, FALSE, PALETTE_DAY, FISHGROUP_NONE map OldCityGym, TILESET_TOWER, INDOOR, LANDMARK_OLD_CITY, MUSIC_GYM, FALSE, PALETTE_DAY, FISHGROUP_NONE - map OldCityMuseum, TILESET_TOWER, INDOOR, LANDMARK_OLD_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_NONE + map OldCityMuseum, TILESET_TOWER, INDOOR, LANDMARK_OLD_CITY, MUSIC_SEPIACITY, FALSE, PALETTE_DAY, FISHGROUP_NONE map PokemonPagoda1F, TILESET_TOWER, INDOOR, LANDMARK_POKEMON_PAGODA, MUSIC_SPROUT_TOWER, FALSE, PALETTE_DAY, FISHGROUP_NONE map PokemonPagoda2F, TILESET_TOWER, INDOOR, LANDMARK_POKEMON_PAGODA, MUSIC_SPROUT_TOWER, FALSE, PALETTE_DAY, FISHGROUP_NONE map PokemonPagoda3F, TILESET_TOWER, INDOOR, LANDMARK_POKEMON_PAGODA, MUSIC_SPROUT_TOWER, FALSE, PALETTE_DAY, FISHGROUP_NONE map PokemonPagoda4F, TILESET_TOWER, INDOOR, LANDMARK_POKEMON_PAGODA, MUSIC_SPROUT_TOWER, FALSE, PALETTE_DAY, FISHGROUP_NONE map PokemonPagoda5F, TILESET_TOWER, INDOOR, LANDMARK_POKEMON_PAGODA, MUSIC_SPROUT_TOWER, FALSE, PALETTE_DAY, FISHGROUP_NONE map Route50, TILESET_NIHON_OLD, ROUTE, LANDMARK_ROUTE_50, MUSIC_PEACEFULTHEME, TRUE, PALETTE_AUTO, FISHGROUP_NONE - map JackysHouse, TILESET_HOUSE, INDOOR, LANDMARK_ROUTE_50, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_NONE + map JackysHouse, TILESET_HOUSE, INDOOR, LANDMARK_ROUTE_50, MUSIC_SEPIACITY, FALSE, PALETTE_DAY, FISHGROUP_NONE assert_table_length NUM_OLD_CITY_MAPS MapGroup_SavoyCity: table_width MAP_LENGTH, MapGroup_SavoyCity - map SavoyCity, TILESET_NIHON_WEST, TOWN, LANDMARK_SAVOY_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map SavoyCity, TILESET_NIHON_WEST, TOWN, LANDMARK_SAVOY_CITY, MUSIC_SAVOYCITY, FALSE, PALETTE_AUTO, FISHGROUP_SHORE map Route50SavoyCityGate, TILESET_NIHON_GATE, GATE, LANDMARK_ROUTE_50, MUSIC_PEACEFULTHEME, FALSE, PALETTE_DAY, FISHGROUP_NONE map SavoyCityPokecenter1F, TILESET_POKECENTER, INDOOR, LANDMARK_SAVOY_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_NONE - map SavoyCityBigHouse1, TILESET_PLAYERS_HOUSE, INDOOR, LANDMARK_SAVOY_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_DAY, FISHGROUP_NONE - map SavoyCityBigHouse2, TILESET_PLAYERS_HOUSE, INDOOR, LANDMARK_SAVOY_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_DAY, FISHGROUP_NONE + map SavoyCityBigHouse1, TILESET_PLAYERS_HOUSE, INDOOR, LANDMARK_SAVOY_CITY, MUSIC_SAVOYCITY, FALSE, PALETTE_DAY, FISHGROUP_NONE + map SavoyCityBigHouse2, TILESET_PLAYERS_HOUSE, INDOOR, LANDMARK_SAVOY_CITY, MUSIC_SAVOYCITY, FALSE, PALETTE_DAY, FISHGROUP_NONE map SavoyCityRocketBlockedHouse, TILESET_PLAYERS_HOUSE, INDOOR, LANDMARK_SAVOY_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_DAY, FISHGROUP_NONE assert_table_length NUM_SAVOY_CITY_MAPS diff --git a/data/pokemon/base_stats/dokuroar.asm b/data/pokemon/base_stats/dokuroar.asm index b4714df..57de921 100644 --- a/data/pokemon/base_stats/dokuroar.asm +++ b/data/pokemon/base_stats/dokuroar.asm @@ -1,13 +1,13 @@ db 0 ; species ID placeholder - db 87, 125, 110, 66, 66, 66 + db 101, 131, 119, 76, 69, 84 ; hp atk def spd sat sdf db GHOST, ROCK ; type - db 25 ; catch rate - db 166 ; base exp + db 3 ; catch rate + db 203 ; base exp db THICK_CLUB, THICK_CLUB ; items - db GENDER_F50 ; gender ratio + db GENDER_UNKNOWN ; gender ratio db 100 ; unknown 1 db 120 ; step cycles to hatch db 5 ; unknown 2 diff --git a/data/pokemon/dex_entries/dokuroar.asm b/data/pokemon/dex_entries/dokuroar.asm index 7843239..d4bcfe3 100644 --- a/data/pokemon/dex_entries/dokuroar.asm +++ b/data/pokemon/dex_entries/dokuroar.asm @@ -1,10 +1,10 @@ db "SKELETAL@" ; species name dw 902, 4960 ; height, weight - placeholder - db "Believed to be a" - next "spirit inhabiting" - next "a super-ancient" + db "The skeleton of a" + next "dinosaur given new" + next "life. It harbors" - page "#MON skeleton," - next "but research is" - next "still needed.@" + page "intense malice due" + next "to being forgotten" + next "for so long.@" diff --git a/data/pokemon/egg_moves_johto.asm b/data/pokemon/egg_moves_johto.asm index 79b5cfd..f9e3991 100644 --- a/data/pokemon/egg_moves_johto.asm +++ b/data/pokemon/egg_moves_johto.asm @@ -165,7 +165,7 @@ EggMovePointers2:: dw RuddernautEggMoves dw XylodonEggMoves dw NoEggMoves2 - dw DokuroarEggMoves ; Dokuroar + dw NoEggMoves2 ; Dokuroar dw NoEggMoves2 dw NoEggMoves2 dw NoEggMoves2 @@ -788,14 +788,6 @@ XylodonEggMoves: dw THRASH dw -1 ;end -DokuroarEggMoves: - dw BONEMERANG - dw BONE_RUSH - dw BONE_CLUB - dw ROCK_SLIDE - dw SCARY_FACE - dw -1 ;end - LarvitarEggMoves: dw PURSUIT dw STOMP diff --git a/data/pokemon/evos_attacks_johto.asm b/data/pokemon/evos_attacks_johto.asm index e83304b..de4c562 100644 --- a/data/pokemon/evos_attacks_johto.asm +++ b/data/pokemon/evos_attacks_johto.asm @@ -2813,11 +2813,12 @@ XylofinEvosAttacks: DokuroarEvosAttacks: db 0 ; no more evolutions dbw 1, SCRATCH - dbw 1, LEER + dbw 1, SCARY_FACE + dbw 1, BONE_CLUB dbw 7, SPITE dbw 14, NIGHT_SHADE dbw 21, ANCIENTPOWER - dbw 28, BONE_CLUB + dbw 28, BONEMERANG dbw 35, SLASH dbw 42, ROCK_HEAD dbw 49, BONE_RUSH diff --git a/data/types/type_matchups.asm b/data/types/type_matchups.asm index 1f80362..14e61bc 100644 --- a/data/types/type_matchups.asm +++ b/data/types/type_matchups.asm @@ -1,132 +1,253 @@ TypeMatchups: - ; attacker, defender, *= - db NORMAL, ROCK, NOT_VERY_EFFECTIVE - db NORMAL, STEEL, NOT_VERY_EFFECTIVE - db FIRE, FIRE, NOT_VERY_EFFECTIVE - db FIRE, WATER, NOT_VERY_EFFECTIVE - db FIRE, GRASS, SUPER_EFFECTIVE - db FIRE, ICE, SUPER_EFFECTIVE - db FIRE, BUG, SUPER_EFFECTIVE - db FIRE, ROCK, NOT_VERY_EFFECTIVE - db FIRE, DRAGON, NOT_VERY_EFFECTIVE - db FIRE, STEEL, SUPER_EFFECTIVE - db FIRE, FAIRY, SUPER_EFFECTIVE - db WATER, FIRE, SUPER_EFFECTIVE - db WATER, WATER, NOT_VERY_EFFECTIVE - db WATER, GRASS, NOT_VERY_EFFECTIVE - db WATER, GROUND, SUPER_EFFECTIVE - db WATER, ROCK, SUPER_EFFECTIVE - db WATER, DRAGON, NOT_VERY_EFFECTIVE - db ELECTRIC, WATER, SUPER_EFFECTIVE - db ELECTRIC, ELECTRIC, NOT_VERY_EFFECTIVE - db ELECTRIC, GRASS, NOT_VERY_EFFECTIVE - db ELECTRIC, GROUND, NO_EFFECT - db ELECTRIC, FLYING, SUPER_EFFECTIVE - db ELECTRIC, DRAGON, NOT_VERY_EFFECTIVE - db GRASS, FIRE, NOT_VERY_EFFECTIVE - db GRASS, WATER, SUPER_EFFECTIVE - db GRASS, GRASS, NOT_VERY_EFFECTIVE - db GRASS, POISON, NOT_VERY_EFFECTIVE - db GRASS, GROUND, SUPER_EFFECTIVE - db GRASS, FLYING, NOT_VERY_EFFECTIVE - db GRASS, BUG, NOT_VERY_EFFECTIVE - db GRASS, ROCK, SUPER_EFFECTIVE - db GRASS, DRAGON, NOT_VERY_EFFECTIVE - db GRASS, STEEL, NOT_VERY_EFFECTIVE - db ICE, WATER, NOT_VERY_EFFECTIVE - db ICE, GRASS, SUPER_EFFECTIVE - db ICE, ICE, NOT_VERY_EFFECTIVE - db ICE, GROUND, SUPER_EFFECTIVE - db ICE, FLYING, SUPER_EFFECTIVE - db ICE, DRAGON, SUPER_EFFECTIVE - db ICE, STEEL, NOT_VERY_EFFECTIVE - db ICE, FAIRY, SUPER_EFFECTIVE - db ICE, FIRE, NOT_VERY_EFFECTIVE - db FIGHTING, NORMAL, SUPER_EFFECTIVE - db FIGHTING, ICE, SUPER_EFFECTIVE - db FIGHTING, POISON, NOT_VERY_EFFECTIVE - db FIGHTING, FLYING, NOT_VERY_EFFECTIVE - db FIGHTING, PSYCHIC_TYPE, NOT_VERY_EFFECTIVE - db FIGHTING, BUG, NOT_VERY_EFFECTIVE - db FIGHTING, ROCK, SUPER_EFFECTIVE - db FIGHTING, DARK, SUPER_EFFECTIVE - db FIGHTING, STEEL, SUPER_EFFECTIVE - db FIGHTING, FAIRY, NOT_VERY_EFFECTIVE - db POISON, GRASS, SUPER_EFFECTIVE - db POISON, POISON, NOT_VERY_EFFECTIVE - db POISON, GROUND, NOT_VERY_EFFECTIVE - db POISON, ROCK, NOT_VERY_EFFECTIVE - db POISON, GHOST, NOT_VERY_EFFECTIVE - db POISON, STEEL, NO_EFFECT - db GROUND, FIRE, SUPER_EFFECTIVE - db GROUND, ELECTRIC, SUPER_EFFECTIVE - db GROUND, GRASS, NOT_VERY_EFFECTIVE - db GROUND, POISON, SUPER_EFFECTIVE - db GROUND, FLYING, NO_EFFECT - db GROUND, BUG, NOT_VERY_EFFECTIVE - db GROUND, ROCK, SUPER_EFFECTIVE - db GROUND, STEEL, SUPER_EFFECTIVE - db FLYING, ELECTRIC, NOT_VERY_EFFECTIVE - db FLYING, GRASS, SUPER_EFFECTIVE - db FLYING, FIGHTING, SUPER_EFFECTIVE - db FLYING, BUG, SUPER_EFFECTIVE - db FLYING, ROCK, NOT_VERY_EFFECTIVE - db FLYING, STEEL, NOT_VERY_EFFECTIVE - db PSYCHIC_TYPE, FIGHTING, SUPER_EFFECTIVE - db PSYCHIC_TYPE, POISON, SUPER_EFFECTIVE + ; attacker, defender, *= + db NORMAL, ROCK, NOT_VERY_EFFECTIVE + db NORMAL, STEEL, NOT_VERY_EFFECTIVE + db FIRE, FIRE, NOT_VERY_EFFECTIVE + db FIRE, WATER, NOT_VERY_EFFECTIVE + db FIRE, GRASS, SUPER_EFFECTIVE + db FIRE, ICE, SUPER_EFFECTIVE + db FIRE, BUG, SUPER_EFFECTIVE + db FIRE, ROCK, NOT_VERY_EFFECTIVE + db FIRE, DRAGON, NOT_VERY_EFFECTIVE + db FIRE, STEEL, SUPER_EFFECTIVE + db FIRE, FAIRY, SUPER_EFFECTIVE + db WATER, FIRE, SUPER_EFFECTIVE + db WATER, WATER, NOT_VERY_EFFECTIVE + db WATER, GRASS, NOT_VERY_EFFECTIVE + db WATER, GROUND, SUPER_EFFECTIVE + db WATER, ROCK, SUPER_EFFECTIVE + db WATER, DRAGON, NOT_VERY_EFFECTIVE + db ELECTRIC, WATER, SUPER_EFFECTIVE + db ELECTRIC, ELECTRIC, NOT_VERY_EFFECTIVE + db ELECTRIC, GRASS, NOT_VERY_EFFECTIVE + db ELECTRIC, GROUND, NO_EFFECT + db ELECTRIC, FLYING, SUPER_EFFECTIVE + db ELECTRIC, DRAGON, NOT_VERY_EFFECTIVE + db GRASS, FIRE, NOT_VERY_EFFECTIVE + db GRASS, WATER, SUPER_EFFECTIVE + db GRASS, GRASS, NOT_VERY_EFFECTIVE + db GRASS, POISON, NOT_VERY_EFFECTIVE + db GRASS, GROUND, SUPER_EFFECTIVE + db GRASS, FLYING, NOT_VERY_EFFECTIVE + db GRASS, BUG, NOT_VERY_EFFECTIVE + db GRASS, ROCK, SUPER_EFFECTIVE + db GRASS, DRAGON, NOT_VERY_EFFECTIVE + db GRASS, STEEL, NOT_VERY_EFFECTIVE + db ICE, WATER, NOT_VERY_EFFECTIVE + db ICE, GRASS, SUPER_EFFECTIVE + db ICE, ICE, NOT_VERY_EFFECTIVE + db ICE, GROUND, SUPER_EFFECTIVE + db ICE, FLYING, SUPER_EFFECTIVE + db ICE, DRAGON, SUPER_EFFECTIVE + db ICE, STEEL, NOT_VERY_EFFECTIVE + db ICE, FAIRY, SUPER_EFFECTIVE + db ICE, FIRE, NOT_VERY_EFFECTIVE + db FIGHTING, NORMAL, SUPER_EFFECTIVE + db FIGHTING, ICE, SUPER_EFFECTIVE + db FIGHTING, POISON, NOT_VERY_EFFECTIVE + db FIGHTING, FLYING, NOT_VERY_EFFECTIVE + db FIGHTING, PSYCHIC_TYPE, NOT_VERY_EFFECTIVE + db FIGHTING, BUG, NOT_VERY_EFFECTIVE + db FIGHTING, ROCK, SUPER_EFFECTIVE + db FIGHTING, DARK, SUPER_EFFECTIVE + db FIGHTING, STEEL, SUPER_EFFECTIVE + db FIGHTING, FAIRY, NOT_VERY_EFFECTIVE + db POISON, GRASS, SUPER_EFFECTIVE + db POISON, POISON, NOT_VERY_EFFECTIVE + db POISON, GROUND, NOT_VERY_EFFECTIVE + db POISON, ROCK, NOT_VERY_EFFECTIVE + db POISON, GHOST, NOT_VERY_EFFECTIVE + db POISON, STEEL, NO_EFFECT + db GROUND, FIRE, SUPER_EFFECTIVE + db GROUND, ELECTRIC, SUPER_EFFECTIVE + db GROUND, GRASS, NOT_VERY_EFFECTIVE + db GROUND, POISON, SUPER_EFFECTIVE + db GROUND, FLYING, NO_EFFECT + db GROUND, BUG, NOT_VERY_EFFECTIVE + db GROUND, ROCK, SUPER_EFFECTIVE + db GROUND, STEEL, SUPER_EFFECTIVE + db FLYING, ELECTRIC, NOT_VERY_EFFECTIVE + db FLYING, GRASS, SUPER_EFFECTIVE + db FLYING, FIGHTING, SUPER_EFFECTIVE + db FLYING, BUG, SUPER_EFFECTIVE + db FLYING, ROCK, NOT_VERY_EFFECTIVE + db FLYING, STEEL, NOT_VERY_EFFECTIVE + db PSYCHIC_TYPE, FIGHTING, SUPER_EFFECTIVE + db PSYCHIC_TYPE, POISON, SUPER_EFFECTIVE db PSYCHIC_TYPE, PSYCHIC_TYPE, NOT_VERY_EFFECTIVE - db PSYCHIC_TYPE, DARK, NO_EFFECT - db PSYCHIC_TYPE, STEEL, NOT_VERY_EFFECTIVE - db BUG, FIRE, NOT_VERY_EFFECTIVE - db BUG, GRASS, SUPER_EFFECTIVE - db BUG, FIGHTING, NOT_VERY_EFFECTIVE - db BUG, POISON, NOT_VERY_EFFECTIVE - db BUG, FLYING, NOT_VERY_EFFECTIVE - db BUG, PSYCHIC_TYPE, SUPER_EFFECTIVE - db BUG, GHOST, NOT_VERY_EFFECTIVE - db BUG, DARK, SUPER_EFFECTIVE - db BUG, STEEL, NOT_VERY_EFFECTIVE - db BUG, FAIRY, NOT_VERY_EFFECTIVE - db ROCK, FIRE, SUPER_EFFECTIVE - db ROCK, ICE, SUPER_EFFECTIVE - db ROCK, FIGHTING, NOT_VERY_EFFECTIVE - db ROCK, GROUND, NOT_VERY_EFFECTIVE - db ROCK, FLYING, SUPER_EFFECTIVE - db ROCK, BUG, SUPER_EFFECTIVE - db ROCK, STEEL, NOT_VERY_EFFECTIVE - db GHOST, NORMAL, NO_EFFECT - db GHOST, PSYCHIC_TYPE, SUPER_EFFECTIVE - db GHOST, DARK, NOT_VERY_EFFECTIVE - db GHOST, STEEL, NOT_VERY_EFFECTIVE - db GHOST, GHOST, SUPER_EFFECTIVE - db DRAGON, DRAGON, SUPER_EFFECTIVE - db DRAGON, STEEL, NOT_VERY_EFFECTIVE - db DRAGON, FAIRY, NO_EFFECT - db DARK, FIGHTING, NOT_VERY_EFFECTIVE - db DARK, PSYCHIC_TYPE, SUPER_EFFECTIVE - db DARK, GHOST, SUPER_EFFECTIVE - db DARK, DARK, NOT_VERY_EFFECTIVE - db DARK, STEEL, NOT_VERY_EFFECTIVE - db DARK, FAIRY, NOT_VERY_EFFECTIVE - db STEEL, FIRE, NOT_VERY_EFFECTIVE - db STEEL, WATER, NOT_VERY_EFFECTIVE - db STEEL, ELECTRIC, NOT_VERY_EFFECTIVE - db STEEL, ICE, SUPER_EFFECTIVE - db STEEL, ROCK, SUPER_EFFECTIVE - db STEEL, STEEL, NOT_VERY_EFFECTIVE - db STEEL, FAIRY, SUPER_EFFECTIVE - db FAIRY, FIRE, NOT_VERY_EFFECTIVE - db FAIRY, BUG, SUPER_EFFECTIVE - db FAIRY, FIGHTING, SUPER_EFFECTIVE - db FAIRY, ICE, NOT_VERY_EFFECTIVE - db FAIRY, DRAGON, SUPER_EFFECTIVE - db FAIRY, DARK, SUPER_EFFECTIVE - db FAIRY, STEEL, NOT_VERY_EFFECTIVE + db PSYCHIC_TYPE, DARK, NO_EFFECT + db PSYCHIC_TYPE, STEEL, NOT_VERY_EFFECTIVE + db BUG, FIRE, NOT_VERY_EFFECTIVE + db BUG, GRASS, SUPER_EFFECTIVE + db BUG, FIGHTING, NOT_VERY_EFFECTIVE + db BUG, POISON, NOT_VERY_EFFECTIVE + db BUG, FLYING, NOT_VERY_EFFECTIVE + db BUG, PSYCHIC_TYPE, SUPER_EFFECTIVE + db BUG, GHOST, NOT_VERY_EFFECTIVE + db BUG, DARK, SUPER_EFFECTIVE + db BUG, STEEL, NOT_VERY_EFFECTIVE + db BUG, FAIRY, NOT_VERY_EFFECTIVE + db ROCK, FIRE, SUPER_EFFECTIVE + db ROCK, ICE, SUPER_EFFECTIVE + db ROCK, FIGHTING, NOT_VERY_EFFECTIVE + db ROCK, GROUND, NOT_VERY_EFFECTIVE + db ROCK, FLYING, SUPER_EFFECTIVE + db ROCK, BUG, SUPER_EFFECTIVE + db ROCK, STEEL, NOT_VERY_EFFECTIVE + db GHOST, NORMAL, NO_EFFECT + db GHOST, PSYCHIC_TYPE, SUPER_EFFECTIVE + db GHOST, DARK, NOT_VERY_EFFECTIVE + db GHOST, STEEL, NOT_VERY_EFFECTIVE + db GHOST, GHOST, SUPER_EFFECTIVE + db DRAGON, DRAGON, SUPER_EFFECTIVE + db DRAGON, STEEL, NOT_VERY_EFFECTIVE + db DRAGON, FAIRY, NO_EFFECT + db DARK, FIGHTING, NOT_VERY_EFFECTIVE + db DARK, PSYCHIC_TYPE, SUPER_EFFECTIVE + db DARK, GHOST, SUPER_EFFECTIVE + db DARK, DARK, NOT_VERY_EFFECTIVE + db DARK, STEEL, NOT_VERY_EFFECTIVE + db DARK, FAIRY, NOT_VERY_EFFECTIVE + db STEEL, FIRE, NOT_VERY_EFFECTIVE + db STEEL, WATER, NOT_VERY_EFFECTIVE + db STEEL, ELECTRIC, NOT_VERY_EFFECTIVE + db STEEL, ICE, SUPER_EFFECTIVE + db STEEL, ROCK, SUPER_EFFECTIVE + db STEEL, STEEL, NOT_VERY_EFFECTIVE + db STEEL, FAIRY, SUPER_EFFECTIVE + db FAIRY, FIRE, NOT_VERY_EFFECTIVE + db FAIRY, BUG, SUPER_EFFECTIVE + db FAIRY, FIGHTING, SUPER_EFFECTIVE + db FAIRY, ICE, NOT_VERY_EFFECTIVE + db FAIRY, DRAGON, SUPER_EFFECTIVE + db FAIRY, DARK, SUPER_EFFECTIVE + db FAIRY, STEEL, NOT_VERY_EFFECTIVE db -2 ; end (with Foresight) ; Foresight removes Ghost's immunities. - db NORMAL, GHOST, NO_EFFECT - db FIGHTING, GHOST, NO_EFFECT + db NORMAL, GHOST, NO_EFFECT + db FIGHTING, GHOST, NO_EFFECT db -1 ; end + +InverseTypeMatchups: + ; attacker, defender, *= + db NORMAL, ROCK, SUPER_EFFECTIVE + db NORMAL, STEEL, SUPER_EFFECTIVE + db FIRE, FIRE, SUPER_EFFECTIVE + db FIRE, WATER, SUPER_EFFECTIVE + db FIRE, GRASS, NOT_VERY_EFFECTIVE + db FIRE, ICE, NOT_VERY_EFFECTIVE + db FIRE, BUG, NOT_VERY_EFFECTIVE + db FIRE, ROCK, SUPER_EFFECTIVE + db FIRE, DRAGON, SUPER_EFFECTIVE + db FIRE, STEEL, NOT_VERY_EFFECTIVE + db WATER, FIRE, NOT_VERY_EFFECTIVE + db WATER, WATER, SUPER_EFFECTIVE + db WATER, GRASS, SUPER_EFFECTIVE + db WATER, GROUND, NOT_VERY_EFFECTIVE + db WATER, ROCK, NOT_VERY_EFFECTIVE + db WATER, DRAGON, SUPER_EFFECTIVE + db ELECTRIC, WATER, NOT_VERY_EFFECTIVE + db ELECTRIC, ELECTRIC, SUPER_EFFECTIVE + db ELECTRIC, GRASS, SUPER_EFFECTIVE + db ELECTRIC, GROUND, SUPER_EFFECTIVE + db ELECTRIC, FLYING, NOT_VERY_EFFECTIVE + db ELECTRIC, DRAGON, SUPER_EFFECTIVE + db GRASS, FIRE, SUPER_EFFECTIVE + db GRASS, WATER, NOT_VERY_EFFECTIVE + db GRASS, GRASS, SUPER_EFFECTIVE + db GRASS, POISON, SUPER_EFFECTIVE + db GRASS, GROUND, NOT_VERY_EFFECTIVE + db GRASS, FLYING, SUPER_EFFECTIVE + db GRASS, BUG, SUPER_EFFECTIVE + db GRASS, ROCK, NOT_VERY_EFFECTIVE + db GRASS, DRAGON, SUPER_EFFECTIVE + db GRASS, STEEL, SUPER_EFFECTIVE + db ICE, WATER, SUPER_EFFECTIVE + db ICE, GRASS, NOT_VERY_EFFECTIVE + db ICE, ICE, SUPER_EFFECTIVE + db ICE, GROUND, NOT_VERY_EFFECTIVE + db ICE, FLYING, NOT_VERY_EFFECTIVE + db ICE, DRAGON, NOT_VERY_EFFECTIVE + db ICE, STEEL, SUPER_EFFECTIVE + db ICE, FIRE, SUPER_EFFECTIVE + db FIGHTING, NORMAL, NOT_VERY_EFFECTIVE + db FIGHTING, ICE, NOT_VERY_EFFECTIVE + db FIGHTING, POISON, SUPER_EFFECTIVE + db FIGHTING, FLYING, SUPER_EFFECTIVE + db FIGHTING, PSYCHIC_TYPE, SUPER_EFFECTIVE + db FIGHTING, BUG, SUPER_EFFECTIVE + db FIGHTING, ROCK, NOT_VERY_EFFECTIVE + db FIGHTING, DARK, NOT_VERY_EFFECTIVE + db FIGHTING, STEEL, NOT_VERY_EFFECTIVE + db POISON, GRASS, NOT_VERY_EFFECTIVE + db POISON, POISON, SUPER_EFFECTIVE + db POISON, GROUND, SUPER_EFFECTIVE + db POISON, ROCK, SUPER_EFFECTIVE + db POISON, GHOST, SUPER_EFFECTIVE + db POISON, STEEL, SUPER_EFFECTIVE + db GROUND, FIRE, NOT_VERY_EFFECTIVE + db GROUND, ELECTRIC, NOT_VERY_EFFECTIVE + db GROUND, GRASS, SUPER_EFFECTIVE + db GROUND, POISON, NOT_VERY_EFFECTIVE + db GROUND, FLYING, SUPER_EFFECTIVE + db GROUND, BUG, SUPER_EFFECTIVE + db GROUND, ROCK, NOT_VERY_EFFECTIVE + db GROUND, STEEL, NOT_VERY_EFFECTIVE + db FLYING, ELECTRIC, SUPER_EFFECTIVE + db FLYING, GRASS, NOT_VERY_EFFECTIVE + db FLYING, FIGHTING, NOT_VERY_EFFECTIVE + db FLYING, BUG, NOT_VERY_EFFECTIVE + db FLYING, ROCK, SUPER_EFFECTIVE + db FLYING, STEEL, SUPER_EFFECTIVE + db PSYCHIC_TYPE, FIGHTING, NOT_VERY_EFFECTIVE + db PSYCHIC_TYPE, POISON, NOT_VERY_EFFECTIVE + db PSYCHIC_TYPE, PSYCHIC_TYPE, SUPER_EFFECTIVE + db PSYCHIC_TYPE, DARK, SUPER_EFFECTIVE + db PSYCHIC_TYPE, STEEL, SUPER_EFFECTIVE + db BUG, FIRE, SUPER_EFFECTIVE + db BUG, GRASS, NOT_VERY_EFFECTIVE + db BUG, FIGHTING, SUPER_EFFECTIVE + db BUG, POISON, SUPER_EFFECTIVE + db BUG, FLYING, SUPER_EFFECTIVE + db BUG, PSYCHIC_TYPE, NOT_VERY_EFFECTIVE + db BUG, GHOST, SUPER_EFFECTIVE + db BUG, DARK, NOT_VERY_EFFECTIVE + db BUG, STEEL, SUPER_EFFECTIVE + db ROCK, FIRE, NOT_VERY_EFFECTIVE + db ROCK, ICE, NOT_VERY_EFFECTIVE + db ROCK, FIGHTING, SUPER_EFFECTIVE + db ROCK, GROUND, SUPER_EFFECTIVE + db ROCK, FLYING, NOT_VERY_EFFECTIVE + db ROCK, BUG, NOT_VERY_EFFECTIVE + db ROCK, STEEL, SUPER_EFFECTIVE + db GHOST, NORMAL, SUPER_EFFECTIVE + db GHOST, PSYCHIC_TYPE, NOT_VERY_EFFECTIVE + db GHOST, DARK, SUPER_EFFECTIVE + db GHOST, STEEL, SUPER_EFFECTIVE + db GHOST, GHOST, NOT_VERY_EFFECTIVE + db DRAGON, DRAGON, NOT_VERY_EFFECTIVE + db DRAGON, STEEL, SUPER_EFFECTIVE + db DARK, FIGHTING, SUPER_EFFECTIVE + db DARK, PSYCHIC_TYPE, NOT_VERY_EFFECTIVE + db DARK, GHOST, NOT_VERY_EFFECTIVE + db DARK, DARK, SUPER_EFFECTIVE + db DARK, STEEL, SUPER_EFFECTIVE + db STEEL, FIRE, SUPER_EFFECTIVE + db STEEL, WATER, SUPER_EFFECTIVE + db STEEL, ELECTRIC, SUPER_EFFECTIVE + db STEEL, ICE, NOT_VERY_EFFECTIVE + db STEEL, ROCK, NOT_VERY_EFFECTIVE + db STEEL, STEEL, SUPER_EFFECTIVE + db NORMAL, GHOST, SUPER_EFFECTIVE + db FIGHTING, GHOST, SUPER_EFFECTIVE + db FAIRY, FIRE, SUPER_EFFECTIVE + db FAIRY, BUG, NOT_VERY_EFFECTIVE + db FAIRY, FIGHTING, NOT_VERY_EFFECTIVE + db FAIRY, ICE, SUPER_EFFECTIVE + db FAIRY, DRAGON, NOT_VERY_EFFECTIVE + db FAIRY, DARK, NOT_VERY_EFFECTIVE + db FAIRY, STEEL, SUPER_EFFECTIVE + db -1 ; end diff --git a/engine/battle/effect_commands.asm b/engine/battle/effect_commands.asm index 29cc929..6d3141b 100644 --- a/engine/battle/effect_commands.asm +++ b/engine/battle/effect_commands.asm @@ -359,7 +359,7 @@ CantMove: ld a, BATTLE_VARS_MOVE_ANIM call GetBattleVar push hl - ld hl, .fly_dig_moves + ld hl, FlyDigMoves call CheckMoveInList pop hl ret nc @@ -371,13 +371,6 @@ CantMove: res SUBSTATUS_UNDERWATER, [hl] jp AppearUserRaiseSub -.fly_dig_moves - dw FLY - dw DIG - dw BOUNCE - dw WATER_SPORT - dw -1 - OpponentCantMove: call BattleCommand_SwitchTurn call CantMove @@ -1370,7 +1363,13 @@ BattleCommand_Stab: ld a, BATTLE_VARS_MOVE_TYPE call GetBattleVar ld b, a + ld a, [wBattleType] + cp BATTLETYPE_INVERSE + jr z, .inverse ld hl, TypeMatchups + jr .TypesLoop +.inverse + ld hl, InverseTypeMatchups .TypesLoop: ; ld a, [hli] @@ -1497,7 +1496,13 @@ CheckTypeMatchup: ld c, [hl] ld a, EFFECTIVE ld [wTypeMatchup], a + ld a, [wBattleType] + cp BATTLETYPE_INVERSE + jr z, .inverse ld hl, TypeMatchups + jr .TypesLoop +.inverse + ld hl, InverseTypeMatchups .TypesLoop: ; ld a, [hli] call GetNextTypeMatchupsByte @@ -1511,7 +1516,6 @@ CheckTypeMatchup: bit SUBSTATUS_IDENTIFIED, a jr nz, .End jr .TypesLoop - .Next: cp d jr nz, .Nope @@ -1788,6 +1792,7 @@ BattleCommand_CheckHit: call GetBattleVar and 1 << SUBSTATUS_FLYING | 1 << SUBSTATUS_UNDERGROUND jr nz, .flying_or_underground + ld a, BATTLE_VARS_SUBSTATUS4_OPP call GetBattleVar and 1 << SUBSTATUS_UNDERWATER @@ -1795,12 +1800,34 @@ BattleCommand_CheckHit: ld a, BATTLE_VARS_MOVE_ANIM call GetBattleVar - cp SURF + ld hl, SURF + call GetMoveIDFromIndex + ld a, h + if HIGH(SURF) + cp HIGH(SURF) + else + and a + endc + ld a, l + pop hl + ret nz + cp LOW(SURF) ret z - cp WHIRLPOOL + ld hl, WHIRLPOOL + call GetMoveIDFromIndex + ld a, h + if HIGH(WHIRLPOOL) + cp HIGH(WHIRLPOOL) + else + and a + endc + ld a, l + pop hl + ret nz + cp LOW(WHIRLPOOL) ret -.flying_or_underground +.flying_or_underground bit SUBSTATUS_FLYING, a ld hl, .FlyMoves jr z, .check_move_in_list @@ -2071,18 +2098,11 @@ BattleCommand_MoveAnimNoSub: ld a, BATTLE_VARS_MOVE_ANIM call GetBattleVar - ld hl, .fly_dig_moves + ld hl, FlyDigMoves call CheckMoveInList ret nc jp AppearUserLowerSub -.fly_dig_moves - dw FLY - dw DIG - dw BOUNCE - dw WATER_SPORT - dw -1 - .alternate_anim ld a, [wBattleAnimParam] and 1 @@ -2167,7 +2187,7 @@ BattleCommand_FailureText: call GetBattleVarAddr push hl - ld hl, .fly_dig_moves + ld hl, FlyDigMoves call CheckMoveInList pop hl jr c, .fly_dig @@ -2200,13 +2220,6 @@ BattleCommand_FailureText: call AppearUserRaiseSub jp EndMoveEffect -.fly_dig_moves - dw FLY - dw DIG - dw WATER_SPORT - dw BOUNCE - dw -1 - BattleCommand_ApplyDamage: ld a, BATTLE_VARS_SUBSTATUS1_OPP call GetBattleVar @@ -5645,26 +5658,134 @@ BattleCommand_Charge: call LoadMoveAnim ld a, BATTLE_VARS_MOVE_ANIM call GetBattleVar - - ld hl, .fly_dig_moves ; attempt to resolve 16-bit issue with bounce and water sport - this can probably be made more efficient with a farcallable list - call CheckMoveInList + ld hl, WATER_SPORT + call GetMoveIDFromIndex + ld a, h + if HIGH(WATER_SPORT) + cp HIGH(WATER_SPORT) + else + and a + endc + ld a, l pop hl - jr c, .got_move_type + ret nz + cp LOW(WATER_SPORT) + jp z, .set_diving + ld hl, FLY + call GetMoveIDFromIndex + ld a, h + if HIGH(FLY) + cp HIGH(FLY) + else + and a + endc + ld a, l + pop hl + ret nz + cp LOW(FLY) + jr z, .set_flying + ld hl, BOUNCE + call GetMoveIDFromIndex + ld a, h + if HIGH(BOUNCE) + cp HIGH(BOUNCE) + else + and a + endc + ld a, l + pop hl + ret nz + cp LOW(BOUNCE) + jr z, .set_flying + ld hl, DIG + call GetMoveIDFromIndex + ld a, h + if HIGH(DIG) + cp HIGH(DIG) + else + and a + endc + ld a, l + pop hl + ret nz + cp LOW(DIG) + jr z, .set_flying call BattleCommand_RaiseSub - xor a + jr .not_flying -.got_move_type - ; a will contain the substatus 3 bit to set (1 << bit), or 0 if none (not flying/digging underground) - and a - ld l, a - push hl - call nz, DisappearUser +.flying + call DisappearUser +.not_flying ld a, BATTLE_VARS_SUBSTATUS3 call GetBattleVarAddr - pop bc - ld a, c - or [hl] - ld [hl], a + ld a, BATTLE_VARS_MOVE_ANIM + call GetBattleVar + ld b, a + ld hl, WATER_SPORT + call GetMoveIDFromIndex + ld a, h + if HIGH(WATER_SPORT) + cp HIGH(WATER_SPORT) + else + and a + endc + ld a, l + pop hl + ret nz + cp LOW(WATER_SPORT) + jr z, .set_diving + ld hl, FLY + call GetMoveIDFromIndex + ld a, h + if HIGH(FLY) + cp HIGH(FLY) + else + and a + endc + ld a, l + pop hl + ret nz + cp LOW(FLY) + jr z, .set_flying + ld hl, BOUNCE + call GetMoveIDFromIndex + ld a, h + if HIGH(BOUNCE) + cp HIGH(BOUNCE) + else + and a + endc + ld a, l + pop hl + ret nz + cp LOW(BOUNCE) + jr z, .set_flying + ld hl, DIG + call GetMoveIDFromIndex + ld a, h + if HIGH(DIG) + cp HIGH(DIG) + else + and a + endc + ld a, l + pop hl + ret nz + cp LOW(DIG) + jr z, .set_flying + jr nz, .dont_set_digging + set SUBSTATUS_UNDERGROUND, [hl] + jr .dont_set_digging + +.set_diving + ld a, BATTLE_VARS_SUBSTATUS4 + call GetBattleVarAddr + set SUBSTATUS_UNDERWATER, [hl] + jr .dont_set_digging +.set_flying + set SUBSTATUS_FLYING, [hl] + +.dont_set_digging call CheckUserIsCharging jr nz, .mimic ld a, BATTLE_VARS_LAST_COUNTER_MOVE @@ -5750,13 +5871,6 @@ BattleCommand_Charge: text_jump HidUnderwaterText db "@" -.fly_dig_moves - dw FLY - dw DIG - dw BOUNCE - dw WATER_SPORT - dw -1 - BattleCommand_TrapTarget: ld a, [wAttackMissed] and a @@ -6132,6 +6246,7 @@ BattleCommand_DoubleUnderwaterDamage: ld a, BATTLE_VARS_SUBSTATUS4_OPP call GetBattleVar bit SUBSTATUS_UNDERWATER, a + ret z ; fallthrough DoubleDamage: @@ -6952,3 +7067,10 @@ CheckMoveInList: pop de pop bc ret + +FlyDigMoves: + dw FLY + dw DIG + dw BOUNCE + dw WATER_SPORT + dw -1 diff --git a/gfx/pics.asm b/gfx/pics.asm index 38345ea..97306c6 100644 --- a/gfx/pics.asm +++ b/gfx/pics.asm @@ -707,15 +707,14 @@ UnownYBackpic: INCBIN "gfx/pokemon/unown_y/back.2bpp.lz" UnownPBackpic: INCBIN "gfx/pokemon/unown_p/back.2bpp.lz" UnownIBackpic: INCBIN "gfx/pokemon/unown_i/back.2bpp.lz" UnownRBackpic: INCBIN "gfx/pokemon/unown_r/back.2bpp.lz" - - -SECTION "Pics 19", ROMX - UnownExclamationFrontpic: INCBIN "gfx/pokemon/unown_exclamation/front.animated.2bpp.lz" UnownExclamationBackpic: INCBIN "gfx/pokemon/unown_exclamation/back.2bpp.lz" UnownQuestionFrontpic: INCBIN "gfx/pokemon/unown_question/front.animated.2bpp.lz" UnownQuestionBackpic: INCBIN "gfx/pokemon/unown_question/back.2bpp.lz" + +SECTION "Pics 19", ROMX + BellignanFrontpic: INCBIN "gfx/pokemon/bellignan/front.animated.2bpp.lz" BellignanBackpic: INCBIN "gfx/pokemon/bellignan/back.2bpp.lz" WalkingWakeFrontpic: INCBIN "gfx/pokemon/walking_wake/front.animated.2bpp.lz" @@ -736,12 +735,6 @@ LickilickyFrontpic: INCBIN "gfx/pokemon/lickilicky/front.animated.2bpp.lz" LickilickyBackpic: INCBIN "gfx/pokemon/lickilicky/back.2bpp.lz" LickilordFrontpic: INCBIN "gfx/pokemon/lickilord/front.animated.2bpp.lz" LickilordBackpic: INCBIN "gfx/pokemon/lickilord/back.2bpp.lz" -BurgelaFrontpic: INCBIN "gfx/pokemon/burgela/front.animated.2bpp.lz" -BurgelaBackpic: INCBIN "gfx/pokemon/burgela/back.2bpp.lz" -TangrowthFrontpic: INCBIN "gfx/pokemon/tangrowth/front.animated.2bpp.lz" -TangrowthBackpic: INCBIN "gfx/pokemon/tangrowth/back.2bpp.lz" -JungelaFrontpic: INCBIN "gfx/pokemon/jungela/front.animated.2bpp.lz" -JungelaBackpic: INCBIN "gfx/pokemon/jungela/back.2bpp.lz" MamoswineFrontpic: INCBIN "gfx/pokemon/mamoswine/front.animated.2bpp.lz" MamoswineBackpic: INCBIN "gfx/pokemon/mamoswine/back.2bpp.lz" HirsuswineFrontpic: INCBIN "gfx/pokemon/hirsuswine/front.animated.2bpp.lz" @@ -827,6 +820,12 @@ TotartleFrontpic: INCBIN "gfx/pokemon/totartle/front.animated.2bpp.lz" TotartleBackpic: INCBIN "gfx/pokemon/totartle/back.2bpp.lz" BlastykeFrontpic: INCBIN "gfx/pokemon/blastyke/front.animated.2bpp.lz" BlastykeBackpic: INCBIN "gfx/pokemon/blastyke/back.2bpp.lz" +BurgelaFrontpic: INCBIN "gfx/pokemon/burgela/front.animated.2bpp.lz" +BurgelaBackpic: INCBIN "gfx/pokemon/burgela/back.2bpp.lz" +TangrowthFrontpic: INCBIN "gfx/pokemon/tangrowth/front.animated.2bpp.lz" +TangrowthBackpic: INCBIN "gfx/pokemon/tangrowth/back.2bpp.lz" +JungelaFrontpic: INCBIN "gfx/pokemon/jungela/front.animated.2bpp.lz" +JungelaBackpic: INCBIN "gfx/pokemon/jungela/back.2bpp.lz" SECTION "Pics 22", ROMX CheepFrontpic: INCBIN "gfx/pokemon/cheep/front.animated.2bpp.lz" diff --git a/gfx/pokemon/annihilape/anim.asm b/gfx/pokemon/annihilape/anim.asm index 875f7be..1be4999 100644 --- a/gfx/pokemon/annihilape/anim.asm +++ b/gfx/pokemon/annihilape/anim.asm @@ -1 +1,12 @@ - endanim \ No newline at end of file + frame 0, 08 + setrepeat 2 + frame 1, 10 + frame 2, 10 + dorepeat 2 + frame 3, 08 + setrepeat 3 + frame 3, 06 + frame 4, 06 + dorepeat 7 + frame 3, 06 + endanim diff --git a/gfx/pokemon/annihilape/anim_idle.asm b/gfx/pokemon/annihilape/anim_idle.asm index 875f7be..7f7e533 100644 --- a/gfx/pokemon/annihilape/anim_idle.asm +++ b/gfx/pokemon/annihilape/anim_idle.asm @@ -1 +1,5 @@ - endanim \ No newline at end of file + setrepeat 2 + frame 0, 10 + frame 5, 10 + dorepeat 1 + endanim diff --git a/gfx/pokemon/annihilape/back.png b/gfx/pokemon/annihilape/back.png index c7216be..f6eef78 100644 Binary files a/gfx/pokemon/annihilape/back.png and b/gfx/pokemon/annihilape/back.png differ diff --git a/gfx/pokemon/annihilape/credit.txt b/gfx/pokemon/annihilape/credit.txt new file mode 100644 index 0000000..758278e --- /dev/null +++ b/gfx/pokemon/annihilape/credit.txt @@ -0,0 +1,4 @@ +Sprited by ShadowOne333. + +Taken from Johto Legends +https://github.com/aforward9600/JohtoLegends \ No newline at end of file diff --git a/gfx/pokemon/annihilape/front.png b/gfx/pokemon/annihilape/front.png index e0a9da9..95a65a7 100644 Binary files a/gfx/pokemon/annihilape/front.png and b/gfx/pokemon/annihilape/front.png differ diff --git a/gfx/pokemon/annihilape/normal.pal b/gfx/pokemon/annihilape/normal.pal new file mode 100644 index 0000000..8795947 --- /dev/null +++ b/gfx/pokemon/annihilape/normal.pal @@ -0,0 +1,3 @@ + + RGB 17, 16, 17 + RGB 29, 00, 11 diff --git a/gfx/pokemon/annihilape/shiny.pal b/gfx/pokemon/annihilape/shiny.pal index 5c88669..b0721cc 100644 --- a/gfx/pokemon/annihilape/shiny.pal +++ b/gfx/pokemon/annihilape/shiny.pal @@ -1,2 +1,3 @@ - RGB 22, 22, 12 - RGB 07, 15, 25 \ No newline at end of file + + RGB 12, 08, 24 + RGB 31, 13, 00 diff --git a/gfx/pokemon/dugtrioa/anim.asm b/gfx/pokemon/dugtrioa/anim.asm new file mode 100644 index 0000000..46a586d --- /dev/null +++ b/gfx/pokemon/dugtrioa/anim.asm @@ -0,0 +1,11 @@ + frame 0, 12 + frame 1, 06 + setrepeat 3 + frame 2, 12 + frame 3, 12 + dorepeat 3 + frame 0, 12 + frame 4, 5 + frame 5, 5 + frame 6, 5 + endanim diff --git a/gfx/pokemon/dugtrioa/anim_idle.asm b/gfx/pokemon/dugtrioa/anim_idle.asm new file mode 100644 index 0000000..31e9051 --- /dev/null +++ b/gfx/pokemon/dugtrioa/anim_idle.asm @@ -0,0 +1,6 @@ + frame 0, 12 + setrepeat 2 + frame 1, 05 + frame 0, 05 + dorepeat 2 + endanim diff --git a/gfx/pokemon/dugtrioa/back.png b/gfx/pokemon/dugtrioa/back.png new file mode 100644 index 0000000..f8a6c9a Binary files /dev/null and b/gfx/pokemon/dugtrioa/back.png differ diff --git a/gfx/pokemon/dugtrioa/credit.txt b/gfx/pokemon/dugtrioa/credit.txt new file mode 100644 index 0000000..e398142 --- /dev/null +++ b/gfx/pokemon/dugtrioa/credit.txt @@ -0,0 +1,3 @@ +Taken from ShadowOne333's fork of PolishedCrystal. + +https://github.com/ShadowOne333/polishedcrystal/blob/master/gfx/pokemon/zapdos_galarian/front.png \ No newline at end of file diff --git a/gfx/pokemon/dugtrioa/front.png b/gfx/pokemon/dugtrioa/front.png new file mode 100644 index 0000000..64e9cfc Binary files /dev/null and b/gfx/pokemon/dugtrioa/front.png differ diff --git a/gfx/pokemon/dugtrioa/normal.pal b/gfx/pokemon/dugtrioa/normal.pal new file mode 100644 index 0000000..160ae3f --- /dev/null +++ b/gfx/pokemon/dugtrioa/normal.pal @@ -0,0 +1,4 @@ + + RGB 25, 16, 08 + RGB 09, 11, 11 + diff --git a/gfx/pokemon/dugtrioa/shiny.pal b/gfx/pokemon/dugtrioa/shiny.pal new file mode 100644 index 0000000..8e7bd77 --- /dev/null +++ b/gfx/pokemon/dugtrioa/shiny.pal @@ -0,0 +1,4 @@ + + RGB 20, 07, 05 + RGB 09, 11, 11 + diff --git a/gfx/pokemon/kleavor/anim.asm b/gfx/pokemon/kleavor/anim.asm index dd02e67..2de9888 100644 --- a/gfx/pokemon/kleavor/anim.asm +++ b/gfx/pokemon/kleavor/anim.asm @@ -1 +1,18 @@ + setrepeat 1 + frame 0, 07 + frame 1, 07 + dorepeat 1 + frame 1, 07 + frame 2, 18 + frame 3, 08 + setrepeat 2 + frame 4, 10 + frame 5, 06 + frame 3, 08 + dorepeat 8 + setrepeat 6 + frame 3, 04 + frame 2, 04 + dorepeat 13 + frame 1, 06 endanim diff --git a/gfx/pokemon/kleavor/anim_idle.asm b/gfx/pokemon/kleavor/anim_idle.asm index dd02e67..cf8f77f 100644 --- a/gfx/pokemon/kleavor/anim_idle.asm +++ b/gfx/pokemon/kleavor/anim_idle.asm @@ -1 +1,7 @@ + frame 0, 08 + setrepeat 2 + frame 6, 04 + frame 7, 04 + frame 6, 04 + dorepeat 2 endanim diff --git a/gfx/pokemon/kleavor/back.png b/gfx/pokemon/kleavor/back.png index 8ebe34e..7c98509 100644 Binary files a/gfx/pokemon/kleavor/back.png and b/gfx/pokemon/kleavor/back.png differ diff --git a/gfx/pokemon/kleavor/credit.txt b/gfx/pokemon/kleavor/credit.txt new file mode 100644 index 0000000..e398142 --- /dev/null +++ b/gfx/pokemon/kleavor/credit.txt @@ -0,0 +1,3 @@ +Taken from ShadowOne333's fork of PolishedCrystal. + +https://github.com/ShadowOne333/polishedcrystal/blob/master/gfx/pokemon/zapdos_galarian/front.png \ No newline at end of file diff --git a/gfx/pokemon/kleavor/front.png b/gfx/pokemon/kleavor/front.png index c93f781..5c138ba 100644 Binary files a/gfx/pokemon/kleavor/front.png and b/gfx/pokemon/kleavor/front.png differ diff --git a/gfx/pokemon/kleavor/normal.pal b/gfx/pokemon/kleavor/normal.pal new file mode 100644 index 0000000..b1baf2e --- /dev/null +++ b/gfx/pokemon/kleavor/normal.pal @@ -0,0 +1,4 @@ + + RGB 27, 17, 00 + RGB 10, 07, 00 + diff --git a/gfx/pokemon/kleavor/shiny.pal b/gfx/pokemon/kleavor/shiny.pal index 550d6de..b651888 100644 --- a/gfx/pokemon/kleavor/shiny.pal +++ b/gfx/pokemon/kleavor/shiny.pal @@ -1,4 +1,4 @@ - RGB 17, 24, 00 - RGB 28, 09, 00 + RGB 12, 14, 06 + RGB 10, 07, 00 diff --git a/gfx/pokemon/mr__rime/anim.asm b/gfx/pokemon/mr__rime/anim.asm new file mode 100644 index 0000000..c654c72 --- /dev/null +++ b/gfx/pokemon/mr__rime/anim.asm @@ -0,0 +1,21 @@ + frame 0, 07 + frame 2, 07 + setrepeat 2 + frame 3, 07 + frame 4, 07 + dorepeat 3 + frame 6, 07 + setrepeat 2 + frame 5, 07 + frame 3, 07 + dorepeat 8 + frame 7, 07 + frame 8, 07 + frame 9, 07 + frame 10, 07 + setrepeat 2 + frame 8, 07 + frame 3, 07 + dorepeat 16 + frame 2, 07 + endanim diff --git a/gfx/pokemon/mr__rime/anim_idle.asm b/gfx/pokemon/mr__rime/anim_idle.asm new file mode 100644 index 0000000..dbf3c2b --- /dev/null +++ b/gfx/pokemon/mr__rime/anim_idle.asm @@ -0,0 +1,5 @@ + frame 0, 08 + frame 1, 08 + frame 11, 08 + frame 1, 08 + endanim diff --git a/gfx/pokemon/mr__rime/back.png b/gfx/pokemon/mr__rime/back.png new file mode 100644 index 0000000..f3d9ebb Binary files /dev/null and b/gfx/pokemon/mr__rime/back.png differ diff --git a/gfx/pokemon/mr__rime/credit.txt b/gfx/pokemon/mr__rime/credit.txt new file mode 100644 index 0000000..e398142 --- /dev/null +++ b/gfx/pokemon/mr__rime/credit.txt @@ -0,0 +1,3 @@ +Taken from ShadowOne333's fork of PolishedCrystal. + +https://github.com/ShadowOne333/polishedcrystal/blob/master/gfx/pokemon/zapdos_galarian/front.png \ No newline at end of file diff --git a/gfx/pokemon/mr__rime/front.png b/gfx/pokemon/mr__rime/front.png new file mode 100644 index 0000000..0d32057 Binary files /dev/null and b/gfx/pokemon/mr__rime/front.png differ diff --git a/gfx/pokemon/mr__rime/normal.pal b/gfx/pokemon/mr__rime/normal.pal new file mode 100644 index 0000000..1901e60 --- /dev/null +++ b/gfx/pokemon/mr__rime/normal.pal @@ -0,0 +1,4 @@ + + RGB 28, 16, 21 + RGB 09, 10, 24 + diff --git a/gfx/pokemon/mr__rime/shiny.pal b/gfx/pokemon/mr__rime/shiny.pal new file mode 100644 index 0000000..2c813e1 --- /dev/null +++ b/gfx/pokemon/mr__rime/shiny.pal @@ -0,0 +1,4 @@ + + RGB 23, 23, 23 + RGB 14, 14, 15 + diff --git a/gfx/pokemon/ponytag/anim.asm b/gfx/pokemon/ponytag/anim.asm new file mode 100644 index 0000000..68db9d2 --- /dev/null +++ b/gfx/pokemon/ponytag/anim.asm @@ -0,0 +1,9 @@ + frame 1, 07 + frame 2, 07 + frame 1, 07 + frame 2, 07 + frame 0, 18 + frame 3, 06 + frame 0, 06 + frame 3, 06 + endanim diff --git a/gfx/pokemon/ponytag/anim_idle.asm b/gfx/pokemon/ponytag/anim_idle.asm new file mode 100644 index 0000000..e970cd2 --- /dev/null +++ b/gfx/pokemon/ponytag/anim_idle.asm @@ -0,0 +1,4 @@ + frame 4, 06 + frame 5, 06 + frame 3, 06 + endanim diff --git a/gfx/pokemon/ponytag/back.png b/gfx/pokemon/ponytag/back.png new file mode 100644 index 0000000..aaa2ed5 Binary files /dev/null and b/gfx/pokemon/ponytag/back.png differ diff --git a/gfx/pokemon/ponytag/credit.txt b/gfx/pokemon/ponytag/credit.txt new file mode 100644 index 0000000..e398142 --- /dev/null +++ b/gfx/pokemon/ponytag/credit.txt @@ -0,0 +1,3 @@ +Taken from ShadowOne333's fork of PolishedCrystal. + +https://github.com/ShadowOne333/polishedcrystal/blob/master/gfx/pokemon/zapdos_galarian/front.png \ No newline at end of file diff --git a/gfx/pokemon/ponytag/front.png b/gfx/pokemon/ponytag/front.png new file mode 100644 index 0000000..814d33a Binary files /dev/null and b/gfx/pokemon/ponytag/front.png differ diff --git a/gfx/pokemon/ponytag/normal.pal b/gfx/pokemon/ponytag/normal.pal new file mode 100644 index 0000000..c41a980 --- /dev/null +++ b/gfx/pokemon/ponytag/normal.pal @@ -0,0 +1,4 @@ + + RGB 10, 26, 27 + RGB 20, 14, 27 + diff --git a/gfx/pokemon/ponytag/shiny.pal b/gfx/pokemon/ponytag/shiny.pal new file mode 100644 index 0000000..390ee72 --- /dev/null +++ b/gfx/pokemon/ponytag/shiny.pal @@ -0,0 +1,4 @@ + + RGB 27, 26, 25 + RGB 10, 26, 27 + diff --git a/gfx/pokemon/sneaselh/anim.asm b/gfx/pokemon/sneaselh/anim.asm new file mode 100644 index 0000000..dd6d35e --- /dev/null +++ b/gfx/pokemon/sneaselh/anim.asm @@ -0,0 +1,16 @@ + frame 0, 08 + frame 1, 22 + frame 2, 04 + frame 3, 04 + frame 4, 04 + frame 3, 04 + frame 2, 04 + frame 0, 07 + frame 5, 07 + frame 6, 07 + frame 7, 07 + frame 8, 07 + frame 7, 07 + frame 6, 07 + frame 5, 07 + endanim diff --git a/gfx/pokemon/sneaselh/anim_idle.asm b/gfx/pokemon/sneaselh/anim_idle.asm new file mode 100644 index 0000000..f834ec6 --- /dev/null +++ b/gfx/pokemon/sneaselh/anim_idle.asm @@ -0,0 +1,9 @@ + setrepeat 2 + frame 0, 08 + frame 2, 03 + frame 3, 03 + frame 4, 03 + frame 3, 03 + frame 2, 03 + dorepeat 1 + endanim diff --git a/gfx/pokemon/sneaselh/back.png b/gfx/pokemon/sneaselh/back.png new file mode 100644 index 0000000..ee2b47d Binary files /dev/null and b/gfx/pokemon/sneaselh/back.png differ diff --git a/gfx/pokemon/sneaselh/credit.txt b/gfx/pokemon/sneaselh/credit.txt new file mode 100644 index 0000000..e398142 --- /dev/null +++ b/gfx/pokemon/sneaselh/credit.txt @@ -0,0 +1,3 @@ +Taken from ShadowOne333's fork of PolishedCrystal. + +https://github.com/ShadowOne333/polishedcrystal/blob/master/gfx/pokemon/zapdos_galarian/front.png \ No newline at end of file diff --git a/gfx/pokemon/sneaselh/front.png b/gfx/pokemon/sneaselh/front.png new file mode 100644 index 0000000..ec936b4 Binary files /dev/null and b/gfx/pokemon/sneaselh/front.png differ diff --git a/gfx/pokemon/sneaselh/normal.pal b/gfx/pokemon/sneaselh/normal.pal new file mode 100644 index 0000000..d02b3fc --- /dev/null +++ b/gfx/pokemon/sneaselh/normal.pal @@ -0,0 +1,4 @@ + + RGB 21, 22, 23 + RGB 15, 13, 20 + diff --git a/gfx/pokemon/sneaselh/shiny.pal b/gfx/pokemon/sneaselh/shiny.pal new file mode 100644 index 0000000..fe1489b --- /dev/null +++ b/gfx/pokemon/sneaselh/shiny.pal @@ -0,0 +1,4 @@ + + RGB 14, 16, 17 + RGB 28, 24, 10 + diff --git a/gfx/pokemon/sneasler/anim.asm b/gfx/pokemon/sneasler/anim.asm new file mode 100644 index 0000000..e6f40b6 --- /dev/null +++ b/gfx/pokemon/sneasler/anim.asm @@ -0,0 +1,18 @@ + frame 0, 08 + frame 1, 07 + frame 2, 07 + frame 3, 07 + frame 4, 07 + frame 1, 07 + frame 5, 07 + frame 1, 07 + frame 6, 07 + frame 7, 07 + frame 8, 07 + frame 9, 07 + frame 10, 07 + frame 11, 07 + frame 12, 07 + frame 13, 07 + frame 6, 07 + endanim diff --git a/gfx/pokemon/sneasler/anim_idle.asm b/gfx/pokemon/sneasler/anim_idle.asm new file mode 100644 index 0000000..ab1cf5f --- /dev/null +++ b/gfx/pokemon/sneasler/anim_idle.asm @@ -0,0 +1,7 @@ + setrepeat 2 + frame 0, 08 + frame 1, 05 + frame 5, 05 + frame 1, 05 + dorepeat 1 + endanim diff --git a/gfx/pokemon/sneasler/back.png b/gfx/pokemon/sneasler/back.png new file mode 100644 index 0000000..b1fb267 Binary files /dev/null and b/gfx/pokemon/sneasler/back.png differ diff --git a/gfx/pokemon/sneasler/credit.txt b/gfx/pokemon/sneasler/credit.txt new file mode 100644 index 0000000..e398142 --- /dev/null +++ b/gfx/pokemon/sneasler/credit.txt @@ -0,0 +1,3 @@ +Taken from ShadowOne333's fork of PolishedCrystal. + +https://github.com/ShadowOne333/polishedcrystal/blob/master/gfx/pokemon/zapdos_galarian/front.png \ No newline at end of file diff --git a/gfx/pokemon/sneasler/front.png b/gfx/pokemon/sneasler/front.png new file mode 100644 index 0000000..4adca14 Binary files /dev/null and b/gfx/pokemon/sneasler/front.png differ diff --git a/gfx/pokemon/sneasler/normal.pal b/gfx/pokemon/sneasler/normal.pal new file mode 100644 index 0000000..d02b3fc --- /dev/null +++ b/gfx/pokemon/sneasler/normal.pal @@ -0,0 +1,4 @@ + + RGB 21, 22, 23 + RGB 15, 13, 20 + diff --git a/gfx/pokemon/sneasler/shiny.pal b/gfx/pokemon/sneasler/shiny.pal new file mode 100644 index 0000000..bedff8e --- /dev/null +++ b/gfx/pokemon/sneasler/shiny.pal @@ -0,0 +1,4 @@ + + RGB 12, 10, 11 + RGB 26, 25, 18 + diff --git a/gfx/pokemon/tangrowth/anim.asm b/gfx/pokemon/tangrowth/anim.asm index 875f7be..f083ff9 100644 --- a/gfx/pokemon/tangrowth/anim.asm +++ b/gfx/pokemon/tangrowth/anim.asm @@ -1 +1,15 @@ - endanim \ No newline at end of file + setrepeat 2 + frame 1, 04 + frame 2, 04 + frame 1, 04 + frame 0, 04 + dorepeat 1 + setrepeat 2 + frame 5, 04 + frame 0, 04 + dorepeat 7 + setrepeat 2 + frame 3, 04 + frame 4, 04 + dorepeat 11 + endanim diff --git a/gfx/pokemon/tangrowth/anim_idle.asm b/gfx/pokemon/tangrowth/anim_idle.asm index 875f7be..5227590 100644 --- a/gfx/pokemon/tangrowth/anim_idle.asm +++ b/gfx/pokemon/tangrowth/anim_idle.asm @@ -1 +1,5 @@ - endanim \ No newline at end of file + setrepeat 2 + frame 5, 08 + frame 0, 08 + dorepeat 1 + endanim diff --git a/gfx/pokemon/tangrowth/back.png b/gfx/pokemon/tangrowth/back.png index c7216be..7c97afe 100644 Binary files a/gfx/pokemon/tangrowth/back.png and b/gfx/pokemon/tangrowth/back.png differ diff --git a/gfx/pokemon/tangrowth/credit.txt b/gfx/pokemon/tangrowth/credit.txt new file mode 100644 index 0000000..3dc1da2 --- /dev/null +++ b/gfx/pokemon/tangrowth/credit.txt @@ -0,0 +1,5 @@ +Taken from JohtoLegends, ultimately from PolishedCrystal +https://github.com/aforward9600/JohtoLegends +https://github.com/Rangi42/polishedcrystal + +Artist is uncredited. \ No newline at end of file diff --git a/gfx/pokemon/tangrowth/front.png b/gfx/pokemon/tangrowth/front.png index e0a9da9..737fc2f 100644 Binary files a/gfx/pokemon/tangrowth/front.png and b/gfx/pokemon/tangrowth/front.png differ diff --git a/gfx/pokemon/tangrowth/shiny.pal b/gfx/pokemon/tangrowth/shiny.pal index 5c88669..4a1bfc9 100644 --- a/gfx/pokemon/tangrowth/shiny.pal +++ b/gfx/pokemon/tangrowth/shiny.pal @@ -1,2 +1,3 @@ - RGB 22, 22, 12 - RGB 07, 15, 25 \ No newline at end of file + + RGB 31, 17, 16 + RGB 12, 27, 10 diff --git a/gfx/pokemon/ursaluna/anim.asm b/gfx/pokemon/ursaluna/anim.asm index 875f7be..8dd5d5d 100644 --- a/gfx/pokemon/ursaluna/anim.asm +++ b/gfx/pokemon/ursaluna/anim.asm @@ -1 +1,15 @@ - endanim \ No newline at end of file + setrepeat 2 + frame 0, 06 + frame 1, 06 + frame 2, 06 + frame 1, 06 + dorepeat 1 + frame 3, 06 + setrepeat 3 + frame 4, 05 + frame 5, 05 + frame 6, 05 + dorepeat 8 + frame 4, 05 + frame 3, 05 + endanim diff --git a/gfx/pokemon/ursaluna/anim_idle.asm b/gfx/pokemon/ursaluna/anim_idle.asm index 875f7be..aa5c7a2 100644 --- a/gfx/pokemon/ursaluna/anim_idle.asm +++ b/gfx/pokemon/ursaluna/anim_idle.asm @@ -1 +1,7 @@ - endanim \ No newline at end of file + setrepeat 2 + frame 0, 06 + frame 1, 06 + frame 2, 06 + frame 1, 06 + dorepeat 1 + endanim diff --git a/gfx/pokemon/ursaluna/back.png b/gfx/pokemon/ursaluna/back.png index c7216be..05858cc 100644 Binary files a/gfx/pokemon/ursaluna/back.png and b/gfx/pokemon/ursaluna/back.png differ diff --git a/gfx/pokemon/ursaluna/credit.txt b/gfx/pokemon/ursaluna/credit.txt new file mode 100644 index 0000000..fe20b1e --- /dev/null +++ b/gfx/pokemon/ursaluna/credit.txt @@ -0,0 +1,4 @@ +Sprited by ShadowOne333, Cure, and Scarlax. + +Taken from Johto Legends +https://github.com/aforward9600/JohtoLegends \ No newline at end of file diff --git a/gfx/pokemon/ursaluna/front.png b/gfx/pokemon/ursaluna/front.png index e0a9da9..76e7bc7 100644 Binary files a/gfx/pokemon/ursaluna/front.png and b/gfx/pokemon/ursaluna/front.png differ diff --git a/gfx/pokemon/ursaluna/normal.pal b/gfx/pokemon/ursaluna/normal.pal new file mode 100644 index 0000000..5a03e4d --- /dev/null +++ b/gfx/pokemon/ursaluna/normal.pal @@ -0,0 +1,3 @@ + + RGB 18, 16, 15 + RGB 09, 06, 06 diff --git a/gfx/pokemon/ursaluna/shiny.pal b/gfx/pokemon/ursaluna/shiny.pal index 5c88669..75a24c9 100644 --- a/gfx/pokemon/ursaluna/shiny.pal +++ b/gfx/pokemon/ursaluna/shiny.pal @@ -1,2 +1,3 @@ - RGB 22, 22, 12 - RGB 07, 15, 25 \ No newline at end of file + + RGB 19, 17, 15 + RGB 12, 04, 03 diff --git a/gfx/pokemon/weezingg/anim.asm b/gfx/pokemon/weezingg/anim.asm new file mode 100644 index 0000000..6c1a5a8 --- /dev/null +++ b/gfx/pokemon/weezingg/anim.asm @@ -0,0 +1,9 @@ + frame 0, 8 + frame 1, 18 + frame 2, 18 + frame 3, 18 + frame 4, 12 + frame 5, 12 + frame 6, 12 + frame 7, 12 + endanim diff --git a/gfx/pokemon/weezingg/anim_idle.asm b/gfx/pokemon/weezingg/anim_idle.asm new file mode 100644 index 0000000..e1662b9 --- /dev/null +++ b/gfx/pokemon/weezingg/anim_idle.asm @@ -0,0 +1,5 @@ + frame 0, 12 + frame 8, 12 + frame 0, 12 + frame 9, 12 + endanim diff --git a/gfx/pokemon/weezingg/back.png b/gfx/pokemon/weezingg/back.png new file mode 100644 index 0000000..0565038 Binary files /dev/null and b/gfx/pokemon/weezingg/back.png differ diff --git a/gfx/pokemon/weezingg/credit.txt b/gfx/pokemon/weezingg/credit.txt new file mode 100644 index 0000000..dda122c --- /dev/null +++ b/gfx/pokemon/weezingg/credit.txt @@ -0,0 +1,3 @@ +Taken from ShadowOne333's fork of PolishedCrystal. + +https://github.com/ShadowOne333/polishedcrystal/ \ No newline at end of file diff --git a/gfx/pokemon/weezingg/front.png b/gfx/pokemon/weezingg/front.png new file mode 100644 index 0000000..41b2d11 Binary files /dev/null and b/gfx/pokemon/weezingg/front.png differ diff --git a/gfx/pokemon/weezingg/normal.pal b/gfx/pokemon/weezingg/normal.pal new file mode 100644 index 0000000..2ce83c2 --- /dev/null +++ b/gfx/pokemon/weezingg/normal.pal @@ -0,0 +1,4 @@ + + RGB 13, 23, 08 + RGB 12, 12, 11 + diff --git a/gfx/pokemon/weezingg/shiny.pal b/gfx/pokemon/weezingg/shiny.pal new file mode 100644 index 0000000..78140a7 --- /dev/null +++ b/gfx/pokemon/weezingg/shiny.pal @@ -0,0 +1,4 @@ + + RGB 16, 28, 09 + RGB 19, 08, 05 + diff --git a/gfx/pokemon/zapdosg/anim.asm b/gfx/pokemon/zapdosg/anim.asm new file mode 100644 index 0000000..05c36ca --- /dev/null +++ b/gfx/pokemon/zapdosg/anim.asm @@ -0,0 +1,11 @@ + frame 3, 24 + frame 0, 08 + setrepeat 2 + frame 1, 16 + frame 2, 16 + dorepeat 3 + setrepeat 4 + frame 0, 06 + frame 1, 06 + dorepeat 7 + endanim diff --git a/gfx/pokemon/zapdosg/anim_idle.asm b/gfx/pokemon/zapdosg/anim_idle.asm new file mode 100644 index 0000000..4f991f0 --- /dev/null +++ b/gfx/pokemon/zapdosg/anim_idle.asm @@ -0,0 +1,5 @@ + setrepeat 3 + frame 0, 08 + frame 4, 08 + dorepeat 1 + endanim diff --git a/gfx/pokemon/zapdosg/back.png b/gfx/pokemon/zapdosg/back.png new file mode 100644 index 0000000..8dbbd23 Binary files /dev/null and b/gfx/pokemon/zapdosg/back.png differ diff --git a/gfx/pokemon/zapdosg/credit.txt b/gfx/pokemon/zapdosg/credit.txt new file mode 100644 index 0000000..e398142 --- /dev/null +++ b/gfx/pokemon/zapdosg/credit.txt @@ -0,0 +1,3 @@ +Taken from ShadowOne333's fork of PolishedCrystal. + +https://github.com/ShadowOne333/polishedcrystal/blob/master/gfx/pokemon/zapdos_galarian/front.png \ No newline at end of file diff --git a/gfx/pokemon/zapdosg/front.png b/gfx/pokemon/zapdosg/front.png new file mode 100644 index 0000000..270feb5 Binary files /dev/null and b/gfx/pokemon/zapdosg/front.png differ diff --git a/gfx/pokemon/zapdosg/normal.pal b/gfx/pokemon/zapdosg/normal.pal new file mode 100644 index 0000000..b7783ce --- /dev/null +++ b/gfx/pokemon/zapdosg/normal.pal @@ -0,0 +1,4 @@ + + RGB 29, 12, 07 + RGB 04, 02, 03 + diff --git a/gfx/pokemon/zapdosg/shiny.pal b/gfx/pokemon/zapdosg/shiny.pal new file mode 100644 index 0000000..6268de2 --- /dev/null +++ b/gfx/pokemon/zapdosg/shiny.pal @@ -0,0 +1,4 @@ + + RGB 31, 28, 00 + RGB 26, 13, 06 + diff --git a/maps/CalsHouse2F.ablk b/maps/CalsHouse2F.ablk index 883ef3d..63fe61f 100644 --- a/maps/CalsHouse2F.ablk +++ b/maps/CalsHouse2F.ablk @@ -1 +1 @@ -  \ No newline at end of file + %&' \ No newline at end of file diff --git a/maps/CalsHouse2F.asm b/maps/CalsHouse2F.asm index d76c66d..121c01a 100644 --- a/maps/CalsHouse2F.asm +++ b/maps/CalsHouse2F.asm @@ -12,6 +12,7 @@ object_const_def const CALSHOUSE_KEN + const CALSHOUSE_BOOK CalsHouse2F_MapScripts: def_scene_scripts @@ -21,6 +22,17 @@ CalsHouse2F_MapScripts: CalsHouseKen: jumptextfaceplayer CalsHouseKenText +CalsHouseBook: + opentext + writetext CalsHouseBookIntro + yesorno + iffalse .Done + writetext CalsHouseBookText + waitbutton +.Done: + closetext + end + CalsHouseKenText: text "CAL? He's my" line "brother!" @@ -37,6 +49,46 @@ CalsHouseKenText: line "He's so cool!" done +CalsHouseBookIntro: + text "There's a book" + line "on CAL's desk…" + + para "MYSTERIES OF" + line "THE EARTH" + + para "It's written by..." + line "GIOVANNI?!" + + para "Read it anyway?" + done + +CalsHouseBookText: + text "In this book, I" + line "will reveal the" + cont "highest form of" + cont "RHYDON." + + para "Its name is" + line "RHYPERIOR." + + para "We can't get it" + line "obtained with" + cont "items native to" + cont "KANTO. We must" + cont "use a PROTECTOR." + + para "Unfortunately," + line "RHYPERIOR does" + cont "not address" + cont "RHYDON's poor" + cont "SPEED. Ergo, it" + cont "cannot use my" + cont "own technique," + cont "FISSURE, to its" + cont "full potential." + done + + ; Usually, there's a thing about Skarmory here, but Silver's House details it, so let's use this unused quote instead. CalsHousePCText: jumpstd SilphPokegearScript @@ -109,3 +161,4 @@ CalsHouse2F_MapEvents: def_object_events object_event 8, 1, SPRITE_ROCKER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, CalsHouseKen, -1 + object_event 1, 5, SPRITE_POKEDEX, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, CalsHouseBook, -1 diff --git a/maps/DebugRoom.asm b/maps/DebugRoom.asm index f8a404b..1826396 100644 --- a/maps/DebugRoom.asm +++ b/maps/DebugRoom.asm @@ -8,12 +8,12 @@ DebugRoom_MapScripts: DebugPokemon1Script: opentext - getmonname STRING_BUFFER_3, AZUMARILL + getmonname STRING_BUFFER_3, BIPULLA writetext ReceivedDebugPokemonText playsound SFX_CAUGHT_MON waitsfx promptbutton - givepoke AZUMARILL, 4, HM_WATER_SPORT + givepoke BIPULLA, 15, HM_WATER_SPORT closetext end @@ -39,11 +39,11 @@ DebugPokemon3Script: faceplayer opentext writetext DebugTextA - cry STROMEN + cry BELLSPROUT pause 15 closetext - loadvar VAR_BATTLETYPE, BATTLETYPE_SHINY - loadwildmon COATL, 75 + loadvar VAR_BATTLETYPE, BATTLETYPE_INVERSE + loadwildmon BELLSPROUT, 10 startbattle reloadmapafterbattle end @@ -56,11 +56,11 @@ DebugPokemon4Script: faceplayer opentext writetext DebugTextB - cry STROMEN + cry BELLSPROUT pause 15 closetext loadvar VAR_BATTLETYPE, BATTLETYPE_SUICUNE - loadwildmon COATL, 75 + loadwildmon BELLSPROUT, 10 startbattle reloadmapafterbattle end