This is how I have it set up.
Code:
<?xml version="1.0" encoding="utf-8"?>
<!--
Fishing Profile
Author: Sycho
Version 1.0
-->
<!--User Configuration-->
<!DOCTYPE Profile [
<!--//////////////////////////////////-->
<!--Fishing-->
<!--Cannot do more then one at a time unless they use the same bait-->
<!--//////////////////////////////////-->
<!ENTITY Cloud_Cutter "0"><!--Hoverworm-->
<!ENTITY Finger_Shrimp "0"><!--Lugworm-->
<!ENTITY Hammerhead_Shark "0"><!--Steel Jig-->
<!ENTITY Megalodon "0"><!--Rat Tails-->
<!ENTITY Navigators_Dagger "0"><!--Rat Tails-->
<!ENTITY Northern_Pike "0"><!--Topwater Frog-->
<!ENTITY Razor_Clam "0"><!--Rat Tails-->
<!ENTITY Rothlyt_Oyster "0"><!--Rat Tails-->
<!ENTITY Silver_Shark "0"><!--Lugworm-->
<!ENTITY Takitaro "0"><!--Streamer-->
<!ENTITY Titanic_Sawfish "1"><!--Lugworm-->
<!--//////////////////////////////////-->
<!--//////////////////////////////////-->
<!--Teleport-->
<!ENTITY TeleportLoc "Limsa Lominsa"> <!--Name of location to teleport to-->
<!ENTITY TeleportID "8"> <!--ID of the above location-->
<!--//////////////////////////////////-->
]>
<!--End User Configuration-->
<Profile>
<Name>Fishing Profile</Name>
<KillRadius>50</KillRadius>
<!--User Configuration-->
<CodeChunks>
<CodeChunk Name="Fisher">
<![CDATA[
ChatManager.SendChat("/gs change 19");
await Buddy.Coroutines.Coroutine.Sleep(2000);
]]>
</CodeChunk>
</CodeChunks>
<!--End User Configuration-->
<Order>
<!--//////////////////////////////////////-->
<!--Fishing-->
<!--//////////////////////////////////////-->
<If Condition="not HasAtLeast(4997, &Northern_Pike;) and HasAtLeast(2624, 1)">
<If Condition="Core.Me.CurrentJob != ClassJobType.Fisher">
<RunCode Name="Fisher"/>
<WaitTimer WaitTime="5"/>
</If>
<If Condition="not IsOnMap(155)">
<TeleportTo Name="Camp Dragonhead" AetheryteId="23" />
<WaitTimer WaitTime="10"/>
</If>
<!-- Bait to use: Topwater Frog -->
<Fish Mooch="0" Condition="not HasAtLeast(4997, &Northern_Pike;) and HasAtLeast(2624, 1)">
<FishSpots>
<FishSpot XYZ="-301.2175, 242.5202, 30.957" Heading="1.649999976" />
<FishSpot XYZ="-298.8162, 242.2437, 24.40533" Heading="1.350000023" />
<FishSpot XYZ="-295.1096, 242.3337, 19.77519" Heading="1.090000033" />
<FishSpot XYZ="-292.0454, 242.8962, 14.91272" Heading="1.330000042" />
<FishSpot XYZ="-286.5479, 243.4696, 8.58987" Heading=".990000009" />
</FishSpots>
</Fish>
<WaitTimer WaitTime="20"/>
</If>
<!--Next Fishing Area-->
<If Condition="not HasAtLeast(5040, &Cloud_Cutter;) and HasAtLeast(2605, 1)">
<If Condition="Core.Me.CurrentJob != ClassJobType.Fisher">
<RunCode Name="Fisher"/>
<WaitTimer WaitTime="5"/>
</If>
<If Condition="not IsOnMap(155)">
<TeleportTo Name="Camp Dragonhead" AetheryteId="23" />
<WaitTimer WaitTime="10"/>
</If>
<!-- Bait to use: Hoverworm -->
<Fish Mooch="0" Condition="not HasAtLeast(5040, &Cloud_Cutter;) and HasAtLeast(2605, 1)">
<FishSpots>
<FishSpot XYZ="-372.7961, 198.9543, -319.9451" Heading="2.759999990" />
<FishSpot XYZ="-378.1296, 197.7048, -325.0131" Heading="2.720000028" />
<FishSpot XYZ="-387.1585, 194.8633, -334.1573" Heading="2.420000076" />
<FishSpot XYZ="-399.9873, 192.4837, -333.7528" Heading="3.220000028" />
<FishSpot XYZ="-415.0255, 198.2323, -335.2788" Heading="3.049999952" />
</FishSpots>
</Fish>
<WaitTimer WaitTime="20"/>
</If>
<!--Next Fishing Area-->
<If Condition="not HasAtLeast(4893, &Hammerhead_Shark;) and HasAtLeast(2616, 1)">
<If Condition="Core.Me.CurrentJob != ClassJobType.Fisher">
<RunCode Name="Fisher"/>
<WaitTimer WaitTime="5"/>
</If>
<If Condition="not IsOnMap(138)">
<TeleportTo Name="Aleport" AetheryteId="14" />
<WaitTimer WaitTime="10"/>
</If>
<!-- Bait to use: Steel Jig -->
<Fish Mooch="0" Condition="not HasAtLeast(4893, &Hammerhead_Shark;) and HasAtLeast(2616, 1)">
<FishSpots>
<FishSpot XYZ="-247.8341, -42.20121, 53.79335" Heading="4.550000190" />
<FishSpot XYZ="-246.7112, -42.26444, 49.04966" Heading="4.070000171" />
<FishSpot XYZ="-242.0617, -42.20016, 45.53512" Heading="4.309999942" />
<FishSpot XYZ="-246.4241, -42.2358, 19.43209" Heading="4.829999923" />
<FishSpot XYZ="-240.3248, -42.2803, 10.84222" Heading="3.920000076" />
</FishSpots>
</Fish>
<WaitTimer WaitTime="20"/>
</If>
<!--Next Fishing Area-->
<If Condition="not HasAtLeast(4882, &Navigators_Dagger;) and HasAtLeast(2591, 1)">
<If Condition="Core.Me.CurrentJob != ClassJobType.Fisher">
<RunCode Name="Fisher"/>
<WaitTimer WaitTime="5"/>
</If>
<If Condition="not IsOnMap(138)">
<TeleportTo Name="Aleport" AetheryteId="14" />
<WaitTimer WaitTime="10"/>
</If>
<MoveTo Name="Brewer's Beacon" Distance="1" XYZ="443.9388, 14.61832, 449.64" />
<RunCode Name="Dismount"/>
<WaitTimer WaitTime="3"/>
<!-- Bait to use: Rat Tails -->
<Fish Mooch="0" Condition="not HasAtLeast(4882, &Navigators_Dagger;) and HasAtLeast(2591, 1)">
<FishSpots>
<FishSpot XYZ="445.1449, 14.61815, 464.2222" Heading="1.259999990" />
<FishSpot XYZ="425.0905, 15.02298, 464.9742" Heading="4.739999771" />
<FishSpot XYZ="426.4035, 14.85764, 469.1375" Heading="5.610000133" />
<FishSpot XYZ="430.5117, 14.75647, 471.367" Heading="6.039999961" />
<FishSpot XYZ="436.9968, 14.77718, 469.3714" Heading="0.360000014" />
<FishSpot XYZ="441.9909, 14.81671, 465.9439" Heading="0.460000008" />
</FishSpots>
</Fish>
<WaitTimer WaitTime="20"/>
<RunCode Name="EnableMount"/>
</If>
<!--Next Fishing Area-->
<If Condition="not HasAtLeast(4881, &Rothlyt_Oyster;) and HasAtLeast(2591, 1)">
<If Condition="Core.Me.CurrentJob != ClassJobType.Fisher">
<RunCode Name="Fisher"/>
<WaitTimer WaitTime="5"/>
</If>
<If Condition="not IsOnMap(138)">
<TeleportTo Name="Aleport" AetheryteId="14" />
<WaitTimer WaitTime="10"/>
</If>
<!-- Bait to use: Rat Tails -->
<Fish Mooch="2" Condition="not HasAtLeast(4881, &Rothlyt_Oyster;) and HasAtLeast(2591, 1)">
<FishSpots>
<FishSpot XYZ="296.9852, -33.6836, 290.0983" Heading="4.809999942" />
<FishSpot XYZ="296.9899, -27.45605, 257.1923" Heading="4.699999809" />
<FishSpot XYZ="282.1735, -24.9952, 245.0189" Heading="0.019999999" />
<FishSpot XYZ="266.5778, -25.00004, 266.1663" Heading="0.409999996" />
<FishSpot XYZ="248.0264, -25.00004, 258.9949" Heading="5.289999961" />
<FishSpot XYZ="230.3984, -24.99062, 245.0335" Heading="1.100000001" />
<FishSpot XYZ="222.3044, -32.22779, 276.2818" Heading="1.580000042" />
<FishSpot XYZ="222.295, -33.4974, 289.3461" Heading="1.5" />
</FishSpots>
</Fish>
<WaitTimer WaitTime="20"/>
</If>
<!--Next Fishing Area-->
<If Condition="not HasAtLeast(4884, &Razor_Clam;) and HasAtLeast(2591, 1)">
<If Condition="Core.Me.CurrentJob != ClassJobType.Fisher">
<RunCode Name="Fisher"/>
<WaitTimer WaitTime="5"/>
</If>
<If Condition="Core.Player.ClassLevel > 15">
<If Condition="not IsOnMap(140)">
<TeleportTo Name="Horizon" AetheryteId="17" />
<WaitTimer WaitTime="10"/>
</If>
</If>
<!-- Bait to use: Rat Tails -->
<Fish Mooch="0" Condition="not HasAtLeast(4884, &Razor_Clam;) and HasAtLeast(2591, 1)">
<FishSpots>
<FishSpot XYZ="-357.0104, 16.28369, -135.2461" Heading="6.150000095" />
<FishSpot XYZ="-352.0737, 16.02403, -134.8164" Heading="6.150000095" />
<FishSpot XYZ="-346.3284, 16.22647, -132.3408" Heading="5.760000228" />
<FishSpot XYZ="-335.3701, 13.9835, -112.4349" Heading="4.730000228" />
<FishSpot XYZ="-324.357, 13.9835, -113.7365" Heading="1.580000042" />
</FishSpots>
</Fish>
<WaitTimer WaitTime="20"/>
<If Condition="Core.Player.ClassLevel < 16">
<LogMessage Message="Your current class level does not meet the minimum level of 16 needed to fish for Razor Claims."/>
<LogMessage Message="Skipping and continuing to next task."/>
</If>
</If>
<!--Next Fishing Area-->
<If Condition="not HasAtLeast(4924, &Titanic_Sawfish;) and HasAtLeast(2585, 1)">
<If Condition="Core.Me.CurrentJob != ClassJobType.Fisher">
<RunCode Name="Fisher"/>
<WaitTimer WaitTime="5"/>
</If>
<If Condition="Core.Player.ClassLevel > 40">
<If Condition="not IsOnMap(140)">
<TeleportTo Name="Horizon" AetheryteId="17" />
<WaitTimer WaitTime="10"/>
</If>
<MoveTo Name="Cape Westwind" Distance="5" XYZ="-402.4691, 31.2419, -721.1496" />
<RunCode Name="Dismount"/>
<WaitTimer WaitTime="3"/>
<!-- Bait to use: Lugworm -->
<While Condition="not HasAtLeast(4924, &Titanic_Sawfish;) and HasAtLeast(2585, 1)">
<Fish Mooch="2" Stealth="True" Condition="IsTimeBetween(9,15) and HasAtLeast(2585, 1)">
<FishSpots>
<FishSpot XYZ="-566.0597, 53.33505, -734.635" Heading="6.239999771" />
<FishSpot XYZ="-572.2094, 53.33505, -734.1207" Heading="6.139999866" />
<FishSpot XYZ="-578.0904, 53.34382, -738.3093" Heading="5.190000057" />
<FishSpot XYZ="-583.7248, 53.30873, -745.5491" Heading="5.019999980" />
</FishSpots>
</Fish>
<WaitTimer WaitTime="20"/>
<If Condition="IsTimeBetween(15,24) or IsTimeBetween(0,9)">
<WaitWhile Condition="IsTimeBetween(15,24) or IsTimeBetween(0,9)" />
</If>
</While>
</If>
<WaitTimer WaitTime="20"/>
<RunCode Name="EnableMount"/>
<If Condition="Core.Player.ClassLevel < 41">
<LogMessage Message="Your current class level does not meet the minimum level of 41 needed to fish for Titanic Sawfish."/>
<LogMessage Message="Skipping and continuing to next task."/>
</If>
</If>
<!--Next Fishing Area-->
<If Condition="not HasAtLeast(4903, &Silver_Shark;) and HasAtLeast(2585, 1)">
<If Condition="Core.Me.CurrentJob != ClassJobType.Fisher">
<RunCode Name="Fisher"/>
<WaitTimer WaitTime="5"/>
</If>
<If Condition="Core.Player.ClassLevel > 35">
<If Condition="not IsOnMap(137)">
<TeleportTo Name="Costa Del Sol" AetheryteId="11" />
<WaitTimer WaitTime="5"/>
</If>
</If>
<!-- Bait to use: Lugworm -->
<Fish Mooch="1" Condition="not HasAtLeast(4903, &Silver_Shark;) and HasAtLeast(2585, 1)">
<FishSpots>
<FishSpot XYZ="557.7746, 8.612097, 647.8525" Heading="1.07" />
<FishSpot XYZ="571.5334, 8.612101, 627.876" Heading="0.97" />
<FishSpot XYZ="588.2607, 8.613007, 611.7361" Heading="0.69" />
<FishSpot XYZ="604.4154, 8.614275, 598.0984" Heading="0.71" />
<FishSpot XYZ="620.7599, 8.614272, 584.4503" Heading="0.7" />
</FishSpots>
</Fish>
<WaitTimer WaitTime="20"/>
<If Condition="Core.Player.ClassLevel < 36">
<LogMessage Message="Your current class level does not meet the minimum level of 36 needed to fish for Silver Sharks."/>
<LogMessage Message="Skipping and continuing to next task."/>
</If>
</If>
<!--Next Fishing Area-->
<If Condition="not HasAtLeast(4871, &Finger_Shrimp;) and HasAtLeast(2585, 1)">
<If Condition="Core.Me.CurrentJob != ClassJobType.Fisher">
<RunCode Name="Fisher"/>
<WaitTimer WaitTime="5"/>
</If>
<If Condition="not IsOnMap(134)">
<TeleportTo Name="Summerford Farms" AetheryteId="52" />
<WaitTimer WaitTime="10"/>
</If>
<!-- Bait to use: Lugworm -->
<Fish Mooch="1" Condition="not HasAtLeast(4871, &Finger_Shrimp;) and HasAtLeast(2585, 1)">
<FishSpots>
<FishSpot XYZ="-266.9185, 41.89373, -180.0316" Heading="4.099999904" />
<FishSpot XYZ="-271.5029, 42.7417, -174.9924" Heading="4.389999866" />
<FishSpot XYZ="-272.8207, 43.92111, -169.358" Heading="4.920000076" />
<FishSpot XYZ="-269.8036, 43.85372, -164.3278" Heading="6.190000057" />
<FishSpot XYZ="-253.9524, 38.90133, -160.8764" Heading="5.860000133" />
</FishSpots>
</Fish>
<WaitTimer WaitTime="20"/>
</If>
<!--Next Fishing Area-->
<If Condition="not HasAtLeast(5028, &Takitaro;) and HasAtLeast(2627, 1)">
<If Condition="Core.Me.CurrentJob != ClassJobType.Fisher">
<RunCode Name="Fisher"/>
<WaitTimer WaitTime="5"/>
</If>
<If Condition="not IsOnMap(153)">
<TeleportTo Name="Quarrymill" AetheryteId="5" />
<WaitTimer WaitTime="10"/>
</If>
<!-- Bait to use: Streamer -->
<Fish Mooch="0" Condition="not HasAtLeast(5028, &Takitaro;) and HasAtLeast(2627, 1)">
<FishSpots>
<FishSpot XYZ="657.6678, 21.65929, 71.68061" Heading="5.179999828" />
<FishSpot XYZ="634.4926, 21.68449, 53.05449" Heading="0.389999985" />
<FishSpot XYZ="615.4807, 21.6231, 53.21303" Heading="0.200000002" />
<FishSpot XYZ="594.0208, 21.64056, 59.72655" Heading="0.879999995" />
</FishSpots>
</Fish>
<WaitTimer WaitTime="20"/>
</If>
<!--Next Fishing Area-->
<If Condition="not HasAtLeast(4923, &Megalodon;) and HasAtLeast(2591, 1)">
<If Condition="Core.Me.CurrentJob != ClassJobType.Fisher">
<RunCode Name="Fisher"/>
<WaitTimer WaitTime="3"/>
</If>
<If Condition="not IsOnMap(137)">
<TeleportTo Name="Costa Del Sol" AetheryteId="11" />
<WaitTimer WaitTime="5"/>
</If>
<UseTransport NpcId="1003585" InteractDistance="2" DialogOption="1" XYZ="607.4304, 11.62379, 392.9306" />
<!-- Bait to use: Rat Tails -->
<Fish Mooch="3" Condition="not HasAtLeast(4923, &Megalodon;) and HasAtLeast(2591, 1)">
<FishSpots>
<FishSpot XYZ="876.0427, 19.24, 157.5336" Heading="0.920000016" />
<FishSpot XYZ="869.0851, 22.2411, 167.177" Heading="0.349999994" />
<FishSpot XYZ="860.2756, 22.24, 166.1311" Heading="5.559999942" />
<FishSpot XYZ="858.97, 22.25, 155.2787" Heading="4.139999866" />
<FishSpot XYZ="866.115, 19.24129, 148.5619" Heading="3.890000104" />
</FishSpots>
</Fish>
<WaitTimer WaitTime="20"/>
</If>
<!--End Fishing-->
<TeleportTo Name="&TeleportLoc;" AetheryteId="&TeleportID;" />
</Order>
<CodeChunks>
<CodeChunk Name="Dismount">
<![CDATA[ ff14bot.Managers.Actionmanager.Dismount();]]>
</CodeChunk>
<CodeChunk Name="EnableMount">
<![CDATA[ ff14bot.Settings.CharacterSettings.Instance.UseMount = true;]]>
</CodeChunk>
</CodeChunks>
</Profile>