diff --git a/Changes.txt b/Changes.txt new file mode 100644 index 0000000..9bec14e --- /dev/null +++ b/Changes.txt @@ -0,0 +1,11 @@ +Many bug fixes, new profession functionality, refactoring. + +- Now able to show all professions including trainer-taught skills as well as recipes, formulas etc. +- Minor, minor UI adjustments. + +Bug fixes: +- Fixed bug where Hunter pet skills and Warlock demon spells do not show as learned. +- The Mail and Plate skills will now show as learned once they have been learned. +- Rogue poisons will now show as learned once they have been learned. +- Dire Bear Form used to show Bear Form as learnable again (due to the player technically unlearning Bear Form). This has now been fixed. +- Fixed a bug where certain classes' spells did not show up. \ No newline at end of file diff --git a/Database/Enchanting.lua b/Database/Enchanting.lua new file mode 100644 index 0000000..29a0fe0 --- /dev/null +++ b/Database/Enchanting.lua @@ -0,0 +1,13 @@ +local _, FieldGuide = ... + +FieldGuide.ENCHANTING = { + [2] = { + [1] = { + ["name"] = "Arcane Intellect", + ["rank"] = 1, + ["cost"] = 10, + ["texture"] = "Interface/ICONS/spell_holy_magicalsentry", + ["id"] = 1459 + }, + }, +} \ No newline at end of file diff --git a/Database/HunterPets.lua b/Database/HunterPets.lua index 8b2c167..9f82303 100644 --- a/Database/HunterPets.lua +++ b/Database/HunterPets.lua @@ -391,14 +391,14 @@ FieldGuide.HUNTER_PETS = { ["texture"] = "Interface/ICONS/spell_nature_unyeildingstamina", ["id"] = 5042 }, - [3] = { + [2] = { ["name"] = "Growl", ["rank"] = 7, ["cost"] = 9000, ["texture"] = "Interface/ICONS/ability_physical_taunt", ["id"] = 14921 }, - [2] = { + [3] = { ["name"] = "Natural Armor", ["rank"] = 10, ["cost"] = 9000, diff --git a/Database/Shaman.lua b/Database/Shaman.lua index 65d247f..8c819d0 100644 --- a/Database/Shaman.lua +++ b/Database/Shaman.lua @@ -295,7 +295,7 @@ FieldGuide.SHAMAN = { ["texture"] = "Interface/ICONS/spell_nature_poisoncleansingtotem", ["id"] = 8166 }, - [3] = { + [4] = { ["name"] = "Cure Disease", ["rank"] = 1, ["cost"] = 3000, diff --git a/Database/Warlock.lua b/Database/Warlock.lua index 4035b13..a2c1acb 100644 --- a/Database/Warlock.lua +++ b/Database/Warlock.lua @@ -655,14 +655,14 @@ FieldGuide.WARLOCK = { ["texture"] = "Interface/ICONS/spell_shadow_antishadow", ["id"] = 11739 }, - [4] = { + [5] = { ["name"] = "Hellfire", ["rank"] = 2, ["cost"] = 9900, ["texture"] = "Interface/ICONS/spell_fire_incinerate", ["id"] = 11683 }, - [5] = { + [6] = { ["name"] = "Searing Pain", ["rank"] = 4, ["cost"] = 11000, @@ -996,7 +996,7 @@ FieldGuide.WARLOCK = { ["texture"] = "Interface/ICONS/inv_misc_gem_bloodstone_02", ["id"] = 17953 }, - [5] = { + [6] = { ["name"] = "Shadowburn", ["rank"] = 6, ["cost"] = 1100, @@ -1004,7 +1004,7 @@ FieldGuide.WARLOCK = { ["id"] = 18871, ["talent"] = true }, - [6] = { + [7] = { ["name"] = "Soul Fire", ["rank"] = 2, ["cost"] = 22000, diff --git a/Database/WarlockPets.lua b/Database/WarlockPets.lua index 5ae5100..9f4495e 100644 --- a/Database/WarlockPets.lua +++ b/Database/WarlockPets.lua @@ -407,7 +407,7 @@ FieldGuide.WARLOCK_PETS = { ["texture"] = "Interface/ICONS/spell_nature_purge", ["id"] = 19736 }, - [1] = { + [2] = { ["name"] = "Fire Shield", ["rank"] = 5, ["cost"] = 20000, diff --git a/Database/Warrior.lua b/Database/Warrior.lua index eab60d0..f9377b3 100644 --- a/Database/Warrior.lua +++ b/Database/Warrior.lua @@ -303,28 +303,28 @@ FieldGuide.WARRIOR = { }, }, [30] = { - [4] = { + [1] = { ["name"] = "Rend", ["rank"] = 4, ["cost"] = 12000, ["texture"] = "Interface/ICONS/ability_gouge", ["id"] = 6548 }, - [1] = { + [2] = { ["name"] = "Berserker Stance", ["rank"] = 1, ["cost"] = 0, ["texture"] = "Interface/ICONS/ability_racial_avatar", ["id"] = 2458 }, - [2] = { + [3] = { ["name"] = "Cleave", ["rank"] = 2, ["cost"] = 12000, ["texture"] = "Interface/ICONS/ability_warrior_cleave", ["id"] = 7369 }, - [3] = { + [4] = { ["name"] = "Intercept", ["rank"] = 1, ["cost"] = 0, @@ -354,21 +354,21 @@ FieldGuide.WARRIOR = { ["texture"] = "Interface/ICONS/ability_rogue_ambush", ["id"] = 11564 }, - [1] = { + [3] = { ["name"] = "Battle Shout", ["rank"] = 4, ["cost"] = 14000, ["texture"] = "Interface/ICONS/ability_warrior_battleshout", ["id"] = 11549 }, - [2] = { + [4] = { ["name"] = "Berserker Rage", ["rank"] = 1, ["cost"] = 14000, ["texture"] = "Interface/ICONS/spell_nature_ancestralguardian", ["id"] = 18499 }, - [3] = { + [5] = { ["name"] = "Execute", ["rank"] = 2, ["cost"] = 14000, @@ -574,7 +574,7 @@ FieldGuide.WARRIOR = { ["texture"] = "Interface/ICONS/spell_nature_thunderclap", ["id"] = 11580 }, - [1] = { + [4] = { ["name"] = "Bloodthirst", ["rank"] = 2, ["cost"] = 2000, @@ -582,14 +582,14 @@ FieldGuide.WARRIOR = { ["id"] = 23892, ["talent"] = true }, - [2] = { + [5] = { ["name"] = "Execute", ["rank"] = 4, ["cost"] = 40000, ["texture"] = "Interface/ICONS/inv_sword_48", ["id"] = 20661 }, - [5] = { + [6] = { ["name"] = "Shield Slam", ["rank"] = 2, ["cost"] = 200, -- Typo on pservers? @@ -689,7 +689,7 @@ FieldGuide.WARRIOR = { ["texture"] = "Interface/ICONS/ability_warrior_revenge", ["id"] = 11601 }, - [6] = { + [7] = { ["name"] = "Shield Slam", ["rank"] = 3, ["cost"] = 2800, diff --git a/FieldGuide.lua b/FieldGuide.lua index c6cef2d..185de74 100644 --- a/FieldGuide.lua +++ b/FieldGuide.lua @@ -1,5 +1,27 @@ local _, FieldGuide = ... +--[[ + TODO: + 1. Fix bugs. + 2. Add tradeskills (Enchanting is part of Craft UI and not normal tradeskill API). + 3. Modularize all functions (pin functionality into separate .lua file etc.) – pins/logic/UI stuff. + 4. Change function names to uppercase. + 5. Load libs in embeds.xml. + 6. Left and right knob positions need to be more in line with north and south. + 7. Add hunter pet skills that are learned by other pets in the wild. + + BUGS: + 1. Hunter pet skills/demon spells do not get marked as known, because they are part of the Craft UI. (https://wow.gamepedia.com/World_of_Warcraft_API#Crafting) + 1.1. Make sure hunter pet skills/demon spells window updates in real time if it is open while learning a pet skill. + 2. Mail and Plate skills are not spells and won't react to ticking known spells box (check skill line). + 3. Fix wonky Level strings showing/not showing when there are no spells at 52, 54, 56, 58, and 60. + 4. Rogue poisons are also part of crafting UI. + 5. Fist weapons do not track at all because they are untrackable – how to solve? + 6. If manually dragging scroll knob, and 1+ rows are hidden, it will sometimes end up at the bottom too early, i.e. it skips too many lines or something. + 7. Dire Bear Form overwrites normal Bear Form and Bear Form will show up as learnable again. + 8. Warrior spells such as Hamstring, Heroic Strike etc. overwrite the older spells so they won't show up as learned. +--]] + local pairs, ipairs, select, floor = pairs, ipairs, select, math.floor local GetFactionInfoByID, IsSpellKnown, GetMoney, GetCoinTextureString = GetFactionInfoByID, IsSpellKnown, GetMoney, GetCoinTextureString local hbd = LibStub("HereBeDragons-2.0") @@ -192,7 +214,7 @@ end -- Returns the cost modifier (0.9 if player is honored or rank 3, 0.8 if both, 1 otherwise). local function getCostModifier() local honored = false - local rankThree = UnitPVPRank("player") > 7 + local rankThree = UnitPVPRank("player") > 6 if isAlliance() then honored = select(3, GetFactionInfoByID(72)) > 5 or select(3, GetFactionInfoByID(69)) > 5 or select(3, GetFactionInfoByID(47)) > 5 or select(3, GetFactionInfoByID(54)) > 5 else