The attached code is a modification I made to ExMatt's Fish.cs (an older version than current) to fix some issues I was having with it, add some features, and rearrange the code a bit because I am anal. If ExMatt desires, he is welcome to pillage any part of it for his use. The added features are:
Food="<food name>" - will use specified food at the appropriate time while fishing. The default is no setting, so no food will be used.
UseCordial="<true/false>" - will automatically use any hi-cordial/cordial you have in your bag whenever your GP is below the UseCordialMinGPPercent threshold. It will first attempt to use Hi-Cordials, then Coridals. The default is false.
UseCordialMinGPPercent="<0-100> - The threshold (percentage of your characters max available GP) below which cordial will be cast. The default is 50.
A quirk of the coridal functionality is, if you set the threshold too high, the bot will wind up waiting for cordial to become available. This is because BagSlot.CanUse for a cordial is always false while the bot is fishing, so when the conditions are right for cordial to be used, the code must force the bot into an idle state before it can actually use the item. If the cordial is not actually ready because it is on cooldown, the bot will not proceed until the cooldown period expires. I could find no way to determine if an item is on cooldown (something like Item.IsReady or Item.CooldownTimeRemaining), so if someone knows how to determine this, please let me know.
I have also included several tags. One of them is a modification of the FlightToPath tag that fixes the problem where it only works during the first iteration of a <While> tag. The other is a modification to NPCRepairTag, mainly because I just wanted to clean it up a bit for my purposes. Did I mention that I am anal? FYI, this repair tag will only work with NPCs that only offer repair capability (i.e., not the Mender and Merchant NPCs.) The final one, TurnInCollectibles, is my own - it attempts to automatically hand in specified collectables to the Collectable Appraiser. Because the Collectable Appraiser window is not available yet in RemoteWindows, the tag uses keystrokes to interact with the window, so you have to tell it the tag how to interact with the window. The keystrokes used are not configurable - it assumes you can use the default keypad keys it needs. The elements are:
NpcId="<NpcId> - of the Collectable Appraiser you want to use
XYZ="<x>,<y>,<z>" - coordinate of where you want the toon to stand near the Collectable Appraiser
Collectable="<collectable name>"
AppraiserWindowLineNumber="<line number>" - the line number in the Collectable Appraiser window that corresponds to the Collectable you specified
This tag will turn in EVERY specified Collectable you have until either 1) you run out of them or 2) you exceed your turn in quota for the collectable. It has been working fine for me, but use it at your own risk - don't come whining to me if it somehow destroys your collectables
Finally, the two attached fishing profiles will continuously farm Thunderbolt Eels or Tiny Axolotls at the appropriate time and locations. It assumes you have all the necessary Aetherytes and are a level 60 fisher. During the period when the collectable fish is not available, it will farm Illuminati Perch. During each loop of the collection cycle, the bot will run the toon through Idllyshire to automatically repair and turn in the target collectables. You will need to specify what bait/food you want to use, and whether or not you want to burn cordials or mooch. I find that Goblin Jig is best for Illuminati Perch (albeit a bit expensive, as the jigs will get lost at varying rates), and Brute Leech is best for the collectable fish (so you will need to manually burn your blue scrip as necessary to acquire them). You will also need to deal with turning the blue/red scrip into whatever you want. The only problem I have with these profiles is the Navigation System sometimes hangs (this is a known problem that Mastahg claims will be fixed when he rewrites the Navigation code.) When this happens, just use the movement keys to nudge the bot forward, and it will take off again.
Oh, and I just noticed the attached Thunderbolt Eel profile has disabled collecting them and is currently using the Goblin Jig bait for the eels - you will definitely want to change this (e.g, set bait to "Brute Leech", collect to "true", and useCordial to "true".) This is because at the time I posted this, I was at my red scrip quota, so I did not want it stockpiling the collectables in my inventory.
One final note: if you use Chanko and/or Agil, you will want to disable these, as they will conflict with the repairing and food eating features built into this code.
Enjoy