Grid2

Grid2

9M Downloads

[Feature Request] Profiles by group type

phuze opened this issue ยท 2 comments

commented

Similar to the "Enable profiles by Specialization" feature,
could we implement an "Enable profiles by Group Type" feature?

This would load a profile based on the group type (party, raid, arena).

It looks like Grid2 is already watching the GROUP_ROSTER_UPDATE event, and firing the GroupChanged() function: https://github.com/michaelnpsp/Grid2/blob/main/GridRoster.lua#L256-L313

That seems like a good place to add a bit of additional logic:

  • if the user is not in active combat, and
  • if user has the profile by group type option enabled, then,
  • load associated profile based on active group type.

The combat check would be important for two reasons:

  • to avoid triggering a profile change, should player(s) leave or join mid-combat (which would be disruptive).
  • ensure there is no performance impact when/where it matters (during combat).

Though I suppose a combat check would introduce an issue whereby a profile change may not occur, if the group size never changes while out-of-combat. An internal event queue could solve that, by triggering the profile change after combat ends. Not sure if the Blizzard API natively offers an event queue, or if something is available via an Ace3 lib.

Additionally, this feature could be expanded to allow multiple breakpoint configurations in raid environments, by using GetNumGroupMembers() to load profiles based on the raid size. This could be a user defined number, or just a set of standard selectable breakpoints which a user can associate a profile to; ie: <=10, <=20, >20.

If you would agree to implement this feature, I don't mind putting together a PR -- unless of course it's something you'd prefer to handle yourself (i'm not sure if you're open to contributions).

commented

"Enable profiles by Specialization" is really a deprecated option, so i don't plan to add new systems to support profile changes.
Profiles system was replaced by Themes, you can enable themes in general options. Then you can activate different themes for each group type or use another conditions, like instance size, class, spec, player role, instance difficultty, etc.

commented

Thanks for the tip about Themes, I didn't know that existed.