Decided that I don't want to use webwalking for fairy rings in a script of mine, so I made my own handler. This will efficiently use fairy rings. I gave it a few tests and didn't find any problems. If you do encounter any issue do tell me. Criticism welcome
What it does do:
Retrieve nearby fairy ring
Check for staff equipped/diary completion
Use last destination if possible
Open fairy rings for configuration if needed
Use the travel log to configure code, if the needed code is among the top (like favorited codes)
Efficiently set the code using both the clockwise and the counter-clockwise rotators
Confirm selection
Return if teleported successfully (based on animation, not location. Can be easily changed)
What it doesn't do:
Check for specific fairy ring requirements
Attempt to equip a staff, even if it's in the inventory
Find you love
Example:
FairyRing fairyTravel = new FairyRing(getBot().getMethods());
/*some code
...
*/
fairyTravel.teleTo("DIS"); //If a fairy ring is nearby it will use it and teleport to the ring near Wizards' Tower
//Alternatively:
fairyTravel.teleTo(WIZARDSTOWER); // Will do the same as using the code "DIS"
FairyRing preview:
Sleep (made not by me) preview:
WidgetActionFilter preview: