GridStatusRaidDebuff

25 - Checking ids for buff/debuff

What steps will reproduce the problem?
1. Let say you got the Static Overload debuff on Ascendant fight
2. Some ppl in your party will get a debuff with same name but different ID

What is the expected output? What do you see instead?
- Expected : only the first debuff should appear on grid. Instead of that, any debuff with similar name will show up. This could be avoided by testing the ids of the buffs/debuffs.

What version of GridStatusRaidDebuff are you using? What version of Grid are you using (this is important)?
GridStatusRaidDebuff : v3.1 (curse packaged version : r290)
Grid : r1418

Do you have an error log of what happened?
no error, just unexpected behavior

Please provide any additional information below.
I had this done by adding the following in the Core.lua file :

line 370 (function GridStatusRaidDebuff:ScanUnit) :

 name, _, icon, count, debuffType, duration, expirationTime, caster, isStealable, _, id = UnitAura(unitid, index, "HARMFUL") 

instead of

 name, _, icon, count, debuffType, duration, expirationTime, caster, isStealable = UnitAura(unitid, index, "HARMFUL") 

line 379 (same func) :

 if not data.disable and
   not (self.db.profile.ignDis and myDispellable[debuffType]) and
   not (self.db.profile.ignUndis and debuffType and not myDispellable[debuffType]) and
   (data.debuffId + 0 == id + 0) then 

instead of

 if not data.disable and
   not (self.db.profile.ignDis and myDispellable[debuffType]) and
   not (self.db.profile.ignUndis and debuffType and not myDispellable[debuffType]) then 

That said, I don't know if this could break checks on other specifc buffs/debuffs.

User When Change
stassart Mar 01, 2011 at 07:20 UTC Changed status from New to Accepted
rakino97 Feb 28, 2011 at 20:43 UTC Changed description:
  instead of

- [code] name, _, icon, count, debuffType, duration, expirationTime, caster, isStealable, _, id = UnitAura(unitid, index, "HARMFUL") [/code]
+ [code] name, _, icon, count, debuffType, duration, expirationTime, caster, isStealable = UnitAura(unitid, index, "HARMFUL") [/code]
  [i]line 379 (same func) :[/i]
rakino97 Feb 28, 2011 at 20:10 UTC Create

You must login to post a comment. Don't have an account? Register to get one!

  • 2 comments
  • Avatar of rakino97 rakino97 Mar 01, 2011 at 19:17 UTC - 0 likes

    I agree this isn't really unexpected behavior, since in a perfect world those two buffs would have different names as they are not the same (different behavior is expected depending on which one shows up). This is really different from same name/ different versions & ids for 10/25/heroics ... of the very same spell/debuff.

    About the change i made, it actually worked last night because i do nothing but checking the id whenever the debuff name is in the debuff_list.
    My modified gridstatus only works in 25-man heroic now thougt ...
    My next step would have been to have the data.debuffId fields in the debuff_list into id lists, and checking the current debuff id against those lists, something like :

     if not data.disable and
       not (self.db.profile.ignDis and myDispellable[debuffType]) and
       not (self.db.profile.ignUndis and debuffType and not myDispellable[debuffType]) and
       (data.debuffId[id]) then
    


    This would indeed increase the storage space, i don't know how much (still, not that massive i think).
    I also do not know if the existing data.debuffId field is used elsewhere in the addon in some way that would make it really hard to have an id list instead.

    I also do not have any idea how to make this work with the auto-detect feature ...

    Last edited Mar 01, 2011 by rakino97
  • Avatar of stassart stassart Mar 01, 2011 at 09:10 UTC - 0 likes

    As I understand it you only want to see who has the initial Static Overload, not those people who are nearby and get the dot.

    The change you are suggesting would be to only show debuffs that are enabled by SpellID, currently GridStatusRaidDebuff shows the debuff for all debuffs with the same name.

    This change would massively increase the storage space of debuffs. GridStatusRD_Cata for example instead of just having a debuff listed once and have it work for all 10-man normal, 10-man heroic, 25-man, and 25-man heroic, each spell id would need to be entered individually. In addition, if someone wanted to change the settings for that debuff, they would need to change it for all of those if they do it on different modes.

    I also don't think your change would actually work as suggested above as the debuff_list stores debuffs by name, not by id. So you would only be able to display one debuff of a given name in a zone no matter how many different spell ids used that name. So if the last one loaded was for 10-man normal, 10-man heroic wouldn't display for example.

    This isn't really unexpected behavior, Grid tends to work off buff and debuff names, not spell ids so GridStatusRaidDebuff was designed the same way.

    I will think about this and see if a solution to your issue can be found, but it may not be possible without a redesign of the addon to work off SpellIds rather than by names.

  • 2 comments

Facts

Last updated
Mar 01, 2011
Reported
Feb 28, 2011
Status
Accepted - Problem reproduced / Need acknowledged.
Type
Enhancement - A change which is intended to better the project in some way
Priority
Medium - Normal priority.
Votes
0

Reported by

Possible assignees