Constants.lua

Constants.lua (9.0.2.36753; unchanged since 9.0.2.36665)
  1. --
  2. -- New constants should be added to this file and other constants
  3. -- deprecated and moved to this file.
  4. --
  5. WORLD_QUEST_ICONS_BY_PROFESSION = {
  6. [129] = "worldquest-icon-firstaid",
  7. [164] = "worldquest-icon-blacksmithing",
  8. [165] = "worldquest-icon-leatherworking",
  9. [171] = "worldquest-icon-alchemy",
  10. [182] = "worldquest-icon-herbalism",
  11. [186] = "worldquest-icon-mining",
  12. [202] = "worldquest-icon-engineering",
  13. [333] = "worldquest-icon-enchanting",
  14. [755] = "worldquest-icon-jewelcrafting",
  15. [773] = "worldquest-icon-inscription",
  16. [794] = "worldquest-icon-archaeology",
  17. [356] = "worldquest-icon-fishing",
  18. [185] = "worldquest-icon-cooking",
  19. [197] = "worldquest-icon-tailoring",
  20. [393] = "worldquest-icon-skinning",
  21. };
  22. CHAT_FONT_HEIGHTS = {
  23. [1] = 12,
  24. [2] = 14,
  25. [3] = 16,
  26. [4] = 18
  27. };
  28. HTML_START = "

    ";

  29. HTML_START_CENTERED = "

    ";

  30. HTML_END = "

    "
    ;
  31. --
  32. -- Class
  33. --
  34. CLASS_SORT_ORDER = {
  35. "WARRIOR",
  36. "DEATHKNIGHT",
  37. "PALADIN",
  38. "MONK",
  39. "PRIEST",
  40. "SHAMAN",
  41. "DRUID",
  42. "ROGUE",
  43. "MAGE",
  44. "WARLOCK",
  45. "HUNTER",
  46. "DEMONHUNTER",
  47. };
  48. MAX_CLASSES = #CLASS_SORT_ORDER;
  49. LOCALIZED_CLASS_NAMES_MALE = {};
  50. LOCALIZED_CLASS_NAMES_FEMALE = {};
  51. FillLocalizedClassList(LOCALIZED_CLASS_NAMES_MALE, false);
  52. FillLocalizedClassList(LOCALIZED_CLASS_NAMES_FEMALE, true);
  53. --
  54. -- Spell
  55. --
  56. HUNTER_DISMISS_PET = 2641;
  57. WARLOCK_METAMORPHOSIS = 103958;
  58. WARLOCK_SOULBURN = 117198;
  59. WARLOCK_GREEN_FIRE = 101508;
  60. BATTLEGROUND_ENLISTMENT_BONUS = 241260;
  61. SCHOOL_MASK_NONE = 0x00;
  62. SCHOOL_MASK_PHYSICAL = 0x01;
  63. SCHOOL_MASK_HOLY = 0x02;
  64. SCHOOL_MASK_FIRE = 0x04;
  65. SCHOOL_MASK_NATURE = 0x08;
  66. SCHOOL_MASK_FROST = 0x10;
  67. SCHOOL_MASK_SHADOW = 0x20;
  68. SCHOOL_MASK_ARCANE = 0x40;
  69. SCHOOL_STRINGS = {
  70. STRING_SCHOOL_PHYSICAL,
  71. STRING_SCHOOL_HOLY,
  72. STRING_SCHOOL_FIRE,
  73. STRING_SCHOOL_NATURE,
  74. STRING_SCHOOL_FROST,
  75. STRING_SCHOOL_SHADOW,
  76. STRING_SCHOOL_ARCANE
  77. }
  78. MAX_POWER_PER_EMBER = 10;
  79. SPECIALIZATION_TAB = 1;
  80. TALENTS_TAB = 2;
  81. NUM_TALENT_FRAME_TABS = 2;
  82. --
  83. -- Specs
  84. --
  85. SPEC_WARLOCK_AFFLICTION = 1; --These are spec indices
  86. SPEC_WARLOCK_DEMONOLOGY = 2;
  87. SPEC_WARLOCK_DESTRUCTION = 3;
  88. SPEC_PRIEST_SHADOW = 3;
  89. SPEC_MONK_MISTWEAVER = 2;
  90. SPEC_MONK_BREWMASTER = 1;
  91. SPEC_MONK_WINDWALKER = 3;
  92. SPEC_PALADIN_RETRIBUTION = 3;
  93. SPEC_MAGE_ARCANE = 1;
  94. SPEC_SHAMAN_RESTORATION = 3;
  95. TALENT_SORT_ORDER = {
  96. "spec1",
  97. "spec2",
  98. };
  99. TALENT_ACTIVATION_SPELLS = {
  100. 63645,
  101. 63644,
  102. };
  103. --
  104. -- Achievement
  105. --
  106. MAX_TRACKED_ACHIEVEMENTS = 10;
  107. -- Criteria Types
  108. CRITERIA_TYPE_ACHIEVEMENT = 8;
  109. -- Achievement Flags
  110. ACHIEVEMENT_FLAGS_HAS_PROGRESS_BAR = 0x00000080;
  111. ACHIEVEMENT_FLAGS_GUILD = 0x00004000;
  112. ACHIEVEMENT_FLAGS_SHOW_GUILD_MEMBERS = 0x00008000;
  113. ACHIEVEMENT_FLAGS_SHOW_CRITERIA_MEMBERS = 0x00010000;
  114. ACHIEVEMENT_FLAGS_ACCOUNT = 0x00020000;
  115. NUM_ACHIEVEMENT_FLAGS = 3;
  116. -- Eval Tree Flags
  117. EVALUATION_TREE_FLAG_PROGRESS_BAR = 0x00000001;
  118. EVALUATION_TREE_FLAG_DO_NOT_DISPLAY = 0x00000002;
  119. NUM_EVALUATION_TREE_FLAGS = 2;
  120. --
  121. -- Inventory
  122. --
  123. -- General item constants
  124. ITEM_UNIQUE_EQUIPPED = -1;
  125. MAX_NUM_SOCKETS = 3;
  126. BAG_ITEM_QUALITY_COLORS = {
  127. [Enum.ItemQuality.Common] = COMMON_GRAY_COLOR,
  128. [Enum.ItemQuality.Uncommon] = UNCOMMON_GREEN_COLOR,
  129. [Enum.ItemQuality.Rare] = RARE_BLUE_COLOR,
  130. [Enum.ItemQuality.Epic] = EPIC_PURPLE_COLOR,
  131. [Enum.ItemQuality.Legendary] = LEGENDARY_ORANGE_COLOR,
  132. [Enum.ItemQuality.Artifact] = ARTIFACT_GOLD_COLOR,
  133. [Enum.ItemQuality.Heirloom] = HEIRLOOM_BLUE_COLOR,
  134. [Enum.ItemQuality.WoWToken] = HEIRLOOM_BLUE_COLOR,
  135. }
  136. NEW_ITEM_ATLAS_BY_QUALITY = {
  137. [Enum.ItemQuality.Poor] = "bags-glow-white",
  138. [Enum.ItemQuality.Common] = "bags-glow-white",
  139. [Enum.ItemQuality.Uncommon] = "bags-glow-green",
  140. [Enum.ItemQuality.Rare] = "bags-glow-blue",
  141. [Enum.ItemQuality.Epic] = "bags-glow-purple",
  142. [Enum.ItemQuality.Legendary] = "bags-glow-orange",
  143. [Enum.ItemQuality.Artifact] = "bags-glow-artifact",
  144. [Enum.ItemQuality.Heirloom] = "bags-glow-heirloom",
  145. };
  146. -- Loot
  147. LOOT_BORDER_BY_QUALITY = {
  148. [Enum.ItemQuality.Uncommon] = "loottoast-itemborder-green",
  149. [Enum.ItemQuality.Rare] = "loottoast-itemborder-blue",
  150. [Enum.ItemQuality.Epic] = "loottoast-itemborder-purple",
  151. [Enum.ItemQuality.Legendary] = "loottoast-itemborder-orange",
  152. [Enum.ItemQuality.Heirloom] = "loottoast-itemborder-heirloom",
  153. [Enum.ItemQuality.Artifact] = "loottoast-itemborder-artifact",
  154. };
  155. LOOT_ROLL_TYPE_PASS = 0;
  156. LOOT_ROLL_TYPE_NEED = 1;
  157. LOOT_ROLL_TYPE_GREED = 2;
  158. LOOT_ROLL_TYPE_DISENCHANT = 3;
  159. -- Item location bitflags
  160. ITEM_INVENTORY_LOCATION_PLAYER = 0x00100000;
  161. ITEM_INVENTORY_LOCATION_BAGS = 0x00200000;
  162. ITEM_INVENTORY_LOCATION_BANK = 0x00400000;
  163. ITEM_INVENTORY_LOCATION_VOIDSTORAGE = 0x00800000;
  164. ITEM_INVENTORY_BAG_BIT_OFFSET = 8; -- Number of bits that the bag index in GetInventoryItemsForSlot gets shifted to the left.
  165. -- Inventory slots
  166. INVSLOT_AMMO = 0;
  167. INVSLOT_HEAD = 1; INVSLOT_FIRST_EQUIPPED = INVSLOT_HEAD;
  168. INVSLOT_NECK = 2;
  169. INVSLOT_SHOULDER = 3;
  170. INVSLOT_BODY = 4;
  171. INVSLOT_CHEST = 5;
  172. INVSLOT_WAIST = 6;
  173. INVSLOT_LEGS = 7;
  174. INVSLOT_FEET = 8;
  175. INVSLOT_WRIST = 9;
  176. INVSLOT_HAND = 10;
  177. INVSLOT_FINGER1 = 11;
  178. INVSLOT_FINGER2 = 12;
  179. INVSLOT_TRINKET1 = 13;
  180. INVSLOT_TRINKET2 = 14;
  181. INVSLOT_BACK = 15;
  182. INVSLOT_MAINHAND = 16;
  183. INVSLOT_OFFHAND = 17;
  184. INVSLOT_RANGED = 18;
  185. INVSLOT_TABARD = 19;
  186. INVSLOT_LAST_EQUIPPED = INVSLOT_TABARD;
  187. INVSLOTS_EQUIPABLE_IN_COMBAT = {
  188. [INVSLOT_MAINHAND] = true,
  189. [INVSLOT_OFFHAND] = true,
  190. [INVSLOT_RANGED] = true,
  191. }
  192. -- Container constants
  193. ITEM_INVENTORY_BANK_BAG_OFFSET = 4; -- Number of bags before the first bank bag
  194. CONTAINER_BAG_OFFSET = 19; -- Used for PutItemInBag
  195. BACKPACK_CONTAINER = 0;
  196. BANK_CONTAINER = -1;
  197. BANK_CONTAINER_INVENTORY_OFFSET = 39; -- Used for PickupInventoryItem
  198. KEYRING_CONTAINER = -2;
  199. REAGENTBANK_CONTAINER = -3;
  200. NUM_BAG_SLOTS = 4;
  201. NUM_BANKGENERIC_SLOTS = 28;
  202. NUM_BANKBAGSLOTS = 7;
  203. -- Item IDs
  204. HEARTHSTONE_ITEM_ID = 6948;
  205. --
  206. -- Equipment Set
  207. --
  208. MAX_EQUIPMENT_SETS_PER_PLAYER = 10;
  209. EQUIPMENT_SET_EMPTY_SLOT = 0;
  210. EQUIPMENT_SET_IGNORED_SLOT = 1;
  211. EQUIPMENT_SET_ITEM_MISSING = -1;
  212. --
  213. -- Combat Log
  214. --
  215. -- Affiliation
  216. COMBATLOG_OBJECT_AFFILIATION_MINE = 0x00000001;
  217. COMBATLOG_OBJECT_AFFILIATION_PARTY = 0x00000002;
  218. COMBATLOG_OBJECT_AFFILIATION_RAID = 0x00000004;
  219. COMBATLOG_OBJECT_AFFILIATION_OUTSIDER = 0x00000008;
  220. COMBATLOG_OBJECT_AFFILIATION_MASK = 0x0000000F;
  221. -- Reaction
  222. COMBATLOG_OBJECT_REACTION_FRIENDLY = 0x00000010;
  223. COMBATLOG_OBJECT_REACTION_NEUTRAL = 0x00000020;
  224. COMBATLOG_OBJECT_REACTION_HOSTILE = 0x00000040;
  225. COMBATLOG_OBJECT_REACTION_MASK = 0x000000F0;
  226. -- Ownership
  227. COMBATLOG_OBJECT_CONTROL_PLAYER = 0x00000100;
  228. COMBATLOG_OBJECT_CONTROL_NPC = 0x00000200;
  229. COMBATLOG_OBJECT_CONTROL_MASK = 0x00000300;
  230. -- Unit type
  231. COMBATLOG_OBJECT_TYPE_PLAYER = 0x00000400;
  232. COMBATLOG_OBJECT_TYPE_NPC = 0x00000800;
  233. COMBATLOG_OBJECT_TYPE_PET = 0x00001000;
  234. COMBATLOG_OBJECT_TYPE_GUARDIAN = 0x00002000;
  235. COMBATLOG_OBJECT_TYPE_OBJECT = 0x00004000;
  236. COMBATLOG_OBJECT_TYPE_MASK = 0x0000FC00;
  237. -- Special cases (non-exclusive)
  238. COMBATLOG_OBJECT_TARGET = 0x00010000;
  239. COMBATLOG_OBJECT_FOCUS = 0x00020000;
  240. COMBATLOG_OBJECT_MAINTANK = 0x00040000;
  241. COMBATLOG_OBJECT_MAINASSIST = 0x00080000;
  242. COMBATLOG_OBJECT_NONE = 0x80000000;
  243. COMBATLOG_OBJECT_SPECIAL_MASK = 0xFFFF0000;
  244. COMBATLOG_OBJECT_RAIDTARGET1 = 0x00000001;
  245. COMBATLOG_OBJECT_RAIDTARGET2 = 0x00000002;
  246. COMBATLOG_OBJECT_RAIDTARGET3 = 0x00000004;
  247. COMBATLOG_OBJECT_RAIDTARGET4 = 0x00000008;
  248. COMBATLOG_OBJECT_RAIDTARGET5 = 0x00000010;
  249. COMBATLOG_OBJECT_RAIDTARGET6 = 0x00000020;
  250. COMBATLOG_OBJECT_RAIDTARGET7 = 0x00000040;
  251. COMBATLOG_OBJECT_RAIDTARGET8 = 0x00000080;
  252. COMBATLOG_OBJECT_RAIDTARGET_MASK = bit.bor(
  253. COMBATLOG_OBJECT_RAIDTARGET1,
  254. COMBATLOG_OBJECT_RAIDTARGET2,
  255. COMBATLOG_OBJECT_RAIDTARGET3,
  256. COMBATLOG_OBJECT_RAIDTARGET4,
  257. COMBATLOG_OBJECT_RAIDTARGET5,
  258. COMBATLOG_OBJECT_RAIDTARGET6,
  259. COMBATLOG_OBJECT_RAIDTARGET7,
  260. COMBATLOG_OBJECT_RAIDTARGET8
  261. );
  262. -- Object type constants
  263. COMBATLOG_FILTER_ME = bit.bor(
  264. COMBATLOG_OBJECT_AFFILIATION_MINE,
  265. COMBATLOG_OBJECT_REACTION_FRIENDLY,
  266. COMBATLOG_OBJECT_CONTROL_PLAYER,
  267. COMBATLOG_OBJECT_TYPE_PLAYER
  268. );
  269. COMBATLOG_FILTER_MINE = bit.bor(
  270. COMBATLOG_OBJECT_AFFILIATION_MINE,
  271. COMBATLOG_OBJECT_REACTION_FRIENDLY,
  272. COMBATLOG_OBJECT_CONTROL_PLAYER,
  273. COMBATLOG_OBJECT_TYPE_PLAYER,
  274. COMBATLOG_OBJECT_TYPE_OBJECT
  275. );
  276. COMBATLOG_FILTER_MY_PET = bit.bor(
  277. COMBATLOG_OBJECT_AFFILIATION_MINE,
  278. COMBATLOG_OBJECT_REACTION_FRIENDLY,
  279. COMBATLOG_OBJECT_CONTROL_PLAYER,
  280. COMBATLOG_OBJECT_TYPE_GUARDIAN,
  281. COMBATLOG_OBJECT_TYPE_PET
  282. );
  283. COMBATLOG_FILTER_FRIENDLY_UNITS = bit.bor(
  284. COMBATLOG_OBJECT_AFFILIATION_PARTY,
  285. COMBATLOG_OBJECT_AFFILIATION_RAID,
  286. COMBATLOG_OBJECT_AFFILIATION_OUTSIDER,
  287. COMBATLOG_OBJECT_REACTION_FRIENDLY,
  288. COMBATLOG_OBJECT_CONTROL_PLAYER,
  289. COMBATLOG_OBJECT_CONTROL_NPC,
  290. COMBATLOG_OBJECT_TYPE_PLAYER,
  291. COMBATLOG_OBJECT_TYPE_NPC,
  292. COMBATLOG_OBJECT_TYPE_PET,
  293. COMBATLOG_OBJECT_TYPE_GUARDIAN,
  294. COMBATLOG_OBJECT_TYPE_OBJECT
  295. );
  296. COMBATLOG_FILTER_HOSTILE_PLAYERS = bit.bor(
  297. COMBATLOG_OBJECT_AFFILIATION_PARTY,
  298. COMBATLOG_OBJECT_AFFILIATION_RAID,
  299. COMBATLOG_OBJECT_AFFILIATION_OUTSIDER,
  300. COMBATLOG_OBJECT_REACTION_HOSTILE,
  301. COMBATLOG_OBJECT_CONTROL_PLAYER,
  302. COMBATLOG_OBJECT_TYPE_PLAYER,
  303. COMBATLOG_OBJECT_TYPE_NPC,
  304. COMBATLOG_OBJECT_TYPE_PET,
  305. COMBATLOG_OBJECT_TYPE_GUARDIAN,
  306. COMBATLOG_OBJECT_TYPE_OBJECT
  307. );
  308. COMBATLOG_FILTER_HOSTILE_UNITS = bit.bor(
  309. COMBATLOG_OBJECT_AFFILIATION_PARTY,
  310. COMBATLOG_OBJECT_AFFILIATION_RAID,
  311. COMBATLOG_OBJECT_AFFILIATION_OUTSIDER,
  312. COMBATLOG_OBJECT_REACTION_HOSTILE,
  313. COMBATLOG_OBJECT_CONTROL_NPC,
  314. COMBATLOG_OBJECT_TYPE_PLAYER,
  315. COMBATLOG_OBJECT_TYPE_NPC,
  316. COMBATLOG_OBJECT_TYPE_PET,
  317. COMBATLOG_OBJECT_TYPE_GUARDIAN,
  318. COMBATLOG_OBJECT_TYPE_OBJECT
  319. );
  320. COMBATLOG_FILTER_NEUTRAL_UNITS = bit.bor(
  321. COMBATLOG_OBJECT_AFFILIATION_PARTY,
  322. COMBATLOG_OBJECT_AFFILIATION_RAID,
  323. COMBATLOG_OBJECT_AFFILIATION_OUTSIDER,
  324. COMBATLOG_OBJECT_REACTION_NEUTRAL,
  325. COMBATLOG_OBJECT_CONTROL_PLAYER,
  326. COMBATLOG_OBJECT_CONTROL_NPC,
  327. COMBATLOG_OBJECT_TYPE_PLAYER,
  328. COMBATLOG_OBJECT_TYPE_NPC,
  329. COMBATLOG_OBJECT_TYPE_PET,
  330. COMBATLOG_OBJECT_TYPE_GUARDIAN,
  331. COMBATLOG_OBJECT_TYPE_OBJECT
  332. );
  333. COMBATLOG_FILTER_UNKNOWN_UNITS = COMBATLOG_OBJECT_NONE;
  334. COMBATLOG_FILTER_EVERYTHING = 0xFFFFFFFF;
  335. --
  336. -- Calendar
  337. --
  338. CALENDAR_FIRST_WEEKDAY = 1; -- 1=SUN 2=MON 3=TUE 4=WED 5=THU 6=FRI 7=SAT
  339. -- Event Types
  340. CALENDAR_EVENTTYPE_RAID = Enum.CalendarEventType.Raid;
  341. CALENDAR_EVENTTYPE_DUNGEON = Enum.CalendarEventType.Dungeon;
  342. CALENDAR_EVENTTYPE_PVP = Enum.CalendarEventType.PvP;
  343. CALENDAR_EVENTTYPE_MEETING = Enum.CalendarEventType.Meeting;
  344. CALENDAR_EVENTTYPE_OTHER = Enum.CalendarEventType.Other;
  345. CALENDAR_MAX_EVENTTYPE = Enum.CalendarEventType.Other;
  346. -- Invite Statuses
  347. CALENDAR_INVITESTATUS_INVITED = 1;
  348. CALENDAR_INVITESTATUS_ACCEPTED = 2;
  349. CALENDAR_INVITESTATUS_DECLINED = 3;
  350. CALENDAR_INVITESTATUS_CONFIRMED = 4;
  351. CALENDAR_INVITESTATUS_OUT = 5;
  352. CALENDAR_INVITESTATUS_STANDBY = 6;
  353. CALENDAR_INVITESTATUS_SIGNEDUP = 7;
  354. CALENDAR_INVITESTATUS_NOT_SIGNEDUP = 8;
  355. CALENDAR_INVITESTATUS_TENTATIVE = 9;
  356. CALENDAR_MAX_INVITESTATUS = CALENDAR_INVITESTATUS_TENTATIVE;
  357. -- Invite Types
  358. CALENDAR_INVITETYPE_NORMAL = 1;
  359. CALENDAR_INVITETYPE_SIGNUP = 2;
  360. CALENDAR_MAX_INVITETYPE = CALENDAR_INVITETYPE_SIGNUP;
  361. --
  362. -- Difficulty
  363. --
  364. QuestDifficultyColors = {
  365. ["impossible"] = { r = 1.00, g = 0.10, b = 0.10, font = "QuestDifficulty_Impossible" };
  366. ["verydifficult"] = { r = 1.00, g = 0.50, b = 0.25, font = "QuestDifficulty_VeryDifficult" };
  367. ["difficult"] = { r = 1.00, g = 0.82, b = 0.00, font = "QuestDifficulty_Difficult" };
  368. ["standard"] = { r = 0.25, g = 0.75, b = 0.25, font = "QuestDifficulty_Standard" };
  369. ["trivial"] = { r = 0.50, g = 0.50, b = 0.50, font = "QuestDifficulty_Trivial" };
  370. ["header"] = { r = 0.70, g = 0.70, b = 0.70, font = "QuestDifficulty_Header" };
  371. ["disabled"] = { r = 0.498, g = 0.498, b = 0.498, font = "QuestDifficulty_Impossible" };
  372. };
  373. QuestDifficultyHighlightColors = {
  374. ["impossible"] = { r = 1.00, g = 0.40, b = 0.40, font = "QuestDifficulty_Impossible" };
  375. ["verydifficult"] = { r = 1.00, g = 0.75, b = 0.44, font = "QuestDifficulty_VeryDifficult" };
  376. ["difficult"] = { r = 1.00, g = 1.00, b = 0.10, font = "QuestDifficulty_Difficult" };
  377. ["standard"] = { r = 0.43, g = 0.93, b = 0.43, font = "QuestDifficulty_Standard" };
  378. ["trivial"] = { r = 0.70, g = 0.70, b = 0.70, font = "QuestDifficulty_Trivial" };
  379. ["header"] = { r = 1.00, g = 1.00, b = 1.00, font = "QuestDifficulty_Header" };
  380. ["disabled"] = { r = 0.60, g = 0.60, b = 0.60, font = "QuestDifficulty_Impossible" };
  381. };
  382. --
  383. -- WorldMap
  384. --
  385. NUM_WORLDMAP_PATCH_TILES = 6;
  386. --
  387. -- Totems
  388. --
  389. MAX_TOTEMS = 4;
  390. FIRE_TOTEM_SLOT = 1;
  391. EARTH_TOTEM_SLOT = 2;
  392. WATER_TOTEM_SLOT = 3;
  393. AIR_TOTEM_SLOT = 4;
  394. STANDARD_TOTEM_PRIORITIES = {1, 2, 3, 4};
  395. SHAMAN_TOTEM_PRIORITIES = {
  396. EARTH_TOTEM_SLOT,
  397. FIRE_TOTEM_SLOT,
  398. WATER_TOTEM_SLOT,
  399. AIR_TOTEM_SLOT,
  400. };
  401. TOTEM_MULTI_CAST_SUMMON_SPELLS = {
  402. 66842,
  403. 66843,
  404. 66844,
  405. };
  406. TOTEM_MULTI_CAST_RECALL_SPELLS = {
  407. 36936,
  408. };
  409. --
  410. -- GM Ticket
  411. --
  412. GMTICKET_QUEUE_STATUS_ENABLED = 1;
  413. GMTICKET_QUEUE_STATUS_DISABLED = -1;
  414. GMTICKET_ASSIGNEDTOGM_STATUS_NOT_ASSIGNED = 0; -- ticket is not currently assigned to a gm
  415. GMTICKET_ASSIGNEDTOGM_STATUS_ASSIGNED = 1; -- ticket is assigned to a normal gm
  416. GMTICKET_ASSIGNEDTOGM_STATUS_ESCALATED = 2; -- ticket is in the escalation queue
  417. GMTICKET_OPENEDBYGM_STATUS_NOT_OPENED = 0; -- ticket has never been opened by a gm
  418. GMTICKET_OPENEDBYGM_STATUS_OPENED = 1; -- ticket has been opened by a gm
  419. -- indicies for adding lights ModelFFX:Add*Light
  420. LIGHT_LIVE = 0;
  421. LIGHT_GHOST = 1;
  422. -- general constant translation table
  423. STATIC_CONSTANTS = {}
  424. RegisterStaticConstants(STATIC_CONSTANTS);
  425. -- textures for quest item overlays
  426. TEXTURE_ITEM_QUEST_BANG = "Interface\\ContainerFrame\\UI-Icon-QuestBang";
  427. TEXTURE_ITEM_QUEST_BORDER = "Interface\\ContainerFrame\\UI-Icon-QuestBorder";
  428. -- Friends
  429. SHOW_SEARCH_BAR_NUM_FRIENDS = 12;
  430. -- Search box
  431. MIN_CHARACTER_SEARCH = 3;
  432. -- Panel default size
  433. PANEL_DEFAULT_WIDTH = 338;
  434. PANEL_DEFAULT_HEIGHT = 424;
  435. --Inline role icons
  436. INLINE_TANK_ICON = "|TInterface\\LFGFrame\\UI-LFG-ICON-PORTRAITROLES.blp:16:16:0:0:64:64:0:19:22:41|t";
  437. INLINE_HEALER_ICON = "|TInterface\\LFGFrame\\UI-LFG-ICON-PORTRAITROLES.blp:16:16:0:0:64:64:20:39:1:20|t";
  438. INLINE_DAMAGER_ICON = "|TInterface\\LFGFrame\\UI-LFG-ICON-PORTRAITROLES.blp:16:16:0:0:64:64:20:39:22:41|t"
  439. -- Guild
  440. MAX_GUILDBANK_TABS = 8;
  441. MAX_BUY_GUILDBANK_TABS = 6;
  442. EXP_DEFAULT_WIDTH = 1024;
  443. -- Date stuff
  444. CALENDAR_WEEKDAY_NAMES = {
  445. WEEKDAY_SUNDAY,
  446. WEEKDAY_MONDAY,
  447. WEEKDAY_TUESDAY,
  448. WEEKDAY_WEDNESDAY,
  449. WEEKDAY_THURSDAY,
  450. WEEKDAY_FRIDAY,
  451. WEEKDAY_SATURDAY,
  452. };
  453. -- month names show up differently for full date displays in some languages
  454. CALENDAR_FULLDATE_MONTH_NAMES = {
  455. FULLDATE_MONTH_JANUARY,
  456. FULLDATE_MONTH_FEBRUARY,
  457. FULLDATE_MONTH_MARCH,
  458. FULLDATE_MONTH_APRIL,
  459. FULLDATE_MONTH_MAY,
  460. FULLDATE_MONTH_JUNE,
  461. FULLDATE_MONTH_JULY,
  462. FULLDATE_MONTH_AUGUST,
  463. FULLDATE_MONTH_SEPTEMBER,
  464. FULLDATE_MONTH_OCTOBER,
  465. FULLDATE_MONTH_NOVEMBER,
  466. FULLDATE_MONTH_DECEMBER,
  467. };
  468. -- Druid Forms.
  469. CAT_FORM = 1;
  470. BEAR_FORM = 5;
  471. MOONKIN_FORM = 31;
  472. -- Rogue Forms
  473. ROGUE_STEALTH = 30;
  474. -- PVP Global Lua Constants
  475. CONQUEST_CURRENCY = 390;
  476. HONOR_CURRENCY = 392;
  477. JUSTICE_CURRENCY = 395;
  478. VALOR_CURRENCY = 396;
  479. -- Looking for Guild Parameters
  480. LFGUILD_PARAM_QUESTS = 1;
  481. LFGUILD_PARAM_DUNGEONS = 2;
  482. LFGUILD_PARAM_RAIDS = 3;
  483. LFGUILD_PARAM_PVP = 4;
  484. LFGUILD_PARAM_RP = 5;
  485. LFGUILD_PARAM_WEEKDAYS = 6;
  486. LFGUILD_PARAM_WEEKENDS = 7;
  487. LFGUILD_PARAM_TANK = 8;
  488. LFGUILD_PARAM_HEALER = 9;
  489. LFGUILD_PARAM_DAMAGE = 10;
  490. LFGUILD_PARAM_ANY_LEVEL = 11;
  491. LFGUILD_PARAM_MAX_LEVEL = 12;
  492. LFGUILD_PARAM_LOOKING = 13;
  493. -- Instance
  494. INSTANCE_TYPE_DUNGEON = 1;
  495. INSTANCE_TYPE_RAID = 2;
  496. INSTANCE_TYPE_BG = 3;
  497. INSTANCE_TYPE_ARENA = 4;
  498. DEFAULT_READY_CHECK_STAY_TIME = 10;
  499. PET_TYPE_SUFFIX = {
  500. [1] = "Humanoid",
  501. [2] = "Dragon",
  502. [3] = "Flying",
  503. [4] = "Undead",
  504. [5] = "Critter",
  505. [6] = "Magical",
  506. [7] = "Elemental",
  507. [8] = "Beast",
  508. [9] = "Water",
  509. [10] = "Mechanical",
  510. };
  511. PET_BATTLE_PET_TYPE_PASSIVES = {
  512. 238, --Humanoid - Recovery
  513. 245, --Dragon - Execute
  514. 239, --Flying - Swiftness
  515. 242, --Undead - Damned
  516. 236, --Critter - Elusive
  517. 243, --Magical - Spellshield
  518. 241, --Elemental - Weather Immune
  519. 237, --Beast - Enrage
  520. 240, --Aquatic - Purity
  521. 244, --Mechanical - Failsafe
  522. };
  523. MAX_NUM_PET_BATTLE_ATTACK_MODIFIERS = 2;
  524. PET_BATTLE_STATE_ATTACK = 18;
  525. PET_BATTLE_STATE_SPEED = 20;
  526. PET_BATTLE_EVENT_ON_APPLY = 0;
  527. PET_BATTLE_EVENT_ON_DAMAGE_TAKEN = 1;
  528. PET_BATTLE_EVENT_ON_DAMAGE_DEALT = 2;
  529. PET_BATTLE_EVENT_ON_HEAL_TAKEN = 3;
  530. PET_BATTLE_EVENT_ON_HEAL_DEALT = 4;
  531. PET_BATTLE_EVENT_ON_AURA_REMOVED = 5;
  532. PET_BATTLE_EVENT_ON_ROUND_START = 6;
  533. PET_BATTLE_EVENT_ON_ROUND_END = 7;
  534. PET_BATTLE_EVENT_ON_TURN = 8;
  535. PET_BATTLE_EVENT_ON_ABILITY = 9;
  536. PET_BATTLE_EVENT_ON_SWAP_IN = 10;
  537. PET_BATTLE_EVENT_ON_SWAP_OUT = 11;
  538. PET_BATTLE_PAD_INDEX = 0;
  539. -- Challenge Mode
  540. CHALLENGE_MEDAL_NONE = 0;
  541. CHALLENGE_MEDAL_BRONZE = 1;
  542. CHALLENGE_MEDAL_SILVER = 2;
  543. CHALLENGE_MEDAL_GOLD = 3;
  544. CHALLENGE_MEDAL_PLAT = 4; --as of 7/2/2013 only used for endless proving grounds
  545. NUM_CHALLENGE_MEDALS = 3;
  546. CHALLENGE_MEDAL_TEXTURES = {
  547. [CHALLENGE_MEDAL_BRONZE] = "Interface\\Challenges\\challenges-bronze",
  548. [CHALLENGE_MEDAL_SILVER] = "Interface\\Challenges\\challenges-silver",
  549. [CHALLENGE_MEDAL_GOLD] = "Interface\\Challenges\\challenges-gold",
  550. [CHALLENGE_MEDAL_PLAT] = "Interface\\Challenges\\challenges-plat",
  551. }
  552. CHALLENGE_MEDAL_TEXTURES_SMALL = {
  553. [CHALLENGE_MEDAL_BRONZE] = "Interface\\Challenges\\challenges-bronze-sm",
  554. [CHALLENGE_MEDAL_SILVER] = "Interface\\Challenges\\challenges-silver-sm",
  555. [CHALLENGE_MEDAL_GOLD] = "Interface\\Challenges\\challenges-gold-sm",
  556. [CHALLENGE_MEDAL_PLAT] = "Interface\\Challenges\\challenges-plat-sm",
  557. }
  558. -- Player Reporting
  559. PLAYER_REPORT_TYPE_SPAM = "spam";
  560. PLAYER_REPORT_TYPE_LANGUAGE = "language";
  561. PLAYER_REPORT_TYPE_ABUSE = "abuse";
  562. PLAYER_REPORT_TYPE_BAD_PLAYER_NAME = "badplayername";
  563. PLAYER_REPORT_TYPE_BAD_GUILD_NAME = "badguildname";
  564. PLAYER_REPORT_TYPE_CHEATING = "cheater";
  565. PLAYER_REPORT_TYPE_BAD_BATTLEPET_NAME = "badbattlepetname";
  566. PLAYER_REPORT_TYPE_BAD_PET_NAME = "badpetname";
  567. --Loot
  568. BONUS_ROLL_REQUIRED_CURRENCY = 697;
  569. -- Quest
  570. QUEST_TYPE_DUNGEON = 81;
  571. QUEST_TYPE_SCENARIO = 98;
  572. MAX_QUESTS = 25;
  573. MAX_OBJECTIVES = 20;
  574. MAX_QUESTLOG_QUESTS = 25;
  575. WORLD_QUESTS_TIME_CRITICAL_MINUTES = 15;
  576. WORLD_QUESTS_TIME_LOW_MINUTES = 75;
  577. WORLD_QUESTS_AVAILABLE_QUEST_ID = 43341;
  578. -- LFG
  579. LFG_CATEGORY_NAMES = {
  580. [LE_LFG_CATEGORY_LFD] = LOOKING_FOR_DUNGEON,
  581. [LE_LFG_CATEGORY_RF] = RAID_FINDER,
  582. [LE_LFG_CATEGORY_SCENARIO] = SCENARIOS,
  583. [LE_LFG_CATEGORY_LFR] = LOOKING_FOR_RAID,
  584. [LE_LFG_CATEGORY_FLEXRAID] = FLEX_RAID,
  585. [LE_LFG_CATEGORY_WORLDPVP] = WORLD_PVP,
  586. [LE_LFG_CATEGORY_BATTLEFIELD] = LFG_CATEGORY_BATTLEFIELD,
  587. }
  588. -- PVP
  589. MAX_ARENA_TEAMS = 2;
  590. MAX_WORLD_PVP_QUEUES = 2;
  591. CONQUEST_SIZE_STRINGS = { ARENA_2V2, ARENA_3V3, BATTLEGROUND_10V10 };
  592. CONQUEST_TYPE_STRINGS = { ARENA, ARENA, BATTLEGROUNDS };
  593. CONQUEST_SIZES = {2, 3, 10};
  594. CONQUEST_BRACKET_INDEXES = { 1, 2, 4 }; -- 5v5 was removed
  595. -- Chat
  596. CHANNEL_INVITE_TIMEOUT = 60;
  597. -- Scenarios
  598. SCENARIO_FLAG_DEPRECATED1 = 0x00000001;
  599. SCENARIO_FLAG_SUPRESS_STAGE_TEXT = 0x00000002;
  600. SCENARIO_FLAG_DEPRECATED2 = 0x00000004;
  601. SCENARIO_FLAG_DEPRECATED3 = 0x00000008;
  602. -- Lua Warning types
  603. LUA_WARNING_TREAT_AS_ERROR = 0;
  604. -- Quest Tags
  605. QUEST_ICONS_FILE = "Interface\\QuestFrame\\QuestTypeIcons";
  606. QUEST_ICONS_FILE_WIDTH = 128;
  607. QUEST_ICONS_FILE_HEIGHT = 64;
  608. QUEST_TAG_TCOORDS = {
  609. ["COMPLETED"] = { 0.140625, 0.28125, 0, 0.28125 },
  610. ["DAILY"] = { 0.28125, 0.421875, 0, 0.28125 },
  611. ["WEEKLY"] = { 0.28125, 0.421875, 0.5625, 0.84375 },
  612. ["FAILED"] = { 0.84375, 0.984375, 0.28125, 0.5625 },
  613. ["STORY"] = { 0.703125, 0.84375, 0.28125, 0.5625 },
  614. ["ALLIANCE"] = { 0.421875, 0.5625, 0.28125, 0.5625 },
  615. ["HORDE"] = { 0.5625, 0.703125, 0.28125, 0.5625 },
  616. ["EXPIRING_SOON"] = { 0.84375, 0.984375, 0.5625, 0.84375 },
  617. ["EXPIRING"] = { 0.703125, 0.84375, 0.5625, 0.84375 },
  618. [Enum.QuestTag.Dungeon] = { 0.421875, 0.5625, 0, 0.28125 },
  619. [Enum.QuestTag.Scenario] = { 0.5625, 0.703125, 0, 0.28125 },
  620. [Enum.QuestTag.Account] = { 0.84375, 0.984375, 0, 0.28125 },
  621. [Enum.QuestTag.Legendary] = { 0, 0.140625, 0.28125, 0.5625 },
  622. [Enum.QuestTag.Group] = { 0.140625, 0.28125, 0.28125, 0.5625 },
  623. [Enum.QuestTag.PvP] = { 0.28125, 0.421875, 0.28125, 0.5625 },
  624. [Enum.QuestTag.Heroic] = { 0, 0.140625, 0.5625, 0.84375 },
  625. -- same texture for all raids
  626. [Enum.QuestTag.Raid] = { 0.703125, 0.84375, 0, 0.28125 },
  627. [Enum.QuestTag.Raid10] = { 0.703125, 0.84375, 0, 0.28125 },
  628. [Enum.QuestTag.Raid25] = { 0.703125, 0.84375, 0, 0.28125 },
  629. };
  630. WORLD_QUEST_TYPE_TCOORDS = {
  631. [Enum.QuestTagType.Dungeon] = { 0.421875, 0.5625, 0, 0.28125 },
  632. [Enum.QuestTagType.Raid] = { 0.703125, 0.84375, 0, 0.28125 },
  633. };
  634. -- MATCH CONDITIONS
  635. MATCH_CONDITION_WRONG_ACHIEVEMENT = 34;
  636. MATCH_CONDITION_SUCCESS = 57;
  637. -- FOR ABBREVIATING LARGE NUMBERS
  638. FIRST_NUMBER_CAP_VALUE = 1000;
  639. -- GARRISONS
  640. GARRISON_HIGH_THREAT_VALUE = 300;
  641. LOOT_SOURCE_GARRISON_CACHE = 10;
  642. WOW_TOKEN_ITEM_ID = 122284;
  643. -- TRANSMOG
  644. ENCHANT_EMPTY_SLOT_FILEDATAID = 134941;
  645. WARDROBE_TOOLTIP_CYCLE_ARROW_ICON = "|TInterface\\Transmogrify\\transmog-tooltip-arrow:12:11:-1:-1|t";
  646. WARDROBE_TOOLTIP_CYCLE_SPACER_ICON = "|TInterface\\Common\\spacer:12:11:-1:-1|t";
  647. WARDROBE_CYCLE_KEY = "TAB";
  648. WARDROBE_PREV_VISUAL_KEY = "LEFT";
  649. WARDROBE_NEXT_VISUAL_KEY = "RIGHT";
  650. WARDROBE_UP_VISUAL_KEY = "UP";
  651. WARDROBE_DOWN_VISUAL_KEY = "DOWN";
  652. TRANSMOG_INVALID_CODES = {
  653. "NO_ITEM",
  654. "NOT_SOULBOUND",
  655. "LEGENDARY",
  656. "ITEM_TYPE",
  657. "DESTINATION",
  658. "MISMATCH",
  659. "", -- same item
  660. "", -- invalid source
  661. "", -- invalid source quality
  662. "CANNOT_USE",
  663. "SLOT_FOR_RACE",
  664. }
  665. TRANSMOG_SOURCE_BOSS_DROP = 1;
  666. FIRST_TRANSMOG_COLLECTION_WEAPON_TYPE = Enum.TransmogCollectionType.Wand + 1;
  667. LAST_TRANSMOG_COLLECTION_WEAPON_TYPE = Enum.TransmogCollectionTypeMeta.NumValues;
  668. NO_TRANSMOG_SOURCE_ID = 0;
  669. NO_TRANSMOG_VISUAL_ID = 0;
  670. REMOVE_TRANSMOG_ID = 0;
  671. -- ITEMSUBCLASSTYPES
  672. ITEMSUBCLASSTYPES = {
  673. ["DAGGER"] = { classID = 2, subClassID = 15},
  674. }
  675. -- MINIMAP
  676. TYPEID_DUNGEON = 1;
  677. TYPEID_RANDOM_DUNGEON = 6;
  678. LFG_SUBTYPEID_DUNGEON = 1;
  679. LFG_SUBTYPEID_HEROIC = 2;
  680. LFG_SUBTYPEID_RAID = 3;
  681. LFG_SUBTYPEID_SCENARIO = 4;
  682. LFG_SUBTYPEID_FLEXRAID = 5;
  683. LFG_SUBTYPEID_WORLDPVP = 6;
  684. -- TEXTURES
  685. QUESTION_MARK_ICON = "INTERFACE\\ICONS\\INV_MISC_QUESTIONMARK.BLP";
  686. UPPER_LEFT_VERTEX = 1;
  687. LOWER_LEFT_VERTEX = 2;
  688. UPPER_RIGHT_VERTEX = 3;
  689. LOWER_RIGHT_VERTEX = 4;
  690. -- TUTORIALS
  691. HELPTIP_HEIGHT_PADDING = 29;
  692. -- RELIC TALENTS
  693. RELIC_TALENT_TYPE_LIGHT = 1;
  694. RELIC_TALENT_TYPE_VOID = 2;
  695. RELIC_TALENT_TYPE_NEUTRAL = 3;
  696. RELIC_TALENT_STYLE_CLOSED = 1;
  697. RELIC_TALENT_STYLE_UPCOMING = 2;
  698. RELIC_TALENT_STYLE_AVAILABLE = 3;
  699. RELIC_TALENT_STYLE_CHOSEN = 4;
  700. RELIC_TALENT_LINK_TYPE_LIGHT = 1;
  701. RELIC_TALENT_LINK_TYPE_VOID = 2;
  702. RELIC_TALENT_LINK_STYLE_DISABLED = 1;
  703. RELIC_TALENT_LINK_STYLE_POTENTIAL = 2;
  704. RELIC_TALENT_LINK_STYLE_ACTIVE = 3;
  705. RELIC_TALENT_LINK_STYLE_UPCOMING = 4;
  706. RELIC_TALENT_LINK_STYLE_AVAILABLE = 5;
  707. -- TODO: Need to be able to expose this from client...
  708. Enum.ChatChannelType = {
  709. None = 0,
  710. Custom = 1,
  711. Private_Party = 2,
  712. Public_Party = 3,
  713. Communities = 4,
  714. };
  715. CALENDAR_INVITESTATUS_INFO = {
  716. ["UNKNOWN"] = {
  717. name = UNKNOWN,
  718. color = NORMAL_FONT_COLOR,
  719. },
  720. [CALENDAR_INVITESTATUS_CONFIRMED] = {
  721. name = CALENDAR_STATUS_CONFIRMED,
  722. color = GREEN_FONT_COLOR,
  723. },
  724. [CALENDAR_INVITESTATUS_ACCEPTED] = {
  725. name = CALENDAR_STATUS_ACCEPTED,
  726. color = GREEN_FONT_COLOR,
  727. },
  728. [CALENDAR_INVITESTATUS_DECLINED] = {
  729. name = CALENDAR_STATUS_DECLINED,
  730. color = RED_FONT_COLOR,
  731. },
  732. [CALENDAR_INVITESTATUS_OUT] = {
  733. name = CALENDAR_STATUS_OUT,
  734. color = RED_FONT_COLOR,
  735. },
  736. [CALENDAR_INVITESTATUS_STANDBY] = {
  737. name = CALENDAR_STATUS_STANDBY,
  738. color = ORANGE_FONT_COLOR,
  739. },
  740. [CALENDAR_INVITESTATUS_INVITED] = {
  741. name = CALENDAR_STATUS_INVITED,
  742. color = NORMAL_FONT_COLOR,
  743. },
  744. [CALENDAR_INVITESTATUS_SIGNEDUP] = {
  745. name = CALENDAR_STATUS_SIGNEDUP,
  746. color = GREEN_FONT_COLOR,
  747. },
  748. [CALENDAR_INVITESTATUS_NOT_SIGNEDUP] = {
  749. name = CALENDAR_STATUS_NOT_SIGNEDUP,
  750. color = GRAY_FONT_COLOR,
  751. },
  752. [CALENDAR_INVITESTATUS_TENTATIVE] = {
  753. name = CALENDAR_STATUS_TENTATIVE,
  754. color = ORANGE_FONT_COLOR,
  755. },
  756. };
  757. TOOLTIP_INDENT_OFFSET = 10;
  758. -- "Generic" GamePad button labels
  759. KEY_PADDUP = "GamePad Up";
  760. KEY_PADDRIGHT = "GamePad Right";
  761. KEY_PADDDOWN = "GamePad Down";
  762. KEY_PADDLEFT = "GamePad Left";
  763. KEY_PAD1 = "GamePad 1";
  764. KEY_PAD2 = "GamePad 2";
  765. KEY_PAD3 = "GamePad 3";
  766. KEY_PAD4 = "GamePad 4";
  767. KEY_PAD5 = "GamePad 5";
  768. KEY_PAD6 = "GamePad 6";
  769. KEY_PADLSTICK = "GamePad L Stick In";
  770. KEY_PADRSTICK = "GamePad R Stick In";
  771. KEY_PADLSHOULDER = "GamePad L Shoulder";
  772. KEY_PADRSHOULDER = "GamePad R Shoulder";
  773. KEY_PADLTRIGGER = "GamePad L Trigger";
  774. KEY_PADRTRIGGER = "GamePad R Trigger";
  775. KEY_PADLSTICKUP = "GamePad L Stick Up";
  776. KEY_PADLSTICKRIGHT = "GamePad L Stick Right";
  777. KEY_PADLSTICKDOWN = "GamePad L Stick Down";
  778. KEY_PADLSTICKLEFT = "GamePad L Stick Left";
  779. KEY_PADRSTICKUP = "GamePad R Stick Up";
  780. KEY_PADRSTICKRIGHT = "GamePad R Stick Right";
  781. KEY_PADRSTICKDOWN = "GamePad R Stick Down";
  782. KEY_PADRSTICKLEFT = "GamePad R Stick Left";
  783. KEY_PADPADDLE1 = "GamePad Paddle 1";
  784. KEY_PADPADDLE2 = "GamePad Paddle 2";
  785. KEY_PADPADDLE3 = "GamePad Paddle 3";
  786. KEY_PADPADDLE4 = "GamePad Paddle 4";
  787. KEY_PADFORWARD = "GamePad Forward";
  788. KEY_PADBACK = "GamePad Back";
  789. KEY_PADSYSTEM = "GamePad System";
  790. KEY_PADSOCIAL = "GamePad Social";
  791. -- "Letters" label style specializations
  792. KEY_PAD1_LTR = "GamePad A";
  793. KEY_PAD2_LTR = "GamePad B";
  794. KEY_PAD3_LTR = "GamePad X";
  795. KEY_PAD4_LTR = "GamePad Y";
  796. KEY_PADLSHOULDER_LTR = "GamePad L Bumper";
  797. KEY_PADRSHOULDER_LTR = "GamePad R Bumper";
  798. KEY_PADFORWARD_LTR = "GamePad Start";
  799. KEY_PADBACK_LTR = "GamePad Back";
  800. -- "Reverse" label style specializations
  801. KEY_PAD1_REV = "GamePad B";
  802. KEY_PAD2_REV = "GamePad A";
  803. KEY_PAD3_REV = "GamePad Y";
  804. KEY_PAD4_REV = "GamePad X";
  805. KEY_PADLSHOULDER_REV = "GamePad L";
  806. KEY_PADRSHOULDER_REV = "GamePad R";
  807. KEY_PADLTRIGGER_REV = "GamePad ZL";
  808. KEY_PADRTRIGGER_REV = "GamePad ZR";
  809. KEY_PADFORWARD_REV = "GamePad +";
  810. KEY_PADBACK_REV = "GamePad -";
  811. -- "Shapes" label style specializations
  812. KEY_PAD1_SHP = "GamePad X";
  813. KEY_PAD2_SHP = "GamePad O";
  814. KEY_PAD3_SHP = "GamePad Square";
  815. KEY_PAD4_SHP = "GamePad Triangle";
  816. KEY_PAD5_SHP = "GamePad Mute";
  817. KEY_PADLSTICK_SHP = "GamePad L3";
  818. KEY_PADRSTICK_SHP = "GamePad R3";
  819. KEY_PADLSHOULDER_SHP = "GamePad L1";
  820. KEY_PADRSHOULDER_SHP = "GamePad R1";
  821. KEY_PADLTRIGGER_SHP = "GamePad L2";
  822. KEY_PADRTRIGGER_SHP = "GamePad R2";
  823. KEY_PADFORWARD_SHP = "GamePad Options";
  824. KEY_PADBACK_SHP = "GamePad TouchPad";
  825. KEY_PADSOCIAL_SHP = "GamePad Share";
  826. -- "Generic" GamePad abbreviated button labels
  827. KEY_ABBR_PADDUP = "u";
  828. KEY_ABBR_PADDRIGHT = "r";
  829. KEY_ABBR_PADDDOWN = "d";
  830. KEY_ABBR_PADDLEFT = "l";
  831. KEY_ABBR_PAD1 = "1";
  832. KEY_ABBR_PAD2 = "2";
  833. KEY_ABBR_PAD3 = "3";
  834. KEY_ABBR_PAD4 = "4";
  835. KEY_ABBR_PAD5 = "5";
  836. KEY_ABBR_PAD6 = "6";
  837. KEY_ABBR_PADLSTICK = "Li";
  838. KEY_ABBR_PADRSTICK = "Ri";
  839. KEY_ABBR_PADLSHOULDER = "Ls";
  840. KEY_ABBR_PADRSHOULDER = "Rs";
  841. KEY_ABBR_PADLTRIGGER = "Lt";
  842. KEY_ABBR_PADRTRIGGER = "Rt";
  843. KEY_ABBR_PADLSTICKUP = "Lu";
  844. KEY_ABBR_PADLSTICKRIGHT = "Lr";
  845. KEY_ABBR_PADLSTICKDOWN = "Ld";
  846. KEY_ABBR_PADLSTICKLEFT = "Ll";
  847. KEY_ABBR_PADRSTICKUP = "Ru";
  848. KEY_ABBR_PADRSTICKRIGHT = "Rr";
  849. KEY_ABBR_PADRSTICKDOWN = "Rd";
  850. KEY_ABBR_PADRSTICKLEFT = "Rl";
  851. KEY_ABBR_PADPADDLE1 = "p1";
  852. KEY_ABBR_PADPADDLE2 = "p2";
  853. KEY_ABBR_PADPADDLE3 = "p3";
  854. KEY_ABBR_PADPADDLE4 = "p4";
  855. KEY_ABBR_PADFORWARD = "Fw";
  856. KEY_ABBR_PADBACK = "Bk";
  857. KEY_ABBR_PADSYSTEM = "Sy";
  858. KEY_ABBR_PADSOCIAL = "So";
  859. -- "Letters" abbreviated label style specializations
  860. KEY_ABBR_PAD1_LTR = "A";
  861. KEY_ABBR_PAD2_LTR = "B";
  862. KEY_ABBR_PAD3_LTR = "X";
  863. KEY_ABBR_PAD4_LTR = "Y";
  864. KEY_ABBR_PADLSHOULDER_LTR = "LB";
  865. KEY_ABBR_PADRSHOULDER_LTR = "RB";
  866. KEY_ABBR_PADFORWARD_LTR = "St";
  867. KEY_ABBR_PADBACK_LTR = "Bk";
  868. -- "Reverse" abbreviated label style specializations
  869. KEY_ABBR_PAD1_REV = "B";
  870. KEY_ABBR_PAD2_REV = "A";
  871. KEY_ABBR_PAD3_REV = "Y";
  872. KEY_ABBR_PAD4_REV = "X";
  873. KEY_ABBR_PADLSHOULDER_REV = "L";
  874. KEY_ABBR_PADRSHOULDER_REV = "R";
  875. KEY_ABBR_PADLTRIGGER_REV = "ZL";
  876. KEY_ABBR_PADRTRIGGER_REV = "ZR";
  877. KEY_ABBR_PADFORWARD_REV = "+";
  878. KEY_ABBR_PADBACK_REV = "-";
  879. -- "Shapes" abbreviated label style specializations
  880. KEY_ABBR_PAD1_SHP = "X";
  881. KEY_ABBR_PAD2_SHP = "O";
  882. KEY_ABBR_PAD3_SHP = "S";
  883. KEY_ABBR_PAD4_SHP = "T";
  884. KEY_ABBR_PADLSTICK_SHP = "L3";
  885. KEY_ABBR_PADRSTICK_SHP = "R3";
  886. KEY_ABBR_PADLSHOULDER_SHP = "L1";
  887. KEY_ABBR_PADRSHOULDER_SHP = "R1";
  888. KEY_ABBR_PADLTRIGGER_SHP = "L2";
  889. KEY_ABBR_PADRTRIGGER_SHP = "R2";
  890. KEY_ABBR_PADFORWARD_SHP = "Op";
  891. KEY_ABBR_PADBACK_SHP = "Tp";
  892. KEY_ABBR_PADSOCIAL_SHP = "Sh";