-
Notifications
You must be signed in to change notification settings - Fork 1k
Left Shore can spawn Pokémon
YakiNeen edited this page Jun 30, 2024
·
1 revision
Game Freak changed the spawn tile from 8,9 (bottom left tile) to 9,9 (bottom right tile) in the international releases (compare here pokered-jp and pokered)
This cause two issues:
- When Star Grass ($34) is the bottom right tile in the Forest Tileset (Block $01), it cannot spawn Pokémon as it is not the Grass Tile ($20), the only tile that can spawn Pokémon, determined in data\tilesets\tileset_headers.asm.
- Left Shore ($32) in Overworld Tileset load grass encounter.
ld [wRepelRemainingSteps], a
.next
; determine if wild pokemon can appear in the half-block we're standing in
-; is the bottom right tile (9,9) of the half-block we're standing in a grass/water tile?
- hlcoord 9, 9
+; is the bottom left tile (8,9) of the half-block we're standing in a grass/water tile?
+ hlcoord 8, 9
ld c, [hl]
ld a, [wGrassTile]
cp c
ld a, [wGrassRate]
jr z, .CanEncounter
ld a, $14 ; in all tilesets with a water tile, this is its id
cp c
ld a, [wWaterRate]
jr z, .CanEncounter
+ ld a, $32 ; left shore id
+ cp c
+ ld a, [wWaterRate]
+ jr z, .CanEncounter ; left shore can spawn pokémon
; even if not in grass/water, standing anywhere we can encounter pokemon
; so long as the map is "indoor" and has wild pokemon defined.
; ...as long as it's not Viridian Forest or Safari Zone.
...
...
ld hl, wGrassMons
lda_coord 8, 9
cp $14 ; is the bottom left tile (8,9) of the half-block we're standing in a water tile?
- jr nz, .gotWildEncounterType ; else, it's treated as a grass tile by default
+ jr z, .water
+ cp $32
+ jr nz, .gotWildEncounterType
+.water
ld hl, wWaterMons
-; since the bottom right tile of a "left shore" half-block is $14 but the bottom left tile is not,
-; "left shore" half-blocks (such as the one in the east coast of Cinnabar) load grass encounters.
.gotWildEncounterType
ld b, 0
add hl, bc
...
Since Route 20 has no grass encounter date, buggy Pokémon are carries in left shores. So this fix Missingno. glitch.