Left Shore can spawn Pokémon - pret/pokered GitHub Wiki

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:

  1. 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.

Sem título 2

Sem título 3

  1. Left Shore ($32) in Overworld Tileset load grass encounter.

Sem título 4

Sem título 5

engine\battle\wild_encounters.asm

	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.