- Registered User
Member for 11 years
Last active Tue, Sep, 30 2008 14:06:02
- 0 Followers
- 8 Total Posts
- 0 Thanks
Jul 11, 2007So I looked in to it, and actually I think that probably is the best way to do it. Because of the way the set tables are built, and then interated, there's no elegant way to say "if I'm looking at slot 17, but slot 16 hasn't been handled yet, do slot 16," which is how I'd prefer to do it. Since we can't do that without overhauling set construction (or forcing ReallyWearSet() to do slot 16 first, which would be messy and mean rewriting a bit of ReallyWearSet()), the only way left is to make sure that slot 16 doesn't have a 2h weapon in it when we try to equip slot 17, which is exactly what the hack above does.Posted in: General AddOns
So, I cleaned it up a bit, and here is a revised clipping from ClosetGnome:EquipItem():
... table.insert(deequipQueue, slot) end else -- We can't equip off-hand items if we still have a 2h weapon equipped. In such an event, we should deequip the 2h weapon first. local wpnisTwoHand = self:ItemNameFromSlot(16) and ( self:GetItemEquipLoc(self:ItemNameFromSlot(16)) == "INVTYPE_2HWEAPON" ) if slot == 17 and wpnisTwoHand then PickupInventoryItem(16) local toBag, toSlot = self:LocateFreeSlot() if toBag ~= nil then PickupContainerItem(toBag, toSlot) else AutoEquipCursorItem() end end local bagNum, slotNum = self:FindItem(item) if bagNum > -1 then ...
NOTE: I'm at work, and can't actually test that code, but I'm pretty sure it should work. Just make sure it does before you commit it... I will test it over lunch (sometime after noon Pacific time), but until then you're on your own. ;)
Jul 11, 2007FYI, weapon swapping from a two-hand weapon to a one-hand weapon plus a "held in off-hand" miscellaneous item isn't working quite right (read: at all). Remember that "held in off-hand" items don't come back as INVTYPE_WEAPON, they're INVTYPE_HOLDABLE.Posted in: General AddOns
I made a hack for ClosetGnome:EquipItem based on the shield hack a few pages ago:
-- holdable change starts here... (from forum courtesy Ruldar if slot == 17 and self:ItemNameFromSlot(16) then local _,_,_,_,_,_,_,_,itemEquipLoc,_ = GetItemInfo(self:ItemNameFromSlot(16)) if itemEquipLoc == "INVTYPE_2HWEAPON" then PickupInventoryItem(16) local toBag, toSlot = self:LocateFreeSlot() if toBag ~= nil then PickupContainerItem(toBag, toSlot) else AutoEquipCursorItem() end end end -- ...and ends here
I suspect there is a better way to fix it, but I don't have the time right now. I'll look in to it tomorrow if I get a chance.
Jan 8, 2007I've found a bug with ArcHUD when trying to cast from certain macros on the BC Beta client (meaning the patch that will go live tomorrow or next Tuesday). I also posted this in trac, but I don't know if you check there.Posted in: General AddOns
To reproduce this bug:
1. Login in to the Burning Crusade Closed Beta
2. Load no add-ons but ArcHUD2 (and its dependencies)
3. Create a macro that includes the [button:X] option (I'm pretty sure this is the trick). A sample macro would be: /cast [button:2] Entangling Roots
4. Target a monster. Before casting ANY OTHER SPELLS, attempt to cast from the new macro. An action blocked error should be called for ArcHUD2, claiming that it attempted to call CastSpellByName?().
I tested this with revision 23456 of Ace2, ArcHUD2, CompostLib?, DewdropLib?, Metrognome, and TabletLib?. The error does not occur if the macro is cast as any but the initial spell against a target, or if the [button:X] option is not used in the macro.
- To post a comment, please login or register a new account.