Earlier Versions
Name | Size | Uploaded | Game Version | Downloads | |
1.4.0 release | 13.77 KB | Aug 22, 2020 | 8.3.0 | 83,420 | Download |
1.3 release | 13.58 KB | Apr 25, 2018 | 8.1.5 +3 | 145,538 | Download |
1.2.1 release | 16.29 KB | Aug 24, 2016 | 7.0.3 | 16,943 | Download |
1.2.0 release | 16.55 KB | Aug 2, 2016 | 7.0.3 | 1,360 | Download |
LibGroupInSpecT-1.1-1.1.0 release | 17.43 KB | Nov 13, 2014 | 6.0.3 | 6,374 | Download |
1.0.3 release | 16.44 KB | Sep 18, 2014 | 5.2.0 | 1,525 | Download |
1.0.2 release | 16.33 KB | Mar 7, 2013 | 5.1.0 | 3,290 | Download |
1.0.1 release | 15.90 KB | Dec 24, 2012 | 5.0.5 | 1,143 | Download |
1.0.0 release | 18.02 KB | Sep 23, 2012 | 5.0.5 | 1,528 | Download |
1.0.0beta2 beta | 17.67 KB | Sep 19, 2012 | 5.0.5 | 628 | Download |
1.0.0beta1 beta | 7.31 KB | Sep 10, 2012 | 5.0.4 | 138 | Download |
r98-alpha alpha | 13.32 KB | Oct 18, 2020 | 9.0.1 | 815 | Download |
r97-alpha alpha | 13.01 KB | Oct 18, 2020 | 8.3.0 | 13 | Download |
r95-alpha alpha | 13.77 KB | Aug 7, 2020 | 8.3.0 | 281 | Download |
r94-alpha alpha | 13.65 KB | Jul 28, 2020 | 7.3.5 | 177 | Download |
r93-alpha alpha | 13.61 KB | Jul 24, 2020 | 7.3.5 | 121 | Download |
r91-alpha alpha | 13.55 KB | Apr 25, 2018 | 7.3.5 | 123 | Download |
r90-alpha alpha | 16.14 KB | Apr 25, 2018 | 7.2.5 | 75 | Download |
r89-alpha alpha | 16.06 KB | Apr 22, 2017 | 7.2.0 | 226 | Download |
r88-alpha alpha | 15.70 KB | Apr 22, 2017 | 7.2.0 | 56 | Download |
r86 alpha | 16.26 KB | Aug 24, 2016 | 7.0.3 | 86 | Download |
r84 alpha | 16.50 KB | Jul 30, 2016 | 7.0.3 | 220 | Download |
r83 alpha | 16.45 KB | Jul 29, 2016 | 7.0.3 | 171 | Download |
r82 alpha | 17.01 KB | Jul 22, 2016 | 6.0.3 | 278 | Download |
r81 alpha | 16.97 KB | Jul 21, 2016 | 6.0.3 | 206 | Download |
r80 alpha | 17.33 KB | Jul 21, 2016 | 6.0.3 | 76 | Download |
r79 alpha | 17.21 KB | Jul 18, 2016 | 6.0.3 | 260 | Download |
r78 alpha | 17.16 KB | Feb 21, 2015 | 6.0.3 | 620 | Download |
r77 alpha | 17.07 KB | Jan 6, 2015 | 6.0.3 | 277 | Download |
r76 alpha | 17.00 KB | Jan 3, 2015 | 6.0.3 | 236 | Download |
r75 alpha | 16.90 KB | Dec 16, 2014 | 6.0.3 | 252 | Download |
r73 alpha | 17.48 KB | Nov 4, 2014 | 6.0.3 | 276 | Download |
r72 alpha | 17.23 KB | Nov 4, 2014 | 6.0.3 | 64 | Download |
r71 alpha | 17.26 KB | Oct 21, 2014 | 6.0.2 | 352 | Download |
r70 alpha | 17.03 KB | Oct 20, 2014 | 6.0.2 | 245 | Download |
r69 alpha | 17.06 KB | Oct 19, 2014 | 6.0.2 | 141 | Download |
r68 alpha | 17.18 KB | Oct 13, 2014 | 6.0.2 | 331 | Download |
r67 alpha | 17.07 KB | Oct 13, 2014 | 6.0.2 | 68 | Download |
r66 alpha | 17.06 KB | Oct 13, 2014 | 6.0.2 | 41 | Download |
r65 alpha | 17.00 KB | Oct 4, 2014 | 6.0.2 | 49 | Download |
r64 alpha | 16.95 KB | Sep 27, 2014 | 6.0.1 | 60 | Download |
r63 alpha | 16.72 KB | Sep 18, 2014 | 6.0.1 | 44 | Download |
r61 alpha | 16.43 KB | Jul 18, 2014 | 5.2.0 | 234 | Download |
r60 alpha | 16.28 KB | Jul 18, 2014 | 5.2.0 | 40 | Download |
r59 alpha | 16.90 KB | Mar 31, 2013 | 5.2.0 | 1,068 | Download |
r58 alpha | 16.86 KB | Mar 31, 2013 | 5.2.0 | 41 | Download |
r57 alpha | 16.77 KB | Mar 31, 2013 | 5.2.0 | 33 | Download |
r56 alpha | 16.75 KB | Mar 17, 2013 | 5.2.0 | 143 | Download |
r55 alpha | 16.53 KB | Mar 11, 2013 | 5.2.0 | 118 | Download |
r54 alpha | 16.47 KB | Mar 11, 2013 | 5.2.0 | 34 | Download |
r53 alpha | 16.46 KB | Mar 7, 2013 | 5.2.0 | 106 | Download |
r51 alpha | 16.29 KB | Mar 3, 2013 | 5.1.0 | 112 | Download |
r50 alpha | 16.19 KB | Feb 24, 2013 | 5.1.0 | 121 | Download |
r49 alpha | 16.12 KB | Feb 24, 2013 | 5.0.5 | 39 | Download |
r47 alpha | 15.84 KB | Dec 24, 2012 | 5.0.5 | 31 | Download |
r46 alpha | 15.72 KB | Nov 30, 2012 | 5.0.5 | 164 | Download |
r45 alpha | 15.70 KB | Oct 25, 2012 | 5.0.5 | 191 | Download |
r44 alpha | 15.16 KB | Oct 25, 2012 | 5.0.5 | 56 | Download |
r42 alpha | 18.00 KB | Sep 22, 2012 | 5.0.5 | 64 | Download |
r41 alpha | 17.94 KB | Sep 22, 2012 | 5.0.5 | 33 | Download |
r40 alpha | 17.90 KB | Sep 22, 2012 | 5.0.5 | 28 | Download |
r39 alpha | 17.88 KB | Sep 19, 2012 | 5.0.5 | 88 | Download |
r37 alpha | 17.64 KB | Sep 19, 2012 | 5.0.5 | 25 | Download |
r36 alpha | 17.58 KB | Sep 19, 2012 | 5.0.5 | 34 | Download |
r35 alpha | 17.55 KB | Sep 19, 2012 | 5.0.5 | 28 | Download |
r34 alpha | 17.37 KB | Sep 19, 2012 | 5.0.5 | 55 | Download |
r33 alpha | 17.29 KB | Sep 19, 2012 | 5.0.5 | 28 | Download |
r32 alpha | 17.26 KB | Sep 18, 2012 | 5.0.5 | 91 | Download |
r31 +1 More alpha | 17.23 KB | Sep 18, 2012 | 5.0.5 | 25 | Download |
r30 alpha | 9.50 KB | Sep 18, 2012 | 5.0.5 | 32 | Download |
r29 alpha | 9.46 KB | Sep 18, 2012 | 5.0.5 | 31 | Download |
r28 alpha | 9.36 KB | Sep 18, 2012 | 5.0.5 | 37 | Download |
r27 alpha | 9.33 KB | Sep 18, 2012 | 5.0.5 | 27 | Download |
r26 alpha | 9.29 KB | Sep 18, 2012 | 5.0.5 | 28 | Download |
r25 alpha | 8.18 KB | Sep 17, 2012 | 5.0.5 | 30 | Download |
r24 alpha | 7.48 KB | Sep 17, 2012 | 5.0.5 | 27 | Download |
r27 alpha | 17.41 KB | Sep 17, 2012 | 5.0.5 | 25 | Download |
r26 alpha | 17.15 KB | Sep 16, 2012 | 5.0.5 | 25 | Download |
r25 alpha | 41.96 KB | Sep 16, 2012 | 5.0.5 | 21 | Download |
r24 alpha | 41.86 KB | Sep 13, 2012 | 5.0.5 | 26 | Download |
r22 alpha | 7.22 KB | Sep 8, 2012 | 5.0.4 | 35 | Download |
r21 alpha | 6.05 KB | Sep 7, 2012 | 5.0.4 | 37 | Download |
r20 alpha | 5.94 KB | Sep 7, 2012 | 5.0.4 | 32 | Download |
r19 alpha | 5.90 KB | Sep 4, 2012 | 5.0.4 | 5,597 | Download |
r18 alpha | 5.66 KB | Sep 4, 2012 | 5.0.4 | 28 | Download |
r17 alpha | 5.64 KB | Sep 4, 2012 | 5.0.4 | 30 | Download |
r16 alpha | 5.46 KB | Sep 4, 2012 | 5.0.4 | 29 | Download |
r15 alpha | 5.40 KB | Sep 4, 2012 | 5.0.4 | 27 | Download |
r14 alpha | 5.32 KB | Sep 4, 2012 | 5.0.4 | 34 | Download |
r13 alpha | 5.21 KB | Sep 4, 2012 | 5.0.4 | 30 | Download |
r12 alpha | 5.16 KB | Sep 3, 2012 | 5.0.4 | 36 | Download |
r11 alpha | 5.08 KB | Sep 3, 2012 | 5.0.4 | 50 | Download |
r10 alpha | 4.83 KB | Sep 2, 2012 | 5.0.4 | 40 | Download |
r9 alpha | 4.81 KB | Sep 2, 2012 | 5.0.4 | 32 | Download |
r8 alpha | 4.71 KB | Sep 2, 2012 | 5.0.4 | 26 | Download |
r7 alpha | 4.69 KB | Sep 2, 2012 | 5.0.4 | 47 | Download |
r6 alpha | 4.51 KB | Sep 2, 2012 | 5.0.4 | 32 | Download |
r5 alpha | 4.49 KB | Sep 2, 2012 | 5.0.4 | 30 | Download |
r4 alpha | 4.40 KB | Sep 2, 2012 | 5.0.4 | 51 | Download |
r3 alpha | 4.37 KB | Sep 2, 2012 | 5.0.4 | 34 | Download |
Description
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>
Add a comment