The issue is the old code basically relied on the water's surface acting as a solid "floor".
If you look at the code what it does is cast out z + 10 above you and tries to find the bestz (hoping to hit the water surface). It then subtracts a small amount and hopes that the bobber is in the water.
I have the info in the maps to fix this so they don't have to be regenerated but it's not currently coded in.
For now the "RodZ = zone->zonemap->FindBestZ(dest, nullptr) + 4;" hack makes it work for *most* pools of water but I need to go back and recode the maps so we can do it as intended.
|