The Big One Again

Pushing everything I've done, currently doesn't build because the Galarian Birds filesize is too thicc for the section but I need to push this before I go mad
This commit is contained in:
Martha Schilling 2024-08-25 19:39:01 +01:00
parent 1466465f63
commit 14f08c941d
57 changed files with 3676 additions and 370 deletions

View file

@ -380,16 +380,19 @@ If you use our implementations of anything at all, it is encouraged to submit Pu
* erosunica - Assistance with developing Celadon University & Citrine City, plus sources for various subjects.
* Chatot4444 - Assisting with gym scaling code.
* Enigami - Reworking the Battle Tent's RestoreTeam code to make it work properly.
* HeadBoiSkye - Helped with writing NPC dialogue and Pokédex entries for new Pokémon such as Orfry.
* HunnieBuns (originally HeadBoiSkye) - Helped with writing NPC dialogue and Pokédex entries for new Pokémon such as Orfry.
* ZumiIsawhat? - Restorations of prototype OST.
* FrenchOrange - Reconstructions of various overworld prototype sprites.
* Helix Chamber (RacieBeep & Orchid) - Prototype Pokémon sprites. Precise credits are available [here](https://cdn.discordapp.com/attachments/1014321591657709569/1015347305483878521/unknown.png) and below.
* Vortiene/Vortyne - Reused a bit of code from their pureRGB hack, including their Trainer AI, move animations and Pokedex stats page. Assisted in bug fixes. Used their sprite sheet generator.
* wrulfy - Reused a bit of code from their Carmine Red hack to improve a handful of move animations, most notably Drill Peck and Horn Drill. Technical advice.
* TheSmithPlays - Reused a bit of code from their Yellow Legacy hack.
* ZuperZACH, Isona, Karlos, Reader Dragon, and Alakadoof - Sprite artists creating the set of improved backsprites taken from Yellow Legacy.
* Pigu-A, RevoSucks, walle303 - Contributors to Pokemon Anniversary Red's repository, where we reused the Green/FemC sprites and the Battle Tent.
* Rangi - Reused a bit of code from their Red* / Blue* hack to make HMs usable in the overworld, and generally being an amazing individual.
* BGVC - Composed the original 4-channel version of the unused Koukan (trading) music.
* Rainbow Metal Pigeon - Bug fix relating to Gym Leader rematches.
* SoupPotato - Borrowed code to make a functioning EXP bar.
* SatoMew - Technical advice.
* suloku - Technical advice regarding setting where you spawn after beating the Elite Four, Exp. All modernisation code
* 大吟醸 (Daiginjo) - Assistance in translating the Tamamushi University Student Book, allowing for an accurate adaptation of the location.

View file

@ -384,7 +384,8 @@ INCLUDE "crysaudio/music/RBY/giovannisroom.asm"
INCLUDE "crysaudio/music/RBY/rocketrby.asm"
INCLUDE "crysaudio/music/RBY/giovannibattle.asm"
INCLUDE "crysaudio/music/RBY/elitefourbattle.asm"
INCLUDE "crysaudio/music/RBY/champrival.asm"
; INCLUDE "crysaudio/music/RBY/champrival.asm"
INCLUDE "crysaudio/music/RBY/galarbirds.asm"
SECTION "TCG Songs 1", ROMX

View file

@ -35,11 +35,11 @@ PlayBattleMusic::
cp DRAGONITE
jp z, .legendaryBattle
cp ARTICUNO_G
jp z, .legendaryBattle
jp z, .birdsBattle
cp ZAPDOS_G
jp z, .legendaryBattle
jp z, .birdsBattle
cp MOLTRES_G
jp z, .legendaryBattle
jp z, .birdsBattle
cp OPP_ID_OFFSET
jp c, .wildBattle
cp OPP_YUJIROU
@ -107,6 +107,9 @@ PlayBattleMusic::
.legendaryBattle
ld a, MUSIC_LEGENDARYBATTLE
jr .playSong
.birdsBattle
ld a, MUSIC_GALAR_BIRDS
jr .playSong
.wildBattle
ld a, MUSIC_WILD_BATTLE
.playSong

View file

@ -86,7 +86,7 @@ DEF SAFARI_ROCK EQU $16 ; overload
const EXP_ALL ; $4B
const CANDY_JAR ; $4C - was old rod
const BOTTLE_CAP ; $4D - was good rod
const SUPER_ROD ; $4E
const FISHING_ROD ; $4E
const PP_UP ; $4F
const ETHER ; $50
const MAX_ETHER ; $51

View file

@ -142,7 +142,7 @@ DEF FIRST_INDOOR_MAP EQU const_value
map_const MT_MOON_CRATER, 25, 25 ; $77 - Was UNUSED_MAP_75
map_const HALL_OF_FAME, 5, 4 ; $78
map_const UNDERGROUND_PATH_NORTH_SOUTH, 4, 24 ; $79 ; UndergroundPathNorthSouth.blk is actually 4x23
map_const CHAMPIONS_ROOM, 4, 4 ; $7A
map_const CHAMPIONS_ROOM, 5, 6 ; $7A
map_const UNDERGROUND_PATH_WEST_EAST, 25, 4 ; $7B
map_const CELADON_MART_1F, 10, 4 ; $7C
map_const CELADON_MART_2F, 10, 4 ; $7D
@ -210,7 +210,7 @@ DEF FIRST_INDOOR_MAP EQU const_value
map_const ROUTE_16_GATE_1F, 4, 7 ; $BB
map_const ROUTE_16_GATE_2F, 4, 4 ; $BC
map_const ROUTE_16_FLY_HOUSE, 4, 4 ; $BD
map_const ROUTE_12_SUPER_ROD_HOUSE, 4, 4 ; $BE
map_const FISHING_GURU_HOUSE, 4, 4 ; $BE
map_const ROUTE_18_GATE_1F, 4, 5 ; $BF
map_const ROUTE_18_GATE_2F, 4, 4 ; $C0
map_const SEAFOAM_ISLANDS_1F, 15, 9 ; $C1

View file

@ -1,4 +1,4 @@
DEF BAG_ITEM_CAPACITY EQU 30
DEF BAG_ITEM_CAPACITY EQU 50
DEF PC_ITEM_CAPACITY EQU 50
; text box IDs

View file

@ -68,7 +68,8 @@
const MUSIC_ROCKET_RBY
const MUSIC_GIOVANNI_BATTLE
const MUSIC_ELITE_FOUR_BATTLE
const MUSIC_CHAMP_RIVAL
; const MUSIC_CHAMP_RIVAL
const MUSIC_GALAR_BIRDS
const NUM_SONGS

File diff suppressed because it is too large Load diff

View file

@ -62,4 +62,5 @@ Music:
dba Music_RocketRBY
dba Music_GiovanniBattle
dba Music_EliteFourBattle
dba Music_ChampRival
; dba Music_ChampRival
dba Music_GalarBirds

View file

@ -90,7 +90,7 @@ CreditsTextPointers:
dw CredDannye
dw CredEro
dw CredBlueZangoose
dw CredSkye
dw CredHunnies
dw CredChatot
dw CredEni
dw CredVort
@ -276,8 +276,8 @@ CredEro:
db -4, "EROSUNICA@"
CredBlueZangoose:
db -5, "BLUEZANGOOSE@"
CredSkye:
db -5, "HEADBOISKYE@"
CredHunnies:
db -4, "HUNNIEBUNS@"
CredChatot:
db -4, "CHATOT4444@"
CredEni:

View file

@ -77,7 +77,7 @@ KeyItemFlags:
dbit TRUE ; EXP_ALL - Did you know this wasn't a key item originally? Yeesh, what if someone sold or tossed it??
dbit TRUE ; was TRUE for OLD_ROD, now CANDY_JAR
dbit FALSE ; was GOOD_ROD & TRUE, now BOTTLE_CAP
dbit TRUE ; SUPER_ROD
dbit TRUE ; FISHING_ROD
dbit FALSE ; PP_UP
dbit FALSE ; ETHER
dbit FALSE ; MAX_ETHER

View file

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

View file

@ -0,0 +1,2 @@
map_header FishingGuruHouse, FISHING_GURU_HOUSE, HOUSE, 0
end_map_header

View file

@ -1,2 +0,0 @@
map_header Route12SuperRodHouse, ROUTE_12_SUPER_ROD_HOUSE, HOUSE, 0
end_map_header

View file

@ -192,7 +192,7 @@ MapHeaderBanks::
db BANK(Route16Gate1F_h)
db BANK(Route16Gate2F_h)
db BANK(Route16FlyHouse_h)
db BANK(Route12SuperRodHouse_h)
db BANK(FishingGuruHouse_h)
db BANK(Route18Gate1F_h)
db BANK(Route18Gate2F_h)
db BANK(SeafoamIslands1F_h)

View file

@ -192,7 +192,7 @@ MapHeaderPointers::
dw Route16Gate1F_h
dw Route16Gate2F_h
dw Route16FlyHouse_h
dw Route12SuperRodHouse_h
dw FishingGuruHouse_h
dw Route18Gate1F_h
dw Route18Gate2F_h
dw SeafoamIslands1F_h

View file

@ -2,8 +2,8 @@ ChampionsRoom_Object:
db $3 ; border block
def_warp_events
warp_event 3, 7, LANCES_ROOM, 2
warp_event 4, 7, LANCES_ROOM, 3
warp_event 4, 11, LANCES_ROOM, 2
warp_event 5, 11, LANCES_ROOM, 3
warp_event 3, 0, HALL_OF_FAME, 1
warp_event 4, 0, HALL_OF_FAME, 1
@ -11,6 +11,6 @@ ChampionsRoom_Object:
def_object_events
object_event 4, 2, SPRITE_BLUE, STAY, DOWN, 1 ; person
object_event 3, 7, SPRITE_OAK, STAY, UP, 2 ; person
object_event 3, 8, SPRITE_OAK, STAY, UP, 2 ; person
def_warps_to CHAMPIONS_ROOM

View file

@ -1,4 +1,4 @@
Route12SuperRodHouse_Object:
FishingGuruHouse_Object:
db $a ; border block
def_warp_events
@ -11,4 +11,4 @@ Route12SuperRodHouse_Object:
object_event 2, 4, SPRITE_FISHING_GURU, STAY, RIGHT, 1 ; person
object_event 5, 6, SPRITE_YOUNGSTER, WALK, LEFT, 2 ; person
def_warps_to ROUTE_12_SUPER_ROD_HOUSE
def_warps_to FISHING_GURU_HOUSE

View file

@ -2,7 +2,7 @@ Route24_Object:
db $2c ; border block
def_warp_events
warp_event 5, 5, ROUTE_12_SUPER_ROD_HOUSE, 1
warp_event 5, 5, FISHING_GURU_HOUSE, 1
def_bg_events

View file

@ -111,7 +111,7 @@ InternalMapEntries:
internal_map MR_PSYCHICS_HOUSE, 10, 5, SaffronCityName
internal_map ROUTE_15_GATE_2F, 9, 13, Route15Name
internal_map ROUTE_16_FLY_HOUSE, 4, 5, Route16Name
internal_map ROUTE_12_SUPER_ROD_HOUSE, 10, 1, Route24Name
internal_map FISHING_GURU_HOUSE, 10, 1, Route24Name
internal_map ROUTE_18_GATE_2F, 7, 13, Route18Name
internal_map SEAFOAM_ISLANDS_1F, 5, 15, SeafoamIslandsName
internal_map ROUTE_22_GATE, 0, 7, Route22Name

View file

@ -674,7 +674,9 @@ _ViridianBlackboardSleepText::
cont "battles."
para "Use AWAKENING to"
line "wake them up!"
line "wake it up, or"
cont "wait for it to"
cont "wake itself up!"
prompt
_ViridianBlackboardPoisonText::
@ -695,11 +697,11 @@ _ViridianBlackboardPoisonText::
prompt
_ViridianBlackboardPrlzText::
text "Paralysis could"
line "make #MON"
cont "moves misfire!"
text "Paralysis may"
line "make a #MON"
cont "unable to act!"
para "It even lowers"
para "It also lowers"
line "their SPEED!"
para "Paralysis remains"

View file

@ -69,6 +69,11 @@ _SurfingGotOnText::
text "!"
prompt
_SurfingGotOnLaprasText::
text "<PLAYER> got on"
line "LAPRAS!"
prompt
_SurfingNoPlaceToGetOffText::
text "There's no place"
line "to get off!"

View file

@ -354,7 +354,7 @@ EngineerData:
; Celadon University
db 52, GOLEM_A, 0
; Super Rod encounter showcase, basically
; Fishing Rod encounter showcase, basically
FisherData:
; SS Anne 2F Rooms
db 17, GOLDEEN, TENTACOOL, KRABBY, 0

48
data/wild/fishing_rod.asm Normal file
View file

@ -0,0 +1,48 @@
FishingRodSlots::
db PALLET_TOWN, MAGIKARP, 5, ORFRY, 5, MAGIKARP, 7, ORFRY, 7
db VIRIDIAN_CITY, MAGIKARP, 5, ORFRY, 5, MAGIKARP, 7, ORFRY, 7
db ROUTE_22, MAGIKARP, 5, ORFRY, 5, MAGIKARP, 7, ORFRY, 7
db ROUTE_4, MAGIKARP, 12, ORFRY, 12, POLIWAG, 12, PSYDUCK, 12
db CERULEAN_CITY, MAGIKARP, 12, ORFRY, 12, POLIWAG, 12, PSYDUCK, 12
db ROUTE_24, MAGIKARP, 12, ORFRY, 12, POLIWAG, 12, PSYDUCK, 12
db ROUTE_25, MAGIKARP, 12, POLIWAG, 12, ORFRY, 12, CHEEP, 12
db ROUTE_6, MAGIKARP, 12, ORFRY, 12, POLIWAG, 12, PSYDUCK, 12
db VERMILION_CITY, MAGIKARP, 15, BLOTTLE, 15, CHEEP, 15, TENTACOOL, 15
db VERMILION_DOCK, MAGIKARP, 15, BLOTTLE, 15, CHEEP, 15, TENTACOOL, 15
db VERMILION_FERRY_DOCK, MAGIKARP, 15, BLOTTLE, 15, CHEEP, 15, TENTACOOL, 15
db ROUTE_11, MAGIKARP, 15, BLOTTLE, 15, CHEEP, 15, TENTACOOL, 15
db DIGLETTS_CAVE, WIGLETT, 18, WIGLETT, 19, WIGLETT, 20, WUGTRIO, 28
db ROUTE_10, POLIWAG, 18, RIBBITO, 18, KRABBY, 18, SLOWPOKE, 18
db ROCK_TUNNEL_1F, POLIWAG, 18, RIBBITO, 18, KRABBY, 18, SLOWPOKE, 18
db ROUTE_12, POLIWAG, 18, RIBBITO, 18, KRABBY, 18, SLOWPOKE, 18
db CELADON_CITY, MAGIKARP, 15, MAGIKARP, 18, GRIMER, 20, MAGIKARP, 20
db CELADON_UNIVERSITY_OUTSIDE, MAGIKARP, 15, MAGIKARP, 18, GRIMER, 20, MAGIKARP, 20
db ROUTE_13, BLOTTLE, 25, KRABBY, 25, HORSEA, 25, POLIWHIRL, 25
db ROUTE_17, BLOTTLE, 25, KRABBY, 25, HORSEA, 25, POLIWHIRL, 25
db ROUTE_18, BLOTTLE, 25, KRABBY, 25, HORSEA, 25, POLIWHIRL, 25
db ROUTE_23, BLOTTLE, 25, KRABBY, 25, HORSEA, 25, POLIWHIRL, 25
db FUCHSIA_CITY, BLOTTLE, 25, KRABBY, 25, HORSEA, 25, POLIWHIRL, 25
db SAFARI_ZONE_CENTER, SLOWPOKE, 25, KRABBY, 25, DRATINI, 20, DRAGONAIR, 30
db SAFARI_ZONE_EAST, SLOWPOKE, 25, KRABBY, 25, WEIRDUCK, 25, DRATINI, 20
db SAFARI_ZONE_NORTH, SLOWPOKE, 25, KRABBY, 25, WEIRDUCK, 25, DRATINI, 20
db SAFARI_ZONE_WEST, SLOWPOKE, 25, KRABBY, 25, WEIRDUCK, 25, DRATINI, 20
db UNDERWATER_TUNNEL, SHELLDER, 30, STARYU, 30, CROAKOZUNA, 33, GOLDUCK, 33
db ROUTE_19, GOLDEEN, 30, HORSEA, 30, SHELLDER, 30, STARYU, 30
db ROUTE_20, GOLDEEN, 30, HORSEA, 30, SHELLDER, 30, STARYU, 30
db ROUTE_21, GOLDEEN, 30, HORSEA, 30, SHELLDER, 30, STARYU, 30
db SEAFOAM_ISLANDS_B3F, GOLDEEN, 30, HORSEA, 30, SHELLDER, 30, STARYU, 30
db SEAFOAM_ISLANDS_B4F, GOLDEEN, 30, HORSEA, 30, SHELLDER, 30, STARYU, 30
db CINNABAR_ISLAND, GOLDEEN, 30, HORSEA, 30, SHELLDER, 30, STARYU, 30
db CINNABAR_VOLCANO_FLOORS, GROWLITHE, 32, MAGMAR, 35, MAGMAR, 35, MAGMAR, 36
db CINNABAR_VOLCANO, MAGMAR, 35, MAGMAR, 35, MAGMAR, 36, ARCANINE, 38
db BILLS_GARDEN, SQUIRTLE, 50, SQUIRTLE, 50, DRATINI, 50, DRAGONAIR, 50
db MT_MOON_CRATER, SEAKING, 50, SLOWBRO, 50, CROAKOZUNA, 50, GYARADOS, 50
db CITRINE_FERRY_DOCK, PENDRAKEN, 50, SEADRA, 50, KINGLER, 50, GYARADOS, 50
db CITRINE_CITY, PENDRAKEN, 50, SEADRA, 50, KINGLER, 50, GYARADOS, 50
db BRUNSWICK_TRAIL, PENDRAKEN, 50, SEADRA, 50, KINGLER, 50, GYARADOS, 50
db GARNET_CAVERN_1F, PENDRAKEN, 50, SEADRA, 50, KINGLER, 50, GYARADOS, 50
db GARNET_CAVERN_B1F, PENDRAKEN, 50, SEADRA, 50, KINGLER, 50, GYARADOS, 50
db SILPH_GAUNTLET_5F, SLOWBRO, 50, KINGLER, 50, GOLDUCK, 50, DRAGONAIR, 50
db CERULEAN_CAVE_1F, SEAKING, 50, SLOWBRO, 50, CROAKOZUNA, 50, GYARADOS, 50
db CERULEAN_CAVE_B1F, SEAKING, 50, SLOWBRO, 50, CROAKOZUNA, 50, GYARADOS, 50
db -1 ; end

View file

@ -1,5 +0,0 @@
; random choice of 2 good rod encounters
GoodRodMons:
; level, species
db 10, GOLDEEN
db 10, POLIWAG

View file

@ -1,159 +0,0 @@
; super rod encounters
SuperRodData:
; map, fishing group
dbw PALLET_TOWN, .Group1
dbw VIRIDIAN_CITY, .Group1
dbw CERULEAN_CITY, .Group2
dbw VERMILION_CITY, .Group4
dbw CELADON_CITY, .Group13
dbw FUCHSIA_CITY, .Group6
dbw CINNABAR_ISLAND, .Group9
dbw CITRINE_CITY, .Group11
dbw ROUTE_4, .Group2
dbw ROUTE_6, .Group2
dbw ROUTE_10, .Group5
dbw ROUTE_11, .Group4
dbw ROUTE_12, .Group5
dbw ROUTE_13, .Group6
dbw ROUTE_17, .Group6
dbw ROUTE_18, .Group6
dbw ROUTE_19, .Group9
dbw ROUTE_20, .Group9
dbw ROUTE_21, .Group9
dbw ROUTE_22, .Group1
dbw ROUTE_23, .Group6
dbw ROUTE_24, .Group2
dbw ROUTE_25, .Group3
dbw BRUNSWICK_TRAIL, .Group11
dbw VERMILION_DOCK, .Group4
dbw VERMILION_FERRY_DOCK, .Group4
dbw CITRINE_FERRY_DOCK, .Group11
dbw SEAFOAM_ISLANDS_B3F, .Group9
dbw SEAFOAM_ISLANDS_B4F, .Group9
dbw SAFARI_ZONE_EAST, .Group7
dbw SAFARI_ZONE_NORTH, .Group7
dbw SAFARI_ZONE_WEST, .Group7
dbw SAFARI_ZONE_CENTER, .Group7
dbw CERULEAN_CAVE_2F, .Group12
dbw CERULEAN_CAVE_B1F, .Group12
dbw CERULEAN_CAVE_1F, .Group12
dbw SILPH_GAUNTLET_5F, .Group7
dbw ROCK_TUNNEL_1F, .Group5
dbw CELADON_UNIVERSITY_OUTSIDE, .Group13
dbw MT_MOON_CRATER, .Group12
dbw DIGLETTS_CAVE, .Group14
dbw BILLS_GARDEN, .Group8
dbw UNDERWATER_TUNNEL, .Group10
dbw GARNET_CAVERN_1F, .Group11
dbw GARNET_CAVERN_2F, .Group11
dbw GARNET_CAVERN_B1F, .Group11
dbw CINNABAR_VOLCANO_FLOORS, .Group15
dbw CINNABAR_VOLCANO, .Group15
db -1 ; end
; fishing groups
; number of monsters, followed by level/monster pairs
.Group1: ; Pallet, Viridian & Route 22
db 4
db 5, MAGIKARP
db 7, MAGIKARP
db 5, ORFRY
db 7, ORFRY
.Group2: ; Route 4, Cerulean, Route 24, Route 6
db 4
db 12, MAGIKARP
db 12, POLIWAG
db 12, ORFRY
db 12, PSYDUCK
.Group3: ; Route 25
db 4
db 12, MAGIKARP
db 12, POLIWAG
db 12, ORFRY
db 12, CHEEP
.Group4: ; Route 11, Vermilion
db 4
db 15, BLOTTLE
db 15, MAGIKARP
db 15, TENTACOOL
db 15, CHEEP
.Group5: ; Route 10, Route 12, Rock Tunnel
db 4
db 20, RIBBITO
db 20, POLIWAG
db 20, SLOWPOKE
db 20, KRABBY
.Group6: ; Route 13, Route 17, Route 18, Fuchsia, Route 23
db 4
db 25, HORSEA
db 25, POLIWHIRL
db 25, KRABBY
db 25, BLOTTLE
.Group7: ; Safari Zone
db 4
db 15, DRATINI
db 20, SLOWPOKE
db 25, KRABBY
db 25, WEIRDUCK
.Group8: ; Bill's Garden
db 4
db 50, SQUIRTLE
db 50, SQUIRTLE
db 50, DRATINI
db 50, DRATINI
.Group9: ; Cinnabar, Route 19-21, Seafoam Islands
db 4
db 30, STARYU
db 30, HORSEA
db 30, SHELLDER
db 30, GOLDEEN
.Group10: ; Underwater Tunnel
db 4
db 35, SHELLDER
db 35, STARYU
db 35, CROAKOZUNA
db 35, GOLDUCK
.Group11: ; Citrine, Brunswick, Garnet
db 4
db 50, KINGLER
db 50, SEADRA
db 50, PENDRAKEN
db 50, GYARADOS
.Group12: ; Cerulean Cave, Mt Moon Crater
db 4
db 50, SLOWBRO
db 50, SEAKING
db 50, GYARADOS
db 50, CROAKOZUNA
.Group13: ; Celadon
db 4
db 10, MAGIKARP
db 15, MAGIKARP
db 20, MAGIKARP
db 20, GRIMER
.Group14: ; Diglett's Cave
db 4
db 17, WIGLETT
db 18, WIGLETT
db 19, WIGLETT
db 20, WIGLETT
.Group15: ; Cinnabar Volcano
db 3
db 35, MAGMAR
db 37, MAGMAR
db 40, MAGMAR

View file

@ -1936,6 +1936,7 @@ DrawPlayerHUDAndHPBar:
hlcoord 10, 7
call CenterMonName
call PlaceString
call PrintEXPBar
ld hl, wBattleMonSpecies
ld de, wLoadedMon
ld bc, wBattleMonDVs - wBattleMonSpecies
@ -7308,3 +7309,187 @@ MeltanIncrement:
MeltanFullJar:
text_far _MeltanFullJar
text_end
PrintEXPBar:
call CalcEXPBarPixelLength
ld a, [hQuotient + 3] ; pixel length
ld [wEXPBarPixelLength], a
ld b, a
ld c, $08
ld d, $08
coord hl, 17, 11
.loop
ld a, b
sub c
jr nc, .skip
ld c, b
jr .loop
.skip
ld b, a
ld a, $c0
add c
.loop2
ld [hld], a
dec d
ret z
ld a, b
and a
jr nz, .loop
ld a, $c0
jr .loop2
CalcEXPBarPixelLength:
ld hl, wEXPBarKeepFullFlag
bit 0, [hl]
jr z, .start
res 0, [hl]
ld a, $40
ld [hQuotient + 3], a
ret
.start
; get the base exp needed for the current level
ld a, [wPlayerBattleStatus3]
ld hl, wBattleMonSpecies
bit 3, a
jr z, .skip
ld hl, wPartyMon1
call BattleMonPartyAttr
.skip
ld a, [hl]
ld [wd0b5], a
call GetMonHeader
ld a, [wBattleMonLevel]
ld d, a
ld hl, CalcExperience
ld b, BANK(CalcExperience)
call Bankswitch
ld hl, hMultiplicand
ld de, wEXPBarBaseEXP
ld a, [hli]
ld [de], a
inc de
ld a, [hli]
ld [de], a
inc de
ld a, [hl]
ld [de], a
; get the exp needed to gain a level
ld a, [wBattleMonLevel]
ld d, a
inc d
ld hl, CalcExperience
ld b, BANK(CalcExperience)
call Bankswitch
; get the address of the active Pokemon's current experience
ld hl, wPartyMon1Exp
call BattleMonPartyAttr
; current exp - base exp
ld b, h
ld c, l
ld hl, wEXPBarBaseEXP
ld de, wEXPBarCurEXP
call SubThreeByteNum
; exp needed - base exp
ld bc, hMultiplicand
ld hl, wEXPBarBaseEXP
ld de, wEXPBarNeededEXP
call SubThreeByteNum
; make the divisor an 8-bit number
ld hl, wEXPBarNeededEXP
ld de, wEXPBarCurEXP + 1
ld a, [hli]
and a
jr z, .twoBytes
ld a, [hli]
ld [hld], a
dec hl
ld a, [hli]
ld [hld], a
ld a, [de]
inc de
ld [de], a
dec de
dec de
ld a, [de]
inc de
ld [de], a
dec de
xor a
ld [hli], a
ld [de], a
inc de
.twoBytes
ld a, [hl]
and a
jr z, .oneByte
srl a
ld [hli], a
ld a, [hl]
rr a
ld [hld], a
ld a, [de]
srl a
ld [de], a
inc de
ld a, [de]
rr a
ld [de], a
dec de
jr .twoBytes
.oneByte
; current exp * (8 tiles * 8 pixels)
ld hl, hMultiplicand
ld de, wEXPBarCurEXP
ld a, [de]
inc de
ld [hli], a
ld a, [de]
inc de
ld [hli], a
ld a, [de]
ld [hl], a
ld a, $40
ld [hMultiplier], a
call Multiply
; product / needed exp = pixel length
ld a, [wEXPBarNeededEXP + 2]
ld [hDivisor], a
ld b, $04
jp Divide
; calculates the three byte number starting at [bc]
; minus the three byte number starting at [hl]
; and stores it into the three bytes starting at [de]
; assumes that [hl] is smaller than [bc]
SubThreeByteNum:
call .subByte
call .subByte
.subByte
ld a, [bc]
inc bc
sub [hl]
inc hl
ld [de], a
jr nc, .noCarry
dec de
ld a, [de]
dec a
ld [de], a
inc de
.noCarry
inc de
ret
; return the address of the BattleMon's party struct attribute in hl
BattleMonPartyAttr:
ld a, [wPlayerMonNumber]
ld bc, wPartyMon2 - wPartyMon1
jp AddNTimes

View file

@ -804,7 +804,6 @@ ThrashPetalDanceEffect:
inc a
ld [de], a ; set thrash/petal dance counter to 2 or 3 at random
ldh a, [hWhoseTurn]
add SHRINKING_SQUARE_ANIM
jp PlayBattleAnimation2
SwitchAndTeleportEffect:

View file

@ -167,6 +167,7 @@ GainExperience:
xor a ; PLAYER_PARTY_DATA
ld [wMonDataLocation], a
call LoadMonData
call AnimateEXPBar
pop hl
ld bc, wPartyMon1Level - wPartyMon1Exp
add hl, bc
@ -177,6 +178,7 @@ GainExperience:
ld [wTempLevel], a
cp d
jp z, .nextMon ; if level didn't change, go to next mon
call KeepEXPBarFull
ld a, [wCurEnemyLVL]
push af
push hl
@ -399,3 +401,71 @@ GrewLevelText:
text_far _GrewLevelText
sound_level_up
text_end
AnimateEXPBarAgain:
call IsCurrentMonBattleMon
ret nz
xor a
ld [wEXPBarPixelLength], a
coord hl, 17, 11
ld a, $c0
ld c, $08
.loop
ld [hld], a
dec c
jr nz, .loop
AnimateEXPBar:
call IsCurrentMonBattleMon
ret nz
ld a, SFX_HEAL_HP
call PlaySoundWaitForCurrent
ld hl, CalcEXPBarPixelLength
ld b, BANK(CalcEXPBarPixelLength)
call Bankswitch
ld hl, wEXPBarPixelLength
ld a, [hl]
ld b, a
ld a, [hQuotient + 3]
ld [hl], a
sub b
jr z, .done
ld b, a
ld c, $08
coord hl, 17, 11
.loop1
ld a, [hl]
cp $c8
jr nz, .loop2
dec hl
dec c
jr z, .done
jr .loop1
.loop2
inc a
ld [hl], a
call DelayFrame
dec b
jr z, .done
jr .loop1
.done
ld bc, $08
coord hl, 10, 11
ld de, wTileMapBackup + 10 + 11 * 20
call CopyData
ld c, $20
jp DelayFrames
KeepEXPBarFull:
call IsCurrentMonBattleMon
ret nz
ld a, [wEXPBarKeepFullFlag]
set 0, a
ld [wEXPBarKeepFullFlag], a
ret
IsCurrentMonBattleMon:
ld a, [wPlayerMonNumber]
ld b, a
ld a, [wWhichPokemon]
cp b
ret

View file

@ -196,7 +196,7 @@ DebugItemsList:
db CARD_KEY, 1
db S_S_TICKET, 1
db CITRINE_PASS, 1
db SUPER_ROD, 1
db FISHING_ROD, 1
db COIN_CASE, 1
db POKE_FLUTE, 1
db SILPH_SCOPE, 1

View file

@ -72,7 +72,7 @@ ItemUsePtrTable:
dw ItemUseMedicine ; REVIVE
dw ItemUseMedicine ; MAX_REVIVE
dw ItemUseGuardSpec ; GUARD_SPEC
dw ItemUseSuperRepel ; SUPER_REPL
dw ItemUseSuperRepel ; SUPER_REPEL
dw ItemUseMaxRepel ; MAX_REPEL
dw ItemUseDireHit ; DIRE_HIT
dw UnusableItem ; COIN
@ -94,8 +94,8 @@ ItemUsePtrTable:
dw UnusableItem ; EXP_ALL
dw ItemUseCandyJar ; was OLD_ROD, now CANDY_JAR
dw UnusableItem ; was GOOD_ROD, now BOTTLE_CAP
dw ItemUseSuperRod ; SUPER_ROD
dw ItemUsePPUp ; PP_UP (real one)
dw ItemUseFishingRod ; FISHING_ROD
dw ItemUsePPUp ; PP_UP
dw ItemUsePPRestore ; ETHER
dw ItemUsePPRestore ; MAX_ETHER
dw ItemUsePPRestore ; ELIXER
@ -851,6 +851,10 @@ SurfingGotOnText:
text_far _SurfingGotOnText
text_end
SurfingGotOnLaprasText:
text_far _SurfingGotOnLaprasText
text_end
SurfingNoPlaceToGetOffText:
text_far _SurfingNoPlaceToGetOffText
text_end
@ -1986,16 +1990,31 @@ CoinCaseNumCoinsText:
;INCLUDE "data/wild/good_rod.asm"
ItemUseSuperRod:
ItemUseFishingRod:
call FishingInit
jp c, ItemUseNotTime
call ReadSuperRodData
ld a, e
call ReadFishingRodData
ld c, e
ld b, d
ld a, $2
ld [wRodResponse], a
ld a, c
and a ; are there fish in the map?
jr z, DoNotGenerateFishingEncounter ; if not, do not generate an encounter
ld a, $1
ld [wRodResponse], a
call Random
and $1
jr nz, RodResponse
xor a
ld [wRodResponse], a
jr DoNotGenerateFishingEncounter
RodResponse:
ld [wRodResponse], a
dec a ; is there a bite?
jr nz, .next
jr nz, DoNotGenerateFishingEncounter
; if yes, store level and species data
ld a, 1
ld [wMoveMissed], a
@ -2004,7 +2023,7 @@ RodResponse:
ld a, c ; species
ld [wCurOpponent], a
.next
DoNotGenerateFishingEncounter:
ld hl, wWalkBikeSurfState
ld a, [hl] ; store the value in a
push af
@ -2029,7 +2048,7 @@ FishingInit:
ret c
ld a, [wWalkBikeSurfState]
cp 2 ; Surfing?
jr z, .surfing
jr z, .cannotFish
call ItemUseReloadOverworldData
ld hl, ItemUseText00
call PrintText
@ -2039,7 +2058,7 @@ FishingInit:
call DelayFrames
and a
ret
.surfing
.cannotFish
scf ; can't fish when surfing
ret
@ -2971,52 +2990,47 @@ IsNextTileShoreOrWater:
INCLUDE "data/tilesets/water_tilesets.asm"
ReadSuperRodData:
; return e = 2 if no fish on this map
; return e = 1 if a bite, bc = level,species
; return e = 0 if no bite
ReadFishingRodData:
ld a, [wCurMap]
ld de, 3 ; each fishing group is three bytes wide
ld hl, SuperRodData
call IsInArray
jr c, .ReadFishingGroup
ld e, $2 ; $2 if no fishing groups found
ret
.ReadFishingGroup
; hl points to the fishing group entry in the index
inc hl ; skip map id
; read fishing group address
ld a, [hli]
ld h, [hl]
ld l, a
ld b, [hl] ; how many mons in group
inc hl ; point to data
ld e, $0 ; no bite yet
.RandomLoop
call Random
srl a
ret c ; 50% chance of no battle
and %11 ; 2-bit random number
cp b
jr nc, .RandomLoop ; if a is greater than the number of mons, regenerate
; get the mon
add a
ld c, a
ld b, $0
add hl, bc
ld b, [hl] ; level
inc hl
ld c, [hl] ; species
ld e, $1 ; $1 if there's a bite
ld hl, FishingRodSlots
.loop
ld a, [hli]
cp $ff
jr z, .notfound
cp c
jr z, .found
ld de, $8
add hl, de
jr .loop
.found
call GenerateRandomFishingEncounter
ret
.notfound
ld de, $0
ret
INCLUDE "data/wild/super_rod.asm"
GenerateRandomFishingEncounter:
call Random
cp $66
jr c, .asm_f5ed6
inc hl
inc hl
cp $b2
jr c, .asm_f5ed6
inc hl
inc hl
cp $e5
jr c, .asm_f5ed6
inc hl
inc hl
.asm_f5ed6
ld e, [hl]
inc hl
ld d, [hl]
ret
INCLUDE "data/wild/fishing_rod.asm"
; reloads map view and processes sprite data
; for items that cause the overworld to be displayed

View file

@ -72,6 +72,8 @@ ExitPlayerPC:
call WaitForSoundToFinish
.next
ld hl, wFlags_0xcd60
res 2, [hl]
res 4, [hl]
res 5, [hl]
call LoadScreenTilesFromBuffer2
xor a
@ -94,6 +96,9 @@ PlayerPCDeposit:
call PrintText
jp PlayerPCMenu
.loop
ld hl, wFlags_0xcd60
set 2, [hl]
res 4, [hl]
ld hl, WhatToDepositText
call PrintText
ld hl, wNumBagItems
@ -106,6 +111,7 @@ PlayerPCDeposit:
ld a, ITEMLISTMENU
ld [wListMenuID], a
call DisplayListMenuID
jp nz, .sortItems
jp c, PlayerPCMenu
call IsKeyItem
ld a, 1
@ -120,6 +126,9 @@ PlayerPCDeposit:
cp $ff
jp z, .loop
.next
ld hl, wFlags_0xcd60
res 2, [hl]
res 4, [hl]
ld hl, wNumBoxItems
call AddItemToInventory
jr c, .roomAvailable
@ -136,7 +145,9 @@ PlayerPCDeposit:
ld hl, ItemWasStoredText
call PrintText
jp .loop
.sortItems
call SortItems
jp .loop
PlayerPCWithdraw:
xor a
ld [wCurrentMenuItem], a
@ -148,6 +159,9 @@ PlayerPCWithdraw:
call PrintText
jp PlayerPCMenu
.loop
ld hl, wFlags_0xcd60
set 2, [hl]
set 4, [hl]
ld hl, WhatToWithdrawText
call PrintText
ld hl, wNumBoxItems
@ -160,6 +174,7 @@ PlayerPCWithdraw:
ld a, ITEMLISTMENU
ld [wListMenuID], a
call DisplayListMenuID
jp nz, .sortItems
jp c, PlayerPCMenu
call IsKeyItem
ld a, 1
@ -174,6 +189,9 @@ PlayerPCWithdraw:
cp $ff
jp z, .loop
.next
ld hl, wFlags_0xcd60
res 2, [hl]
res 4, [hl]
ld hl, wNumBagItems
call AddItemToInventory
jr c, .roomAvailable
@ -190,7 +208,9 @@ PlayerPCWithdraw:
ld hl, WithdrewItemText
call PrintText
jp .loop
.sortItems
call SortItems
jp .loop
PlayerPCToss:
xor a
ld [wCurrentMenuItem], a
@ -202,6 +222,9 @@ PlayerPCToss:
call PrintText
jp PlayerPCMenu
.loop
ld hl, wFlags_0xcd60
set 2, [hl]
set 4, [hl]
ld hl, WhatToTossText
call PrintText
ld hl, wNumBoxItems
@ -216,6 +239,7 @@ PlayerPCToss:
push hl
call DisplayListMenuID
pop hl
jp nz, .sortItems
jp c, PlayerPCMenu
push hl
call IsKeyItem
@ -237,8 +261,14 @@ PlayerPCToss:
cp $ff
jp z, .loop
.next
ld hl, wFlags_0xcd60
res 2, [hl]
res 4, [hl]
call TossItem ; disallows tossing key items
jp .loop
.sortItems
call SortItems
jp .loop
PlayersPCMenuEntries:
db "WITHDRAW ITEM"

View file

@ -319,6 +319,9 @@ StartMenu_Item::
call PrintText
jr .exitMenu
.notInCableClubRoom
ld hl,wFlags_0xcd60
set 2, [hl]
res 4, [hl]
ld bc, wNumBagItems
ld hl, wListPointer
ld a, c
@ -336,6 +339,9 @@ StartMenu_Item::
ld [wBagSavedMenuItem], a
jr nc, .choseItem
.exitMenu
ld hl,wFlags_0xcd60
res 2, [hl]
res 4, [hl]
call LoadScreenTilesFromBuffer2 ; restore saved screen
call LoadTextBoxTilePatterns
call UpdateSprites

View file

@ -179,7 +179,7 @@ SortItems::
ld de, 0
ld hl, ItemSortList
ld b, [hl] ; This is the first item to check for
ld hl, wBagItems
call .ldHLbagorbox
ld c, 0 ; Relative to wBagItems, this is where we'd like to begin swapping
.loopCurrItemInBag
ld a, [hl] ; Load the value of hl to a (which is an item number) and Increments to the quantity
@ -196,7 +196,7 @@ SortItems::
ld hl, ItemSortList
add hl, de
ld b, [hl]
ld hl, wBagItems ; Resets hl to start at the beginning of the bag
call .ldHLbagorbox ; Resets hl to start at the beginning of the bag
ld a, b
cp -1 ; Check if we got through all of the items, to the last one
jr z, .finishedSwapping
@ -207,7 +207,7 @@ SortItems::
push de
ld d, h
ld e, l
ld hl, wBagItems
call .ldHLbagorbox
ld a, b
ld b, 0
add hl, bc ; hl now holds where we'd like to swap to
@ -240,6 +240,15 @@ SortItems::
pop de
jr .findNextItem
;Allow for sorting both the bag and the item PC box
.ldHLbagorbox
ld hl, wBagItems
ld a, [wFlags_0xcd60]
bit 4, a
ret z
ld hl, wBoxItems
ret
SortItemsText::
text_far _SortItemsText
db "@"
@ -255,7 +264,7 @@ NothingToSort::
ItemSortList::
; Used Key Items
db BICYCLE
db SUPER_ROD
db FISHING_ROD
db POCKET_LAPRAS
db ITEMFINDER
db TOWN_MAP

View file

@ -129,13 +129,13 @@ DisplayTitleScreen:
call Random
ldh a, [hRandomSub]
cp 129
jr c, .notshocks
ld a, SANDY_SHOCKS
jr c, .notscreamtail
ld a, SCREAM_TAIL
ld [wTitleMonSpecies], a
call LoadTitleMonSprite
jr .skip
.notshocks
ld a, SCREAM_TAIL
.notscreamtail
ld a, SANDY_SHOCKS
ld [wTitleMonSpecies], a
call LoadTitleMonSprite
.skip

View file

@ -69,8 +69,25 @@ UpdatePlayerSprite:
ld a, [hl]
inc a
ld [hl], a
cp 4
jr nz, .calcImageIndex
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;joenote - If B is being held to go faster and full joypad is enabled (i.e. not in a cutscene),
;Then increase player animation speed by 25%
push bc
ld c, 4
ld b, a
ld a, [wJoyIgnore]
and a
jr nz, .doneSpeed
ld a, [hJoyHeld]
and B_BUTTON
jr z, .doneSpeed
ld c, 3
.doneSpeed
ld a, b
cp c
pop bc
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
jr c, .calcImageIndex ;joenote - prevents interframe counter from increasing forever
xor a
ld [hl], a
inc hl

Binary file not shown.

Before

Width:  |  Height:  |  Size: 93 B

After

Width:  |  Height:  |  Size: 185 B

Binary file not shown.

View file

@ -7,6 +7,9 @@ ABTiles: INCBIN "gfx/font/AB.2bpp"
HpBarAndStatusGraphics:: INCBIN "gfx/font/font_battle_extra.2bpp"
HpBarAndStatusGraphicsEnd::
EXPBarGraphics:: INCBIN "gfx/font/exp_bar.2bpp"
EXPBarGraphicsEnd::
BattleHudTiles1: INCBIN "gfx/battle/battle_hud_1.1bpp"
BattleHudTiles1End:
BattleHudTiles2: INCBIN "gfx/battle/battle_hud_2.1bpp"

BIN
gfx/font/exp_bar.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 199 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 407 B

After

Width:  |  Height:  |  Size: 552 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 522 B

After

Width:  |  Height:  |  Size: 541 B

View file

@ -20,11 +20,6 @@ Plateau_Block:: INCBIN "gfx/blocksets/plateau.bst"
SECTION "Tilesets 2", ROMX
Dojo_GFX::
Gym_GFX:: INCBIN "gfx/tilesets/gym.2bpp"
Dojo_Block::
Gym_Block:: INCBIN "gfx/blocksets/gym.bst"
Mart_GFX::
Pokecenter_GFX:: INCBIN "gfx/tilesets/pokecenter.2bpp"
Mart_Block::
@ -79,6 +74,11 @@ House_Block:: INCBIN "gfx/blocksets/house.bst"
SECTION "Tilesets 5", ROMX
Dojo_GFX::
Gym_GFX:: INCBIN "gfx/tilesets/gym.2bpp"
Dojo_Block::
Gym_Block:: INCBIN "gfx/blocksets/gym.bst"
Cavern_GFX:: INCBIN "gfx/tilesets/cavern.2bpp"
Cavern_Block:: INCBIN "gfx/blocksets/cavern.bst"

View file

@ -50,7 +50,13 @@ DisplayListMenuID::
ld [wTopMenuItemY], a
ld a, 5
ld [wTopMenuItemX], a
ld a, A_BUTTON | B_BUTTON | SELECT | START
ld a, [wFlags_0xcd60]
ld b, a
ld a, A_BUTTON | B_BUTTON | SELECT
bit 2, b
jr z, .noSortingOption
or a, START
.noSortingOption
ld [wMenuWatchedKeys], a
ld c, 10
call DelayFrames

View file

@ -39,9 +39,18 @@ LoadHpBarAndStatusTilePatterns::
ld de, vChars2 tile $62
ld bc, HpBarAndStatusGraphicsEnd - HpBarAndStatusGraphics
ld a, BANK(HpBarAndStatusGraphics)
call FarCopyData ; if LCD is off, transfer all at once
ld hl, EXPBarGraphics
ld de, vChars1 tile $40
ld bc, EXPBarGraphicsEnd - EXPBarGraphics
ld a, BANK(EXPBarGraphics)
jp FarCopyData2 ; if LCD is off, transfer all at once
.on
ld de, HpBarAndStatusGraphics
ld hl, vChars2 tile $62
lb bc, BANK(HpBarAndStatusGraphics), (HpBarAndStatusGraphicsEnd - HpBarAndStatusGraphics) / $10
call CopyVideoData ; if LCD is on, transfer during V-blank
ld hl, EXPBarGraphics
ld de, vChars1 tile $40
lb bc, BANK(EXPBarGraphics), (EXPBarGraphicsEnd - EXPBarGraphics) / $10
jp CopyVideoData ; if LCD is on, transfer during V-blank

View file

@ -689,7 +689,7 @@ INCLUDE "data/maps/headers/Route21.asm"
INCLUDE "data/maps/objects/Route21.asm"
Route21_Blocks: INCBIN "maps/Route21.blk"
Route12SuperRodHouse_Blocks: INCBIN "maps/Route12SuperRodHouse.blk"
FishingGuruHouse_Blocks: INCBIN "maps/FishingGuruHouse.blk"
Daycare_Blocks: INCBIN "maps/Daycare.blk"
@ -721,9 +721,9 @@ INCLUDE "data/maps/headers/Daycare.asm"
INCLUDE "scripts/Daycare.asm"
INCLUDE "data/maps/objects/Daycare.asm"
INCLUDE "data/maps/headers/Route12SuperRodHouse.asm"
INCLUDE "scripts/Route12SuperRodHouse.asm"
INCLUDE "data/maps/objects/Route12SuperRodHouse.asm"
INCLUDE "data/maps/headers/FishingGuruHouse.asm"
INCLUDE "scripts/FishingGuruHouse.asm"
INCLUDE "data/maps/objects/FishingGuruHouse.asm"
SECTION "Maps 13", ROMX

View file

@ -1 +1 @@
I12JKLKLR12o
I1tuKux2uR1vwKuKu

View file

@ -532,7 +532,13 @@ wLowHealthAlarmDisabled:: db
wPlayerMonMinimized:: db
ds 13
ds 2
wEXPBarPixelLength:: ds 1
wEXPBarBaseEXP:: ds 3
wEXPBarCurEXP:: ds 3
wEXPBarNeededEXP:: ds 3
wEXPBarKeepFullFlag:: ds 1
; number of hits by enemy in attacks like Double Slap, etc.
wEnemyNumHits:: ; db

View file

@ -40,8 +40,8 @@ GaryScript1:
ret
GaryEntrance_RLEMovement:
db D_UP, 1
db D_RIGHT, 1
db D_UP, 2
db D_UP, 2
db D_UP, 3
db -1 ; end
@ -159,14 +159,13 @@ OakEntranceAfterVictoryMovement:
db NPC_MOVEMENT_UP
db NPC_MOVEMENT_UP
db NPC_MOVEMENT_UP
db NPC_MOVEMENT_UP
db -1 ; end
GaryScript5:
ld a, [wd730]
bit 0, a
ret nz
ld a, PLAYER_DIR_LEFT
ld [wPlayerMovingDirection], a
ld a, $1
ldh [hSpriteIndex], a
ld a, SPRITE_FACING_LEFT
@ -244,7 +243,7 @@ GaryScript9:
ret
WalkToHallOfFame_RLEMovment:
db D_UP, 4
db D_UP, 5
db D_LEFT, 1
db -1 ; end

View file

@ -0,0 +1,62 @@
FishingGuruHouse_Script:
jp EnableAutoTextBoxDrawing
FishingGuruHouse_TextPointers:
dw FishingGuruHouseText1
dw JumpText
FishingGuruHouseText1:
text_asm
ld a, [wd728]
bit 5, a ; received fishing rod?
jr nz, .got_item
ld hl, FishingGuruHouseText_564c0
call PrintText
call YesNoChoice
ld a, [wCurrentMenuItem]
and a
jr nz, .refused
lb bc, FISHING_ROD, 1
call GiveItem
jr nc, .bag_full
ld hl, wd728
set 5, [hl] ; received fishing rod
ld hl, FishingGuruHouseText_564c5
jr .done
.bag_full
ld hl, FishingGuruHouseText_564d9
jr .done
.refused
ld hl, FishingGuruHouseText_564cf
jr .done
.got_item
ld hl, FishingGuruHouseText_564d4
.done
call PrintText
jp TextScriptEnd
FishingGuruHouseText_564c0:
text_far _FishingGuruHouseText_564c0
text_end
FishingGuruHouseText_564c5:
text_far _FishingGuruHouseText_564c5
sound_get_item_1
text_far _FishingGuruHouseText_564ca
text_end
FishingGuruHouseText_564cf:
text_far _FishingGuruHouseText_564cf
text_end
FishingGuruHouseText_564d4:
text_far _FishingGuruHouseText_564d4
text_end
FishingGuruHouseText_564d9:
text_far _FishingGuruHouseText_564d9
text_end
JumpText:
text_far _JumpText
text_end

View file

@ -1,62 +0,0 @@
Route12SuperRodHouse_Script:
jp EnableAutoTextBoxDrawing
Route12SuperRodHouse_TextPointers:
dw Route12HouseText1
dw JumpText
Route12HouseText1:
text_asm
ld a, [wd728]
bit 5, a ; received super rod?
jr nz, .got_item
ld hl, Route12HouseText_564c0
call PrintText
call YesNoChoice
ld a, [wCurrentMenuItem]
and a
jr nz, .refused
lb bc, SUPER_ROD, 1
call GiveItem
jr nc, .bag_full
ld hl, wd728
set 5, [hl] ; received super rod
ld hl, Route12HouseText_564c5
jr .done
.bag_full
ld hl, Route12HouseText_564d9
jr .done
.refused
ld hl, Route12HouseText_564cf
jr .done
.got_item
ld hl, Route12HouseText_564d4
.done
call PrintText
jp TextScriptEnd
Route12HouseText_564c0:
text_far _Route12HouseText_564c0
text_end
Route12HouseText_564c5:
text_far _Route12HouseText_564c5
sound_get_item_1
text_far _Route12HouseText_564ca
text_end
Route12HouseText_564cf:
text_far _Route12HouseText_564cf
text_end
Route12HouseText_564d4:
text_far _Route12HouseText_564d4
text_end
Route12HouseText_564d9:
text_far _Route12HouseText_564d9
text_end
JumpText:
text_far _JumpText
text_end

View file

@ -107,7 +107,7 @@ ChiefScript4:
ld [wMissableObjectIndex], a
predef HideObject
SetEvent EVENT_MEWTWO_UNLOCKED
ResetEventRange SILPH_GAUNTLET_EVENTS_START, SILPH_GAUNTLET_EVENTS_END, 1
ResetEventRange EVENT_BEAT_GAUNTLET_YOUNGSTER, EVENT_BEAT_GAUNTLET_BLAINE
ld a, $0
ld [wSilphGauntlet7FCurScript], a

View file

@ -92,7 +92,7 @@ INCLUDE "text/Route11Gate2F.asm"
INCLUDE "text/DiglettsCaveRoute11.asm"
INCLUDE "text/Route12Gate1F.asm"
INCLUDE "text/Route12Gate2F.asm"
INCLUDE "text/Route12SuperRodHouse.asm"
INCLUDE "text/FishingGuruHouse.asm"
INCLUDE "text/Route15Gate1F.asm"
INCLUDE "text/Route15Gate2F.asm"
INCLUDE "text/Route16Gate1F.asm"

View file

@ -1,4 +1,4 @@
_Route12HouseText_564c0::
_FishingGuruHouseText_564c0::
text "I'm the FISHING"
line "GURU!"
@ -9,7 +9,7 @@ _Route12HouseText_564c0::
line "fish?"
done
_Route12HouseText_564c5::
_FishingGuruHouseText_564c5::
text "Grand! I like"
line "your style!"
@ -22,7 +22,7 @@ _Route12HouseText_564c5::
text "!@"
text_end
_Route12HouseText_564ca::
_FishingGuruHouseText_564ca::
text_start
para "Fishing is a way"
@ -34,12 +34,12 @@ _Route12HouseText_564ca::
cont "one!"
done
_Route12HouseText_564cf::
_FishingGuruHouseText_564cf::
text "Oh... That's so"
line "disappointing..."
done
_Route12HouseText_564d4::
_FishingGuruHouseText_564d4::
text "Hello there,"
line "<PLAYER>!"
@ -53,7 +53,7 @@ _Route12HouseText_564d4::
line "wherever you can!"
done
_Route12HouseText_564d9::
_FishingGuruHouseText_564d9::
text "Oh no!"
para "I had a gift for"

View file

@ -12,7 +12,7 @@ _KogaPostBattleAdviceText::
_KogaSoulBadgeInfoText::
text "Now that you have"
line "the SOULBADGE,"
cont "the DEFENSE of"
cont "the SPEED of"
cont "your #MON"
cont "increases!"

View file

@ -12,8 +12,9 @@ _LTSurgePostBattleAdviceText::
_LTSurgeThunderBadgeInfoText::
text "The THUNDERBADGE"
line "cranks up your"
cont "#MON's SPEED!"
line "cranks up the"
cont "DEFENSE of your"
cont "#MON!"
para "It also lets your"
line "#MON FLY any"