From 0aad06ba2929ef3ad8ad75809223c463b29af19f Mon Sep 17 00:00:00 2001 From: ackis Date: Tue, 29 Sep 2009 16:22:44 +0000 Subject: [PATCH] Change class filtering to be exclusinve instead of inclusive. --- AckisRecipeList.lua | 243 ++++++++++++++++----------------------------------- 1 file changed, 73 insertions(+), 170 deletions(-) diff --git a/AckisRecipeList.lua b/AckisRecipeList.lua index f9a5fae..2ed270c 100644 --- a/AckisRecipeList.lua +++ b/AckisRecipeList.lua @@ -849,6 +849,38 @@ end do + ------------------------------------------------------------------------------- + -- Item "rarity" + ------------------------------------------------------------------------------- + local R_COMMON, R_UNCOMMON, R_RARE, R_EPIC, R_LEGENDARY, R_ARTIFACT = 1, 2, 3, 4, 5, 6 + + ------------------------------------------------------------------------------- + -- Origin + ------------------------------------------------------------------------------- + local GAME_ORIG, GAME_TBC, GAME_WOTLK = 0, 1, 2 + + ------------------------------------------------------------------------------- + -- Filter flags + ------------------------------------------------------------------------------- + local F_ALLIANCE, F_HORDE, F_TRAINER, F_VENDOR, F_INSTANCE, F_RAID = 1, 2, 3, 4, 5, 6 + local F_SEASONAL, F_QUEST, F_PVP, F_WORLD_DROP, F_MOB_DROP, F_DISC = 7, 8, 9, 10, 11, 12 + local F_DK, F_DRUID, F_HUNTER, F_MAGE, F_PALADIN, F_PRIEST, F_SHAMAN, F_ROGUE, F_WARLOCK, F_WARRIOR = 21, 22, 23, 24, 25, 26, 27, 28, 29 30 + local F_IBOE, F_IBOP, F_IBOA, F_RBOE, F_RBOP, F_RBOA, = 36, 37, 38, 40, 41, 42 + local F_DPS, F_TANK, F_HEALER, F_CASTER = 51, 52, 53, 54 + local F_CLOTH, F_LEATHER, F_MAIL, F_PLATE, F_CLOAK, F_TRINKET, F_RING, F_NECK, F_SHIELD = 56, 57, 58, 59, 60, 61, 62, 63, 64 + local F_1H, F_2H, F_AXE, F_SWORD, F_MACE, F_POLEARM, F_DAGGER, F_STAFF, F_WAND, F_THROWN, F_BOW, F_XBOW, F_AMMO, F_FIST, F_GUN = 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80 + + ------------------------------------------------------------------------------- + -- Reputation Filter flags + ------------------------------------------------------------------------------- + local F_ARGENTDAWN, F_CENARION_CIRCLE, F_THORIUM_BROTHERHOOD, F_TIMBERMAW_HOLD, F_ZANDALAR = 96, 97, 98, 99, 100 + local F_ALDOR, F_ASHTONGUE, F_CENARION_EXPIDITION, F_HELLFIRE, F_CONSORTIUM = 101, 102, 103, 104, 105 + local F_KOT, F_LOWERCITY, F_NAGRAND, F_SCALE_SANDS, F_SCRYER, F_SHATAR = 106, 107, 108, 109, 110 + local F_SHATTEREDSUN, F_SPOREGGAR, F_VIOLETEYE = 111, 112, 113, 114 + local F_ARGENTCRUSADE, F_FRENZYHEART, F_EBONBLADE, F_KIRINTOR, F_HODIR = 115, 116, 117, 118, 119 + local F_KALUAK, F_ORACLES, F_WYRMREST, F_WRATHCOMMON1, F_WRATHCOMMON2 = 120, 121, 122, 123, 124 + local F_WRATHCOMMON3, F_WRATHCOMMON4, F_WRATHCOMMON5 = 125, 126, 127 + local reptable = nil local function CreateRepTable() @@ -946,13 +978,13 @@ do -- We want to filter out all the Horde only recipes if (playerFaction == BFAC["Alliance"]) then -- Filter out Horde only - if (flags[1] == false) and (flags[2] == true) then + if (flags[F_ALLIANCE] == false) and (flags[F_HORDE] == true) then return false end -- We want to filter out all the Alliance only recipes else -- Filter out Alliance only - if (flags[2] == false) and (flags[1] == true) then + if (flags[F_HORDE] == false) and (flags[F_ALLIANCE] == true) then return false end end @@ -972,45 +1004,45 @@ do -- Filter out "era" recipes - if ((obtaindb.originalwow == false) and (Recipe["Game"] == 0)) then + if ((obtaindb.originalwow == false) and (Recipe["Game"] == GAME_ORIG)) then return false end - if ((obtaindb.bc == false) and (Recipe["Game"] == 1)) then + if ((obtaindb.bc == false) and (Recipe["Game"] == GAME_TBC)) then return false end - if ((obtaindb.wrath == false) and (Recipe["Game"] == 2)) then + if ((obtaindb.wrath == false) and (Recipe["Game"] == GAME_WOTLK)) then return false end local bindingdb = filterdb.binding -- Include BoE Items in the scan? (if I want to see BoE items, only filter those that are not BoE) - if (bindingdb.itemboe == false) and (flags[36] == true) then + if (bindingdb.itemboe == false) and (flags[F_IBOE] == true) then return false end -- Include BoP Items in the scan? (if I want to see BoP items, only filter those that are not BoP) - if (bindingdb.itembop == false) and (flags[37] == true) then + if (bindingdb.itembop == false) and (flags[F_IBOP] == true) then return false end -- Include BoA Items in the scan? (if I want to see BoA items, only filter those that are not BoA) - if (bindingdb.itemboa == false) and (flags[38] == true) then + if (bindingdb.itemboa == false) and (flags[F_IBOA] == true) then return false end -- Include BoE Recipes in the scan? (if I want to see BoE recipes, only filter those that are not BoE) - if (bindingdb.recipeboe == false) and (flags[40] == true) then + if (bindingdb.recipeboe == false) and (flags[F_RBOE] == true) then return false end -- Include BoP Recipes in the scan? (if I want to see BoP recipes, only filter those that are not BoP) - if (bindingdb.recipebop == false) and (flags[41] == true) then + if (bindingdb.recipebop == false) and (flags[F_RBOP] == true) then return false end -- Include BoA Recipes in the scan? (if I want to see BoA recipes, only filter those that are not BoA) - if (bindingdb.recipeboa == false) and (flags[42] == true) then + if (bindingdb.recipeboa == false) and (flags[F_RBOA] == true) then return false end @@ -1119,165 +1151,36 @@ do local classesdb = filterdb.classes - if (classesdb.deathknight == false) and (flags[21] == true) then - if (classesdb.druid == true) and (flags[22] == true) or - (classesdb.hunter == true) and (flags[23] == true) or - (classesdb.mage == true) and (flags[24] == true) or - (classesdb.paladin == true) and (flags[25] == true) or - (classesdb.priest == true) and (flags[26] == true) or - (classesdb.shaman == true) and (flags[27] == true) or - (classesdb.rogue == true) and (flags[28] == true) or - (classesdb.warlock == true) and (flags[29] == true) or - (classesdb.warrior == true) and (flags[30] == true) then - --do nothing - else - return false - end - end - - if (classesdb.druid == false) and (flags[22] == true) then - if (classesdb.deathknight == true) and (flags[21] == true) or - (classesdb.hunter == true) and (flags[23] == true) or - (classesdb.mage == true) and (flags[24] == true) or - (classesdb.paladin == true) and (flags[25] == true) or - (classesdb.priest == true) and (flags[26] == true) or - (classesdb.shaman == true) and (flags[27] == true) or - (classesdb.rogue == true) and (flags[28] == true) or - (classesdb.warlock == true) and (flags[29] == true) or - (classesdb.warrior == true) and (flags[30] == true) then - --do nothing - else - return false - end - end - - if (classesdb.hunter == false) and (flags[23] == true) then - if (classesdb.druid == true) and (flags[22] == true) or - (classesdb.deathknight == true) and (flags[21] == true) or - (classesdb.mage == true) and (flags[24] == true) or - (classesdb.paladin == true) and (flags[25] == true) or - (classesdb.priest == true) and (flags[26] == true) or - (classesdb.shaman == true) and (flags[27] == true) or - (classesdb.rogue == true) and (flags[28] == true) or - (classesdb.warlock == true) and (flags[29] == true) or - (classesdb.warrior == true) and (flags[30] == true) then - --do nothing - else - return false - end - end - - if (classesdb.mage == false) and (flags[24] == true) then - if (classesdb.druid == true) and (flags[22] == true) or - (classesdb.hunter == true) and (flags[23] == true) or - (classesdb.deathknight == true) and (flags[21] == true) or - (classesdb.paladin == true) and (flags[25] == true) or - (classesdb.priest == true) and (flags[26] == true) or - (classesdb.shaman == true) and (flags[27] == true) or - (classesdb.rogue == true) and (flags[28] == true) or - (classesdb.warlock == true) and (flags[29] == true) or - (classesdb.warrior == true) and (flags[30] == true) then - --do nothing - else - return false - end - end - - if (classesdb.paladin == false) and (flags[25] == true) then - if (classesdb.druid == true) and (flags[22] == true) or - (classesdb.hunter == true) and (flags[23] == true) or - (classesdb.mage == true) and (flags[24] == true) or - (classesdb.deathknight == true) and (flags[21] == true) or - (classesdb.priest == true) and (flags[26] == true) or - (classesdb.shaman == true) and (flags[27] == true) or - (classesdb.rogue == true) and (flags[28] == true) or - (classesdb.warlock == true) and (flags[29] == true) or - (classesdb.warrior == true) and (flags[30] == true) then - --do nothing - else - return false - end - end - - if (classesdb.priest == false) and (flags[26] == true) then - if (classesdb.druid == true) and (flags[22] == true) or - (classesdb.hunter == true) and (flags[23] == true) or - (classesdb.mage == true) and (flags[24] == true) or - (classesdb.paladin == true) and (flags[25] == true) or - (classesdb.deathknight == true) and (flags[21] == true) or - (classesdb.shaman == true) and (flags[27] == true) or - (classesdb.rogue == true) and (flags[28] == true) or - (classesdb.warlock == true) and (flags[29] == true) or - (classesdb.warrior == true) and (flags[30] == true) then - --do nothing - else - return false - end - end - - if (classesdb.shaman == false) and (flags[27] == true) then - if (classesdb.druid == true) and (flags[22] == true) or - (classesdb.hunter == true) and (flags[23] == true) or - (classesdb.mage == true) and (flags[24] == true) or - (classesdb.paladin == true) and (flags[25] == true) or - (classesdb.priest == true) and (flags[26] == true) or - (classesdb.deathknight == true) and (flags[21] == true) or - (classesdb.rogue == true) and (flags[28] == true) or - (classesdb.warlock == true) and (flags[29] == true) or - (classesdb.warrior == true) and (flags[30] == true) then - --do nothing - else - return false - end - end - - if (classesdb.rogue == false) and (flags[28] == true) then - if (classesdb.druid == true) and (flags[22] == true) or - (classesdb.hunter == true) and (flags[23] == true) or - (classesdb.mage == true) and (flags[24] == true) or - (classesdb.paladin == true) and (flags[25] == true) or - (classesdb.priest == true) and (flags[26] == true) or - (classesdb.shaman == true) and (flags[27] == true) or - (classesdb.deathknight == true) and (flags[21] == true) or - (classesdb.warlock == true) and (flags[29] == true) or - (classesdb.warrior == true) and (flags[30] == true) then - --do nothing - else - return false - end - end - - if (classesdb.warlock == false) and (flags[29] == true) then - if (classesdb.druid == true) and (flags[22] == true) or - (classesdb.hunter == true) and (flags[23] == true) or - (classesdb.mage == true) and (flags[24] == true) or - (classesdb.paladin == true) and (flags[25] == true) or - (classesdb.priest == true) and (flags[26] == true) or - (classesdb.shaman == true) and (flags[27] == true) or - (classesdb.rogue == true) and (flags[28] == true) or - (classesdb.deathknight == true) and (flags[21] == true) or - (classesdb.warrior == true) and (flags[30] == true) then - --do nothing - else - return false - end - end - - if (classesdb.warrior == false) and (flags[30] == true) then - if (classesdb.druid == true) and (flags[22] == true) or - (classesdb.hunter == true) and (flags[23] == true) or - (classesdb.mage == true) and (flags[24] == true) or - (classesdb.paladin == true) and (flags[25] == true) or - (classesdb.priest == true) and (flags[26] == true) or - (classesdb.shaman == true) and (flags[27] == true) or - (classesdb.rogue == true) and (flags[28] == true) or - (classesdb.warlock == true) and (flags[29] == true) or - (classesdb.deathknight == true) and (flags[21] == true) then - --do nothing - else - return false - end - end + if ((classesdb.deathknight == false) and (flags[F_DK] == true)) then + return false + end + if ((classesdb.druid == false) and (flags[F_DRUID] == true)) then + return false + end + if ((classesdb.hunter == false) and (flags[F_HUNTER] == true)) then + return false + end + if ((classesdb.mage == false) and (flags[F_MAGE] == true)) then + return false + end + if ((classesdb.paladin == false) and (flags[F_PALADIN] == true)) then + return false + end + if ((classesdb.priest == false) and (flags[F_PRIEST] == true)) then + return false + end + if ((classesdb.shaman == false) and (flags[F_SHAMAN] == true)) then + return false + end + if ((classesdb.rogue == false) and (flags[F_ROGUE] == true)) then + return false + end + if ((classesdb.warlock == false) and (flags[F_WARLOCK] == true)) then + return false + end + if ((classesdb.warrior == false) and (flags[F_WARRIOR] == true)) then + return false + end -- Stage 2 -- loop through nonexclusive (soft filters) flags until one is true -- 1.7.9.5