WoW LibGroupInSpecT addon Shadowlands/classic 2020
logo
wow addon LibGroupInSpecT

LibGroupInSpecT

Game Version: 8.3.0
Total Downloads: 277,739
Updated: Aug 22, 2020
Created: Sep 1, 2012
download LibGroupInSpecTDownload Earlier Versions

Earlier Versions

Name Size Uploaded Game Version Downloads
1.4.0 release 13.77 KB Aug 22, 2020 8.3.0 83,420 download LibGroupInSpecT 1.4.0 releaseDownload
1.3 release 13.58 KB Apr 25, 2018 8.1.5 +3 145,538 download LibGroupInSpecT 1.3 releaseDownload
1.2.1 release 16.29 KB Aug 24, 2016 7.0.3 16,943 download LibGroupInSpecT 1.2.1 releaseDownload
1.2.0 release 16.55 KB Aug 2, 2016 7.0.3 1,360 download LibGroupInSpecT 1.2.0 releaseDownload
LibGroupInSpecT-1.1-1.1.0 release 17.43 KB Nov 13, 2014 6.0.3 6,374 download LibGroupInSpecT LibGroupInSpecT-1.1-1.1.0 releaseDownload
1.0.3 release 16.44 KB Sep 18, 2014 5.2.0 1,525 download LibGroupInSpecT 1.0.3 releaseDownload
1.0.2 release 16.33 KB Mar 7, 2013 5.1.0 3,290 download LibGroupInSpecT 1.0.2 releaseDownload
1.0.1 release 15.90 KB Dec 24, 2012 5.0.5 1,143 download LibGroupInSpecT 1.0.1 releaseDownload
1.0.0 release 18.02 KB Sep 23, 2012 5.0.5 1,528 download LibGroupInSpecT 1.0.0 releaseDownload
1.0.0beta2 beta 17.67 KB Sep 19, 2012 5.0.5 628 download LibGroupInSpecT 1.0.0beta2 betaDownload
1.0.0beta1 beta 7.31 KB Sep 10, 2012 5.0.4 138 download LibGroupInSpecT 1.0.0beta1 betaDownload
r98-alpha alpha 13.32 KB Oct 18, 2020 9.0.1 815 download LibGroupInSpecT r98-alpha alphaDownload
r97-alpha alpha 13.01 KB Oct 18, 2020 8.3.0 13 download LibGroupInSpecT r97-alpha alphaDownload
r95-alpha alpha 13.77 KB Aug 7, 2020 8.3.0 281 download LibGroupInSpecT r95-alpha alphaDownload
r94-alpha alpha 13.65 KB Jul 28, 2020 7.3.5 177 download LibGroupInSpecT r94-alpha alphaDownload
r93-alpha alpha 13.61 KB Jul 24, 2020 7.3.5 121 download LibGroupInSpecT r93-alpha alphaDownload
r91-alpha alpha 13.55 KB Apr 25, 2018 7.3.5 123 download LibGroupInSpecT r91-alpha alphaDownload
r90-alpha alpha 16.14 KB Apr 25, 2018 7.2.5 75 download LibGroupInSpecT r90-alpha alphaDownload
r89-alpha alpha 16.06 KB Apr 22, 2017 7.2.0 226 download LibGroupInSpecT r89-alpha alphaDownload
r88-alpha alpha 15.70 KB Apr 22, 2017 7.2.0 56 download LibGroupInSpecT r88-alpha alphaDownload
r86 alpha 16.26 KB Aug 24, 2016 7.0.3 86 download LibGroupInSpecT r86 alphaDownload
r84 alpha 16.50 KB Jul 30, 2016 7.0.3 220 download LibGroupInSpecT r84 alphaDownload
r83 alpha 16.45 KB Jul 29, 2016 7.0.3 171 download LibGroupInSpecT r83 alphaDownload
r82 alpha 17.01 KB Jul 22, 2016 6.0.3 278 download LibGroupInSpecT r82 alphaDownload
r81 alpha 16.97 KB Jul 21, 2016 6.0.3 206 download LibGroupInSpecT r81 alphaDownload
r80 alpha 17.33 KB Jul 21, 2016 6.0.3 76 download LibGroupInSpecT r80 alphaDownload
r79 alpha 17.21 KB Jul 18, 2016 6.0.3 260 download LibGroupInSpecT r79 alphaDownload
r78 alpha 17.16 KB Feb 21, 2015 6.0.3 620 download LibGroupInSpecT r78 alphaDownload
r77 alpha 17.07 KB Jan 6, 2015 6.0.3 277 download LibGroupInSpecT r77 alphaDownload
r76 alpha 17.00 KB Jan 3, 2015 6.0.3 236 download LibGroupInSpecT r76 alphaDownload
r75 alpha 16.90 KB Dec 16, 2014 6.0.3 252 download LibGroupInSpecT r75 alphaDownload
r73 alpha 17.48 KB Nov 4, 2014 6.0.3 276 download LibGroupInSpecT r73 alphaDownload
r72 alpha 17.23 KB Nov 4, 2014 6.0.3 64 download LibGroupInSpecT r72 alphaDownload
r71 alpha 17.26 KB Oct 21, 2014 6.0.2 352 download LibGroupInSpecT r71 alphaDownload
r70 alpha 17.03 KB Oct 20, 2014 6.0.2 245 download LibGroupInSpecT r70 alphaDownload
r69 alpha 17.06 KB Oct 19, 2014 6.0.2 141 download LibGroupInSpecT r69 alphaDownload
r68 alpha 17.18 KB Oct 13, 2014 6.0.2 331 download LibGroupInSpecT r68 alphaDownload
r67 alpha 17.07 KB Oct 13, 2014 6.0.2 68 download LibGroupInSpecT r67 alphaDownload
r66 alpha 17.06 KB Oct 13, 2014 6.0.2 41 download LibGroupInSpecT r66 alphaDownload
r65 alpha 17.00 KB Oct 4, 2014 6.0.2 49 download LibGroupInSpecT r65 alphaDownload
r64 alpha 16.95 KB Sep 27, 2014 6.0.1 60 download LibGroupInSpecT r64 alphaDownload
r63 alpha 16.72 KB Sep 18, 2014 6.0.1 44 download LibGroupInSpecT r63 alphaDownload
r61 alpha 16.43 KB Jul 18, 2014 5.2.0 234 download LibGroupInSpecT r61 alphaDownload
r60 alpha 16.28 KB Jul 18, 2014 5.2.0 40 download LibGroupInSpecT r60 alphaDownload
r59 alpha 16.90 KB Mar 31, 2013 5.2.0 1,068 download LibGroupInSpecT r59 alphaDownload
r58 alpha 16.86 KB Mar 31, 2013 5.2.0 41 download LibGroupInSpecT r58 alphaDownload
r57 alpha 16.77 KB Mar 31, 2013 5.2.0 33 download LibGroupInSpecT r57 alphaDownload
r56 alpha 16.75 KB Mar 17, 2013 5.2.0 143 download LibGroupInSpecT r56 alphaDownload
r55 alpha 16.53 KB Mar 11, 2013 5.2.0 118 download LibGroupInSpecT r55 alphaDownload
r54 alpha 16.47 KB Mar 11, 2013 5.2.0 34 download LibGroupInSpecT r54 alphaDownload
r53 alpha 16.46 KB Mar 7, 2013 5.2.0 106 download LibGroupInSpecT r53 alphaDownload
r51 alpha 16.29 KB Mar 3, 2013 5.1.0 112 download LibGroupInSpecT r51 alphaDownload
r50 alpha 16.19 KB Feb 24, 2013 5.1.0 121 download LibGroupInSpecT r50 alphaDownload
r49 alpha 16.12 KB Feb 24, 2013 5.0.5 39 download LibGroupInSpecT r49 alphaDownload
r47 alpha 15.84 KB Dec 24, 2012 5.0.5 31 download LibGroupInSpecT r47 alphaDownload
r46 alpha 15.72 KB Nov 30, 2012 5.0.5 164 download LibGroupInSpecT r46 alphaDownload
r45 alpha 15.70 KB Oct 25, 2012 5.0.5 191 download LibGroupInSpecT r45 alphaDownload
r44 alpha 15.16 KB Oct 25, 2012 5.0.5 56 download LibGroupInSpecT r44 alphaDownload
r42 alpha 18.00 KB Sep 22, 2012 5.0.5 64 download LibGroupInSpecT r42 alphaDownload
r41 alpha 17.94 KB Sep 22, 2012 5.0.5 33 download LibGroupInSpecT r41 alphaDownload
r40 alpha 17.90 KB Sep 22, 2012 5.0.5 28 download LibGroupInSpecT r40 alphaDownload
r39 alpha 17.88 KB Sep 19, 2012 5.0.5 88 download LibGroupInSpecT r39 alphaDownload
r37 alpha 17.64 KB Sep 19, 2012 5.0.5 25 download LibGroupInSpecT r37 alphaDownload
r36 alpha 17.58 KB Sep 19, 2012 5.0.5 34 download LibGroupInSpecT r36 alphaDownload
r35 alpha 17.55 KB Sep 19, 2012 5.0.5 28 download LibGroupInSpecT r35 alphaDownload
r34 alpha 17.37 KB Sep 19, 2012 5.0.5 55 download LibGroupInSpecT r34 alphaDownload
r33 alpha 17.29 KB Sep 19, 2012 5.0.5 28 download LibGroupInSpecT r33 alphaDownload
r32 alpha 17.26 KB Sep 18, 2012 5.0.5 91 download LibGroupInSpecT r32 alphaDownload
r31 +1 More alpha 17.23 KB Sep 18, 2012 5.0.5 25 download LibGroupInSpecT r31

+1 More alphaDownload
r30 alpha 9.50 KB Sep 18, 2012 5.0.5 32 download LibGroupInSpecT r30 alphaDownload
r29 alpha 9.46 KB Sep 18, 2012 5.0.5 31 download LibGroupInSpecT r29 alphaDownload
r28 alpha 9.36 KB Sep 18, 2012 5.0.5 37 download LibGroupInSpecT r28 alphaDownload
r27 alpha 9.33 KB Sep 18, 2012 5.0.5 27 download LibGroupInSpecT r27 alphaDownload
r26 alpha 9.29 KB Sep 18, 2012 5.0.5 28 download LibGroupInSpecT r26 alphaDownload
r25 alpha 8.18 KB Sep 17, 2012 5.0.5 30 download LibGroupInSpecT r25 alphaDownload
r24 alpha 7.48 KB Sep 17, 2012 5.0.5 27 download LibGroupInSpecT r24 alphaDownload
r27 alpha 17.41 KB Sep 17, 2012 5.0.5 25 download LibGroupInSpecT r27 alphaDownload
r26 alpha 17.15 KB Sep 16, 2012 5.0.5 25 download LibGroupInSpecT r26 alphaDownload
r25 alpha 41.96 KB Sep 16, 2012 5.0.5 21 download LibGroupInSpecT r25 alphaDownload
r24 alpha 41.86 KB Sep 13, 2012 5.0.5 26 download LibGroupInSpecT r24 alphaDownload
r22 alpha 7.22 KB Sep 8, 2012 5.0.4 35 download LibGroupInSpecT r22 alphaDownload
r21 alpha 6.05 KB Sep 7, 2012 5.0.4 37 download LibGroupInSpecT r21 alphaDownload
r20 alpha 5.94 KB Sep 7, 2012 5.0.4 32 download LibGroupInSpecT r20 alphaDownload
r19 alpha 5.90 KB Sep 4, 2012 5.0.4 5,597 download LibGroupInSpecT r19 alphaDownload
r18 alpha 5.66 KB Sep 4, 2012 5.0.4 28 download LibGroupInSpecT r18 alphaDownload
r17 alpha 5.64 KB Sep 4, 2012 5.0.4 30 download LibGroupInSpecT r17 alphaDownload
r16 alpha 5.46 KB Sep 4, 2012 5.0.4 29 download LibGroupInSpecT r16 alphaDownload
r15 alpha 5.40 KB Sep 4, 2012 5.0.4 27 download LibGroupInSpecT r15 alphaDownload
r14 alpha 5.32 KB Sep 4, 2012 5.0.4 34 download LibGroupInSpecT r14 alphaDownload
r13 alpha 5.21 KB Sep 4, 2012 5.0.4 30 download LibGroupInSpecT r13 alphaDownload
r12 alpha 5.16 KB Sep 3, 2012 5.0.4 36 download LibGroupInSpecT r12 alphaDownload
r11 alpha 5.08 KB Sep 3, 2012 5.0.4 50 download LibGroupInSpecT r11 alphaDownload
r10 alpha 4.83 KB Sep 2, 2012 5.0.4 40 download LibGroupInSpecT r10 alphaDownload
r9 alpha 4.81 KB Sep 2, 2012 5.0.4 32 download LibGroupInSpecT r9 alphaDownload
r8 alpha 4.71 KB Sep 2, 2012 5.0.4 26 download LibGroupInSpecT r8 alphaDownload
r7 alpha 4.69 KB Sep 2, 2012 5.0.4 47 download LibGroupInSpecT r7 alphaDownload
r6 alpha 4.51 KB Sep 2, 2012 5.0.4 32 download LibGroupInSpecT r6 alphaDownload
r5 alpha 4.49 KB Sep 2, 2012 5.0.4 30 download LibGroupInSpecT r5 alphaDownload
r4 alpha 4.40 KB Sep 2, 2012 5.0.4 51 download LibGroupInSpecT r4 alphaDownload
r3 alpha 4.37 KB Sep 2, 2012 5.0.4 34 download LibGroupInSpecT r3 alphaDownload

Description

Share this:

Summary

A small library which keeps track of group members and keeps an up-to-date cache of their specialization and talents.

It's similar to the old LibGroupTalents/LibTalentQuery and the LibRaidInspect libraries, but unlike the former it's actually working on 7.0, and unlike the latter it works properly in Battlegrounds. Additionally it has the feature where it communicates spec/talent updates to other LibGroupInSpecT users. This is an important point as of the writing of this there is no way to detect when another player re-specs/talents.

This library started out as a part of RaidChecklist as replacement for LibGroupTalents, but has since been split off into its own project as its usefulness increases the more widespread it is.

To make use of this library you'll need to also have the usual LibStub and LibCallbackHandler libs.

For a real usage example, take a look at the RaidChecklist project.


Events

These events can be registered for using the regular CallbackHandler ways.

Reference

event args
"GroupInSpecT_Update" guid, unit, info
"GroupInSpecT_Remove" guid
"GroupInSpecT_InspectReady" guid, unit

Description

"GroupInSpecT_Update"
Fires when info is ready or has been modified.
"GroupInSpecT_Remove"
Fires when a member leaves the group.
"GroupInSpecT_InspectReady"
Fires during INSPECT_READY so that clients can perform supplemental inspection handling (as of r78).

Example

local LGIST = LibStub:GetLibrary("LibGroupInSpecT-1.1")
LGIST.RegisterCallback(addonObject, "GroupInSpecT_Remove", "UnitRemoved")
function addonObject:UnitRemoved(event, guid)
  -- unit with guid removed
end

API

Functions for external use:

lib:Rescan (guid or nil)
Force a fresh inspection of all group members. As of r76 it accepts an optional guid parameter, to rescan only a particular GUID rather than all group members.
lib:QueuedInspections ()
Returns an array of GUIDs of outstanding inspects.
lib:StaleInspections ()
Returns an array of GUIDs for which the data has been deemed stale and is awaiting an update (no action required, the refresh happens internally).
lib:GetCachedInfo (guid)
Returns the cached info for the given GUID, if available, nil otherwise. Information is cached for current group members only.
lib:GuidToUnit (guid)
Returns the unit id for the given GUID, provided said GUID represents a current group member, else nil.

info table structure

The fields of the table passed as an argument for "GroupInSpecT_Update" callback or returned by one of the API functions (eg. :GetCachedInfo(guid) ). A list of all the global specialization IDs is available here.

Note: Not all fields may be available at all times due to the Blizz API not returning the info at that point. Incremental updates will be sent, so coding with the possibility of nil in mind is highly advised.

Info structure

  .guid
  .name
  .realm
  .race
  .race_localized
  .class
  .class_localized
  .class_id
  .gender -- 2 = male, 3 = female
  .global_spec_id
  .spec_index
  .spec_name_localized
  .spec_description
  .spec_icon
  .spec_background
  .spec_role
  .spec_role_detailed -- "tank", "melee", "ranged" or "healer" (introduced in 1.0.2)
  .spec_group -- active spec group (1/2/nil), introduced in 1.1
  .talents = {
    [<talent_id>] = { -- Note: Since 1.1 this is a talent_id, not a spell_id
      .talent_id -- Introduced in 1.1. This replaces the old 1.0.x .idx entry
      .tier
      .column
      .name_localized
      .icon
      .spell_id
    }
    ...
  }
.pvp_talents = {
[<talent_id>] = {
.talent_id
.name_localized
.icon
.spell_id
}
...
}
.lku -- last known unit id

Usage

Typical usage example.
.pkgmeta

Libs/LibGroupInSpecT-1.1: svn://svn.wowace.com/wow/libgroupinspect/mainline/trunk

.toc

## X-Embeds: LibGroupInSpecT-1.1
## OptionalDeps: LibGroupInSpecT-1.1
#@no-lib-strip@
Libs\LibStub\LibStub.lua
Libs\CallbackHandler-1.0\CallbackHandler-1.0.lua
Libs\LibGroupInSpecT-1.1\LibGroupInSpecT-1.1.lua
#@end-no-lib-strip@

alternatively embeds.xml (referenced in .toc)

<ui xmlns="http://www.blizzard.com/wow/ui/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.blizzard.com/wow/ui/..\FrameXML\UI.xsd">
<!--@no-lib-strip@-->
  <script file="Libs\LibStub\LibStub.lua"/>
  <include file="Libs\CallbackHandler-1.0\CallbackHandler-1.0.xml"/>
  <include file="Libs\LibGroupInSpecT-1.1\lib.xml"/>
<!--@end-no-lib-strip@-->
</ui>

.lua

local LGIST=LibStub:GetLibrary("LibGroupInSpecT-1.1")
LGIST.RegisterCallback(addonObject, "GroupInSpecT_Update", "UpdateHandler")
LGIST.Registercallback(addonObject, "GroupInSpecT_Remove", "RemoveHandler")
function addonObject:UpdateHandler(event, guid, unit, info)
  if info.class and info.class == "DEATHKNIGHT" and info.spec_role and info.spec_role == "TANK" then
    print(UnitName(unit).." is now "..info.spec_name_localized) -- info.name may also be available
  end
end
function addonObject:RemoveHandler(event, guid)
  -- guid no longer a group member
end
local info = LGIST:GetCachedInfo(guid)
local hasFocusingShot = info and next(info.talents) and info.talents[21729] -- focusing shot talent_id

<sub>Main page formatting by Dridzt. Much obliged!</sub>

Comments

Add a comment