Skip to content

Commit

Permalink
Fix #3707
Browse files Browse the repository at this point in the history
  • Loading branch information
Hekili committed Sep 11, 2024
1 parent d29dbb5 commit 4265108
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 14 deletions.
44 changes: 35 additions & 9 deletions TheWarWithin/WarlockDemonology.lua
Original file line number Diff line number Diff line change
Expand Up @@ -601,6 +601,7 @@ spec:RegisterHook( "spend", function( amt, resource )
if buff.art_pit_lord.up then
summon_demon( "pit_lord" )
removeBuff( "art_pit_lord" )
if talent.ruination.enabled then applyBuff( "ruination" ) end
end

if talent.diabolic_ritual.enabled then
Expand All @@ -616,15 +617,6 @@ spec:RegisterHook( "spend", function( amt, resource )
reduceCooldown( "summon_demonic_tyrant", amt * 0.6 )
end

if talent.diabolic_ritual.enabled then
if buff.diabolic_ritual.up then
buff.diabolic_ritual.expires = buff.diabolic_ritual.expires - amt
if buff.diabolic_ritual.down then applyBuff( "diabolic_art" ) end
else
applyBuff( "diabolic_ritual" )
buff.diabolic_ritual.expires = 21 - amt
end
end
elseif amt < 0 and floor( soul_shard ) < floor( soul_shard + amt ) then
if talent.demonic_inspiration.enabled then applyBuff( "demonic_inspiration" ) end
end
Expand Down Expand Up @@ -1904,6 +1896,7 @@ spec:RegisterAbilities( {
spendType = "soul_shards",

startsCombat = true,
nobuff = "ruination",

handler = function ()
removeBuff( "blazing_meteor" )
Expand All @@ -1924,6 +1917,39 @@ spec:RegisterAbilities( {
addStack( "dread_calling", nil, 1 + extra_shards )
end
end,

bind = "ruination"
},

-- Calls down a demonic meteor full of Wild Imps which burst forth to attack the target. Deals up to 2,188 Shadowflame damage on impact to all enemies within 8 yds of the target and summons up to 3 Wild Imps, based on Soul Shards consumed.
ruination = {
id = 434635,
known = 105174,
cast = 1.5,
cooldown = 0,
gcd = "spell",
school = "shadowflame",

startsCombat = true,
buff = "ruination",

handler = function ()
removeBuff( "blazing_meteor" )

insert( guldan_v, query_time + 0.6 )
insert( guldan_v, query_time + 0.8 )
insert( guldan_v, query_time + 1 )

if debuff.doom_brand.up then
debuff.doom_brand.expires = debuff.doom_brand.expires - ( 1 + extra_shards )
end

if talent.dread_calling.enabled then
addStack( "dread_calling", nil, 3 ) -- ?
end
end,

bind = "hand_of_guldan"
},

-- Talent: Demonic forces suck all of your Wild Imps toward the target, and then cause them to violently explode, dealing 1,410 Shadowflame damage to all enemies within 8 yards.
Expand Down
10 changes: 5 additions & 5 deletions TheWarWithin/WarlockDestruction.lua
Original file line number Diff line number Diff line change
Expand Up @@ -1124,6 +1124,7 @@ spec:RegisterHook( "spend", function( amt, resource )
if buff.art_pit_lord.up then
summon_demon( "pit_lord" )
removeBuff( "art_pit_lord" )
if talent.ruination.enabled then applyBuff( "ruination" ) end
end

if talent.diabolic_ritual.enabled then
Expand Down Expand Up @@ -1188,10 +1189,6 @@ spec:RegisterStateExpr( "havoc_active", function ()
return buff.active_havoc.up
end )

spec:RegisterStateExpr( "diabolic_ritual", function ()
return buff.diabolic_ritual_overlord.up or buff.diabolic_ritual_mother_of_chaos.up or buff.diabolic_ritual_pit_lord.up
end )

spec:RegisterStateExpr( "demonic_art", function ()
return buff.demonic_art_overlord.up or buff.demonic_art_mother.up or buff.demonic_art_pit_lord.up
end )
Expand Down Expand Up @@ -1844,6 +1841,7 @@ spec:RegisterAbilities( {

ruination = {
id = 434635,
known = 116858,
cast = function () return 1.5
* ( buff.ritual_of_ruin.up and 0.5 or 1 )
* ( buff.backdraft.up and 0.7 or 1 )
Expand Down Expand Up @@ -1881,11 +1879,13 @@ spec:RegisterAbilities( {
if debuff.immolate.remains <= 5 then removeDebuff( "target", "immolate" )
else debuff.immolate.expires = debuff.immolate.expires - 5 end
end
summon_demon( "diabolic_imp", 1 )
-- summon_demon( "diabolic_imp", 1 )
removeBuff( "ruination" )
end,

impact = function() end,

bind = "chaos_bolt"
},

-- Conjure a Shadow Rift at the target location lasting $d. Enemy players within the rift when it expires are teleported to your Demonic Circle.; Must be within $s2 yds of your Demonic Circle to cast.
Expand Down

0 comments on commit 4265108

Please sign in to comment.