Files
ets-module-collection/modules/constants/idmaps.ts
2024-02-10 22:59:53 -05:00

369 lines
9.7 KiB
TypeScript

export const BotEquipSlot = {
MAINHAND: 0,
OFFHAND: 1,
RANGED: 2,
HEAD: 3,
SHOULDERS: 4,
CHEST: 5,
WAIST: 6,
LEGS: 7,
FEET: 8,
WRIST: 9,
HANDS: 10,
BACK: 11,
BODY: 12,
FINGER1: 13,
FINGER2: 14,
TRINKET1: 15,
TRINKET2: 16,
NECK: 17,
} as const;
export const BotSlotName = {
0: "MAINHAND",
1: "OFFHAND",
2: "RANGED",
3: "HEAD",
4: "SHOULDER",
5: "CHEST",
6: "WAIST",
7: "LEGS",
8: "FEET",
9: "WRIST",
10: "HANDS",
11: "BACK",
12: "BODY",
13: "FINGER1",
14: "FINGER2",
15: "TRINKET1",
16: "TRINKET2",
17: "NECK",
} as const;
export const BotEquipLast = 17;
export const BotStatLabel = {
"total str": "Strength",
"total agi": "Agility",
"total sta": "Stamina",
"total int": "Intellect",
"total spi": "Spirit",
"Melee AP": "Power",
"Ranged AP": "Power",
"armor": "Armor",
"crit": "Crit %",
"defense": "Defense",
"miss": "Miss",
"dodge": "Dodge",
"parry": "Parry",
"block": "Block",
"block value": "Block Value",
"Damage taken melee": "Physical Resist",
"Damage taken spell": "Spell Resist",
"Damage range mainhand": "Dmg Main",
"Damage range offhand": "Dmg Off",
"Attack time offhand": "Speed Off",
"Damage mult mainhand": "Damage Multiplier (Mainhand)",
"Attack time mainhand": "Speed Main",
"Damage range ranged": "Dmg Range",
"Damage mult ranged": "Damage Multiplier (Ranged)",
"Attack time ranged": "Speed",
"base hp": "Base Health",
"total hp": "Total Health",
"base mana": "Base Mana",
"total mana": "Total Mana",
"spell power": "Bonus Dmg",
"health regen_5 bonus": "Health Regen (5s Bonus)",
"haste": "Haste Rating",
"hit": "Hit Rating",
"expertise": "Expertise",
"mana regen_5 casting": "MP5",
"armor penetration": "Armor Pen",
"spell penetration": "Spell Pen",
"Resistance: holy": "Resist Holy",
"Resistance: fire": "Resist Fire",
"Resistance: nature": "Resist Nature",
"Resistance: frost": "Resist Frost",
"Resistance: shadow": "Resist Shadow",
"Resistance: arcane": "Resist Arcane",
} as const;
export type BotStatName = Partial<typeof BotStatLabel[keyof typeof BotStatLabel]>;
export const BotStat = {
MANA: 0,
HEALTH: 1,
AGILITY: 3,
STRENGTH: 4,
INTELLECT: 5,
SPIRIT: 6,
STAMINA: 7,
DEFENSE_SKILL_RATING: 12,
DODGE_RATING: 13,
PARRY_RATING: 14,
BLOCK_RATING: 15,
HIT_MELEE_RATING: 16,
HIT_RANGED_RATING: 17,
HIT_SPELL_RATING: 18,
CRIT_MELEE_RATING: 19,
CRIT_RANGED_RATING: 20,
CRIT_SPELL_RATING: 21,
HIT_TAKEN_MELEE_RATING: 22,
HIT_TAKEN_RANGED_RATING: 23,
HIT_TAKEN_SPELL_RATING: 24,
CRIT_TAKEN_MELEE_RATING: 25,
CRIT_TAKEN_RANGED_RATING: 26,
CRIT_TAKEN_SPELL_RATING: 27,
HASTE_MELEE_RATING: 28,
HASTE_RANGED_RATING: 29,
HASTE_SPELL_RATING: 30,
HIT_RATING: 31,
CRIT_RATING: 32,
HIT_TAKEN_RATING: 33,
CRIT_TAKEN_RATING: 34,
RESILIENCE_RATING: 35,
HASTE_RATING: 36,
EXPERTISE_RATING: 37,
ATTACK_POWER: 38,
RANGED_ATTACK_POWER: 39,
FERAL_ATTACK_POWER: 40,
SPELL_HEALING_DONE: 41,
SPELL_DAMAGE_DONE: 42,
MANA_REGENERATION: 43,
ARMOR_PENETRATION_RATING: 44,
SPELL_POWER: 45,
HEALTH_REGEN: 46,
SPELL_PENETRATION: 47,
BLOCK_VALUE: 48,
DAMAGE_MIN: 49,
DAMAGE_MAX: 50,
ARMOR: 51,
RESIST_HOLY: 52,
RESIST_FIRE: 53,
RESIST_NATURE: 54,
RESIST_FROST: 55,
RESIST_SHADOW: 56,
RESIST_ARCANE: 57,
EXPERTISE: 58,
MAX_BOT_ITEM_MOD: 59,
BOT_STAT_MOD_RESISTANCE_START: 51, // Assuming BOT_STAT_MOD_ARMOR is defined somewhere
} as const;
export const BotStatLast = 58;
export const UIInvSlot = {
AMMOSLOT: "AMMOSLOT",
HEADSLOT: "HEADSLOT",
NECKSLOT: "NECKSLOT",
SHOULDERSLOT: "SHOULDERSLOT",
SHIRTSLOT: "SHIRTSLOT",
CHESTSLOT: "CHESTSLOT",
WAISTSLOT: "WAISTSLOT",
LEGSSLOT: "LEGSSLOT",
FEETSLOT: "FEETSLOT",
WRISTSLOT: "WRISTSLOT",
HANDSSLOT: "HANDSSLOT",
FINGER0SLOT: "FINGER0SLOT",
FINGER1SLOT: "FINGER1SLOT",
TRINKET0SLOT: "TRINKET0SLOT",
TRINKET1SLOT: "TRINKET1SLOT",
BACKSLOT: "BACKSLOT",
MAINHANDSLOT: "MAINHANDSLOT",
SECONDARYHANDSLOT: "SECONDARYHANDSLOT",
RANGEDSLOT: "RANGEDSLOT",
TABARDSLOT: "TABARDSLOT",
} as const;
export const ClassesMapping: Record<number, string> = {
1: "Warrior",
2: "Paladin",
3: "Hunter",
4: "Rogue",
5: "Priest",
6: "Death Knight",
7: "Shaman",
8: "Mage",
9: "Warlock",
10: "Druid",
11: "Blade Master",
12: "Sphynx",
13: "Archmage",
14: "Dreadlord",
15: "Spellbreaker",
16: "Dark Ranger",
17: "Necromancer",
18: "Sea Witch",
19: "Crypt Lord",
} as const;
export type CharacterClass = typeof ClassesMapping[keyof typeof ClassesMapping];
export const RacesMapping: Record<number, string> = {
1: "Human",
2: "Orc",
3: "Dwarf",
4: "Night Elf",
5: "Undead",
6: "Tauren",
7: "Gnome",
8: "Troll",
9: "Goblin",
10: "Blood Elf",
11: "Draenei",
12: "Worgen",
} as const;
export type CharacterRace = typeof RacesMapping[keyof typeof RacesMapping];
export const TalentSpecs = {
WARRIOR_ARMS : 1,
WARRIOR_FURY : 2,
WARRIOR_PROTECTION : 3,
PALADIN_HOLY : 4,
PALADIN_PROTECTION : 5,
PALADIN_RETRIBUTION : 6,
HUNTER_BEASTMASTERY : 7,
HUNTER_MARKSMANSHIP : 8,
HUNTER_SURVIVAL : 9,
ROGUE_ASSASSINATION : 10,
ROGUE_COMBAT : 11,
ROGUE_SUBTLETY : 12,
PRIEST_DISCIPLINE : 13,
PRIEST_HOLY : 14,
PRIEST_SHADOW : 15,
DK_BLOOD : 16,
DK_FROST : 17,
DK_UNHOLY : 18,
SHAMAN_ELEMENTAL : 19,
SHAMAN_ENHANCEMENT : 20,
SHAMAN_RESTORATION : 21,
MAGE_ARCANE : 22,
MAGE_FIRE : 23,
MAGE_FROST : 24,
WARLOCK_AFFLICTION : 25,
WARLOCK_DEMONOLOGY : 26,
WARLOCK_DESTRUCTION : 27,
DRUID_BALANCE : 28,
DRUID_FERAL : 29,
DRUID_RESTORATION : 30,
DEFAULT : 31,
BEGIN : 1,
END : 31
} as const;
export const BotRoles = {
NONE : 0,
TANK : 1,
TANK_OFF : 2,
DPS : 4,
HEAL : 8,
RANGED : 16,
PARTY : 32, // hidden
GATHERING_MINING : 64,
GATHERING_HERBALISM : 128,
GATHERING_SKINNING : 256,
GATHERING_ENGINEERING : 512,
AUTOLOOT : 1024,
AUTOLOOT_POOR : 2048,
AUTOLOOT_COMMON : 4096,
AUTOLOOT_UNCOMMON : 8192,
AUTOLOOT_RARE : 16384,
AUTOLOOT_EPIC : 32768,
AUTOLOOT_LEGENDARY : 65536,
// MASK_MAIN : (1 | 2 | 4 | 8 | 16),
// MASK_GATHERING : (64 | 128 | 256 | 512),
// MASK_LOOTING : (2048 | 4096 | 8192 | 16384 | 32768 | 65536),
// BOT_MAX_ROLE : 131072,
} as const;
/**************** ITEM CONSTANTS *************************/
export const ItemQuality = {
Poor: 0,
Common: 1,
Uncommon: 2,
Rare: 3,
Epic: 4,
Legendary: 5,
Artifact: 6,
Heirlooms: 7,
} as const;
export type QualityType = typeof ItemQuality[keyof typeof ItemQuality];
export const ItemStat = {
MANA: 0,
HEALTH: 1,
AGILITY: 3,
STRENGTH: 4,
INTELLECT: 5,
SPIRIT: 6,
STAMINA: 7,
DEFENSE_SKILL_RATING: 12,
DODGE_RATING: 13,
PARRY_RATING: 14,
BLOCK_RATING: 15,
HIT_MELEE_RATING: 16,
HIT_RANGED_RATING: 17,
HIT_SPELL_RATING: 18,
CRIT_MELEE_RATING: 19,
CRIT_RANGED_RATING: 20,
CRIT_SPELL_RATING: 21,
HIT_TAKEN_MELEE_RATING: 22,
HIT_TAKEN_RANGED_RATING: 23,
HIT_TAKEN_SPELL_RATING: 24,
CRIT_TAKEN_MELEE_RATING: 25,
CRIT_TAKEN_RANGED_RATING: 26,
CRIT_TAKEN_SPELL_RATING: 27,
HASTE_MELEE_RATING: 28,
HASTE_RANGED_RATING: 29,
HASTE_SPELL_RATING: 30,
HIT_RATING: 31,
CRIT_RATING: 32,
HIT_TAKEN_RATING: 33,
CRIT_TAKEN_RATING: 34,
RESILIENCE_RATING: 35,
HASTE_RATING: 36,
EXPERTISE_RATING: 37,
ATTACK_POWER: 38,
RANGED_ATTACK_POWER: 39,
FERAL_ATTACK_POWER: 40, // Note: This is not used as of 3.3
SPELL_HEALING_DONE: 41,
SPELL_DAMAGE_DONE: 42,
MANA_REGENERATION: 43,
ARMOR_PENETRATION_RATING: 44,
SPELL_POWER: 45,
HEALTH_REGEN: 46,
SPELL_PENETRATION: 47,
BLOCK_VALUE: 48,
} as const;
export const DamageType = {
Physical: 0,
Holy: 1,
Fire: 2,
Nature: 3,
Frost: 4,
Shadow: 5,
Arcane: 6,
} as const;
export const SocketColor = {
Meta: 1,
Red: 2,
Yellow: 4,
Blue: 8,
} as const;
export const SocketBonus = {
3312: '+8 Strength',
3313: '+8 Agility',
3305: '+12 Stamina',
3: '+8 Intellect',
2872: '+9 Healing',
3753: '+9 Spell Power',
3877: '+16 Attack Power',
} as const;