Kernic

Just my toughts.

Almost Automatic Fishing in Destiny 2

Almost automatic fishing in Destiny 2 - tips and tricks for the fishing event. How to get maximum rewards with minimal effort. A short guide for efficient fishing.

🔊 Read out blogpost
📥 Download MP3

Fishing is a popular feature in more and more MMOs. At least for the developers. With little effort, players are tied to the game for a while. A time in which they just wait for a trigger—a fish biting—and then press a key or solve a mini-game.

It’s fun for a bit, but boring over a longer period. But when great rewards are tied to fishing, it can get annoying. Either I don’t go to the water, or I miss out on the rewards. This is exactly what was introduced in Destiny 2 with the Season of the Deep. Catch fish, turn in the fish, get rewards and progress (for more rewards). But in the long run, it’s just a boring reaction game.

Unless, of course, you automate the fishing fun with AutoHotkey. I described how to install and set up AutoHotkey in the post “Using the right characters with AutoHotkey”. The script mentioned there is the exact fishing script I want to briefly introduce to you here.

You still shouldn’t be too far from your computer, at least on Nessus. If the fishing spot disappears for a public event, you’ll be standing in toxic water and die after a few seconds. Additionally, you’ll be kicked for being AFK after a while.

But just copying and running a script would be boring. So for those interested, here’s a brief explanation of how it works:

At the beginning, basic settings for handling pixels and mouse movements are set. These are relative to the current location, making the resolution irrelevant for some parts of the script. The DELETE key is then set as the trigger, and the Destiny 2 window is focused. From then on, the actual program runs in a loop until it is paused with the PageUp key, terminated with the End key, or closed via the interface.

But what happens in the loop? First, we specify coordinates. These are the coordinates where the symbol for pressing the E key is located for a perfect catch, which reels in the line. PixelSearch monitors this area for color changes. When a large part of the area takes on the color of the button, the individual actions are executed. E is pressed to reel in the fish, a sound is played, and then the line is cast again with a longer press of E. In between, I’ve packed in a few “unnecessary” actions to counteract an AFK kick. That’s the whole secret behind it.

The script below is designed for a resolution of 1920x1080; the coordinates must be adjusted for other resolutions.

CoordMode, Pixel, Relative
CoordMode, Mouse, Relative
Menu, Tray, Icon, shell32.dll, 14

Delete::
WinActivate, Destiny 2

Loop {
  upperLeftX := 878
  upperLeftY := 727
  lowerRightX := 898
  lowerRightY := 747
  PixelSearch, X, Y, %upperLeftX%, %upperLeftY%, %lowerRightX%, %lowerRightY%, 0x333333, 0, fast
  if(ErrorLevel=0) {
    Send, e
    SoundPlay, %A_WinDir%\Media\ding.wav
    Sleep, 3250
    send, c
    Sleep, 250
    Send {e down}
    Sleep, 1500
    Send {e up}
    }

  else { 
    }
  }
return

PgUp::Pause
End::ExitApp