From c1e711e6f587f4e0f1a38474ba3f48417267a26b Mon Sep 17 00:00:00 2001 From: "James D. Callahan III" Date: Tue, 23 Mar 2010 04:14:41 -0400 Subject: [PATCH] Acquire types and locations will no longer be prevented from being assigned due to faction conflicts - instead, those of the opposing faction can be shown by toggling the Faction filter in the General Filter section. --- ARL.lua | 67 ++++++++++++++++++++++++++----------------------------------- Frame.lua | 20 ++++++++++++++---- 2 files changed, 45 insertions(+), 42 deletions(-) diff --git a/ARL.lua b/ARL.lua index 34a39e1..d4baab9 100644 --- a/ARL.lua +++ b/ARL.lua @@ -939,7 +939,7 @@ do local acquire_data = recipe_list[spell_id].acquire_data while i <= numvars do - local location + local location, affiliation local acquire_type, acquire_id = select(i, ...) i = i + 2 @@ -967,13 +967,12 @@ do --@end-alpha@ else local trainer = trainer_list[acquire_id] - local faction = trainer.faction acquire[acquire_id] = true - if not faction or faction == BFAC[Player.faction] or faction == BFAC["Neutral"] then - location = trainer.location - end + affiliation = trainer.faction + location = trainer.location + trainer.item_list = trainer.item_list or {} trainer.item_list[spell_id] = true end @@ -986,13 +985,12 @@ do --@end-alpha@ else local vendor = vendor_list[acquire_id] - local faction = vendor.faction acquire[acquire_id] = true - if not faction or faction == BFAC[Player.faction] or faction == BFAC["Neutral"] then - location = vendor.location - end + affiliation = vendor.faction + location = vendor.location + vendor.item_list = vendor.item_list or {} vendor.item_list[spell_id] = true end @@ -1005,13 +1003,12 @@ do --@end-alpha@ else local mob = mob_list[acquire_id] - local faction = mob.faction acquire[acquire_id] = true - if not faction or faction == BFAC[Player.faction] or faction == BFAC["Neutral"] then - location = mob.location - end + affiliation = mob.faction + location = mob.location + mob_list[acquire_id].item_list = mob_list[acquire_id].item_list or {} mob_list[acquire_id].item_list[spell_id] = true end @@ -1024,13 +1021,11 @@ do --@end-alpha@ else local quest = quest_list[acquire_id] - local faction = quest.faction acquire[acquire_id] = true - if not faction or faction == BFAC[Player.faction] or faction == BFAC["Neutral"] then - location = quest.location - end + affiliation = quest.faction + location = quest.location end elseif acquire_type == A.REPUTATION then local vendor_list = private.vendor_list @@ -1058,11 +1053,10 @@ do faction[rep_level][vendor_id] = true local rep_vendor = vendor_list[vendor_id] - local rep_faction = rep_vendor.faction - if not rep_faction or rep_faction == BFAC[Player.faction] or rep_faction == BFAC["Neutral"] then - location = rep_vendor.location - end + affiliation = rep_vendor.faction + location = rep_vendor.location + rep_vendor.item_list = rep_vendor.item_list or {} rep_vendor.item_list[spell_id] = true end @@ -1086,16 +1080,15 @@ do acquire_list[acquire_type].recipes = acquire_list[acquire_type].recipes or {} acquire_list[acquire_type].name = private.acquire_names[acquire_type] - acquire_list[acquire_type].recipes[spell_id] = true + acquire_list[acquire_type].recipes[spell_id] = affiliation or true end -- acquire_type - if location then location_list[location] = location_list[location] or {} location_list[location].recipes = location_list[location].recipes or {} location_list[location].name = location - location_list[location].recipes[spell_id] = true + location_list[location].recipes[spell_id] = affiliation or true end end -- while end @@ -1111,7 +1104,7 @@ do local acquire = acquire_data[acquire_type] while cur_var <= num_vars do - local location + local location, affiliation local id_num = select(cur_var, ...) cur_var = cur_var + 1 @@ -1123,11 +1116,10 @@ do --@end-alpha@ else local unit = unit_list[id_num] - local faction = unit.faction - if not faction or faction == BFAC[Player.faction] or faction == BFAC["Neutral"] then - location = unit.location - end + affiliation = unit.faction + location = unit.location + unit.item_list = unit.item_list or {} unit.item_list[spell_id] = true end @@ -1135,14 +1127,14 @@ do acquire_list[acquire_type].recipes = acquire_list[acquire_type].recipes or {} acquire_list[acquire_type].name = private.acquire_names[acquire_type] - acquire_list[acquire_type].recipes[spell_id] = true + acquire_list[acquire_type].recipes[spell_id] = affiliation or true if location then location_list[location] = location_list[location] or {} location_list[location].recipes = location_list[location].recipes or {} location_list[location].name = location - location_list[location].recipes[spell_id] = true + location_list[location].recipes[spell_id] = affiliation or true end end end @@ -1177,7 +1169,7 @@ do faction[rep_level] = faction[rep_level] or {} while cur_var <= num_vars do - local location + local location, affiliation local vendor_id = select(cur_var, ...) cur_var = cur_var + 1 @@ -1198,11 +1190,10 @@ do faction[rep_level][vendor_id] = true local rep_vendor = vendor_list[vendor_id] - local rep_faction = rep_vendor.faction - if not rep_faction or rep_faction == BFAC[Player.faction] or rep_faction == BFAC["Neutral"] then - location = rep_vendor.location - end + affiliation = rep_vendor.faction + location = rep_vendor.location + rep_vendor.item_list = rep_vendor.item_list or {} rep_vendor.item_list[spell_id] = true end @@ -1211,14 +1202,14 @@ do acquire_list[A.REPUTATION].recipes = acquire_list[A.REPUTATION].recipes or {} acquire_list[A.REPUTATION].name = private.acquire_names[A.REPUTATION] - acquire_list[A.REPUTATION].recipes[spell_id] = true + acquire_list[A.REPUTATION].recipes[spell_id] = affiliation or true if location then location_list[location] = location_list[location] or {} location_list[location].recipes = location_list[location].recipes or {} location_list[location].name = location - location_list[location].recipes[spell_id] = true + location_list[location].recipes[spell_id] = affiliation or true end end end diff --git a/Frame.lua b/Frame.lua index f9ed6d7..24946b0 100644 --- a/Frame.lua +++ b/Frame.lua @@ -2550,10 +2550,16 @@ do local count = 0 -- Check to see if any recipes for this acquire type will be shown - otherwise, don't show the type in the list. - for spell_id in pairs(private.acquire_list[acquire_type].recipes) do + for spell_id, faction in pairs(private.acquire_list[acquire_type].recipes) do local recipe = private.recipe_list[spell_id] + local has_faction = false - if recipe.is_visible and recipe.is_relevant then + if type(faction) == "bool" + or addon.db.profile.filters.general.faction or faction == BFAC[Player.faction] or faction == BFAC["Neutral"] then + has_faction = true + end + + if has_faction and recipe.is_visible and recipe.is_relevant then count = count + 1 if not recipe_registry[recipe] then @@ -2581,10 +2587,16 @@ do local count = 0 -- Check to see if any recipes for this location will be shown - otherwise, don't show the location in the list. - for spell_id in pairs(private.location_list[loc_name].recipes) do + for spell_id, faction in pairs(private.location_list[loc_name].recipes) do local recipe = private.recipe_list[spell_id] + local has_faction = false + + if type(faction) == "bool" + or addon.db.profile.filters.general.faction or faction == BFAC[Player.faction] or faction == BFAC["Neutral"] then + has_faction = true + end - if recipe.is_visible and recipe.is_relevant then + if has_faction and recipe.is_visible and recipe.is_relevant then count = count + 1 if not recipe_registry[recipe] then -- 1.7.9.5