This commit is contained in:
Zeta_Null 2023-10-20 14:33:46 -04:00
commit efd3ce0f00
17 changed files with 71 additions and 28 deletions

View file

@ -38,7 +38,7 @@ ItemEffects:
dw EvoStoneEffect ; FIRE_STONE
dw EvoStoneEffect ; THUNDERSTONE
dw EvoStoneEffect ; WATER_STONE
dw NoEffect ; ITEM_19
dw NoEffect ; FAIRY_FEATHER
dw VitaminEffect ; HP_UP
dw VitaminEffect ; PROTEIN
dw VitaminEffect ; IRON
@ -193,22 +193,27 @@ ItemEffects:
dw PokeBallEffect ; PARK_BALL
dw NoEffect ; RAINBOW_WING
dw NoEffect ; ITEM_B3
assert_table_length ITEM_B3
dw NoEffect ; BRICK_PIECE
dw NoEffect ; SURF_MAIL
dw NoEffect ; LITEBLUEMAIL
dw NoEffect ; PORTRAITMAIL
dw NoEffect ; LOVELY_MAIL
dw NoEffect ; EON_MAIL
dw NoEffect ; MORPH_MAIL
dw NoEffect ; BLUESKY_MAIL
dw NoEffect ; MUSIC_MAIL
dw NoEffect ; MIRAGE_MAIL
dw NoEffect ; ITEM_BE
dw NoEffect ; ITEM_DC
dw NoEffect ; ITEM_C3
dw NoEffect ; ITEM_FA
assert_table_length NUM_ITEMS
; The items past ITEM_B3 do not have effect entries:
; BRICK_PIECE
; SURF_MAIL
; LITEBLUEMAIL
; PORTRAITMAIL
; LOVELY_MAIL
; EON_MAIL
; MORPH_MAIL
; BLUESKY_MAIL
; MUSIC_MAIL
; MIRAGE_MAIL
; ITEM_BE
; They all have the ITEMMENU_NOUSE attribute so they can't be used anyway.
; NoEffect would be appropriate, with the table then being NUM_ITEMS long.
; This has been amended for architectural purposes, and because we have a shitload of SW97 items to add.
PokeBallEffect:
; BUG: The Dude's catching tutorial may crash if his Poké Ball can't be used (see docs/bugs_and_glitches.md)
ld a, [wBattleMode]

View file

@ -540,12 +540,12 @@ Pokegear_UpdateClock:
PokegearMap_CheckRegion:
ld a, [wPokegearMapPlayerIconLandmark]
cp NIHON_LANDMARK
jr z, .nihon
cp LANDMARK_FAST_SHIP
jr z, .johto
cp KANTO_LANDMARK
jr nc, .kanto
cp NIHON_LANDMARK
jr c, .nihon
.johto
ld a, POKEGEARSTATE_JOHTOMAPINIT
jr .done
@ -2059,10 +2059,17 @@ PokegearMap:
ret
.kanto
cp NIHON_LANDMARK
jr c, .nihon
call LoadTownMapGFX
call FillKantoMap
ret
.nihon
call LoadTownMapGFX
call FillNihonMap
ret
_FlyMap:
call ClearBGPalettes
call ClearTilemap
@ -2305,10 +2312,10 @@ FlyMap:
call GetWorldMapLocation
.CheckRegion:
; The first 46 locations are part of Johto. The rest are in Kanto.
cp KANTO_LANDMARK
jr nc, .KantoFlyMap
cp NIHON_LANDMARK
jr nc, .NihonFlyMap
cp KANTO_LANDMARK
jr nc, .KantoFlyMap
; Johto fly map
; Note that .NoKanto should be modified in tandem with this branch
push af
@ -2341,7 +2348,7 @@ FlyMap:
; Kanto's map is only loaded if we've visited Indigo Plateau
ld a, KANTO_FLYPOINT ; first Kanto flypoint
ld [wStartFlypoint], a
ld a, NUM_FLYPOINTS - 1 ; last Kanto flypoint
ld a, NIHON_FLYPOINT - 1 ; last Kanto flypoint
ld [wEndFlypoint], a
ld [wTownMapPlayerIconLandmark], a ; last one is default (Indigo Plateau)
; Fill out the map
@ -2366,9 +2373,9 @@ FlyMap:
and a
jr z, .NoKanto
; Kanto's map is only loaded if we've visited Indigo Plateau
ld a, NIHON_FLYPOINT ; first Kanto flypoint
ld a, NIHON_FLYPOINT ; first Nihon flypoint
ld [wStartFlypoint], a
ld a, NUM_FLYPOINTS - 1 ; last Kanto flypoint
ld a, NUM_FLYPOINTS - 1 ; last Nihon flypoint
ld [wEndFlypoint], a
ld [wTownMapPlayerIconLandmark], a ; last one is default (Indigo Plateau)
; Fill out the map
@ -2985,11 +2992,19 @@ EntireFlyMap: ; unreferenced
ld a, [wTownMapPlayerIconLandmark]
cp KANTO_FLYPOINT
jr c, .InJohto
cp NIHON_FLYPOINT
jr nc, .InNihon
call FillKantoMap
xor a
ld b, HIGH(vBGMap1)
jr .Finally
.InNihon:
call FillNihonMap
ld a, SCREEN_HEIGHT_PX
ld b, HIGH(vBGMap0)
jr .Finally
.InJohto:
call FillJohtoMap
ld a, SCREEN_HEIGHT_PX