Skip to content

Commit

Permalink
Merge pull request #4396 from Hekili/eleven-one-oh
Browse files Browse the repository at this point in the history
Eleven One Oh
  • Loading branch information
Hekili authored Feb 25, 2025
2 parents ccd5be5 + e60a844 commit 9aa2f41
Show file tree
Hide file tree
Showing 48 changed files with 5,462 additions and 4,101 deletions.
13 changes: 10 additions & 3 deletions Classes.lua
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
-- Classes.lua
-- July 2024
-- January 2025

local addon, ns = ...
local Hekili = _G[ addon ]
Expand Down Expand Up @@ -1464,7 +1464,7 @@ all:RegisterAuras( {
},

bloodlust = {
alias = { "ancient_hysteria", "bloodlust_actual", "drums_of_deathly_ferocity", "fury_of_the_aspects", "heroism", "netherwinds", "primal_rage", "time_warp" },
alias = { "ancient_hysteria", "bloodlust_actual", "drums_of_deathly_ferocity", "fury_of_the_aspects", "heroism", "netherwinds", "primal_rage", "time_warp", "harriers_cry" },
aliasMode = "first",
aliasType = "buff",
duration = 3600,
Expand Down Expand Up @@ -1506,6 +1506,13 @@ all:RegisterAuras( {
shared = "player",
},

harriers_cry = {
id = 466904,
duration = 40,
max_stack = 1,
shared = "player"
},

mark_of_the_wild = {
id = 1126,
duration = 3600,
Expand Down Expand Up @@ -4085,4 +4092,4 @@ setmetatable( class.trinkets, {
__index = function( t, k )
return t[0]
end
} )
} )
1 change: 1 addition & 0 deletions Options.lua
Original file line number Diff line number Diff line change
Expand Up @@ -10927,6 +10927,7 @@ function Hekili:CmdLine( input )
display = "mode",
target_swap = "cycle",
swap = "cycle",
covenants = "essences"
}
local arg3Aliases = {
auto = "automatic",
Expand Down
19 changes: 17 additions & 2 deletions State.lua
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
-- State.lua
-- July 2024
-- January 2025

local addon, ns = ...
local Hekili = _G[ addon ]
Expand Down Expand Up @@ -7544,6 +7544,21 @@ function state:TimeToReady( action, pool )
local wait = self.cooldown[ action ].remains
local ability = class.abilities[ action ]

-- Early exit for timeToReadyOverride. This is to fix the fact that some spells show as unavailable in game even though
-- the addon knows that it will become available on the next GCD due to a guaranteed buff/proc
--[[ Commenting out for now. After 11.1 review is finished we can revisit
if ability.timeToReadyOverride then
local override = ability.timeToReadyOverride
if override ~= nil then
override = max( override, self.cooldown.global_cooldown.remains )
if Hekili.ActiveDebug then
Hekili:Debug( "%s has a timeToReadyOverride. Returning %.2f.", action, override )
end
return max( override, self.delayMin )
end
end
--]]

-- Working variable.
local z = ability.id

Expand Down Expand Up @@ -7785,4 +7800,4 @@ for k, v in pairs( state ) do
ns.commitKey( k )
end

ns.attr = { "serenity", "active", "active_enemies", "my_enemies", "active_flame_shock", "adds", "agility", "air", "armor", "attack_power", "bonus_armor", "cast_delay", "cast_time", "casting", "cooldown_react", "cooldown_remains", "cooldown_up", "crit_rating", "deficit", "distance", "down", "duration", "earth", "enabled", "energy", "execute_time", "fire", "five", "focus", "four", "gcd", "hardcasts", "haste", "haste_rating", "health", "health_max", "health_pct", "intellect", "level", "mana", "mastery_rating", "mastery_value", "max_nonproc", "max_stack", "maximum_energy", "maximum_focus", "maximum_health", "maximum_mana", "maximum_rage", "maximum_runic", "melee_haste", "miss_react", "moving", "mp5", "multistrike_pct", "multistrike_rating", "one", "pct", "rage", "react", "regen", "remains", "resilience_rating", "runic", "seal", "spell_haste", "spell_power", "spirit", "stack", "stack_pct", "stacks", "stamina", "strength", "this_action", "three", "tick_damage", "tick_dmg", "tick_time", "ticking", "ticks", "ticks_remain", "time", "time_to_die", "time_to_max", "travel_time", "two", "up", "water", "weapon_dps", "weapon_offhand_dps", "weapon_offhand_speed", "weapon_speed", "single", "aoe", "cleave", "percent", "last_judgment_target", "unit", "ready", "refreshable", "pvptalent", "conduit", "legendary", "runeforge", "covenant", "soulbind", "enabled", "full_recharge_time", "time_to_max_charges", "remains_guess", "execute", "actual", "current", "cast_regen", "boss", "exists", "disabled", "fight_remains", "last_used", "time_since", "max" }
ns.attr = { "serenity", "active", "active_enemies", "my_enemies", "active_flame_shock", "adds", "agility", "air", "armor", "attack_power", "bonus_armor", "cast_delay", "cast_time", "casting", "cooldown_react", "cooldown_remains", "cooldown_up", "crit_rating", "deficit", "distance", "down", "duration", "earth", "enabled", "energy", "execute_time", "fire", "five", "focus", "four", "gcd", "hardcasts", "haste", "haste_rating", "health", "health_max", "health_pct", "intellect", "level", "mana", "mastery_rating", "mastery_value", "max_nonproc", "max_stack", "maximum_energy", "maximum_focus", "maximum_health", "maximum_mana", "maximum_rage", "maximum_runic", "melee_haste", "miss_react", "moving", "mp5", "multistrike_pct", "multistrike_rating", "one", "pct", "rage", "react", "regen", "remains", "resilience_rating", "runic", "seal", "spell_haste", "spell_power", "spirit", "stack", "stack_pct", "stacks", "stamina", "strength", "this_action", "three", "tick_damage", "tick_dmg", "tick_time", "ticking", "ticks", "ticks_remain", "time", "time_to_die", "time_to_max", "travel_time", "two", "up", "water", "weapon_dps", "weapon_offhand_dps", "weapon_offhand_speed", "weapon_speed", "single", "aoe", "cleave", "percent", "last_judgment_target", "unit", "ready", "refreshable", "pvptalent", "conduit", "legendary", "runeforge", "covenant", "soulbind", "enabled", "full_recharge_time", "time_to_max_charges", "remains_guess", "execute", "actual", "current", "cast_regen", "boss", "exists", "disabled", "fight_remains", "last_used", "time_since", "max" }
29 changes: 26 additions & 3 deletions TheWarWithin/DeathKnightBlood.lua
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
-- DeathKnightBlood.lua
-- July 2024
-- January 2025

if UnitClassBase( "player" ) ~= "DEATHKNIGHT" then return end

Expand Down Expand Up @@ -1068,7 +1068,26 @@ spec:RegisterAuras( {
} )


-- TWW
-- The War Within
spec:RegisterGear( "tww2", 229253, 229251, 229256, 229254, 229252 )
spec:RegisterAuras( {
-- https://www.wowhead.com/spell=1218601
-- Luck of the Draw! Damage increased by 15%. Death Strike costs 10 less Runic Power and strikes 2 additional nearby targets.
luck_of_the_draw = {
id = 1218601,
duration = function() if set_bonus.tww2 >= 4 then return 12 end
return 10
end,
max_stack = 1,
},
-- https://www.wowhead.com/spell=1222698
-- Murderous Frenzy Your Haste is increased by 12%.
murderous_frenzy = {
id = 1222698,
duration = 6,
max_stack = 1,
},
} )
spec:RegisterGear( "tww1", 212005, 212003, 212002, 212001, 212000 )
spec:RegisterAuras( {
unbreakable = {
Expand Down Expand Up @@ -1742,7 +1761,11 @@ spec:RegisterAbilities( {
cooldown = 0,
gcd = "spell",

spend = function () return ( ( talent.ossuary.enabled and buff.bone_shield.stack >= 5 ) and 40 or 45 ) - ( talent.improved_death_strike.enabled and 5 or 0 ) - ( buff.blood_draw.up and 10 or 0 ) end,
spend = function () return ( ( talent.ossuary.enabled and buff.bone_shield.stack >= 5 ) and 40 or 45 )
- ( talent.improved_death_strike.enabled and 5 or 0 )
- ( buff.blood_draw.up and 10 or 0 )
- ( set_bonus.tww2 >= 4 and buff.luck_of_the_draw.up and 10 or 0 )
end,
spendType = "runic_power",

talent = "death_strike",
Expand Down
29 changes: 20 additions & 9 deletions TheWarWithin/DeathKnightFrost.lua
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
-- DeathKnightFrost.lua
-- July 2024
-- January 2025

if UnitClassBase( "player" ) ~= "DEATHKNIGHT" then return end

Expand Down Expand Up @@ -936,28 +936,39 @@ spec:RegisterAuras( {

spec:RegisterTotem( "ghoul", 1100170 )


-- Tier 29
-- The War Within
spec:RegisterGear( "tww2", 229253, 229251, 229256, 229254, 229252 )
spec:RegisterAuras( {
-- https://www.wowhead.com/spell=1216813
-- Winning Streak! On a Winning Streak! Death Coil and Epidemic damage increased by 30%.
winning_streak = {
id = 1217897,
duration = 3600,
max_stack = 6
},
-- https://www.wowhead.com/spell=1222698
-- Murderous Frenzy Your Haste is increased by 12%.
murderous_frenzy = {
id = 1222698,
duration = 6,
max_stack = 1,
},
} )
-- Dragonflight
spec:RegisterGear( "tier29", 200405, 200407, 200408, 200409, 200410 )

-- Tier 30
spec:RegisterGear( "tier30", 202464, 202462, 202461, 202460, 202459, 217223, 217225, 217221, 217222, 217224 )
-- 2 pieces (Frost) : Howling Blast damage increased by 20%. Consuming Rime increases the damage of your next Frostwyrm's Fury by 5%, stacking 10 times. Pillar of Frost calls a Frostwyrm's Fury at 40% effectiveness that cannot Freeze enemies.
spec:RegisterAura( "wrath_of_the_frostwyrm", {
id = 408368,
duration = 30,
max_stack = 10
} )
-- 4 pieces (Frost) : Frostwyrm's Fury causes enemies hit to take 25% increased damage from your critical strikes for 12 sec.
spec:RegisterAura( "lingering_chill", {
id = 410879,
duration = 12,
max_stack = 1
} )

spec:RegisterGear( "tier31", 207198, 207199, 207200, 207201, 207203 )
-- (2) Chill Streak's range is increased by $s1 yds and can bounce off of you. Each time Chill Streak bounces your damage is increased by $424165s2% for $424165d, stacking up to $424165u times.
-- (4) Chill Streak can bounce $s1 additional times and each time it bounces, you have a $s4% chance to gain a Rune, reduce Chill Streak cooldown by ${$s2/1000} sec, or reduce the cooldown of Empower Rune Weapon by ${$s3/1000} sec.
spec:RegisterAura( "chilling_rage", {
id = 424165,
duration = 12,
Expand Down
59 changes: 42 additions & 17 deletions TheWarWithin/DeathKnightUnholy.lua
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
-- DeathKnightUnholy.lua
-- July 2024
-- January 2025

if UnitClassBase( "player" ) ~= "DEATHKNIGHT" then return end

Expand Down Expand Up @@ -1119,7 +1119,19 @@ end )

local Glyphed = IsSpellKnownOrOverridesKnown

-- Tier 29
-- The War Within
spec:RegisterGear( "tww2", 229253, 229251, 229256, 229254, 229252 )
spec:RegisterAuras( {
-- https://www.wowhead.com/spell=1216813
-- Winning Streak! On a Winning Streak! Death Coil and Epidemic damage increased by 30%.
winning_streak = {
id = 1216813,
duration = 3600,
max_stack = 10
},
} )

-- Dragonflight
spec:RegisterGear( "tier29", 200405, 200407, 200408, 200409, 200410 )
spec:RegisterAuras( {
vile_infusion = {
Expand All @@ -1134,10 +1146,7 @@ spec:RegisterAuras( {
max_stack = 1
}
} )

-- Tier 30
spec:RegisterGear( "tier30", 202464, 202462, 202461, 202460, 202459 )
-- 2 pieces (Unholy) : Death Coil and Epidemic damage increased by 10%. Casting Death Coil or Epidemic grants a stack of Master of Death, up to 20. Dark Transformation consumes Master of Death and grants 1% Mastery for each stack for 20 sec.
spec:RegisterAura( "master_of_death", {
id = 408375,
duration = 30,
Expand All @@ -1148,28 +1157,41 @@ spec:RegisterAura( "death_dealer", {
duration = 20,
max_stack = 1
} )
-- 4 pieces (Unholy) : Army of the Dead grants 20 stacks of Master of Death. When Death Coil or Epidemic consumes Sudden Doom gain 2 extra stacks of Master of Death and 10% Mastery for 6 sec.
spec:RegisterAura( "lingering_chill", {
id = 410879,
duration = 12,
max_stack = 1
} )

spec:RegisterGear( "tier31", 207198, 207199, 207200, 207201, 207203, 217223, 217225, 217221, 217222, 217224 )
-- (2) Apocalypse summons an additional Magus of the Dead. Your Magus of the Dead Shadow Bolt now fires a volley of Shadow Bolts at up to $s2 nearby enemies.
-- (4) Each Rune you spend increases the duration of your active Magi by ${$s1/1000}.1 sec and your Magi will now also cast Amplify Damage, increasing the damage you deal by $424949s2% for $424949d.


-- TWW2
spec:RegisterAura( "winning_streak", {
id = 1216813,
max_stack = 10,
duration = 3600,
copy = "winning_streak_unholy"
} )
local any_dnd_set, wound_spender_set = false, false

--[[local ExpireRunicCorruption = setfenv( function()
local debugstr
local mod = ( 2 + 0.1 * talent.runic_mastery.rank )
if Hekili.ActiveDebug then debugstr = format( "Runic Corruption expired; updating regen from %.2f to %.2f at %.2f + %.2f.", rune.cooldown, rune.cooldown * mod, offset, delay ) end
rune.cooldown = rune.cooldown * mod
for i = 1, 6 do
local exp = rune.expiry[ i ] - query_time
if exp > 0 then
rune.expiry[ i ] = query_time + exp * mod
if Hekili.ActiveDebug then debugstr = format( "%s\n - rune %d extended by %.2f [%.2f].", debugstr, i, exp * mod, rune.expiry[ i ] - query_time ) end
end
end
table.sort( rune.expiry )
rune.actual = nil
if Hekili.ActiveDebug then debugstr = format( "%s\n - %d, %.2f %.2f %.2f %.2f %.2f %.2f.", debugstr, rune.current, rune.expiry[1] - query_time, rune.expiry[2] - query_time, rune.expiry[3] - query_time, rune.expiry[4] - query_time, rune.expiry[5] - query_time, rune.expiry[6] - query_time ) end
forecastResources( "runes" )
if Hekili.ActiveDebug then debugstr = format( "%s\n - %d, %.2f %.2f %.2f %.2f %.2f %.2f.", debugstr, rune.current, rune.expiry[1] - query_time, rune.expiry[2] - query_time, rune.expiry[3] - query_time, rune.expiry[4] - query_time, rune.expiry[5] - query_time, rune.expiry[6] - query_time ) end
if debugstr then Hekili:Debug( debugstr ) end
end, state )--]]

local any_dnd_set, wound_spender_set = false, false

local TriggerInflictionOfSorrow = setfenv( function ()
applyBuff( "infliction_of_sorrow" )
Expand Down Expand Up @@ -1678,6 +1700,8 @@ spec:RegisterAbilities( {
applyBuff( "frenzied_monstrosity_pet" )
end

if set_bonus.tww2 >= 4 then addStack( "winning_streak", nil, 10 ) end

end,

auras = {
Expand Down Expand Up @@ -1738,6 +1762,7 @@ spec:RegisterAbilities( {
if buff.sudden_doom.up then
PopWounds( 1 + ( 1 * pvptalent.doomburst.rank ) )
removeStack( "sudden_doom" )
if talent.doomed_bidding.enabled then summonPet( "magus_of_the_dead", 6 ) end
if talent.rotten_touch.enabled then applyDebuff( "target", "rotten_touch" ) end
if talent.death_rot.enabled then applyDebuff( "target", "death_rot", nil, 2 ) end
elseif talent.death_rot.enabled then applyDebuff( "target", "death_rot", nil, 1 ) end
Expand Down
Loading

0 comments on commit 9aa2f41

Please sign in to comment.