deadlybossmods / dbm-unified Goto Github PK
View Code? Open in Web Editor NEWThe heart of DBM. This contains the parts of Core, GUI, and DBT that allow all versions of DBM to function.
The heart of DBM. This contains the parts of Core, GUI, and DBT that allow all versions of DBM to function.
The whole event manager probably needs complete rewriting, because registershorttermevents was a hacky addition and and apparently has actually been broken for years. Fortunately no mods currently seem affected by the breakage since the way it's broken doesn't affect way most mods register/unregister events. As such this task is mostly for tracking purposes for when this is eventually modularized.
Intent: DBM was supposed to support better registering and unregistering events at both core and mod level in short term. Meaning events don't stay registered all the time and wasting CPU.
Function: Register short term events is supposed to be stand alone from register events regular (which is intended mostly for events that stay registered all the time). Unregister short term events is supposed to only clear the short term events that were registered.
Actuality: Register short term events shoves short term events into same table as long term events. Unregister short term event that's also a long term event just nukes both. Fortunately there is no mod that actually does this (not even core thankfully)
Likely need: Because every part of event handler runs through a single table for registered events, probably still need a single table tracking what's registered (long or short term). However when long or short term events are actually registered THESE should probably each be in their own table. Then when unregistering short term events, We remove any events in short term table that aren't also in long term table from the main event tracker table.. Something like
if shortTermEvents[event] then
if not longTermEvents[event] then
shortTermEvents[event] = nil
--run actual event unregister for event
registeredEvents[event] = nil--Untrack from main tracked events table
else
shortTermevents[event] = nil--Only wipe from short term events, but not unregister it if it's still being used by long term events
end
end
Is your feature request related to a problem? Please describe.
I use custom music packs with DBM to randomize encounter music and would like the music I include to be the only tracks that play. Currently the included tracks such as Anduin Part 2 B, Bronze Jam, Invincible, etc. have a chance to pop up in the shuffle rotation.
Describe the solution you'd like
A toggle to exclude these from being loaded into the music list.
Describe alternatives you've considered
Currently I comment out these tracks in the DBM-Core\modules\Sounds.lua on every addon update, which, while it works, can sometimes be tedious if there are frequent updates.
Additional context
Add any other context or screenshots about the feature request here.
Screenshots of what I comment out to make this work for me and am asking for a toggle for:
Thank you for any consideration.
Describe the bug
The hud arrow does not work, and gives a lua error.
Do you have an error log of what happened?
1x DBM-Core\DBM-HudMap.lua:420: attempt to perform arithmetic on local 'w' (a nil value)
[string "@DBM-Core\DBM-HudMap.lua"]:420: in function <DBM-Core\DBM-HudMap.lua:393>
[string "@DBM-Core\DBM-HudMap.lua"]:670: in function 'Update'
[string "@DBM-Core\DBM-HudMap.lua"]:618: in function 'UpdateAll'
[string "@DBM-Core\DBM-HudMap.lua"]:1334: in function 'Update'
[string "@DBM-Core\DBM-HudMap.lua"]:285: in function <DBM-Core\DBM-HudMap.lua:254>
[string "@DBM-Core\DBM-HudMap.lua"]:308: in function <DBM-Core\DBM-HudMap.lua:307>
[string "@SharedXML\C_TimerAugment.lua"]:16: in function <SharedXML\C_TimerAugment.lua:14
To Reproduce
/dbm hud arrow target
Did you try having DeadlyBossMods as the only enabled addon and everything else (especially something like ElvUI) disabled?
No, but I can fix the problem with minor adjustments in DBM-HudMap.lua.
Which version of DeadlyBossMods are you using?
DBM 2.5.37 (2022/06/07 18:45:26) / VPVEM: v12
TBC PTR client
Was it working in a previous version? If yes, which was the last good one?
Without downdating to test, it appears to have been broken in 6ad6b54 with the following changes:
6ad6b54#diff-d86b1e33ce8a094fea9fb79124662f9e14ab4ccdf30fba070afba5a7985b0d9bL415
6ad6b54#diff-d86b1e33ce8a094fea9fb79124662f9e14ab4ccdf30fba070afba5a7985b0d9bL675
6ad6b54#diff-d86b1e33ce8a094fea9fb79124662f9e14ab4ccdf30fba070afba5a7985b0d9bL695
Additional context
Reverting the above 3 lines appears to fix the issue. The hud arrow is functional and does not give an error. I don't know which parameters are actually intended to be taken by DrawRouteLineCustom, but I see no issues with the hud after applying the changes.
As an aside, the name matching doesn't appear to work either. The help text indicates that I should be able to do /dbm hud arrow Playername
and it will draw an arrow to Playername in my party/raid. I haven't been able to get this to work. I am aware that it's case sensitive.
Core (CommonLocale)
Core (Locale)
GUI
Describe the bug
An error occurred referencing DBM-RangeCheck during phase 2 of Imperator Mar'gok in Highmaul (WoD)
Do you have an error log of what happened?
Message: Interface/AddOns/DBM-Core/DBM-RangeCheck.lua:715: attempt to perform arithmetic on local 'activeRange' (a nil value)
Time: Wed Jul 19 10:31:24 2023
Count: 142
Stack: Interface/AddOns/DBM-Core/DBM-RangeCheck.lua:715: attempt to perform arithmetic on local 'activeRange' (a nil value)
[string "@Interface/AddOns/DBM-Core/DBM-RangeCheck.lua"]:715: in function <Interface/AddOns/DBM-Core/DBM-RangeCheck.lua:655>
Locals: activeRange = nil
restricted = true
tEnabled = true
rEnabled = false
reverse = nil
warnThreshold = 1
playerMapId = 615
sinTheta = 0
cosTheta = 1
closePlayer = 0
closestRange = nil
closetName = nil
filter = nil
type = 0
onlySummary = nil
(for index) = 2
(for limit) = 14
(for step) = 1
i = 2
uId = "raid2"
dot = Texture {
0 =
class = "WARRIOR"
}
mapId = 615
range = 60
inRange = false
(*temporary) = nil
(*temporary) = 60
(*temporary) = 32825
(*temporary) = "raid2"
(*temporary) = true
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = "attempt to perform arithmetic on local 'activeRange' (a nil value)"
mainFrame = Frame {
0 =
hideTime = 0
eventRegistered = true
restrictions = true
redCircleNumPlayers = 1
}
rangeCheck =
To Reproduce
Screenshots
Did you try having DeadlyBossMods as the only enabled addon and everything else (especially something like ElvUI) disabled?
No
Which version of DeadlyBossMods are you using?
DBM-Core 496a6fd
DBM-Raids-WoD r73
Was it working in a previous version? If yes, which was the last good one?
Didn't happen when I last ran Highmaul 4 months go. Unsure what version that was.
Additional context
Was in a group of players working on achievements
"Only log non trivial content" Remove
Log bosses only will stay as is
New Options:
"Do not log trivial raids" (default on, will not log any raid that's under players current level)
"Do not log trivial dungeons" (default on, will not log any dungeons under Mythic (heroic in tbc/wrath) difficulty) under players level)
Should probably use LibDeflate to compress and send recovery variables and timers.
Is your feature request related to a problem? Please describe.
Currently, when there is a time/cooldown window, DBM strives to code the lowest timer possible, and only rely on the cd object and tilde ~
to identify that the timer is not set in stone and will not be accurate 100% of the time.
Today, 95549ff was pushed that moves the ~
next to the timer text (most welcome change!), but many users without this math knowledge would still not know how to interpret this information (personal opinion), and would not know when a certain mechanic could be expected (1 second variance? 3 seconds ? 10 seconds?...), especially since timers without explicit keep
boolean would simply disappear, thus leaving the user guessing whether or not the ability is yet to happen, and when could it happen.
Describe the solution you'd like
I have seen in Discord this idea thrown around a couple of times, but never elaborated on nor registered in the tracker.
This is a very gross visualization to showcase the idea:
In writing, it could behave as such:
timer
argument (current DBM behaviour, so no change here is expected* OR rework to something like string parsing "[28-32]")timerMax
* OR see above 2nd way)timerMax or timer
), or if a :Start is fired again to overwrite it (an overwrite during this coded variance window would not trigger early refresh debug)(*) food for thought here: this would be fixed on mod load, meaning that it would apply everytime the timer is Started (timerABC:Start()
would always apply the same metadata that was set on creation, whenever it was used).
If the dev would need to code a specific timer Start on a specific point in the fight (say, 2nd cast on 2nd phase...) with a different window, it would not be possible unless the :Start method had been reworked. For example, timerABC:Start("[28-32]")
Describe alternatives you've considered
keep
argument exists in Core but is seldomly used, but having negative timers would also not be logical for the user, hence my request to further improve on the implementation.
@QartemisT , DBT is your area, so pinging in advance, thank you.
Our guild has 7 Groups running Kara, and about to boot-up a 3rd 25man Team.
So things like this happen periodically:
[07:36 PM] <DBM> Shade of Aran has been engaged by guild
[07:37 PM] <DBM> Terestian Illhoof has been defeated by guild after 2 minutes and 20.64 seconds!
Would it be viable to some how add in a group name, as defined by the raid leader, or add in the Raid Leader's Name, something to indicate what group in the guild is doing what?
Stuff that could/should be modularized;
Describe the bug
I have been getting intermittent LUA errors in the Wrath of the Lich King client from DBM-Core.lua complaining about comparison to nil value I have tracked the problem down to line 1461
DBM-Unified/DBM-Core/DBM-Core.lua
Line 1461 in 336773e
that ("-WOTLK" or "-Wrath") will always return "-WOTLK" because that string can never be false
at the same time the DBM-Core.toc does not have a field for X-Min-Interface-WOTLK, it only has X-Min-Interface-Wrath, as a result that call to GetAddOnMetadata() will always return nil
To Reproduce
I haven't been able to reliably reproduce the error as i don't full comprehend when that handler fires, but the following can be shown to test the logic I presented above:
/script ChatFrame1:AddMessage("test message" .. GetAddOnMetadata("DBM-Core","X-Min-Interface" ..("-WOTLK" or "-Wrath")))
Did you try having DeadlyBossMods as the only enabled addon and everything else (especially something like ElvUI) disabled?
nope
Which version of DeadlyBossMods are you using?
the version in the DBM-Core.toc is 6d0bbda
Was it working in a previous version? If yes, which was the last good one?
I've been seeing this off and on for quite a while not sure when it originated if i'm understanding the rest of the code correctly this issue will only crop up when there is a new version of DBM available
Additional context
Core Profiles Needs:
Mod Profile Needs:
Notes:
Core profiles are settings for frame placement, timer placement, global warning sounds and fonts, etc. Basically all the settings for core.
Mod profiles are all the settings for sub mods such as Castle Nathria. What warnings/timers/etc are enabled/disabled.
Tracking list for bar releated features todo;
Current issue:
TODO:
Describe the bug
62e6f0b introduced lua error if ability button is clicked.
Do you have an error log of what happened?
Message: bad argument #1 to '?' (table expected, got nil)
Time: Sat Jul 30 00:45:29 2022
Count: 1
Stack: bad argument #1 to '?' (table expected, got nil)
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "@Interface\SharedXML\OptionsFrameTemplates.lua"]:6: in function `(for generator)'
[string "@Interface\SharedXML\OptionsFrameTemplates.lua"]:107: in function `OptionsList_ClearSelection'
[string "@Interface\SharedXML\OptionsFrameTemplates.lua"]:147: in function `OptionsListButton_OnClick'
[string "*:OnClick"]:2: in function <[string "*:OnClick"]:1>
Locals:
Message: Interface\SharedXML\OptionsFrameTemplates.lua:94: attempt to index local 'panel' (a nil value)
Time: Sat Jul 30 00:45:29 2022
Count: 1
Stack: Interface\SharedXML\OptionsFrameTemplates.lua:94: attempt to index local 'panel' (a nil value)
[string "=[C]"]: ?
[string "@Interface\SharedXML\OptionsFrameTemplates.lua"]:94: in function `OptionsList_DisplayPanel'
[string "@Interface\SharedXML\OptionsFrameTemplates.lua"]:150: in function `OptionsListButton_OnClick'
[string "*:OnClick"]:2: in function <[string "*:OnClick"]:1>
Locals:
To Reproduce
Screenshots
Did you try having DeadlyBossMods as the only enabled addon and everything else (especially something like ElvUI) disabled?
No, but is reproducible and revertible with abovementioned commit.
Which version of DeadlyBossMods are you using?
Was it working in a previous version? If yes, which was the last good one?
Yes.
Additional context
Myst requests:
https://github.com/DeadlyBossMods/DBM-Unified/blob/master/DBM-Core/modules/SpecRole.lua is not even remotely updated for 10.0 outside of evoker. Every other class is incorrect and needs to be moved to talent or spell known checks (still not sure which is better).
The following slash command is failing due to a first letter case mismatch:
DBM-Unified/DBM-Core/modules/Commands.lua
Lines 376 to 377 in 962c5cc
When the cmd gets lowercased here:
DBM-Unified/DBM-Core/modules/Commands.lua
Line 153 in 962c5cc
The player name will always mismatch on the first letter case when applying DBM:GetRaidUnitId
, since it won't find raid[name]
.
Example:
Johndoe
/dbm arrow Johndoe
Johndoe
will get lowercased to johndoe
and passed into the function as DBM:GetRaidUnitId("johndoe")
raid["johndoe"]
will always be nil, since it should have been raid["Johndoe"]
I went into git blame and this was probably when the bug was introduced: DeadlyBossMods/DeadlyBossMods@52a895e
Many weak auras specifically target only BW events like stage changes, timers, and announce.
In most cases, the WAs are compatible with DBM out of box if only they had also registered DBM callbacks. Unfortunately it's difficult to get authors to do this if they don't need to and end users don't often have skill to fix the WA packs they download.
The result, a large number of users are leaving DBM simply because fights "require" these weak auras.
The better solution would be if WA handled it smarter internally by simply smart combining the boss mod callbacks (especially for stage or timers using spellids and not timer id). Sadly, there doesn't seem to be much interest in this at the momen
Therefor, the more immediate solution seems to be to duplicate BWs callback handler in DBM and activate it by default if BW itself isn't installed (keyword installed, not loaded. strict check)
then sending all the BWs callbacks we're interesting in (announce, timer, stage, maybe others that weak auras use?). announce and timer would need additional filters to only pass it through handler if it's actually spellid passed, if it's not it might error due to different expectations of "timer id" field.
Links and more info:
https://twitter.com/deadlybossmods/status/1668842622234898433?s=61&t=qMqcrToMUKBCfbU6QB-uSQ
https://wago.io/LiquidAberrus
https://wago.io/rwUo_Neav
https://wago.io/Y2peTP20U
Currently, if I don't select 'Filter out tank-specific information when not in tank specialization,' I hear a lot of taunt-related voice lines and timers. However, as a healing player, I only care about skills that are about to spike damage on the tank, not when they need to taunt. Could you modify your settings? Taunt reminders default to only apply to tanks, so us healing players can focus more on our own combat.
Describe the bug
I have compiled some visual bugs that happen with DBT.
Do you have an error log of what happened?
NA
To Reproduce
See below for each case scenario.
Screenshots
(2 vids, one expandUpwards, other not): https://imgur.com/a/codsYVk
(2 vids, one with 2021 animation, other current): https://imgur.com/a/NHpR0Q3
Did you try having DeadlyBossMods as the only enabled addon and everything else (especially something like ElvUI) disabled?
Yes.
Which version of DeadlyBossMods are you using?
9.2.21 alpha (20222/07/01 20:33:14)
Was it working in a previous version? If yes, which was the last good one?
Before DBT rewrite, from 2021: DeadlyBossMods/DeadlyBossMods@0d607c7#diff-379aeb92b9b0fea6bbf3d7326c06cc3ea4142a1ab4ea74a64ba49f0e269a138d
Additional context
I have already relayed 1 and 2 to Artemis, but since I am finding more issues with DBT, I thought it'd be best to aggregate them in one place. I will be updating this report if I detect more cases, same as I've been doing with GUI bugs report.
DBM-Unified/DBM-Core/DBM-Core.lua
Line 6707 in cf52fd3
Is there a reason this is a global?
Likely related to how hacky cachedColorFunctions function is. It's not uncommon for icons to fail to render the first time any given name appears. Although could be related to another cause entirely. It's a difficult thing to test though.
This doesn't have to use the over complicated DBM bar object, it could simply be added to DBM-Nameplates and have a bar timer handed off to nameplate addons (plater already added support for this in some capacity) or internal handling. Need to touch base with Tercio and Kesava
https://gyazo.com/8521388acf222fe5ddd800d143b48a01 was concept Tercio showed on it for Plater
Bigwigs also has something similar using their own timer implimentation code. This is one sore spot DBM still remains behind on.
Due to some unannounced undocumented change in latest wrath classic patch, LoadAddon now has a load restriction time that breaks for some DBM users, even out of combat. The known timing restriction it is unknown but it is higher than normal 250ms. Unfortunately DBM gui and module loading takes about 500-1000ms for larger modules (which after the refactor and merging of many of them, is just about all of them now)
It's unknown if this restriction is intended or some bug, because loadaddon used to be exempt from script timing since an addon loading is a one time thing and not something that causes performance issues unless it's actually broken. The irony of blizzards code is, it CAUSES breakage that results in users freezing for up to 5 minutes or fully DCing, instead of just letting the mod take a second to load. ๐คทโโ๏ธ
None the less, the DBM GUI code needs rework to greatly reduce load times by eliminating unnecessary draws of all the sub module panels until they are visible for first time and probably other optimizations anyways, it's just been bumped up to critical/urgent.
Describe the bug
Using :Cancel(arg1, ...) or :Restart(arg1, arg2, ...) will fail to unschedule timers, specifically when dealing with multi arg timers (example, NewCDCountTimer with a count).
Do you have an error log of what happened?
NA
To Reproduce
TLDR:
local timerCount = mod:NewCDCountTimer(5, 2061)
timerCount:Start(nil, 4)
timerCount:Schedule(5, nil, 4)
timerCount:Cancel(4) -- bar timer stopped but fail to unschedule
timerCount:Cancel(nil, 4) -- bar timer failed to stop but succeed in the unschedule above
Now for the troubleshooting steps:
Letโs consider a dummy example (used priest flash heal for easy repro with cast start for testing):
local timerCount = mod:NewCDCountTimer(5, 2061)
If I start and cancel, with a dummy count value = 4, no problem:
timerCount:Start(5, 4)
--
timerCount:Cancel(4)
If I restart, or add nil timer to use default is also no issue:
timerCount:Restart(nil, 4)
Increasing arg complexity with for example a GUID (using target guid just for illustration) is also no problem for now. Adapted timer with allowdouble flag accordingly:
local timerCountGUID = mod:NewCDCountTimer("d5", 2061)
timerCount:Start(nil, 4, UnitGUID("target"))
timerCount:Cancel(4, UnitGUID("target"))
Problem begins if we also add Scheduling into the mix. Due to how the methods are designed, the order of args between the Cancel/Unschedule and the Start is different and therefore will fail to match the timer to unschedule:
timerCount:Restart(nil, 4, UnitGUID("target")) -- will fail to unschedule if called again
timerCount:Schedule(5, nil, 4, UnitGUID("target"))
--
timerCount:Cancel(4, UnitGUID("target")) --will hide started timer, but fail to unschedule
I was only able to avoid this trap with arg mismatch by being verbose and not rely on restart/cancel to unschedule (notice the nil
arg difference, if you add prints in each method vararg inside Core it will be more apparent):
timerCount:Start(nil, 4, UnitGUID("target"))
timerCount:Schedule(5, nil, 4, UnitGUID("target"))
--
timerCount:Unschedule(nil, 4, UnitGUID("target"))
timerCount:Stop(4, UnitGUID("target"))
Screenshots
prints are coming from Core, on timer Start, Cancel, Unschedule, with their respective method name.
Exception is the "scheduled timer in 5s", which is fired in the mod event.
In these demos, flash heal is used to start + schedule timer, hearthstone to cancel.
timerCount:Cancel(4)
, started bar is stopped, but not unscheduled:timerCount:Cancel(nil, 4)
, started bar is not stopped, only unscheduled:A :Restart would be the same behaviour, since it's a copy of Cancel.
Did you try having DeadlyBossMods as the only enabled addon and everything else (especially something like ElvUI) disabled?
Yes
Which version of DeadlyBossMods are you using?
DBM 9.2.33 alpha (2022/09/04 16:11:37)
Was it working in a previous version? If yes, which was the last good one?
Unknown.
Additional context
AFAICT, there isn't a mod that have these conditions in order to be a live problem, nervertheless this is a bug in core methods and thus I feel like it should be addressed.
I have created a mod just for testing this matter in the dummy, if you wish to have it for your testing I will zip it and attach here.
Describe the bug
LUA error
Do you have an error log of what happened?
5x DBM-Core/DBM-Core.lua:9320: attempt to index field '?' (a nil value)
[string "@DBM-Core/DBM-Core.lua"]:9320: in function <DBM-Core/DBM-Core.lua:9302>
[string "@DBM-Core/DBM-Core.lua"]:9334: in function UpdateKey' [string "@DBM-Raids-WoTLK/Coliseum/Twins.lua"]:71: in function <DBM-Raids-WoTLK/Coliseum/Twins.lua:69> [string "@DBM-Raids-WoTLK/Coliseum/Twins.lua"]:82: in function
handler'
[string "@DBM-Core/DBM-Core.lua"]:1074: in function <DBM-Core/DBM-Core.lua:1061>
[string "=(tail call)"]: ?
[string "@DBM-Core/DBM-Core.lua"]:1074: in function <DBM-Core/DBM-Core.lua:1061>
Locals:
Skipped (In Encounter)
To Reproduce
Just appear randomly in combat
Screenshots
Did you try having DeadlyBossMods as the only enabled addon and everything else (especially something like ElvUI) disabled?
Which version of DeadlyBossMods are you using?
Was it working in a previous version? If yes, which was the last good one?
Additional context
While the previous issue with the range finder in the blood prince council encounter seems to resolved by my fix (#293), there is still an issue with the range finder in the Deathbringer Saurfang encounter. This seems not to be related to the GUI opening incorrectly, as neither the fix nor manually setting the range helps.
Describe the bug
The range finder sometimes shows no other players, regardless of distance. If you move out of the zone and port back in (either via the teleporters in ICC or probably also via warlock port or logout/login) the finder starts working again. It breaks again when you move to the gunship that is parked next to the balcony and back onto the balcony. It might thus be related to vehicle physics.
Do you have an error log of what happened?
I checked, there was no error logs in Bugsack.
However, I did some experiments and it seems that the check of IsItemInRange
is not providing accurate results in this position. This might be a WoW bug and not a plugin bug, but maybe you can find a workaround? I tested this by writing into the chat frame:
/script print(IsItemInRange(32321, "raid10"))
(raid10 was my experimentation buddy in the raid)
To Reproduce
/range 13
Which version of DeadlyBossMods are you using?
Details and Astral keys both have a way of snooping keystones of guildies, bnet friends, and party members.
I'd like DBM to add to this with a slash command, at least on party members, with maybe a more advanced ability to also open a window that also shows friends lists and guild keys.
best approach would probably be to support https://github.com/Tercioo/Open-Raid-Library/blob/main/docs.txt standard but we probably don't want to load the entire lib since it has a LOT of stuff we don't use. instead probably just snoop comms from it and astral keys and send comms on one or both of those channels when we send our own keys out (if neither mod is installed, if it is we won't transmit keys)
none of the warning sounds are working, in the warning selection screen you can choose and test the 5 types. warnings only work with one voice pack, even with the option to play both warnings, VP and original, Normal warnings are not working at all, there is silence.
CurseForge/Overwolf has blocked WowUp from accessing files hosted on its server. Please consider also publishing to WoWInterface or WowUpHub: https://wowup.io/guide/wowup/hub
Is there any way to just make this a toggle so I don't have to keep spamming the 'move me' and 'start test bars' buttons? After I do that I have like a 2 second window where enough bars move from the small bar to my enabled huge bar and allow me to align it with the rest of my UI.
Is it possible to get a background opacity slider for timer bars? I'm using a small pixel texture for my minimalist UI, but the bars are hardcoded in DBT.lua with a 30% background opacity.
Alternatives are to allow bar heights to be set all the way down to 1, but then font and timer texts would need custom offset options too. Seems much simpler to use a one pixel bar texture, but allow the background opacity to be set to 0.
I'm brand new to LUA and the WoW APIs, but can submit a PR if this is something you're willing to add. I've started an initial stab at doing this here - master...siegester03:DBM-Unified:bar-background-opacity but I image more work is needed still
Describe the bug
Some blizzard fonts are duplicated since they are being added twice with different paths (case-sensitive).
Do you have an error log of what happened?
N.A.
To Reproduce
Did you try having DeadlyBossMods as the only enabled addon and everything else (especially something like ElvUI) disabled?
Yes
Which version of DeadlyBossMods are you using?
Was it working in a previous version? If yes, which was the last good one?
No
Additional context
DBM-Unified/DBM-GUI/modules/options/alerts/Announcements.lua
Lines 17 to 35 in a805496
@QartemisT , this seems your AoE. I'd suggest either delete the duplicate font registration in each module or align fontpath, like so:
{
text = "Skurri",
value = "Fonts\\SKURRI_CYR.TTF"
},
{
text = "Morpheus",
value = "Fonts\\MORPHEUS_CYR.TTF"
}
Also, during the investigation, I found that Friz Quadrata TT does not save as such, and always defaults to Default font (on EN language, at least). Is this a bug or intended?
Feel free to comment on any topic and I'll revert as soon as I can.
Features:
Bugs:
mod:NewAddsLeftAnnounce
objects are still not combined properly (example, wise marl in mop dungeons) (see comments for details)Changes:
Had this error pop up multiple times on Tindral Sageswift LFR today (multiple times in the same fight and on multiple different attempts at the fight on different characters).
Message: bad argument #2 to '?' (outside of expected range 0 to 4294967295 - Usage: local aura = C_UnitAuras.GetAuraDataByIndex(unitToken, index [, filter]))
Time: Wed Jan 17 22:07:07 2024
Count: 32
Stack: bad argument #2 to '?' (outside of expected range 0 to 4294967295 - Usage: local aura = C_UnitAuras.GetAuraDataByIndex(unitToken, index [, filter]))
[string "=[C]"]: ?
[string "@Interface/AddOns/DBM-Core/DBM-Core.lua"]:6397: in function `UnitDebuff'
[string "@Interface/AddOns/DBM-Core/DBM-InfoFrame.lua"]:639: in function `?'
[string "@Interface/AddOns/DBM-Core/DBM-InfoFrame.lua"]:1155: in function `Show'
[string "@Interface/AddOns/DBM-Raids-Dragonflight/Amirdrassil/TindralSageswift.lua"]:573: in function `handler'
[string "@Interface/AddOns/DBM-Core/DBM-Core.lua"]:1106: in function <Interface/AddOns/DBM-Core/DBM-Core.lua:1093>
[string "=(tail call)"]: ?
[string "@Interface/AddOns/DBM-Core/DBM-Core.lua"]:1106: in function <Interface/AddOns/DBM-Core/DBM-Core.lua:1093>
Locals: (*temporary) = "bad argument #2 to '?' (outside of expected range 0 to 4294967295 - Usage: local aura = C_UnitAuras.GetAuraDataByIndex(unitToken, index [, filter]))"
Looks like a case overlooked with switching to the new C_UnitAuras.GetAuraDataByIndex version of UnitAura.
To Reproduce
Screenshots
Did you try having DeadlyBossMods as the only enabled addon and everything else (especially something like ElvUI) disabled?
No.
Which version of DeadlyBossMods are you using?
DBM 10.2.17 (2024/01/17 06:02:29)
Was it working in a previous version? If yes, which was the last good one?
Done this fight many times before today and never seen this error before. Would definitely have been working with 10.2.14 under WoW 10.2.0.
Additional context
Describe the bug
C_AddOns.DoesAddOnExist
is not present in wrath, possibly in classic either, and as such, DBM-Core.lua:3662 always returns a message to go get the addon pack for dungeons, even if they are already loaded. IsAddOnLoaded
is the function used for wrath (and possibly classic too).
Do you have an error log of what happened?
Not existent. There is no error. The way it is coded it doesn't pop error.
To Reproduce
Enter dungeon. Observe wrong message to go get dungeon pack.
Screenshots
With wrong function:
With correct function:
Did you try having DeadlyBossMods as the only enabled addon and everything else (especially something like ElvUI) disabled?
Not relevant.
Which version of DeadlyBossMods are you using?
3.4.56
Was it working in a previous version? If yes, which was the last good one?
NA
Additional context
Code is also only checking for vanilla dungeon packs. If you play on wrath, it's not checking for wrath dungeon packs, but only checks for vanilla dungeon packs, which makes no sense.
At the very least check for all expansion dungeon packs.
else--Classic
if instanceDifficultyBylevel[LastInstanceMapID] and instanceDifficultyBylevel[LastInstanceMapID][2] == 2 and not IsAddOnLoaded("DBM-Party-Vanilla") and not IsAddOnLoaded("DBM-Party-BC") and not IsAddOnLoaded("DBM-Party-WotLK") then
AddMsg(self, L.MOD_AVAILABLE:format("DBM Dungeon mods"))
end
end
Describe the bug
I have compiled some visual bugs that happen with DBM GUI.
Do you have an error log of what happened?
NA
To Reproduce
See below for each case scenario.
Screenshots
I have no clear way to repro this bug, just clicking and opening random menus until it starts bugging the size.
An easy fix would be line breaking \n
every localization string (example: Start color\n(User)
).
/dbm
, causing the heights to not work as expected:Clicking the mod panel button re-runs the DisplayFrame and fixes the issue.
a) requires a BoolOption or MiscLine above it to show on GUI;
b) cannot have a BoolOption below it or will overlap on GUI.
Did you try having DeadlyBossMods as the only enabled addon and everything else (especially something like ElvUI) disabled?
Yes, except for problem no. 3.
Which version of DeadlyBossMods are you using?
Was it working in a previous version? If yes, which was the last good one?
Not to my knowledge.
Additional context
@QartemisT , maybe this is something to be considered in #70 or 10.0 GUI?
Did you try having DeadlyBossMods as the only enabled addon and everything else (especially something like ElvUI) disabled?
Yes, except for problem no. 3.
Which version of DeadlyBossMods are you using?
Was it working in a previous version? If yes, which was the last good one?
Not to my knowledge.
Additional context
@QartemisT , maybe this is something to be considered in #70 or 10.0 GUI?
Describe the bug
It doesn't show a option panel and trash mob category is gone now
Do you have an error log of what happened?
To Reproduce
Screenshots
Did you try having DeadlyBossMods as the only enabled addon and everything else (especially something like ElvUI) disabled?
Which version of DeadlyBossMods are you using?
Was it working in a previous version? If yes, which was the last good one?
Additional context
Is your feature request related to a problem? Please describe.
I am playing on English client but with German friends which are not good in English. So as a tank it's hard to announce spells.
Describe the solution you'd like
A way to change the language of DMB manually
Describe alternatives you've considered
As alternativ is there a way I can hardcode the language anywhere which DBM is using?
Additional context
I know that I need to re-do it after each DMB Update
Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
I find in pug groups far too many people don't follow mechanics. This is either their negligence, or they don't use DBM.
Describe the solution you'd like
A clear and concise description of what you want to happen.
It might reduce the risk involved with pugging if you were to implement a tooltip icon for verification that another player is running dbm much like Raider.io shows other players scores. It could simply be an added assurance that they at least have something that tells them what they need to be doing during boss fights and such.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
I've considered emailing the makers of Raider.io to suggest they don't give io points to players in dungeons or raids that they are severely undergeared in, encouraging players to learn mechanics and work their way up.
Additional context
Add any other context or screenshots about the feature request here.
Describe the bug
GTFO is being commonly re-used for multiple spells inside the same mod, which leads to the icon being wrong if it doesn't match the metadata set in mod load.
Do you have an error log of what happened?
NA
To Reproduce
Example:
https://github.com/DeadlyBossMods/DBM-WotLK/blob/1e1803885425d59091953699422c987366d8fb7f/DBM-Raids-WoTLK/Coliseum/NorthrendBeasts.lua#L254
Did you try having DeadlyBossMods as the only enabled addon and everything else (especially something like ElvUI) disabled?
Yes
Which version of DeadlyBossMods are you using?
Independent of version
Was it working in a previous version? If yes, which was the last good one?
No
Additional context
There are also several cases (on multiple mods) where the text argument for the %s locale string is not passed:
https://github.com/DeadlyBossMods/DBM-Unified/blob/master/DBM-Core/localization.en.lua#L400
One example, with two different spells and different icons, and no spellname passed (which defaults to "bad" damage and wrong icon):
https://github.com/DeadlyBossMods/DBM-WotLK/blob/1e1803885425d59091953699422c987366d8fb7f/DBM-Raids-WoTLK/Coliseum/Jaraxxus.lua#L158-L159
This might be intended, but decided to write it here as well since retail mods all pass the spellname into gtfo Show.
in this line, select is used which returns all of the items after the index, not the item at the index itself. as I see, the function isnt called with more than 1 argument so its fine. but if you use multiple arguments it can lead to bugs. to solve, just surrond the select function with ().
Is your feature request related to a problem? Please describe.
I have my game set to German but am playing on an English realm in an English guild. I would like to have dbm answer whispers i get during bossfights in English, not in German. Noone ever understands what my addon is telling them.
Describe the solution you'd like
Let us choose the language of the automated replies.
Describe alternatives you've considered
Well, i could change the language of my game but that won't directly solve the problem.
Additional context
Would love to see this feature soon!
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.