This commit is contained in:
Zeta_Null 2024-09-14 15:25:29 -04:00
commit 848c79784f
199 changed files with 10126 additions and 2998 deletions

View file

@ -91,7 +91,7 @@ ifeq ($(DEBUG),1)
RGBASMFLAGS += -E
endif
$(pokecrystal_obj): RGBASMFLAGS += -D _DEBUG
$(pokecrystal_obj): RGBASMFLAGS +=
$(pokecrystal_vc_obj): RGBASMFLAGS += -D _CRYSTAL_VC
%.patch: vc/%.constants.sym %_vc.gbc %.gbc vc/%.patch.template

View file

@ -89,7 +89,7 @@ As the open source nature of this project implies, people are free to reuse what
If you use our implementations of anything at all, it is encouraged to submit Pull Requests for bug fixes if you find any issues! We very much appreciate them!
## Development Credits
- Plague von Karma (Director, Kanto Expansion Pak Founder, Programming, Maps)
- Plague von Karma (Director, Kanto Expansion Pak Founder, Programming, Maps, Stat Exp. Display code)
- Martha's Against Humanity (Kanto Expansion Pak ROM Hack Creator, Programmer, Spriter)
- Zeta_Null (Repository Creator, Spriter, Programming, Music)
- LadyMisticus (Documentation, Programming, Mapping, Spriter)
@ -108,17 +108,17 @@ If you use our implementations of anything at all, it is encouraged to submit Pu
### JEP Developers
JEP-affiliated spriters require sprites to be used with direct credit for non-commerical purposes. Credit the artist in any case of using them.
- Zeta_Null: Topaz sprites, numerous tileset bits, Omegadge, Qatu, Phandarin, Stromen, Lickilord,
- Martha's Against Humanity: Shi-Shi, Fossil Aerodactyl, Fossil Kabutops
- Zeta_Null: Topaz sprites, numerous tileset bits, Omegadge, Qatu, Phandarin, Stromen, Lickilord
- Martha's Against Humanity: Flutter Mane, Hyoshu-Yang, Hyoshu-Yin, Fossil Aerodactyl, Fossil Kabutops
- zuperZACH: Clodsire (front), Mismagius, Alolan Vulpix, Alolan Ninetales, Hirsuswine
- Shawesome: Alolan Geodude
- EyeDonutz: Walking Wake (front/back, title)
- Plague von Karma: Overworld Arbok, Koffing, Voltorb, Gengar, Diglett, and Cat sprites, adapted from the slot machine's sprites (originally made for KEP).
- LadyMisticus: Sprite edits of Imposter Oak, Archer, Ariana, Prof.Blue, Giovanni (both), Green; Cal (original)
- LadyMisticus: Sprite edits of Imposter Oak, Archer, Ariana, Prof.Blue, Giovanni (both), Green; Cal, Blaine (original)
### Unaffiliated
- nuuk: Azurill, Electivire, Farigiraf, Glaceon, Honchkrow, Leafeon, Magmortar, Magnezone, Mamoswine, Porygon-Z, Sylveon, Togekiss, 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, Moibelle, Molambino, Dokuroar (Necrorex), Orfry, Blossomole (Petamole), Smujj
- 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, Blossomole (Petamole), Smujj
- 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.
- SoupPotato et al: Various sprites from [Pokemon Gold & Silver '97 Reforged](https://github.com/SoupPotato/gold97); Palssio (Cruize), Pressio (Aquallo) Donmarin (Aquarius), Grenmar (Bombsheal, with edits), Jungela (Gelania), Elebebi (Elebabe), Mimmeo (Metto), Kazappelin (Numbpuff), Disturban (Turban), Angore (Anchorage), Trebir (Mallody), Folage (Silkane)
- SCMidna: Munchlax
@ -134,6 +134,8 @@ JEP-affiliated spriters require sprites to be used with direct credit for non-co
- ZoomTen - Honey Pot & Honey Grandma features from Pokemon October, commits [here](https://github.com/pokeachromicdevs/pokeoctober/commit/d00cd6fafdbe5069d2cc452a154942f82f7fceb6), [here](https://github.com/pokeachromicdevs/pokeoctober/commit/1a6f3e4f0307656018f02d4981c973efa814a248), and [here](https://github.com/pokeachromicdevs/pokeoctober/commit/8114fead91828dd6d986fe120d6c5cd5e3c6cbf6). Safari Game restoration [here](https://github.com/pokeachromicdevs/pokeoctober/commit/2ff835730b2a61a757ad67f13e50480c965d2a0c}.
- Ferropexola/aforward9600: Time of day-based tileset palette code
- Rangi42/polishedcrystal: [Decoration shop script](https://github.com/Rangi42/polishedcrystal/blob/master/maps/GoldenrodHarbor.asm)
- Nayru62 (Crystal Legacy) - [DVs & Hidden Power display code](https://github.com/cRz-Shadows/Pokemon_Crystal_Legacy/blob/main/engine/pokemon/stats_screen.asm)
- SoupPotato - Move Animations and Pallettes [here](https://github.com/PiaCarrot/mae-pokeorange/commit/9e148c8a28bbe6850f3df11605b4f7b4068a4652) and [here](https://github.com/PiaCarrot/mae-pokeorange/commit/52f8f8e77189b01453590c5496bbc7a9332b6237).
Original readme proceeding...
# 16-bit index expansion for Crystal

View file

@ -23,8 +23,6 @@ INCLUDE "audio/music/goldenrodcity.asm"
INCLUDE "audio/music/vermilioncity.asm"
INCLUDE "audio/music/titlescreen.asm"
INCLUDE "audio/music/ruinsofalphinterior.asm"
INCLUDE "audio/music/lookpokemaniac.asm"
INCLUDE "audio/music/trainervictory.asm"
SECTION "Songs 2", ROMX
@ -72,6 +70,8 @@ INCLUDE "audio/music/healpokemon.asm"
INCLUDE "audio/music/evolution.asm"
INCLUDE "audio/music/printer.asm"
INCLUDE "audio/music/lookpokemaniac.asm" ; had to be moved because of the changes to the music pointers, for some reason we had free space here.
INCLUDE "audio/music/trainervictory.asm"
SECTION "Songs 4", ROMX
@ -154,6 +154,13 @@ SECTION "New Songs", ROMX
INCLUDE "audio/music/nihontest.asm"
INCLUDE "audio/music/sinjohsample.asm"
INCLUDE "audio/music/lavendercrypt.asm"
INCLUDE "audio/music/NihonTime.asm"
INCLUDE "audio/music/SouthCity.asm"
INCLUDE "audio/music/Peaceful.asm"
INCLUDE "audio/music/CoastTown.asm"
INCLUDE "audio/music/ColdWinter.asm"
INCLUDE "audio/music/CoolCave.asm"
SECTION "Sound Effects", ROMX

960
audio/music/CoastTown.asm Normal file
View file

@ -0,0 +1,960 @@
; Birdon theme
; 11/4 rhythm, composed in D Dorian
; An upbeat city theme, using staccato backing notes on Channel 2. The drum pattern is very simple and mainly here for stability of the soundscape.
; Channel 1 uses a quick staircase note pattern in some places as to emulate hammer-ons.
; The intro part is identical to the last section of the loop, except for the more intricate drum pattern.
; Composed by LuciShrimp
Music_CoastTown:
channel_count 4
channel 1, Music_CoastTown_Ch1
channel 2, Music_CoastTown_Ch2
channel 3, Music_CoastTown_Ch3
channel 4, Music_CoastTown_Ch4
Music_CoastTown_Ch1:
volume 7, 7
note_type 12, 11, 4
vibrato 18, 2, 3
duty_cycle 1
tempo 140
octave 3
note A_, 4
octave 4
note C_, 4
octave 3
note B_, 2
note A_, 2
note G_, 8
note A_, 4
note B_, 4
note A_, 4
note B_, 2
note G_, 2
note F_, 4
note G_, 4
note B_, 4
note A_, 4
octave 4
note D_, 2
octave 3
note B_, 2
octave 4
note C_, 4
note D_, 4
note E_, 2
note F_, 2
note G_, 4
note F_, 4
note E_, 4
note D_, 4
note E_, 2
note F_, 2
octave 8
.mainLoop:
duty_cycle 1
vibrato 18, 2, 3
tempo 140
note_type 12, 11, 4
octave 4
note G_, 4
note F_, 2
note E_, 2
note D_, 2
note C_, 2
note_type 6, 11, 4
note C#, 1
note_type 12, 11, 4
note D_, 7
note_type 6, 11, 4
rest 1
note_type 12, 11, 4
note E_, 2
note D_, 2
note C_, 2
note D_, 4
note C_, 2
note F_, 4
note G_, 4
note F_, 4
note_type 6, 11, 4
note D#, 1
note_type 12, 11, 4
note E_, 11
note_type 6, 11, 4
rest 1
note C#, 1
note_type 12, 11, 4
note D_, 11
note_type 6, 11, 4
rest 1
note_type 12, 11, 4
note C_, 12
note_type 6, 11, 4
note C#, 1
note_type 12, 11, 4
note D_, 7
note_type 6, 11, 4
rest 1
note_type 12, 11, 4
note C_, 16
rest 8
octave 3
note B_, 12
note_type 14, 11, 4
note A_, 6
note_type 6, 11, 4
note A_, 1
note B_, 1
octave 4
note_type 15, 11, 4
note C_, 16
rest 3
note_type 3, 11, 4
rest 1
note_type 12, 11, 4
note D_, 4
note F_, 4
note E_, 4
octave 3
note B_, 8
octave 4
note C_, 12
note D_, 12
note C_, 12
note D_, 8
note_type 6, 11, 4
note D#, 1
note_type 12, 11, 4
note E_, 16
rest 1
note_type 6, 11, 4
rest 1
note_type 12, 11, 4
note D_, 6
note_type 6, 11, 4
note D#, 1
note_type 12, 11, 4
note E_, 16
rest 3
note_type 6, 11, 4
rest 1
octave 3
note_type 12, 11, 4
sound_call .sub1
note_type 12, 11, 4
sound_loop 0, .mainLoop
.sub1:
octave 3
note A_, 4
octave 4
note C_, 4
octave 3
note B_, 2
note A_, 2
note G_, 8
note A_, 4
note B_, 4
note A_, 4
note B_, 2
note G_, 2
note F_, 4
note G_, 4
note B_, 4
note A_, 4
octave 4
note D_, 2
octave 3
note B_, 2
octave 4
note C_, 4
note D_, 4
note E_, 2
note F_, 2
note G_, 4
note F_, 4
note E_, 4
note D_, 4
note E_, 2
note F_, 2
sound_ret
Music_CoastTown_Ch2:
note_type 12, 2, 1
vibrato 18, 2, 3
duty_cycle 2
octave 2
note A_, 2
note_type 6, 1, 1
note A_, 2
note_type 1, 4, 1
rest 12
note_type 12, 2, 1
octave 3
note C_, 2
note_type 6, 1, 1
note C_, 2
note_type 1, 4, 1
rest 12
note_type 12, 2, 1
octave 2
note B_, 2
note_type 6, 1, 1
note A_, 2
note_type 1, 4, 1
rest 12
note_type 12, 2, 1
note G_, 2
note_type 6, 1, 1
note G_, 2
note_type 1, 4, 1
rest 12
note_type 12, 2, 1
note G_, 2
note_type 6, 1, 1
note G_, 2
note_type 1, 4, 1
rest 12
note_type 12, 2, 1
note A_, 2
note_type 6, 1, 1
note A_, 2
note_type 1, 4, 1
rest 12
note_type 12, 2, 1
note B_, 2
note_type 6, 1, 1
note B_, 2
note_type 1, 4, 1
rest 12
note_type 12, 2, 1
note A_, 2
note_type 6, 1, 1
note A_, 2
note_type 1, 4, 1
rest 12
note_type 12, 2, 1
note B_, 2
note_type 6, 1, 1
note G_, 2
note_type 1, 4, 1
rest 12
note_type 12, 2, 1
note A_, 2
octave 3
note_type 6, 1, 1
note C_, 2
note_type 1, 4, 1
rest 12
note_type 12, 2, 1
octave 2
note A_, 2
octave 3
note_type 6, 1, 1
note E_, 2
note_type 1, 4, 1
rest 12
note_type 12, 2, 1
note C_, 2
note_type 6, 1, 1
note C_, 2
note_type 1, 4, 1
rest 12
note_type 12, 4, 1
note E_, 2
note_type 6, 2, 1
note E_, 2
note_type 1, 4, 1
rest 12
note_type 12, 4, 1
note G_, 2
note_type 6, 2, 1
note G_, 2
note_type 1, 4, 1
rest 12
note_type 12, 4, 1
note E_, 2
note_type 6, 2, 1
note E_, 2
note_type 1, 4, 1
rest 12
note_type 12, 4, 1
note G_, 2
note_type 6, 2, 1
note G_, 2
note_type 1, 4, 1
rest 12
note_type 12, 4, 1
note B_, 2
note_type 6, 2, 1
note G_, 2
note_type 1, 4, 1
rest 12
note_type 12, 4, 1
note D_, 2
note_type 6, 2, 1
note D_, 2
note_type 1, 4, 1
rest 12
note_type 12, 6, 1
note F_, 2
note_type 6, 3, 1
note F_, 2
note_type 1, 4, 1
rest 12
note_type 12, 6, 1
note A_, 2
note_type 6, 3, 1
note A_, 2
note_type 1, 4, 1
rest 12
note_type 12, 6, 1
note D_, 2
note_type 6, 3, 1
note G_, 2
note_type 1, 4, 1
rest 12
note_type 12, 7, 1
note D_, 2
note_type 6, 3, 1
octave 2
note B_, 2
note_type 1, 4, 1
rest 12
note_type 12, 4, 1
octave 8
.mainLoop:
vibrato 18, 2, 3
duty_cycle 2
octave 3
volume_envelope 8, 1
note D_, 2
volume_envelope 4, 1
note D_, 2
volume_envelope 8, 1
note F_, 2
volume_envelope 4, 1
note F_, 2
volume_envelope 8, 1
note A_, 2
volume_envelope 4, 1
note A_, 2
volume_envelope 8, 1
note C_, 2
volume_envelope 4, 1
note C_, 2
volume_envelope 8, 1
note F_, 2
volume_envelope 4, 1
note F_, 2
volume_envelope 8, 1
note A_, 2
volume_envelope 4, 1
note F_, 2
volume_envelope 8, 1
note C_, 2
volume_envelope 4, 1
note C_, 2
volume_envelope 8, 1
note E_, 2
volume_envelope 4, 1
note E_, 2
volume_envelope 8, 1
note G_, 2
volume_envelope 4, 1
note G_, 2
volume_envelope 8, 1
octave 2
note A_, 2
octave 3
volume_envelope 4, 1
note C_, 2
volume_envelope 8, 1
octave 2
note A_, 2
octave 3
volume_envelope 4, 1
note E_, 2
volume_envelope 8, 1
note C_, 2
volume_envelope 4, 1
note C_, 2
volume_envelope 8, 1
note E_, 2
volume_envelope 4, 1
note E_, 2
volume_envelope 8, 1
note G_, 2
volume_envelope 4, 1
note G_, 2
volume_envelope 8, 1
note E_, 2
volume_envelope 4, 1
note E_, 2
volume_envelope 8, 1
note G_, 2
volume_envelope 4, 1
note G_, 2
volume_envelope 8, 1
note B_, 2
volume_envelope 4, 1
note G_, 2
note D_, 2
note D_, 2
note F_, 2
note F_, 2
note A_, 2
note A_, 2
note D_, 2
note G_, 2
note D_, 2
note B_, 2
note C_, 2
note C_, 2
note E_, 2
note E_, 2
note G_, 2
note G_, 2
note C_, 2
note C_, 2
note E_, 2
note E_, 2
note G_, 2
note G_, 2
octave 2
note B_, 2
note B_, 2
octave 3
note E_, 2
note E_, 2
note G_, 2
note E_, 2
octave 2
note B_, 2
octave 3
note D_, 2
octave 2
note B_, 2
octave 3
note F_, 2
note C_, 2
note C_, 2
note E_, 2
note E_, 2
note G_, 2
note G_, 2
note C_, 2
note C_, 2
note E_, 2
note E_, 2
note G_, 2
note G_, 2
octave 2
note B_, 2
note B_, 2
octave 3
note E_, 2
note E_, 2
note G_, 2
note E_, 2
octave 2
note B_, 2
octave 3
note D_, 2
octave 2
note B_, 2
octave 3
note F_, 2
note C_, 2
note C_, 2
note E_, 2
note E_, 2
note A_, 2
note A_, 2
note F_, 2
note F_, 2
note D_, 2
note D_, 2
octave 2
note B_, 2
note B_, 2
octave 3
note E_, 2
note E_, 2
note G_, 2
note G_, 2
note E_, 2
note E_, 2
note D_, 2
note F_, 2
note A_, 2
note F_, 2
note E_, 2
note E_, 2
note G_, 2
note G_, 2
note B_, 2
note B_, 2
note G_, 2
note G_, 2
note E_, 2
note E_, 2
note A_, 2
note A_, 2
note B_, 2
note B_, 2
note G_, 2
note G_, 2
note E_, 2
note E_, 2
note G_, 2
note B_, 2
note G_, 2
note E_, 2
octave 2
note A_, 2
note A_, 2
octave 3
note C_, 2
note C_, 2
octave 2
note B_, 2
note A_, 2
note G_, 2
note G_, 2
note G_, 2
note G_, 2
note A_, 2
note A_, 2
note B_, 2
note B_, 2
note A_, 2
note A_, 2
note B_, 2
note G_, 2
note A_, 2
octave 3
note C_, 2
octave 2
note A_, 2
octave 3
note E_, 2
note C_, 2
note C_, 2
note E_, 2
note E_, 2
note G_, 2
note G_, 2
note E_, 2
note E_, 2
note G_, 2
note G_, 2
note B_, 2
note G_, 2
note D_, 2
note D_, 2
note F_, 2
note F_, 2
note A_, 2
note A_, 2
note D_, 2
note G_, 2
note D_, 2
octave 2
note B_, 2
octave 3
note_type 12, 4, 1
sound_loop 0, .mainLoop
Music_CoastTown_Ch3:
note_type 12, 2, 5
vibrato 6, 2, 6
octave 3
note D_, 2
rest 4
note G_, 2
note A_, 2
note F_, 2
octave 2
note A#, 2
octave 3
rest 4
note D_, 2
note F_, 2
note A_, 2
note G_, 2
rest 2
note G_, 2
rest 2
note C_, 2
note E_, 2
note F_, 2
rest 2
note E_, 2
note D_, 2
note C_, 2
rest 2
note C_, 2
rest 2
note G_, 2
note E_, 2
octave 2
note B_, 2
octave 3
rest 2
note D_, 2
rest 2
note E_, 2
note G_, 2
note D_, 2
rest 2
note D_, 2
rest 2
note F_, 2
note G_, 2
note A_, 2
rest 2
note G_, 2
note F_, 2
octave 8
.mainLoop:
vibrato 6, 2, 6
octave 3
volume_envelope 2, 5
note D_, 2
rest 2
note D_, 2
rest 2
note A_, 2
note F_, 2
note C_, 2
rest 2
note C_, 2
rest 2
note F_, 2
note A_, 2
note G_, 2
rest 2
note G_, 2
rest 2
note C_, 2
note E_, 2
note F_, 2
rest 2
note E_, 2
note D_, 2
note C_, 2
rest 2
note C_, 2
rest 2
note G_, 2
note E_, 2
octave 2
note B_, 2
rest 2
note B_, 2
octave 3
note D_, 2
note G_, 2
note E_, 2
note D_, 2
rest 2
note D_, 2
rest 2
note F_, 2
note G_, 2
note A_, 2
rest 2
note G_, 2
note D_, 2
note C_, 4
note E_, 8
note C_, 4
note G_, 4
octave 4
note C_, 4
octave 2
note B_, 4
octave 3
note E_, 8
octave 2
note B_, 2
octave 3
note D_, 2
note F_, 2
note B_, 2
note C_, 4
note E_, 4
octave 4
note C_, 4
octave 3
note G_, 8
note E_, 2
note C_, 2
octave 2
note B_, 2
octave 3
note G_, 2
note E_, 8
note F_, 2
note D_, 2
octave 2
note B_, 4
octave 3
note C_, 4
note E_, 4
note A_, 2
note E_, 2
octave 2
note B_, 4
octave 3
note D_, 4
note F_, 2
note D_, 2
note C_, 4
note E_, 4
note G_, 2
note E_, 2
note D_, 4
note A_, 2
note F_, 2
note E_, 4
note G_, 8
note B_, 4
note A_, 4
note G_, 4
note E_, 4
note G_, 8
note E_, 4
note B_, 2
note G_, 2
sound_call .sub1
note_type 12, 2, 5
sound_loop 0, .mainLoop
.sub1:
octave 3
volume_envelope 2, 5
note D_, 2
rest 4
note G_, 2
note A_, 2
note F_, 2
octave 2
note A#, 2
octave 3
rest 4
note D_, 2
note F_, 2
note A_, 2
note G_, 2
rest 2
note G_, 2
rest 2
note C_, 2
note E_, 2
note F_, 2
rest 2
note E_, 2
note D_, 2
note C_, 2
rest 2
note C_, 2
rest 2
note G_, 2
note E_, 2
octave 2
note B_, 2
octave 3
rest 2
note D_, 2
rest 2
note E_, 2
note G_, 2
note D_, 2
rest 2
note D_, 2
rest 2
note F_, 2
note G_, 2
note A_, 2
rest 2
note G_, 2
note F_, 2
sound_ret
Music_CoastTown_Ch4:
toggle_noise 0
drum_speed 12
octave 5
drum_note 8, 1
rest 3
drum_note 6, 1
rest 3
drum_note 6, 1
rest 3
drum_note 8, 1
rest 3
drum_note 6, 1
rest 3
drum_note 6, 1
rest 3
drum_note 8, 1
rest 3
drum_note 6, 1
rest 3
drum_note 6, 1
rest 3
drum_note 8, 1
rest 3
drum_note 6, 1
rest 1
drum_note 6, 1
rest 1
drum_note 8, 1
rest 3
drum_note 6, 1
rest 3
drum_note 6, 1
rest 3
drum_note 8, 1
rest 3
drum_note 6, 1
rest 3
drum_note 6, 1
rest 1
drum_note 6, 1
rest 1
drum_note 8, 1
rest 3
drum_note 6, 1
rest 3
drum_note 6, 1
rest 3
drum_note 8, 1
rest 1
drum_note 6, 1
rest 1
drum_note 6, 1
rest 1
drum_note 6, 1
drum_note 6, 1
octave 8
.mainLoop:
toggle_noise
toggle_noise 2
octave 5
.loop1:
.loop2:
sound_call .sub1
rest 1
sound_loop 2, .loop2
.loop3:
drum_note 2, 1
rest 3
drum_note 8, 1
rest 3
drum_note 8, 1
rest 3
drum_note 2, 1
rest 3
drum_note 8, 1
rest 1
drum_note 8, 1
rest 1
drum_note 8, 1
rest 3
drum_note 2, 1
rest 3
drum_note 8, 1
rest 3
drum_note 8, 1
rest 3
drum_note 2, 1
rest 3
drum_note 8, 1
rest 1
drum_note 8, 1
rest 1
drum_note 2, 1
rest 3
drum_note 8, 1
rest 1
drum_note 8, 1
rest 1
drum_note 8, 1
rest 3
drum_note 2, 1
rest 3
drum_note 8, 1
rest 1
drum_note 8, 1
rest 1
drum_note 8, 1
rest 1
drum_note 8, 1
rest 1
drum_note 2, 1
rest 3
drum_note 8, 1
rest 1
drum_note 8, 1
rest 1
drum_note 8, 1
rest 3
drum_note 2, 1
rest 1
drum_note 8, 1
rest 1
drum_note 8, 1
rest 1
drum_note 8, 1
drum_note 6, 1
sound_loop 2, .loop3
sound_call .sub1
drum_speed 12
rest 1
sound_call .sub1
drum_speed 12
rest 1
octave 5
sound_loop 0, .mainLoop
.sub1:
drum_note 2, 1
rest 3
drum_note 8, 1
rest 1
drum_note 6, 1
rest 1
drum_note 8, 1
rest 3
octave 6
drum_note 3, 1
rest 3
octave 5
drum_note 8, 1
rest 1
drum_note 6, 1
rest 1
drum_note 8, 1
rest 3
octave 6
drum_note 3, 1
rest 3
octave 5
drum_note 8, 1
rest 1
drum_note 6, 1
rest 1
drum_note 8, 1
rest 3
octave 6
drum_note 3, 1
rest 3
octave 5
drum_note 8, 1
rest 1
drum_note 8, 1
sound_ret

550
audio/music/ColdWinter.asm Normal file
View file

@ -0,0 +1,550 @@
; Cave type theme
; 4/4 rhythm, composed in D Minor Natural
; A somewhat sombre and dramatic theme, with fast drums and a high tempo.
; The first square and the wave channels both play in a low octave while the lead channel(Wave 2) plays relatively high notes for a strong contrast.
; This theme started out by me jamming on my bass, and turned into this. I don't know, I just really like dramatic music.
; Composed by LuciShrimp.
Music_ColdWinter:
channel_count 4
channel 1, Music_ColdWinter_Ch1
channel 2, Music_ColdWinter_Ch2
channel 3, Music_ColdWinter_Ch3
channel 4, Music_ColdWinter_Ch4
Music_ColdWinter_Ch1:
volume 7, 7
note_type 12, 15, 8
octave 2
tempo 211
sound_call .sub1
octave 8
.mainLoop:
octave 2
.loop1:
vibrato 12, 2, 2
duty_cycle 2
volume_envelope 11, 7
note D_, 1
note F_, 1
note G_, 2
octave 2
note A_, 4
note D_, 4
note E_, 4
note C_, 1
note F_, 1
note G_, 2
note A_, 4
note C_, 1
note F_, 2
note G_, 1
octave 3
note C_, 2
octave 2
note A_, 2
note D_, 8
note C_, 8
note E_, 8
note D_, 4
octave 1
note A#, 2
octave 2
note C_, 2
sound_loop 4, .loop1
note_type 12, 15, 8
sound_loop 0, .mainLoop
.sub1:
vibrato 12, 2, 2
duty_cycle 2
volume_envelope 11, 7
note D_, 1
note F_, 1
note G_, 2
octave 2
note A_, 4
note D_, 4
note E_, 4
note C_, 1
note F_, 1
note G_, 2
note A_, 4
note C_, 1
note F_, 2
note G_, 1
octave 3
note C_, 2
octave 2
note A_, 2
note D_, 8
note C_, 8
note E_, 8
note D_, 4
octave 1
note A#, 2
octave 2
note C_, 2
sound_ret
Music_ColdWinter_Ch2:
note_type 12, 1, 7
octave 4
vibrato 21, 3, 3
duty_cycle 3
note D_, 8
octave 3
volume_envelope 2, 7
note A#, 8
octave 4
volume_envelope 4, 7
note C_, 8
octave 3
volume_envelope 0, 7
note G_, 8
volume_envelope 6, 7
note A#, 8
volume_envelope 8, 7
note F_, 8
volume_envelope 10, 7
note A_, 8
volume_envelope 14, 7
note G_, 4
note F_, 4
octave 8
.mainLoop:
octave 4
volume_envelope 15, 7
note D_, 16
note F_, 8
note E_, 6
octave 3
note A#, 1
octave 4
note C_, 1
note D_, 16
octave 3
note A#, 8
octave 4
note C_, 4
note D_, 1
note E_, 1
note F_, 1
note G_, 1
octave 5
sound_call .sub2
note F_, 1
note G_, 1
octave 4
note A_, 8
note G_, 8
octave 5
note C_, 3
octave 4
note A#, 1
note A_, 3
note G_, 1
note A#, 1
note A_, 1
note G_, 1
note F_, 1
note A_, 1
note G_, 1
note F_, 1
note E_, 1
note_type 12, 15, 8
octave 5
sound_call .sub2
octave 4
note_type 12, 15, 7
note F_, 2
octave 5
note C_, 8
octave 4
note A#, 8
octave 5
note D_, 3
octave 4
note A#, 1
note G_, 3
note A_, 1
note A#, 1
note A_, 1
note G_, 1
note F_, 1
note A_, 1
note G_, 1
note F_, 1
note E_, 1
note D_, 8
octave 3
note A#, 8
octave 4
note C_, 8
octave 3
note G_, 8
note A#, 8
note F_, 8
note A_, 8
note G_, 4
note F_, 4
note_type 12, 15, 8
sound_loop 0, .mainLoop
.sub2:
octave 4
volume_envelope 15, 7
note A_, 8
note F_, 8
note A#, 4
note G_, 8
note E_, 2
sound_ret
Music_ColdWinter_Ch3:
note_type 12, 1, 0
octave 2
sound_call .sub1
octave 8
.mainLoop:
octave 2
sound_call .sub1
note_type 12, 1, 0
.loop1:
vibrato 5, 1, 0
volume_envelope 1, 10
note D_, 2
octave 1
note A_, 1
octave 2
note F_, 1
note A_, 2
note A_, 4
note A_, 2
note D_, 2
note A_, 2
note C_, 2
octave 1
note A#, 1
octave 2
note F_, 1
note A_, 2
note A_, 4
note A_, 2
octave 3
note C_, 2
octave 2
note A_, 2
octave 1
note A#, 2
note G_, 1
octave 2
note D_, 1
note F_, 2
note F_, 4
note F_, 2
note G_, 2
note A_, 2
octave 1
note A_, 2
note F_, 1
octave 2
note D_, 1
note F_, 2
note F_, 2
note E_, 4
note D_, 2
octave 1
note A#, 1
octave 2
note C_, 1
sound_loop 2, .loop1
vibrato 5, 1, 0
volume_envelope 1, 10
note D_, 2
octave 1
note A_, 1
octave 2
note F_, 1
note A_, 2
note D_, 4
note D_, 4
note D_, 2
note C_, 2
octave 1
note A_, 1
octave 2
note F_, 1
note A_, 2
note C_, 4
note C_, 4
note C_, 2
octave 1
note A_, 2
note F_, 1
octave 2
note D_, 1
note F_, 2
octave 1
note A#, 4
note A#, 4
note A#, 2
note A_, 2
note F_, 1
octave 2
note D_, 1
note F_, 2
octave 1
note A_, 4
note A_, 4
note A_, 2
octave 2
sound_loop 0, .mainLoop
.sub1:
vibrato 5, 1, 0
volume_envelope 1, 10
note D_, 2
octave 1
note A_, 1
octave 2
note F_, 1
note A_, 2
note D_, 4
note D_, 4
note D_, 2
note C_, 2
octave 1
note A_, 1
octave 2
note F_, 1
note A_, 2
note C_, 4
note C_, 4
note C_, 2
octave 1
note A_, 2
note F_, 1
octave 2
note D_, 1
note F_, 2
octave 1
note A#, 4
note A#, 4
note A#, 2
note A_, 2
note F_, 1
octave 2
note D_, 1
note F_, 2
octave 1
note A_, 4
note A_, 4
note A_, 2
octave 2
sound_ret
Music_ColdWinter_Ch4:
toggle_noise 0
drum_speed 12
octave 6
toggle_noise
toggle_noise 3
drum_note 7, 1
rest 3
drum_note 7, 1
rest 3
drum_note 7, 1
rest 3
drum_note 7, 1
rest 3
drum_note 7, 1
rest 3
drum_note 7, 1
rest 3
drum_note 7, 1
rest 3
drum_note 7, 1
rest 1
drum_note 7, 1
rest 1
drum_note 7, 1
rest 3
drum_note 7, 1
rest 3
drum_note 7, 1
rest 3
drum_note 7, 1
rest 1
drum_note 7, 1
rest 1
drum_note 7, 1
rest 3
drum_note 7, 1
rest 3
drum_note 7, 1
rest 1
drum_note 7, 1
rest 1
drum_note 7, 1
drum_note 7, 1
drum_note 7, 1
drum_note 7, 1
octave 8
.mainLoop:
octave 6
.loop1:
drum_note 7, 1
rest 1
octave 7
drum_note 3, 1
drum_note 3, 1
octave 6
drum_note 7, 1
rest 1
octave 7
drum_note 2, 1
drum_note 2, 1
octave 6
drum_note 7, 1
rest 1
octave 7
drum_note 2, 1
drum_note 2, 1
octave 6
drum_note 7, 1
rest 1
octave 7
drum_note 3, 1
drum_note 3, 1
octave 6
sound_loop 3, .loop1
sound_call .sub1
octave 6
sound_call .sub2
drum_speed 12
octave 6
sound_call .sub2
octave 6
drum_speed 12
sound_call .sub2
octave 6
drum_speed 12
sound_call .sub2
octave 6
drum_speed 12
sound_call .sub2
octave 6
drum_speed 12
sound_call .sub2
octave 6
drum_speed 12
sound_call .sub2
octave 6
drum_speed 12
sound_call .sub2
octave 6
drum_speed 12
.loop2:
drum_note 7, 1
rest 1
octave 7
drum_note 1, 1
drum_note 1, 1
octave 6
drum_note 7, 1
rest 1
octave 7
drum_note 2, 1
drum_note 2, 1
octave 6
drum_note 7, 1
rest 1
octave 7
drum_note 2, 1
drum_note 2, 1
octave 6
drum_note 7, 1
rest 1
octave 7
drum_note 3, 1
drum_note 3, 1
octave 6
sound_loop 3, .loop2
drum_note 7, 1
rest 1
octave 7
drum_note 1, 1
drum_note 1, 1
octave 6
drum_note 7, 1
rest 1
octave 7
drum_note 2, 1
drum_note 2, 1
octave 6
drum_note 7, 1
rest 1
octave 7
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
sound_loop 0, .mainLoop
.sub1:
drum_note 7, 1
rest 1
octave 7
drum_note 1, 1
drum_note 1, 1
octave 6
drum_note 7, 1
rest 1
octave 7
drum_note 2, 1
drum_note 2, 1
octave 6
drum_note 7, 1
rest 1
octave 7
drum_note 2, 1
drum_note 2, 1
octave 6
drum_note 7, 1
rest 1
octave 7
drum_note 3, 1
drum_note 3, 1
sound_ret
.sub2:
drum_note 7, 1
drum_note 8, 1
octave 7
drum_note 1, 1
drum_note 1, 1
octave 6
drum_note 7, 1
drum_note 8, 1
octave 7
drum_note 1, 1
drum_note 2, 1
octave 6
drum_note 7, 1
drum_note 8, 1
octave 7
drum_note 1, 1
drum_note 1, 1
octave 6
drum_note 7, 1
drum_note 8, 1
octave 7
drum_note 1, 1
drum_speed 6
drum_note 1, 1
drum_note 1, 1
sound_ret

827
audio/music/CoolCave.asm Normal file
View file

@ -0,0 +1,827 @@
; Cool Cave theme
; 4/4 rhythm, composed in F Phrygian.
; Custom waveforms are required, specifically the 10th one from the JEP wave_samples.asm file.
; This theme started out with two ideas. Firstly, I really wanted to try my hand at negative harmony. I initially composed this in G Major and just went and inverted all the intervals. The vibe of the song is something I probably
; would not have cooked up without this plan.
; Secondly, I really, REALLY wanted to do something with a high pitched wave channel after listening to the absolutely AMAZING sinjohsample theme that Zeta_Null cooked up. I've only really used the wave channel for backing
; up until now, but I'm very happy with how the kind of futuristic wave notes contrast the bass line on Channel 1, which starts out sounding very metal-like and later becomes a lot more energetic.
; Channel 2 takes a sort of mixed role between lead and backing, which I really quite like. Overall, I am just very happy with this theme and could probably write 10 more paragraphs, but I digress.
; Composed by LuciShrimp.
Music_CoolCave:
channel_count 4
channel 1, Music_CoolCave_Ch1
channel 2, Music_CoolCave_Ch2
channel 3, Music_CoolCave_Ch3
channel 4, Music_CoolCave_Ch4
Music_CoolCave_Ch1:
tempo 256
volume 7, 7
note_type 12, 15, 8
octave 2
sound_call .sub2
octave 8
note_type 12, 15, 8
.mainLoop:
tempo 202
duty_cycle 2
octave 2
vibrato 9, 2, 2
volume_envelope 15, 7
sound_call .sub1
vibrato 10, 2, 2
tempo 201
duty_cycle 3
volume_envelope 12, 7
octave 1
note A#, 3
note A#, 1
octave 2
note F_, 2
note D#, 2
octave 1
note A#, 3
note_type 9, 12, 7
note A#, 1
octave 2
note_type 3, 12, 7
note D_, 1
note_type 12, 12, 7
note D#, 2
note C#, 1
note C_, 1
octave 1
note A#, 3
note A#, 1
octave 2
note D#, 2
note C#, 2
note C_, 4
octave 1
note G#, 4
note A#, 3
note A#, 1
octave 2
note F_, 2
note D#, 2
octave 1
note A#, 3
note_type 9, 12, 7
note A#, 1
octave 2
note_type 3, 12, 7
note G_, 1
note_type 12, 12, 7
note G#, 2
note F#, 1
note F_, 1
note C_, 3
note C_, 1
note D#, 2
note C#, 2
note C_, 4
octave 1
note G#, 4
note A#, 8
note D#, 8
note G#, 8
note C#, 8
note F_, 4
note A#, 4
note A#, 4
note A#, 4
note F#, 2
octave 2
note C#, 2
octave 1
note F#, 2
octave 2
note C#, 2
octave 1
note D#, 1
note A#, 1
note D#, 1
note A#, 1
note F#, 4
octave 2
sound_call .sub1
note_type 12, 15, 7
octave 3
sound_loop 0, .mainLoop
.sub1:
vibrato 10, 2, 2
tempo 201
duty_cycle 3
octave 1
volume_envelope 12, 7
note F_, 3
note F_, 1
octave 2
note C_, 2
octave 1
note A#, 2
note F_, 3
note_type 9, 12, 7
note F_, 1
note_type 3, 12, 7
note A_, 1
note_type 12, 12, 7
note A#, 2
note G#, 1
note F#, 1
note F_, 3
note F_, 1
note G#, 2
note F#, 2
note F_, 3
note F_, 1
note D#, 4
note F_, 3
note F_, 1
octave 2
note C_, 2
octave 1
note A#, 2
note F_, 3
note_type 9, 12, 7
note F_, 1
note_type 3, 12, 7
note A_, 1
note_type 12, 12, 7
note A#, 2
note G#, 1
note F#, 1
note F_, 3
note F_, 1
note G#, 2
note F#, 2
note F_, 3
note F_, 1
note F#, 4
octave 2
sound_ret
.sub2:
vibrato 10, 2, 2
tempo 201
duty_cycle 3
octave 1
volume_envelope 12, 7
note F_, 3
note F_, 1
octave 2
note C_, 2
octave 1
note A#, 2
note F_, 3
note_type 9, 12, 7
note F_, 1
note_type 3, 12, 7
note A_, 1
note_type 12, 12, 7
note A#, 2
note G#, 1
note F#, 1
note F_, 3
note F_, 1
note G#, 2
note F#, 2
note F_, 3
note F_, 1
note D#, 4
note F_, 3
note F_, 1
octave 2
note C_, 2
octave 1
note A#, 2
note F_, 3
note_type 9, 12, 7
note F_, 1
note_type 3, 12, 7
note A_, 1
note_type 12, 12, 7
note A#, 2
note G#, 1
note F#, 1
note F_, 3
note F_, 1
note G#, 2
note F#, 2
note F_, 3
note F_, 1
note F#, 4
octave 2
sound_ret
Music_CoolCave_Ch2:
note_type 12, 12, 7
duty_cycle 3
vibrato 13, 3, 3
octave 4
note C_, 8
volume_envelope 6, 7
note C_, 8
rest 8
volume_envelope 12, 7
note C#, 8
note C_, 8
volume_envelope 6, 7
note C_, 8
note_type 12, 12, 7
rest 8
note D#, 8
volume_envelope 2, 7
octave 8
.mainLoop:
volume_envelope 12, 7
octave 4
note C_, 4
note C#, 4
octave 3
note A#, 8
note F#, 8
note F_, 4
note D#, 1
note F_, 1
note F#, 1
note G#, 1
octave 4
note C_, 8
volume_envelope 6, 7
note C_, 8
note_type 12, 12, 7
octave 3
note F#, 8
note G#, 4
note F#, 1
note G#, 1
note A#, 1
octave 4
note C_, 1
note F_, 1
note D#, 1
note C#, 1
note C_, 1
octave 3
note A#, 4
octave 4
note C_, 2
octave 3
note A#, 2
note G#, 2
note F_, 2
note F#, 8
note D#, 4
octave 2
note A#, 1
octave 3
note C_, 1
note C#, 1
note D#, 1
note F_, 8
note F#, 4
note A#, 1
octave 4
note C_, 1
octave 3
note A#, 1
octave 4
note C_, 1
note D#, 4
note C#, 4
note C_, 2
octave 3
note A#, 2
note G#, 2
note A#, 2
sound_call .sub1
rest 1
octave 3
sound_call .sub1
note_type 12, 6, 7
rest 1
octave 3
volume_envelope 12, 7
sound_call .sub2
rest 1
octave 3
sound_call .sub2
note_type 12, 6, 7
rest 1
octave 3
volume_envelope 12, 7
.loop1:
volume_envelope 12, 7
octave 4
note F_, 1
rest 1
octave 3
note A#, 1
octave 4
rest 1
volume_envelope 6, 7
note F_, 1
rest 1
octave 3
note A#, 1
rest 1
sound_loop 2, .loop1
.loop2:
volume_envelope 12, 7
octave 4
note C#, 1
octave 3
note F#, 1
sound_loop 4, .loop2
octave 2
.loop3:
octave 3
note A#, 1
note D#, 1
octave 2
sound_loop 2, .loop3
octave 3
note G#, 1
note A_, 1
note A#, 1
note B_, 1
octave 4
note C_, 8
volume_envelope 6, 7
note C_, 8
rest 8
volume_envelope 12, 7
note C#, 7
octave 3
note A#, 1
octave 4
note C_, 8
volume_envelope 6, 7
note C_, 8
note_type 12, 12, 7
note D#, 2
note C#, 2
note C_, 2
note C#, 2
note D#, 4
note F_, 4
octave 8
note_type 12, 15, 8
sound_loop 0, .mainLoop
.sub1:
volume_envelope 12, 7
octave 4
note D#, 1
rest 1
volume_envelope 6, 7
note D#, 1
rest 1
volume_envelope 12, 7
octave 3
note A#, 1
rest 1
volume_envelope 6, 7
note A#, 1
octave 2
sound_ret
.sub2:
volume_envelope 12, 7
octave 4
note C_, 1
rest 1
volume_envelope 6, 7
note C_, 1
rest 1
volume_envelope 12, 7
octave 3
note G#, 1
rest 1
volume_envelope 6, 7
note G#, 1
octave 2
sound_ret
Music_CoolCave_Ch3:
note_type 12, 1, 11
vibrato 3, 2, 2
octave 5
sound_call .sub1
octave 8
rest 1
.mainLoop:
octave 6
volume_envelope 1, 3
sound_call .sub2
vibrato 3, 2, 2
octave 5
volume_envelope 1, 10
note D#, 2
octave 4
note G#, 1
note G#, 1
octave 5
volume_envelope 2, 10
note D#, 2
octave 4
note G#, 1
note G#, 1
octave 5
volume_envelope 1, 10
note C#, 2
octave 4
note F#, 1
note F#, 1
octave 5
volume_envelope 2, 10
note C#, 2
octave 4
note F#, 1
note F#, 1
octave 6
sound_call .sub2
note_type 12, 1, 10
octave 5
note G#, 2
note C#, 1
note C#, 1
volume_envelope 2, 10
note G#, 2
note C#, 1
note C#, 1
volume_envelope 1, 10
note F#, 2
note C_, 1
note C_, 1
volume_envelope 2, 10
note F#, 2
note C_, 1
note C_, 1
volume_envelope 1, 11
.loop1:
volume_envelope 1, 10
octave 5
note A#, 2
note D#, 1
note D#, 1
volume_envelope 2, 10
note A#, 2
note D#, 1
note D#, 1
volume_envelope 3, 10
note A#, 2
note D#, 1
note D#, 1
note A#, 2
note D#, 1
note D#, 1
octave 6
volume_envelope 1, 10
note C#, 2
octave 5
note F#, 1
note F#, 1
octave 6
volume_envelope 2, 10
note C#, 2
octave 5
note F#, 1
note F#, 1
octave 6
volume_envelope 1, 10
note D#, 2
octave 5
note G#, 1
note G#, 1
octave 6
note F_, 2
octave 5
note A#, 1
note A#, 1
note A#, 2
note D#, 1
note D#, 1
note A#, 2
note D#, 1
note D#, 1
volume_envelope 3, 10
note A#, 2
note D#, 1
note D#, 1
note A#, 2
note D#, 1
note D#, 1
octave 6
volume_envelope 1, 10
note C#, 2
octave 5
note F#, 1
note F#, 1
octave 6
volume_envelope 2, 10
note C#, 2
octave 5
note F#, 1
note F#, 1
note A#, 2
note D#, 1
note D#, 1
note F#, 2
note C_, 1
note C_, 1
sound_loop 2, .loop1
sound_call .sub1
octave 8
note_type 12, 2, 11
rest 1
note_type 12, 1, 0
sound_loop 0, .mainLoop
.sub1:
volume_envelope 1, 10
note F_, 1
rest 1
volume_envelope 2, 10
note F_, 1
rest 1
volume_envelope 3, 10
note F_, 1
rest 1
note F_, 1
rest 1
volume_envelope 1, 10
note F_, 1
rest 1
volume_envelope 2, 10
note F_, 1
rest 1
volume_envelope 3, 10
note F_, 1
rest 1
note F_, 1
note_type 12, 3, 3
rest 1
volume_envelope 1, 10
note F#, 1
rest 1
volume_envelope 2, 10
note F#, 1
rest 1
volume_envelope 3, 10
note F#, 1
rest 1
note F#, 1
rest 1
volume_envelope 1, 10
note D#, 1
rest 1
volume_envelope 2, 10
note D#, 1
rest 1
volume_envelope 3, 10
note D#, 1
rest 1
note D#, 1
rest 1
volume_envelope 1, 10
note F_, 1
rest 1
volume_envelope 2, 10
note F_, 1
rest 1
volume_envelope 3, 10
note F_, 1
rest 1
note F_, 1
note_type 12, 3, 3
rest 1
volume_envelope 1, 10
note F_, 1
rest 1
volume_envelope 2, 10
note F_, 1
rest 1
volume_envelope 3, 10
note F_, 1
rest 1
note F_, 1
note_type 12, 3, 3
rest 1
volume_envelope 1, 10
note G#, 1
rest 1
volume_envelope 2, 10
note G#, 1
rest 1
volume_envelope 3, 10
note G#, 1
rest 1
note G#, 1
rest 1
volume_envelope 1, 10
octave 5
note A#, 1
rest 1
volume_envelope 2, 10
note A#, 1
octave 6
rest 1
volume_envelope 1, 10
note C_, 1
rest 1
volume_envelope 2, 10
note C_, 1
sound_ret
.sub2:
vibrato 3, 2, 2
octave 5
volume_envelope 1, 10
note F_, 2
octave 4
note A#, 1
note A#, 1
octave 5
volume_envelope 2, 10
note F_, 2
octave 4
note A#, 1
note A#, 1
octave 5
volume_envelope 3, 10
note F_, 2
octave 4
note A#, 1
note A#, 1
octave 5
note F_, 2
octave 4
note A#, 1
note A#, 1
octave 5
sound_ret
Music_CoolCave_Ch4:
toggle_noise 0
drum_speed 12
toggle_noise
toggle_noise 4
octave 3
drum_note 2, 1
rest 3
drum_note 2, 1
rest 3
drum_note 2, 1
rest 3
drum_note 2, 1
rest 3
drum_note 2, 1
rest 3
drum_note 2, 1
rest 3
drum_note 2, 1
rest 3
drum_note 2, 1
rest 1
drum_note 2, 1
drum_note 2, 1
drum_note 2, 1
rest 1
drum_note 7, 1
rest 1
drum_note 2, 1
rest 1
drum_note 7, 1
rest 1
drum_note 2, 1
rest 1
drum_note 7, 1
rest 1
drum_note 2, 1
rest 1
drum_note 7, 1
rest 1
drum_note 2, 1
rest 1
drum_note 7, 1
rest 1
drum_note 2, 1
rest 1
drum_note 7, 1
rest 1
drum_note 2, 1
rest 1
drum_note 7, 1
rest 1
drum_note 2, 1
rest 1
drum_note 2, 1
drum_note 2, 1
octave 8
.mainLoop:
octave 6
sound_call .sub1
drum_speed 12
octave 6
.loop1:
octave 2
drum_note 12, 1
rest 1
octave 3
drum_note 4, 1
rest 1
drum_note 3, 1
rest 2
drum_note 4, 1
drum_note 4, 1
rest 1
drum_note 4, 1
rest 1
drum_note 3, 1
rest 1
drum_note 3, 1
drum_note 3, 1
drum_note 2, 1
rest 1
drum_note 4, 1
rest 1
drum_note 3, 1
rest 1
drum_note 3, 1
drum_note 3, 1
drum_note 4, 1
rest 1
drum_note 4, 1
rest 1
drum_note 3, 1
rest 1
drum_note 3, 1
drum_note 3, 1
octave 6
sound_loop 4, .loop1
octave 6
sound_call .sub1
octave 8
drum_speed 12
sound_loop 0, .mainLoop
.sub1:
octave 2
drum_note 12, 1
rest 3
octave 3
drum_note 3, 1
rest 2
drum_note 4, 1
drum_note 4, 1
rest 1
drum_note 4, 1
rest 1
drum_note 3, 1
rest 3
drum_note 4, 1
rest 3
drum_note 3, 1
rest 2
drum_note 4, 1
drum_note 4, 1
rest 1
drum_note 4, 1
rest 1
drum_note 3, 1
rest 1
drum_note 3, 1
drum_note 3, 1
octave 2
drum_note 12, 1
rest 3
octave 3
drum_note 3, 1
rest 2
drum_note 4, 1
drum_note 4, 1
rest 1
drum_note 4, 1
rest 1
drum_note 3, 1
rest 3
drum_note 4, 1
rest 3
drum_note 3, 1
rest 2
drum_note 4, 1
drum_note 4, 1
rest 1
drum_note 4, 1
rest 1
drum_note 3, 1
rest 1
drum_note 3, 1
drum_note 3, 1
octave 7
sound_ret

471
audio/music/NihonTime.asm Normal file
View file

@ -0,0 +1,471 @@
; Nihon Route theme
; 4/4 rhythm, composed in C# Mixolydian.
; An upbeat generic route theme, loosely inspired by the intro theme song of the Johto Journeys anime.
; The relatively high BPM(read: low Tempo value) along with the fast drums gives the theme an adventurous feel.
; The drums are quite fast in the latter half of the track to give it more of a forward push.
; Composed by LuciShrimp
Music_NihonTime:
channel_count 4
channel 1, Music_NihonTime_Ch1
channel 2, Music_NihonTime_Ch2
channel 3, Music_NihonTime_Ch3
channel 4, Music_NihonTime_Ch4
Music_NihonTime_Ch1:
tempo 256
volume 7, 7
note_type 12, 15, 8
.mainLoop:
tempo 160
duty_cycle 2
volume_envelope 10, 4
octave 3
note G#, 4
note F_, 2
note D#, 2
note F#, 4
note F_, 4
note A#, 4
note G#, 2
note F_, 2
note F#, 4
note D#, 4
note G#, 4
volume_envelope 7, 4
note G#, 4
volume_envelope 5, 4
note G#, 4
volume_envelope 3, 4
note G#, 4
volume_envelope 10, 4
note F#, 4
note F_, 2
note F#, 2
note G#, 4
octave 2
note B_, 1
octave 3
note D#, 1
note F#, 1
note G#, 1
note A#, 4
note G#, 2
note F#, 2
note F_, 4
note C#, 4
octave 4
note C#, 4
octave 3
note B_, 2
note G#, 2
note A#, 2
note G#, 2
note F#, 2
note D#, 2
octave 4
note C#, 4
volume_envelope 7, 4
note C#, 4
volume_envelope 5, 4
note C#, 4
volume_envelope 3, 4
note C#, 2
octave 3
volume_envelope 10, 4
note G#, 1
note A#, 1
note B_, 4
note A#, 2
note B_, 2
octave 4
note C#, 1
octave 3
note B_, 1
note G#, 1
note F_, 1
note C#, 1
octave 2
note A#, 1
note F#, 1
note D#, 1
octave 3
note C#, 2
note D#, 4
note F_, 4
note G#, 4
note F#, 2
note C#, 1
note D#, 1
note F_, 1
note F#, 1
note A#, 1
note B_, 1
octave 4
note C#, 1
note D#, 1
octave 3
note A#, 1
note B_, 1
note F#, 1
note G#, 1
note F#, 4
note G#, 4
octave 4
note C#, 4
note F_, 4
note D#, 1
note C#, 1
octave 3
note B_, 1
note A#, 1
octave 4
note C#, 4
note F_, 2
note F#, 2
note D#, 2
note F#, 1
note F_, 1
note D#, 1
note C#, 1
octave 3
note B_, 1
note G#, 1
note F_, 2
note F#, 4
note G#, 4
note B_, 4
note A#, 2
note F_, 1
note F#, 1
note G#, 1
note A#, 1
octave 4
note C#, 1
note D#, 1
note F_, 1
note F#, 1
note C#, 1
note D#, 1
octave 3
note A#, 1
note B_, 1
octave 4
note D#, 4
octave 3
note G#, 4
octave 4
note C#, 1
octave 3
note B_, 2
note A#, 1
note G#, 2
note F#, 1
note D#, 2
note F#, 1
note G#, 2
octave 4
note D#, 4
note C#, 2
note D#, 2
note F_, 1
note D#, 1
note C#, 1
octave 3
note B_, 1
note A#, 1
note G#, 1
note F#, 1
note F_, 1
octave 8
sound_loop 0, .mainLoop
Music_NihonTime_Ch2:
note_type 12, 15, 8
.mainLoop:
volume_envelope 11, 4
vibrato 18, 2, 3
duty_cycle 1
octave 4
note C#, 16
note D#, 8
octave 3
note B_, 6
note A#, 1
note B_, 1
octave 4
note C#, 4
volume_envelope 9, 4
note C#, 4
volume_envelope 6, 4
note C#, 4
volume_envelope 3, 4
note C#, 4
volume_envelope 11, 4
note F#, 1
note F_, 2
note D#, 1
note C#, 2
octave 3
note B_, 1
note A#, 2
note B_, 1
octave 4
note C#, 2
note D#, 1
octave 3
note B_, 1
octave 4
note C#, 1
note D#, 1
note F_, 14
note D#, 1
note F_, 1
note F#, 8
note D#, 6
note C#, 1
note D#, 1
note F_, 4
volume_envelope 9, 4
note F_, 4
volume_envelope 6, 4
note F_, 4
volume_envelope 3, 4
note F_, 4
rest 8
volume_envelope 11, 4
note D#, 4
octave 3
note B_, 4
octave 4
note C#, 2
note D#, 4
note C#, 1
octave 3
note B_, 1
note G#, 4
note F#, 1
note G#, 1
note B_, 1
octave 4
note D#, 1
note F#, 4
note F_, 4
note D#, 4
octave 3
note B_, 4
octave 4
note C#, 16
note F#, 4
rest 4
note G#, 4
note F#, 4
note F_, 8
note G#, 4
note B_, 3
note_type 6, 11, 4
note B_, 1
octave 5
note C#, 1
note_type 12, 11, 4
note D#, 2
note C#, 2
octave 4
note B_, 2
note G#, 2
note F#, 4
note G#, 4
note C#, 4
rest 4
octave 3
note G#, 1
note A#, 1
octave 4
note C#, 1
note F_, 1
note D#, 1
note C#, 1
octave 3
note B_, 1
note A#, 1
note B_, 4
note A#, 2
note B_, 2
octave 4
note C#, 4
octave 3
note F#, 1
note G#, 1
note A#, 1
note B_, 1
octave 8
sound_loop 0, .mainLoop
Music_NihonTime_Ch3:
note_type 12, 1, 0
.mainLoop:
octave 2
.loop1:
vibrato 5, 2, 6
volume_envelope 2, 5
octave 3
note C#, 4
note F_, 2
note D#, 2
note F_, 1
note F#, 3
note F_, 2
note D#, 2
octave 2
note B_, 1
note B_, 3
note A#, 2
note B_, 2
octave 3
note C#, 2
note C#, 2
note F_, 2
note D#, 2
note C#, 4
note F_, 2
note D#, 2
note F_, 1
note F#, 3
note F_, 2
note D#, 2
octave 2
note B_, 1
note B_, 3
note A#, 2
note B_, 2
octave 3
note C#, 2
note C#, 2
note F_, 2
note D#, 2
note F_, 4
note G#, 2
note F#, 2
note G#, 1
note A#, 3
note G#, 2
note F#, 2
note D#, 1
note D#, 3
note C#, 2
note D#, 2
note F_, 2
note F_, 2
note G#, 2
note F#, 2
note_type 12, 2, 5
note C#, 4
note F_, 2
note D#, 2
note F_, 1
note F#, 3
note F_, 2
note D#, 2
octave 2
note B_, 1
note B_, 3
note A#, 2
note B_, 2
octave 3
note C#, 2
note C#, 2
note F_, 2
note D#, 2
octave 2
sound_loop 2, .loop1
octave 8
sound_loop 0, .mainLoop
Music_NihonTime_Ch4:
toggle_noise 0
drum_speed 12
.mainLoop:
toggle_noise
toggle_noise 3
octave 6
sound_call .sub1
drum_speed 12
sound_call .sub1
drum_speed 12
octave 6
sound_call .sub1
drum_speed 12
octave 6
sound_call .sub1
drum_speed 12
octave 6
sound_call .sub1
drum_speed 12
octave 6
sound_call .sub1
drum_speed 12
octave 6
sound_call .sub1
drum_speed 12
octave 6
sound_call .sub1
drum_speed 12
octave 6
sound_call .sub2
drum_speed 12
octave 6
sound_call .sub2
drum_speed 12
octave 6
sound_call .sub2
drum_speed 12
octave 6
sound_call .sub2
drum_speed 12
octave 6
sound_call .sub2
drum_speed 12
octave 6
sound_call .sub2
drum_speed 12
octave 6
sound_call .sub2
drum_speed 12
octave 6
sound_call .sub2
octave 8
drum_speed 12
sound_loop 0, .mainLoop
.sub1:
drum_note 4, 4
drum_note 3, 2
drum_note 4, 1
drum_note 4, 2
drum_note 8, 1
drum_note 4, 2
drum_note 3, 2
drum_note 8, 1
drum_speed 6
drum_note 8, 1
drum_note 8, 1
sound_ret
.sub2:
drum_note 4, 2
drum_note 7, 1
drum_note 4, 1
drum_note 3, 1
drum_note 3, 1
drum_note 4, 1
drum_note 4, 1
drum_note 4, 1
drum_note 8, 1
drum_note 4, 1
drum_note 8, 1
drum_note 3, 2
drum_note 8, 1
drum_speed 6
drum_note 8, 1
drum_note 8, 1
sound_ret

392
audio/music/Peaceful.asm Normal file
View file

@ -0,0 +1,392 @@
; Peaceful route theme
; 11/4 rhythm, composed in G Lydian.
; This theme started out as a melody I often play on my guitar. It is very calm and peaceful, and could probably even work as a lullaby.
; With the slow tempo, mellow instruments and simple drum pattern, this theme works well for quiet areas. (I personally picture it playing on a beach in the evening, but I digress)
; Composed by LuciShrimp.
Music_PeacefulTheme:
channel_count 4
channel 1, Music_PeacefulTheme_Ch1
channel 2, Music_PeacefulTheme_Ch2
channel 3, Music_PeacefulTheme_Ch3
channel 4, Music_PeacefulTheme_Ch4
Music_PeacefulTheme_Ch1:
tempo 256
volume 7, 7
note_type 12, 15, 8
octave 3
sound_call .sub1
octave 8
note_type 12, 15, 8
.mainLoop:
duty_cycle 2
vibrato 18, 2, 5
volume_envelope 10, 7
octave 2
sound_call .sub2
note_type 12, 10, 7
sound_call .sub1
octave 8
note_type 12, 15, 8
sound_loop 0, .mainLoop
.sub1:
volume_envelope 9, 7
vibrato 18, 2, 3
duty_cycle 2
note D#, 4
note D_, 4
octave 2
note A#, 4
octave 3
note C_, 4
note D_, 6
note D#, 8
note D_, 2
note F_, 2
note G_, 6
note D#, 2
note D_, 2
note F_, 6
note D#, 4
octave 2
note G_, 2
note A#, 6
octave 3
note C_, 4
octave 2
note A#, 6
note A_, 2
note F_, 4
note G_, 6
note F_, 2
note D#, 2
sound_ret
.sub2:
volume_envelope 9, 7
vibrato 18, 2, 3
duty_cycle 2
note F_, 6
rest 4
octave 3
note C_, 1
note D_, 1
note D#, 6
note D_, 3
octave 2
note A_, 1
octave 3
note F_, 6
rest 4
note D_, 1
note D#, 1
note F_, 6
note G_, 3
note C_, 1
note D_, 6
rest 4
note C_, 1
note D_, 1
note D#, 6
note D_, 3
octave 2
note A_, 1
note A#, 6
note F_, 2
note F_, 1
note F_, 1
note F_, 2
note G_, 2
note A_, 2
note A#, 2
octave 3
note C_, 1
note C_, 1
note D_, 2
sound_ret
Music_PeacefulTheme_Ch2:
note_type 12, 15, 8
octave 3
sound_call .sub2
octave 8
.mainLoop:
vibrato 18, 2, 5
duty_cycle 3
volume_envelope 11, 7
octave 3
sound_call .sub1
note_type 12, 11, 7
sound_call .sub2
octave 8
note_type 12, 15, 8
sound_loop 0, .mainLoop
.sub1:
duty_cycle 3
vibrato 18, 2, 3
volume_envelope 10, 7
note A#, 6
rest 4
note G_, 1
note A_, 1
note A#, 6
note A_, 3
octave 4
note C_, 1
octave 3
note A#, 6
rest 4
note A#, 1
octave 4
note C_, 1
note D_, 4
note C_, 4
octave 3
note A_, 2
note A#, 6
rest 4
note F_, 1
note G_, 1
note F_, 6
note D#, 2
note D#, 1
note F_, 1
note D_, 6
note C_, 2
note C_, 1
note C_, 1
note C_, 2
note D_, 2
note D#, 2
note F_, 2
note G_, 2
note A_, 2
sound_ret
.sub2:
duty_cycle 3
vibrato 18, 2, 3
volume_envelope 10, 7
note A#, 4
note A_, 4
octave 4
note C_, 4
octave 3
note F_, 6
note A_, 4
note A#, 4
note A_, 4
note G_, 4
note F_, 8
note G_, 1
note A_, 1
note A#, 4
octave 4
note D_, 2
note D_, 2
octave 3
note G_, 4
note A_, 2
note A_, 2
note A_, 2
note A#, 2
note F_, 2
note F_, 1
note F_, 1
note G_, 4
note F_, 8
note G_, 2
note A_, 2
note A#, 2
note A_, 2
sound_ret
Music_PeacefulTheme_Ch3:
note_type 12, 1, 0
octave 2
sound_call .sub1
octave 8
note_type 12, 1, 0
.mainLoop:
volume_envelope 2, 5
octave 1
sound_call .sub2
note_type 12, 2, 5
vibrato 18, 2, 5
sound_call .sub1
note_type 12, 2, 5
octave 8
sound_loop 0, .mainLoop
.sub1:
vibrato 8, 2, 3
volume_envelope 2, 5
note D#, 2
note G_, 2
note A#, 2
octave 3
note F_, 2
octave 2
note A#, 2
note G_, 2
note D_, 2
note G_, 2
note A#, 2
octave 3
note C_, 2
note D_, 1
note F_, 1
octave 2
note D#, 2
note G_, 2
note A#, 2
octave 3
note F_, 2
octave 2
note A#, 2
note G_, 2
note D_, 2
note G_, 2
note A#, 2
octave 3
note C_, 2
note D_, 1
note F_, 1
octave 2
note D#, 2
note G_, 2
note A#, 2
octave 3
note F_, 2
octave 2
note A#, 2
note G_, 2
note D_, 2
note G_, 2
note A#, 2
octave 3
note C_, 2
note D_, 1
note F_, 1
octave 2
note D#, 2
note G_, 2
note A#, 2
octave 3
note F_, 2
octave 2
note A#, 2
note G_, 2
note D_, 2
note G_, 2
note A#, 2
octave 3
note C_, 2
note_type 12, 2, 5
note F_, 1
note D_, 1
sound_ret
.sub2:
vibrato 8, 2, 3
volume_envelope 2, 5
note A#, 2
octave 2
note D_, 2
note F_, 2
octave 3
note D_, 2
octave 2
note A#, 2
note F_, 2
note D#, 2
note G_, 2
note A#, 2
octave 3
note C_, 2
note D_, 1
note F_, 1
octave 1
note A#, 2
octave 2
note D_, 2
note F_, 2
octave 3
note F_, 2
octave 2
note A#, 2
note F_, 2
note D#, 2
note G_, 2
note A#, 2
octave 3
note C_, 2
note F_, 1
note D_, 1
octave 1
note A#, 2
octave 2
note D_, 2
note F_, 2
octave 3
note D_, 2
octave 2
note A#, 2
note F_, 2
note D#, 2
note G_, 2
note A#, 2
octave 3
note C_, 2
note D_, 1
note F_, 1
octave 1
note A#, 2
octave 2
note D_, 2
note F_, 2
octave 3
note F_, 2
rest 2
octave 1
note A#, 2
octave 2
note C_, 6
note D_, 4
sound_ret
Music_PeacefulTheme_Ch4:
toggle_noise 0
drum_speed 12
rest 16
rest 16
rest 16
rest 16
rest 16
rest 8
.mainLoop:
toggle_noise
toggle_noise 3
octave 5
.loop1:
drum_note 3, 2
drum_note 7, 2
drum_note 7, 2
drum_note 3, 2
drum_note 7, 1
drum_note 3, 1
drum_note 7, 2
drum_note 3, 2
drum_note 7, 1
drum_note 3, 1
drum_note 7, 2
drum_note 3, 2
drum_note 7, 1
drum_note 7, 1
sound_loop 8, .loop1
drum_speed 12
octave 8
sound_loop 0, .mainLoop

741
audio/music/SouthCity.asm Normal file
View file

@ -0,0 +1,741 @@
; South City theme
; An upbeat city theme with relatively simple chord progression.
; 4/4 rhythm, G Major scale. Briefly borrows a note from the Lydian scale in the chorus part.
; The relatively fast drums give the theme some forwards momentum, I tried to keep them realistic... to the point that the Game Boy allows, of course!
; The note parameters are kept close to the original GSC soundtrack for coherence in a GSC rom hack.
; Composed by LuciShrimp
Music_SouthCity:
channel_count 4
channel 1, Music_SouthCity_Ch1
channel 2, Music_SouthCity_Ch2
channel 3, Music_SouthCity_Ch3
channel 4, Music_SouthCity_Ch4
Music_SouthCity_Ch1:
volume 7, 7
octave 3
tempo 212
note_type 12, 12, 8
sound_call .sub1
note_type 12, 3, 8
octave 8
.mainLoop:
octave 3
volume_envelope 12, 8
.loop1:
duty_cycle 2
volume_envelope 12, 7
octave 2
tempo 222
note G_, 8
note A_, 2
note G_, 2
note F#, 2
note E_, 2
note D_, 8
note E_, 8
note G_, 8
note F#, 1
note E_, 1
note F#, 1
note E_, 1
note D_, 1
note E_, 1
note D_, 1
note C_, 1
note D_, 8
note C_, 2
note D_, 2
note E_, 2
note F#, 2
octave 3
sound_loop 2, .loop1
sound_call .sub1
octave 8
note_type 12, 15, 8
sound_loop 0, .mainLoop
.sub1:
duty_cycle 2
octave 2
tempo 222
volume_envelope 12, 7
note G_, 8
note_type 12, 12, 7
note A_, 2
note G_, 2
note F#, 2
note E_, 2
note D_, 8
note E_, 8
note G_, 8
note F#, 4
note D_, 4
octave 1
note B_, 8
octave 2
note C_, 4
note C_, 1
note D_, 1
note E_, 1
note F#, 1
octave 3
sound_ret
Music_SouthCity_Ch2:
note_type 12, 12, 7
vibrato 18, 2, 3
octave 3
duty_cycle 3
sound_call .sub1
rest 1
octave 8
.mainLoop:
volume_envelope 12, 7
octave 4
note C_, 2
note D_, 1
octave 3
note A_, 1
note B_, 4
octave 4
note C_, 2
octave 3
note B_, 2
note A_, 2
note G_, 2
note B_, 2
octave 4
note C_, 1
octave 3
note B_, 1
note G_, 1
note A_, 1
octave 4
note_type 9, 12, 7
note D_, 2
note_type 6, 12, 7
note D#, 1
note_type 12, 12, 7
note E_, 4
note D_, 4
note E_, 2
note F_, 1
note C_, 1
note D_, 2
note C_, 2
octave 3
note B_, 1
note A_, 1
note B_, 1
note A_, 1
note G_, 1
note A_, 1
note G_, 1
note F#, 1
note G_, 3
duty_cycle 2
octave 2
note F#, 1
note A_, 3
note G_, 1
note B_, 3
note G_, 1
note A_, 3
note F#, 1
octave 4
duty_cycle 3
note C_, 8
octave 3
note B_, 8
note A_, 2
note G_, 2
note F#, 2
note G_, 2
note B_, 2
note A_, 2
note G_, 1
note F#, 1
note E_, 1
note F#, 1
note G_, 8
note A_, 6
note B_, 2
note A_, 2
note G_, 2
note F#, 2
note G_, 2
note B_, 2
note A_, 2
note G_, 1
note F#, 1
note E_, 1
note F#, 1
sound_call .sub1
octave 8
note_type 12, 15, 8
rest 1
sound_loop 0, .mainLoop
.sub1:
note G_, 1
rest 1
volume_envelope 6, 7
note G_, 1
rest 1
volume_envelope 3, 7
note G_, 1
rest 1
volume_envelope 1, 7
note G_, 1
rest 1
volume_envelope 12, 7
note F#, 1
rest 1
volume_envelope 6, 7
note F#, 1
rest 1
volume_envelope 3, 7
note F#, 1
rest 1
volume_envelope 1, 7
note F#, 1
rest 1
volume_envelope 12, 7
note E_, 1
rest 1
volume_envelope 6, 7
note E_, 1
rest 1
volume_envelope 3, 7
note E_, 1
rest 1
volume_envelope 1, 7
note E_, 1
rest 1
volume_envelope 12, 7
note D_, 1
rest 1
volume_envelope 6, 7
note D_, 1
rest 1
volume_envelope 3, 7
note D_, 1
rest 1
volume_envelope 1, 7
note D_, 1
rest 1
volume_envelope 12, 7
note G_, 1
rest 1
volume_envelope 6, 7
note G_, 1
rest 1
volume_envelope 3, 7
note G_, 1
rest 1
volume_envelope 1, 7
note G_, 1
rest 1
volume_envelope 12, 7
note A_, 1
rest 1
volume_envelope 6, 7
note A_, 1
rest 1
volume_envelope 3, 7
note A_, 1
rest 1
volume_envelope 1, 7
note A_, 1
rest 1
volume_envelope 12, 7
note B_, 1
rest 1
volume_envelope 6, 7
note B_, 1
rest 1
volume_envelope 3, 7
octave 4
note C_, 1
rest 1
volume_envelope 1, 7
note C_, 1
rest 1
volume_envelope 12, 7
note D_, 1
rest 1
volume_envelope 6, 7
note D_, 1
rest 1
volume_envelope 3, 7
note C_, 1
rest 1
volume_envelope 1, 7
note C_, 1
octave 3
sound_ret
Music_SouthCity_Ch3:
note_type 12, 1, 5
vibrato 8, 2, 3
rest 16
rest 16
octave 4
sound_call .sub1
note_type 12, 3, 5
octave 8
.mainLoop:
volume_envelope 1, 2
octave 3
note G_, 1
octave 4
note D_, 1
rest 1
volume_envelope 2, 2
octave 3
note G_, 1
octave 4
note D_, 1
rest 1
volume_envelope 3, 2
octave 3
note G_, 1
octave 4
note D_, 1
volume_envelope 1, 2
octave 3
note F#, 1
octave 4
note C_, 1
octave 3
rest 1
volume_envelope 2, 2
note F#, 1
octave 4
note C_, 1
octave 3
rest 1
volume_envelope 3, 2
note F#, 1
octave 4
note C_, 1
octave 3
volume_envelope 1, 2
note G_, 1
octave 4
note D_, 1
rest 1
volume_envelope 2, 2
octave 3
note G_, 1
octave 4
note D_, 1
rest 1
volume_envelope 3, 2
octave 3
note G_, 1
octave 4
note D_, 1
volume_envelope 1, 2
octave 3
note A_, 1
octave 4
note E_, 1
rest 1
volume_envelope 2, 2
octave 3
note A_, 1
octave 4
note E_, 1
rest 1
volume_envelope 3, 2
octave 3
note A_, 1
octave 4
note E_, 1
volume_envelope 1, 2
octave 3
note G_, 1
octave 4
note D_, 1
rest 1
volume_envelope 2, 2
octave 3
note G_, 1
octave 4
note D_, 1
rest 1
volume_envelope 3, 2
octave 3
note G_, 1
octave 4
note D_, 1
volume_envelope 1, 2
octave 3
note F#, 1
octave 4
note C_, 1
octave 3
rest 1
volume_envelope 2, 2
note F#, 1
octave 4
note C_, 1
octave 3
rest 1
volume_envelope 3, 2
note F#, 1
octave 4
note C_, 1
octave 3
volume_envelope 1, 2
note G_, 1
octave 4
note D_, 1
rest 1
volume_envelope 2, 2
octave 3
note G_, 1
octave 4
note D_, 1
rest 1
volume_envelope 3, 2
octave 3
note G_, 1
octave 4
note D_, 1
volume_envelope 1, 2
note C_, 1
note G_, 1
rest 1
volume_envelope 2, 2
note C_, 1
note G_, 1
rest 1
volume_envelope 3, 2
note C_, 1
note G_, 1
volume_envelope 1, 2
octave 3
note G_, 1
octave 4
note C_, 1
octave 3
rest 1
volume_envelope 2, 2
note G_, 1
octave 4
note C_, 1
octave 3
rest 1
volume_envelope 3, 2
note G_, 1
octave 4
note C_, 1
octave 3
volume_envelope 1, 2
note F#, 1
note B_, 1
rest 1
volume_envelope 2, 2
note F#, 1
note B_, 1
rest 1
volume_envelope 3, 2
note F#, 1
note B_, 1
volume_envelope 1, 2
note E_, 1
note A_, 1
rest 1
volume_envelope 2, 2
note E_, 1
note A_, 1
rest 1
volume_envelope 3, 2
note E_, 1
note A_, 1
volume_envelope 1, 2
note F#, 1
note B_, 1
rest 1
volume_envelope 2, 2
note F#, 1
note B_, 1
rest 1
volume_envelope 3, 2
note F#, 1
note B_, 1
volume_envelope 1, 2
note G_, 1
octave 4
note C_, 1
octave 3
rest 1
volume_envelope 2, 2
note G_, 1
octave 4
note C_, 1
octave 3
rest 1
volume_envelope 3, 2
note G_, 1
octave 4
note C_, 1
octave 3
volume_envelope 1, 2
note F#, 1
note B_, 1
rest 1
volume_envelope 2, 2
note F#, 1
note B_, 1
rest 1
volume_envelope 3, 2
note F#, 1
note B_, 1
volume_envelope 1, 2
note E_, 1
note A_, 1
rest 1
volume_envelope 2, 2
note E_, 1
note A_, 1
rest 1
volume_envelope 3, 2
note E_, 1
note A_, 1
volume_envelope 1, 2
note F#, 1
note B_, 1
rest 1
volume_envelope 2, 2
note F#, 1
note B_, 1
rest 1
volume_envelope 3, 2
note F#, 1
note B_, 1
volume_envelope 1, 2
octave 4
note D_, 2
volume_envelope 2, 2
octave 3
note D_, 2
volume_envelope 3, 2
octave 4
note D_, 2
octave 3
note D_, 2
volume_envelope 1, 2
octave 4
note C_, 2
volume_envelope 2, 2
octave 3
note C_, 2
volume_envelope 3, 2
octave 4
note C_, 2
octave 3
note C_, 2
volume_envelope 1, 2
note B_, 2
volume_envelope 2, 2
octave 2
note B_, 2
volume_envelope 3, 2
octave 3
note B_, 2
octave 2
note B_, 2
volume_envelope 1, 2
octave 3
note A_, 2
volume_envelope 2, 2
octave 2
note A_, 2
volume_envelope 3, 2
octave 3
note A_, 2
octave 2
note A_, 2
volume_envelope 1, 2
octave 4
sound_call .sub1
octave 8
note_type 12, 1, 0
sound_loop 0, .mainLoop
.sub1:
volume_envelope 1, 2
note D_, 2
volume_envelope 2, 2
octave 3
note D_, 2
volume_envelope 3, 2
octave 4
note D_, 2
octave 3
note D_, 2
volume_envelope 1, 2
octave 4
note E_, 2
volume_envelope 2, 2
octave 3
note E_, 2
volume_envelope 3, 2
octave 4
note E_, 2
octave 3
note E_, 2
volume_envelope 1, 2
octave 4
note F#, 2
volume_envelope 2, 2
octave 3
note F#, 2
volume_envelope 3, 2
octave 4
note G_, 2
octave 3
note G_, 2
volume_envelope 1, 2
octave 4
note A_, 2
volume_envelope 2, 2
octave 3
note A_, 2
volume_envelope 3, 2
octave 4
note G_, 2
octave 3
note A_, 2
sound_ret
Music_SouthCity_Ch4:
toggle_noise 0
drum_speed 12
rest 16
rest 16
rest 16
rest 8
octave 5
toggle_noise
toggle_noise 3
sound_call .sub1
octave 8
drum_speed 12
toggle_noise
toggle_noise 0
.mainLoop:
octave 5
toggle_noise
toggle_noise 3
drum_speed 6
.loop1:
drum_note 4, 4
drum_speed 12
sound_call .sub2
sound_loop 2, .loop1
octave 5
drum_speed 6
.loop2:
drum_note 4, 2
drum_note 4, 2
drum_speed 12
drum_note 7, 1
drum_note 4, 1
drum_note 3, 1
drum_note 3, 1
drum_note 7, 1
drum_speed 6
drum_note 7, 1
drum_note 7, 1
drum_note 4, 2
drum_note 4, 2
drum_speed 12
drum_note 7, 1
drum_note 4, 1
drum_note 3, 1
drum_note 3, 1
drum_note 7, 1
drum_speed 6
drum_note 7, 1
drum_note 7, 1
drum_note 4, 2
drum_note 4, 2
drum_speed 12
drum_note 7, 1
drum_note 4, 1
drum_note 3, 1
drum_note 3, 1
drum_note 7, 1
drum_speed 6
drum_note 7, 1
drum_note 7, 1
drum_note 4, 2
drum_note 4, 2
drum_speed 12
drum_note 7, 1
drum_note 4, 1
drum_note 4, 1
drum_note 3, 1
drum_note 4, 1
drum_speed 6
drum_note 4, 1
drum_note 4, 1
sound_loop 2, .loop2
drum_speed 6
drum_note 4, 4
drum_speed 12
sound_call .sub2
drum_speed 6
drum_note 4, 4
drum_speed 12
sound_call .sub2
drum_speed 12
octave 8
sound_loop 0, .mainLoop
.sub1:
drum_note 4, 2
drum_note 3, 2
drum_note 7, 2
drum_note 3, 1
drum_note 3, 1
sound_ret
.sub2:
drum_note 7, 1
drum_note 7, 1
drum_note 3, 2
drum_note 7, 1
drum_note 7, 1
drum_note 4, 2
drum_note 7, 1
drum_note 7, 1
drum_note 3, 2
drum_note 7, 1
drum_speed 6
drum_note 7, 1
drum_note 7, 1
drum_note 4, 4
drum_speed 12
drum_note 7, 1
drum_note 7, 1
drum_note 3, 2
drum_note 7, 1
drum_note 7, 1
drum_note 4, 2
drum_note 4, 1
drum_note 7, 1
drum_note 3, 1
drum_note 4, 1
drum_speed 6
drum_note 7, 1
drum_note 7, 1
drum_note 7, 1
drum_note 7, 1
sound_ret

View file

@ -0,0 +1,712 @@
; Lavender Crypt theme
; Eerie music, combining motifs from Lavender City and Pokémon Tower, along with original parts and a broken record feel.
; This theme makes use of custom waveforms, therefore including the JEP wave_samples.asm file in the build is required for proper playback.
; Specifically the 10th and 11th waveform are required.
; With a 13/8 time signature, the Lavender Town scale(C Lydian with a few flattened 5ths and almost entirely without the 6th), abrupt melody stops and several tempo changes,
; this theme gives a very uneasy/lopsided feeling, working well for creepy areas.
; The note parameters stick close to original GSC themes as to not feel out of place in a GSC rom hack environment.
; Composed by LuciShrimp
Music_LavenderCrypt:
channel_count 4
channel 1, Music_LavenderCrypt_Ch1
channel 2, Music_LavenderCrypt_Ch2
channel 3, Music_LavenderCrypt_Ch3
channel 4, Music_LavenderCrypt_Ch4
Music_LavenderCrypt_Ch1:
tempo 256
volume 7, 7
note_type 12, 15, 8
.mainLoop:
octave 2
tempo 211
duty_cycle 2
volume_envelope 0, 7
vibrato 2, 2, 2
note C_, 1
rest 16
rest 15
note_type 12, 15, 8
rest 12
volume_envelope 11, 7
note C_, 2
note D_, 2
note E_, 2
note F#, 2
note G_, 8
note E_, 8
note F#, 8
note A_, 8
note G_, 4
note G_, 4
note F#, 4
note F#, 4
note E_, 2
note C#, 2
octave 3
note C_, 8
octave 2
note B_, 8
note A#, 8
note G_, 8
note F#, 8
note E_, 8
note D_, 4
note G_, 1
rest 7
note G_, 1
rest 7
octave 1
note B_, 1
rest 7
note B_, 1
rest 3
note B_, 1
rest 3
octave 2
note C_, 8
note D_, 4
note C_, 2
note E_, 2
note F_, 2
note F#, 2
note C_, 8
rest 8
octave 1
note B_, 8
rest 8
note G_, 8
rest 8
octave 2
volume_envelope 0, 7
tempo 141
note C_, 4
volume_envelope 11, 7
tempo 231
note C_, 8
rest 8
octave 1
note B_, 8
rest 8
note G_, 6
note G_, 1
rest 9
tempo 144
note G_, 1
rest 3
octave 4
tempo 211
note C_, 8
octave 3
note B_, 8
note G_, 8
note E_, 8
octave 4
note C_, 8
octave 3
note B_, 4
note G_, 4
note E_, 4
octave 4
note C_, 8
octave 3
note B_, 8
note G_, 8
note E_, 8
octave 4
note C_, 8
octave 3
note B_, 4
note G_, 4
note_type 6, 11, 7
tempo 141
note E_, 1
note F_, 1
note F#, 1
note G_, 1
note G#, 1
note A_, 1
note A#, 1
note B_, 1
octave 5
note_type 12, 11, 6
.loop1:
duty_cycle 2
octave 4
volume_envelope 11, 7
tempo 211
note C_, 3
octave 3
note B_, 3
note G_, 3
note E_, 3
octave 5
sound_loop 2, .loop1
sound_call .sub1
duty_cycle 2
octave 4
volume_envelope 11, 7
note C_, 3
octave 3
note B_, 3
octave 4
note C_, 3
octave 3
note B_, 3
volume_envelope 10, 7
note G_, 3
note E_, 3
octave 4
volume_envelope 9, 7
note C_, 3
octave 3
note B_, 3
volume_envelope 8, 7
note G_, 3
note E_, 3
octave 4
volume_envelope 7, 7
note C_, 3
octave 3
note B_, 3
volume_envelope 6, 7
note G_, 3
note E_, 3
octave 4
volume_envelope 5, 7
note C_, 3
octave 3
note B_, 3
volume_envelope 4, 7
note G_, 3
note E_, 3
octave 4
volume_envelope 3, 7
note C_, 3
octave 3
volume_envelope 2, 7
note B_, 3
volume_envelope 1, 7
note G_, 3
note E_, 3
note_type 12, 11, 6
rest 2
octave 8
sound_loop 0, .mainLoop
.sub1:
duty_cycle 2
octave 4
volume_envelope 11, 7
note C_, 3
octave 3
note B_, 3
note G_, 3
note E_, 3
octave 4
sound_ret
Music_LavenderCrypt_Ch2:
note_type 12, 15, 8
.mainLoop:
octave 5
vibrato 0, 2, 1
duty_cycle 1
volume_envelope 15, 2
.loop1:
duty_cycle 3
vibrato 20, 3, 4
volume_envelope 15, 2
note C_, 2
rest 1
volume_envelope 3, 2
note C_, 1
volume_envelope 15, 2
note G_, 2
rest 1
volume_envelope 3, 2
note G_, 1
volume_envelope 15, 2
note B_, 2
rest 1
volume_envelope 3, 2
note B_, 1
volume_envelope 15, 2
note F#, 2
rest 1
volume_envelope 3, 2
note F#, 1
sound_loop 2, .loop1
sound_call .sub1
rest 1
volume_envelope 7, 2
note F#, 1
note_type 12, 15, 2
octave 5
duty_cycle 3
vibrato 20, 3, 4
note C_, 2
octave 4
note B_, 2
octave 5
sound_call .sub1
note_type 12, 15, 2
rest 1
volume_envelope 7, 2
note F#, 1
octave 4
sound_call .sub2
rest 1
volume_envelope 4, 2
note E_, 1
octave 4
duty_cycle 3
vibrato 20, 3, 4
volume_envelope 15, 2
note A_, 2
rest 1
volume_envelope 4, 2
note A_, 1
octave 5
volume_envelope 15, 2
note E_, 2
rest 1
volume_envelope 4, 2
note E_, 1
volume_envelope 15, 2
note A_, 2
rest 1
volume_envelope 4, 2
note A_, 1
volume_envelope 15, 2
note E_, 2
note_type 12, 15, 2
rest 1
volume_envelope 4, 2
note E_, 1
volume_envelope 15, 2
note A_, 2
note E_, 2
octave 4
volume_envelope 12, 7
note G_, 8
note F#, 8
note F_, 8
note D_, 8
note C#, 8
octave 3
note B_, 8
note A_, 4
octave 5
note C_, 8
octave 4
note B_, 4
note G_, 1
note F#, 1
note E_, 1
note D#, 1
note G_, 8
octave 5
note C_, 8
octave 4
note B_, 4
note G_, 4
note E_, 4
note G_, 4
octave 5
note C_, 4
octave 4
sound_call .sub3
duty_cycle 3
vibrato 20, 3, 4
volume_envelope 12, 7
note E_, 8
note E_, 8
note G_, 4
note F#, 4
note E_, 4
note B_, 4
octave 3
pitch_slide 3, 4, C#
note C#, 4
octave 4
sound_call .sub3
note_type 12, 12, 7
duty_cycle 3
vibrato 20, 3, 4
note F#, 8
note F#, 8
note B_, 4
note G_, 4
note F#, 4
note B_, 4
note_type 6, 15, 7
octave 5
note C_, 1
octave 4
note B_, 1
note A#, 1
note G#, 1
note G_, 1
note F#, 1
note E_, 1
note D_, 1
note_type 12, 15, 7
sound_call .sub4
rest 4
sound_call .sub4
note_type 12, 15, 7
rest 4
duty_cycle 3
note D_, 6
rest 2
note E_, 6
rest 2
note G_, 3
rest 1
note A#, 12
rest 4
note F#, 12
rest 4
note A#, 16
rest 4
octave 3
volume_envelope 0, 7
note C_, 3
rest 9
rest 7
rest 16
rest 16
rest 5
octave 5
volume_envelope 1, 2
note C_, 2
rest 2
note G_, 2
rest 2
volume_envelope 2, 2
note B_, 2
rest 2
note F#, 2
rest 2
volume_envelope 3, 2
note C_, 2
rest 2
volume_envelope 4, 2
note G_, 2
rest 2
volume_envelope 5, 2
note B_, 2
rest 2
volume_envelope 7, 2
note F#, 2
rest 2
note C_, 2
rest 2
volume_envelope 8, 2
note G_, 2
rest 2
volume_envelope 9, 2
note B_, 2
rest 2
volume_envelope 10, 2
note F#, 2
rest 2
octave 8
sound_loop 0, .mainLoop
.sub1:
duty_cycle 3
vibrato 20, 3, 4
volume_envelope 15, 2
note C_, 2
rest 1
volume_envelope 7, 2
note C_, 1
volume_envelope 15, 2
note G_, 2
rest 1
volume_envelope 7, 2
note G_, 1
volume_envelope 15, 2
note B_, 2
rest 1
volume_envelope 7, 2
note B_, 1
volume_envelope 15, 2
note F#, 2
sound_ret
.sub2:
duty_cycle 3
vibrato 20, 3, 4
volume_envelope 15, 2
note B_, 2
rest 1
octave 4
volume_envelope 4, 2
note B_, 1
octave 5
volume_envelope 15, 2
note F#, 2
rest 1
volume_envelope 4, 2
note F#, 1
volume_envelope 15, 2
note A#, 2
rest 1
volume_envelope 4, 2
note A#, 1
volume_envelope 15, 2
note E_, 2
sound_ret
.sub3:
duty_cycle 3
vibrato 20, 3, 4
volume_envelope 12, 7
note G_, 8
note G_, 8
sound_ret
.sub4:
duty_cycle 3
note C_, 12
sound_ret
Music_LavenderCrypt_Ch3:
note_type 12, 1, 0
.mainLoop:
octave 2
volume_envelope 2, 11
note C_, 16
volume_envelope 1, 0
octave 1
note B_, 16
octave 2
note_type 12, 1, 0
note D_, 16
octave 1
note B_, 4
octave 2
vibrato 5, 2, 2
volume_envelope 1, 10
note D_, 4
note E_, 4
note F#, 4
note G_, 4
note C_, 4
note D_, 4
note D_, 4
note E_, 4
octave 1
note B_, 8
rest 4
octave 3
note E_, 2
note D#, 2
note F#, 2
note D#, 2
note E_, 12
note F#, 12
note D_, 12
octave 2
note B_, 8
octave 3
note D_, 8
note E_, 1
rest 7
note E_, 1
rest 7
note E_, 1
rest 3
note E_, 1
note D#, 1
note F#, 1
note D#, 1
note E_, 1
rest 3
volume_envelope 3, 10
sound_call .sub2
rest 3
sound_call .sub2
note_type 12, 3, 10
rest 3
sound_call .sub2
note_type 12, 3, 10
rest 3
octave 4
sound_call .sub1
octave 3
pitch_slide 3, 4, C#
note C#, 4
octave 4
sound_call .sub1
note_type 12, 1, 10
vibrato 5, 2, 2
octave 3
note E_, 4
rest 8
note G_, 8
note E_, 8
note G_, 8
octave 4
.loop1:
vibrato 5, 2, 2
octave 3
volume_envelope 1, 10
note E_, 4
note G_, 4
octave 4
sound_loop 2, .loop1
vibrato 5, 2, 2
octave 3
volume_envelope 1, 10
note F#, 2
note G_, 2
octave 4
.loop2:
vibrato 5, 2, 2
octave 3
volume_envelope 1, 12
note G_, 3
octave 4
rest 1
sound_loop 12, .loop2
vibrato 5, 2, 2
octave 3
volume_envelope 1, 12
note G_, 2
note_type 6, 1, 10
note G#, 1
note A_, 1
note A#, 1
note B_, 1
octave 5
note_type 12, 1, 0
.loop3:
vibrato 5, 2, 2
octave 4
volume_envelope 1, 10
note C_, 3
octave 3
note B_, 3
note G_, 3
note E_, 3
octave 5
sound_loop 3, .loop3
vibrato 5, 2, 2
octave 4
volume_envelope 1, 10
note C_, 3
octave 3
note B_, 3
volume_envelope 1, 12
note G_, 16
note G_, 16
volume_envelope 2, 12
note G_, 16
volume_envelope 3, 11
note D_, 1
note C#, 1
note C_, 1
octave 2
note B_, 1
note A#, 1
note A_, 1
note G#, 1
volume_envelope 2, 11
note G_, 1
note F#, 1
note F_, 1
note E_, 1
note D#, 1
note D_, 1
note C#, 1
octave 8
sound_loop 0, .mainLoop
.sub1:
vibrato 5, 2, 2
octave 3
volume_envelope 1, 10
note E_, 8
volume_envelope 3, 10
note E_, 8
volume_envelope 1, 10
note D_, 8
volume_envelope 3, 10
note D_, 8
volume_envelope 1, 10
note C_, 8
volume_envelope 3, 10
note C_, 8
octave 4
sound_ret
.sub2:
note E_, 1
note D#, 1
note F#, 1
note D#, 1
note E_, 1
sound_ret
Music_LavenderCrypt_Ch4:
toggle_noise 0
drum_speed 12
.mainLoop:
rest 16
rest 16
drum_speed 12
rest 16
rest 16
rest 16
rest 16
rest 8
octave 7
toggle_noise
toggle_noise 3
.loop1:
drum_note 3, 8
drum_note 7, 8
drum_note 3, 8
drum_note 7, 8
drum_note 3, 8
drum_note 7, 8
sound_call .sub1
sound_loop 7, .loop1
rest 2
octave 7
sound_call .sub1
drum_speed 12
rest 2
octave 7
sound_call .sub1
drum_speed 12
rest 2
octave 7
sound_call .sub1
drum_speed 12
rest 16
rest 10
drum_speed 1
rest 16
rest 16
rest 16
rest 4
drum_speed 12
octave 8
rest 3
drum_speed 1
rest 8
drum_speed 12
sound_loop 0, .mainLoop
.sub1:
drum_note 7, 1
drum_note 3, 1
drum_note 7, 1
drum_note 7, 1
sound_ret

View file

@ -109,4 +109,11 @@ Music:
dba Music_MobileCenter
dba Music_NihonTown01
dba Music_SinjohRuins
dba Music_LavenderCrypt
dba Music_SouthCity
dba Music_NihonTime
dba Music_PeacefulTheme
dba Music_CoastTown
dba Music_ColdWinter
dba Music_CoolCave
assert_table_length NUM_MUSIC_SONGS

View file

@ -11,3 +11,9 @@ WaveSamples:
dn 12, 0, 10, 9, 8, 7, 15, 5, 15, 15, 15, 14, 14, 13, 13, 12, 4, 4, 3, 3, 2, 2, 15, 1, 0, 2, 4, 6, 8, 10, 12, 14
dn 4, 4, 3, 3, 2, 2, 1, 15, 0, 0, 4, 6, 8, 10, 12, 14, 15, 8, 15, 14, 14, 13, 13, 12, 12, 11, 10, 9, 8, 7, 6, 5
dn 1, 1, 0, 0, 0, 0, 0, 8, 0, 0, 1, 3, 5, 7, 9, 10, 11, 4, 11, 10, 10, 9, 9, 8, 8, 7, 6, 5, 4, 3, 2, 1
dn 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 3, 3, 4, 4, 5, 6, 7, 8, 10, 12, 14, 15, 14, 12, 10, 8, 4, 1
dn 1, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 1
dn 0, 15, 14, 13, 12, 11, 10, 1, 0, 15, 14, 13, 12, 11, 10, 1, 0, 15, 14, 13, 12, 11, 10, 1, 0, 15, 14, 13, 12, 11, 10, 1
dn 15, 15, 14, 14, 13, 13, 12, 12, 11, 11, 15, 15, 14, 14, 13, 13, 12, 12, 11, 11, 15, 15, 14, 14, 13, 13, 12, 12, 11, 11, 0, 0
dn 0, 15, 0, 15, 0, 5, 10, 15, 0, 2, 4, 6, 8, 10, 12, 14, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
dn 0, 4, 8, 12, 1, 5, 9, 13, 2, 6, 10, 14, 3, 7, 11, 15, 15, 11, 7, 3, 14, 10, 6, 2, 13, 9, 5, 1, 12, 8, 4, 0

View file

@ -218,6 +218,8 @@ DEF BATTLEANIM_BASE_TILE EQU 7 * 7 ; Maximum size of a pokemon picture
const ANIM_OBJ_PLAYERHEAD_1ROW
const ANIM_OBJ_ENEMYFEET_2ROW
const ANIM_OBJ_PLAYERHEAD_2ROW
const ANIM_OBJ_COIN_HURL
const ANIM_OBJ_SHOOTING_MIST
DEF NUM_ANIM_OBJS EQU const_value
; DoBattleAnimFrame arguments (see engine/battle_anims/functions.asm)
@ -302,6 +304,7 @@ DEF NUM_ANIM_OBJS EQU const_value
const BATTLEANIMFUNC_ANCIENT_POWER
const BATTLEANIMFUNC_ROCK_SMASH
const BATTLEANIMFUNC_COTTON
const BATTLEANIMFUNC_COINHURL
DEF NUM_BATTLEANIMFUNCS EQU const_value
; BattleAnimFrameData indexes (see data/battle_anims/framesets.asm)
@ -491,6 +494,7 @@ DEF NUM_BATTLEANIMFUNCS EQU const_value
const BATTLEANIMFRAMESET_B6
const BATTLEANIMFRAMESET_B7
const BATTLEANIMFRAMESET_B8
const BATTLEANIMFRAMESET_MIST
DEF NUM_BATTLEANIMFRAMESETS EQU const_value
; BattleAnimOAMData indexes (see data/battle_anims/oam.asm)
@ -851,3 +855,67 @@ DEF NUM_BG_EFFECTS EQU 5 ; see wActiveBGEffects
const PAL_BATTLE_OB_GREEN ; 5
const PAL_BATTLE_OB_BLUE ; 6
const PAL_BATTLE_OB_BROWN ; 7
; custom palettes (from Sour Crystal)
const_def
const PAL_BTLCUSTOM_GRAY ; 0
const PAL_BTLCUSTOM_YELLOW ; 1
const PAL_BTLCUSTOM_RED ; 2
const PAL_BTLCUSTOM_GREEN ; 3
const PAL_BTLCUSTOM_BLUE ; 4
const PAL_BTLCUSTOM_BROWN ; 5
const PAL_BTLCUSTOM_PURPLE ; 6
const PAL_BTLCUSTOM_ICE ; 7
const PAL_BTLCUSTOM_FIRE ; 8
const PAL_BTLCUSTOM_GLOBE ; 9
const PAL_BTLCUSTOM_WATER ; a
const PAL_BTLCUSTOM_BUBBLE ; b
const PAL_BTLCUSTOM_DRAGONBREATH ; c
const PAL_BTLCUSTOM_DRAGON_RAGE ; d
const PAL_BTLCUSTOM_AURORA ; e
const PAL_BTLCUSTOM_SPORE ; f
const PAL_BTLCUSTOM_PEACH ; 10
const PAL_BTLCUSTOM_LIGHT_SCREEN ; 11
const PAL_BTLCUSTOM_MIRROR_COAT ; 12
const PAL_BTLCUSTOM_RECYCLE ; 13
const PAL_BTLCUSTOM_LAVA_ROCKS ; 14
const PAL_BTLCUSTOM_SKILL_SWAP ; 15
const PAL_BTLCUSTOM_WILL_O_WISP ; 16
const PAL_BTLCUSTOM_GLOW_YELLOW ; 17
const PAL_BTLCUSTOM_GLOW_LUSTER ; 18
const PAL_BTLCUSTOM_BRIGHT ; 19
const PAL_BTLCUSTOM_VERY_BRIGHT ; 1a
const PAL_BTLCUSTOM_CHARRED ; 1b
const PAL_BTLCUSTOM_COSMIC ; 1c
const PAL_BTLCUSTOM_SIGNAL_BEAM_RED ; 1d
const PAL_BTLCUSTOM_SIGNAL_BEAM_BLUE ; 1e
const PAL_BTLCUSTOM_BULK_UP ; 1f
const PAL_BTLCUSTOM_GRASSWHISTLE ; 20
const PAL_BTLCUSTOM_PSYCHO_BOOST_1 ; 21
const PAL_BTLCUSTOM_PSYCHO_BOOST_2 ; 22
const PAL_BTLCUSTOM_GRAVITY ; 23
const PAL_BTLCUSTOM_GLOW_GREEN ; 24
const PAL_BTLCUSTOM_HEAT_WAVE ; 25
const PAL_BTLCUSTOM_PAYBACK ; 26
const PAL_BTLCUSTOM_GASTRO_ACID ; 27
const PAL_BTLCUSTOM_DARK_PULSE ; 28
const PAL_BTLCUSTOM_GLOW_LIME ; 29
const PAL_BTLCUSTOM_DRAGON_PULSE ; 2a
const PAL_BTLCUSTOM_SNOW ; 2b
const PAL_BTLCUSTOM_LAVA_PLUME ; 2c
const PAL_BTLCUSTOM_INVERT_BLACK ; 2d
const PAL_BTLCUSTOM_LIME ; 2e
const PAL_BTLCUSTOM_BEE ; 2f
const PAL_BTLCUSTOM_ROAR_OF_TIME ; 30
const PAL_BTLCUSTOM_MOON ; 31
const PAL_BTLCUSTOM_DARK_VOID ; 32
const PAL_BTLCUSTOM_REFRESH ; 33
const PAL_BTLCUSTOM_HEAT_BG ; 34
const PAL_BTLCUSTOM_GOLD_BG ; 35
const PAL_BTLCUSTOM_STRUGGLE_BUG ; 36
const PAL_BTLCUSTOM_PINK ; 37
DEF NUM_CUSTOM_BATTLE_PALETTES EQU const_value
DEF PAL_BTLCUSTOM_DEFAULT EQU -1

View file

@ -67,7 +67,7 @@
const ENGINE_UNLOCKED_UNOWNS_L_TO_R
const ENGINE_UNLOCKED_UNOWNS_S_TO_W
const ENGINE_UNLOCKED_UNOWNS_X_TO_Z
const ENGINE_UNLOCKED_UNOWNS_UNUSED_4
const ENGINE_UNLOCKED_UNOWNS_EXCLAMATION_QUESTION
const ENGINE_UNLOCKED_UNOWNS_UNUSED_5
const ENGINE_UNLOCKED_UNOWNS_UNUSED_6
const ENGINE_UNLOCKED_UNOWNS_UNUSED_7

View file

@ -126,18 +126,18 @@
const EVENT_GOT_TM37_SANDSTORM
const EVENT_FIRST_TIME_BANKING_WITH_MOM
const EVENT_TOLD_ELM_ABOUT_TOGEPI_OVER_THE_PHONE
const EVENT_GOT_CLEAR_BELL
const EVENT_GOT_MASTER_BALL
const EVENT_GOT_SILVER_WING
const EVENT_GOT_TM12_SWEET_SCENT
const EVENT_RELEASED_THE_BEASTS
const EVENT_GOT_MASTER_BALL_FROM_ELM
const EVENT_GOT_MASTER_BALL_FROM_ELM ; To be changed
; Johto hidden items
const EVENT_TIN_TOWER_4F_HIDDEN_MAX_POTION
const EVENT_TIN_TOWER_5F_HIDDEN_FULL_RESTORE
const EVENT_TIN_TOWER_5F_HIDDEN_CARBOS
const EVENT_BURNED_TOWER_1F_HIDDEN_ETHER
; These are now fossil-related pieces.
; These are now fossils!
; adapted from https://github.com/pret/pokecrystal/wiki/Reviving-Pok%C3%A9mon-from-Fossils-(Gen-I)
const EVENT_GAVE_SCIENTIST_OLD_AMBER
const EVENT_GAVE_SCIENTIST_HELIX_FOSSIL
@ -523,7 +523,7 @@
const EVENT_FOUGHT_EUSINE
const EVENT_KOJI_ALLOWS_YOU_PASSAGE_TO_TIN_TOWER
const EVENT_FOUGHT_SUICUNE
const EVENT_GOT_RAINBOW_WING
const EVENT_GOT_RAINBOW_WING ; can be replaced
const EVENT_HUEY_PROTEIN
const EVENT_JOEY_HP_UP
const EVENT_VANCE_CARBOS
@ -532,7 +532,8 @@
const EVENT_BUENA_OFFERED_HER_PHONE_NUMBER
const EVENT_MET_BUENA
const EVENT_GOT_ODD_EGG
const_skip ; unused
const EVENT_SAW_SUICUNE_ON_ROUTE_14
const EVENT_SAW_SUICUNE_IN_VERMILION_CITY
const EVENT_GOT_GS_BALL_FROM_POKECOM_CENTER
; Unused: next 167 events
@ -895,6 +896,8 @@
const EVENT_BEAT_LASS_DANA2
const EVENT_BEAT_LASS_DANA3
const EVENT_BEAT_LASS_IKUE
const EVENT_BEAT_LASS_CASEY
const EVENT_BEAT_LASS_DUPLICA
; Hiker
const EVENT_BEAT_HIKER_ANTHONY2
const EVENT_BEAT_HIKER_RUSSELL
@ -961,6 +964,7 @@
const EVENT_BEAT_COOLTRAINERM_KEVIN
const EVENT_BEAT_COOLTRAINERM_STEVE
const EVENT_BEAT_COOLTRAINERM_ALLEN
const EVENT_BEAT_COOLTRAINERM_RITCHIE
; CooltrainerF
const EVENT_BEAT_COOLTRAINERF_GWEN
const EVENT_BEAT_COOLTRAINERF_LOIS
@ -1434,8 +1438,8 @@
const EVENT_GOLDENROD_DEPT_STORE_5F_HAPPINESS_EVENT_LADY
const EVENT_BURNED_TOWER_MORTY
const EVENT_BURNED_TOWER_1F_EUSINE
const EVENT_RANG_CLEAR_BELL_1
const EVENT_RANG_CLEAR_BELL_2
const EVENT_SAW_RAINBOW_WING_1
const EVENT_SAW_RAINBOW_WING_2
const EVENT_FLORIA_AT_FLOWER_SHOP
const EVENT_FLORIA_AT_SUDOWOODO
const EVENT_GOLDENROD_CITY_MOVE_TUTOR

View file

@ -75,7 +75,7 @@
const SECRETPOTION ; 43
const S_S_TICKET ; 44
const MYSTERY_EGG ; 45
const CLEAR_BELL ; 46
const CLEAR_BELL ; 46 - can be removed given new progression
const SILVER_WING ; 47
const MOOMOO_MILK ; 48
const QUICK_CLAW ; 49

View file

@ -257,11 +257,27 @@
const ROCK_SMASH ; f9
const WHIRLPOOL ; fa
const BEAT_UP ; fb
const ROCK_HEAD
const ROCK_SLASH
const CROSS_CUTTER
const MEGAPHONE
const ROCK_HEAD ; FC
const ROCK_SLASH ; FD
const CROSS_CUTTER ; FE
const MEGAPHONE ; FF
const MYSTIC_ICE ; G0
const BOUNCE
const BRIGHT_MOSS
const COIN_HURL
const UPROOT
const SYNCHRONIZE
const STRONG_ARM
const UPPERCUT
const WATER_SPORT
const WIND_RIDE
const DAZZLING_GLEAM
const DISARMING_VOICE
const DRAINING_KISS
const FAIRY_WIND
const MOONBLAST
const PLAY_ROUGH
const STRANGE_STEAM ; BONG WEEZING RIIIIIIISE UP
DEF NUM_ATTACKS EQU const_value - 1
if NUM_ATTACKS > $3fff

View file

@ -157,4 +157,5 @@
const EFFECT_BEAT_UP
const EFFECT_FLY
const EFFECT_DEFENSE_CURL
const EFFECT_COIN_HURL
DEF NUM_MOVE_EFFECTS EQU const_value

View file

@ -107,6 +107,13 @@
const MUSIC_MOBILE_CENTER ; 66
const MUSIC_NIHON_TOWN_01 ; 67
const MUSIC_SINJOH_RUINS ; 68
const MUSIC_LAVENDERCRYPT ; 69
const MUSIC_SOUTHCITY ; 6a
const MUSIC_NIHONTIME ; 6b
const MUSIC_PEACEFULTHEME ; 6c
const MUSIC_COASTTOWN ; 6d
const MUSIC_COLDWINTER ; 6e
const MUSIC_COOLCAVE ; 6f
DEF NUM_MUSIC_SONGS EQU const_value
; GetMapMusic picks music for this value (see home/map.asm)

View file

@ -295,7 +295,7 @@ DEF JOHTO_POKEMON EQU const_value
const FOXFIRE
const YANMA ; c1
const YANMEGA
const PENDING03
const ONIYANMA
const WOOPER ; c2
const QUAGSIRE ; c3
const ESPEON ; c4
@ -378,7 +378,7 @@ DEF JOHTO_POKEMON EQU const_value
const CACAWPHONY
const TREBIR
const SAKURAZE
const AMANOBI
const TANOBI
const TRUSTAN
const KUWAGUARD
const TONQUITO
@ -416,7 +416,8 @@ DEF JOHTO_POKEMON EQU const_value
const TYRANITAR ; f8
const LUGIA ; f9
const HO_OH ; fa
const SHI_SHI
const HYOSHU_YANG
const HYOSHU_YIN
const CELEBI ; fb
DEF NUM_POKEMON EQU const_value - 1
@ -465,4 +466,6 @@ endc
const UNOWN_X ; 24
const UNOWN_Y ; 25
const UNOWN_Z ; 26
DEF NUM_UNOWN EQU const_value - 1 ; 26
const UNOWN_EXCLAMATION ; 27
const UNOWN_QUESTION ; 28
DEF NUM_UNOWN EQU const_value - 1 ; 28

View file

@ -6,6 +6,61 @@ MACRO trainerclass
const_def 1
ENDM
; If you're looking for names, here's a bunch. General aim is to improve etymological diversity. Largely taken from "popular name" charts. I will now get ads for childcare products. - PvK
; Mandarin names use the notoriously horrid *toneless* Hanyu Pinyin, consistent with Sages. Wades-Giles will NOT invade my ROM Hack.
; Korean names use Revised Romanisation for "localisation" and time-aptness.
; If you want Japanese names, Bulbapedia tends to note them, so you can nick em from there.
; SEREN - Welsh girl's name meaning "star"
; ADERYN - Welsh girl's name meaning "bird"
; FFION - Welsh girl's name
; CERYS - Welsh girl's name
; ALUN - Welsh boy's name
; ARWYN - Welsh boy's name
; BRYN - Welsh boy's name
; RIONA - Irish girl's name
; TADHG - Irish boy's name
; RIAN - Irish unisex name
; FIADH - Irish girl's name
; AINE - Irish unisex(?) name
; CORMAC - Irish boy's name
; DIARMUID - Irish boy's name
; LUCA - Scottish boy's name
; THEO - Scottish boy's name
; EWAN - Scottish boy's name
; ORLA - Scottish girl's name
; AVA - Scottish girl's name
; DOVID - Yiddish version of David
; FEIVEL - Yiddish girl's name (like Eyvel)
; HERSHEL - Yiddish boy's name
; MOISHE - Yiddish name derived from Moses
; ALTAIR - Hebrew boy's name (means Falcon - could use somewhere...)
; SHEM - Hebrew name
; ZARA - Arab-Hebrew girl's name
; SOLOMON - Hebrew boy's name
; LILA - Sanskrit girl's name
; XAVIER - Basque boy's name
; NYLA - Arab girl's name, means winner which is really good here
; VEGA - Latin-Arab name meaning "swooping eagle", doubles as a Street Fighter reference
; SALAM - Arab boy's name (I think it's male, anyway?)
; JAMAL - Yemeni boy's name (I also want to reference a friend who got me into ROM Hacking as a whole)
; ABDULLAH - Arab boy's name
; KHALID - Arab boy's name
; OSAMA - Arab boy's name
; ABDUL - Arab boy's name. On its own this can mean a large number of things, but it's also a JoJo reference!
; YANG - 杨 Mandarin name
; ZHAO - 赵 Mandarin name
; ZHOU - 周 Mandarin name
; WU - 吴 Mandarin name
; WANG - 王 Mandarin name
; MEI - 美 Mandarin name
; IJUN - Korean boy's name
; SIU - Koran boy's name
; YEJUN - Korean boy's name
; HAYUN - Korean girl's name
; ISEO - Korean girl's name
; JIA - Mandarin/Korean girl's name
; trainer class ids
; `trainerclass` indexes are for:
; - TrainerClassNames (see data/trainers/class_names.asm)
@ -202,6 +257,8 @@ DEF KRIS EQU __trainer_class__
const DANA4
const DANA5
const IKUE ; Name taken from LGPE, referencing Pikachu's voice actor, Ikue Otani. Technically exists in Picnicker Brooke, but it's more convenient to put her in Viridian Forest, so...
const CASEY ; anime reference
const DUPLICA ; anime reference
trainerclass JANINE ; 1a
const JANINE1
@ -227,6 +284,7 @@ DEF KRIS EQU __trainer_class__
const STEVE
const ALLEN
const DARIN
const RITCHIE ; anime reference
trainerclass COOLTRAINERF ; 1c
const GWEN

View file

@ -335,4 +335,5 @@ DEF DAYCARELADY_ACTIVE_F EQU 7
const UNLOCKED_UNOWNS_L_TO_R_F
const UNLOCKED_UNOWNS_S_TO_W_F
const UNLOCKED_UNOWNS_X_TO_Z_F
const UNLOCKED_UNOWNS_EXCLAMATION_QUESTION
DEF NUM_UNLOCKED_UNOWN_SETS EQU const_value

View file

@ -20,4 +20,5 @@ UsefulMoves:
dw FIRE_BLAST
dw SOFTBOILED
dw SUPER_FANG
dw COIN_HURL
dw -1 ; end

View file

@ -180,4 +180,5 @@ BattleCommandPointers:
dw BattleCommand_SuperEffectiveLoopText
dw BattleCommand_StartLoop
dw BattleCommand_Curl
dw BattleCommand_CoinHurlPower
assert_table_length NUM_EFFECT_COMMANDS

View file

@ -186,6 +186,7 @@ BattleAnimFrameData:
dw .Frameset_b6 ; BATTLEANIMFRAMESET_B6
dw .Frameset_b7 ; BATTLEANIMFRAMESET_B7
dw .Frameset_b8 ; BATTLEANIMFRAMESET_B8
dw .Frameset_Mist ; BATTLEANIMFRAMESET_MIST
assert_table_length NUM_BATTLEANIMFRAMESETS
.Frameset_00:
@ -1268,3 +1269,8 @@ BattleAnimFrameData:
.Frameset_b8:
oamframe BATTLEANIMOAMSET_D7, 8
oamend
.Frameset_Mist:
oamframe BATTLEANIMOAMSET_91, 16
oamframe BATTLEANIMOAMSET_92, 16
oamend

View file

@ -395,4 +395,8 @@ BattleAnimObjects:
battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B7, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_ENEMY, ANIM_GFX_PLAYERHEAD
; ANIM_OBJ_PLAYERHEAD_2ROW
battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B8, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_PLAYER, ANIM_GFX_ENEMYFEET
; ANIM_OBJ_COIN_HURL - just the Poke Ball toss but with Pay Day's gfx chucked in
battleanimobj ABSOLUTE_X, $ff, BATTLEANIMFRAMESET_75, BATTLEANIMFUNC_COINHURL, PAL_BATTLE_OB_BROWN, ANIM_GFX_STATUS
; ANIM_OBJ_SHOOTING_MIST
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_MIST, BATTLEANIMFUNC_USER_TO_TARGET_DISAPPEAR, PAL_BATTLE_OB_GRAY, ANIM_GFX_HAZE
assert_table_length NUM_ANIM_OBJS

View file

@ -431,11 +431,11 @@ MapGroup_Lavender:
map LavRadioTower1F, TILESET_RADIO_TOWER, INDOOR, LANDMARK_LAV_RADIO_TOWER, MUSIC_LAVENDER_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
map Route8SaffronGate, TILESET_GATE, GATE, LANDMARK_ROUTE_8, MUSIC_ROUTE_3, FALSE, PALETTE_DAY, FISHGROUP_SHORE
map Route12SuperRodHouse, TILESET_HOUSE, INDOOR, LANDMARK_ROUTE_12, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
map LavenderCrypt, TILESET_LAVENDER_CRYPT, CAVE, LANDMARK_LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, TRUE, PALETTE_NITE, FISHGROUP_NONE
map LavenderCryptSet1, TILESET_LAVENDER_CRYPT, CAVE, LANDMARK_LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, TRUE, PALETTE_NITE, FISHGROUP_NONE
map LavenderCryptSet2, TILESET_LAVENDER_CRYPT, CAVE, LANDMARK_LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, TRUE, PALETTE_NITE, FISHGROUP_NONE
map LavenderCryptSet3, TILESET_LAVENDER_CRYPT, CAVE, LANDMARK_LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, TRUE, PALETTE_NITE, FISHGROUP_NONE
map LavenderCryptDokuroarsRoom, TILESET_LAVENDER_CRYPT, CAVE, LANDMARK_LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, TRUE, PALETTE_NITE, FISHGROUP_NONE
map LavenderCrypt, TILESET_LAVENDER_CRYPT, CAVE, LANDMARK_LAVENDER_TOWN, MUSIC_LAVENDERCRYPT, TRUE, PALETTE_NITE, FISHGROUP_NONE
map LavenderCryptSet1, TILESET_LAVENDER_CRYPT, CAVE, LANDMARK_LAVENDER_TOWN, MUSIC_LAVENDERCRYPT, TRUE, PALETTE_NITE, FISHGROUP_NONE
map LavenderCryptSet2, TILESET_LAVENDER_CRYPT, CAVE, LANDMARK_LAVENDER_TOWN, MUSIC_LAVENDERCRYPT, TRUE, PALETTE_NITE, FISHGROUP_NONE
map LavenderCryptSet3, TILESET_LAVENDER_CRYPT, CAVE, LANDMARK_LAVENDER_TOWN, MUSIC_LAVENDERCRYPT, TRUE, PALETTE_NITE, FISHGROUP_NONE
map LavenderCryptDokuroarsRoom, TILESET_LAVENDER_CRYPT, CAVE, LANDMARK_LAVENDER_TOWN, MUSIC_LAVENDERCRYPT, TRUE, PALETTE_NITE, FISHGROUP_NONE
map HauntedHouseFoyer, TILESET_LAVENDER_CRYPT, CAVE, LANDMARK_HAUNTED_HOUSE, MUSIC_LAVENDER_TOWN, TRUE, PALETTE_NITE, FISHGROUP_NONE
map HauntedHouse1F, TILESET_LAVENDER_CRYPT, CAVE, LANDMARK_HAUNTED_HOUSE, MUSIC_LAVENDER_TOWN, TRUE, PALETTE_NITE, FISHGROUP_NONE
map HauntedHouse2F, TILESET_LAVENDER_CRYPT, CAVE, LANDMARK_HAUNTED_HOUSE, MUSIC_LAVENDER_TOWN, TRUE, PALETTE_NITE, FISHGROUP_NONE
@ -685,20 +685,20 @@ MapGroup_SilentHills:
table_width MAP_LENGTH, MapGroup_SilentHills
map WinnersPath, TILESET_CAVE, CAVE, LANDMARK_WINNERS_PATH, MUSIC_VICTORY_ROAD, FALSE, PALETTE_NITE, FISHGROUP_DRATINI ; Sounds like a funny fishgroup
map WinnersPathOutside, TILESET_NIHON_01, ROUTE, LANDMARK_WINNERS_PATH, MUSIC_INDIGO_PLATEAU, FALSE, PALETTE_AUTO, FISHGROUP_NONE
map Route66, TILESET_NIHON_01, ROUTE, LANDMARK_ROUTE_66, MUSIC_ROUTE_30, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN
map Route66, TILESET_NIHON_01, ROUTE, LANDMARK_ROUTE_66, MUSIC_NIHONTIME, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN
map SilentHills, TILESET_NIHON_01, TOWN, LANDMARK_SILENT_HILLS, MUSIC_NIHON_TOWN_01, TRUE, PALETTE_AUTO, FISHGROUP_NONE
map DebugRoom, TILESET_NIHON_01, TOWN, LANDMARK_DEBUG_ROOM, MUSIC_SINJOH_RUINS, TRUE, PALETTE_AUTO, FISHGROUP_SHORE
map Route49, TILESET_NIHON_01, ROUTE, LANDMARK_ROUTE_49, MUSIC_ROUTE_30, TRUE, PALETTE_AUTO, FISHGROUP_POND
map QuietCave, TILESET_NIHON_01, ROUTE, LANDMARK_QUIET_CAVE, MUSIC_ROUTE_30, TRUE, PALETTE_AUTO, FISHGROUP_POND
map Route49_2, TILESET_NIHON_01, ROUTE, LANDMARK_ROUTE_49, MUSIC_ROUTE_30, TRUE, PALETTE_AUTO, FISHGROUP_POND
map Route49, TILESET_NIHON_01, ROUTE, LANDMARK_ROUTE_49, MUSIC_NIHONTIME, TRUE, PALETTE_AUTO, FISHGROUP_POND
map QuietCave, TILESET_NIHON_01, ROUTE, LANDMARK_QUIET_CAVE, MUSIC_NIHONTIME, TRUE, PALETTE_AUTO, FISHGROUP_POND
map Route49_2, TILESET_NIHON_01, ROUTE, LANDMARK_ROUTE_49, MUSIC_NIHONTIME, TRUE, PALETTE_AUTO, FISHGROUP_POND
map SilentHillsPokecenter1F, TILESET_POKECENTER, INDOOR, LANDMARK_SILENT_HILLS, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_NONE
map SilversHouse, TILESET_PLAYERS_HOUSE, INDOOR, LANDMARK_SILENT_HILLS, MUSIC_NIHON_TOWN_01, FALSE, PALETTE_DAY, FISHGROUP_NONE
map CalsHouse1F, TILESET_PLAYERS_HOUSE, INDOOR, LANDMARK_SILENT_HILLS, MUSIC_NIHON_TOWN_01, FALSE, PALETTE_DAY, FISHGROUP_NONE
map CalsHouse2F, TILESET_PLAYERS_HOUSE, INDOOR, LANDMARK_SILENT_HILLS, MUSIC_NIHON_TOWN_01, FALSE, PALETTE_DAY, FISHGROUP_NONE
map SinjohRuinsExterior, TILESET_CAVE, CAVE, LANDMARK_SILENT_HILLS, MUSIC_SINJOH_RUINS, TRUE, PALETTE_DAY, FISHGROUP_NONE
map SinjohRuinsInterior, TILESET_CAVE, CAVE, LANDMARK_SILENT_HILLS, MUSIC_SINJOH_RUINS, TRUE, PALETTE_DAY, FISHGROUP_NONE
map Route49OldCityGate1F, TILESET_NIHON_GATE, GATE, LANDMARK_ROUTE_49, MUSIC_ROUTE_30, FALSE, PALETTE_DAY, FISHGROUP_NONE
map Route49OldCityGate2F, TILESET_NIHON_GATE, GATE, LANDMARK_ROUTE_49, MUSIC_ROUTE_30, FALSE, PALETTE_DAY, FISHGROUP_NONE
map Route49OldCityGate1F, TILESET_NIHON_GATE, GATE, LANDMARK_ROUTE_49, MUSIC_NIHONTIME, FALSE, PALETTE_DAY, FISHGROUP_NONE
map Route49OldCityGate2F, TILESET_NIHON_GATE, GATE, LANDMARK_ROUTE_49, MUSIC_NIHONTIME, FALSE, PALETTE_DAY, FISHGROUP_NONE
map BlueLab, TILESET_BLUE_LAB, INDOOR, LANDMARK_SILENT_HILLS, MUSIC_POKEMON_TALK, FALSE, PALETTE_DAY, FISHGROUP_NONE
assert_table_length NUM_SILENT_HILLS_MAPS
@ -718,7 +718,7 @@ MapGroup_OldCity:
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_ROUTE_30, TRUE, PALETTE_AUTO, 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
assert_table_length NUM_OLD_CITY_MAPS

View file

@ -90,4 +90,6 @@ MapScenes::
scene_var BLUE_LAB, wBlueLabSceneID
scene_var ROUTE_66_WHITE_CITY_GATE, wRoute66WhiteCityGateID
scene_var SAFARI_ZONE_FUCHSIA_GATE_BETA, wFuchsiaSafariZoneGateID
scene_var VERMILION_CITY, wVermilionCityID
scene_var ROUTE_14, wVermilionCityID
db -1 ; end

View file

@ -283,7 +283,23 @@ BattleAnimations::
dw BattleAnim_RockSlash
dw BattleAnim_CrossCutter
dw BattleAnim_Megaphone
dw BattleAnim_Wind_Ride
dw BattleAnim_Wind_Ride ; Mystic Ice - to be changed, all new anims here are temp. Wind Ride's animation fits Mystic Ice but may want some touch-ups. It's buggy.
dw BattleAnim_Splash ; Bounce
dw BattleAnim_Flash ; Bright Moss
dw BattleAnim_CoinHurl ; Coin Hurl
dw BattleAnim_RockSmash ; Uproot
dw BattleAnim_Psybeam ; Synchronize
dw BattleAnim_StrongArm
dw BattleAnim_Uppercut
dw BattleAnim_WaterGun ; uhhh
dw BattleAnim_Wind_Ride ; Wind Ride but real
dw BattleAnim_Flash ; Dazzling Gleam
dw BattleAnim_Sing ; Disarming Voice
dw BattleAnim_DrainingKiss ; From Sour Crystal
dw BattleAnim_FairyWind ; From Sour Crystal
dw BattleAnim_Psywave ; Moonblast
dw BattleAnim_Rollout ; Play Rough
dw BattleAnim_ConfuseRay ; Strange Steam
assert_table_length NUM_ATTACKS + 1
dw BattleAnim_SweetScent2
@ -1318,7 +1334,7 @@ BattleAnim_RazorWind:
anim_wait 24
anim_ret
BattleAnim_Sonicboom_JP: ; unreferenced
BattleAnim_Sonicboom:
anim_2gfx ANIM_GFX_WHIP, ANIM_GFX_HIT
.loop
anim_sound 3, 0, SFX_RAZOR_WIND
@ -1343,7 +1359,6 @@ BattleAnim_Sonicboom_JP: ; unreferenced
anim_ret
BattleAnim_Gust:
BattleAnim_Sonicboom:
anim_2gfx ANIM_GFX_WIND, ANIM_GFX_HIT
.loop
anim_sound 0, 1, SFX_RAZOR_WIND
@ -4689,7 +4704,7 @@ BattleAnim_Wind_Ride:
anim_sound 0, 1, SFX_MEGA_KICK
anim_obj ANIM_OBJ_HIT_BIG_YFIX, 136, 56, $0
anim_bgeffect ANIM_BG_SHOW_MON, $0, BG_EFFECT_USER, $0
anim_wait 32
anim_wait 32 ; something causes the tip of the back sprite to disappear
anim_ret
@ -4882,6 +4897,125 @@ BattleAnimSub_Glimmer2:
anim_wait 16
anim_ret
; Splices the "metal" animation, Tackle, and DynamicPunch, using the Spark SFX from Rollout.
BattleAnim_StrongArm:
anim_1gfx ANIM_GFX_REFLECT
anim_obp0 $0
anim_sound 0, 0, SFX_RAGE
anim_call BattleAnim_TargetObj_1Row
anim_call BattleAnimSub_Metallic
anim_call BattleAnim_ShowMon_0
anim_1gfx ANIM_GFX_HIT
anim_resetobp0
anim_sound 0, 0, SFX_SPARK
anim_call BattleAnim_TargetObj_1Row
anim_bgeffect ANIM_BG_TACKLE, $0, BG_EFFECT_USER, $0
anim_wait 4
anim_sound 0, 1, SFX_MEGA_PUNCH
anim_obj ANIM_OBJ_HIT_BIG, 136, 40, $0
anim_wait 8
anim_2gfx ANIM_GFX_HIT, ANIM_GFX_EXPLOSION
anim_resetobp0
anim_obj ANIM_OBJ_PUNCH_SHAKE, 136, 56, $43
anim_wait 16
anim_bgeffect ANIM_BG_SHAKE_SCREEN_X, $e, $4, $0
anim_call BattleAnim_ShowMon_0
anim_ret
; Made in virtually the same way to KEP, reversing Karate Chop's animation.
; Difference here is using Comet Punch's SFX, not repeating it, having the Punch icon, and having a lower low and higher high in its arc. Karate Chop changed lots in GSC!
BattleAnim_Uppercut:
anim_1gfx ANIM_GFX_HIT
anim_sound 0, 1, SFX_COMET_PUNCH
anim_obj ANIM_OBJ_PUNCH, 136, 52, $0
anim_obj ANIM_OBJ_HIT_YFIX, 136, 52, $0
anim_wait 3
anim_obj ANIM_OBJ_PUNCH, 136, 48, $0
anim_obj ANIM_OBJ_HIT_YFIX, 136, 48, $0
anim_wait 3
anim_obj ANIM_OBJ_PUNCH, 136, 44, $0
anim_obj ANIM_OBJ_HIT_YFIX, 136, 44, $0
anim_wait 3
anim_obj ANIM_OBJ_PUNCH, 136, 40, $0
anim_obj ANIM_OBJ_HIT_YFIX, 136, 40, $0
anim_wait 3
anim_obj ANIM_OBJ_PUNCH, 136, 36, $0
anim_obj ANIM_OBJ_HIT_YFIX, 136, 36, $0
anim_wait 16
anim_ret
; Takes the Poke Ball throw code, applies it to the Pay Day coins, then spits out coins on hit.
BattleAnim_CoinHurl:
anim_2gfx ANIM_GFX_HIT, ANIM_GFX_STATUS
anim_sound 6, 2, SFX_PAY_DAY
anim_obj ANIM_OBJ_COIN_HURL, 68, 92, $40
anim_wait 4
anim_sound 6, 2, SFX_PAY_DAY
anim_obj ANIM_OBJ_COIN_HURL, 68, 92, $40
anim_wait 4
anim_sound 6, 2, SFX_PAY_DAY
anim_obj ANIM_OBJ_COIN_HURL, 68, 92, $40
anim_wait 28
anim_obj ANIM_OBJ_PAY_DAY, 110, 76, $1
anim_wait 2
anim_obj ANIM_OBJ_PAY_DAY, 120, 66, $1
anim_wait 2
anim_obj ANIM_OBJ_PAY_DAY, 130, 86, $1
anim_wait 64
anim_ret
BattleAnim_FairyWind: ; from Sour Crystal
anim_2gfx ANIM_GFX_SPEED, ANIM_GFX_HAZE
anim_bgeffect ANIM_BG_CYCLE_OBPALS_GRAY_AND_YELLOW, $0, $2, $0
anim_sound 0, 1, SFX_GAME_FREAK_LOGO_GS
.loop
anim_obj ANIM_OBJ_SHOOTING_MIST, 64, 80, $4
anim_wait 4
anim_obj ANIM_OBJ_SHOOTING_SPARKLE, 64, 88, $4
anim_wait 4
anim_obj ANIM_OBJ_SHOOTING_MIST, 64, 96, $4
anim_wait 4
anim_obj ANIM_OBJ_SHOOTING_SPARKLE, 64, 80, $4
anim_wait 4
anim_obj ANIM_OBJ_SHOOTING_MIST, 64, 88, $4
anim_wait 4
anim_obj ANIM_OBJ_SHOOTING_SPARKLE, 64, 96, $4
anim_wait 4
anim_loop 2, .loop
anim_bgeffect ANIM_BG_FADE_MON_TO_BLACK_REPEATING, $0, $0, $40
anim_wait 64
anim_ret
BattleAnim_DrainingKiss: ; from Sour Crystal
anim_3gfx ANIM_GFX_OBJECTS, ANIM_GFX_CHARGE, ANIM_GFX_SHINE
anim_sound 0, 1, SFX_SWEET_KISS
anim_obj ANIM_OBJ_HEART, 120, 40, $0
anim_wait 8
.loop
anim_sound 0, 1, SFX_SWEET_KISS_2
anim_obj ANIM_OBJ_ABSORB, 128, 48, $2
anim_wait 5
anim_sound 0, 1, SFX_SWEET_KISS_2
anim_obj ANIM_OBJ_ABSORB, 136, 64, $3
anim_wait 5
anim_sound 0, 1, SFX_SWEET_KISS_2
anim_obj ANIM_OBJ_ABSORB, 136, 32, $4
anim_wait 5
anim_loop 5, .loop
anim_wait 32
anim_bgeffect ANIM_BG_CYCLE_MID_OBPALS_GRAY_AND_YELLOW, $0, $0, $0
anim_jump BattleAnim_Glimmer_branch3
BattleAnim_Glimmer_branch3:
anim_sound 0, 0, SFX_METRONOME
anim_obj ANIM_OBJ_GLIMMER, 44, 64, $0
anim_wait 5
anim_obj ANIM_OBJ_GLIMMER, 24, 96, $0
anim_wait 5
anim_obj ANIM_OBJ_GLIMMER, 56, 104, $0
anim_wait 21
anim_ret
BattleAnim_TargetObj_1Row:
anim_battlergfx_2row
anim_bgeffect ANIM_BG_BATTLEROBJ_1ROW, $0, BG_EFFECT_TARGET, $0

View file

@ -7,4 +7,5 @@ CriticalHitMoves:
dw AEROBLAST
dw CROSS_CHOP
dw CROSS_CUTTER
dw WIND_RIDE
dw -1

View file

@ -260,7 +260,23 @@ MoveDescriptions1:
dw RockSlashDescription
dw CrossCutterDescription
dw MegaphoneDescription
dw MysticIceDescription
dw BounceDescription
dw BrightMossDescription
dw CoinHurlDescription
dw UprootDescription
dw SynchroniseDescription
dw StrongArmDescription
dw UppercutDescription
dw WaterSportDescription
dw WindRideDescription
dw DazzlingGleamDescription
dw DisarmingVoiceDescription
dw DrainingKissDescription
dw FairyWindDescription
dw MoonblastDescription
dw PlayRoughDescription
dw StrangeSteamDescription
.IndirectEnd::
@ -271,7 +287,15 @@ PoundDescription:
db "Pounds with fore-"
next "legs or tail.@"
; optimised
WindRideDescription:
CrossCutterDescription:
RazorLeafDescription:
KarateChopDescription:
CrabhammerDescription:
SlashDescription:
AeroblastDescription:
CrossChopDescription:
db "Has a high criti-"
next "cal hit ratio.@"
@ -503,6 +527,7 @@ BlizzardDescription:
db "An attack that may"
next "freeze the foe.@"
StrangeSteamDescription:
PsybeamDescription:
db "An attack that may"
next "confuse the foe.@"
@ -511,6 +536,7 @@ BubblebeamDescription:
db "An attack that may"
next "lower SPEED.@"
PlayRoughDescription:
AuroraBeamDescription:
db "An attack that may"
next "lower ATTACK.@"
@ -551,6 +577,7 @@ AbsorbDescription:
db "Steals 1/2 of the"
next "damage inflicted.@"
DrainingKissDescription:
MegaDrainDescription:
db "Steals 1/2 of the"
next "damage inflicted.@"
@ -563,10 +590,6 @@ GrowthDescription:
db "Raises the SPCL."
next "ATK rating.@"
RazorLeafDescription:
db "Has a high criti-"
next "cal hit ratio.@"
SolarbeamDescription:
db "1st turn: Prepare"
next "2nd turn: Attack@"
@ -779,6 +802,7 @@ ClampDescription:
db "Traps the foe for"
next "2-5 turns.@"
DisarmingVoiceDescription:
SwiftDescription:
db "An attack that"
next "never misses.@"
@ -871,10 +895,6 @@ AcidArmorDescription:
db "Sharply raises the"
next "user's DEFENSE.@"
CrabhammerDescription:
db "Has a high criti-"
next "cal hit ratio.@"
ExplosionDescription:
db "Very powerful but"
next "makes user faint.@"
@ -915,10 +935,6 @@ SuperFangDescription:
db "Cuts the foe's HP"
next "by 1/2.@"
SlashDescription:
db "Has a high criti-"
next "cal hit ratio.@"
SubstituteDescription:
db "Makes a decoy with"
next "1/4 user's max HP.@"
@ -971,10 +987,6 @@ Conversion2Description:
db "The user's type is"
next "made resistant.@"
AeroblastDescription:
db "Has a high criti-"
next "cal hit ratio.@"
CottonSporeDescription:
db "Sharply reduces"
next "the foe's SPEED.@"
@ -1215,10 +1227,6 @@ HiddenPowerDescription:
db "The power varies"
next "with the #MON.@"
CrossChopDescription:
db "Has a high criti-"
next "cal hit ratio.@"
TwisterDescription:
db "Whips up a tornado"
next "to attack.@"
@ -1279,14 +1287,55 @@ RockSlashDescription:
db "A strong imprecise"
next "ROCK-type attack.@" ;the original description was too long I think
CrossCutterDescription:
db "Has a high criti-"
next "cal hit ratio.@"
MegaphoneDescription:
db "Reduces the foe's"
next "SPCL.ATK.@"
WindRideDescription:
MysticIceDescription:
db "Summons the north"
next "wind. May freeze.@"
BounceDescription:
db "Bounces up, then"
next "down next turn.@"
BrightMossDescription:
db "Lights up area to"
next "boost accuracy.@"
CoinHurlDescription:
db "Power raises with"
next "wealth.@"
UprootDescription:
db "Flings foe for"
next "massive damage.@"
SynchroniseDescription:
db "Enemy takes same"
next "damage as user.@"
StrongArmDescription:
db "May raise the"
next "user's ATTACK.@"
UppercutDescription:
db "An attack that may"
next "cause flinching.@"
WaterSportDescription:
db "Lowers FIRE move" ; I really want to change this tbh
next "power.@"
DazzlingGleamDescription:
db "Flashes a bright"
next "light to attack.@"
FairyWindDescription:
db "Blows a pleasant"
next "wind to attack.@"
MoonblastDescription:
db "An attack that may"
next "lower SPCL.ATK.@"

View file

@ -2077,3 +2077,23 @@ DefenseCurl:
statupmessage
statupfailtext
endmove
CoinHurl: ; Identical to Return, except it calculates damage differently, and does not trigger King's Rock, as contact isn't being made.
checkobedience
usedmovetext
doturn
critical
damagestats
coinhurlpower
damagecalc
stab
damagevariation
checkhit
moveanim
failuretext
applydamage
criticaltext
supereffectivetext
checkfaint
buildopponentrage
endmove

View file

@ -158,4 +158,5 @@ MoveEffectsPointers:
dw BeatUp
dw Fly
dw DefenseCurl
dw CoinHurl
assert_table_length NUM_MOVE_EFFECTS

View file

@ -273,5 +273,21 @@ Moves1:
move EFFECT_NORMAL_HIT, 140, ROCK, 70, 5, 0 ;ROCK_SLASH
move EFFECT_NORMAL_HIT, 50, BUG, 100, 15, 0 ;CROSS_CUTTER
move EFFECT_SP_ATK_DOWN, 0, NORMAL, 100, 40, 0 ;MEGAPHONE
move EFFECT_FREEZE_HIT, 100, FLYING, 95, 5, 30 ;WIND RIDE
move EFFECT_FREEZE_HIT, 100, ICE, 95, 5, 30 ;MYSTIC_ICE
move EFFECT_FLY, 85, WATER, 85, 5, 0 ; BOUNCE - went back and forth on type (making it modern or keeping it spaceworldy), chose spaceworld to diversify the "fly" move category
move EFFECT_ACCURACY_UP, 85, GRASS, 0, 20, 0 ; BRIGHT_MOSS
move EFFECT_COIN_HURL, 1, NORMAL, 100, 20, 0 ; COIN_HURL
move EFFECT_NORMAL_HIT, 85, GROUND, 100, 10, 0 ; UPROOT
move EFFECT_MIRROR_COAT, 1, PSYCHIC_TYPE, 100, 10, 0 ; SYNCHRONIZE - effect not implemented
move EFFECT_ATTACK_UP_HIT, 70, STEEL, 90, 10, 10 ; STRONG_ARM
move EFFECT_FLINCH_HIT, 55, FIGHTING, 80, 15, 30 ; UPPERCUT
move EFFECT_NORMAL_HIT, 1, WATER, 1, 15, 0 ; WATER_SPORT - effect not implemented
move EFFECT_NORMAL_HIT, 55, FLYING, 95, 10, 0 ; WIND_RIDE
move EFFECT_NORMAL_HIT, 80, FAIRY, 100, 10, 0 ; DAZZLING_GLEAM
move EFFECT_ALWAYS_HIT, 40, FAIRY, 100, 15, 0 ; DISARMING_VOICE
move EFFECT_LEECH_HIT, 50, FAIRY, 100, 10, 0 ; DRAINING_KISS
move EFFECT_NORMAL_HIT, 40, FAIRY, 100, 30, 0 ; FAIRY_WIND
move EFFECT_SP_ATK_DOWN_HIT, 95, FAIRY, 100, 15, 30 ; MOONBLAST
move EFFECT_ATTACK_DOWN_HIT, 90, FAIRY, 90, 10, 10 ; PLAY_ROUGH
move EFFECT_CONFUSE_HIT, 90, FAIRY, 95, 10, 20 ; STRANGE_STEAM
.IndirectEnd::

View file

@ -255,5 +255,21 @@ MoveNames::
li "ROCK SLASH"
li "CROSS CUTTER"
li "MEGAPHONE"
li "MYSTIC ICE"
li "BOUNCE"
li "BRIGHT MOSS"
li "COIN HURL"
li "UPROOT"
li "SYNCHRONIZE"
li "STRONG ARM"
li "UPPERCUT"
li "WATER SPORT"
li "WIND RIDE"
li "DAZZLE GLEAM"
li "DISARM VOICE"
li "DRAININGKISS"
li "FAIRY WIND"
li "MOONBLAST"
li "PLAY ROUGH"
li "STRANGE STEAM"
assert_list_length NUM_ATTACKS

View file

@ -10,10 +10,10 @@ ChrisNameMenuHeader:
db 5 ; items
db "NEW NAME@"
MalePlayerNameArray:
db "ETHAN@"
db "GOLD@"
db "CHRIS@"
db "JIMMY@"
db "ETHAN@" ; games
db "GOLD@" ; manga
db "JIMMY@" ; legend of thunder
db "CHRIS@" ; vanilla
db 2 ; title indent
db " NAME @" ; title
@ -29,10 +29,10 @@ KrisNameMenuHeader:
db 5 ; items
db "NEW NAME@"
FemalePlayerNameArray:
db "KRIS@"
db "MARINA@"
db "AMANDA@"
db "JODI@"
db "KRIS@" ; game
db "MARINA@" ; legend of thunder
db "CRYSTAL@" ; manga
db "CHRIS@" ; golden boys - plays with the male player version as well, showing it's a unisex name
db 2 ; title indent
db " NAME @" ; title

View file

@ -302,7 +302,7 @@ INCLUDE "data/pokemon/base_stats/aercrow.asm"
INCLUDE "data/pokemon/base_stats/foxfire.asm"
INCLUDE "data/pokemon/base_stats/yanma.asm"
INCLUDE "data/pokemon/base_stats/yanmega.asm"
INCLUDE "data/pokemon/base_stats/pending03.asm"
INCLUDE "data/pokemon/base_stats/oniyanma.asm"
INCLUDE "data/pokemon/base_stats/wooper.asm"
INCLUDE "data/pokemon/base_stats/quagsire.asm"
INCLUDE "data/pokemon/base_stats/espeon.asm"
@ -383,7 +383,7 @@ INCLUDE "data/pokemon/base_stats/sonegg.asm"
INCLUDE "data/pokemon/base_stats/cacawphony.asm"
INCLUDE "data/pokemon/base_stats/trebir.asm"
INCLUDE "data/pokemon/base_stats/sakuraze.asm"
INCLUDE "data/pokemon/base_stats/amanobi.asm"
INCLUDE "data/pokemon/base_stats/tanobi.asm"
INCLUDE "data/pokemon/base_stats/trustan.asm"
INCLUDE "data/pokemon/base_stats/kuwaguard.asm"
INCLUDE "data/pokemon/base_stats/tonquito.asm"
@ -421,6 +421,7 @@ INCLUDE "data/pokemon/base_stats/pupitar.asm"
INCLUDE "data/pokemon/base_stats/tyranitar.asm"
INCLUDE "data/pokemon/base_stats/lugia.asm"
INCLUDE "data/pokemon/base_stats/ho_oh.asm"
INCLUDE "data/pokemon/base_stats/shi_shi.asm"
INCLUDE "data/pokemon/base_stats/hyoshu_yang.asm"
INCLUDE "data/pokemon/base_stats/hyoshu_yin.asm"
INCLUDE "data/pokemon/base_stats/celebi.asm"
.IndirectEnd::

View file

@ -17,5 +17,5 @@
dn EGG_FLYING, EGG_FLYING ; egg groups
; tm/hm learnset
tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING
tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, RETURN, PSYCHIC_M, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING
; end

View file

@ -17,5 +17,5 @@
dn EGG_MONSTER, EGG_PLANT ; egg groups
; tm/hm learnset
tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, FURY_CUTTER, CUT, FLASH
tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, DEFENSE_CURL, REST, ATTRACT, FURY_CUTTER, CUT, FLASH
; end

View file

@ -17,5 +17,5 @@
dn EGG_FLYING, EGG_FLYING ; egg groups
; tm/hm learnset
tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING, FLY
tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, RETURN, PSYCHIC_M, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING, FLY
; end

View file

@ -14,7 +14,7 @@
INCBIN "gfx/pokemon/cyclorp/front.dimensions"
dw NULL, NULL ; unused (beta front/back pics)
db GROWTH_MEDIUM_SLOW ; growth rate ; PLACEHOLDER
dn EGG_NONE, EGG_NONE ; egg groups
dn EGG_BUG, EGG_WATER_3 ; egg groups
; tm/hm learnset
tmhm HEADBUTT, CURSE, TOXIC, ROCK_SMASH, HIDDEN_POWER, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, IRON_TAIL, RETURN, DIG, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, SANDSTORM, SWIFT, DETECT, REST, ATTRACT, THIEF, FURY_CUTTER, CUT

View file

@ -1,9 +1,9 @@
db FOXFIRE ; species ID placeholder
db 70, 65, 60, 85, 85, 80
db 55, 85, 50, 115, 100, 70
; hp atk def spd sat sdf
db FIRE, FIRE ; type
db FIRE, ELECTRIC ; type
db 130 ; catch rate
db 110 ; base exp
db BURNT_BERRY, BURNT_BERRY ; items
@ -17,5 +17,5 @@
dn EGG_GROUND, EGG_GROUND ; egg groups
; tm/hm learnset
tmhm HEADBUTT, CURSE, ROAR, TOXIC, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DEFENSE_CURL, REST, ATTRACT, THIEF, STRENGTH, FLAMETHROWER
tmhm HEADBUTT, CURSE, ROAR, TOXIC, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, SOLARBEAM, IRON_TAIL, RETURN, DIG, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, FIRE_BLAST, SWIFT, DEFENSE_CURL, REST, ATTRACT, THIEF, STRENGTH, FLAMETHROWER, THUNDERBOLT, THUNDER
; end

View file

@ -17,5 +17,5 @@
dn EGG_FLYING, EGG_FLYING ; egg groups
; tm/hm learnset
tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING
tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, RETURN, PSYCHIC_M, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING
; end

View file

@ -17,5 +17,5 @@
dn EGG_INDETERMINATE, EGG_INDETERMINATE ; egg groups
; tm/hm learnset
tmhm DYNAMICPUNCH, CURSE, TOXIC, ZAP_CANNON, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, FIRE_BLAST, THUNDERPUNCH, REST, ATTRACT, THIEF, FIRE_PUNCH, FLAMETHROWER, THUNDERBOLT
tmhm DYNAMICPUNCH, CURSE, TOXIC, ZAP_CANNON, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, FIRE_BLAST, THUNDERPUNCH, REST, ATTRACT, THIEF, FIRE_PUNCH, SURF, FLAMETHROWER, THUNDERBOLT
; end

View file

@ -0,0 +1,21 @@
db 0 ; species ID placeholder
db 106, 154, 90, 110, 130, 90
; hp atk def spd sat sdf
db ICE, FAIRY ; type
db 3 ; catch rate
db 220 ; base exp
db NO_ITEM, NO_ITEM ; items
db GENDER_F0 ; gender ratio
db 100 ; unknown 1
db 120 ; step cycles to hatch
db 5 ; unknown 2
INCBIN "gfx/pokemon/hyoshu_yang/front.dimensions"
dw NULL, NULL ; unused (beta front/back pics)
db GROWTH_SLOW ; growth rate
dn EGG_NONE, EGG_NONE ; egg groups
; tm/hm learnset
tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, EARTHQUAKE, RETURN, PSYCHIC_M, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, SWIFT, DREAM_EATER, DETECT, REST, CUT, STRENGTH, FLASH, ICE_BEAM
; end

View file

@ -3,19 +3,19 @@
db 106, 154, 90, 110, 130, 90
; hp atk def spd sat sdf
db ICE, FLYING ; type
db ICE, DARK ; type
db 3 ; catch rate
db 220 ; base exp
db NO_ITEM, NO_ITEM ; items
db GENDER_UNKNOWN ; gender ratio
db GENDER_F100 ; gender ratio
db 100 ; unknown 1
db 120 ; step cycles to hatch
db 5 ; unknown 2
INCBIN "gfx/pokemon/shi_shi/front.dimensions"
INCBIN "gfx/pokemon/hyoshu_yin/front.dimensions"
dw NULL, NULL ; unused (beta front/back pics)
db GROWTH_SLOW ; growth rate
dn EGG_NONE, EGG_NONE ; egg groups
; tm/hm learnset
tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, EARTHQUAKE, RETURN, PSYCHIC_M, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, SWIFT, DREAM_EATER, DETECT, REST, THIEF, NIGHTMARE, FLY, STRENGTH, FLASH, ICE_BEAM
tmhm HEADBUTT, CURSE, ROAR, TOXIC, ROCK_SMASH, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, BLIZZARD, HYPER_BEAM, ICY_WIND, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, DRAGONBREATH, EARTHQUAKE, RETURN, PSYCHIC_M, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SANDSTORM, SWIFT, DREAM_EATER, DETECT, REST, THIEF, NIGHTMARE, CUT, STRENGTH, ICE_BEAM
; end

View file

@ -17,5 +17,5 @@
dn EGG_MONSTER, EGG_PLANT ; egg groups
; tm/hm learnset
tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, FURY_CUTTER, CUT, FLASH
tmhm HEADBUTT, CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, DEFENSE_CURL, REST, ATTRACT, FURY_CUTTER, CUT, FLASH
; end

View file

@ -17,5 +17,5 @@
dn EGG_NONE, EGG_NONE ; egg groups
; tm/hm learnset
tmhm DYNAMICPUNCH, HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, SOLARBEAM, THUNDER, RETURN, PSYCHIC_M, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, THUNDERPUNCH, DREAM_EATER, REST, ATTRACT, THIEF, FIRE_PUNCH, NIGHTMARE, FLASH, THUNDERBOLT
tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, ENDURE, FRUSTRATION, SOLARBEAM, THUNDER, RETURN, PSYCHIC_M, SHADOW_BALL, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DREAM_EATER, REST, ATTRACT, THIEF, NIGHTMARE, FLASH, THUNDERBOLT
; end

View file

@ -17,5 +17,5 @@
dn EGG_INDETERMINATE, EGG_INDETERMINATE ; egg groups
; tm/hm learnset
tmhm DYNAMICPUNCH, CURSE, TOXIC, ZAP_CANNON, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, FIRE_BLAST, THUNDERPUNCH, REST, ATTRACT, THIEF, FIRE_PUNCH, FLAMETHROWER, THUNDERBOLT
tmhm DYNAMICPUNCH, CURSE, TOXIC, ZAP_CANNON, HIDDEN_POWER, SUNNY_DAY, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, ICE_PUNCH, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, FIRE_BLAST, THUNDERPUNCH, REST, ATTRACT, THIEF, FIRE_PUNCH, SURF, FLAMETHROWER, THUNDERBOLT
; end

View file

@ -11,7 +11,7 @@
db 100 ; unknown 1
db 20 ; step cycles to hatch
db 5 ; unknown 2
INCBIN "gfx/pokemon/pending03/front.dimensions"
INCBIN "gfx/pokemon/oniyanma/front.dimensions"
dw NULL, NULL ; unused (beta front/back pics)
db GROWTH_MEDIUM_FAST ; growth rate
dn EGG_BUG, EGG_BUG ; egg groups

View file

@ -17,5 +17,5 @@
dn EGG_INDETERMINATE, EGG_INDETERMINATE ; egg groups
; tm/hm learnset
tmhm CURSE, TOXIC, ZAP_CANNON, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, FIRE_BLAST, REST, ATTRACT, THIEF, FLAMETHROWER, THUNDERBOLT
tmhm CURSE, TOXIC, ZAP_CANNON, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, FIRE_BLAST, REST, ATTRACT, THIEF, SURF, FLAMETHROWER, THUNDERBOLT
; end

View file

@ -1,6 +1,6 @@
db 0 ; species ID placeholder
db 50, 90, 65, 105, 75, 50
db 80, 90, 85, 105, 75, 50
; hp atk def spd sat sdf
db FIGHTING, STEEL ; type
@ -11,7 +11,7 @@
db 100 ; unknown 1
db 120 ; step cycles to hatch
db 5 ; unknown 2
INCBIN "gfx/pokemon/amanobi/front.dimensions"
INCBIN "gfx/pokemon/tanobi/front.dimensions"
dw NULL, NULL ; unused (beta front/back pics)
db GROWTH_MEDIUM_SLOW ; growth rate ; PLACEHOLDER
dn EGG_NONE, EGG_NONE ; egg groups

View file

@ -1,6 +1,6 @@
db 0 ; species ID placeholder
db 50, 75, 40, 115, 95, 50
db 100, 75, 65, 105, 90, 50
; hp atk def spd sat sdf
db NORMAL, FIRE ; type

View file

@ -17,5 +17,5 @@
dn EGG_MONSTER, EGG_PLANT ; egg groups
; tm/hm learnset
tmhm HEADBUTT, CURSE, ROAR, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, DEFENSE_CURL, REST, ATTRACT, FURY_CUTTER, CUT, FLASH
tmhm HEADBUTT, CURSE, ROAR, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SLUDGE_BOMB, DEFENSE_CURL, REST, ATTRACT, FURY_CUTTER, CUT, FLASH
; end

View file

@ -17,5 +17,5 @@
dn EGG_FLYING, EGG_FLYING ; egg groups
; tm/hm learnset
tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, RETURN, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING
tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SNORE, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, RETURN, PSYCHIC_M, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DETECT, REST, ATTRACT, THIEF, STEEL_WING
; end

View file

@ -281,7 +281,7 @@ PokemonCries::
mon_cry CRY_NIDORAN_M, 0, 0 ; FOXFIRE (incomplete)
mon_cry CRY_TOTODILE, 49, 200 ; YANMA
mon_cry CRY_NIDORAN_M, 0, 0 ; YANMEGA (incomplete)
mon_cry CRY_NIDORAN_M, 0, 0 ; PENDING03 (incomplete)
mon_cry CRY_NIDORAN_M, 0, 0 ; ONIYANMA (incomplete)
mon_cry CRY_WOOPER, 147, 175 ; WOOPER
mon_cry CRY_WOOPER, -198, 320 ; QUAGSIRE
mon_cry CRY_AIPOM, 162, 320 ; ESPEON
@ -362,7 +362,7 @@ PokemonCries::
mon_cry CRY_NIDORAN_M, 0, 128 ; CACAWPHONY
mon_cry CRY_NIDORAN_M, 0, 128 ; TREBIR
mon_cry CRY_NIDORAN_M, 0, 128 ; SAKURAZE
mon_cry CRY_NIDORAN_M, 0, 128 ; AMANOBI
mon_cry CRY_NIDORAN_M, 0, 128 ; TANOBI
mon_cry CRY_NIDORAN_M, 0, 128 ; TRUSTAN
mon_cry CRY_NIDORAN_M, 0, 128 ; KUWAGUARD
mon_cry CRY_NIDORAN_M, 0, 128 ; TONQUITO
@ -400,6 +400,7 @@ PokemonCries::
mon_cry CRY_RAIKOU, -256, 384 ; TYRANITAR
mon_cry CRY_TYPHLOSION, 0, 256 ; LUGIA
mon_cry CRY_AIPOM, 0, 384 ; HO_OH
mon_cry CRY_NIDORAN_M, 0, 128 ; SHI_SHI (placeholder)
mon_cry CRY_NIDORAN_M, 0, 128 ; HYOSHU_YANG (placeholder)
mon_cry CRY_NIDORAN_M, 0, 128 ; HYOSHU_YIN (placeholder)
mon_cry CRY_ENTEI, 330, 273 ; CELEBI
assert_table_length NUM_POKEMON

View file

@ -275,7 +275,7 @@ SECTION "Pokedex Entries 193-251", ROMX
YanmaPokedexEntry:: INCLUDE "data/pokemon/dex_entries/yanma.asm"
YanmegaPokedexEntry:: INCLUDE "data/pokemon/dex_entries/yanmega.asm"
Pending03PokedexEntry:: INCLUDE "data/pokemon/dex_entries/pending03.asm"
OniyanmaPokedexEntry:: INCLUDE "data/pokemon/dex_entries/oniyanma.asm"
WooperPokedexEntry:: INCLUDE "data/pokemon/dex_entries/wooper.asm"
QuagsirePokedexEntry:: INCLUDE "data/pokemon/dex_entries/quagsire.asm"
EspeonPokedexEntry:: INCLUDE "data/pokemon/dex_entries/espeon.asm"
@ -355,7 +355,7 @@ SoneggPokedexEntry:: INCLUDE "data/pokemon/dex_entries/sonegg.asm"
CacawphonyPokedexEntry:: INCLUDE "data/pokemon/dex_entries/cacawphony.asm"
TrebirPokedexEntry:: INCLUDE "data/pokemon/dex_entries/trebir.asm"
SakurazePokedexEntry:: INCLUDE "data/pokemon/dex_entries/sakuraze.asm"
AmanobiPokedexEntry:: INCLUDE "data/pokemon/dex_entries/amanobi.asm"
TanobiPokedexEntry:: INCLUDE "data/pokemon/dex_entries/tanobi.asm"
TrustanPokedexEntry:: INCLUDE "data/pokemon/dex_entries/trustan.asm"
KuwaguardPokedexEntry:: INCLUDE "data/pokemon/dex_entries/kuwaguard.asm"
TonquitoPokedexEntry:: INCLUDE "data/pokemon/dex_entries/tonquito.asm"
@ -393,7 +393,8 @@ PupitarPokedexEntry:: INCLUDE "data/pokemon/dex_entries/pupitar.asm"
TyranitarPokedexEntry:: INCLUDE "data/pokemon/dex_entries/tyranitar.asm"
LugiaPokedexEntry:: INCLUDE "data/pokemon/dex_entries/lugia.asm"
HoOhPokedexEntry:: INCLUDE "data/pokemon/dex_entries/ho_oh.asm"
ShiShiPokedexEntry:: INCLUDE "data/pokemon/dex_entries/shi_shi.asm"
HyoshuYangPokedexEntry:: INCLUDE "data/pokemon/dex_entries/hyoshu_yang.asm"
HyoshuYinPokedexEntry:: INCLUDE "data/pokemon/dex_entries/hyoshu_yin.asm"
CelebiPokedexEntry:: INCLUDE "data/pokemon/dex_entries/celebi.asm"
MagipreyPokedexEntry:: INCLUDE "data/pokemon/dex_entries/magiprey.asm"
TerradosPokedexEntry:: INCLUDE "data/pokemon/dex_entries/terrados.asm"

View file

@ -1,10 +1,10 @@
db "DYNAMITE@" ; species name
dw 603, 3420 ; height, weight
db "Fiercely loyal to"
next "its TRAINER. If"
next "given the order,"
db "If it thinks its"
next "TRAINER in danger,"
next "it will gather as"
page "BRUINOUS will"
next "attack with an"
next "explosive bite.@"
page "much energy as it"
next "can to trigger a"
next "huge explosion.@"

View file

@ -1,5 +1,5 @@
db "PYRO@" ; species name
dw 108, 170 ; height, weight
db "FIRE BEAR@" ; species name
dw 200, 220 ; height, weight
db "If its TRAINER is"
next "cold, CUBBURN will"

View file

@ -1,10 +1,10 @@
db "LOCH BOSS@" ; species name
db "LOCHKEEPER@" ; species name
dw 802, 4850 ; height, weight
db "Tempered and even-"
next "handed, DONMARIN"
next "carefully raises"
db "Every PALSSIO pod"
next "is raised by one"
next "DONMARIN leader."
page "its pod. Its"
next "punishments are"
next "always fair.@"
page "The punishments it"
next "deals are harsh,"
next "but always fair.@"

View file

@ -1,10 +1,10 @@
db "BLAST@" ; species name
dw 211, 420 ; height, weight
db "FIRE BEAR@" ; species name
dw 303, 720 ; height, weight
db "If it thinks its"
next "TRAINER in danger,"
next "it'll bark loudly."
db "Fiercely loyal to"
next "its TRAINER. If"
next "given the order,"
page "Reining this in"
next "is a true test"
next "of skill.@"
page "FLAMBEAR will"
next "attack with an"
next "explosive bite.@"

View file

@ -0,0 +1,10 @@
db "GUARDIAN@" ; species name
dw 1002, 6060 ; height, weight
db "Leads and protects"
next "those fleeing from"
next "persecution. The"
page "temari it holds"
next "is vital for it to"
next "ward off evil.@"

View file

@ -0,0 +1,10 @@
db "GUARDIAN@" ; species name
dw 1002, 6060 ; height, weight
db "Folklore states it"
next "raised 3 powerful"
next "beasts. Some say"
page "this #MON is"
next "a representation"
next "of the end.@"

View file

@ -1,10 +1,10 @@
db "PLAYFUL@" ; species name
dw 311, 70 ; height, weight
dw 207, 310 ; height, weight
db "Calm and collected,"
next "PALSSIO's presence"
next "soothes all around"
db "A smart and level-"
next "headed #MON, it"
next "has a soothing"
page "it. Popular with"
next "newer and more"
next "anxious TRAINERS.@"
page "presence. Popular"
next "with new, inexpe-"
next "rienced TRAINERS.@"

View file

@ -1,10 +1,10 @@
db "PROUD@" ; species name
dw 509, 70 ; height, weight
db "PRIDEFUL@" ; species name
dw 411, 910 ; height, weight
db "Prideful in its"
next "growing intellect,"
next "PRESSIO often"
db "Arrogant and proud"
next "in nature, PRESSIO"
next "picks on weaker"
page "picks fights with"
next "#MON it sees"
next "as inferior.@"
page "#MON. Its skin"
next "is smooth and cold"
next "to touch.@"

View file

@ -1,10 +0,0 @@
db "GUARDIAN@" ; species name
dw 1002, 6060 ; height, weight
db "Said to be the"
next "embodiment of the"
next "the north wind, it"
page "leads and protects"
next "those fleeing from"
next "persecution.@"

View file

@ -1,7 +1,7 @@
db "SHINOBI@" ; species name
dw 311, 191 ; height, weight - placeholder
db "AMANOBI assisted"
db "TANOBI assisted"
next "ninja warriors in"
next "the distant past."

View file

@ -276,7 +276,7 @@ PokedexDataPointerTable:
dba FoxfirePokedexEntry
dba YanmaPokedexEntry
dba YanmegaPokedexEntry
dba Pending03PokedexEntry
dba OniyanmaPokedexEntry
dba WooperPokedexEntry
dba QuagsirePokedexEntry
dba EspeonPokedexEntry
@ -357,7 +357,7 @@ PokedexDataPointerTable:
dba CacawphonyPokedexEntry
dba TrebirPokedexEntry
dba SakurazePokedexEntry
dba AmanobiPokedexEntry
dba TanobiPokedexEntry
dba TrustanPokedexEntry
dba KuwaguardPokedexEntry
dba TonquitoPokedexEntry
@ -395,6 +395,7 @@ PokedexDataPointerTable:
dba TyranitarPokedexEntry
dba LugiaPokedexEntry
dba HoOhPokedexEntry
dba ShiShiPokedexEntry
dba HyoshuYangPokedexEntry
dba HyoshuYinPokedexEntry
dba CelebiPokedexEntry
assert_table_length NUM_POKEMON

View file

@ -7,7 +7,7 @@ AlphabeticalPokedexOrder:
dw AERODACTYL
dw AIPOM
dw ALAKAZAM
dw AMANOBI
dw TANOBI
dw AMBIPOM
dw AMPHAROS
dw ANGORE
@ -151,6 +151,8 @@ AlphabeticalPokedexOrder:
dw HORSEA
dw HOUNDOOM
dw HOUNDOUR
dw HYOSHU_YANG
dw HYOSHU_YIN
dw HYPNO
dw IGGLYBUFF
dw IGUANARCH
@ -248,6 +250,7 @@ AlphabeticalPokedexOrder:
dw OMANYTE
dw OMASTAR
dw ONIX
dw ONIYANMA
dw ORFRY
dw PALSSIO
dw PARAS
@ -312,7 +315,6 @@ AlphabeticalPokedexOrder:
dw SEEL
dw SENTRET
dw SHELLDER
dw SHI_SHI
dw SHUCKLE
dw SKARMORY
dw SKIPLOOM
@ -395,7 +397,6 @@ AlphabeticalPokedexOrder:
dw XYLODON
dw XYLOFIN
dw YANMA
dw PENDING03 ; this thing's gonna start with Yan, surely, so I'm putting it here.
dw YANMEGA
dw ZAPDOS
dw ZUBAT

View file

@ -132,7 +132,7 @@ NewPokedexOrder:
dw NIDOREIGN
dw YANMA
dw YANMEGA
dw PENDING03
dw ONIYANMA
dw SUNKERN
dw SUNBUD
dw SUNFLORA
@ -326,7 +326,7 @@ NewPokedexOrder:
dw CACAWPHONY
dw TREBIR
dw SAKURAZE
dw AMANOBI
dw TANOBI
dw TRUSTAN
dw KUWAGUARD
dw TONQUITO
@ -394,7 +394,8 @@ NewPokedexOrder:
dw TYRANITAR
dw LUGIA
dw HO_OH
dw SHI_SHI
dw HYOSHU_YANG
dw HYOSHU_YIN
dw MEWTWO
dw MEW
dw CELEBI

View file

@ -64,7 +64,7 @@ EggMovePointers2::
dw FoxfireEggMoves
dw YanmaEggMoves
dw NoEggMoves2 ; Yanmega
dw NoEggMoves2 ; Pending03
dw NoEggMoves2 ; Oniyanma
dw WooperEggMoves
dw NoEggMoves2
dw NoEggMoves2
@ -146,7 +146,7 @@ EggMovePointers2::
dw NoEggMoves2
dw NoEggMoves2
dw SakurazeEggMoves
dw AmanobiEggMoves
dw TanobiEggMoves
dw TrustanEggMoves
dw KuwaguardEggMoves
dw TonquitoEggMoves
@ -186,6 +186,7 @@ EggMovePointers2::
dw NoEggMoves2
dw NoEggMoves2
dw NoEggMoves2
dw NoEggMoves2
.IndirectEnd::
ChikoritaEggMoves:
@ -213,6 +214,7 @@ TotodileEggMoves:
dw ANCIENTPOWER
dw RAZOR_WIND
dw ROCK_SLIDE
dw WATER_SPORT
dw -1 ; end
CubburnEggMoves:
@ -252,6 +254,8 @@ LedybaEggMoves:
dw PSYBEAM
dw BIDE
dw LIGHT_SCREEN
dw STRONG_ARM
dw UPPERCUT
dw -1 ; end
SpinarakEggMoves:
@ -260,6 +264,7 @@ SpinarakEggMoves:
dw SONICBOOM
dw BATON_PASS
dw PURSUIT
dw PIN_MISSILE
dw -1 ; end
ChinchouEggMoves:
@ -296,6 +301,7 @@ IgglybuffEggMoves:
dw PERISH_SONG
dw PRESENT
dw FAINT_ATTACK
dw BOUNCE
dw -1 ; end
TogepiEggMoves:
@ -338,6 +344,7 @@ AzurillEggMoves:
dw PERISH_SONG
dw SUPERSONIC
dw FORESIGHT
dw WATER_SPORT
dw -1 ; end
BonslyEggMoves:
@ -393,12 +400,15 @@ YanmaEggMoves:
dw WHIRLWIND
dw REVERSAL
dw LEECH_LIFE
dw CONFUSION
dw FLAIL
dw -1 ; end
WooperEggMoves:
dw BODY_SLAM
dw ANCIENTPOWER
dw SAFEGUARD
dw UPROOT
dw -1 ; end
MurkrowEggMoves:
@ -480,6 +490,10 @@ QwilfishEggMoves:
ShuckleEggMoves:
dw SWEET_SCENT
dw MIST
dw MUD_SLAP
dw STRING_SHOT
dw ANCIENTPOWER
dw -1 ; end
HeracrossEggMoves:
@ -515,6 +529,7 @@ SwinubEggMoves:
dw BODY_SLAM
dw ROCK_SLIDE
dw ANCIENTPOWER
dw UPROOT
dw -1 ; end
CorsolaEggMoves:
@ -560,6 +575,7 @@ SkarmoryEggMoves:
dw PURSUIT
dw WHIRLWIND
dw SKY_ATTACK
dw WIND_RIDE
dw -1 ; end
HoundourEggMoves:
@ -577,6 +593,7 @@ PhanpyEggMoves:
dw BODY_SLAM
dw ANCIENTPOWER
dw WATER_GUN
dw ROCK_HEAD
dw -1 ; end
StantlerEggMoves:
@ -601,6 +618,8 @@ TyrogueEggMoves:
dw HI_JUMP_KICK
dw MACH_PUNCH
dw MIND_READER
dw STRONG_ARM
dw UPPERCUT
dw -1 ; end
SmoochumEggMoves:
@ -652,7 +671,7 @@ SakurazeEggMoves:
dw MORNING_SUN
dw -1 ;end
AmanobiEggMoves:
TanobiEggMoves:
dw EXTREMESPEED
dw FAINT_ATTACK
dw FURY_SWIPES

View file

@ -180,7 +180,7 @@ EggMovePointers1:
dw PinsirEggMoves
dw NoEggMoves1 ; Tricules
dw NoEggMoves1
dw NoEggMoves1
dw MagikarpEggMoves
dw NoEggMoves1
dw NoEggMoves1 ; Magiprey
dw NoEggMoves1 ; Terrados
@ -221,6 +221,7 @@ BulbasaurEggMoves:
dw SAFEGUARD
dw RAZOR_WIND
dw PETAL_DANCE
dw UPROOT
dw -1 ; end
CharmanderEggMoves:
@ -268,6 +269,7 @@ SpearowEggMoves:
dw SCARY_FACE
dw QUICK_ATTACK
dw TRI_ATTACK
dw WIND_RIDE
dw -1 ; end
EkansEggMoves:
@ -304,6 +306,7 @@ NidoranMEggMoves:
dw AMNESIA
dw COUNTER
dw BEAT_UP
dw ROCK_HEAD
dw -1 ; end
VulpiiiEggMoves:
@ -395,6 +398,7 @@ PoliwagEggMoves:
dw BUBBLEBEAM
dw HAZE
dw MIND_READER
dw WATER_SPORT
dw -1 ; end
AbraEggMoves:
@ -408,6 +412,7 @@ MachopEggMoves:
dw MEDITATE
dw ROLLING_KICK
dw ENCORE
dw BARRIER
dw -1 ; end
BellsproutEggMoves:
@ -505,6 +510,7 @@ DoduoEggMoves:
dw HAZE
dw FAINT_ATTACK
dw FLAIL
dw MEGAPHONE
dw -1 ; end
SeelEggMoves:
@ -553,6 +559,7 @@ KrabbyEggMoves:
dw FLAIL
dw SLAM
dw ROCK_SLASH
dw CROSS_CUTTER
dw -1 ; end
ExeggcuteEggMoves:
@ -618,6 +625,7 @@ KangaskhanEggMoves:
dw FOCUS_ENERGY
dw SAFEGUARD
dw DISABLE
dw MEGAPHONE
dw -1 ; end
HorseaEggMoves:
@ -673,6 +681,10 @@ PinsirEggMoves:
dw ROCK_SLASH
dw -1 ; end
MagikarpEggMoves:
dw BOUNCE
dw -1 ; end
LaprasEggMoves:
dw AURORA_BEAM
dw FORESIGHT
@ -681,6 +693,7 @@ LaprasEggMoves:
EeveeEggMoves:
dw FLAIL
dw CHARM
dw BRIGHT_MOSS
dw -1 ; end
OmanyteEggMoves:
@ -689,6 +702,7 @@ OmanyteEggMoves:
dw SLAM
dw SUPERSONIC
dw HAZE
dw BRIGHT_MOSS
dw -1 ; end
KabutoEggMoves:
@ -697,6 +711,7 @@ KabutoEggMoves:
dw RAPID_SPIN
dw DIG
dw FLAIL
dw CROSS_CUTTER
dw -1 ; end
FeradactylEggMoves:

View file

@ -274,7 +274,7 @@ EvolutionMoves::
dw NO_MOVE ;FOXFIRE
dw NO_MOVE ;YANMA ; c1
dw NO_MOVE ;YANMEGA
dw NO_MOVE ;PENDING03
dw NO_MOVE ;ONIYANMA
dw NO_MOVE ;WOOPER ; c2
dw NO_MOVE ;QUAGSIRE ; c3
dw NO_MOVE ;ESPEON ; c4
@ -355,7 +355,7 @@ EvolutionMoves::
dw NO_MOVE ;CACAWPHONY
dw NO_MOVE ;TREBIR
dw NO_MOVE ;SAKURAZE
dw NO_MOVE ;AMANOBI
dw NO_MOVE ;TANOBI
dw NO_MOVE ;TRUSTAN
dw NO_MOVE ;KUWAGUARD
dw NO_MOVE ;TONQUITO
@ -393,7 +393,8 @@ EvolutionMoves::
dw NO_MOVE ;TYRANITAR ; f8
dw NO_MOVE ;LUGIA ; f9
dw NO_MOVE ;HO_OH ; fa
dw NO_MOVE ;SHI_SHI
dw NO_MOVE ;HYOSHU_YANG
dw NO_MOVE ;HYOSHU_YIN
dw NO_MOVE ;CELEBI ; fb
;---

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -357,7 +357,7 @@ FirstEvoStages::
dw SONEGG
dw SONEGG
dw SAKURAZE
dw AMANOBI
dw TANOBI
dw TRUSTAN
dw KUWAGUARD
dw TONQUITO
@ -395,6 +395,7 @@ FirstEvoStages::
dw LARVITAR ;f8
dw LUGIA
dw HO_OH
dw SHI_SHI
dw HYOSHU_YANG
dw HYOSHU_YIN
dw CELEBI
assert_table_length NUM_POKEMON

View file

@ -277,7 +277,7 @@ MonMenuIcons:
db ICON_FOX ; FOXFIRE
db ICON_BUG ; YANMA
db ICON_BUG ; YANMEGA
db ICON_BUG ; PENDING03
db ICON_BUG ; ONIYANMA
db ICON_MONSTER ; WOOPER
db ICON_MONSTER ; QUAGSIRE
db ICON_FOX ; ESPEON
@ -358,7 +358,7 @@ MonMenuIcons:
db ICON_BIRD ; CACAWPHONY
db ICON_BIRD ; TREBIR
db ICON_ODDISH ; SAKURAZE - Want this to be the old Flower icon
db ICON_FOX ; AMANOBI
db ICON_FOX ; TANOBI
db ICON_FOX ; TRUSTAN
db ICON_BUG ; KUWAGUARD
db ICON_BUG ; TONQUITO
@ -396,6 +396,7 @@ MonMenuIcons:
db ICON_MONSTER ; TYRANITAR
db ICON_LUGIA ; LUGIA
db ICON_HO_OH ; HO_OH
db ICON_FOX ; SHI_SHI
db ICON_FOX ; HYOSHU_YANG
db ICON_FOX ; HYOSHU_YIN
db ICON_HUMANSHAPE ; CELEBI
assert_table_length NUM_POKEMON

View file

@ -279,7 +279,7 @@ PokemonNames::
db "FOXFIRE@@@"
db "YANMA@@@@@"
db "YANMEGA@@@"
db "PENDING03@"
db "ONIYANMA@@"
db "WOOPER@@@@"
db "QUAGSIRE@@"
db "ESPEON@@@@"
@ -361,7 +361,7 @@ PokemonNames::
db "CACAWPHONY"
db "TREBIR@@@@"
db "SAKURAZE@@"
db "AMANOBI@@@"
db "TANOBI@@@@"
db "TRUSTAN@@@"
db "KUWAGUARD@"
db "TONQUITO@@"
@ -399,6 +399,7 @@ PokemonNames::
db "TYRANITAR@"
db "LUGIA@@@@@"
db "HO-OH@@@@@"
db "SHI-SHI@@@"
db "HYOSHU@@@@"
db "HYOSHU@@@@"
db "CELEBI@@@@"
assert_table_length NUM_POKEMON

View file

@ -583,8 +583,8 @@ INCBIN "gfx/pokemon/yanma/front.gbcpal", middle_colors
INCLUDE "gfx/pokemon/yanma/shiny.pal"
INCBIN "gfx/pokemon/yanmega/front.gbcpal", middle_colors
INCLUDE "gfx/pokemon/yanmega/shiny.pal"
INCBIN "gfx/pokemon/pending03/front.gbcpal", middle_colors
INCLUDE "gfx/pokemon/pending03/shiny.pal"
INCBIN "gfx/pokemon/oniyanma/front.gbcpal", middle_colors
INCLUDE "gfx/pokemon/oniyanma/shiny.pal"
INCBIN "gfx/pokemon/wooper/front.gbcpal", middle_colors
INCLUDE "gfx/pokemon/wooper/shiny.pal"
INCBIN "gfx/pokemon/quagsire/front.gbcpal", middle_colors
@ -746,8 +746,8 @@ INCBIN "gfx/pokemon/trebir/front.gbcpal", middle_colors
INCLUDE "gfx/pokemon/trebir/shiny.pal"
INCBIN "gfx/pokemon/sakuraze/front.gbcpal", middle_colors
INCLUDE "gfx/pokemon/sakuraze/shiny.pal"
INCBIN "gfx/pokemon/amanobi/front.gbcpal", middle_colors
INCLUDE "gfx/pokemon/amanobi/shiny.pal"
INCBIN "gfx/pokemon/tanobi/front.gbcpal", middle_colors
INCLUDE "gfx/pokemon/tanobi/shiny.pal"
INCBIN "gfx/pokemon/trustan/front.gbcpal", middle_colors
INCLUDE "gfx/pokemon/trustan/shiny.pal"
INCBIN "gfx/pokemon/kuwaguard/front.gbcpal", middle_colors
@ -824,8 +824,10 @@ INCBIN "gfx/pokemon/lugia/front.gbcpal", middle_colors
INCLUDE "gfx/pokemon/lugia/shiny.pal"
INCBIN "gfx/pokemon/ho_oh/front.gbcpal", middle_colors
INCLUDE "gfx/pokemon/ho_oh/shiny.pal"
INCBIN "gfx/pokemon/shi_shi/front.gbcpal", middle_colors
INCLUDE "gfx/pokemon/shi_shi/shiny.pal"
INCBIN "gfx/pokemon/hyoshu_yang/front.gbcpal", middle_colors
INCLUDE "gfx/pokemon/hyoshu_yang/shiny.pal"
INCBIN "gfx/pokemon/hyoshu_yin/front.gbcpal", middle_colors
INCLUDE "gfx/pokemon/hyoshu_yin/shiny.pal"
INCBIN "gfx/pokemon/celebi/front.gbcpal", middle_colors
INCLUDE "gfx/pokemon/celebi/shiny.pal"

View file

@ -563,8 +563,8 @@ PokemonPicPointers::
dba YanmaBackpic
dba YanmegaFrontpic
dba YanmegaBackpic
dba Pending03Frontpic
dba Pending03Backpic
dba OniyanmaFrontpic
dba OniyanmaBackpic
dba WooperFrontpic
dba WooperBackpic
dba QuagsireFrontpic
@ -728,8 +728,8 @@ PokemonPicPointers::
dba TrebirBackpic
dba SakurazeFrontpic
dba SakurazeBackpic
dba AmanobiFrontpic
dba AmanobiBackpic
dba TanobiFrontpic
dba TanobiBackpic
dba TrustanFrontpic
dba TrustanBackpic
dba KuwaguardFrontpic
@ -804,8 +804,10 @@ PokemonPicPointers::
dba LugiaBackpic
dba HoOhFrontpic
dba HoOhBackpic
dba ShiShiFrontpic
dba ShiShiBackpic
dba HyoshuYangFrontpic
dba HyoshuYangBackpic
dba HyoshuYinFrontpic
dba HyoshuYinBackpic
dba CelebiFrontpic
dba CelebiBackpic
assert_table_length NUM_POKEMON + 1

View file

@ -53,4 +53,8 @@ UnownPicPointers::
dba UnownYBackpic
dba UnownZFrontpic
dba UnownZBackpic
dba UnownExclamationFrontpic
dba UnownExclamationBackpic
dba UnownQuestionFrontpic
dba UnownQuestionBackpic
assert_table_length NUM_UNOWN

View file

@ -35,6 +35,8 @@ UnownWords:
dw UnownWordX
dw UnownWordY
dw UnownWordZ
dw UnownWordExclamation
dw UnownWordQuestion
assert_table_length NUM_UNOWN + 1
UnownWordA: unownword "ANGRY"
@ -63,3 +65,6 @@ UnownWordW: unownword "WANT"
UnownWordX: unownword "XXXXX"
UnownWordY: unownword "YIELD"
UnownWordZ: unownword "ZOOM"
UnownWordExclamation: unownword "(((((" ; "!!!!!" since "Z" + 1 == "("
UnownWordQuestion: unownword ")))))" ; "?????" since "Z" + 2 == ")"
; these use the words from the hgss unown report

View file

@ -1634,6 +1634,22 @@ CooltrainerMGroup:
dw DRAGONAIR
dw WRAP, SURF, DRAGON_RAGE, SLAM
db -1 ; end
next_list_item ; COOLTRAINERM (11)
db "RITCHIE@", TRAINERTYPE_MOVES ; anime reference
db 43
dw BUTTERFREE
dw SLEEP_POWDER, PSYCHIC_M, WHIRLWIND, STUN_SPORE
db 41
dw PUPITAR
dw HEADBUTT, SANDSTORM, ROCK_SLIDE, EARTHQUAKE
db 41
dw CHARIZARD
dw FLAMETHROWER, WING_ATTACK, SLASH, EARTHQUAKE
db 45
dw GOROCHU
dw THUNDERBOLT, SUBMISSION, BODY_SLAM, THUNDER_WAVE
db -1 ; end
end_list_items
@ -2687,12 +2703,10 @@ BugCatcherGroup:
FisherGroup:
next_list_item ; FISHER (1)
db "JUSTIN@", TRAINERTYPE_NORMAL ; There are multiple "Karp Spam" Fishers, so Justin is being completely changed.
db 9
dw ORFRY
db 15 ; Essentially, he is the player's introduction to Old Rod fishing in GSC.
dw MAGIKARP
db 15
dw ORFRY
db 17
dw TENTACOOL
db -1 ; end
next_list_item ; FISHER (2)
@ -3679,7 +3693,7 @@ HikerGroup:
next_list_item ; HIKER (2)
db "RUSSELL@", TRAINERTYPE_NORMAL
db 4
db 5
dw PHANPY
db 6
dw WOOPER
@ -3831,7 +3845,7 @@ HikerGroup:
db "DANIEL@", TRAINERTYPE_NORMAL
db 10
dw WOOPER
db 12
db 11
dw ONIX
db -1 ; end

View file

@ -349,7 +349,7 @@ LassGroup:
dw DISABLE, SURF, PSYCHIC_M, SCREECH
db -1 ; end
next_list_item ; LASS (2)
next_list_item ; LASS (18)
db "IKUE@", TRAINERTYPE_ITEM_MOVES
db 43
dw NIDOQUEEN ; From the Yellow Lass
@ -364,6 +364,33 @@ LassGroup:
db LIGHT_BALL
dw THUNDERBOLT, QUICK_ATTACK, DOUBLE_EDGE, AGILITY ; Moves from Johto anime
db -1 ; end
next_list_item ; LASS (19)
db "CASEY@", TRAINERTYPE_MOVES ; anime reference
db 45 ; She's from New Bark Town, and is last seen when going to Cerulean City to watch a baseball game.
dw RATICATE ; So she's on Route 4, here.
dw SUPER_FANG, HYPER_FANG, BUBBLEBEAM, TAIL_WHIP ; BubbleBeam is a soft-reference to Misty's old TM, also BubbleRat is cool
db 45
dw PIDGEOT
dw WING_ATTACK, DOUBLE_EDGE, MIRROR_MOVE, SING
db 45
dw BEEDRILL
dw TWINEEDLE, SLUDGE_BOMB, SWORDS_DANCE, AGILITY
db 45
dw ELECTIVIRE
dw MEDITATE, CROSS_CHOP, THUNDERBOLT, ICE_PUNCH
db 45
dw MEGANIUM
dw SWORDS_DANCE, EARTHQUAKE, RAZOR_LEAF, BODY_SLAM
db -1
next_list_item ; COOLTRAINERM (11)
db "DUPLICA@", TRAINERTYPE_NORMAL ; anime reference
db 40
dw DITTO ; Mini-Dit!
db 43
dw MIMMEO
db -1 ; end
end_list_items
@ -733,7 +760,7 @@ JackGroup:
next_list_item
db "JACKY@", TRAINERTYPE_MOVES
db 50
dw AMANOBI ; Kage-Maru
dw TANOBI ; Kage-Maru
dw METAL_CLAW, SPIKES, FIRE_SPIN, PETAL_DANCE
db 50
dw ANNIHILAPE

View file

@ -3,11 +3,15 @@
; General philosophies:
; - Johto encounter bias at every opportunity.
; - However, Kanto Pokemon should still be present.
; - If there is an equivalent, it should switch (eg. Sentret vs Rattata)
; - If there is an equivalent, it should switch (eg. Sentret vs Rattata, Gastly vs Misdreavus)
; - Making some Kanto Pokemon exclusive to Kanto is acceptable given the region's changes.
; - Johto can't always stand on its own, so it's ok to have Kanto plurality.
; - In general: Increase Johto *frequency*. Don't make an ethnostate (see: BW and its consequences).
; FAQ
; "Isn't Misdreavus too strong?"
; It's worse than Gastly. It starts with Psywave and is stuck with it until L26, and gets less TMs. Thus, it "nerfs" Gastly more than anything - which has better moves, higher offensive stats, and a Poison resistance for the early-game - improved Johto accessibility is always a priority.
JohtoGrassWildMons:
def_grass_wildmons SPROUT_TOWER_2F
@ -1464,29 +1468,29 @@ JohtoGrassWildMons:
def_grass_wildmons ROUTE_36
db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
; morn
dbw 14, LEDYBA
dbw 16, FARFETCH_D
dbw 15, AERCROW
dbw 15, KOTORA
dbw 17, KOTORA
dbw 14, NATU
dbw 16, NATU
dbw 5, LEDYBA
dbw 6, BELLSPROUT
dbw 6, PUPPERON
dbw 6, KOTORA
dbw 7, KOTORA
dbw 5, NATU
dbw 7, FARFETCH_D
; day
dbw 15, FARFETCH_D
dbw 14, KOTORA
dbw 15, BELLSPROUT
dbw 16, AERCROW
dbw 17, AERCROW
dbw 15, NATU
dbw 16, NATU
dbw 6, BELLSPROUT
dbw 5, KOTORA
dbw 5, BELLSPROUT
dbw 5, PUPPERON
dbw 6, PUPPERON
dbw 6, NATU
dbw 7, FARFETCH_D
; nite
dbw 15, SPINARAK
dbw 14, HOOTHOOT
dbw 16, BELLSPROUT
dbw 14, VULPIII ; Silver data, but specifically at night
dbw 15, HOOTHOOT
dbw 16, MISDREAVUS
dbw 17, MISDREAVUS
dbw 5, SPINARAK
dbw 6, HOOTHOOT
dbw 6, ODDISH
dbw 5, VULPIII ; Silver data, but specifically at night
dbw 5, HOOTHOOT
dbw 6, MISDREAVUS
dbw 7, MISDREAVUS
end_grass_wildmons
; Restored the 30% Stantler from GS.

View file

@ -13,6 +13,7 @@ UnlockedUnownLetterSets:
dw .Set_L_R ; UNLOCKED_UNOWNS_L_TO_R_F
dw .Set_S_W ; UNLOCKED_UNOWNS_S_TO_W_F
dw .Set_X_Z ; UNLOCKED_UNOWNS_X_TO_Z_F
dw .Set_Exclamation_Question ; UNLOCKED_UNOWNS_EXCLAMATION_QUESTION
assert_table_length NUM_UNLOCKED_UNOWN_SETS
.Set_A_K:
@ -23,3 +24,5 @@ UnlockedUnownLetterSets:
unown_set S, T, U, V, W
.Set_X_Z:
unown_set X, Y, Z
.Set_Exclamation_Question ; I'm not the biggest fan of this - could easily just put them with XYZ, but it seems in HGSS it was made more awkward, so let's do it this way. Could also be used to place them somewhere else - Tanoby Ruins?
unown_set EXCLAMATION, QUESTION

View file

@ -6450,6 +6450,8 @@ INCLUDE "engine/battle/move_effects/attract.asm"
INCLUDE "engine/battle/move_effects/return.asm"
INCLUDE "engine/battle/move_effects/coin_hurl.asm"
INCLUDE "engine/battle/move_effects/present.asm"
INCLUDE "engine/battle/move_effects/frustration.asm"

View file

@ -0,0 +1,56 @@
; Checks the user's money and divides by 100.
; Caps at base 150 power, from 15,000 yen, which is 00000000-00111010-10011000 in binary (the player's money box). This is achieved through skipping the calculation at a certain point.
; Against an enemy Pokemon, they'll always have base 90 Power.
; Given the way this works, Coin Hurl will rise in power *very* quickly, but, likewise, also reward good fiscal responsibility from the player. At 3,000 yen, it's almost useless. At 10,000 yen, you have max power Return.
; This move is only learned by Persian and Belledam. Persian has 75 Attack and is basically useless without the move; this gives it an RBY Slash-like counterpart to bring it back to its roots. Belledam, on the other hand, doesn't get STAB, so it's just a (very good) Double-Edge alternative. I really like this!
; To change scaling, simply change which bytes are checked for the cap, and work from there. Alternatively, change the division process, and so on. Lots of ways, ours is very simple.
; Have fun using Coin Hurl! - PvK
BattleCommand_CoinHurlPower:
push bc
ld hl, wMoney
ld a, [wLinkMode]
and a
jr nz, .linked ; To test max power in the Debug Room, set to z.
ldh a, [hBattleTurn]
and a
jr z, .ok
jr .enemyMon ; If you're fighting an enemy Pokemon, then skip the calculation and force base 90 Power. We've already checked the link mode, so this only works in PvP.
.ok
; Cap at base 150 power
; There's no multi-byte compare instruction by default so we're doing it in a really funny way
; s/o Shellnuts for helping!
ld a, [wMoney] ; check high byte
cp %00000001
jr c, .linked ; if there's a 1 in here at all, just skip the calculation entirely, because you're over 15,000.
ld a, [wMoney+1] ; check middle byte
cp %00111010
jr c, .linked ; Fuck off again if you're at the initial total.
ld a, [wMoney+2] ; low byte, you can get here sometimes
cp %10011000
jr c, .linked
xor a
ld a, 100 ; Take current money and divide it by 100.
ldh [hDivisor], a
ld b, 4
call Divide
ldh a, [hQuotient + 3]
ld d, a
jr .end
.enemyMon ; Against an enemy Pokemon, base 75 power.
ld d, 90
jr .end
.linked ; In a Link Battle, it's always base 150 power. We also skip here if the player's money is over 15,000 yen.
ld d, 150
; fallthrough
.end
pop bc
ret

View file

@ -94,6 +94,7 @@ DoBattleAnimFrame:
dw BattleAnimFunction_AncientPower
dw BattleAnimFunction_RockSmash
dw BattleAnimFunction_Cotton
dw BattleAnimFunction_CoinHurl
assert_table_length NUM_BATTLEANIMFUNCS
BattleAnimFunction_Null:
@ -273,6 +274,23 @@ BattleAnimFunction_MoveFromUserToTargetAndDisappear:
call DeinitBattleAnimation
ret
; Poke Ball animation function without the jumptable and palchoice
; managed to finish this by freak accident tbh it's nice tho
BattleAnimFunction_CoinHurl:
call BattleAnimFunction_ThrowFromUserToTarget
ret c
ld hl, BATTLEANIMSTRUCT_YOFFSET
add hl, bc
ld a, [hl]
ld hl, BATTLEANIMSTRUCT_YCOORD
add hl, bc
add [hl]
ld [hl], a
ld a, BATTLEANIMFRAMESET_75
call ReinitBattleAnimFrameset
call DeinitBattleAnimation
ret
BattleAnimFunction_PokeBall:
call BattleAnim_AnonJumptable
.anon_dw

View file

@ -612,7 +612,7 @@ InitializeEventsScript:
setevent EVENT_OLIVINE_PORT_PASSAGE_POKEFAN_M
setevent EVENT_KURTS_HOUSE_KURT_2
setevent EVENT_KURTS_HOUSE_GRANDDAUGHTER_2
setevent EVENT_RANG_CLEAR_BELL_1
setevent EVENT_SAW_RAINBOW_WING_1
setevent EVENT_FLORIA_AT_FLOWER_SHOP
setevent EVENT_FLORIA_AT_SUDOWOODO
setevent EVENT_GOLDENROD_CITY_MOVE_TUTOR

View file

@ -215,7 +215,7 @@ _CGB_StatsScreenHPPals:
call LoadPalette_White_Col1_Col2_Black ; exp palette
ld hl, StatsScreenPagePals
ld de, wBGPals1 palette 3
ld bc, 3 palettes ; pink, green, and blue page palettes
ld bc, 4 palettes ; pink, green, and blue page palettes - now with orange!
ld a, BANK(wBGPals1)
call FarCopyWRAM
call WipeAttrmap
@ -230,20 +230,25 @@ _CGB_StatsScreenHPPals:
ld a, $2 ; exp palette
call ByteFill
hlcoord 13, 5, wAttrmap
hlcoord 11, 5, wAttrmap
lb bc, 2, 2
ld a, $3 ; pink page palette
call FillBoxCGB
hlcoord 15, 5, wAttrmap
hlcoord 13, 5, wAttrmap
lb bc, 2, 2
ld a, $4 ; green page palette
call FillBoxCGB
hlcoord 17, 5, wAttrmap
hlcoord 15, 5, wAttrmap
lb bc, 2, 2
ld a, $5 ; blue page palette
call FillBoxCGB
hlcoord 17, 5, wAttrmap
lb bc, 2, 2
ld a, $6 ; orange page palette
call FillBoxCGB
call ApplyAttrmap
call ApplyPals

View file

@ -375,7 +375,6 @@ LoadStatsScreenPals:
ret z
ld hl, StatsScreenPals
ld b, 0
dec c
add hl, bc
add hl, bc
ldh a, [rSVBK]

View file

@ -1,3 +1,5 @@
; Modified to add ! and ?
; Used https://github.com/pret/pokecrystal/wiki/Add-a-new-Unown-form
GetUnownLetter:
; Return Unown letter in wUnownLetter based on DVs at hl
@ -31,20 +33,25 @@ GetUnownLetter:
srl a
or b
; Divide by 10 to get 0-25
; Divide by 9 to get 0-28 - changed to add ! and ?
ldh [hDividend + 3], a
xor a
ldh [hDividend], a
ldh [hDividend + 1], a
ldh [hDividend + 2], a
ld a, $ff / NUM_UNOWN + 1
ld a, 9
ldh [hDivisor], a
ld b, 4
call Divide
; Increment to get 1-26
; Increment to get 1-29
ldh a, [hQuotient + 3]
inc a
; The valid range is 1-28, so use UNOWN_E (5) instead of 29
cp NUM_UNOWN + 1
jr c, .valid
ld a, UNOWN_E
.valid
ld [wUnownLetter], a
ret

View file

@ -35,6 +35,8 @@ SplashScreen:
; Play GameFreak logo animation
call GameFreakPresentsInit
ld de, SFX_GAME_FREAK_LOGO_GS
call PlaySFX
.joy_loop
call JoyTextDelay
ldh a, [hJoyLast]
@ -267,8 +269,6 @@ GameFreakLogo_Bounce:
ld a, [hl]
sub 48
ld [hl], a
ld de, SFX_DITTO_BOUNCE
call PlaySFX
ret
.done
@ -287,7 +287,7 @@ GameFreakLogo_Ditto:
ld hl, SPRITEANIMSTRUCT_VAR2 ; frame count
add hl, bc
ld a, [hl]
cp 32
cp 40
jr nc, .start_transform
inc [hl]
ret

View file

@ -47,31 +47,37 @@ _TitleScreen:
; Apply logo gradient:
; lines 3-4
hlbgcoord 0, 3
hlbgcoord 0, 2
ld bc, 2 * BG_MAP_WIDTH
ld a, 2
call ByteFill
; line 5
hlbgcoord 0, 5
hlbgcoord 0, 4
ld bc, BG_MAP_WIDTH
ld a, 3
call ByteFill
; line 6
hlbgcoord 0, 6
hlbgcoord 0, 5
ld bc, BG_MAP_WIDTH
ld a, 4
call ByteFill
; line 7
hlbgcoord 0, 7
hlbgcoord 0, 6
ld bc, BG_MAP_WIDTH
ld a, 5
call ByteFill
; lines 8-9
hlbgcoord 0, 8
hlbgcoord 0, 7
ld bc, 2 * BG_MAP_WIDTH
ld a, 6
call ByteFill
; 'CRYSTAL VERSION'
hlbgcoord 5, 8
ld bc, 11 ; length of version text
ld a, 1
call ByteFill
; 'CRYSTAL VERSION'
hlbgcoord 5, 9
ld bc, 11 ; length of version text
@ -105,16 +111,16 @@ _TitleScreen:
call ByteFill
; Draw Pokemon logo
hlcoord 0, 3
lb bc, 7, 20
hlcoord 0, 2
lb bc, 8, 20
ld d, $80
ld e, 20
call DrawTitleGraphic
; Draw copyright text
hlbgcoord 3, 0, vBGMap1
lb bc, 1, 13
ld d, $c
lb bc, 2, 13
ld d, $20
ld e, 16
call DrawTitleGraphic

View file

@ -1005,7 +1005,7 @@ Pokedex_UnownModeEraseCursor:
Pokedex_UnownModePlaceCursor:
ld a, [wDexCurUnownIndex]
ld c, FIRST_UNOWN_CHAR + NUM_UNOWN ; diamond cursor
ld c, $5c ; diamond cursor
Pokedex_UnownModeUpdateCursorGfx:
ld e, a
@ -1468,14 +1468,14 @@ Pokedex_PlaceSearchResultsTypeStrings:
Pokedex_DrawUnownModeBG:
call Pokedex_FillBackgroundColor2
hlcoord 2, 1
lb bc, 10, 13
lb bc, 10, 14
call Pokedex_PlaceBorder
hlcoord 2, 14
lb bc, 1, 13
lb bc, 1, 14
call Pokedex_PlaceBorder
hlcoord 2, 15
ld [hl], $3d
hlcoord 16, 15
hlcoord 17, 15
ld [hl], $3e
hlcoord 6, 5
call Pokedex_PlaceFrontpicAtHL
@ -1529,14 +1529,16 @@ UnownModeLetterAndCursorCoords:
dwcoord 11, 3, 11, 2 ; P
dwcoord 12, 3, 12, 2 ; Q
dwcoord 13, 3, 13, 2 ; R
dwcoord 14, 3, 15, 2 ; S
dwcoord 14, 4, 15, 4 ; T
dwcoord 14, 5, 15, 5 ; U
dwcoord 14, 6, 15, 6 ; V
dwcoord 14, 7, 15, 7 ; W
dwcoord 14, 8, 15, 8 ; X
dwcoord 14, 9, 15, 9 ; Y
dwcoord 14,10, 15,10 ; Z
dwcoord 14, 3, 14, 2 ; S
dwcoord 15, 3, 16, 2 ; T
dwcoord 15, 4, 16, 4 ; U
dwcoord 15, 5, 16, 5 ; V
dwcoord 15, 6, 16, 6 ; W
dwcoord 15, 7, 16, 7 ; X
dwcoord 15, 8, 16, 8 ; Y
dwcoord 15, 9, 16, 9 ; Z
dwcoord 15,10, 16,10 ; !
dwcoord 15,11, 16,11 ; ?
Pokedex_FillBackgroundColor2:
hlcoord 0, 0

View file

@ -291,7 +291,7 @@ EvolveAfterBattle_MasterLoop:
ld [wTempSpecies], a
xor a
ld [wMonType], a
call LearnEvolutionMove
; call LearnEvolutionMove
call LearnLevelMoves
ld a, [wTempSpecies]
call SetSeenAndCaughtMon
@ -357,49 +357,50 @@ EvolveAfterBattle_MasterLoop:
; BUG: Does not take in the designated move correctly, resulting in strange behaviour usually seen when GetMoveIDFromIndex takes an 8-bit index.
; Comments proceeding
LearnEvolutionMove:
ld a, [wTempSpecies]
ld [wCurPartySpecies], a
call GetPokemonIndexFromID
ld b, h
ld c, l
ld hl, EvolutionMoves
add hl, bc
add hl, bc
dec hl
dec hl
ld a, [hli]
ld h, [hl]
ld l, a ; Moves through the table by going up according to the Pokemon's ID, storing the equivalent move in hl. This is fine.
or h ; hl == 0?
ret z
; LearnEvolutionMove:
; ld a, [wTempSpecies]
; ld [wCurPartySpecies], a
; call GetPokemonIndexFromID
; ld b, h
; ld c, l
; ld hl, EvolutionMoves
; add hl, bc
; add hl, bc
; dec hl
; dec hl
; ld a, [hli]
; ld h, [hl]
; ld l, a ; Moves through the table by going up according to the Pokemon's ID, storing the equivalent move in hl. This is fine.
; or h ; hl == 0?
; ret z
call GetMoveIDFromIndex ; grabs what's in hl (the move) and converts it to 8-bit...or something like that. anyway, it should return in register a.
push hl ; I don't actually know why it does this. Removing it produces manmade horrors beyond my comprehension, so it isn't part of the current problem.
ld d, a ; preserve a
ld hl, wPartyMon1Moves
ld a, [wCurPartyMon]
ld bc, PARTYMON_STRUCT_LENGTH
call AddNTimes
ld b, NUM_MOVES
.check_move
ld a, [hli]
cp d ; use preserved a to check if a move is there
jr z, .has_move
dec b
jr nz, .check_move
ld a, d ; take the preserved a and reload
ld [wPutativeTMHMMove], a ; proceed to learn the move with adequate preprep
ld [wNamedObjectIndex], a
call GetMoveName
call CopyName1
predef LearnMove
ld a, [wCurPartySpecies]
ld [wTempSpecies], a
.has_move
pop hl
ret
; call GetMoveIDFromIndex ; grabs what's in hl (the move) and converts it to 8-bit...or something like that. anyway, it should return in register a.
; push hl ; I don't actually know why it does this. Removing it produces manmade horrors beyond my comprehension, so it isn't part of the current problem.
; ld d, a ; preserve a
; ld hl, wPartyMon1Moves
; ld a, [wCurPartyMon]
; ld bc, PARTYMON_STRUCT_LENGTH
; call AddNTimes
; ld b, NUM_MOVES
; .check_move
; ld a, [hli]
; cp d ; use preserved a to check if a move is there
; jr z, .has_move
; dec b
; jr nz, .check_move
; ld a, d ; take the preserved a and reload
; ld [wPutativeTMHMMove], a ; proceed to learn the move with adequate preprep
; ld [wNamedObjectIndex], a
; call GetMoveName
; call CopyName1
; predef LearnMove
; ld a, [wCurPartySpecies]
; ld [wTempSpecies], a
; .has_move
; pop hl
; ret
; so wtf is going on
UpdateSpeciesNameIfNotNicknamed:
ld a, [wCurSpecies]
push af

View file

@ -1,8 +1,12 @@
const_def 1
; BUG: The icons up top don't match your scrolling.
; I probably missed something.
; Review: https://github.com/pret/pokecrystal/wiki/Add-a-fourth-stats-page
const_def
const PINK_PAGE ; 1
const GREEN_PAGE ; 2
const BLUE_PAGE ; 3
DEF NUM_STAT_PAGES EQU const_value - 1
const ORANGE_PAGE ; 4
DEF NUM_STAT_PAGES EQU const_value
DEF STAT_PAGE_MASK EQU %00000011
@ -62,12 +66,7 @@ StatsScreenInit_gotaddress:
StatsScreenMain:
xor a
ld [wJumptableIndex], a
; ???
ld [wStatsScreenFlags], a
ld a, [wStatsScreenFlags]
and ~STAT_PAGE_MASK
or PINK_PAGE ; first_page
ld [wStatsScreenFlags], a
ld [wStatsScreenFlags], a ; PINK_PAGE
.loop
ld a, [wJumptableIndex]
and ~(1 << 7)
@ -82,12 +81,7 @@ StatsScreenMain:
StatsScreenMobile:
xor a
ld [wJumptableIndex], a
; ???
ld [wStatsScreenFlags], a
ld a, [wStatsScreenFlags]
and ~STAT_PAGE_MASK
or PINK_PAGE ; first_page
ld [wStatsScreenFlags], a
ld [wStatsScreenFlags], a ; PINK_PAGE
.loop
farcall Mobile_SetOverworldDelay
ld a, [wJumptableIndex]
@ -373,20 +367,22 @@ StatsScreen_JoypadAction:
.a_button
ld a, c
cp BLUE_PAGE ; last page
cp ORANGE_PAGE ; last page
jr z, .b_button
.d_right
inc c
ld a, BLUE_PAGE ; last page
ld a, ORANGE_PAGE ; last page
cp c
jr nc, .set_page
ld c, PINK_PAGE ; first page
jr .set_page
.d_left
ld a, c
dec c
and a ; cp PINK_PAGE
jr nz, .set_page
ld c, BLUE_PAGE ; last page
ld c, ORANGE_PAGE ; last page
jr .set_page
.done
@ -489,19 +485,6 @@ StatsScreen_InitUpperHalf:
dw sBoxMonNicknames
dw wBufferMonNickname
StatsScreen_PlaceVerticalDivider: ; unreferenced
; The Japanese stats screen has a vertical divider.
hlcoord 7, 0
ld bc, SCREEN_WIDTH
ld d, SCREEN_HEIGHT
.loop
ld a, $31 ; vertical divider
ld [hl], a
add hl, bc
dec d
jr nz, .loop
ret
StatsScreen_PlaceHorizontalDivider:
hlcoord 0, 7
ld b, SCREEN_WIDTH
@ -513,7 +496,7 @@ StatsScreen_PlaceHorizontalDivider:
ret
StatsScreen_PlacePageSwitchArrows:
hlcoord 12, 6
hlcoord 10, 6
ld [hl], "◀"
hlcoord 19, 6
ld [hl], "▶"
@ -569,7 +552,6 @@ StatsScreen_LoadGFX:
.PageTilemap:
ld a, [wStatsScreenFlags]
maskbits NUM_STAT_PAGES
dec a
ld hl, .Jumptable
rst JumpTable
ret
@ -580,6 +562,7 @@ StatsScreen_LoadGFX:
dw LoadPinkPage
dw LoadGreenPage
dw LoadBluePage
dw LoadOrangePage
assert_table_length NUM_STAT_PAGES
LoadPinkPage:
@ -829,6 +812,486 @@ IDNoString:
OTString:
db "OT/@"
; Will display DVs, Stat Exp, Hidden Power...
; Tech itself comes from pret's tutorial: https://github.com/pret/pokecrystal/wiki/Add-a-fourth-stats-page
; DVs and Hidden Power yoinked from Crystal Legacy: https://github.com/cRz-Shadows/Pokemon_Crystal_Legacy/blob/main/engine/pokemon/stats_screen.asm
LoadOrangePage:
; BUG: This code doesn't display the divider for some reason. Not sure how to get one going. Are you a bad enough dude to make this happen?
;hlcoord 10, 12
;ld de, SCREEN_WIDTH
;ld b, 1
;ld a, $31 ; vertical divider
;.vertical_divider
;ld [hl], a
;add hl, de
;dec b
;jr nz, .vertical_divider
call StatsScreen_PrintStatExp
call StatsScreen_PrintDVs
; For now, there is no condition for showing Hidden Power.
; Crystal Legacy had the display as a reward, but you can figure out the Hidden Power from the DVs showing anyway. Why bother, then?
; Condition code proceeding...
; check if we've caught all the unown, Event flag set by talking to printer guy at ruins lab
;ld de, EVENT_CAUGHT_ALL_UNOWN
;ld b, CHECK_FLAG
;call EventFlagAction
;ld a, c
;and a
;ret z ; flag was not set
call StatsScreen_PrintHiddenPower
ret
StatsScreen_PrintStatExp:
hlcoord 1, 8
ld de, .statExpStr1
call PlaceString
hlcoord 1, 9
ld de, .statExpStr2
call PlaceString
hlcoord 1, 10
ld de, .statExpStr3
call PlaceString
hlcoord 1, 11
ld de, .statExpStr4
call PlaceString
hlcoord 1, 12
ld de, .statExpStr5
call PlaceString
hlcoord 1, 13
ld de, .statExpStr6
call PlaceString
;ld a, [wTempMonHPExp]
;swap a
;and %011111
;ld [wPokedexStatus], a
ld de, wTempMonHPExp
lb bc, PRINTNUM_LEADINGZEROS | 2, 5 ; bytes, digits
hlcoord 6, 9
call PrintNum
ld de, wTempMonAtkExp
lb bc, PRINTNUM_LEADINGZEROS | 2, 5 ; bytes, digits
hlcoord 6, 10
call PrintNum
ld de, wTempMonDefExp
lb bc, PRINTNUM_LEADINGZEROS | 2, 5 ; bytes, digits
hlcoord 6, 11
call PrintNum
ld de, wTempMonSpcExp
lb bc, PRINTNUM_LEADINGZEROS | 2, 5 ; bytes, digits
hlcoord 6, 12
call PrintNum
ld de, wTempMonSpdExp
lb bc, PRINTNUM_LEADINGZEROS | 2, 5 ; bytes, digits
hlcoord 6, 13
call PrintNum
ret
.statExpStr1:
db " STAT EXP. / DVs@"
.statExpStr2:
db "HP: /@"
.statExpStr3:
db "ATK: /@"
.statExpStr4:
db "DEF: /@"
.statExpStr5:
db "SPC: /@"
.statExpStr6:
db "SPE: /@"
StatsScreen_PrintDVs:
; we're using wPokedexStatus because why not, nobody using it atm lol
; ATK DV
ld a, [wTempMonDVs] ; only get the first byte of the word
and %11110000 ; most significant nybble of first byte in word-sized wTempMonDVs
swap a ; so we can print it properly
ld [wPokedexStatus], a
ld c, 0
; calc HP stat contribution
and 1 ; a still has the ATK DV
jr z, .atk_not_odd
ld a, 0
add 8
ld b, 0
ld c, a
;
.atk_not_odd
push bc
ld de, wPokedexStatus
lb bc, PRINTNUM_LEADINGZEROS | 1, 2 ; bytes, digits
hlcoord 14, 10
call PrintNum
; DEF DV
ld a, [wTempMonDVs] ; only get the first byte of the word
and %00001111 ; least significant nybble, don't need to swap the bits of the byte
ld [wPokedexStatus], a ;DEF
; calc HP stat contribution
pop bc
and 1 ; a still has the DEF DV
jr z, .def_not_odd
ld a, c
add 4
ld b, 0
ld c, a
;
.def_not_odd
push bc
ld de, wPokedexStatus
lb bc, PRINTNUM_LEADINGZEROS | 1, 2 ; bytes, digits
hlcoord 14, 11
call PrintNum
; SPE DV
ld a, [wTempMonDVs + 1] ; second byte of word
and %11110000 ; most significant nybble of 2nd byte in word-sized wTempMonDVs
swap a ; so we can print it properly
ld [wPokedexStatus], a ;SPEED
; calc HP stat contribution
pop bc
and 1 ; a still has the SPEED DV
jr z, .speed_not_odd
ld a, c
add 2
ld b, 0
ld c, a
;
.speed_not_odd
push bc
ld de, wPokedexStatus
lb bc, PRINTNUM_LEADINGZEROS | 1, 2 ; bytes, digits
hlcoord 14, 12 ; 1, 5, 9, 13
call PrintNum
; SPC DV
ld a, [wTempMonDVs + 1] ; second byte of word
and %00001111 ; least significant nybble, don't need to swap the bits of the byte
ld [wPokedexStatus], a ;SPC
; calc HP stat contribution
pop bc
and 1 ; a still has the DEF DV
jr z, .spc_not_odd
ld a, c
add 1
ld b, 0
ld c, a
;
.spc_not_odd
push bc
ld de, wPokedexStatus
lb bc, PRINTNUM_LEADINGZEROS | 1, 2 ; bytes, digits
hlcoord 14, 13
call PrintNum
; hlcoord 18, 15 ; 1, 4, 7, 10, 13
; call PrintNum
; HP
; HP DV is determined by the last bit of each of these four DVs
; odd Attack DV adds 8, Defense adds 4, Speed adds 2, and Special adds 1
;For example, a Lugia with the DVs 5 Atk, 15 Def, 13 Spe, and 13 Spc will have:
; 5 Attack = Odd, HP += 8
; 15 Defense = Odd, HP += 4
; 13 Speed = Odd, HP += 2
; 13 Special = Odd, HP += 1
;resulting in an HP stat of 15
; THANKS SMOGON
; going to "and 1" each final value and push a counter to stack to preserve it
pop bc
ld a, c
ld [wPokedexStatus], a
ld de, wPokedexStatus
lb bc, PRINTNUM_LEADINGZEROS | 1, 2 ; bytes, digits
hlcoord 14, 9 ; 1, 4, 7, 10, 13
call PrintNum
ret
StatsScreen_LoadUnownFont:
ld a, BANK(sScratch)
call OpenSRAM
ld hl, UnownFont
; sScratch + $188 was the address of sDecompressBuffer in pokegold
ld de, sScratch + $188
ld bc, 38 tiles
ld a, BANK(UnownFont)
call FarCopyBytes
; ld hl, sScratch + $188
; ld bc, (NUM_UNOWN + 1) tiles
;call Pokedex_InvertTiles
ld de, sScratch + $188
ld hl, vTiles1 tile $3a ;FIRST_UNOWN_CHAR
lb bc, BANK(Pokedex_LoadUnownFont), NUM_UNOWN
call Request2bpp
call CloseSRAM
ret
StatsScreen_HiddenPow_BP:
call StatsScreen_LoadUnownFont
; Take the top/most significant bit from each stat
; basically, if the DV is 8 or above
; arrange those bits in order, into a nybble
; Attack
ld a, [wTempMonDVs]
swap a
and %1000
; Defense
ld b, a
ld a, [wTempMonDVs]
and %1000
srl a
or b
; Speed
ld b, a
ld a, [wTempMonDVs + 1]
swap a
and %1000
srl a
srl a
or b
; Special
ld b, a
ld a, [wTempMonDVs + 1]
and %1000
srl a
srl a
srl a
or b
; Multiply by 5
ld b, a
add a
add a
add b
; Add Special & 3
ld b, a
ld a, [wTempMonDVs + 1]
and %0011
add b
; Divide by 2 and add 30 + 1
srl a
add 30
inc a
ret
StatsScreen_PrintHiddenPower:
; print Type first
ld a, [wTempMonDVs]
and %0011
ld b, a
; + (Atk & 3) << 2
ld a, [wTempMonDVs]
and %0011 << 4
swap a
add a
add a
or b
; Skip Normal
inc a
; Skip Bird
cp BIRD
jr c, .done
inc a
; Skip unused types
cp UNUSED_TYPES
jr c, .done
add UNUSED_TYPES_END - UNUSED_TYPES
.done
add a
ld e, a
ld d, 0
ld a, BANK(TypeNames)
ld hl, TypeNames
add hl, de
call GetFarWord
ld d, h
ld e, l
hlcoord 2, 16
call PlaceString_UnownFont_Type
hlcoord 1, 15
ld de, .hidden_pow_text
call PlaceString_UnownFont
call StatsScreen_HiddenPow_BP
ld de, .hp_70_text
cp 70
jr c, .not70
ld de, .hp_70_text
sub 70
jr .print1
.not70
cp 60
jr c, .not60
ld de, .hp_60_text
sub 60
jr .print1
.not60
cp 50
jr c, .not50
ld de, .hp_50_text
sub 50
jr .print1
.not50
cp 40
jr c, .not40
ld de, .hp_40_text
sub 40
jr .print1
.not40
ld de, .hp_30_text
sub 30
.print1
hlcoord 8, 16
push af
call PlaceString_UnownFont
pop af
cp 9
jr c, .not9
ld de, .hp_9_text
jr .print2
.not9
cp 8
jr c, .not8
ld de, .hp_8_text
jr .print2
.not8
cp 7
jr c, .not7
ld de, .hp_7_text
jr .print2
.not7
cp 6
jr c, .not6
ld de, .hp_6_text
jr .print2
.not6
cp 5
jr c, .not5
ld de, .hp_5_text
jr .print2
.not5
cp 4
jr c, .not4
ld de, .hp_4_text
jr .print2
.not4
cp 3
jr c, .not3
ld de, .hp_3_text
jr .print2
.not3
cp 2
jr c, .not2
ld de, .hp_2_text
jr .print2
.not2
cp 1
ret c
ld de, .hp_1_text
.print2
; hlcoord 13, 16
call PlaceString_UnownFont
ret
.hidden_pow_text:
db "HIDDEN POWER@"
.hp_70_text:
db "SEVENTY@"
.hp_60_text:
db "SIXTY@"
.hp_50_text:
db "FIFTY@"
.hp_40_text:
db "FOURTY@"
.hp_30_text:
db "THIRTY@"
.hp_1_text:
db "-ONE@"
.hp_2_text:
db "-TWO@"
.hp_3_text:
db "-THREE@"
.hp_4_text:
db "-FOUR@"
.hp_5_text:
db "-FIVE@"
.hp_6_text:
db "-SIX@"
.hp_7_text:
db "-SEVEN@"
.hp_8_text:
db "-EIGHT@"
.hp_9_text:
db "-NINE@"
PlaceString_UnownFont_Type:
push hl
push de
.loop
pop hl
ld a, BANK(TypeNames)
call GetFarByte
ld d, h
ld e, l
pop hl
cp "@"
ret z
inc de
sub "A"
add $BA ; FIRST_UNOWN_CHAR
ld [hli], a
push hl
push de
jr .loop
PlaceString_UnownFont:
push hl
push de
.loop
pop hl
ld a, [hl]
pop hl
cp "@"
ret z
cp " "
call z, .skip_space
cp "-"
call z, .skip_space
inc de
sub "A"
add $BA ; FIRST_UNOWN_CHAR
ld [hli], a
push hl
push de
jr .loop
.skip_space:
ld [hl], a
inc hl
push hl
inc de
push de
pop hl
ld a, [hl]
pop hl
ret
StatsScreen_PlaceFrontpic:
ld hl, wTempMonDVs
predef GetUnownLetter
@ -961,8 +1424,7 @@ StatsScreen_GetAnimationParam:
.Tempmon:
ld bc, wTempMonSpecies
jr .CheckEggFaintedFrzSlp ; utterly pointless
; fallthrough
.CheckEggFaintedFrzSlp:
ld a, [wCurPartySpecies]
cp EGG
@ -1128,6 +1590,9 @@ StatsScreen_AnimateEgg:
ret
StatsScreen_LoadPageIndicators:
hlcoord 11, 5
ld a, $36 ; " " " "
call .load_square
hlcoord 13, 5
ld a, $36 ; first of 4 small square tiles
call .load_square
@ -1138,13 +1603,19 @@ StatsScreen_LoadPageIndicators:
ld a, $36 ; " " " "
call .load_square
ld a, c
cp PINK_PAGE
hlcoord 11, 5
jr z, .load_highlighted_square
cp GREEN_PAGE
hlcoord 13, 5
jr z, .load_highlighted_square
cp BLUE_PAGE
hlcoord 15, 5
jr z, .load_highlighted_square
; must be ORANGE_PAGE
hlcoord 17, 5
.load_highlighted_square
ld a, $3a ; first of 4 large square tiles
hlcoord 13, 5 ; PINK_PAGE (< GREEN_PAGE)
jr c, .load_square
hlcoord 15, 5 ; GREEN_PAGE (= GREEN_PAGE)
jr z, .load_square
hlcoord 17, 5 ; BLUE_PAGE (> GREEN_PAGE)
.load_square
push bc
ld [hli], a

256
gfx/battle_anims/custom.pal Normal file
View file

@ -0,0 +1,256 @@
; Custom pallettes from Sour Crystal
; first 6 custom pals look like regular ones
INCLUDE "gfx/battle_anims/battle_anims.pal"
; purple
RGB 31, 31, 31
RGB 25, 09, 27
RGB 13, 02, 15
RGB 00, 00, 00
; ice
RGB 31, 31, 31
RGB 13, 27, 31
RGB 10, 21, 29
RGB 00, 00, 00
; fire
RGB 31, 31, 31
RGB 31, 24, 02
RGB 29, 03, 04
RGB 00, 00, 00
; globe
RGB 31, 31, 31
RGB 03, 22, 31
RGB 04, 19, 08
RGB 00, 00, 00
; water
RGB 31, 31, 31
RGB 00, 19, 28
RGB 08, 09, 28
RGB 00, 00, 00
; bubble
RGB 31, 31, 31
RGB 19, 28, 28
RGB 00, 23, 28
RGB 03, 10, 30
; dragonbreath
RGB 31, 31, 31
RGB 31, 26, 09
RGB 27, 08, 22
RGB 00, 00, 00
; dragonrage
RGB 31, 31, 31
RGB 31, 29, 09
RGB 03, 09, 26
RGB 00, 00, 00
; aurora
RGB 28, 22, 31
RGB 31, 31, 07
RGB 13, 27, 31
RGB 31, 20, 24
; spore
RGB 31, 12 ,10
RGB 05, 27, 06
RGB 31, 31, 08
RGB 00, 28, 22
; peach
RGB 31, 31, 31
RGB 31, 25, 14
RGB 31, 13, 04
RGB 00, 00, 00
; lightscreen
RGB 31, 31, 31
RGB 16, 31, 28
RGB 00, 28, 22
RGB 00, 00, 00
; mirrorcoat
RGB 31, 31, 31
RGB 31, 22, 25
RGB 29, 11, 11
RGB 00, 00, 00
; recycle
RGB 31, 31, 31
RGB 08, 09, 28
RGB 29, 03, 04
RGB 00, 00, 00
; lavarocks
RGB 31, 31, 31
RGB 31, 13, 01
RGB 06, 05, 07
RGB 00, 00, 00
; skillswap
RGB 31, 31, 31
RGB 01, 22, 25
RGB 26, 28, 00
RGB 31, 30, 13
; willowisp
RGB 31, 31, 31
RGB 00, 22, 29
RGB 15, 09, 27
RGB 31, 31, 31
; glowyellow
RGB 31, 31, 31
RGB 31, 31, 07
RGB 31, 24, 02
RGB 31, 16, 01
; glowluster
RGB 31, 31, 31
RGB 31, 31, 31
RGB 23, 30, 31
RGB 29, 25, 31
; bright
RGB 31, 31, 31
RGB 28, 28, 28
RGB 16, 16, 16
RGB 10, 10, 10
; verybright
RGB 31, 31, 31
RGB 31, 31, 31
RGB 28, 28, 28
RGB 10, 10, 10
; charred
RGB 31, 31, 31
RGB 14, 14, 15
RGB 12, 12, 13
RGB 09, 09, 11
; cosmic
RGB 31, 31, 31
RGB 31, 30, 23
RGB 13, 27, 31
RGB 28, 05, 13
; signalbeamred
RGB 31, 31, 31
RGB 31, 20, 22
RGB 31, 07, 05
RGB 20, 00, 00
; signalbeamblue
RGB 31, 31, 31
RGB 18, 30, 31
RGB 04, 22, 31
RGB 04, 17, 31
; bulkup
RGB 31, 31, 31
RGB 29, 03, 04
RGB 31, 24, 02
RGB 31, 24, 02
; grasswhistle
RGB 31, 31, 31
RGB 12, 25, 01
RGB 12, 25, 01
RGB 12, 25, 01
; psychoboost1
RGB 31, 31, 31
RGB 31, 31, 31
RGB 29, 20, 31
RGB 30, 00, 13
; psychoboost2
RGB 31, 31, 31
RGB 31, 18, 25
RGB 31, 00, 27
RGB 15, 06, 31
; gravity
RGB 31, 31, 31
RGB 26, 10, 29
RGB 10, 10, 21
RGB 05, 07, 13
; glowgreen
RGB 31, 31, 31
RGB 23, 31, 20
RGB 16, 28, 09
RGB 07, 23, 03
; heatwave
RGB 31, 24, 02
RGB 29, 03, 04
RGB 29, 03, 04
RGB 00, 00, 00
; payback
RGB 31, 31, 31
RGB 31, 31, 31
RGB 31, 15, 28
RGB 22, 00, 23
; gastroacid
RGB 31, 31, 31
RGB 27, 31, 05
RGB 15, 31, 01
RGB 09, 25, 00
; darkpulse
RGB 31, 31, 31
RGB 25, 00, 08
RGB 09, 00, 06
RGB 19, 00, 06
; glowlime
RGB 31, 31, 31
RGB 29, 31, 06
RGB 22, 25, 00
RGB 15, 20, 00
; dragonpulse
RGB 31, 31, 31
RGB 28, 28, 28
RGB 19, 14, 28
RGB 07, 06, 22
; snow
RGB 31, 31, 31
RGB 27, 31, 31
RGB 20, 27, 31
RGB 18, 16, 24
; lavaplume
RGB 31, 31, 31
RGB 10, 13, 17
RGB 08, 09, 11
RGB 05, 05, 06
; invertblack
RGB 00, 00, 00
RGB 00, 00, 00
RGB 13, 13, 13
RGB 25, 25, 25
; lime
RGB 31, 31, 31
RGB 20, 30, 05
RGB 13, 18, 02
RGB 00, 00, 00
; bee
RGB 31, 31, 31
RGB 25, 29, 31
RGB 31, 26, 01
RGB 00, 00, 00
; roaroftime
RGB 31, 31, 31
RGB 28, 31, 31
RGB 13, 26, 31
RGB 10, 14, 31
; moon
RGB 31, 31, 31
RGB 29, 31, 31
RGB 17, 28, 31
RGB 03, 03, 06
; darkvoid
RGB 15, 15, 15
RGB 13, 13, 13
RGB 00, 00, 00
RGB 00, 00, 00
; refresh
RGB 31, 31, 31
RGB 17, 31, 10
RGB 00, 25, 19
RGB 00, 00, 00
; heatBG
RGB 31, 24, 16
RGB 31, 24, 02
RGB 29, 03, 04
RGB 00, 00, 00
; goldBG
RGB 31, 31, 16
RGB 31, 31, 07
RGB 31, 16, 01
RGB 16, 07, 00
; strugglebug
RGB 31, 31, 31
RGB 27, 31, 05
RGB 15, 31, 01
RGB 00, 12, 12
; pink
RGB 31, 31, 31
RGB 31, 26, 29
RGB 29, 16, 22
RGB 00, 00, 00
rept NUM_CUSTOM_BATTLE_PALETTES - 6
endr

Some files were not shown because too many files have changed in this diff Show more