small fixes for the npc ids update
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
--> global name declaration
|
||||
|
||||
|
||||
_ = nil
|
||||
_detalhes = LibStub("AceAddon-3.0"):NewAddon("_detalhes", "AceTimer-3.0", "AceComm-3.0", "AceSerializer-3.0", "NickTag-1.0")
|
||||
|
||||
|
||||
local version, build, date, tocversion = GetBuildInfo()
|
||||
|
||||
_detalhes.build_counter = 9213
|
||||
@@ -15,12 +15,12 @@
|
||||
_detalhes.realversion = 145 --core version, this is used to check API version for scripts and plugins (see alias below)
|
||||
_detalhes.APIVersion = _detalhes.realversion --core version
|
||||
_detalhes.version = _detalhes.userversion .. " (core " .. _detalhes.realversion .. ")" --simple stirng to show to players
|
||||
|
||||
|
||||
_detalhes.BFACORE = 131 --core version on BFA launch
|
||||
_detalhes.SHADOWLANDSCORE = 143 --core version on Shadowlands launch
|
||||
|
||||
|
||||
Details = _detalhes
|
||||
|
||||
|
||||
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
--> initialization stuff
|
||||
local _
|
||||
@@ -36,12 +36,14 @@ do
|
||||
|
||||
--[=[
|
||||
Added an option to change your own bar color.
|
||||
Added 'Ignore this Npc' into the Npc list under the spell list section.
|
||||
Bookmark window now uses the same scale than the options panel.
|
||||
Class Color window now uses the same scale than the options panel.
|
||||
If not casted on the player itself Power Infusion now shows in the buff list of the target.
|
||||
Allowed nicknames on custom displays (by Flamanis).
|
||||
Aligned Text Columns enabled is now default for new installs.
|
||||
Fodder to the flames DH ability won't count damage done by the player on the add summoned.
|
||||
Fixed the load time for the Npc Ids panel on the spell list section.
|
||||
Fixed all issues with the options panel scale.
|
||||
Fixed tooltips overlap when the window is positioned at the top of the screen (fix by Flamanis).
|
||||
Fixed auto hide windows which wasn't saving its group when unhiding (fix by Flamanis).
|
||||
@@ -49,6 +51,7 @@ do
|
||||
Fixed '/details me' on TBC, which wasn't working correctly (fix by github user Baugstein).
|
||||
Fixed a typo on Vanguard plugin (fix by github user cruzerthebruzer).
|
||||
Fixed font 'NuevaStd' where something the font didn't work at all.
|
||||
Fixed an issue where for some characters the options panel won't open showing an error in the chat instead.
|
||||
New API: combat:GetPlayerDeaths(deadPlayerName).
|
||||
New API: Details:ShowDeathTooltip(combatObject, deathTable) for Cooltip tooltips.
|
||||
]=]
|
||||
|
||||
+13
-3
@@ -264,7 +264,7 @@
|
||||
_detalhes.OverridedSpellIds = override_spellId
|
||||
|
||||
--> list of ignored npcs by the user
|
||||
local ignored_npcids = {
|
||||
_detalhes.default_ignored_npcs = {
|
||||
--necrotic wake --remove on 10.0
|
||||
[163126] = true, --brittlebone mage
|
||||
[163122] = true, --brittlebone warrior
|
||||
@@ -292,6 +292,8 @@
|
||||
[169430] = true,
|
||||
}
|
||||
|
||||
local ignored_npcids = {}
|
||||
|
||||
--> ignore soul link (damage from the warlock on his pet - current to demonology only)
|
||||
local SPELLID_WARLOCK_SOULLINK = 108446
|
||||
--> when checking if can start a new combat, ignore the damage from warlock's burning rush
|
||||
@@ -5987,8 +5989,12 @@ local SPELL_POWER_PAIN = SPELL_POWER_PAIN or (PowerEnum and PowerEnum.Pain) or 1
|
||||
_recording_ability_with_buffs = _detalhes.RecordPlayerAbilityWithBuffs
|
||||
_in_combat = _detalhes.in_combat
|
||||
|
||||
--> fill the ignored npcid directly from the user profile
|
||||
--ignored_npcids = _detalhes.npcid_ignored
|
||||
_table_wipe(ignored_npcids)
|
||||
--fill it with the default npcs ignored
|
||||
for npcId in pairs(_detalhes.default_ignored_npcs) do
|
||||
ignored_npcids[npcId] = true
|
||||
end
|
||||
--fill it with the npcs the user ignored
|
||||
for npcId in pairs(_detalhes.npcid_ignored) do
|
||||
ignored_npcids[npcId] = true
|
||||
end
|
||||
@@ -6032,6 +6038,10 @@ local SPELL_POWER_PAIN = SPELL_POWER_PAIN or (PowerEnum and PowerEnum.Pain) or 1
|
||||
|
||||
return _detalhes:ClearParserCache()
|
||||
end
|
||||
|
||||
function _detalhes.DumpIgnoredNpcs()
|
||||
return ignored_npcids
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
+82
-73
@@ -656,15 +656,15 @@ function Details:OpenForge()
|
||||
end
|
||||
events = events:sub (1, #events - 3)
|
||||
end
|
||||
|
||||
local spellName, _, spellIcon = GetSpellInfo (data[1])
|
||||
|
||||
|
||||
local spellName, _, spellIcon = GetSpellInfo(data[1])
|
||||
|
||||
return {
|
||||
index,
|
||||
spellIcon,
|
||||
{texture = spellIcon, texcoord = {.1, .9, .1, .9}},
|
||||
{text = spellName or "", id = data[1] or 1},
|
||||
data[1] or "",
|
||||
Details:GetSpellSchoolFormatedName (Details.spell_school_cache [spellName]) or "",
|
||||
Details:GetSpellSchoolFormatedName(Details.spell_school_cache [spellName]) or "",
|
||||
data[3] .. "|r",
|
||||
events,
|
||||
data[4],
|
||||
@@ -674,90 +674,98 @@ function Details:OpenForge()
|
||||
end
|
||||
end,
|
||||
fill_name = "DetailsForgeEncounterBossSpellsFillPanel",
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
-----------------------------------------------
|
||||
|
||||
local npc_ids_module = {
|
||||
name = "Npc IDs",
|
||||
desc = "Show a list of known npc IDs",
|
||||
--Npc Ids
|
||||
|
||||
local ignoreNpcFunc = function(row)
|
||||
local data = all_modules[3].data[row]
|
||||
local npcId = data[1]
|
||||
|
||||
if (not Details.npcid_ignored[npcId]) then
|
||||
Details.npcid_ignored[npcId] = true
|
||||
else
|
||||
Details.npcid_ignored[npcId] = nil
|
||||
end
|
||||
|
||||
Details:UpdateParserGears()
|
||||
end
|
||||
|
||||
local allNpcsModule = {
|
||||
name = "Npc List", --localize-me
|
||||
desc = "Show a list of known npcs", --localize-me
|
||||
|
||||
filters_widgets = function()
|
||||
if (not DetailsForgeEncounterNpcIDsFilterPanel) then
|
||||
|
||||
local w = CreateFrame ("frame", "DetailsForgeEncounterNpcIDsFilterPanel", f, "BackdropTemplate")
|
||||
w:SetSize (600, 20)
|
||||
w:SetPoint ("topleft", f, "topleft", 164, -40)
|
||||
--npc name filter
|
||||
local label = w:CreateFontString (nil, "overlay", "GameFontHighlightSmall")
|
||||
label:SetText ("Npc Name" .. ": ")
|
||||
label:SetPoint ("left", w, "left", 5, 0)
|
||||
local entry = fw:CreateTextEntry (w, nil, 120, 20, "entry", "DetailsForgeEncounterNpcIDsFilter")
|
||||
entry:SetHook ("OnTextChanged", function() f:refresh() end)
|
||||
entry:SetPoint ("left", label, "right", 2, 0)
|
||||
entry:SetTemplate (Details.gump:GetTemplate ("button", "OPTIONS_BUTTON_TEMPLATE"))
|
||||
--
|
||||
local npcIdFrame = CreateFrame ("frame", "DetailsForgeEncounterNpcIDsFilterPanel", f, "BackdropTemplate")
|
||||
npcIdFrame:SetSize (600, 20)
|
||||
npcIdFrame:SetPoint ("topleft", f, "topleft", 164, -40)
|
||||
|
||||
local filterSpellNameLabel = npcIdFrame:CreateFontString (nil, "overlay", "GameFontHighlightSmall")
|
||||
filterSpellNameLabel:SetText (L["STRING_FORGE_FILTER_SPELLNAME"] .. ": ")
|
||||
filterSpellNameLabel:SetPoint ("left", npcIdFrame, "left", 5, 0)
|
||||
|
||||
local searchEntry = fw:CreateTextEntry(npcIdFrame, nil, 120, 20, "entry", "DetailsForgeEncounterNpcIDsFilter")
|
||||
searchEntry:SetHook("OnTextChanged", function() f:refresh() end)
|
||||
searchEntry:SetPoint("left", filterSpellNameLabel, "right", 2, 0)
|
||||
searchEntry:SetTemplate(Details.gump:GetTemplate ("button", "OPTIONS_BUTTON_TEMPLATE"))
|
||||
|
||||
end
|
||||
return DetailsForgeEncounterNpcIDsFilterPanel
|
||||
end,
|
||||
|
||||
search = function()
|
||||
local t = {}
|
||||
|
||||
local filter_name = DetailsForgeEncounterNpcIDsFilter:GetText()
|
||||
local lower_FilterNpcName = lower (filter_name)
|
||||
|
||||
local searchText = DetailsForgeEncounterNpcIDsFilter:GetText()
|
||||
searchText = lower(searchText)
|
||||
|
||||
local npcPool = Details.npcid_pool
|
||||
for npcID, npcName in pairs (npcPool) do
|
||||
local can_add = true
|
||||
|
||||
if (lower_FilterNpcName ~= "") then
|
||||
if (not lower (npcName):find (lower_FilterNpcName)) then
|
||||
can_add = false
|
||||
for npcId, npcName in pairs(npcPool) do
|
||||
local canAdd = true
|
||||
if (searchText ~= "") then
|
||||
if (not npcName:lower():find(searchText)) then
|
||||
canAdd = false
|
||||
end
|
||||
end
|
||||
|
||||
if (can_add) then
|
||||
tinsert (t, {npcID, npcName})
|
||||
if (canAdd) then
|
||||
tinsert(t, {npcId, npcName})
|
||||
end
|
||||
|
||||
table.sort (t, DetailsFramework.SortOrder2R)
|
||||
end
|
||||
|
||||
|
||||
table.sort(t, DetailsFramework.SortOrder2R)
|
||||
return t
|
||||
end,
|
||||
|
||||
|
||||
header = {
|
||||
{name = L["STRING_FORGE_HEADER_INDEX"], width = 40, type = "text", func = no_func},
|
||||
{name = "NpcID", width = 100, type = "entry", func = no_func},
|
||||
{name = "Npc Name", width = 400, type = "entry", func = no_func},
|
||||
{name = L["STRING_FORGE_HEADER_NAME"], width = 200, type = "entry", func = no_func},
|
||||
{name = "NpcId", width = 60, type = "entry", func = no_func},
|
||||
{name = "Ignore", width = 50, type = "checkbox", func = ignoreNpcFunc, icon = [[Interface\Glues\LOGIN\Glues-CheckBox-Check]], notext = true, iconalign = "center"},
|
||||
},
|
||||
|
||||
|
||||
fill_panel = false,
|
||||
fill_gettotal = function (self) return #self.module.data end,
|
||||
fill_fillrows = function (index, self)
|
||||
local data = self.module.data [index]
|
||||
fill_fillrows = function (index, self)
|
||||
local data = self.module.data[index]
|
||||
if (data) then
|
||||
local events = ""
|
||||
if (EncounterSpellEvents and EncounterSpellEvents [data[1]]) then
|
||||
for token, _ in pairs (EncounterSpellEvents [data[1]].token) do
|
||||
token = token:gsub ("SPELL_", "")
|
||||
events = events .. token .. ", "
|
||||
end
|
||||
events = events:sub (1, #events - 3)
|
||||
end
|
||||
local npcId = data[1]
|
||||
local npcName = data[2]
|
||||
local isIgnored = Details.npcid_ignored[npcId]
|
||||
|
||||
return {
|
||||
index,
|
||||
data[1],
|
||||
data[2]
|
||||
{text = npcName, id = npcName},
|
||||
{text = npcId, id = npcId},
|
||||
isIgnored
|
||||
}
|
||||
else
|
||||
return nothing_to_show
|
||||
end
|
||||
end,
|
||||
fill_name = "DetailsForgeNpcIDsFillPanel",
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
-----------------------------------------------
|
||||
|
||||
local dbm_open_aura_creator = function (row)
|
||||
@@ -779,7 +787,7 @@ function Details:OpenForge()
|
||||
|
||||
Details:OpenAuraPanel (data[2], spellname, spellicon, data.id, DETAILS_WA_TRIGGER_DBM_TIMER, DETAILS_WA_AURATYPE_TEXT, {dbm_timer_id = data[2], spellid = data[7], text = "Next " .. spellname .. " In", text_size = 72, icon = spellicon})
|
||||
end
|
||||
|
||||
|
||||
local dbm_timers_module = {
|
||||
name = L["STRING_FORGE_BUTTON_DBMTIMERS"],
|
||||
desc = L["STRING_FORGE_BUTTON_DBMTIMERS_DESC"],
|
||||
@@ -1080,20 +1088,21 @@ function Details:OpenForge()
|
||||
f.SelectModule = select_module
|
||||
f.AllModules = all_modules
|
||||
|
||||
f:InstallModule (all_spells_module)
|
||||
f:InstallModule (encounter_spells_module)
|
||||
|
||||
f:InstallModule (npc_ids_module)
|
||||
|
||||
f:InstallModule (dbm_timers_module)
|
||||
f:InstallModule (bigwigs_timers_module)
|
||||
|
||||
f:InstallModule (all_players_module)
|
||||
f:InstallModule (all_enemies_module)
|
||||
f:InstallModule (all_pets_module)
|
||||
f:InstallModule(all_spells_module)
|
||||
f:InstallModule(encounter_spells_module)
|
||||
|
||||
f:InstallModule(allNpcsModule)
|
||||
|
||||
f:InstallModule(dbm_timers_module)
|
||||
f:InstallModule(bigwigs_timers_module)
|
||||
|
||||
f:InstallModule(all_players_module)
|
||||
f:InstallModule(all_enemies_module)
|
||||
f:InstallModule(all_pets_module)
|
||||
|
||||
local brackets = {
|
||||
[4] = true,
|
||||
[3] = true,
|
||||
[4] = true,
|
||||
[6] = true
|
||||
}
|
||||
local lastButton
|
||||
@@ -1108,7 +1117,7 @@ function Details:OpenForge()
|
||||
b:SetWidth (140)
|
||||
|
||||
if (lastButton) then
|
||||
if (brackets [i]) then
|
||||
if (brackets[i]) then
|
||||
b:SetPoint ("topleft", lastButton, "bottomleft", 0, -23)
|
||||
else
|
||||
b:SetPoint ("topleft", lastButton, "bottomleft", 0, -8)
|
||||
|
||||
@@ -468,7 +468,6 @@ function Details:OpenRaidHistoryWindow (_raid, _boss, _difficulty, _role, _guild
|
||||
local player2_string = DF:CreateLabel (f, Loc ["STRING_GUILDDAMAGERANK_PLAYERBASE_PLAYER"] .. ":", _, _, "GameFontNormal", "select_player2_label")
|
||||
player2_dropdown:SetTemplate (DF:GetTemplate ("dropdown", "OPTIONS_DROPDOWN_TEMPLATE"))
|
||||
|
||||
|
||||
function f:UpdateDropdowns(DoNotSelectRaid)
|
||||
|
||||
local currentGuild = guild_dropdown.value
|
||||
@@ -985,8 +984,12 @@ function Details:OpenRaidHistoryWindow (_raid, _boss, _difficulty, _role, _guild
|
||||
end
|
||||
end
|
||||
|
||||
if (not statsWindow.UpdateDropdowns) then
|
||||
Details:Msg("Failled to load statistics, Details! Storage is disabled?")
|
||||
return
|
||||
end
|
||||
|
||||
statsWindow:UpdateDropdowns()
|
||||
--statsWindow:UpdateDropdowns()
|
||||
statsWindow:Refresh()
|
||||
statsWindow:Show()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user