ItemRack

This is a mod to make swapping equipment easier through popout slot menus, equip slot buttons, gear sets and automated swaps.

__ Quick Start Guide __

Minimap button:
* Right-click the minimap button to open options or create sets
* Left-click the minimap button to choose a set
* Shift-click the minimap button to unequip the last set equipped
* Alt-click the minimap button to toggle events on/off

Dockable buttons:
* Alt+click slots on the character sheet to create/remove buttons
* Alt+click yourself in the character sheet to create/remove a set button
* Alt+click the created buttons to toggle their auto-queue status
* Shift+drag buttons to break them apart if they're docked to each other
* Drag the menu's border around to dock it to a different side of buttons
* Right-click the menu's border to rotate the menu
* Size, alpha, spacing, etc are in options

Creating/equipping sets:
* You create sets in the Sets tab after right-clicking the minimap button
* Select slots for the set, choose a name and icon and click Save
* Once a set is saved, there are several ways to equip it:
1. Left-click the minimap button and choose the set
2. Mouseover a set button you've created (Alt+click yourself in character sheet)
3. Use a key binding you define in the set ("Bind Key" button)
4. In macros with /itemrack equip setname
5. In events or scripts that use EquipSet("setname")

Popout menus:
* Click an item or set in a menu to equip it
* Shift+click a set in a menu to unequip it
* Alt+click an item in a menu to hide/unhide it
* Hold Alt as you mouseover a slot to show all hidden items

While at a bank:
* Items/sets in the bank have a blue border.
* Selecting an item or set that's in the bank will pull it from the bank to your bags.
* Selecting an item or set that's not in the bank will attempt to put it all into the bank.

In the unlikely event that another mod (or default UI in the future) uses these function names, you can use their long version ItemRack.EquipSet(), ItemRack.UnequipSet(), etc. This mod only commandeers the shortened names if they appear to be unused.

__ Events __

2.2 (re)introduces events. These are scripts to automatically equip and unequip gear as things happen in game.

To use an event:
1. In the 'Sets' tab, create or make sure you have a set you'd like to equip when the event happens.
2. In the 'Events' tab, click the red ? icon beside the event you want to use.
3. Choose the set for this event.
4. Ensure the event has a check beside it.

As events are enabled, a separate process watches for those events and equips (and unequips if chosen) as they happen.

If you want to create or edit an event, there are four types of events:

Buff: These events equip gear as you gain buffs. ie, Evocation, Drinking and being on a mount.
Stance: These events equip gear when you change stances or forms. ie, Battle Stance, Moonkin Form, Shadowform
Zone: These events equip gear when you're in one of a list of zones. ie, the PVP event includes all arena and BG maps.
Script: For those with lua knowledge, you can create your own event based on a game event. A couple examples are in the default events.

When dealing with events, it's good to keep some things in mind:
* You'll get the most predictable behavior by having sets that don't overlap. If you're a warrior with a Tanking, DPS and PVP set, consider not including weapons in those sets. If you decide to make an event to swap in a 2H when you go into Berserker Stance and a 1h+shield when you go into Defensive Stance, you won't step on the toes of events that swap in PVP gear in a BG/arena or a tuxedo in a city.
* A gold gear icon on the minimap button (and on the sets button if you've created one) means that events are enabled. If you decide you want to temporarily shut down all events, Alt+click the minimap button or the sets button. (You can disable events in options also)
* For non-English users, you might want to edit the events that have English text within them. I try to keep it locale-independant when possible (ie, warrior and most druid stances use the numbers instead of names), but you'll never enter "Stormwind City" on a deDE client for the city event.
* Script Events do not have a "set" defined to them like other events do. They need to EquipSet("setname") explicitly. Its set button will always be the macro keys icon.
* Advanced users of 1.9x may notice the lack of a delay option in scripted events. I've decided to pull this down into the scripting system to streamline the event process. For now, you can use ItemRack.CreateTimer and ItemRack.StartTimer defined in ItemRack.lua.

__ New in 2.95 - By Kharthus __

* TOC update for 6.1 patch

__ New in 2.94 - By Kharthus __

* Properly remove disabled events

__ New in 2.93 - By Kharthus __

* Added support for bonus stats in WoD (Thanks Gello)

__ New in 2.92 - By Kharthus __

* Fixed black and white buttons and gear icons

__ New in 2.91 - By Kharthus __

* Code cleanup for 6.0.2

__ New in 2.90 - By Kharthus __

* Fixed helm/cloak hiding

__ New in 2.89 - By Kharthus __

* TOC update for 6.0.2 patch

__ New in 2.88 - By Kharthus __

* TOC update for 5.4 patch

__ New in 2.87 - By Kharthus __

* New option for Hide the ItemRack buttons during pet battles

__ New in 2.86 - By Kharthus __

* Hide the ItemRack buttons during pet battles

__ New in 2.85 - By Kharthus __

* TOC update for 5.2 patch

__ New in 2.84 - By Kharthus __

* Fixed Monk off-hands

__ New in 2.83 - By Kharthus __

* TOC update for 5.1 patch

__ New in 2.82 - By Kharthus __

* Fixed dual spec events

__ New in 2.81 - By Kharthus __

* Attempt to fix GlyphUI problem

__ New in 2.8 - By Kharthus __

* Updates for MoP

- Change log up to this version removed from hosting site and archived in Change Log.txt

Originally posted by Hawksy I would really really like an option (it can be off by default) to disable any swapping into or out of the bank when I happen to change gear while I have the bank open.

Oh yes please! I've done the same thing many times over the years and it's frustrating to have to hunt all the items down and put them back in your bags.

One thing I also really liked about closet gnome was the tooltip mod which told you which sets your items were associated with - very handy when you have many different sets of gear in your bank or bags.

I would really really like an option (it can be off by default) to disable any swapping into or out of the bank when I happen to change gear while I have the bank open.

I have previously edited your code to do this disabling, but sometimes when I update ItemRack I forget and then get frustrated with much of my gear swapped into open slots in the bank. It then takes me quite a time trying to find them and put them back into my bags again.

This option would really make my life easier.

Added: By the way, commenting out the four lines associated with BANKFRAME_CLOSED and BANKFRAME_OPENED seems to be all that I need to do.

Dunno mb it's already fixed but cant find it in changelog at first sight.
So here's bug... When i'm trying to equip BOE something with ItemRack enabled, popup dialog asking should i bind it or not is missing and as result i'm getting that slot stuck

is it possible to change the popup menu to be horizonal instead of vertical? I prefer to have the ItemRack bar vertically and prefer to have the selection menu to be the opposite of the bar
I'm not sure I've described this very well, so I've made a little visual aid

Hey there: been using this mod for ages and ages and it is incredibly helpful for my PvP/Arena experience, so thank you.

I recently updated this mod, and have been re-creating my sets and such, and the only portion I am utterly stumped on is the dockable menu.

When I used to use it, I had three floating buttons:

1.) Unhidden Gear Sets
2.) My Main Hand Weapon
3.) My Idol Slot

On mouseover, each pulls up options of other gear sets, weapons, or Idols.

My problem is this: I've been able to pull out a dockable button for the Gear sets without a problem, but as for the specific Item slots: I've had not an ounce of luck. Any amount of Alt+Clicking said slots on my character screen in the attempt to create a button produces no results at all. If you could give me any tips/pointers, I'd really appreciate. I've read up on all teh documentation and have spent the past 3 hours trying to figure out what I'm doing wrong with no results or headway, and it's incredibly frustrating, especially since it is so crucial to me in Arena.

Originally posted by biggpapa any plans to delay swapping items until after a channeling spell ends? i tried to do the change myself and it didnt work :-(

I've been playing with AfterCast, trying to delay calling the various /itemrack commands. Channeled stuff in general just isn't being "caught"; I can't even delay a test /cheer let alone a gear swap. So it might not be ItemRack.

Can you post a screenshot of a tooltip of one of these items in your UI when it's not appearing in the menu? (Anyone else who has this problem also)

re events on mining nodes: you can script an event upon a message that you need higher skill to mine something, but there is no in-game event like there is for skinning when you're over a node. You can however script an event to use a timer.

re switching at health: you can script an event on health also.

re unequipping sometimes not working: how stuff is unequipped will be changing. there's a minor change on the wotlk beta version (which won't work on live) that should help i'll see if I can go back once a current project is done.

re evocation: weapon swaps can't happen during channelling now, this is different from the big change (likely to fix an exploit to resurrect /stopcasting as a mana saver)

re expanding 'Except in PVP instances' to all instances: that sounds like a good idea.

I'm not certain of next update. I really want to fix trinketmenu and the &!)*$&!!)*@ scaling problems it has before I focus on anything big.