LOTS of things

- Replaces the Old Rod with the Candy Sack, an item to evolve Meltan into Melmetal. Meltan and Melmetal aren't in yet.
- Improves Gym Leader and Elite Four AI by a lot. They still use items, they're just better. Fixes XSpecial use while we're at it; before, it didn't actually increase the stat...
- The Scarlet Book now takes up both shelves, one section for each Paradox Pokemon. I also moved the bookshelf so it looks nicer.
- Text in Celadon University has been reduced significantly, taking up less memory and being a bit more RBY-like. It has also been made more accurate (thanks to Daiginjo for translating my booklet!)
- The Magikarp researcher in Celadon University now gives TM Dragon Rage (no longer unused!)
- Added a guard for Mt. Moon Crater.
- Removed TrainerNamePointers, Blank Leader Name Code, and Dakutens/Hakutens using a guide published by YakiNeen.
- PP no longer uses a shitty graphic and is instead properly implemented into the font, optimising the status screen. Also displays in-battle which is kinda cool.
- Lorelei, Bruno, and Agatha now play the Gym Leader theme, not just Lance.

Still unsure how to fix Celadon University's trainers, all I know is a lot of the information should be taken from the Oak fight I did. The code is radically different and doesn't call trainer headers at all. You'll likely want to start from scratch.

The Mt. Moon Crater Guard's text is a little wonky, not sure what's up there. May have been from the way I accessed Mt. Moon in testing. Anyway, if you want to mess around feel free.
This commit is contained in:
May Evans 2023-02-19 06:25:33 +00:00
parent a3f3763f4d
commit a85c26b7d3
41 changed files with 317 additions and 277 deletions

View file

@ -242,7 +242,8 @@ ViridianGymHiddenObjects:
Museum1FHiddenObjects:
hidden_object 2, 3, SPRITE_FACING_UP, AerodactylFossil
hidden_object 2, 6, SPRITE_FACING_UP, KabutopsFossil
hidden_object 7, 1, SPRITE_FACING_UP, ScarletBook
hidden_object 8, 1, SPRITE_FACING_UP, ScarletBookScream
hidden_object 9, 1, SPRITE_FACING_UP, ScarletBookSandy
db -1 ; end
PewterGymHiddenObjects:

View file

@ -75,7 +75,7 @@ KeyItemFlags:
dbit TRUE ; POKE_FLUTE
dbit TRUE ; LIFT_KEY
dbit FALSE ; EXP_ALL
dbit TRUE ; OLD_ROD
dbit FALSE ; was TRUE for OLD_ROD, now CANDY_SACK
dbit TRUE ; GOOD_ROD
dbit TRUE ; SUPER_ROD
dbit FALSE ; PP_UP

View file

@ -75,7 +75,7 @@ ItemNames::
li "POKé FLUTE"
li "LIFT KEY"
li "EXP.ALL"
li "OLD ROD"
li "CANDY SACK" ; was old rod
li "GOOD ROD"
li "FISHING ROD"
li "PP UP"

View file

@ -75,7 +75,7 @@ ItemPrices::
bcd3 0 ; POKE_FLUTE
bcd3 0 ; LIFT_KEY
bcd3 0 ; EXP_ALL
bcd3 0 ; OLD_ROD
bcd3 0 ; was OLD_ROD, now CANDY_SACK. Plan to be one-of-a-kind, so 0 to discourage sale a la Master Ball.
bcd3 0 ; GOOD_ROD
bcd3 0 ; SUPER_ROD
bcd3 0 ; PP_UP

View file

@ -3,7 +3,7 @@ UsableItems_CloseMenu:
db ESCAPE_ROPE
db ITEMFINDER
db POKE_FLUTE
db OLD_ROD
;db OLD_ROD no longer exists
db GOOD_ROD
db SUPER_ROD
db -1 ; end

View file

@ -32,6 +32,7 @@ UsableItems_PartyMenu:
db X_DEFEND
db X_SPEED
db X_SPECIAL
db CANDY_SACK
db PP_UP
db ETHER
db MAX_ETHER

View file

@ -120,7 +120,7 @@ MapHSPointers:
dw NoHS
dw FarawayIslandInsideHS
dw PokemonMansionB2FHS
dw NoHS
dw MtMoonCraterHS
dw NoHS
dw NoHS
dw ChampionsRoomHS
@ -577,6 +577,8 @@ PokemonMansionB2FHS:
db POKEMON_MANSION_B2F, $04, SHOW
Route1HS:
db ROUTE_1, $03, HIDE ; PROF OAK fight. To test, change to SHOW. - PvK
MtMoonCraterHS:
db MT_MOON_CRATER, $10, SHOW ; Crater Guard
db $FF, $01, SHOW ; end
assert_table_length NUM_HS_OBJECTS + 1

View file

@ -20,5 +20,6 @@ MtMoonB2F_Object:
object_event 13, 6, SPRITE_FOSSIL, STAY, NONE, 7 ; person
object_event 25, 21, SPRITE_POKE_BALL, STAY, NONE, 8, HP_UP
object_event 21, 5, SPRITE_POKE_BALL, STAY, NONE, 9, TM_MEGA_PUNCH
object_event 29, 7, SPRITE_SCIENTIST, STAY, NONE, 10, ; Crater Guard
def_warps_to MT_MOON_B2F

View file

@ -16,6 +16,6 @@ Museum1F_Object:
object_event 15, 2, SPRITE_SCIENTIST, STAY, DOWN, 3 ; person
object_event 17, 4, SPRITE_SCIENTIST, STAY, NONE, 4 ; person
object_event 16, 2, SPRITE_OLD_AMBER, STAY, NONE, 5 ; person
object_event 6, 2, SPRITE_COOLTRAINER_F, STAY, NONE, 6 ; person
object_event 7, 1, SPRITE_COOLTRAINER_F, STAY, NONE, 6 ; person
def_warps_to MUSEUM_1F

View file

@ -1,6 +1,9 @@
; See constants/pokemon_data_constants.asm
; The max number of evolutions per monster is MAX_EVOLUTIONS
; db EV_ITEM, CANDY_SACK, 1, MELMETAL
; put this on Meltan when adding it
EvosMovesPointerTable:
table_width 2, EvosMovesPointerTable
dw RhydonEvosMoves

View file

@ -1,15 +0,0 @@
Dakutens:
db "かが", "きぎ", "くぐ", "けげ", "こご"
db "さざ", "しじ", "すず", "せぜ", "そぞ"
db "ただ", "ちぢ", "つづ", "てで", "とど"
db "はば", "ひび", "ふぶ", "へべ", "ほぼ"
db "カガ", "キギ", "クグ", "ケゲ", "コゴ"
db "サザ", "シジ", "スズ", "セゼ", "ソゾ"
db "タダ", "チヂ", "ツヅ", "テデ", "トド"
db "ハバ", "ヒビ", "フブ", "へべ", "ホボ"
db -1 ; end
Handakutens:
db "はぱ", "ひぴ", "ふぷ", "へぺ", "ほぽ"
db "ハパ", "ヒピ", "フプ", "へぺ", "ホポ"
db -1 ; end

View file

@ -590,31 +590,18 @@ _KabutopsFossilText::
done
_ScarletBook1::
text "A member of our"
line "survey team"
cont "photographed an"
cont "odd, screaming,"
cont "JIGGLYPUFF-like"
cont "#MON."
para "It has been named"
line "SCREAM TAIL."
text "SCREAM TAIL"
line "A screaming,"
cont "JIGGLYPUFF-like"
cont "#MON."
done
_ScarletBook2::
text "Another team"
line "returned. They"
cont "were attacked by"
cont "a MAGNETON that"
cont "looked like a"
cont "tyrannosaur."
para "We called it"
line "SANDY SHOCKS."
para "These #MON must"
line "be contained."
text "SANDY SHOCKS"
line "A theropod-like"
cont "relative of"
cont "MAGNETON."
done

View file

@ -1,73 +0,0 @@
TrainerNamePointers:
; These are only used for trainers' defeat speeches.
; They were originally shortened variants of the trainer class names
; in the Japanese versions, but are now redundant with TrainerNames.
dw .YoungsterName
dw .BugCatcherName
dw .LassName
dw wTrainerName
dw .JrTrainerMName
dw .JrTrainerFName
dw .PokemaniacName
dw .SuperNerdName
dw wTrainerName
dw wTrainerName
dw .BurglarName
dw .EngineerName
dw .UnusedJugglerName
dw wTrainerName
dw .SwimmerName
dw wTrainerName
dw wTrainerName
dw .BeautyName
dw wTrainerName
dw .RockerName
dw .JugglerName
dw wTrainerName
dw wTrainerName
dw .BlackbeltName
dw wTrainerName
dw .ProfOakName
dw .ChiefName
dw .ScientistName
dw wTrainerName
dw .RocketName
dw .CooltrainerMName
dw .CooltrainerFName
dw wTrainerName
dw wTrainerName
dw wTrainerName
dw wTrainerName
dw wTrainerName
dw wTrainerName
dw wTrainerName
dw wTrainerName
dw wTrainerName
dw wTrainerName
dw wTrainerName
dw wTrainerName
dw wTrainerName
dw wTrainerName
dw wTrainerName
.YoungsterName: db "YOUNGSTER@"
.BugCatcherName: db "BUG CATCHER@"
.LassName: db "LASS@"
.JrTrainerMName: db "JR.TRAINER♂@"
.JrTrainerFName: db "JR.TRAINER♀@"
.PokemaniacName: db "POKéMANIAC@"
.SuperNerdName: db "SUPER NERD@"
.BurglarName: db "BURGLAR@"
.EngineerName: db "ENGINEER@"
.UnusedJugglerName: db "JUGGLER@"
.SwimmerName: db "SWIMMER@"
.BeautyName: db "BEAUTY@"
.RockerName: db "ROCKER@"
.JugglerName: db "JUGGLER@"
.BlackbeltName: db "BLACKBELT@"
.ProfOakName: db "PROF.OAK@"
.ChiefName: db "CHIEF@"
.ScientistName: db "SCIENTIST@"
.RocketName: db "ROCKET@"
.CooltrainerMName: db "COOLTRAINER♂@"
.CooltrainerFName: db "COOLTRAINER♀@"