Description:

The DuckieBank is a 100% in-game, and fully automatic, guild banking system that enables a guild to share a read-only view of its guild bankers contents with all guildies. It does not monitor or currently interface with the GuildVault offered in game.

All members of the guild (with DuckieBank installed) will be able to see the guild bankers as a read-only version. DuckieBank also implements an easy-to-use request-system where guildies can request items from the banks without having to use the in-game mail-system or chat. Simply click the item you want, type an optional note, and press "Send request". The banker will receive your request whenever he/she logs on. There is no need for the banker to be online for a guildie to be able to view or update that banker's contents, or to request items from it. This is all automatic, and handled by the addon.


Features:

- No configuration needed for guildies 
- The GL (or trusted officers) controls who gets to be banker(s). This is done by assigning the rank "Banker" to the designated bankers or assigning bankers in the officer's note. (Requires relog if the banker is online when the promotion is made)
- Automatic in-game update of bank contents
- Item request-system
- Simple cost-system that enables you to charge gold, DKP, etc, for items if you want. DuckieBank can insert vendor buy/sell prices if the banker has Auctioneer installed. No need for Auctioneer for guildies in any case.
- Banker-specific notes for info to guildies. Typical use may be banker-specific rules or names of characters the banker can be reached when the banker-character is not online.
- Multiple guilds per account
- Multiple bankers per guild
- Notifies all users in the guild about availability of a new version if a user in the guild has upgraded the addon
- Can include any (or all of) the banker-character's bags, and/or gold.
- Minimap icon that will fit any-shaped minimaps for heavily modified interfaces.

The bank contents:

The contents of each banker will be spread throughout the guild in a steady pace. When a banker updates its data (presses the "Send" button), its data will be transmitted to all other DuckieBanks that are online at that specific time. The banker can now log off, as there at this time are others with the new data. When another guildie logs on, one of the DuckieBanks with the fresh data will eventually retransmit the new data.
This means that the update of banker data is not instant. So when you have a fresh install, it may take some time before your addon receives banker data. The most important factor in the update delay is the amount of DuckieBank addons that are installed in your guild, and the more members running DuckieBank, the quicker the update.

When your addon has received data for a banker once, each following update will be much quicker as your addon now knows about the banker and will regularly request updates. As World of Warcraft servers are not very fond of addons spamming channels with large amounts of data, mechanisms has been built in to prevent any transmissions unless there actually is newer data available.


The request-system:

First of all, the request-system is under total control of each banker. It's only requests, and each banker may handle that as he/she sees fit - be it sending an item by mail, deleting the request without sending anything, send a mail to the requester with a question, or just leave the request there to be handled the next time he/she logs on.

The implemented request-system works much like a post-system, where any guildie can send a request for one or more items. By left-clicking on an item, that item will be set up in the request-box in the main DuckieBank interface. Subsequent left-clicks on the same item increases the number of items requested, while shift-left-click decreases the number. This means that it is possible to request more items than the bank have of a specific item. The banker can then chose to leave those requests until the bank has the requested number of items.

To avoid request-spamming by guildies, it is strongly advisable to set up some guild-rules about this. The banker-notes can function as an ideal place to put those rules or guidelines.


Requirements:

DuckieBank comes bundled with the addon DuckNet. This addon is needed to run the data network. Think of it as a converter between WoW chat channels and a data network.


Installation Configuration:

Extract the folders in the archive to the ''Interface\AddOns\'' location. Log in to you account and make sure both DuckieBank and DuckNet is enabled for the characters that is to use the addon. That is all.

If you are the GL or a trusted officer of your guild and want to start using DuckieBank, you must assign the banker-job to one or more characters. Use one of the following methods to enable your bankers:

Preferred:
-Make a new guild-rank called "Banker" and assign that to the characters that is to function as guild banks. This new rank does not need any privileges at all. All though being allowed to chat will come in handy for a banker. It is important that only bankers running DuckieBank be made this rank within the guild, as they will be automatically listed in the bankers list.

Alternative (May cause data to be mixed if one account has toons in separate guilds, this does not happen with the Banker Rank system)
-Assign bankers by use of officer's notes. In the officer's note of a banker, type "#DB:B" anywhere. For this to work, the banker must have permission to read the officer's notes. Write-permission is not needed.

With this done, those characters' bank (and optionally their bags) will be made public read-only to any other member of the guild with the DuckieBank addon installed.


Monitoring banker requests:

The GL or a trusted officer can assign one or more of your characters to be "Monitors". These characters do not have banker clearance, but will be able to see if a request has been placed and to which banker. The Monitor will not be able to see who made the request or what was requested - only which banker it is meant for.
This feature is primarily meant for other characters played by the banker user so they can see if there are placed requests for them while they are online on other characters. The feature is enabled by typing "#DB:M" in the officer's note. The Monitor will in that case need access to read the officer's note.
Assigned Monitor will be able to see, in the minimap-button tooltip, a count of requests made for bankers since the last time a character were logged off on the same account.
Please note that the "#DB:M" and "#DB:B" settings are mutually exclusive. They can not be used together on the same character.

Slash command options:
/db help  will display help on commands & version
/db open  will open the bank window
/db resetpos  resets DuckieBanks window positions
/db debug  toggles debug mode

Banker options:

There are several banker-specific option available in the options-window from the banker interface.

Within the banker window, bankers will see two buttons  Banker & Send.

Send  requests your banker to send a update of its contents to the network

Banker  Gives you access to the banker control method, here you can set some options as well as review requests.

Banker specific commands:
/db killall  erases DuckieBanks local database 
/db money on/off  toggles if the bankers money will be displayed in the bank inventory
/db stack  toggles vendor prices multiplied by stack volumes
/db bag  view bag stauts
/db bag on/off  toggles if toons bags are included in bank data
/db bag<1-4> - toggles which bags are included in bank data
/db send will request the banker transmit its data

How to test with your guild:

1. Install DuckieBank on at least two accounts in the same guild.
2. Make one of them banker as explained in ''Installation''. (Requires relog of the banker character if it is online when promoted to banker)
3. Go to a major city with the banker character and open its bank. Make sure there are items in the bank.
4. Open DuckieBank (minimap icon) and press ''Send''. A few seconds later the message "Sending..." will appear. When transmission is done, the non-banker character will get a message about received banker data.

How to quickly test the automatic update:

1. Make a change in the banker-character's bank. Do '''not''' press ''Send''.
2. Log the non-banker character off and then back on.
3. Wait 30-40 seconds.

These steps requires that you have done the first steps so that the non-banker character's addon previously has seen the banker.


Issues and compatibilities:

Bag-modifying addons:
Even though support for bag-modifying addons have been strengthened a lot as of DuckieBank v2.40, you just never know with which addon the problem will arise again. If DuckieBank will not include your WoW-bank in its contents, try switching off any bag modifier you may have and go visit your WoW-bank again. This is only a potential problem for banker characters. Other characters on the same account will not have this problem.

Important notes about moving bankers between guilds:
Due to a bug within the blizzard / WoW API, if a banker changes guilds, after quiting the first guild they MUST relog before joining the new guild.  Failure to do so will result in data between the guilds being 'split' or mixed between guilds. This is NOT a bug in DuckieBank but in WoWs API itself.  DuckieBank/Ducknet use the built in Guild Data channel, a hidden special channel to allow guild based addons to communicate.  There is a known issue in WoW where if a toon leaves one guild, and joins another, they will end up being in BOTH guilds data channels.  This again can be avoided by logging out after quiting the guild your leaving and before joining the new one.

Guild Wide Resets:
In extremely rare circumstances, it is possible that the guildbanker data can become incorrect or corrupted. There are two methods to fix this should it occur.

Best method:
-With as many members/bankers online as possible  have everyone type /db resetall 

Other Methods:
-Have all members delete their World Of Warcraft\WTF\<account>\SavedVariables\DuckieBank.lua files (Wow MUST be closed when this is done)  It is most important that all bankers do this around the same time to prevent bad data from being sent back out onto the network.


If you need help or have a question, you can open a ticket on our curse gaming page @ www.curse.com  search for WoW Addons  and for duckieBank.

If you wish to request new features or report bugs please do so by opening an issue at our development site. (please do not request support on this site as it is for development only)
http://duckiebank.googlecode.com/


License Information:

This software falls under the MIT License Model:

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files(the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 

