p3lim-wow / libprocessable Goto Github PK
View Code? Open in Web Editor NEWLibrary that lets you easily check if you can process resources
License: Other
Library that lets you easily check if you can process resources
License: Other
Version: 6
All other addons disabled: Yes.
For some reason it is not possible to iterate over C_Garrison.GetBuildings() on the PLAYER_LOGIN event. By adding print statements I've verified that C_Garrison.GetBuildings() does return a table (I did print(C_Garrison.GetBuildings()) ), but any iteration on that table seems to be completely ignored.
I tried changing the event to PLAYER_ENTERING_WORLD but that seems to suffer from the same issue.
As a result "enchantingBuilding" will always be false on initial login, even though you actually have the enchanting building. In order for the library to function correctly you need to do a /reload after logging in.
I can only imagine that Blizzard has some form of limitation in place, and if that is true then you might need to delay the iteration on C_Garrison.GetBuildings().
- What version are you using?
70300.52-Release.
There are three Legion enchantment quest items which need to be disenchanted and I thought Molinari could support them for convenience reasons. Here they are:
http://www.wowhead.com/item=137195/highmountain-armor
http://www.wowhead.com/item=137221/enchanted-raven-sigil
http://www.wowhead.com/item=137286/fel-crusted-rune
Getting an error on startup:
Date: 2018-07-23 13:29:59
ID: 1
Error occured in: Global
Count: 1
Message: ...dOns\Molinari\libs\LibProcessable\LibProcessable.lua line 246:
attempt to index local 'info' (a nil value)
Debug:
...dOns\Molinari\libs\LibProcessable\LibProcessable.lua:246:
...dOns\Molinari\libs\LibProcessable\LibProcessable.lua:237
...dOns\Molinari\libs\LibProcessable\LibProcessable.lua:284:
...dOns\Molinari\libs\LibProcessable\LibProcessable.lua:280
Locals:
professionID = 164
(for generator) = <function> defined =[C]:-1
(for state) = <table> {
1 = 590
2 = 854
3 = 577
4 = 569
5 = 553
6 = 389
7 = 426
8 = 542
}
(for control) = 2
_ = 2
categoryID = 854
info = nil
(*temporary) = <table> {
590 = <table> {
}
}
(*temporary) = <table> {
}
(*temporary) = "Blackmithing Plans"
(*temporary) = "attempt to index local 'info' (a nil value)"
professions = <table> {
164 = <table> {
}
}
lib = <table> {
professions = <table> {
}
containers = <table> {
}
GetProfessionCategories = <function> defined @Interface\AddOns\Molinari\libs\LibProcessable\LibProcessable.lua:206
GetProfessionCategoryIDByExpansion = <function> defined @Interface\AddOns\Molinari\libs\LibProcessable\LibProcessable.lua:230
HasProfession = <function> defined @Interface\AddOns\Molinari\libs\LibProcessable\LibProcessable.lua:170
ores = <table> {
}
herbs = <table> {
}
IsOpenableProfession = <function> defined @Interface\AddOns\Molinari\libs\LibProcessable\LibProcessable.lua:139
enchantingItems = <table> {
}
IsProspectable = <function> defined @Interface\AddOns\Molinari\libs\LibProcessable\LibProcessable.lua:37
IsDisenchantable = <function> defined @Interface\AddOns\Molinari\libs\LibProcessable\LibProcessable.lua:66
GetProfessionSkill = <function> defined @Interface\AddOns\Molinari\libs\LibProcessable\LibProcessable.lua:180
IsOpenable = <function> defined @Interface\AddOns\Molinari\libs\LibProcessable\LibProcessable.lua:121
GetProfessionName = <function> defined @Interface\AddOns\Molinari\libs\LibProcessable\LibProcessable.lua:194
IsMillable = <function> defined @Interface\AddOns\Molinari\libs\LibProcessable\LibProcessable.lua:17
}
AddOns:
Swatter, v7.7.6000 (SwimmingSeadragon)
AdvancedInterfaceOptions, v1.2.4
Altoholic, vr184
AntiSpamBot, v
Auctionator, v5.0.4
BankItems, v8.0.1.1
BattlePetBreedID, vr170
CandyBuckets, v8.0.0.180630
DataStore, vr65
DataStoreAchievements, vr47
DataStoreAgenda, vr27
DataStoreAuctions, vr50
DataStoreCharacters, vr42
DataStoreContainers, vr58
DataStoreCrafts, vr79
DataStoreCurrencies, vr37
DataStoreGarrisons, vr23
DataStoreInventory, vr52
DataStoreMails, vr51
DataStorePets, vr44
DataStoreQuests, vr44
DataStoreReputations, vr42
DataStoreSpells, vr32
DataStoreStats, vr31
DataStoreTalents, vr61
GarrisonMissionManager, vv55
GarrisonMissionManagerLoadOnLogin, vv1
GatherMate2, v1.42.1
LegionInvasionTimer, vv8.0.1
MapCoords, v0.28
MarcoPolo, v7.2.5
Molinari, v80000.56-Release
MountSpy, v7.3.5-2
Pawn, v2.2.21
Simulationcraft, v1.10.1
SlideBar, v7.7.6000 (SwimmingSeadragon)
StatPriority, v1.2
Stubby, v7.7.6000 (SwimmingSeadragon)
BlizRuntimeLib_enUS v8.0.1.80000 <none>
(ck=416)
80000.55-Release
1x ...dOns\Molinari\libs\LibProcessable\LibProcessable-27.lua:242: bad argument p3lim-wow/Molinari#1 to '(for generator)' (table expected, got nil)
[C]: in function `(for generator)'
...dOns\Molinari\libs\LibProcessable\LibProcessable-27.lua:242: in function <...dOns\Molinari\libs\LibProcessable\LibProcessable.lua:237>
...dOns\Molinari\libs\LibProcessable\LibProcessable-27.lua:284: in function <...dOns\Molinari\libs\LibProcessable\LibProcessable.lua:280>Locals:
(*temporary) = nil
(*temporary) = nil
(*temporary) = "table expected, got nil"
AddOns might be interested in skill levels required to disenchant/mill/prospect an item.
For example, Broker_Garbage allows to keep items for disenchanting if the required skill is within a certain range.
- What version are you using?
70100.43-Release.
- Can the issue be reproduced, and if so, how?
Holding Alt and clicking the Leystone Lockbox doesn't unlock it like the other lockboxes do.
- What version are you using?
80000.55-Release
- Can the issue be reproduced, and if so, how?
Open and attempt to craft with any profession
No error messages
I have been using what I believe to be the most recent version, 70300.53-Release, which says it is compatible with version 8.0.1
Every time I log into a character with Molinari enabled, I get the following error:
Message: Error loading Interface\AddOns\Molinari\libs\Wasabi\LibStub\LibStub.lua
Time: Wed Jun 27 10:32:43 2018
Count: 4
Also, so far I have used this fine with enchanting, but it doesn't appear to be working with prospecting or milling the new BfA materials. It still works fine with prior version materials.
If I can assist with any more info please feel free to contact me.
There is a questline for each crafting trade skill, and the Jewelcrafting one adds a prospectable quest item called Runic Core.
I propose adding support for one-click prospecting this quest item.
When players builds the enchanting hut they get a disenchanting skill of 1 that can be used when they're at said building.
Something like this could work:
local enchBuildingIDs = {93, 125, 126}
if skillRequired == 1 then
local buildings = C_Garrison.GetBuildings()
for _, building in pairs(buildings) do
if tContains(enchBuildingIDs, building.buildingID) then
-- player can disenchant this item
end
end
end
With patch 8.0 Blizzard changed two things in regards to professions and how LibProcessable works.
Both of these changes are much welcomed, but they introduced some issues.
Outland and Pandaria ores have actual skill requirements, e.g. they require a certain amount of skill in their profession category to be prospectable. As an example, Kyparite requires 25 skill in Outland Jewelcrafting to prospect.
Because of this change, for LibProcessable to be accurate, the information about a player's skill level in each category for each profession has to be collected. This very information requires the profession to (technically) be open to return any data.
So, to collect all the necessary information, LibProcessable needs to stop the UI from reacting to the professions being opened by unregistering the events that trigger the changes, then open the professions one by one and store the information, and lastly enable the UI to react to those events again.
This is how I implemented it in LibProcessable after the 8.0 patch arrived, and it worked quite well (except for some minor kinks that I could have ironed out), but a new issue arose - other addons also listen to the same events.
It is completely unfeasible for LibProcessable to keep a track of every single addon that uses these events, disable them before collecting the data, then re-enabling all of them again.
So, I've decided to leave LibProcessable "inaccurate" for those ores, and I hope one of the following two things occur to resolve this issue:
While checking the diffs between the lib version I was using to your current one (53), I noticed duplicated id used for Tiny Titanium Lockbox and Iron-Bound Junkbox of 106895, wowhead shows Tiny Titanium Lockbox as 45986. I have not tested this in game, just going by wowhead data and the fact it was duplicate key in the table which didn't look intended
tldr; line 589, key should be 45986 for Tiny Titanium Lockbox if not mistaken
I'd like to know if you think it might be possible to update the enchantBuilding flag when visiting the Garrison of someone else.
Currently LibStub("LibProcessable"):IsDisenchantable() will always return false if you don't have the building in your own Garrison and if you are not an enchanter.
I'm not sure if it is even possible without using horrible hacks. I'd like to hear if you have any ideas.
Hi p3lim, thank you for making this great addon. It is very convenient and useful. I get an error when loading it. But the function is working.
70000.38-Release
Load this addon and login to game.
`` 1x ...dOns\Molinari\libs\LibProcessable\LibProcessable-12.lua:446: attempt to call global 'GetAuctionItemClasses' (a nil value)
...dOns\Molinari\libs\LibProcessable\LibProcessable-12.lua:446: in function <...dOns\Molinari\libs\LibProcessable\LibProcessable.lua:404>
Locals:
self = {
0 =
}
event = "PLAYER_LOGIN"
(_temporary) = nil
(_temporary) = "attempt to call global 'GetAuctionItemClasses' (a nil value)"
inscriptionSkill = 0
jewelcraftingSkill = 0
enchantingSkill = 0
blacksmithingSkill = 0
lib =
LibProcessable/LibProcessable.lua
Line 9 in 5519f7b
Current build number for classic is now 11303. I usually would PR a fix but this is just silly ;)
Can you please update the build number and rebuild Molinari?
Best wishes,
lycano
(Edit: Just noticed same author :D sorry about that)
Describe the bug
LUA Error
How to reproduce
I'm not sure. It just showed on a random reload while I was diagnosing a problem with other addons.
What did you expect?
I wasn't expecting anything, as I wasn't doing anything related to enchanting/disenchanting. I was working on a transmog addon issue.
1x ...dOns\Molinari\libs\LibProcessable\LibProcessable-46.lua:94: attempt to compare number with nil
[string "@Molinari\libs\LibProcessable\LibProcessable-46.lua"]:94: in function `IsDisenchantable'
[string "@Molinari\Molinari-90000.71-Release.lua"]:150: in function <Molinari\Molinari.lua:130>
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "@TheUndermineJournal\libs\LibExtraTip\LibExtraTip.lua"]:499: in function <...TheUndermineJournal\libs\LibExtraTip\LibExtraTip.lua:493>
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: in function `SetItemByID'
[string "@MinimalArchaeology\addon\components\Main.lua"]:500: in function `KeystoneTooltip'
[string "@MinimalArchaeology\addon\components\Main.lua"]:111: in function <MinimalArchaeology\addon\components\Main.lua:110>
Locals:
self = <table> {
professionCategories = <table> {
}
HasProfession = <function> defined @Molinari\libs\LibProcessable\LibProcessable.lua:283
containers = <table> {
}
herbs = <table> {
}
IsOpenableProfession = <function> defined @Molinari\libs\LibProcessable\LibProcessable.lua:218
enchantingItems = <table> {
}
IsProspectable = <function> defined @Molinari\libs\LibProcessable\LibProcessable.lua:57
IsDisenchantable = <function> defined @Molinari\libs\LibProcessable\LibProcessable.lua:81
ores = <table> {
}
IsOpenable = <function> defined @Molinari\libs\LibProcessable\LibProcessable.lua:187
GetProfessionCategories = <function> defined @Molinari\libs\LibProcessable\LibProcessable.lua:296
IsMillable = <function> defined @Molinari\libs\LibProcessable\LibProcessable.lua:29
}
item = "|cffffffff|Hitem:108439::::::::50:62:::::::|h[]|h|r"
itemID = 108439
_ = nil
_ = nil
quality = nil
_ = nil
_ = nil
_ = nil
_ = nil
_ = nil
_ = nil
_ = nil
_ = nil
class = nil
subClass = nil
(*temporary) = 2
(*temporary) = "attempt to compare number with nil"
LE_ITEM_QUALITY_UNCOMMON = 2
LE_ITEM_QUALITY_EPIC = 4
LE_ITEM_CLASS_ARMOR = 4
LE_ITEM_CLASS_WEAPON = 2
LE_ITEM_CLASS_GEM = 3
LE_ITEM_SUBCLASS_ARTIFACT = 11
I need the category IDs for fishing so I can look up whether fishing is known and what level it's at for each zone.
See https://wow.curseforge.com/projects/fishingbuddy/issues/367
Hi there,
GetAuctionItemClasses() function is outdate and was replaced by:
GetItemClassInfo(itemClassID)
GetItemSubClassInfo(itemClassID, itemSubClassID)
also the GetItemInfo function was changed to (if you need it):
itemName, itemLink, itemRarity, itemLevel, itemMinLevel, itemType, itemSubType, itemStackCount, itemEquipLoc, itemTexture, itemSellPrice, itemClassID, itemSubClassID = GetItemInfo(itemID or "itemString" or "itemName" or "itemLink")
I also got this problem after Update for one of my addons :D
now i use this:
local Weapon = GetItemClassInfo(LE_ITEM_CLASS_WEAPON);
local Armor = GetItemClassInfo(LE_ITEM_CLASS_ARMOR);
LUA Error:
2x ...dOns\Molinari\libs\LibProcessable\LibProcessable-12.lua:446: attempt to call global 'GetAuctionItemClasses' (a nil value)
...dOns\Molinari\libs\LibProcessable\LibProcessable-12.lua:446: in function <...dOns\Molinari\libs\LibProcessable\LibProcessable.lua:404>
Locals:
self = <unnamed> {
0 = <userdata>
}
event = "PLAYER_LOGIN"
(*temporary) = nil
(*temporary) = "attempt to call global 'GetAuctionItemClasses' (a nil value)"
inscriptionSkill = 0
jewelcraftingSkill = 0
enchantingSkill = 0
blacksmithingSkill = 0
lib = <table> {
IsProspectable = <function> defined @Molinari\libs\LibProcessable\LibProcessable.lua:42
containers = <table> {
}
enchantingBuildings = <table> {
}
IsMillable = <function> defined @Molinari\libs\LibProcessable\LibProcessable.lua:22
ores = <table> {
}
IsOpenable = <function> defined @Molinari\libs\LibProcessable\LibProcessable.lua:380
IsDisenchantable = <function> defined @Molinari\libs\LibProcessable\LibProcessable.lua:323
herbs = <table> {
}
}
hasEnchantingBuilding = nil
itemClasses = <table> {
}
hope this helps!
greetings q3fuba
I believe the following two items that can be opened with lockpicking are missing:
198657
Forgotten Jewelry Box (requires 65 lockpicking skill)203743
Jostled Gurubashi Cache (requires 15 lockpicking skill)Can we please get them added? :)
By default GetSkillRequired returns "1" when quality is 2 and level is below 21.
When using the garrison enchanting building, this leads to :IsDisenhantable to return true for those items, when in fact low level items like that cannot be disenchanted at the garrison building.
The following code is the return in the garrison block of the :IsDisenchantable function code:
return skillRequired and skillRequired <= 1, skillRequired, enchantingSkill
Shouldn't it only allow a skillRequired less than (<) 1 and not less than or equal to (<=) ?
I'm asking because the item with itemID 8178 has an item level of 10 and is being reported as being disenchantable.
Doing /dump LibStub("LibProcessable"):IsDisenchantable(8178, nil, true)
gives the following return:
Dump: value=LibStub("LibProcessable"):IsDisenchantable(8178, nil, true)
[1]=true,
[2]=1,
[3]=0
Which is according to the GetSkillRequired function return, so it is not because the item is marked as "not disenchantable" by the WoW client, even if it wasn't it would still not be disenchantable in the Garrison.
Hi! Can you add picklock for mechagnomes?
For myself I did it like this:
function lib:IsOpenable(itemID)
if(type(itemID) == 'string') then
assert(string.match(itemID, 'item:(%d+):') or tonumber(itemID), 'item must be an item ID or item Link')
itemID = (tonumber(itemID)) or (GetItemInfoFromHyperlink(itemID))
end
if(IsSpellKnown(1804)) then -- Pick Lock, Rogue ability
local pickLevel = lib.containers[itemID]
return pickLevel and pickLevel <= (UnitLevel('player') * 5), 1804
else
local raceID = select(3, UnitRace("player"))
if(raceID == 37) then -- Mechagnome race
local pickLevel = lib.containers[itemID]
return pickLevel and pickLevel <= (UnitLevel('player') * 5), 312890
end
end
end
...
local isMillable, isMortar = LibProcessable:IsMillable(itemID)
local canPicklock, picklockSkillID = LibProcessable:IsOpenable(itemID)
if(isMillable and GetItemCount(itemID) >= 5) then
Molinari:Apply(itemLink, isMortar and 114942 or 51005, 1/2, 1, 1/2, isMortar)
elseif(LibProcessable:IsProspectable(itemID) and GetItemCount(itemID) >= 5) then
Molinari:Apply(itemLink, 31252, 1, 1/3, 1/3)
elseif(LibProcessable:IsDisenchantable(itemLink)) then
Molinari:Apply(itemLink, 13262, 1/2, 1/2, 1)
elseif(canPicklock) then
Molinari:Apply(itemLink, picklockSkillID, 0, 1, 1)
else
local isOpenable, keyItemID = LibProcessable:IsOpenableProfession(itemID)
if(isOpenable) then
Molinari:Apply(itemLink, keyItemID, 0, 1, 1, true)
end
end
...
First of all I realize this might be a bug with Molinari, but I wasn't sure how to tell which part of the addon is the culprit,
Describe the bug
For some reason, Redeemer's Mace which is a (very) common Shadowlands world drop BoE is not disenchantable. At least not when using Molinari. I don't know why this is, I've looked through the code and couldn't find any reason it shouldn't be disenchantable. You will come across this item quite frequently though and it always stumps me having to manually disenchant it.
How to reproduce
Acquire Redeemer's Mace and try to disenchant it with Molinari.
What did you expect?
I would expect being able to alt-click it to disenchant, but it doesn't work.
What version are you using?
Classic
Can the issue be reproduced, and if so, how?
At every login.
If there was an error message, please include it.
Message: ...dOns\Molinari\libs\LibProcessable\LibProcessable.lua:267: attempt to call global 'GetProfessions' (a nil value)
Time: Sat Feb 29 19:35:41 2020
Count: 1
Stack: ...dOns\Molinari\libs\LibProcessable\LibProcessable.lua:267: attempt to call global 'GetProfessions' (a nil value)
...dOns\Molinari\libs\LibProcessable\LibProcessable.lua:267: in function <...dOns\Molinari\libs\LibProcessable\LibProcessable.lua:253>
Locals: self = {
0 =
}
event = "SKILL_LINES_CHANGED"
(*temporary) = nil
(*temporary) = "attempt to call global 'GetProfessions' (a nil value)"
professions =
4x ...dOns\Molinari\libs\LibProcessable\LibProcessable-34.lua:267: table index is nil
...dOns\Molinari\libs\LibProcessable\LibProcessable-34.lua:267: in function <...dOns\Molinari\libs\LibProcessable\LibProcessable.lua:257>
Locals:
self = {
0 =
}
event = "SKILL_LINES_CHANGED"
_ = "General"
_ = 132219
offset = 0
numSpells = 14
(for index) = 8
(for limit) = 14
(for step) = 1
index = 8
name = "First Aid"
rank = "Apprentice"
(*temporary) =
If you feed a grey/white item to :IsDisenchantable (which would happen if you simply parse through all items in your inventory), then you receive an error similar to the following:
Message: ...sonDisenchant\libs\LibProcessable\LibProcessable.lua line 337:
attempt to compare nil with number
Debug:
[C]: ?
...sonDisenchant\libs\LibProcessable\LibProcessable.lua:337: IsDisenchantable()
...ace\AddOns\GarrisonDisenchant\GarrisonDisenchant.lua:158:
...ace\AddOns\GarrisonDisenchant\GarrisonDisenchant.lua:151
...ace\AddOns\GarrisonDisenchant\GarrisonDisenchant.lua:457:
...ace\AddOns\GarrisonDisenchant\GarrisonDisenchant.lua:384
Locals:
I was attempting to mill a bunch of the weeds I have stashed and came across quite a few that your mod isn't working with. I have tried with my normal mods on and once again with all of my mods but molinari turned off and they're still not working. It's not an issue with my inscription skill level because it's almost at max, the problem weeds are random from WoD expansion all the way back to classic weeds.
Here are my list of weeds that will not mill with your mod. (They still can be milled the "normal" way) This may not be a full list, it's just what I had in my bank. If I come across any more I will add them.
Kingsblood, Liferoot, Ghost Mushroom, Dreamfoil, Gromsblood, Sorrowmoss, Firebloom, Felweed, Netherbloom, Nightmare Vine, Dreaming Glory, Adders Tongue, Terocone, Talandra's Rose, Cinderbloom, Deadnettle, Icethorn, Fool's Cap, Rain Poppy, Snow Lily, Green Tea Leaf, Silkweed, Nagrand Arrowbloom
Update - This is also happening when trying to use prospecting on certain ores. I have a limited supply to test but so far it's not working on Black and White Trillium ore, Ghost Iron ore, Kyparite, Blackrock ore, True Iron ore.
Molinari 70200.46-Release
Message: ...dOns\Molinari\libs\LibProcessable\LibProcessable.lua:379: attempt to compare nil with number
Time: 05/02/17 20:38:04
Count: 1
Stack: (tail call): ?
[C]: ?
...dOns\Molinari\libs\LibProcessable\LibProcessable.lua:379: in function <...dOns\Molinari\libs\LibProcessable\LibProcessable.lua:378>
...dOns\Molinari\libs\LibProcessable\LibProcessable.lua:431: in function `IsOpenableProfession'
Interface\AddOns\Molinari\Molinari.lua:122: in function <Interface\AddOns\Molinari\Molinari.lua:95>
[C]: ?
Interface\AddOns\Ace3\AceHook-3.0\AceHook-3.0.lua:95: in function <Interface\AddOns\Ace3\AceHook-3.0\AceHook-3.0.lua:87>
[C]: ?
[C]: ?
[C]: ?
...AddOns\Auc-Advanced\Libs\LibExtraTip\LibExtraTip.lua:408: in function <...AddOns\Auc-Advanced\Libs\LibExtraTip\LibExtraTip.lua:402>
[C]: ?
[C]: in function `SetBagItem'
Interface\FrameXML\ContainerFrame.lua:1149: in function `ContainerFrameItemButton_OnEnter'
[string "*:OnEnter"]:1: in function <[string "*:OnEnter"]:1>
Locals: (*temporary) = true
(*temporary) = <function> defined =[C]:-1
Some items cannot be disenchanted (does this apply to other professions as well?). Examples w�ould be the the oh-so-famous Twilight Cultist Robe or the level 90 boost starting gear.
Endless Wowhead list
Hi! There are a bunch of items that are disenchantable during Enchanting quests that I think should be whitelisted for disenchanting. Example: Enchanted Raven Sigil
What version are you using?
Molinari-50300.26-Release
Can the issue be reproduced, and if so, how?
Happens randomly on login to WoW Classic server
If there was an error message, please include it.
Date: 2019-09-03 14:57:39
ID: 2
Error occured in: Global
Count: 1
Message: ...dOns\Molinari\libs\LibProcessable\LibProcessable.lua line 266:
attempt to index local 'rank' (a nil value)
Debug:
...dOns\Molinari\libs\LibProcessable\LibProcessable.lua:266:
...dOns\Molinari\libs\LibProcessable\LibProcessable.lua:257
Locals:
self = {
0 =
}
event = "SKILL_LINES_CHANGED"
_ = "General"
_ = 132219
offset = 0
numSpells = 12
(for index) = 1
(for limit) = 12
(for step) = 1
index = 1
name = "Disenchant"
rank = nil
(*temporary) =
AddOns:
Swatter, v8.2.6377 (SwimmingSeadragon)
ACP, v3.5.6
AdvancedInterfaceOptions, v1.3.2
AucAdvanced, v8.2.6385 (SwimmingSeadragon)
AucFilterBasic, v8.2.6364 (SwimmingSeadragon)
AucStatHistogram, v8.2.6366 (SwimmingSeadragon)
AucStatiLevel, v8.2.6370 (SwimmingSeadragon)
AucStatPurchased, v8.2.6367 (SwimmingSeadragon)
AucStatSimple, v8.2.6368 (SwimmingSeadragon)
AucStatStdDev, v8.2.6369 (SwimmingSeadragon)
AucUtilFixAH, v8.2.6371 (SwimmingSeadragon)
BadBoy, vv1-classic
BagBrother, v
Bagnon, v8.2.7
Bartender4, v4.8.5
BeanCounter, v8.2.6381 (SwimmingSeadragon)
CTBuffMod, v8.2.0.5
CTCore, v8.2.0.7
CTExpenseHistory, v8.2.0.1
CTLibrary, v8.2.0.5
CTMailMod, v8.2.0.5
CTPartyBuffs, v8.2.0.1
DBMCore, v1.13.5
DBMDefaultSkin, v
DBMStatusBarTimers, v
EZJunk, v1.0.0
GTFO, v4.49.2
IceHUD, v1.12.2
Mapster, v1.8.4
ModernQuestWatch, v1.0.8
Molinari, v80200.62-Release
Necrosis, v5.0
OmniCC, v8.2.4
Prat30, v3.2.31
Prat30Libraries, v
Quartz, v3.5.1
QuestFrameFixer, v1.1.1
Questie, v4.0.15 BETA
Recount, vv1.13.2b
RepHelperClassic, v1.13.2.3-release
SexyMap, vv2-classic
SpeedyAutoLoot, v2.0.10
Stubby, v8.2.6376 (SwimmingSeadragon)
SunnArt, v3.83-classic
TipTac, v19.03.31
TipTacItemRef, v19.03.31
TitanClassic, v1.0.5.11302
TitanClassicAmmo, v1.0.5.11302
TitanClassicBag, v1.0.5.11302
TitanClassicClock, v1.0.5.11302
TitanClassicGold, v1.0.5.11302
TitanClassicLocation, v1.0.5.11302
TitanClassicLootType, v1.0.5.11302
TitanClassicPerformance, v1.0.5.11302
TitanClassicRepair, v1.0.5.11302
TitanClassicVolume, v1.0.5.11302
TitanClassicXP, v1.0.5.11302
TomTom, vv11302-1.0.7
WhatsTraining, v1.7
BlizRuntimeLib_enUS v1.13.2.11302
(ck=6d1)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.