diff --git a/CauldronMain.lua b/CauldronMain.lua
index 3d5b57d..689d5a3 100644
--- a/CauldronMain.lua
+++ b/CauldronMain.lua
@@ -404,14 +404,18 @@ function Cauldron:OnBagUpdate(event, bagid)
local counts = Cauldron:ReagentCount(item);
local amount = math.min(counts.has, intItem.amount);
local str = string.format("%s: %s: %d/%d", L["Intermediate"], item, amount, intItem.amount);
- UIErrorsFrame:AddMessage(str, 0.0, 0.9, 0.4, 86, 3);
+ if amount <= intItem.amount then
+ UIErrorsFrame:AddMessage(str, 0.0, 0.9, 0.4, 86, 3);
+ end
else
local rItem = CauldronQueue:GetReagentItem(queue, item);
if rItem then
local counts = Cauldron:ReagentCount(item);
local amount = math.min(counts.has, rItem.amount);
local str = string.format("%s: %s: %d/%d", L["Reagent"], item, amount, rItem.amount);
- UIErrorsFrame:AddMessage(str, 0.0, 0.9, 0.0, 86, 3);
+ if amount <= rItem.amount then
+ UIErrorsFrame:AddMessage(str, 0.0, 0.9, 0.0, 86, 3);
+ end
end
end
diff --git a/Instructions.txt b/Instructions.txt
new file mode 100644
index 0000000..e91baba
--- /dev/null
+++ b/Instructions.txt
@@ -0,0 +1,206 @@
+== Summary ==
+
+An enhanced tradeskill addon. Cauldron provides:
+* a better view of your tradeskills than the default;
+* more sorting and filtering options;
+* the ability to mark skills as a favorite, and shows in reagent tooltips that the reagent is need for that favorite;
+* a queuing system that can be arbitrarily ordered, and displays all the intermediate items and reagents required to make the desired items;
+* and a shopping list that allows you to mark which items need to retrieved from alts, and who they need to be sent to, with the option to automatically buy needed items when visiting vendors/merchants.
+
+== Release Notes ==
+
+=== r177 ===
+
+* Russian localization!
+* Added an increment count button to the queue.
+* Added a filter option to show only achievement-related skills.
+* Made the intermediate queue sort items that can be made immediately to the top.
+
+== Instructions ==
+
+Cauldron is a replacement for the default tradeskill/profession window provided by Blizzard. Here are the instructions on how to use Cauldron.
+
+=== Main Interface ===
+
+The main interface for Cauldron is made up of a double-width window separated into two major sections and a set of widgets for managing the skill list. When a tradeskill/profession is opened by clicking on its button, Cauldron will open its window as a replacement for the standard interface, and hide the standard interface. (If you wish to suppress Cauldron and use the regular interface, see the instructions below.)
+
+The Cauldron window is movable; you can grab the title bar and move it around anywhere on the UI. It will remember its position and appear there the next time it is opened, even across logins.
+
+==== Profession Info ====
+
+Above the queue on the right side of the window is a bar showing your character's progress in the profession. The progress bar displays a number of important details of the profession:
+
+* The name of the profession;
+* The number of skills known in the profession;
+* The current and maximum skill level for the profession.
+
+==== Buttons ====
+
+At the bottom of the window are a number of buttons similar to the buttons that appear in the standard interface. From left to right, the buttons are:
+
+* "Queue All": Clicking this button causes the selected skill to be placed in the queue the number of times that appear in the bracketed value next to the skill name. (See "The Skill List" below for a description of these bracketed values.)
+* "Create All": Clicking this button causes the selected skill to be executed immediately, according to the value in brackets next to the skill name.
+* Quantity: This text box and corresponding arrow buttons allow you to select the number of times a skill will be performed or queued when clicking either the "Create" or "Queue" button. The left arrow button will decrease the value in the box, and right arrow will increase it.
+* "Create": Click this button will execute the currently selected skill. This will not affect the queue, and items acquired from performing this skill will not decrease the corresponding item count in the main queue, if it is there.
+* "Queue": Clicking this button will place the currently selected skill in the skill list in the queue, according to the number that appears in the Quantity box. If the item is already in the queue, the amount queued will be added to what's already there.
+* "Process": Clicking this button will cause Cauldron to try to execute the appropriate skill according to what's in the queue. See below for the logic behind how Cauldron performs this function.
+* "Clear": Clicking this button will clear the current queue of all items.
+* "Close": Clicking this button will close the window.
+
+===== Processing the Queue =====
+
+Cauldron tries to process items in the queue in an intelligent fashion. The following logic is applied when determining the next item to process:
+
+* If the first item in the main queue can be crafted, that skill will be performed.
+* If the first item in the main queue can't be crafted, the first item in the intermediate queue that can be crafted will be performed.
+
+Intermediate items are prioritized automatically to match up with the item in the main queue that requires them, unless the item can be crafted right now, in which case it is placed at the top of the intermediate list.
+
+==== The Skill List ====
+
+On the left side of the Cauldron window is the list of skills for the profession that is being used. Unlike the standard interface, which divides the skill view into a list of 8 skills and a detail section, Cauldron displays the entire list of skills in a single list, allowing each skill detail to be exposed. This allows you to view the details of more than one skill at a time, which can be useful for comparing reagent requirements, etc. The skill list also shows the icon for the item it makes, allowing you to position the mouse over each one and display the item's tooltip.
+
+Each row in the skill list is made up of the following items:
+
+* A disclosure button that will show or hide the details of the skill;
+* The icon of the item that the skill will produce;
+* The name of the skill;
+* The category of the skill;
+* A cooldown timer for the skill, if appropriate;
+* A checkbox for marking the skill as a "favorite."
+
+The skill list can also be shown in a compact view, using smaller item icons and hiding the category and cooldown information. This allows more skills to be displayed in the viewable area of the list.
+
+In addition to displaying the name of the skill in the skill list, a couple values might also appear next to the name in square brackets ("[]"). If the value "[A]" appears next to the name of the skill, then the skill has been identified as being needed for an unfinished achievement.
+
+The value that appears next to the skill name might also be a bracketed number or set of numbers. A single number means that the skill has all the reagents required to craft the item one or more times immediately. This is similar to the standard tradeskill interface. A set of numbers separated by a slash (e.g., "[0/4]") means the following: the first number represents the number of times the item can be crafted now (like a single bracketed number); the second number is the number of times Cauldron thinks the item can be crafted if you only have to acquire vendorable reagents, such as thread, spices, etc.
+
+==== The Queue ====
+
+On the right side of the Cauldron window is the queue. The queue display is divided into three sections: the main queue, a list of intermediate items that need to be crafted, and the list of reagents required to make the desired item.
+
+===== The Main Queue =====
+
+The main queue is shown at the top of the queue display, under a section header with the text "In order to make:". This is the list of items that you wish to craft using one or more of the professions your character knows.
+
+Each row in the main queue is made up of the following items:
+
+* The icon of the item that will be crafted, with the number of times it will be performed;
+* The name of the item, colored according to its difficulty;
+* The name of the profession that must be open to craft the item;
+* A group of buttons that allow you to manage the item in the queue.
+
+The buttons that appear have the following functions:
+
+* The plus (+) button will increase the number of times the skill will be performed when the queue is processed.
+* The minus (-) button will decrease the number of times the skill will be performed when the queue is processed. Decreasing this count to zero will remove the item from the queue.
+* The X button will remove the item from the queue entirely.
+* The up-arrow button will increase the priority of the item, moving it above items that have a lower priority. Shift-clicking this button will move the item to the top of the list.
+* The down-arrow button will decrease the priority of the item, moving it below items that have a higher priority. Shift-clicking this button will move the item to the bottom of the list.
+
+===== The Intermediate Queue =====
+
+The intermediate queue is shown in the middle of the queue display, under a section header with the text "You first have to make:". This is the list of items that will have to be crafted first in order to make the primary item that is queued.
+
+A plus (+) button appears at the far right of each item in this list that allows you to add the item to the shopping list. Each time you click this button, the number required is added to the shopping list, adding to any that currently exist in the shopping list. Shift-clicking this button will replace the number required in the shopping list with the number needed from here.
+
+===== The Reagent List =====
+
+The reagent list is shown at the bottom of the queue display, under a section header with the text "You will need:". This is the list of items that will have to be acquired in order to make items in the main or intermediate queues.
+
+A plus (+) button appears at the far right of each item in this list that allows you to add the item to the shopping list. Each time you click this button, the number required is added to the shopping list, adding to any that currently exist in the shopping list. Shift-clicking this button will replace the number required in the shopping list with the number needed from here.
+
+==== Skill List Management ====
+
+At the top of the left side of the Cauldron window, above the skill list, are the skill list management widgets. The following widgets are available:
+
+===== Filters =====
+
+The following filters are available. Some are toggled filters, while others are mutually-exclusive to other items.
+
+* "Reset filters": this will cause all filters in this list to be reset to their default values.
+
+The "View" section contains:
+
+* "Compact": Selecting this item will toggle the normal or compact view setting.
+* "Favorites": Selecting this item will toggle whether Cauldron shows all skills or only skills that are marked favorite.
+
+The "Sort" section contains (all items in this section are mutually-exclusive):
+
+* "Default": Selecting this item will cause the skill list to be sorted according to the standard interface, i.e., grouped by category and sorted alphabetically within each category.
+* "Alphabetically": Selecting this item will cause the skill list to be sorted alphabetically.
+* "By difficulty": Selecting this item will cause the skill list to be sorted according to difficulty level, i.e., optimal (orange), then medium (yellow), then easy (green), then trivial (grey).
+* "By item level": Selecting this item will cause the skill list to be sorted according to item level, with higher values at the top and lower values at the bottom.
+* "By required level": Selecting this item will cause the skill list to be sorted according to required level, with higher values at the top and lower values at the bottom.
+
+The "Difficulty" section contains:
+
+* "Optimal": Selecting this item will toggle whether skills that are optimal (orange) are displayed in the list.
+* "Medium": Selecting this item will toggle whether skills that are medium (yellow) are displayed in the list.
+* "Easy": Selecting this item will toggle whether skills that are easy (green) are displayed in the list.
+* "Trivial": Selecting this item will toggle whether skills that are trivial (grey) are displayed in the list.
+
+The "Reagents" section contains (all items in this section are mutually-exclusive):
+
+* "Normal": Selecting this item causes all skills to appear in the list, with respect to other selections in the filter list.
+* "Have all": Selecting this item causes only skills that have all required reagents to appear in the list.
+* "Have key": Selecting this item causes only skills that have all non-vendorable items to appear in the list.
+* "Have any": Selecting this item causes only skills that have at least all of one reagent to appear in the list.
+
+===== Search =====
+
+Typing in this box will cause the skill list to show only items that match the text. For example, typing "axe" will cause Cauldron to display items that contain the word "axe" in the skill name or reagent names.
+
+This box also allows you to type in a single number or range of numbers that will display skills that match by item level or level required for use.
+
+Placing a tilde ("~") before the number will cause Cauldron to display items whose required level for use are within 2 levels above or below. For example, "~73" will display items that require the character to be between level 71 and 75 to use the item.
+
+Typing a range of numbers, i.e., "60-69", will cause Cauldron to display items whose required level is between the two numbers, inclusive. This example would display items whose required level is at least 60 and no higher than 69.
+
+You can also place an "i" at the end of a single number or number range in order to make Cauldron look at item level instead of required level. For example, if you want to find an item of level 200, type "200i" in the search box, and items whose level is 200 will be shown in the skill list. This works for ranges as well; e.g., "187-213i".
+
+===== Categories =====
+
+This dropdown widget will display the categories for items in the skill list, such as explosives, guns, etc. By default, all categories are shown. Clicking an item in this list will cause all other categories to be de-selected, and the clicked category to be selected. Shift-clicking a particular category will cause that category's check mark to be toggled on or off.
+
+===== Slots =====
+
+This dropdown widget will display the slots for items in the skill list, such as leg, chest, wrist, etc. By default, all slots are shown. Clicking an item in this list will cause all other slots to be de-selected, and the clicked slot to be selected. Shift-clicking a particular slot will cause that slot's check mark to be toggled on or off.
+
+=== Shopping List Interface ===
+
+The shopping list displays items that are needed by certain characters in order to make something that is in their particular queue. The same shopping list is displayed for all characters on a particular realm.
+
+The shopping list window is a separate window from the main Cauldron interface. It will initially appear near the right side of the screen, somewhere below the minimap. It can be moved and resized, and will remember its position and size between logins. To resize the shopping list window, grab the resize handle in the bottom right corner of the window and drag it to where you would like. You can close the shopping list by clicking on the X button in the upper right corner.
+
+Items in the shopping list are divided into sections for each character. If a character places one or more items in the shopping list, those items appear under that character's name, with the amount that that character needs. There is also an X button to the far right of that item; clicking that button will remove that item from the list.
+
+Items in the shopping list can appear in a number of different colors, indicating something about the item and the current character. Normally, items appear in white. This means that the current character does not have the item in question. If the item appears in green, then the current character has at least the required number of items in his/her inventory. If the item appears in teal, the current character has *some* of that particular item. If the item appears in the purple, the current character has at least *some* of the item in his/her bank. If the item appears in orange, the current character has *some* of the item in his/her mail.
+
+The shopping list contents are automatically managed when the character requesting the item gains items in his/her inventory. The item count will be adjusted (or the item removed) if the character acquires that item by removing it from the bank, mail, guild bank, etc.
+
+Some items are also automatically added to the shopping list, such as vendor items (thread, spices, etc.), when a skill that requires them is placed in the queue.
+
+=== Slash Commands ===
+
+The slash command "/cauldron" is made available for managing Cauldron. The following options may be used:
+
+==== /cauldron shoppinglist ====
+
+This command will display the shopping list window.
+
+==== /cauldron enable ====
+
+This command will enable Cauldron, causing it to appear instead of the standard tradeskill interface. Use this command if you have previously disabled Cauldron and wish to re-enable it.
+
+==== /cauldron disable ====
+
+This command will disable Cauldron. When Cauldron is disabled, the standard tradeskill interface will appear when opening a profession instead of the Cauldron window. This option is persistent across logins, and will require you to use the "enable" command to re-enable Cauldron.
+
+==== /cauldron reset ====
+
+This command will cause Cauldron to purge all of its internal data structures, forgetting everything it knows about all character professions, the queue, the state and attributes of the window, etc., basically putting Cauldron back to the way it was as if you had first installed it. The purpose of this command is to allow you to put Cauldron back to a sane state if something is drastically wrong. This might also be necessary if you have upgraded Cauldron from an earlier version where the data structures have changed.
+
+=== Miscellaneous ===
+
+It is possible to temporarily disable the main Cauldron window when you are opening a profession. You can do this by holding down both the shift and control key while clicking on the desired profession button. This "disabled" behavior will last until the tradeskill window is closed, and revert to its normal behavior the next time a profession is opened.
\ No newline at end of file