0
@@ -12,12 +12,17 @@ local pets = {
0
-Kennel = DongleStub("Dongle-1.0"):New("Kennel")
0
+local function DoSwaps(set)
0
+ local l, g = pets[set].player, pets[set].bank
0
+ if l.num == 0 then return end
0
+ local r = math.random(g.num + 1 - i)
0
-function Kennel:Enable()
0
- self:RegisterEvent("BANKFRAME_OPENED")
0
- self:RegisterEvent("BANKFRAME_CLOSED")
0
+ PickupContainerItem(l.bag[i], l.slot[i])
0
+ PickupContainerItem(g.bag[r], g.slot[r])
0
+ table.remove(g.bag, r)
0
+ table.remove(g.slot, r)
0
------------------------------
0
-function Kennel:BANKFRAME_CLOSED()
0
- if bankopen and swapped and FuBar_CorkFu then FuBar_CorkFu:GetModule("Minipet"):ActivatePet() end
0
-function Kennel:BANKFRAME_OPENED()
0
- pets.normal.player.num = 0
0
- pets.normal.bank.num = 0
0
- pets.holiday.player.num = 0
0
- pets.holiday.bank.num = 0
0
- local bagset = (bag <= 4) and (bag >= 0) and "player" or "bank"
0
- for slot=1,GetContainerNumSlots(bag) do
0
- local itemLink = GetContainerItemLink(bag, slot)
0
- if (itemLink and pt(itemLink, "Minipet")) then
0
- local n = pets.normal[bagset].num + 1
0
- pets.normal[bagset].num = n
0
- pets.normal[bagset].bag[n] = bag
0
- pets.normal[bagset].slot[n] = slot
0
- elseif (itemLink and pt(itemLink, "Minipet - Holiday")) then
0
- local n = pets.holiday[bagset].num + 1
0
- pets.holiday[bagset].num = n
0
- pets.holiday[bagset].bag[n] = bag
0
- pets.holiday[bagset].slot[n] = slot
0
+local f = CreateFrame("frame")
0
+f:RegisterEvent("BANKFRAME_OPENED")
0
+f:RegisterEvent("BANKFRAME_CLOSED")
0
+f:SetScript("OnEvent", function(self, event, ...)
0
+ if event == "BANKFRAME_CLOSED" then
0
+ if bankopen and swapped and FuBar_CorkFu then FuBar_CorkFu:GetModule("Minipet"):ActivatePet() end
0
+ bankopen, swapped = true, false
0
+ pets.normal.player.num, pets.normal.bank.num, pets.holiday.player.num, pets.holiday.bank.num = 0, 0, 0, 0
0
+ local bagset = (bag <= 4) and (bag >= 0) and "player" or "bank"
0
+ for slot=1,GetContainerNumSlots(bag) do
0
+ local itemLink = GetContainerItemLink(bag, slot)
0
+ if (itemLink and pt(itemLink, "Minipet")) then
0
+ local n = pets.normal[bagset].num + 1
0
+ pets.normal[bagset].num, pets.normal[bagset].bag[n], pets.normal[bagset].slot[n] = n, bag, slot
0
+ elseif (itemLink and pt(itemLink, "Minipet - Holiday")) then
0
+ local n = pets.holiday[bagset].num + 1
0
+ pets.holiday[bagset].num, pets.holiday[bagset].bag[n], pets.holiday[bagset].slot[n] = n, bag, slot
0
- if pets.normal.player.num > pets.normal.bank.num then
0
- pets.normal.player, pets.normal.bank = pets.normal.bank, pets.normal.player
0
- if pets.holiday.player.num > pets.holiday.bank.num then
0
- pets.holiday.player, pets.holiday.bank = pets.holiday.bank, pets.holiday.player
0
- self:DoSwaps("normal")
0
- self:DoSwaps("holiday")
0
- if (pets.normal.player.num > 0 and pets.normal.bank.num > 0)
0
- or (pets.holiday.player.num > 0 and pets.holiday.bank.num > 0) then
0
-function Kennel:DoSwaps(set)
0
- local l, g = pets[set].player, pets[set].bank
0
- if l.num == 0 then return end
0
- local r = math.random(g.num + 1 - i)
0
+ if pets.normal.player.num > pets.normal.bank.num then pets.normal.player, pets.normal.bank = pets.normal.bank, pets.normal.player end
0
+ if pets.holiday.player.num > pets.holiday.bank.num then pets.holiday.player, pets.holiday.bank = pets.holiday.bank, pets.holiday.player end
0
- PickupContainerItem(l.bag[i], l.slot[i])
0
- PickupContainerItem(g.bag[r], g.slot[r])
0
- table.remove(g.bag, r)
0
- table.remove(g.slot, r)
0
+ if (pets.normal.player.num > 0 and pets.normal.bank.num > 0) or (pets.holiday.player.num > 0 and pets.holiday.bank.num > 0) then swapped = true end
Comments
No one has commented yet.