vanilla-wow-addons – Rev 1
?pathlinks?
if (not Nurfed_General) then
local items = Nurfed_Items:New();
Nurfed_General = {};
Nurfed_General.mounts = {
18243,
13328,
2411,
18247,
18244,
18241,
8595,
13332,
5656,
15290,
5872,
13333,
5655,
13335,
13329,
15277,
5864,
18794,
18795,
18793,
15292,
13321,
13334,
12351,
18245,
1041,
5668,
5665,
19029,
1134,
5663,
18796,
18798,
18797,
1132,
13327,
12354,
2414,
18791,
8563,
13331,
18248,
1133,
8630,
18242,
12302,
8633,
12303,
8632,
8631,
8629,
18766,
18767,
18902,
13086,
19030,
18788,
18786,
18777,
18787,
18772,
18789,
18790,
18776,
19872,
18773,
18785,
18778,
18774,
19902,
15293,
13322,
18246,
8588,
13317,
8586,
8591,
8592,
13326,
5873,
12353,
21176,
};
Nurfed_General.aqmounts = {
21176,
21324,
21323,
21218,
21321,
};
Nurfed_General.useablemounts = {};
Nurfed_General.useableaqmounts = {};
Nurfed_General.randmount = false;
function Nurfed_General:New()
local object = {};
setmetatable(object, self);
self.__index = self;
return object;
end
function Nurfed_General:repair(limit, inv)
limit = tonumber(limit);
local money = GetMoney();
local g = math.floor(money / COPPER_PER_GOLD);
if (g < limit) then
return;
end
local repairbill = 0;
local repairAllCost, canRepair = GetRepairAllCost();
if (canRepair) then
repairbill = repairbill + repairAllCost;
RepairAllItems();
end
if (inv ~= 0) then
ShowRepairCursor();
for bag = 0,4,1 do
for slot = 1, GetContainerNumSlots(bag) , 1 do
local hasCooldown, repairCost = GameTooltip:SetBagItem(bag,slot);
if (InRepairMode() and (repairCost and repairCost > 0)) then
UseContainerItem(bag,slot);
repairbill = repairbill + repairCost;
end
end
end
HideRepairCursor();
end
if (repairbill > 0) then
local gold = floor(repairbill / (COPPER_PER_SILVER * SILVER_PER_GOLD));
local silver = floor((repairbill - (gold * COPPER_PER_SILVER * SILVER_PER_GOLD)) / COPPER_PER_SILVER);
local copper = mod(repairbill, COPPER_PER_SILVER);
DEFAULT_CHAT_FRAME:AddMessage("|cffffffffSpent|r |c00ffff66"..gold.."g|r |c00c0c0c0"..silver.."s|r |c00cc9900"..copper.."c|r |cffffffffOn Repairs.|r");
end
end
function Nurfed_General:itemswitch(item, slotnum)
local bag, slot = items:getslot(item);
if (bag and slot) then
if (not CursorHasItem()) then
PickupContainerItem(bag, slot);
if (slotnum) then
PickupInventoryItem(slotnum);
else
AutoEquipCursorItem();
end
end
end
end
function Nurfed_General:updatemount()
self.useablemounts = {};
for k, v in self.mounts do
local bagnum, slotnum = items:getslot(v);
if (bagnum and slotnum) then
local i = table.getn(self.useablemounts) + 1;
table.setn(self.useablemounts, i);
self.useablemounts[i] = { itemid = v, bag = bagnum, slot = slotnum };
end
end
end
function Nurfed_General:updateaqmount()
self.useableaqmounts = {};
for k, v in self.aqmounts do
local bagnum, slotnum = items:getslot(v);
if (bagnum and slotnum) then
local i = table.getn(self.useableaqmounts) + 1;
table.setn(self.useableaqmounts, i);
self.useableaqmounts[i] = { itemid = v, bag = bagnum, slot = slotnum };
end
end
end
function Nurfed_General:getmount()
local i, bufftex, mounttable;
local _, eclass = UnitClass("player");
for i = 0 , 20, 1 do
bufftex = GetPlayerBuffTexture(i);
if (bufftex and (string.find(bufftex, "_Mount_", 1, true) or string.find(bufftex, "_QirajiCrystal_", 1, true))) then
if (not eclass == "HUNTER") then
CancelPlayerBuff(i);
return nil;
else
if (not string.find(bufftex, "_JungleTiger", 1, true)) then
CancelPlayerBuff(i);
return nil;
end
end
end
end
if (GetZoneText() == "Ahn'Qiraj") then
mounttable = self.useableaqmounts;
else
mounttable = self.useablemounts;
end
if (table.getn(mounttable) == 0) then
self:updatemount();
self:updateaqmount();
end
local count = table.getn(mounttable);
if (count ~= 0) then
local mount = math.random(count);
local item = mounttable[mount];
if (item) then
itemLink = GetContainerItemLink(item.bag, item.slot);
if (itemLink) then
_, itemID = items:linkdecode(itemLink);
if (itemID == item.itemid) then
return item.bag, item.slot;
else
table.remove(mounttable, mount);
end
else
table.remove(mounttable, mount);
end
end
end
return nil;
end
end
Generated by GNU Enscript 1.6.5.90.