You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

983 lines
20 KiB

-- MageFire.lua
-- September 2022
if UnitClassBase( "player" ) ~= "MAGE" then return end
local addon, ns = ...
local Hekili = _G[ addon ]
local class, state = Hekili.Class, Hekili.State
local spec = Hekili:NewSpecialization( 63 )
spec:RegisterResource( Enum.PowerType.ArcaneCharges )
spec:RegisterResource( Enum.PowerType.Mana )
-- Talents
spec:RegisterTalents( {
accumulative_shielding = { 62093, 382800, 2 }, --
alexstraszas_fury = { 62220, 235870, 1 }, --
alter_time = { 62115, 342245, 1 }, --
arcane_warding = { 62114, 383092, 2 }, --
blast_wave = { 62103, 157981, 1 }, --
blaster_master = { 62195, 383391, 2 }, --
blazing_barrier = { 62119, 235313, 1 }, --
cauterize = { 62206, 86949 , 1 }, --
combustion = { 62207, 190319, 1 }, --
combustion_duration_2 = { 62201, 321710, 1 }, --
conflagration = { 62188, 205023, 1 }, --
controlled_destruction = { 62204, 383669, 2 }, --
critical_mass = { 62219, 117216, 2 }, --
cryofreeze = { 62107, 382292, 2 }, --
diverted_energy = { 62101, 382270, 2 }, --
dragons_breath = { 62091, 31661 , 1 }, --
energized_barriers = { 62100, 386828, 1 }, --
enhanced_pyrotechnics = { 62218, 157642, 1 }, --
fervent_flickering = { 62192, 387044, 1 }, --
fevered_incantation = { 62187, 383810, 2 }, --
fiery_rush = { 62203, 383634, 1 }, --
fire_blast = { 62214, 108853, 1 }, --
fire_frenzy = { 62186, 383860, 1 }, --
firemind = { 62208, 383499, 2 }, --
firestarter = { 62083, 205026, 1 }, --
flame_on = { 62190, 205029, 2 }, --
flame_patch = { 62193, 205037, 1 }, --
flamestrike = { 62216, 2120 , 1 }, --
flow_of_time = { 62096, 382268, 2 }, --
freezing_cold = { 62087, 386763, 1 }, --
frigid_winds = { 62128, 235224, 2 }, --
from_the_ashes = { 62220, 342344, 1 }, --
greater_invisibility = { 62095, 110959, 1 }, --
grounding_surge = { 62104, 382297, 1 }, --
ice_block = { 62122, 45438 , 1 }, --
ice_floes = { 62105, 108839, 1 }, --
ice_nova = { 62126, 157997, 1 }, --
ice_ward = { 62086, 205036, 1 }, --
improved_flamestrike = { 62191, 343230, 1 }, --
improved_frost_nova = { 62108, 343183, 1 }, --
improved_scorch = { 62211, 383604, 2 }, --
incantation_of_swiftness = { 62112, 382293, 2 }, --
incanters_flow = { 62113, 1463 , 1 }, --
incendiary_eruptions = { 62189, 383665, 1 }, --
invisibility = { 62118, 66 , 1 }, --
kindling = { 62198, 155148, 1 }, --
living_bomb = { 62194, 44457 , 1 }, --
mass_polymorph = { 62106, 383121, 1 }, --
master_of_flame = { 62196, 384174, 1 }, --
master_of_time = { 62102, 342249, 1 }, --
meteor = { 62090, 153561, 1 }, --
mirror_image = { 62124, 55342 , 1 }, --
molten_skyfall = { 62197, 384033, 1 }, --
overflowing_energy_nyi = { 62120, 390218, 1 }, --
phoenix_flames = { 62217, 257541, 1 }, --
phoenix_flames_2 = { 62210, 343222, 1 }, --
phoenix_reborn = { 62209, 383476, 1 }, --
pyroblast = { 62215, 11366 , 1 }, --
pyroclasm = { 62199, 269650, 1 }, --
pyromaniac = { 62197, 205020, 1 }, --
reabsorption = { 62125, 382820, 1 }, --
reduplication = { 62125, 382569, 1 }, --
reflection = { 62092, 389713, 1 }, --
remove_curse = { 62116, 475 , 1 }, --
rigid_ice = { 62110, 382481, 1 }, --
ring_of_frost = { 62088, 113724, 1 }, --
rune_of_power = { 62113, 116011, 1 }, --
scorch = { 62213, 2948 , 1 }, --
searing_touch = { 62212, 269644, 1 }, --
shifting_power = { 62085, 382440, 1 }, --
shimmer = { 62105, 212653, 1 }, --
sloooow_down = { 62109, 391102, 1 }, --
slow = { 62097, 31589 , 1 }, --
spellsteal = { 62084, 30449 , 1 }, --
sun_kings_blessing = { 62205, 383886, 1 }, --
tempered_flames = { 62201, 383659, 1 }, --
tempest_barrier = { 62111, 382289, 2 }, --
temporal_velocity = { 62099, 382826, 2 }, --
temporal_warp = { 62094, 386539, 1 }, --
time_anomaly = { 62094, 383243, 1 }, --
time_manipulation = { 62129, 387807, 2 }, --
tinder = { 62200, 203275, 2 }, --
tome_of_antonidas = { 62098, 382490, 1 }, --
tome_of_rhonin = { 62127, 382493, 1 }, --
volatile_detonation = { 62089, 389627, 1 }, --
wildfire = { 62202, 383489, 2 }, --
winters_protection = { 62123, 382424, 2 }, --
} )
-- PvP Talents
spec:RegisterPvpTalents( {
flamecannon = 647 , -- 203284
glass_cannon = 5495, -- 390428
greater_pyroblast = 648 , -- 203286
ice_wall = 5489, -- 352278
netherwind_armor = 53 , -- 198062
precognition = 5493, -- 377360
prismatic_cloak = 828 , -- 198064
pyrokinesis = 646 , -- 203283
ring_of_fire = 5389, -- 353082
world_in_flames = 644 , -- 203280
} )
-- Auras
spec:RegisterAuras( {
blazing_barrier = {
id = 235313,
},
blink = {
id = 1953,
},
cauterize = {
id = 86949,
},
combustion = {
id = 190319,
},
critical_mass = {
id = 117216,
},
firemind = {
id = 383499,
},
ice_block = {
id = 45438,
},
ice_floes = {
id = 108839,
},
ice_wall = {
id = 352278,
},
invisibility = {
id = 66,
},
mastery_ignite = {
id = 12846,
},
mirror_image = {
id = 55342,
},
overflowing_energy_nyi = {
id = 390218,
},
shifting_power = {
id = 382440,
},
shimmer = {
id = 212653,
},
sign_of_the_emissary = {
id = 225788,
duration = 3600,
max_stack = 1,
},
temporal_warp = {
id = 386539,
},
tinder = {
id = 203277,
duration = 3600,
max_stack = 1,
},
wildfire = {
id = 383489,
},
} )
-- Abilities
spec:RegisterAbilities( {
alter_time = {
id = 342245,
cast = 0,
cooldown = 60,
gcd = "off",
spend = 0.01,
spendType = "mana",
talent = "alter_time",
startsCombat = false,
texture = 609811,
toggle = "cooldowns",
handler = function ()
end,
},
arcane_explosion = {
id = 1449,
cast = 0,
cooldown = 0,
gcd = "spell",
spend = 0.1,
spendType = "mana",
startsCombat = true,
texture = 136116,
handler = function ()
end,
},
arcane_intellect = {
id = 1459,
cast = 0,
cooldown = 0,
gcd = "spell",
spend = 0.04,
spendType = "mana",
startsCombat = false,
texture = 135932,
handler = function ()
end,
},
blast_wave = {
id = 157981,
cast = 0,
cooldown = 30,
gcd = "spell",
talent = "blast_wave",
startsCombat = false,
texture = 135903,
handler = function ()
end,
},
blazing_barrier = {
id = 235313,
cast = 0,
cooldown = 25,
gcd = "spell",
spend = 0.03,
spendType = "mana",
talent = "blazing_barrier",
startsCombat = false,
texture = 132221,
handler = function ()
end,
},
blink = {
id = 1953,
cast = 0,
charges = 1,
cooldown = 13.38,
recharge = 13.38,
gcd = "spell",
spend = 0.02,
spendType = "mana",
startsCombat = false,
texture = 135736,
handler = function ()
end,
},
combustion = {
id = 190319,
cast = 0,
cooldown = 120,
gcd = "off",
spend = 0.1,
spendType = "mana",
talent = "combustion",
startsCombat = false,
texture = 135824,
toggle = "cooldowns",
handler = function ()
end,
},
cone_of_cold = {
id = 120,
cast = 0,
cooldown = 12,
gcd = "spell",
spend = 0.04,
spendType = "mana",
startsCombat = true,
texture = 135852,
handler = function ()
end,
},
conjure_refreshment = {
id = 190336,
cast = 3,
cooldown = 15,
gcd = "spell",
spend = 0.03,
spendType = "mana",
startsCombat = false,
texture = 134029,
handler = function ()
end,
},
counterspell = {
id = 2139,
cast = 0,
cooldown = 24,
gcd = "off",
spend = 0.02,
spendType = "mana",
startsCombat = true,
texture = 135856,
handler = function ()
end,
},
dragons_breath = {
id = 31661,
cast = 0,
cooldown = 45,
gcd = "spell",
spend = 0.04,
spendType = "mana",
talent = "dragons_breath",
startsCombat = false,
texture = 134153,
handler = function ()
end,
},
fire_blast = {
id = 108853,
cast = 0,
charges = 3,
cooldown = 10,
recharge = 10,
gcd = "off",
spend = 0.01,
spendType = "mana",
talent = "fire_blast",
startsCombat = false,
texture = 135807,
handler = function ()
end,
},
fireball = {
id = 133,
cast = 1.35,
cooldown = 0,
gcd = "spell",
spend = 0.02,
spendType = "mana",
startsCombat = true,
texture = 135812,
handler = function ()
end,
},
flamestrike = {
id = 2120,
cast = 4,
cooldown = 0,
gcd = "spell",
spend = 0.02,
spendType = "mana",
talent = "flamestrike",
startsCombat = true,
texture = 135826,
handler = function ()
end,
},
frost_nova = {
id = 122,
cast = 0,
charges = 2,
cooldown = 30.88,
recharge = 30.88,
gcd = "spell",
spend = 0.02,
spendType = "mana",
startsCombat = true,
texture = 135848,
handler = function ()
end,
},
frostbolt = {
id = 116,
cast = 2,
cooldown = 0,
gcd = "spell",
spend = 0.02,
spendType = "mana",
startsCombat = true,
texture = 135846,
handler = function ()
end,
},
greater_invisibility = {
id = 110959,
cast = 0,
cooldown = 120,
gcd = "spell",
talent = "greater_invisibility",
startsCombat = false,
texture = 575584,
toggle = "cooldowns",
handler = function ()
end,
},
greater_pyroblast = {
id = 203286,
cast = 4.5,
cooldown = 15,
gcd = "spell",
spend = 0.05,
spendType = "mana",
pvptalent = "greater_pyroblast",
startsCombat = false,
texture = 1387354,
handler = function ()
end,
},
ice_block = {
id = 45438,
cast = 0,
cooldown = 240,
gcd = "spell",
talent = "ice_block",
startsCombat = false,
texture = 135841,
toggle = "cooldowns",
handler = function ()
end,
},
ice_floes = {
id = 108839,
cast = 0,
charges = 3,
cooldown = 20.59,
recharge = 20.59,
gcd = "off",
talent = "ice_floes",
startsCombat = false,
texture = 610877,
handler = function ()
end,
},
ice_nova = {
id = 157997,
cast = 0,
cooldown = 25,
gcd = "spell",
talent = "ice_nova",
startsCombat = true,
texture = 1033909,
handler = function ()
end,
},
ice_wall = {
id = 352278,
cast = 1.5,
cooldown = 90,
gcd = "spell",
spend = 0.08,
spendType = "mana",
pvptalent = "ice_wall",
startsCombat = false,
texture = 4226156,
toggle = "cooldowns",
handler = function ()
end,
},
invisibility = {
id = 66,
cast = 0,
cooldown = 300,
gcd = "spell",
spend = 0.03,
spendType = "mana",
talent = "invisibility",
startsCombat = false,
texture = 132220,
toggle = "cooldowns",
handler = function ()
end,
},
living_bomb = {
id = 44457,
cast = 0,
cooldown = 12,
gcd = "spell",
spend = 0.02,
spendType = "mana",
talent = "living_bomb",
startsCombat = true,
texture = 236220,
handler = function ()
end,
},
mass_polymorph = {
id = 383121,
cast = 1.7,
cooldown = 60,
gcd = "spell",
spend = 0.04,
spendType = "mana",
talent = "mass_polymorph",
startsCombat = true,
texture = 575585,
toggle = "cooldowns",
handler = function ()
end,
},
meteor = {
id = 153561,
cast = 0,
cooldown = 45,
gcd = "spell",
spend = 0.01,
spendType = "mana",
talent = "meteor",
startsCombat = false,
texture = 1033911,
handler = function ()
end,
},
mirror_image = {
id = 55342,
cast = 0,
cooldown = 120,
gcd = "spell",
spend = 0.02,
spendType = "mana",
talent = "mirror_image",
startsCombat = false,
texture = 135994,
toggle = "cooldowns",
handler = function ()
end,
},
ph_pocopoc_zone_ability_skill = {
id = 363942,
cast = 0,
cooldown = 0,
gcd = "off",
startsCombat = false,
texture = 4239318,
handler = function ()
end,
},
phoenix_flames = {
id = 257541,
cast = 0,
charges = 2,
cooldown = 25.74,
recharge = 25.74,
gcd = "spell",
talent = "phoenix_flames",
startsCombat = true,
texture = 1392549,
handler = function ()
end,
},
polymorph = {
id = 118,
cast = 1.7,
cooldown = 0,
gcd = "spell",
spend = 0.04,
spendType = "mana",
startsCombat = true,
texture = 136071,
handler = function ()
end,
},
pyroblast = {
id = 11366,
cast = 2.7,
cooldown = 0,
gcd = "spell",
spend = 0.02,
spendType = "mana",
talent = "pyroblast",
startsCombat = true,
texture = 135808,
handler = function ()
end,
},
reflection = {
id = 389713,
cast = 0,
cooldown = 45,
gcd = "spell",
talent = "reflection",
startsCombat = false,
texture = 132171,
handler = function ()
end,
},
remove_curse = {
id = 475,
cast = 0,
cooldown = 8,
gcd = "spell",
spend = 0.01,
spendType = "mana",
talent = "remove_curse",
startsCombat = false,
texture = 136082,
handler = function ()
end,
},
ring_of_fire = {
id = 353082,
cast = 2,
cooldown = 30,
gcd = "spell",
spend = 0.02,
spendType = "mana",
pvptalent = "ring_of_fire",
startsCombat = false,
texture = 4067368,
handler = function ()
end,
},
ring_of_frost = {
id = 113724,
cast = 2,
cooldown = 45,
gcd = "spell",
spend = 0.08,
spendType = "mana",
talent = "ring_of_frost",
startsCombat = false,
texture = 464484,
handler = function ()
end,
},
rune_of_power = {
id = 116011,
cast = 1.5,
charges = 1,
cooldown = 46.32,
recharge = 46.32,
gcd = "spell",
talent = "rune_of_power",
startsCombat = true,
texture = 609815,
handler = function ()
end,
},
scorch = {
id = 2948,
cast = 1.5,
cooldown = 0,
gcd = "spell",
spend = 0.01,
spendType = "mana",
talent = "scorch",
startsCombat = true,
texture = 135827,
handler = function ()
end,
},
shifting_power = {
id = 382440,
cast = 0,
cooldown = 60,
gcd = "spell",
spend = 0.05,
spendType = "mana",
talent = "shifting_power",
startsCombat = false,
texture = 3636841,
toggle = "cooldowns",
handler = function ()
end,
},
shimmer = {
id = 212653,
cast = 0,
charges = 2,
cooldown = 23.68,
recharge = 23.68,
gcd = "off",
spend = 0.02,
spendType = "mana",
talent = "shimmer",
startsCombat = false,
texture = 135739,
handler = function ()
end,
},
slow = {
id = 31589,
cast = 0,
cooldown = 0,
gcd = "spell",
spend = 0.01,
spendType = "mana",
talent = "slow",
startsCombat = false,
texture = 136091,
handler = function ()
end,
},
slow_fall = {
id = 130,
cast = 0,
cooldown = 0,
gcd = "spell",
spend = 0.01,
spendType = "mana",
startsCombat = false,
texture = 135992,
handler = function ()
end,
},
spellsteal = {
id = 30449,
cast = 0,
cooldown = 0,
gcd = "spell",
spend = 0.21,
spendType = "mana",
talent = "spellsteal",
startsCombat = true,
texture = 135729,
handler = function ()
end,
},
teleport_undercity = {
id = 3563,
cast = 10,
cooldown = 0,
gcd = "spell",
spend = 0.03,
spendType = "mana",
startsCombat = false,
texture = 135766,
handler = function ()
end,
},
time_warp = {
id = 80353,
cast = 0,
cooldown = 300,
gcd = "off",
spend = 0.04,
spendType = "mana",
startsCombat = false,
texture = 458224,
toggle = "cooldowns",
handler = function ()
end,
},
} )
spec:RegisterPriority( "Fire", 20220917,
-- Notes
[[
]],
-- Priority
[[
]] )