Thread Tools Display Modes
03-24-24, 01:46 PM   #1
Xully
A Cyclonian
Join Date: Jul 2010
Posts: 44
help figuring out a creation of phasing icon on grid2

hey, I'll share a screenshot and explain on it, I think its easier that way.

SS beneath.

you see my mouseover which doesnt appear clearly cuz its hidden on SS but its on top of the phasing green icon, it shows you the tooltip and i did a /framestack which shows you the tooltip bottom_right what it is.

It says its, PartyMemberframe2NotPresentIcon.

Anyways I wana put these icons on the grid2 instead of showing on the party blizzard default frame as its shown on screenshot, then I want to hide the blizzard party frame and just keep that icon shown on the grid2. I know that grid2 has phasing indicator itself but it doesn't show this as you can see in the screenshot... I know how to hide the blizzard party frames, but then i neeed a WA code or addon that shows this on unitframes(grid2).

Any idea? thanks.
Attached Thumbnails
Click image for larger version

Name:	WoWScrnShot_032424_223549.jpg
Views:	35
Size:	389.6 KB
ID:	9876  
  Reply With Quote
03-24-24, 02:21 PM   #2
Xrystal
nUI Maintainer
 
Xrystal's Avatar
Premium Member
AddOn Author - Click to view addons
Join Date: Feb 2006
Posts: 5,934
This looks to be where the functionality for that icon comes into play - basically just telling you they aren't nearby. So either phased, in another zone being summoned or recently refused or accepted a summon.
https://github.com/Gethe/wow-ui-sour...Frame.lua#L563

And this is it's place in the xml layout for the partymemberframe.
https://github.com/Gethe/wow-ui-sour...lates.xml#L426

Looking at grid2's patch notes ( says phasing stuff added to classic version ) and the retail version code (searched for phas and notpresent ) but nothing in the addon mentions those. So it might be that what you have seen in grid2 is something different.

How to add it to grid2's frame itself , I would suggest seeing if someone updating the addon ( last update was this month ) would look into adding the feature ( if not already ) .

It might be something as simple as reparenting but seeing as this is an in combat related addon, I'm not sure if there are other things that will need to be considered as well because of that.
__________________


Characters:
Gwynedda - 70 - Demon Warlock
Galaviel - 65 - Resto Druid
Gamaliel - 61 - Disc Priest
Gwynytha - 60 - Survival Hunter
Lienae - 60 - Resto Shaman
Plus several others below level 60

Info Panel IDs : http://www.wowinterface.com/forums/s...818#post136818
  Reply With Quote
03-24-24, 02:36 PM   #3
Xully
A Cyclonian
Join Date: Jul 2010
Posts: 44
Yes phasing is added to classic on grid2, I am playing SoD and it appears sometimes if someone is phased during a boss fight (6th boss in BFD) is an example.

During that boss the phase icon appears on grid2, and also appears in blizz raid frame as well.

But as shown in the screenshot when this phasing icon appears for other examples such as this one in the screenshot then grid2 doesn't show it. I just want to add a code or WA to make it attach to unitframes/grid2. then hide those blizzard frames.

The example shown in screenshot is that my party members are all accepted a queue for WSG and they're in a battle while I skipped and not joined. So theyre in another instance than me which is exactly what the tooltip is indicating.
  Reply With Quote
03-24-24, 04:38 PM   #4
Xrystal
nUI Maintainer
 
Xrystal's Avatar
Premium Member
AddOn Author - Click to view addons
Join Date: Feb 2006
Posts: 5,934
Yeah, sounds like the, not with you , scenario. But that should be covered by the phasing code if the grid2 developer used the code that was in blizzard's code.

I do notice on the grid2 frames a single dot on each one. What does that represent ?

Aha. Found the phasing code in grid2 .. Windows search subfolders apparently didn't work rofl.

This block of blizzard code appears to include 2 events that grid2 isn't checking for in their phasing code module.
https://github.com/Gethe/wow-ui-sour...Frame.lua#L393
Lua Code:
  1. elseif ( event == "UNIT_PHASE" or event == "PARTY_MEMBER_ENABLE" or event == "PARTY_MEMBER_DISABLE" or event == "UNIT_FLAGS") then
  2.         if ( event ~= "UNIT_PHASE" or arg1 == unit ) then
  3.             PartyMemberFrame_UpdateNotPresentIcon(self);
  4.         end
  5.     elseif ( event == "UNIT_OTHER_PARTY_CHANGED" and arg1 == unit ) then
  6.         PartyMemberFrame_UpdateNotPresentIcon(self);

PARTY_MEMBER_DISABLE fires when the other person is dead or offline. So, maybe they were dead when that showed up on them for you.
PARTY_MEMBER_ENABLE may kick in when they come back alive, but wkigg shows it triggers to show whether still online online

You can check if these are the factors that make a difference by adding the events to the StatusPhased file in the OnEnable function, both events return the unitID like the other events do.
__________________


Characters:
Gwynedda - 70 - Demon Warlock
Galaviel - 65 - Resto Druid
Gamaliel - 61 - Disc Priest
Gwynytha - 60 - Survival Hunter
Lienae - 60 - Resto Shaman
Plus several others below level 60

Info Panel IDs : http://www.wowinterface.com/forums/s...818#post136818

Last edited by Xrystal : 03-24-24 at 04:42 PM.
  Reply With Quote
03-24-24, 05:53 PM   #5
Xully
A Cyclonian
Join Date: Jul 2010
Posts: 44
Thanks a ton for this, I will refer this post to the author of grid2 since he would probably understand whats up more than me. And see if he could implement this or not.


Originally Posted by Xrystal View Post
Yeah, sounds like the, not with you , scenario. But that should be covered by the phasing code if the grid2 developer used the code that was in blizzard's code.

I do notice on the grid2 frames a single dot on each one. What does that represent ?

Aha. Found the phasing code in grid2 .. Windows search subfolders apparently didn't work rofl.

This block of blizzard code appears to include 2 events that grid2 isn't checking for in their phasing code module.
https://github.com/Gethe/wow-ui-sour...Frame.lua#L393
Lua Code:
  1. elseif ( event == "UNIT_PHASE" or event == "PARTY_MEMBER_ENABLE" or event == "PARTY_MEMBER_DISABLE" or event == "UNIT_FLAGS") then
  2.         if ( event ~= "UNIT_PHASE" or arg1 == unit ) then
  3.             PartyMemberFrame_UpdateNotPresentIcon(self);
  4.         end
  5.     elseif ( event == "UNIT_OTHER_PARTY_CHANGED" and arg1 == unit ) then
  6.         PartyMemberFrame_UpdateNotPresentIcon(self);

PARTY_MEMBER_DISABLE fires when the other person is dead or offline. So, maybe they were dead when that showed up on them for you.
PARTY_MEMBER_ENABLE may kick in when they come back alive, but wkigg shows it triggers to show whether still online online

You can check if these are the factors that make a difference by adding the events to the StatusPhased file in the OnEnable function, both events return the unitID like the other events do.
  Reply With Quote
03-24-24, 09:28 PM   #6
michaelsp
A Murloc Raider
Join Date: Mar 2024
Posts: 5
Originally Posted by Xully View Post
Thanks a ton for this, I will refer this post to the author of grid2 since he would probably understand whats up more than me. And see if he could implement this or not.
Adding extra events is redundant in grid2, because the addon uses a timer to check every second the phase status of the players.
But the phased status by default does not work in instanced zones, because the original use of the status in retail was to check phased players in outdoor zones, so it had no sense to spend cpu resources checking phase status for players inside instances.
But then SOD arrived and blizzard decided to overcomplicate things reusing the phased system inside some instances (like BFD).
So to enable phased check inside instances the "Disabled in Instances" option should be unchecked.
This option is in Statuses/Miscellaneous/Phased/Disabled in Instances.

In summary, the issue is not due to missing events, if the phased status is not working in some case (with the "disabled in instances option" unchecked), a good option will be to fill a bug report here:
https://github.com/michaelnpsp/Grid2/issues
or here
https://www.wowace.com/projects/grid2/issues
explaining exactly the steps to reproduce the issue.

Last edited by michaelsp : 03-24-24 at 09:33 PM.
  Reply With Quote
03-24-24, 09:36 PM   #7
Xrystal
nUI Maintainer
 
Xrystal's Avatar
Premium Member
AddOn Author - Click to view addons
Join Date: Feb 2006
Posts: 5,934
Thanks for the response Michael.
__________________


Characters:
Gwynedda - 70 - Demon Warlock
Galaviel - 65 - Resto Druid
Gamaliel - 61 - Disc Priest
Gwynytha - 60 - Survival Hunter
Lienae - 60 - Resto Shaman
Plus several others below level 60

Info Panel IDs : http://www.wowinterface.com/forums/s...818#post136818
  Reply With Quote
03-24-24, 10:06 PM   #8
michaelsp
A Murloc Raider
Join Date: Mar 2024
Posts: 5
The retail phased blizzard code (and the grid2 code) only displays the phased icon if the player is less than 100 yards away, because if the player is not nearby the "phased" status has no sense/meaning (by definition a player in another instance cannot be phased from you because he is already in another other zone/world).

The blizzard classic code was working in similar way, but i did not review the code from recent classic patches so maybe they changed some code and behaviour.

So im not sure if the screenshot provided in this thread represent a bugged behaviour in classic or not.
Can Xully confirm if the players in the first screenshot displayed as phased, were nearby, in the same room/zone but invisible (phased) or maybe they were in another instance or zone ?

Last edited by michaelsp : 03-24-24 at 10:57 PM.
  Reply With Quote
03-25-24, 01:42 PM   #9
michaelsp
A Murloc Raider
Join Date: Mar 2024
Posts: 5
I reviewed the blizzard lua code, and the icon displayed in those screenshots are not related to phasing , the screenshot is displaying the looking for group eye icon not the phased icon, this icon means the the player is in a LFR/LFG group/party (code calls UnitInOtherParty() not UnitInPhase()).
Grid2 has no status to display when a player is inside a LFG group, but this could be added to the phased status or as a new independent status.

Last edited by michaelsp : 03-25-24 at 01:46 PM.
  Reply With Quote
03-25-24, 02:21 PM   #10
Xrystal
nUI Maintainer
 
Xrystal's Avatar
Premium Member
AddOn Author - Click to view addons
Join Date: Feb 2006
Posts: 5,934
Originally Posted by michaelsp View Post
I reviewed the blizzard lua code, and the icon displayed in those screenshots are not related to phasing , the screenshot is displaying the looking for group eye icon not the phased icon, this icon means the the player is in a LFR/LFG group/party (code calls UnitInOtherParty() not UnitInPhase()).
Grid2 has no status to display when a player is inside a LFG group, but this could be added to the phased status or as a new independent status.
Yeah, that explains what I was seeing in the code, they are probably using the same location for the two icons.

I am sure Xully will appreciate whatever you are able to do for that situation.
__________________


Characters:
Gwynedda - 70 - Demon Warlock
Galaviel - 65 - Resto Druid
Gamaliel - 61 - Disc Priest
Gwynytha - 60 - Survival Hunter
Lienae - 60 - Resto Shaman
Plus several others below level 60

Info Panel IDs : http://www.wowinterface.com/forums/s...818#post136818
  Reply With Quote
03-25-24, 05:28 PM   #11
Xully
A Cyclonian
Join Date: Jul 2010
Posts: 44
Yes much appreciation for you to look into blizzard code and it is an eye icon which looks exactly like phased.

The players in the screenshot were scattered around the open world, some were next to me, some were actually in distance. So not all were near me.

Whenever they accepted a LFG/battleground queue and I stay outside (Didn't accept), that eye will appear indicating to me that they accepted the queue. Similarly if someone solo que'd for a bg and accepted while being in my grp the eye phased will appear too. This tells me that this guy is right now inside a lfg/battleground. Right now in SoD there isnt a lfg, so maybe in the future it will also be helpful whenever they added lfg perhaps?

To answer Michael question, no they werent all nearby.
  Reply With Quote
03-25-24, 06:13 PM   #12
michaelsp
A Murloc Raider
Join Date: Mar 2024
Posts: 5
You can update to Grid2 2.8.15-beta version.
Now the phased status can optionally display the LFG eye icon for players in another groups.
The option must be enabled going to "Statuses/Miscellaneos/Phased" and checking the "Display other groups" option.
In Classic there is no LFG but the option displays the eye icon when a player is in another instance with another group/raid, for example: in a battleground.
In retail the icon is displayed when the player is in a LFG party/raid, a pvp instance or for example in the garrison proving grounds instance.

Last edited by michaelsp : 03-25-24 at 06:48 PM.
  Reply With Quote
03-25-24, 07:28 PM   #13
Xully
A Cyclonian
Join Date: Jul 2010
Posts: 44
Originally Posted by michaelsp View Post
You can update to Grid2 2.8.15-beta version.
Now the phased status can optionally display the LFG eye icon for players in another groups.
The option must be enabled going to "Statuses/Miscellaneos/Phased" and checking the "Display other groups" option.
In Classic there is no LFG but the option displays the eye icon when a player is in another instance with another group/raid, this can happen when a player is in a battleground.
In retail the icon is displayed when the player is in a LFG party/raid, a pvp instance or for example in the garrison proving grounds instance.
Thanks for the update!

I've downloaded the 2.8.15-beta and opened statuses/misc/phased options and couldn't find the option "Display other groups" -- also it wasn't working as I tested it out.
  Reply With Quote
03-25-24, 07:37 PM   #14
michaelsp
A Murloc Raider
Join Date: Mar 2024
Posts: 5
If the "Display other groups" option is not displayed this means that and old version is being executed.
Try to exit and reenter in the game or re-install the addon.
You can verify in General/About tab the Grid2 version, it should display: "Grid2 2.8.15-beta"
  Reply With Quote
03-26-24, 09:12 PM   #15
Xully
A Cyclonian
Join Date: Jul 2010
Posts: 44
Originally Posted by michaelsp View Post
If the "Display other groups" option is not displayed this means that and old version is being executed.
Try to exit and reenter in the game or re-install the addon.
You can verify in General/About tab the Grid2 version, it should display: "Grid2 2.8.15-beta"
Thanks, works like a charm.
  Reply With Quote

WoWInterface » Developer Discussions » Lua/XML Help » help figuring out a creation of phasing icon on grid2


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off