View Single Post
02/12/24, 06:24 AM   #3
Baertram
Super Moderator
 
Baertram's Avatar
WoWInterface Super Mod
AddOn Author - Click to view addons
Join Date: Mar 2014
Posts: 5,001
If you do not wear any of the set items though it does not help.

If you want I can add something to LibSets that returns the setId of unperfected and perfected sets that belong together, as a table with maybe key = dunfeons zoneId (if that's the same for both).

But that's manual lookup tables, nothing in the API tells you what belongs together. One could maybe detect the same dungeon as drop zone, if the zoneIds for normal and vet do not differ, that's all afaik.

You can use GetItemLinkSetInfo(itemLink) to get the setId and via LibSets's API functions
(See here: https://www.esoui.com/downloads/info...xcelsheet.html -> Scroll down to "For developers")
return the itemIds, names, and now the IsPerfectedSet boolean info too.

Edit:
I've added some data to LibSets (Current test version can be found here:
https://github.com/Baertram/LibSets/tree/PTS


) which can connect the non perfected and perfected setIds and also added some API functions for that:

Code:
-Added API functions to determine non-/perfected setIds of the belonging setId (lookup tables like lib.perfectedSetsInfo
will be build "on usage of the API functions" so they are NOT always filled!!! Only use the API functions to properly access EACH LibSets data!!!):


--Returns boolean if the setId provided is a perfected or non perfected set from e.g. an Arena, Trial, etc.
--> Parameters: setId number: The set's setId
--> Returns:    boolean isAPerfectedOrNonPerfectedSetId
function lib.IsAPerfectedOrNonPerfectedSetId(setId)


--Returns true if the setId provided is a perfected set from e.g. an Arena, Trial, etc.
--> Parameters: setId number: The set's setId
--> Returns:    boolean isPerfectedSet
function lib.IsPerfectedSet(setId)

--Returns true if the setId provided is a non-perfected set from e.g. an Arena, Trial, etc.
--> Parameters: setId number: The set's setId
--> Returns:    boolean isNonPerfectedSet
function lib.IsNonPerfectedSet(setId)


--Returns table perfectedSetInfo about the setId provided if it's a perfected set, or a non perfected set
--> Parameters: setId number: The set's setId (non perfected or perfected)
---> Attention: Table returned is nil if setId provided is neither a perfected nor a non perfected set
--> Returns:    nilable:table perfectedSetInfo = {
-->                 nilable:boolean isPerfectedSet,
-->
-->                 nilable:number  nonPerfectedSetId=<setIdOfNonPerfectedSet>,
-->                 nilable:number  nonPerfectedSetZoneId=<zoneIdOfNonPerfectedSet>,
-->
-->                 nilable:number  perfectedSetId=<setIdOfPerfectedSet>,
-->                 nilable:number  perfectedSetZoneId=<zoneIdOfPerfectedSet>,
-->             }
function lib.GetPerfectedSetInfo(setId)


--Returns perfectedSetId and perfectedSetZoneId of the non perfected setId provided.
--Returned value will be nil if nonPerfectedSetId is no set with a matching perfected setId
--> Parameters: nonPerfectedSetId number: The set's setId
--> Returns:    nilable:number perfectedSetId
-->             nilable:number perfectedSetZoneId
function lib.GetPerfectedSetId(nonPerfectedSetId)


--Returns nonPerfectedSetId and nonPerfectedSetZoneId of the non perfected setId provided.
--Returned value will be nil if perfectedSetId is no set with a matching non perfected setId
--> Parameters: perfectedSetId number: The set's setId
--> Returns:    nilable:number nonPerfectedSetId
-->             nilable:number nonPerfectedSetZoneId
function lib.GetPerfectedSetId(perfectedSetId)


--Returns table with key = index and value = setId of perfected sets
function lib.GetAllPerfectedSetIds()


--Returns table with key = index and value = setId of nonPerfected sets
function lib.GetAllNonPerfectedSetIds()

Last edited by Baertram : 02/13/24 at 05:26 AM.
  Reply With Quote