From 33ec43d991cb0278c90c7092ff3886c282199d11 Mon Sep 17 00:00:00 2001 From: RDW Date: Wed, 21 Aug 2024 23:19:24 +0200 Subject: [PATCH 1/2] Core: Set up a new category for The War Within --- DB/SharedConstants.lua | 1 + Icons/tww.blp | Bin 0 -> 2580 bytes Locales.lua | 1 + Modules/Options/Options.lua | 13 +++++++++++++ Options_Defaults.lua | 2 ++ Utils/Sorting.lua | 1 + 6 files changed, 18 insertions(+) create mode 100644 Icons/tww.blp diff --git a/DB/SharedConstants.lua b/DB/SharedConstants.lua index 3c2788e8..90788531 100644 --- a/DB/SharedConstants.lua +++ b/DB/SharedConstants.lua @@ -155,6 +155,7 @@ C.ITEM_CATEGORIES = { BFA = "BFA", SHADOWLANDS = "SHADOWLANDS", DRAGONFLIGHT = "DRAGONFLIGHT", + TWW = "TWW", HOLIDAY = "HOLIDAY", } diff --git a/Icons/tww.blp b/Icons/tww.blp new file mode 100644 index 0000000000000000000000000000000000000000..9ead8c2177b2d23a4829c9fcc8ec701c614e9710 GIT binary patch literal 2580 zcmeIz?`s=n902g|T@!bW%pTH?yioR}rd>90E52zFv3EVD3+_b+9y&qDX*aftSP>cS zjh8E_*{f;n3q`>u8#TLvAOnB&hHaB!x8{YQT@kuX+w(_l)447Y=5opTz0~I}eWiau zk9-NAe4ppJ=li`M={wy27y|$-w}TPzo5vXSVQ?7D0P`4S3||1C^?wH7e85GW^$3Qu zrW4!8b_cdQu-$?G?0_Fs`|eqL=^k+M-sWcT!)+Un;WYr+nf$LKRYGK49itv75Kc~d zd2NM}G8|vO|Z|v@?056}24T2ww#}6|Xg0wgj2ftIjZJ#fN_%-F^Tht>~ zx~KHU#)s6MR=kT{SU5$!TEv&|%2yvyzgL^-Np|eoMLk8PD(h0vza`$Mai##R6Wpz5HqsxJJ)ntFkpO z|MUd#`x?deK1u>b%7 literal 0 HcmV?d00001 diff --git a/Locales.lua b/Locales.lua index 1273501e..6b042656 100644 --- a/Locales.lua +++ b/Locales.lua @@ -2,6 +2,7 @@ local L L = LibStub("AceLocale-3.0"):NewLocale("Rarity", "enUS", true) -- L["AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"] = true +L["The War Within"] = true L["Noble Flying Carpet"] = true L["Clayscale Hornstrider"] = true L["Falling Star Catcher"] = true diff --git a/Modules/Options/Options.lua b/Modules/Options/Options.lua index 5b82bde3..dcf5d0d9 100644 --- a/Modules/Options/Options.lua +++ b/Modules/Options/Options.lua @@ -34,6 +34,7 @@ local LEGION = "LEGION" local BFA = "BFA" local SHADOWLANDS = "SHADOWLANDS" local DRAGONFLIGHT = "DRAGONFLIGHT" +local TWW = "TWW" local HOLIDAY = "HOLIDAY" -- Methods of obtaining @@ -870,6 +871,18 @@ function R:PrepareOptions() Rarity.GUI:UpdateText() end, }, + theWarWithin = { + type = "toggle", + order = newOrder(), + name = L["The War Within"], + get = function() + return self.db.profile.cats[TWW] + end, + set = function(info, val) + self.db.profile.cats[TWW] = val + Rarity.GUI:UpdateText() + end, + }, }, -- args }, -- contentCategory collectionType = { diff --git a/Options_Defaults.lua b/Options_Defaults.lua index ba434b19..8f2a46ef 100644 --- a/Options_Defaults.lua +++ b/Options_Defaults.lua @@ -63,6 +63,7 @@ R.catIcons = { [CONSTANTS.ITEM_CATEGORIES.BFA] = "bfa", [CONSTANTS.ITEM_CATEGORIES.SHADOWLANDS] = "shadowlands", [CONSTANTS.ITEM_CATEGORIES.DRAGONFLIGHT] = "dragonflight", + [CONSTANTS.ITEM_CATEGORIES.TWW] = "tww", } function R:PrepareDefaults() @@ -132,6 +133,7 @@ function R:PrepareDefaults() [CONSTANTS.ITEM_CATEGORIES.BFA] = true, [CONSTANTS.ITEM_CATEGORIES.SHADOWLANDS] = true, [CONSTANTS.ITEM_CATEGORIES.DRAGONFLIGHT] = true, + [CONSTANTS.ITEM_CATEGORIES.TWW] = true, }, collectionType = { [CONSTANTS.ITEM_TYPES.MOUNT] = true, diff --git a/Utils/Sorting.lua b/Utils/Sorting.lua index 321c86c2..5aa3389e 100644 --- a/Utils/Sorting.lua +++ b/Utils/Sorting.lua @@ -25,6 +25,7 @@ local catOrder = { [CONSTANTS.ITEM_CATEGORIES.BFA] = 8, [CONSTANTS.ITEM_CATEGORIES.SHADOWLANDS] = 9, [CONSTANTS.ITEM_CATEGORIES.DRAGONFLIGHT] = 10, + [CONSTANTS.ITEM_CATEGORIES.TWW] = 11, } local function compareCategory(a, b) From 5f93801470e1ed4edc0d857a6d24dff15ec37631 Mon Sep 17 00:00:00 2001 From: RDW Date: Wed, 21 Aug 2024 23:53:53 +0200 Subject: [PATCH 2/2] DB: Added a first batch of TWW collectibles This is a very incomplete list, since wowhead has no real data. --- DB/Mounts/TheWarWithin.lua | 82 ++++++++++++++++++++++++++++++++++++++ DB/Pets/TheWarWithin.lua | 25 ++++++++++++ DB/SharedConstants.lua | 9 +++++ DB/Toys/TheWarWithin.lua | 37 +++++++++++++++++ Locales.lua | 11 +++++ Rarity.toc | 3 ++ 6 files changed, 167 insertions(+) create mode 100644 DB/Mounts/TheWarWithin.lua create mode 100644 DB/Pets/TheWarWithin.lua create mode 100644 DB/Toys/TheWarWithin.lua diff --git a/DB/Mounts/TheWarWithin.lua b/DB/Mounts/TheWarWithin.lua new file mode 100644 index 00000000..90cb8704 --- /dev/null +++ b/DB/Mounts/TheWarWithin.lua @@ -0,0 +1,82 @@ +local addonName, addonTable = ... + +local L = LibStub("AceLocale-3.0"):GetLocale("Rarity") +local CONSTANTS = addonTable.constants + +local twwMounts = { + -- 11.0 mounts + ["Reins of the Sureki Skyrazor"] = { + cat = CONSTANTS.ITEM_CATEGORIES.TWW, + type = CONSTANTS.ITEM_TYPES.MOUNT, + method = CONSTANTS.DETECTION_METHODS.NPC, + name = L["Reins of the Sureki Skyrazor"], + itemId = 224147, + spellId = 451486, + npcs = { 219778 }, + groupSize = 5, + equalOdds = true, + chance = 100, -- No data available + instanceDifficulties = { [CONSTANTS.INSTANCE_DIFFICULTIES.MYTHIC_DUNGEON] = true }, + coords = { { i = true, m = CONSTANTS.UIMAPIDS.NERUBAR_PALACE } }, + }, + ["Beledar's Spawn"] = { + cat = CONSTANTS.ITEM_CATEGORIES.TWW, + type = CONSTANTS.ITEM_TYPES.MOUNT, + method = CONSTANTS.DETECTION_METHODS.NPC, + name = L["Beledar's Spawn"], + itemId = 223315, + spellId = 448941, + npcs = { 207802 }, + chance = 100, -- No data available + coords = { { m = CONSTANTS.UIMAPIDS.HALLOWFALL } }, + }, + ["Regurgitated Mole Reins"] = { + cat = CONSTANTS.ITEM_CATEGORIES.TWW, + type = CONSTANTS.ITEM_TYPES.MOUNT, + method = CONSTANTS.DETECTION_METHODS.NPC, + name = L["Regurgitated Mole Reins"], + itemId = 223501, + spellId = 449258, + npcs = { 220285 }, + chance = 100, -- No data available + coords = { { m = CONSTANTS.UIMAPIDS.THE_RINGING_DEEPS } }, + }, + ["Wick's Lead"] = { + cat = CONSTANTS.ITEM_CATEGORIES.TWW, + type = CONSTANTS.ITEM_TYPES.MOUNT, + method = CONSTANTS.DETECTION_METHODS.NPC, + name = L["Wick's Lead"], + itemId = 225548, + spellId = 449264, + npcs = { 210797 }, + groupSize = 5, + equalOdds = true, + chance = 100, -- No data available + instanceDifficulties = { [CONSTANTS.INSTANCE_DIFFICULTIES.MYTHIC_DUNGEON] = true }, + coords = { { m = CONSTANTS.UIMAPIDS.DARKFLAME_CLEFT, i = true } }, + }, + ["Alunira"] = { + cat = CONSTANTS.ITEM_CATEGORIES.TWW, + type = CONSTANTS.ITEM_TYPES.MOUNT, + method = CONSTANTS.DETECTION_METHODS.COLLECTION, + name = L["Alunira"], + itemId = 223270, + collectedItemId = { 224025 }, + spellId = 447213, + chance = 10, + coords = { { m = CONSTANTS.UIMAPIDS.ISLE_OF_DORN } }, + }, + ["Dauntless Imperial Lynx"] = { + cat = CONSTANTS.ITEM_CATEGORIES.TWW, + type = CONSTANTS.ITEM_TYPES.MOUNT, + method = CONSTANTS.DETECTION_METHODS.USE, + name = L["Dauntless Imperial Lynx"], + itemId = 223318, + spellId = 448979, + items = { 228741 }, + chance = 100, -- No data available + coords = { { i = true, m = CONSTANTS.UIMAPIDS.HALLOWFALL } }, + }, +} + +Rarity.ItemDB.MergeItems(Rarity.ItemDB.mounts, twwMounts) diff --git a/DB/Pets/TheWarWithin.lua b/DB/Pets/TheWarWithin.lua new file mode 100644 index 00000000..a1a39cc6 --- /dev/null +++ b/DB/Pets/TheWarWithin.lua @@ -0,0 +1,25 @@ +local addonName, addonTable = ... + +local L = LibStub("AceLocale-3.0"):GetLocale("Rarity") +local CONSTANTS = addonTable.constants + +local twwPets = { + -- 11.0 pets + ["Bop"] = { + cat = CONSTANTS.ITEM_CATEGORIES.TWW, + type = CONSTANTS.ITEM_TYPES.PET, + method = CONSTANTS.DETECTION_METHODS.NPC, + name = L["Bop"], + npcs = { 218523 }, + itemId = 223155, + spellId = 446024, + chance = 5, -- No data available + creatureId = 222318, + groupSize = 5, + equalOdds = true, + instanceDifficulties = { [CONSTANTS.INSTANCE_DIFFICULTIES.MYTHIC_DUNGEON] = true }, + coords = { { m = CONSTANTS.UIMAPIDS.CINDERBREW_MEADERY, i = true } }, + }, +} + +Rarity.ItemDB.MergeItems(Rarity.ItemDB.pets, twwPets) diff --git a/DB/SharedConstants.lua b/DB/SharedConstants.lua index 90788531..3d173462 100644 --- a/DB/SharedConstants.lua +++ b/DB/SharedConstants.lua @@ -124,6 +124,15 @@ C.UIMAPIDS = { THE_THROUGHWAY = 2165, CROSSROADS_OF_FATE = 2194, -- Dawn of the Infinite (subzone) THE_EMERALD_DREAM = 2200, + + -- The War Within zones + THE_RINGING_DEEPS = 2214, + HALLOWFALL = 2215, + ISLE_OF_DORN = 2248, + NERUBAR_PALACE = 2291, + DARKFLAME_CLEFT = 2303, + CINDERBREW_MEADERY = 2335, + THE_STONEVAULT = 2341, } -- Types of items diff --git a/DB/Toys/TheWarWithin.lua b/DB/Toys/TheWarWithin.lua new file mode 100644 index 00000000..5cb62028 --- /dev/null +++ b/DB/Toys/TheWarWithin.lua @@ -0,0 +1,37 @@ +local addonName, addonTable = ... + +local L = LibStub("AceLocale-3.0"):GetLocale("Rarity") +local CONSTANTS = addonTable.constants + +local twwToysAndItems = { + -- 11.0 items and toys + ["Crackling Shard"] = { + cat = CONSTANTS.ITEM_CATEGORIES.TWW, + type = CONSTANTS.ITEM_TYPES.ITEM, + method = CONSTANTS.DETECTION_METHODS.ZONE, + name = L["Crackling Shard"], + itemId = 224025, + spellId = 450842, -- Irrelevant + zones = { tostring(CONSTANTS.UIMAPIDS.ISLE_OF_DORN) }, + chance = 2000, + sourceText = L["Dropped by any mob in Isle of Dorn (except minor mobs). 10 of these can be combined to pierce Alunira's shield, allowing combat and a guaranteed drop of Alunira."], + coords = { { m = CONSTANTS.UIMAPIDS.ISLE_OF_DORN } }, + repeatable = true, + }, + ["Malfunctioning Mechsuit"] = { + cat = CONSTANTS.ITEM_CATEGORIES.TWW, + type = CONSTANTS.ITEM_TYPES.ITEM, + method = CONSTANTS.DETECTION_METHODS.NPC, + name = L["Malfunctioning Mechsuit"], + npcs = { 219440 }, + itemId = 226683, + spellId = 442358, + chance = 1, -- No data available + groupSize = 5, + equalOdds = true, + instanceDifficulties = { [CONSTANTS.INSTANCE_DIFFICULTIES.MYTHIC_DUNGEON] = true }, + coords = { { m = CONSTANTS.UIMAPIDS.THE_STONEVAULT, i = true } }, + }, +} + +Rarity.ItemDB.MergeItems(Rarity.ItemDB.toys, twwToysAndItems) diff --git a/Locales.lua b/Locales.lua index 6b042656..331bad85 100644 --- a/Locales.lua +++ b/Locales.lua @@ -2,6 +2,17 @@ local L L = LibStub("AceLocale-3.0"):NewLocale("Rarity", "enUS", true) -- L["AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"] = true +L["Malfunctioning Mechsuit"] = true +L["Dauntless Imperial Lynx"] = true +L["Bop"] = true +L["Dropped by any mob in Isle of Dorn (except minor mobs). 10 of these can be combined to pierce Alunira's shield, allowing combat and a guaranteed drop of Alunira."] = + true +L["Crackling Shard"] = true +L["Alunira"] = true +L["Wick's Lead"] = true +L["Regurgitated Mole Reins"] = true +L["Beledar's Spawn"] = true +L["Reins of the Sureki Skyrazor"] = true L["The War Within"] = true L["Noble Flying Carpet"] = true L["Clayscale Hornstrider"] = true diff --git a/Rarity.toc b/Rarity.toc index 121266da..dd2ffe1a 100644 --- a/Rarity.toc +++ b/Rarity.toc @@ -81,6 +81,7 @@ DB\Mounts\Legion.lua DB\Mounts\BattleForAzeroth.lua DB\Mounts\Shadowlands.lua DB\Mounts\Dragonflight.lua +DB\Mounts\TheWarWithin.lua ## Pets DB\Pets\HolidayEvents.lua @@ -94,6 +95,7 @@ DB\Pets\Legion.lua DB\Pets\BattleForAzeroth.lua DB\Pets\Shadowlands.lua DB\Pets\Dragonflight.lua +DB\Pets\TheWarWithin.lua ## Toys (and other items, for now...) DB\Toys\HolidayEvents.lua @@ -107,6 +109,7 @@ DB\Toys\Legion.lua DB\Toys\BattleForAzeroth.lua DB\Toys\Shadowlands.lua DB\Toys\Dragonflight.lua +DB\Toys\TheWarWithin.lua # Utility/Helpers Utils\DebugCache.lua