mirror of
https://github.com/thornAvery/kep-hack.git
synced 2025-11-11 07:44:47 +13:00
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:
parent
a3f3763f4d
commit
a85c26b7d3
|
|
@ -75,8 +75,10 @@ QoL Enhancements
|
||||||
- All 217 (current) Pokemon can be obtained without the use of trading or glitches, including Mew!
|
- All 217 (current) Pokemon can be obtained without the use of trading or glitches, including Mew!
|
||||||
- New Pokedex entries for most Pokemon are available, sourced from the original 1996 Pokedex book by Creatures Inc., restoring a ton of old Kanto lore. Thanks to [Dr. Lava and Nob Ogasawara](http://lavacutcontent.com/1996-creatures-pokedex-translation-1/) for their incredible work translating and writing about it!
|
- New Pokedex entries for most Pokemon are available, sourced from the original 1996 Pokedex book by Creatures Inc., restoring a ton of old Kanto lore. Thanks to [Dr. Lava and Nob Ogasawara](http://lavacutcontent.com/1996-creatures-pokedex-translation-1/) for their incredible work translating and writing about it!
|
||||||
- Press A beside surfable water, strength boulders or cut trees to use the HMs without needing to go into the Party menu.
|
- Press A beside surfable water, strength boulders or cut trees to use the HMs without needing to go into the Party menu.
|
||||||
|
- PP symbol is displayed in the battle menu.
|
||||||
- Running Shoes by holding B. Also works with the bike! Surf speed is also doubled.
|
- Running Shoes by holding B. Also works with the bike! Surf speed is also doubled.
|
||||||
- Fast text has no frame delay between text scrolling, doubling the scroll speed. It's also been made the default option, so you don't need to go into the Options menu for it.
|
- Fast text has no frame delay between text scrolling, doubling the scroll speed. It's also been made the default option, so you don't need to go into the Options menu for it.
|
||||||
|
- Lorelei, Bruno, and Agatha now play the Gym Leader Battle theme.
|
||||||
- HP bar has been doubled in speed, having a 1 frame delay per pixel rather than 2.
|
- HP bar has been doubled in speed, having a 1 frame delay per pixel rather than 2.
|
||||||
- Trainer DVs are perfect-15s.
|
- Trainer DVs are perfect-15s.
|
||||||
- The protagonist is referred to in a gender neutral manner.
|
- The protagonist is referred to in a gender neutral manner.
|
||||||
|
|
@ -101,6 +103,7 @@ QoL Enhancements
|
||||||
- The Moon Stone is available over TM23 (Dragon Rage). Dragon Rage has been moved to Celadon Mart, over Take Down, which can still be obtained in Silph Co.
|
- The Moon Stone is available over TM23 (Dragon Rage). Dragon Rage has been moved to Celadon Mart, over Take Down, which can still be obtained in Silph Co.
|
||||||
- Bag has capacity for 30 items.
|
- Bag has capacity for 30 items.
|
||||||
- Spinner tiles move faster.
|
- Spinner tiles move faster.
|
||||||
|
- Bold P is added to the fontset over a Japanese opening quote (???), which helps the status screen and allows a PP symbol to be displayed during battle.
|
||||||
|
|
||||||
Bug Fixes
|
Bug Fixes
|
||||||
====
|
====
|
||||||
|
|
@ -135,6 +138,9 @@ Many non-multiplayer, non-battle related bugs have been fixed. The aforementione
|
||||||
- Weird behaviour when going to 11F in Silph Co. and forcing a player to leave despite not moving is fixed.
|
- Weird behaviour when going to 11F in Silph Co. and forcing a player to leave despite not moving is fixed.
|
||||||
- Fixed weirdness in Pokemon Tower where saving Mr. Fuji won't immediately let you leave. Also fixed coord termination on 2F which could cause some terribleness.
|
- Fixed weirdness in Pokemon Tower where saving Mr. Fuji won't immediately let you leave. Also fixed coord termination on 2F which could cause some terribleness.
|
||||||
and more!
|
and more!
|
||||||
|
- Trainer Name Pointers are removed, as the localised games don't need to use the file at all.
|
||||||
|
- Dakutens are removed, as the Japanese accents aren't used in English releases.
|
||||||
|
- Blank Leader Name code is removed; before, this would only be for the PNGs.
|
||||||
|
|
||||||
Known Bugs
|
Known Bugs
|
||||||
====
|
====
|
||||||
|
|
@ -222,6 +228,7 @@ Credits
|
||||||
* Chatot4444 - Assisting with gym scaling code
|
* Chatot4444 - Assisting with gym scaling code
|
||||||
* Vortyne - Reused a bit of code from their pureRGB hack, which was used to assist with making MissingNo. stable. Assisted in bug fixes.
|
* Vortyne - Reused a bit of code from their pureRGB hack, which was used to assist with making MissingNo. stable. Assisted in bug fixes.
|
||||||
* Rangi - Reused a bit of code from their Red* / Blue* hack to make HMs usable in the overworld!
|
* Rangi - Reused a bit of code from their Red* / Blue* hack to make HMs usable in the overworld!
|
||||||
|
* 大吟醸 (Daiginjo) - Assistance in translating the Tamamushi University Student Book, allowing for an accurate adaptation of the location.
|
||||||
|
|
||||||
Original README.md proceeding;
|
Original README.md proceeding;
|
||||||
# Pokémon Red and Blue [![Build Status][ci-badge]][ci]
|
# Pokémon Red and Blue [![Build Status][ci-badge]][ci]
|
||||||
|
|
|
||||||
|
|
@ -16,18 +16,31 @@ PlayBattleMusic::
|
||||||
ld a, [wCurOpponent]
|
ld a, [wCurOpponent]
|
||||||
cp OPP_ID_OFFSET
|
cp OPP_ID_OFFSET
|
||||||
jr c, .wildBattle
|
jr c, .wildBattle
|
||||||
cp OPP_RIVAL3
|
cp OPP_LORELEI ; elite four now play the gym leader battle theme
|
||||||
jr z, .finalBattle
|
jr z, .Elite4Battle
|
||||||
|
cp OPP_BRUNO
|
||||||
|
jr z, .Elite4Battle
|
||||||
|
cp OPP_AGATHA
|
||||||
|
jr z, .Elite4Battle
|
||||||
cp OPP_LANCE
|
cp OPP_LANCE
|
||||||
|
jr z, .Elite4Battle
|
||||||
|
cp OPP_RIVAL3
|
||||||
|
;jr z, .finalBattle unnecessary code
|
||||||
|
;cp OPP_LANCE
|
||||||
|
;jr nz, .normalTrainerBattle
|
||||||
|
;ld a, MUSIC_GYM_LEADER_BATTLE
|
||||||
jr nz, .normalTrainerBattle
|
jr nz, .normalTrainerBattle
|
||||||
ld a, MUSIC_GYM_LEADER_BATTLE ; lance also plays gym leader theme
|
ld a, MUSIC_FINAL_BATTLE
|
||||||
|
jr .playSong
|
||||||
|
.Elite4Battle
|
||||||
|
ld a, MUSIC_GYM_LEADER_BATTLE
|
||||||
jr .playSong
|
jr .playSong
|
||||||
.normalTrainerBattle
|
.normalTrainerBattle
|
||||||
ld a, MUSIC_TRAINER_BATTLE
|
ld a, MUSIC_TRAINER_BATTLE
|
||||||
jr .playSong
|
jr .playSong
|
||||||
.finalBattle
|
;.finalBattle
|
||||||
ld a, MUSIC_FINAL_BATTLE
|
; ld a, MUSIC_FINAL_BATTLE
|
||||||
jr .playSong
|
; jr .playSong
|
||||||
.wildBattle
|
.wildBattle
|
||||||
ld a, MUSIC_WILD_BATTLE
|
ld a, MUSIC_WILD_BATTLE
|
||||||
.playSong
|
.playSong
|
||||||
|
|
|
||||||
|
|
@ -46,7 +46,7 @@
|
||||||
charmap "ぅ", $6f ; hiragana small u, unused
|
charmap "ぅ", $6f ; hiragana small u, unused
|
||||||
charmap "‘", $70 ; opening single quote
|
charmap "‘", $70 ; opening single quote
|
||||||
charmap "’", $71 ; closing single quote
|
charmap "’", $71 ; closing single quote
|
||||||
charmap "“", $72 ; opening quote
|
charmap "<BOLD_P>", $72 ; was jp opening quote (“)
|
||||||
charmap "”", $73 ; closing quote
|
charmap "”", $73 ; closing quote
|
||||||
charmap "·", $74 ; middle dot, unused
|
charmap "·", $74 ; middle dot, unused
|
||||||
charmap "…", $75 ; ellipsis
|
charmap "…", $75 ; ellipsis
|
||||||
|
|
@ -68,7 +68,7 @@
|
||||||
|
|
||||||
charmap "<to>", $70 ; narrow "to"
|
charmap "<to>", $70 ; narrow "to"
|
||||||
|
|
||||||
charmap "『", $72 ; Japanese opening quote, unused
|
charmap "<BOLD_P>", $72 ; was jp opening quote (“)
|
||||||
charmap "<ID>", $73
|
charmap "<ID>", $73
|
||||||
charmap "№", $74
|
charmap "№", $74
|
||||||
|
|
||||||
|
|
@ -78,9 +78,6 @@
|
||||||
charmap "′", $60 ; gfx/pokedex/pokedex.png
|
charmap "′", $60 ; gfx/pokedex/pokedex.png
|
||||||
charmap "″", $61 ; gfx/pokedex/pokedex.png
|
charmap "″", $61 ; gfx/pokedex/pokedex.png
|
||||||
|
|
||||||
; needed for StatusScreen (see engine/pokemon/status_screen.asm)
|
|
||||||
charmap "<BOLD_P>", $72 ; gfx/font/P.1bpp
|
|
||||||
|
|
||||||
; needed for LoadTownMap_Fly (see engine/items/town_map.asm)
|
; needed for LoadTownMap_Fly (see engine/items/town_map.asm)
|
||||||
charmap "▲", $ed ; gfx/town_map/up_arrow.1bpp
|
charmap "▲", $ed ; gfx/town_map/up_arrow.1bpp
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -138,7 +138,8 @@
|
||||||
const EVENT_GOT_10_COINS
|
const EVENT_GOT_10_COINS
|
||||||
const EVENT_GOT_20_COINS
|
const EVENT_GOT_20_COINS
|
||||||
const EVENT_GOT_20_COINS_2
|
const EVENT_GOT_20_COINS_2
|
||||||
const_skip 2
|
;const_skip 2
|
||||||
|
const EVENT_GOT_TM23
|
||||||
const EVENT_1BF ; ???
|
const EVENT_1BF ; ???
|
||||||
const_skip 32
|
const_skip 32
|
||||||
const EVENT_GOT_COIN_CASE
|
const EVENT_GOT_COIN_CASE
|
||||||
|
|
|
||||||
|
|
@ -245,4 +245,5 @@ DEF SHOW EQU $15
|
||||||
const HS_POKEMON_MANSION_B2F_ITEM_1 ; E9
|
const HS_POKEMON_MANSION_B2F_ITEM_1 ; E9
|
||||||
const HS_POKEMON_MANSION_B2F_ITEM_2 ; EA
|
const HS_POKEMON_MANSION_B2F_ITEM_2 ; EA
|
||||||
const HS_ROUTE_1_OAK ; EB
|
const HS_ROUTE_1_OAK ; EB
|
||||||
|
const HS_MT_MOON_CRATER_GUARD ; EC
|
||||||
DEF NUM_HS_OBJECTS EQU const_value
|
DEF NUM_HS_OBJECTS EQU const_value
|
||||||
|
|
|
||||||
|
|
@ -84,7 +84,7 @@ DEF SAFARI_ROCK EQU $16 ; overload
|
||||||
const POKE_FLUTE ; $49
|
const POKE_FLUTE ; $49
|
||||||
const LIFT_KEY ; $4A
|
const LIFT_KEY ; $4A
|
||||||
const EXP_ALL ; $4B
|
const EXP_ALL ; $4B
|
||||||
const OLD_ROD ; $4C - replaceable
|
const CANDY_SACK ; $4C - was old rod
|
||||||
const GOOD_ROD ; $4D - replaceable
|
const GOOD_ROD ; $4D - replaceable
|
||||||
const SUPER_ROD ; $4E
|
const SUPER_ROD ; $4E
|
||||||
const PP_UP ; $4F
|
const PP_UP ; $4F
|
||||||
|
|
|
||||||
|
|
@ -242,7 +242,8 @@ ViridianGymHiddenObjects:
|
||||||
Museum1FHiddenObjects:
|
Museum1FHiddenObjects:
|
||||||
hidden_object 2, 3, SPRITE_FACING_UP, AerodactylFossil
|
hidden_object 2, 3, SPRITE_FACING_UP, AerodactylFossil
|
||||||
hidden_object 2, 6, SPRITE_FACING_UP, KabutopsFossil
|
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
|
db -1 ; end
|
||||||
|
|
||||||
PewterGymHiddenObjects:
|
PewterGymHiddenObjects:
|
||||||
|
|
|
||||||
|
|
@ -75,7 +75,7 @@ KeyItemFlags:
|
||||||
dbit TRUE ; POKE_FLUTE
|
dbit TRUE ; POKE_FLUTE
|
||||||
dbit TRUE ; LIFT_KEY
|
dbit TRUE ; LIFT_KEY
|
||||||
dbit FALSE ; EXP_ALL
|
dbit FALSE ; EXP_ALL
|
||||||
dbit TRUE ; OLD_ROD
|
dbit FALSE ; was TRUE for OLD_ROD, now CANDY_SACK
|
||||||
dbit TRUE ; GOOD_ROD
|
dbit TRUE ; GOOD_ROD
|
||||||
dbit TRUE ; SUPER_ROD
|
dbit TRUE ; SUPER_ROD
|
||||||
dbit FALSE ; PP_UP
|
dbit FALSE ; PP_UP
|
||||||
|
|
|
||||||
|
|
@ -75,7 +75,7 @@ ItemNames::
|
||||||
li "POKé FLUTE"
|
li "POKé FLUTE"
|
||||||
li "LIFT KEY"
|
li "LIFT KEY"
|
||||||
li "EXP.ALL"
|
li "EXP.ALL"
|
||||||
li "OLD ROD"
|
li "CANDY SACK" ; was old rod
|
||||||
li "GOOD ROD"
|
li "GOOD ROD"
|
||||||
li "FISHING ROD"
|
li "FISHING ROD"
|
||||||
li "PP UP"
|
li "PP UP"
|
||||||
|
|
|
||||||
|
|
@ -75,7 +75,7 @@ ItemPrices::
|
||||||
bcd3 0 ; POKE_FLUTE
|
bcd3 0 ; POKE_FLUTE
|
||||||
bcd3 0 ; LIFT_KEY
|
bcd3 0 ; LIFT_KEY
|
||||||
bcd3 0 ; EXP_ALL
|
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 ; GOOD_ROD
|
||||||
bcd3 0 ; SUPER_ROD
|
bcd3 0 ; SUPER_ROD
|
||||||
bcd3 0 ; PP_UP
|
bcd3 0 ; PP_UP
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ UsableItems_CloseMenu:
|
||||||
db ESCAPE_ROPE
|
db ESCAPE_ROPE
|
||||||
db ITEMFINDER
|
db ITEMFINDER
|
||||||
db POKE_FLUTE
|
db POKE_FLUTE
|
||||||
db OLD_ROD
|
;db OLD_ROD no longer exists
|
||||||
db GOOD_ROD
|
db GOOD_ROD
|
||||||
db SUPER_ROD
|
db SUPER_ROD
|
||||||
db -1 ; end
|
db -1 ; end
|
||||||
|
|
|
||||||
|
|
@ -32,6 +32,7 @@ UsableItems_PartyMenu:
|
||||||
db X_DEFEND
|
db X_DEFEND
|
||||||
db X_SPEED
|
db X_SPEED
|
||||||
db X_SPECIAL
|
db X_SPECIAL
|
||||||
|
db CANDY_SACK
|
||||||
db PP_UP
|
db PP_UP
|
||||||
db ETHER
|
db ETHER
|
||||||
db MAX_ETHER
|
db MAX_ETHER
|
||||||
|
|
|
||||||
|
|
@ -120,7 +120,7 @@ MapHSPointers:
|
||||||
dw NoHS
|
dw NoHS
|
||||||
dw FarawayIslandInsideHS
|
dw FarawayIslandInsideHS
|
||||||
dw PokemonMansionB2FHS
|
dw PokemonMansionB2FHS
|
||||||
dw NoHS
|
dw MtMoonCraterHS
|
||||||
dw NoHS
|
dw NoHS
|
||||||
dw NoHS
|
dw NoHS
|
||||||
dw ChampionsRoomHS
|
dw ChampionsRoomHS
|
||||||
|
|
@ -577,6 +577,8 @@ PokemonMansionB2FHS:
|
||||||
db POKEMON_MANSION_B2F, $04, SHOW
|
db POKEMON_MANSION_B2F, $04, SHOW
|
||||||
Route1HS:
|
Route1HS:
|
||||||
db ROUTE_1, $03, HIDE ; PROF OAK fight. To test, change to SHOW. - PvK
|
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
|
db $FF, $01, SHOW ; end
|
||||||
|
|
||||||
assert_table_length NUM_HS_OBJECTS + 1
|
assert_table_length NUM_HS_OBJECTS + 1
|
||||||
|
|
|
||||||
|
|
@ -20,5 +20,6 @@ MtMoonB2F_Object:
|
||||||
object_event 13, 6, SPRITE_FOSSIL, STAY, NONE, 7 ; person
|
object_event 13, 6, SPRITE_FOSSIL, STAY, NONE, 7 ; person
|
||||||
object_event 25, 21, SPRITE_POKE_BALL, STAY, NONE, 8, HP_UP
|
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 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
|
def_warps_to MT_MOON_B2F
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,6 @@ Museum1F_Object:
|
||||||
object_event 15, 2, SPRITE_SCIENTIST, STAY, DOWN, 3 ; person
|
object_event 15, 2, SPRITE_SCIENTIST, STAY, DOWN, 3 ; person
|
||||||
object_event 17, 4, SPRITE_SCIENTIST, STAY, NONE, 4 ; person
|
object_event 17, 4, SPRITE_SCIENTIST, STAY, NONE, 4 ; person
|
||||||
object_event 16, 2, SPRITE_OLD_AMBER, STAY, NONE, 5 ; 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
|
def_warps_to MUSEUM_1F
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,9 @@
|
||||||
; See constants/pokemon_data_constants.asm
|
; See constants/pokemon_data_constants.asm
|
||||||
; The max number of evolutions per monster is MAX_EVOLUTIONS
|
; 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:
|
EvosMovesPointerTable:
|
||||||
table_width 2, EvosMovesPointerTable
|
table_width 2, EvosMovesPointerTable
|
||||||
dw RhydonEvosMoves
|
dw RhydonEvosMoves
|
||||||
|
|
|
||||||
|
|
@ -1,15 +0,0 @@
|
||||||
Dakutens:
|
|
||||||
db "かが", "きぎ", "くぐ", "けげ", "こご"
|
|
||||||
db "さざ", "しじ", "すず", "せぜ", "そぞ"
|
|
||||||
db "ただ", "ちぢ", "つづ", "てで", "とど"
|
|
||||||
db "はば", "ひび", "ふぶ", "へべ", "ほぼ"
|
|
||||||
db "カガ", "キギ", "クグ", "ケゲ", "コゴ"
|
|
||||||
db "サザ", "シジ", "スズ", "セゼ", "ソゾ"
|
|
||||||
db "タダ", "チヂ", "ツヅ", "テデ", "トド"
|
|
||||||
db "ハバ", "ヒビ", "フブ", "へべ", "ホボ"
|
|
||||||
db -1 ; end
|
|
||||||
|
|
||||||
Handakutens:
|
|
||||||
db "はぱ", "ひぴ", "ふぷ", "へぺ", "ほぽ"
|
|
||||||
db "ハパ", "ヒピ", "フプ", "へぺ", "ホポ"
|
|
||||||
db -1 ; end
|
|
||||||
|
|
@ -590,31 +590,18 @@ _KabutopsFossilText::
|
||||||
done
|
done
|
||||||
|
|
||||||
_ScarletBook1::
|
_ScarletBook1::
|
||||||
text "A member of our"
|
text "SCREAM TAIL"
|
||||||
line "survey team"
|
line "A screaming,"
|
||||||
cont "photographed an"
|
cont "JIGGLYPUFF-like"
|
||||||
cont "odd, screaming,"
|
cont "#MON."
|
||||||
cont "JIGGLYPUFF-like"
|
|
||||||
cont "#MON."
|
|
||||||
|
|
||||||
para "It has been named"
|
|
||||||
line "SCREAM TAIL."
|
|
||||||
|
|
||||||
done
|
done
|
||||||
|
|
||||||
_ScarletBook2::
|
_ScarletBook2::
|
||||||
text "Another team"
|
text "SANDY SHOCKS"
|
||||||
line "returned. They"
|
line "A theropod-like"
|
||||||
cont "were attacked by"
|
cont "relative of"
|
||||||
cont "a MAGNETON that"
|
cont "MAGNETON."
|
||||||
cont "looked like a"
|
|
||||||
cont "tyrannosaur."
|
|
||||||
|
|
||||||
para "We called it"
|
|
||||||
line "SANDY SHOCKS."
|
|
||||||
|
|
||||||
para "These #MON must"
|
|
||||||
line "be contained."
|
|
||||||
|
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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♀@"
|
|
||||||
|
|
@ -2899,6 +2899,10 @@ PrintMenuItem:
|
||||||
hlcoord 1, 9
|
hlcoord 1, 9
|
||||||
ld de, TypeText
|
ld de, TypeText
|
||||||
call PlaceString
|
call PlaceString
|
||||||
|
hlcoord 1, 11
|
||||||
|
ld a, "<BOLD_P>"
|
||||||
|
ld [hli], a
|
||||||
|
ld [hl], "<BOLD_P>"
|
||||||
hlcoord 7, 11
|
hlcoord 7, 11
|
||||||
ld [hl], "/"
|
ld [hl], "/"
|
||||||
hlcoord 5, 9
|
hlcoord 5, 9
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,15 @@
|
||||||
SaveTrainerName::
|
SaveTrainerName::
|
||||||
ld hl, TrainerNamePointers
|
; ld hl, TrainerNamePointers
|
||||||
ld a, [wTrainerClass]
|
; ld a, [wTrainerClass]
|
||||||
dec a
|
; dec a
|
||||||
ld c, a
|
; ld c, a
|
||||||
ld b, 0
|
; ld b, 0
|
||||||
add hl, bc
|
; add hl, bc
|
||||||
add hl, bc
|
; add hl, bc
|
||||||
ld a, [hli]
|
; ld a, [hli]
|
||||||
ld h, [hl]
|
; ld h, [hl]
|
||||||
ld l, a
|
; ld l, a
|
||||||
|
ld hl, wTrainerName
|
||||||
ld de, wcd6d
|
ld de, wcd6d
|
||||||
.CopyCharacter
|
.CopyCharacter
|
||||||
ld a, [hli]
|
ld a, [hli]
|
||||||
|
|
@ -18,4 +19,6 @@ SaveTrainerName::
|
||||||
jr nz, .CopyCharacter
|
jr nz, .CopyCharacter
|
||||||
ret
|
ret
|
||||||
|
|
||||||
INCLUDE "data/trainers/name_pointers.asm"
|
; INCLUDE "data/trainers/name_pointers.asm"
|
||||||
|
; https://github.com/pret/pokered/wiki/Remove-Redundant-TrainerNamePointers
|
||||||
|
; name_pointers is redundant when hacking the international releases ~ PvK
|
||||||
|
|
|
||||||
|
|
@ -320,6 +320,7 @@ TrainerAI:
|
||||||
jp hl
|
jp hl
|
||||||
|
|
||||||
INCLUDE "data/trainers/ai_pointers.asm"
|
INCLUDE "data/trainers/ai_pointers.asm"
|
||||||
|
; when there's a +1 on the gym/e4 it's referring to the number of items to use - PvK
|
||||||
|
|
||||||
JugglerAI:
|
JugglerAI:
|
||||||
cp 25 percent + 1
|
cp 25 percent + 1
|
||||||
|
|
@ -334,7 +335,7 @@ BlackbeltAI:
|
||||||
GiovanniAI:
|
GiovanniAI:
|
||||||
cp 25 percent + 1
|
cp 25 percent + 1
|
||||||
ret nc
|
ret nc
|
||||||
jp AIUseGuardSpec
|
jp AIUseXAttack ; Used to use a Guard Spec. This will make the item use have a proper impact - healing doesn't feel right for a trainer fixated on strength.
|
||||||
|
|
||||||
CooltrainerMAI:
|
CooltrainerMAI:
|
||||||
cp 25 percent + 1
|
cp 25 percent + 1
|
||||||
|
|
@ -342,8 +343,7 @@ CooltrainerMAI:
|
||||||
jp AIUseXAttack
|
jp AIUseXAttack
|
||||||
|
|
||||||
CooltrainerFAI:
|
CooltrainerFAI:
|
||||||
; The intended 25% chance to consider switching will not apply.
|
; The intended 25% chance to consider switching applies, this fixes a bug.
|
||||||
; Uncomment the line below to fix this.
|
|
||||||
cp 25 percent + 1
|
cp 25 percent + 1
|
||||||
ret nc ; fixes the bug
|
ret nc ; fixes the bug
|
||||||
ld a, 10
|
ld a, 10
|
||||||
|
|
@ -362,14 +362,20 @@ BrockAI:
|
||||||
jp AIUseFullHeal
|
jp AIUseFullHeal
|
||||||
|
|
||||||
MistyAI:
|
MistyAI:
|
||||||
|
; cp 25 percent + 1
|
||||||
|
; ret nc
|
||||||
|
; jp AIUseXDefend old Misty AI
|
||||||
cp 25 percent + 1
|
cp 25 percent + 1
|
||||||
ret nc
|
ret nc
|
||||||
jp AIUseXDefend
|
ld a, 10
|
||||||
|
call AICheckIfHPBelowFraction
|
||||||
|
ret nc
|
||||||
|
jp AIUsePotion ; Replicates Starmie using Recover, but in a more balanced manner. Unlike other trainers that heal, Misty will do this 26% of the time instead of 51%.
|
||||||
|
|
||||||
LtSurgeAI:
|
LtSurgeAI:
|
||||||
cp 25 percent + 1
|
cp 25 percent + 1
|
||||||
ret nc
|
ret nc
|
||||||
jp AIUseXSpeed
|
jp AIUseXSpecial ; Used to be an X Speed. His party is already fast, so this seems far more appropriate.
|
||||||
|
|
||||||
ErikaAI:
|
ErikaAI:
|
||||||
cp 50 percent + 1
|
cp 50 percent + 1
|
||||||
|
|
@ -380,9 +386,15 @@ ErikaAI:
|
||||||
jp AIUseSuperPotion
|
jp AIUseSuperPotion
|
||||||
|
|
||||||
KogaAI:
|
KogaAI:
|
||||||
cp 25 percent + 1
|
; cp 25 percent + 1
|
||||||
|
; ret nc
|
||||||
|
; jp AIUseXAttack old AI
|
||||||
|
cp 50 percent + 1
|
||||||
ret nc
|
ret nc
|
||||||
jp AIUseXAttack
|
ld a, 10
|
||||||
|
call AICheckIfHPBelowFraction
|
||||||
|
ret nc
|
||||||
|
jp AIUseSuperPotion ; Koga is weird - I don't think anything fits. X Attack is certainly not the move though...
|
||||||
|
|
||||||
BlaineAI:
|
BlaineAI:
|
||||||
cp 25 percent + 1
|
cp 25 percent + 1
|
||||||
|
|
@ -390,7 +402,7 @@ BlaineAI:
|
||||||
ld a, 10
|
ld a, 10
|
||||||
call AICheckIfHPBelowFraction
|
call AICheckIfHPBelowFraction
|
||||||
ret nc ; this fixes the super potion thing - PvK
|
ret nc ; this fixes the super potion thing - PvK
|
||||||
jp AIUseSuperPotion
|
jp AIUseHyperPotion ; Instead of a Super Potion though, let's give him this. More impactful for the sixth gym while staying true to the meme that everyone knows Gen 1 Blaine for.
|
||||||
|
|
||||||
SabrinaAI:
|
SabrinaAI:
|
||||||
cp 25 percent + 1
|
cp 25 percent + 1
|
||||||
|
|
@ -416,36 +428,55 @@ Rival3AI:
|
||||||
ret nc
|
ret nc
|
||||||
jp AIUseFullRestore
|
jp AIUseFullRestore
|
||||||
|
|
||||||
|
; Elite Four members will use an associated X Item or a Full Restore.
|
||||||
LoreleiAI:
|
LoreleiAI:
|
||||||
|
cp 15 percent + 1
|
||||||
|
ret nc
|
||||||
|
jp AIUseXSpecial
|
||||||
cp 50 percent + 1
|
cp 50 percent + 1
|
||||||
ret nc
|
ret nc
|
||||||
ld a, 5
|
ld a, 5
|
||||||
call AICheckIfHPBelowFraction
|
call AICheckIfHPBelowFraction
|
||||||
ret nc
|
ret nc
|
||||||
jp AIUseSuperPotion
|
jp AIUseFullRestore
|
||||||
|
|
||||||
BrunoAI:
|
BrunoAI:
|
||||||
cp 25 percent + 1
|
;cp 25 percent + 1
|
||||||
|
;ret nc
|
||||||
|
; jp AIUseXDefend old ai...???
|
||||||
|
cp 15 percent + 1
|
||||||
ret nc
|
ret nc
|
||||||
jp AIUseXDefend
|
jp AIUseXAttack
|
||||||
|
cp 50 percent + 1
|
||||||
|
ret nc
|
||||||
|
ld a, 5
|
||||||
|
call AICheckIfHPBelowFraction
|
||||||
|
ret nc
|
||||||
|
jp AIUseFullRestore
|
||||||
|
|
||||||
AgathaAI:
|
AgathaAI:
|
||||||
cp 8 percent
|
cp 8 percent
|
||||||
jp c, AISwitchIfEnoughMons
|
jp c, AISwitchIfEnoughMons
|
||||||
|
cp 15 percent + 1
|
||||||
|
ret nc
|
||||||
|
jp AIUseXAccuracy ; hahahahahahahaha
|
||||||
cp 50 percent + 1
|
cp 50 percent + 1
|
||||||
ret nc
|
ret nc
|
||||||
ld a, 4
|
ld a, 4
|
||||||
call AICheckIfHPBelowFraction
|
call AICheckIfHPBelowFraction
|
||||||
ret nc
|
ret nc
|
||||||
jp AIUseSuperPotion
|
jp AIUseFullRestore
|
||||||
|
|
||||||
LanceAI:
|
LanceAI:
|
||||||
|
cp 15 percent + 1
|
||||||
|
ret nc
|
||||||
|
jp AIUseXSpecial
|
||||||
cp 50 percent + 1
|
cp 50 percent + 1
|
||||||
ret nc
|
ret nc
|
||||||
ld a, 5
|
ld a, 5
|
||||||
call AICheckIfHPBelowFraction
|
call AICheckIfHPBelowFraction
|
||||||
ret nc
|
ret nc
|
||||||
jp AIUseHyperPotion
|
jp AIUseFullRestore
|
||||||
|
|
||||||
GenericAI:
|
GenericAI:
|
||||||
and a ; clear carry
|
and a ; clear carry
|
||||||
|
|
@ -703,7 +734,8 @@ AIUseXSpeed:
|
||||||
AIUseXSpecial:
|
AIUseXSpecial:
|
||||||
ld b, $D
|
ld b, $D
|
||||||
ld a, X_SPECIAL
|
ld a, X_SPECIAL
|
||||||
; fallthrough
|
jr AIIncreaseStat ; this wasn't here before but it seems that this never actually happened??
|
||||||
|
;; fallthrough
|
||||||
|
|
||||||
AIIncreaseStat:
|
AIIncreaseStat:
|
||||||
ld [wAIItem], a
|
ld [wAIItem], a
|
||||||
|
|
|
||||||
|
|
@ -22,13 +22,16 @@ KabutopsFossilText::
|
||||||
text_far _KabutopsFossilText
|
text_far _KabutopsFossilText
|
||||||
text_end
|
text_end
|
||||||
|
|
||||||
ScarletBook::
|
ScarletBookScream::
|
||||||
ld a, SCREAM_TAIL
|
ld a, SCREAM_TAIL
|
||||||
ld [wcf91], a
|
ld [wcf91], a
|
||||||
call PlayCry
|
call PlayCry
|
||||||
call DisplayMonFrontSpriteInBox
|
call DisplayMonFrontSpriteInBox
|
||||||
call EnableAutoTextBoxDrawing
|
call EnableAutoTextBoxDrawing
|
||||||
tx_pre ScarletBook1
|
tx_pre ScarletBook1
|
||||||
|
ret
|
||||||
|
|
||||||
|
ScarletBookSandy::
|
||||||
ld a, SANDY_SHOCKS
|
ld a, SANDY_SHOCKS
|
||||||
ld [wcf91], a
|
ld [wcf91], a
|
||||||
call PlayCry
|
call PlayCry
|
||||||
|
|
|
||||||
|
|
@ -92,7 +92,7 @@ ItemUsePtrTable:
|
||||||
dw ItemUsePokeflute ; POKE_FLUTE
|
dw ItemUsePokeflute ; POKE_FLUTE
|
||||||
dw UnusableItem ; LIFT_KEY
|
dw UnusableItem ; LIFT_KEY
|
||||||
dw UnusableItem ; EXP_ALL
|
dw UnusableItem ; EXP_ALL
|
||||||
dw ItemUseOldRod ; OLD_ROD
|
dw ItemUseEvoStone ; was OLD_ROD, now CANDY_SACK
|
||||||
dw ItemUseGoodRod ; GOOD_ROD
|
dw ItemUseGoodRod ; GOOD_ROD
|
||||||
dw ItemUseSuperRod ; SUPER_ROD
|
dw ItemUseSuperRod ; SUPER_ROD
|
||||||
dw ItemUsePPUp ; PP_UP (real one)
|
dw ItemUsePPUp ; PP_UP (real one)
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ DrawBadges:
|
||||||
|
|
||||||
; In Japanese versions, names are displayed above faces.
|
; In Japanese versions, names are displayed above faces.
|
||||||
; Instead of removing relevant code, the name graphics were erased.
|
; Instead of removing relevant code, the name graphics were erased.
|
||||||
|
; KEP removes the code as well to optimise memory.
|
||||||
|
|
||||||
; Tile ids for face/badge graphics.
|
; Tile ids for face/badge graphics.
|
||||||
ld de, wBadgeOrFaceTiles
|
ld de, wBadgeOrFaceTiles
|
||||||
|
|
@ -41,7 +42,7 @@ DrawBadges:
|
||||||
ld hl, wBadgeNumberTile
|
ld hl, wBadgeNumberTile
|
||||||
ld a, $d8 ; [1]
|
ld a, $d8 ; [1]
|
||||||
ld [hli], a
|
ld [hli], a
|
||||||
ld [hl], $60 ; First name
|
; ld [hl], $60 ; First name, unneeded
|
||||||
|
|
||||||
hlcoord 2, 11
|
hlcoord 2, 11
|
||||||
ld de, wTempObtainedBadgesBooleans
|
ld de, wTempObtainedBadgesBooleans
|
||||||
|
|
@ -64,20 +65,24 @@ DrawBadges:
|
||||||
ld [hli], a
|
ld [hli], a
|
||||||
inc a
|
inc a
|
||||||
ld [wBadgeNumberTile], a
|
ld [wBadgeNumberTile], a
|
||||||
|
|
||||||
; Names aren't printed if the badge is owned.
|
|
||||||
ld a, [de]
|
|
||||||
and a
|
|
||||||
ld a, [wBadgeNameTile]
|
ld a, [wBadgeNameTile]
|
||||||
jr nz, .SkipName
|
|
||||||
call .PlaceTiles
|
|
||||||
jr .PlaceBadge
|
|
||||||
|
|
||||||
.SkipName
|
|
||||||
inc a
|
inc a
|
||||||
inc a
|
inc a
|
||||||
inc hl
|
inc hl
|
||||||
|
|
||||||
|
; Names aren't printed if the badge is owned. - unnecessary code
|
||||||
|
; ld a, [de]
|
||||||
|
; and a
|
||||||
|
; ld a, [wBadgeNameTile]
|
||||||
|
; jr nz, .SkipName
|
||||||
|
; call .PlaceTiles
|
||||||
|
; jr .PlaceBadge
|
||||||
|
;
|
||||||
|
;.SkipName
|
||||||
|
; inc a
|
||||||
|
; inc a
|
||||||
|
; inc hl
|
||||||
|
|
||||||
.PlaceBadge
|
.PlaceBadge
|
||||||
ld [wBadgeNameTile], a
|
ld [wBadgeNameTile], a
|
||||||
ld de, SCREEN_WIDTH - 1
|
ld de, SCREEN_WIDTH - 1
|
||||||
|
|
|
||||||
|
|
@ -231,13 +231,13 @@ DisplayNamingScreen:
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
ld [wNamingScreenLetter], a
|
ld [wNamingScreenLetter], a
|
||||||
call CalcStringLength
|
call CalcStringLength
|
||||||
ld a, [wNamingScreenLetter]
|
;ld a, [wNamingScreenLetter]
|
||||||
cp "゙"
|
;cp "゙"
|
||||||
ld de, Dakutens
|
;ld de, Dakutens
|
||||||
jr z, .dakutensAndHandakutens
|
;jr z, .dakutensAndHandakutens
|
||||||
cp "゚"
|
;cp "゚"
|
||||||
ld de, Handakutens
|
;ld de, Handakutens
|
||||||
jr z, .dakutensAndHandakutens
|
;jr z, .dakutensAndHandakutens | japanese: not needed in the international releases
|
||||||
ld a, [wNamingScreenType]
|
ld a, [wNamingScreenType]
|
||||||
cp NAME_MON_SCREEN
|
cp NAME_MON_SCREEN
|
||||||
jr nc, .checkMonNameLength
|
jr nc, .checkMonNameLength
|
||||||
|
|
@ -251,12 +251,12 @@ DisplayNamingScreen:
|
||||||
jr c, .addLetter
|
jr c, .addLetter
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.dakutensAndHandakutens
|
;.dakutensAndHandakutens | japanese, not needed
|
||||||
push hl
|
; push hl
|
||||||
call DakutensAndHandakutens
|
; call DakutensAndHandakutens
|
||||||
pop hl
|
; pop hl
|
||||||
ret nc
|
; ret nc
|
||||||
dec hl
|
; dec hl
|
||||||
.addLetter
|
.addLetter
|
||||||
ld a, [wNamingScreenLetter]
|
ld a, [wNamingScreenLetter]
|
||||||
ld [hli], a
|
ld [hli], a
|
||||||
|
|
@ -420,21 +420,21 @@ PrintNicknameAndUnderscores:
|
||||||
ld [hl], $77 ; raised underscore tile id
|
ld [hl], $77 ; raised underscore tile id
|
||||||
ret
|
ret
|
||||||
|
|
||||||
DakutensAndHandakutens:
|
;DakutensAndHandakutens: | japanese - not needed
|
||||||
push de
|
; push de
|
||||||
call CalcStringLength
|
; call CalcStringLength
|
||||||
dec hl
|
; dec hl
|
||||||
ld a, [hl]
|
; ld a, [hl]
|
||||||
pop hl
|
; pop hl
|
||||||
ld de, $2
|
; ld de, $2
|
||||||
call IsInArray
|
; call IsInArray
|
||||||
ret nc
|
; ret nc
|
||||||
inc hl
|
; inc hl
|
||||||
ld a, [hl]
|
; ld a, [hl]
|
||||||
ld [wNamingScreenLetter], a
|
; ld [wNamingScreenLetter], a
|
||||||
ret
|
; ret
|
||||||
|
|
||||||
INCLUDE "data/text/dakutens.asm"
|
; INCLUDE "data/text/dakutens.asm" | deleting
|
||||||
|
|
||||||
; calculates the length of the string at wStringBuffer and stores it in c
|
; calculates the length of the string at wStringBuffer and stores it in c
|
||||||
CalcStringLength:
|
CalcStringLength:
|
||||||
|
|
|
||||||
|
|
@ -500,9 +500,12 @@ DrawTrainerInfo:
|
||||||
ld bc, 8 tiles
|
ld bc, 8 tiles
|
||||||
push bc
|
push bc
|
||||||
call TrainerInfo_FarCopyData
|
call TrainerInfo_FarCopyData
|
||||||
ld hl, BlankLeaderNames
|
;ld hl, BlankLeaderNames - unnecessary code
|
||||||
ld de, vChars2 tile $60
|
;ld de, vChars2 tile $60
|
||||||
ld bc, $17 tiles
|
;ld bc, $17 tiles
|
||||||
|
ld hl, CircleTile ; better code here to line 508
|
||||||
|
ld de, vChars2 tile $76
|
||||||
|
ld bc, 1 tiles
|
||||||
call TrainerInfo_FarCopyData
|
call TrainerInfo_FarCopyData
|
||||||
pop bc
|
pop bc
|
||||||
ld hl, BadgeNumbersTileGraphics ; badge number tile patterns
|
ld hl, BadgeNumbersTileGraphics ; badge number tile patterns
|
||||||
|
|
|
||||||
|
|
@ -97,10 +97,10 @@ StatusScreen:
|
||||||
ld hl, vChars2 tile $76
|
ld hl, vChars2 tile $76
|
||||||
lb bc, BANK(BattleHudTiles3), 2
|
lb bc, BANK(BattleHudTiles3), 2
|
||||||
call CopyVideoDataDouble ; ─ ┘
|
call CopyVideoDataDouble ; ─ ┘
|
||||||
ld de, PTile
|
;ld de, PTile
|
||||||
ld hl, vChars2 tile $72
|
;ld hl, vChars2 tile $72
|
||||||
lb bc, BANK(PTile), 1
|
;lb bc, BANK(PTile), 1
|
||||||
call CopyVideoDataDouble ; bold P (for PP)
|
;call CopyVideoDataDouble ; bold P (for PP) - no longer needed
|
||||||
ldh a, [hTileAnimations]
|
ldh a, [hTileAnimations]
|
||||||
push af
|
push af
|
||||||
xor a
|
xor a
|
||||||
|
|
@ -244,7 +244,7 @@ DrawLineBox:
|
||||||
ld [hl], $6f ; ← (halfarrow ending)
|
ld [hl], $6f ; ← (halfarrow ending)
|
||||||
ret
|
ret
|
||||||
|
|
||||||
PTile: INCBIN "gfx/font/P.1bpp"
|
;PTile: INCBIN "gfx/font/P.1bpp" lol
|
||||||
|
|
||||||
PrintStatsBox:
|
PrintStatsBox:
|
||||||
ld a, d
|
ld a, d
|
||||||
|
|
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 252 B After Width: | Height: | Size: 544 B |
|
|
@ -1,7 +1,7 @@
|
||||||
TrainerInfoTextBoxTileGraphics: INCBIN "gfx/trainer_card/trainer_info.2bpp"
|
TrainerInfoTextBoxTileGraphics: INCBIN "gfx/trainer_card/trainer_info.2bpp"
|
||||||
TrainerInfoTextBoxTileGraphicsEnd:
|
TrainerInfoTextBoxTileGraphicsEnd:
|
||||||
|
|
||||||
BlankLeaderNames: INCBIN "gfx/trainer_card/blank_leader_names.2bpp"
|
;BlankLeaderNames: INCBIN "gfx/trainer_card/blank_leader_names.2bpp" not needed in localised vers
|
||||||
|
|
||||||
CircleTile: INCBIN "gfx/trainer_card/circle_tile.2bpp"
|
CircleTile: INCBIN "gfx/trainer_card/circle_tile.2bpp"
|
||||||
|
|
||||||
|
|
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 73 B |
|
|
@ -373,7 +373,8 @@ PrintEndBattleText::
|
||||||
ldh [hLoadedROMBank], a
|
ldh [hLoadedROMBank], a
|
||||||
ld [MBC1RomBank], a
|
ld [MBC1RomBank], a
|
||||||
push hl
|
push hl
|
||||||
farcall SaveTrainerName
|
; farcall SaveTrainerName we don't need to farcall anymore
|
||||||
|
call SaveTrainerName
|
||||||
ld hl, TrainerEndBattleText
|
ld hl, TrainerEndBattleText
|
||||||
call PrintText
|
call PrintText
|
||||||
pop hl
|
pop hl
|
||||||
|
|
@ -383,6 +384,17 @@ PrintEndBattleText::
|
||||||
farcall FreezeEnemyTrainerSprite
|
farcall FreezeEnemyTrainerSprite
|
||||||
jp WaitForSoundToFinish
|
jp WaitForSoundToFinish
|
||||||
|
|
||||||
|
SaveTrainerName:: ; implementing https://github.com/pret/pokered/wiki/Remove-Redundant-TrainerNamePointers
|
||||||
|
ld hl, wTrainerName
|
||||||
|
ld de, wcd6d
|
||||||
|
.CopyCharacter
|
||||||
|
ld a, [hli]
|
||||||
|
ld [de], a
|
||||||
|
inc de
|
||||||
|
cp "@"
|
||||||
|
jr nz, .CopyCharacter
|
||||||
|
ret
|
||||||
|
|
||||||
GetSavedEndBattleTextPointer::
|
GetSavedEndBattleTextPointer::
|
||||||
ld a, [wBattleResult]
|
ld a, [wBattleResult]
|
||||||
and a
|
and a
|
||||||
|
|
|
||||||
2
main.asm
2
main.asm
|
|
@ -149,7 +149,7 @@ INCLUDE "engine/pokemon/bills_pc.asm"
|
||||||
SECTION "Battle Engine 3", ROMX
|
SECTION "Battle Engine 3", ROMX
|
||||||
|
|
||||||
INCLUDE "engine/battle/print_type.asm"
|
INCLUDE "engine/battle/print_type.asm"
|
||||||
INCLUDE "engine/battle/save_trainer_name.asm"
|
; INCLUDE "engine/battle/save_trainer_name.asm" no longer needed https://github.com/pret/pokered/wiki/Remove-Redundant-TrainerNamePointers
|
||||||
INCLUDE "engine/battle/move_effects/focus_energy.asm"
|
INCLUDE "engine/battle/move_effects/focus_energy.asm"
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Binary file not shown.
|
|
@ -2034,8 +2034,8 @@ wVictoryRoad1FCurScript:: db
|
||||||
wFarawayIslandInsideCurScript:: db ; this should work
|
wFarawayIslandInsideCurScript:: db ; this should work
|
||||||
wLancesRoomCurScript:: db
|
wLancesRoomCurScript:: db
|
||||||
wPokemonMansionB2FCurScript:: db
|
wPokemonMansionB2FCurScript:: db
|
||||||
;wMtMoonCraterCurScript:: db
|
wMtMoonCraterCurScript:: db
|
||||||
ds 3
|
ds 2
|
||||||
wSilphCo10FCurScript:: db
|
wSilphCo10FCurScript:: db
|
||||||
wSilphCo11FCurScript:: db
|
wSilphCo11FCurScript:: db
|
||||||
ds 1
|
ds 1
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,28 @@ CeladonUniversityInsideText3:
|
||||||
text_end
|
text_end
|
||||||
|
|
||||||
CeladonUniversityInsideText4:
|
CeladonUniversityInsideText4:
|
||||||
text_far _CeladonUniversityInsideText4
|
text_asm
|
||||||
|
CheckEvent EVENT_GOT_TM23
|
||||||
|
jr nz, .got_item
|
||||||
|
ld hl, KHRP
|
||||||
|
call PrintText
|
||||||
|
lb bc, TM_DRAGON_RAGE, 1
|
||||||
|
call GiveItem
|
||||||
|
jr nc, .bag_full
|
||||||
|
ld hl, ReceivedTM23Text
|
||||||
|
call PrintText
|
||||||
|
SetEvent EVENT_GOT_TM23
|
||||||
|
jr .done
|
||||||
|
.bag_full
|
||||||
|
ld hl, TM23NoRoomText
|
||||||
|
call PrintText
|
||||||
|
jr .done
|
||||||
|
.got_item
|
||||||
|
ld hl, TM23ExplanationText
|
||||||
|
call PrintText
|
||||||
|
.done
|
||||||
|
jp TextScriptEnd
|
||||||
|
|
||||||
text_end
|
text_end
|
||||||
|
|
||||||
CeladonUniversityInsideBookcaseText1:
|
CeladonUniversityInsideBookcaseText1:
|
||||||
|
|
@ -73,4 +94,21 @@ CeladonUniversityPCScreen:
|
||||||
text_far _ComputerScreen
|
text_far _ComputerScreen
|
||||||
text_end
|
text_end
|
||||||
|
|
||||||
|
KHRP:
|
||||||
|
text_far _KHRP
|
||||||
|
text_end
|
||||||
|
|
||||||
|
ReceivedTM23Text:
|
||||||
|
text_far _ReceivedTM23Text
|
||||||
|
sound_get_item_1
|
||||||
|
text_end
|
||||||
|
|
||||||
|
TM23ExplanationText:
|
||||||
|
text_far _TM23ExplanationText
|
||||||
|
text_end
|
||||||
|
|
||||||
|
TM23NoRoomText:
|
||||||
|
text_far _TM23NoRoomText
|
||||||
|
text_end
|
||||||
|
|
||||||
text_end ; unused
|
text_end ; unused
|
||||||
|
|
|
||||||
|
|
@ -97,6 +97,9 @@ HallofFameRoomScript1:
|
||||||
ld a, HS_CERULEAN_CAVE_GUY
|
ld a, HS_CERULEAN_CAVE_GUY
|
||||||
ld [wMissableObjectIndex], a
|
ld [wMissableObjectIndex], a
|
||||||
predef HideObject
|
predef HideObject
|
||||||
|
ld a, HS_MT_MOON_CRATER_GUARD
|
||||||
|
ld [wMissableObjectIndex], a
|
||||||
|
predef HideObject
|
||||||
ld a, HS_ROUTE_1_OAK
|
ld a, HS_ROUTE_1_OAK
|
||||||
ld [wMissableObjectIndex], a
|
ld [wMissableObjectIndex], a
|
||||||
predef ShowObject
|
predef ShowObject
|
||||||
|
|
|
||||||
|
|
@ -164,6 +164,7 @@ MtMoonB2F_TextPointers:
|
||||||
dw MtMoon3Text7
|
dw MtMoon3Text7
|
||||||
dw PickUpItemText
|
dw PickUpItemText
|
||||||
dw PickUpItemText
|
dw PickUpItemText
|
||||||
|
dw MtMoonCraterGuard
|
||||||
dw MtMoon3Text_49f99
|
dw MtMoon3Text_49f99
|
||||||
|
|
||||||
MtMoon3TrainerHeaders:
|
MtMoon3TrainerHeaders:
|
||||||
|
|
@ -379,3 +380,7 @@ MtMoon3EndBattleText5:
|
||||||
MtMoon3AfterBattleText5:
|
MtMoon3AfterBattleText5:
|
||||||
text_far _MtMoon3AfterBattleText5
|
text_far _MtMoon3AfterBattleText5
|
||||||
text_end
|
text_end
|
||||||
|
|
||||||
|
MtMoonCraterGuard:
|
||||||
|
text_far _MtMoonCraterGuard
|
||||||
|
text_end
|
||||||
|
|
@ -15,7 +15,7 @@ VermilionHouse2Text1:
|
||||||
ld a, [wCurrentMenuItem]
|
ld a, [wCurrentMenuItem]
|
||||||
and a
|
and a
|
||||||
jr nz, .refused
|
jr nz, .refused
|
||||||
lb bc, OLD_ROD, 1
|
lb bc, CANDY_SACK, 1 ; used to be the old rod, but since I've replaced it, for now he'll give you this. I believe this house is currently unused, so no issues..? ~ PvK
|
||||||
call GiveItem
|
call GiveItem
|
||||||
jr nc, .bag_full
|
jr nc, .bag_full
|
||||||
ld hl, wd728
|
ld hl, wd728
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,5 @@
|
||||||
_CeladonUniversityInsideText1::
|
_CeladonUniversityInsideText1::
|
||||||
text "Hello! I haven't"
|
text "My name is PROF."
|
||||||
line "seen you before!"
|
|
||||||
|
|
||||||
para "My name is PROF."
|
|
||||||
line "WESTWOOD V!"
|
line "WESTWOOD V!"
|
||||||
|
|
||||||
para "My ancestors"
|
para "My ancestors"
|
||||||
|
|
@ -12,49 +9,42 @@ _CeladonUniversityInsideText1::
|
||||||
done
|
done
|
||||||
|
|
||||||
_CeladonUniversityInsideText2::
|
_CeladonUniversityInsideText2::
|
||||||
text "It's an old letter"
|
text "It's an invoice"
|
||||||
line "about selling the"
|
line "selling the #"
|
||||||
para "# BALL patent"
|
cont "BALL to SILPH."
|
||||||
line "to SILPH CO."
|
|
||||||
|
|
||||||
done
|
done
|
||||||
|
|
||||||
_CeladonUniversityInsideText3::
|
_CeladonUniversityInsideText3::
|
||||||
text "Seismic tremors"
|
text "Tremors keep"
|
||||||
line "have been"
|
line "happening in"
|
||||||
cont "detected inside"
|
cont "VICTORY ROAD."
|
||||||
|
|
||||||
para "VICTORY ROAD."
|
para "WESTWOOD, can you"
|
||||||
line "Investigation"
|
line "meet me at SILPH?"
|
||||||
cont "is ongoing."
|
|
||||||
|
|
||||||
para "WESTWOOD, can"
|
|
||||||
line "you see me"
|
|
||||||
cont "at SILPH?"
|
|
||||||
|
|
||||||
done
|
done
|
||||||
|
|
||||||
_CeladonUniversityInsideText4::
|
_KHRP::
|
||||||
text "I don't get it."
|
text "Eureka!"
|
||||||
line "Why is this"
|
|
||||||
cont "MAGIKARP so"
|
|
||||||
cont "powerful?"
|
|
||||||
|
|
||||||
para "It was attacking"
|
para "This MAGIKARP can"
|
||||||
line "TRAINERs in"
|
line "use DRAGON RAGE!"
|
||||||
cont "VERMILLION!"
|
|
||||||
|
|
||||||
done
|
para "Huh? You want to"
|
||||||
|
line "teach it to yours?"
|
||||||
|
cont "Sure! Take this!"
|
||||||
|
|
||||||
|
prompt
|
||||||
|
|
||||||
_CeladonUniversityInsideMagikarpText::
|
_CeladonUniversityInsideMagikarpText::
|
||||||
text "Name: MAGIKARP"
|
text "Name: MAGIKARP"
|
||||||
|
|
||||||
para "This specimen has"
|
para "Like ancient"
|
||||||
line "unusual strength."
|
line "specimens, it"
|
||||||
cont "Like its old"
|
|
||||||
cont "ancestors, it"
|
|
||||||
cont "can use DRAGON"
|
cont "can use DRAGON"
|
||||||
cont "RAGE."
|
cont "RAGE."
|
||||||
|
|
||||||
prompt
|
prompt
|
||||||
|
|
||||||
_BookcaseText1::
|
_BookcaseText1::
|
||||||
|
|
@ -63,56 +53,41 @@ _BookcaseText1::
|
||||||
cont "back around 2"
|
cont "back around 2"
|
||||||
cont "million years."
|
cont "million years."
|
||||||
|
|
||||||
para "However, the first"
|
para "BARON TAJIRIN"
|
||||||
line "proper study into"
|
line "of France found"
|
||||||
cont "their biology was"
|
cont "30 species in"
|
||||||
cont "conducted by"
|
cont "the 18th century."
|
||||||
cont "BARON TAJIRIN of"
|
|
||||||
cont "France in the"
|
|
||||||
cont "18th century."
|
|
||||||
|
|
||||||
para "At the time, only"
|
|
||||||
line "30 species were"
|
|
||||||
cont "recognised."
|
|
||||||
|
|
||||||
done
|
done
|
||||||
|
|
||||||
_BookcaseText2::
|
_BookcaseText2::
|
||||||
text "In 1899, PROF."
|
text "In 1899, PROF."
|
||||||
line "WESTWOOD of Japan"
|
line "WESTWOOD of Japan"
|
||||||
cont "released a book"
|
cont "discovered"
|
||||||
cont "observing the"
|
cont "#MON evolution,"
|
||||||
cont "evolution of a"
|
cont "documenting 50"
|
||||||
cont "PIKACHU."
|
cont "species."
|
||||||
|
|
||||||
para "Japan became the"
|
para "PROF. OAK"
|
||||||
line "global leader in"
|
line "has since"
|
||||||
cont "#MON study,"
|
cont "documented a"
|
||||||
cont "discovering 80"
|
cont "further 120." ; Total: 200.
|
||||||
cont "#MON at the"
|
|
||||||
cont "time."
|
|
||||||
|
|
||||||
para "As of today,"
|
|
||||||
line "PROF. OAK's"
|
|
||||||
cont "efforts have led"
|
|
||||||
cont "to over 200" ;changed from 150 to 200 because we've expanded the dex :P
|
|
||||||
cont "#MON being"
|
|
||||||
cont "recognised."
|
|
||||||
|
|
||||||
done
|
done
|
||||||
|
|
||||||
_BookcaseText3::
|
_BookcaseText3::
|
||||||
text "The idea of the"
|
;text "The idea of the"
|
||||||
line "# BALL was"
|
;line "# BALL was"
|
||||||
cont "discovered by"
|
;cont "discovered by"
|
||||||
cont "PROF. WESTWOOD,"
|
;cont "PROF. WESTWOOD,"
|
||||||
cont "as part of an"
|
;cont "as part of an"
|
||||||
cont "experiment to"
|
;cont "experiment to"
|
||||||
cont "extract the"
|
;cont "extract the"
|
||||||
cont "energy of a"
|
;cont "energy of a"
|
||||||
cont "PRIMEAPE."
|
;cont "PRIMEAPE."
|
||||||
|
; too long and doesn't seem to fit.
|
||||||
|
|
||||||
para "The modern #"
|
text "The modern #"
|
||||||
line "BALL was made by"
|
line "BALL was made by"
|
||||||
cont "researchers at"
|
cont "researchers at"
|
||||||
cont "CELADON"
|
cont "CELADON"
|
||||||
|
|
@ -134,4 +109,24 @@ _ComputerScreen::
|
||||||
line "visible on the PC"
|
line "visible on the PC"
|
||||||
cont "screen."
|
cont "screen."
|
||||||
|
|
||||||
|
done
|
||||||
|
|
||||||
|
_ReceivedTM23Text::
|
||||||
|
text "<PLAYER> received"
|
||||||
|
line "@"
|
||||||
|
text_ram wStringBuffer
|
||||||
|
text "!@"
|
||||||
|
text_end
|
||||||
|
|
||||||
|
_TM23ExplanationText::
|
||||||
|
text "TM29 is DRAGON"
|
||||||
|
line "RAGE!"
|
||||||
|
|
||||||
|
para "Use it against"
|
||||||
|
line "weak #MON!"
|
||||||
|
done
|
||||||
|
|
||||||
|
_TM23NoRoomText::
|
||||||
|
text "You don't have"
|
||||||
|
line "room for this!"
|
||||||
done
|
done
|
||||||
|
|
@ -123,3 +123,14 @@ _MtMoon3AfterBattleText5::
|
||||||
line "here long before"
|
line "here long before"
|
||||||
cont "people came."
|
cont "people came."
|
||||||
done
|
done
|
||||||
|
|
||||||
|
_MtMoonCraterGuard::
|
||||||
|
text "A meteor struck"
|
||||||
|
line "here recently."
|
||||||
|
|
||||||
|
para "We have to make"
|
||||||
|
line "sure it's safe."
|
||||||
|
cont "Come back another"
|
||||||
|
cont "time."
|
||||||
|
|
||||||
|
done
|
||||||
Loading…
Reference in a new issue