Constants.lua

Constants.lua (8.1.5.29981; unchanged since 8.1.0.28724)
  1. --
  2. -- New constants should be added to this file and other constants
  3. -- deprecated and moved to this file.
  4. --
  5.  
  6. --
  7. -- Expansion Info
  8. --
  9. MAX_PLAYER_LEVEL_TABLE = {};
  10. MAX_PLAYER_LEVEL_TABLE[LE_EXPANSION_CLASSIC] = 60;
  11. MAX_PLAYER_LEVEL_TABLE[LE_EXPANSION_BURNING_CRUSADE] = 70;
  12. MAX_PLAYER_LEVEL_TABLE[LE_EXPANSION_WRATH_OF_THE_LICH_KING] = 80;
  13. MAX_PLAYER_LEVEL_TABLE[LE_EXPANSION_CATACLYSM] = 85;
  14. MAX_PLAYER_LEVEL_TABLE[LE_EXPANSION_MISTS_OF_PANDARIA] = 90;
  15. MAX_PLAYER_LEVEL_TABLE[LE_EXPANSION_WARLORDS_OF_DRAENOR] = 100;
  16. MAX_PLAYER_LEVEL_TABLE[LE_EXPANSION_LEGION] = 110;
  17. MAX_PLAYER_LEVEL_TABLE[LE_EXPANSION_BATTLE_FOR_AZEROTH] = 120;
  18. MAX_PLAYER_LEVEL_TABLE[LE_EXPANSION_9_0] = 120;
  19. MAX_PLAYER_LEVEL_TABLE[LE_EXPANSION_10_0] = 120;
  20. MAX_PLAYER_LEVEL_TABLE[LE_EXPANSION_11_0] = 120;
  21.  
  22. NPE_TUTORIAL_COMPLETE_LEVEL = 10;
  23.  
  24. --
  25. -- Colors
  26. --
  27. NORMAL_FONT_COLOR_CODE    = "|cffffd200";
  28. HIGHLIGHT_FONT_COLOR_CODE = "|cffffffff";
  29. RED_FONT_COLOR_CODE     = "|cffff2020";
  30. GREEN_FONT_COLOR_CODE   = "|cff20ff20";
  31. GRAY_FONT_COLOR_CODE    = "|cff808080";
  32. YELLOW_FONT_COLOR_CODE    = "|cffffff00";
  33. LIGHTYELLOW_FONT_COLOR_CODE = "|cffffff9a";
  34. ORANGE_FONT_COLOR_CODE    = "|cffff7f3f";
  35. ACHIEVEMENT_COLOR_CODE    = "|cffffff00";
  36. BATTLENET_FONT_COLOR_CODE = "|cff82c5ff";
  37. DISABLED_FONT_COLOR_CODE  = "|cff7f7f7f";
  38. FONT_COLOR_CODE_CLOSE   = "|r";
  39.  
  40. NORMAL_FONT_COLOR     = CreateColor(1.0, 0.82, 0.0);
  41. HIGHLIGHT_FONT_COLOR    = CreateColor(1.0, 1.0, 1.0);
  42. RED_FONT_COLOR        = CreateColor(1.0, 0.1, 0.1);
  43. DIM_RED_FONT_COLOR      = CreateColor(0.8, 0.1, 0.1);
  44. DULL_RED_FONT_COLOR     = CreateColor(0.75, 0.15, 0.15);
  45. GREEN_FONT_COLOR      = CreateColor(0.1, 1.0, 0.1);
  46. GRAY_FONT_COLOR       = CreateColor(0.5, 0.5, 0.5);
  47. YELLOW_FONT_COLOR     = CreateColor(1.0, 1.0, 0.0);
  48. LIGHTYELLOW_FONT_COLOR    = CreateColor(1.0, 1.0, 0.6);
  49. ORANGE_FONT_COLOR     = CreateColor(1.0, 0.5, 0.25);
  50. PASSIVE_SPELL_FONT_COLOR  = CreateColor(0.77, 0.64, 0.0);
  51. BATTLENET_FONT_COLOR    = CreateColor(0.510, 0.773, 1.0);
  52. TRANSMOGRIFY_FONT_COLOR   = CreateColor(1, 0.5, 1);
  53. DISABLED_FONT_COLOR     = CreateColor(0.498, 0.498, 0.498);
  54. LIGHTBLUE_FONT_COLOR    = CreateColor(0.53, 0.67, 1.0);
  55. LIGHTGRAY_FONT_COLOR    = CreateColor(0.6, 0.6, 0.6);
  56. PAPER_FRAME_EXPANDED_COLOR  = CreateColor(0.929, 0.788, 0.620);
  57. PAPER_FRAME_COLLAPSED_COLOR = CreateColor(0.827, 0.659, 0.463);
  58. ARTIFACT_BAR_COLOR      = CreateColor(0.901, 0.8, 0.601);
  59. WARBOARD_OPTION_TEXT_COLOR  = CreateColor(0.28, 0.02, 0.02);
  60. DEFAULT_CHAT_CHANNEL_COLOR  = CreateColor(1.0, 0.753, 0.753);
  61. DIM_GREEN_FONT_COLOR    = CreateColor(0.251, 0.753, 0.251); -- Used for officer chat in guilds.
  62. BLACK_FONT_COLOR      = CreateColor(0.0, 0.0, 0.0);
  63. LINK_FONT_COLOR       = CreateColor(102.0 / 255.0, 187.0 / 255.0, 255.0 / 255.0); -- Light blue that we use for system links. E.g. calendar events and nydus links in the shop.
  64.  
  65. AREA_NAME_FONT_COLOR = CreateColor(1.0, 0.9294, 0.7607);
  66. AREA_DESCRIPTION_FONT_COLOR = HIGHLIGHT_FONT_COLOR;
  67. INVASION_FONT_COLOR = CreateColor(0.78, 1, 0);
  68. INVASION_DESCRIPTION_FONT_COLOR = CreateColor(1, 0.973, 0.035);
  69.  
  70. FACTION_BAR_COLORS = {
  71.   [1] = {r = 0.8, g = 0.3, b = 0.22},
  72.   [2] = {r = 0.8, g = 0.3, b = 0.22},
  73.   [3] = {r = 0.75, g = 0.27, b = 0},
  74.   [4] = {r = 0.9, g = 0.7, b = 0},
  75.   [5] = {r = 0, g = 0.6, b = 0.1},
  76.   [6] = {r = 0, g = 0.6, b = 0.1},
  77.   [7] = {r = 0, g = 0.6, b = 0.1},
  78.   [8] = {r = 0, g = 0.6, b = 0.1},
  79. };
  80.  
  81. WORLD_QUEST_ICONS_BY_PROFESSION = {
  82.   [129] = "worldquest-icon-firstaid",
  83.   [164] = "worldquest-icon-blacksmithing",
  84.   [165] = "worldquest-icon-leatherworking",
  85.   [171] = "worldquest-icon-alchemy",
  86.   [182] = "worldquest-icon-herbalism",
  87.   [186] = "worldquest-icon-mining",
  88.   [202] = "worldquest-icon-engineering",
  89.   [333] = "worldquest-icon-enchanting",
  90.   [755] = "worldquest-icon-jewelcrafting",
  91.   [773] = "worldquest-icon-inscription",
  92.   [794] = "worldquest-icon-archaeology",
  93.   [356] = "worldquest-icon-fishing",
  94.   [185] = "worldquest-icon-cooking",
  95.   [197] = "worldquest-icon-tailoring",
  96.   [393] = "worldquest-icon-skinning",
  97. };
  98.  
  99. CHAT_FONT_HEIGHTS = {
  100.   [1] = 12,
  101.   [2] = 14,
  102.   [3] = 16,
  103.   [4] = 18
  104. };
  105.  
  106. MATERIAL_TEXT_COLOR_TABLE = {
  107.   ["Default"] = {0.18, 0.12, 0.06},
  108.   ["Stone"] = {1.0, 1.0, 1.0},
  109.   ["Parchment"] = {0.18, 0.12, 0.06},
  110.   ["Marble"] = {0, 0, 0},
  111.   ["Silver"] = {0.12, 0.12, 0.12},
  112.   ["Bronze"] = {0.18, 0.12, 0.06},
  113.   ["ParchmentLarge"] = {.141, 0, 0}
  114. };
  115. MATERIAL_TITLETEXT_COLOR_TABLE = {
  116.   ["Default"] = {0, 0, 0},
  117.   ["Stone"] = {0.93, 0.82, 0},
  118.   ["Parchment"] = {0, 0, 0},
  119.   ["Marble"] = {0.93, 0.82, 0},
  120.   ["Silver"] = {0.93, 0.82, 0},
  121.   ["Bronze"] = {0.93, 0.82, 0},
  122.   ["ParchmentLarge"] = {.208, 0, 0}
  123. };
  124.  
  125. FRIENDS_BNET_NAME_COLOR = CreateColor(0.510, 0.773, 1.0);
  126. FRIENDS_BNET_BACKGROUND_COLOR = CreateColor(0, 0.694, 0.941, 0.05);
  127. FRIENDS_WOW_NAME_COLOR = CreateColor(0.996, 0.882, 0.361);
  128. FRIENDS_WOW_BACKGROUND_COLOR = CreateColor(1.0, 0.824, 0.0, 0.05);
  129. FRIENDS_GRAY_COLOR = CreateColor(0.486, 0.518, 0.541);
  130. FRIENDS_OFFLINE_BACKGROUND_COLOR = CreateColor(0.588, 0.588, 0.588, 0.05);
  131. FRIENDS_BNET_NAME_COLOR_CODE = "|cff82c5ff";
  132. FRIENDS_BROADCAST_TIME_COLOR_CODE = "|cff4381a8"
  133. FRIENDS_WOW_NAME_COLOR_CODE = "|cfffde05c";
  134. FRIENDS_OTHER_NAME_COLOR_CODE = "|cff7b8489";
  135.  
  136. HTML_START = "<html><body><p>";
  137. HTML_START_CENTERED = "<html><body><p align=\"center\">";
  138. HTML_END = "</p></body></html>";
  139.  
  140. --
  141. -- Class
  142. --
  143. CLASS_SORT_ORDER = {
  144.   "WARRIOR",
  145.   "DEATHKNIGHT",
  146.   "PALADIN",
  147.   "MONK",
  148.   "PRIEST",
  149.   "SHAMAN",
  150.   "DRUID",
  151.   "ROGUE",
  152.   "MAGE",
  153.   "WARLOCK",
  154.   "HUNTER",
  155.   "DEMONHUNTER",
  156. };
  157. MAX_CLASSES = #CLASS_SORT_ORDER;
  158.  
  159. LOCALIZED_CLASS_NAMES_MALE = {};
  160. LOCALIZED_CLASS_NAMES_FEMALE = {};
  161. FillLocalizedClassList(LOCALIZED_CLASS_NAMES_MALE, false);
  162. FillLocalizedClassList(LOCALIZED_CLASS_NAMES_FEMALE, true);
  163.  
  164. --
  165. -- Spell
  166. --
  167. HUNTER_DISMISS_PET = 2641;
  168. WARLOCK_METAMORPHOSIS = 103958;
  169. WARLOCK_SOULBURN = 117198;
  170. WARLOCK_GREEN_FIRE = 101508;
  171. BATTLEGROUND_ENLISTMENT_BONUS = 241260;
  172.  
  173. SCHOOL_MASK_NONE  = 0x00;
  174. SCHOOL_MASK_PHYSICAL  = 0x01;
  175. SCHOOL_MASK_HOLY  = 0x02;
  176. SCHOOL_MASK_FIRE  = 0x04;
  177. SCHOOL_MASK_NATURE  = 0x08;
  178. SCHOOL_MASK_FROST = 0x10;
  179. SCHOOL_MASK_SHADOW  = 0x20;
  180. SCHOOL_MASK_ARCANE  = 0x40;
  181.  
  182. SCHOOL_STRINGS = {
  183.   STRING_SCHOOL_PHYSICAL,
  184.   STRING_SCHOOL_HOLY,
  185.   STRING_SCHOOL_FIRE,
  186.   STRING_SCHOOL_NATURE,
  187.   STRING_SCHOOL_FROST,
  188.   STRING_SCHOOL_SHADOW,
  189.   STRING_SCHOOL_ARCANE
  190. }
  191.  
  192.  
  193. MAX_POWER_PER_EMBER = 10;
  194.  
  195. --
  196. -- Talent
  197. --
  198. SHOW_TALENT_LEVEL = 15;
  199. SHOW_PVP_TALENT_LEVEL = 20;
  200. SHOW_PVP_LEVEL = 10;
  201. SHOW_LFD_LEVEL = 15;
  202. SHOW_MASTERY_LEVEL = 78;
  203. CLASS_TALENT_LEVELS = {
  204.   ["DEFAULT"]   = { 15, 30, 45, 60, 75, 90, 100 };
  205.   ["DEATHKNIGHT"] = { 56, 57, 58, 60, 75, 90, 100 };
  206.   ["DEMONHUNTER"] = { 99, 100, 102, 104, 106, 108, 110 };
  207. }
  208.  
  209. SPECIALIZATION_TAB = 1;
  210. TALENTS_TAB = 2;
  211. NUM_TALENT_FRAME_TABS = 2;
  212.  
  213. --
  214. -- Specs
  215. --
  216. SHOW_SPEC_LEVEL = 10
  217. SPEC_WARLOCK_AFFLICTION = 1--These are spec indices
  218. SPEC_WARLOCK_DEMONOLOGY = 2;
  219. SPEC_WARLOCK_DESTRUCTION = 3;
  220. SPEC_PRIEST_SHADOW = 3;
  221. SPEC_MONK_MISTWEAVER = 2;
  222. SPEC_MONK_BREWMASTER = 1;
  223. SPEC_MONK_WINDWALKER = 3;
  224. SPEC_PALADIN_RETRIBUTION = 3;
  225. SPEC_MAGE_ARCANE = 1;
  226. SPEC_SHAMAN_RESTORATION = 3;
  227.  
  228. TALENT_SORT_ORDER = {
  229.   "spec1",
  230.   "spec2",
  231. };
  232.  
  233. TALENT_ACTIVATION_SPELLS = {
  234.   63645,
  235.   63644,
  236. };
  237.  
  238. --
  239. -- Achievement
  240. --
  241.  
  242. MAX_TRACKED_ACHIEVEMENTS = 10;
  243.  
  244. -- Criteria Types
  245. CRITERIA_TYPE_ACHIEVEMENT = 8;
  246.  
  247. -- Achievement Flags
  248. ACHIEVEMENT_FLAGS_HAS_PROGRESS_BAR    = 0x00000080;
  249. ACHIEVEMENT_FLAGS_GUILD         = 0x00004000;
  250. ACHIEVEMENT_FLAGS_SHOW_GUILD_MEMBERS  = 0x00008000;
  251. ACHIEVEMENT_FLAGS_SHOW_CRITERIA_MEMBERS = 0x00010000;
  252. ACHIEVEMENT_FLAGS_ACCOUNT         = 0x00020000;
  253. NUM_ACHIEVEMENT_FLAGS     = 3;
  254.  
  255. -- Eval Tree Flags
  256. EVALUATION_TREE_FLAG_PROGRESS_BAR   = 0x00000001;
  257. EVALUATION_TREE_FLAG_DO_NOT_DISPLAY   = 0x00000002;
  258. NUM_EVALUATION_TREE_FLAGS       = 2;
  259.  
  260. --
  261. -- Inventory
  262. --
  263.  
  264. -- General item constants
  265. ITEM_UNIQUE_EQUIPPED = -1;
  266. MAX_NUM_SOCKETS = 3;
  267.  
  268. BAG_ITEM_QUALITY_COLORS = {
  269.   [LE_ITEM_QUALITY_COMMON] = {r=0.65882,g=0.65882,b=0.65882},
  270.   [LE_ITEM_QUALITY_UNCOMMON] = {r=0.08235, g=0.70196, b=0},
  271.   [LE_ITEM_QUALITY_RARE] = {r=0, g=0.56863, b=0.94902},
  272.   [LE_ITEM_QUALITY_EPIC] = {r=0.78431, g=0.27059, b=0.98039},
  273.   [LE_ITEM_QUALITY_LEGENDARY] = {r=1, g=0.50196, b=0},
  274.   [LE_ITEM_QUALITY_ARTIFACT] = {r=0.90196, g=0.8, b=0.50196},
  275.   [LE_ITEM_QUALITY_HEIRLOOM] = {r=0, g=0.8, b=1},
  276.   [LE_ITEM_QUALITY_WOW_TOKEN] = {r=0, g=0.8, b=1},
  277. }
  278.  
  279. NEW_ITEM_ATLAS_BY_QUALITY = {
  280.   [LE_ITEM_QUALITY_POOR] = "bags-glow-white",
  281.   [LE_ITEM_QUALITY_COMMON] = "bags-glow-white",
  282.   [LE_ITEM_QUALITY_UNCOMMON] = "bags-glow-green",
  283.   [LE_ITEM_QUALITY_RARE] = "bags-glow-blue",
  284.   [LE_ITEM_QUALITY_EPIC] = "bags-glow-purple",
  285.   [LE_ITEM_QUALITY_LEGENDARY] = "bags-glow-orange",
  286.   [LE_ITEM_QUALITY_ARTIFACT] = "bags-glow-artifact",
  287.   [LE_ITEM_QUALITY_HEIRLOOM] = "bags-glow-heirloom",
  288. };
  289.  
  290. -- Loot
  291. LOOT_BORDER_BY_QUALITY = {
  292.   [LE_ITEM_QUALITY_UNCOMMON] = "loottoast-itemborder-green",
  293.   [LE_ITEM_QUALITY_RARE] = "loottoast-itemborder-blue",
  294.   [LE_ITEM_QUALITY_EPIC] = "loottoast-itemborder-purple",
  295.   [LE_ITEM_QUALITY_LEGENDARY] = "loottoast-itemborder-orange",
  296.   [LE_ITEM_QUALITY_HEIRLOOM] = "loottoast-itemborder-heirloom",
  297.   [LE_ITEM_QUALITY_ARTIFACT] = "loottoast-itemborder-artifact",
  298. };
  299.  
  300. LOOT_ROLL_TYPE_PASS = 0;
  301. LOOT_ROLL_TYPE_NEED = 1;
  302. LOOT_ROLL_TYPE_GREED = 2;
  303. LOOT_ROLL_TYPE_DISENCHANT = 3;
  304.  
  305. -- Item location bitflags
  306. ITEM_INVENTORY_LOCATION_PLAYER    = 0x00100000;
  307. ITEM_INVENTORY_LOCATION_BAGS    = 0x00200000;
  308. ITEM_INVENTORY_LOCATION_BANK    = 0x00400000;
  309. ITEM_INVENTORY_LOCATION_VOIDSTORAGE = 0x00800000;
  310. ITEM_INVENTORY_BAG_BIT_OFFSET     = 8; -- Number of bits that the bag index in GetInventoryItemsForSlot gets shifted to the left.
  311.  
  312. -- Inventory slots
  313. INVSLOT_AMMO    = 0;
  314. INVSLOT_HEAD    = 1; INVSLOT_FIRST_EQUIPPED = INVSLOT_HEAD;
  315. INVSLOT_NECK    = 2;
  316. INVSLOT_SHOULDER  = 3;
  317. INVSLOT_BODY    = 4;
  318. INVSLOT_CHEST   = 5;
  319. INVSLOT_WAIST   = 6;
  320. INVSLOT_LEGS    = 7;
  321. INVSLOT_FEET    = 8;
  322. INVSLOT_WRIST   = 9;
  323. INVSLOT_HAND    = 10;
  324. INVSLOT_FINGER1   = 11;
  325. INVSLOT_FINGER2   = 12;
  326. INVSLOT_TRINKET1  = 13;
  327. INVSLOT_TRINKET2  = 14;
  328. INVSLOT_BACK    = 15;
  329. INVSLOT_MAINHAND  = 16;
  330. INVSLOT_OFFHAND   = 17;
  331. INVSLOT_RANGED    = 18;
  332. INVSLOT_TABARD    = 19;
  333. INVSLOT_LAST_EQUIPPED = INVSLOT_TABARD;
  334.  
  335. INVSLOTS_EQUIPABLE_IN_COMBAT = {
  336. [INVSLOT_MAINHAND] = true,
  337. [INVSLOT_OFFHAND] = true,
  338. [INVSLOT_RANGED] = true,
  339. }
  340.  
  341. -- Container constants
  342. ITEM_INVENTORY_BANK_BAG_OFFSET  = 4; -- Number of bags before the first bank bag
  343. CONTAINER_BAG_OFFSET = 19; -- Used for PutItemInBag
  344.  
  345. BACKPACK_CONTAINER = 0;
  346. BANK_CONTAINER = -1;
  347. BANK_CONTAINER_INVENTORY_OFFSET = 39; -- Used for PickupInventoryItem
  348. KEYRING_CONTAINER = -2;
  349. REAGENTBANK_CONTAINER = -3;
  350.  
  351. NUM_BAG_SLOTS = 4;
  352. NUM_BANKGENERIC_SLOTS = 28;
  353. NUM_BANKBAGSLOTS = 7;
  354.  
  355. -- Item IDs
  356. HEARTHSTONE_ITEM_ID = 6948;
  357.  
  358. --
  359. -- Equipment Set
  360. --
  361. MAX_EQUIPMENT_SETS_PER_PLAYER = 10;
  362. EQUIPMENT_SET_EMPTY_SLOT = 0;
  363. EQUIPMENT_SET_IGNORED_SLOT = 1;
  364. EQUIPMENT_SET_ITEM_MISSING = -1;
  365.  
  366. --
  367. -- Combat Log
  368. --
  369.  
  370. -- Affiliation
  371. COMBATLOG_OBJECT_AFFILIATION_MINE   = 0x00000001;
  372. COMBATLOG_OBJECT_AFFILIATION_PARTY    = 0x00000002;
  373. COMBATLOG_OBJECT_AFFILIATION_RAID   = 0x00000004;
  374. COMBATLOG_OBJECT_AFFILIATION_OUTSIDER   = 0x00000008;
  375. COMBATLOG_OBJECT_AFFILIATION_MASK   = 0x0000000F;
  376. -- Reaction
  377. COMBATLOG_OBJECT_REACTION_FRIENDLY    = 0x00000010;
  378. COMBATLOG_OBJECT_REACTION_NEUTRAL   = 0x00000020;
  379. COMBATLOG_OBJECT_REACTION_HOSTILE   = 0x00000040;
  380. COMBATLOG_OBJECT_REACTION_MASK      = 0x000000F0;
  381. -- Ownership
  382. COMBATLOG_OBJECT_CONTROL_PLAYER     = 0x00000100;
  383. COMBATLOG_OBJECT_CONTROL_NPC      = 0x00000200;
  384. COMBATLOG_OBJECT_CONTROL_MASK     = 0x00000300;
  385. -- Unit type
  386. COMBATLOG_OBJECT_TYPE_PLAYER      = 0x00000400;
  387. COMBATLOG_OBJECT_TYPE_NPC     = 0x00000800;
  388. COMBATLOG_OBJECT_TYPE_PET     = 0x00001000;
  389. COMBATLOG_OBJECT_TYPE_GUARDIAN      = 0x00002000;
  390. COMBATLOG_OBJECT_TYPE_OBJECT      = 0x00004000;
  391. COMBATLOG_OBJECT_TYPE_MASK      = 0x0000FC00;
  392.  
  393. -- Special cases (non-exclusive)
  394. COMBATLOG_OBJECT_TARGET       = 0x00010000;
  395. COMBATLOG_OBJECT_FOCUS        = 0x00020000;
  396. COMBATLOG_OBJECT_MAINTANK     = 0x00040000;
  397. COMBATLOG_OBJECT_MAINASSIST     = 0x00080000;
  398. COMBATLOG_OBJECT_NONE       = 0x80000000;
  399. COMBATLOG_OBJECT_SPECIAL_MASK   = 0xFFFF0000;
  400.  
  401. COMBATLOG_OBJECT_RAIDTARGET1    = 0x00000001;
  402. COMBATLOG_OBJECT_RAIDTARGET2    = 0x00000002;
  403. COMBATLOG_OBJECT_RAIDTARGET3    = 0x00000004;
  404. COMBATLOG_OBJECT_RAIDTARGET4    = 0x00000008;
  405. COMBATLOG_OBJECT_RAIDTARGET5    = 0x00000010;
  406. COMBATLOG_OBJECT_RAIDTARGET6    = 0x00000020;
  407. COMBATLOG_OBJECT_RAIDTARGET7    = 0x00000040;
  408. COMBATLOG_OBJECT_RAIDTARGET8    = 0x00000080;
  409. COMBATLOG_OBJECT_RAIDTARGET_MASK  = bit.bor(
  410.             COMBATLOG_OBJECT_RAIDTARGET1,
  411.             COMBATLOG_OBJECT_RAIDTARGET2,
  412.             COMBATLOG_OBJECT_RAIDTARGET3,
  413.             COMBATLOG_OBJECT_RAIDTARGET4,
  414.             COMBATLOG_OBJECT_RAIDTARGET5,
  415.             COMBATLOG_OBJECT_RAIDTARGET6,
  416.             COMBATLOG_OBJECT_RAIDTARGET7,
  417.             COMBATLOG_OBJECT_RAIDTARGET8
  418.             );
  419.  
  420. -- Object type constants
  421. COMBATLOG_FILTER_ME     = bit.bor(
  422.             COMBATLOG_OBJECT_AFFILIATION_MINE,
  423.             COMBATLOG_OBJECT_REACTION_FRIENDLY,
  424.             COMBATLOG_OBJECT_CONTROL_PLAYER,
  425.             COMBATLOG_OBJECT_TYPE_PLAYER
  426.             );
  427.  
  428. COMBATLOG_FILTER_MINE     = bit.bor(
  429.             COMBATLOG_OBJECT_AFFILIATION_MINE,
  430.             COMBATLOG_OBJECT_REACTION_FRIENDLY,
  431.             COMBATLOG_OBJECT_CONTROL_PLAYER,
  432.             COMBATLOG_OBJECT_TYPE_PLAYER,
  433.             COMBATLOG_OBJECT_TYPE_OBJECT
  434.             );
  435.  
  436. COMBATLOG_FILTER_MY_PET     = bit.bor(
  437.             COMBATLOG_OBJECT_AFFILIATION_MINE,
  438.             COMBATLOG_OBJECT_REACTION_FRIENDLY,
  439.             COMBATLOG_OBJECT_CONTROL_PLAYER,
  440.             COMBATLOG_OBJECT_TYPE_GUARDIAN,
  441.             COMBATLOG_OBJECT_TYPE_PET
  442.             );
  443. COMBATLOG_FILTER_FRIENDLY_UNITS   = bit.bor(
  444.             COMBATLOG_OBJECT_AFFILIATION_PARTY,
  445.             COMBATLOG_OBJECT_AFFILIATION_RAID,
  446.             COMBATLOG_OBJECT_AFFILIATION_OUTSIDER,
  447.             COMBATLOG_OBJECT_REACTION_FRIENDLY,
  448.             COMBATLOG_OBJECT_CONTROL_PLAYER,
  449.             COMBATLOG_OBJECT_CONTROL_NPC,
  450.             COMBATLOG_OBJECT_TYPE_PLAYER,
  451.             COMBATLOG_OBJECT_TYPE_NPC,
  452.             COMBATLOG_OBJECT_TYPE_PET,
  453.             COMBATLOG_OBJECT_TYPE_GUARDIAN,
  454.             COMBATLOG_OBJECT_TYPE_OBJECT
  455.             );
  456.  
  457. COMBATLOG_FILTER_HOSTILE_PLAYERS  = bit.bor(
  458.             COMBATLOG_OBJECT_AFFILIATION_PARTY,
  459.             COMBATLOG_OBJECT_AFFILIATION_RAID,
  460.             COMBATLOG_OBJECT_AFFILIATION_OUTSIDER,
  461.             COMBATLOG_OBJECT_REACTION_HOSTILE,
  462.             COMBATLOG_OBJECT_CONTROL_PLAYER,
  463.             COMBATLOG_OBJECT_TYPE_PLAYER,
  464.             COMBATLOG_OBJECT_TYPE_NPC,
  465.             COMBATLOG_OBJECT_TYPE_PET,
  466.             COMBATLOG_OBJECT_TYPE_GUARDIAN,
  467.             COMBATLOG_OBJECT_TYPE_OBJECT
  468.             );
  469.  
  470. COMBATLOG_FILTER_HOSTILE_UNITS    = bit.bor(
  471.             COMBATLOG_OBJECT_AFFILIATION_PARTY,
  472.             COMBATLOG_OBJECT_AFFILIATION_RAID,
  473.             COMBATLOG_OBJECT_AFFILIATION_OUTSIDER,
  474.             COMBATLOG_OBJECT_REACTION_HOSTILE,
  475.             COMBATLOG_OBJECT_CONTROL_NPC,
  476.             COMBATLOG_OBJECT_TYPE_PLAYER,
  477.             COMBATLOG_OBJECT_TYPE_NPC,
  478.             COMBATLOG_OBJECT_TYPE_PET,
  479.             COMBATLOG_OBJECT_TYPE_GUARDIAN,
  480.             COMBATLOG_OBJECT_TYPE_OBJECT
  481.             );
  482.  
  483. COMBATLOG_FILTER_NEUTRAL_UNITS    = bit.bor(
  484.             COMBATLOG_OBJECT_AFFILIATION_PARTY,
  485.             COMBATLOG_OBJECT_AFFILIATION_RAID,
  486.             COMBATLOG_OBJECT_AFFILIATION_OUTSIDER,
  487.             COMBATLOG_OBJECT_REACTION_NEUTRAL,
  488.             COMBATLOG_OBJECT_CONTROL_PLAYER,
  489.             COMBATLOG_OBJECT_CONTROL_NPC,
  490.             COMBATLOG_OBJECT_TYPE_PLAYER,
  491.             COMBATLOG_OBJECT_TYPE_NPC,
  492.             COMBATLOG_OBJECT_TYPE_PET,
  493.             COMBATLOG_OBJECT_TYPE_GUARDIAN,
  494.             COMBATLOG_OBJECT_TYPE_OBJECT
  495.             );
  496. COMBATLOG_FILTER_UNKNOWN_UNITS    = COMBATLOG_OBJECT_NONE;
  497. COMBATLOG_FILTER_EVERYTHING = 0xFFFFFFFF;
  498.  
  499. --
  500. -- Calendar
  501. --
  502. CALENDAR_FIRST_WEEKDAY      = 1;    -- 1=SUN 2=MON 3=TUE 4=WED 5=THU 6=FRI 7=SAT
  503.  
  504. -- Event Types
  505. CALENDAR_EVENTTYPE_RAID     = Enum.CalendarEventType.Raid;
  506. CALENDAR_EVENTTYPE_DUNGEON    = Enum.CalendarEventType.Dungeon;
  507. CALENDAR_EVENTTYPE_PVP      = Enum.CalendarEventType.Pvp;
  508. CALENDAR_EVENTTYPE_MEETING    = Enum.CalendarEventType.Meeting;
  509. CALENDAR_EVENTTYPE_OTHER    = Enum.CalendarEventType.Other;
  510. CALENDAR_MAX_EVENTTYPE      = Enum.CalendarEventType.Other;
  511.  
  512. -- Invite Statuses
  513. CALENDAR_INVITESTATUS_INVITED   = 1;
  514. CALENDAR_INVITESTATUS_ACCEPTED    = 2;
  515. CALENDAR_INVITESTATUS_DECLINED    = 3;
  516. CALENDAR_INVITESTATUS_CONFIRMED   = 4;
  517. CALENDAR_INVITESTATUS_OUT     = 5;
  518. CALENDAR_INVITESTATUS_STANDBY   = 6;
  519. CALENDAR_INVITESTATUS_SIGNEDUP    = 7;
  520. CALENDAR_INVITESTATUS_NOT_SIGNEDUP  = 8;
  521. CALENDAR_INVITESTATUS_TENTATIVE   = 9;
  522. CALENDAR_MAX_INVITESTATUS     = CALENDAR_INVITESTATUS_TENTATIVE;
  523.  
  524. -- Invite Types
  525. CALENDAR_INVITETYPE_NORMAL    = 1;
  526. CALENDAR_INVITETYPE_SIGNUP    = 2;
  527. CALENDAR_MAX_INVITETYPE     = CALENDAR_INVITETYPE_SIGNUP;
  528.  
  529. --
  530. -- Difficulty
  531. --
  532. QuestDifficultyColors = {
  533.   ["impossible"]    = { r = 1.00, g = 0.10, b = 0.10, font = "QuestDifficulty_Impossible" };
  534.   ["verydifficult"] = { r = 1.00, g = 0.50, b = 0.25, font = "QuestDifficulty_VeryDifficult" };
  535.   ["difficult"]   = { r = 1.00, g = 0.82, b = 0.00, font = "QuestDifficulty_Difficult" };
  536.   ["standard"]    = { r = 0.25, g = 0.75, b = 0.25, font = "QuestDifficulty_Standard" };
  537.   ["trivial"]     = { r = 0.50, g = 0.50, b = 0.50, font = "QuestDifficulty_Trivial" };
  538.   ["header"]      = { r = 0.70, g = 0.70, b = 0.70, font = "QuestDifficulty_Header" };
  539. };
  540.  
  541. QuestDifficultyHighlightColors = {
  542.   ["impossible"]    = { r = 1.00, g = 0.40, b = 0.40, font = "QuestDifficulty_Impossible" };
  543.   ["verydifficult"] = { r = 1.00, g = 0.75, b = 0.44, font = "QuestDifficulty_VeryDifficult" };
  544.   ["difficult"]   = { r = 1.00, g = 1.00, b = 0.10, font = "QuestDifficulty_Difficult" };
  545.   ["standard"]    = { r = 0.43, g = 0.93, b = 0.43, font = "QuestDifficulty_Standard" };
  546.   ["trivial"]     = { r = 0.70, g = 0.70, b = 0.70,  font = "QuestDifficulty_Trivial" };
  547.   ["header"]      = { r = 1.00, g = 1.00, b = 1.00, font = "QuestDifficulty_Header" };
  548. };
  549.  
  550. --
  551. -- WorldMap
  552. --
  553. NUM_WORLDMAP_PATCH_TILES = 6;
  554.  
  555. --
  556. -- Totems
  557. --
  558.  
  559. MAX_TOTEMS = 4;
  560.  
  561. FIRE_TOTEM_SLOT = 1;
  562. EARTH_TOTEM_SLOT = 2;
  563. WATER_TOTEM_SLOT = 3;
  564. AIR_TOTEM_SLOT = 4;
  565.  
  566. STANDARD_TOTEM_PRIORITIES = {1, 2, 3, 4};
  567.  
  568. SHAMAN_TOTEM_PRIORITIES = {
  569.   EARTH_TOTEM_SLOT,
  570.   FIRE_TOTEM_SLOT,
  571.   WATER_TOTEM_SLOT,
  572.   AIR_TOTEM_SLOT,
  573. };
  574.  
  575. TOTEM_MULTI_CAST_SUMMON_SPELLS = {
  576.   66842,
  577.   66843,
  578.   66844,
  579. };
  580.  
  581. TOTEM_MULTI_CAST_RECALL_SPELLS = {
  582.   36936,
  583. };
  584.  
  585. --
  586. -- GM Ticket
  587. --
  588.  
  589. GMTICKET_QUEUE_STATUS_ENABLED = 1;
  590. GMTICKET_QUEUE_STATUS_DISABLED = -1;
  591.  
  592. GMTICKET_ASSIGNEDTOGM_STATUS_NOT_ASSIGNED = 0-- ticket is not currently assigned to a gm
  593. GMTICKET_ASSIGNEDTOGM_STATUS_ASSIGNED = 1;    -- ticket is assigned to a normal gm
  594. GMTICKET_ASSIGNEDTOGM_STATUS_ESCALATED = 2;   -- ticket is in the escalation queue
  595.  
  596. GMTICKET_OPENEDBYGM_STATUS_NOT_OPENED = 0;    -- ticket has never been opened by a gm
  597. GMTICKET_OPENEDBYGM_STATUS_OPENED = 1;      -- ticket has been opened by a gm
  598.  
  599.  
  600. -- indicies for adding lights ModelFFX:Add*Light
  601. LIGHT_LIVE  = 0;
  602. LIGHT_GHOST = 1;
  603.  
  604. -- general constant translation table
  605. STATIC_CONSTANTS = {}
  606. RegisterStaticConstants(STATIC_CONSTANTS);
  607.  
  608. -- textures for quest item overlays
  609. TEXTURE_ITEM_QUEST_BANG = "Interface\\ContainerFrame\\UI-Icon-QuestBang";
  610. TEXTURE_ITEM_QUEST_BORDER = "Interface\\ContainerFrame\\UI-Icon-QuestBorder";
  611.  
  612. -- Friends
  613. SHOW_SEARCH_BAR_NUM_FRIENDS = 12;
  614.  
  615. -- Search box
  616. MIN_CHARACTER_SEARCH = 3;
  617.  
  618. -- faction
  619. PLAYER_FACTION_GROUP = { [0] = "Horde", [1] = "Alliance", Horde = 0, Alliance = 1 };
  620. PLAYER_FACTION_COLORS = { [0] = CreateColor(0.90, 0.05, 0.07), [1] = CreateColor(0.29, 0.33, 0.91) }
  621.  
  622. -- Panel default size
  623. PANEL_DEFAULT_WIDTH = 338;
  624. PANEL_DEFAULT_HEIGHT = 424;
  625.  
  626. --Inline role icons
  627. INLINE_TANK_ICON = "|TInterface\\LFGFrame\\UI-LFG-ICON-PORTRAITROLES.blp:16:16:0:0:64:64:0:19:22:41|t";
  628. INLINE_HEALER_ICON = "|TInterface\\LFGFrame\\UI-LFG-ICON-PORTRAITROLES.blp:16:16:0:0:64:64:20:39:1:20|t";
  629. INLINE_DAMAGER_ICON = "|TInterface\\LFGFrame\\UI-LFG-ICON-PORTRAITROLES.blp:16:16:0:0:64:64:20:39:22:41|t"
  630.  
  631. -- Guild
  632. MAX_GUILDBANK_TABS = 8;
  633. MAX_BUY_GUILDBANK_TABS = 6;
  634.  
  635. EXP_DEFAULT_WIDTH = 1024;
  636.  
  637. -- Date stuff
  638. CALENDAR_WEEKDAY_NAMES = {
  639.   WEEKDAY_SUNDAY,
  640.   WEEKDAY_MONDAY,
  641.   WEEKDAY_TUESDAY,
  642.   WEEKDAY_WEDNESDAY,
  643.   WEEKDAY_THURSDAY,
  644.   WEEKDAY_FRIDAY,
  645.   WEEKDAY_SATURDAY,
  646. };
  647.  
  648. -- month names show up differently for full date displays in some languages
  649. CALENDAR_FULLDATE_MONTH_NAMES = {
  650.   FULLDATE_MONTH_JANUARY,
  651.   FULLDATE_MONTH_FEBRUARY,
  652.   FULLDATE_MONTH_MARCH,
  653.   FULLDATE_MONTH_APRIL,
  654.   FULLDATE_MONTH_MAY,
  655.   FULLDATE_MONTH_JUNE,
  656.   FULLDATE_MONTH_JULY,
  657.   FULLDATE_MONTH_AUGUST,
  658.   FULLDATE_MONTH_SEPTEMBER,
  659.   FULLDATE_MONTH_OCTOBER,
  660.   FULLDATE_MONTH_NOVEMBER,
  661.   FULLDATE_MONTH_DECEMBER,
  662. };
  663.  
  664.  
  665. -- Druid Forms.
  666. CAT_FORM = 1;
  667. BEAR_FORM = 5;
  668. MOONKIN_FORM = 31;
  669.  
  670. -- PVP Global Lua Constants
  671. CONQUEST_CURRENCY = 390;
  672. HONOR_CURRENCY = 392;
  673. JUSTICE_CURRENCY = 395;
  674. VALOR_CURRENCY = 396;
  675. SHOW_CONQUEST_LEVEL = 70;
  676.  
  677. -- Looking for Guild Parameters
  678. LFGUILD_PARAM_QUESTS  = 1;
  679. LFGUILD_PARAM_DUNGEONS  = 2;
  680. LFGUILD_PARAM_RAIDS   = 3;
  681. LFGUILD_PARAM_PVP   = 4;
  682. LFGUILD_PARAM_RP    = 5;
  683. LFGUILD_PARAM_WEEKDAYS  = 6;
  684. LFGUILD_PARAM_WEEKENDS  = 7;
  685. LFGUILD_PARAM_TANK    = 8;
  686. LFGUILD_PARAM_HEALER  = 9;
  687. LFGUILD_PARAM_DAMAGE  = 10;
  688. LFGUILD_PARAM_ANY_LEVEL = 11;
  689. LFGUILD_PARAM_MAX_LEVEL = 12;
  690. LFGUILD_PARAM_LOOKING = 13;
  691.  
  692. -- Instance
  693. INSTANCE_TYPE_DUNGEON = 1;
  694. INSTANCE_TYPE_RAID = 2;
  695. INSTANCE_TYPE_BG = 3;
  696. INSTANCE_TYPE_ARENA = 4;
  697.  
  698. DEFAULT_READY_CHECK_STAY_TIME = 10;
  699.  
  700.  
  701. PET_TYPE_SUFFIX = {
  702. [1] = "Humanoid",
  703. [2] = "Dragon",
  704. [3] = "Flying",
  705. [4] = "Undead",
  706. [5] = "Critter",
  707. [6] = "Magical",
  708. [7] = "Elemental",
  709. [8] = "Beast",
  710. [9] = "Water",
  711. [10] = "Mechanical",
  712. };
  713.  
  714. PET_BATTLE_PET_TYPE_PASSIVES = {
  715.   238--Humanoid - Recovery
  716.   245--Dragon - Execute
  717.   239--Flying - Swiftness
  718.   242--Undead - Damned
  719.   236--Critter - Elusive
  720.   243--Magical - Spellshield
  721.   241--Elemental - Weather Immune
  722.   237--Beast - Enrage
  723.   240--Aquatic - Purity
  724.   244--Mechanical - Failsafe
  725. };
  726.  
  727. MAX_NUM_PET_BATTLE_ATTACK_MODIFIERS = 2;
  728.  
  729. PET_BATTLE_STATE_ATTACK = 18;
  730. PET_BATTLE_STATE_SPEED = 20;
  731.  
  732. PET_BATTLE_EVENT_ON_APPLY = 0;
  733. PET_BATTLE_EVENT_ON_DAMAGE_TAKEN = 1;
  734. PET_BATTLE_EVENT_ON_DAMAGE_DEALT = 2;
  735. PET_BATTLE_EVENT_ON_HEAL_TAKEN = 3;
  736. PET_BATTLE_EVENT_ON_HEAL_DEALT = 4;
  737. PET_BATTLE_EVENT_ON_AURA_REMOVED = 5;
  738. PET_BATTLE_EVENT_ON_ROUND_START = 6;
  739. PET_BATTLE_EVENT_ON_ROUND_END = 7;
  740. PET_BATTLE_EVENT_ON_TURN = 8;
  741. PET_BATTLE_EVENT_ON_ABILITY = 9;
  742. PET_BATTLE_EVENT_ON_SWAP_IN = 10;
  743. PET_BATTLE_EVENT_ON_SWAP_OUT = 11;
  744.  
  745. PET_BATTLE_PAD_INDEX = 0;
  746.  
  747. -- Challenge Mode
  748. CHALLENGE_MEDAL_NONE = 0;
  749. CHALLENGE_MEDAL_BRONZE = 1;
  750. CHALLENGE_MEDAL_SILVER = 2;
  751. CHALLENGE_MEDAL_GOLD = 3;
  752. CHALLENGE_MEDAL_PLAT = 4; --as of 7/2/2013 only used for endless proving grounds
  753. NUM_CHALLENGE_MEDALS = 3;
  754. CHALLENGE_MEDAL_TEXTURES = {
  755.   [CHALLENGE_MEDAL_BRONZE] = "Interface\\Challenges\\challenges-bronze",
  756.   [CHALLENGE_MEDAL_SILVER] = "Interface\\Challenges\\challenges-silver",
  757.   [CHALLENGE_MEDAL_GOLD]   = "Interface\\Challenges\\challenges-gold",
  758.   [CHALLENGE_MEDAL_PLAT]   = "Interface\\Challenges\\challenges-plat",
  759. }
  760. CHALLENGE_MEDAL_TEXTURES_SMALL = {
  761.   [CHALLENGE_MEDAL_BRONZE] = "Interface\\Challenges\\challenges-bronze-sm",
  762.   [CHALLENGE_MEDAL_SILVER] = "Interface\\Challenges\\challenges-silver-sm",
  763.   [CHALLENGE_MEDAL_GOLD]   = "Interface\\Challenges\\challenges-gold-sm",
  764.   [CHALLENGE_MEDAL_PLAT]   = "Interface\\Challenges\\challenges-plat-sm",
  765. }
  766.  
  767. -- Player Reporting
  768. PLAYER_REPORT_TYPE_SPAM = "spam";
  769. PLAYER_REPORT_TYPE_LANGUAGE = "language";
  770. PLAYER_REPORT_TYPE_ABUSE = "abuse";
  771. PLAYER_REPORT_TYPE_BAD_PLAYER_NAME = "badplayername";
  772. PLAYER_REPORT_TYPE_BAD_GUILD_NAME = "badguildname";
  773. PLAYER_REPORT_TYPE_CHEATING = "cheater";
  774. PLAYER_REPORT_TYPE_BAD_BATTLEPET_NAME = "badbattlepetname";
  775. PLAYER_REPORT_TYPE_BAD_PET_NAME = "badpetname";
  776.  
  777. --Loot
  778. BONUS_ROLL_REQUIRED_CURRENCY = 697;
  779.  
  780. -- Quest
  781. QUEST_TYPE_DUNGEON = 81;
  782. QUEST_TYPE_SCENARIO = 98;
  783.  
  784. MAX_QUESTS = 25;
  785. MAX_OBJECTIVES = 20;
  786. MAX_QUESTLOG_QUESTS = 25;
  787. MAX_WATCHABLE_QUESTS = 25;
  788.  
  789. WORLD_QUESTS_TIME_CRITICAL_MINUTES = 15;
  790. WORLD_QUESTS_TIME_LOW_MINUTES = 75;
  791.  
  792. WORLD_QUESTS_AVAILABLE_QUEST_ID = 43341;
  793.  
  794. -- LFG
  795. LFG_CATEGORY_NAMES = {
  796.   [LE_LFG_CATEGORY_LFD] = LOOKING_FOR_DUNGEON,
  797.   [LE_LFG_CATEGORY_RF] = RAID_FINDER,
  798.   [LE_LFG_CATEGORY_SCENARIO] = SCENARIOS,
  799.   [LE_LFG_CATEGORY_LFR] = LOOKING_FOR_RAID,
  800.   [LE_LFG_CATEGORY_FLEXRAID] = FLEX_RAID,
  801.   [LE_LFG_CATEGORY_WORLDPVP] = WORLD_PVP,
  802.   [LE_LFG_CATEGORY_BATTLEFIELD] = LFG_CATEGORY_BATTLEFIELD,
  803. }
  804.  
  805. -- Instance Difficulty
  806. DIFFICULTY_DUNGEON_NORMAL = 1;
  807. DIFFICULTY_DUNGEON_HEROIC = 2;
  808. DIFFICULTY_RAID10_NORMAL = 3;
  809. DIFFICULTY_RAID25_NORMAL = 4;
  810. DIFFICULTY_RAID10_HEROIC = 5;
  811. DIFFICULTY_RAID25_HEROIC = 6;
  812. DIFFICULTY_RAID_LFR = 7;
  813. DIFFICULTY_DUNGEON_CHALLENGE = 8;
  814. DIFFICULTY_RAID40 = 9;
  815. DIFFICULTY_PRIMARYRAID_NORMAL = 14;
  816. DIFFICULTY_PRIMARYRAID_HEROIC = 15;
  817. DIFFICULTY_PRIMARYRAID_MYTHIC = 16;
  818. DIFFICULTY_PRIMARYRAID_LFR = 17;
  819.  
  820. -- PVP
  821. MAX_ARENA_TEAMS = 2;
  822. MAX_WORLD_PVP_QUEUES = 2;
  823.  
  824. -- Chat
  825. CHANNEL_INVITE_TIMEOUT = 60;
  826.  
  827. -- Scenarios
  828. SCENARIO_FLAG_DEPRECATED1     = 0x00000001;
  829. SCENARIO_FLAG_SUPRESS_STAGE_TEXT  = 0x00000002;
  830. SCENARIO_FLAG_DEPRECATED2     = 0x00000004;
  831. SCENARIO_FLAG_DEPRECATED3     = 0x00000008;
  832.  
  833. -- Lua Warning types
  834. LUA_WARNING_TREAT_AS_ERROR = 0;
  835.  
  836. -- Quest Tags
  837. QUEST_ICONS_FILE = "Interface\\QuestFrame\\QuestTypeIcons";
  838. QUEST_ICONS_FILE_WIDTH = 128;
  839. QUEST_ICONS_FILE_HEIGHT = 64;
  840.  
  841. QUEST_TAG_TCOORDS = {
  842.   ["COMPLETED"] = { 0.140625, 0.28125, 0, 0.28125 },
  843.   ["DAILY"] = { 0.28125, 0.421875, 0, 0.28125 },
  844.   ["WEEKLY"] = { 0.28125, 0.421875, 0.5625, 0.84375 },
  845.   ["FAILED"] = { 0.84375, 0.984375, 0.28125, 0.5625 },
  846.   ["STORY"] = { 0.703125, 0.84375, 0.28125, 0.5625 },
  847.   ["ALLIANCE"] = { 0.421875, 0.5625, 0.28125, 0.5625 },
  848.   ["HORDE"] = { 0.5625, 0.703125, 0.28125, 0.5625 },
  849.   [Enum.QuestTag.Dungeon] = { 0.421875, 0.5625, 0, 0.28125 },
  850.   [Enum.QuestTag.Scenario] = { 0.5625, 0.703125, 0, 0.28125 },
  851.   [Enum.QuestTag.Account] = { 0.84375, 0.984375, 0, 0.28125 },
  852.   [Enum.QuestTag.Legendary] = { 0, 0.140625, 0.28125, 0.5625 },
  853.   [Enum.QuestTag.Group] = { 0.140625, 0.28125, 0.28125, 0.5625 },
  854.   [Enum.QuestTag.Pvp] = { 0.28125, 0.421875, 0.28125, 0.5625 },
  855.   [Enum.QuestTag.Heroic] = { 0, 0.140625, 0.5625, 0.84375 },
  856.   -- same texture for all raids
  857.   [Enum.QuestTag.Raid] = { 0.703125, 0.84375, 0, 0.28125 },
  858.   [Enum.QuestTag.Raid10] = { 0.703125, 0.84375, 0, 0.28125 },
  859.   [Enum.QuestTag.Raid25] = { 0.703125, 0.84375, 0, 0.28125 },
  860. };
  861.  
  862. WORLD_QUEST_TYPE_TCOORDS = {
  863.   [LE_QUEST_TAG_TYPE_DUNGEON] = { 0.421875, 0.5625, 0, 0.28125 },
  864.   [LE_QUEST_TAG_TYPE_RAID] = { 0.703125, 0.84375, 0, 0.28125 },
  865. };
  866.  
  867. -- MATCH CONDITIONS
  868. MATCH_CONDITION_WRONG_ACHIEVEMENT = 34;
  869. MATCH_CONDITION_SUCCESS = 57;
  870.  
  871. -- FOR ABBREVIATING LARGE NUMBERS
  872. FIRST_NUMBER_CAP_VALUE = 1000;
  873.  
  874. -- GARRISONS
  875. GARRISON_HIGH_THREAT_VALUE = 300;
  876.  
  877. WOW_TOKEN_ITEM_ID = 122284;
  878.  
  879. -- TRANSMOG
  880. ENCHANT_EMPTY_SLOT_FILEDATAID = 134941;
  881. WARDROBE_TOOLTIP_CYCLE_ARROW_ICON = "|TInterface\\Transmogrify\\transmog-tooltip-arrow:12:11:-1:-1|t";
  882. WARDROBE_TOOLTIP_CYCLE_SPACER_ICON = "|TInterface\\Common\\spacer:12:11:-1:-1|t";
  883. WARDROBE_CYCLE_KEY = "TAB";
  884. WARDROBE_PREV_VISUAL_KEY = "LEFT";
  885. WARDROBE_NEXT_VISUAL_KEY = "RIGHT";
  886. WARDROBE_UP_VISUAL_KEY = "UP";
  887. WARDROBE_DOWN_VISUAL_KEY = "DOWN";
  888.  
  889. TRANSMOG_INVALID_CODES = {
  890.   "NO_ITEM",
  891.   "NOT_SOULBOUND",
  892.   "LEGENDARY",
  893.   "ITEM_TYPE",
  894.   "DESTINATION",
  895.   "MISMATCH",
  896.   "",   -- same item
  897.   "",   -- invalid source
  898.   "",   -- invalid source quality
  899.   "CANNOT_USE",
  900. }
  901.  
  902. TRANSMOG_SOURCE_BOSS_DROP = 1;
  903.  
  904. TRANSMOG_SLOTS = {
  905.   [1]  = { slot = "HEADSLOT",       transmogType = LE_TRANSMOG_TYPE_APPEARANCE, armorCategoryID = LE_TRANSMOG_COLLECTION_TYPE_HEAD },
  906.   [2]  = { slot = "SHOULDERSLOT",     transmogType = LE_TRANSMOG_TYPE_APPEARANCE, armorCategoryID = LE_TRANSMOG_COLLECTION_TYPE_SHOULDER },
  907.   [3]  = { slot = "BACKSLOT",       transmogType = LE_TRANSMOG_TYPE_APPEARANCE, armorCategoryID = LE_TRANSMOG_COLLECTION_TYPE_BACK },
  908.   [4]  = { slot = "CHESTSLOT",      transmogType = LE_TRANSMOG_TYPE_APPEARANCE, armorCategoryID = LE_TRANSMOG_COLLECTION_TYPE_CHEST },
  909.   [5]  = { slot = "TABARDSLOT",       transmogType = LE_TRANSMOG_TYPE_APPEARANCE, armorCategoryID = LE_TRANSMOG_COLLECTION_TYPE_TABARD },
  910.   [6]  = { slot = "SHIRTSLOT",      transmogType = LE_TRANSMOG_TYPE_APPEARANCE, armorCategoryID = LE_TRANSMOG_COLLECTION_TYPE_SHIRT },
  911.   [7]  = { slot = "WRISTSLOT",      transmogType = LE_TRANSMOG_TYPE_APPEARANCE, armorCategoryID = LE_TRANSMOG_COLLECTION_TYPE_WRIST },
  912.   [8]  = { slot = "HANDSSLOT",      transmogType = LE_TRANSMOG_TYPE_APPEARANCE, armorCategoryID = LE_TRANSMOG_COLLECTION_TYPE_HANDS },
  913.   [9]  = { slot = "WAISTSLOT",      transmogType = LE_TRANSMOG_TYPE_APPEARANCE, armorCategoryID = LE_TRANSMOG_COLLECTION_TYPE_WAIST },
  914.   [10] = { slot = "LEGSSLOT",       transmogType = LE_TRANSMOG_TYPE_APPEARANCE, armorCategoryID = LE_TRANSMOG_COLLECTION_TYPE_LEGS },
  915.   [11] = { slot = "FEETSLOT",       transmogType = LE_TRANSMOG_TYPE_APPEARANCE, armorCategoryID = LE_TRANSMOG_COLLECTION_TYPE_FEET },
  916.   [12] = { slot = "MAINHANDSLOT",     transmogType = LE_TRANSMOG_TYPE_APPEARANCE, armorCategoryID = nil },
  917.   [13] = { slot = "SECONDARYHANDSLOT",  transmogType = LE_TRANSMOG_TYPE_APPEARANCE, armorCategoryID = nil },
  918.   [14] = { slot = "MAINHANDSLOT",     transmogType = LE_TRANSMOG_TYPE_ILLUSION, armorCategoryID = nil },
  919.   [15] = { slot = "SECONDARYHANDSLOT",  transmogType = LE_TRANSMOG_TYPE_ILLUSION, armorCategoryID = nil },
  920. }
  921.  
  922. FIRST_TRANSMOG_COLLECTION_WEAPON_TYPE = LE_TRANSMOG_COLLECTION_TYPE_FEET + 1;
  923. LAST_TRANSMOG_COLLECTION_WEAPON_TYPE = NUM_LE_TRANSMOG_COLLECTION_TYPES;
  924. NO_TRANSMOG_SOURCE_ID = 0;
  925. NO_TRANSMOG_VISUAL_ID = 0;
  926.  
  927. -- ITEMSUBCLASSTYPES
  928. ITEMSUBCLASSTYPES = {
  929.   ["DAGGER"] = { classID = 2, subClassID = 15},
  930. }
  931.  
  932. -- MINIMAP
  933. TYPEID_DUNGEON = 1;
  934. TYPEID_RANDOM_DUNGEON = 6;
  935.  
  936. LFG_SUBTYPEID_DUNGEON = 1;
  937. LFG_SUBTYPEID_HEROIC = 2;
  938. LFG_SUBTYPEID_RAID = 3;
  939. LFG_SUBTYPEID_SCENARIO = 4;
  940. LFG_SUBTYPEID_FLEXRAID = 5;
  941. LFG_SUBTYPEID_WORLDPVP = 6;
  942.  
  943. -- TEXTURES
  944. QUESTION_MARK_ICON = "INTERFACE\\ICONS\\INV_MISC_QUESTIONMARK.BLP";
  945.  
  946.  
  947. UPPER_LEFT_VERTEX = 1;
  948. LOWER_LEFT_VERTEX = 2;
  949. UPPER_RIGHT_VERTEX = 3;
  950. LOWER_RIGHT_VERTEX = 4;
  951.  
  952. -- TUTORIALS
  953. HELPTIP_HEIGHT_PADDING = 29;
  954.  
  955. -- RELIC TALENTS
  956. RELIC_TALENT_TYPE_LIGHT = 1;
  957. RELIC_TALENT_TYPE_VOID = 2;
  958. RELIC_TALENT_TYPE_NEUTRAL = 3;
  959.  
  960. RELIC_TALENT_STYLE_CLOSED = 1;
  961. RELIC_TALENT_STYLE_UPCOMING = 2;
  962. RELIC_TALENT_STYLE_AVAILABLE = 3;
  963. RELIC_TALENT_STYLE_CHOSEN = 4;
  964.  
  965. RELIC_TALENT_LINK_TYPE_LIGHT = 1;
  966. RELIC_TALENT_LINK_TYPE_VOID = 2;
  967.  
  968. RELIC_TALENT_LINK_STYLE_DISABLED = 1;
  969. RELIC_TALENT_LINK_STYLE_POTENTIAL = 2;
  970. RELIC_TALENT_LINK_STYLE_ACTIVE = 3;
  971. RELIC_TALENT_LINK_STYLE_UPCOMING = 4;
  972. RELIC_TALENT_LINK_STYLE_AVAILABLE = 5;
  973.  
  974. -- TODO: Need to be able to expose this from client...
  975. Enum.ChatChannelType = {
  976.   None = 0,
  977.   Custom = 1,
  978.   Private_Party = 2,
  979.   Public_Party = 3,
  980.   Communities = 4,
  981. };
  982.  
  983. CALENDAR_INVITESTATUS_INFO = {
  984.   ["UNKNOWN"] = {
  985.     name    = UNKNOWN,
  986.     color   = NORMAL_FONT_COLOR,
  987.   },
  988.   [CALENDAR_INVITESTATUS_CONFIRMED] = {
  989.     name    = CALENDAR_STATUS_CONFIRMED,
  990.     color   = GREEN_FONT_COLOR,
  991.   },
  992.   [CALENDAR_INVITESTATUS_ACCEPTED] = {
  993.     name    = CALENDAR_STATUS_ACCEPTED,
  994.     color   = GREEN_FONT_COLOR,
  995.   },
  996.   [CALENDAR_INVITESTATUS_DECLINED] = {
  997.     name    = CALENDAR_STATUS_DECLINED,
  998.     color   = RED_FONT_COLOR,
  999.   },
  1000.   [CALENDAR_INVITESTATUS_OUT] = {
  1001.     name    = CALENDAR_STATUS_OUT,
  1002.     color   = RED_FONT_COLOR,
  1003.   },
  1004.   [CALENDAR_INVITESTATUS_STANDBY] = {
  1005.     name    = CALENDAR_STATUS_STANDBY,
  1006.     color   = ORANGE_FONT_COLOR,
  1007.   },
  1008.   [CALENDAR_INVITESTATUS_INVITED] = {
  1009.     name    = CALENDAR_STATUS_INVITED,
  1010.     color   = NORMAL_FONT_COLOR,
  1011.   },
  1012.   [CALENDAR_INVITESTATUS_SIGNEDUP] = {
  1013.     name    = CALENDAR_STATUS_SIGNEDUP,
  1014.     color   = GREEN_FONT_COLOR,
  1015.   },
  1016.   [CALENDAR_INVITESTATUS_NOT_SIGNEDUP] = {
  1017.     name    = CALENDAR_STATUS_NOT_SIGNEDUP,
  1018.     color   = GRAY_FONT_COLOR,
  1019.   },
  1020.   [CALENDAR_INVITESTATUS_TENTATIVE] = {
  1021.     name    = CALENDAR_STATUS_TENTATIVE,
  1022.     color   = ORANGE_FONT_COLOR,
  1023.   },
  1024. };
  1025.  
  1026. TOOLTIP_INDENT_OFFSET = 10;