changeset 418:df4820871122

Blacklisted bodyguard reputations and supported new Draenor perk, Trading Pact.
author MMOSimca <MMOSimca@gmail.com>
date Wed, 07 Jan 2015 02:52:31 -0500
parents 929d2b27a087
children 9c964e2d6971
files Constants.lua Main.lua
diffstat 2 files changed, 96 insertions(+), 81 deletions(-) [+]
line wrap: on
line diff
--- a/Constants.lua	Wed Jan 07 01:38:31 2015 -0500
+++ b/Constants.lua	Wed Jan 07 02:52:31 2015 -0500
@@ -490,159 +490,167 @@
 
 private.FACTION_DATA = {
     -- Used only for private.REP_BUFFS
-    ARGENT_CRUSADE = { 1106, _G.GetFactionInfoByID(1106) },
-    BILGEWATER_CARTEL = { 1133, _G.GetFactionInfoByID(1133) },
-    CENARION_CIRCLE = { 609, _G.GetFactionInfoByID(609) },
-    DARKSPEAR = { 530, _G.GetFactionInfoByID(530) },
-    DARNASSUS = { 69, _G.GetFactionInfoByID(69) },
-    DRAGONMAW_CLAN = { 1172, _G.GetFactionInfoByID(1172) },
-    EARTHEN_RING = { 1135, _G.GetFactionInfoByID(1135) },
-    EBON_BLADE = { 1098, _G.GetFactionInfoByID(1098) },
-    EXODAR = { 930, _G.GetFactionInfoByID(930) },
-    GILNEAS = { 1134, _G.GetFactionInfoByID(1134) },
-    GNOMEREGAN = { 54, _G.GetFactionInfoByID(54) },
-    GUARDIANS_OF_HYJAL = { 1158, _G.GetFactionInfoByID(1158) },
-    GUILD = { 1168, _G.GetFactionInfoByID(1168) },
-    HONOR_HOLD = { 946, _G.GetFactionInfoByID(946) },
-    HUOJIN = { 1352, _G.GetFactionInfoByID(1352) },
-    IRONFORGE = { 47, _G.GetFactionInfoByID(47) },
-    KIRIN_TOR = { 1090, _G.GetFactionInfoByID(1090) },
-    ORGRIMMAR = { 76, _G.GetFactionInfoByID(76) },
-    RAMKAHEN = { 1173, _G.GetFactionInfoByID(1173) },
-    SHATAR = { 935, _G.GetFactionInfoByID(935) },
-    SILVERMOON = { 911, _G.GetFactionInfoByID(911) },
-    STORMWIND = { 72, _G.GetFactionInfoByID(72) },
-    THERAZANE = { 1171, _G.GetFactionInfoByID(1171) },
-    THRALLMAR = { 947, _G.GetFactionInfoByID(947) },
-    THUNDER_BLUFF = { 81, _G.GetFactionInfoByID(81) },
-    TUSHUI = { 1353, _G.GetFactionInfoByID(1353) },
-    UNDERCITY = { 68, _G.GetFactionInfoByID(68) },
-    WILDHAMMER_CLAN = { 1174, _G.GetFactionInfoByID(1174) },
-    WYRMREST_ACCORD = { 1091, _G.GetFactionInfoByID(1091) },
+    ARGENT_CRUSADE = { 1106, false, _G.GetFactionInfoByID(1106) },
+    BILGEWATER_CARTEL = { 1133, false, _G.GetFactionInfoByID(1133) },
+    CENARION_CIRCLE = { 609, false, _G.GetFactionInfoByID(609) },
+    DARKSPEAR = { 530, false, _G.GetFactionInfoByID(530) },
+    DARNASSUS = { 69, false, _G.GetFactionInfoByID(69) },
+    DRAGONMAW_CLAN = { 1172, false, _G.GetFactionInfoByID(1172) },
+    EARTHEN_RING = { 1135, false, _G.GetFactionInfoByID(1135) },
+    EBON_BLADE = { 1098, false, _G.GetFactionInfoByID(1098) },
+    EXODAR = { 930, false, _G.GetFactionInfoByID(930) },
+    GILNEAS = { 1134, false, _G.GetFactionInfoByID(1134) },
+    GNOMEREGAN = { 54, false, _G.GetFactionInfoByID(54) },
+    GUARDIANS_OF_HYJAL = { 1158, false, _G.GetFactionInfoByID(1158) },
+    GUILD = { 1168, false, _G.GetFactionInfoByID(1168) },
+    HONOR_HOLD = { 946, false, _G.GetFactionInfoByID(946) },
+    HUOJIN = { 1352, false, _G.GetFactionInfoByID(1352) },
+    IRONFORGE = { 47, false, _G.GetFactionInfoByID(47) },
+    KIRIN_TOR = { 1090, false, _G.GetFactionInfoByID(1090) },
+    ORGRIMMAR = { 76, false, _G.GetFactionInfoByID(76) },
+    RAMKAHEN = { 1173, false, _G.GetFactionInfoByID(1173) },
+    SHATAR = { 935, false, _G.GetFactionInfoByID(935) },
+    SILVERMOON = { 911, false, _G.GetFactionInfoByID(911) },
+    STORMWIND = { 72, false, _G.GetFactionInfoByID(72) },
+    THERAZANE = { 1171, false, _G.GetFactionInfoByID(1171) },
+    THRALLMAR = { 947, false, _G.GetFactionInfoByID(947) },
+    THUNDER_BLUFF = { 81, false, _G.GetFactionInfoByID(81) },
+    TUSHUI = { 1353, false, _G.GetFactionInfoByID(1353) },
+    UNDERCITY = { 68, false, _G.GetFactionInfoByID(68) },
+    WILDHAMMER_CLAN = { 1174, false, _G.GetFactionInfoByID(1174) },
+    WYRMREST_ACCORD = { 1091, false, _G.GetFactionInfoByID(1091) },
     -- Commendation Factions
-    ANGLERS = { 1302, _G.GetFactionInfoByID(1302) },
-    AUGUST_CELESTIALS = { 1341, _G.GetFactionInfoByID(1341) },
-    DOMINANCE_OFFENSIVE = { 1375, _G.GetFactionInfoByID(1375) },
-    GOLDEN_LOTUS = { 1269, _G.GetFactionInfoByID(1269) },
-    KIRIN_TOR_OFFENSIVE = { 1387, _G.GetFactionInfoByID(1387) },
-    KLAXXI = { 1337, _G.GetFactionInfoByID(1337) },
-    LOREWALKERS = { 1345, _G.GetFactionInfoByID(1345) },
-    OPERATION_SHIELDWALL = { 1376, _G.GetFactionInfoByID(1376) },
-    ORDER_OF_THE_CLOUD_SERPENTS = { 1271, _G.GetFactionInfoByID(1271) },
-    SHADO_PAN = { 1270, _G.GetFactionInfoByID(1270) },
-    SHADO_PAN_ASSAULT = { 1435, _G.GetFactionInfoByID(1435) },
-    SUNREAVER_ONSLAUGHT = { 1388, _G.GetFactionInfoByID(1388) },
-    TILLERS = { 1272, _G.GetFactionInfoByID(1272) },
+    ANGLERS = { 1302, false, _G.GetFactionInfoByID(1302) },
+    AUGUST_CELESTIALS = { 1341, false, _G.GetFactionInfoByID(1341) },
+    DOMINANCE_OFFENSIVE = { 1375, false, _G.GetFactionInfoByID(1375) },
+    GOLDEN_LOTUS = { 1269, false, _G.GetFactionInfoByID(1269) },
+    KIRIN_TOR_OFFENSIVE = { 1387, false, _G.GetFactionInfoByID(1387) },
+    KLAXXI = { 1337, false, _G.GetFactionInfoByID(1337) },
+    LOREWALKERS = { 1345, false, _G.GetFactionInfoByID(1345) },
+    OPERATION_SHIELDWALL = { 1376, false, _G.GetFactionInfoByID(1376) },
+    ORDER_OF_THE_CLOUD_SERPENTS = { 1271, false, _G.GetFactionInfoByID(1271) },
+    SHADO_PAN = { 1270, false, _G.GetFactionInfoByID(1270) },
+    SHADO_PAN_ASSAULT = { 1435, false, _G.GetFactionInfoByID(1435) },
+    SUNREAVER_ONSLAUGHT = { 1388, false, _G.GetFactionInfoByID(1388) },
+    TILLERS = { 1272, false, _G.GetFactionInfoByID(1272) },
+    -- Bodyguards (blacklisted)
+    DELVAR_IRONFIST = { 1733, true, _G.GetFactionInfoByID(1733) },
+    TORMMOK = { 1736, true, _G.GetFactionInfoByID(1736) },
+    TALONPRIEST_ISHAAL = { 1737, true, _G.GetFactionInfoByID(1737) },
+    DEFENDER_ILLONA = { 1738, true, _G.GetFactionInfoByID(1738) },
+    VIVIANNE = { 1739, true, _G.GetFactionInfoByID(1739) },
+    AEDA_BRIGHTDAWN = { 1740, true, _G.GetFactionInfoByID(1740) },
+    LEORAJH = { 1741, true, _G.GetFactionInfoByID(1741) },
 }
 
 private.REP_BUFFS = {
-    -- Tabard Buffs
+    -- Tabard Buffs (they screw up everything, so blacklist)
     [_G.GetSpellInfo(93830)] = { -- BILGEWATER CARTEL TABARD
-        faction = private.FACTION_DATA.BILGEWATER_CARTEL[2],
+        faction = private.FACTION_DATA.BILGEWATER_CARTEL[3],
         ignore = true,
     },
     [_G.GetSpellInfo(93827)] = { -- DARKSPEAR TABARD
-        faction = private.FACTION_DATA.DARKSPEAR[2],
+        faction = private.FACTION_DATA.DARKSPEAR[3],
         ignore = true,
     },
     [_G.GetSpellInfo(93806)] = { -- DARNASSUS TABARD
-        faction = private.FACTION_DATA.DARNASSUS[2],
+        faction = private.FACTION_DATA.DARNASSUS[3],
         ignore = true,
     },
     [_G.GetSpellInfo(93811)] = { -- EXODAR TABARD
-        faction = private.FACTION_DATA.EXODAR[2],
+        faction = private.FACTION_DATA.EXODAR[3],
         ignore = true,
     },
     [_G.GetSpellInfo(93816)] = { -- GILNEAS TABARD
-        faction = private.FACTION_DATA.GILNEAS[2],
+        faction = private.FACTION_DATA.GILNEAS[3],
         ignore = true,
     },
     [_G.GetSpellInfo(93821)] = { -- GNOMEREGAN TABARD
-        faction = private.FACTION_DATA.GNOMEREGAN[2],
+        faction = private.FACTION_DATA.GNOMEREGAN[3],
         ignore = true,
     },
     [_G.GetSpellInfo(126436)] = { -- HUOJIN TABARD
-        faction = private.FACTION_DATA.HUOJIN[2],
+        faction = private.FACTION_DATA.HUOJIN[3],
         ignore = true,
     },
     [_G.GetSpellInfo(97340)] = { -- ILLUSTRIOUS GUILD TABARD
-        faction = private.FACTION_DATA.GUILD[2],
+        faction = private.FACTION_DATA.GUILD[3],
         modifier = 1,
     },
     [_G.GetSpellInfo(93805)] = { -- IRONFORGE TABARD
-        faction = private.FACTION_DATA.IRONFORGE[2],
+        faction = private.FACTION_DATA.IRONFORGE[3],
         ignore = true,
     },
     [_G.GetSpellInfo(93825)] = { -- ORGRIMMAR TABARD
-        faction = private.FACTION_DATA.ORGRIMMAR[2],
+        faction = private.FACTION_DATA.ORGRIMMAR[3],
         ignore = true,
     },
     [_G.GetSpellInfo(97341)] = { -- RENOWNED GUILD TABARD
-        faction = private.FACTION_DATA.GUILD[2],
+        faction = private.FACTION_DATA.GUILD[3],
         modifier = 0.5,
     },
     [_G.GetSpellInfo(93828)] = { -- SILVERMOON CITY TABARD
-        faction = private.FACTION_DATA.SILVERMOON[2],
+        faction = private.FACTION_DATA.SILVERMOON[3],
         ignore = true,
     },
     [_G.GetSpellInfo(93795)] = { -- STORMWIND TABARD
-        faction = private.FACTION_DATA.STORMWIND[2],
+        faction = private.FACTION_DATA.STORMWIND[3],
         ignore = true,
     },
     [_G.GetSpellInfo(93337)] = { -- TABARD OF RAMKAHEN
-        faction = private.FACTION_DATA.RAMKAHEN[2],
+        faction = private.FACTION_DATA.RAMKAHEN[3],
         ignore = true,
     },
     [_G.GetSpellInfo(57819)] = { -- TABARD OF THE ARGENT CRUSADE
-        faction = private.FACTION_DATA.ARGENT_CRUSADE[2],
+        faction = private.FACTION_DATA.ARGENT_CRUSADE[3],
         ignore = true,
     },
     [_G.GetSpellInfo(94158)] = { -- TABARD OF THE DRAGONMAW CLAN
-        faction = private.FACTION_DATA.DRAGONMAW_CLAN[2],
+        faction = private.FACTION_DATA.DRAGONMAW_CLAN[3],
         ignore = true,
     },
     [_G.GetSpellInfo(93339)] = { -- TABARD OF THE EARTHEN RING
-        faction = private.FACTION_DATA.EARTHEN_RING[2],
+        faction = private.FACTION_DATA.EARTHEN_RING[3],
         ignore = true,
     },
     [_G.GetSpellInfo(57820)] = { -- TABARD OF THE EBON BLADE
-        faction = private.FACTION_DATA.EBON_BLADE[2],
+        faction = private.FACTION_DATA.EBON_BLADE[3],
         ignore = true,
     },
     [_G.GetSpellInfo(93341)] = { -- TABARD OF THE GUARDIANS OF HYJAL
-        faction = private.FACTION_DATA.GUARDIANS_OF_HYJAL[2],
+        faction = private.FACTION_DATA.GUARDIANS_OF_HYJAL[3],
         ignore = true,
     },
     [_G.GetSpellInfo(57821)] = { -- TABARD OF THE KIRIN TOR
-        faction = private.FACTION_DATA.KIRIN_TOR[2],
+        faction = private.FACTION_DATA.KIRIN_TOR[3],
         ignore = true,
     },
     [_G.GetSpellInfo(93368)] = { -- TABARD OF THE WILDHAMMER CLAN
-        faction = private.FACTION_DATA.WILDHAMMER_CLAN[2],
+        faction = private.FACTION_DATA.WILDHAMMER_CLAN[3],
         ignore = true,
     },
     [_G.GetSpellInfo(57822)] = { -- TABARD OF THE WYRMREST ACCORD
-        faction = private.FACTION_DATA.WYRMREST_ACCORD[2],
+        faction = private.FACTION_DATA.WYRMREST_ACCORD[3],
         ignore = true,
     },
     [_G.GetSpellInfo(93347)] = { -- TABARD OF THERAZANE
-        faction = private.FACTION_DATA.THERAZANE[2],
+        faction = private.FACTION_DATA.THERAZANE[3],
         ignore = true,
     },
     [_G.GetSpellInfo(94463)] = { -- THUNDERBLUFF TABARD
-        faction = private.FACTION_DATA.THUNDER_BLUFF[2],
+        faction = private.FACTION_DATA.THUNDER_BLUFF[3],
         ignore = true,
     },
     [_G.GetSpellInfo(126434)] = { -- TUSHUI TABARD
-        faction = private.FACTION_DATA.TUSHUI[2],
+        faction = private.FACTION_DATA.TUSHUI[3],
         ignore = true,
     },
     [_G.GetSpellInfo(94462)] = { -- UNDERCITY TABARD
-        faction = private.FACTION_DATA.UNDERCITY[2],
+        faction = private.FACTION_DATA.UNDERCITY[3],
         ignore = true,
     },
 
-    -- Banner Buffs
+    -- Banner Buffs (can't tell them apart via ingame API, so blacklist)
     [_G.GetSpellInfo(90216)] = { -- ALLIANCE GUILD STANDARD
         ignore = true,
     },
@@ -678,27 +686,27 @@
 
     -- Situational Buffs
     [_G.GetSpellInfo(39953)] = { -- ADALS SONG OF BATTLE
-        faction = private.FACTION_DATA.SHATAR[2],
+        faction = private.FACTION_DATA.SHATAR[3],
         modifier = 0.1,
     },
     [_G.GetSpellInfo(30754)] = { -- CENARION FAVOR
-        faction = private.FACTION_DATA.CENARION_CIRCLE[2],
+        faction = private.FACTION_DATA.CENARION_CIRCLE[3],
         modifier = 0.25,
     },
     [_G.GetSpellInfo(32098)] = { -- HONOR HOLD FAVOR
-        faction = private.FACTION_DATA.HONOR_HOLD[2],
+        faction = private.FACTION_DATA.HONOR_HOLD[3],
         modifier = 0.25,
     },
     [_G.GetSpellInfo(39913)] = { -- NAZGRELS FERVOR
-        faction = private.FACTION_DATA.THRALLMAR[2],
+        faction = private.FACTION_DATA.THRALLMAR[3],
         modifier = 0.1,
     },
     [_G.GetSpellInfo(32096)] = { -- THRALLMARS FAVOR
-        faction = private.FACTION_DATA.THRALLMAR[2],
+        faction = private.FACTION_DATA.THRALLMAR[3],
         modifier = 0.25,
     },
     [_G.GetSpellInfo(39911)] = { -- TROLLBANES COMMAND
-        faction = private.FACTION_DATA.HONOR_HOLD[2],
+        faction = private.FACTION_DATA.HONOR_HOLD[3],
         modifier = 0.1,
     },
 }
--- a/Main.lua	Wed Jan 07 01:38:31 2015 -0500
+++ b/Main.lua	Wed Jan 07 02:52:31 2015 -0500
@@ -1850,8 +1850,7 @@
     local DIPLOMACY_SPELL_ID = 20599
     local MR_POP_RANK1_SPELL_ID = 78634
     local MR_POP_RANK2_SPELL_ID = 78635
-    local FACTION_DATA = private.FACTION_DATA
-    local REP_BUFFS = private.REP_BUFFS
+    local TRADING_PACT_SPELL_ID = 170200
 
 
     function WDP:COMBAT_TEXT_UPDATE(event_name, message_type, faction_name, amount)
@@ -1884,12 +1883,20 @@
         elseif _G.IsSpellKnown(MR_POP_RANK1_SPELL_ID) then
             modifier = modifier + 0.05
         end
+        if _G.IsSpellKnown(TRADING_PACT_SPELL_ID) then
+            modifier = modifier + 0.2
+        end
 
         -- Determine faction ID
         local faction_ID
-        for pseudo_faction_name, faction_data_table in pairs(FACTION_DATA) do
-            if faction_name == faction_data_table[2] then
+        for pseudo_faction_name, faction_data_table in pairs(private.FACTION_DATA) do
+            if faction_name == faction_data_table[3] then
+                -- Check ignore flag
+                if faction_data_table[2] then
+                    return
+                end
                 faction_ID = faction_data_table[1]
+                break
             end
         end
         if faction_ID and faction_ID > 0 then
@@ -1901,7 +1908,7 @@
         end
 
         -- Check for modifiers from buffs
-        for buff_name, buff_data_table in pairs(REP_BUFFS) do
+        for buff_name, buff_data_table in pairs(private.REP_BUFFS) do
             if _G.UnitBuff("player", buff_name) then
                 local modded_faction = buff_data_table.faction