shithub: pokecrystal

Download patch

ref: 01dffba78871350df2597bd43121ed23797a2d92
parent: 4883950318b294abffbf0e29a7c41b05131d3406
author: Idain <luiscarlosholguinperez@outlook.com>
date: Wed Aug 31 15:13:10 EDT 2022

Document fish bug properly (#995)


--- a/docs/bugs_and_glitches.md
+++ b/docs/bugs_and_glitches.md
@@ -66,7 +66,7 @@
   - [`LoadMetatiles` wraps around past 128 blocks](#loadmetatiles-wraps-around-past-128-blocks)
   - [Surfing directly across a map connection does not load the new map](#surfing-directly-across-a-map-connection-does-not-load-the-new-map)
   - [Swimming NPCs aren't limited by their movement radius](#swimming-npcs-arent-limited-by-their-movement-radius)
-  - [You can Surf and fish on top of NPCs](#you-can-surf-and-fish-on-top-of-npcs)
+  - [You can fish on top of NPCs](#you-can-fish-on-top-of-npcs)
   - [Pokémon deposited in the Day-Care might lose experience](#pok%C3%A9mon-deposited-in-the-day-care-might-lose-experience)
 - [Graphics](#graphics)
   - [In-battle “`…`” ellipsis is too high](#in-battle--ellipsis-is-too-high)
@@ -1658,57 +1658,31 @@
 ```
 
 
-### You can Surf and fish on top of NPCs
+### You can fish on top of NPCs
 
 **Fix**: Edit [engine/events/overworld.asm](https://github.com/pret/pokecrystal/blob/master/engine/events/overworld.asm):
 
 ```diff
- SurfFunction:
- ...
-
- .TrySurf:
--; BUG: You can Surf and fish on top of NPCs (see docs/bugs_and_glitches.md)
- 	ld de, ENGINE_FOGBADGE
- 	call CheckBadge
- 	jr c, .nofogbadge
- 	ld hl, wBikeFlags
- 	bit BIKEFLAGS_ALWAYS_ON_BIKE_F, [hl]
- 	jr nz, .cannotsurf
- 	ld a, [wPlayerState]
- 	cp PLAYER_SURF
- 	jr z, .alreadyfail
- 	cp PLAYER_SURF_PIKA
- 	jr z, .alreadyfail
-+	call GetFacingObject
-+	jr nc, .cannotsurf
- 	call GetFacingTileCoord
- 	call GetTileCollision
- 	cp WATER_TILE
- 	jr nz, .cannotsurf
- 	call CheckDirection
- 	jr c, .cannotsurf
--	farcall CheckFacingObject
--	jr c, .cannotsurf
- 	ld a, $1
- 	ret
-```
-
-```diff
  FishFunction:
  ...
 
  .TryFish:
+ -; BUG: You can fish on top of NPCs (see docs/bugs_and_glitches.md)
  	ld a, [wPlayerState]
  	cp PLAYER_SURF
  	jr z, .fail
  	cp PLAYER_SURF_PIKA
  	jr z, .fail
-+	call GetFacingObject
-+	jr nc, .fail
  	call GetFacingTileCoord
  	call GetTileCollision
  	cp WATER_TILE
- 	jr z, .facingwater
+-	jr z, .facingwater
++	jr nz, .fail
++	farcall CheckFacingObject
++	jr nc, .facingwater
+ .fail
+ 	ld a, $3
+ 	ret
 ```
 
 
--- a/engine/events/overworld.asm
+++ b/engine/events/overworld.asm
@@ -344,7 +344,6 @@
 	dw .AlreadySurfing
 
 .TrySurf:
-; BUG: You can Surf and fish on top of NPCs (see docs/bugs_and_glitches.md)
 	ld de, ENGINE_FOGBADGE
 	call CheckBadge
 	jr c, .nofogbadge
@@ -1443,6 +1442,7 @@
 	dw .FishNoFish
 
 .TryFish:
+; BUG: You can fish on top of NPCs (see docs/bugs_and_glitches.md)
 	ld a, [wPlayerState]
 	cp PLAYER_SURF
 	jr z, .fail