Skip to content

Commit

Permalink
some support for classic_era/SoD
Browse files Browse the repository at this point in the history
dynamic tab generation to support different sets of tabs / wow client
instance overrides for SoD levelling raids
move update message to localization, improve version check logic
embed updates, multi-client toc
  • Loading branch information
Road-block committed Mar 10, 2024
1 parent 97cea8d commit ca023ef
Show file tree
Hide file tree
Showing 18 changed files with 564 additions and 291 deletions.
210 changes: 123 additions & 87 deletions Core.lua

Large diffs are not rendered by default.

27 changes: 27 additions & 0 deletions DBs/InstanceData.lua
Original file line number Diff line number Diff line change
Expand Up @@ -335,3 +335,30 @@ addon.groupieInstanceData = {
["Ragefire Chasm"] = { Active = true, Expac = "World of Warcraft", InstanceType = "Classic Dungeons",
InstanceID = 389, MinLevel = 13, MaxLevel = 20, GroupSize = 5, Order = 1000, ActivityID = 798, Icon = "RFC.tga" },
}
if WOW_PROJECT_ID == WOW_PROJECT_CLASSIC then
if C_Seasons and C_Seasons.HasActiveSeason and C_Seasons.HasActiveSeason() then
if C_Seasons.GetActiveSeason() == Enum.SeasonID.SeasonOfDiscovery then
addon.groupieInstanceData["Blackfathom Deeps"] = { Active = true, Expac = "World of Warcraft", InstanceType = "Classic Raids",
InstanceID = 48, MinLevel = 25, MaxLevel = 30, GroupSize = 10, Order = 1040, ActivityID = 801, Icon = "BFD.tga" }
addon.groupieInstanceData["Gnomeregan"] = { Active = true, Expac = "World of Warcraft", InstanceType = "Classic Raids", InstanceID = 90,
MinLevel = 40, MaxLevel = 45, GroupSize = 10, Order = 1070, ActivityID = 803, Icon = "GNOMER.tga" }
addon.instanceVersions = addon.instanceVersions or {}
addon.instanceVersions["Blackfathom Deeps"] = { { 10, false } }
addon.instanceVersions["Gnomeregan"] = { { 10, false } }

addon.instanceConfigData = addon.instanceConfigData or {}
-- BFD
addon.instanceConfigData[1040] = addon.instanceConfigData[1040] or {}
addon.instanceConfigData[1040].InstanceType = "Classic Raids"
addon.instanceConfigData[1040].MinLevel = 25
addon.instanceConfigData[1040].MaxLevel = 30
addon.instanceConfigData[1040].GroupSize = 10
-- Gnomer
addon.instanceConfigData[1070] = addon.instanceConfigData[1070] or {}
addon.instanceConfigData[1070].InstanceType = "Classic Raids"
addon.instanceConfigData[1070].MinLevel = 40
addon.instanceConfigData[1070].MaxLevel = 45
addon.instanceConfigData[1070].GroupSize = 10
end
end
end
184 changes: 92 additions & 92 deletions Globals.lua
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@ local L = LibStub('AceLocale-3.0'):GetLocale('Groupie')
local GetAddOnMetadata = GetAddOnMetadata or (C_AddOns and C_AddOns.GetAddOnMetadata)

--Update this with each push to curse, this will be used for version checks
addon.version = tonumber(GetAddOnMetadata(addonName, "Version"))
addon.version = GetAddOnMetadata(addonName, "Version")
addon.version = tonumber(addon.version:match("%d+%.%d+"))

--Used for storing the merged friend and ignore lists of all characters
addon.friendList = {}
Expand Down Expand Up @@ -288,102 +289,101 @@ addon.classColors = {
addon.edgeCasePatterns = { "mt", "os", "up", "dk", "eye", "st", "mh", "an" }

--instanceVersions[instance] = {{size, isHeroic}, ...}
addon.instanceVersions = {
["Ragefire Chasm"] = { { 5, false } },
["Wailing Caverns"] = { { 5, false } },
["Deadmines"] = { { 5, false } },
["Shadowfang Keep"] = { { 5, false } },
["Stormwind Stockades"] = { { 5, false } },
["Blackfathom Deeps"] = { { 5, false } },
["Gnomeregan"] = { { 5, false } },
["Razorfen Kraul"] = { { 5, false } },
["Scarlet Graveyard"] = { { 5, false } },
["Scarlet Library"] = { { 5, false } },
["Scarlet Armory"] = { { 5, false } },
["Scarlet Cathedral"] = { { 5, false } },
["Razorfen Downs"] = { { 5, false } },
["Uldaman"] = { { 5, false } },
["Zul'Farrak"] = { { 5, false } },
["Maraudon"] = { { 5, false } },
["Sunken Temple"] = { { 5, false } },
["Blackrock Depths"] = { { 5, false } },
["Dire Maul East"] = { { 5, false } },
["Dire Maul North"] = { { 5, false } },
["Dire Maul West"] = { { 5, false } },
["Lower Blackrock Spire"] = { { 5, false } },
["Stratholme"] = { { 5, false } },
["Scholomance"] = { { 5, false } },

["Upper Blackrock Spire"] = { { 10, false } },
["Zul'Gurub"] = { { 20, false } },
["Ruins of Ahn'Qiraj"] = { { 20, false } },
["Onyxia's Lair"] = { { 40, false } },
["Molten Core"] = { { 40, false } },
["Blackwing Lair"] = { { 40, false } },
["Temple of Ahn'Qiraj"] = { { 40, false } },
addon.instanceVersions = addon.instanceVersions or {}
addon.instanceVersions["Ragefire Chasm"] = { { 5, false } }
addon.instanceVersions["Wailing Caverns"] = { { 5, false } }
addon.instanceVersions["Deadmines"] = { { 5, false } }
addon.instanceVersions["Shadowfang Keep"] = { { 5, false } }
addon.instanceVersions["Stormwind Stockades"] = { { 5, false } }
addon.instanceVersions["Blackfathom Deeps"] = addon.instanceVersions["Blackfathom Deeps"] or { { 5, false } }
addon.instanceVersions["Gnomeregan"] = addon.instanceVersions["Gnomeregan"] or { { 5, false } }
addon.instanceVersions["Razorfen Kraul"] = { { 5, false } }
addon.instanceVersions["Scarlet Graveyard"] = { { 5, false } }
addon.instanceVersions["Scarlet Library"] = { { 5, false } }
addon.instanceVersions["Scarlet Armory"] = { { 5, false } }
addon.instanceVersions["Scarlet Cathedral"] = { { 5, false } }
addon.instanceVersions["Razorfen Downs"] = { { 5, false } }
addon.instanceVersions["Uldaman"] = { { 5, false } }
addon.instanceVersions["Zul'Farrak"] = { { 5, false } }
addon.instanceVersions["Maraudon"] = { { 5, false } }
addon.instanceVersions["Sunken Temple"] = { { 5, false } }
addon.instanceVersions["Blackrock Depths"] = { { 5, false } }
addon.instanceVersions["Dire Maul East"] = { { 5, false } }
addon.instanceVersions["Dire Maul North"] = { { 5, false } }
addon.instanceVersions["Dire Maul West"] = { { 5, false } }
addon.instanceVersions["Lower Blackrock Spire"] = { { 5, false } }
addon.instanceVersions["Stratholme"] = { { 5, false } }
addon.instanceVersions["Scholomance"] = { { 5, false } }

addon.instanceVersions["Upper Blackrock Spire"] = { { 10, false } }
addon.instanceVersions["Zul'Gurub"] = { { 20, false } }
addon.instanceVersions["Ruins of Ahn'Qiraj"] = { { 20, false } }
addon.instanceVersions["Onyxia's Lair"] = { { 40, false } }
addon.instanceVersions["Molten Core"] = { { 40, false } }
addon.instanceVersions["Blackwing Lair"] = { { 40, false } }
addon.instanceVersions["Temple of Ahn'Qiraj"] = { { 40, false } }
--["Naxxramas"] = { { 40, false } },

["Hellfire Ramparts"] = { { 5, false }, { 5, true } },
["Blood Furnace"] = { { 5, false }, { 5, true } },
["Slave Pens"] = { { 5, false }, { 5, true } },
["Underbog"] = { { 5, false }, { 5, true } },
["Mana-Tombs"] = { { 5, false }, { 5, true } },
["Auchenai Crypts"] = { { 5, false }, { 5, true } },
["Sethekk Halls"] = { { 5, false }, { 5, true } },
["Old Hillsbrad Foothills"] = { { 5, false }, { 5, true } },
["Shadow Labyrinth"] = { { 5, false }, { 5, true } },
["Mechanar"] = { { 5, false }, { 5, true } },
["Shattered Halls"] = { { 5, false }, { 5, true } },
["Steamvault"] = { { 5, false }, { 5, true } },
["Botanica"] = { { 5, false }, { 5, true } },
["Arcatraz"] = { { 5, false }, { 5, true } },
["Black Morass"] = { { 5, false }, { 5, true } },
["Magisters' Terrace"] = { { 5, false }, { 5, true } },

["Karazhan"] = { { 10, false } },
["Zul'Aman"] = { { 10, false } },
["Gruul's Lair"] = { { 25, false } },
["Magtheridon's Lair"] = { { 25, false } },
["Serpentshrine Cavern"] = { { 25, false } },
["Tempest Keep"] = { { 25, false } },
["Mount Hyjal"] = { { 25, false } },
["Black Temple"] = { { 25, false } },
["Sunwell Plateau"] = { { 25, false } },

["Utgarde Keep"] = { { 5, false }, { 5, true } },
["Nexus"] = { { 5, false }, { 5, true } },
["Azjol-Nerub"] = { { 5, false }, { 5, true } },
["Old Kingdom"] = { { 5, false }, { 5, true } },
["Drak'Tharon Keep"] = { { 5, false }, { 5, true } },
["Violet Hold"] = { { 5, false }, { 5, true } },
["Gundrak"] = { { 5, false }, { 5, true } },
["Halls of Stone"] = { { 5, false }, { 5, true } },
["Culling of Stratholme"] = { { 5, false }, { 5, true } },
["Halls of Lightning"] = { { 5, false }, { 5, true } },
["Utgarde Pinnacle"] = { { 5, false }, { 5, true } },
["Oculus"] = { { 5, false }, { 5, true } },
["Trial of the Champion"] = { { 5, false }, { 5, true } },
["Forge of Souls"] = { { 5, false }, { 5, true } },
["Pit of Saron"] = { { 5, false }, { 5, true } },
["Halls of Reflection"] = { { 5, false }, { 5, true } },

["Naxxramas"] = { { 25, false }, { 10, false } },
["Obsidian Sanctum"] = { { 25, false }, { 10, false } },
["Vault of Archavon"] = { { 25, false }, { 10, false } },
["Eye of Eternity"] = { { 25, false }, { 10, false } },
addon.instanceVersions["Hellfire Ramparts"] = { { 5, false }, { 5, true } }
addon.instanceVersions["Blood Furnace"] = { { 5, false }, { 5, true } }
addon.instanceVersions["Slave Pens"] = { { 5, false }, { 5, true } }
addon.instanceVersions["Underbog"] = { { 5, false }, { 5, true } }
addon.instanceVersions["Mana-Tombs"] = { { 5, false }, { 5, true } }
addon.instanceVersions["Auchenai Crypts"] = { { 5, false }, { 5, true } }
addon.instanceVersions["Sethekk Halls"] = { { 5, false }, { 5, true } }
addon.instanceVersions["Old Hillsbrad Foothills"] = { { 5, false }, { 5, true } }
addon.instanceVersions["Shadow Labyrinth"] = { { 5, false }, { 5, true } }
addon.instanceVersions["Mechanar"] = { { 5, false }, { 5, true } }
addon.instanceVersions["Shattered Halls"] = { { 5, false }, { 5, true } }
addon.instanceVersions["Steamvault"] = { { 5, false }, { 5, true } }
addon.instanceVersions["Botanica"] = { { 5, false }, { 5, true } }
addon.instanceVersions["Arcatraz"] = { { 5, false }, { 5, true } }
addon.instanceVersions["Black Morass"] = { { 5, false }, { 5, true } }
addon.instanceVersions["Magisters' Terrace"] = { { 5, false }, { 5, true } }

addon.instanceVersions["Karazhan"] = { { 10, false } }
addon.instanceVersions["Zul'Aman"] = { { 10, false } }
addon.instanceVersions["Gruul's Lair"] = { { 25, false } }
addon.instanceVersions["Magtheridon's Lair"] = { { 25, false } }
addon.instanceVersions["Serpentshrine Cavern"] = { { 25, false } }
addon.instanceVersions["Tempest Keep"] = { { 25, false } }
addon.instanceVersions["Mount Hyjal"] = { { 25, false } }
addon.instanceVersions["Black Temple"] = { { 25, false } }
addon.instanceVersions["Sunwell Plateau"] = { { 25, false } }

addon.instanceVersions["Utgarde Keep"] = { { 5, false }, { 5, true } }
addon.instanceVersions["Nexus"] = { { 5, false }, { 5, true } }
addon.instanceVersions["Azjol-Nerub"] = { { 5, false }, { 5, true } }
addon.instanceVersions["Old Kingdom"] = { { 5, false }, { 5, true } }
addon.instanceVersions["Drak'Tharon Keep"] = { { 5, false }, { 5, true } }
addon.instanceVersions["Violet Hold"] = { { 5, false }, { 5, true } }
addon.instanceVersions["Gundrak"] = { { 5, false }, { 5, true } }
addon.instanceVersions["Halls of Stone"] = { { 5, false }, { 5, true } }
addon.instanceVersions["Culling of Stratholme"] = { { 5, false }, { 5, true } }
addon.instanceVersions["Halls of Lightning"] = { { 5, false }, { 5, true } }
addon.instanceVersions["Utgarde Pinnacle"] = { { 5, false }, { 5, true } }
addon.instanceVersions["Oculus"] = { { 5, false }, { 5, true } }
addon.instanceVersions["Trial of the Champion"] = { { 5, false }, { 5, true } }
addon.instanceVersions["Forge of Souls"] = { { 5, false }, { 5, true } }
addon.instanceVersions["Pit of Saron"] = { { 5, false }, { 5, true } }
addon.instanceVersions["Halls of Reflection"] = { { 5, false }, { 5, true } }

addon.instanceVersions["Naxxramas"] = { { 25, false }, { 10, false } }
addon.instanceVersions["Obsidian Sanctum"] = { { 25, false }, { 10, false } }
addon.instanceVersions["Vault of Archavon"] = { { 25, false }, { 10, false } }
addon.instanceVersions["Eye of Eternity"] = { { 25, false }, { 10, false } }
--["Onyxia's Lair"] = { { 10, false }, { 25, false } },
["Ulduar"] = { { 25, false }, { 10, false } },
addon.instanceVersions["Ulduar"] = { { 25, false }, { 10, false } }

["Trial of the Crusader"] = { { 25, false }, { 10, false }, { 25, true }, { 10, true } },
["Icecrown Citadel"] = { { 25, false }, { 10, false }, { 25, true }, { 10, true } },
["Ruby Sanctum"] = { { 25, false }, { 10, false }, { 25, true }, { 10, true } },
["Trial of the Grand Crusader"] = { { 25, true }, { 10, true } },
addon.instanceVersions["Trial of the Crusader"] = { { 25, false }, { 10, false }, { 25, true }, { 10, true } }
addon.instanceVersions["Icecrown Citadel"] = { { 25, false }, { 10, false }, { 25, true }, { 10, true } }
addon.instanceVersions["Ruby Sanctum"] = { { 25, false }, { 10, false }, { 25, true }, { 10, true } }
addon.instanceVersions["Trial of the Grand Crusader"] = { { 25, true }, { 10, true } }

["Coren Direbrew"] = { { 5, false } },
["Ahune"] = { { 5, false }, { 5, true } },
["Headless Horseman"] = { { 5, false } },
["Apothecary Hummel"] = { { 5, false } },
}
addon.instanceVersions["Coren Direbrew"] = { { 5, false } }
addon.instanceVersions["Ahune"] = { { 5, false }, { 5, true } }
addon.instanceVersions["Headless Horseman"] = { { 5, false } }
addon.instanceVersions["Apothecary Hummel"] = { { 5, false } }


--For use in generating config controls, get all instance orders in order
Expand Down
2 changes: 1 addition & 1 deletion Groupie.toc
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
## Interface: 30403
## Title: Groupie
## Notes: A better LFG tool for Classic WoW.
## Version: 1.74-alpha
## Version: 1.75-alpha
## Author: Gogo, LemonDrake, Kynura, Raegen
## SavedVariables: GroupieDB
## X-Curse-Project-ID: 661450
Expand Down
26 changes: 26 additions & 0 deletions Groupie_Vanilla.toc
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
## Interface: 11501
## Title: Groupie
## Notes: A better LFG tool for Classic WoW.
## Version: 1.75-alpha
## Author: Gogo, LemonDrake, Kynura, Raegen
## SavedVariables: GroupieDB
## X-Curse-Project-ID: 661450

embeds.xml

Localization\enUS.lua
Localization\frFR.lua
UI/minimap.xml
UI/listingtemplate.xml
UI/friendlistingtemplate.xml
Helpers.lua
DBs/AchievementData.lua
DBs/InstanceData.lua
Globals.lua
Core.lua
#GroupBrowser.lua
RightClick.lua
Listener.lua
AutoResponse.lua
AnnounceReset.lua
AfterParty.lua
26 changes: 26 additions & 0 deletions Groupie_Wrath.toc
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
## Interface: 30403
## Title: Groupie
## Notes: A better LFG tool for Classic WoW.
## Version: 1.75-alpha
## Author: Gogo, LemonDrake, Kynura, Raegen
## SavedVariables: GroupieDB
## X-Curse-Project-ID: 661450

embeds.xml

Localization\enUS.lua
Localization\frFR.lua
UI/minimap.xml
UI/listingtemplate.xml
UI/friendlistingtemplate.xml
Helpers.lua
DBs/AchievementData.lua
DBs/InstanceData.lua
Globals.lua
Core.lua
#GroupBrowser.lua
RightClick.lua
Listener.lua
AutoResponse.lua
AnnounceReset.lua
AfterParty.lua
Loading

0 comments on commit ca023ef

Please sign in to comment.