# TFishingHandler TFishingHandler is a full color fishing bot that is highly customizable. - - - ## TFishingHandler.Setup ```pascal procedure TFishingHandler.Setup(); ``` Resets TFishingHandler to the non fishing state. This will: - Pause TFishingHandler.Timer; - Reset TFishingHandler.CurrentSpot; - Set TFishingHandler.IsFishing to False; - - - ## TFishingHandler.Reset ```pascal procedure TFishingHandler.Reset(); ``` Resets TFishingHandler to the non fishing state. This will: - Pause TFishingHandler.Timer; - Reset TFishingHandler.CurrentSpot; - Set TFishingHandler.IsFishing to False; - - - ## TFishingHandler.GetMMShoreLine ```pascal function TFishingHandler.GetMMShoreLine(): TPointArray; ``` Get the shore lines on the minimap. Example: ```pascal ShowOnClient(TFishingHandler.GetMMShoreLine()); ``` - - - ## TFishingHandler.GetMSShoreLine ```pascal function TFishingHandler.GetMSShoreLine(): TPointArray; ``` Get the shore lines on the mainscreen. Example: ```pascal ShowOnClient(TFishingHandler.GetMSShoreLine()); ``` - - - ## TFishingHandler.FindWaterDirection ```pascal function TFishingHandler.FindWaterDirection(): TRectangle; ``` Finds the adjacent tile that is directly close to the player that has water. Example: ```pascal ShowOnClient(TFishingHandler.FindWaterDirection(), False); ``` - - - ## TFishingHandler.FindSpot ```pascal function TFishingHandler.FindSpot(out atpa: T2DPointArray; waitTime: Int32 = 350): Boolean; function TFishingHandler.FindSpot(): Boolean; overload; ``` Find fishing spots on the mainscreen. Optionally return at ATPA of the found spots. Example: ```pascal var atpa: T2DPointArray; begin if TFishingHandler.FindSpot(atpa) then //TFishingHandler.FindSpot() returns true/false. ShowOnClient(atpa); end; ``` - - - ## TFishingHandler.WaitSpot ```pascal function TFishingHandler.WaitSpot(out atpa: T2DPointArray; waitTime: Int32 = 350): Boolean; function TFishingHandler.WaitSpot(): Boolean; overload; ``` Wait for fishing spots on the mainscreen. Optionally return at ATPA of the found spots. Example: ```pascal var atpa: T2DPointArray; begin if RSFishingHandler.WaitSpot(atpa) then //TFishingHandler.FindSpot() returns true/false. ShowOnClient(atpa); end; ``` - - - ## TFishingHandler.SpotMoved ```pascal function TFishingHandler.SpotMoved(out atpa: T2DPointArray): Boolean; function TFishingHandler.SpotMoved(): Boolean; overload; ``` Check if TFishingHandler.CurrentSpot moved. Example: ```pascal WriteLn TFishingHandler.SpotMoved(); ``` - - - ## TFishingHandler._StoppedFishing ```pascal function TFishingHandler._StoppedFishing(): Boolean; ``` Internal helper method to check for quick things that guarantee us we are not fishing anymore. - - - ## TFishingHandler.CheckFishing ```pascal function TFishingHandler.CheckFishing(out atpa: T2DPointArray): Boolean; function TFishingHandler.CheckFishing(): Boolean; overload; ``` Check if we are still fishing. This function could give false positives but it's extremely unlikely. To determine if we are still fishing it does the following: - Check if TFishingHandler.CurrentSpot (which is the last spot we clicked) has moved. - Check if the inventory is full. - Check if we leveled up. - Check if TFishingHandler.Timer has reached it's end. The time lasts anywhere between 40 seconds and 70 seconds randomly and it's reset everytime this is called and we earned XP. Example: ```pascal WriteLn TFishingHandler.CheckFishing(); ``` - - - ## TFishingHandler.FacingWater ```pascal function TFishingHandler.FacingWater(): Boolean; ``` Check if we have water directly north, west, south or east of us. Example: ```pascal WriteLn TFishingHandler.FacingWater(); ``` - - - ## TFishingHandler.ClickSpot ```pascal function TFishingHandler.ClickSpot(out atpa: T2DPointArray): Boolean; function TFishingHandler.ClickSpot(): Boolean; overload; ``` Click the closest fishing spot to the player and switches TFishingHandler to "IsFishing". We can check if we are still fishing with TFishingHandler.CheckFishing(). Example: ```pascal TFishingHandler.ClickSpot(); ```