Compare commits

..

7 Commits

Author SHA1 Message Date
shaga d057918a1d Remove dead atlasloot.net/atlasmod.com links 2026-08-19 00:51:11 +00:00
Spit 3c229608ca add missing greymane set items and correct droprates 2026-08-14 14:11:56 +03:00
Spit af9a2c0d34 use mods provided and extended functions for links if possible 2026-08-14 13:54:02 +03:00
Spit cb49ff182c remove some tooltip source lines 2026-08-14 13:31:17 +03:00
Spit e783939c9e use variable for tooltip maximum size 2026-08-14 13:28:10 +03:00
roby-brok 1ad4c1e2a6 Tooltip: don't crash on tooltips longer than 30 lines
AddSourceLine's line buffer is pre-built for exactly 30 entries, so any
item tooltip that exceeds that dies with

  Core\Tooltip.lua:56: attempt to index field '?' (a nil value)

on every hover, and the source line is never added. Easy to hit on
servers with long set lists in the tooltip plus a tooltip-extending
addon (StatCompare and friends) -- a 6-piece set block alone adds ~10
lines. Grow the buffer on demand instead; the clear/rebuild loops
already iterate whatever size the table has.
2026-08-14 13:28:10 +03:00
roby-brok b0f7f3bf44 toc: drop seven Core entries whose files no longer exist
Core\Sets.lua, Factions.lua, WorldEvents.lua, PvP.lua, Crafting.lua,
WorldBoss.lua and Dungeons.lua are listed in the toc but are not in the
repo (their content lives under Database\ since the overhaul), so every
login prints seven "Error loading" lines -- invisible with
scriptErrors=0, but there for anyone with Lua errors enabled.
2026-08-14 10:10:14 +01:00
4 changed files with 48 additions and 32 deletions
+1 -8
View File
@@ -3,7 +3,7 @@
## Notes: Shows possible loot from dungeon bosses and other sources.
## Author: Otari (overhaul/revamp, menu changes, bugfixes/updates), Lexie (Turtle WoW fixes/updates), Pepopo, MarcelineVQ (Kara40 loot), Shagu
## LegacyAuthor: Daviesh, Pompa (Turtle WoW World Bosses), Xerron (Turtle WoW World Bosses), Gurky (Turtle WoW 1.16/1.16.1 Dungeons)
## Version: 3.4.4
## Version: 3.4.6
## SavedVariablesPerCharacter: AtlasLootCharDB
## OptionalDeps: Alphamap, AtlasLoader, LootLink, ItemSync, HewdropLib, Ace2, EquipCompare, EQCompare
@@ -40,14 +40,7 @@ Database\Menus.lua
Core\ButtonRegistry.lua
Core\TextParsing.lua
Core\Sets.lua
Core\Factions.lua
Core\WorldEvents.lua
Core\PvP.lua
Core\Crafting.lua
Core\WishList.lua
Core\Search.lua
Core\WorldBoss.lua
Core\Dungeons.lua
Core\Tooltip.lua
Core\AtlasLoot.xml
+23 -5
View File
@@ -27,13 +27,22 @@ local WrappingLines = {
}
local lines = {}
for i = 1, 30 do
local maxLines = 30
for i = 1, maxLines do
lines[i] = {}
end
local function AddSourceLine(tooltip, sourceStr)
local name = tooltip:GetName()
local numLines = tooltip:NumLines()
if numLines > maxLines then
-- the buffer is pre-built for 30 lines, but long set tooltips plus
-- tooltip-extending addons (StatCompare etc.) can exceed that
for i = maxLines + 1, numLines do lines[i] = {} end
maxLines = numLines
end
local left, right
local leftText, rightText
local leftR, leftG, leftB
@@ -69,7 +78,7 @@ local function AddSourceLine(tooltip, sourceStr)
tooltip:SetText(lines[1][1], lines[1][3], lines[1][4], lines[1][5], 1, false)
if numLines < 28 then
if numLines < maxLines then
tooltip:AddLine(sourceStr)
elseif lines[2][1] then
lines[2][1] = sourceStr.."\n"..lines[2][1]
@@ -99,7 +108,7 @@ local lastItemID, lastSourceStr
local function ExtendTooltip(tooltip)
if AtlasLootCharDB.ShowSource then
local itemID = tonumber(tooltip.itemID)
if itemID and itemID ~= 51217 then -- 51217 Fashion Coin
if itemID then
if itemID ~= lastItemID then
lastItemID = itemID
lastSourceStr = nil
@@ -229,7 +238,11 @@ local function HookTooltip(tooltip)
insideHook = true
original_SetInboxItem(self, mailID, attachmentIndex)
insideHook = false
self.itemID = GetItemIDByName(GetInboxItem(mailID))
if GetInboxItemLink then
self.itemID = IDFromLink(GetInboxItemLink(mailID, attachmentIndex))
else
self.itemID = GetItemIDByName(GetInboxItem(mailID, attachmentIndex))
end
ExtendTooltip(self)
end
@@ -282,7 +295,12 @@ local function HookTooltip(tooltip)
insideHook = true
original_SetAuctionSellItem(self)
insideHook = false
self.itemID = tonumber(GetItemIDByName(GetAuctionSellItemInfo()))
local name, texture, count, quality, canUse, price, maxStack, itemLink = GetAuctionSellItemInfo()
if itemLink then
self.itemID = IDFromLink(itemLink)
else
self.itemID = tonumber(GetItemIDByName(name))
end
ExtendTooltip(self)
end
+12 -9
View File
@@ -3620,16 +3620,19 @@ AtlasLoot_Data["AtlasLootItems"] = {
{ 61496, "INV_Crown_01", "=q1=The Greymane Crown", "=ds=#m3#", "100%" },
},
GCTrash = {
{ 61598, "INV_Bracer_13", "=q3=Wraps of the Pauper", "=ds=#s8#, #a1#", "0.0125%, 0.0338%" },
{ 61336, "INV_Gauntlets_32", "=q3=Knife Juggler Gloves", "=ds=#s9#, #a2#", "0.0125%, 0.0338%" },
{ 61597, "INV_Pants_11", "=q3=Conspirator's Trickpockets", "=ds=#s11#, #a2#", "0.0125%, 0.0338%" },
{ 61335, "INV_Shoulder_02", "=q3=Dragonbane Pauldrons", "=ds=#s3#, #a3#", "0.0125%, 0.0338%" },
{ 61339, "inv_shoulder_22", "=q3=Pauldrons of the Justicar", "=ds=#s3#, #a4#", "0.0125%, 0.0338%" },
{ 61598, "INV_Bracer_13", "=q3=Wraps of the Pauper", "=ds=#s8#, #a1#", "0.0125%" },
{ 61336, "INV_Gauntlets_32", "=q3=Knife Juggler Gloves", "=ds=#s9#, #a2#", "0.0125%" },
{ 61597, "INV_Pants_11", "=q3=Conspirator's Trickpockets", "=ds=#s11#, #a2#", "0.0125%" },
{ 61335, "INV_Shoulder_02", "=q3=Dragonbane Pauldrons", "=ds=#s3#, #a3#", "0.0125%" },
{ 61339, "inv_shoulder_22", "=q3=Pauldrons of the Justicar", "=ds=#s3#, #a4#", "0.0125%" },
{ 61337, "INV_Relics_LibramofGrace", "=q3=Libram of the Justicar", "=ds=#s16#, #e18#", "0.0125%" },
{ 61338, "INV_Staff_28", "=q3=Staff of Ushered Ruination", "=ds=#h2#, #w9#", "0.0125%" },
{ 61596, "INV_Weapon_Halberd_09", "=q3=Defender's Glaive", "=ds=#h2#, #w7#", "0.0125%" },
{ 0, "", "", "" },
{ 61337, "INV_Relics_LibramofGrace", "=q3=Libram of the Justicar", "=ds=#s16#, #e18#", "0.0125%, 0.0338%" },
{ 0, "", "", "" },
{ 61338, "INV_Staff_28", "=q3=Staff of Ushered Ruination", "=ds=#h2#, #w9#", "0.0125%, 0.0338%" },
{ 61596, "INV_Weapon_Halberd_09", "=q3=Defender's Glaive", "=ds=#h2#, #w7#", "0.0125%, 0.0338%" },
{ 61376, "inv_gauntlets_22", "=q2=Greymane Gauntlets", "=ds=#s9#, #a4#", "0.08%" },
{ 61377, "inv_boots_plate_01", "=q2=Greymane Sabatons", "=ds=#s12#, #a4#", "0.08%" },
{ 61378, "inv_pants_04", "=q2=Greymane Legplates", "=ds=#s11#, #a4#", "0.08%" },
{ 61379, "inv_bracer_14", "=q2=Greymane Vambraces", "=ds=#s8#, #a4#", "0.08%" },
},
KCMarrowspike = {
{ 83441, "INV_chest_chain_15", "=q3=Splintercage Breastplate", "=ds=#s5#, #a4#", "18%" },
+12 -10
View File
@@ -5364,7 +5364,6 @@ AtlasLoot_Data["AtlasLootSources"] = {
[51046] = AL["Hateforge Quarry"].." - "..AL["Har'gesh Doomcaller"].." (25%)",
[51047] = AL["Hateforge Quarry"].." - "..AL["Har'gesh Doomcaller"].." (25%)",
[51048] = AL["Hateforge Quarry"].." - "..AL["Har'gesh Doomcaller"].." (25%)",
[51217] = AL["Stormwind Vault"].." - "..AL["Black Bride"].." (5%)",
[51249] = AL["Feast of Winter Veil"],
[51252] = AL["Wardens of Time"].." - "..AL["Exalted"],
[51256] = AL["Tailoring"].." ("..AL["Skill:"].." 75+)",
@@ -6171,11 +6170,11 @@ AtlasLoot_Data["AtlasLootSources"] = {
[61332] = AL["Gilneas City"].." - "..AL["Dustivan Blackcowl"].." (25%)",
[61333] = AL["Gilneas City"].." - "..AL["Dustivan Blackcowl"].." (25%)",
[61334] = AL["Gilneas City"].." - "..AL["Dustivan Blackcowl"].." (5%)",
[61335] = AL["Gilneas City"].." - "..AL["Trash Mobs"].." (0.0125%, 0.0338%)",
[61336] = AL["Gilneas City"].." - "..AL["Trash Mobs"].." (0.0125%, 0.0338%)",
[61337] = AL["Gilneas City"].." - "..AL["Trash Mobs"].." (0.0125%, 0.0338%)",
[61338] = AL["Gilneas City"].." - "..AL["Trash Mobs"].." (0.0125%, 0.0338%)",
[61339] = AL["Gilneas City"].." - "..AL["Trash Mobs"].." (0.0125%, 0.0338%)",
[61335] = AL["Gilneas City"].." - "..AL["Trash Mobs"].." (0.0125%)",
[61336] = AL["Gilneas City"].." - "..AL["Trash Mobs"].." (0.0125%)",
[61337] = AL["Gilneas City"].." - "..AL["Trash Mobs"].." (0.0125%)",
[61338] = AL["Gilneas City"].." - "..AL["Trash Mobs"].." (0.0125%)",
[61339] = AL["Gilneas City"].." - "..AL["Trash Mobs"].." (0.0125%)",
[61352] = AL["Gilneas City"].." - "..AL["Genn Greymane"].." (100%)",
[61356] = AL["Leatherworking"].." ("..AL["Skill:"].." 300)",
[61357] = AL["Leatherworking"].." ("..AL["Skill:"].." 300)",
@@ -6282,9 +6281,9 @@ AtlasLoot_Data["AtlasLootSources"] = {
[61593] = AL["Stormwind Vault"].." - "..AL["Trash Mobs"].." (0.0013%)",
[61594] = AL["Stormwind Vault"].." - "..AL["Trash Mobs"].." (0.0013%)",
[61595] = AL["Stormwind Vault"].." - "..AL["Trash Mobs"].." (0.0013%)",
[61596] = AL["Gilneas City"].." - "..AL["Trash Mobs"].." (0.0125%, 0.0338%)",
[61597] = AL["Gilneas City"].." - "..AL["Trash Mobs"].." (0.0125%, 0.0338%)",
[61598] = AL["Gilneas City"].." - "..AL["Trash Mobs"].." (0.0125%, 0.0338%)",
[61596] = AL["Gilneas City"].." - "..AL["Trash Mobs"].." (0.0125%)",
[61597] = AL["Gilneas City"].." - "..AL["Trash Mobs"].." (0.0125%)",
[61598] = AL["Gilneas City"].." - "..AL["Trash Mobs"].." (0.0125%)",
[61610] = AL["Duskskitter"].." (33%)",
[61611] = AL["Duskskitter"].." (33%)",
[61612] = AL["Duskskitter"].." (33%)",
@@ -6911,7 +6910,6 @@ AtlasLoot_Data["AtlasLootSources"] = {
[41569] = AL["Dragonmaw Retreat"].." - "..AL["Web Master Torkon"].." (20%)",
[41570] = AL["Dragonmaw Retreat"].." - "..AL["Web Master Torkon"].." (20%)",
[41874] = AL["Dragonmaw Retreat"].." - "..AL["Web Master Torkon"].." (100%)",
[30040] = AL["Dragonmaw Retreat"].." - "..AL["Web Master Torkon"].." (2.5%)",
[41578] = AL["Dragonmaw Retreat"].." - "..AL["Garlok Flamekeeper"].." (25%)",
[41579] = AL["Dragonmaw Retreat"].." - "..AL["Garlok Flamekeeper"].." (25%)",
[41580] = AL["Dragonmaw Retreat"].." - "..AL["Garlok Flamekeeper"].." (25%)",
@@ -7321,4 +7319,8 @@ AtlasLoot_Data["AtlasLootSources"] = {
[54009] = AL["Poisons"].." ("..AL["Skill:"].." 1+)",
[42202] = AL["Engineering"] .." ("..AL["Skill:"].." 300)",
[33146] = AL["Engineering"] .." ("..AL["Skill:"].." 300)",
[61376] = AL["Gilneas City"].." - "..AL["Trash Mobs"].." (0.08%)",
[61377] = AL["Gilneas City"].." - "..AL["Trash Mobs"].." (0.08%)",
[61378] = AL["Gilneas City"].." - "..AL["Trash Mobs"].." (0.08%)",
[61379] = AL["Gilneas City"].." - "..AL["Trash Mobs"].." (0.08%)",
}