Coconuts
Coconuts adds a button to your interface that smartly decides a random mount for you. If you're in Outland and have a flying mount, it will pick it! Also lets you dismount. Easy switching to a slower mount or to a ground mount if you need to.
To pick your next slowest mount, hold down (default) Shift and click the button. To pick your ground mount while in an area which allows flying and you have a flying mount, hold down (default) Alt. To dismount while on a flying mount, hold down Shift, Alt, or Ctrl. To use Holly on your mount if you have any, while mounted hold down (default) Ctrl.
The button action can also be bound to a key using WoW's key interface or by entering /kb into the chat then clicking the button and pressing the key you want bound to it.
Coconut also understands travel forms, including flying and aquatic!
Usage & Commands
The chat command is /coconuts or /ccn. Options can also be set by using WoW's Interface->Addons tab.
Options are:
- gui: Opens the GUI configurator.
- options favorFlying: Toggles if flying mounts should be favored if in an area that allows them (default: yes).
- options favorPassenger: Toggles if passenger mounts should be favored (default: yes).
- options showModifierItems: Toggles if items that modify mounts (such as Fresh Holly) should be selected when holding Ctrl while mounted (default: yes).
- options suggestOnlySoulbound: Toggles if only mounts that are soulbound to you are to be suggested for use (default: yes).
- options list: List all of your mounts.
- options refresh: Forces Coconuts to rescan for mounts in your bags.
Some options can only be set by using WoW's Interface->Addons tab. These include setting the favor flying, show modifier items, show next slowest mount, and favor passenger modifer key (Ctrl, Alt, or Shift), favorite mounts and the zone favorite.
Coconuts supports ButtonFacade, use /bf to configure the skin and color settings for the button if you have it installed.
Coconuts supports LibKeyBound, use /kb to enter key binding mode.
Coconuts's button will stick to other frames that support LibStickyFrames.
Coconuts outputs the current item it will use using LibDataBroker-1.1. Note that clicking on the item in a Broker addon will not activate the item. You must have Coconuts bound to a key to use it in a Broker addon and hide its own button.
Future Plans
- None at the moment.
This is a great addon, I look forward to the next update :)
I so do love this addon and I sincerely hope you will have time to update it again.
Only minor stuff like allowing flying mount in Wintergrasp.
Thanks a million!
Small error crept up today after minor patch.
Date: 2009-08-20 17:16:34
ID: 1
Error occured in: Global
Count: 1
Message: ..\AddOns\Coconuts\Coconuts.lua line 2252:
bad argument #1 to 'format' (string expected, got nil)
Debug:
(tail call): ?
(tail call): ?
[C]: format()
Coconuts\Coconuts.lua:2252: GetPlayersMounts()
Coconuts\Coconuts.lua:1548: OnProfileChanged()
Coconuts\Coconuts.lua:1713:
Coconuts\Coconuts.lua:1553
(tail call): ?
[C]: ?
[string "safecall Dispatcher[1]"]:9:
[string "safecall Dispatcher[1]"]:5
(tail call): ?
...\AddOns\AtlasLoot\Libs\AceAddon-3.0\AceAddon-3.0.lua:531: EnableAddon()
...\AddOns\AtlasLoot\Libs\AceAddon-3.0\AceAddon-3.0.lua:621:
...\AddOns\AtlasLoot\Libs\AceAddon-3.0\AceAddon-3.0.lua:607
[C]: LoadAddOn()
..\FrameXML\UIParent.lua:229: UIParentLoadAddOn()
..\FrameXML\UIParent.lua:252: CombatLog_LoadUI()
..\FrameXML\UIParent.lua:499:
..\FrameXML\UIParent.lua:471
Date: 2009-06-22 01:48:20
ID: 1
Error occured in: Global
Count: 1
Message: ..\AddOns\Coconuts\Coconuts.lua line 40:
Coconuts requires LibLordFarlander-SpecialEvents-Mount-4.0
Debug:
[C]: ?
[C]: error()
Coconuts\Coconuts.lua:40: in main chunk
The listed required lib is installed. Also LibDataBroker-1.1 doesn't install as disembedded through the curse client.
First error happens when I check or uncheck any option under coconuts options(main tab)...
Second comes when I check or uncheck the lock/show/hide button options....
3rd error comes when I click the refreshmounts options nothing happens at all.
coconuts errors: clicking any option throws following errors
[2009/05/31 21:31:07-388-x2]: Coconuts-3.0.166\Coconuts.lua:2576: attempt to index field 'PlayersCompanions' (a nil value)
Coconuts-3.0.166\Coconuts.lua:2692: in function
(tail call): ?:
: ?
:"safecall Dispatcher[3]":9: in function <[string "safecall Dispatcher[3]"]:5>
(tail call): ?:
AceConfigDialog-3.0-34:781: in function <...nfig-3.0\AceConfigDialog-3.0\AceConfigDialog-3.0.lua:605>
(tail call): ?:
: ?
:"safecall Dispatcher[3]":9: in function <[string "safecall Dispatcher[3]"]:5>
(tail call): ?:
AceGUI-3.0-23 (Ace3):305: in function `Fire'
...ns\Ace3\AceGUI-3.0\widgets\AceGUIWidget-CheckBox.lua:53: in function <...ns\Ace3\AceGUI-3.0\widgets\AceGUIWidget-CheckBox.lua:49>:
---
coconuts errors: Clicking show hide or lock button options
[2009/05/31 21:32:29-388-x1]: LibLordFarlander-UI-2.0-90152:193: attempt to index field 'class' (a nil value)
(tail call): ?:
: ?
:"safecall Dispatcher[2]":9: in function <[string "safecall Dispatcher[2]"]:5>
(tail call): ?:
AceConfigDialog-3.0-34:786: in function <...nfig-3.0\AceConfigDialog-3.0\AceConfigDialog-3.0.lua:605>
(tail call): ?:
: ?
:"safecall Dispatcher[3]":9: in function <[string "safecall Dispatcher[3]"]:5>
(tail call): ?:
AceGUI-3.0-23 (Ace3):305: in function `Fire'
...ns\Ace3\AceGUI-3.0\widgets\AceGUIWidget-CheckBox.lua:53: in function <...ns\Ace3\AceGUI-3.0\widgets\AceGUIWidget-CheckBox.lua:49>:
---
This with latest dismebedded LordFarlander Library
could you please add something to prefer 310% flying mounts over the 280% ones ? After all they ARE faster :D
Cheers
Right now I have 2 frequency/weight settings for flying mounts- max for all my favorite mounts and default for all the others. But it seems like once it randomly picks my flying carpet, it "sticks" on it, and this is the only mount it will summon going forward until I break the cycle by manually summoning something else.
Not the end of the world, I do like the flying carpet and I've got the workaround. But it's weird and I thought I'd mention it, any thoughts?
--Frank
Date: 2009-02-11 13:59:38
ID: 1
Error occured in: Global
Count: 1
Message: ..\AddOns\Coconuts\Coconuts.lua line 1890:
bad argument #1 to 'format' (string expected, got nil)
Debug:
(tail call): ?
(tail call): ?
[C]: format()
Coconuts\Coconuts.lua:1890: GetPlayersMounts()
Coconuts\Coconuts.lua:1267: OnProfileChanged()
Coconuts\Coconuts.lua:1406:
Coconuts\Coconuts.lua:1272
(tail call): ?
[C]: ?
[string "safecall Dispatcher[1]"]:9:
[string "safecall Dispatcher[1]"]:5
(tail call): ?
...\AddOns\AtlasLoot\Libs\AceAddon-3.0\AceAddon-3.0.lua:366: EnableAddon()
...\AddOns\AtlasLoot\Libs\AceAddon-3.0\AceAddon-3.0.lua:436:
...\AddOns\AtlasLoot\Libs\AceAddon-3.0\AceAddon-3.0.lua:422
[C]: LoadAddOn()
..\FrameXML\UIParent.lua:229: UIParentLoadAddOn()
..\FrameXML\UIParent.lua:252: CombatLog_LoadUI()
..\FrameXML\UIParent.lua:414: UIParent_OnEvent()
[string "*:OnEvent"]:1:
[string "*:OnEvent"]:1
Any plans to fix? :)
Date: 2009-01-28 17:13:48
ID: 1
Error occured in: Global
Count: 1
Message: ..\AddOns\Coconuts\Coconuts.lua line 1890:
bad argument #1 to 'format' (string expected, got nil)
Debug:
(tail call): ?
(tail call): ?
[C]: format()
Coconuts\Coconuts.lua:1890: GetPlayersMounts()
Coconuts\Coconuts.lua:1267: OnProfileChanged()
Coconuts\Coconuts.lua:1406:
Coconuts\Coconuts.lua:1272
(tail call): ?
[C]: ?
[string "safecall Dispatcher[1]"]:9:
[string "safecall Dispatcher[1]"]:5
(tail call): ?
...\AddOns\AtlasLoot\Libs\AceAddon-3.0\AceAddon-3.0.lua:366: EnableAddon()
...\AddOns\AtlasLoot\Libs\AceAddon-3.0\AceAddon-3.0.lua:436:
...\AddOns\AtlasLoot\Libs\AceAddon-3.0\AceAddon-3.0.lua:422
[C]: LoadAddOn()
..\FrameXML\UIParent.lua:229: UIParentLoadAddOn()
..\FrameXML\UIParent.lua:252: CombatLog_LoadUI()
..\FrameXML\UIParent.lua:414: UIParent_OnEvent()
[string "*:OnEvent"]:1:
[string "*:OnEvent"]:1
[code] <br />Date: 2009-01-23 11:47:16 <br />ID: 4 <br />Error occured in: Global <br />Count: 2 <br />Message: ..\AddOns\Coconuts\Coconuts.lua line 2500: <br /> attempt to get length of local 'enchantOrder' (a nil value) <br />Debug: <br /> (tail call): ? <br /> (tail call): ? <br /> (tail call): ? <br /> Coconuts\Coconuts.lua:2500: FindNextMountEnchant() <br /> Coconuts\Coconuts.lua:2302: GetPlayersMounts() <br /> Coconuts\Coconuts.lua:1549: <br /> Coconuts\Coconuts.lua:1540 <br /> [string "safecall Dispatcher[1]"]:4: <br /> [string "safecall Dispatcher[1]"]:4 <br /> [C]: ? <br /> [string "safecall Dispatcher[1]"]:13: ?() <br /> ...iCC\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:91: Fire() <br /> ...e\AddOns\Coconuts\Libs\AceEvent-3.0\AceEvent-3.0.lua:73: <br /> ...e\AddOns\Coconuts\Libs\AceEvent-3.0\AceEvent-3.0.lua:72 <br />[/code]
:/