Windows Difference in Fishing Bubble region check between catch rate and depth

Underscore76

Cowpoke
Both uses are in FishingRod.DoFunction


For effect of bubbles on catch times:
C#:
// FishingRod.DoFunction
Rectangle fishSplashRect = new Rectangle(location.fishSplashPoint.X * 64, location.fishSplashPoint.Y * 64, 64, 64);
if (frenzy)
{
  fishSplashRect.Inflate(32, 32);
}
if (new Rectangle((int)this.bobber.X - 32, (int)this.bobber.Y - 32, 64, 64).Intersects(fishSplashRect))
{
  this.timeUntilFishingBite /= (frenzy ? 2 : 4);
  location.temporarySprites.Add(new TemporaryAnimatedSprite(10, this.bobber.Value - new Vector2(32f, 32f), Color.Cyan));
}
And for the depth check:
C#:
// FishingRod.DoFunction
bool splashPoint = false;
if (location.fishSplashPoint != null)
{
  Rectangle fishSplashRect2 = new Rectangle(location.fishSplashPoint.X * 64, location.fishSplashPoint.Y * 64, 64, 64);
  Rectangle bobberRect = new Rectangle((int)this.bobber.X - 80, (int)this.bobber.Y - 80, 64, 64);
  splashPoint = fishSplashRect2.Intersects(bobberRect);
}
o = location.getFish(this.fishingNibbleAccumulator, bait?.QualifiedItemId, this.clearWaterDistance + (splashPoint ? 1 : 0), who, baitPotency + (splashPoint ? 0.4 : 0.0), bobberTile);
this means you can get particle effects that imply the bubbles are working, but if your bobber is in the top 16/left 16 px of the tile then the depth effect will not be applied due to the 80px offset of the bobber rect.
 
Top