annotate Constants.lua @ 339:e4abf4f04db3 WoD

Accounted for GUID delimiter change in latest WoD build and added a new psuedoloot item.
author MMOSimca <MMOSimca@gmail.com>
date Thu, 18 Sep 2014 04:38:51 -0400
parents 9b683a560ed3
children d708222fe96b
rev   line source
jcallahan@1 1 -----------------------------------------------------------------------
jcallahan@1 2 -- Upvalued Lua API.
jcallahan@1 3 -----------------------------------------------------------------------
jcallahan@1 4 local _G = getfenv(0)
jcallahan@1 5
jcallahan@1 6 local bit = _G.bit
jcallahan@1 7
jcallahan@1 8
jcallahan@1 9 -----------------------------------------------------------------------
jcallahan@1 10 -- AddOn namespace.
jcallahan@1 11 -----------------------------------------------------------------------
jcallahan@1 12 local ADDON_NAME, private = ...
jcallahan@1 13
jcallahan@1 14
jcallahan@1 15 -----------------------------------------------------------------------
MMOSimca@336 16 -- Game Data Constants.
MMOSimca@336 17 -----------------------------------------------------------------------
MMOSimca@337 18 private.FACTION_NAMES = { -- Only used for private.REP_BUFFS
MMOSimca@337 19 CENARION_CIRCLE = _G.GetFactionInfoByID(609),
MMOSimca@337 20 HONOR_HOLD = _G.GetFactionInfoByID(946),
MMOSimca@337 21 THE_SHATAR = _G.GetFactionInfoByID(935),
MMOSimca@337 22 THRALLMAR = _G.GetFactionInfoByID(947),
MMOSimca@337 23 }
MMOSimca@337 24
MMOSimca@337 25 private.REP_BUFFS = {
MMOSimca@337 26 [_G.GetSpellInfo(30754)] = { -- CENARION FAVOR
MMOSimca@338 27 faction = private.FACTION_NAMES.CENARION_CIRCLE,
MMOSimca@337 28 modifier = 0.25,
MMOSimca@337 29 },
MMOSimca@337 30 [_G.GetSpellInfo(24705)] = { -- GRIM VISAGE
MMOSimca@337 31 modifier = 0.1,
MMOSimca@337 32 },
MMOSimca@337 33 [_G.GetSpellInfo(32098)] = { -- HONOR HOLD FAVOR
MMOSimca@338 34 faction = private.FACTION_NAMES.HONOR_HOLD,
MMOSimca@337 35 modifier = 0.25,
MMOSimca@337 36 },
MMOSimca@337 37 [_G.GetSpellInfo(39913)] = { -- NAZGRELS FERVOR
MMOSimca@338 38 faction = private.FACTION_NAMES.THRALLMAR,
MMOSimca@337 39 modifier = 0.1,
MMOSimca@337 40 },
MMOSimca@337 41 [_G.GetSpellInfo(39953)] = { -- SONG OF BATTLE
MMOSimca@338 42 faction = private.FACTION_NAMES.THE_SHATAR,
MMOSimca@337 43 modifier = 0.1,
MMOSimca@337 44 },
MMOSimca@337 45 [_G.GetSpellInfo(61849)] = { -- SPIRIT OF SHARING
MMOSimca@337 46 modifier = 0.1,
MMOSimca@337 47 },
MMOSimca@337 48 [_G.GetSpellInfo(32096)] = { -- THRALLMARS FAVOR
MMOSimca@338 49 faction = private.FACTION_NAMES.THRALLMAR,
MMOSimca@337 50 modifier = 0.25,
MMOSimca@337 51 },
MMOSimca@337 52 [_G.GetSpellInfo(39911)] = { -- TROLLBANES COMMAND
MMOSimca@338 53 faction = private.FACTION_NAMES.HONOR_HOLD,
MMOSimca@337 54 modifier = 0.1,
MMOSimca@337 55 },
MMOSimca@337 56 [_G.GetSpellInfo(95987)] = { -- UNBURDENED
MMOSimca@337 57 modifier = 0.1,
MMOSimca@337 58 },
MMOSimca@337 59 [_G.GetSpellInfo(100951)] = { -- WOW 8TH ANNIVERSARY
MMOSimca@337 60 modifier = 0.08,
MMOSimca@337 61 },
MMOSimca@337 62 [_G.GetSpellInfo(132700)] = { -- WOW 9TH ANNIVERSARY
MMOSimca@337 63 modifier = 0.09,
MMOSimca@337 64 },
MMOSimca@337 65 [_G.GetSpellInfo(150986)] = { -- WOW 10TH ANNIVERSARY
MMOSimca@337 66 modifier = 0.1,
MMOSimca@337 67 }
MMOSimca@337 68 }
MMOSimca@337 69
MMOSimca@336 70 private.LOOT_SPELL_ID_TO_ITEM_ID_MAP = {
MMOSimca@336 71 [142397] = 98134, -- Heroic Cache of Treasures
MMOSimca@336 72 [142901] = 98546, -- Bulging Heroic Cache of Treasures
MMOSimca@336 73 [143506] = 98095, -- Brawler's Pet Supplies
MMOSimca@336 74 [143507] = 94207, -- Fabled Pandaren Pet Supplies
MMOSimca@336 75 [143508] = 89125, -- Sack of Pet Supplies
MMOSimca@336 76 [143509] = 93146, -- Pandaren Spirit Pet Supplies
MMOSimca@336 77 [143510] = 93147, -- Pandaren Spirit Pet Supplies
MMOSimca@336 78 [143511] = 93149, -- Pandaren Spirit Pet Supplies
MMOSimca@336 79 [143512] = 93148, -- Pandaren Spirit Pet Supplies
MMOSimca@336 80 [146885] = 103535, -- Bulging Bag of Charms
MMOSimca@336 81 [147598] = 104014, -- Pouch of Timeless Coins
MMOSimca@336 82 [149222] = 105911, -- Pouch of Enduring Wisdom
MMOSimca@336 83 [149223] = 105912, -- Oversized Pouch of Enduring Wisdom
MMOSimca@336 84 [168178] = 114116, -- Bag of Salvaged Goods
MMOSimca@336 85 [168179] = 114119, -- Crate of Salvage
MMOSimca@336 86 [168180] = 114120, -- Big Crate of Salvage
MMOSimca@336 87 [171513] = 116414, -- Pet Supplies
MMOSimca@336 88 [175767] = 118697, -- Big Bag of Pet Supplies
MMOSimca@339 89 [178508] = 120321, -- Mystery Bag
MMOSimca@336 90 }
MMOSimca@336 91
MMOSimca@336 92 private.RAID_BOSS_BONUS_SPELL_ID_TO_NPC_ID_MAP = {
MMOSimca@336 93 -----------------------------------------------------------------------
MMOSimca@336 94 -- World Bosses
MMOSimca@336 95 -----------------------------------------------------------------------
MMOSimca@336 96 [132205] = 60491, -- Sha of Anger Bonus (Sha of Anger)
MMOSimca@336 97 [132206] = 62346, -- Galleon Bonus (Galleon)
MMOSimca@336 98 [136381] = 69099, -- Nalak Bonus (Nalak)
MMOSimca@336 99 [137554] = 69161, -- Oondasta Bonus (Oondasta)
MMOSimca@336 100 [148317] = 71952, -- Celestials Bonus (Chi-Ji)
MMOSimca@336 101 [148316] = 72057, -- Ordos Bonus (Ordos)
MMOSimca@336 102 --[????] = 81535, -- Tarlna the Ageless Bonus Loot (Tarlna the Ageless)
MMOSimca@336 103 --[????] = 87437, -- Drov the Ruiner Bonus Loot (Drov the Ruiner)
MMOSimca@336 104 --[????] = 87493, -- Rukhmar Bonus Loot (Rukhmar)
MMOSimca@336 105
MMOSimca@336 106 -----------------------------------------------------------------------
MMOSimca@336 107 -- Mogu'shan Vaults
MMOSimca@336 108 -----------------------------------------------------------------------
MMOSimca@336 109 [125144] = 59915, -- Stone Guard Bonus (Jasper Guardian)
MMOSimca@336 110 [132189] = 60009, -- Feng the Accursed Bonus (Feng the Accursed)
MMOSimca@336 111 [132190] = 60143, -- Gara'jal the Spiritbinder Bonus (Gara'jal the Spiritbinder)
MMOSimca@336 112 [132191] = 60709, -- Spirit Kings Bonus (Qiang the Merciless)
MMOSimca@336 113 [132192] = 60410, -- Elegon Bonus (Elegon)
MMOSimca@336 114 [132193] = 60399, -- Will of the Emperor Bonus (Qin-xi)
MMOSimca@336 115
MMOSimca@336 116 -----------------------------------------------------------------------
MMOSimca@336 117 -- Terrace of Endless Spring
MMOSimca@336 118 -----------------------------------------------------------------------
MMOSimca@336 119 [132200] = 60583, -- Protectors of the Endless Bonus (Protector Kaolan)
MMOSimca@336 120 [132204] = 60583, -- Protectors of the Endless (Elite) Bonus (Protector Kaolan)
MMOSimca@336 121 [132201] = 62442, -- Tsulong Bonus (Tsulong)
MMOSimca@336 122 [132202] = 62983, -- Lei Shi Bonus (Lei Shi)
MMOSimca@336 123 [132203] = 60999, -- Sha of Fear Bonus (Sha of Fear)
MMOSimca@336 124
MMOSimca@336 125 -----------------------------------------------------------------------
MMOSimca@336 126 -- Heart of Fear
MMOSimca@336 127 -----------------------------------------------------------------------
MMOSimca@336 128 [132194] = 62980, -- Imperial Vizier Zor'lok Bonus (Imperial Vizier Zor'lok)
MMOSimca@336 129 [132195] = 62543, -- Blade Lord Tay'ak Bonus (Blade Lord Ta'yak)
MMOSimca@336 130 [132196] = 62164, -- Garalon Bonus (Garalon)
MMOSimca@336 131 [132197] = 62397, -- Wind Lord Mel'jarak Bonus (Wind Lord Mel'jarak)
MMOSimca@336 132 [132198] = 62511, -- Amber-Shaper Un'sok Bonus (Amber-Shaper Un'sok)
MMOSimca@336 133 [132199] = 62837, -- Grand Empress Shek'zeer Bonus (Grand Empress Shek'zeer)
MMOSimca@336 134
MMOSimca@336 135 -----------------------------------------------------------------------
MMOSimca@336 136 -- Throne of Thunder
MMOSimca@336 137 -----------------------------------------------------------------------
MMOSimca@336 138 [139674] = 69465, -- Jin'rokh the Breaker Bonus (Jin'rokh the Breaker)
MMOSimca@336 139 [139677] = 68476, -- Horridon Bonus (Horridon)
MMOSimca@336 140 [139679] = 69078, -- Zandalari Troll Council Bonus (Sul the Sandcrawler)
MMOSimca@336 141 [139680] = 67977, -- Tortos Bonus (Tortos)
MMOSimca@336 142 [139682] = 68065, -- Magaera Bonus (Megaera)
MMOSimca@336 143 [139684] = 69712, -- Ji'kun, the Ancient Mother Bonus (Ji-Kun)
MMOSimca@336 144 [139686] = 68036, -- Durumu the Forgotten Bonus (Durumu the Forgotten)
MMOSimca@336 145 [139687] = 69017, -- Primordious Bonus (Primordius)
MMOSimca@336 146 [139688] = 69427, -- Dark Animus Bonus (Dark Animus)
MMOSimca@336 147 [139689] = 68078, -- Iron Qon Bonus (Iron Qon)
MMOSimca@336 148 [139690] = 68904, -- The Empyreal Queens Bonus (Suen)
MMOSimca@336 149 [139691] = 68397, -- Lei Shen, The Thunder King Bonus (Lei Shen)
MMOSimca@336 150 [139692] = 69473, -- Ra-den Bonus (Ra-den)
MMOSimca@336 151
MMOSimca@336 152 -----------------------------------------------------------------------
MMOSimca@336 153 -- Siege of Orgrimmar
MMOSimca@336 154 -----------------------------------------------------------------------
MMOSimca@336 155 [145909] = 71543, -- Immerseus Bonus (Immerseus)
MMOSimca@336 156 [145910] = 71475, -- Fallen Protectors Bonus (Rook Stonetoe)
MMOSimca@336 157 [145911] = 72276, -- Norushen Bonus (Amalgam of Corruption)
MMOSimca@336 158 [145912] = 71734, -- Sha of Pride Bonus (Sha of Pride)
MMOSimca@336 159 [145913] = 72249, -- Galakras Bonus (Galakras)
MMOSimca@336 160 [145914] = 71466, -- Iron Juggernaut Bonus (Iron Juggernaut)
MMOSimca@336 161 [145915] = 71859, -- Dark Shaman Bonus (Earthbreaker Haromm)
MMOSimca@336 162 [145916] = 71515, -- General Nazgrim Bonus (General Nazgrim)
MMOSimca@336 163 [145917] = 71454, -- Malkorok Bonus (Malkorok)
MMOSimca@336 164 [145919] = 71889, -- Spoils of Pandaria Bonus (Secured Stockpile of Pandaren Spoils)
MMOSimca@336 165 [145920] = 71529, -- Thok the Bloodthirsty Bonus (Thok the Bloodthirsty)
MMOSimca@336 166 [145918] = 71504, -- Siegecrafter Blackfuse Bonus (Siegecrafter Blackfuse)
MMOSimca@336 167 [145921] = 71161, -- Klaxxi Paragons Bonus (Kil'ruk the Wind-Reaver)
MMOSimca@336 168 [145922] = 71865, -- Garrosh Hellscream Bonus (Garrosh Hellscream)
MMOSimca@336 169
MMOSimca@336 170 -----------------------------------------------------------------------
MMOSimca@336 171 -- Blackrock Foundry
MMOSimca@336 172 -----------------------------------------------------------------------
MMOSimca@336 173 [177510] = 76877, -- Gruul Bonus Loot (Gruul)
MMOSimca@336 174 [177511] = 77182, -- Oregorger Bonus Loot (Oregorger)
MMOSimca@336 175 [177512] = 76809, -- Blast Furnace Loot (Foreman Feldspar)
MMOSimca@336 176 [177513] = 76973, -- Hans'gar & Franzok Bonus Loot (Hans'gar)
MMOSimca@336 177 [177515] = 76814, -- Flamebender Ka'graz Bonus Loot (Flamebender Ka'graz)
MMOSimca@336 178 [177516] = 77692, -- Kromog Bonus Loot (Kromog)
MMOSimca@336 179 [177517] = 76865, -- Beastlord Darmac Bonus Loot (Beastlord Darmac)
MMOSimca@336 180 [177518] = 76906, -- Operator Thogar Bonus Loot (Operator Thogar)
MMOSimca@336 181 [177519] = 77557, -- The Iron Maidens Bonus Loot (Admiral Gar'an)
MMOSimca@336 182 [177520] = 87420, -- Blackhand Bonus Loot (Blackhand)
MMOSimca@336 183
MMOSimca@336 184 -----------------------------------------------------------------------
MMOSimca@336 185 -- Highmaul
MMOSimca@336 186 -----------------------------------------------------------------------
MMOSimca@336 187 [177503] = 87444, -- Kargath Bladefist Bonus Loot (Kargath Bladefist)
MMOSimca@336 188 [177504] = 87447, -- Butcher Bonus Loot (The Butcher)
MMOSimca@336 189 [177505] = 87446, -- Tectus Bonus Loot (Tectus)
MMOSimca@336 190 [177506] = 87441, -- Brackenspore Bonus Loot (Brackenspore)
MMOSimca@336 191 [177507] = 87449, -- Twin Ogron Bonus Loot (Twin Ogron)
MMOSimca@336 192 [177508] = 87445, -- Ko'ragh Bonus Loot (Ko'ragh)
MMOSimca@336 193 [177509] = 87818, -- Imperator Mar'gok Bonus Loot (Imperator Mar'gok)
MMOSimca@336 194 }
MMOSimca@336 195
MMOSimca@336 196
MMOSimca@336 197 -----------------------------------------------------------------------
MMOSimca@336 198 -- Fundamental Constants.
jcallahan@1 199 -----------------------------------------------------------------------
jcallahan@18 200 private.wow_version, private.build_num = _G.GetBuildInfo()
MMOSimca@330 201 private.region = GetCVar("portal"):sub(0,2):upper()
MMOSimca@330 202 -- PTR/Beta return "public-test", but they are properly called "XX"
MMOSimca@330 203 if private.region == "PU" then private.region = "XX" end
jcallahan@18 204
jcallahan@1 205 private.UNIT_TYPES = {
MMOSimca@329 206 PLAYER = "Player",
MMOSimca@329 207 OBJECT = "GameObject",
MMOSimca@329 208 UNKNOWN = "Unknown",
MMOSimca@329 209 NPC = "Creature",
MMOSimca@329 210 PET = "Pet",
MMOSimca@329 211 VEHICLE = "Vehicle",
MMOSimca@329 212 ITEM = "Item",
jcallahan@1 213 }
jcallahan@1 214
jcallahan@10 215 private.UNIT_TYPE_NAMES = {
MMOSimca@329 216 ["Player"] = "PLAYER",
MMOSimca@329 217 ["GameObject"] = "OBJECT",
MMOSimca@329 218 ["Unknown"] = "UNKNOWN",
MMOSimca@329 219 ["Creature"] = "NPC",
MMOSimca@329 220 ["Pet"] = "PET",
MMOSimca@329 221 ["Vehicle"] = "VEHICLE",
MMOSimca@329 222 ["Item"] = "ITEM",
jcallahan@10 223 }
jcallahan@10 224
jcallahan@1 225 private.ACTION_TYPE_FLAGS = {
jcallahan@1 226 ITEM = 0x00000001,
jcallahan@1 227 NPC = 0x00000002,
jcallahan@1 228 OBJECT = 0x00000004,
jcallahan@1 229 ZONE = 0x00000008,
jcallahan@1 230 }
jcallahan@1 231
jcallahan@151 232 private.ACTION_TYPE_NAMES = {}
jcallahan@151 233
jcallahan@151 234 for name, bit in _G.pairs(private.ACTION_TYPE_FLAGS) do
jcallahan@151 235 private.ACTION_TYPE_NAMES[bit] = name
jcallahan@151 236 end
jcallahan@151 237
jcallahan@326 238 private.EXTRAPOLATION_BANNED_SPELL_IDS = {
jcallahan@326 239 [13262] = "DISENCHANT",
jcallahan@326 240 [4036] = "ENGINEERING",
jcallahan@326 241 [30427] = "EXTRACT_GAS",
jcallahan@326 242 [131476] = "FISHING",
jcallahan@326 243 [2366] = "HERB_GATHERING",
jcallahan@326 244 [51005] = "MILLING",
jcallahan@326 245 [605] = "MIND_CONTROL",
jcallahan@326 246 [2575] = "MINING",
jcallahan@326 247 [921] = "PICK_POCKET",
jcallahan@326 248 [31252] = "PROSPECTING",
jcallahan@326 249 [73979] = "SEARCHING_FOR_ARTIFACTS",
jcallahan@326 250 [8613] = "SKINNING",
jcallahan@326 251 }
jcallahan@326 252
jcallahan@1 253 private.SPELL_LABELS_BY_NAME = {
jcallahan@1 254 [_G.GetSpellInfo(13262)] = "DISENCHANT",
jcallahan@1 255 [_G.GetSpellInfo(4036)] = "ENGINEERING",
jcallahan@48 256 [_G.GetSpellInfo(30427)] = "EXTRACT_GAS",
jcallahan@99 257 [_G.GetSpellInfo(131476)] = "FISHING",
jcallahan@1 258 [_G.GetSpellInfo(2366)] = "HERB_GATHERING",
jcallahan@1 259 [_G.GetSpellInfo(51005)] = "MILLING",
jcallahan@1 260 [_G.GetSpellInfo(605)] = "MIND_CONTROL",
jcallahan@1 261 [_G.GetSpellInfo(2575)] = "MINING",
jcallahan@1 262 [_G.GetSpellInfo(3365)] = "OPENING",
jcallahan@1 263 [_G.GetSpellInfo(921)] = "PICK_POCKET",
jcallahan@1 264 [_G.GetSpellInfo(31252)] = "PROSPECTING",
jcallahan@1 265 [_G.GetSpellInfo(73979)] = "SEARCHING_FOR_ARTIFACTS",
jcallahan@1 266 [_G.GetSpellInfo(8613)] = "SKINNING",
jcallahan@1 267 }
jcallahan@1 268
jcallahan@105 269 private.NON_LOOT_SPELL_LABELS = {
jcallahan@105 270 MIND_CONTROL = true,
jcallahan@105 271 }
jcallahan@105 272
jcallahan@1 273 local AF = private.ACTION_TYPE_FLAGS
jcallahan@1 274
jcallahan@1 275 private.SPELL_FLAGS_BY_LABEL = {
jcallahan@1 276 DISENCHANT = AF.ITEM,
jcallahan@1 277 ENGINEERING = AF.NPC,
jcallahan@48 278 EXTRACT_GAS = AF.ZONE,
jcallahan@151 279 FISHING = AF.ZONE,
jcallahan@23 280 HERB_GATHERING = bit.bor(AF.NPC, AF.OBJECT),
jcallahan@1 281 MILLING = AF.ITEM,
jcallahan@1 282 MIND_CONTROL = AF.NPC,
jcallahan@23 283 MINING = bit.bor(AF.NPC, AF.OBJECT),
jcallahan@1 284 OPENING = AF.OBJECT,
jcallahan@1 285 PICK_POCKET = AF.NPC,
jcallahan@1 286 PROSPECTING = AF.ITEM,
jcallahan@1 287 SEARCHING_FOR_ARTIFACTS = AF.OBJECT,
jcallahan@1 288 SKINNING = AF.NPC,
jcallahan@1 289 }