jcallahan@1: ----------------------------------------------------------------------- jcallahan@1: -- Upvalued Lua API. jcallahan@1: ----------------------------------------------------------------------- jcallahan@1: local _G = getfenv(0) jcallahan@1: jcallahan@1: local bit = _G.bit jcallahan@1: jcallahan@1: jcallahan@1: ----------------------------------------------------------------------- jcallahan@1: -- AddOn namespace. jcallahan@1: ----------------------------------------------------------------------- jcallahan@1: local ADDON_NAME, private = ... jcallahan@1: jcallahan@1: local LibStub = _G.LibStub jcallahan@1: jcallahan@1: jcallahan@1: ----------------------------------------------------------------------- jcallahan@1: -- Constants. jcallahan@1: ----------------------------------------------------------------------- jcallahan@1: private.UNIT_TYPES = { jcallahan@1: PLAYER = 0, jcallahan@1: OBJECT = 1, jcallahan@1: NPC = 3, jcallahan@1: PET = 4, jcallahan@1: VEHICLE = 5, jcallahan@1: } jcallahan@1: jcallahan@1: jcallahan@1: private.ACTION_TYPE_FLAGS = { jcallahan@1: ITEM = 0x00000001, jcallahan@1: NPC = 0x00000002, jcallahan@1: OBJECT = 0x00000004, jcallahan@1: ZONE = 0x00000008, jcallahan@1: } jcallahan@1: jcallahan@1: jcallahan@1: private.SPELL_LABELS_BY_NAME = { jcallahan@1: [_G.GetSpellInfo(13262)] = "DISENCHANT", jcallahan@1: [_G.GetSpellInfo(4036)] = "ENGINEERING", jcallahan@1: [_G.GetSpellInfo(7620)] = "FISHING", jcallahan@1: [_G.GetSpellInfo(2366)] = "HERB_GATHERING", jcallahan@1: [_G.GetSpellInfo(51005)] = "MILLING", jcallahan@1: [_G.GetSpellInfo(605)] = "MIND_CONTROL", jcallahan@1: [_G.GetSpellInfo(2575)] = "MINING", jcallahan@1: [_G.GetSpellInfo(3365)] = "OPENING", jcallahan@1: [_G.GetSpellInfo(921)] = "PICK_POCKET", jcallahan@1: [_G.GetSpellInfo(31252)] = "PROSPECTING", jcallahan@1: [_G.GetSpellInfo(73979)] = "SEARCHING_FOR_ARTIFACTS", jcallahan@1: [_G.GetSpellInfo(8613)] = "SKINNING", jcallahan@1: } jcallahan@1: jcallahan@1: local AF = private.ACTION_TYPE_FLAGS jcallahan@1: jcallahan@1: private.SPELL_FLAGS_BY_LABEL = { jcallahan@1: DISENCHANT = AF.ITEM, jcallahan@1: ENGINEERING = AF.NPC, jcallahan@1: FISHING = AF.ZONE, jcallahan@1: HERB_GATHERING = bit.bxor(AF.NPC, AF.OBJECT), jcallahan@1: MILLING = AF.ITEM, jcallahan@1: MIND_CONTROL = AF.NPC, jcallahan@1: MINING = bit.bxor(AF.NPC, AF.OBJECT), jcallahan@1: OPENING = AF.OBJECT, jcallahan@1: PICK_POCKET = AF.NPC, jcallahan@1: PROSPECTING = AF.ITEM, jcallahan@1: SEARCHING_FOR_ARTIFACTS = AF.OBJECT, jcallahan@1: SKINNING = AF.NPC, jcallahan@1: }